Version Description
Download this release
Release Info
Developer | justinbusa |
Plugin | WordPress Page Builder – Beaver Builder |
Version | 1.9.1 |
Comparing to | |
See all releases |
Code changes from version 1.8.8 to 1.9.1
- changelog.txt +48 -0
- classes/class-fl-builder-ajax-layout.php +12 -7
- classes/class-fl-builder-ajax.php +3 -1
- classes/class-fl-builder-fonts.php +3073 -2671
- classes/class-fl-builder-icons.php +67 -63
- classes/class-fl-builder-loader.php +1 -1
- classes/class-fl-builder-model.php +552 -81
- classes/class-fl-builder.php +297 -166
- css/fl-builder-layout-auto-spacing.css +16 -16
- css/fl-builder-layout.css +5 -3
- css/fl-builder-rtl.css +1 -1
- css/fl-builder.css +475 -135
- css/fl-builder.min.css +1 -1
- css/fl-color-picker.css +87 -1
- css/fl-lightbox.css +4 -0
- fl-builder.php +1 -1
- includes/admin-settings-welcome.php +8 -8
- includes/column-css.php +2 -5
- includes/column-settings.php +149 -149
- includes/field-color.php +1 -1
- includes/field-text.php +1 -1
- includes/field-unit.php +6 -0
- includes/field.php +64 -34
- includes/global-settings.php +10 -10
- includes/module-settings.php +54 -42
- includes/row-css.php +2 -5
- includes/row-settings.php +161 -120
- includes/settings.php +4 -0
- includes/ui-fields.php +2 -0
- includes/ui-js-config.php +3 -0
- includes/ui-js-templates.php +55 -21
- includes/ui-panel.php +2 -2
- includes/updater-config.php +1 -1
- js/fl-builder-ajax-layout.js +5 -3
- js/fl-builder-forced-media-queries.js +492 -0
- js/fl-builder-layout.js +43 -2
- js/fl-builder-preview.js +322 -278
- js/fl-builder-responsive-editing.js +549 -0
- js/fl-builder.js +1338 -382
- js/fl-builder.min.js +6 -5
- js/fl-color-picker.js +199 -9
- js/fl-lightbox.js +1 -0
- js/fl-stylesheet.js +49 -13
- languages/af.mo +0 -0
- languages/ar.mo +0 -0
- languages/cs_CZ.mo +0 -0
- languages/da_DK.mo +0 -0
- languages/de_DE.mo +0 -0
- languages/el.mo +0 -0
- languages/es_ES.mo +0 -0
- languages/es_MX.mo +0 -0
- languages/fa_IR.mo +0 -0
- languages/fi.mo +0 -0
- languages/fr_CA.mo +0 -0
- languages/fr_FR.mo +0 -0
- languages/he_IL.mo +0 -0
- languages/hi.mo +0 -0
- languages/hr.mo +0 -0
- languages/hu_HU.mo +0 -0
- languages/id_ID.mo +0 -0
- languages/it_IT.mo +0 -0
- languages/ja.mo +0 -0
- languages/ko_KR.mo +0 -0
- languages/mr.mo +0 -0
- languages/ms_MY.mo +0 -0
- languages/nb.mo +0 -0
- languages/nl_NL.mo +0 -0
- languages/no_NO.mo +0 -0
- languages/pl_PL.mo +0 -0
- languages/pt_BR.mo +0 -0
- languages/pt_PT.mo +0 -0
- languages/ru_RU.mo +0 -0
- languages/sk_SK.mo +0 -0
- languages/sl_SL.mo +0 -0
- languages/sv_SE.mo +0 -0
- languages/th.mo +0 -0
- languages/tl.mo +0 -0
- languages/tr_TR.mo +0 -0
- languages/uk.mo +0 -0
- languages/vi.mo +0 -0
- languages/zh_CN.mo +0 -0
- languages/zh_TW.mo +0 -0
- readme.txt +1 -1
changelog.txt
CHANGED
@@ -1,3 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<h4>1.8.8 - 11/08/2016</h4>
|
2 |
<p><strong>Enhancements</strong></p>
|
3 |
<ul>
|
1 |
+
<h4>1.9.1 - 12/12/2016</h4>
|
2 |
+
<p><strong>Enhancements</strong></p>
|
3 |
+
<ul>
|
4 |
+
<li>Updated Google fonts.</li>
|
5 |
+
<li>Updated translations.</li>
|
6 |
+
</ul>
|
7 |
+
<p><strong>Bug Fixes</strong></p>
|
8 |
+
<ul>
|
9 |
+
<li>Fixed rows and modules not appearing when first added to the page.</li>
|
10 |
+
<li>Fixed column settings dropdown disappearing when the column has a background overlay color.</li>
|
11 |
+
<li>Fixed the button module lightbox opening all lightboxes on the page.</li>
|
12 |
+
<li>Fixed multiple RTL language CSS issues.</li>
|
13 |
+
<li>Fixed row and column text colors affecting select inputs.</li>
|
14 |
+
<li>Fixed CSS conflicts with third party themes and the builder UI.</li>
|
15 |
+
<li>Fixed parallax backgrounds being applied to child rows when inserting layouts via a shortcode.</li>
|
16 |
+
</ul>
|
17 |
+
|
18 |
+
<h4>1.9 - 12/06/2016</h4>
|
19 |
+
<p>This update adds a number of new features. Be sure to check out <a href="https://www.wpbeaverbuilder.com/beaver-builder-1-9-shasta/">the blog post</a> for detailed info on what was added.</p>
|
20 |
+
<p><strong>Enhancements</strong></p>
|
21 |
+
<ul>
|
22 |
+
<li>Added the ability to drop columns into columns.</li>
|
23 |
+
<li>Added the ability to drag and drop existing columns.</li>
|
24 |
+
<li>Made multiple improvements for more accurate dragging and dropping.</li>
|
25 |
+
<li>Added responsive settings for margins, padding and borders.</li>
|
26 |
+
<li>Added new content page templates.</li>
|
27 |
+
<li>Template images are now loaded via HTTPS.</li>
|
28 |
+
<li>Added the ability to open a lightbox via a button.</li>
|
29 |
+
<li>Added the ability to add an alpha slider to color fields.</li>
|
30 |
+
</ul>
|
31 |
+
<p><strong>Bug Fixes</strong></p>
|
32 |
+
<ul>
|
33 |
+
<li>Fixed responsive spacing not working when defaults are zeroed out in the global settings.</li>
|
34 |
+
<li>Fixed format select not showing in text editor fields.</li>
|
35 |
+
<li>Fixed incorrect color picker width in third party themes.</li>
|
36 |
+
<li>Fixed incorrect column group positions when dropping an existing module into a row.</li>
|
37 |
+
<li>Fixed multiple issues with responsive margins/padding not working.</li>
|
38 |
+
<li>Fixed a fatal error caused by modules that are no longer registered.</li>
|
39 |
+
<li>Fixed broken modules that have nested forms such as the Accordion module.</li>
|
40 |
+
<li>Fixed live preview issues for nested columns when editing the parent column.</li>
|
41 |
+
<li>Fixed issues with live preview not working correctly for responsive fields.</li>
|
42 |
+
<li>Fixed issues with global responsive margins and padding not working.</li>
|
43 |
+
<li>Fixed issues with equal height columns and nested columns.</li>
|
44 |
+
<li>Fixed Button module lightbox close button jump when placing the mouse over it.</li>
|
45 |
+
<li>Fixed Button module lightbox close button positioning.</li>
|
46 |
+
<li>Fixed drag and drop placeholder animation lag.</li>
|
47 |
+
</ul>
|
48 |
+
|
49 |
<h4>1.8.8 - 11/08/2016</h4>
|
50 |
<p><strong>Enhancements</strong></p>
|
51 |
<ul>
|
classes/class-fl-builder-ajax-layout.php
CHANGED
@@ -155,20 +155,22 @@ final class FLBuilderAJAXLayout {
|
|
155 |
}
|
156 |
|
157 |
/**
|
158 |
-
* Renders the layout data for a new column.
|
159 |
*
|
160 |
* @since 1.7
|
161 |
* @param string $node_id Node ID of the column to insert before or after.
|
162 |
* @param string $insert Either before or after.
|
|
|
|
|
163 |
* @return array
|
164 |
*/
|
165 |
-
static public function
|
166 |
{
|
167 |
-
// Add the column.
|
168 |
-
$
|
169 |
|
170 |
// Return the response.
|
171 |
-
return self::render( $
|
172 |
}
|
173 |
|
174 |
/**
|
@@ -215,8 +217,11 @@ final class FLBuilderAJAXLayout {
|
|
215 |
$render_id = $row->node;
|
216 |
}
|
217 |
else if ( $parent->type == 'row' ) {
|
218 |
-
$
|
219 |
-
$render_id = $
|
|
|
|
|
|
|
220 |
}
|
221 |
else {
|
222 |
$render_id = $module->node;
|
155 |
}
|
156 |
|
157 |
/**
|
158 |
+
* Renders the layout data for a new column or columns.
|
159 |
*
|
160 |
* @since 1.7
|
161 |
* @param string $node_id Node ID of the column to insert before or after.
|
162 |
* @param string $insert Either before or after.
|
163 |
+
* @param string $type The type of column(s) to insert.
|
164 |
+
* @param boolean $nested Whether these columns are nested or not.
|
165 |
* @return array
|
166 |
*/
|
167 |
+
static public function render_new_columns( $node_id, $insert, $type, $nested )
|
168 |
{
|
169 |
+
// Add the column(s).
|
170 |
+
$group = FLBuilderModel::add_cols( $node_id, $insert, $type, $nested );
|
171 |
|
172 |
// Return the response.
|
173 |
+
return self::render( $group->node );
|
174 |
}
|
175 |
|
176 |
/**
|
217 |
$render_id = $row->node;
|
218 |
}
|
219 |
else if ( $parent->type == 'row' ) {
|
220 |
+
$group = FLBuilderModel::get_module_parent( 'column-group', $module );
|
221 |
+
$render_id = $group->node;
|
222 |
+
}
|
223 |
+
else if ( $parent->type == 'column-group' ) {
|
224 |
+
$render_id = $parent->node;
|
225 |
}
|
226 |
else {
|
227 |
$render_id = $module->node;
|
classes/class-fl-builder-ajax.php
CHANGED
@@ -99,7 +99,9 @@ final class FLBuilderAJAX {
|
|
99 |
self::add_action( 'delete_node', 'FLBuilderModel::delete_node', array( 'node_id' ) );
|
100 |
self::add_action( 'delete_col', 'FLBuilderModel::delete_col', array( 'node_id', 'new_width' ) );
|
101 |
self::add_action( 'reorder_node', 'FLBuilderModel::reorder_node', array( 'node_id', 'position' ) );
|
|
|
102 |
self::add_action( 'move_node', 'FLBuilderModel::move_node', array( 'node_id', 'new_parent', 'position' ) );
|
|
|
103 |
self::add_action( 'resize_cols', 'FLBuilderModel::resize_cols', array( 'col_id', 'col_width', 'sibling_id', 'sibling_width' ) );
|
104 |
self::add_action( 'reset_col_widths', 'FLBuilderModel::reset_col_widths', array( 'group_id' ) );
|
105 |
self::add_action( 'save_settings', 'FLBuilderModel::save_settings', array( 'node_id', 'settings' ) );
|
@@ -120,7 +122,7 @@ final class FLBuilderAJAX {
|
|
120 |
self::add_action( 'render_new_row', 'FLBuilderAJAXLayout::render_new_row', array( 'cols', 'position', 'template_id', 'template_type' ) );
|
121 |
self::add_action( 'copy_row', 'FLBuilderAJAXLayout::copy_row', array( 'node_id' ) );
|
122 |
self::add_action( 'render_new_column_group', 'FLBuilderAJAXLayout::render_new_column_group', array( 'node_id', 'cols', 'position' ) );
|
123 |
-
self::add_action( '
|
124 |
self::add_action( 'render_new_module', 'FLBuilderAJAXLayout::render_new_module', array( 'parent_id', 'position', 'type', 'template_id', 'template_type' ) );
|
125 |
self::add_action( 'copy_module', 'FLBuilderAJAXLayout::copy_module', array( 'node_id' ) );
|
126 |
|
99 |
self::add_action( 'delete_node', 'FLBuilderModel::delete_node', array( 'node_id' ) );
|
100 |
self::add_action( 'delete_col', 'FLBuilderModel::delete_col', array( 'node_id', 'new_width' ) );
|
101 |
self::add_action( 'reorder_node', 'FLBuilderModel::reorder_node', array( 'node_id', 'position' ) );
|
102 |
+
self::add_action( 'reorder_col', 'FLBuilderModel::reorder_col', array( 'node_id', 'position' ) );
|
103 |
self::add_action( 'move_node', 'FLBuilderModel::move_node', array( 'node_id', 'new_parent', 'position' ) );
|
104 |
+
self::add_action( 'move_col', 'FLBuilderModel::move_col', array( 'node_id', 'new_parent', 'position', 'resize' ) );
|
105 |
self::add_action( 'resize_cols', 'FLBuilderModel::resize_cols', array( 'col_id', 'col_width', 'sibling_id', 'sibling_width' ) );
|
106 |
self::add_action( 'reset_col_widths', 'FLBuilderModel::reset_col_widths', array( 'group_id' ) );
|
107 |
self::add_action( 'save_settings', 'FLBuilderModel::save_settings', array( 'node_id', 'settings' ) );
|
122 |
self::add_action( 'render_new_row', 'FLBuilderAJAXLayout::render_new_row', array( 'cols', 'position', 'template_id', 'template_type' ) );
|
123 |
self::add_action( 'copy_row', 'FLBuilderAJAXLayout::copy_row', array( 'node_id' ) );
|
124 |
self::add_action( 'render_new_column_group', 'FLBuilderAJAXLayout::render_new_column_group', array( 'node_id', 'cols', 'position' ) );
|
125 |
+
self::add_action( 'render_new_columns', 'FLBuilderAJAXLayout::render_new_columns', array( 'node_id', 'insert', 'type', 'nested' ) );
|
126 |
self::add_action( 'render_new_module', 'FLBuilderAJAXLayout::render_new_module', array( 'parent_id', 'position', 'type', 'template_id', 'template_type' ) );
|
127 |
self::add_action( 'copy_module', 'FLBuilderAJAXLayout::copy_module', array( 'node_id' ) );
|
128 |
|
classes/class-fl-builder-fonts.php
CHANGED
@@ -22,10 +22,10 @@ final class FLBuilderFonts {
|
|
22 |
*/
|
23 |
static public function js()
|
24 |
{
|
25 |
-
$default = json_encode(FLBuilderFontFamilies::$default);
|
26 |
-
$system = json_encode(FLBuilderFontFamilies::$system);
|
27 |
-
$google = json_encode(FLBuilderFontFamilies::$google);
|
28 |
-
|
29 |
echo 'var FLBuilderFontFamilies = { default: '. $default .', system: '. $system .', google: '. $google .' };';
|
30 |
}
|
31 |
|
@@ -38,16 +38,19 @@ final class FLBuilderFonts {
|
|
38 |
*/
|
39 |
static public function display_select_font($font)
|
40 |
{
|
|
|
|
|
|
|
41 |
echo '<option value="Default" '. selected('Default', $font) .'>'. __( 'Default', 'fl-builder' ) .'</option>';
|
42 |
echo '<optgroup label="System">';
|
43 |
-
|
44 |
-
foreach(
|
45 |
echo '<option value="'. $name .'" '. selected($name, $font) .'>'. $name .'</option>';
|
46 |
}
|
47 |
-
|
48 |
echo '<optgroup label="Google">';
|
49 |
-
|
50 |
-
foreach(
|
51 |
echo '<option value="'. $name .'" '. selected($name, $font) .'>'. $name .'</option>';
|
52 |
}
|
53 |
}
|
@@ -61,27 +64,28 @@ final class FLBuilderFonts {
|
|
61 |
* @return void
|
62 |
*/
|
63 |
static public function display_select_weight( $font, $weight )
|
64 |
-
{
|
65 |
if( $font == 'Default' ){
|
66 |
-
echo '<option value="default">'. __( 'Default', 'fl-builder' ) .'</option>';
|
67 |
} else {
|
|
|
|
|
68 |
|
69 |
-
if( array_key_exists( $font,
|
70 |
-
|
71 |
-
foreach( FLBuilderFontFamilies::$system[ $font ]['weights'] as $variant ) {
|
72 |
echo '<option value="'. $variant .'" '. selected($variant, $weight) .'>'. FLBuilderFonts::get_weight_string( $variant ) .'</option>';
|
73 |
}
|
74 |
|
75 |
} else {
|
76 |
-
foreach(
|
77 |
|
78 |
echo '<option value="'. $variant .'" '. selected($variant, $weight) .'>'. FLBuilderFonts::get_weight_string( $variant ) .'</option>';
|
79 |
}
|
80 |
|
81 |
}
|
82 |
-
|
83 |
}
|
84 |
-
|
85 |
}
|
86 |
|
87 |
/**
|
@@ -106,7 +110,7 @@ final class FLBuilderFonts {
|
|
106 |
'800' => 'Extra-Bold 800',
|
107 |
'900' => 'Ultra-Bold 900'
|
108 |
);
|
109 |
-
|
110 |
return $weight_string[ $weight ];
|
111 |
}
|
112 |
|
@@ -119,15 +123,17 @@ final class FLBuilderFonts {
|
|
119 |
*/
|
120 |
static public function font_css( $font ){
|
121 |
|
|
|
|
|
122 |
$css = '';
|
123 |
|
124 |
-
if( array_key_exists( $font['family'],
|
125 |
-
|
126 |
-
$css .= 'font-family: '. $font['family'] .','.
|
127 |
|
128 |
} else {
|
129 |
$css .= 'font-family: '. $font['family'] .';';
|
130 |
-
}
|
131 |
|
132 |
if ( 'regular' == $font['weight'] ) {
|
133 |
$css .= 'font-weight: normal;';
|
@@ -173,7 +179,7 @@ final class FLBuilderFonts {
|
|
173 |
static private function add_fonts_for_nested_module_form( $module, $form, $setting )
|
174 |
{
|
175 |
$fields = FLBuilderModel::get_settings_form_fields( $form );
|
176 |
-
|
177 |
foreach ( $fields as $name => $field ) {
|
178 |
if ( $field['type'] == 'font' && isset( $module->settings->$setting ) ) {
|
179 |
foreach ( $module->settings->$setting as $key => $val ) {
|
@@ -205,11 +211,11 @@ final class FLBuilderFonts {
|
|
205 |
}
|
206 |
|
207 |
$google_url = substr( $google_url, 0, -1 );
|
208 |
-
|
209 |
wp_enqueue_style( 'fl-builder-google-fonts-' . md5( $google_url ), $google_url, array() );
|
210 |
-
|
211 |
self::$fonts = array();
|
212 |
-
}
|
213 |
}
|
214 |
|
215 |
/**
|
@@ -223,8 +229,10 @@ final class FLBuilderFonts {
|
|
223 |
|
224 |
if( $font['family'] != 'Default' ){
|
225 |
|
|
|
|
|
226 |
// check if is a Google Font
|
227 |
-
if( !array_key_exists( $font['family'],
|
228 |
|
229 |
// check if font family is already added
|
230 |
if( array_key_exists( $font['family'], self::$fonts ) ){
|
@@ -314,7 +322,7 @@ final class FLBuilderFontFamilies {
|
|
314 |
)
|
315 |
),
|
316 |
);
|
317 |
-
|
318 |
/**
|
319 |
* Array with Google Fonts.
|
320 |
* @var array
|
@@ -323,2648 +331,3042 @@ final class FLBuilderFontFamilies {
|
|
323 |
"ABeeZee" => array(
|
324 |
"regular",
|
325 |
),
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
-
|
1508 |
-
|
1509 |
-
|
1510 |
-
|
1511 |
-
|
1512 |
-
|
1513 |
-
|
1514 |
-
|
1515 |
-
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
1519 |
-
|
1520 |
-
|
1521 |
-
|
1522 |
-
|
1523 |
-
|
1524 |
-
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
-
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
|
1538 |
-
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
-
|
1560 |
-
|
1561 |
-
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
|
1636 |
-
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
-
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
-
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
-
|
1726 |
-
|
1727 |
-
|
1728 |
-
|
1729 |
-
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
-
|
1767 |
-
|
1768 |
-
|
1769 |
-
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
1782 |
-
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
-
|
1791 |
-
|
1792 |
-
|
1793 |
-
|
1794 |
-
|
1795 |
-
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
-
|
1800 |
-
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
-
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
-
|
1842 |
-
|
1843 |
-
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
-
|
1851 |
-
|
1852 |
-
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
-
|
1889 |
-
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
|
1921 |
-
|
1922 |
-
|
1923 |
-
|
1924 |
-
|
1925 |
-
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
|
1953 |
-
|
1954 |
-
|
1955 |
-
|
1956 |
-
|
1957 |
-
|
1958 |
-
|
1959 |
-
|
1960 |
-
|
1961 |
-
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
-
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
1983 |
-
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
-
|
1988 |
-
|
1989 |
-
|
1990 |
-
|
1991 |
-
|
1992 |
-
|
1993 |
-
|
1994 |
-
|
1995 |
-
|
1996 |
-
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
|
2012 |
-
|
2013 |
-
|
2014 |
-
|
2015 |
-
|
2016 |
-
|
2017 |
-
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
-
|
2024 |
-
|
2025 |
-
|
2026 |
-
|
2027 |
-
|
2028 |
-
|
2029 |
-
|
2030 |
-
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
|
2036 |
-
|
2037 |
-
|
2038 |
-
|
2039 |
-
|
2040 |
-
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
|
2046 |
-
|
2047 |
-
|
2048 |
-
|
2049 |
-
|
2050 |
-
|
2051 |
-
|
2052 |
-
|
2053 |
-
|
2054 |
-
|
2055 |
-
|
2056 |
-
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
|
2061 |
-
|
2062 |
-
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
|
2068 |
-
|
2069 |
-
|
2070 |
-
|
2071 |
-
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
|
2079 |
-
|
2080 |
-
|
2081 |
-
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
-
|
2086 |
-
|
2087 |
-
|
2088 |
-
|
2089 |
-
|
2090 |
-
|
2091 |
-
|
2092 |
-
|
2093 |
-
|
2094 |
-
|
2095 |
-
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
-
|
2101 |
-
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
2106 |
-
|
2107 |
-
|
2108 |
-
|
2109 |
-
|
2110 |
-
|
2111 |
-
|
2112 |
-
|
2113 |
-
|
2114 |
-
|
2115 |
-
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
|
2123 |
-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
-
|
2129 |
-
|
2130 |
-
|
2131 |
-
|
2132 |
-
|
2133 |
-
|
2134 |
-
|
2135 |
-
|
2136 |
-
|
2137 |
-
|
2138 |
-
|
2139 |
-
|
2140 |
-
|
2141 |
-
|
2142 |
-
|
2143 |
-
|
2144 |
-
|
2145 |
-
|
2146 |
-
|
2147 |
-
|
2148 |
-
|
2149 |
-
|
2150 |
-
|
2151 |
-
|
2152 |
-
|
2153 |
-
|
2154 |
-
|
2155 |
-
|
2156 |
-
|
2157 |
-
|
2158 |
-
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
|
2165 |
-
|
2166 |
-
|
2167 |
-
|
2168 |
-
|
2169 |
-
|
2170 |
-
|
2171 |
-
|
2172 |
-
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
-
|
2177 |
-
|
2178 |
-
|
2179 |
-
|
2180 |
-
|
2181 |
-
|
2182 |
-
|
2183 |
-
|
2184 |
-
|
2185 |
-
|
2186 |
-
|
2187 |
-
|
2188 |
-
|
2189 |
-
|
2190 |
-
|
2191 |
-
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
|
2196 |
-
|
2197 |
-
|
2198 |
-
|
2199 |
-
|
2200 |
-
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
-
|
2205 |
-
|
2206 |
-
|
2207 |
-
|
2208 |
-
|
2209 |
-
|
2210 |
-
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
2219 |
-
|
2220 |
-
|
2221 |
-
|
2222 |
-
|
2223 |
-
|
2224 |
-
|
2225 |
-
|
2226 |
-
|
2227 |
-
|
2228 |
-
|
2229 |
-
|
2230 |
-
|
2231 |
-
|
2232 |
-
|
2233 |
-
|
2234 |
-
|
2235 |
-
|
2236 |
-
|
2237 |
-
|
2238 |
-
|
2239 |
-
|
2240 |
-
|
2241 |
-
|
2242 |
-
|
2243 |
-
|
2244 |
-
|
2245 |
-
|
2246 |
-
|
2247 |
-
|
2248 |
-
|
2249 |
-
|
2250 |
-
|
2251 |
-
|
2252 |
-
|
2253 |
-
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
|
2258 |
-
|
2259 |
-
|
2260 |
-
|
2261 |
-
|
2262 |
-
|
2263 |
-
|
2264 |
-
|
2265 |
-
|
2266 |
-
|
2267 |
-
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
2273 |
-
|
2274 |
-
|
2275 |
-
|
2276 |
-
|
2277 |
-
|
2278 |
-
|
2279 |
-
|
2280 |
-
|
2281 |
-
|
2282 |
-
|
2283 |
-
|
2284 |
-
|
2285 |
-
|
2286 |
-
|
2287 |
-
|
2288 |
-
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
2292 |
-
|
2293 |
-
|
2294 |
-
|
2295 |
-
|
2296 |
-
|
2297 |
-
|
2298 |
-
|
2299 |
-
|
2300 |
-
|
2301 |
-
|
2302 |
-
|
2303 |
-
|
2304 |
-
|
2305 |
-
|
2306 |
-
|
2307 |
-
|
2308 |
-
|
2309 |
-
|
2310 |
-
|
2311 |
-
|
2312 |
-
|
2313 |
-
|
2314 |
-
|
2315 |
-
|
2316 |
-
|
2317 |
-
|
2318 |
-
|
2319 |
-
|
2320 |
-
|
2321 |
-
|
2322 |
-
|
2323 |
-
|
2324 |
-
|
2325 |
-
|
2326 |
-
|
2327 |
-
|
2328 |
-
|
2329 |
-
|
2330 |
-
|
2331 |
-
|
2332 |
-
|
2333 |
-
|
2334 |
-
|
2335 |
-
|
2336 |
-
|
2337 |
-
|
2338 |
-
|
2339 |
-
|
2340 |
-
|
2341 |
-
|
2342 |
-
|
2343 |
-
|
2344 |
-
|
2345 |
-
|
2346 |
-
|
2347 |
-
|
2348 |
-
|
2349 |
-
|
2350 |
-
|
2351 |
-
|
2352 |
-
|
2353 |
-
|
2354 |
-
|
2355 |
-
|
2356 |
-
|
2357 |
-
|
2358 |
-
|
2359 |
-
|
2360 |
-
|
2361 |
-
|
2362 |
-
|
2363 |
-
|
2364 |
-
|
2365 |
-
|
2366 |
-
|
2367 |
-
|
2368 |
-
|
2369 |
-
|
2370 |
-
|
2371 |
-
|
2372 |
-
|
2373 |
-
|
2374 |
-
|
2375 |
-
|
2376 |
-
|
2377 |
-
|
2378 |
-
|
2379 |
-
|
2380 |
-
|
2381 |
-
|
2382 |
-
|
2383 |
-
|
2384 |
-
|
2385 |
-
|
2386 |
-
|
2387 |
-
|
2388 |
-
|
2389 |
-
|
2390 |
-
|
2391 |
-
|
2392 |
-
|
2393 |
-
|
2394 |
-
|
2395 |
-
|
2396 |
-
|
2397 |
-
|
2398 |
-
|
2399 |
-
|
2400 |
-
|
2401 |
-
|
2402 |
-
|
2403 |
-
|
2404 |
-
|
2405 |
-
|
2406 |
-
|
2407 |
-
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
2411 |
-
|
2412 |
-
|
2413 |
-
|
2414 |
-
|
2415 |
-
|
2416 |
-
|
2417 |
-
|
2418 |
-
|
2419 |
-
|
2420 |
-
|
2421 |
-
|
2422 |
-
|
2423 |
-
|
2424 |
-
|
2425 |
-
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
2429 |
-
|
2430 |
-
|
2431 |
-
|
2432 |
-
|
2433 |
-
|
2434 |
-
|
2435 |
-
|
2436 |
-
|
2437 |
-
|
2438 |
-
|
2439 |
-
|
2440 |
-
|
2441 |
-
|
2442 |
-
|
2443 |
-
|
2444 |
-
|
2445 |
-
|
2446 |
-
|
2447 |
-
|
2448 |
-
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
-
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
|
2460 |
-
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
2467 |
-
|
2468 |
-
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
2472 |
-
|
2473 |
-
|
2474 |
-
|
2475 |
-
|
2476 |
-
|
2477 |
-
|
2478 |
-
|
2479 |
-
|
2480 |
-
|
2481 |
-
|
2482 |
-
|
2483 |
-
|
2484 |
-
|
2485 |
-
|
2486 |
-
|
2487 |
-
|
2488 |
-
|
2489 |
-
|
2490 |
-
|
2491 |
-
|
2492 |
-
|
2493 |
-
|
2494 |
-
|
2495 |
-
|
2496 |
-
|
2497 |
-
|
2498 |
-
|
2499 |
-
|
2500 |
-
|
2501 |
-
|
2502 |
-
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
-
|
2511 |
-
|
2512 |
-
|
2513 |
-
|
2514 |
-
|
2515 |
-
|
2516 |
-
|
2517 |
-
|
2518 |
-
|
2519 |
-
|
2520 |
-
|
2521 |
-
|
2522 |
-
|
2523 |
-
|
2524 |
-
|
2525 |
-
|
2526 |
-
|
2527 |
-
|
2528 |
-
|
2529 |
-
|
2530 |
-
|
2531 |
-
|
2532 |
-
|
2533 |
-
|
2534 |
-
|
2535 |
-
|
2536 |
-
|
2537 |
-
|
2538 |
-
|
2539 |
-
|
2540 |
-
|
2541 |
-
|
2542 |
-
|
2543 |
-
|
2544 |
-
|
2545 |
-
|
2546 |
-
|
2547 |
-
|
2548 |
-
|
2549 |
-
|
2550 |
-
|
2551 |
-
|
2552 |
-
|
2553 |
-
|
2554 |
-
|
2555 |
-
|
2556 |
-
|
2557 |
-
|
2558 |
-
|
2559 |
-
|
2560 |
-
|
2561 |
-
|
2562 |
-
|
2563 |
-
|
2564 |
-
|
2565 |
-
|
2566 |
-
|
2567 |
-
|
2568 |
-
|
2569 |
-
|
2570 |
-
|
2571 |
-
|
2572 |
-
|
2573 |
-
|
2574 |
-
|
2575 |
-
|
2576 |
-
|
2577 |
-
|
2578 |
-
|
2579 |
-
|
2580 |
-
|
2581 |
-
|
2582 |
-
|
2583 |
-
|
2584 |
-
|
2585 |
-
|
2586 |
-
|
2587 |
-
|
2588 |
-
|
2589 |
-
|
2590 |
-
|
2591 |
-
|
2592 |
-
|
2593 |
-
|
2594 |
-
|
2595 |
-
|
2596 |
-
|
2597 |
-
|
2598 |
-
|
2599 |
-
|
2600 |
-
|
2601 |
-
|
2602 |
-
|
2603 |
-
|
2604 |
-
|
2605 |
-
|
2606 |
-
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
-
|
2611 |
-
|
2612 |
-
|
2613 |
-
|
2614 |
-
|
2615 |
-
|
2616 |
-
|
2617 |
-
|
2618 |
-
|
2619 |
-
|
2620 |
-
|
2621 |
-
|
2622 |
-
|
2623 |
-
|
2624 |
-
|
2625 |
-
|
2626 |
-
|
2627 |
-
|
2628 |
-
|
2629 |
-
|
2630 |
-
|
2631 |
-
|
2632 |
-
|
2633 |
-
|
2634 |
-
|
2635 |
-
|
2636 |
-
|
2637 |
-
|
2638 |
-
|
2639 |
-
|
2640 |
-
|
2641 |
-
|
2642 |
-
|
2643 |
-
|
2644 |
-
|
2645 |
-
|
2646 |
-
|
2647 |
-
|
2648 |
-
|
2649 |
-
|
2650 |
-
|
2651 |
-
|
2652 |
-
|
2653 |
-
|
2654 |
-
|
2655 |
-
|
2656 |
-
|
2657 |
-
|
2658 |
-
|
2659 |
-
|
2660 |
-
|
2661 |
-
|
2662 |
-
|
2663 |
-
|
2664 |
-
|
2665 |
-
|
2666 |
-
|
2667 |
-
|
2668 |
-
|
2669 |
-
|
2670 |
-
|
2671 |
-
|
2672 |
-
|
2673 |
-
|
2674 |
-
|
2675 |
-
|
2676 |
-
|
2677 |
-
|
2678 |
-
|
2679 |
-
|
2680 |
-
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
|
2686 |
-
|
2687 |
-
|
2688 |
-
|
2689 |
-
|
2690 |
-
|
2691 |
-
|
2692 |
-
|
2693 |
-
|
2694 |
-
|
2695 |
-
|
2696 |
-
|
2697 |
-
|
2698 |
-
|
2699 |
-
|
2700 |
-
|
2701 |
-
|
2702 |
-
|
2703 |
-
|
2704 |
-
|
2705 |
-
|
2706 |
-
|
2707 |
-
|
2708 |
-
|
2709 |
-
|
2710 |
-
|
2711 |
-
|
2712 |
-
|
2713 |
-
|
2714 |
-
|
2715 |
-
|
2716 |
-
|
2717 |
-
|
2718 |
-
|
2719 |
-
|
2720 |
-
|
2721 |
-
|
2722 |
-
|
2723 |
-
|
2724 |
-
|
2725 |
-
|
2726 |
-
|
2727 |
-
|
2728 |
-
|
2729 |
-
|
2730 |
-
|
2731 |
-
|
2732 |
-
|
2733 |
-
|
2734 |
-
|
2735 |
-
|
2736 |
-
|
2737 |
-
|
2738 |
-
|
2739 |
-
|
2740 |
-
|
2741 |
-
|
2742 |
-
|
2743 |
-
|
2744 |
-
|
2745 |
-
|
2746 |
-
|
2747 |
-
|
2748 |
-
|
2749 |
-
|
2750 |
-
|
2751 |
-
|
2752 |
-
|
2753 |
-
|
2754 |
-
|
2755 |
-
|
2756 |
-
|
2757 |
-
|
2758 |
-
|
2759 |
-
|
2760 |
-
|
2761 |
-
|
2762 |
-
|
2763 |
-
|
2764 |
-
|
2765 |
-
|
2766 |
-
|
2767 |
-
|
2768 |
-
|
2769 |
-
|
2770 |
-
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
|
2781 |
-
|
2782 |
-
|
2783 |
-
|
2784 |
-
|
2785 |
-
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
2790 |
-
|
2791 |
-
|
2792 |
-
|
2793 |
-
|
2794 |
-
|
2795 |
-
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
2799 |
-
|
2800 |
-
|
2801 |
-
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
-
|
2812 |
-
|
2813 |
-
|
2814 |
-
|
2815 |
-
|
2816 |
-
|
2817 |
-
|
2818 |
-
|
2819 |
-
|
2820 |
-
|
2821 |
-
|
2822 |
-
|
2823 |
-
|
2824 |
-
|
2825 |
-
|
2826 |
-
|
2827 |
-
|
2828 |
-
|
2829 |
-
|
2830 |
-
|
2831 |
-
|
2832 |
-
|
2833 |
-
|
2834 |
-
|
2835 |
-
|
2836 |
-
|
2837 |
-
|
2838 |
-
|
2839 |
-
|
2840 |
-
|
2841 |
-
|
2842 |
-
|
2843 |
-
|
2844 |
-
|
2845 |
-
|
2846 |
-
|
2847 |
-
|
2848 |
-
|
2849 |
-
|
2850 |
-
|
2851 |
-
|
2852 |
-
|
2853 |
-
|
2854 |
-
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
-
|
2859 |
-
|
2860 |
-
|
2861 |
-
|
2862 |
-
|
2863 |
-
|
2864 |
-
|
2865 |
-
|
2866 |
-
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
-
|
2891 |
-
|
2892 |
-
|
2893 |
-
|
2894 |
-
|
2895 |
-
|
2896 |
-
|
2897 |
-
|
2898 |
-
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
-
|
2903 |
-
|
2904 |
-
|
2905 |
-
|
2906 |
-
|
2907 |
-
|
2908 |
-
|
2909 |
-
|
2910 |
-
|
2911 |
-
|
2912 |
-
|
2913 |
-
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
-
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
-
|
2923 |
-
|
2924 |
-
|
2925 |
-
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
-
|
2932 |
-
|
2933 |
-
|
2934 |
-
|
2935 |
-
|
2936 |
-
|
2937 |
-
|
2938 |
-
|
2939 |
-
|
2940 |
-
|
2941 |
-
|
2942 |
-
|
2943 |
-
|
2944 |
-
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
-
|
2951 |
-
|
2952 |
-
|
2953 |
-
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
-
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
2968 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2969 |
);
|
2970 |
}
|
22 |
*/
|
23 |
static public function js()
|
24 |
{
|
25 |
+
$default = json_encode( apply_filters( 'fl_builder_font_families_default', FLBuilderFontFamilies::$default ) );
|
26 |
+
$system = json_encode( apply_filters( 'fl_builder_font_families_system', FLBuilderFontFamilies::$system ) );
|
27 |
+
$google = json_encode( apply_filters( 'fl_builder_font_families_google', FLBuilderFontFamilies::$google ) );
|
28 |
+
|
29 |
echo 'var FLBuilderFontFamilies = { default: '. $default .', system: '. $system .', google: '. $google .' };';
|
30 |
}
|
31 |
|
38 |
*/
|
39 |
static public function display_select_font($font)
|
40 |
{
|
41 |
+
$system_fonts = apply_filters( 'fl_builder_font_families_system', FLBuilderFontFamilies::$system );
|
42 |
+
$google_fonts = apply_filters( 'fl_builder_font_families_google', FLBuilderFontFamilies::$google );
|
43 |
+
|
44 |
echo '<option value="Default" '. selected('Default', $font) .'>'. __( 'Default', 'fl-builder' ) .'</option>';
|
45 |
echo '<optgroup label="System">';
|
46 |
+
|
47 |
+
foreach( $system_fonts as $name => $variants ) {
|
48 |
echo '<option value="'. $name .'" '. selected($name, $font) .'>'. $name .'</option>';
|
49 |
}
|
50 |
+
|
51 |
echo '<optgroup label="Google">';
|
52 |
+
|
53 |
+
foreach( $google_fonts as $name => $variants ) {
|
54 |
echo '<option value="'. $name .'" '. selected($name, $font) .'>'. $name .'</option>';
|
55 |
}
|
56 |
}
|
64 |
* @return void
|
65 |
*/
|
66 |
static public function display_select_weight( $font, $weight )
|
67 |
+
{
|
68 |
if( $font == 'Default' ){
|
69 |
+
echo '<option value="default">'. __( 'Default', 'fl-builder' ) .'</option>';
|
70 |
} else {
|
71 |
+
$system_fonts = apply_filters( 'fl_builder_font_families_system', FLBuilderFontFamilies::$system );
|
72 |
+
$google_fonts = apply_filters( 'fl_builder_font_families_google', FLBuilderFontFamilies::$google );
|
73 |
|
74 |
+
if( array_key_exists( $font, $system_fonts ) ){
|
75 |
+
foreach( $system_fonts[ $font ]['weights'] as $variant ) {
|
|
|
76 |
echo '<option value="'. $variant .'" '. selected($variant, $weight) .'>'. FLBuilderFonts::get_weight_string( $variant ) .'</option>';
|
77 |
}
|
78 |
|
79 |
} else {
|
80 |
+
foreach( $google_fonts[ $font ] as $variant) {
|
81 |
|
82 |
echo '<option value="'. $variant .'" '. selected($variant, $weight) .'>'. FLBuilderFonts::get_weight_string( $variant ) .'</option>';
|
83 |
}
|
84 |
|
85 |
}
|
86 |
+
|
87 |
}
|
88 |
+
|
89 |
}
|
90 |
|
91 |
/**
|
110 |
'800' => 'Extra-Bold 800',
|
111 |
'900' => 'Ultra-Bold 900'
|
112 |
);
|
113 |
+
|
114 |
return $weight_string[ $weight ];
|
115 |
}
|
116 |
|
123 |
*/
|
124 |
static public function font_css( $font ){
|
125 |
|
126 |
+
$system_fonts = apply_filters( 'fl_builder_font_families_system', FLBuilderFontFamilies::$system );
|
127 |
+
|
128 |
$css = '';
|
129 |
|
130 |
+
if( array_key_exists( $font['family'], $system_fonts ) ){
|
131 |
+
|
132 |
+
$css .= 'font-family: '. $font['family'] .','. $system_fonts[ $font['family'] ]['fallback'] .';';
|
133 |
|
134 |
} else {
|
135 |
$css .= 'font-family: '. $font['family'] .';';
|
136 |
+
}
|
137 |
|
138 |
if ( 'regular' == $font['weight'] ) {
|
139 |
$css .= 'font-weight: normal;';
|
179 |
static private function add_fonts_for_nested_module_form( $module, $form, $setting )
|
180 |
{
|
181 |
$fields = FLBuilderModel::get_settings_form_fields( $form );
|
182 |
+
|
183 |
foreach ( $fields as $name => $field ) {
|
184 |
if ( $field['type'] == 'font' && isset( $module->settings->$setting ) ) {
|
185 |
foreach ( $module->settings->$setting as $key => $val ) {
|
211 |
}
|
212 |
|
213 |
$google_url = substr( $google_url, 0, -1 );
|
214 |
+
|
215 |
wp_enqueue_style( 'fl-builder-google-fonts-' . md5( $google_url ), $google_url, array() );
|
216 |
+
|
217 |
self::$fonts = array();
|
218 |
+
}
|
219 |
}
|
220 |
|
221 |
/**
|
229 |
|
230 |
if( $font['family'] != 'Default' ){
|
231 |
|
232 |
+
$system_fonts = apply_filters( 'fl_builder_font_families_system', FLBuilderFontFamilies::$system );
|
233 |
+
|
234 |
// check if is a Google Font
|
235 |
+
if( !array_key_exists( $font['family'], $system_fonts ) ){
|
236 |
|
237 |
// check if font family is already added
|
238 |
if( array_key_exists( $font['family'], self::$fonts ) ){
|
322 |
)
|
323 |
),
|
324 |
);
|
325 |
+
|
326 |
/**
|
327 |
* Array with Google Fonts.
|
328 |
* @var array
|
331 |
"ABeeZee" => array(
|
332 |
"regular",
|
333 |
),
|
334 |
+
"Abel" => array(
|
335 |
+
"regular",
|
336 |
+
),
|
337 |
+
"Abhaya Libre" => array(
|
338 |
+
"regular",
|
339 |
+
"500",
|
340 |
+
"600",
|
341 |
+
"700",
|
342 |
+
"800",
|
343 |
+
),
|
344 |
+
"Abril Fatface" => array(
|
345 |
+
"regular",
|
346 |
+
),
|
347 |
+
"Aclonica" => array(
|
348 |
+
"regular",
|
349 |
+
),
|
350 |
+
"Acme" => array(
|
351 |
+
"regular",
|
352 |
+
),
|
353 |
+
"Actor" => array(
|
354 |
+
"regular",
|
355 |
+
),
|
356 |
+
"Adamina" => array(
|
357 |
+
"regular",
|
358 |
+
),
|
359 |
+
"Advent Pro" => array(
|
360 |
+
"100",
|
361 |
+
"200",
|
362 |
+
"300",
|
363 |
+
"regular",
|
364 |
+
"500",
|
365 |
+
"600",
|
366 |
+
"700",
|
367 |
+
),
|
368 |
+
"Aguafina Script" => array(
|
369 |
+
"regular",
|
370 |
+
),
|
371 |
+
"Akronim" => array(
|
372 |
+
"regular",
|
373 |
+
),
|
374 |
+
"Aladin" => array(
|
375 |
+
"regular",
|
376 |
+
),
|
377 |
+
"Aldrich" => array(
|
378 |
+
"regular",
|
379 |
+
),
|
380 |
+
"Alef" => array(
|
381 |
+
"regular",
|
382 |
+
"700",
|
383 |
+
),
|
384 |
+
"Alegreya" => array(
|
385 |
+
"regular",
|
386 |
+
"700",
|
387 |
+
"900",
|
388 |
+
),
|
389 |
+
"Alegreya SC" => array(
|
390 |
+
"regular",
|
391 |
+
"700",
|
392 |
+
"900",
|
393 |
+
),
|
394 |
+
"Alegreya Sans" => array(
|
395 |
+
"100",
|
396 |
+
"300",
|
397 |
+
"regular",
|
398 |
+
"500",
|
399 |
+
"700",
|
400 |
+
"800",
|
401 |
+
"900",
|
402 |
+
),
|
403 |
+
"Alegreya Sans SC" => array(
|
404 |
+
"100",
|
405 |
+
"300",
|
406 |
+
"regular",
|
407 |
+
"500",
|
408 |
+
"700",
|
409 |
+
"800",
|
410 |
+
"900",
|
411 |
+
),
|
412 |
+
"Alex Brush" => array(
|
413 |
+
"regular",
|
414 |
+
),
|
415 |
+
"Alfa Slab One" => array(
|
416 |
+
"regular",
|
417 |
+
),
|
418 |
+
"Alice" => array(
|
419 |
+
"regular",
|
420 |
+
),
|
421 |
+
"Alike" => array(
|
422 |
+
"regular",
|
423 |
+
),
|
424 |
+
"Alike Angular" => array(
|
425 |
+
"regular",
|
426 |
+
),
|
427 |
+
"Allan" => array(
|
428 |
+
"regular",
|
429 |
+
"700",
|
430 |
+
),
|
431 |
+
"Allerta" => array(
|
432 |
+
"regular",
|
433 |
+
),
|
434 |
+
"Allerta Stencil" => array(
|
435 |
+
"regular",
|
436 |
+
),
|
437 |
+
"Allura" => array(
|
438 |
+
"regular",
|
439 |
+
),
|
440 |
+
"Almendra" => array(
|
441 |
+
"regular",
|
442 |
+
"700",
|
443 |
+
),
|
444 |
+
"Almendra Display" => array(
|
445 |
+
"regular",
|
446 |
+
),
|
447 |
+
"Almendra SC" => array(
|
448 |
+
"regular",
|
449 |
+
),
|
450 |
+
"Amarante" => array(
|
451 |
+
"regular",
|
452 |
+
),
|
453 |
+
"Amaranth" => array(
|
454 |
+
"regular",
|
455 |
+
"700",
|
456 |
+
),
|
457 |
+
"Amatic SC" => array(
|
458 |
+
"regular",
|
459 |
+
"700",
|
460 |
+
),
|
461 |
+
"Amatica SC" => array(
|
462 |
+
"regular",
|
463 |
+
"700",
|
464 |
+
),
|
465 |
+
"Amethysta" => array(
|
466 |
+
"regular",
|
467 |
+
),
|
468 |
+
"Amiko" => array(
|
469 |
+
"regular",
|
470 |
+
"600",
|
471 |
+
"700",
|
472 |
+
),
|
473 |
+
"Amiri" => array(
|
474 |
+
"regular",
|
475 |
+
"700",
|
476 |
+
),
|
477 |
+
"Amita" => array(
|
478 |
+
"regular",
|
479 |
+
"700",
|
480 |
+
),
|
481 |
+
"Anaheim" => array(
|
482 |
+
"regular",
|
483 |
+
),
|
484 |
+
"Andada" => array(
|
485 |
+
"regular",
|
486 |
+
),
|
487 |
+
"Andika" => array(
|
488 |
+
"regular",
|
489 |
+
),
|
490 |
+
"Angkor" => array(
|
491 |
+
"regular",
|
492 |
+
),
|
493 |
+
"Annie Use Your Telescope" => array(
|
494 |
+
"regular",
|
495 |
+
),
|
496 |
+
"Anonymous Pro" => array(
|
497 |
+
"regular",
|
498 |
+
"700",
|
499 |
+
),
|
500 |
+
"Antic" => array(
|
501 |
+
"regular",
|
502 |
+
),
|
503 |
+
"Antic Didone" => array(
|
504 |
+
"regular",
|
505 |
+
),
|
506 |
+
"Antic Slab" => array(
|
507 |
+
"regular",
|
508 |
+
),
|
509 |
+
"Anton" => array(
|
510 |
+
"regular",
|
511 |
+
),
|
512 |
+
"Arapey" => array(
|
513 |
+
"regular",
|
514 |
+
),
|
515 |
+
"Arbutus" => array(
|
516 |
+
"regular",
|
517 |
+
),
|
518 |
+
"Arbutus Slab" => array(
|
519 |
+
"regular",
|
520 |
+
),
|
521 |
+
"Architects Daughter" => array(
|
522 |
+
"regular",
|
523 |
+
),
|
524 |
+
"Archivo Black" => array(
|
525 |
+
"regular",
|
526 |
+
),
|
527 |
+
"Archivo Narrow" => array(
|
528 |
+
"regular",
|
529 |
+
"700",
|
530 |
+
),
|
531 |
+
"Aref Ruqaa" => array(
|
532 |
+
"regular",
|
533 |
+
"700",
|
534 |
+
),
|
535 |
+
"Arima Madurai" => array(
|
536 |
+
"100",
|
537 |
+
"200",
|
538 |
+
"300",
|
539 |
+
"regular",
|
540 |
+
"500",
|
541 |
+
"700",
|
542 |
+
"800",
|
543 |
+
"900",
|
544 |
+
),
|
545 |
+
"Arimo" => array(
|
546 |
+
"regular",
|
547 |
+
"700",
|
548 |
+
),
|
549 |
+
"Arizonia" => array(
|
550 |
+
"regular",
|
551 |
+
),
|
552 |
+
"Armata" => array(
|
553 |
+
"regular",
|
554 |
+
),
|
555 |
+
"Artifika" => array(
|
556 |
+
"regular",
|
557 |
+
),
|
558 |
+
"Arvo" => array(
|
559 |
+
"regular",
|
560 |
+
"700",
|
561 |
+
),
|
562 |
+
"Arya" => array(
|
563 |
+
"regular",
|
564 |
+
"700",
|
565 |
+
),
|
566 |
+
"Asap" => array(
|
567 |
+
"regular",
|
568 |
+
"700",
|
569 |
+
),
|
570 |
+
"Asar" => array(
|
571 |
+
"regular",
|
572 |
+
),
|
573 |
+
"Asset" => array(
|
574 |
+
"regular",
|
575 |
+
),
|
576 |
+
"Assistant" => array(
|
577 |
+
"200",
|
578 |
+
"300",
|
579 |
+
"regular",
|
580 |
+
"600",
|
581 |
+
"700",
|
582 |
+
"800",
|
583 |
+
),
|
584 |
+
"Astloch" => array(
|
585 |
+
"regular",
|
586 |
+
"700",
|
587 |
+
),
|
588 |
+
"Asul" => array(
|
589 |
+
"regular",
|
590 |
+
"700",
|
591 |
+
),
|
592 |
+
"Athiti" => array(
|
593 |
+
"200",
|
594 |
+
"300",
|
595 |
+
"regular",
|
596 |
+
"500",
|
597 |
+
"600",
|
598 |
+
"700",
|
599 |
+
),
|
600 |
+
"Atma" => array(
|
601 |
+
"300",
|
602 |
+
"regular",
|
603 |
+
"500",
|
604 |
+
"600",
|
605 |
+
"700",
|
606 |
+
),
|
607 |
+
"Atomic Age" => array(
|
608 |
+
"regular",
|
609 |
+
),
|
610 |
+
"Aubrey" => array(
|
611 |
+
"regular",
|
612 |
+
),
|
613 |
+
"Audiowide" => array(
|
614 |
+
"regular",
|
615 |
+
),
|
616 |
+
"Autour One" => array(
|
617 |
+
"regular",
|
618 |
+
),
|
619 |
+
"Average" => array(
|
620 |
+
"regular",
|
621 |
+
),
|
622 |
+
"Average Sans" => array(
|
623 |
+
"regular",
|
624 |
+
),
|
625 |
+
"Averia Gruesa Libre" => array(
|
626 |
+
"regular",
|
627 |
+
),
|
628 |
+
"Averia Libre" => array(
|
629 |
+
"300",
|
630 |
+
"regular",
|
631 |
+
"700",
|
632 |
+
),
|
633 |
+
"Averia Sans Libre" => array(
|
634 |
+
"300",
|
635 |
+
"regular",
|
636 |
+
"700",
|
637 |
+
),
|
638 |
+
"Averia Serif Libre" => array(
|
639 |
+
"300",
|
640 |
+
"regular",
|
641 |
+
"700",
|
642 |
+
),
|
643 |
+
"Bad Script" => array(
|
644 |
+
"regular",
|
645 |
+
),
|
646 |
+
"Baloo" => array(
|
647 |
+
"regular",
|
648 |
+
),
|
649 |
+
"Baloo Bhai" => array(
|
650 |
+
"regular",
|
651 |
+
),
|
652 |
+
"Baloo Bhaina" => array(
|
653 |
+
"regular",
|
654 |
+
),
|
655 |
+
"Baloo Chettan" => array(
|
656 |
+
"regular",
|
657 |
+
),
|
658 |
+
"Baloo Da" => array(
|
659 |
+
"regular",
|
660 |
+
),
|
661 |
+
"Baloo Paaji" => array(
|
662 |
+
"regular",
|
663 |
+
),
|
664 |
+
"Baloo Tamma" => array(
|
665 |
+
"regular",
|
666 |
+
),
|
667 |
+
"Baloo Thambi" => array(
|
668 |
+
"regular",
|
669 |
+
),
|
670 |
+
"Balthazar" => array(
|
671 |
+
"regular",
|
672 |
+
),
|
673 |
+
"Bangers" => array(
|
674 |
+
"regular",
|
675 |
+
),
|
676 |
+
"Basic" => array(
|
677 |
+
"regular",
|
678 |
+
),
|
679 |
+
"Battambang" => array(
|
680 |
+
"regular",
|
681 |
+
"700",
|
682 |
+
),
|
683 |
+
"Baumans" => array(
|
684 |
+
"regular",
|
685 |
+
),
|
686 |
+
"Bayon" => array(
|
687 |
+
"regular",
|
688 |
+
),
|
689 |
+
"Belgrano" => array(
|
690 |
+
"regular",
|
691 |
+
),
|
692 |
+
"Belleza" => array(
|
693 |
+
"regular",
|
694 |
+
),
|
695 |
+
"BenchNine" => array(
|
696 |
+
"300",
|
697 |
+
"regular",
|
698 |
+
"700",
|
699 |
+
),
|
700 |
+
"Bentham" => array(
|
701 |
+
"regular",
|
702 |
+
),
|
703 |
+
"Berkshire Swash" => array(
|
704 |
+
"regular",
|
705 |
+
),
|
706 |
+
"Bevan" => array(
|
707 |
+
"regular",
|
708 |
+
),
|
709 |
+
"Bigelow Rules" => array(
|
710 |
+
"regular",
|
711 |
+
),
|
712 |
+
"Bigshot One" => array(
|
713 |
+
"regular",
|
714 |
+
),
|
715 |
+
"Bilbo" => array(
|
716 |
+
"regular",
|
717 |
+
),
|
718 |
+
"Bilbo Swash Caps" => array(
|
719 |
+
"regular",
|
720 |
+
),
|
721 |
+
"BioRhyme" => array(
|
722 |
+
"200",
|
723 |
+
"300",
|
724 |
+
"regular",
|
725 |
+
"700",
|
726 |
+
"800",
|
727 |
+
),
|
728 |
+
"BioRhyme Expanded" => array(
|
729 |
+
"200",
|
730 |
+
"300",
|
731 |
+
"regular",
|
732 |
+
"700",
|
733 |
+
"800",
|
734 |
+
),
|
735 |
+
"Biryani" => array(
|
736 |
+
"200",
|
737 |
+
"300",
|
738 |
+
"regular",
|
739 |
+
"600",
|
740 |
+
"700",
|
741 |
+
"800",
|
742 |
+
"900",
|
743 |
+
),
|
744 |
+
"Bitter" => array(
|
745 |
+
"regular",
|
746 |
+
"700",
|
747 |
+
),
|
748 |
+
"Black Ops One" => array(
|
749 |
+
"regular",
|
750 |
+
),
|
751 |
+
"Bokor" => array(
|
752 |
+
"regular",
|
753 |
+
),
|
754 |
+
"Bonbon" => array(
|
755 |
+
"regular",
|
756 |
+
),
|
757 |
+
"Boogaloo" => array(
|
758 |
+
"regular",
|
759 |
+
),
|
760 |
+
"Bowlby One" => array(
|
761 |
+
"regular",
|
762 |
+
),
|
763 |
+
"Bowlby One SC" => array(
|
764 |
+
"regular",
|
765 |
+
),
|
766 |
+
"Brawler" => array(
|
767 |
+
"regular",
|
768 |
+
),
|
769 |
+
"Bree Serif" => array(
|
770 |
+
"regular",
|
771 |
+
),
|
772 |
+
"Bubblegum Sans" => array(
|
773 |
+
"regular",
|
774 |
+
),
|
775 |
+
"Bubbler One" => array(
|
776 |
+
"regular",
|
777 |
+
),
|
778 |
+
"Buda" => array(
|
779 |
+
"300",
|
780 |
+
),
|
781 |
+
"Buenard" => array(
|
782 |
+
"regular",
|
783 |
+
"700",
|
784 |
+
),
|
785 |
+
"Bungee" => array(
|
786 |
+
"regular",
|
787 |
+
),
|
788 |
+
"Bungee Hairline" => array(
|
789 |
+
"regular",
|
790 |
+
),
|
791 |
+
"Bungee Inline" => array(
|
792 |
+
"regular",
|
793 |
+
),
|
794 |
+
"Bungee Outline" => array(
|
795 |
+
"regular",
|
796 |
+
),
|
797 |
+
"Bungee Shade" => array(
|
798 |
+
"regular",
|
799 |
+
),
|
800 |
+
"Butcherman" => array(
|
801 |
+
"regular",
|
802 |
+
),
|
803 |
+
"Butterfly Kids" => array(
|
804 |
+
"regular",
|
805 |
+
),
|
806 |
+
"Cabin" => array(
|
807 |
+
"regular",
|
808 |
+
"500",
|
809 |
+
"600",
|
810 |
+
"700",
|
811 |
+
),
|
812 |
+
"Cabin Condensed" => array(
|
813 |
+
"regular",
|
814 |
+
"500",
|
815 |
+
"600",
|
816 |
+
"700",
|
817 |
+
),
|
818 |
+
"Cabin Sketch" => array(
|
819 |
+
"regular",
|
820 |
+
"700",
|
821 |
+
),
|
822 |
+
"Caesar Dressing" => array(
|
823 |
+
"regular",
|
824 |
+
),
|
825 |
+
"Cagliostro" => array(
|
826 |
+
"regular",
|
827 |
+
),
|
828 |
+
"Cairo" => array(
|
829 |
+
"200",
|
830 |
+
"300",
|
831 |
+
"regular",
|
832 |
+
"600",
|
833 |
+
"700",
|
834 |
+
"900",
|
835 |
+
),
|
836 |
+
"Calligraffitti" => array(
|
837 |
+
"regular",
|
838 |
+
),
|
839 |
+
"Cambay" => array(
|
840 |
+
"regular",
|
841 |
+
"700",
|
842 |
+
),
|
843 |
+
"Cambo" => array(
|
844 |
+
"regular",
|
845 |
+
),
|
846 |
+
"Candal" => array(
|
847 |
+
"regular",
|
848 |
+
),
|
849 |
+
"Cantarell" => array(
|
850 |
+
"regular",
|
851 |
+
"700",
|
852 |
+
),
|
853 |
+
"Cantata One" => array(
|
854 |
+
"regular",
|
855 |
+
),
|
856 |
+
"Cantora One" => array(
|
857 |
+
"regular",
|
858 |
+
),
|
859 |
+
"Capriola" => array(
|
860 |
+
"regular",
|
861 |
+
),
|
862 |
+
"Cardo" => array(
|
863 |
+
"regular",
|
864 |
+
"700",
|
865 |
+
),
|
866 |
+
"Carme" => array(
|
867 |
+
"regular",
|
868 |
+
),
|
869 |
+
"Carrois Gothic" => array(
|
870 |
+
"regular",
|
871 |
+
),
|
872 |
+
"Carrois Gothic SC" => array(
|
873 |
+
"regular",
|
874 |
+
),
|
875 |
+
"Carter One" => array(
|
876 |
+
"regular",
|
877 |
+
),
|
878 |
+
"Catamaran" => array(
|
879 |
+
"100",
|
880 |
+
"200",
|
881 |
+
"300",
|
882 |
+
"regular",
|
883 |
+
"500",
|
884 |
+
"600",
|
885 |
+
"700",
|
886 |
+
"800",
|
887 |
+
"900",
|
888 |
+
),
|
889 |
+
"Caudex" => array(
|
890 |
+
"regular",
|
891 |
+
"700",
|
892 |
+
),
|
893 |
+
"Caveat" => array(
|
894 |
+
"regular",
|
895 |
+
"700",
|
896 |
+
),
|
897 |
+
"Caveat Brush" => array(
|
898 |
+
"regular",
|
899 |
+
),
|
900 |
+
"Cedarville Cursive" => array(
|
901 |
+
"regular",
|
902 |
+
),
|
903 |
+
"Ceviche One" => array(
|
904 |
+
"regular",
|
905 |
+
),
|
906 |
+
"Changa" => array(
|
907 |
+
"200",
|
908 |
+
"300",
|
909 |
+
"regular",
|
910 |
+
"500",
|
911 |
+
"600",
|
912 |
+
"700",
|
913 |
+
"800",
|
914 |
+
),
|
915 |
+
"Changa One" => array(
|
916 |
+
"regular",
|
917 |
+
),
|
918 |
+
"Chango" => array(
|
919 |
+
"regular",
|
920 |
+
),
|
921 |
+
"Chathura" => array(
|
922 |
+
"100",
|
923 |
+
"300",
|
924 |
+
"regular",
|
925 |
+
"700",
|
926 |
+
"800",
|
927 |
+
),
|
928 |
+
"Chau Philomene One" => array(
|
929 |
+
"regular",
|
930 |
+
),
|
931 |
+
"Chela One" => array(
|
932 |
+
"regular",
|
933 |
+
),
|
934 |
+
"Chelsea Market" => array(
|
935 |
+
"regular",
|
936 |
+
),
|
937 |
+
"Chenla" => array(
|
938 |
+
"regular",
|
939 |
+
),
|
940 |
+
"Cherry Cream Soda" => array(
|
941 |
+
"regular",
|
942 |
+
),
|
943 |
+
"Cherry Swash" => array(
|
944 |
+
"regular",
|
945 |
+
"700",
|
946 |
+
),
|
947 |
+
"Chewy" => array(
|
948 |
+
"regular",
|
949 |
+
),
|
950 |
+
"Chicle" => array(
|
951 |
+
"regular",
|
952 |
+
),
|
953 |
+
"Chivo" => array(
|
954 |
+
"regular",
|
955 |
+
"900",
|
956 |
+
),
|
957 |
+
"Chonburi" => array(
|
958 |
+
"regular",
|
959 |
+
),
|
960 |
+
"Cinzel" => array(
|
961 |
+
"regular",
|
962 |
+
"700",
|
963 |
+
"900",
|
964 |
+
),
|
965 |
+
"Cinzel Decorative" => array(
|
966 |
+
"regular",
|
967 |
+
"700",
|
968 |
+
"900",
|
969 |
+
),
|
970 |
+
"Clicker Script" => array(
|
971 |
+
"regular",
|
972 |
+
),
|
973 |
+
"Coda" => array(
|
974 |
+
"regular",
|
975 |
+
"800",
|
976 |
+
),
|
977 |
+
"Coda Caption" => array(
|
978 |
+
"800",
|
979 |
+
),
|
980 |
+
"Codystar" => array(
|
981 |
+
"300",
|
982 |
+
"regular",
|
983 |
+
),
|
984 |
+
"Coiny" => array(
|
985 |
+
"regular",
|
986 |
+
),
|
987 |
+
"Combo" => array(
|
988 |
+
"regular",
|
989 |
+
),
|
990 |
+
"Comfortaa" => array(
|
991 |
+
"300",
|
992 |
+
"regular",
|
993 |
+
"700",
|
994 |
+
),
|
995 |
+
"Coming Soon" => array(
|
996 |
+
"regular",
|
997 |
+
),
|
998 |
+
"Concert One" => array(
|
999 |
+
"regular",
|
1000 |
+
),
|
1001 |
+
"Condiment" => array(
|
1002 |
+
"regular",
|
1003 |
+
),
|
1004 |
+
"Content" => array(
|
1005 |
+
"regular",
|
1006 |
+
"700",
|
1007 |
+
),
|
1008 |
+
"Contrail One" => array(
|
1009 |
+
"regular",
|
1010 |
+
),
|
1011 |
+
"Convergence" => array(
|
1012 |
+
"regular",
|
1013 |
+
),
|
1014 |
+
"Cookie" => array(
|
1015 |
+
"regular",
|
1016 |
+
),
|
1017 |
+
"Copse" => array(
|
1018 |
+
"regular",
|
1019 |
+
),
|
1020 |
+
"Corben" => array(
|
1021 |
+
"regular",
|
1022 |
+
"700",
|
1023 |
+
),
|
1024 |
+
"Cormorant" => array(
|
1025 |
+
"300",
|
1026 |
+
"regular",
|
1027 |
+
"500",
|
1028 |
+
"600",
|
1029 |
+
"700",
|
1030 |
+
),
|
1031 |
+
"Cormorant Garamond" => array(
|
1032 |
+
"300",
|
1033 |
+
"regular",
|
1034 |
+
"500",
|
1035 |
+
"600",
|
1036 |
+
"700",
|
1037 |
+
),
|
1038 |
+
"Cormorant Infant" => array(
|
1039 |
+
"300",
|
1040 |
+
"regular",
|
1041 |
+
"500",
|
1042 |
+
"600",
|
1043 |
+
"700",
|
1044 |
+
),
|
1045 |
+
"Cormorant SC" => array(
|
1046 |
+
"300",
|
1047 |
+
"regular",
|
1048 |
+
"500",
|
1049 |
+
"600",
|
1050 |
+
"700",
|
1051 |
+
),
|
1052 |
+
"Cormorant Unicase" => array(
|
1053 |
+
"300",
|
1054 |
+
"regular",
|
1055 |
+
"500",
|
1056 |
+
"600",
|
1057 |
+
"700",
|
1058 |
+
),
|
1059 |
+
"Cormorant Upright" => array(
|
1060 |
+
"300",
|
1061 |
+
"regular",
|
1062 |
+
"500",
|
1063 |
+
"600",
|
1064 |
+
"700",
|
1065 |
+
),
|
1066 |
+
"Courgette" => array(
|
1067 |
+
"regular",
|
1068 |
+
),
|
1069 |
+
"Cousine" => array(
|
1070 |
+
"regular",
|
1071 |
+
"700",
|
1072 |
+
),
|
1073 |
+
"Coustard" => array(
|
1074 |
+
"regular",
|
1075 |
+
"900",
|
1076 |
+
),
|
1077 |
+
"Covered By Your Grace" => array(
|
1078 |
+
"regular",
|
1079 |
+
),
|
1080 |
+
"Crafty Girls" => array(
|
1081 |
+
"regular",
|
1082 |
+
),
|
1083 |
+
"Creepster" => array(
|
1084 |
+
"regular",
|
1085 |
+
),
|
1086 |
+
"Crete Round" => array(
|
1087 |
+
"regular",
|
1088 |
+
),
|
1089 |
+
"Crimson Text" => array(
|
1090 |
+
"regular",
|
1091 |
+
"600",
|
1092 |
+
"700",
|
1093 |
+
),
|
1094 |
+
"Croissant One" => array(
|
1095 |
+
"regular",
|
1096 |
+
),
|
1097 |
+
"Crushed" => array(
|
1098 |
+
"regular",
|
1099 |
+
),
|
1100 |
+
"Cuprum" => array(
|
1101 |
+
"regular",
|
1102 |
+
"700",
|
1103 |
+
),
|
1104 |
+
"Cutive" => array(
|
1105 |
+
"regular",
|
1106 |
+
),
|
1107 |
+
"Cutive Mono" => array(
|
1108 |
+
"regular",
|
1109 |
+
),
|
1110 |
+
"Damion" => array(
|
1111 |
+
"regular",
|
1112 |
+
),
|
1113 |
+
"Dancing Script" => array(
|
1114 |
+
"regular",
|
1115 |
+
"700",
|
1116 |
+
),
|
1117 |
+
"Dangrek" => array(
|
1118 |
+
"regular",
|
1119 |
+
),
|
1120 |
+
"David Libre" => array(
|
1121 |
+
"regular",
|
1122 |
+
"500",
|
1123 |
+
"700",
|
1124 |
+
),
|
1125 |
+
"Dawning of a New Day" => array(
|
1126 |
+
"regular",
|
1127 |
+
),
|
1128 |
+
"Days One" => array(
|
1129 |
+
"regular",
|
1130 |
+
),
|
1131 |
+
"Dekko" => array(
|
1132 |
+
"regular",
|
1133 |
+
),
|
1134 |
+
"Delius" => array(
|
1135 |
+
"regular",
|
1136 |
+
),
|
1137 |
+
"Delius Swash Caps" => array(
|
1138 |
+
"regular",
|
1139 |
+
),
|
1140 |
+
"Delius Unicase" => array(
|
1141 |
+
"regular",
|
1142 |
+
"700",
|
1143 |
+
),
|
1144 |
+
"Della Respira" => array(
|
1145 |
+
"regular",
|
1146 |
+
),
|
1147 |
+
"Denk One" => array(
|
1148 |
+
"regular",
|
1149 |
+
),
|
1150 |
+
"Devonshire" => array(
|
1151 |
+
"regular",
|
1152 |
+
),
|
1153 |
+
"Dhurjati" => array(
|
1154 |
+
"regular",
|
1155 |
+
),
|
1156 |
+
"Didact Gothic" => array(
|
1157 |
+
"regular",
|
1158 |
+
),
|
1159 |
+
"Diplomata" => array(
|
1160 |
+
"regular",
|
1161 |
+
),
|
1162 |
+
"Diplomata SC" => array(
|
1163 |
+
"regular",
|
1164 |
+
),
|
1165 |
+
"Domine" => array(
|
1166 |
+
"regular",
|
1167 |
+
"700",
|
1168 |
+
),
|
1169 |
+
"Donegal One" => array(
|
1170 |
+
"regular",
|
1171 |
+
),
|
1172 |
+
"Doppio One" => array(
|
1173 |
+
"regular",
|
1174 |
+
),
|
1175 |
+
"Dorsa" => array(
|
1176 |
+
"regular",
|
1177 |
+
),
|
1178 |
+
"Dosis" => array(
|
1179 |
+
"200",
|
1180 |
+
"300",
|
1181 |
+
"regular",
|
1182 |
+
"500",
|
1183 |
+
"600",
|
1184 |
+
"700",
|
1185 |
+
"800",
|
1186 |
+
),
|
1187 |
+
"Dr Sugiyama" => array(
|
1188 |
+
"regular",
|
1189 |
+
),
|
1190 |
+
"Droid Sans" => array(
|
1191 |
+
"regular",
|
1192 |
+
"700",
|
1193 |
+
),
|
1194 |
+
"Droid Sans Mono" => array(
|
1195 |
+
"regular",
|
1196 |
+
),
|
1197 |
+
"Droid Serif" => array(
|
1198 |
+
"regular",
|
1199 |
+
"700",
|
1200 |
+
),
|
1201 |
+
"Duru Sans" => array(
|
1202 |
+
"regular",
|
1203 |
+
),
|
1204 |
+
"Dynalight" => array(
|
1205 |
+
"regular",
|
1206 |
+
),
|
1207 |
+
"EB Garamond" => array(
|
1208 |
+
"regular",
|
1209 |
+
),
|
1210 |
+
"Eagle Lake" => array(
|
1211 |
+
"regular",
|
1212 |
+
),
|
1213 |
+
"Eater" => array(
|
1214 |
+
"regular",
|
1215 |
+
),
|
1216 |
+
"Economica" => array(
|
1217 |
+
"regular",
|
1218 |
+
"700",
|
1219 |
+
),
|
1220 |
+
"Eczar" => array(
|
1221 |
+
"regular",
|
1222 |
+
"500",
|
1223 |
+
"600",
|
1224 |
+
"700",
|
1225 |
+
"800",
|
1226 |
+
),
|
1227 |
+
"Ek Mukta" => array(
|
1228 |
+
"200",
|
1229 |
+
"300",
|
1230 |
+
"regular",
|
1231 |
+
"500",
|
1232 |
+
"600",
|
1233 |
+
"700",
|
1234 |
+
"800",
|
1235 |
+
),
|
1236 |
+
"El Messiri" => array(
|
1237 |
+
"regular",
|
1238 |
+
"500",
|
1239 |
+
"600",
|
1240 |
+
"700",
|
1241 |
+
),
|
1242 |
+
"Electrolize" => array(
|
1243 |
+
"regular",
|
1244 |
+
),
|
1245 |
+
"Elsie" => array(
|
1246 |
+
"regular",
|
1247 |
+
"900",
|
1248 |
+
),
|
1249 |
+
"Elsie Swash Caps" => array(
|
1250 |
+
"regular",
|
1251 |
+
"900",
|
1252 |
+
),
|
1253 |
+
"Emblema One" => array(
|
1254 |
+
"regular",
|
1255 |
+
),
|
1256 |
+
"Emilys Candy" => array(
|
1257 |
+
"regular",
|
1258 |
+
),
|
1259 |
+
"Engagement" => array(
|
1260 |
+
"regular",
|
1261 |
+
),
|
1262 |
+
"Englebert" => array(
|
1263 |
+
"regular",
|
1264 |
+
),
|
1265 |
+
"Enriqueta" => array(
|
1266 |
+
"regular",
|
1267 |
+
"700",
|
1268 |
+
),
|
1269 |
+
"Erica One" => array(
|
1270 |
+
"regular",
|
1271 |
+
),
|
1272 |
+
"Esteban" => array(
|
1273 |
+
"regular",
|
1274 |
+
),
|
1275 |
+
"Euphoria Script" => array(
|
1276 |
+
"regular",
|
1277 |
+
),
|
1278 |
+
"Ewert" => array(
|
1279 |
+
"regular",
|
1280 |
+
),
|
1281 |
+
"Exo" => array(
|
1282 |
+
"100",
|
1283 |
+
"200",
|
1284 |
+
"300",
|
1285 |
+
"regular",
|
1286 |
+
"500",
|
1287 |
+
"600",
|
1288 |
+
"700",
|
1289 |
+
"800",
|
1290 |
+
"900",
|
1291 |
+
),
|
1292 |
+
"Exo 2" => array(
|
1293 |
+
"100",
|
1294 |
+
"200",
|
1295 |
+
"300",
|
1296 |
+
"regular",
|
1297 |
+
"500",
|
1298 |
+
"600",
|
1299 |
+
"700",
|
1300 |
+
"800",
|
1301 |
+
"900",
|
1302 |
+
),
|
1303 |
+
"Expletus Sans" => array(
|
1304 |
+
"regular",
|
1305 |
+
"500",
|
1306 |
+
"600",
|
1307 |
+
"700",
|
1308 |
+
),
|
1309 |
+
"Fanwood Text" => array(
|
1310 |
+
"regular",
|
1311 |
+
),
|
1312 |
+
"Farsan" => array(
|
1313 |
+
"regular",
|
1314 |
+
),
|
1315 |
+
"Fascinate" => array(
|
1316 |
+
"regular",
|
1317 |
+
),
|
1318 |
+
"Fascinate Inline" => array(
|
1319 |
+
"regular",
|
1320 |
+
),
|
1321 |
+
"Faster One" => array(
|
1322 |
+
"regular",
|
1323 |
+
),
|
1324 |
+
"Fasthand" => array(
|
1325 |
+
"regular",
|
1326 |
+
),
|
1327 |
+
"Fauna One" => array(
|
1328 |
+
"regular",
|
1329 |
+
),
|
1330 |
+
"Federant" => array(
|
1331 |
+
"regular",
|
1332 |
+
),
|
1333 |
+
"Federo" => array(
|
1334 |
+
"regular",
|
1335 |
+
),
|
1336 |
+
"Felipa" => array(
|
1337 |
+
"regular",
|
1338 |
+
),
|
1339 |
+
"Fenix" => array(
|
1340 |
+
"regular",
|
1341 |
+
),
|
1342 |
+
"Finger Paint" => array(
|
1343 |
+
"regular",
|
1344 |
+
),
|
1345 |
+
"Fira Mono" => array(
|
1346 |
+
"regular",
|
1347 |
+
"700",
|
1348 |
+
),
|
1349 |
+
"Fira Sans" => array(
|
1350 |
+
"300",
|
1351 |
+
"regular",
|
1352 |
+
"500",
|
1353 |
+
"700",
|
1354 |
+
),
|
1355 |
+
"Fjalla One" => array(
|
1356 |
+
"regular",
|
1357 |
+
),
|
1358 |
+
"Fjord One" => array(
|
1359 |
+
"regular",
|
1360 |
+
),
|
1361 |
+
"Flamenco" => array(
|
1362 |
+
"300",
|
1363 |
+
"regular",
|
1364 |
+
),
|
1365 |
+
"Flavors" => array(
|
1366 |
+
"regular",
|
1367 |
+
),
|
1368 |
+
"Fondamento" => array(
|
1369 |
+
"regular",
|
1370 |
+
),
|
1371 |
+
"Fontdiner Swanky" => array(
|
1372 |
+
"regular",
|
1373 |
+
),
|
1374 |
+
"Forum" => array(
|
1375 |
+
"regular",
|
1376 |
+
),
|
1377 |
+
"Francois One" => array(
|
1378 |
+
"regular",
|
1379 |
+
),
|
1380 |
+
"Frank Ruhl Libre" => array(
|
1381 |
+
"300",
|
1382 |
+
"regular",
|
1383 |
+
"500",
|
1384 |
+
"700",
|
1385 |
+
"900",
|
1386 |
+
),
|
1387 |
+
"Freckle Face" => array(
|
1388 |
+
"regular",
|
1389 |
+
),
|
1390 |
+
"Fredericka the Great" => array(
|
1391 |
+
"regular",
|
1392 |
+
),
|
1393 |
+
"Fredoka One" => array(
|
1394 |
+
"regular",
|
1395 |
+
),
|
1396 |
+
"Freehand" => array(
|
1397 |
+
"regular",
|
1398 |
+
),
|
1399 |
+
"Fresca" => array(
|
1400 |
+
"regular",
|
1401 |
+
),
|
1402 |
+
"Frijole" => array(
|
1403 |
+
"regular",
|
1404 |
+
),
|
1405 |
+
"Fruktur" => array(
|
1406 |
+
"regular",
|
1407 |
+
),
|
1408 |
+
"Fugaz One" => array(
|
1409 |
+
"regular",
|
1410 |
+
),
|
1411 |
+
"GFS Didot" => array(
|
1412 |
+
"regular",
|
1413 |
+
),
|
1414 |
+
"GFS Neohellenic" => array(
|
1415 |
+
"regular",
|
1416 |
+
"700",
|
1417 |
+
),
|
1418 |
+
"Gabriela" => array(
|
1419 |
+
"regular",
|
1420 |
+
),
|
1421 |
+
"Gafata" => array(
|
1422 |
+
"regular",
|
1423 |
+
),
|
1424 |
+
"Galada" => array(
|
1425 |
+
"regular",
|
1426 |
+
),
|
1427 |
+
"Galdeano" => array(
|
1428 |
+
"regular",
|
1429 |
+
),
|
1430 |
+
"Galindo" => array(
|
1431 |
+
"regular",
|
1432 |
+
),
|
1433 |
+
"Gentium Basic" => array(
|
1434 |
+
"regular",
|
1435 |
+
"700",
|
1436 |
+
),
|
1437 |
+
"Gentium Book Basic" => array(
|
1438 |
+
"regular",
|
1439 |
+
"700",
|
1440 |
+
),
|
1441 |
+
"Geo" => array(
|
1442 |
+
"regular",
|
1443 |
+
),
|
1444 |
+
"Geostar" => array(
|
1445 |
+
"regular",
|
1446 |
+
),
|
1447 |
+
"Geostar Fill" => array(
|
1448 |
+
"regular",
|
1449 |
+
),
|
1450 |
+
"Germania One" => array(
|
1451 |
+
"regular",
|
1452 |
+
),
|
1453 |
+
"Gidugu" => array(
|
1454 |
+
"regular",
|
1455 |
+
),
|
1456 |
+
"Gilda Display" => array(
|
1457 |
+
"regular",
|
1458 |
+
),
|
1459 |
+
"Give You Glory" => array(
|
1460 |
+
"regular",
|
1461 |
+
),
|
1462 |
+
"Glass Antiqua" => array(
|
1463 |
+
"regular",
|
1464 |
+
),
|
1465 |
+
"Glegoo" => array(
|
1466 |
+
"regular",
|
1467 |
+
"700",
|
1468 |
+
),
|
1469 |
+
"Gloria Hallelujah" => array(
|
1470 |
+
"regular",
|
1471 |
+
),
|
1472 |
+
"Goblin One" => array(
|
1473 |
+
"regular",
|
1474 |
+
),
|
1475 |
+
"Gochi Hand" => array(
|
1476 |
+
"regular",
|
1477 |
+
),
|
1478 |
+
"Gorditas" => array(
|
1479 |
+
"regular",
|
1480 |
+
"700",
|
1481 |
+
),
|
1482 |
+
"Goudy Bookletter 1911" => array(
|
1483 |
+
"regular",
|
1484 |
+
),
|
1485 |
+
"Graduate" => array(
|
1486 |
+
"regular",
|
1487 |
+
),
|
1488 |
+
"Grand Hotel" => array(
|
1489 |
+
"regular",
|
1490 |
+
),
|
1491 |
+
"Gravitas One" => array(
|
1492 |
+
"regular",
|
1493 |
+
),
|
1494 |
+
"Great Vibes" => array(
|
1495 |
+
"regular",
|
1496 |
+
),
|
1497 |
+
"Griffy" => array(
|
1498 |
+
"regular",
|
1499 |
+
),
|
1500 |
+
"Gruppo" => array(
|
1501 |
+
"regular",
|
1502 |
+
),
|
1503 |
+
"Gudea" => array(
|
1504 |
+
"regular",
|
1505 |
+
"700",
|
1506 |
+
),
|
1507 |
+
"Gurajada" => array(
|
1508 |
+
"regular",
|
1509 |
+
),
|
1510 |
+
"Habibi" => array(
|
1511 |
+
"regular",
|
1512 |
+
),
|
1513 |
+
"Halant" => array(
|
1514 |
+
"300",
|
1515 |
+
"regular",
|
1516 |
+
"500",
|
1517 |
+
"600",
|
1518 |
+
"700",
|
1519 |
+
),
|
1520 |
+
"Hammersmith One" => array(
|
1521 |
+
"regular",
|
1522 |
+
),
|
1523 |
+
"Hanalei" => array(
|
1524 |
+
"regular",
|
1525 |
+
),
|
1526 |
+
"Hanalei Fill" => array(
|
1527 |
+
"regular",
|
1528 |
+
),
|
1529 |
+
"Handlee" => array(
|
1530 |
+
"regular",
|
1531 |
+
),
|
1532 |
+
"Hanuman" => array(
|
1533 |
+
"regular",
|
1534 |
+
"700",
|
1535 |
+
),
|
1536 |
+
"Happy Monkey" => array(
|
1537 |
+
"regular",
|
1538 |
+
),
|
1539 |
+
"Harmattan" => array(
|
1540 |
+
"regular",
|
1541 |
+
),
|
1542 |
+
"Headland One" => array(
|
1543 |
+
"regular",
|
1544 |
+
),
|
1545 |
+
"Heebo" => array(
|
1546 |
+
"100",
|
1547 |
+
"300",
|
1548 |
+
"regular",
|
1549 |
+
"500",
|
1550 |
+
"700",
|
1551 |
+
"800",
|
1552 |
+
"900",
|
1553 |
+
),
|
1554 |
+
"Henny Penny" => array(
|
1555 |
+
"regular",
|
1556 |
+
),
|
1557 |
+
"Herr Von Muellerhoff" => array(
|
1558 |
+
"regular",
|
1559 |
+
),
|
1560 |
+
"Hind" => array(
|
1561 |
+
"300",
|
1562 |
+
"regular",
|
1563 |
+
"500",
|
1564 |
+
"600",
|
1565 |
+
"700",
|
1566 |
+
),
|
1567 |
+
"Hind Guntur" => array(
|
1568 |
+
"300",
|
1569 |
+
"regular",
|
1570 |
+
"500",
|
1571 |
+
"600",
|
1572 |
+
"700",
|
1573 |
+
),
|
1574 |
+
"Hind Madurai" => array(
|
1575 |
+
"300",
|
1576 |
+
"regular",
|
1577 |
+
"500",
|
1578 |
+
"600",
|
1579 |
+
"700",
|
1580 |
+
),
|
1581 |
+
"Hind Siliguri" => array(
|
1582 |
+
"300",
|
1583 |
+
"regular",
|
1584 |
+
"500",
|
1585 |
+
"600",
|
1586 |
+
"700",
|
1587 |
+
),
|
1588 |
+
"Hind Vadodara" => array(
|
1589 |
+
"300",
|
1590 |
+
"regular",
|
1591 |
+
"500",
|
1592 |
+
"600",
|
1593 |
+
"700",
|
1594 |
+
),
|
1595 |
+
"Holtwood One SC" => array(
|
1596 |
+
"regular",
|
1597 |
+
),
|
1598 |
+
"Homemade Apple" => array(
|
1599 |
+
"regular",
|
1600 |
+
),
|
1601 |
+
"Homenaje" => array(
|
1602 |
+
"regular",
|
1603 |
+
),
|
1604 |
+
"IM Fell DW Pica" => array(
|
1605 |
+
"regular",
|
1606 |
+
),
|
1607 |
+
"IM Fell DW Pica SC" => array(
|
1608 |
+
"regular",
|
1609 |
+
),
|
1610 |
+
"IM Fell Double Pica" => array(
|
1611 |
+
"regular",
|
1612 |
+
),
|
1613 |
+
"IM Fell Double Pica SC" => array(
|
1614 |
+
"regular",
|
1615 |
+
),
|
1616 |
+
"IM Fell English" => array(
|
1617 |
+
"regular",
|
1618 |
+
),
|
1619 |
+
"IM Fell English SC" => array(
|
1620 |
+
"regular",
|
1621 |
+
),
|
1622 |
+
"IM Fell French Canon" => array(
|
1623 |
+
"regular",
|
1624 |
+
),
|
1625 |
+
"IM Fell French Canon SC" => array(
|
1626 |
+
"regular",
|
1627 |
+
),
|
1628 |
+
"IM Fell Great Primer" => array(
|
1629 |
+
"regular",
|
1630 |
+
),
|
1631 |
+
"IM Fell Great Primer SC" => array(
|
1632 |
+
"regular",
|
1633 |
+
),
|
1634 |
+
"Iceberg" => array(
|
1635 |
+
"regular",
|
1636 |
+
),
|
1637 |
+
"Iceland" => array(
|
1638 |
+
"regular",
|
1639 |
+
),
|
1640 |
+
"Imprima" => array(
|
1641 |
+
"regular",
|
1642 |
+
),
|
1643 |
+
"Inconsolata" => array(
|
1644 |
+
"regular",
|
1645 |
+
"700",
|
1646 |
+
),
|
1647 |
+
"Inder" => array(
|
1648 |
+
"regular",
|
1649 |
+
),
|
1650 |
+
"Indie Flower" => array(
|
1651 |
+
"regular",
|
1652 |
+
),
|
1653 |
+
"Inika" => array(
|
1654 |
+
"regular",
|
1655 |
+
"700",
|
1656 |
+
),
|
1657 |
+
"Inknut Antiqua" => array(
|
1658 |
+
"300",
|
1659 |
+
"regular",
|
1660 |
+
"500",
|
1661 |
+
"600",
|
1662 |
+
"700",
|
1663 |
+
"800",
|
1664 |
+
"900",
|
1665 |
+
),
|
1666 |
+
"Irish Grover" => array(
|
1667 |
+
"regular",
|
1668 |
+
),
|
1669 |
+
"Istok Web" => array(
|
1670 |
+
"regular",
|
1671 |
+
"700",
|
1672 |
+
),
|
1673 |
+
"Italiana" => array(
|
1674 |
+
"regular",
|
1675 |
+
),
|
1676 |
+
"Italianno" => array(
|
1677 |
+
"regular",
|
1678 |
+
),
|
1679 |
+
"Itim" => array(
|
1680 |
+
"regular",
|
1681 |
+
),
|
1682 |
+
"Jacques Francois" => array(
|
1683 |
+
"regular",
|
1684 |
+
),
|
1685 |
+
"Jacques Francois Shadow" => array(
|
1686 |
+
"regular",
|
1687 |
+
),
|
1688 |
+
"Jaldi" => array(
|
1689 |
+
"regular",
|
1690 |
+
"700",
|
1691 |
+
),
|
1692 |
+
"Jim Nightshade" => array(
|
1693 |
+
"regular",
|
1694 |
+
),
|
1695 |
+
"Jockey One" => array(
|
1696 |
+
"regular",
|
1697 |
+
),
|
1698 |
+
"Jolly Lodger" => array(
|
1699 |
+
"regular",
|
1700 |
+
),
|
1701 |
+
"Jomhuria" => array(
|
1702 |
+
"regular",
|
1703 |
+
),
|
1704 |
+
"Josefin Sans" => array(
|
1705 |
+
"100",
|
1706 |
+
"300",
|
1707 |
+
"regular",
|
1708 |
+
"600",
|
1709 |
+
"700",
|
1710 |
+
),
|
1711 |
+
"Josefin Slab" => array(
|
1712 |
+
"100",
|
1713 |
+
"300",
|
1714 |
+
"regular",
|
1715 |
+
"600",
|
1716 |
+
"700",
|
1717 |
+
),
|
1718 |
+
"Joti One" => array(
|
1719 |
+
"regular",
|
1720 |
+
),
|
1721 |
+
"Judson" => array(
|
1722 |
+
"regular",
|
1723 |
+
"700",
|
1724 |
+
),
|
1725 |
+
"Julee" => array(
|
1726 |
+
"regular",
|
1727 |
+
),
|
1728 |
+
"Julius Sans One" => array(
|
1729 |
+
"regular",
|
1730 |
+
),
|
1731 |
+
"Junge" => array(
|
1732 |
+
"regular",
|
1733 |
+
),
|
1734 |
+
"Jura" => array(
|
1735 |
+
"300",
|
1736 |
+
"regular",
|
1737 |
+
"500",
|
1738 |
+
"600",
|
1739 |
+
),
|
1740 |
+
"Just Another Hand" => array(
|
1741 |
+
"regular",
|
1742 |
+
),
|
1743 |
+
"Just Me Again Down Here" => array(
|
1744 |
+
"regular",
|
1745 |
+
),
|
1746 |
+
"Kadwa" => array(
|
1747 |
+
"regular",
|
1748 |
+
"700",
|
1749 |
+
),
|
1750 |
+
"Kalam" => array(
|
1751 |
+
"300",
|
1752 |
+
"regular",
|
1753 |
+
"700",
|
1754 |
+
),
|
1755 |
+
"Kameron" => array(
|
1756 |
+
"regular",
|
1757 |
+
"700",
|
1758 |
+
),
|
1759 |
+
"Kanit" => array(
|
1760 |
+
"100",
|
1761 |
+
"200",
|
1762 |
+
"300",
|
1763 |
+
"regular",
|
1764 |
+
"500",
|
1765 |
+
"600",
|
1766 |
+
"700",
|
1767 |
+
"800",
|
1768 |
+
"900",
|
1769 |
+
),
|
1770 |
+
"Kantumruy" => array(
|
1771 |
+
"300",
|
1772 |
+
"regular",
|
1773 |
+
"700",
|
1774 |
+
),
|
1775 |
+
"Karla" => array(
|
1776 |
+
"regular",
|
1777 |
+
"700",
|
1778 |
+
),
|
1779 |
+
"Karma" => array(
|
1780 |
+
"300",
|
1781 |
+
"regular",
|
1782 |
+
"500",
|
1783 |
+
"600",
|
1784 |
+
"700",
|
1785 |
+
),
|
1786 |
+
"Katibeh" => array(
|
1787 |
+
"regular",
|
1788 |
+
),
|
1789 |
+
"Kaushan Script" => array(
|
1790 |
+
"regular",
|
1791 |
+
),
|
1792 |
+
"Kavivanar" => array(
|
1793 |
+
"regular",
|
1794 |
+
),
|
1795 |
+
"Kavoon" => array(
|
1796 |
+
"regular",
|
1797 |
+
),
|
1798 |
+
"Kdam Thmor" => array(
|
1799 |
+
"regular",
|
1800 |
+
),
|
1801 |
+
"Keania One" => array(
|
1802 |
+
"regular",
|
1803 |
+
),
|
1804 |
+
"Kelly Slab" => array(
|
1805 |
+
"regular",
|
1806 |
+
),
|
1807 |
+
"Kenia" => array(
|
1808 |
+
"regular",
|
1809 |
+
),
|
1810 |
+
"Khand" => array(
|
1811 |
+
"300",
|
1812 |
+
"regular",
|
1813 |
+
"500",
|
1814 |
+
"600",
|
1815 |
+
"700",
|
1816 |
+
),
|
1817 |
+
"Khmer" => array(
|
1818 |
+
"regular",
|
1819 |
+
),
|
1820 |
+
"Khula" => array(
|
1821 |
+
"300",
|
1822 |
+
"regular",
|
1823 |
+
"600",
|
1824 |
+
"700",
|
1825 |
+
"800",
|
1826 |
+
),
|
1827 |
+
"Kite One" => array(
|
1828 |
+
"regular",
|
1829 |
+
),
|
1830 |
+
"Knewave" => array(
|
1831 |
+
"regular",
|
1832 |
+
),
|
1833 |
+
"Kotta One" => array(
|
1834 |
+
"regular",
|
1835 |
+
),
|
1836 |
+
"Koulen" => array(
|
1837 |
+
"regular",
|
1838 |
+
),
|
1839 |
+
"Kranky" => array(
|
1840 |
+
"regular",
|
1841 |
+
),
|
1842 |
+
"Kreon" => array(
|
1843 |
+
"300",
|
1844 |
+
"regular",
|
1845 |
+
"700",
|
1846 |
+
),
|
1847 |
+
"Kristi" => array(
|
1848 |
+
"regular",
|
1849 |
+
),
|
1850 |
+
"Krona One" => array(
|
1851 |
+
"regular",
|
1852 |
+
),
|
1853 |
+
"Kumar One" => array(
|
1854 |
+
"regular",
|
1855 |
+
),
|
1856 |
+
"Kumar One Outline" => array(
|
1857 |
+
"regular",
|
1858 |
+
),
|
1859 |
+
"Kurale" => array(
|
1860 |
+
"regular",
|
1861 |
+
),
|
1862 |
+
"La Belle Aurore" => array(
|
1863 |
+
"regular",
|
1864 |
+
),
|
1865 |
+
"Laila" => array(
|
1866 |
+
"300",
|
1867 |
+
"regular",
|
1868 |
+
"500",
|
1869 |
+
"600",
|
1870 |
+
"700",
|
1871 |
+
),
|
1872 |
+
"Lakki Reddy" => array(
|
1873 |
+
"regular",
|
1874 |
+
),
|
1875 |
+
"Lalezar" => array(
|
1876 |
+
"regular",
|
1877 |
+
),
|
1878 |
+
"Lancelot" => array(
|
1879 |
+
"regular",
|
1880 |
+
),
|
1881 |
+
"Lateef" => array(
|
1882 |
+
"regular",
|
1883 |
+
),
|
1884 |
+
"Lato" => array(
|
1885 |
+
"100",
|
1886 |
+
"300",
|
1887 |
+
"regular",
|
1888 |
+
"700",
|
1889 |
+
"900",
|
1890 |
+
),
|
1891 |
+
"League Script" => array(
|
1892 |
+
"regular",
|
1893 |
+
),
|
1894 |
+
"Leckerli One" => array(
|
1895 |
+
"regular",
|
1896 |
+
),
|
1897 |
+
"Ledger" => array(
|
1898 |
+
"regular",
|
1899 |
+
),
|
1900 |
+
"Lekton" => array(
|
1901 |
+
"regular",
|
1902 |
+
"700",
|
1903 |
+
),
|
1904 |
+
"Lemon" => array(
|
1905 |
+
"regular",
|
1906 |
+
),
|
1907 |
+
"Lemonada" => array(
|
1908 |
+
"300",
|
1909 |
+
"regular",
|
1910 |
+
"600",
|
1911 |
+
"700",
|
1912 |
+
),
|
1913 |
+
"Libre Baskerville" => array(
|
1914 |
+
"regular",
|
1915 |
+
"700",
|
1916 |
+
),
|
1917 |
+
"Libre Franklin" => array(
|
1918 |
+
"100",
|
1919 |
+
"200",
|
1920 |
+
"300",
|
1921 |
+
"regular",
|
1922 |
+
"500",
|
1923 |
+
"600",
|
1924 |
+
"700",
|
1925 |
+
"800",
|
1926 |
+
"900",
|
1927 |
+
),
|
1928 |
+
"Life Savers" => array(
|
1929 |
+
"regular",
|
1930 |
+
"700",
|
1931 |
+
),
|
1932 |
+
"Lilita One" => array(
|
1933 |
+
"regular",
|
1934 |
+
),
|
1935 |
+
"Lily Script One" => array(
|
1936 |
+
"regular",
|
1937 |
+
),
|
1938 |
+
"Limelight" => array(
|
1939 |
+
"regular",
|
1940 |
+
),
|
1941 |
+
"Linden Hill" => array(
|
1942 |
+
"regular",
|
1943 |
+
),
|
1944 |
+
"Lobster" => array(
|
1945 |
+
"regular",
|
1946 |
+
),
|
1947 |
+
"Lobster Two" => array(
|
1948 |
+
"regular",
|
1949 |
+
"700",
|
1950 |
+
),
|
1951 |
+
"Londrina Outline" => array(
|
1952 |
+
"regular",
|
1953 |
+
),
|
1954 |
+
"Londrina Shadow" => array(
|
1955 |
+
"regular",
|
1956 |
+
),
|
1957 |
+
"Londrina Sketch" => array(
|
1958 |
+
"regular",
|
1959 |
+
),
|
1960 |
+
"Londrina Solid" => array(
|
1961 |
+
"regular",
|
1962 |
+
),
|
1963 |
+
"Lora" => array(
|
1964 |
+
"regular",
|
1965 |
+
"700",
|
1966 |
+
),
|
1967 |
+
"Love Ya Like A Sister" => array(
|
1968 |
+
"regular",
|
1969 |
+
),
|
1970 |
+
"Loved by the King" => array(
|
1971 |
+
"regular",
|
1972 |
+
),
|
1973 |
+
"Lovers Quarrel" => array(
|
1974 |
+
"regular",
|
1975 |
+
),
|
1976 |
+
"Luckiest Guy" => array(
|
1977 |
+
"regular",
|
1978 |
+
),
|
1979 |
+
"Lusitana" => array(
|
1980 |
+
"regular",
|
1981 |
+
"700",
|
1982 |
+
),
|
1983 |
+
"Lustria" => array(
|
1984 |
+
"regular",
|
1985 |
+
),
|
1986 |
+
"Macondo" => array(
|
1987 |
+
"regular",
|
1988 |
+
),
|
1989 |
+
"Macondo Swash Caps" => array(
|
1990 |
+
"regular",
|
1991 |
+
),
|
1992 |
+
"Mada" => array(
|
1993 |
+
"300",
|
1994 |
+
"regular",
|
1995 |
+
"500",
|
1996 |
+
"900",
|
1997 |
+
),
|
1998 |
+
"Magra" => array(
|
1999 |
+
"regular",
|
2000 |
+
"700",
|
2001 |
+
),
|
2002 |
+
"Maiden Orange" => array(
|
2003 |
+
"regular",
|
2004 |
+
),
|
2005 |
+
"Maitree" => array(
|
2006 |
+
"200",
|
2007 |
+
"300",
|
2008 |
+
"regular",
|
2009 |
+
"500",
|
2010 |
+
"600",
|
2011 |
+
"700",
|
2012 |
+
),
|
2013 |
+
"Mako" => array(
|
2014 |
+
"regular",
|
2015 |
+
),
|
2016 |
+
"Mallanna" => array(
|
2017 |
+
"regular",
|
2018 |
+
),
|
2019 |
+
"Mandali" => array(
|
2020 |
+
"regular",
|
2021 |
+
),
|
2022 |
+
"Marcellus" => array(
|
2023 |
+
"regular",
|
2024 |
+
),
|
2025 |
+
"Marcellus SC" => array(
|
2026 |
+
"regular",
|
2027 |
+
),
|
2028 |
+
"Marck Script" => array(
|
2029 |
+
"regular",
|
2030 |
+
),
|
2031 |
+
"Margarine" => array(
|
2032 |
+
"regular",
|
2033 |
+
),
|
2034 |
+
"Marko One" => array(
|
2035 |
+
"regular",
|
2036 |
+
),
|
2037 |
+
"Marmelad" => array(
|
2038 |
+
"regular",
|
2039 |
+
),
|
2040 |
+
"Martel" => array(
|
2041 |
+
"200",
|
2042 |
+
"300",
|
2043 |
+
"regular",
|
2044 |
+
"600",
|
2045 |
+
"700",
|
2046 |
+
"800",
|
2047 |
+
"900",
|
2048 |
+
),
|
2049 |
+
"Martel Sans" => array(
|
2050 |
+
"200",
|
2051 |
+
"300",
|
2052 |
+
"regular",
|
2053 |
+
"600",
|
2054 |
+
"700",
|
2055 |
+
"800",
|
2056 |
+
"900",
|
2057 |
+
),
|
2058 |
+
"Marvel" => array(
|
2059 |
+
"regular",
|
2060 |
+
"700",
|
2061 |
+
),
|
2062 |
+
"Mate" => array(
|
2063 |
+
"regular",
|
2064 |
+
),
|
2065 |
+
"Mate SC" => array(
|
2066 |
+
"regular",
|
2067 |
+
),
|
2068 |
+
"Maven Pro" => array(
|
2069 |
+
"regular",
|
2070 |
+
"500",
|
2071 |
+
"700",
|
2072 |
+
"900",
|
2073 |
+
),
|
2074 |
+
"McLaren" => array(
|
2075 |
+
"regular",
|
2076 |
+
),
|
2077 |
+
"Meddon" => array(
|
2078 |
+
"regular",
|
2079 |
+
),
|
2080 |
+
"MedievalSharp" => array(
|
2081 |
+
"regular",
|
2082 |
+
),
|
2083 |
+
"Medula One" => array(
|
2084 |
+
"regular",
|
2085 |
+
),
|
2086 |
+
"Meera Inimai" => array(
|
2087 |
+
"regular",
|
2088 |
+
),
|
2089 |
+
"Megrim" => array(
|
2090 |
+
"regular",
|
2091 |
+
),
|
2092 |
+
"Meie Script" => array(
|
2093 |
+
"regular",
|
2094 |
+
),
|
2095 |
+
"Merienda" => array(
|
2096 |
+
"regular",
|
2097 |
+
"700",
|
2098 |
+
),
|
2099 |
+
"Merienda One" => array(
|
2100 |
+
"regular",
|
2101 |
+
),
|
2102 |
+
"Merriweather" => array(
|
2103 |
+
"300",
|
2104 |
+
"regular",
|
2105 |
+
"700",
|
2106 |
+
"900",
|
2107 |
+
),
|
2108 |
+
"Merriweather Sans" => array(
|
2109 |
+
"300",
|
2110 |
+
"regular",
|
2111 |
+
"700",
|
2112 |
+
"800",
|
2113 |
+
),
|
2114 |
+
"Metal" => array(
|
2115 |
+
"regular",
|
2116 |
+
),
|
2117 |
+
"Metal Mania" => array(
|
2118 |
+
"regular",
|
2119 |
+
),
|
2120 |
+
"Metamorphous" => array(
|
2121 |
+
"regular",
|
2122 |
+
),
|
2123 |
+
"Metrophobic" => array(
|
2124 |
+
"regular",
|
2125 |
+
),
|
2126 |
+
"Michroma" => array(
|
2127 |
+
"regular",
|
2128 |
+
),
|
2129 |
+
"Milonga" => array(
|
2130 |
+
"regular",
|
2131 |
+
),
|
2132 |
+
"Miltonian" => array(
|
2133 |
+
"regular",
|
2134 |
+
),
|
2135 |
+
"Miltonian Tattoo" => array(
|
2136 |
+
"regular",
|
2137 |
+
),
|
2138 |
+
"Miniver" => array(
|
2139 |
+
"regular",
|
2140 |
+
),
|
2141 |
+
"Miriam Libre" => array(
|
2142 |
+
"regular",
|
2143 |
+
"700",
|
2144 |
+
),
|
2145 |
+
"Mirza" => array(
|
2146 |
+
"regular",
|
2147 |
+
"500",
|
2148 |
+
"600",
|
2149 |
+
"700",
|
2150 |
+
),
|
2151 |
+
"Miss Fajardose" => array(
|
2152 |
+
"regular",
|
2153 |
+
),
|
2154 |
+
"Mitr" => array(
|
2155 |
+
"200",
|
2156 |
+
"300",
|
2157 |
+
"regular",
|
2158 |
+
"500",
|
2159 |
+
"600",
|
2160 |
+
"700",
|
2161 |
+
),
|
2162 |
+
"Modak" => array(
|
2163 |
+
"regular",
|
2164 |
+
),
|
2165 |
+
"Modern Antiqua" => array(
|
2166 |
+
"regular",
|
2167 |
+
),
|
2168 |
+
"Mogra" => array(
|
2169 |
+
"regular",
|
2170 |
+
),
|
2171 |
+
"Molengo" => array(
|
2172 |
+
"regular",
|
2173 |
+
),
|
2174 |
+
"Molle" => array(
|
2175 |
+
),
|
2176 |
+
"Monda" => array(
|
2177 |
+
"regular",
|
2178 |
+
"700",
|
2179 |
+
),
|
2180 |
+
"Monofett" => array(
|
2181 |
+
"regular",
|
2182 |
+
),
|
2183 |
+
"Monoton" => array(
|
2184 |
+
"regular",
|
2185 |
+
),
|
2186 |
+
"Monsieur La Doulaise" => array(
|
2187 |
+
"regular",
|
2188 |
+
),
|
2189 |
+
"Montaga" => array(
|
2190 |
+
"regular",
|
2191 |
+
),
|
2192 |
+
"Montez" => array(
|
2193 |
+
"regular",
|
2194 |
+
),
|
2195 |
+
"Montserrat" => array(
|
2196 |
+
"regular",
|
2197 |
+
"700",
|
2198 |
+
),
|
2199 |
+
"Montserrat Alternates" => array(
|
2200 |
+
"regular",
|
2201 |
+
"700",
|
2202 |
+
),
|
2203 |
+
"Montserrat Subrayada" => array(
|
2204 |
+
"regular",
|
2205 |
+
"700",
|
2206 |
+
),
|
2207 |
+
"Moul" => array(
|
2208 |
+
"regular",
|
2209 |
+
),
|
2210 |
+
"Moulpali" => array(
|
2211 |
+
"regular",
|
2212 |
+
),
|
2213 |
+
"Mountains of Christmas" => array(
|
2214 |
+
"regular",
|
2215 |
+
"700",
|
2216 |
+
),
|
2217 |
+
"Mouse Memoirs" => array(
|
2218 |
+
"regular",
|
2219 |
+
),
|
2220 |
+
"Mr Bedfort" => array(
|
2221 |
+
"regular",
|
2222 |
+
),
|
2223 |
+
"Mr Dafoe" => array(
|
2224 |
+
"regular",
|
2225 |
+
),
|
2226 |
+
"Mr De Haviland" => array(
|
2227 |
+
"regular",
|
2228 |
+
),
|
2229 |
+
"Mrs Saint Delafield" => array(
|
2230 |
+
"regular",
|
2231 |
+
),
|
2232 |
+
"Mrs Sheppards" => array(
|
2233 |
+
"regular",
|
2234 |
+
),
|
2235 |
+
"Mukta Vaani" => array(
|
2236 |
+
"200",
|
2237 |
+
"300",
|
2238 |
+
"regular",
|
2239 |
+
"500",
|
2240 |
+
"600",
|
2241 |
+
"700",
|
2242 |
+
"800",
|
2243 |
+
),
|
2244 |
+
"Muli" => array(
|
2245 |
+
"300",
|
2246 |
+
"regular",
|
2247 |
+
),
|
2248 |
+
"Mystery Quest" => array(
|
2249 |
+
"regular",
|
2250 |
+
),
|
2251 |
+
"NTR" => array(
|
2252 |
+
"regular",
|
2253 |
+
),
|
2254 |
+
"Neucha" => array(
|
2255 |
+
"regular",
|
2256 |
+
),
|
2257 |
+
"Neuton" => array(
|
2258 |
+
"200",
|
2259 |
+
"300",
|
2260 |
+
"regular",
|
2261 |
+
"700",
|
2262 |
+
"800",
|
2263 |
+
),
|
2264 |
+
"New Rocker" => array(
|
2265 |
+
"regular",
|
2266 |
+
),
|
2267 |
+
"News Cycle" => array(
|
2268 |
+
"regular",
|
2269 |
+
"700",
|
2270 |
+
),
|
2271 |
+
"Niconne" => array(
|
2272 |
+
"regular",
|
2273 |
+
),
|
2274 |
+
"Nixie One" => array(
|
2275 |
+
"regular",
|
2276 |
+
),
|
2277 |
+
"Nobile" => array(
|
2278 |
+
"regular",
|
2279 |
+
"700",
|
2280 |
+
),
|
2281 |
+
"Nokora" => array(
|
2282 |
+
"regular",
|
2283 |
+
"700",
|
2284 |
+
),
|
2285 |
+
"Norican" => array(
|
2286 |
+
"regular",
|
2287 |
+
),
|
2288 |
+
"Nosifer" => array(
|
2289 |
+
"regular",
|
2290 |
+
),
|
2291 |
+
"Nothing You Could Do" => array(
|
2292 |
+
"regular",
|
2293 |
+
),
|
2294 |
+
"Noticia Text" => array(
|
2295 |
+
"regular",
|
2296 |
+
"700",
|
2297 |
+
),
|
2298 |
+
"Noto Sans" => array(
|
2299 |
+
"regular",
|
2300 |
+
"700",
|
2301 |
+
),
|
2302 |
+
"Noto Serif" => array(
|
2303 |
+
"regular",
|
2304 |
+
"700",
|
2305 |
+
),
|
2306 |
+
"Nova Cut" => array(
|
2307 |
+
"regular",
|
2308 |
+
),
|
2309 |
+
"Nova Flat" => array(
|
2310 |
+
"regular",
|
2311 |
+
),
|
2312 |
+
"Nova Mono" => array(
|
2313 |
+
"regular",
|
2314 |
+
),
|
2315 |
+
"Nova Oval" => array(
|
2316 |
+
"regular",
|
2317 |
+
),
|
2318 |
+
"Nova Round" => array(
|
2319 |
+
"regular",
|
2320 |
+
),
|
2321 |
+
"Nova Script" => array(
|
2322 |
+
"regular",
|
2323 |
+
),
|
2324 |
+
"Nova Slim" => array(
|
2325 |
+
"regular",
|
2326 |
+
),
|
2327 |
+
"Nova Square" => array(
|
2328 |
+
"regular",
|
2329 |
+
),
|
2330 |
+
"Numans" => array(
|
2331 |
+
"regular",
|
2332 |
+
),
|
2333 |
+
"Nunito" => array(
|
2334 |
+
"300",
|
2335 |
+
"regular",
|
2336 |
+
"700",
|
2337 |
+
),
|
2338 |
+
"Odor Mean Chey" => array(
|
2339 |
+
"regular",
|
2340 |
+
),
|
2341 |
+
"Offside" => array(
|
2342 |
+
"regular",
|
2343 |
+
),
|
2344 |
+
"Old Standard TT" => array(
|
2345 |
+
"regular",
|
2346 |
+
"700",
|
2347 |
+
),
|
2348 |
+
"Oldenburg" => array(
|
2349 |
+
"regular",
|
2350 |
+
),
|
2351 |
+
"Oleo Script" => array(
|
2352 |
+
"regular",
|
2353 |
+
"700",
|
2354 |
+
),
|
2355 |
+
"Oleo Script Swash Caps" => array(
|
2356 |
+
"regular",
|
2357 |
+
"700",
|
2358 |
+
),
|
2359 |
+
"Open Sans" => array(
|
2360 |
+
"300",
|
2361 |
+
"regular",
|
2362 |
+
"600",
|
2363 |
+
"700",
|
2364 |
+
"800",
|
2365 |
+
),
|
2366 |
+
"Open Sans Condensed" => array(
|
2367 |
+
"300",
|
2368 |
+
"700",
|
2369 |
+
),
|
2370 |
+
"Oranienbaum" => array(
|
2371 |
+
"regular",
|
2372 |
+
),
|
2373 |
+
"Orbitron" => array(
|
2374 |
+
"regular",
|
2375 |
+
"500",
|
2376 |
+
"700",
|
2377 |
+
"900",
|
2378 |
+
),
|
2379 |
+
"Oregano" => array(
|
2380 |
+
"regular",
|
2381 |
+
),
|
2382 |
+
"Orienta" => array(
|
2383 |
+
"regular",
|
2384 |
+
),
|
2385 |
+
"Original Surfer" => array(
|
2386 |
+
"regular",
|
2387 |
+
),
|
2388 |
+
"Oswald" => array(
|
2389 |
+
"300",
|
2390 |
+
"regular",
|
2391 |
+
"700",
|
2392 |
+
),
|
2393 |
+
"Over the Rainbow" => array(
|
2394 |
+
"regular",
|
2395 |
+
),
|
2396 |
+
"Overlock" => array(
|
2397 |
+
"regular",
|
2398 |
+
"700",
|
2399 |
+
"900",
|
2400 |
+
),
|
2401 |
+
"Overlock SC" => array(
|
2402 |
+
"regular",
|
2403 |
+
),
|
2404 |
+
"Ovo" => array(
|
2405 |
+
"regular",
|
2406 |
+
),
|
2407 |
+
"Oxygen" => array(
|
2408 |
+
"300",
|
2409 |
+
"regular",
|
2410 |
+
"700",
|
2411 |
+
),
|
2412 |
+
"Oxygen Mono" => array(
|
2413 |
+
"regular",
|
2414 |
+
),
|
2415 |
+
"PT Mono" => array(
|
2416 |
+
"regular",
|
2417 |
+
),
|
2418 |
+
"PT Sans" => array(
|
2419 |
+
"regular",
|
2420 |
+
"700",
|
2421 |
+
),
|
2422 |
+
"PT Sans Caption" => array(
|
2423 |
+
"regular",
|
2424 |
+
"700",
|
2425 |
+
),
|
2426 |
+
"PT Sans Narrow" => array(
|
2427 |
+
"regular",
|
2428 |
+
"700",
|
2429 |
+
),
|
2430 |
+
"PT Serif" => array(
|
2431 |
+
"regular",
|
2432 |
+
"700",
|
2433 |
+
),
|
2434 |
+
"PT Serif Caption" => array(
|
2435 |
+
"regular",
|
2436 |
+
),
|
2437 |
+
"Pacifico" => array(
|
2438 |
+
"regular",
|
2439 |
+
),
|
2440 |
+
"Palanquin" => array(
|
2441 |
+
"100",
|
2442 |
+
"200",
|
2443 |
+
"300",
|
2444 |
+
"regular",
|
2445 |
+
"500",
|
2446 |
+
"600",
|
2447 |
+
"700",
|
2448 |
+
),
|
2449 |
+
"Palanquin Dark" => array(
|
2450 |
+
"regular",
|
2451 |
+
"500",
|
2452 |
+
"600",
|
2453 |
+
"700",
|
2454 |
+
),
|
2455 |
+
"Paprika" => array(
|
2456 |
+
"regular",
|
2457 |
+
),
|
2458 |
+
"Parisienne" => array(
|
2459 |
+
"regular",
|
2460 |
+
),
|
2461 |
+
"Passero One" => array(
|
2462 |
+
"regular",
|
2463 |
+
),
|
2464 |
+
"Passion One" => array(
|
2465 |
+
"regular",
|
2466 |
+
"700",
|
2467 |
+
"900",
|
2468 |
+
),
|
2469 |
+
"Pathway Gothic One" => array(
|
2470 |
+
"regular",
|
2471 |
+
),
|
2472 |
+
"Patrick Hand" => array(
|
2473 |
+
"regular",
|
2474 |
+
),
|
2475 |
+
"Patrick Hand SC" => array(
|
2476 |
+
"regular",
|
2477 |
+
),
|
2478 |
+
"Pattaya" => array(
|
2479 |
+
"regular",
|
2480 |
+
),
|
2481 |
+
"Patua One" => array(
|
2482 |
+
"regular",
|
2483 |
+
),
|
2484 |
+
"Pavanam" => array(
|
2485 |
+
"regular",
|
2486 |
+
),
|
2487 |
+
"Paytone One" => array(
|
2488 |
+
"regular",
|
2489 |
+
),
|
2490 |
+
"Peddana" => array(
|
2491 |
+
"regular",
|
2492 |
+
),
|
2493 |
+
"Peralta" => array(
|
2494 |
+
"regular",
|
2495 |
+
),
|
2496 |
+
"Permanent Marker" => array(
|
2497 |
+
"regular",
|
2498 |
+
),
|
2499 |
+
"Petit Formal Script" => array(
|
2500 |
+
"regular",
|
2501 |
+
),
|
2502 |
+
"Petrona" => array(
|
2503 |
+
"regular",
|
2504 |
+
),
|
2505 |
+
"Philosopher" => array(
|
2506 |
+
"regular",
|
2507 |
+
"700",
|
2508 |
+
),
|
2509 |
+
"Piedra" => array(
|
2510 |
+
"regular",
|
2511 |
+
),
|
2512 |
+
"Pinyon Script" => array(
|
2513 |
+
"regular",
|
2514 |
+
),
|
2515 |
+
"Pirata One" => array(
|
2516 |
+
"regular",
|
2517 |
+
),
|
2518 |
+
"Plaster" => array(
|
2519 |
+
"regular",
|
2520 |
+
),
|
2521 |
+
"Play" => array(
|
2522 |
+
"regular",
|
2523 |
+
"700",
|
2524 |
+
),
|
2525 |
+
"Playball" => array(
|
2526 |
+
"regular",
|
2527 |
+
),
|
2528 |
+
"Playfair Display" => array(
|
2529 |
+
"regular",
|
2530 |
+
"700",
|
2531 |
+
"900",
|
2532 |
+
),
|
2533 |
+
"Playfair Display SC" => array(
|
2534 |
+
"regular",
|
2535 |
+
"700",
|
2536 |
+
"900",
|
2537 |
+
),
|
2538 |
+
"Podkova" => array(
|
2539 |
+
"regular",
|
2540 |
+
"700",
|
2541 |
+
),
|
2542 |
+
"Poiret One" => array(
|
2543 |
+
"regular",
|
2544 |
+
),
|
2545 |
+
"Poller One" => array(
|
2546 |
+
"regular",
|
2547 |
+
),
|
2548 |
+
"Poly" => array(
|
2549 |
+
"regular",
|
2550 |
+
),
|
2551 |
+
"Pompiere" => array(
|
2552 |
+
"regular",
|
2553 |
+
),
|
2554 |
+
"Pontano Sans" => array(
|
2555 |
+
"regular",
|
2556 |
+
),
|
2557 |
+
"Poppins" => array(
|
2558 |
+
"300",
|
2559 |
+
"regular",
|
2560 |
+
"500",
|
2561 |
+
"600",
|
2562 |
+
"700",
|
2563 |
+
),
|
2564 |
+
"Port Lligat Sans" => array(
|
2565 |
+
"regular",
|
2566 |
+
),
|
2567 |
+
"Port Lligat Slab" => array(
|
2568 |
+
"regular",
|
2569 |
+
),
|
2570 |
+
"Pragati Narrow" => array(
|
2571 |
+
"regular",
|
2572 |
+
"700",
|
2573 |
+
),
|
2574 |
+
"Prata" => array(
|
2575 |
+
"regular",
|
2576 |
+
),
|
2577 |
+
"Preahvihear" => array(
|
2578 |
+
"regular",
|
2579 |
+
),
|
2580 |
+
"Press Start 2P" => array(
|
2581 |
+
"regular",
|
2582 |
+
),
|
2583 |
+
"Pridi" => array(
|
2584 |
+
"200",
|
2585 |
+
"300",
|
2586 |
+
"regular",
|
2587 |
+
"500",
|
2588 |
+
"600",
|
2589 |
+
"700",
|
2590 |
+
),
|
2591 |
+
"Princess Sofia" => array(
|
2592 |
+
"regular",
|
2593 |
+
),
|
2594 |
+
"Prociono" => array(
|
2595 |
+
"regular",
|
2596 |
+
),
|
2597 |
+
"Prompt" => array(
|
2598 |
+
"100",
|
2599 |
+
"200",
|
2600 |
+
"300",
|
2601 |
+
"regular",
|
2602 |
+
"500",
|
2603 |
+
"600",
|
2604 |
+
"700",
|
2605 |
+
"800",
|
2606 |
+
"900",
|
2607 |
+
),
|
2608 |
+
"Prosto One" => array(
|
2609 |
+
"regular",
|
2610 |
+
),
|
2611 |
+
"Proza Libre" => array(
|
2612 |
+
"regular",
|
2613 |
+
"500",
|
2614 |
+
"600",
|
2615 |
+
"700",
|
2616 |
+
"800",
|
2617 |
+
),
|
2618 |
+
"Puritan" => array(
|
2619 |
+
"regular",
|
2620 |
+
"700",
|
2621 |
+
),
|
2622 |
+
"Purple Purse" => array(
|
2623 |
+
"regular",
|
2624 |
+
),
|
2625 |
+
"Quando" => array(
|
2626 |
+
"regular",
|
2627 |
+
),
|
2628 |
+
"Quantico" => array(
|
2629 |
+
"regular",
|
2630 |
+
"700",
|
2631 |
+
),
|
2632 |
+
"Quattrocento" => array(
|
2633 |
+
"regular",
|
2634 |
+
"700",
|
2635 |
+
),
|
2636 |
+
"Quattrocento Sans" => array(
|
2637 |
+
"regular",
|
2638 |
+
"700",
|
2639 |
+
),
|
2640 |
+
"Questrial" => array(
|
2641 |
+
"regular",
|
2642 |
+
),
|
2643 |
+
"Quicksand" => array(
|
2644 |
+
"300",
|
2645 |
+
"regular",
|
2646 |
+
"700",
|
2647 |
+
),
|
2648 |
+
"Quintessential" => array(
|
2649 |
+
"regular",
|
2650 |
+
),
|
2651 |
+
"Qwigley" => array(
|
2652 |
+
"regular",
|
2653 |
+
),
|
2654 |
+
"Racing Sans One" => array(
|
2655 |
+
"regular",
|
2656 |
+
),
|
2657 |
+
"Radley" => array(
|
2658 |
+
"regular",
|
2659 |
+
),
|
2660 |
+
"Rajdhani" => array(
|
2661 |
+
"300",
|
2662 |
+
"regular",
|
2663 |
+
"500",
|
2664 |
+
"600",
|
2665 |
+
"700",
|
2666 |
+
),
|
2667 |
+
"Rakkas" => array(
|
2668 |
+
"regular",
|
2669 |
+
),
|
2670 |
+
"Raleway" => array(
|
2671 |
+
"100",
|
2672 |
+
"200",
|
2673 |
+
"300",
|
2674 |
+
"regular",
|
2675 |
+
"500",
|
2676 |
+
"600",
|
2677 |
+
"700",
|
2678 |
+
"800",
|
2679 |
+
"900",
|
2680 |
+
),
|
2681 |
+
"Raleway Dots" => array(
|
2682 |
+
"regular",
|
2683 |
+
),
|
2684 |
+
"Ramabhadra" => array(
|
2685 |
+
"regular",
|
2686 |
+
),
|
2687 |
+
"Ramaraja" => array(
|
2688 |
+
"regular",
|
2689 |
+
),
|
2690 |
+
"Rambla" => array(
|
2691 |
+
"regular",
|
2692 |
+
"700",
|
2693 |
+
),
|
2694 |
+
"Rammetto One" => array(
|
2695 |
+
"regular",
|
2696 |
+
),
|
2697 |
+
"Ranchers" => array(
|
2698 |
+
"regular",
|
2699 |
+
),
|
2700 |
+
"Rancho" => array(
|
2701 |
+
"regular",
|
2702 |
+
),
|
2703 |
+
"Ranga" => array(
|
2704 |
+
"regular",
|
2705 |
+
"700",
|
2706 |
+
),
|
2707 |
+
"Rasa" => array(
|
2708 |
+
"300",
|
2709 |
+
"regular",
|
2710 |
+
"500",
|
2711 |
+
"600",
|
2712 |
+
"700",
|
2713 |
+
),
|
2714 |
+
"Rationale" => array(
|
2715 |
+
"regular",
|
2716 |
+
),
|
2717 |
+
"Ravi Prakash" => array(
|
2718 |
+
"regular",
|
2719 |
+
),
|
2720 |
+
"Redressed" => array(
|
2721 |
+
"regular",
|
2722 |
+
),
|
2723 |
+
"Reem Kufi" => array(
|
2724 |
+
"regular",
|
2725 |
+
),
|
2726 |
+
"Reenie Beanie" => array(
|
2727 |
+
"regular",
|
2728 |
+
),
|
2729 |
+
"Revalia" => array(
|
2730 |
+
"regular",
|
2731 |
+
),
|
2732 |
+
"Rhodium Libre" => array(
|
2733 |
+
"regular",
|
2734 |
+
),
|
2735 |
+
"Ribeye" => array(
|
2736 |
+
"regular",
|
2737 |
+
),
|
2738 |
+
"Ribeye Marrow" => array(
|
2739 |
+
"regular",
|
2740 |
+
),
|
2741 |
+
"Righteous" => array(
|
2742 |
+
"regular",
|
2743 |
+
),
|
2744 |
+
"Risque" => array(
|
2745 |
+
"regular",
|
2746 |
+
),
|
2747 |
+
"Roboto" => array(
|
2748 |
+
"100",
|
2749 |
+
"300",
|
2750 |
+
"regular",
|
2751 |
+
"500",
|
2752 |
+
"700",
|
2753 |
+
"900",
|
2754 |
+
),
|
2755 |
+
"Roboto Condensed" => array(
|
2756 |
+
"300",
|
2757 |
+
"regular",
|
2758 |
+
"700",
|
2759 |
+
),
|
2760 |
+
"Roboto Mono" => array(
|
2761 |
+
"100",
|
2762 |
+
"300",
|
2763 |
+
"regular",
|
2764 |
+
"500",
|
2765 |
+
"700",
|
2766 |
+
),
|
2767 |
+
"Roboto Slab" => array(
|
2768 |
+
"100",
|
2769 |
+
"300",
|
2770 |
+
"regular",
|
2771 |
+
"700",
|
2772 |
+
),
|
2773 |
+
"Rochester" => array(
|
2774 |
+
"regular",
|
2775 |
+
),
|
2776 |
+
"Rock Salt" => array(
|
2777 |
+
"regular",
|
2778 |
+
),
|
2779 |
+
"Rokkitt" => array(
|
2780 |
+
"regular",
|
2781 |
+
"700",
|
2782 |
+
),
|
2783 |
+
"Romanesco" => array(
|
2784 |
+
"regular",
|
2785 |
+
),
|
2786 |
+
"Ropa Sans" => array(
|
2787 |
+
"regular",
|
2788 |
+
),
|
2789 |
+
"Rosario" => array(
|
2790 |
+
"regular",
|
2791 |
+
"700",
|
2792 |
+
),
|
2793 |
+
"Rosarivo" => array(
|
2794 |
+
"regular",
|
2795 |
+
),
|
2796 |
+
"Rouge Script" => array(
|
2797 |
+
"regular",
|
2798 |
+
),
|
2799 |
+
"Rozha One" => array(
|
2800 |
+
"regular",
|
2801 |
+
),
|
2802 |
+
"Rubik" => array(
|
2803 |
+
"300",
|
2804 |
+
"regular",
|
2805 |
+
"500",
|
2806 |
+
"700",
|
2807 |
+
"900",
|
2808 |
+
),
|
2809 |
+
"Rubik Mono One" => array(
|
2810 |
+
"regular",
|
2811 |
+
),
|
2812 |
+
"Rubik One" => array(
|
2813 |
+
"regular",
|
2814 |
+
),
|
2815 |
+
"Ruda" => array(
|
2816 |
+
"regular",
|
2817 |
+
"700",
|
2818 |
+
"900",
|
2819 |
+
),
|
2820 |
+
"Rufina" => array(
|
2821 |
+
"regular",
|
2822 |
+
"700",
|
2823 |
+
),
|
2824 |
+
"Ruge Boogie" => array(
|
2825 |
+
"regular",
|
2826 |
+
),
|
2827 |
+
"Ruluko" => array(
|
2828 |
+
"regular",
|
2829 |
+
),
|
2830 |
+
"Rum Raisin" => array(
|
2831 |
+
"regular",
|
2832 |
+
),
|
2833 |
+
"Ruslan Display" => array(
|
2834 |
+
"regular",
|
2835 |
+
),
|
2836 |
+
"Russo One" => array(
|
2837 |
+
"regular",
|
2838 |
+
),
|
2839 |
+
"Ruthie" => array(
|
2840 |
+
"regular",
|
2841 |
+
),
|
2842 |
+
"Rye" => array(
|
2843 |
+
"regular",
|
2844 |
+
),
|
2845 |
+
"Sacramento" => array(
|
2846 |
+
"regular",
|
2847 |
+
),
|
2848 |
+
"Sahitya" => array(
|
2849 |
+
"regular",
|
2850 |
+
"700",
|
2851 |
+
),
|
2852 |
+
"Sail" => array(
|
2853 |
+
"regular",
|
2854 |
+
),
|
2855 |
+
"Salsa" => array(
|
2856 |
+
"regular",
|
2857 |
+
),
|
2858 |
+
"Sanchez" => array(
|
2859 |
+
"regular",
|
2860 |
+
),
|
2861 |
+
"Sancreek" => array(
|
2862 |
+
"regular",
|
2863 |
+
),
|
2864 |
+
"Sansita One" => array(
|
2865 |
+
"regular",
|
2866 |
+
),
|
2867 |
+
"Sarala" => array(
|
2868 |
+
"regular",
|
2869 |
+
"700",
|
2870 |
+
),
|
2871 |
+
"Sarina" => array(
|
2872 |
+
"regular",
|
2873 |
+
),
|
2874 |
+
"Sarpanch" => array(
|
2875 |
+
"regular",
|
2876 |
+
"500",
|
2877 |
+
"600",
|
2878 |
+
"700",
|
2879 |
+
"800",
|
2880 |
+
"900",
|
2881 |
+
),
|
2882 |
+
"Satisfy" => array(
|
2883 |
+
"regular",
|
2884 |
+
),
|
2885 |
+
"Scada" => array(
|
2886 |
+
"regular",
|
2887 |
+
"700",
|
2888 |
+
),
|
2889 |
+
"Scheherazade" => array(
|
2890 |
+
"regular",
|
2891 |
+
"700",
|
2892 |
+
),
|
2893 |
+
"Schoolbell" => array(
|
2894 |
+
"regular",
|
2895 |
+
),
|
2896 |
+
"Scope One" => array(
|
2897 |
+
"regular",
|
2898 |
+
),
|
2899 |
+
"Seaweed Script" => array(
|
2900 |
+
"regular",
|
2901 |
+
),
|
2902 |
+
"Secular One" => array(
|
2903 |
+
"regular",
|
2904 |
+
),
|
2905 |
+
"Sevillana" => array(
|
2906 |
+
"regular",
|
2907 |
+
),
|
2908 |
+
"Seymour One" => array(
|
2909 |
+
"regular",
|
2910 |
+
),
|
2911 |
+
"Shadows Into Light" => array(
|
2912 |
+
"regular",
|
2913 |
+
),
|
2914 |
+
"Shadows Into Light Two" => array(
|
2915 |
+
"regular",
|
2916 |
+
),
|
2917 |
+
"Shanti" => array(
|
2918 |
+
"regular",
|
2919 |
+
),
|
2920 |
+
"Share" => array(
|
2921 |
+
"regular",
|
2922 |
+
"700",
|
2923 |
+
),
|
2924 |
+
"Share Tech" => array(
|
2925 |
+
"regular",
|
2926 |
+
),
|
2927 |
+
"Share Tech Mono" => array(
|
2928 |
+
"regular",
|
2929 |
+
),
|
2930 |
+
"Shojumaru" => array(
|
2931 |
+
"regular",
|
2932 |
+
),
|
2933 |
+
"Short Stack" => array(
|
2934 |
+
"regular",
|
2935 |
+
),
|
2936 |
+
"Shrikhand" => array(
|
2937 |
+
"regular",
|
2938 |
+
),
|
2939 |
+
"Siemreap" => array(
|
2940 |
+
"regular",
|
2941 |
+
),
|
2942 |
+
"Sigmar One" => array(
|
2943 |
+
"regular",
|
2944 |
+
),
|
2945 |
+
"Signika" => array(
|
2946 |
+
"300",
|
2947 |
+
"regular",
|
2948 |
+
"600",
|
2949 |
+
"700",
|
2950 |
+
),
|
2951 |
+
"Signika Negative" => array(
|
2952 |
+
"300",
|
2953 |
+
"regular",
|
2954 |
+
"600",
|
2955 |
+
"700",
|
2956 |
+
),
|
2957 |
+
"Simonetta" => array(
|
2958 |
+
"regular",
|
2959 |
+
"900",
|
2960 |
+
),
|
2961 |
+
"Sintony" => array(
|
2962 |
+
"regular",
|
2963 |
+
"700",
|
2964 |
+
),
|
2965 |
+
"Sirin Stencil" => array(
|
2966 |
+
"regular",
|
2967 |
+
),
|
2968 |
+
"Six Caps" => array(
|
2969 |
+
"regular",
|
2970 |
+
),
|
2971 |
+
"Skranji" => array(
|
2972 |
+
"regular",
|
2973 |
+
"700",
|
2974 |
+
),
|
2975 |
+
"Slabo 13px" => array(
|
2976 |
+
"regular",
|
2977 |
+
),
|
2978 |
+
"Slabo 27px" => array(
|
2979 |
+
"regular",
|
2980 |
+
),
|
2981 |
+
"Slackey" => array(
|
2982 |
+
"regular",
|
2983 |
+
),
|
2984 |
+
"Smokum" => array(
|
2985 |
+
"regular",
|
2986 |
+
),
|
2987 |
+
"Smythe" => array(
|
2988 |
+
"regular",
|
2989 |
+
),
|
2990 |
+
"Sniglet" => array(
|
2991 |
+
"regular",
|
2992 |
+
"800",
|
2993 |
+
),
|
2994 |
+
"Snippet" => array(
|
2995 |
+
"regular",
|
2996 |
+
),
|
2997 |
+
"Snowburst One" => array(
|
2998 |
+
"regular",
|
2999 |
+
),
|
3000 |
+
"Sofadi One" => array(
|
3001 |
+
"regular",
|
3002 |
+
),
|
3003 |
+
"Sofia" => array(
|
3004 |
+
"regular",
|
3005 |
+
),
|
3006 |
+
"Sonsie One" => array(
|
3007 |
+
"regular",
|
3008 |
+
),
|
3009 |
+
"Sorts Mill Goudy" => array(
|
3010 |
+
"regular",
|
3011 |
+
),
|
3012 |
+
"Source Code Pro" => array(
|
3013 |
+
"200",
|
3014 |
+
"300",
|
3015 |
+
"regular",
|
3016 |
+
"500",
|
3017 |
+
"600",
|
3018 |
+
"700",
|
3019 |
+
"900",
|
3020 |
+
),
|
3021 |
+
"Source Sans Pro" => array(
|
3022 |
+
"200",
|
3023 |
+
"300",
|
3024 |
+
"regular",
|
3025 |
+
"600",
|
3026 |
+
"700",
|
3027 |
+
"900",
|
3028 |
+
),
|
3029 |
+
"Source Serif Pro" => array(
|
3030 |
+
"regular",
|
3031 |
+
"600",
|
3032 |
+
"700",
|
3033 |
+
),
|
3034 |
+
"Space Mono" => array(
|
3035 |
+
"regular",
|
3036 |
+
"700",
|
3037 |
+
),
|
3038 |
+
"Special Elite" => array(
|
3039 |
+
"regular",
|
3040 |
+
),
|
3041 |
+
"Spicy Rice" => array(
|
3042 |
+
"regular",
|
3043 |
+
),
|
3044 |
+
"Spinnaker" => array(
|
3045 |
+
"regular",
|
3046 |
+
),
|
3047 |
+
"Spirax" => array(
|
3048 |
+
"regular",
|
3049 |
+
),
|
3050 |
+
"Squada One" => array(
|
3051 |
+
"regular",
|
3052 |
+
),
|
3053 |
+
"Sree Krushnadevaraya" => array(
|
3054 |
+
"regular",
|
3055 |
+
),
|
3056 |
+
"Sriracha" => array(
|
3057 |
+
"regular",
|
3058 |
+
),
|
3059 |
+
"Stalemate" => array(
|
3060 |
+
"regular",
|
3061 |
+
),
|
3062 |
+
"Stalinist One" => array(
|
3063 |
+
"regular",
|
3064 |
+
),
|
3065 |
+
"Stardos Stencil" => array(
|
3066 |
+
"regular",
|
3067 |
+
"700",
|
3068 |
+
),
|
3069 |
+
"Stint Ultra Condensed" => array(
|
3070 |
+
"regular",
|
3071 |
+
),
|
3072 |
+
"Stint Ultra Expanded" => array(
|
3073 |
+
"regular",
|
3074 |
+
),
|
3075 |
+
"Stoke" => array(
|
3076 |
+
"300",
|
3077 |
+
"regular",
|
3078 |
+
),
|
3079 |
+
"Strait" => array(
|
3080 |
+
"regular",
|
3081 |
+
),
|
3082 |
+
"Sue Ellen Francisco" => array(
|
3083 |
+
"regular",
|
3084 |
+
),
|
3085 |
+
"Suez One" => array(
|
3086 |
+
"regular",
|
3087 |
+
),
|
3088 |
+
"Sumana" => array(
|
3089 |
+
"regular",
|
3090 |
+
"700",
|
3091 |
+
),
|
3092 |
+
"Sunshiney" => array(
|
3093 |
+
"regular",
|
3094 |
+
),
|
3095 |
+
"Supermercado One" => array(
|
3096 |
+
"regular",
|
3097 |
+
),
|
3098 |
+
"Sura" => array(
|
3099 |
+
"regular",
|
3100 |
+
"700",
|
3101 |
+
),
|
3102 |
+
"Suranna" => array(
|
3103 |
+
"regular",
|
3104 |
+
),
|
3105 |
+
"Suravaram" => array(
|
3106 |
+
"regular",
|
3107 |
+
),
|
3108 |
+
"Suwannaphum" => array(
|
3109 |
+
"regular",
|
3110 |
+
),
|
3111 |
+
"Swanky and Moo Moo" => array(
|
3112 |
+
"regular",
|
3113 |
+
),
|
3114 |
+
"Syncopate" => array(
|
3115 |
+
"regular",
|
3116 |
+
"700",
|
3117 |
+
),
|
3118 |
+
"Tangerine" => array(
|
3119 |
+
"regular",
|
3120 |
+
"700",
|
3121 |
+
),
|
3122 |
+
"Taprom" => array(
|
3123 |
+
"regular",
|
3124 |
+
),
|
3125 |
+
"Tauri" => array(
|
3126 |
+
"regular",
|
3127 |
+
),
|
3128 |
+
"Taviraj" => array(
|
3129 |
+
"100",
|
3130 |
+
"200",
|
3131 |
+
"300",
|
3132 |
+
"regular",
|
3133 |
+
"500",
|
3134 |
+
"600",
|
3135 |
+
"700",
|
3136 |
+
"800",
|
3137 |
+
"900",
|
3138 |
+
),
|
3139 |
+
"Teko" => array(
|
3140 |
+
"300",
|
3141 |
+
"regular",
|
3142 |
+
"500",
|
3143 |
+
"600",
|
3144 |
+
"700",
|
3145 |
+
),
|
3146 |
+
"Telex" => array(
|
3147 |
+
"regular",
|
3148 |
+
),
|
3149 |
+
"Tenali Ramakrishna" => array(
|
3150 |
+
"regular",
|
3151 |
+
),
|
3152 |
+
"Tenor Sans" => array(
|
3153 |
+
"regular",
|
3154 |
+
),
|
3155 |
+
"Text Me One" => array(
|
3156 |
+
"regular",
|
3157 |
+
),
|
3158 |
+
"The Girl Next Door" => array(
|
3159 |
+
"regular",
|
3160 |
+
),
|
3161 |
+
"Tienne" => array(
|
3162 |
+
"regular",
|
3163 |
+
"700",
|
3164 |
+
"900",
|
3165 |
+
),
|
3166 |
+
"Tillana" => array(
|
3167 |
+
"regular",
|
3168 |
+
"500",
|
3169 |
+
"600",
|
3170 |
+
"700",
|
3171 |
+
"800",
|
3172 |
+
),
|
3173 |
+
"Timmana" => array(
|
3174 |
+
"regular",
|
3175 |
+
),
|
3176 |
+
"Tinos" => array(
|
3177 |
+
"regular",
|
3178 |
+
"700",
|
3179 |
+
),
|
3180 |
+
"Titan One" => array(
|
3181 |
+
"regular",
|
3182 |
+
),
|
3183 |
+
"Titillium Web" => array(
|
3184 |
+
"200",
|
3185 |
+
"300",
|
3186 |
+
"regular",
|
3187 |
+
"600",
|
3188 |
+
"700",
|
3189 |
+
"900",
|
3190 |
+
),
|
3191 |
+
"Trade Winds" => array(
|
3192 |
+
"regular",
|
3193 |
+
),
|
3194 |
+
"Trirong" => array(
|
3195 |
+
"100",
|
3196 |
+
"200",
|
3197 |
+
"300",
|
3198 |
+
"regular",
|
3199 |
+
"500",
|
3200 |
+
"600",
|
3201 |
+
"700",
|
3202 |
+
"800",
|
3203 |
+
"900",
|
3204 |
+
),
|
3205 |
+
"Trocchi" => array(
|
3206 |
+
"regular",
|
3207 |
+
),
|
3208 |
+
"Trochut" => array(
|
3209 |
+
"regular",
|
3210 |
+
"700",
|
3211 |
+
),
|
3212 |
+
"Trykker" => array(
|
3213 |
+
"regular",
|
3214 |
+
),
|
3215 |
+
"Tulpen One" => array(
|
3216 |
+
"regular",
|
3217 |
+
),
|
3218 |
+
"Ubuntu" => array(
|
3219 |
+
"300",
|
3220 |
+
"regular",
|
3221 |
+
"500",
|
3222 |
+
"700",
|
3223 |
+
),
|
3224 |
+
"Ubuntu Condensed" => array(
|
3225 |
+
"regular",
|
3226 |
+
),
|
3227 |
+
"Ubuntu Mono" => array(
|
3228 |
+
"regular",
|
3229 |
+
"700",
|
3230 |
+
),
|
3231 |
+
"Ultra" => array(
|
3232 |
+
"regular",
|
3233 |
+
),
|
3234 |
+
"Uncial Antiqua" => array(
|
3235 |
+
"regular",
|
3236 |
+
),
|
3237 |
+
"Underdog" => array(
|
3238 |
+
"regular",
|
3239 |
+
),
|
3240 |
+
"Unica One" => array(
|
3241 |
+
"regular",
|
3242 |
+
),
|
3243 |
+
"UnifrakturCook" => array(
|
3244 |
+
"700",
|
3245 |
+
),
|
3246 |
+
"UnifrakturMaguntia" => array(
|
3247 |
+
"regular",
|
3248 |
+
),
|
3249 |
+
"Unkempt" => array(
|
3250 |
+
"regular",
|
3251 |
+
"700",
|
3252 |
+
),
|
3253 |
+
"Unlock" => array(
|
3254 |
+
"regular",
|
3255 |
+
),
|
3256 |
+
"Unna" => array(
|
3257 |
+
"regular",
|
3258 |
+
),
|
3259 |
+
"VT323" => array(
|
3260 |
+
"regular",
|
3261 |
+
),
|
3262 |
+
"Vampiro One" => array(
|
3263 |
+
"regular",
|
3264 |
+
),
|
3265 |
+
"Varela" => array(
|
3266 |
+
"regular",
|
3267 |
+
),
|
3268 |
+
"Varela Round" => array(
|
3269 |
+
"regular",
|
3270 |
+
),
|
3271 |
+
"Vast Shadow" => array(
|
3272 |
+
"regular",
|
3273 |
+
),
|
3274 |
+
"Vesper Libre" => array(
|
3275 |
+
"regular",
|
3276 |
+
"500",
|
3277 |
+
"700",
|
3278 |
+
"900",
|
3279 |
+
),
|
3280 |
+
"Vibur" => array(
|
3281 |
+
"regular",
|
3282 |
+
),
|
3283 |
+
"Vidaloka" => array(
|
3284 |
+
"regular",
|
3285 |
+
),
|
3286 |
+
"Viga" => array(
|
3287 |
+
"regular",
|
3288 |
+
),
|
3289 |
+
"Voces" => array(
|
3290 |
+
"regular",
|
3291 |
+
),
|
3292 |
+
"Volkhov" => array(
|
3293 |
+
"regular",
|
3294 |
+
"700",
|
3295 |
+
),
|
3296 |
+
"Vollkorn" => array(
|
3297 |
+
"regular",
|
3298 |
+
"700",
|
3299 |
+
),
|
3300 |
+
"Voltaire" => array(
|
3301 |
+
"regular",
|
3302 |
+
),
|
3303 |
+
"Waiting for the Sunrise" => array(
|
3304 |
+
"regular",
|
3305 |
+
),
|
3306 |
+
"Wallpoet" => array(
|
3307 |
+
"regular",
|
3308 |
+
),
|
3309 |
+
"Walter Turncoat" => array(
|
3310 |
+
"regular",
|
3311 |
+
),
|
3312 |
+
"Warnes" => array(
|
3313 |
+
"regular",
|
3314 |
+
),
|
3315 |
+
"Wellfleet" => array(
|
3316 |
+
"regular",
|
3317 |
+
),
|
3318 |
+
"Wendy One" => array(
|
3319 |
+
"regular",
|
3320 |
+
),
|
3321 |
+
"Wire One" => array(
|
3322 |
+
"regular",
|
3323 |
+
),
|
3324 |
+
"Work Sans" => array(
|
3325 |
+
"100",
|
3326 |
+
"200",
|
3327 |
+
"300",
|
3328 |
+
"regular",
|
3329 |
+
"500",
|
3330 |
+
"600",
|
3331 |
+
"700",
|
3332 |
+
"800",
|
3333 |
+
"900",
|
3334 |
+
),
|
3335 |
+
"Yanone Kaffeesatz" => array(
|
3336 |
+
"200",
|
3337 |
+
"300",
|
3338 |
+
"regular",
|
3339 |
+
"700",
|
3340 |
+
),
|
3341 |
+
"Yantramanav" => array(
|
3342 |
+
"100",
|
3343 |
+
"300",
|
3344 |
+
"regular",
|
3345 |
+
"500",
|
3346 |
+
"700",
|
3347 |
+
"900",
|
3348 |
+
),
|
3349 |
+
"Yatra One" => array(
|
3350 |
+
"regular",
|
3351 |
+
),
|
3352 |
+
"Yellowtail" => array(
|
3353 |
+
"regular",
|
3354 |
+
),
|
3355 |
+
"Yeseva One" => array(
|
3356 |
+
"regular",
|
3357 |
+
),
|
3358 |
+
"Yesteryear" => array(
|
3359 |
+
"regular",
|
3360 |
+
),
|
3361 |
+
"Yrsa" => array(
|
3362 |
+
"300",
|
3363 |
+
"regular",
|
3364 |
+
"500",
|
3365 |
+
"600",
|
3366 |
+
"700",
|
3367 |
+
),
|
3368 |
+
"Zeyada" => array(
|
3369 |
+
"regular",
|
3370 |
+
),
|
3371 |
);
|
3372 |
}
|
classes/class-fl-builder-icons.php
CHANGED
@@ -7,53 +7,53 @@
|
|
7 |
*/
|
8 |
|
9 |
final class FLBuilderIcons {
|
10 |
-
|
11 |
/**
|
12 |
* An array of data for each icon set.
|
13 |
*
|
14 |
* @since 1.4.6
|
15 |
* @access private
|
16 |
* @var array $sets
|
17 |
-
*/
|
18 |
static private $sets = null;
|
19 |
-
|
20 |
/**
|
21 |
* Gets an array of data for core and custom icon sets.
|
22 |
*
|
23 |
* @since 1.4.6
|
24 |
* @return array An array of data for each icon set.
|
25 |
-
*/
|
26 |
static public function get_sets()
|
27 |
{
|
28 |
// Return the sets if already registered.
|
29 |
if ( self::$sets ) {
|
30 |
return self::$sets;
|
31 |
}
|
32 |
-
|
33 |
// Check to see if we should pull sets from the main site.
|
34 |
if ( is_multisite()) {
|
35 |
-
|
36 |
$blog_id = defined( 'BLOG_ID_CURRENT_SITE' ) ? BLOG_ID_CURRENT_SITE : 1;
|
37 |
$enabled_icons = get_option( '_fl_builder_enabled_icons' );
|
38 |
-
|
39 |
if ( empty( $enabled_icons ) ) {
|
40 |
switch_to_blog( $blog_id );
|
41 |
}
|
42 |
}
|
43 |
-
|
44 |
// Register the icon sets.
|
45 |
self::register_custom_sets();
|
46 |
self::register_core_sets();
|
47 |
-
|
48 |
// Revert to the current site if we pulled from the main site.
|
49 |
if ( is_multisite() && empty( $enabled_icons ) ) {
|
50 |
restore_current_blog();
|
51 |
}
|
52 |
-
|
53 |
// Return the sets.
|
54 |
return self::$sets;
|
55 |
}
|
56 |
-
|
57 |
/**
|
58 |
* Gets an array of data for icon sets of the current
|
59 |
* site on a multisite install.
|
@@ -66,24 +66,24 @@ final class FLBuilderIcons {
|
|
66 |
if ( ! is_multisite() ) {
|
67 |
return self::get_sets();
|
68 |
}
|
69 |
-
|
70 |
// Store the original sets.
|
71 |
$original_sets = self::$sets;
|
72 |
-
|
73 |
// Register the icon sets.
|
74 |
self::register_custom_sets();
|
75 |
self::register_core_sets();
|
76 |
-
|
77 |
// Get the new sets.
|
78 |
$sets = self::$sets;
|
79 |
-
|
80 |
// Revert to the original sets.
|
81 |
self::$sets = $original_sets;
|
82 |
-
|
83 |
// Return the sets.
|
84 |
return $sets;
|
85 |
}
|
86 |
-
|
87 |
/**
|
88 |
* Remove an icon set from the internal sets array.
|
89 |
*
|
@@ -97,7 +97,7 @@ final class FLBuilderIcons {
|
|
97 |
unset( self::$sets[ $key ] );
|
98 |
}
|
99 |
}
|
100 |
-
|
101 |
/**
|
102 |
* Get the key for an icon set from the path to an icon set stylesheet.
|
103 |
*
|
@@ -108,7 +108,7 @@ final class FLBuilderIcons {
|
|
108 |
static public function get_key_from_path( $path )
|
109 |
{
|
110 |
$sets = self::get_sets();
|
111 |
-
|
112 |
foreach ( $sets as $key => $set ) {
|
113 |
if ( $path == $set['path'] ) {
|
114 |
return $key;
|
@@ -126,7 +126,7 @@ final class FLBuilderIcons {
|
|
126 |
static private function register_core_sets()
|
127 |
{
|
128 |
$enabled_icons = FLBuilderModel::get_enabled_icons();
|
129 |
-
$core_sets = array(
|
130 |
'font-awesome' => array(
|
131 |
'name' => 'Font Awesome',
|
132 |
'prefix' => 'fa'
|
@@ -139,9 +139,9 @@ final class FLBuilderIcons {
|
|
139 |
'name' => 'WordPress Dashicons',
|
140 |
'prefix' => 'dashicons dashicons-before'
|
141 |
)
|
142 |
-
);
|
143 |
-
|
144 |
-
// Add the core sets.
|
145 |
foreach ( $core_sets as $set_key => $set_data ) {
|
146 |
if ( is_admin() || in_array( $set_key, $enabled_icons ) ) {
|
147 |
self::$sets[ $set_key ] = array(
|
@@ -151,7 +151,7 @@ final class FLBuilderIcons {
|
|
151 |
);
|
152 |
}
|
153 |
}
|
154 |
-
|
155 |
// Loop through core sets and add icons.
|
156 |
foreach ( self::$sets as $set_key => $set_data ) {
|
157 |
if ( 'core' == $set_data['type'] ) {
|
@@ -174,33 +174,33 @@ final class FLBuilderIcons {
|
|
174 |
$enabled_icons = FLBuilderModel::get_enabled_icons();
|
175 |
$upload_info = FLBuilderModel::get_cache_dir( 'icons' );
|
176 |
$folders = glob( $upload_info['path'] . '*' );
|
177 |
-
|
178 |
// Make sure we have an array.
|
179 |
if( ! is_array( $folders ) ) {
|
180 |
return;
|
181 |
}
|
182 |
-
|
183 |
// Loop through uploaded sets.
|
184 |
foreach ( $folders as $folder ) {
|
185 |
-
|
186 |
// Make sure we have a directory.
|
187 |
if ( ! is_dir( $folder ) ) {
|
188 |
continue;
|
189 |
}
|
190 |
-
|
191 |
$folder = trailingslashit( $folder );
|
192 |
-
|
193 |
// This is an Icomoon font.
|
194 |
if ( file_exists( $folder . 'selection.json' ) ) {
|
195 |
-
|
196 |
$data = json_decode( file_get_contents( $folder . 'selection.json' ) );
|
197 |
$key = basename( $folder );
|
198 |
$url = str_ireplace( $upload_info['path'], $upload_info['url'], $folder );
|
199 |
-
|
200 |
if ( isset( $data->icons ) ) {
|
201 |
-
|
202 |
if ( is_admin() || in_array( $key, $enabled_icons ) ) {
|
203 |
-
|
204 |
self::$sets[ $key ] = array(
|
205 |
'name' => $data->metadata->name,
|
206 |
'prefix' => '',
|
@@ -210,33 +210,33 @@ final class FLBuilderIcons {
|
|
210 |
'stylesheet' => $url . 'style.css',
|
211 |
'icons' => array()
|
212 |
);
|
213 |
-
|
214 |
foreach ( $data->icons as $icon ) {
|
215 |
-
|
216 |
$prefs = $data->preferences->fontPref;
|
217 |
$postfix = isset( $prefs->postfix ) ? $prefs->postfix : '';
|
218 |
-
|
219 |
if ( isset( $prefs->selector ) && 'class' == $prefs->selector ) {
|
220 |
$selector = trim( str_replace( '.', ' ', $prefs->classSelector ) ) . ' ';
|
221 |
}
|
222 |
else {
|
223 |
$selector = '';
|
224 |
}
|
225 |
-
|
226 |
self::$sets[ $key ]['icons'][] = $selector . $prefs->prefix . $icon->properties->name . $postfix;
|
227 |
}
|
228 |
}
|
229 |
-
}
|
230 |
}
|
231 |
// This is a Fontello font.
|
232 |
else if ( file_exists( $folder . 'config.json' ) ) {
|
233 |
-
|
234 |
$data = json_decode( file_get_contents( $folder . 'config.json' ) );
|
235 |
$key = basename( $folder );
|
236 |
$name = empty( $data->name ) ? 'Fontello' : $data->name;
|
237 |
$url = str_ireplace( $upload_info['path'], $upload_info['url'], $folder );
|
238 |
$style = empty( $data->name ) ? 'fontello' : $data->name;
|
239 |
-
|
240 |
// Append the date to the name?
|
241 |
if ( empty( $data->name ) ) {
|
242 |
$time = str_replace( 'icon-', '', $key );
|
@@ -245,11 +245,11 @@ final class FLBuilderIcons {
|
|
245 |
$date = date( $date_format . ' ' . $time_format );
|
246 |
$name .= ' (' . $date . ')';
|
247 |
}
|
248 |
-
|
249 |
if ( isset( $data->glyphs ) ) {
|
250 |
-
|
251 |
if ( is_admin() || in_array( $key, $enabled_icons ) ) {
|
252 |
-
|
253 |
self::$sets[ $key ] = array(
|
254 |
'name' => $name,
|
255 |
'prefix' => '',
|
@@ -259,7 +259,7 @@ final class FLBuilderIcons {
|
|
259 |
'stylesheet' => $url . 'css/' . $style . '.css',
|
260 |
'icons' => array()
|
261 |
);
|
262 |
-
|
263 |
foreach ( $data->glyphs as $icon ) {
|
264 |
if ( $data->css_use_suffix ) {
|
265 |
self::$sets[ $key ]['icons'][] = $icon->css . $data->css_prefix_text;
|
@@ -283,14 +283,14 @@ final class FLBuilderIcons {
|
|
283 |
static public function enqueue_all_custom_icons_styles()
|
284 |
{
|
285 |
$sets = self::get_sets();
|
286 |
-
|
287 |
foreach ( $sets as $key => $data ) {
|
288 |
-
|
289 |
// Don't enqueue core icons.
|
290 |
if ( 'core' == $data['type'] ) {
|
291 |
continue;
|
292 |
}
|
293 |
-
|
294 |
// Enqueue the custom icon styles.
|
295 |
self::enqueue_custom_styles_by_key( $key );
|
296 |
}
|
@@ -306,7 +306,7 @@ final class FLBuilderIcons {
|
|
306 |
static public function enqueue_styles_for_module( $module )
|
307 |
{
|
308 |
$fields = FLBuilderModel::get_settings_form_fields( $module->form );
|
309 |
-
|
310 |
foreach ( $fields as $name => $field ) {
|
311 |
if ( isset( $field['form'] ) ) {
|
312 |
$form = FLBuilderModel::$settings_forms[ $field['form'] ];
|
@@ -331,7 +331,7 @@ final class FLBuilderIcons {
|
|
331 |
static private function enqueue_styles_for_nested_module_form( $module, $form, $setting )
|
332 |
{
|
333 |
$fields = FLBuilderModel::get_settings_form_fields( $form );
|
334 |
-
|
335 |
foreach ( $fields as $name => $field ) {
|
336 |
if ( $field['type'] == 'icon' && ! empty( $module->settings->$setting ) ) {
|
337 |
foreach ( $module->settings->$setting as $key => $val ) {
|
@@ -356,7 +356,9 @@ final class FLBuilderIcons {
|
|
356 |
*/
|
357 |
static private function enqueue_styles_for_icon( $icon )
|
358 |
{
|
359 |
-
|
|
|
|
|
360 |
if ( stristr( $icon, 'fa-' ) ) {
|
361 |
wp_enqueue_style( 'font-awesome' );
|
362 |
}
|
@@ -368,9 +370,9 @@ final class FLBuilderIcons {
|
|
368 |
}
|
369 |
// It must be a custom icon.
|
370 |
else {
|
371 |
-
|
372 |
$sets = self::get_sets();
|
373 |
-
|
374 |
foreach ( $sets as $key => $data ) {
|
375 |
if ( in_array( $icon, $data['icons'] ) ) {
|
376 |
self::enqueue_custom_styles_by_key( $key );
|
@@ -389,17 +391,19 @@ final class FLBuilderIcons {
|
|
389 |
*/
|
390 |
static private function enqueue_custom_styles_by_key( $key )
|
391 |
{
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
|
|
|
|
403 |
}
|
404 |
}
|
405 |
}
|
7 |
*/
|
8 |
|
9 |
final class FLBuilderIcons {
|
10 |
+
|
11 |
/**
|
12 |
* An array of data for each icon set.
|
13 |
*
|
14 |
* @since 1.4.6
|
15 |
* @access private
|
16 |
* @var array $sets
|
17 |
+
*/
|
18 |
static private $sets = null;
|
19 |
+
|
20 |
/**
|
21 |
* Gets an array of data for core and custom icon sets.
|
22 |
*
|
23 |
* @since 1.4.6
|
24 |
* @return array An array of data for each icon set.
|
25 |
+
*/
|
26 |
static public function get_sets()
|
27 |
{
|
28 |
// Return the sets if already registered.
|
29 |
if ( self::$sets ) {
|
30 |
return self::$sets;
|
31 |
}
|
32 |
+
|
33 |
// Check to see if we should pull sets from the main site.
|
34 |
if ( is_multisite()) {
|
35 |
+
|
36 |
$blog_id = defined( 'BLOG_ID_CURRENT_SITE' ) ? BLOG_ID_CURRENT_SITE : 1;
|
37 |
$enabled_icons = get_option( '_fl_builder_enabled_icons' );
|
38 |
+
|
39 |
if ( empty( $enabled_icons ) ) {
|
40 |
switch_to_blog( $blog_id );
|
41 |
}
|
42 |
}
|
43 |
+
|
44 |
// Register the icon sets.
|
45 |
self::register_custom_sets();
|
46 |
self::register_core_sets();
|
47 |
+
|
48 |
// Revert to the current site if we pulled from the main site.
|
49 |
if ( is_multisite() && empty( $enabled_icons ) ) {
|
50 |
restore_current_blog();
|
51 |
}
|
52 |
+
|
53 |
// Return the sets.
|
54 |
return self::$sets;
|
55 |
}
|
56 |
+
|
57 |
/**
|
58 |
* Gets an array of data for icon sets of the current
|
59 |
* site on a multisite install.
|
66 |
if ( ! is_multisite() ) {
|
67 |
return self::get_sets();
|
68 |
}
|
69 |
+
|
70 |
// Store the original sets.
|
71 |
$original_sets = self::$sets;
|
72 |
+
|
73 |
// Register the icon sets.
|
74 |
self::register_custom_sets();
|
75 |
self::register_core_sets();
|
76 |
+
|
77 |
// Get the new sets.
|
78 |
$sets = self::$sets;
|
79 |
+
|
80 |
// Revert to the original sets.
|
81 |
self::$sets = $original_sets;
|
82 |
+
|
83 |
// Return the sets.
|
84 |
return $sets;
|
85 |
}
|
86 |
+
|
87 |
/**
|
88 |
* Remove an icon set from the internal sets array.
|
89 |
*
|
97 |
unset( self::$sets[ $key ] );
|
98 |
}
|
99 |
}
|
100 |
+
|
101 |
/**
|
102 |
* Get the key for an icon set from the path to an icon set stylesheet.
|
103 |
*
|
108 |
static public function get_key_from_path( $path )
|
109 |
{
|
110 |
$sets = self::get_sets();
|
111 |
+
|
112 |
foreach ( $sets as $key => $set ) {
|
113 |
if ( $path == $set['path'] ) {
|
114 |
return $key;
|
126 |
static private function register_core_sets()
|
127 |
{
|
128 |
$enabled_icons = FLBuilderModel::get_enabled_icons();
|
129 |
+
$core_sets = apply_filters( 'fl_builder_core_icon_sets', array(
|
130 |
'font-awesome' => array(
|
131 |
'name' => 'Font Awesome',
|
132 |
'prefix' => 'fa'
|
139 |
'name' => 'WordPress Dashicons',
|
140 |
'prefix' => 'dashicons dashicons-before'
|
141 |
)
|
142 |
+
) );
|
143 |
+
|
144 |
+
// Add the core sets.
|
145 |
foreach ( $core_sets as $set_key => $set_data ) {
|
146 |
if ( is_admin() || in_array( $set_key, $enabled_icons ) ) {
|
147 |
self::$sets[ $set_key ] = array(
|
151 |
);
|
152 |
}
|
153 |
}
|
154 |
+
|
155 |
// Loop through core sets and add icons.
|
156 |
foreach ( self::$sets as $set_key => $set_data ) {
|
157 |
if ( 'core' == $set_data['type'] ) {
|
174 |
$enabled_icons = FLBuilderModel::get_enabled_icons();
|
175 |
$upload_info = FLBuilderModel::get_cache_dir( 'icons' );
|
176 |
$folders = glob( $upload_info['path'] . '*' );
|
177 |
+
|
178 |
// Make sure we have an array.
|
179 |
if( ! is_array( $folders ) ) {
|
180 |
return;
|
181 |
}
|
182 |
+
|
183 |
// Loop through uploaded sets.
|
184 |
foreach ( $folders as $folder ) {
|
185 |
+
|
186 |
// Make sure we have a directory.
|
187 |
if ( ! is_dir( $folder ) ) {
|
188 |
continue;
|
189 |
}
|
190 |
+
|
191 |
$folder = trailingslashit( $folder );
|
192 |
+
|
193 |
// This is an Icomoon font.
|
194 |
if ( file_exists( $folder . 'selection.json' ) ) {
|
195 |
+
|
196 |
$data = json_decode( file_get_contents( $folder . 'selection.json' ) );
|
197 |
$key = basename( $folder );
|
198 |
$url = str_ireplace( $upload_info['path'], $upload_info['url'], $folder );
|
199 |
+
|
200 |
if ( isset( $data->icons ) ) {
|
201 |
+
|
202 |
if ( is_admin() || in_array( $key, $enabled_icons ) ) {
|
203 |
+
|
204 |
self::$sets[ $key ] = array(
|
205 |
'name' => $data->metadata->name,
|
206 |
'prefix' => '',
|
210 |
'stylesheet' => $url . 'style.css',
|
211 |
'icons' => array()
|
212 |
);
|
213 |
+
|
214 |
foreach ( $data->icons as $icon ) {
|
215 |
+
|
216 |
$prefs = $data->preferences->fontPref;
|
217 |
$postfix = isset( $prefs->postfix ) ? $prefs->postfix : '';
|
218 |
+
|
219 |
if ( isset( $prefs->selector ) && 'class' == $prefs->selector ) {
|
220 |
$selector = trim( str_replace( '.', ' ', $prefs->classSelector ) ) . ' ';
|
221 |
}
|
222 |
else {
|
223 |
$selector = '';
|
224 |
}
|
225 |
+
|
226 |
self::$sets[ $key ]['icons'][] = $selector . $prefs->prefix . $icon->properties->name . $postfix;
|
227 |
}
|
228 |
}
|
229 |
+
}
|
230 |
}
|
231 |
// This is a Fontello font.
|
232 |
else if ( file_exists( $folder . 'config.json' ) ) {
|
233 |
+
|
234 |
$data = json_decode( file_get_contents( $folder . 'config.json' ) );
|
235 |
$key = basename( $folder );
|
236 |
$name = empty( $data->name ) ? 'Fontello' : $data->name;
|
237 |
$url = str_ireplace( $upload_info['path'], $upload_info['url'], $folder );
|
238 |
$style = empty( $data->name ) ? 'fontello' : $data->name;
|
239 |
+
|
240 |
// Append the date to the name?
|
241 |
if ( empty( $data->name ) ) {
|
242 |
$time = str_replace( 'icon-', '', $key );
|
245 |
$date = date( $date_format . ' ' . $time_format );
|
246 |
$name .= ' (' . $date . ')';
|
247 |
}
|
248 |
+
|
249 |
if ( isset( $data->glyphs ) ) {
|
250 |
+
|
251 |
if ( is_admin() || in_array( $key, $enabled_icons ) ) {
|
252 |
+
|
253 |
self::$sets[ $key ] = array(
|
254 |
'name' => $name,
|
255 |
'prefix' => '',
|
259 |
'stylesheet' => $url . 'css/' . $style . '.css',
|
260 |
'icons' => array()
|
261 |
);
|
262 |
+
|
263 |
foreach ( $data->glyphs as $icon ) {
|
264 |
if ( $data->css_use_suffix ) {
|
265 |
self::$sets[ $key ]['icons'][] = $icon->css . $data->css_prefix_text;
|
283 |
static public function enqueue_all_custom_icons_styles()
|
284 |
{
|
285 |
$sets = self::get_sets();
|
286 |
+
|
287 |
foreach ( $sets as $key => $data ) {
|
288 |
+
|
289 |
// Don't enqueue core icons.
|
290 |
if ( 'core' == $data['type'] ) {
|
291 |
continue;
|
292 |
}
|
293 |
+
|
294 |
// Enqueue the custom icon styles.
|
295 |
self::enqueue_custom_styles_by_key( $key );
|
296 |
}
|
306 |
static public function enqueue_styles_for_module( $module )
|
307 |
{
|
308 |
$fields = FLBuilderModel::get_settings_form_fields( $module->form );
|
309 |
+
|
310 |
foreach ( $fields as $name => $field ) {
|
311 |
if ( isset( $field['form'] ) ) {
|
312 |
$form = FLBuilderModel::$settings_forms[ $field['form'] ];
|
331 |
static private function enqueue_styles_for_nested_module_form( $module, $form, $setting )
|
332 |
{
|
333 |
$fields = FLBuilderModel::get_settings_form_fields( $form );
|
334 |
+
|
335 |
foreach ( $fields as $name => $field ) {
|
336 |
if ( $field['type'] == 'icon' && ! empty( $module->settings->$setting ) ) {
|
337 |
foreach ( $module->settings->$setting as $key => $val ) {
|
356 |
*/
|
357 |
static private function enqueue_styles_for_icon( $icon )
|
358 |
{
|
359 |
+
do_action( 'fl_builder_enqueue_styles_for_icon', $icon );
|
360 |
+
|
361 |
+
// Is this a core icon?
|
362 |
if ( stristr( $icon, 'fa-' ) ) {
|
363 |
wp_enqueue_style( 'font-awesome' );
|
364 |
}
|
370 |
}
|
371 |
// It must be a custom icon.
|
372 |
else {
|
373 |
+
|
374 |
$sets = self::get_sets();
|
375 |
+
|
376 |
foreach ( $sets as $key => $data ) {
|
377 |
if ( in_array( $icon, $data['icons'] ) ) {
|
378 |
self::enqueue_custom_styles_by_key( $key );
|
391 |
*/
|
392 |
static private function enqueue_custom_styles_by_key( $key )
|
393 |
{
|
394 |
+
if ( apply_filters( 'fl_builder_enqueue_custom_styles_by_key', true, $key ) ) {
|
395 |
+
$sets = self::get_sets();
|
396 |
+
|
397 |
+
if ( isset( $sets[ $key ] ) ) {
|
398 |
+
|
399 |
+
$set = $sets[ $key ];
|
400 |
+
|
401 |
+
if ( 'icomoon' == $set['type'] ) {
|
402 |
+
wp_enqueue_style( $key, $set['stylesheet'], array(), FL_BUILDER_VERSION );
|
403 |
+
}
|
404 |
+
if ( 'fontello' == $set['type'] ) {
|
405 |
+
wp_enqueue_style( $key, $set['stylesheet'], array(), FL_BUILDER_VERSION );
|
406 |
+
}
|
407 |
}
|
408 |
}
|
409 |
}
|
classes/class-fl-builder-loader.php
CHANGED
@@ -45,7 +45,7 @@ if ( ! class_exists( 'FLBuilderLoader' ) ) {
|
|
45 |
*/
|
46 |
static private function define_constants()
|
47 |
{
|
48 |
-
define('FL_BUILDER_VERSION', '1.
|
49 |
define('FL_BUILDER_FILE', trailingslashit(dirname(dirname(__FILE__))) . 'fl-builder.php');
|
50 |
define('FL_BUILDER_DIR', plugin_dir_path(FL_BUILDER_FILE));
|
51 |
define('FL_BUILDER_URL', plugins_url('/', FL_BUILDER_FILE));
|
45 |
*/
|
46 |
static private function define_constants()
|
47 |
{
|
48 |
+
define('FL_BUILDER_VERSION', '1.9.1');
|
49 |
define('FL_BUILDER_FILE', trailingslashit(dirname(dirname(__FILE__))) . 'fl-builder.php');
|
50 |
define('FL_BUILDER_DIR', plugin_dir_path(FL_BUILDER_FILE));
|
51 |
define('FL_BUILDER_URL', plugins_url('/', FL_BUILDER_FILE));
|
classes/class-fl-builder-model.php
CHANGED
@@ -51,6 +51,14 @@ final class FLBuilderModel {
|
|
51 |
*/
|
52 |
static public $modules = array();
|
53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
/**
|
55 |
* The last node id that was generated by the builder.
|
56 |
* This is saved to ensure the next node id is unique.
|
@@ -887,9 +895,10 @@ final class FLBuilderModel {
|
|
887 |
$nodes[ $node_id ] = $node;
|
888 |
}
|
889 |
}
|
890 |
-
|
891 |
-
uasort( $nodes, array( 'FLBuilderModel', 'order_nodes' ) );
|
892 |
}
|
|
|
|
|
|
|
893 |
|
894 |
// Merge default settings.
|
895 |
foreach ( $nodes as $node_id => $node ) {
|
@@ -903,6 +912,136 @@ final class FLBuilderModel {
|
|
903 |
return $nodes;
|
904 |
}
|
905 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
906 |
/**
|
907 |
* Returns an array of child nodes for a parent.
|
908 |
*
|
@@ -997,10 +1136,33 @@ final class FLBuilderModel {
|
|
997 |
foreach ( $cols as $col ) {
|
998 |
|
999 |
$nodes['columns'][ $col->node ] = $col;
|
1000 |
-
$
|
1001 |
|
1002 |
-
foreach ( $
|
1003 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1004 |
}
|
1005 |
}
|
1006 |
}
|
@@ -1240,15 +1402,17 @@ final class FLBuilderModel {
|
|
1240 |
* @since 1.0
|
1241 |
* @param string $node_id A node ID.
|
1242 |
* @param int $position The new position.
|
|
|
1243 |
* @return void
|
1244 |
*/
|
1245 |
static public function reorder_node($node_id = null, $position = 0)
|
1246 |
{
|
1247 |
$data = self::get_layout_data();
|
1248 |
$node = $data[$node_id];
|
1249 |
-
$
|
|
|
1250 |
$new_pos = 0;
|
1251 |
-
|
1252 |
// Make sure node positions start at zero.
|
1253 |
foreach($nodes as $node) {
|
1254 |
$data[$node->node]->position = $new_pos;
|
@@ -1287,9 +1451,20 @@ final class FLBuilderModel {
|
|
1287 |
$data = self::get_layout_data();
|
1288 |
$new_parent = self::get_node($new_parent_id);
|
1289 |
$node = self::get_node($node_id);
|
|
|
|
|
1290 |
|
1291 |
// Set the node's new parent.
|
1292 |
-
$data[$node_id]->parent = $new_parent->node;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1293 |
|
1294 |
// Update the layout data.
|
1295 |
self::update_layout_data($data);
|
@@ -1372,15 +1547,30 @@ final class FLBuilderModel {
|
|
1372 |
|
1373 |
$new_nodes[ $col->node ] = clone $col;
|
1374 |
$new_nodes[ $col->node ]->settings = clone $col->settings;
|
1375 |
-
$
|
1376 |
|
1377 |
-
foreach ( $
|
1378 |
|
1379 |
-
$new_nodes[ $
|
1380 |
-
$new_nodes[ $module->node ]->settings = new stdClass;
|
1381 |
|
1382 |
-
|
1383 |
-
$new_nodes[ $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1384 |
}
|
1385 |
}
|
1386 |
}
|
@@ -1392,7 +1582,9 @@ final class FLBuilderModel {
|
|
1392 |
// Set col group parent ids to the new row id and unset template data.
|
1393 |
foreach ( $new_nodes as $child_node_id => $child ) {
|
1394 |
if ( $child->type == 'column-group' ) {
|
1395 |
-
$
|
|
|
|
|
1396 |
}
|
1397 |
if ( isset( $new_nodes[ $child_node_id ]->template_id ) ) {
|
1398 |
unset( $new_nodes[ $child_node_id ]->template_id );
|
@@ -1412,7 +1604,7 @@ final class FLBuilderModel {
|
|
1412 |
// Return the new row.
|
1413 |
return self::get_node( $new_row_id );
|
1414 |
}
|
1415 |
-
|
1416 |
/**
|
1417 |
* Returns the default settings for row nodes.
|
1418 |
*
|
@@ -1423,6 +1615,54 @@ final class FLBuilderModel {
|
|
1423 |
{
|
1424 |
return self::get_settings_form_defaults( 'row' );
|
1425 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1426 |
|
1427 |
/**
|
1428 |
* Runs row specific logic on new row settings.
|
@@ -1554,7 +1794,7 @@ final class FLBuilderModel {
|
|
1554 |
*
|
1555 |
* @since 1.0
|
1556 |
* @param string $node_id A row node ID.
|
1557 |
-
* @param string $cols The type of column group layout.
|
1558 |
* @param int $position The position of the new column group.
|
1559 |
* @return object The new column group object.
|
1560 |
*/
|
@@ -1563,13 +1803,14 @@ final class FLBuilderModel {
|
|
1563 |
$data = self::get_layout_data();
|
1564 |
$group_node_id = self::generate_node_id();
|
1565 |
$parent = self::get_node( $node_id );
|
|
|
1566 |
|
1567 |
// Add the column group.
|
1568 |
$data[$group_node_id] = new StdClass();
|
1569 |
$data[$group_node_id]->node = $group_node_id;
|
1570 |
$data[$group_node_id]->type = 'column-group';
|
1571 |
$data[$group_node_id]->parent = $node_id;
|
1572 |
-
$data[$group_node_id]->position = self::next_node_position(
|
1573 |
$data[$group_node_id]->settings = '';
|
1574 |
|
1575 |
// Add node template data.
|
@@ -1578,28 +1819,66 @@ final class FLBuilderModel {
|
|
1578 |
$data[$group_node_id]->template_node_id = $group_node_id;
|
1579 |
}
|
1580 |
|
1581 |
-
// Add
|
1582 |
-
|
1583 |
-
|
1584 |
-
$col_node_id = self::generate_node_id();
|
1585 |
-
$data[$col_node_id] = new StdClass();
|
1586 |
-
$data[$col_node_id]->node = $col_node_id;
|
1587 |
-
$data[$col_node_id]->type = 'column';
|
1588 |
-
$data[$col_node_id]->parent = $group_node_id;
|
1589 |
-
$data[$col_node_id]->position = $i;
|
1590 |
-
$data[$col_node_id]->settings = new StdClass();
|
1591 |
-
$data[$col_node_id]->settings->size = self::$row_layouts[$cols][$i];
|
1592 |
|
1593 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1594 |
if ( self::is_node_global( $parent ) ) {
|
1595 |
-
$data[$
|
1596 |
-
$data[$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1597 |
}
|
1598 |
}
|
1599 |
|
1600 |
// Update the layout data.
|
1601 |
self::update_layout_data($data);
|
1602 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1603 |
// Position the column group.
|
1604 |
if($position !== false) {
|
1605 |
self::reorder_node($group_node_id, $position);
|
@@ -1671,7 +1950,7 @@ final class FLBuilderModel {
|
|
1671 |
* Deletes a column.
|
1672 |
*
|
1673 |
* @since 1.0
|
1674 |
-
* @param string $node_id Node ID of the column to delete.
|
1675 |
* @param int $new_width New width of the remaining columns.
|
1676 |
* @return void
|
1677 |
*/
|
@@ -1681,10 +1960,15 @@ final class FLBuilderModel {
|
|
1681 |
|
1682 |
// Delete the column.
|
1683 |
self::delete_node($node_id);
|
|
|
|
|
|
|
|
|
|
|
1684 |
|
1685 |
// Get the group
|
1686 |
$group = self::get_node($col->parent);
|
1687 |
-
|
1688 |
// Get the group children.
|
1689 |
$cols = self::get_nodes('column', $group->node);
|
1690 |
|
@@ -1711,6 +1995,48 @@ final class FLBuilderModel {
|
|
1711 |
}
|
1712 |
}
|
1713 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1714 |
/**
|
1715 |
* Resizes a column.
|
1716 |
*
|
@@ -1729,7 +2055,7 @@ final class FLBuilderModel {
|
|
1729 |
$siblings = array();
|
1730 |
$siblings_width = 0;
|
1731 |
$num_cols = count($cols);
|
1732 |
-
$min_width =
|
1733 |
$max_width = 100 - $min_width;
|
1734 |
|
1735 |
// Don't resize if only one column or width isn't a number.
|
@@ -1814,14 +2140,20 @@ final class FLBuilderModel {
|
|
1814 |
* Resets the widths of all columns in a group.
|
1815 |
*
|
1816 |
* @since 1.6.4
|
1817 |
-
* @param string $group_id Node ID of the group whose columns to reset.
|
1818 |
* @return void
|
1819 |
*/
|
1820 |
static public function reset_col_widths( $group_id = null )
|
1821 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1822 |
$data = self::get_layout_data();
|
1823 |
$post_data = self::get_post_data();
|
1824 |
-
$group_id = isset( $post_data['group_id'] ) ? $post_data['group_id'] : $group_id;
|
1825 |
$cols = self::get_nodes( 'column', $group_id );
|
1826 |
$width = round( 100 / count( $cols ), 2 );
|
1827 |
|
@@ -1833,21 +2165,74 @@ final class FLBuilderModel {
|
|
1833 |
}
|
1834 |
|
1835 |
/**
|
1836 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1837 |
*
|
1838 |
* @since 1.6.4
|
1839 |
* @param string $node_id Node ID of the column to insert before or after.
|
1840 |
* @param string $insert Either before or after.
|
|
|
|
|
1841 |
* @return object
|
1842 |
*/
|
1843 |
-
static public function
|
1844 |
{
|
1845 |
-
$data
|
1846 |
-
$
|
1847 |
-
$
|
1848 |
-
$
|
1849 |
-
$
|
1850 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1851 |
|
1852 |
// Get the new width.
|
1853 |
if ( 6 === $num_cols ) {
|
@@ -1867,35 +2252,57 @@ final class FLBuilderModel {
|
|
1867 |
else {
|
1868 |
$new_col_position = $col->position + 1;
|
1869 |
}
|
|
|
|
|
|
|
1870 |
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
|
|
|
|
|
|
1884 |
}
|
1885 |
|
1886 |
-
// Resize sibling columns.
|
1887 |
foreach ( $cols as $sibling_col_id => $sibling_col ) {
|
|
|
1888 |
$data[ $sibling_col_id ]->settings->size = $new_width;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1889 |
}
|
1890 |
|
1891 |
// Update the layout data.
|
1892 |
self::update_layout_data( $data );
|
1893 |
-
|
1894 |
-
// Position the new column.
|
1895 |
-
self::reorder_node( $new_col_id, $new_col_position );
|
1896 |
|
1897 |
-
// Return the
|
1898 |
-
return
|
1899 |
}
|
1900 |
|
1901 |
/**
|
@@ -1983,6 +2390,19 @@ final class FLBuilderModel {
|
|
1983 |
}
|
1984 |
}
|
1985 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1986 |
/**
|
1987 |
* Returns an array of all modules that are enabled.
|
1988 |
*
|
@@ -2114,14 +2534,14 @@ final class FLBuilderModel {
|
|
2114 |
* Returns an instance of a module.
|
2115 |
*
|
2116 |
* @since 1.0
|
2117 |
-
* @param string $node_id A module node ID.
|
2118 |
* @return object|bool The module or false if it doesn't exist.
|
2119 |
*/
|
2120 |
-
static public function get_module($node_id)
|
2121 |
{
|
2122 |
-
$module = self::get_node($node_id);
|
2123 |
|
2124 |
-
if(
|
2125 |
|
2126 |
$class = get_class(self::$modules[$module->settings->type]);
|
2127 |
$instance = new $class();
|
@@ -2163,7 +2583,7 @@ final class FLBuilderModel {
|
|
2163 |
|
2164 |
foreach($modules as $module) {
|
2165 |
|
2166 |
-
if(
|
2167 |
|
2168 |
$class = get_class(self::$modules[$module->settings->type]);
|
2169 |
$instances[$i] = new $class();
|
@@ -2273,7 +2693,7 @@ final class FLBuilderModel {
|
|
2273 |
$parent_id = $parent->node;
|
2274 |
}
|
2275 |
|
2276 |
-
// Add a new column if the parent is a row.
|
2277 |
else if ( $parent->type == 'row' ) {
|
2278 |
$col_group = self::add_col_group( $parent->node, '1-col', $position );
|
2279 |
$cols = self::get_nodes( 'column', $col_group->node );
|
@@ -2281,6 +2701,12 @@ final class FLBuilderModel {
|
|
2281 |
$parent_id = $parent->node;
|
2282 |
}
|
2283 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2284 |
return $parent_id;
|
2285 |
}
|
2286 |
|
@@ -2344,7 +2770,7 @@ final class FLBuilderModel {
|
|
2344 |
$module_node_id = self::generate_node_id();
|
2345 |
|
2346 |
// Add a new parent if one is needed.
|
2347 |
-
if ( ! $parent || 'row' == $parent->type ) {
|
2348 |
$parent_id = self::add_module_parent( $parent_id, $position );
|
2349 |
$parent = self::get_node( $parent_id );
|
2350 |
$position = null;
|
@@ -2424,6 +2850,24 @@ final class FLBuilderModel {
|
|
2424 |
return $new_settings;
|
2425 |
}
|
2426 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2427 |
/**
|
2428 |
* Returns the default settings for a module.
|
2429 |
*
|
@@ -2632,13 +3076,32 @@ final class FLBuilderModel {
|
|
2632 |
// Loop through the fields and get the defaults.
|
2633 |
foreach($fields as $name => $field) {
|
2634 |
|
2635 |
-
$default
|
2636 |
-
$is_multiple
|
2637 |
$supports_multiple = $field['type'] != 'editor' && $field['type'] != 'photo';
|
|
|
|
|
2638 |
|
2639 |
if($is_multiple && $supports_multiple) {
|
2640 |
$defaults->$name = array($default);
|
2641 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2642 |
else {
|
2643 |
$defaults->$name = $default;
|
2644 |
}
|
@@ -2749,14 +3212,19 @@ final class FLBuilderModel {
|
|
2749 |
*/
|
2750 |
static public function get_global_settings()
|
2751 |
{
|
2752 |
-
|
2753 |
-
|
|
|
2754 |
|
2755 |
-
|
2756 |
-
|
|
|
|
|
|
|
|
|
2757 |
}
|
2758 |
|
2759 |
-
return
|
2760 |
}
|
2761 |
|
2762 |
/**
|
@@ -2772,8 +3240,11 @@ final class FLBuilderModel {
|
|
2772 |
$new_settings = (object)array_merge((array)$old_settings, (array)$settings);
|
2773 |
|
2774 |
self::delete_asset_cache_for_all_posts();
|
|
|
|
|
|
|
2775 |
|
2776 |
-
return
|
2777 |
}
|
2778 |
|
2779 |
/**
|
@@ -4296,7 +4767,7 @@ final class FLBuilderModel {
|
|
4296 |
$root_node = self::get_node_template_root( $type, $template_data );
|
4297 |
|
4298 |
// Add a new parent for module node templates if needed.
|
4299 |
-
if ( 'module' == $root_node->type && ( ! $parent || 'row' == $parent->type ) ) {
|
4300 |
$parent_id = self::add_module_parent( $parent_id, $position );
|
4301 |
$position = null;
|
4302 |
}
|
51 |
*/
|
52 |
static public $modules = array();
|
53 |
|
54 |
+
/**
|
55 |
+
* Cached global settings.
|
56 |
+
*
|
57 |
+
* @access private
|
58 |
+
* @var array $global_settings
|
59 |
+
*/
|
60 |
+
private static $global_settings;
|
61 |
+
|
62 |
/**
|
63 |
* The last node id that was generated by the builder.
|
64 |
* This is saved to ensure the next node id is unique.
|
895 |
$nodes[ $node_id ] = $node;
|
896 |
}
|
897 |
}
|
|
|
|
|
898 |
}
|
899 |
+
|
900 |
+
// Sort the nodes by position.
|
901 |
+
uasort( $nodes, array( 'FLBuilderModel', 'order_nodes' ) );
|
902 |
|
903 |
// Merge default settings.
|
904 |
foreach ( $nodes as $node_id => $node ) {
|
912 |
return $nodes;
|
913 |
}
|
914 |
|
915 |
+
/**
|
916 |
+
* Returns the direct parent object for a single node.
|
917 |
+
*
|
918 |
+
* @since 1.9
|
919 |
+
* @param string|object $node_id Either a node id or node object.
|
920 |
+
* @param string $status The node status. Either draft or published.
|
921 |
+
* @return object
|
922 |
+
*/
|
923 |
+
static public function get_node_parent( $node_id = null, $status = null )
|
924 |
+
{
|
925 |
+
$parent = null;
|
926 |
+
|
927 |
+
if ( is_object( $node_id ) ) {
|
928 |
+
$node = $node_id;
|
929 |
+
}
|
930 |
+
else {
|
931 |
+
$node = self::get_node( $node_id, $status );
|
932 |
+
}
|
933 |
+
|
934 |
+
if ( $node ) {
|
935 |
+
|
936 |
+
$template_post_id = self::is_node_global( $node );
|
937 |
+
$post_id = $template_post_id ? $template_post_id : self::get_post_id();
|
938 |
+
$data = self::get_layout_data( $status, $post_id );
|
939 |
+
|
940 |
+
if ( isset( $data[ $node->parent ] ) ) {
|
941 |
+
return $data[ $node->parent ];
|
942 |
+
}
|
943 |
+
}
|
944 |
+
|
945 |
+
return $parent;
|
946 |
+
}
|
947 |
+
|
948 |
+
/**
|
949 |
+
* Returns a node's parent node of the specified type.
|
950 |
+
*
|
951 |
+
* @since 1.8.3
|
952 |
+
* @param string|object $node The node ID. Can also be a node object.
|
953 |
+
* @param string $type The type of parent to return. Either "column", "column-group" or "row".
|
954 |
+
* @return object The parent node.
|
955 |
+
*/
|
956 |
+
static public function get_node_parent_by_type( $node, $type = '' )
|
957 |
+
{
|
958 |
+
// Get node object if node ID set
|
959 |
+
if ( ! is_object( $node ) ) {
|
960 |
+
$node = self::get_node( $node );
|
961 |
+
}
|
962 |
+
|
963 |
+
// Return early if no node object found or node has no parent
|
964 |
+
if ( empty( $node ) || empty( $node->parent ) ) {
|
965 |
+
return;
|
966 |
+
}
|
967 |
+
|
968 |
+
// Helper array of parent types and their categories for each node type
|
969 |
+
$parent_types = array(
|
970 |
+
'module' => array(
|
971 |
+
'type' => 'column',
|
972 |
+
'category' => 'columns',
|
973 |
+
),
|
974 |
+
'column' => array(
|
975 |
+
'type' => 'column-group',
|
976 |
+
'category' => 'groups',
|
977 |
+
),
|
978 |
+
'column-group' => array(
|
979 |
+
'type' => 'row',
|
980 |
+
'category' => 'rows',
|
981 |
+
),
|
982 |
+
);
|
983 |
+
|
984 |
+
// Helper array of node type hierarchies
|
985 |
+
$hierarchy = array(
|
986 |
+
'module' => 10,
|
987 |
+
'column' => 20,
|
988 |
+
'column-group' => 30,
|
989 |
+
'row' => 40,
|
990 |
+
);
|
991 |
+
|
992 |
+
// Set immediate parent type of the node when:
|
993 |
+
// - type is not of allowed types
|
994 |
+
// - type is the same as node type
|
995 |
+
// - type is lower in hierarchy than the node type
|
996 |
+
if ( ! in_array( $type, array_keys( $hierarchy ) ) || $type == $node->type || $hierarchy[ $parent_types[ $node->type ]['type'] ] > $hierarchy[ $type ] ) {
|
997 |
+
$type = $parent_types[ $node->type ]['type'];
|
998 |
+
}
|
999 |
+
|
1000 |
+
// Get all layout nodes, categorized
|
1001 |
+
$nodes = array_filter( self::get_categorized_nodes() );
|
1002 |
+
|
1003 |
+
// Null out the output initially
|
1004 |
+
$output = '';
|
1005 |
+
|
1006 |
+
// Parse layout nodes to get the correct output
|
1007 |
+
if ( ! empty( $nodes ) ) {
|
1008 |
+
while ( empty( $output ) ) {
|
1009 |
+
if ( ! empty( $node->parent ) && isset( $nodes[ $parent_types[ $node->type ]['category'] ] ) ) {
|
1010 |
+
|
1011 |
+
$break_while = true;
|
1012 |
+
|
1013 |
+
foreach ( $nodes[ $parent_types[ $node->type ]['category'] ] as $parent ) {
|
1014 |
+
if ( $parent->node == $node->parent ) {
|
1015 |
+
|
1016 |
+
$break_while = false;
|
1017 |
+
|
1018 |
+
if ( $parent_types[ $node->type ]['type'] == $type ) {
|
1019 |
+
// We have got the type we wanted! Set the output and break from while and foreach loops.
|
1020 |
+
$output = $parent;
|
1021 |
+
break; // From foreach
|
1022 |
+
}
|
1023 |
+
|
1024 |
+
// We now need node parents to crawl the tree
|
1025 |
+
$node = $parent;
|
1026 |
+
break; // From foreach
|
1027 |
+
|
1028 |
+
}
|
1029 |
+
}
|
1030 |
+
|
1031 |
+
// If we get this far without changing $break_while, something is wrong
|
1032 |
+
if ( $break_while ) {
|
1033 |
+
break; // From while
|
1034 |
+
}
|
1035 |
+
|
1036 |
+
} else {
|
1037 |
+
break; // From while
|
1038 |
+
}
|
1039 |
+
}
|
1040 |
+
}
|
1041 |
+
|
1042 |
+
return $output;
|
1043 |
+
}
|
1044 |
+
|
1045 |
/**
|
1046 |
* Returns an array of child nodes for a parent.
|
1047 |
*
|
1136 |
foreach ( $cols as $col ) {
|
1137 |
|
1138 |
$nodes['columns'][ $col->node ] = $col;
|
1139 |
+
$col_children = self::get_nodes( null, $col );
|
1140 |
|
1141 |
+
foreach ( $col_children as $col_child ) {
|
1142 |
+
|
1143 |
+
if ( 'module' == $col_child->type ) {
|
1144 |
+
|
1145 |
+
$module = self::get_module( $col_child );
|
1146 |
+
|
1147 |
+
if ( $module ) {
|
1148 |
+
$nodes['modules'][ $col_child->node ] = $module;
|
1149 |
+
}
|
1150 |
+
}
|
1151 |
+
else if ( 'column-group' == $col_child->type ) {
|
1152 |
+
|
1153 |
+
$nodes['groups'][ $col_child->node ] = $col_child;
|
1154 |
+
$group_cols = self::get_nodes( 'column', $col_child );
|
1155 |
+
|
1156 |
+
foreach ( $group_cols as $group_col ) {
|
1157 |
+
|
1158 |
+
$nodes['columns'][ $group_col->node ] = $group_col;
|
1159 |
+
$modules = self::get_modules( $group_col );
|
1160 |
+
|
1161 |
+
foreach ( $modules as $module ) {
|
1162 |
+
$nodes['modules'][ $module->node ] = $module;
|
1163 |
+
}
|
1164 |
+
}
|
1165 |
+
}
|
1166 |
}
|
1167 |
}
|
1168 |
}
|
1402 |
* @since 1.0
|
1403 |
* @param string $node_id A node ID.
|
1404 |
* @param int $position The new position.
|
1405 |
+
* @param string $type The type of node to order.
|
1406 |
* @return void
|
1407 |
*/
|
1408 |
static public function reorder_node($node_id = null, $position = 0)
|
1409 |
{
|
1410 |
$data = self::get_layout_data();
|
1411 |
$node = $data[$node_id];
|
1412 |
+
$type = ! $node->parent ? $node->type : null;
|
1413 |
+
$nodes = self::get_nodes($type, $node->parent);
|
1414 |
$new_pos = 0;
|
1415 |
+
|
1416 |
// Make sure node positions start at zero.
|
1417 |
foreach($nodes as $node) {
|
1418 |
$data[$node->node]->position = $new_pos;
|
1451 |
$data = self::get_layout_data();
|
1452 |
$new_parent = self::get_node($new_parent_id);
|
1453 |
$node = self::get_node($node_id);
|
1454 |
+
$siblings = self::get_nodes(null, $node->parent);
|
1455 |
+
$sibling_pos = 0;
|
1456 |
|
1457 |
// Set the node's new parent.
|
1458 |
+
$data[ $node_id ]->parent = $new_parent->node;
|
1459 |
+
|
1460 |
+
// Remove the node from the $siblings array.
|
1461 |
+
unset( $siblings[ $node_id ] );
|
1462 |
+
|
1463 |
+
// Reorder old siblings.
|
1464 |
+
foreach ( $siblings as $sibling ) {
|
1465 |
+
$data[ $sibling->node ]->position = $sibling_pos;
|
1466 |
+
$sibling_pos++;
|
1467 |
+
}
|
1468 |
|
1469 |
// Update the layout data.
|
1470 |
self::update_layout_data($data);
|
1547 |
|
1548 |
$new_nodes[ $col->node ] = clone $col;
|
1549 |
$new_nodes[ $col->node ]->settings = clone $col->settings;
|
1550 |
+
$nodes = self::get_nodes( null, $col );
|
1551 |
|
1552 |
+
foreach ( $nodes as $node ) {
|
1553 |
|
1554 |
+
$new_nodes[ $node->node ] = clone $node;
|
|
|
1555 |
|
1556 |
+
if ( 'module' == $node->type ) {
|
1557 |
+
$new_nodes[ $node->node ]->settings = self::clone_module_settings( $node->settings );
|
1558 |
+
}
|
1559 |
+
else if ( 'column-group' == $node->type ) {
|
1560 |
+
|
1561 |
+
$nested_cols = self::get_nodes( 'column', $node );
|
1562 |
+
|
1563 |
+
foreach ( $nested_cols as $nested_col ) {
|
1564 |
+
|
1565 |
+
$new_nodes[ $nested_col->node ] = clone $nested_col;
|
1566 |
+
$new_nodes[ $nested_col->node ]->settings = clone $nested_col->settings;
|
1567 |
+
$modules = self::get_nodes( 'module', $nested_col );
|
1568 |
+
|
1569 |
+
foreach ( $modules as $module ) {
|
1570 |
+
$new_nodes[ $module->node ] = clone $module;
|
1571 |
+
$new_nodes[ $module->node ]->settings = self::clone_module_settings( $module->settings );
|
1572 |
+
}
|
1573 |
+
}
|
1574 |
}
|
1575 |
}
|
1576 |
}
|
1582 |
// Set col group parent ids to the new row id and unset template data.
|
1583 |
foreach ( $new_nodes as $child_node_id => $child ) {
|
1584 |
if ( $child->type == 'column-group' ) {
|
1585 |
+
if ( $child->parent == $row->node || ( isset( $row->template_node_id ) && $child->parent == $row->template_node_id ) ) {
|
1586 |
+
$new_nodes[ $child_node_id ]->parent = $new_row_id;
|
1587 |
+
}
|
1588 |
}
|
1589 |
if ( isset( $new_nodes[ $child_node_id ]->template_id ) ) {
|
1590 |
unset( $new_nodes[ $child_node_id ]->template_id );
|
1604 |
// Return the new row.
|
1605 |
return self::get_node( $new_row_id );
|
1606 |
}
|
1607 |
+
|
1608 |
/**
|
1609 |
* Returns the default settings for row nodes.
|
1610 |
*
|
1615 |
{
|
1616 |
return self::get_settings_form_defaults( 'row' );
|
1617 |
}
|
1618 |
+
|
1619 |
+
/**
|
1620 |
+
* Returns an array of spacing placeholders for row
|
1621 |
+
* margins and padding.
|
1622 |
+
*
|
1623 |
+
* @since 1.9
|
1624 |
+
* @return array
|
1625 |
+
*/
|
1626 |
+
static public function get_row_spacing_placeholders()
|
1627 |
+
{
|
1628 |
+
$settings = FLBuilderModel::get_global_settings();
|
1629 |
+
$placeholders = array();
|
1630 |
+
|
1631 |
+
// Default.
|
1632 |
+
$placeholders['row_margins'] = $settings->row_margins;
|
1633 |
+
$placeholders['row_padding'] = $settings->row_padding;
|
1634 |
+
|
1635 |
+
// Medium.
|
1636 |
+
$placeholders['row_margins_medium'] = ( '' != $settings->row_margins_medium ) ? $settings->row_margins_medium : $settings->row_margins;
|
1637 |
+
$placeholders['row_padding_medium'] = ( '' != $settings->row_padding_medium ) ? $settings->row_padding_medium : $settings->row_padding;
|
1638 |
+
|
1639 |
+
// Responsive row margins.
|
1640 |
+
if ( '' != $settings->row_margins_responsive ) {
|
1641 |
+
$placeholders['row_margins_responsive'] = $settings->row_margins_responsive;
|
1642 |
+
}
|
1643 |
+
else if ( $settings->auto_spacing ) {
|
1644 |
+
$placeholders['row_margins_responsive'] = 0;
|
1645 |
+
}
|
1646 |
+
else {
|
1647 |
+
$placeholders['row_margins_responsive'] = $placeholders['row_margins_medium'];
|
1648 |
+
}
|
1649 |
+
|
1650 |
+
// Responsive row padding.
|
1651 |
+
if ( '' != $settings->row_padding_responsive ) {
|
1652 |
+
$placeholders['row_padding_tb_responsive'] = $settings->row_padding_responsive;
|
1653 |
+
$placeholders['row_padding_lr_responsive'] = $settings->row_padding_responsive;
|
1654 |
+
}
|
1655 |
+
else if ( $settings->auto_spacing ) {
|
1656 |
+
$placeholders['row_padding_tb_responsive'] = $placeholders['row_padding_medium'];
|
1657 |
+
$placeholders['row_padding_lr_responsive'] = 0;
|
1658 |
+
}
|
1659 |
+
else {
|
1660 |
+
$placeholders['row_padding_tb_responsive'] = $placeholders['row_padding_medium'];
|
1661 |
+
$placeholders['row_padding_lr_responsive'] = $placeholders['row_padding_medium'];
|
1662 |
+
}
|
1663 |
+
|
1664 |
+
return $placeholders;
|
1665 |
+
}
|
1666 |
|
1667 |
/**
|
1668 |
* Runs row specific logic on new row settings.
|
1794 |
*
|
1795 |
* @since 1.0
|
1796 |
* @param string $node_id A row node ID.
|
1797 |
+
* @param string $cols The type of column group layout or the ID of an existing column to add.
|
1798 |
* @param int $position The position of the new column group.
|
1799 |
* @return object The new column group object.
|
1800 |
*/
|
1803 |
$data = self::get_layout_data();
|
1804 |
$group_node_id = self::generate_node_id();
|
1805 |
$parent = self::get_node( $node_id );
|
1806 |
+
$old_group = null;
|
1807 |
|
1808 |
// Add the column group.
|
1809 |
$data[$group_node_id] = new StdClass();
|
1810 |
$data[$group_node_id]->node = $group_node_id;
|
1811 |
$data[$group_node_id]->type = 'column-group';
|
1812 |
$data[$group_node_id]->parent = $node_id;
|
1813 |
+
$data[$group_node_id]->position = self::next_node_position(null, $node_id);
|
1814 |
$data[$group_node_id]->settings = '';
|
1815 |
|
1816 |
// Add node template data.
|
1819 |
$data[$group_node_id]->template_node_id = $group_node_id;
|
1820 |
}
|
1821 |
|
1822 |
+
// Add new columns?
|
1823 |
+
if ( isset( self::$row_layouts[ $cols ] ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1824 |
|
1825 |
+
for($i = 0; $i < count(self::$row_layouts[$cols]); $i++) {
|
1826 |
+
|
1827 |
+
$col_node_id = self::generate_node_id();
|
1828 |
+
$data[$col_node_id] = new StdClass();
|
1829 |
+
$data[$col_node_id]->node = $col_node_id;
|
1830 |
+
$data[$col_node_id]->type = 'column';
|
1831 |
+
$data[$col_node_id]->parent = $group_node_id;
|
1832 |
+
$data[$col_node_id]->position = $i;
|
1833 |
+
$data[$col_node_id]->settings = new StdClass();
|
1834 |
+
$data[$col_node_id]->settings->size = self::$row_layouts[$cols][$i];
|
1835 |
+
|
1836 |
+
if ( self::is_node_global( $parent ) ) {
|
1837 |
+
$data[$col_node_id]->template_id = $parent->template_id;
|
1838 |
+
$data[$col_node_id]->template_node_id = $col_node_id;
|
1839 |
+
}
|
1840 |
+
}
|
1841 |
+
}
|
1842 |
+
// Add an existing column.
|
1843 |
+
else {
|
1844 |
+
|
1845 |
+
$old_group = $data[ $cols ]->parent;
|
1846 |
+
$siblings = self::get_nodes( 'column', $old_group );
|
1847 |
+
$sibling_pos = 0;
|
1848 |
+
|
1849 |
+
// Add the column to the group.
|
1850 |
+
$data[ $cols ]->parent = $group_node_id;
|
1851 |
+
$data[ $cols ]->position = 0;
|
1852 |
+
$data[ $cols ]->settings->size = 100;
|
1853 |
+
|
1854 |
if ( self::is_node_global( $parent ) ) {
|
1855 |
+
$data[ $cols ]->template_id = $parent->template_id;
|
1856 |
+
$data[ $cols ]->template_node_id = $data[ $cols ]->node;
|
1857 |
+
}
|
1858 |
+
|
1859 |
+
// Remove the column from the $siblings array.
|
1860 |
+
unset( $siblings[ $cols ] );
|
1861 |
+
|
1862 |
+
// Reorder old siblings.
|
1863 |
+
foreach ( $siblings as $sibling ) {
|
1864 |
+
$data[ $sibling->node ]->position = $sibling_pos;
|
1865 |
+
$sibling_pos++;
|
1866 |
}
|
1867 |
}
|
1868 |
|
1869 |
// Update the layout data.
|
1870 |
self::update_layout_data($data);
|
1871 |
+
|
1872 |
+
// Delete an existing column's old group if empty or resize it.
|
1873 |
+
if ( $old_group ) {
|
1874 |
+
if ( 0 === count( self::get_nodes( 'column', $old_group ) ) ) {
|
1875 |
+
self::delete_node( $old_group );
|
1876 |
+
}
|
1877 |
+
else {
|
1878 |
+
self::reset_col_widths( $old_group );
|
1879 |
+
}
|
1880 |
+
}
|
1881 |
+
|
1882 |
// Position the column group.
|
1883 |
if($position !== false) {
|
1884 |
self::reorder_node($group_node_id, $position);
|
1950 |
* Deletes a column.
|
1951 |
*
|
1952 |
* @since 1.0
|
1953 |
+
* @param string $node_id Node ID of the column to delete (can also be a group).
|
1954 |
* @param int $new_width New width of the remaining columns.
|
1955 |
* @return void
|
1956 |
*/
|
1960 |
|
1961 |
// Delete the column.
|
1962 |
self::delete_node($node_id);
|
1963 |
+
|
1964 |
+
// Return if the node we just deleted was a group.
|
1965 |
+
if('column-group' == $col->type) {
|
1966 |
+
return;
|
1967 |
+
}
|
1968 |
|
1969 |
// Get the group
|
1970 |
$group = self::get_node($col->parent);
|
1971 |
+
|
1972 |
// Get the group children.
|
1973 |
$cols = self::get_nodes('column', $group->node);
|
1974 |
|
1995 |
}
|
1996 |
}
|
1997 |
|
1998 |
+
/**
|
1999 |
+
* Moves a column within a group.
|
2000 |
+
*
|
2001 |
+
* @since 1.9
|
2002 |
+
* @param string $node_id
|
2003 |
+
* @param int $position
|
2004 |
+
* @return void
|
2005 |
+
*/
|
2006 |
+
static public function reorder_col( $node_id, $position = 0 )
|
2007 |
+
{
|
2008 |
+
$col = self::get_node( $node_id );
|
2009 |
+
|
2010 |
+
self::reorder_node( $node_id, $position );
|
2011 |
+
self::reset_col_widths( $col->parent );
|
2012 |
+
}
|
2013 |
+
|
2014 |
+
/**
|
2015 |
+
* Moves a column from one group to another.
|
2016 |
+
*
|
2017 |
+
* @since 1.9
|
2018 |
+
* @param string $col_id
|
2019 |
+
* @param string $group_id
|
2020 |
+
* @param int $position
|
2021 |
+
* @param array $resize
|
2022 |
+
* @return void
|
2023 |
+
*/
|
2024 |
+
static public function move_col( $col_id, $group_id, $position, $resize = array() )
|
2025 |
+
{
|
2026 |
+
$col = self::get_node( $col_id );
|
2027 |
+
$old_group = self::get_node( $col->parent );
|
2028 |
+
|
2029 |
+
self::move_node( $col_id, $group_id, $position );
|
2030 |
+
|
2031 |
+
if ( 0 === count( self::get_nodes( 'column', $old_group ) ) ) {
|
2032 |
+
self::delete_node( $old_group->node );
|
2033 |
+
self::reset_col_widths( $group_id );
|
2034 |
+
}
|
2035 |
+
else {
|
2036 |
+
self::reset_col_widths( $resize );
|
2037 |
+
}
|
2038 |
+
}
|
2039 |
+
|
2040 |
/**
|
2041 |
* Resizes a column.
|
2042 |
*
|
2055 |
$siblings = array();
|
2056 |
$siblings_width = 0;
|
2057 |
$num_cols = count($cols);
|
2058 |
+
$min_width = 8;
|
2059 |
$max_width = 100 - $min_width;
|
2060 |
|
2061 |
// Don't resize if only one column or width isn't a number.
|
2140 |
* Resets the widths of all columns in a group.
|
2141 |
*
|
2142 |
* @since 1.6.4
|
2143 |
+
* @param string|array $group_id Node ID of the group whose columns to reset or an array of group IDs.
|
2144 |
* @return void
|
2145 |
*/
|
2146 |
static public function reset_col_widths( $group_id = null )
|
2147 |
{
|
2148 |
+
if ( 'array' == gettype( $group_id ) ) {
|
2149 |
+
foreach ( $group_id as $id ) {
|
2150 |
+
self::reset_col_widths( $id );
|
2151 |
+
}
|
2152 |
+
return;
|
2153 |
+
}
|
2154 |
+
|
2155 |
$data = self::get_layout_data();
|
2156 |
$post_data = self::get_post_data();
|
|
|
2157 |
$cols = self::get_nodes( 'column', $group_id );
|
2158 |
$width = round( 100 / count( $cols ), 2 );
|
2159 |
|
2165 |
}
|
2166 |
|
2167 |
/**
|
2168 |
+
* Adds a column to a column group in the current layout.
|
2169 |
+
*
|
2170 |
+
* @since 1.9
|
2171 |
+
* @param string $node_id A column group node ID.
|
2172 |
+
* @param int $position The position of the new column.
|
2173 |
+
* @return object The new column object.
|
2174 |
+
*/
|
2175 |
+
static public function add_col($node_id = null, $position = false)
|
2176 |
+
{
|
2177 |
+
$group = self::get_node( $node_id );
|
2178 |
+
$cols = self::get_nodes( 'column', $group );
|
2179 |
+
$num_cols = count( $cols );
|
2180 |
+
$i = 0;
|
2181 |
+
$sibling = false;
|
2182 |
+
$insert = 'before';
|
2183 |
+
|
2184 |
+
foreach ( $cols as $col ) {
|
2185 |
+
if ( $i == $position ) {
|
2186 |
+
$sibling = $col;
|
2187 |
+
break;
|
2188 |
+
}
|
2189 |
+
$i++;
|
2190 |
+
}
|
2191 |
+
|
2192 |
+
if ( ! $sibling ) {
|
2193 |
+
$sibling = $col;
|
2194 |
+
$insert = 'after';
|
2195 |
+
}
|
2196 |
+
|
2197 |
+
self::add_cols( $sibling->node, $insert );
|
2198 |
+
|
2199 |
+
$cols = self::get_nodes( 'column', $group );
|
2200 |
+
$col_ids = array_keys( $cols );
|
2201 |
+
|
2202 |
+
return $cols[ $col_ids[ $position ] ];
|
2203 |
+
}
|
2204 |
+
|
2205 |
+
/**
|
2206 |
+
* Inserts a column (or columns) before or after another column.
|
2207 |
*
|
2208 |
* @since 1.6.4
|
2209 |
* @param string $node_id Node ID of the column to insert before or after.
|
2210 |
* @param string $insert Either before or after.
|
2211 |
+
* @param string $type The type of column(s) to insert.
|
2212 |
+
* @param boolean $nested Whether these columns are nested or not.
|
2213 |
* @return object
|
2214 |
*/
|
2215 |
+
static public function add_cols( $col_id, $insert = 'before', $type = '1-col', $nested = false )
|
2216 |
{
|
2217 |
+
$data = self::get_layout_data();
|
2218 |
+
$col = self::get_node( $col_id );
|
2219 |
+
$parent = self::get_node( $col->parent );
|
2220 |
+
$cols = self::get_nodes( 'column', $col->parent );
|
2221 |
+
$global = self::is_node_global( $parent );
|
2222 |
+
$num_new_cols = count( self::$row_layouts[ $type ] );
|
2223 |
+
$num_cols = count( $cols );
|
2224 |
+
$max_cols = $nested ? 4 : 12;
|
2225 |
+
$reposition = false;
|
2226 |
+
$position = 0;
|
2227 |
+
|
2228 |
+
// Make sure we have 12 columns or less.
|
2229 |
+
if ( $num_cols + $num_new_cols > $max_cols ) {
|
2230 |
+
$num_new_cols = $num_new_cols - ( $num_cols + $num_new_cols - $max_cols );
|
2231 |
+
$num_cols = $max_cols;
|
2232 |
+
}
|
2233 |
+
else {
|
2234 |
+
$num_cols += $num_new_cols;
|
2235 |
+
}
|
2236 |
|
2237 |
// Get the new width.
|
2238 |
if ( 6 === $num_cols ) {
|
2252 |
else {
|
2253 |
$new_col_position = $col->position + 1;
|
2254 |
}
|
2255 |
+
|
2256 |
+
// Add the new columns.
|
2257 |
+
for ( $i = 0; $i < $num_new_cols; $i++ ) {
|
2258 |
|
2259 |
+
$new_col_id = self::generate_node_id();
|
2260 |
+
$data[ $new_col_id ] = new StdClass();
|
2261 |
+
$data[ $new_col_id ]->node = $new_col_id;
|
2262 |
+
$data[ $new_col_id ]->type = 'column';
|
2263 |
+
$data[ $new_col_id ]->parent = $parent->node;
|
2264 |
+
$data[ $new_col_id ]->position = $new_col_position;
|
2265 |
+
$data[ $new_col_id ]->settings = new StdClass();
|
2266 |
+
$data[ $new_col_id ]->settings->size = $new_width;
|
2267 |
+
|
2268 |
+
// Add node template data.
|
2269 |
+
if ( $global ) {
|
2270 |
+
$data[ $new_col_id ]->template_id = $parent->template_id;
|
2271 |
+
$data[ $new_col_id ]->template_node_id = $new_col_id;
|
2272 |
+
}
|
2273 |
+
|
2274 |
+
$new_col_position++;
|
2275 |
}
|
2276 |
|
2277 |
+
// Resize sibling columns and set their new position.
|
2278 |
foreach ( $cols as $sibling_col_id => $sibling_col ) {
|
2279 |
+
|
2280 |
$data[ $sibling_col_id ]->settings->size = $new_width;
|
2281 |
+
|
2282 |
+
if ( $sibling_col_id == $col_id ) {
|
2283 |
+
|
2284 |
+
$reposition = true;
|
2285 |
+
|
2286 |
+
if ( 'before' == $insert ) {
|
2287 |
+
$data[ $sibling_col_id ]->position = $new_col_position;
|
2288 |
+
$new_col_position++;
|
2289 |
+
}
|
2290 |
+
}
|
2291 |
+
else if ( $reposition ) {
|
2292 |
+
$data[ $sibling_col_id ]->position = $new_col_position;
|
2293 |
+
$new_col_position++;
|
2294 |
+
}
|
2295 |
+
else {
|
2296 |
+
$data[ $sibling_col_id ]->position = $position;
|
2297 |
+
$position++;
|
2298 |
+
}
|
2299 |
}
|
2300 |
|
2301 |
// Update the layout data.
|
2302 |
self::update_layout_data( $data );
|
|
|
|
|
|
|
2303 |
|
2304 |
+
// Return the column group.
|
2305 |
+
return $parent;
|
2306 |
}
|
2307 |
|
2308 |
/**
|
2390 |
}
|
2391 |
}
|
2392 |
|
2393 |
+
/**
|
2394 |
+
* Checks to see if a module of a certain type has
|
2395 |
+
* been registered.
|
2396 |
+
*
|
2397 |
+
* @since 1.9
|
2398 |
+
* @param array $type The module's type slug.
|
2399 |
+
* @return void
|
2400 |
+
*/
|
2401 |
+
static public function is_module_registered( $type )
|
2402 |
+
{
|
2403 |
+
return isset( self::$modules[ $type ] );
|
2404 |
+
}
|
2405 |
+
|
2406 |
/**
|
2407 |
* Returns an array of all modules that are enabled.
|
2408 |
*
|
2534 |
* Returns an instance of a module.
|
2535 |
*
|
2536 |
* @since 1.0
|
2537 |
+
* @param string|object $node_id A module node ID or object.
|
2538 |
* @return object|bool The module or false if it doesn't exist.
|
2539 |
*/
|
2540 |
+
static public function get_module( $node_id )
|
2541 |
{
|
2542 |
+
$module = is_object( $node_id ) ? $node_id : self::get_node( $node_id );
|
2543 |
|
2544 |
+
if( self::is_module_registered( $module->settings->type ) ) {
|
2545 |
|
2546 |
$class = get_class(self::$modules[$module->settings->type]);
|
2547 |
$instance = new $class();
|
2583 |
|
2584 |
foreach($modules as $module) {
|
2585 |
|
2586 |
+
if ( self::is_module_registered( $module->settings->type ) ) {
|
2587 |
|
2588 |
$class = get_class(self::$modules[$module->settings->type]);
|
2589 |
$instances[$i] = new $class();
|
2693 |
$parent_id = $parent->node;
|
2694 |
}
|
2695 |
|
2696 |
+
// Add a new column group if the parent is a row.
|
2697 |
else if ( $parent->type == 'row' ) {
|
2698 |
$col_group = self::add_col_group( $parent->node, '1-col', $position );
|
2699 |
$cols = self::get_nodes( 'column', $col_group->node );
|
2701 |
$parent_id = $parent->node;
|
2702 |
}
|
2703 |
|
2704 |
+
// Add a new column if the parent is a column group.
|
2705 |
+
else if ( $parent->type == 'column-group' ) {
|
2706 |
+
$parent = self::add_col( $parent->node, $position );
|
2707 |
+
$parent_id = $parent->node;
|
2708 |
+
}
|
2709 |
+
|
2710 |
return $parent_id;
|
2711 |
}
|
2712 |
|
2770 |
$module_node_id = self::generate_node_id();
|
2771 |
|
2772 |
// Add a new parent if one is needed.
|
2773 |
+
if ( ! $parent || 'row' == $parent->type || 'column-group' == $parent->type ) {
|
2774 |
$parent_id = self::add_module_parent( $parent_id, $position );
|
2775 |
$parent = self::get_node( $parent_id );
|
2776 |
$position = null;
|
2850 |
return $new_settings;
|
2851 |
}
|
2852 |
|
2853 |
+
/**
|
2854 |
+
* Returns a cloned settings object for a module.
|
2855 |
+
*
|
2856 |
+
* @since 1.9
|
2857 |
+
* @param object $settings
|
2858 |
+
* @return object
|
2859 |
+
*/
|
2860 |
+
static public function clone_module_settings( $settings )
|
2861 |
+
{
|
2862 |
+
$new_settings = new stdClass;
|
2863 |
+
|
2864 |
+
foreach ( $settings as $key => $val ) {
|
2865 |
+
$new_settings->$key = $val;
|
2866 |
+
}
|
2867 |
+
|
2868 |
+
return $new_settings;
|
2869 |
+
}
|
2870 |
+
|
2871 |
/**
|
2872 |
* Returns the default settings for a module.
|
2873 |
*
|
3076 |
// Loop through the fields and get the defaults.
|
3077 |
foreach($fields as $name => $field) {
|
3078 |
|
3079 |
+
$default = isset($field['default']) ? $field['default'] : '';
|
3080 |
+
$is_multiple = isset($field['multiple']) && $field['multiple'] === true;
|
3081 |
$supports_multiple = $field['type'] != 'editor' && $field['type'] != 'photo';
|
3082 |
+
$responsive = isset($field['responsive']) && $field['responsive'] ? $field['responsive'] : false;
|
3083 |
+
$responsive_name = '';
|
3084 |
|
3085 |
if($is_multiple && $supports_multiple) {
|
3086 |
$defaults->$name = array($default);
|
3087 |
}
|
3088 |
+
else if ( $responsive ) {
|
3089 |
+
|
3090 |
+
foreach ( array( 'default', 'medium', 'responsive' ) as $device ) {
|
3091 |
+
|
3092 |
+
$responsive_name = $name . ( 'default' == $device ? '' : '_' . $device );
|
3093 |
+
|
3094 |
+
if ( is_array( $responsive ) && isset( $responsive['default'] ) && isset( $responsive['default'][ $device ] ) ) {
|
3095 |
+
$defaults->{ $responsive_name } = $responsive['default'][ $device ];
|
3096 |
+
}
|
3097 |
+
else if( 'default' == $device ) {
|
3098 |
+
$defaults->$name = $default;
|
3099 |
+
}
|
3100 |
+
else {
|
3101 |
+
$defaults->{ $responsive_name } = '';
|
3102 |
+
}
|
3103 |
+
}
|
3104 |
+
}
|
3105 |
else {
|
3106 |
$defaults->$name = $default;
|
3107 |
}
|
3212 |
*/
|
3213 |
static public function get_global_settings()
|
3214 |
{
|
3215 |
+
if ( null === self::$global_settings ) {
|
3216 |
+
$settings = get_option('_fl_builder_settings');
|
3217 |
+
$defaults = self::get_settings_form_defaults( 'global' );
|
3218 |
|
3219 |
+
if ( !$settings ) {
|
3220 |
+
$settings = new StdClass();
|
3221 |
+
}
|
3222 |
+
|
3223 |
+
// Merge in defaults and cache settings
|
3224 |
+
self::$global_settings = (object) array_merge((array) $defaults, (array) $settings);
|
3225 |
}
|
3226 |
|
3227 |
+
return self::$global_settings;
|
3228 |
}
|
3229 |
|
3230 |
/**
|
3240 |
$new_settings = (object)array_merge((array)$old_settings, (array)$settings);
|
3241 |
|
3242 |
self::delete_asset_cache_for_all_posts();
|
3243 |
+
self::$global_settings = null;
|
3244 |
+
|
3245 |
+
update_option('_fl_builder_settings', $settings);
|
3246 |
|
3247 |
+
return self::get_global_settings();
|
3248 |
}
|
3249 |
|
3250 |
/**
|
4767 |
$root_node = self::get_node_template_root( $type, $template_data );
|
4768 |
|
4769 |
// Add a new parent for module node templates if needed.
|
4770 |
+
if ( 'module' == $root_node->type && ( ! $parent || 'row' == $parent->type || 'column-group' == $parent->type ) ) {
|
4771 |
$parent_id = self::add_module_parent( $parent_id, $position );
|
4772 |
$position = null;
|
4773 |
}
|
classes/class-fl-builder.php
CHANGED
@@ -196,16 +196,21 @@ final class FLBuilder {
|
|
196 |
* @param array $buttons The current buttons array.
|
197 |
* @return array
|
198 |
*/
|
199 |
-
static public function editor_buttons_2($buttons)
|
200 |
{
|
201 |
-
|
|
|
|
|
202 |
|
203 |
-
array_shift($buttons);
|
204 |
-
array_unshift($buttons, 'fontsizeselect');
|
205 |
-
|
|
|
|
|
|
|
206 |
|
207 |
-
if(($key = array_search('wp_help', $buttons)) !== false) {
|
208 |
-
unset($buttons[$key]);
|
209 |
}
|
210 |
}
|
211 |
|
@@ -545,18 +550,20 @@ final class FLBuilder {
|
|
545 |
|
546 |
// Enqueue individual builder scripts if WP_DEBUG is on.
|
547 |
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
|
548 |
-
wp_enqueue_script('fl-color-picker',
|
549 |
-
wp_enqueue_script('fl-lightbox',
|
550 |
-
wp_enqueue_script('fl-icon-selector',
|
551 |
-
wp_enqueue_script('fl-stylesheet',
|
552 |
-
wp_enqueue_script('fl-builder',
|
553 |
-
wp_enqueue_script('fl-builder-ajax-layout',
|
554 |
-
wp_enqueue_script('fl-builder-
|
555 |
-
wp_enqueue_script('fl-builder-
|
556 |
-
wp_enqueue_script('fl-builder-
|
|
|
|
|
557 |
}
|
558 |
else {
|
559 |
-
wp_enqueue_script('fl-builder-min',
|
560 |
}
|
561 |
|
562 |
/* Additional module styles and scripts */
|
@@ -704,6 +711,7 @@ final class FLBuilder {
|
|
704 |
if ( FLBuilderModel::is_builder_active() ) {
|
705 |
|
706 |
$post_id = $wp_the_query->post->ID;
|
|
|
707 |
$simple_ui = ! FLBuilderModel::current_user_has_editing_capability();
|
708 |
$categories = FLBuilderModel::get_categorized_modules();
|
709 |
$render_panel = apply_filters( 'fl_builder_render_ui_panel', FLBuilderModel::current_user_has_editing_capability() );
|
@@ -1186,7 +1194,16 @@ final class FLBuilder {
|
|
1186 |
$value = isset($settings->$name) ? $settings->$name : '';
|
1187 |
$preview = isset($field['preview']) ? json_encode($field['preview']) : json_encode(array('type' => 'refresh'));
|
1188 |
$row_class = isset($field['row_class']) ? ' ' . $field['row_class'] : '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1189 |
|
|
|
1190 |
if($is_multiple && $supports_multiple) {
|
1191 |
|
1192 |
$values = $value;
|
@@ -1530,8 +1547,9 @@ final class FLBuilder {
|
|
1530 |
*/
|
1531 |
static public function render_column_group_attributes( $group )
|
1532 |
{
|
1533 |
-
$cols
|
1534 |
-
$
|
|
|
1535 |
'class' => array(
|
1536 |
'fl-col-group',
|
1537 |
'fl-node-' . $group->node
|
@@ -1539,6 +1557,10 @@ final class FLBuilder {
|
|
1539 |
'data-node' => $group->node
|
1540 |
);
|
1541 |
|
|
|
|
|
|
|
|
|
1542 |
foreach( $cols as $col ) {
|
1543 |
|
1544 |
if( isset( $col->settings->equal_height ) && $col->settings->equal_height == 'yes' ) {
|
@@ -1605,7 +1627,7 @@ final class FLBuilder {
|
|
1605 |
|
1606 |
return array(
|
1607 |
'settings' => $rendered_settings['html'],
|
1608 |
-
'state' => FLBuilderAJAXLayout::render( $
|
1609 |
);
|
1610 |
}
|
1611 |
|
@@ -1620,6 +1642,7 @@ final class FLBuilder {
|
|
1620 |
{
|
1621 |
$custom_class = apply_filters( 'fl_builder_column_custom_class', $col->settings->class, $col );
|
1622 |
$overlay_bgs = array( 'photo' );
|
|
|
1623 |
$attrs = array(
|
1624 |
'id' => $col->settings->id,
|
1625 |
'class' => array(
|
@@ -1634,6 +1657,9 @@ final class FLBuilder {
|
|
1634 |
if ( $col->settings->size <= 50 ) {
|
1635 |
$attrs['class'][] = 'fl-col-small';
|
1636 |
}
|
|
|
|
|
|
|
1637 |
if ( in_array( $col->settings->bg_type, $overlay_bgs ) && ! empty( $col->settings->bg_overlay_color ) ) {
|
1638 |
$attrs['class'][] = 'fl-col-bg-overlay';
|
1639 |
}
|
@@ -1657,15 +1683,21 @@ final class FLBuilder {
|
|
1657 |
*/
|
1658 |
static public function render_modules( $col_id = null )
|
1659 |
{
|
1660 |
-
$
|
1661 |
|
1662 |
-
do_action( 'fl_builder_before_render_modules', $
|
1663 |
|
1664 |
-
foreach ( $
|
1665 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1666 |
}
|
1667 |
|
1668 |
-
do_action( 'fl_builder_after_render_modules', $
|
1669 |
}
|
1670 |
|
1671 |
/**
|
@@ -1677,13 +1709,12 @@ final class FLBuilder {
|
|
1677 |
*/
|
1678 |
static public function render_module( $module_id = null )
|
1679 |
{
|
1680 |
-
$module =
|
1681 |
$settings = $module->settings;
|
1682 |
$id = $module->node;
|
1683 |
|
1684 |
do_action( 'fl_builder_before_render_module', $module );
|
1685 |
|
1686 |
-
|
1687 |
$template_file = self::locate_template_file(
|
1688 |
apply_filters( 'fl_builder_module_template_base', 'module', $module ),
|
1689 |
apply_filters( 'fl_builder_module_template_slug', '', $module )
|
@@ -1912,6 +1943,9 @@ final class FLBuilder {
|
|
1912 |
|
1913 |
// Instance row padding
|
1914 |
$css .= self::render_row_padding($row);
|
|
|
|
|
|
|
1915 |
}
|
1916 |
|
1917 |
// Loop through the columns.
|
@@ -1928,6 +1962,9 @@ final class FLBuilder {
|
|
1928 |
// Instance column padding
|
1929 |
$css .= self::render_column_padding($col);
|
1930 |
|
|
|
|
|
|
|
1931 |
// Get the modules in this column.
|
1932 |
$modules = FLBuilderModel::get_modules($col);
|
1933 |
}
|
@@ -2028,34 +2065,71 @@ final class FLBuilder {
|
|
2028 |
if(is_rtl()) {
|
2029 |
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-rtl.css');
|
2030 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2031 |
|
2032 |
// Responsive layout css
|
2033 |
-
if($global_settings->responsive_enabled) {
|
2034 |
-
|
|
|
2035 |
$css .= '@media (max-width: '. $global_settings->medium_breakpoint .'px) { ';
|
2036 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2037 |
$css .= ' }';
|
|
|
|
|
2038 |
$css .= '@media (max-width: '. $global_settings->responsive_breakpoint .'px) { ';
|
2039 |
-
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-responsive.css');
|
2040 |
|
2041 |
-
|
2042 |
-
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-
|
2043 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2044 |
|
2045 |
$css .= ' }';
|
2046 |
}
|
2047 |
-
|
2048 |
-
// Global row margins
|
2049 |
-
$css .= '.fl-row-content-wrap { margin: '. $global_settings->row_margins .'px; }';
|
2050 |
-
|
2051 |
-
// Global row padding
|
2052 |
-
$css .= '.fl-row-content-wrap { padding: '. $global_settings->row_padding .'px; }';
|
2053 |
-
|
2054 |
-
// Global row width
|
2055 |
-
$css .= '.fl-row-fixed-width { max-width: '. $global_settings->row_width .'px; }';
|
2056 |
-
|
2057 |
-
// Global module margins
|
2058 |
-
$css .= '.fl-module-content { margin: '. $global_settings->module_margins .'px; }';
|
2059 |
|
2060 |
// Default page heading
|
2061 |
if ( ! $global_settings->show_default_heading && ! empty( $global_settings->default_heading_selector ) ) {
|
@@ -2091,37 +2165,132 @@ final class FLBuilder {
|
|
2091 |
}
|
2092 |
|
2093 |
/**
|
2094 |
-
*
|
2095 |
*
|
2096 |
-
* @since 1.
|
2097 |
-
* @param
|
2098 |
-
* @return string
|
2099 |
*/
|
2100 |
-
static public function
|
2101 |
{
|
2102 |
-
$
|
2103 |
-
|
2104 |
-
|
2105 |
|
2106 |
-
|
2107 |
-
|
2108 |
-
|
2109 |
-
|
2110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2111 |
}
|
2112 |
-
|
2113 |
-
|
|
|
|
|
|
|
|
|
2114 |
}
|
2115 |
-
|
2116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2117 |
}
|
2118 |
-
|
2119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2120 |
}
|
2121 |
|
2122 |
return $css;
|
2123 |
}
|
2124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2125 |
/**
|
2126 |
* Renders the CSS padding for a row.
|
2127 |
*
|
@@ -2131,27 +2300,19 @@ final class FLBuilder {
|
|
2131 |
*/
|
2132 |
static public function render_row_padding($row)
|
2133 |
{
|
2134 |
-
|
2135 |
-
|
2136 |
-
$css = '';
|
2137 |
-
|
2138 |
-
if($settings->padding_top != '') {
|
2139 |
-
$padding .= 'padding-top:' . $settings->padding_top . 'px;';
|
2140 |
-
}
|
2141 |
-
if($settings->padding_bottom != '') {
|
2142 |
-
$padding .= 'padding-bottom:' . $settings->padding_bottom . 'px;';
|
2143 |
-
}
|
2144 |
-
if($settings->padding_left != '') {
|
2145 |
-
$padding .= 'padding-left:' . $settings->padding_left . 'px;';
|
2146 |
-
}
|
2147 |
-
if($settings->padding_right != '') {
|
2148 |
-
$padding .= 'padding-right:' . $settings->padding_right . 'px;';
|
2149 |
-
}
|
2150 |
-
if($padding != '') {
|
2151 |
-
$css = '.fl-node-' . $row->node . ' > .fl-row-content-wrap {' . $padding . '}';
|
2152 |
-
}
|
2153 |
|
2154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2155 |
}
|
2156 |
|
2157 |
/**
|
@@ -2163,27 +2324,7 @@ final class FLBuilder {
|
|
2163 |
*/
|
2164 |
static public function render_column_margins($col)
|
2165 |
{
|
2166 |
-
|
2167 |
-
$margins = '';
|
2168 |
-
$css = '';
|
2169 |
-
|
2170 |
-
if($settings->margin_top != '') {
|
2171 |
-
$margins .= 'margin-top:' . $settings->margin_top . 'px;';
|
2172 |
-
}
|
2173 |
-
if($settings->margin_bottom != '') {
|
2174 |
-
$margins .= 'margin-bottom:' . $settings->margin_bottom . 'px;';
|
2175 |
-
}
|
2176 |
-
if($settings->margin_left != '') {
|
2177 |
-
$margins .= 'margin-left:' . $settings->margin_left . 'px;';
|
2178 |
-
}
|
2179 |
-
if($settings->margin_right != '') {
|
2180 |
-
$margins .= 'margin-right:' . $settings->margin_right . 'px;';
|
2181 |
-
}
|
2182 |
-
if($margins != '') {
|
2183 |
-
$css .= '.fl-node-' . $col->node . ' > .fl-col-content {' . $margins . '}';
|
2184 |
-
}
|
2185 |
-
|
2186 |
-
return $css;
|
2187 |
}
|
2188 |
|
2189 |
/**
|
@@ -2195,27 +2336,19 @@ final class FLBuilder {
|
|
2195 |
*/
|
2196 |
static public function render_column_padding($col)
|
2197 |
{
|
2198 |
-
|
2199 |
-
|
2200 |
-
$css = '';
|
2201 |
-
|
2202 |
-
if($settings->padding_top != '') {
|
2203 |
-
$padding .= 'padding-top:' . $settings->padding_top . 'px;';
|
2204 |
-
}
|
2205 |
-
if($settings->padding_bottom != '') {
|
2206 |
-
$padding .= 'padding-bottom:' . $settings->padding_bottom . 'px;';
|
2207 |
-
}
|
2208 |
-
if($settings->padding_left != '') {
|
2209 |
-
$padding .= 'padding-left:' . $settings->padding_left . 'px;';
|
2210 |
-
}
|
2211 |
-
if($settings->padding_right != '') {
|
2212 |
-
$padding .= 'padding-right:' . $settings->padding_right . 'px;';
|
2213 |
-
}
|
2214 |
-
if($padding != '') {
|
2215 |
-
$css = '.fl-node-' . $col->node . ' > .fl-col-content {' . $padding . '}';
|
2216 |
-
}
|
2217 |
|
2218 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2219 |
}
|
2220 |
|
2221 |
/**
|
@@ -2227,31 +2360,11 @@ final class FLBuilder {
|
|
2227 |
*/
|
2228 |
static public function render_module_margins($module)
|
2229 |
{
|
2230 |
-
|
2231 |
-
$margins = '';
|
2232 |
-
$css = '';
|
2233 |
-
|
2234 |
-
if($settings->margin_top != '') {
|
2235 |
-
$margins .= 'margin-top:' . $settings->margin_top . 'px;';
|
2236 |
-
}
|
2237 |
-
if($settings->margin_bottom != '') {
|
2238 |
-
$margins .= 'margin-bottom:' . $settings->margin_bottom . 'px;';
|
2239 |
-
}
|
2240 |
-
if($settings->margin_left != '') {
|
2241 |
-
$margins .= 'margin-left:' . $settings->margin_left . 'px;';
|
2242 |
-
}
|
2243 |
-
if($settings->margin_right != '') {
|
2244 |
-
$margins .= 'margin-right:' . $settings->margin_right . 'px;';
|
2245 |
-
}
|
2246 |
-
if($margins != '') {
|
2247 |
-
$css = '.fl-node-' . $module->node . ' > .fl-module-content {' . $margins . '}';
|
2248 |
-
}
|
2249 |
-
|
2250 |
-
return $css;
|
2251 |
}
|
2252 |
|
2253 |
/**
|
2254 |
-
* Renders the responsive CSS margins for a module.
|
2255 |
*
|
2256 |
* @since 1.0
|
2257 |
* @param object $module A module node object.
|
@@ -2259,27 +2372,45 @@ final class FLBuilder {
|
|
2259 |
*/
|
2260 |
static public function render_responsive_module_margins($module)
|
2261 |
{
|
2262 |
-
$global_settings
|
2263 |
-
$
|
2264 |
-
$
|
2265 |
-
$
|
2266 |
-
|
2267 |
-
|
2268 |
-
if(
|
2269 |
-
|
2270 |
}
|
2271 |
-
|
2272 |
-
|
|
|
|
|
2273 |
}
|
2274 |
-
|
2275 |
-
$
|
2276 |
}
|
2277 |
-
|
2278 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2279 |
}
|
2280 |
-
|
2281 |
-
|
2282 |
-
|
|
|
|
|
2283 |
$css .= ' }';
|
2284 |
}
|
2285 |
|
@@ -2630,4 +2761,4 @@ final class FLBuilder {
|
|
2630 |
}
|
2631 |
}
|
2632 |
|
2633 |
-
FLBuilder::init();
|
196 |
* @param array $buttons The current buttons array.
|
197 |
* @return array
|
198 |
*/
|
199 |
+
static public function editor_buttons_2( $buttons )
|
200 |
{
|
201 |
+
global $wp_version;
|
202 |
+
|
203 |
+
if ( FLBuilderModel::is_builder_active() ) {
|
204 |
|
205 |
+
array_shift( $buttons );
|
206 |
+
array_unshift( $buttons, 'fontsizeselect' );
|
207 |
+
|
208 |
+
if ( version_compare( $wp_version, '4.6.9', '<=' ) ) {
|
209 |
+
array_unshift( $buttons, 'formatselect' );
|
210 |
+
}
|
211 |
|
212 |
+
if ( ( $key = array_search( 'wp_help', $buttons ) ) !== false ) {
|
213 |
+
unset( $buttons[ $key ] );
|
214 |
}
|
215 |
}
|
216 |
|
550 |
|
551 |
// Enqueue individual builder scripts if WP_DEBUG is on.
|
552 |
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
|
553 |
+
wp_enqueue_script('fl-color-picker', $js_url . 'fl-color-picker.js', array(), $ver, true);
|
554 |
+
wp_enqueue_script('fl-lightbox', $js_url . 'fl-lightbox.js', array(), $ver, true);
|
555 |
+
wp_enqueue_script('fl-icon-selector', $js_url . 'fl-icon-selector.js', array(), $ver, true);
|
556 |
+
wp_enqueue_script('fl-stylesheet', $js_url . 'fl-stylesheet.js', array(), $ver, true);
|
557 |
+
wp_enqueue_script('fl-builder', $js_url . 'fl-builder.js', array(), $ver, true);
|
558 |
+
wp_enqueue_script('fl-builder-ajax-layout', $js_url . 'fl-builder-ajax-layout.js', array(), $ver, true);
|
559 |
+
wp_enqueue_script('fl-builder-forced-media-queries', $js_url . 'fl-builder-forced-media-queries.js', array(), $ver, true);
|
560 |
+
wp_enqueue_script('fl-builder-preview', $js_url . 'fl-builder-preview.js', array(), $ver, true);
|
561 |
+
wp_enqueue_script('fl-builder-responsive-editing', $js_url . 'fl-builder-responsive-editing.js', array(), $ver, true);
|
562 |
+
wp_enqueue_script('fl-builder-services', $js_url . 'fl-builder-services.js', array(), $ver, true);
|
563 |
+
wp_enqueue_script('fl-builder-tour', $js_url . 'fl-builder-tour.js', array(), $ver, true);
|
564 |
}
|
565 |
else {
|
566 |
+
wp_enqueue_script('fl-builder-min', $js_url . 'fl-builder.min.js', array(), $ver, true);
|
567 |
}
|
568 |
|
569 |
/* Additional module styles and scripts */
|
711 |
if ( FLBuilderModel::is_builder_active() ) {
|
712 |
|
713 |
$post_id = $wp_the_query->post->ID;
|
714 |
+
$global_settings = FLBuilderModel::get_global_settings();
|
715 |
$simple_ui = ! FLBuilderModel::current_user_has_editing_capability();
|
716 |
$categories = FLBuilderModel::get_categorized_modules();
|
717 |
$render_panel = apply_filters( 'fl_builder_render_ui_panel', FLBuilderModel::current_user_has_editing_capability() );
|
1194 |
$value = isset($settings->$name) ? $settings->$name : '';
|
1195 |
$preview = isset($field['preview']) ? json_encode($field['preview']) : json_encode(array('type' => 'refresh'));
|
1196 |
$row_class = isset($field['row_class']) ? ' ' . $field['row_class'] : '';
|
1197 |
+
$responsive = false;
|
1198 |
+
$root_name = $name;
|
1199 |
+
$global_settings = FLBuilderModel::get_global_settings();
|
1200 |
+
|
1201 |
+
// Check to see if responsive is enabled for this field (unit field only for now).
|
1202 |
+
if ( $global_settings->responsive_enabled && isset( $field['responsive'] ) && ! $is_multiple && 'unit' == $field['type'] ) {
|
1203 |
+
$responsive = $field['responsive'];
|
1204 |
+
}
|
1205 |
|
1206 |
+
// Render the field.
|
1207 |
if($is_multiple && $supports_multiple) {
|
1208 |
|
1209 |
$values = $value;
|
1547 |
*/
|
1548 |
static public function render_column_group_attributes( $group )
|
1549 |
{
|
1550 |
+
$cols = FLBuilderModel::get_nodes( 'column', $group );
|
1551 |
+
$parent = FLBuilderModel::get_node_parent( $group );
|
1552 |
+
$attrs = array(
|
1553 |
'class' => array(
|
1554 |
'fl-col-group',
|
1555 |
'fl-node-' . $group->node
|
1557 |
'data-node' => $group->node
|
1558 |
);
|
1559 |
|
1560 |
+
if ( 'column' == $parent->type ) {
|
1561 |
+
$attrs['class'][] = 'fl-col-group-nested';
|
1562 |
+
}
|
1563 |
+
|
1564 |
foreach( $cols as $col ) {
|
1565 |
|
1566 |
if( isset( $col->settings->equal_height ) && $col->settings->equal_height == 'yes' ) {
|
1627 |
|
1628 |
return array(
|
1629 |
'settings' => $rendered_settings['html'],
|
1630 |
+
'state' => FLBuilderAJAXLayout::render( $node->parent )
|
1631 |
);
|
1632 |
}
|
1633 |
|
1642 |
{
|
1643 |
$custom_class = apply_filters( 'fl_builder_column_custom_class', $col->settings->class, $col );
|
1644 |
$overlay_bgs = array( 'photo' );
|
1645 |
+
$nested = FLBuilderModel::get_nodes( 'column-group', $col );
|
1646 |
$attrs = array(
|
1647 |
'id' => $col->settings->id,
|
1648 |
'class' => array(
|
1657 |
if ( $col->settings->size <= 50 ) {
|
1658 |
$attrs['class'][] = 'fl-col-small';
|
1659 |
}
|
1660 |
+
if ( count( $nested ) > 0 ) {
|
1661 |
+
$attrs['class'][] = 'fl-col-has-cols';
|
1662 |
+
}
|
1663 |
if ( in_array( $col->settings->bg_type, $overlay_bgs ) && ! empty( $col->settings->bg_overlay_color ) ) {
|
1664 |
$attrs['class'][] = 'fl-col-bg-overlay';
|
1665 |
}
|
1683 |
*/
|
1684 |
static public function render_modules( $col_id = null )
|
1685 |
{
|
1686 |
+
$nodes = FLBuilderModel::get_nodes( null, $col_id );
|
1687 |
|
1688 |
+
do_action( 'fl_builder_before_render_modules', $nodes, $col_id );
|
1689 |
|
1690 |
+
foreach ( $nodes as $node ) {
|
1691 |
+
|
1692 |
+
if ( 'module' == $node->type && FLBuilderModel::is_module_registered( $node->settings->type ) ) {
|
1693 |
+
self::render_module( $node );
|
1694 |
+
}
|
1695 |
+
else if ( 'column-group' == $node->type ) {
|
1696 |
+
self::render_column_group( $node );
|
1697 |
+
}
|
1698 |
}
|
1699 |
|
1700 |
+
do_action( 'fl_builder_after_render_modules', $nodes, $col_id );
|
1701 |
}
|
1702 |
|
1703 |
/**
|
1709 |
*/
|
1710 |
static public function render_module( $module_id = null )
|
1711 |
{
|
1712 |
+
$module = FLBuilderModel::get_module( $module_id );
|
1713 |
$settings = $module->settings;
|
1714 |
$id = $module->node;
|
1715 |
|
1716 |
do_action( 'fl_builder_before_render_module', $module );
|
1717 |
|
|
|
1718 |
$template_file = self::locate_template_file(
|
1719 |
apply_filters( 'fl_builder_module_template_base', 'module', $module ),
|
1720 |
apply_filters( 'fl_builder_module_template_slug', '', $module )
|
1943 |
|
1944 |
// Instance row padding
|
1945 |
$css .= self::render_row_padding($row);
|
1946 |
+
|
1947 |
+
// Instance row border
|
1948 |
+
$css .= self::render_row_border($row);
|
1949 |
}
|
1950 |
|
1951 |
// Loop through the columns.
|
1962 |
// Instance column padding
|
1963 |
$css .= self::render_column_padding($col);
|
1964 |
|
1965 |
+
// Instance column border
|
1966 |
+
$css .= self::render_column_border($col);
|
1967 |
+
|
1968 |
// Get the modules in this column.
|
1969 |
$modules = FLBuilderModel::get_modules($col);
|
1970 |
}
|
2065 |
if(is_rtl()) {
|
2066 |
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-rtl.css');
|
2067 |
}
|
2068 |
+
|
2069 |
+
// Global node css
|
2070 |
+
foreach ( array(
|
2071 |
+
array( 'row_margins', '.fl-row-content-wrap { margin: ' ),
|
2072 |
+
array( 'row_padding', '.fl-row-content-wrap { padding: ' ),
|
2073 |
+
array( 'row_width', '.fl-row-fixed-width { max-width: ' ),
|
2074 |
+
array( 'module_margins', '.fl-module-content { margin: ' )
|
2075 |
+
) as $data ) {
|
2076 |
+
if ( '' !== $global_settings->{ $data[0] } ) {
|
2077 |
+
$value = preg_replace( self::regex( 'css_unit' ), '', strtolower( $global_settings->{ $data[0] } ) );
|
2078 |
+
$css .= $data[1] . esc_attr( $value );
|
2079 |
+
$css .= ( is_numeric( $value ) ) ? ( 'px; }' ) : ( '; }' );
|
2080 |
+
}
|
2081 |
+
}
|
2082 |
|
2083 |
// Responsive layout css
|
2084 |
+
if ( $global_settings->responsive_enabled ) {
|
2085 |
+
|
2086 |
+
// Medium devices
|
2087 |
$css .= '@media (max-width: '. $global_settings->medium_breakpoint .'px) { ';
|
2088 |
+
|
2089 |
+
// Core medium layout css
|
2090 |
+
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-medium.css');
|
2091 |
+
|
2092 |
+
// Global node medium css
|
2093 |
+
foreach ( array(
|
2094 |
+
array( 'row_margins_medium', '.fl-row[data-node] > .fl-row-content-wrap { margin: ' ),
|
2095 |
+
array( 'row_padding_medium', '.fl-row[data-node] > .fl-row-content-wrap { padding: ' ),
|
2096 |
+
array( 'module_margins_medium', '.fl-module[data-node] > .fl-module-content { margin: ' )
|
2097 |
+
) as $data ) {
|
2098 |
+
if ( '' !== $global_settings->{ $data[0] } ) {
|
2099 |
+
$value = preg_replace( self::regex( 'css_unit' ), '', strtolower( $global_settings->{ $data[0] } ) );
|
2100 |
+
$css .= $data[1] . esc_attr( $value );
|
2101 |
+
$css .= ( is_numeric( $value ) ) ? ( 'px; }' ) : ( '; }' );
|
2102 |
+
}
|
2103 |
+
}
|
2104 |
+
|
2105 |
$css .= ' }';
|
2106 |
+
|
2107 |
+
// Responsive devices
|
2108 |
$css .= '@media (max-width: '. $global_settings->responsive_breakpoint .'px) { ';
|
|
|
2109 |
|
2110 |
+
// Core responsive layout css
|
2111 |
+
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-responsive.css');
|
2112 |
+
|
2113 |
+
// Auto spacing
|
2114 |
+
if ( ! isset( $global_settings->auto_spacing ) || $global_settings->auto_spacing ) {
|
2115 |
+
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-auto-spacing.css');
|
2116 |
+
}
|
2117 |
+
|
2118 |
+
// Global node responsive css
|
2119 |
+
foreach ( array(
|
2120 |
+
array( 'row_margins_responsive', '.fl-row[data-node] > .fl-row-content-wrap { margin: ' ),
|
2121 |
+
array( 'row_padding_responsive', '.fl-row[data-node] > .fl-row-content-wrap { padding: ' ),
|
2122 |
+
array( 'module_margins_responsive', '.fl-module[data-node] > .fl-module-content { margin: ' )
|
2123 |
+
) as $data ) {
|
2124 |
+
if ( '' !== $global_settings->{ $data[0] } ) {
|
2125 |
+
$value = preg_replace( self::regex( 'css_unit' ), '', strtolower( $global_settings->{ $data[0] } ) );
|
2126 |
+
$css .= $data[1] . esc_attr( $value );
|
2127 |
+
$css .= ( is_numeric( $value ) ) ? ( 'px; }' ) : ( '; }' );
|
2128 |
+
}
|
2129 |
+
}
|
2130 |
|
2131 |
$css .= ' }';
|
2132 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2133 |
|
2134 |
// Default page heading
|
2135 |
if ( ! $global_settings->show_default_heading && ! empty( $global_settings->default_heading_selector ) ) {
|
2165 |
}
|
2166 |
|
2167 |
/**
|
2168 |
+
* Regular expressions.
|
2169 |
*
|
2170 |
+
* @since 1.9
|
2171 |
+
* @param string $scope What regular expression to return?
|
2172 |
+
* @return string Regular expression.
|
2173 |
*/
|
2174 |
+
static public function regex( $scope )
|
2175 |
{
|
2176 |
+
$regex = array(
|
2177 |
+
'css_unit' => '/[^a-z0-9%.\-]/',
|
2178 |
+
);
|
2179 |
|
2180 |
+
return ( isset( $regex[ $scope ] ) ) ? $regex[ $scope ] : null;
|
2181 |
+
}
|
2182 |
+
|
2183 |
+
/**
|
2184 |
+
* Renders the CSS spacing and border properties for a node.
|
2185 |
+
*
|
2186 |
+
* @param object $node A generic node object.
|
2187 |
+
* @param string $prop_type One of [ 'padding', 'margin', 'border' ].
|
2188 |
+
* @param string $selector_prefix Optional CSS selector prefix for better overrides.
|
2189 |
+
* @return string A CSS string.
|
2190 |
+
*/
|
2191 |
+
static public function render_node_spacing( $node = null, $prop_type = '', $selector_prefix = '' )
|
2192 |
+
{
|
2193 |
+
// Exit early if incorrect parameters
|
2194 |
+
if ( ! is_object( $node ) || empty( $prop_type ) ) {
|
2195 |
+
return;
|
2196 |
}
|
2197 |
+
|
2198 |
+
$prop_type = strtolower( $prop_type );
|
2199 |
+
|
2200 |
+
// Ensure type is valid
|
2201 |
+
if ( ! in_array( $prop_type, array( 'margin', 'padding', 'border' ), true ) ) {
|
2202 |
+
return;
|
2203 |
}
|
2204 |
+
|
2205 |
+
$global_settings = FLBuilderModel::get_global_settings();
|
2206 |
+
$settings = $node->settings;
|
2207 |
+
$css = '';
|
2208 |
+
$selector_prefix .= ' .fl-node-' . $node->node;
|
2209 |
+
|
2210 |
+
// Determine selector suffix to apply spacing to
|
2211 |
+
switch ( $node->type ) {
|
2212 |
+
case 'row':
|
2213 |
+
$selector_suffix = ' > .fl-row-content-wrap';
|
2214 |
+
break;
|
2215 |
+
case 'column':
|
2216 |
+
$selector_suffix = ' > .fl-col-content';
|
2217 |
+
break;
|
2218 |
+
case 'module':
|
2219 |
+
$selector_suffix = ' > .fl-module-content';
|
2220 |
+
break;
|
2221 |
}
|
2222 |
+
|
2223 |
+
// Create rules for each breakpoint
|
2224 |
+
foreach ( array( 'default', 'medium', 'responsive' ) as $breakpoint ) {
|
2225 |
+
$breakpoint_css = '';
|
2226 |
+
$setting_suffix = ( 'default' !== $breakpoint ) ? '_' . $breakpoint : '';
|
2227 |
+
|
2228 |
+
// Iterate over each direction
|
2229 |
+
foreach ( array( 'top', 'right', 'bottom', 'left' ) as $dir ) {
|
2230 |
+
$setting = $prop_type . '_' . $dir . $setting_suffix;
|
2231 |
+
|
2232 |
+
if ( ! isset( $settings->{ $setting } ) ) {
|
2233 |
+
continue;
|
2234 |
+
}
|
2235 |
+
|
2236 |
+
$prop = $prop_type . '-' . $dir;
|
2237 |
+
$value = preg_replace( self::regex( 'css_unit' ), '', strtolower( $settings->{ $setting } ) );
|
2238 |
+
|
2239 |
+
if ( 'border' === $prop_type ) {
|
2240 |
+
|
2241 |
+
if ( empty( $settings->border_type ) ) {
|
2242 |
+
continue;
|
2243 |
+
}
|
2244 |
+
else {
|
2245 |
+
$prop .= '-width';
|
2246 |
+
}
|
2247 |
+
}
|
2248 |
+
|
2249 |
+
if ( '' !== $value ) {
|
2250 |
+
$breakpoint_css .= "\t";
|
2251 |
+
$breakpoint_css .= $prop . ':' . esc_attr( $value );
|
2252 |
+
$breakpoint_css .= ( is_numeric( trim( $value ) ) ) ? ( 'px;' ) : ( ';' );
|
2253 |
+
$breakpoint_css .= "\r\n";
|
2254 |
+
}
|
2255 |
+
}
|
2256 |
+
|
2257 |
+
if ( ! empty( $breakpoint_css ) ) {
|
2258 |
+
|
2259 |
+
// Build the selector
|
2260 |
+
if ( 'default' !== $breakpoint ) {
|
2261 |
+
$selector = $selector_prefix . '.fl-' . str_replace( 'column', 'col', $node->type ) . $selector_suffix;
|
2262 |
+
}
|
2263 |
+
else {
|
2264 |
+
$selector = $selector_prefix . $selector_suffix;
|
2265 |
+
}
|
2266 |
+
|
2267 |
+
// Wrap css in selector
|
2268 |
+
$breakpoint_css = $selector . ' {' . "\r\n" . $breakpoint_css . '}' . "\r\n";
|
2269 |
+
|
2270 |
+
// Wrap css in media query
|
2271 |
+
if ( 'default' !== $breakpoint ) {
|
2272 |
+
$breakpoint_css = '@media ( max-width: ' . $global_settings->{ $breakpoint . '_breakpoint' } . 'px ) {' . "\r\n" . $breakpoint_css . '}' . "\r\n";
|
2273 |
+
}
|
2274 |
+
|
2275 |
+
$css .= $breakpoint_css;
|
2276 |
+
}
|
2277 |
}
|
2278 |
|
2279 |
return $css;
|
2280 |
}
|
2281 |
|
2282 |
+
/**
|
2283 |
+
* Renders the CSS margins for a row.
|
2284 |
+
*
|
2285 |
+
* @since 1.0
|
2286 |
+
* @param object $row A row node object.
|
2287 |
+
* @return string The row CSS margins string.
|
2288 |
+
*/
|
2289 |
+
static public function render_row_margins($row)
|
2290 |
+
{
|
2291 |
+
return self::render_node_spacing( $row, 'margin' );
|
2292 |
+
}
|
2293 |
+
|
2294 |
/**
|
2295 |
* Renders the CSS padding for a row.
|
2296 |
*
|
2300 |
*/
|
2301 |
static public function render_row_padding($row)
|
2302 |
{
|
2303 |
+
return self::render_node_spacing( $row, 'padding' );
|
2304 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2305 |
|
2306 |
+
/**
|
2307 |
+
* Renders the CSS border widths for a row.
|
2308 |
+
*
|
2309 |
+
* @since 1.9
|
2310 |
+
* @param object $row A row node object.
|
2311 |
+
* @return string The row CSS border-width string.
|
2312 |
+
*/
|
2313 |
+
static public function render_row_border($row)
|
2314 |
+
{
|
2315 |
+
return self::render_node_spacing( $row, 'border' );
|
2316 |
}
|
2317 |
|
2318 |
/**
|
2324 |
*/
|
2325 |
static public function render_column_margins($col)
|
2326 |
{
|
2327 |
+
return self::render_node_spacing( $col, 'margin' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2328 |
}
|
2329 |
|
2330 |
/**
|
2336 |
*/
|
2337 |
static public function render_column_padding($col)
|
2338 |
{
|
2339 |
+
return self::render_node_spacing( $col, 'padding' );
|
2340 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2341 |
|
2342 |
+
/**
|
2343 |
+
* Renders the CSS border widths for a column.
|
2344 |
+
*
|
2345 |
+
* @since 1.9
|
2346 |
+
* @param object $col A column node object.
|
2347 |
+
* @return string The column CSS border-width string.
|
2348 |
+
*/
|
2349 |
+
static public function render_column_border($col)
|
2350 |
+
{
|
2351 |
+
return self::render_node_spacing( $col, 'border', '.fl-builder-content' );
|
2352 |
}
|
2353 |
|
2354 |
/**
|
2360 |
*/
|
2361 |
static public function render_module_margins($module)
|
2362 |
{
|
2363 |
+
return self::render_node_spacing( $module, 'margin' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2364 |
}
|
2365 |
|
2366 |
/**
|
2367 |
+
* Renders the (auto) responsive CSS margins for a module.
|
2368 |
*
|
2369 |
* @since 1.0
|
2370 |
* @param object $module A module node object.
|
2372 |
*/
|
2373 |
static public function render_responsive_module_margins($module)
|
2374 |
{
|
2375 |
+
$global_settings = FLBuilderModel::get_global_settings();
|
2376 |
+
$settings = $module->settings;
|
2377 |
+
$margins = '';
|
2378 |
+
$css = '';
|
2379 |
+
|
2380 |
+
// Bail early if we have global responsive margins.
|
2381 |
+
if ( '' != $global_settings->module_margins_responsive ) {
|
2382 |
+
return $css;
|
2383 |
}
|
2384 |
+
|
2385 |
+
// Get the global default margin value to use.
|
2386 |
+
if ( '' != $global_settings->module_margins_medium ) {
|
2387 |
+
$default = trim( $global_settings->module_margins_medium );
|
2388 |
}
|
2389 |
+
else {
|
2390 |
+
$default = trim( $global_settings->module_margins );
|
2391 |
}
|
2392 |
+
|
2393 |
+
// Set the responsive margin CSS if necessary.
|
2394 |
+
foreach ( array( 'top', 'bottom', 'left', 'right' ) as $dimension ) {
|
2395 |
+
|
2396 |
+
$responsive = 'margin_' . $dimension . '_responsive';
|
2397 |
+
$medium = 'margin_' . $dimension . '_responsive';
|
2398 |
+
$desktop = 'margin_' . $dimension;
|
2399 |
+
|
2400 |
+
if ( '' == $settings->$responsive ) {
|
2401 |
+
|
2402 |
+
$value = '' == $settings->$medium ? $settings->$desktop : $settings->$medium;
|
2403 |
+
|
2404 |
+
if ( '' != $value && ( $value > $default || $value < 0 ) ) {
|
2405 |
+
$margins .= 'margin-' . $dimension . ':' . esc_attr( $default ) . 'px;';
|
2406 |
+
}
|
2407 |
+
}
|
2408 |
}
|
2409 |
+
|
2410 |
+
// Set the media query if we have margins.
|
2411 |
+
if ( '' !== $margins ) {
|
2412 |
+
$css .= '@media (max-width: ' . esc_attr( $global_settings->responsive_breakpoint ) . 'px) { ';
|
2413 |
+
$css .= '.fl-node-' . $module->node . ' > .fl-module-content { ' . $margins . ' }';
|
2414 |
$css .= ' }';
|
2415 |
}
|
2416 |
|
2761 |
}
|
2762 |
}
|
2763 |
|
2764 |
+
FLBuilder::init();
|
css/fl-builder-layout-auto-spacing.css
CHANGED
@@ -1,26 +1,26 @@
|
|
1 |
/* Rows
|
2 |
------------------------------------------------------ */
|
3 |
|
4 |
-
.fl-row-content-wrap {
|
5 |
-
border-left: none
|
6 |
-
border-right: none
|
7 |
-
margin: 0
|
8 |
-
padding-left: 0
|
9 |
-
padding-right: 0
|
10 |
}
|
11 |
-
.fl-row .fl-bg-video,
|
12 |
-
.fl-row .fl-bg-slideshow {
|
13 |
-
left: 0
|
14 |
-
right: 0
|
15 |
}
|
16 |
|
17 |
/* Columns
|
18 |
------------------------------------------------------ */
|
19 |
|
20 |
-
.fl-col-content {
|
21 |
-
border-left: none
|
22 |
-
border-right: none
|
23 |
-
margin: 0
|
24 |
-
padding-left: 0
|
25 |
-
padding-right: 0
|
26 |
}
|
1 |
/* Rows
|
2 |
------------------------------------------------------ */
|
3 |
|
4 |
+
.fl-row[data-node] .fl-row-content-wrap {
|
5 |
+
border-left: none;
|
6 |
+
border-right: none;
|
7 |
+
margin: 0;
|
8 |
+
padding-left: 0;
|
9 |
+
padding-right: 0;
|
10 |
}
|
11 |
+
.fl-row[data-node] .fl-bg-video,
|
12 |
+
.fl-row[data-node] .fl-bg-slideshow {
|
13 |
+
left: 0;
|
14 |
+
right: 0;
|
15 |
}
|
16 |
|
17 |
/* Columns
|
18 |
------------------------------------------------------ */
|
19 |
|
20 |
+
.fl-col[data-node] .fl-col-content {
|
21 |
+
border-left: none;
|
22 |
+
border-right: none;
|
23 |
+
margin: 0;
|
24 |
+
padding-left: 0;
|
25 |
+
padding-right: 0;
|
26 |
}
|
css/fl-builder-layout.css
CHANGED
@@ -298,12 +298,14 @@
|
|
298 |
-ms-flex-pack: end;
|
299 |
}
|
300 |
|
301 |
-
.fl-col-group-equal-height.fl-col-group-align-center .fl-module
|
|
|
302 |
width: 100%;
|
303 |
}
|
304 |
|
305 |
/* IE11 fix for images with height:auto in equal height columns. */
|
306 |
-
.fl-builder-ie-11 .fl-col-group-equal-height .fl-module
|
|
|
307 |
min-height: 1px;
|
308 |
}
|
309 |
|
@@ -331,7 +333,7 @@
|
|
331 |
}
|
332 |
.fl-col-bg-overlay .fl-module {
|
333 |
position: relative;
|
334 |
-
z-index:
|
335 |
}
|
336 |
|
337 |
/* Modules
|
298 |
-ms-flex-pack: end;
|
299 |
}
|
300 |
|
301 |
+
.fl-col-group-equal-height.fl-col-group-align-center .fl-module,
|
302 |
+
.fl-col-group-equal-height.fl-col-group-align-center .fl-col-group {
|
303 |
width: 100%;
|
304 |
}
|
305 |
|
306 |
/* IE11 fix for images with height:auto in equal height columns. */
|
307 |
+
.fl-builder-ie-11 .fl-col-group-equal-height .fl-module,
|
308 |
+
.fl-col-group-equal-height.fl-col-group-align-center .fl-col-group {
|
309 |
min-height: 1px;
|
310 |
}
|
311 |
|
333 |
}
|
334 |
.fl-col-bg-overlay .fl-module {
|
335 |
position: relative;
|
336 |
+
z-index: 2;
|
337 |
}
|
338 |
|
339 |
/* Modules
|
css/fl-builder-rtl.css
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
------------------------------------------------------ */
|
28 |
|
29 |
.fl-lightbox-header .fl-builder-preview-loader {
|
30 |
-
left:
|
31 |
right: auto;
|
32 |
}
|
33 |
.fl-form-table th {
|
27 |
------------------------------------------------------ */
|
28 |
|
29 |
.fl-lightbox-header .fl-builder-preview-loader {
|
30 |
+
left: 40px;
|
31 |
right: auto;
|
32 |
}
|
33 |
.fl-form-table th {
|
css/fl-builder.css
CHANGED
@@ -1,15 +1,3 @@
|
|
1 |
-
/**
|
2 |
-
* Temporary fix! Should be removed when fixed in WordPress core.
|
3 |
-
*
|
4 |
-
* The jQuery update in WordPress 4.5 breaks the media library
|
5 |
-
* when border-collapse is set to 'collapse' for the table element.
|
6 |
-
* This is a temporary fix until fixed in core. See this ticket:
|
7 |
-
* https://core.trac.wordpress.org/ticket/36533
|
8 |
-
*/
|
9 |
-
table {
|
10 |
-
border-collapse: inherit !important;
|
11 |
-
}
|
12 |
-
|
13 |
/* General
|
14 |
------------------------------------------------------ */
|
15 |
|
@@ -44,9 +32,6 @@ html.fl-builder-edit {
|
|
44 |
display: block;
|
45 |
position: absolute;
|
46 |
}
|
47 |
-
#tiptip_holder {
|
48 |
-
z-index: 200000;
|
49 |
-
}
|
50 |
.screen-reader-text {
|
51 |
position: absolute;
|
52 |
left: -1000em;
|
@@ -67,6 +52,49 @@ html.fl-builder-edit {
|
|
67 |
display: block !important;
|
68 |
}
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
/* Builder Buttons
|
71 |
------------------------------------------------------ */
|
72 |
|
@@ -160,70 +188,6 @@ html.fl-builder-edit {
|
|
160 |
background: #ff9600;
|
161 |
}
|
162 |
|
163 |
-
/* Builder Submenus
|
164 |
-
------------------------------------------------------ */
|
165 |
-
|
166 |
-
.fl-builder-has-submenu {
|
167 |
-
position: relative;
|
168 |
-
}
|
169 |
-
.fl-builder-has-submenu > ul.fl-builder-submenu.fl-block-col-submenu {
|
170 |
-
background: #3ba0ff;
|
171 |
-
box-shadow: 0 0 20px rgba(0,0,0,0.20);
|
172 |
-
display: none;
|
173 |
-
left: 0;
|
174 |
-
list-style: none;
|
175 |
-
margin: 0;
|
176 |
-
padding: 6px 0;
|
177 |
-
position: absolute;
|
178 |
-
text-align: left;
|
179 |
-
top: 100%;
|
180 |
-
width: 155px;
|
181 |
-
z-index: 100008;
|
182 |
-
}
|
183 |
-
.fl-builder-has-submenu > ul.fl-builder-submenu.fl-block-col-submenu li {
|
184 |
-
list-style: none;
|
185 |
-
margin: 0;
|
186 |
-
padding: 0;
|
187 |
-
}
|
188 |
-
.fl-builder-submenu-right ul.fl-builder-submenu.fl-block-col-submenu {
|
189 |
-
left: auto;
|
190 |
-
right: 0;
|
191 |
-
}
|
192 |
-
.fl-builder-submenu-open ul.fl-builder-submenu.fl-block-col-submenu {
|
193 |
-
display: block;
|
194 |
-
}
|
195 |
-
.fl-builder-has-submenu > ul.fl-builder-submenu.fl-block-col-submenu li a {
|
196 |
-
border-bottom: 0 none;
|
197 |
-
box-shadow: none;
|
198 |
-
-moz-box-shadow: none;
|
199 |
-
-webkit-box-shadow: none;
|
200 |
-
color: #fff !important;
|
201 |
-
display: block;
|
202 |
-
line-height: 13px;
|
203 |
-
font-size: 13px;
|
204 |
-
font-family: Helvetica, Arial, Verdana, sans-serif;
|
205 |
-
font-weight: normal;
|
206 |
-
opacity: 0.8;
|
207 |
-
filter: alpha(opacity = 80);
|
208 |
-
padding: 6px 12px;
|
209 |
-
text-decoration: none;
|
210 |
-
}
|
211 |
-
.fl-builder-has-submenu > ul.fl-builder-submenu li a:hover {
|
212 |
-
background: #54acff;
|
213 |
-
color: #fff;
|
214 |
-
opacity: 1;
|
215 |
-
filter: alpha(opacity = 100);
|
216 |
-
text-decoration: none;
|
217 |
-
}
|
218 |
-
|
219 |
-
/* Global Submenus */
|
220 |
-
.fl-block-overlay-global ul.fl-builder-submenu {
|
221 |
-
background: #ff9600;
|
222 |
-
}
|
223 |
-
.fl-block-overlay-global ul.fl-builder-submenu li a:hover {
|
224 |
-
background: #ffaa33;
|
225 |
-
}
|
226 |
-
|
227 |
/* Builder Bar
|
228 |
------------------------------------------------------ */
|
229 |
|
@@ -255,6 +219,7 @@ html.fl-builder-edit {
|
|
255 |
padding: 7px 10px;
|
256 |
}
|
257 |
.fl-builder-bar-title img {
|
|
|
258 |
height: 30px !important;
|
259 |
margin: 0 1px 0 0 !important;
|
260 |
vertical-align: middle !important;
|
@@ -301,6 +266,19 @@ html.fl-builder-edit {
|
|
301 |
color: #fff !important;
|
302 |
}
|
303 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
/* Builder Panel
|
305 |
------------------------------------------------------ */
|
306 |
|
@@ -529,6 +507,9 @@ span.fl-builder-block-no-node-templates:hover {
|
|
529 |
/* Drag and Drop
|
530 |
------------------------------------------------------ */
|
531 |
|
|
|
|
|
|
|
532 |
.fl-builder-empty {
|
533 |
border: 1px dashed #3ba0ff;
|
534 |
color: #3ba0ff;
|
@@ -536,76 +517,268 @@ span.fl-builder-block-no-node-templates:hover {
|
|
536 |
font-size: 14px;
|
537 |
margin: 10px;
|
538 |
padding: 100px 20px;
|
|
|
539 |
text-align: center;
|
540 |
text-transform: uppercase;
|
541 |
}
|
542 |
-
.fl-builder-empty .fl-builder-drop-zone {
|
543 |
-
margin: 10px;
|
544 |
-
}
|
545 |
.fl-builder-block.ui-draggable-dragging,
|
546 |
.fl-builder-block-drag-helper {
|
547 |
-
background:
|
548 |
border: 1px solid #ccc;
|
549 |
box-shadow: 0 0 8px rgba(0,0,0,0.2);
|
550 |
-moz-box-shadow: 0 0 8px rgba(0,0,0,0.2);
|
551 |
-webkit-box-shadow: 0 0 8px rgba(0,0,0,0.2);
|
552 |
color: #999999 !important;
|
553 |
font-family: Helvetica, Verdana, sans-serif !important;
|
554 |
-
font-size:
|
555 |
-
height:
|
556 |
-
line-height:
|
557 |
overflow: hidden;
|
558 |
-
padding: 0
|
559 |
position: fixed !important;
|
560 |
text-overflow: ellipsis;
|
561 |
white-space: nowrap;
|
562 |
-
width:
|
563 |
-
z-index: 100010;
|
564 |
}
|
565 |
.fl-builder-drop-zone {
|
|
|
566 |
background: #3ba0ff;
|
567 |
-
color: #fff;
|
568 |
display: block;
|
569 |
font-family: Helvetica, Verdana, sans-serif !important;
|
570 |
-
font-weight:
|
571 |
-
font-size:
|
|
|
|
|
572 |
margin: 10px;
|
573 |
-
padding:
|
|
|
|
|
|
|
574 |
text-shadow: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
575 |
}
|
576 |
.fl-builder-drop-zone-global {
|
|
|
577 |
background: #ff9600;
|
578 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
.fl-builder-content > .fl-builder-drop-zone {
|
580 |
margin: 10px 20px;
|
581 |
}
|
582 |
.fl-row-content > .fl-builder-drop-zone {
|
583 |
-
margin:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
584 |
}
|
|
|
|
|
585 |
.fl-row-highlight {
|
586 |
-
padding:
|
587 |
}
|
588 |
.fl-row-highlight .fl-row-content {
|
589 |
-
border: 1px dashed #
|
590 |
-
padding:
|
591 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
.fl-col-highlight {
|
593 |
-
padding:
|
|
|
594 |
}
|
595 |
.fl-col-highlight .fl-col-content {
|
596 |
-
border-style: dashed;
|
597 |
-
border-color: #3ba0ff;
|
598 |
-
border-top-width: 1px;
|
599 |
-
border-bottom-width: 1px;
|
600 |
-
border-left-width: 1px;
|
601 |
-
border-right-width: 1px;
|
602 |
min-height: 100px;
|
|
|
|
|
|
|
|
|
|
|
603 |
}
|
604 |
.fl-col-highlight.fl-node-global .fl-col-content {
|
605 |
-
border-color: #ff9600;
|
606 |
}
|
607 |
.fl-builder-simple .fl-col-highlight .fl-col-content {
|
608 |
-
border: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
609 |
}
|
610 |
|
611 |
/* Action Overlays
|
@@ -621,9 +794,13 @@ span.fl-builder-block-no-node-templates:hover {
|
|
621 |
.fl-block-overlay-actions {
|
622 |
background: #3ba0ff;
|
623 |
float: left;
|
624 |
-
|
|
|
625 |
text-shadow: none;
|
626 |
}
|
|
|
|
|
|
|
627 |
.fl-block-overlay-actions > span {
|
628 |
display: block;
|
629 |
float: left;
|
@@ -652,7 +829,7 @@ span.fl-builder-block-no-node-templates:hover {
|
|
652 |
.fl-block-overlay-actions > i:last-child {
|
653 |
padding-right: 2px;
|
654 |
}
|
655 |
-
.fl-block-overlay-actions
|
656 |
cursor: move;
|
657 |
}
|
658 |
.fl-block-overlay-title {
|
@@ -702,13 +879,13 @@ span.fl-builder-block-no-node-templates:hover {
|
|
702 |
.fl-col-overlay {
|
703 |
background: rgba(59, 160, 255, 0.15);
|
704 |
border: 1px solid #3ba0ff;
|
705 |
-
bottom:
|
706 |
cursor: pointer;
|
707 |
color: #fff;
|
708 |
-
left:
|
709 |
position: absolute;
|
710 |
-
right:
|
711 |
-
top:
|
712 |
z-index: 100007;
|
713 |
}
|
714 |
|
@@ -784,16 +961,8 @@ span.fl-builder-block-no-node-templates:hover {
|
|
784 |
}
|
785 |
|
786 |
/* Disabled Overlays */
|
787 |
-
.fl-node-disabled {
|
788 |
-
|
789 |
-
}
|
790 |
-
.fl-node-disabled-overlay {
|
791 |
-
background: rgba(153, 153, 153, 0.75);
|
792 |
-
bottom: 0;
|
793 |
-
left: 0;
|
794 |
-
position: absolute;
|
795 |
-
right: 0;
|
796 |
-
top: 0;
|
797 |
}
|
798 |
|
799 |
/* Column Resize Handles */
|
@@ -852,6 +1021,119 @@ span.fl-builder-block-no-node-templates:hover {
|
|
852 |
top: -7px;
|
853 |
}
|
854 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
855 |
/* Actions Lightbox
|
856 |
------------------------------------------------------ */
|
857 |
|
@@ -1049,7 +1331,7 @@ form.fl-builder-settings {
|
|
1049 |
.fl-lightbox-header .fl-builder-preview-loader {
|
1050 |
margin: 0;
|
1051 |
position: absolute;
|
1052 |
-
right:
|
1053 |
top: 15px;
|
1054 |
}
|
1055 |
|
@@ -1062,20 +1344,24 @@ form.fl-builder-settings {
|
|
1062 |
padding: 15px 20px 0 20px;
|
1063 |
}
|
1064 |
.fl-builder-settings-tabs a {
|
1065 |
-
color: #999;
|
1066 |
display: inline-block;
|
1067 |
margin: 0;
|
|
|
1068 |
padding: 10px 20px;
|
1069 |
text-decoration: none !important;
|
1070 |
}
|
1071 |
.fl-builder-settings-tabs a:hover {
|
1072 |
color: #333;
|
1073 |
}
|
|
|
|
|
|
|
1074 |
.fl-builder-settings-tabs a.fl-active {
|
1075 |
background: #fff;
|
1076 |
border: 1px solid #dfdfdf;
|
1077 |
border-bottom: none;
|
1078 |
-
color: #
|
1079 |
position: relative;
|
1080 |
top: 1px;
|
1081 |
}
|
@@ -1108,6 +1394,7 @@ form.fl-builder-settings {
|
|
1108 |
------------------------------------------------------ */
|
1109 |
|
1110 |
.fl-form-table {
|
|
|
1111 |
border: none;
|
1112 |
width: 100%;
|
1113 |
}
|
@@ -1127,9 +1414,16 @@ form.fl-builder-settings {
|
|
1127 |
vertical-align: top !important;
|
1128 |
width: 200px !important;
|
1129 |
}
|
1130 |
-
.fl-form-table
|
1131 |
-
|
|
|
|
|
|
|
|
|
|
|
1132 |
padding: 8px 10px;
|
|
|
|
|
1133 |
}
|
1134 |
|
1135 |
/* Settings Fields
|
@@ -1161,8 +1455,8 @@ form.fl-builder-settings {
|
|
1161 |
.fl-builder-settings-fields input[type=tel],
|
1162 |
.fl-builder-settings-fields input[type=url],
|
1163 |
.fl-builder-settings-fields select {
|
1164 |
-
background: #fff;
|
1165 |
-
border-color: #dfdfdf;
|
1166 |
border-style: solid;
|
1167 |
border-width: 1px;
|
1168 |
border-radius: 3px;
|
@@ -1171,7 +1465,7 @@ form.fl-builder-settings {
|
|
1171 |
box-shadow: none;
|
1172 |
-moz-box-shadow: none;
|
1173 |
-webkit-box-shadow: none;
|
1174 |
-
color: #333;
|
1175 |
display: inline;
|
1176 |
font-size: 12px;
|
1177 |
height: auto;
|
@@ -1181,6 +1475,9 @@ form.fl-builder-settings {
|
|
1181 |
padding: 3px;
|
1182 |
width: auto;
|
1183 |
}
|
|
|
|
|
|
|
1184 |
.fl-builder-settings-fields textarea:focus,
|
1185 |
.fl-builder-settings-fields input[type=text]:focus,
|
1186 |
.fl-builder-settings-fields input[type=password]:focus,
|
@@ -1192,22 +1489,26 @@ form.fl-builder-settings {
|
|
1192 |
.fl-builder-settings-fields input[type=url]:focus,
|
1193 |
.fl-builder-settings-fields select:focus {
|
1194 |
background: transparent;
|
1195 |
-
border-color: #
|
1196 |
}
|
1197 |
.fl-builder-settings-fields select[multiple] {
|
1198 |
height: 60px;
|
1199 |
}
|
1200 |
.fl-builder-settings-fields ::-webkit-input-placeholder { /* WebKit browsers */
|
1201 |
color: #999 !important;
|
|
|
1202 |
}
|
1203 |
.fl-builder-settings-fields input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
|
1204 |
color: #999;
|
|
|
1205 |
}
|
1206 |
.fl-builder-settings-fields ::-moz-placeholder { /* Mozilla Firefox 19+ */
|
1207 |
color: #999 !important;
|
|
|
1208 |
}
|
1209 |
.fl-builder-settings-fields input:-ms-input-placeholder { /* Internet Explorer 10+ */
|
1210 |
color: #999;
|
|
|
1211 |
}
|
1212 |
.fl-builder-settings-fields label {
|
1213 |
font-weight: normal;
|
@@ -1218,9 +1519,11 @@ form.fl-builder-settings {
|
|
1218 |
padding: 2px;
|
1219 |
}
|
1220 |
.fl-builder-settings-description {
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
|
|
|
|
1224 |
}
|
1225 |
.fl-builder-settings-fields table {
|
1226 |
margin: 0;
|
@@ -1294,6 +1597,29 @@ form.fl-builder-settings {
|
|
1294 |
padding: 6px;
|
1295 |
}
|
1296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1297 |
/* Text Field */
|
1298 |
.fl-builder-settings-fields input.text-full {
|
1299 |
width: 97%;
|
@@ -1842,6 +2168,20 @@ li.as-result-item em {
|
|
1842 |
text-decoration: underline !important;
|
1843 |
}
|
1844 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1845 |
/* Getting Started Video
|
1846 |
------------------------------------------------------ */
|
1847 |
|
@@ -1946,4 +2286,4 @@ body > .fl-builder-tour-dimmed {
|
|
1946 |
right: -1px;
|
1947 |
top: -1px;
|
1948 |
z-index: 1;
|
1949 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/* General
|
2 |
------------------------------------------------------ */
|
3 |
|
32 |
display: block;
|
33 |
position: absolute;
|
34 |
}
|
|
|
|
|
|
|
35 |
.screen-reader-text {
|
36 |
position: absolute;
|
37 |
left: -1000em;
|
52 |
display: block !important;
|
53 |
}
|
54 |
|
55 |
+
/* Responsive Editing
|
56 |
+
------------------------------------------------------ */
|
57 |
+
|
58 |
+
.fl-responsive-preview-mask {
|
59 |
+
background: #F7F7F7;
|
60 |
+
bottom: 0;
|
61 |
+
left: 0;
|
62 |
+
position: fixed;
|
63 |
+
right: 0;
|
64 |
+
top: 0;
|
65 |
+
z-index: 99999;
|
66 |
+
}
|
67 |
+
.fl-responsive-preview {
|
68 |
+
bottom: 0;
|
69 |
+
left: 0;
|
70 |
+
position: absolute;
|
71 |
+
right: 0;
|
72 |
+
top: 43px;
|
73 |
+
z-index: 100000;
|
74 |
+
}
|
75 |
+
.fl-responsive-preview-content {
|
76 |
+
background: #F7F7F7;
|
77 |
+
padding: 20px;
|
78 |
+
}
|
79 |
+
.fl-responsive-preview-message {
|
80 |
+
color: #b3b3b3;
|
81 |
+
font-family: Helvetica, Arial, Verdana, sans-serif;
|
82 |
+
font-size: 14px;
|
83 |
+
font-weight: normal;
|
84 |
+
padding: 0 20px 20px;
|
85 |
+
text-align: center;
|
86 |
+
}
|
87 |
+
.fl-responsive-preview-message i {
|
88 |
+
cursor: pointer;
|
89 |
+
margin-left: 3px;
|
90 |
+
}
|
91 |
+
.fl-responsive-preview .fl-builder-content {
|
92 |
+
box-shadow: 0 0 8px rgba(0,0,0,0.2);
|
93 |
+
margin-left: auto;
|
94 |
+
margin-right: auto;
|
95 |
+
max-width: 100%;
|
96 |
+
}
|
97 |
+
|
98 |
/* Builder Buttons
|
99 |
------------------------------------------------------ */
|
100 |
|
188 |
background: #ff9600;
|
189 |
}
|
190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
/* Builder Bar
|
192 |
------------------------------------------------------ */
|
193 |
|
219 |
padding: 7px 10px;
|
220 |
}
|
221 |
.fl-builder-bar-title img {
|
222 |
+
display: inline-block!important;
|
223 |
height: 30px !important;
|
224 |
margin: 0 1px 0 0 !important;
|
225 |
vertical-align: middle !important;
|
266 |
color: #fff !important;
|
267 |
}
|
268 |
|
269 |
+
/* Responsive Bar */
|
270 |
+
@media (max-width: 768px) {
|
271 |
+
.fl-builder-bar-title span {
|
272 |
+
display: none;
|
273 |
+
}
|
274 |
+
}
|
275 |
+
@media (max-width: 420px) {
|
276 |
+
.fl-builder-bar-title,
|
277 |
+
.fl-builder-help-button {
|
278 |
+
display: none;
|
279 |
+
}
|
280 |
+
}
|
281 |
+
|
282 |
/* Builder Panel
|
283 |
------------------------------------------------------ */
|
284 |
|
507 |
/* Drag and Drop
|
508 |
------------------------------------------------------ */
|
509 |
|
510 |
+
.fl-builder-dragging .fl-builder-content:not(.fl-builder-empty) {
|
511 |
+
padding: 16px 0;
|
512 |
+
}
|
513 |
.fl-builder-empty {
|
514 |
border: 1px dashed #3ba0ff;
|
515 |
color: #3ba0ff;
|
517 |
font-size: 14px;
|
518 |
margin: 10px;
|
519 |
padding: 100px 20px;
|
520 |
+
position: relative;
|
521 |
text-align: center;
|
522 |
text-transform: uppercase;
|
523 |
}
|
|
|
|
|
|
|
524 |
.fl-builder-block.ui-draggable-dragging,
|
525 |
.fl-builder-block-drag-helper {
|
526 |
+
background: rgba( 255, 255, 255, 0.85 ) !important;
|
527 |
border: 1px solid #ccc;
|
528 |
box-shadow: 0 0 8px rgba(0,0,0,0.2);
|
529 |
-moz-box-shadow: 0 0 8px rgba(0,0,0,0.2);
|
530 |
-webkit-box-shadow: 0 0 8px rgba(0,0,0,0.2);
|
531 |
color: #999999 !important;
|
532 |
font-family: Helvetica, Verdana, sans-serif !important;
|
533 |
+
font-size: 13px !important;
|
534 |
+
height: 40px !important;
|
535 |
+
line-height: 40px !important;
|
536 |
overflow: hidden;
|
537 |
+
padding: 0 15px;
|
538 |
position: fixed !important;
|
539 |
text-overflow: ellipsis;
|
540 |
white-space: nowrap;
|
541 |
+
width: 120px !important;
|
542 |
+
z-index: 100010 !important;
|
543 |
}
|
544 |
.fl-builder-drop-zone {
|
545 |
+
animation: fl-builder-drop-zone-pulse 3s infinite;
|
546 |
background: #3ba0ff;
|
547 |
+
color: #fff !important;
|
548 |
display: block;
|
549 |
font-family: Helvetica, Verdana, sans-serif !important;
|
550 |
+
font-weight: normal;
|
551 |
+
font-size: 12px;
|
552 |
+
letter-spacing: 1px;
|
553 |
+
line-height: 14px;
|
554 |
margin: 10px;
|
555 |
+
padding: 6px 8px 5px;
|
556 |
+
position: relative;
|
557 |
+
text-align: left;
|
558 |
+
text-overflow: ellipsis;
|
559 |
text-shadow: none;
|
560 |
+
text-transform: none;
|
561 |
+
white-space: nowrap;
|
562 |
+
overflow: hidden;
|
563 |
+
z-index: 10;
|
564 |
+
}
|
565 |
+
@keyframes fl-builder-drop-zone-pulse {
|
566 |
+
0% {
|
567 |
+
background-color: #7ABFFF;
|
568 |
+
}
|
569 |
+
50% {
|
570 |
+
background-color: #3ba0ff;
|
571 |
+
}
|
572 |
+
100% {
|
573 |
+
background-color: #7ABFFF;
|
574 |
+
}
|
575 |
}
|
576 |
.fl-builder-drop-zone-global {
|
577 |
+
animation: fl-builder-drop-zone-global-pulse 3s infinite;
|
578 |
background: #ff9600;
|
579 |
}
|
580 |
+
@keyframes fl-builder-drop-zone-global-pulse {
|
581 |
+
0% {
|
582 |
+
background-color: #FFBC5C;
|
583 |
+
}
|
584 |
+
50% {
|
585 |
+
background-color: #ff9600;
|
586 |
+
}
|
587 |
+
100% {
|
588 |
+
background-color: #FFBC5C;
|
589 |
+
}
|
590 |
+
}
|
591 |
.fl-builder-content > .fl-builder-drop-zone {
|
592 |
margin: 10px 20px;
|
593 |
}
|
594 |
.fl-row-content > .fl-builder-drop-zone {
|
595 |
+
margin: 3px 7px;
|
596 |
+
}
|
597 |
+
.fl-col-has-cols > .fl-col-content > .fl-builder-drop-zone {
|
598 |
+
margin: 3px 10px;
|
599 |
+
}
|
600 |
+
.fl-sortable-disabled > .fl-builder-drop-zone {
|
601 |
+
display: none !important;
|
602 |
+
}
|
603 |
+
.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content > .fl-builder-drop-zone {
|
604 |
+
width: 100%;
|
605 |
}
|
606 |
+
|
607 |
+
/* Row Highlights */
|
608 |
.fl-row-highlight {
|
609 |
+
padding: 16px 0;
|
610 |
}
|
611 |
.fl-row-highlight .fl-row-content {
|
612 |
+
border: 1px dashed #3ba0ff;
|
613 |
+
padding: 8px;
|
614 |
}
|
615 |
+
.fl-row-highlight.fl-node-global .fl-row-content {
|
616 |
+
border-color: #ff9600;
|
617 |
+
}
|
618 |
+
.fl-row-highlight .fl-col-group {
|
619 |
+
position: relative;
|
620 |
+
}
|
621 |
+
|
622 |
+
/* Column Highlights */
|
623 |
.fl-col-highlight {
|
624 |
+
padding: 8px;
|
625 |
+
position: relative;
|
626 |
}
|
627 |
.fl-col-highlight .fl-col-content {
|
628 |
+
border-style: dashed !important;
|
629 |
+
border-color: #3ba0ff !important;
|
630 |
+
border-top-width: 1px !important;
|
631 |
+
border-bottom-width: 1px !important;
|
632 |
+
border-left-width: 1px !important;
|
633 |
+
border-right-width: 1px !important;
|
634 |
min-height: 100px;
|
635 |
+
overflow-x: hidden;
|
636 |
+
width: 100%;
|
637 |
+
}
|
638 |
+
.fl-col-has-cols.fl-col-highlight > .fl-col-content {
|
639 |
+
padding: 8px;
|
640 |
}
|
641 |
.fl-col-highlight.fl-node-global .fl-col-content {
|
642 |
+
border-color: #ff9600 !important;
|
643 |
}
|
644 |
.fl-builder-simple .fl-col-highlight .fl-col-content {
|
645 |
+
border: none !important;
|
646 |
+
}
|
647 |
+
|
648 |
+
/* Column Highlight Guides */
|
649 |
+
.fl-col-has-highlight-guide .fl-col-content {
|
650 |
+
position: relative;
|
651 |
+
}
|
652 |
+
.fl-col-highlight-guide {
|
653 |
+
background: rgba(59, 160, 255, 0.15);
|
654 |
+
border: 1px solid #3ba0ff;
|
655 |
+
bottom: 4px;
|
656 |
+
left: 4px;
|
657 |
+
position: absolute;
|
658 |
+
right: 4px;
|
659 |
+
top: 4px;
|
660 |
+
z-index: 1;
|
661 |
+
}
|
662 |
+
.fl-col-has-highlight-guide .fl-block-overlay {
|
663 |
+
background: none;
|
664 |
+
border-color: transparent;
|
665 |
+
}
|
666 |
+
.fl-col-has-highlight-guide .fl-block-col-resize {
|
667 |
+
display: none;
|
668 |
+
}
|
669 |
+
.fl-col-has-highlight-guide .fl-col-highlight .fl-col-content {
|
670 |
+
border-color: transparent !important;
|
671 |
+
}
|
672 |
+
|
673 |
+
/* Column Drop Targets */
|
674 |
+
.fl-col-drop-target {
|
675 |
+
bottom: 8px;
|
676 |
+
display: none;
|
677 |
+
left: -9px;
|
678 |
+
position: absolute;
|
679 |
+
top: 8px;
|
680 |
+
width: 18px;
|
681 |
+
z-index: 1;
|
682 |
+
}
|
683 |
+
.fl-col-highlight .fl-col-drop-target {
|
684 |
+
display: block;
|
685 |
+
}
|
686 |
+
.fl-col-drop-target-last {
|
687 |
+
left: auto;
|
688 |
+
right: -9px;
|
689 |
+
}
|
690 |
+
.fl-col-drop-target .fl-builder-drop-zone {
|
691 |
+
bottom: 0;
|
692 |
+
left: 2px;
|
693 |
+
margin: 0;
|
694 |
+
padding: 0;
|
695 |
+
position: absolute;
|
696 |
+
right: 2px;
|
697 |
+
top: 0;
|
698 |
+
}
|
699 |
+
|
700 |
+
/* Column Group Drop Targets */
|
701 |
+
.fl-col-group-drop-target {
|
702 |
+
display: none;
|
703 |
+
left: 8px;
|
704 |
+
height: 18px;
|
705 |
+
position: absolute;
|
706 |
+
right: 8px;
|
707 |
+
top: -9px;
|
708 |
+
z-index: 1;
|
709 |
+
}
|
710 |
+
.fl-row-highlight .fl-col-group-drop-target {
|
711 |
+
display: block;
|
712 |
+
}
|
713 |
+
.fl-col-group-drop-target-last {
|
714 |
+
top: auto;
|
715 |
+
bottom: -9px;
|
716 |
+
}
|
717 |
+
.fl-col-group-drop-target .fl-builder-drop-zone {
|
718 |
+
bottom: 2px;
|
719 |
+
left: 0;
|
720 |
+
margin: 0;
|
721 |
+
padding: 0;
|
722 |
+
position: absolute;
|
723 |
+
right: 0;
|
724 |
+
top: 2px;
|
725 |
+
}
|
726 |
+
.fl-row-content > .fl-col-group-drop-target {
|
727 |
+
position: static;
|
728 |
+
}
|
729 |
+
.fl-row-content > .fl-col-group-drop-target .fl-builder-drop-zone {
|
730 |
+
height: 18px;
|
731 |
+
position: static;
|
732 |
+
}
|
733 |
+
|
734 |
+
/* Row Drop Targets */
|
735 |
+
.fl-row-drop-target {
|
736 |
+
display: none;
|
737 |
+
left: 0;
|
738 |
+
height: 24px;
|
739 |
+
margin-top: -28px;
|
740 |
+
position: absolute;
|
741 |
+
right: 0;
|
742 |
+
z-index: 1;
|
743 |
+
}
|
744 |
+
.fl-row-highlight .fl-row-drop-target {
|
745 |
+
display: block;
|
746 |
+
}
|
747 |
+
.fl-row-drop-target-last {
|
748 |
+
margin-top: 0;
|
749 |
+
margin-top: 4px;
|
750 |
+
}
|
751 |
+
.fl-row .fl-row-drop-target .fl-builder-drop-zone {
|
752 |
+
bottom: 0;
|
753 |
+
left: 4px;
|
754 |
+
margin: 0;
|
755 |
+
position: absolute;
|
756 |
+
right: 4px;
|
757 |
+
top: 0;
|
758 |
+
}
|
759 |
+
|
760 |
+
/* Main Layout Row Drop Target */
|
761 |
+
.fl-builder-content > .fl-row-drop-target {
|
762 |
+
margin: 0;
|
763 |
+
position: static;
|
764 |
+
}
|
765 |
+
.fl-builder-dragging .fl-builder-content.fl-builder-empty > .fl-row-drop-target {
|
766 |
+
bottom: 10px;
|
767 |
+
display: block;
|
768 |
+
height: auto;
|
769 |
+
left: 0;
|
770 |
+
position: absolute;
|
771 |
+
right: 0;
|
772 |
+
top: 10px;
|
773 |
+
}
|
774 |
+
.fl-builder-content .fl-row-drop-target .fl-builder-drop-zone {
|
775 |
+
margin-bottom: 0;
|
776 |
+
margin-top: 0;
|
777 |
+
}
|
778 |
+
|
779 |
+
/* Sortable Proxies */
|
780 |
+
.fl-sortable-proxy {
|
781 |
+
display: none;
|
782 |
}
|
783 |
|
784 |
/* Action Overlays
|
794 |
.fl-block-overlay-actions {
|
795 |
background: #3ba0ff;
|
796 |
float: left;
|
797 |
+
height: 28px;
|
798 |
+
margin: -1px -1px 0;
|
799 |
text-shadow: none;
|
800 |
}
|
801 |
+
.fl-builder-col-resizing .fl-block-overlay-actions {
|
802 |
+
overflow: hidden;
|
803 |
+
}
|
804 |
.fl-block-overlay-actions > span {
|
805 |
display: block;
|
806 |
float: left;
|
829 |
.fl-block-overlay-actions > i:last-child {
|
830 |
padding-right: 2px;
|
831 |
}
|
832 |
+
.fl-block-overlay-actions .fl-block-move {
|
833 |
cursor: move;
|
834 |
}
|
835 |
.fl-block-overlay-title {
|
879 |
.fl-col-overlay {
|
880 |
background: rgba(59, 160, 255, 0.15);
|
881 |
border: 1px solid #3ba0ff;
|
882 |
+
bottom: 8px;
|
883 |
cursor: pointer;
|
884 |
color: #fff;
|
885 |
+
left: 8px;
|
886 |
position: absolute;
|
887 |
+
right: 8px;
|
888 |
+
top: 8px;
|
889 |
z-index: 100007;
|
890 |
}
|
891 |
|
961 |
}
|
962 |
|
963 |
/* Disabled Overlays */
|
964 |
+
.fl-node-disabled .fl-row-content-wrap {
|
965 |
+
opacity: 0.3;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
966 |
}
|
967 |
|
968 |
/* Column Resize Handles */
|
1021 |
top: -7px;
|
1022 |
}
|
1023 |
|
1024 |
+
/* Builder Submenus
|
1025 |
+
------------------------------------------------------ */
|
1026 |
+
|
1027 |
+
.fl-builder-has-submenu {
|
1028 |
+
position: relative;
|
1029 |
+
}
|
1030 |
+
.fl-builder-has-submenu > ul.fl-builder-submenu {
|
1031 |
+
background: #3ba0ff;
|
1032 |
+
box-shadow: 0 0 20px rgba(0,0,0,0.20);
|
1033 |
+
display: none;
|
1034 |
+
left: 0;
|
1035 |
+
list-style: none;
|
1036 |
+
margin: 0;
|
1037 |
+
padding: 6px 0;
|
1038 |
+
position: absolute;
|
1039 |
+
text-align: left;
|
1040 |
+
top: 100%;
|
1041 |
+
width: 155px;
|
1042 |
+
z-index: 100008;
|
1043 |
+
}
|
1044 |
+
.fl-builder-has-submenu > ul.fl-builder-submenu li {
|
1045 |
+
list-style: none;
|
1046 |
+
margin: 0;
|
1047 |
+
padding: 0;
|
1048 |
+
}
|
1049 |
+
.fl-builder-submenu-right ul.fl-builder-submenu {
|
1050 |
+
left: auto;
|
1051 |
+
right: 0;
|
1052 |
+
}
|
1053 |
+
.fl-builder-submenu-open ul.fl-builder-submenu {
|
1054 |
+
display: block;
|
1055 |
+
}
|
1056 |
+
.fl-builder-has-submenu > ul.fl-builder-submenu li a {
|
1057 |
+
border-bottom: 0 none;
|
1058 |
+
box-shadow: none;
|
1059 |
+
-moz-box-shadow: none;
|
1060 |
+
-webkit-box-shadow: none;
|
1061 |
+
color: #fff !important;
|
1062 |
+
display: block;
|
1063 |
+
line-height: 13px;
|
1064 |
+
font-size: 13px;
|
1065 |
+
font-family: Helvetica, Arial, Verdana, sans-serif;
|
1066 |
+
font-weight: normal;
|
1067 |
+
opacity: 0.8;
|
1068 |
+
filter: alpha(opacity = 80);
|
1069 |
+
overflow: hidden;
|
1070 |
+
padding: 6px 12px;
|
1071 |
+
text-decoration: none;
|
1072 |
+
text-overflow: ellipsis;
|
1073 |
+
white-space: nowrap;
|
1074 |
+
}
|
1075 |
+
.fl-builder-has-submenu > ul.fl-builder-submenu li a:hover {
|
1076 |
+
background: #54acff;
|
1077 |
+
color: #fff;
|
1078 |
+
opacity: 1;
|
1079 |
+
filter: alpha(opacity = 100);
|
1080 |
+
text-decoration: none;
|
1081 |
+
}
|
1082 |
+
|
1083 |
+
/* Nested Submenus */
|
1084 |
+
.fl-builder-has-submenu .fl-builder-submenu .fa {
|
1085 |
+
float: right;
|
1086 |
+
height: 12px !important;
|
1087 |
+
line-height: 12px !important;
|
1088 |
+
position: relative;
|
1089 |
+
right: -5px;
|
1090 |
+
width: 14px !important;
|
1091 |
+
}
|
1092 |
+
.fl-builder-has-submenu .fl-builder-has-submenu .fl-builder-submenu {
|
1093 |
+
display: none;
|
1094 |
+
left: 100%;
|
1095 |
+
top: 0;
|
1096 |
+
}
|
1097 |
+
.fl-builder-has-submenu .fl-builder-submenu-right.fl-builder-has-submenu .fl-builder-submenu {
|
1098 |
+
left: auto;
|
1099 |
+
right: 100%;
|
1100 |
+
}
|
1101 |
+
.fl-builder-has-submenu .fl-builder-has-submenu:hover .fl-builder-submenu {
|
1102 |
+
display: block;
|
1103 |
+
}
|
1104 |
+
|
1105 |
+
/* Submenu Item Separators */
|
1106 |
+
.fl-builder-submenu-sep {
|
1107 |
+
padding: 7px 0px !important;
|
1108 |
+
}
|
1109 |
+
.fl-builder-submenu-sep div {
|
1110 |
+
border-bottom: 1px solid rgba( 255, 255, 255, 0.4 );
|
1111 |
+
}
|
1112 |
+
|
1113 |
+
/* Parent Column Controls */
|
1114 |
+
.fl-block-col-move,
|
1115 |
+
.fl-block-col-move-parent {
|
1116 |
+
cursor: move;
|
1117 |
+
position: relative;
|
1118 |
+
}
|
1119 |
+
|
1120 |
+
/* Submenu Move Icons */
|
1121 |
+
.fl-builder-submenu .fa-arrows {
|
1122 |
+
cursor: move;
|
1123 |
+
display: none !important;
|
1124 |
+
}
|
1125 |
+
.fl-builder-submenu a:hover .fa-arrows {
|
1126 |
+
display: block !important;
|
1127 |
+
}
|
1128 |
+
|
1129 |
+
/* Global Submenus */
|
1130 |
+
.fl-block-overlay-global ul.fl-builder-submenu {
|
1131 |
+
background: #ff9600 !important;
|
1132 |
+
}
|
1133 |
+
.fl-block-overlay-global ul.fl-builder-submenu li a:hover {
|
1134 |
+
background: #ffaa33;
|
1135 |
+
}
|
1136 |
+
|
1137 |
/* Actions Lightbox
|
1138 |
------------------------------------------------------ */
|
1139 |
|
1331 |
.fl-lightbox-header .fl-builder-preview-loader {
|
1332 |
margin: 0;
|
1333 |
position: absolute;
|
1334 |
+
right: 40px;
|
1335 |
top: 15px;
|
1336 |
}
|
1337 |
|
1344 |
padding: 15px 20px 0 20px;
|
1345 |
}
|
1346 |
.fl-builder-settings-tabs a {
|
1347 |
+
color: #999 !important;
|
1348 |
display: inline-block;
|
1349 |
margin: 0;
|
1350 |
+
outline: none;
|
1351 |
padding: 10px 20px;
|
1352 |
text-decoration: none !important;
|
1353 |
}
|
1354 |
.fl-builder-settings-tabs a:hover {
|
1355 |
color: #333;
|
1356 |
}
|
1357 |
+
.fl-builder-settings-tabs a:focus {
|
1358 |
+
outline: none;
|
1359 |
+
}
|
1360 |
.fl-builder-settings-tabs a.fl-active {
|
1361 |
background: #fff;
|
1362 |
border: 1px solid #dfdfdf;
|
1363 |
border-bottom: none;
|
1364 |
+
color: #333 !important;
|
1365 |
position: relative;
|
1366 |
top: 1px;
|
1367 |
}
|
1394 |
------------------------------------------------------ */
|
1395 |
|
1396 |
.fl-form-table {
|
1397 |
+
background: none transparent;
|
1398 |
border: none;
|
1399 |
width: 100%;
|
1400 |
}
|
1414 |
vertical-align: top !important;
|
1415 |
width: 200px !important;
|
1416 |
}
|
1417 |
+
.fl-form-table th label {
|
1418 |
+
color: #333;
|
1419 |
+
}
|
1420 |
+
.fl-form-table td {
|
1421 |
+
background: #fff !important;
|
1422 |
+
border: none !important;
|
1423 |
+
font-weight: normal !important;
|
1424 |
padding: 8px 10px;
|
1425 |
+
text-align: left !important;
|
1426 |
+
width: auto !important;
|
1427 |
}
|
1428 |
|
1429 |
/* Settings Fields
|
1455 |
.fl-builder-settings-fields input[type=tel],
|
1456 |
.fl-builder-settings-fields input[type=url],
|
1457 |
.fl-builder-settings-fields select {
|
1458 |
+
background: #fff !important;
|
1459 |
+
border-color: #dfdfdf !important;
|
1460 |
border-style: solid;
|
1461 |
border-width: 1px;
|
1462 |
border-radius: 3px;
|
1465 |
box-shadow: none;
|
1466 |
-moz-box-shadow: none;
|
1467 |
-webkit-box-shadow: none;
|
1468 |
+
color: #333 !important;
|
1469 |
display: inline;
|
1470 |
font-size: 12px;
|
1471 |
height: auto;
|
1475 |
padding: 3px;
|
1476 |
width: auto;
|
1477 |
}
|
1478 |
+
.fl-builder-settings-fields input[type=number] {
|
1479 |
+
width: 50px;
|
1480 |
+
}
|
1481 |
.fl-builder-settings-fields textarea:focus,
|
1482 |
.fl-builder-settings-fields input[type=text]:focus,
|
1483 |
.fl-builder-settings-fields input[type=password]:focus,
|
1489 |
.fl-builder-settings-fields input[type=url]:focus,
|
1490 |
.fl-builder-settings-fields select:focus {
|
1491 |
background: transparent;
|
1492 |
+
border-color: #dfdfdf;
|
1493 |
}
|
1494 |
.fl-builder-settings-fields select[multiple] {
|
1495 |
height: 60px;
|
1496 |
}
|
1497 |
.fl-builder-settings-fields ::-webkit-input-placeholder { /* WebKit browsers */
|
1498 |
color: #999 !important;
|
1499 |
+
font-size: 12px;
|
1500 |
}
|
1501 |
.fl-builder-settings-fields input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
|
1502 |
color: #999;
|
1503 |
+
font-size: 12px;
|
1504 |
}
|
1505 |
.fl-builder-settings-fields ::-moz-placeholder { /* Mozilla Firefox 19+ */
|
1506 |
color: #999 !important;
|
1507 |
+
font-size: 12px;
|
1508 |
}
|
1509 |
.fl-builder-settings-fields input:-ms-input-placeholder { /* Internet Explorer 10+ */
|
1510 |
color: #999;
|
1511 |
+
font-size: 12px;
|
1512 |
}
|
1513 |
.fl-builder-settings-fields label {
|
1514 |
font-weight: normal;
|
1519 |
padding: 2px;
|
1520 |
}
|
1521 |
.fl-builder-settings-description {
|
1522 |
+
padding: 10px;
|
1523 |
+
padding-top: 0;
|
1524 |
+
margin: 0;
|
1525 |
+
font-style: italic;
|
1526 |
+
opacity: .75;
|
1527 |
}
|
1528 |
.fl-builder-settings-fields table {
|
1529 |
margin: 0;
|
1597 |
padding: 6px;
|
1598 |
}
|
1599 |
|
1600 |
+
/* Responsive Options */
|
1601 |
+
.fl-field-responsive-setting {
|
1602 |
+
display: inline-block;
|
1603 |
+
}
|
1604 |
+
.fl-field-responsive-setting-medium,
|
1605 |
+
.fl-field-responsive-setting-responsive {
|
1606 |
+
display: none;
|
1607 |
+
}
|
1608 |
+
i.fl-field-responsive-toggle {
|
1609 |
+
color: #808080;
|
1610 |
+
cursor: pointer;
|
1611 |
+
display: inline-block;
|
1612 |
+
font-size: 15px !important;
|
1613 |
+
height: auto;
|
1614 |
+
line-height: 15px !important;
|
1615 |
+
text-align: left;
|
1616 |
+
vertical-align: middle;
|
1617 |
+
width: 20px;
|
1618 |
+
}
|
1619 |
+
i.fl-field-responsive-toggle:hover {
|
1620 |
+
color: #000;
|
1621 |
+
}
|
1622 |
+
|
1623 |
/* Text Field */
|
1624 |
.fl-builder-settings-fields input.text-full {
|
1625 |
width: 97%;
|
2168 |
text-decoration: underline !important;
|
2169 |
}
|
2170 |
|
2171 |
+
/* TipTip
|
2172 |
+
------------------------------------------------------ */
|
2173 |
+
|
2174 |
+
#tiptip_holder {
|
2175 |
+
z-index: 200000;
|
2176 |
+
}
|
2177 |
+
#tiptip_arrow_inner {
|
2178 |
+
border-top-color: #333 !important;
|
2179 |
+
}
|
2180 |
+
#tiptip_content {
|
2181 |
+
background: #333;
|
2182 |
+
box-shadow: none;
|
2183 |
+
}
|
2184 |
+
|
2185 |
/* Getting Started Video
|
2186 |
------------------------------------------------------ */
|
2187 |
|
2286 |
right: -1px;
|
2287 |
top: -1px;
|
2288 |
z-index: 1;
|
2289 |
+
}
|
css/fl-builder.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.fl-builder-edit #wpadminbar,.fl-builder-hidden-editor{display:none}.fl-builder-edit .media-frame,.fl-lightbox-wrap{-webkit-backface-visibility:hidden}table{border-collapse:inherit!important}html.fl-builder-edit{margin-top:43px!important}.fl-builder-edit body{position:static!important}.fl-clear{clear:both}.fl-builder-loading{background:url(../img/ajax-loader.gif) center center no-repeat rgba(240,240,240,.8);bottom:0;display:none;left:0;position:fixed;right:0;text-align:center;top:0;z-index:200000}.fl-builder-settings .fl-builder-loading{background:url(../img/ajax-loader.gif) center center no-repeat rgba(255,255,255,.8);display:block;position:absolute}#tiptip_holder{z-index:200000}.screen-reader-text{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}.fl-visible-desktop,.fl-visible-desktop-medium,.fl-visible-medium,.fl-visible-medium-mobile,.fl-visible-mobile{display:block!important}.fl-builder-button{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top;display:inline-block;text-decoration:none;font-size:13px!important;line-height:13px!important;height:28px;margin:0;padding:7px 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:3px;-webkit-appearance:none;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.fl-builder-button:hover{background:#fafafa;border-color:#999;color:#222}.fl-builder-button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff!important;text-decoration:none}.fl-builder-button-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff!important}.fl-builder-button-large{height:30px;line-height:30px!important;padding:0 12px 2px}.fl-builder-button-small{font-size:11px!important;line-height:11px!important;height:24px}.fl-builder-help-button{color:#b3b3b3;font-size:16px!important}.fl-builder-help-button i{position:relative;top:-1px}.fl-builder-help-button:hover{color:#666}.fl-builder-publish-button{height:45px;line-height:45px!important}.fl-builder-badge{background:#333;border-radius:2px;color:#fff!important;display:inline;font-size:11px!important;font-weight:400;letter-spacing:1px;margin-left:2px;padding:2px 4px;vertical-align:top}.fl-builder-badge-global{background:#ff9600}.fl-builder-has-submenu{position:relative}.fl-builder-has-submenu>ul.fl-builder-submenu.fl-block-col-submenu{background:#3ba0ff;box-shadow:0 0 20px rgba(0,0,0,.2);display:none;left:0;list-style:none;margin:0;padding:6px 0;position:absolute;text-align:left;top:100%;width:155px;z-index:100008}.fl-builder-has-submenu>ul.fl-builder-submenu.fl-block-col-submenu li{list-style:none;margin:0;padding:0}.fl-builder-submenu-right ul.fl-builder-submenu.fl-block-col-submenu{left:auto;right:0}.fl-builder-submenu-open ul.fl-builder-submenu.fl-block-col-submenu{display:block}.fl-builder-has-submenu>ul.fl-builder-submenu.fl-block-col-submenu li a{border-bottom:0 none;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#fff!important;display:block;line-height:13px;font-size:13px;font-family:Helvetica,Arial,Verdana,sans-serif;font-weight:400;opacity:.8;filter:alpha(opacity=80);padding:6px 12px;text-decoration:none}.fl-builder-has-submenu>ul.fl-builder-submenu li a:hover{background:#54acff;color:#fff;opacity:1;filter:alpha(opacity=100);text-decoration:none}.fl-builder-bar-content,.fl-builder-panel{color:#999;font-family:Helvetica,Arial,Verdana,sans-serif}.fl-block-overlay-global ul.fl-builder-submenu{background:#ff9600}.fl-block-overlay-global ul.fl-builder-submenu li a:hover{background:#fa3}.fl-builder-bar{left:0;position:fixed;right:0;top:0;z-index:100008}.fl-builder-bar-content{background:#f4f4f4;border-bottom:1px solid #ccc;box-shadow:0 0 8px rgba(0,0,0,.2);-moz-box-shadow:0 0 8px rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);font-size:14px;height:43px}.fl-builder-bar-title{color:#333;display:block;float:left;font-size:20px;font-weight:300;line-height:20px;padding:7px 10px}.fl-builder-bar-title img{height:30px!important;margin:0 1px 0 0!important;vertical-align:middle!important}.fl-builder-bar-title span{vertical-align:middle}.fl-builder-bar-title.fl-builder-bar-title-no-icon{padding:12px}.fl-builder-bar-actions{float:right;padding:7px}.fl-builder-bar .fl-builder-button{float:right;margin:0 0 0 6px}.fl-builder-bar .fl-builder-add-content-button{display:none}.fl-builder-buy-button,.fl-builder-upgrade-button{background:#f7951e;border-color:#de7c04;-webkit-box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);color:#fff!important;text-decoration:none}.fl-builder-modules-cta a:focus,.fl-builder-settings-tabs a{text-decoration:none!important}.fl-builder-buy-button i.fa-external-link-square,.fl-builder-upgrade-button i.fa-external-link-square{color:#f4d1a7;margin:0 0 0 6px}.fl-builder-buy-button:hover,.fl-builder-upgrade-button:hover{background:#de861b;border-color:#c46e04;-webkit-box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);color:#fff!important}.fl-builder-panel{background:#f0f0f0;border-left:1px solid #ccc;bottom:0;box-shadow:0 0 8px rgba(0,0,0,.2);-moz-box-shadow:0 0 8px rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);font-size:14px;opacity:1;position:fixed;right:0;top:43px;width:300px;z-index:100007;-webkit-transform:translateZ(0);transition:opacity .2s;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;-ms-transition:opacity .2s;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fl-block-col-resize-feedback,.fl-builder-drop-zone,.fl-builder-empty{font-family:Helvetica,Verdana,sans-serif!important}.fl-builder-panel-actions{background:#f4f4f4;border-bottom:1px solid #dbdbdb;height:43px;left:0;position:absolute;right:0;top:0;text-align:right;z-index:100009}.fl-builder-panel-actions .fl-builder-panel-close{color:#bfbfbf;cursor:pointer;float:left;font-size:18px;margin:12px 18px}.fl-builder-panel-actions .fl-builder-panel-close:hover{color:#333}.fl-builder-panel-content-wrap{bottom:0;height:auto;left:0;overflow:hidden;position:absolute;right:0;top:43px}.fl-builder-panel-content{padding-bottom:60px}.fl-builder-blocks-section .fl-builder-block,.fl-builder-blocks-section .fl-builder-blocks-section-title{cursor:pointer;display:block;line-height:14px;padding:15px 20px}.fl-builder-blocks-section .fl-builder-blocks-section-title{border-bottom:1px solid #dfdfdf;color:#333;font-weight:400}.fl-builder-blocks-section .fl-builder-blocks-section-title i{color:#bfbfbf;float:right}.fl-builder-blocks-section .fl-builder-blocks-section-title:hover,.fl-builder-blocks-section .fl-builder-blocks-section-title:hover i{background:#e5e5e5}.fl-builder-blocks-section-content{background:#fff;display:none}.fl-builder-blocks-section.fl-active .fl-builder-blocks-section-content{display:block}.fl-builder-blocks-section-content .fl-builder-block{border-bottom:1px solid #ebebeb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-builder-blocks-section-content .fl-builder-block i{color:#d9d9d9;margin-right:10px}.fl-builder-blocks-section-content .fl-builder-block:hover{background:#0074a1;color:#fff;cursor:move}.fl-builder-blocks-separator{background:#dfdfdf;height:6px}.fl-builder-block:hover .fl-builder-badge{background:#2ea2cc}.ui-sortable-helper .fl-builder-badge{display:none!important}.fl-builder-modules-cta a{color:#999!important;display:block!important;font-size:12px!important;font-style:italic!important;padding:15px 20px!important;line-height:16px!important}.fl-builder-modules-cta a:hover{background:#e5e5e5!important;color:#666!important;text-decoration:none!important}.fl-builder-modules-cta .fa{float:right!important;font-size:14px!important;margin:3px 0 0 9px!important}.fl-builder-block-template-image{margin:5px 0 10px;max-width:100%}.fl-photo-field .fl-photo-preview-img img,.fl-video-field .fl-video-preview-img img{max-width:60px}.fl-builder-block-template .fl-builder-block-title{display:block;overflow:hidden;text-overflow:ellipsis}.ui-sortable-helper .fl-builder-block-template-image{display:none!important}span.fl-builder-block-no-node-templates{display:block;padding:15px 20px}span.fl-builder-block-no-node-templates:hover{cursor:default;background:#fff}.fl-builder-blocks-node-template .fl-builder-block{position:relative}.fl-builder-blocks-section-content .fl-builder-node-template-actions{bottom:0;cursor:default;display:none;position:absolute;right:0;top:0;width:72px}.fl-builder-blocks-section-content .fl-builder-node-template-delete,.fl-builder-blocks-section-content .fl-builder-node-template-edit{bottom:0;cursor:pointer;margin:0;padding:15px 0;position:absolute;text-align:center;top:0;width:30px}.fl-builder-blocks-section-content .fl-builder-node-template-delete{right:12px}.fl-builder-blocks-section-content .fl-builder-node-template-edit{right:42px}.fl-builder-blocks-section-content .fl-builder-node-template-delete i,.fl-builder-blocks-section-content .fl-builder-node-template-edit i{margin:0}.fl-builder-blocks-section-content .fl-builder-node-template-delete:hover i,.fl-builder-blocks-section-content .fl-builder-node-template-edit:hover i{color:#fff}.fl-builder-blocks-node-template .fl-builder-block:hover{padding-right:85px}.fl-builder-blocks-node-template .fl-builder-block:hover .fl-builder-node-template-actions{display:block}.ui-sortable-helper .fl-builder-node-template-delete,.ui-sortable-helper .fl-builder-node-template-edit{display:none!important}.fl-builder-empty{border:1px dashed #3ba0ff;color:#3ba0ff;font-size:14px;margin:10px;padding:100px 20px;text-align:center;text-transform:uppercase}.fl-builder-empty .fl-builder-drop-zone{margin:10px}.fl-builder-block-drag-helper,.fl-builder-block.ui-draggable-dragging{background:#fff!important;border:1px solid #ccc;box-shadow:0 0 8px rgba(0,0,0,.2);-moz-box-shadow:0 0 8px rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);color:#999!important;font-family:Helvetica,Verdana,sans-serif!important;font-size:14px!important;height:45px!important;line-height:42px!important;overflow:hidden;padding:0 18px;position:fixed!important;text-overflow:ellipsis;white-space:nowrap;width:140px!important;z-index:100010}.fl-builder-drop-zone{background:#3ba0ff;color:#fff;display:block;font-weight:700;font-size:14px;margin:10px;padding:10px;text-shadow:none}.fl-builder-drop-zone-global{background:#ff9600}.fl-builder-content>.fl-builder-drop-zone{margin:10px 20px}.fl-row-content>.fl-builder-drop-zone{margin:5px}.fl-row-highlight{padding:5px 0}.fl-row-highlight .fl-row-content{border:1px dashed red;padding:5px}.fl-col-highlight{padding:15px 5px}.fl-col-highlight .fl-col-content{border-style:dashed;border-color:#3ba0ff;min-height:100px;border-width:1px}.fl-col-highlight.fl-node-global .fl-col-content{border-color:#ff9600}.fl-builder-simple .fl-col-highlight .fl-col-content{border:none}.fl-block-overlay,.fl-block-overlay *{text-shadow:none}.fl-block-overlay-active{position:relative}.fl-block-overlay-actions{background:#3ba0ff;float:left;margin:0 -1px;text-shadow:none}.fl-block-overlay-actions>span{display:block;float:left}.fl-block-overlay-actions i{color:#fff!important;cursor:pointer;display:block!important;float:left;font-size:14px!important;height:28px!important;font-weight:100!important;line-height:28px!important;opacity:.8;filter:alpha(opacity=80);text-align:center;width:28px!important}.fl-block-overlay-actions i:hover{opacity:1;filter:alpha(opacity=100)}.fl-block-overlay-actions>i:first-child{padding-left:4px}.fl-block-overlay-actions>i:last-child{padding-right:2px}.fl-block-overlay-actions i.fl-block-move{cursor:move}.fl-block-overlay-title{border-right:1px solid #5eb1ff;color:#fff!important;float:left;font-family:Helvetica,Arial,Verdana,sans-serif;font-size:13px;height:30px;line-height:29px;margin-right:2px;padding:0 8px}.fl-row-overlay{background:rgba(59,160,255,.15);border:1px solid #3ba0ff;bottom:0;box-sizing:border-box!important;-moz-box-sizing:border-box!important;-webkit-box-sizing:border-box!important;color:#fff;left:0;position:absolute;top:-30px;width:100%;z-index:100006}.fl-row-overlay-header-bottom{bottom:-30px;top:0}.fl-row-overlay-header-bottom .fl-block-overlay-header{position:absolute;bottom:0}.fl-block-overlay-active .fl-row-content-wrap{position:relative}.fl-block-overlay-active .fl-row-content{position:relative;z-index:100007!important}.fl-col-overlay,.fl-module-overlay{background:rgba(59,160,255,.15);border:1px solid #3ba0ff;cursor:pointer;color:#fff;position:absolute}.fl-col-overlay{bottom:15px;left:5px;right:5px;top:15px;z-index:100007}.fl-module-overlay{bottom:4px;left:4px;min-height:32px;right:4px;top:4px;z-index:100007}.fl-builder-global-templates-locked .fl-block-overlay-global.fl-module-overlay{cursor:default}.fl-module-adjust-height{padding-bottom:15px;padding-top:15px}.fl-block-overlay-global{background:rgba(255,150,0,.1);border:1px solid #ff9600}.fl-block-overlay-global .fl-block-overlay-actions{background:#ff9600}.fl-block-overlay-global .fl-block-overlay-title{border-right:1px solid #ffcf66}.fl-block-overlay-title-global{background:#fff;border-radius:2px;color:#ff9600!important;font-size:11px;letter-spacing:1px;margin-left:4px;padding:2px 4px;vertical-align:top}.fl-block-overlay-global.fl-row-overlay{background:rgba(255,150,0,.3);cursor:pointer;z-index:100007}.fl-builder-global-templates-locked .fl-block-overlay-global.fl-row-overlay{cursor:default}.fl-builder-row-template .fl-block-overlay-global.fl-row-overlay{background:rgba(255,150,0,.1);cursor:default;z-index:100006}.fl-block-overlay-muted .fl-row-overlay{background:rgba(153,153,153,.1);border:1px solid #8c8c8c}.fl-block-overlay-muted .fl-row-overlay .fl-block-overlay-actions{background:#8c8c8c}.fl-block-overlay-muted .fl-row-overlay .fl-block-overlay-title{border-right:1px solid #a6a6a6}.fl-node-disabled{position:relative}.fl-node-disabled-overlay{background:rgba(153,153,153,.75);bottom:0;left:0;position:absolute;right:0;top:0}.fl-block-col-resize{bottom:0!important;position:absolute;top:0!important;width:6px}.fl-block-col-resize-e{cursor:ew-resize;left:auto!important;right:-4px!important}.fl-block-col-resize-w{cursor:ew-resize;left:-4px!important}.fl-block-col-resize-handle-wrap{margin:-4px 0 0 -5px;padding:0 5px;position:absolute;top:50%!important}.fl-block-col-resize-e .fl-block-col-resize-handle-wrap{margin-left:-6px}.fl-block-col-resize-handle{background:#fff;border:1px solid #259aff;height:7px;width:7px}.fl-node-global .fl-block-col-resize-handle{border-color:#ff9600}.fl-block-col-resize-feedback{color:#333!important;display:none;font-size:11px!important;position:absolute}.fl-builder-actions-title,.fl-builder-alert-lightbox .fl-lightbox-message{color:#333!important;font-family:Helvetica,Verdana,sans-serif!important;font-size:16px!important}.fl-block-col-resize-feedback-left,.fl-block-col-resize-feedback-right{background:#fff;border:1px solid #3ba0ff;padding:2px 4px}.fl-block-col-resize-feedback-left{right:20px;top:-7px}.fl-block-col-resize-feedback-right{left:20px;top:-7px}.fl-builder-actions-lightbox .fl-lightbox{width:300px}.fl-builder-actions-lightbox .fl-builder-actions{display:block;padding:25px;text-align:center}.fl-builder-actions-title{display:block;margin-bottom:20px}.fl-builder-actions .fl-builder-button{display:block;margin-bottom:7px}.fl-builder-alert-lightbox{z-index:200001}.fl-builder-alert-lightbox .fl-lightbox{width:440px!important}.fl-builder-alert-lightbox .fl-lightbox-message{line-height:24px;padding:30px}.fl-template-category-select{width:180px!important}.fl-template-selector .fl-builder-settings-section{margin:0 0 10px}.fl-template-selector .fl-builder-settings-fields{height:470px}.fl-template-selector .fl-builder-settings-tab{width:560px}.fl-template-selector .fl-builder-settings-tab-description{font-size:15px!important;margin:0!important;padding:10px 0 25px;text-align:center}.fl-template-preview{float:left;margin:0 25px 30px 0;position:relative;text-align:center;width:170px}.fl-template-preview.fl-last{margin-right:0}.fl-template-image{border:1px solid #d9d9d9;cursor:pointer;margin-bottom:12px;height:164px;overflow:hidden}.fl-builder-templates-cta,.fl-user-templates{margin-bottom:20px}.fl-template-image:hover{border-color:red}.fl-template-image img{max-height:none;width:100%}.fl-template-preview span{display:block;text-align:center}.fl-user-template-category-name{background:#f2f2f2;border-bottom:3px solid #dfdfdf;border-top:2px solid #dfdfdf;font-weight:700;padding:8px 15px}.fl-user-templates{border-top:1px solid #dfdfdf;margin-right:8px}.fl-user-template{border-bottom:1px solid #dfdfdf;padding:15px;position:relative}.fl-user-template:hover{background:#0074a1;color:#fff!important;cursor:pointer}.fl-user-template:hover *{color:#fff!important}.fl-user-template-actions{bottom:0;position:absolute;right:0;top:0}.fl-user-template-actions a{color:#bfbfbf!important;display:inline-block;padding:15px}.fl-user-template:hover a{color:#99c7d9!important}.fl-user-template:hover a:hover{color:#fff!important}.fl-user-templates-message{display:none}.fl-builder-templates-cta p{display:inline-block!important;width:75%!important;font-size:14px!important;line-height:1.5!important;margin-bottom:0!important}.fl-builder-templates-cta .fl-builder-upgrade-button{font-size:13px!important;line-height:13px!important;position:relative;top:8px;left:15px;padding:1px 12px}.fl-builder-settings-message,.fl-builder-settings-message *{font-size:15px!important;line-height:23px!important}.fl-builder-node-template-settings .fl-builder-settings-fields,.fl-builder-user-template-settings .fl-builder-settings-fields{height:150px}.fl-builder-lightbox .fl-lightbox{width:600px}form.fl-builder-settings{margin:0;padding:0}.fl-builder-settings-message{padding:20px 25px!important;background:#f2f2f2!important}.fl-builder-preview-loader{position:relative;top:-1px;margin-left:3px}.fl-lightbox-header .fl-builder-preview-loader{margin:0;position:absolute;right:15px;top:15px}.fl-builder-settings-tabs{background:#f5f5f5;border-bottom:1px solid #dfdfdf;padding:15px 20px 0}.fl-builder-settings-tabs a{color:#999;display:inline-block;margin:0;padding:10px 20px}.fl-builder-settings-tabs a:hover{color:#333}.fl-builder-settings-tabs a.fl-active{background:#fff;border:1px solid #dfdfdf;border-bottom:none;color:#222;position:relative;top:1px}.fl-builder-settings-tabs a.error{color:#d03436;padding-right:10px}.fl-builder-settings-tabs a.error .fl-error-icon{background:url(../img/sprite.png) -148px -5px no-repeat;display:inline-block;height:16px;margin-left:7px;position:relative;top:3px;width:16px}.fl-builder-settings-tab{display:none;width:550px}.fl-builder-settings-tab.fl-active{display:block}.fl-builder-settings-tab-description{background:#f5f5f5;padding:10px 15px}.fl-form-table{border:none;width:100%}.fl-form-table tbody{border:none}.fl-form-table tr,.fl-form-table tr:nth-child(even){background:0 0}.fl-form-table th{border:none!important;background:#fff!important;font-weight:400!important;padding:10px!important;text-align:left!important;vertical-align:top!important;width:200px!important}.fl-form-table td{border:none;padding:8px 10px}.fl-builder-settings-fields{height:410px;margin:5px 0 0;overflow:hidden;position:relative}.fl-lightbox-header .fl-builder-settings-fields{height:auto;margin:0;position:absolute;right:10px;top:10px}.fl-builder-settings-fields .fl-nanoscroller-content{padding:15px 20px}.fl-builder-settings-fields input[type=email],.fl-builder-settings-fields input[type=file],.fl-builder-settings-fields input[type=number],.fl-builder-settings-fields input[type=password],.fl-builder-settings-fields input[type=search],.fl-builder-settings-fields input[type=tel],.fl-builder-settings-fields input[type=text],.fl-builder-settings-fields input[type=url],.fl-builder-settings-fields select,.fl-builder-settings-fields textarea{background:#fff;border-color:#dfdfdf;border-style:solid;border-width:1px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#333;display:inline;font-size:12px;height:auto;line-height:15px;margin:1px;outline:0;padding:3px;width:auto}.fl-builder-settings-fields input[type=email]:focus,.fl-builder-settings-fields input[type=file]:focus,.fl-builder-settings-fields input[type=number]:focus,.fl-builder-settings-fields input[type=password]:focus,.fl-builder-settings-fields input[type=search]:focus,.fl-builder-settings-fields input[type=tel]:focus,.fl-builder-settings-fields input[type=text]:focus,.fl-builder-settings-fields input[type=url]:focus,.fl-builder-settings-fields select:focus,.fl-builder-settings-fields textarea:focus{background:0 0;border-color:#aaa}.fl-builder-settings-fields select[multiple]{height:60px}.fl-builder-settings-fields ::-webkit-input-placeholder{color:#999!important}.fl-builder-settings-fields input:-moz-placeholder{color:#999}.fl-builder-settings-fields ::-moz-placeholder{color:#999!important}.fl-builder-settings-fields input:-ms-input-placeholder{color:#999}.fl-builder-settings-fields label{font-weight:400}.fl-builder-settings-fields select{height:2em;color:#000;padding:2px}.fl-builder-settings-description{border-bottom:1px solid #dfdfdf;margin:0 0 10px;padding-bottom:10px!important}.fl-builder-settings-fields table{margin:0}.fl-builder-settings-fields h3.fl-builder-settings-title{border-bottom:1px solid #dfdfdf;color:#333;font-size:14px;font-weight:700;margin:0 0 20px!important;padding:10px}.fl-builder-settings-section{margin-bottom:15px}.wp-core-ui h1,.wp-core-ui h2,.wp-core-ui h3,.wp-core-ui h4,.wp-core-ui h5,.wp-core-ui h6{color:#333}.wp-core-ui .submitbox .submitdelete{color:#a00}.wp-core-ui button{font-weight:400;text-transform:capitalize}.wp-core-ui input[type=email],.wp-core-ui input[type=file],.wp-core-ui input[type=number],.wp-core-ui input[type=password],.wp-core-ui input[type=search],.wp-core-ui input[type=tel],.wp-core-ui input[type=text],.wp-core-ui input[type=url],.wp-core-ui select,.wp-core-ui textarea{background-color:#fff;border-color:#dfdfdf;border-style:solid;border-width:1px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#333;font-weight:400}.wp-core-ui input[type=email]:focus,.wp-core-ui input[type=file]:focus,.wp-core-ui input[type=number]:focus,.wp-core-ui input[type=password]:focus,.wp-core-ui input[type=search]:focus,.wp-core-ui input[type=tel]:focus,.wp-core-ui input[type=text]:focus,.wp-core-ui input[type=url]:focus,.wp-core-ui select:focus,.wp-core-ui textarea:focus{background:0 0;border-color:#aaa}.wp-core-ui input[type=search]{background-image:none;padding:6px}.fl-builder-settings-fields input.text-full,.fl-builder-settings-fields textarea{width:97%}.fl-color-picker{cursor:pointer}.fl-color-picker .fl-color-picker-clear:hover{background-color:#ededed}.colorpicker input{padding:0!important;font-size:11px!important;color:#fff!important;width:29px!important;height:auto!important;background:0 0!important;border:none!important}.colorpicker .colorpicker_hex input{width:45px!important}.fl-builder-custom-field{border:1px solid #dfdfdf;border-radius:3px;padding:5px 10px}.fl-builder-custom-field a{color:#21759b!important;text-decoration:underline!important}.fl-builder-custom-field a:hover{color:#d54e21!important}.fl-builder-custom-field label.error{margin-top:5px}.fl-photo-field .fl-photo-select,.fl-photo-field.fl-photo-empty .fl-photo-preview{display:none}.fl-photo-field.fl-photo-empty .fl-photo-select{display:block}.fl-photo-field .fl-photo-preview-img{float:left;line-height:0;margin:5px 0}.fl-photo-field .fl-photo-preview select{margin:8px 0 8px 10px;width:200px}.fl-photo-field .fl-photo-edit{margin:0 0 0 11px}.fl-multiple-photos-field .fl-multiple-photos-add,.fl-photo-field .fl-photo-remove,.fl-photo-field .fl-photo-replace{margin:0 0 0 8px}.fl-builder-edit .media-modal-content .thumbnail{padding:0;border:none;border-radius:0}.fl-builder-edit button.button-link.media-modal-close{position:absolute;box-shadow:none;-webkit-box-shadow:none}.fl-builder-edit .media-frame.hide-menu{visibility:visible}.fl-multiple-photos-field .fl-multiple-photos-select,.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-add,.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-count,.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-edit,.fl-multiple-photos-lightbox .gallery-settings{display:none}.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-select{display:inline}.fl-multiple-photos-count{font-weight:700;margin-bottom:3px}.fl-video-field .fl-video-select,.fl-video-field.fl-video-empty .fl-video-preview{display:none}.fl-video-field.fl-video-empty .fl-video-select{display:block}.fl-video-field .fl-video-preview-img{float:left;line-height:0;margin:5px 0}.fl-video-field .fl-video-preview-filename{display:inline-block;font-size:14px;font-weight:700;margin:7px 0 0 11px}.fl-video-field .fl-video-replace{margin:0 0 0 11px}.fl-multiple-audios-field .fl-multiple-audios-select,.fl-multiple-audios-field.fl-multiple-audios-empty .fl-multiple-audios-add,.fl-multiple-audios-field.fl-multiple-audios-empty .fl-multiple-audios-edit{display:none}.fl-multiple-audios-field.fl-multiple-audios-empty .fl-multiple-audios-select{display:block}.fl-multiple-audios-field .fl-multiple-audios-add{margin:0 0 0 8px}.fl-icon-field .fl-icon-select,.fl-icon-field.fl-icon-empty .fl-icon-preview{display:none}.fl-icon-field.fl-icon-empty .fl-icon-select{display:block}.fl-icon-field .fl-icon-preview i{display:inline-block;font-size:28px;margin:10px 10px 9px 2px;vertical-align:middle}.fl-icon-field .fl-icon-remove{margin:0 0 0 8px}.fl-builder-settings .wp-switch-editor{background:#ebebeb;border:1px solid #e5e5e5;border-radius:0;color:#333}.fl-builder-settings .wp-editor-container{border:1px solid #e5e5e5}.fl-builder-settings .mce-toolbar .mce-btn-group .mce-btn{margin:2px 0}.fl-builder-settings .mce-menubtn.mce-fixed-width button{width:100px}.mce-close:active,.mce-close:hover,.mce-toolbar .mce-btn button:active,.mce-toolbar .mce-btn button:hover,.mce-window .mce-btn button:active,.mce-window .mce-btn button:hover{background:0 0;border:none}.mce-ico{font-family:tinymce,Arial!important}.mce-toolbar i.mce-ico{font:400 20px/1 dashicons!important}.fl-builder-edit form#wp-link,.popover[class*=tour-],ul.as-list{font-family:Helvetica,Arial,Verdana,sans-serif}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:1px!important}.wp-editor-container textarea.wp-editor-area{background:0 0;border:none;padding:10px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.fl-builder-edit form#wp-link{color:#000;font-size:13px}.fl-builder-edit form#wp-link #link-options label{display:block;margin-bottom:2px}.fl-builder-edit form#wp-link #link-options label span{padding-right:10px;vertical-align:middle}.fl-builder-edit form#wp-link #link-options input[type=text]{display:inline-block;height:auto;margin:5px 0 0;padding:3px 5px;width:80%}.fl-builder-edit form#wp-link .query-results{top:225px}.ace_editor,.ace_editor *{font-family:Monaco,Menlo,"Ubuntu Mono","Droid Sans Mono",Consolas,monospace!important;font-size:12px!important;font-weight:400!important;letter-spacing:0!important}.fl-builder-global-settings #fl-builder-settings-tab-css,.fl-builder-global-settings #fl-builder-settings-tab-js,.fl-builder-html-settings #fl-builder-settings-tab-general,.fl-builder-layout-settings #fl-builder-settings-tab-css,.fl-builder-layout-settings #fl-builder-settings-tab-js{width:560px}.fl-builder-global-settings #fl-builder-settings-section-css,.fl-builder-global-settings #fl-builder-settings-section-js,.fl-builder-html-settings #fl-builder-settings-section-general,.fl-builder-layout-settings #fl-builder-settings-section-css,.fl-builder-layout-settings #fl-builder-settings-section-js{margin-bottom:0}.fl-builder-global-settings #fl-builder-settings-tab-css td,.fl-builder-global-settings #fl-builder-settings-tab-js td,.fl-builder-html-settings #fl-builder-settings-section-general td,.fl-builder-layout-settings #fl-builder-settings-tab-css td,.fl-builder-layout-settings #fl-builder-settings-tab-js td{padding:0}.fl-layout-field-option{border:2px solid #d9d9d9;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-sizing:border-box!important;-moz-box-sizing:border-box!important;-webkit-box-sizing:border-box!important;cursor:pointer;float:left;line-height:0;max-width:23%;margin:0 1% 2%;padding:5px}.fl-layout-field-option-selected,.fl-layout-field-option:hover{border-color:red}.fl-layout-field-option img{max-width:100%}.fl-link-field-input{width:244px!important}.fl-link-field-search{display:none;border:1px solid #dfdfdf;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;margin:4px 0 0;padding:10px}.fl-link-field-search-title{display:block;margin:0 0 3px 2px}.fl-link-field-search-cancel{margin-top:6px}.fl-help-tooltip{display:inline-block;position:relative}.fl-help-tooltip-icon{color:#999!important;cursor:pointer;font-family:FontAwesome;font-size:15px!important;padding:5px;vertical-align:middle}.fl-help-tooltip-text{background:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ccc;-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;display:none;font-weight:400;left:23px;padding:10px 13px;position:absolute;top:-6px;width:250px;z-index:1000}.fl-form-field-preview-text .fa{font-size:18px;line-height:22px}.fl-builder-field-actions{padding-left:0!important;padding-right:0!important;text-align:center;width:85px}.fl-builder-field-actions i{color:#999!important;cursor:pointer;font-size:13px!important;height:24px;line-height:29px!important;padding-bottom:20px;width:24px}.fl-builder-field-actions i:hover{color:#000!important}.fl-builder-field-actions i.fl-builder-field-copy,.fl-builder-field-actions i.fl-builder-field-delete{margin-left:5px}.fl-builder-field-actions i.fl-builder-field-move{cursor:move}.fl-builder-field-dd-helper{background:#ccc;height:30px!important;float:left;width:130px!important}.fl-builder-field-dd-zone{border:1px dashed #ccc;height:30px}.fl-builder-field-actions-single{width:auto}.fl-builder-field-actions-single i.fl-builder-field-delete,.fl-builder-field-actions-single i.fl-builder-field-move{display:none}.fl-builder-widget-settings input{display:inline-block!important;margin:5px 10px 8px!important}.fl-builder-lightbox-loading{background:url(../img/ajax-loader.gif) center center no-repeat;height:100px}.fl-builder-settings .error,.fl-builder-settings input.error{border-color:#d03436}.fl-builder-settings label.error,.fl-builder-settings p.error{color:#d03436;display:block;margin-top:5px}.fl-builder-settings .fl-form-table .fl-field-description{color:#999;font-style:normal}ul.as-selections{background-color:#fff;border-color:#dfdfdf;border-style:solid;border-width:1px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#333;font-size:12px;height:auto;line-height:15px;margin:1px;outline:0;padding:3px;width:auto}ul.as-selections.loading{background:url(../img/ajax-loader-small.gif) 98% center no-repeat}ul.as-selections li.as-selection-item{background:#d4eaf6;border:none;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;font-size:11px;line-height:14px;margin-bottom:4px;padding-bottom:0;padding-top:0}ul.as-selections li.as-selection-item.blur{background:#f4f4f4}ul.as-selections li.as-selection-item a.as-close{line-height:12px}ul.as-selections li.as-original{margin:0}ul.as-selections li.as-original input{height:auto;font-size:12px;margin:0;padding:0}ul.as-list{margin:0;font-size:13px;color:#000;background-color:#fff;background-color:rgba(255,255,255,.95);z-index:2;-webkit-box-shadow:0 0 10px rgba(0,0,0,.1);-moz-box-shadow:0 0 10px rgba(0,0,0,.1);box-shadow:0 0 10px rgba(0,0,0,.1);-ms-border-radius:0;-o-border-radius:0;border:none;border:1px solid #dfdfdf;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}li.as-message,li.as-result-item{border:none}li.as-result-item.active{background:#e5e5e5;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;color:#333;text-shadow:none}li.as-result-item em{background:0 0!important;color:#333!important;font-size:12px;padding:0!important}.fl-loop-builder-filter{display:none}.fl-builder-service-settings{position:relative}.fl-builder-service-error{color:red!important;padding:15px 0 0}.fl-builder-service-account-delete{color:red!important;margin-left:10px;position:relative;top:2px}#fl-field-visibility_user_capability .fl-field-description,.fl-builder-service-connect-row .fl-field-description{background:#f0f0f0;color:#333!important;display:block;float:none;margin:10px 0 0;padding:10px}#fl-field-visibility_user_capability .fl-field-description a,.fl-builder-service-connect-row .fl-field-description a{color:#21759b!important;text-decoration:underline!important}.fl-builder-getting-started-video{line-height:0!important;padding:10px}.fl-builder-getting-started-video iframe{border:none;height:326px;width:100%}.fl-builder-tour-actions .fl-builder-actions-title{font-size:14px!important;line-height:19px}.fl-builder-tour-mask{bottom:0;left:0;position:fixed;right:0;top:0;z-index:100000000}.fl-builder-tour-dimmed{background:rgba(0,0,0,.7);bottom:0;left:0;position:absolute;right:0;top:0}body>.fl-builder-tour-dimmed{position:fixed}.tour-backdrop{z-index:110000}.popover[class*=tour-]{border:1px solid #ccc;border-radius:0;-webkit-box-shadow:0 0 30px rgba(0,0,0,.3);box-shadow:0 0 40px rgba(0,0,0,.3);color:#666;font-size:13px;font-weight:400;line-height:18px;max-width:none;padding:0;width:300px;z-index:100000001}.popover[class*=tour-].bottom>.arrow{border-bottom-color:#ccc}.popover[class*=tour-].bottom>.arrow:after{border-bottom-color:#f7f7f7}.popover[class*=tour-] .popover-title{border-radius:0;color:#333;letter-spacing:normal;text-transform:none}.popover[class*=tour-] .fa-times{color:#b3b3b3;cursor:pointer;font-size:16px;padding:5px;position:absolute;right:3px;top:2px}.popover[class*=tour-] .fa-times:hover{color:#666}.popover[class*=tour-] .popover-content{border-bottom:1px solid #d9d9d9;padding:13px 15px}.popover[class*=tour-] .fl-builder-tour-next{display:block;float:none;width:100%}.fl-builder-shortcode-mask-wrap{position:relative}.fl-builder-shortcode-mask{bottom:-1px;left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fl-color-picker-ui .iris-picker{width:200px;height:215px;display:block;position:relative;border-top:1px solid rgba(0,0,0,.1)}.fl-color-picker-ui .iris-picker .iris-square-inner,.fl-color-picker-ui .iris-picker-inner{position:absolute;left:0;top:0;bottom:0;right:0}.fl-color-picker-ui .iris-picker,.iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}.fl-color-picker-ui .iris-error{background-color:#ffafaf}.fl-color-picker-ui .iris-picker .iris-square{width:200px;height:200px}.fl-color-picker-ui .iris-picker .iris-palette,.fl-color-picker-ui .iris-picker .iris-slider,.fl-color-picker-ui .iris-picker .iris-square-inner{height:100%;width:12.5%}.fl-color-picker-ui .iris-picker .iris-placeholder,.fl-color-picker-ui .iris-picker .iris-square{position:relative}.fl-color-picker-ui .iris-picker .iris-square-inner{width:auto;margin:0}.fl-color-picker-ui .iris-ie-9 .iris-palette,.fl-color-picker-ui .iris-ie-9 .iris-slider,.fl-color-picker-ui .iris-ie-9 .iris-square,.fl-color-picker-ui .iris-ie-9 .iris-square-inner{box-shadow:none;border-radius:0}.fl-color-picker-ui .iris-ie-9 .iris-palette,.fl-color-picker-ui .iris-ie-9 .iris-slider,.fl-color-picker-ui .iris-ie-9 .iris-square{outline:rgba(0,0,0,.1) solid 1px}.fl-color-picker-ui .iris-ie-lt9 .iris-palette,.fl-color-picker-ui .iris-ie-lt9 .iris-slider,.fl-color-picker-ui .iris-ie-lt9 .iris-square,.fl-color-picker-ui .iris-ie-lt9 .iris-square-inner{outline:#999 solid 1px}.fl-color-picker-ui .iris-ie-lt9 .iris-square .ui-slider-handle{outline:#999 solid 1px;background-color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.fl-color-picker-ui .iris-ie-lt9 .iris-square .iris-square-handle{background:0 0;border:3px solid #fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.fl-color-picker-ui .iris-picker .iris-strip{width:200px;margin-top:5px;position:relative;height:10px;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fl-color-picker-ui .iris-picker .iris-strip .ui-slider-handle{width:6px;position:absolute;right:0;top:-2px;bottom:-2px;margin:0;border-radius:3px;background:#fff;box-shadow:0 0 2px rgba(0,0,0,.5);z-index:5;cursor:ew-resize}.fl-color-picker-ui .iris-picker .iris-slider-offset{position:absolute;top:0;left:6px;right:0;bottom:0;width:auto;height:auto;background:0 0;border:none;border-radius:0;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fl-color-picker-ui .iris-picker .iris-square-handle{background:0 0;border:5px solid #999;border-radius:50%;border-color:rgba(128,128,128,.5);box-shadow:none;width:12px;height:12px;position:absolute;left:-10px;top:-10px;cursor:move;opacity:1;z-index:10}.fl-color-picker-ui .iris-picker .ui-state-focus .iris-square-handle{opacity:.8}.fl-color-picker-ui .iris-picker .iris-square-handle:hover{border-color:#999}.fl-color-picker-ui .iris-picker .iris-square-value:focus .iris-square-handle{box-shadow:0 0 2px rgba(0,0,0,.75);opacity:.8}.fl-color-picker-ui .iris-picker .iris-square-handle:hover::after{border-color:#fff}.fl-color-picker-ui .iris-picker .iris-square-handle::after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #f9f9f9;border-color:rgba(255,255,255,.8);border-radius:50%;content:" "}.fl-color-picker-clear,.fl-color-picker-color{float:left;border:1px solid rgba(0,0,0,.1);cursor:pointer}.fl-color-picker-ui .iris-picker .iris-square-value{width:8px;height:8px;position:absolute}.iris-ie-lt9 .iris-square-value,.iris-mozilla .iris-square-value{width:1px;height:1px}.fl-color-picker-wrapper{position:relative;width:48px;height:32px}.fl-color-picker-color{position:relative;width:30px;height:30px;background-color:transparent}.fl-color-picker-color.fl-color-picker-empty{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABG2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS4xLjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+MahxaQAAAAlwSFlzAAALEwAACxMBAJqcGAAACk9pQ0NQUGhvdG9zaG9wIElDQyBwcm9maWxlAAB42p1TZ1RT6RY99970QkuIgJRLb1IVCCBSQouAFJEmKiEJEEqIIaHZFVHBEUVFBBvIoIgDjo6AjBVRLAyKCtgH5CGijoOjiIrK++F7o2vWvPfmzf611z7nrPOds88HwAgMlkgzUTWADKlCHhHgg8fExuHkLkCBCiRwABAIs2Qhc/0jAQD4fjw8KyLAB74AAXjTCwgAwE2bwDAch/8P6kKZXAGAhAHAdJE4SwiAFABAeo5CpgBARgGAnZgmUwCgBABgy2Ni4wBQLQBgJ3/m0wCAnfiZewEAW5QhFQGgkQAgE2WIRABoOwCsz1aKRQBYMAAUZkvEOQDYLQAwSVdmSACwtwDAzhALsgAIDAAwUYiFKQAEewBgyCMjeACEmQAURvJXPPErrhDnKgAAeJmyPLkkOUWBWwgtcQdXVy4eKM5JFysUNmECYZpALsJ5mRkygTQP4PPMAACgkRUR4IPz/XjODq7OzjaOtg5fLeq/Bv8iYmLj/uXPq3BAAADhdH7R/iwvsxqAOwaAbf6iJe4EaF4LoHX3i2ayD0C1AKDp2lfzcPh+PDxFoZC52dnl5OTYSsRCW2HKV33+Z8JfwFf9bPl+PPz39eC+4iSBMl2BRwT44MLM9EylHM+SCYRi3OaPR/y3C//8HdMixEliuVgqFONREnGORJqM8zKlIolCkinFJdL/ZOLfLPsDPt81ALBqPgF7kS2oXWMD9ksnEFh0wOL3AADyu2/B1CgIA4Bog+HPd//vP/1HoCUAgGZJknEAAF5EJC5UyrM/xwgAAESggSqwQRv0wRgswAYcwQXcwQv8YDaEQiTEwkIQQgpkgBxyYCmsgkIohs2wHSpgL9RAHTTAUWiGk3AOLsJVuA49cA/6YQiewSi8gQkEQcgIE2Eh2ogBYopYI44IF5mF+CHBSAQSiyQgyYgUUSJLkTVIMVKKVCBVSB3yPXICOYdcRrqRO8gAMoL8hrxHMZSBslE91Ay1Q7moNxqERqIL0GR0MZqPFqCb0HK0Gj2MNqHn0KtoD9qPPkPHMMDoGAczxGwwLsbDQrE4LAmTY8uxIqwMq8YasFasA7uJ9WPPsXcEEoFFwAk2BHdCIGEeQUhYTFhO2EioIBwkNBHaCTcJA4RRwicik6hLtCa6EfnEGGIyMYdYSCwj1hKPEy8Qe4hDxDckEolDMie5kAJJsaRU0hLSRtJuUiPpLKmbNEgaI5PJ2mRrsgc5lCwgK8iF5J3kw+Qz5BvkIfJbCp1iQHGk+FPiKFLKakoZ5RDlNOUGZZgyQVWjmlLdqKFUETWPWkKtobZSr1GHqBM0dZo5zYMWSUulraKV0xpoF2j3aa/odLoR3ZUeTpfQV9LL6Ufol+gD9HcMDYYVg8eIZygZmxgHGGcZdxivmEymGdOLGcdUMDcx65jnmQ+Zb1VYKrYqfBWRygqVSpUmlRsqL1Spqqaq3qoLVfNVy1SPqV5Tfa5GVTNT46kJ1JarVaqdUOtTG1NnqTuoh6pnqG9UP6R+Wf2JBlnDTMNPQ6RRoLFf47zGIAtjGbN4LCFrDauGdYE1xCaxzdl8diq7mP0du4s9qqmhOUMzSjNXs1LzlGY/B+OYcficdE4J5yinl/N+it4U7yniKRumNEy5MWVca6qWl5ZYq0irUatH6702ru2nnaa9RbtZ+4EOQcdKJ1wnR2ePzgWd51PZU92nCqcWTT069a4uqmulG6G7RHe/bqfumJ6+XoCeTG+n3nm95/ocfS/9VP1t+qf1RwxYBrMMJAbbDM4YPMU1cW88HS/H2/FRQ13DQEOlYZVhl+GEkbnRPKPVRo1GD4xpxlzjJONtxm3GoyYGJiEmS03qTe6aUk25pimmO0w7TMfNzM2izdaZNZs9Mdcy55vnm9eb37dgWnhaLLaotrhlSbLkWqZZ7ra8boVaOVmlWFVaXbNGrZ2tJda7rbunEae5TpNOq57WZ8Ow8bbJtqm3GbDl2AbbrrZttn1hZ2IXZ7fFrsPuk72Tfbp9jf09Bw2H2Q6rHVodfnO0chQ6Vjrems6c7j99xfSW6S9nWM8Qz9gz47YTyynEaZ1Tm9NHZxdnuXOD84iLiUuCyy6XPi6bG8bdyL3kSnT1cV3hetL1nZuzm8LtqNuv7jbuae6H3J/MNJ8pnlkzc9DDyEPgUeXRPwuflTBr36x+T0NPgWe15yMvYy+RV63XsLeld6r3Ye8XPvY+cp/jPuM8N94y3llfzDfAt8i3y0/Db55fhd9DfyP/ZP96/9EAp4AlAWcDiYFBgVsC+/h6fCG/jj8622X2stntQYyguUEVQY+CrYLlwa0haMjskK0h9+eYzpHOaQ6FUH7o1tAHYeZhi8N+DCeFh4VXhj+OcIhYGtExlzV30dxDc99E+kSWRN6bZzFPOa8tSjUqPqouajzaN7o0uj/GLmZZzNVYnVhJbEscOS4qrjZubL7f/O3zh+Kd4gvjexeYL8hdcHmhzsL0hacWqS4SLDqWQEyITjiU8EEQKqgWjCXyE3cljgp5wh3CZyIv0TbRiNhDXCoeTvJIKk16kuyRvDV5JMUzpSzluYQnqZC8TA1M3Zs6nhaadiBtMj06vTGDkpGQcUKqIU2TtmfqZ+ZmdsusZYWy/sVui7cvHpUHyWuzkKwFWS0KtkKm6FRaKNcqB7JnZVdmv82JyjmWq54rze3Ms8rbkDec75//7RLCEuGStqWGS1ctHVjmvaxqObI8cXnbCuMVBSuGVgasPLiKtipt1U+r7VeXrn69JnpNa4FewcqCwbUBa+sLVQrlhX3r3NftXU9YL1nftWH6hp0bPhWJiq4U2xeXFX/YKNx45RuHb8q/mdyUtKmrxLlkz2bSZunm3i2eWw6Wqpfmlw5uDdnatA3fVrTt9fZF2y+XzSjbu4O2Q7mjvzy4vGWnyc7NOz9UpFT0VPpUNu7S3bVh1/hu0e4be7z2NOzV21u89/0+yb7bVQFVTdVm1WX7Sfuz9z+uiarp+Jb7bV2tTm1x7ccD0gP9ByMOtte51NUd0j1UUo/WK+tHDscfvv6d73ctDTYNVY2cxuIjcER55On3Cd/3Hg062naMe6zhB9Mfdh1nHS9qQprymkabU5r7W2Jbuk/MPtHW6t56/EfbHw+cNDxZeUrzVMlp2umC05Nn8s+MnZWdfX4u+dxg26K2e+djzt9qD2/vuhB04dJF/4vnO7w7zlzyuHTystvlE1e4V5qvOl9t6nTqPP6T00/Hu5y7mq65XGu57nq9tXtm9+kbnjfO3fS9efEW/9bVnjk93b3zem/3xff13xbdfnIn/c7Lu9l3J+6tvE+8X/RA7UHZQ92H1T9b/tzY79x/asB3oPPR3Ef3BoWDz/6R9Y8PQwWPmY/Lhg2G6544Pjk54j9y/en8p0PPZM8mnhf+ov7LrhcWL3741evXztGY0aGX8peTv218pf3qwOsZr9vGwsYevsl4MzFe9Fb77cF33Hcd76PfD0/kfCB/KP9o+bH1U9Cn+5MZk5P/BAOY8/xjMy3bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAGbSURBVHjajNO/S1VxGMfx9+ebQ6FiImkOgatTDYlKXgfPgVAbHRpt6U/oH6jmHAPH2gOX2vx1URCaWoKGhhQ1hKsJLnqeT8sxTveeSz3bFx5ez/f58vkqyzL+pyQhiYhYsL0i6bIoiuf6B/AIENCUBPAUWAX6AGx/6wpIyoEPJTBhewxYk9Rz3RMRXYEeSevATHneB/qBgcqAi4hY6gAkYVvApKS3wP2aAYWk5Yh4rzzPKff7U7axfQP4LKkdOJb0zPZH23QAtpE0FBGbwLmkV7ZfV6AD29PAD6AWGLa9JSlJemj7l6THtj9VbnFuexHYbgcGbe+UjzgLHNq+DawBt4BeYBy4sj33FxARA8BeOblh+0jSsO0mcAk8sD0u6Q3w0vZGdYWhiGgCKaXUAH7aHikDFMAU0IqIzrzkeX6nsvOU7Zak0YjYklRImgZaZXBqgW3gXtl4aHsQ2AWSpAZwXEleJ5Bl2feU0rztr5WdQ9IMcFJt7naDL5JeAKcR8S6ldAVM2j5rD1g3YB24C9wEDiQ9AU7rPkgd8HsAv5vXzUui544AAAAASUVORK5CYII=) center center no-repeat}.fl-color-picker-clear{position:relative;display:block;width:17px;height:30px;border-left:none;background-color:#FAFAFA}.fl-color-picker-color.fl-color-picker-empty+.fl-color-picker-clear{display:none}.fl-color-picker-ui{display:inline-block;font-family:Helvetica,Verdana,sans-serif;z-index:999999;position:fixed;overflow:hidden;padding-bottom:45px;border:1px solid rgba(0,0,0,.1);color:#999;background-color:#FAFAFA;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1);-webkit-transition:opacity .2s,visibility .2s;-moz-transition:opacity .2s,visibility .2s;-ms-transition:opacity .2s,visibility .2s;-o-transition:opacity .2s,visibility .2s;transition:opacity .2s,visibility .2s;visibility:hidden;opacity:0;-webkit-transform:translate3d(0,0,0)}.fl-color-picker-ui.fl-color-picker-active{visibility:visible;opacity:1}.fl-color-picker-ui .fl-color-picker-input,.fl-color-picker-ui .fl-color-picker-input:focus{width:100%;height:30px;border:none!important;font-size:14px!important;padding:0 8px;vertical-align:middle;color:#999;background-color:#fff;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.fl-color-picker-ui .iris-square-value{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.fl-color-picker-preset-add{position:absolute;top:8px;right:8px;width:14px;height:14px;background-color:#999;border-radius:50%;cursor:pointer;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.fl-color-picker-preset-add:hover{background-color:#333}.fl-color-picker-preset-add:after,.fl-color-picker-preset-add:before{content:'';display:block;position:relative;background-color:#fff}.fl-color-picker-preset-add:before{top:6px;left:3px;width:8px;height:2px}.fl-color-picker-preset-add:after{left:6px;top:1px;width:2px;height:8px}.fl-color-picker-presets{position:absolute;left:0;bottom:0;width:100%;z-index:15;overflow:auto;border-top:1px solid rgba(0,0,0,.1);background-color:#FAFAFA}.fl-color-picker-presets-list .fl-color-picker-preset:hover,.fl-color-picker-presets-toggle:hover{background-color:#EDEDED}.fl-color-picker-presets-toggle{position:relative;overflow:hidden;width:100%;height:35px;text-align:center;line-height:35px;font-size:12px;font-weight:700;cursor:pointer;-webkit-transition:all .1s;-moz-transition:all .1s;-ms-transition:all .1s;-o-transition:all .1s;transition:all .1s}.fl-color-picker-presets-close-label,.fl-color-picker-presets-open-label{position:absolute;top:50%;left:50%;visibility:hidden;color:#999;-webkit-transition:all .5s;-moz-transition:all .5s;-ms-transition:all .5s;-o-transition:all .5s;transition:all .5s;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0}.fl-color-picker-presets-close-label.fl-color-picker-active,.fl-color-picker-presets-open-label.fl-color-picker-active{color:#999;visibility:visible;opacity:1}.fl-color-picker-presets-list{width:100%;list-style:none;margin:0;padding:0;overflow:auto}.fl-color-picker-presets-list .fl-color-picker-no-preset,.fl-color-picker-presets-list .fl-color-picker-preset{position:relative;padding:5px;font-size:12px;border-top:1px solid rgba(0,0,0,.1);-webkit-transition:all .1s;-moz-transition:all .1s;-ms-transition:all .1s;-o-transition:all .1s;transition:all .1s}.fl-color-picker-presets-list .fl-color-picker-preset-color{display:inline-block;width:20px;height:20px;margin-right:3px;vertical-align:middle;border:1px solid rgba(0,0,0,.1);border-radius:2px;cursor:pointer}.fl-color-picker-presets-list .fl-color-picker-preset-label{vertical-align:middle;color:#999}.fl-color-picker-clear .fl-color-picker-icon-remove,.fl-color-picker-presets-list .fl-color-picker-preset-remove{position:absolute;top:50%;cursor:pointer;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.fl-color-picker-clear .fl-color-picker-icon-remove{right:0}.fl-color-picker-presets-list .fl-color-picker-preset-remove{right:5px}.fl-color-picker-presets-list .fl-color-picker-preset-remove:hover:after,.fl-color-picker-presets-list .fl-color-picker-preset-remove:hover:before{background-color:#333}.fl-color-picker-added{position:absolute;width:100%;top:0;left:0;right:0;bottom:35px;z-index:10;color:#fff;text-align:center;background-color:rgba(0,0,0,.6)}.fl-color-picker-added-text{position:absolute;top:50%;left:50%;width:80%;font-size:14px;color:#fff!important;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.fl-color-picker-icon-check{position:relative;width:50px;height:50px;margin:5px auto}.fl-color-picker-icon-check:before{content:'';display:block;position:relative;width:15px;height:30px;margin-left:14px;border:7px solid #fff;border-left:none;border-top:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.fl-color-picker-icon-arrow-down,.fl-color-picker-icon-arrow-up{display:inline-block;position:relative;width:10px;height:10px;margin-left:5px}.fl-color-picker-icon-arrow-down:before,.fl-color-picker-icon-arrow-up:before{content:'';display:block;position:relative;width:6px;height:6px;border:2px solid #999;border-left:none;border-top:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.fl-color-picker-icon-arrow-up{top:2px;-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fl-color-picker-icon-remove{width:15px;height:15px}.fl-color-picker-icon-remove:after,.fl-color-picker-icon-remove:before{content:'';display:block;position:relative;background-color:#999}.fl-color-picker-icon-remove:before{left:6px;width:2px;height:10px;margin-top:3px;background:#999;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.fl-color-picker-icon-remove:after{left:6px;width:2px;height:10px;margin-top:-10px;background:#999;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.fl-icons-filter input,.fl-icons-filter select{vertical-align:middle;width:160px}.fl-icon-selector .fl-lightbox{height:100%}.fl-icons-filter{height:auto!important;margin:0!important;position:absolute!important;right:10px;top:10px}.fl-icons-filter input{line-height:18px}.fl-icons-list{bottom:52px;left:0;overflow:auto;padding:20px;position:absolute;right:0;top:48px}.fl-icons-list::-webkit-scrollbar{background-color:#ccc;-webkit-appearance:none;width:10px}.fl-icons-list::-webkit-scrollbar-thumb{background-color:#666;border:1px solid #ccc}.fl-icons-section{text-align:center}.fl-icons-section h2{border-bottom:1px solid #dfdfdf;color:#333!important;font-family:Helvetica,Verdana,sans-serif!important;font-size:16px!important;font-weight:700!important;margin:0 0 20px!important;padding:0 0 10px!important;text-align:left}.fl-icons-list i,.fl-icons-list i:before{cursor:pointer;display:inline-block;font-size:32px;height:80px;line-height:80px;width:80px}.fl-icons-list i:hover{background:#e5e5e5}.fl-icon-selector-footer{bottom:0;left:0;position:absolute;right:0}.fl-lightbox-mask,.fl-lightbox-wrap{bottom:0;left:0;position:fixed;right:0;top:0}.fl-lightbox-wrap{display:none;overflow:auto;padding:30px;z-index:100010;-webkit-transform:translateZ(0)}.fl-lightbox-wrap.fl-icon-selector{z-index:100011}.fl-lightbox-mask{background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100010}.fl-lightbox{background:#fff;box-shadow:rgba(0,0,0,1) 0 4px 30px;-moz-box-shadow:rgba(0,0,0,1) 0 4px 30px;-webkit-box-shadow:rgba(0,0,0,1) 0 4px 30px;position:relative;z-index:100011}.fl-lightbox :not(i){color:#333;font-family:Helvetica,Verdana,sans-serif;font-size:12px;line-height:16px;text-decoration:none;text-transform:none}.fl-lightbox *,.fl-lightbox :after,.fl-lightbox :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fl-lightbox .fl-nanoscroller-pane{bottom:4px;right:4px;width:8px}.fl-lightbox .fa{font-family:FontAwesome}.fl-lightbox-content-wrap{height:100%}.fl-lightbox.ui-draggable{box-shadow:rgba(0,0,0,.5) 0 4px 30px;-moz-box-shadow:rgba(0,0,0,.5) 0 4px 30px;-webkit-box-shadow:rgba(0,0,0,.5) 0 4px 30px}.fl-lightbox-controls{position:absolute;right:10px;top:10px;z-index:5}.fl-lightbox-controls .fa{color:#999;font-size:18px;padding:5px}.fl-lightbox-controls .fa:hover{color:#333;cursor:pointer}.fl-builder-lightbox .fl-lightbox-expanded{left:0!important;right:0!important;top:0!important;height:100%!important;width:100%!important}.fl-lightbox.ui-draggable.fl-lightbox-expanded .fl-lightbox-header{cursor:inherit}.fl-builder-lightbox .fl-lightbox-expanded .fl-builder-settings-tab{width:100%!important}.fl-lightbox-header{background:#fff;border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1);-moz-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);position:relative}.fl-lightbox-header h1{color:#333!important;font-size:18px!important;font-family:Helvetica,Verdana,sans-serif!important;font-weight:300!important;margin:0!important;padding:15px 20px!important}.fl-lightbox.ui-draggable .fl-lightbox-header{cursor:move}.fl-lightbox-footer{border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1);-moz-box-shadow:0 -4px 4px -4px rgba(0,0,0,.1);-webkit-box-shadow:0 -4px 4px -4px rgba(0,0,0,.1);padding:10px;text-align:right}.fl-lightbox-footer .fl-builder-button{margin-left:5px!important}
|
1 |
+
.fl-builder-edit #wpadminbar,.fl-builder-hidden-editor{display:none}html.fl-builder-edit{margin-top:43px!important}.fl-builder-edit body{position:static!important}.fl-clear{clear:both}.fl-builder-loading{background:url(../img/ajax-loader.gif) center center no-repeat rgba(240,240,240,.8);bottom:0;display:none;left:0;position:fixed;right:0;text-align:center;top:0;z-index:200000}.fl-builder-settings .fl-builder-loading{background:url(../img/ajax-loader.gif) center center no-repeat rgba(255,255,255,.8);display:block;position:absolute}.screen-reader-text{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}.fl-visible-desktop,.fl-visible-desktop-medium,.fl-visible-medium,.fl-visible-medium-mobile,.fl-visible-mobile{display:block!important}.fl-responsive-preview-mask{background:#F7F7F7;bottom:0;left:0;position:fixed;right:0;top:0;z-index:99999}.fl-responsive-preview{bottom:0;left:0;position:absolute;right:0;top:43px;z-index:100000}.fl-responsive-preview-content{background:#F7F7F7;padding:20px}.fl-responsive-preview-message{color:#b3b3b3;font-family:Helvetica,Arial,Verdana,sans-serif;font-size:14px;font-weight:400;padding:0 20px 20px;text-align:center}.fl-responsive-preview-message i{cursor:pointer;margin-left:3px}.fl-responsive-preview .fl-builder-content{box-shadow:0 0 8px rgba(0,0,0,.2);margin-left:auto;margin-right:auto;max-width:100%}.fl-builder-button{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top;display:inline-block;text-decoration:none;font-size:13px!important;line-height:13px!important;height:28px;margin:0;padding:7px 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:3px;-webkit-appearance:none;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.fl-builder-button:hover{background:#fafafa;border-color:#999;color:#222}.fl-builder-button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff!important;text-decoration:none}.fl-builder-button-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff!important}.fl-builder-bar-content,.fl-builder-panel{box-shadow:0 0 8px rgba(0,0,0,.2);font-family:Helvetica,Arial,Verdana,sans-serif}.fl-builder-button-large{height:30px;line-height:30px!important;padding:0 12px 2px}.fl-builder-button-small{font-size:11px!important;line-height:11px!important;height:24px}.fl-builder-help-button{color:#b3b3b3;font-size:16px!important}.fl-builder-help-button i{position:relative;top:-1px}.fl-builder-help-button:hover{color:#666}.fl-builder-publish-button{height:45px;line-height:45px!important}.fl-builder-badge{background:#333;border-radius:2px;color:#fff!important;display:inline;font-size:11px!important;font-weight:400;letter-spacing:1px;margin-left:2px;padding:2px 4px;vertical-align:top}.fl-builder-badge-global{background:#ff9600}.fl-builder-bar{left:0;position:fixed;right:0;top:0;z-index:100008}.fl-builder-bar-content{background:#f4f4f4;border-bottom:1px solid #ccc;-moz-box-shadow:0 0 8px rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);color:#999;font-size:14px;height:43px}.fl-builder-bar-title{color:#333;display:block;float:left;font-size:20px;font-weight:300;line-height:20px;padding:7px 10px}.fl-builder-bar-title img{display:inline-block!important;height:30px!important;margin:0 1px 0 0!important;vertical-align:middle!important}.fl-builder-bar-title span{vertical-align:middle}.fl-builder-bar-title.fl-builder-bar-title-no-icon{padding:12px}.fl-builder-bar-actions{float:right;padding:7px}.fl-builder-bar .fl-builder-button{float:right;margin:0 0 0 6px}.fl-builder-bar .fl-builder-add-content-button{display:none}.fl-builder-buy-button,.fl-builder-upgrade-button{background:#f7951e;border-color:#de7c04;-webkit-box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);color:#fff!important;text-decoration:none}.fl-builder-buy-button i.fa-external-link-square,.fl-builder-upgrade-button i.fa-external-link-square{color:#f4d1a7;margin:0 0 0 6px}.fl-builder-buy-button:hover,.fl-builder-upgrade-button:hover{background:#de861b;border-color:#c46e04;-webkit-box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,177,82,.5),0 1px 0 rgba(0,0,0,.15);color:#fff!important}@media (max-width:768px){.fl-builder-bar-title span{display:none}}@media (max-width:420px){.fl-builder-bar-title,.fl-builder-help-button{display:none}}.fl-builder-panel{background:#f0f0f0;border-left:1px solid #ccc;bottom:0;-moz-box-shadow:0 0 8px rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);color:#999;font-size:14px;opacity:1;position:fixed;right:0;top:43px;width:300px;z-index:100007;-webkit-transform:translateZ(0);transition:opacity .2s;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;-ms-transition:opacity .2s;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fl-builder-panel-actions{background:#f4f4f4;border-bottom:1px solid #dbdbdb;height:43px;left:0;position:absolute;right:0;top:0;text-align:right;z-index:100009}.fl-builder-panel-actions .fl-builder-panel-close{color:#bfbfbf;cursor:pointer;float:left;font-size:18px;margin:12px 18px}.fl-builder-panel-actions .fl-builder-panel-close:hover{color:#333}.fl-builder-panel-content-wrap{bottom:0;height:auto;left:0;overflow:hidden;position:absolute;right:0;top:43px}.fl-builder-panel-content{padding-bottom:60px}.fl-builder-blocks-section .fl-builder-block,.fl-builder-blocks-section .fl-builder-blocks-section-title{cursor:pointer;display:block;line-height:14px;padding:15px 20px}.fl-builder-blocks-section .fl-builder-blocks-section-title{border-bottom:1px solid #dfdfdf;color:#333;font-weight:400}.fl-builder-blocks-section .fl-builder-blocks-section-title i{color:#bfbfbf;float:right}.fl-builder-blocks-section .fl-builder-blocks-section-title:hover,.fl-builder-blocks-section .fl-builder-blocks-section-title:hover i{background:#e5e5e5}.fl-builder-blocks-section-content{background:#fff;display:none}.fl-builder-blocks-section.fl-active .fl-builder-blocks-section-content{display:block}.fl-builder-blocks-section-content .fl-builder-block{border-bottom:1px solid #ebebeb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-builder-blocks-section-content .fl-builder-block i{color:#d9d9d9;margin-right:10px}.fl-builder-blocks-section-content .fl-builder-block:hover{background:#0074a1;color:#fff;cursor:move}.fl-builder-blocks-separator{background:#dfdfdf;height:6px}.fl-builder-block:hover .fl-builder-badge{background:#2ea2cc}.ui-sortable-helper .fl-builder-badge{display:none!important}.fl-builder-modules-cta a{color:#999!important;display:block!important;font-size:12px!important;font-style:italic!important;padding:15px 20px!important;line-height:16px!important}.fl-builder-modules-cta a:hover{background:#e5e5e5!important;color:#666!important;text-decoration:none!important}.fl-builder-modules-cta a:focus{text-decoration:none!important}.fl-builder-modules-cta .fa{float:right!important;font-size:14px!important;margin:3px 0 0 9px!important}.fl-builder-block-template-image{margin:5px 0 10px;max-width:100%}.fl-builder-block-template .fl-builder-block-title{display:block;overflow:hidden;text-overflow:ellipsis}.ui-sortable-helper .fl-builder-block-template-image{display:none!important}span.fl-builder-block-no-node-templates{display:block;padding:15px 20px}span.fl-builder-block-no-node-templates:hover{cursor:default;background:#fff}.fl-builder-blocks-node-template .fl-builder-block{position:relative}.fl-builder-blocks-section-content .fl-builder-node-template-actions{bottom:0;cursor:default;display:none;position:absolute;right:0;top:0;width:72px}.fl-builder-blocks-section-content .fl-builder-node-template-delete,.fl-builder-blocks-section-content .fl-builder-node-template-edit{bottom:0;cursor:pointer;margin:0;padding:15px 0;position:absolute;text-align:center;top:0;width:30px}.fl-builder-blocks-section-content .fl-builder-node-template-delete{right:12px}.fl-builder-blocks-section-content .fl-builder-node-template-edit{right:42px}.fl-builder-blocks-section-content .fl-builder-node-template-delete i,.fl-builder-blocks-section-content .fl-builder-node-template-edit i{margin:0}.fl-builder-drop-zone,.fl-builder-empty{font-family:Helvetica,Verdana,sans-serif!important;margin:10px}.fl-builder-blocks-section-content .fl-builder-node-template-delete:hover i,.fl-builder-blocks-section-content .fl-builder-node-template-edit:hover i{color:#fff}.fl-builder-blocks-node-template .fl-builder-block:hover{padding-right:85px}.fl-builder-blocks-node-template .fl-builder-block:hover .fl-builder-node-template-actions{display:block}.ui-sortable-helper .fl-builder-node-template-delete,.ui-sortable-helper .fl-builder-node-template-edit{display:none!important}.fl-builder-dragging .fl-builder-content:not(.fl-builder-empty){padding:16px 0}.fl-builder-empty{border:1px dashed #3ba0ff;color:#3ba0ff;font-size:14px;padding:100px 20px;position:relative;text-align:center;text-transform:uppercase}.fl-builder-block-drag-helper,.fl-builder-block.ui-draggable-dragging{background:rgba(255,255,255,.85)!important;border:1px solid #ccc;box-shadow:0 0 8px rgba(0,0,0,.2);-moz-box-shadow:0 0 8px rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);color:#999!important;font-family:Helvetica,Verdana,sans-serif!important;font-size:13px!important;height:40px!important;line-height:40px!important;overflow:hidden;padding:0 15px;position:fixed!important;text-overflow:ellipsis;white-space:nowrap;width:120px!important;z-index:100010!important}.fl-col-has-highlight-guide .fl-col-content,.fl-col-highlight,.fl-row-highlight .fl-col-group{position:relative}.fl-builder-drop-zone{animation:fl-builder-drop-zone-pulse 3s infinite;background:#3ba0ff;color:#fff!important;display:block;font-weight:400;font-size:12px;letter-spacing:1px;line-height:14px;padding:6px 8px 5px;position:relative;text-align:left;text-overflow:ellipsis;text-shadow:none;text-transform:none;white-space:nowrap;overflow:hidden;z-index:10}@keyframes fl-builder-drop-zone-pulse{0%,100%{background-color:#7ABFFF}50%{background-color:#3ba0ff}}.fl-builder-drop-zone-global{animation:fl-builder-drop-zone-global-pulse 3s infinite;background:#ff9600}@keyframes fl-builder-drop-zone-global-pulse{0%,100%{background-color:#FFBC5C}50%{background-color:#ff9600}}.fl-builder-content>.fl-builder-drop-zone{margin:10px 20px}.fl-row-content>.fl-builder-drop-zone{margin:3px 7px}.fl-col-has-cols>.fl-col-content>.fl-builder-drop-zone{margin:3px 10px}.fl-sortable-disabled>.fl-builder-drop-zone{display:none!important}.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content>.fl-builder-drop-zone{width:100%}.fl-row-highlight{padding:16px 0}.fl-row-highlight .fl-row-content{border:1px dashed #3ba0ff;padding:8px}.fl-row-highlight.fl-node-global .fl-row-content{border-color:#ff9600}.fl-col-highlight{padding:8px}.fl-col-highlight .fl-col-content{border-style:dashed!important;border-color:#3ba0ff!important;min-height:100px;overflow-x:hidden;width:100%;border-width:1px!important}.fl-col-has-cols.fl-col-highlight>.fl-col-content{padding:8px}.fl-col-highlight.fl-node-global .fl-col-content{border-color:#ff9600!important}.fl-builder-simple .fl-col-highlight .fl-col-content{border:none!important}.fl-col-highlight-guide{background:rgba(59,160,255,.15);border:1px solid #3ba0ff;bottom:4px;left:4px;position:absolute;right:4px;top:4px;z-index:1}.fl-col-has-highlight-guide .fl-block-overlay{background:0 0;border-color:transparent}.fl-col-has-highlight-guide .fl-block-col-resize{display:none}.fl-col-has-highlight-guide .fl-col-highlight .fl-col-content{border-color:transparent!important}.fl-col-drop-target{bottom:8px;display:none;left:-9px;position:absolute;top:8px;width:18px;z-index:1}.fl-col-highlight .fl-col-drop-target{display:block}.fl-col-drop-target-last{left:auto;right:-9px}.fl-col-drop-target .fl-builder-drop-zone{bottom:0;left:2px;margin:0;padding:0;position:absolute;right:2px;top:0}.fl-col-group-drop-target{display:none;left:8px;height:18px;position:absolute;right:8px;top:-9px;z-index:1}.fl-row-highlight .fl-col-group-drop-target{display:block}.fl-col-group-drop-target-last{top:auto;bottom:-9px}.fl-col-group-drop-target .fl-builder-drop-zone{bottom:2px;left:0;margin:0;padding:0;position:absolute;right:0;top:2px}.fl-row-content>.fl-col-group-drop-target{position:static}.fl-row-content>.fl-col-group-drop-target .fl-builder-drop-zone{height:18px;position:static}.fl-row-drop-target{display:none;left:0;height:24px;margin-top:-28px;position:absolute;right:0;z-index:1}.fl-row-highlight .fl-row-drop-target{display:block}.fl-row-drop-target-last{margin-top:4px}.fl-row .fl-row-drop-target .fl-builder-drop-zone{bottom:0;left:4px;margin:0;position:absolute;right:4px;top:0}.fl-builder-content>.fl-row-drop-target{margin:0;position:static}.fl-builder-dragging .fl-builder-content.fl-builder-empty>.fl-row-drop-target{bottom:10px;display:block;height:auto;left:0;position:absolute;right:0;top:10px}.fl-builder-content .fl-row-drop-target .fl-builder-drop-zone{margin-bottom:0;margin-top:0}.fl-sortable-proxy{display:none}.fl-block-overlay,.fl-block-overlay *{text-shadow:none}.fl-block-overlay-active{position:relative}.fl-block-overlay-actions{background:#3ba0ff;float:left;height:28px;margin:-1px -1px 0;text-shadow:none}.fl-builder-col-resizing .fl-block-overlay-actions{overflow:hidden}.fl-block-overlay-actions>span{display:block;float:left}.fl-block-overlay-actions i{color:#fff!important;cursor:pointer;display:block!important;float:left;font-size:14px!important;height:28px!important;font-weight:100!important;line-height:28px!important;opacity:.8;filter:alpha(opacity=80);text-align:center;width:28px!important}.fl-block-overlay-actions i:hover{opacity:1;filter:alpha(opacity=100)}.fl-block-overlay-actions>i:first-child{padding-left:4px}.fl-block-overlay-actions>i:last-child{padding-right:2px}.fl-block-overlay-actions .fl-block-move{cursor:move}.fl-block-overlay-title{border-right:1px solid #5eb1ff;color:#fff!important;float:left;font-family:Helvetica,Arial,Verdana,sans-serif;font-size:13px;height:30px;line-height:29px;margin-right:2px;padding:0 8px}.fl-col-overlay,.fl-module-overlay,.fl-row-overlay{background:rgba(59,160,255,.15);border:1px solid #3ba0ff;color:#fff}.fl-row-overlay{bottom:0;box-sizing:border-box!important;-moz-box-sizing:border-box!important;-webkit-box-sizing:border-box!important;left:0;position:absolute;top:-30px;width:100%;z-index:100006}.fl-row-overlay-header-bottom{bottom:-30px;top:0}.fl-row-overlay-header-bottom .fl-block-overlay-header{position:absolute;bottom:0}.fl-block-overlay-active .fl-row-content-wrap{position:relative}.fl-block-overlay-active .fl-row-content{position:relative;z-index:100007!important}.fl-col-overlay{bottom:8px;cursor:pointer;left:8px;position:absolute;right:8px;top:8px;z-index:100007}.fl-module-overlay{bottom:4px;cursor:pointer;left:4px;min-height:32px;position:absolute;right:4px;top:4px;z-index:100007}.fl-builder-global-templates-locked .fl-block-overlay-global.fl-module-overlay{cursor:default}.fl-module-adjust-height{padding-bottom:15px;padding-top:15px}.fl-block-overlay-global{background:rgba(255,150,0,.1);border:1px solid #ff9600}.fl-block-overlay-global .fl-block-overlay-actions{background:#ff9600}.fl-block-overlay-global .fl-block-overlay-title{border-right:1px solid #ffcf66}.fl-block-overlay-title-global{background:#fff;border-radius:2px;color:#ff9600!important;font-size:11px;letter-spacing:1px;margin-left:4px;padding:2px 4px;vertical-align:top}.fl-block-overlay-global.fl-row-overlay{background:rgba(255,150,0,.3);cursor:pointer;z-index:100007}.fl-builder-global-templates-locked .fl-block-overlay-global.fl-row-overlay{cursor:default}.fl-builder-row-template .fl-block-overlay-global.fl-row-overlay{background:rgba(255,150,0,.1);cursor:default;z-index:100006}.fl-block-overlay-muted .fl-row-overlay{background:rgba(153,153,153,.1);border:1px solid #8c8c8c}.fl-block-overlay-muted .fl-row-overlay .fl-block-overlay-actions{background:#8c8c8c}.fl-block-overlay-muted .fl-row-overlay .fl-block-overlay-title{border-right:1px solid #a6a6a6}.fl-node-disabled .fl-row-content-wrap{opacity:.3}.fl-block-col-resize{bottom:0!important;position:absolute;top:0!important;width:6px}.fl-block-col-resize-e{cursor:ew-resize;left:auto!important;right:-4px!important}.fl-block-col-resize-w{cursor:ew-resize;left:-4px!important}.fl-block-col-resize-handle-wrap{margin:-4px 0 0 -5px;padding:0 5px;position:absolute;top:50%!important}.fl-block-col-resize-e .fl-block-col-resize-handle-wrap{margin-left:-6px}.fl-block-col-resize-handle{background:#fff;border:1px solid #259aff;height:7px;width:7px}.fl-node-global .fl-block-col-resize-handle{border-color:#ff9600}.fl-block-col-resize-feedback{color:#333!important;display:none;font-family:Helvetica,Verdana,sans-serif!important;font-size:11px!important;position:absolute}.fl-block-col-resize-feedback-left,.fl-block-col-resize-feedback-right{background:#fff;border:1px solid #3ba0ff;padding:2px 4px}.fl-block-col-resize-feedback-left{right:20px;top:-7px}.fl-block-col-resize-feedback-right{left:20px;top:-7px}.fl-builder-has-submenu{position:relative}.fl-builder-has-submenu>ul.fl-builder-submenu{background:#3ba0ff;box-shadow:0 0 20px rgba(0,0,0,.2);display:none;left:0;list-style:none;margin:0;padding:6px 0;position:absolute;text-align:left;top:100%;width:155px;z-index:100008}.fl-builder-has-submenu>ul.fl-builder-submenu li{list-style:none;margin:0;padding:0}.fl-builder-submenu-right ul.fl-builder-submenu{left:auto;right:0}.fl-builder-submenu-open ul.fl-builder-submenu{display:block}.fl-builder-has-submenu>ul.fl-builder-submenu li a{border-bottom:0 none;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#fff!important;display:block;line-height:13px;font-size:13px;font-family:Helvetica,Arial,Verdana,sans-serif;font-weight:400;opacity:.8;filter:alpha(opacity=80);overflow:hidden;padding:6px 12px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.fl-builder-has-submenu>ul.fl-builder-submenu li a:hover{background:#54acff;color:#fff;opacity:1;filter:alpha(opacity=100);text-decoration:none}.fl-builder-actions-title,.fl-builder-alert-lightbox .fl-lightbox-message{color:#333!important;font-family:Helvetica,Verdana,sans-serif!important;font-size:16px!important}.fl-builder-has-submenu .fl-builder-submenu .fa{float:right;height:12px!important;line-height:12px!important;position:relative;right:-5px;width:14px!important}.fl-builder-has-submenu .fl-builder-has-submenu .fl-builder-submenu{display:none;left:100%;top:0}.fl-builder-has-submenu .fl-builder-submenu-right.fl-builder-has-submenu .fl-builder-submenu{left:auto;right:100%}.fl-builder-has-submenu .fl-builder-has-submenu:hover .fl-builder-submenu{display:block}.fl-builder-submenu-sep{padding:7px 0!important}.fl-builder-submenu-sep div{border-bottom:1px solid rgba(255,255,255,.4)}.fl-block-col-move,.fl-block-col-move-parent{cursor:move;position:relative}.fl-builder-submenu .fa-arrows{cursor:move;display:none!important}.fl-builder-submenu a:hover .fa-arrows{display:block!important}.fl-block-overlay-global ul.fl-builder-submenu{background:#ff9600!important}.fl-block-overlay-global ul.fl-builder-submenu li a:hover{background:#fa3}.fl-builder-actions-lightbox .fl-lightbox{width:300px}.fl-builder-actions-lightbox .fl-builder-actions{display:block;padding:25px;text-align:center}.fl-builder-actions-title{display:block;margin-bottom:20px}.fl-builder-actions .fl-builder-button{display:block;margin-bottom:7px}.fl-builder-alert-lightbox{z-index:200001}.fl-builder-alert-lightbox .fl-lightbox{width:440px!important}.fl-builder-alert-lightbox .fl-lightbox-message{line-height:24px;padding:30px}.fl-template-category-select{width:180px!important}.fl-template-selector .fl-builder-settings-section{margin:0 0 10px}.fl-template-selector .fl-builder-settings-fields{height:470px}.fl-template-selector .fl-builder-settings-tab{width:560px}.fl-template-selector .fl-builder-settings-tab-description{font-size:15px!important;margin:0!important;padding:10px 0 25px;text-align:center}.fl-template-preview{float:left;margin:0 25px 30px 0;position:relative;text-align:center;width:170px}.fl-template-preview.fl-last{margin-right:0}.fl-template-image{border:1px solid #d9d9d9;cursor:pointer;margin-bottom:12px;height:164px;overflow:hidden}.fl-builder-templates-cta,.fl-user-templates{margin-bottom:20px}.fl-template-image:hover{border-color:red}.fl-template-image img{max-height:none;width:100%}.fl-template-preview span{display:block;text-align:center}.fl-user-template-category-name{background:#f2f2f2;border-bottom:3px solid #dfdfdf;border-top:2px solid #dfdfdf;font-weight:700;padding:8px 15px}.fl-user-templates{border-top:1px solid #dfdfdf;margin-right:8px}.fl-user-template{border-bottom:1px solid #dfdfdf;padding:15px;position:relative}.fl-user-template:hover{background:#0074a1;color:#fff!important;cursor:pointer}.fl-user-template:hover *{color:#fff!important}.fl-user-template-actions{bottom:0;position:absolute;right:0;top:0}.fl-user-template-actions a{color:#bfbfbf!important;display:inline-block;padding:15px}.fl-user-template:hover a{color:#99c7d9!important}.fl-user-template:hover a:hover{color:#fff!important}.fl-user-templates-message{display:none}.fl-builder-templates-cta p{display:inline-block!important;width:75%!important;font-size:14px!important;line-height:1.5!important;margin-bottom:0!important}.fl-builder-templates-cta .fl-builder-upgrade-button{font-size:13px!important;line-height:13px!important;position:relative;top:8px;left:15px;padding:1px 12px}.fl-builder-settings-message,.fl-builder-settings-message *{font-size:15px!important;line-height:23px!important}.fl-builder-node-template-settings .fl-builder-settings-fields,.fl-builder-user-template-settings .fl-builder-settings-fields{height:150px}.fl-builder-lightbox .fl-lightbox{width:600px}form.fl-builder-settings{margin:0;padding:0}.fl-builder-settings-message{padding:20px 25px!important;background:#f2f2f2!important}.fl-builder-preview-loader{position:relative;top:-1px;margin-left:3px}.fl-lightbox-header .fl-builder-preview-loader{margin:0;position:absolute;right:40px;top:15px}.fl-builder-settings-tabs{background:#f5f5f5;border-bottom:1px solid #dfdfdf;padding:15px 20px 0}.fl-builder-settings-tabs a{color:#999!important;display:inline-block;margin:0;outline:0;padding:10px 20px;text-decoration:none!important}.fl-builder-settings-tabs a:hover{color:#333}.fl-builder-settings-tabs a:focus{outline:0}.fl-builder-settings-tabs a.fl-active{background:#fff;border:1px solid #dfdfdf;border-bottom:none;color:#333!important;position:relative;top:1px}.fl-builder-settings-tabs a.error{color:#d03436;padding-right:10px}.fl-builder-settings-tabs a.error .fl-error-icon{background:url(../img/sprite.png) -148px -5px no-repeat;display:inline-block;height:16px;margin-left:7px;position:relative;top:3px;width:16px}.fl-builder-settings-tab{display:none;width:550px}.fl-builder-settings-tab.fl-active{display:block}.fl-builder-settings-tab-description{background:#f5f5f5;padding:10px 15px}.fl-form-table{background:none;border:none;width:100%}.fl-form-table tbody{border:none}.fl-form-table td,.fl-form-table th{border:none!important;font-weight:400!important;text-align:left!important}.fl-form-table tr,.fl-form-table tr:nth-child(even){background:0 0}.fl-form-table th{background:#fff!important;padding:10px!important;vertical-align:top!important;width:200px!important}.fl-form-table th label{color:#333}.fl-form-table td{background:#fff!important;padding:8px 10px;width:auto!important}.fl-builder-settings-fields{height:410px;margin:5px 0 0;overflow:hidden;position:relative}.fl-lightbox-header .fl-builder-settings-fields{height:auto;margin:0;position:absolute;right:10px;top:10px}.fl-builder-settings-fields .fl-nanoscroller-content{padding:15px 20px}.fl-builder-settings-fields input[type=email],.fl-builder-settings-fields input[type=file],.fl-builder-settings-fields input[type=number],.fl-builder-settings-fields input[type=password],.fl-builder-settings-fields input[type=search],.fl-builder-settings-fields input[type=tel],.fl-builder-settings-fields input[type=text],.fl-builder-settings-fields input[type=url],.fl-builder-settings-fields select,.fl-builder-settings-fields textarea{background:#fff!important;border-color:#dfdfdf!important;border-style:solid;border-width:1px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#333!important;display:inline;font-size:12px;height:auto;line-height:15px;margin:1px;outline:0;padding:3px;width:auto}.fl-builder-settings-fields input[type=number]{width:50px}.fl-builder-settings-fields input[type=email]:focus,.fl-builder-settings-fields input[type=file]:focus,.fl-builder-settings-fields input[type=number]:focus,.fl-builder-settings-fields input[type=password]:focus,.fl-builder-settings-fields input[type=search]:focus,.fl-builder-settings-fields input[type=tel]:focus,.fl-builder-settings-fields input[type=text]:focus,.fl-builder-settings-fields input[type=url]:focus,.fl-builder-settings-fields select:focus,.fl-builder-settings-fields textarea:focus{background:0 0;border-color:#dfdfdf}.fl-builder-settings-fields select[multiple]{height:60px}.fl-builder-settings-fields ::-webkit-input-placeholder{color:#999!important;font-size:12px}.fl-builder-settings-fields input:-moz-placeholder{color:#999;font-size:12px}.fl-builder-settings-fields ::-moz-placeholder{color:#999!important;font-size:12px}.fl-builder-settings-fields input:-ms-input-placeholder{color:#999;font-size:12px}.fl-builder-settings-fields label{font-weight:400}.fl-builder-settings-fields select{height:2em;color:#000;padding:2px}.fl-builder-settings-description{padding:0 10px 10px;margin:0;font-style:italic;opacity:.75}.fl-builder-settings-fields table{margin:0}.fl-builder-settings-fields h3.fl-builder-settings-title{border-bottom:1px solid #dfdfdf;color:#333;font-size:14px;font-weight:700;margin:0 0 20px!important;padding:10px}.fl-builder-settings-section{margin-bottom:15px}.wp-core-ui h1,.wp-core-ui h2,.wp-core-ui h3,.wp-core-ui h4,.wp-core-ui h5,.wp-core-ui h6{color:#333}.wp-core-ui .submitbox .submitdelete{color:#a00}.wp-core-ui button{font-weight:400;text-transform:capitalize}.wp-core-ui input[type=email],.wp-core-ui input[type=file],.wp-core-ui input[type=number],.wp-core-ui input[type=password],.wp-core-ui input[type=search],.wp-core-ui input[type=tel],.wp-core-ui input[type=text],.wp-core-ui input[type=url],.wp-core-ui select,.wp-core-ui textarea{background-color:#fff;border-color:#dfdfdf;border-style:solid;border-width:1px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#333;font-weight:400}.wp-core-ui input[type=email]:focus,.wp-core-ui input[type=file]:focus,.wp-core-ui input[type=number]:focus,.wp-core-ui input[type=password]:focus,.wp-core-ui input[type=search]:focus,.wp-core-ui input[type=tel]:focus,.wp-core-ui input[type=text]:focus,.wp-core-ui input[type=url]:focus,.wp-core-ui select:focus,.wp-core-ui textarea:focus{background:0 0;border-color:#aaa}.wp-core-ui input[type=search]{background-image:none;padding:6px}.fl-field-responsive-setting{display:inline-block}.fl-field-responsive-setting-medium,.fl-field-responsive-setting-responsive{display:none}i.fl-field-responsive-toggle{color:grey;cursor:pointer;display:inline-block;font-size:15px!important;height:auto;line-height:15px!important;text-align:left;vertical-align:middle;width:20px}i.fl-field-responsive-toggle:hover{color:#000}.fl-builder-settings-fields input.text-full,.fl-builder-settings-fields textarea{width:97%}.fl-color-picker{cursor:pointer}.fl-color-picker .fl-color-picker-clear:hover{background-color:#ededed}.colorpicker input{padding:0!important;font-size:11px!important;color:#fff!important;width:29px!important;height:auto!important;background:0 0!important;border:none!important}.colorpicker .colorpicker_hex input{width:45px!important}.fl-builder-custom-field{border:1px solid #dfdfdf;border-radius:3px;padding:5px 10px}.fl-builder-custom-field a{color:#21759b!important;text-decoration:underline!important}.fl-builder-custom-field a:hover{color:#d54e21!important}.fl-builder-custom-field label.error{margin-top:5px}.fl-photo-field .fl-photo-select,.fl-photo-field.fl-photo-empty .fl-photo-preview{display:none}.fl-photo-field.fl-photo-empty .fl-photo-select{display:block}.fl-photo-field .fl-photo-preview-img{float:left;line-height:0;margin:5px 0}.fl-photo-field .fl-photo-preview-img img{max-width:60px}.fl-photo-field .fl-photo-preview select{margin:8px 0 8px 10px;width:200px}.fl-photo-field .fl-photo-edit{margin:0 0 0 11px}.fl-multiple-photos-field .fl-multiple-photos-add,.fl-photo-field .fl-photo-remove,.fl-photo-field .fl-photo-replace{margin:0 0 0 8px}.fl-builder-edit .media-frame{-webkit-backface-visibility:hidden}.fl-builder-edit .media-modal-content .thumbnail{padding:0;border:none;border-radius:0}.fl-builder-edit button.button-link.media-modal-close{position:absolute;box-shadow:none;-webkit-box-shadow:none}.fl-builder-edit .media-frame.hide-menu{visibility:visible}.fl-multiple-photos-field .fl-multiple-photos-select,.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-add,.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-count,.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-edit,.fl-multiple-photos-lightbox .gallery-settings{display:none}.fl-multiple-photos-field.fl-multiple-photos-empty .fl-multiple-photos-select{display:inline}.fl-multiple-photos-count{font-weight:700;margin-bottom:3px}.fl-video-field .fl-video-select,.fl-video-field.fl-video-empty .fl-video-preview{display:none}.fl-video-field.fl-video-empty .fl-video-select{display:block}.fl-video-field .fl-video-preview-img{float:left;line-height:0;margin:5px 0}.fl-video-field .fl-video-preview-img img{max-width:60px}.fl-video-field .fl-video-preview-filename{display:inline-block;font-size:14px;font-weight:700;margin:7px 0 0 11px}.fl-video-field .fl-video-replace{margin:0 0 0 11px}.fl-multiple-audios-field .fl-multiple-audios-select,.fl-multiple-audios-field.fl-multiple-audios-empty .fl-multiple-audios-add,.fl-multiple-audios-field.fl-multiple-audios-empty .fl-multiple-audios-edit{display:none}.fl-multiple-audios-field.fl-multiple-audios-empty .fl-multiple-audios-select{display:block}.fl-multiple-audios-field .fl-multiple-audios-add{margin:0 0 0 8px}.fl-icon-field .fl-icon-select,.fl-icon-field.fl-icon-empty .fl-icon-preview{display:none}.fl-icon-field.fl-icon-empty .fl-icon-select{display:block}.fl-icon-field .fl-icon-preview i{display:inline-block;font-size:28px;margin:10px 10px 9px 2px;vertical-align:middle}.fl-icon-field .fl-icon-remove{margin:0 0 0 8px}.fl-builder-settings .wp-switch-editor{background:#ebebeb;border:1px solid #e5e5e5;border-radius:0;color:#333}.fl-builder-settings .wp-editor-container{border:1px solid #e5e5e5}.fl-builder-settings .mce-toolbar .mce-btn-group .mce-btn{margin:2px 0}.fl-builder-settings .mce-menubtn.mce-fixed-width button{width:100px}.mce-close:active,.mce-close:hover,.mce-toolbar .mce-btn button:active,.mce-toolbar .mce-btn button:hover,.mce-window .mce-btn button:active,.mce-window .mce-btn button:hover{background:0 0;border:none}.mce-ico{font-family:tinymce,Arial!important}.mce-toolbar i.mce-ico{font:400 20px/1 dashicons!important}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:1px!important}.wp-editor-container textarea.wp-editor-area{background:0 0;border:none;padding:10px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.fl-builder-edit form#wp-link{color:#000;font-family:Helvetica,Arial,Verdana,sans-serif;font-size:13px}.fl-builder-edit form#wp-link #link-options label{display:block;margin-bottom:2px}.fl-builder-edit form#wp-link #link-options label span{padding-right:10px;vertical-align:middle}.fl-builder-edit form#wp-link #link-options input[type=text]{display:inline-block;height:auto;margin:5px 0 0;padding:3px 5px;width:80%}.fl-builder-edit form#wp-link .query-results{top:225px}.ace_editor,.ace_editor *{font-family:Monaco,Menlo,"Ubuntu Mono","Droid Sans Mono",Consolas,monospace!important;font-size:12px!important;font-weight:400!important;letter-spacing:0!important}.fl-builder-global-settings #fl-builder-settings-tab-css,.fl-builder-global-settings #fl-builder-settings-tab-js,.fl-builder-html-settings #fl-builder-settings-tab-general,.fl-builder-layout-settings #fl-builder-settings-tab-css,.fl-builder-layout-settings #fl-builder-settings-tab-js{width:560px}.fl-builder-global-settings #fl-builder-settings-section-css,.fl-builder-global-settings #fl-builder-settings-section-js,.fl-builder-html-settings #fl-builder-settings-section-general,.fl-builder-layout-settings #fl-builder-settings-section-css,.fl-builder-layout-settings #fl-builder-settings-section-js{margin-bottom:0}.fl-builder-global-settings #fl-builder-settings-tab-css td,.fl-builder-global-settings #fl-builder-settings-tab-js td,.fl-builder-html-settings #fl-builder-settings-section-general td,.fl-builder-layout-settings #fl-builder-settings-tab-css td,.fl-builder-layout-settings #fl-builder-settings-tab-js td{padding:0}.fl-layout-field-option{border:2px solid #d9d9d9;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-sizing:border-box!important;-moz-box-sizing:border-box!important;-webkit-box-sizing:border-box!important;cursor:pointer;float:left;line-height:0;max-width:23%;margin:0 1% 2%;padding:5px}.fl-layout-field-option-selected,.fl-layout-field-option:hover{border-color:red}.fl-layout-field-option img{max-width:100%}.fl-link-field-input{width:244px!important}.fl-link-field-search{display:none;border:1px solid #dfdfdf;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;margin:4px 0 0;padding:10px}.fl-link-field-search-title{display:block;margin:0 0 3px 2px}.fl-link-field-search-cancel{margin-top:6px}.fl-help-tooltip{display:inline-block;position:relative}.fl-help-tooltip-icon{color:#999!important;cursor:pointer;font-family:FontAwesome;font-size:15px!important;padding:5px;vertical-align:middle}.popover[class*=tour-],ul.as-list{font-family:Helvetica,Arial,Verdana,sans-serif}.fl-help-tooltip-text{background:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ccc;-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;display:none;font-weight:400;left:23px;padding:10px 13px;position:absolute;top:-6px;width:250px;z-index:1000}.fl-form-field-preview-text .fa{font-size:18px;line-height:22px}.fl-builder-field-actions{padding-left:0!important;padding-right:0!important;text-align:center;width:85px}.fl-builder-field-actions i{color:#999!important;cursor:pointer;font-size:13px!important;height:24px;line-height:29px!important;padding-bottom:20px;width:24px}.fl-builder-field-actions i:hover{color:#000!important}.fl-builder-field-actions i.fl-builder-field-copy,.fl-builder-field-actions i.fl-builder-field-delete{margin-left:5px}.fl-builder-field-actions i.fl-builder-field-move{cursor:move}.fl-builder-field-dd-helper{background:#ccc;height:30px!important;float:left;width:130px!important}.fl-builder-field-dd-zone{border:1px dashed #ccc;height:30px}.fl-builder-field-actions-single{width:auto}.fl-builder-field-actions-single i.fl-builder-field-delete,.fl-builder-field-actions-single i.fl-builder-field-move{display:none}.fl-builder-widget-settings input{display:inline-block!important;margin:5px 10px 8px!important}.fl-builder-lightbox-loading{background:url(../img/ajax-loader.gif) center center no-repeat;height:100px}.fl-builder-settings .error,.fl-builder-settings input.error{border-color:#d03436}.fl-builder-settings label.error,.fl-builder-settings p.error{color:#d03436;display:block;margin-top:5px}.fl-builder-settings .fl-form-table .fl-field-description{color:#999;font-style:normal}ul.as-selections{background-color:#fff;border-color:#dfdfdf;border-style:solid;border-width:1px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;color:#333;font-size:12px;height:auto;line-height:15px;margin:1px;outline:0;padding:3px;width:auto}ul.as-selections.loading{background:url(../img/ajax-loader-small.gif) 98% center no-repeat}ul.as-selections li.as-selection-item{background:#d4eaf6;border:none;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;font-size:11px;line-height:14px;margin-bottom:4px;padding-bottom:0;padding-top:0}ul.as-selections li.as-selection-item.blur{background:#f4f4f4}ul.as-selections li.as-selection-item a.as-close{line-height:12px}ul.as-selections li.as-original{margin:0}ul.as-selections li.as-original input{height:auto;font-size:12px;margin:0;padding:0}ul.as-list{margin:0;font-size:13px;color:#000;background-color:#fff;background-color:rgba(255,255,255,.95);z-index:2;-webkit-box-shadow:0 0 10px rgba(0,0,0,.1);-moz-box-shadow:0 0 10px rgba(0,0,0,.1);box-shadow:0 0 10px rgba(0,0,0,.1);-ms-border-radius:0;-o-border-radius:0;border:none;border:1px solid #dfdfdf;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}li.as-message,li.as-result-item{border:none}li.as-result-item.active{background:#e5e5e5;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;color:#333;text-shadow:none}li.as-result-item em{background:0 0!important;color:#333!important;font-size:12px;padding:0!important}.fl-loop-builder-filter{display:none}.fl-builder-service-settings{position:relative}.fl-builder-service-error{color:red!important;padding:15px 0 0}.fl-builder-service-account-delete{color:red!important;margin-left:10px;position:relative;top:2px}#fl-field-visibility_user_capability .fl-field-description,.fl-builder-service-connect-row .fl-field-description{background:#f0f0f0;color:#333!important;display:block;float:none;margin:10px 0 0;padding:10px}#fl-field-visibility_user_capability .fl-field-description a,.fl-builder-service-connect-row .fl-field-description a{color:#21759b!important;text-decoration:underline!important}#tiptip_holder{z-index:200000}#tiptip_arrow_inner{border-top-color:#333!important}#tiptip_content{background:#333;box-shadow:none}.fl-builder-getting-started-video{line-height:0!important;padding:10px}.fl-builder-getting-started-video iframe{border:none;height:326px;width:100%}.fl-builder-tour-actions .fl-builder-actions-title{font-size:14px!important;line-height:19px}.fl-builder-tour-mask{bottom:0;left:0;position:fixed;right:0;top:0;z-index:100000000}.fl-builder-tour-dimmed{background:rgba(0,0,0,.7);bottom:0;left:0;position:absolute;right:0;top:0}body>.fl-builder-tour-dimmed{position:fixed}.tour-backdrop{z-index:110000}.popover[class*=tour-]{border:1px solid #ccc;border-radius:0;-webkit-box-shadow:0 0 30px rgba(0,0,0,.3);box-shadow:0 0 40px rgba(0,0,0,.3);color:#666;font-size:13px;font-weight:400;line-height:18px;max-width:none;padding:0;width:300px;z-index:100000001}.popover[class*=tour-].bottom>.arrow{border-bottom-color:#ccc}.popover[class*=tour-].bottom>.arrow:after{border-bottom-color:#f7f7f7}.popover[class*=tour-] .popover-title{border-radius:0;color:#333;letter-spacing:normal;text-transform:none}.popover[class*=tour-] .fa-times{color:#b3b3b3;cursor:pointer;font-size:16px;padding:5px;position:absolute;right:3px;top:2px}.popover[class*=tour-] .fa-times:hover{color:#666}.popover[class*=tour-] .popover-content{border-bottom:1px solid #d9d9d9;padding:13px 15px}.popover[class*=tour-] .fl-builder-tour-next{display:block;float:none;width:100%}.fl-builder-shortcode-mask-wrap{position:relative}.fl-builder-shortcode-mask{bottom:-1px;left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fl-color-picker-ui{width:200px}.fl-color-picker-ui .iris-picker{float:left;width:200px;height:215px;display:block;position:relative;border-top:1px solid rgba(0,0,0,.1)}.fl-color-picker-ui .iris-picker .iris-square-inner,.fl-color-picker-ui .iris-picker-inner{position:absolute;left:0;top:0;bottom:0;right:0}.fl-color-picker-ui .iris-picker,.iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}.fl-color-picker-ui .iris-error{background-color:#ffafaf}.fl-color-picker-ui .iris-picker .iris-square{width:200px;height:200px}.fl-color-picker-ui .iris-picker .iris-palette,.fl-color-picker-ui .iris-picker .iris-slider,.fl-color-picker-ui .iris-picker .iris-square-inner{box-shadow:0 0 3px rgba(0,0,0,.1) inset;height:100%;width:12.5%}.fl-color-picker-ui .iris-picker .iris-placeholder,.fl-color-picker-ui .iris-picker .iris-square{position:relative}.fl-color-picker-ui .iris-picker .iris-square-inner{width:auto;margin:0}.fl-color-picker-ui .iris-ie-9 .iris-palette,.fl-color-picker-ui .iris-ie-9 .iris-slider,.fl-color-picker-ui .iris-ie-9 .iris-square,.fl-color-picker-ui .iris-ie-9 .iris-square-inner{box-shadow:none;border-radius:0}.fl-color-picker-ui .iris-ie-9 .iris-palette,.fl-color-picker-ui .iris-ie-9 .iris-slider,.fl-color-picker-ui .iris-ie-9 .iris-square{outline:rgba(0,0,0,.1) solid 1px}.fl-color-picker-ui .iris-ie-lt9 .iris-palette,.fl-color-picker-ui .iris-ie-lt9 .iris-slider,.fl-color-picker-ui .iris-ie-lt9 .iris-square,.fl-color-picker-ui .iris-ie-lt9 .iris-square-inner{outline:#999 solid 1px}.fl-color-picker-ui .iris-ie-lt9 .iris-square .ui-slider-handle{outline:#999 solid 1px;background-color:#fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.fl-color-picker-ui .iris-ie-lt9 .iris-square .iris-square-handle{background:0 0;border:3px solid #fff;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.fl-color-picker-ui .iris-picker .iris-strip{width:200px;margin-top:5px;position:relative;height:14px;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fl-color-picker-ui .iris-picker .iris-strip .ui-slider-handle{width:6px;position:absolute;right:0;top:-2px;bottom:-2px;margin:0;border-radius:3px;background:#fff;box-shadow:0 0 2px rgba(0,0,0,.5);z-index:5;cursor:ew-resize}.fl-color-picker-ui .iris-picker .iris-slider-offset{position:absolute;top:0;left:6px;right:0;bottom:0;width:auto;height:auto;background:0 0;border:none;border-radius:0;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fl-color-picker-ui .iris-picker .iris-square-handle{background:0 0;border:5px solid #999;border-radius:50%;border-color:rgba(128,128,128,.5);box-shadow:none;width:12px;height:12px;position:absolute;left:-10px;top:-10px;cursor:move;opacity:1;z-index:10}.fl-color-picker-ui .iris-picker .ui-state-focus .iris-square-handle{opacity:.8}.fl-color-picker-ui .iris-picker .iris-square-handle:hover{border-color:#999}.fl-color-picker-ui .iris-picker .iris-square-value:focus .iris-square-handle{box-shadow:0 0 2px rgba(0,0,0,.75);opacity:.8}.fl-color-picker-ui .iris-picker .iris-square-handle:hover::after{border-color:#fff}.fl-color-picker-ui .iris-picker .iris-square-handle::after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #f9f9f9;border-color:rgba(255,255,255,.8);border-radius:50%;content:" "}.fl-color-picker-clear,.fl-color-picker-color{border:1px solid rgba(0,0,0,.1);cursor:pointer;float:left}.fl-color-picker-ui .iris-picker .iris-square-value{width:8px;height:8px;position:absolute}.iris-ie-lt9 .iris-square-value,.iris-mozilla .iris-square-value{width:1px;height:1px}.fl-color-picker-wrapper{position:relative;width:48px;height:32px}.fl-color-picker-color{position:relative;width:30px;height:30px;background-color:transparent}.fl-color-picker-color.fl-color-picker-empty{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABG2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS4xLjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+MahxaQAAAAlwSFlzAAALEwAACxMBAJqcGAAACk9pQ0NQUGhvdG9zaG9wIElDQyBwcm9maWxlAAB42p1TZ1RT6RY99970QkuIgJRLb1IVCCBSQouAFJEmKiEJEEqIIaHZFVHBEUVFBBvIoIgDjo6AjBVRLAyKCtgH5CGijoOjiIrK++F7o2vWvPfmzf611z7nrPOds88HwAgMlkgzUTWADKlCHhHgg8fExuHkLkCBCiRwABAIs2Qhc/0jAQD4fjw8KyLAB74AAXjTCwgAwE2bwDAch/8P6kKZXAGAhAHAdJE4SwiAFABAeo5CpgBARgGAnZgmUwCgBABgy2Ni4wBQLQBgJ3/m0wCAnfiZewEAW5QhFQGgkQAgE2WIRABoOwCsz1aKRQBYMAAUZkvEOQDYLQAwSVdmSACwtwDAzhALsgAIDAAwUYiFKQAEewBgyCMjeACEmQAURvJXPPErrhDnKgAAeJmyPLkkOUWBWwgtcQdXVy4eKM5JFysUNmECYZpALsJ5mRkygTQP4PPMAACgkRUR4IPz/XjODq7OzjaOtg5fLeq/Bv8iYmLj/uXPq3BAAADhdH7R/iwvsxqAOwaAbf6iJe4EaF4LoHX3i2ayD0C1AKDp2lfzcPh+PDxFoZC52dnl5OTYSsRCW2HKV33+Z8JfwFf9bPl+PPz39eC+4iSBMl2BRwT44MLM9EylHM+SCYRi3OaPR/y3C//8HdMixEliuVgqFONREnGORJqM8zKlIolCkinFJdL/ZOLfLPsDPt81ALBqPgF7kS2oXWMD9ksnEFh0wOL3AADyu2/B1CgIA4Bog+HPd//vP/1HoCUAgGZJknEAAF5EJC5UyrM/xwgAAESggSqwQRv0wRgswAYcwQXcwQv8YDaEQiTEwkIQQgpkgBxyYCmsgkIohs2wHSpgL9RAHTTAUWiGk3AOLsJVuA49cA/6YQiewSi8gQkEQcgIE2Eh2ogBYopYI44IF5mF+CHBSAQSiyQgyYgUUSJLkTVIMVKKVCBVSB3yPXICOYdcRrqRO8gAMoL8hrxHMZSBslE91Ay1Q7moNxqERqIL0GR0MZqPFqCb0HK0Gj2MNqHn0KtoD9qPPkPHMMDoGAczxGwwLsbDQrE4LAmTY8uxIqwMq8YasFasA7uJ9WPPsXcEEoFFwAk2BHdCIGEeQUhYTFhO2EioIBwkNBHaCTcJA4RRwicik6hLtCa6EfnEGGIyMYdYSCwj1hKPEy8Qe4hDxDckEolDMie5kAJJsaRU0hLSRtJuUiPpLKmbNEgaI5PJ2mRrsgc5lCwgK8iF5J3kw+Qz5BvkIfJbCp1iQHGk+FPiKFLKakoZ5RDlNOUGZZgyQVWjmlLdqKFUETWPWkKtobZSr1GHqBM0dZo5zYMWSUulraKV0xpoF2j3aa/odLoR3ZUeTpfQV9LL6Ufol+gD9HcMDYYVg8eIZygZmxgHGGcZdxivmEymGdOLGcdUMDcx65jnmQ+Zb1VYKrYqfBWRygqVSpUmlRsqL1Spqqaq3qoLVfNVy1SPqV5Tfa5GVTNT46kJ1JarVaqdUOtTG1NnqTuoh6pnqG9UP6R+Wf2JBlnDTMNPQ6RRoLFf47zGIAtjGbN4LCFrDauGdYE1xCaxzdl8diq7mP0du4s9qqmhOUMzSjNXs1LzlGY/B+OYcficdE4J5yinl/N+it4U7yniKRumNEy5MWVca6qWl5ZYq0irUatH6702ru2nnaa9RbtZ+4EOQcdKJ1wnR2ePzgWd51PZU92nCqcWTT069a4uqmulG6G7RHe/bqfumJ6+XoCeTG+n3nm95/ocfS/9VP1t+qf1RwxYBrMMJAbbDM4YPMU1cW88HS/H2/FRQ13DQEOlYZVhl+GEkbnRPKPVRo1GD4xpxlzjJONtxm3GoyYGJiEmS03qTe6aUk25pimmO0w7TMfNzM2izdaZNZs9Mdcy55vnm9eb37dgWnhaLLaotrhlSbLkWqZZ7ra8boVaOVmlWFVaXbNGrZ2tJda7rbunEae5TpNOq57WZ8Ow8bbJtqm3GbDl2AbbrrZttn1hZ2IXZ7fFrsPuk72Tfbp9jf09Bw2H2Q6rHVodfnO0chQ6Vjrems6c7j99xfSW6S9nWM8Qz9gz47YTyynEaZ1Tm9NHZxdnuXOD84iLiUuCyy6XPi6bG8bdyL3kSnT1cV3hetL1nZuzm8LtqNuv7jbuae6H3J/MNJ8pnlkzc9DDyEPgUeXRPwuflTBr36x+T0NPgWe15yMvYy+RV63XsLeld6r3Ye8XPvY+cp/jPuM8N94y3llfzDfAt8i3y0/Db55fhd9DfyP/ZP96/9EAp4AlAWcDiYFBgVsC+/h6fCG/jj8622X2stntQYyguUEVQY+CrYLlwa0haMjskK0h9+eYzpHOaQ6FUH7o1tAHYeZhi8N+DCeFh4VXhj+OcIhYGtExlzV30dxDc99E+kSWRN6bZzFPOa8tSjUqPqouajzaN7o0uj/GLmZZzNVYnVhJbEscOS4qrjZubL7f/O3zh+Kd4gvjexeYL8hdcHmhzsL0hacWqS4SLDqWQEyITjiU8EEQKqgWjCXyE3cljgp5wh3CZyIv0TbRiNhDXCoeTvJIKk16kuyRvDV5JMUzpSzluYQnqZC8TA1M3Zs6nhaadiBtMj06vTGDkpGQcUKqIU2TtmfqZ+ZmdsusZYWy/sVui7cvHpUHyWuzkKwFWS0KtkKm6FRaKNcqB7JnZVdmv82JyjmWq54rze3Ms8rbkDec75//7RLCEuGStqWGS1ctHVjmvaxqObI8cXnbCuMVBSuGVgasPLiKtipt1U+r7VeXrn69JnpNa4FewcqCwbUBa+sLVQrlhX3r3NftXU9YL1nftWH6hp0bPhWJiq4U2xeXFX/YKNx45RuHb8q/mdyUtKmrxLlkz2bSZunm3i2eWw6Wqpfmlw5uDdnatA3fVrTt9fZF2y+XzSjbu4O2Q7mjvzy4vGWnyc7NOz9UpFT0VPpUNu7S3bVh1/hu0e4be7z2NOzV21u89/0+yb7bVQFVTdVm1WX7Sfuz9z+uiarp+Jb7bV2tTm1x7ccD0gP9ByMOtte51NUd0j1UUo/WK+tHDscfvv6d73ctDTYNVY2cxuIjcER55On3Cd/3Hg062naMe6zhB9Mfdh1nHS9qQprymkabU5r7W2Jbuk/MPtHW6t56/EfbHw+cNDxZeUrzVMlp2umC05Nn8s+MnZWdfX4u+dxg26K2e+djzt9qD2/vuhB04dJF/4vnO7w7zlzyuHTystvlE1e4V5qvOl9t6nTqPP6T00/Hu5y7mq65XGu57nq9tXtm9+kbnjfO3fS9efEW/9bVnjk93b3zem/3xff13xbdfnIn/c7Lu9l3J+6tvE+8X/RA7UHZQ92H1T9b/tzY79x/asB3oPPR3Ef3BoWDz/6R9Y8PQwWPmY/Lhg2G6544Pjk54j9y/en8p0PPZM8mnhf+ov7LrhcWL3741evXztGY0aGX8peTv218pf3qwOsZr9vGwsYevsl4MzFe9Fb77cF33Hcd76PfD0/kfCB/KP9o+bH1U9Cn+5MZk5P/BAOY8/xjMy3bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAGbSURBVHjajNO/S1VxGMfx9+ebQ6FiImkOgatTDYlKXgfPgVAbHRpt6U/oH6jmHAPH2gOX2vx1URCaWoKGhhQ1hKsJLnqeT8sxTveeSz3bFx5ez/f58vkqyzL+pyQhiYhYsL0i6bIoiuf6B/AIENCUBPAUWAX6AGx/6wpIyoEPJTBhewxYk9Rz3RMRXYEeSevATHneB/qBgcqAi4hY6gAkYVvApKS3wP2aAYWk5Yh4rzzPKff7U7axfQP4LKkdOJb0zPZH23QAtpE0FBGbwLmkV7ZfV6AD29PAD6AWGLa9JSlJemj7l6THtj9VbnFuexHYbgcGbe+UjzgLHNq+DawBt4BeYBy4sj33FxARA8BeOblh+0jSsO0mcAk8sD0u6Q3w0vZGdYWhiGgCKaXUAH7aHikDFMAU0IqIzrzkeX6nsvOU7Zak0YjYklRImgZaZXBqgW3gXtl4aHsQ2AWSpAZwXEleJ5Bl2feU0rztr5WdQ9IMcFJt7naDL5JeAKcR8S6ldAVM2j5rD1g3YB24C9wEDiQ9AU7rPkgd8HsAv5vXzUui544AAAAASUVORK5CYII=) center center no-repeat}.fl-color-picker-clear{position:relative;display:block;width:17px;height:30px;border-left:none;background-color:#FAFAFA}.fl-color-picker-color.fl-color-picker-empty+.fl-color-picker-clear{display:none}.fl-color-picker-ui{display:inline-block;font-family:Helvetica,Verdana,sans-serif;z-index:999999;position:fixed;overflow:hidden;padding-bottom:45px;border:1px solid rgba(0,0,0,.1);color:#999;background-color:#FAFAFA;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1);-webkit-transition:opacity .2s,visibility .2s;-moz-transition:opacity .2s,visibility .2s;-ms-transition:opacity .2s,visibility .2s;-o-transition:opacity .2s,visibility .2s;transition:opacity .2s,visibility .2s;visibility:hidden;opacity:0;-webkit-transform:translate3d(0,0,0)}.fl-color-picker-ui.fl-color-picker-active{visibility:visible;opacity:1}.fl-color-picker-ui .fl-color-picker-input,.fl-color-picker-ui .fl-color-picker-input:focus{width:100%;height:30px;border:none!important;font-size:14px!important;padding:0 8px;vertical-align:middle;color:#999;background-color:#fff;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.fl-color-picker-ui .iris-square-value{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.fl-color-picker-preset-add{position:absolute;top:8px;right:8px;width:14px;height:14px;background-color:#999;border-radius:50%;cursor:pointer;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.fl-color-picker-preset-add:hover{background-color:#333}.fl-color-picker-preset-add:after,.fl-color-picker-preset-add:before{content:'';display:block;position:relative;background-color:#fff}.fl-color-picker-preset-add:before{top:6px;left:3px;width:8px;height:2px}.fl-color-picker-preset-add:after{left:6px;top:1px;width:2px;height:8px}.fl-color-picker-presets{position:absolute;left:0;bottom:0;width:100%;z-index:15;overflow:auto;border-top:1px solid rgba(0,0,0,.1);background-color:#FAFAFA}.fl-color-picker-presets-list .fl-color-picker-preset:hover,.fl-color-picker-presets-toggle:hover{background-color:#EDEDED}.fl-color-picker-presets-toggle{position:relative;overflow:hidden;width:100%;height:35px;text-align:center;line-height:35px;font-size:12px;font-weight:700;cursor:pointer;-webkit-transition:all .1s;-moz-transition:all .1s;-ms-transition:all .1s;-o-transition:all .1s;transition:all .1s}.fl-color-picker-presets-close-label,.fl-color-picker-presets-open-label{position:absolute;top:50%;left:50%;visibility:hidden;color:#999;-webkit-transition:all .5s;-moz-transition:all .5s;-ms-transition:all .5s;-o-transition:all .5s;transition:all .5s;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;width:100%}.fl-color-picker-presets-close-label.fl-color-picker-active,.fl-color-picker-presets-open-label.fl-color-picker-active{color:#999;visibility:visible;opacity:1}.fl-color-picker-presets-list{width:100%;list-style:none;margin:0;padding:0;overflow:auto}.fl-color-picker-presets-list .fl-color-picker-no-preset,.fl-color-picker-presets-list .fl-color-picker-preset{position:relative;padding:5px;font-size:12px;border-top:1px solid rgba(0,0,0,.1);-webkit-transition:all .1s;-moz-transition:all .1s;-ms-transition:all .1s;-o-transition:all .1s;transition:all .1s}.fl-color-picker-presets-list .fl-color-picker-preset-color{display:inline-block;width:20px;height:20px;margin-right:3px;vertical-align:middle;border:1px solid rgba(0,0,0,.1);border-radius:2px;cursor:pointer}.fl-color-picker-presets-list .fl-color-picker-preset-label{vertical-align:middle;color:#999}.fl-color-picker-clear .fl-color-picker-icon-remove,.fl-color-picker-presets-list .fl-color-picker-preset-remove{position:absolute;top:50%;cursor:pointer;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.fl-color-picker-clear .fl-color-picker-icon-remove{right:0}.fl-color-picker-presets-list .fl-color-picker-preset-remove{right:5px}.fl-color-picker-presets-list .fl-color-picker-preset-remove:hover:after,.fl-color-picker-presets-list .fl-color-picker-preset-remove:hover:before{background-color:#333}.fl-color-picker-added{position:absolute;width:100%;top:0;left:0;right:0;bottom:35px;z-index:10;color:#fff;text-align:center;background-color:rgba(0,0,0,.6)}.fl-color-picker-added-text{position:absolute;top:50%;left:50%;width:80%;font-size:14px;color:#fff!important;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.fl-color-picker-icon-check{position:relative;width:50px;height:50px;margin:5px auto}.fl-color-picker-icon-check:before{content:'';display:block;position:relative;width:15px;height:30px;margin-left:14px;border:7px solid #fff;border-left:none;border-top:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.fl-color-picker-icon-arrow-down,.fl-color-picker-icon-arrow-up{display:inline-block;position:relative;width:10px;height:10px;margin-left:5px}.fl-color-picker-icon-arrow-down:before,.fl-color-picker-icon-arrow-up:before{content:'';display:block;position:relative;width:6px;height:6px;border:2px solid #999;border-left:none;border-top:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.fl-color-picker-icon-arrow-up{top:2px;-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fl-color-picker-icon-remove{width:15px;height:15px}.fl-color-picker-icon-remove:after,.fl-color-picker-icon-remove:before{content:'';display:block;position:relative;background-color:#999}.fl-color-picker-icon-remove:before{left:6px;width:2px;height:10px;margin-top:3px;background:#999;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.fl-color-picker-icon-remove:after{left:6px;width:2px;height:10px;margin-top:-10px;background:#999;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.fl-alpha-wrap{float:left;position:relative;width:40px;height:215px;padding:0 5px;border-top:none}.fl-alpha-slider{height:185px;position:absolute;top:15px;width:28px}.fl-alpha-slider .ui-slider-handle{background:rgba(0,0,0,0);border-color:#aaa;border-radius:4px;border-style:solid;border-width:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);cursor:ns-resize;height:16px;left:-2px;opacity:.9;position:absolute;right:-2px;width:34px;z-index:14}.fl-alpha-slider .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.fl-alpha-slider-offset{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAASCAYAAAAe/ZHXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkNEQUQ0ODM4RUE0MTFFNEExOEJFN0E5M0VFOTg0QUQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkNEQUQ0ODQ4RUE0MTFFNEExOEJFN0E5M0VFOTg0QUQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2Q0RBRDQ4MThFQTQxMUU0QTE4QkU3QTkzRUU5ODRBRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2Q0RBRDQ4MjhFQTQxMUU0QTE4QkU3QTkzRUU5ODRBRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/r/N8AAAWYSURBVHjarFvvR3VBEN45JZGIPkREHyIiIhJJf3qUSERE9CGiDxERkcg9z9u92uucvTszz5z7xnHPj93Z2d359cxscn5+jpTS+EoiMr3/+51cZ2dn4+e29i2/u7y8RKf/pO3vc+o+n5ycoNK31+f6+jrfZ37yuG2mf3R01H3fa5N/b29vU6dP5qft0G4PDg5MGuPr/v4+jz1t27mfvN/b21P75+fHx8eZfiV/Ozs7rUJnSu/5+RlFv+m6ZJpbW1s1PnrvXl9fZ/qX89zY2LB4mfy+v7/nsdV1XltbK/dr5vnz87OcV5bJabuVlRVLBifjfX9/l/xkGtM+S0tLNXnu0szfU/P3IMn/k0678h6ddqjQFGccVL6hoCsVfsq+NZ5QtCv5rfFS41sq37W+UPhMyhxEWTetvce3NR8oewqD39qalXuGAK/WPltjajIC4x2c9Ye1f43SGcqGwRBeTZjhMNntL4pCWZMQYhE05RVl02EovRgC4RkCbUNSQAGhGB/GsKG4h6FQoigDa2i8fRBy3uLMXYIG3Vr3aZvRaCRdBYlYIMZywhBGCVhgzzOlgRuUSOvC0GMEWxOM/+EtQFh1OIIXtfwg1tRaayGjg5px0jyZKEaTle3e+AsLCygVRAh3FlEgKbReE3oYGj9EgIR00QiEgKw3ZBQbRGjBeAMtDETQmHiKDsezJNLgCTFGItZXlAgCSiQggblP+9c8SDI0lXWlFv5g3K63KZ51FOcZzthQ3LomoNHwJmKIQISI3vqzSpwIQ8liSjGMFQjDpoVgaQ6cWgvLhOC7qiAwiHrWbEg4JMSmeUrBuHoYwioOQNXmhmAcrs096s1gJCGi3hSEVU8DQxYElYHhKwUUGAa+NqOBMsSSAQJuhQhCAH4vxozExsxiihPuaIrjCVYKWlYEsjSM52G8Kxxryngl5j0j+EyGTIiED4s1Itm0ZGWxMFCLJaBAcEI6OBkmFgNBoc8Cait2ZnENE/6wQN8LJSJeSMNAjKVm+LUMAIt3PR5AQgIGp1Z5zxhE8PtXUYReYeXi4mKmOPNXBMzt2tPT07LIUtJqr66uusXEbkFnWiQ6Pj72ikrtzc1NKopuvbbj58PDwxqNHp27u7tuYWumUDV+v7+/Xyu6pc59+/DwUCsC9ujt7u6qRbt8//T01C3elbyN70fb29uZ/1FSincvLy/lPGb42tzc9IqJeHt7q61Pr2C6vr7u7tfHx8fMPhV0sLq6WhZtU0n36+uru8elPE7aLi8v1wqJPXn++fmZKYgX8ozFxcXJb0NaQTHClZT8+gBjsYdaFc+zWcUkGTCWENY66ta92oSVzo3WI6IZKGtukeyfBLFKBNAj6bUOBgaoe9wE4n04IBNkLMoC7+Skj630ZlTJMYdyMsU2T8AwpzALkVFilZgJcT2l9PCWDDSAMBSjVlJgZNk0lE1AIby0qCiCnBQNj6aBGQslZIZJ5hB6D/AzQHto5Z9Nk8tARdN4q2ExBnsyIJ311EymShyjan2rKk0zh1Ay1oQVWAZQRnkUA8RFw7TahjBnmNgMVMQrsCGZJezRtGlU0cUZ1zuaxGZPpbhApM+ZpFQqQ6xadoMtBrEKpBVo4GRXvNSxpaRixKiR+TChCYhsDwZkfFj8IkErjAHejcUI0XQrgwehhNSMHAz21E0wZ23FcCAmj8Sd/PXy2xLYLAuwRw4IMsqjFaWYOpMEhDySAPFCWyFkgAHrEcA+BNeJ4UE8HCzJPpCrerUmQIx1pWJkjqxJD8EikUo2c5aI8ZYgsAkM4WQtnHd0ns0ORgVTBghy5ISy928SGsbTMqYg523RUY8oNYG4FIYiyRyZCnFCJC87IoRAIMVOqQ7BKexxCS2hYVl9JhvlpYjnAe4MhmRPMWhhvLfXINaI9WKM0Zu0+SfAAFLE1EgfVSv7AAAAAElFTkSuQmCC);border-radius:2px;box-shadow:0 0 5px rgba(0,0,0,.4) inset;-moz-box-shadow:0 0 5px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 5px rgba(0,0,0,.4) inset;width:200px;height:28px;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);bottom:47%;left:-80px;position:absolute}.fl-alpha-text{width:30px;font-size:12px;text-align:center;color:#999;position:absolute;bottom:-5px}.fl-icons-filter input,.fl-icons-filter select{vertical-align:middle;width:160px}.fl-icon-selector .fl-lightbox{height:100%}.fl-icons-filter{height:auto!important;margin:0!important;position:absolute!important;right:10px;top:10px}.fl-icons-filter input{line-height:18px}.fl-icons-list{bottom:52px;left:0;overflow:auto;padding:20px;position:absolute;right:0;top:48px}.fl-icons-list::-webkit-scrollbar{background-color:#ccc;-webkit-appearance:none;width:10px}.fl-icons-list::-webkit-scrollbar-thumb{background-color:#666;border:1px solid #ccc}.fl-icons-section{text-align:center}.fl-icons-section h2{border-bottom:1px solid #dfdfdf;color:#333!important;font-family:Helvetica,Verdana,sans-serif!important;font-size:16px!important;font-weight:700!important;margin:0 0 20px!important;padding:0 0 10px!important;text-align:left}.fl-icons-list i,.fl-icons-list i:before{cursor:pointer;display:inline-block;font-size:32px;height:80px;line-height:80px;width:80px}.fl-icons-list i:hover{background:#e5e5e5}.fl-icon-selector-footer{bottom:0;left:0;position:absolute;right:0}.fl-lightbox-mask,.fl-lightbox-wrap{bottom:0;left:0;position:fixed;right:0;top:0}.fl-lightbox-wrap{display:none;overflow:auto;padding:30px;z-index:100010;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0)}.fl-lightbox-wrap.fl-icon-selector{z-index:100011}.fl-lightbox-mask{background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100010}.fl-lightbox{background:#fff;box-shadow:rgba(0,0,0,1) 0 4px 30px;-moz-box-shadow:rgba(0,0,0,1) 0 4px 30px;-webkit-box-shadow:rgba(0,0,0,1) 0 4px 30px;position:relative;z-index:100011}.fl-lightbox :not(i){color:#333;font-family:Helvetica,Verdana,sans-serif;font-size:12px;line-height:16px;text-decoration:none;text-transform:none}.fl-lightbox *,.fl-lightbox :after,.fl-lightbox :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fl-lightbox .fl-nanoscroller-pane{bottom:4px;right:4px;width:8px}.fl-lightbox .fa{font-family:FontAwesome}.fl-lightbox .dashicons{font-family:dashicons}.fl-lightbox-content-wrap{height:100%}.fl-lightbox.ui-draggable{box-shadow:rgba(0,0,0,.5) 0 4px 30px;-moz-box-shadow:rgba(0,0,0,.5) 0 4px 30px;-webkit-box-shadow:rgba(0,0,0,.5) 0 4px 30px}.fl-lightbox-controls{position:absolute;right:10px;top:10px;z-index:5}.fl-lightbox-controls .fa{color:#999;font-size:18px;padding:5px}.fl-lightbox-controls .fa:hover{color:#333;cursor:pointer}.fl-builder-lightbox .fl-lightbox-expanded{left:0!important;right:0!important;top:0!important;height:100%!important;width:100%!important}.fl-lightbox.ui-draggable.fl-lightbox-expanded .fl-lightbox-header{cursor:inherit}.fl-builder-lightbox .fl-lightbox-expanded .fl-builder-settings-tab{width:100%!important}.fl-lightbox-header{background:#fff;border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1);-moz-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);position:relative}.fl-lightbox-header h1{color:#333!important;font-size:18px!important;font-family:Helvetica,Verdana,sans-serif!important;font-weight:300!important;margin:0!important;padding:15px 20px!important;text-align:left!important}.fl-lightbox.ui-draggable .fl-lightbox-header{cursor:move}.fl-lightbox-footer{border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1);-moz-box-shadow:0 -4px 4px -4px rgba(0,0,0,.1);-webkit-box-shadow:0 -4px 4px -4px rgba(0,0,0,.1);padding:10px;text-align:right}.fl-lightbox-footer .fl-builder-button{margin-left:5px!important}
|
css/fl-color-picker.css
CHANGED
@@ -1,7 +1,11 @@
|
|
1 |
/* Iris Base
|
2 |
---------------------------------------------------- */
|
3 |
|
|
|
|
|
|
|
4 |
.fl-color-picker-ui .iris-picker {
|
|
|
5 |
width: 200px;
|
6 |
height: 215px;
|
7 |
display: block;
|
@@ -32,12 +36,15 @@
|
|
32 |
bottom: 0;
|
33 |
}
|
34 |
.fl-color-picker-ui .iris-picker .iris-square{
|
|
|
35 |
width: 200px;
|
36 |
height: 200px;
|
37 |
}
|
|
|
38 |
.fl-color-picker-ui .iris-picker .iris-slider,
|
39 |
.fl-color-picker-ui .iris-picker .iris-square-inner,
|
40 |
.fl-color-picker-ui .iris-picker .iris-palette {
|
|
|
41 |
height: 100%;
|
42 |
width: 12.5%;
|
43 |
}
|
@@ -82,7 +89,7 @@
|
|
82 |
width: 200px;
|
83 |
margin-top: 5px;
|
84 |
position: relative;
|
85 |
-
height:
|
86 |
-webkit-transform: rotate(180deg);
|
87 |
-ms-transform: rotate(180deg);
|
88 |
-o-transform: rotate(180deg);
|
@@ -332,6 +339,7 @@
|
|
332 |
-o-transform: translate(-50%,-50%);
|
333 |
transform: translate(-50%,-50%);
|
334 |
opacity: 0;
|
|
|
335 |
}
|
336 |
.fl-color-picker-presets-open-label.fl-color-picker-active,
|
337 |
.fl-color-picker-presets-close-label.fl-color-picker-active{
|
@@ -519,4 +527,82 @@
|
|
519 |
-ms-transform: rotate(45deg);
|
520 |
-o-transform: rotate(45deg);
|
521 |
transform: rotate(45deg);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
522 |
}
|
1 |
/* Iris Base
|
2 |
---------------------------------------------------- */
|
3 |
|
4 |
+
.fl-color-picker-ui {
|
5 |
+
width: 200px;
|
6 |
+
}
|
7 |
.fl-color-picker-ui .iris-picker {
|
8 |
+
float: left;
|
9 |
width: 200px;
|
10 |
height: 215px;
|
11 |
display: block;
|
36 |
bottom: 0;
|
37 |
}
|
38 |
.fl-color-picker-ui .iris-picker .iris-square{
|
39 |
+
/* float: left; */
|
40 |
width: 200px;
|
41 |
height: 200px;
|
42 |
}
|
43 |
+
|
44 |
.fl-color-picker-ui .iris-picker .iris-slider,
|
45 |
.fl-color-picker-ui .iris-picker .iris-square-inner,
|
46 |
.fl-color-picker-ui .iris-picker .iris-palette {
|
47 |
+
box-shadow: 0 0 3px rgba(0, 0, 0, 0.1) inset;
|
48 |
height: 100%;
|
49 |
width: 12.5%;
|
50 |
}
|
89 |
width: 200px;
|
90 |
margin-top: 5px;
|
91 |
position: relative;
|
92 |
+
height: 14px;
|
93 |
-webkit-transform: rotate(180deg);
|
94 |
-ms-transform: rotate(180deg);
|
95 |
-o-transform: rotate(180deg);
|
339 |
-o-transform: translate(-50%,-50%);
|
340 |
transform: translate(-50%,-50%);
|
341 |
opacity: 0;
|
342 |
+
width: 100%;
|
343 |
}
|
344 |
.fl-color-picker-presets-open-label.fl-color-picker-active,
|
345 |
.fl-color-picker-presets-close-label.fl-color-picker-active{
|
527 |
-ms-transform: rotate(45deg);
|
528 |
-o-transform: rotate(45deg);
|
529 |
transform: rotate(45deg);
|
530 |
+
}
|
531 |
+
|
532 |
+
/* Color Picker Alpha / Opacity
|
533 |
+
---------------------------------------------------- */
|
534 |
+
.fl-alpha-wrap {
|
535 |
+
float: left;
|
536 |
+
position: relative;
|
537 |
+
width: 40px;
|
538 |
+
height: 215px;
|
539 |
+
padding: 0 5px;
|
540 |
+
border-top: none;
|
541 |
+
}
|
542 |
+
|
543 |
+
.fl-alpha-slider {
|
544 |
+
height: 185px;
|
545 |
+
position: absolute;
|
546 |
+
top: 15px;
|
547 |
+
width: 28px;
|
548 |
+
}
|
549 |
+
|
550 |
+
.fl-alpha-slider .ui-slider-handle {
|
551 |
+
background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
|
552 |
+
border-color: #aaa;
|
553 |
+
border-radius: 4px;
|
554 |
+
border-style: solid;
|
555 |
+
border-width: 4px;
|
556 |
+
|
557 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
558 |
+
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
559 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
560 |
+
|
561 |
+
cursor: ns-resize;
|
562 |
+
height: 16px;
|
563 |
+
left: -2px;
|
564 |
+
opacity: 0.9;
|
565 |
+
position: absolute;
|
566 |
+
right: -2px;
|
567 |
+
width: 34px;
|
568 |
+
z-index: 14;
|
569 |
+
}
|
570 |
+
|
571 |
+
.fl-alpha-slider .ui-slider-handle:before {
|
572 |
+
content: " ";
|
573 |
+
position: absolute;
|
574 |
+
left: -2px;
|
575 |
+
right: -2px;
|
576 |
+
top: -3px;
|
577 |
+
bottom: -3px;
|
578 |
+
border: 2px solid #fff;
|
579 |
+
border-radius: 3px;
|
580 |
+
}
|
581 |
+
|
582 |
+
.fl-alpha-slider-offset {
|
583 |
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAASCAYAAAAe/ZHXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkNEQUQ0ODM4RUE0MTFFNEExOEJFN0E5M0VFOTg0QUQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkNEQUQ0ODQ4RUE0MTFFNEExOEJFN0E5M0VFOTg0QUQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2Q0RBRDQ4MThFQTQxMUU0QTE4QkU3QTkzRUU5ODRBRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2Q0RBRDQ4MjhFQTQxMUU0QTE4QkU3QTkzRUU5ODRBRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/r/N8AAAWYSURBVHjarFvvR3VBEN45JZGIPkREHyIiIhJJf3qUSERE9CGiDxERkcg9z9u92uucvTszz5z7xnHPj93Z2d359cxscn5+jpTS+EoiMr3/+51cZ2dn4+e29i2/u7y8RKf/pO3vc+o+n5ycoNK31+f6+jrfZ37yuG2mf3R01H3fa5N/b29vU6dP5qft0G4PDg5MGuPr/v4+jz1t27mfvN/b21P75+fHx8eZfiV/Ozs7rUJnSu/5+RlFv+m6ZJpbW1s1PnrvXl9fZ/qX89zY2LB4mfy+v7/nsdV1XltbK/dr5vnz87OcV5bJabuVlRVLBifjfX9/l/xkGtM+S0tLNXnu0szfU/P3IMn/k0678h6ddqjQFGccVL6hoCsVfsq+NZ5QtCv5rfFS41sq37W+UPhMyhxEWTetvce3NR8oewqD39qalXuGAK/WPltjajIC4x2c9Ye1f43SGcqGwRBeTZjhMNntL4pCWZMQYhE05RVl02EovRgC4RkCbUNSQAGhGB/GsKG4h6FQoigDa2i8fRBy3uLMXYIG3Vr3aZvRaCRdBYlYIMZywhBGCVhgzzOlgRuUSOvC0GMEWxOM/+EtQFh1OIIXtfwg1tRaayGjg5px0jyZKEaTle3e+AsLCygVRAh3FlEgKbReE3oYGj9EgIR00QiEgKw3ZBQbRGjBeAMtDETQmHiKDsezJNLgCTFGItZXlAgCSiQggblP+9c8SDI0lXWlFv5g3K63KZ51FOcZzthQ3LomoNHwJmKIQISI3vqzSpwIQ8liSjGMFQjDpoVgaQ6cWgvLhOC7qiAwiHrWbEg4JMSmeUrBuHoYwioOQNXmhmAcrs096s1gJCGi3hSEVU8DQxYElYHhKwUUGAa+NqOBMsSSAQJuhQhCAH4vxozExsxiihPuaIrjCVYKWlYEsjSM52G8Kxxryngl5j0j+EyGTIiED4s1Itm0ZGWxMFCLJaBAcEI6OBkmFgNBoc8Cait2ZnENE/6wQN8LJSJeSMNAjKVm+LUMAIt3PR5AQgIGp1Z5zxhE8PtXUYReYeXi4mKmOPNXBMzt2tPT07LIUtJqr66uusXEbkFnWiQ6Pj72ikrtzc1NKopuvbbj58PDwxqNHp27u7tuYWumUDV+v7+/Xyu6pc59+/DwUCsC9ujt7u6qRbt8//T01C3elbyN70fb29uZ/1FSincvLy/lPGb42tzc9IqJeHt7q61Pr2C6vr7u7tfHx8fMPhV0sLq6WhZtU0n36+uru8elPE7aLi8v1wqJPXn++fmZKYgX8ozFxcXJb0NaQTHClZT8+gBjsYdaFc+zWcUkGTCWENY66ta92oSVzo3WI6IZKGtukeyfBLFKBNAj6bUOBgaoe9wE4n04IBNkLMoC7+Skj630ZlTJMYdyMsU2T8AwpzALkVFilZgJcT2l9PCWDDSAMBSjVlJgZNk0lE1AIby0qCiCnBQNj6aBGQslZIZJ5hB6D/AzQHto5Z9Nk8tARdN4q2ExBnsyIJ311EymShyjan2rKk0zh1Ay1oQVWAZQRnkUA8RFw7TahjBnmNgMVMQrsCGZJezRtGlU0cUZ1zuaxGZPpbhApM+ZpFQqQ6xadoMtBrEKpBVo4GRXvNSxpaRixKiR+TChCYhsDwZkfFj8IkErjAHejcUI0XQrgwehhNSMHAz21E0wZ23FcCAmj8Sd/PXy2xLYLAuwRw4IMsqjFaWYOpMEhDySAPFCWyFkgAHrEcA+BNeJ4UE8HCzJPpCrerUmQIx1pWJkjqxJD8EikUo2c5aI8ZYgsAkM4WQtnHd0ns0ORgVTBghy5ISy928SGsbTMqYg523RUY8oNYG4FIYiyRyZCnFCJC87IoRAIMVOqQ7BKexxCS2hYVl9JhvlpYjnAe4MhmRPMWhhvLfXINaI9WKM0Zu0+SfAAFLE1EgfVSv7AAAAAElFTkSuQmCC);
|
584 |
+
border-radius: 2px;
|
585 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
|
586 |
+
-moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
|
587 |
+
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4) inset;
|
588 |
+
width: 200px;
|
589 |
+
height: 28px;
|
590 |
+
|
591 |
+
-webkit-transform: rotate(-90deg);
|
592 |
+
-moz-transform: rotate(-90deg);
|
593 |
+
-ms-transform: rotate(-90deg);
|
594 |
+
-o-transform: rotate(-90deg);
|
595 |
+
transform: rotate(-90deg);
|
596 |
+
bottom: 47%;
|
597 |
+
left: -80px;
|
598 |
+
position: absolute;
|
599 |
+
}
|
600 |
+
|
601 |
+
.fl-alpha-text {
|
602 |
+
width: 30px;
|
603 |
+
font-size: 12px;
|
604 |
+
text-align: center;
|
605 |
+
color: #999;
|
606 |
+
position: absolute;
|
607 |
+
bottom: -5px;
|
608 |
}
|
css/fl-lightbox.css
CHANGED
@@ -56,6 +56,9 @@
|
|
56 |
.fl-lightbox .fa {
|
57 |
font-family: FontAwesome;
|
58 |
}
|
|
|
|
|
|
|
59 |
.fl-lightbox-content-wrap {
|
60 |
height: 100%;
|
61 |
}
|
@@ -111,6 +114,7 @@
|
|
111 |
font-weight: 300 !important;
|
112 |
margin: 0 !important;
|
113 |
padding: 15px 20px !important;
|
|
|
114 |
}
|
115 |
.fl-lightbox.ui-draggable .fl-lightbox-header {
|
116 |
cursor: move;
|
56 |
.fl-lightbox .fa {
|
57 |
font-family: FontAwesome;
|
58 |
}
|
59 |
+
.fl-lightbox .dashicons {
|
60 |
+
font-family: dashicons;
|
61 |
+
}
|
62 |
.fl-lightbox-content-wrap {
|
63 |
height: 100%;
|
64 |
}
|
114 |
font-weight: 300 !important;
|
115 |
margin: 0 !important;
|
116 |
padding: 15px 20px !important;
|
117 |
+
text-align: left!important;
|
118 |
}
|
119 |
.fl-lightbox.ui-draggable .fl-lightbox-header {
|
120 |
cursor: move;
|
fl-builder.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Beaver Builder Plugin (Lite Version)
|
4 |
* Plugin URI: https://www.wpbeaverbuilder.com/?utm_medium=bb&utm_source=plugins-admin-page&utm_campaign=plugins-admin-uri
|
5 |
* Description: A drag and drop frontend WordPress page builder plugin that works with almost any theme!
|
6 |
-
* Version: 1.
|
7 |
* Author: The Beaver Builder Team
|
8 |
* Author URI: https://www.wpbeaverbuilder.com/?utm_medium=bb&utm_source=plugins-admin-page&utm_campaign=plugins-admin-author
|
9 |
* Copyright: (c) 2014 Beaver Builder
|
3 |
* Plugin Name: Beaver Builder Plugin (Lite Version)
|
4 |
* Plugin URI: https://www.wpbeaverbuilder.com/?utm_medium=bb&utm_source=plugins-admin-page&utm_campaign=plugins-admin-uri
|
5 |
* Description: A drag and drop frontend WordPress page builder plugin that works with almost any theme!
|
6 |
+
* Version: 1.9.1
|
7 |
* Author: The Beaver Builder Team
|
8 |
* Author URI: https://www.wpbeaverbuilder.com/?utm_medium=bb&utm_source=plugins-admin-page&utm_campaign=plugins-admin-author
|
9 |
* Copyright: (c) 2014 Beaver Builder
|
includes/admin-settings-welcome.php
CHANGED
@@ -8,13 +8,13 @@ function fl_welcome_utm( $campaign ) {
|
|
8 |
);
|
9 |
}
|
10 |
|
11 |
-
$blog_post_url = FLBuilderModel::get_store_url( 'beaver-builder-1-
|
12 |
$change_logs_url = FLBuilderModel::get_store_url( 'change-logs', fl_welcome_utm( 'settings-welcome-change-logs' ) );
|
13 |
$upgrade_url = FLBuilderModel::get_store_url( '', fl_welcome_utm( 'settings-welcome-upgrade' ) );
|
14 |
$support_url = FLBuilderModel::get_store_url( 'beaver-builder-support', fl_welcome_utm( 'settings-welcome-support' ) );
|
15 |
-
$docs_url = FLBuilderModel::get_store_url( 'knowledge-base', fl_welcome_utm( 'settings-welcome-docs' ) );
|
16 |
$faqs_url = FLBuilderModel::get_store_url( 'frequently-asked-questions', fl_welcome_utm( 'settings-welcome-faqs' ) );
|
17 |
$forums_url = FLBuilderModel::get_store_url( 'support', fl_welcome_utm( 'settings-welcome-forums' ) );
|
|
|
18 |
|
19 |
?>
|
20 |
<div id="fl-welcome-form" class="fl-settings-form">
|
@@ -68,15 +68,15 @@ $forums_url = FLBuilderModel::get_store_url( 'support', fl_welcome_utm( '
|
|
68 |
|
69 |
<div class="fl-welcome-col">
|
70 |
|
71 |
-
<h4><?php _e('What\'s New in Beaver Builder 1.
|
72 |
|
73 |
-
<p><?php _e('Beaver Builder 1.
|
74 |
|
75 |
<ul>
|
76 |
-
<li><?php _e('
|
77 |
-
<li><?php _e('
|
78 |
-
<li><?php _e('
|
79 |
-
<li><?php _e('
|
80 |
</ul>
|
81 |
|
82 |
<p><?php printf( __('There\'s a whole lot more, too! Read about everything else on our <a href="%s" target="_blank">update post</a> or <a href="%s" target="_blank">change logs</a>.', 'fl-builder'), $blog_post_url, $change_logs_url ); ?></p>
|
8 |
);
|
9 |
}
|
10 |
|
11 |
+
$blog_post_url = FLBuilderModel::get_store_url( 'beaver-builder-1-9-shasta', fl_welcome_utm('settings-welcome-blog-post' ) );
|
12 |
$change_logs_url = FLBuilderModel::get_store_url( 'change-logs', fl_welcome_utm( 'settings-welcome-change-logs' ) );
|
13 |
$upgrade_url = FLBuilderModel::get_store_url( '', fl_welcome_utm( 'settings-welcome-upgrade' ) );
|
14 |
$support_url = FLBuilderModel::get_store_url( 'beaver-builder-support', fl_welcome_utm( 'settings-welcome-support' ) );
|
|
|
15 |
$faqs_url = FLBuilderModel::get_store_url( 'frequently-asked-questions', fl_welcome_utm( 'settings-welcome-faqs' ) );
|
16 |
$forums_url = FLBuilderModel::get_store_url( 'support', fl_welcome_utm( 'settings-welcome-forums' ) );
|
17 |
+
$docs_url = 'http://kb.wpbeaverbuilder.com/';
|
18 |
|
19 |
?>
|
20 |
<div id="fl-welcome-form" class="fl-settings-form">
|
68 |
|
69 |
<div class="fl-welcome-col">
|
70 |
|
71 |
+
<h4><?php _e('What\'s New in Beaver Builder 1.9 Shasta', 'fl-builder'); ?></h4>
|
72 |
|
73 |
+
<p><?php _e('Beaver Builder 1.9 is out and it has some epic new features:', 'fl-builder'); ?></p>
|
74 |
|
75 |
<ul>
|
76 |
+
<li><?php _e('The ability to drag, drop and nest columns.', 'fl-builder'); ?></li>
|
77 |
+
<li><?php _e('A revamped editor with more accurate dragging and dropping.', 'fl-builder'); ?></li>
|
78 |
+
<li><?php _e('Responsive settings for margins, paddings and borders.', 'fl-builder'); ?></li>
|
79 |
+
<li><?php _e('New content page templates available in the template selector.', 'fl-builder'); ?></li>
|
80 |
</ul>
|
81 |
|
82 |
<p><?php printf( __('There\'s a whole lot more, too! Read about everything else on our <a href="%s" target="_blank">update post</a> or <a href="%s" target="_blank">change logs</a>.', 'fl-builder'), $blog_post_url, $change_logs_url ); ?></p>
|
includes/column-css.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
.fl-node-<?php echo $col->node; ?> {
|
7 |
color: #<?php echo $col->settings->text_color; ?>;
|
8 |
}
|
9 |
-
.fl-builder-content .fl-node-<?php echo $col->node; ?> *:not(input):not(textarea):not(a):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fl-menu-mobile-toggle) {
|
10 |
color: inherit;
|
11 |
}
|
12 |
<?php endif; ?>
|
@@ -90,10 +90,7 @@
|
|
90 |
<?php if(!empty($col->settings->border_type)) : // Border ?>
|
91 |
.fl-builder-content .fl-node-<?php echo $col->node; ?> > .fl-col-content {
|
92 |
border-style: <?php echo $col->settings->border_type; ?>;
|
93 |
-
border-
|
94 |
-
border-bottom-width: <?php echo is_numeric($col->settings->border_bottom) ? $col->settings->border_bottom : '0'; ?>px;
|
95 |
-
border-left-width: <?php echo is_numeric($col->settings->border_left) ? $col->settings->border_left : '0'; ?>px;
|
96 |
-
border-right-width: <?php echo is_numeric($col->settings->border_right) ? $col->settings->border_right : '0'; ?>px;
|
97 |
<?php if(!empty($col->settings->border_color)) : ?>
|
98 |
border-color: #<?php echo $col->settings->border_color; ?>;
|
99 |
border-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($col->settings->border_color)) ?>, <?php echo $col->settings->border_opacity/100; ?>);
|
6 |
.fl-node-<?php echo $col->node; ?> {
|
7 |
color: #<?php echo $col->settings->text_color; ?>;
|
8 |
}
|
9 |
+
.fl-builder-content .fl-node-<?php echo $col->node; ?> *:not(input):not(textarea):not(select):not(a):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fl-heading-text):not(.fl-menu-mobile-toggle) {
|
10 |
color: inherit;
|
11 |
}
|
12 |
<?php endif; ?>
|
90 |
<?php if(!empty($col->settings->border_type)) : // Border ?>
|
91 |
.fl-builder-content .fl-node-<?php echo $col->node; ?> > .fl-col-content {
|
92 |
border-style: <?php echo $col->settings->border_type; ?>;
|
93 |
+
border-width: 0;
|
|
|
|
|
|
|
94 |
<?php if(!empty($col->settings->border_color)) : ?>
|
95 |
border-color: #<?php echo $col->settings->border_color; ?>;
|
96 |
border-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($col->settings->border_color)) ?>, <?php echo $col->settings->border_opacity/100; ?>);
|
includes/column-settings.php
CHANGED
@@ -23,15 +23,15 @@ FLBuilder::register_settings_form('col', array(
|
|
23 |
'equal_height' => array(
|
24 |
'type' => 'select',
|
25 |
'label' => __('Equalize Column Heights', 'fl-builder'),
|
26 |
-
'help'
|
27 |
'default' => 'no',
|
28 |
'options' => array(
|
29 |
'no' => __( 'No', 'fl-builder' ),
|
30 |
'yes' => __( 'Yes', 'fl-builder' ),
|
31 |
),
|
32 |
'toggle' => array(
|
33 |
-
'yes'
|
34 |
-
'fields'
|
35 |
)
|
36 |
),
|
37 |
'preview' => array(
|
@@ -39,13 +39,13 @@ FLBuilder::register_settings_form('col', array(
|
|
39 |
)
|
40 |
),
|
41 |
'content_alignment' => array(
|
42 |
-
'type'
|
43 |
-
'label'
|
44 |
-
'default'
|
45 |
-
'options'
|
46 |
-
'top'
|
47 |
-
'center'
|
48 |
-
'bottom'
|
49 |
),
|
50 |
'preview' => array(
|
51 |
'type' => 'none'
|
@@ -294,54 +294,70 @@ FLBuilder::register_settings_form('col', array(
|
|
294 |
)
|
295 |
),
|
296 |
'border_top' => array(
|
297 |
-
'type'
|
298 |
-
'label'
|
299 |
-
'default'
|
300 |
-
'description'
|
301 |
-
'
|
302 |
-
|
303 |
-
|
304 |
-
'
|
305 |
-
'
|
|
|
|
|
|
|
|
|
306 |
)
|
307 |
),
|
308 |
'border_bottom' => array(
|
309 |
-
'type'
|
310 |
-
'label'
|
311 |
-
'default'
|
312 |
-
'description'
|
313 |
-
'
|
314 |
-
|
315 |
-
|
316 |
-
'
|
317 |
-
'
|
|
|
|
|
|
|
|
|
318 |
)
|
319 |
),
|
320 |
'border_left' => array(
|
321 |
-
'type'
|
322 |
-
'label'
|
323 |
-
'default'
|
324 |
-
'description'
|
325 |
-
'
|
326 |
-
|
327 |
-
|
328 |
-
'
|
329 |
-
'
|
|
|
|
|
|
|
|
|
330 |
)
|
331 |
),
|
332 |
'border_right' => array(
|
333 |
-
'type'
|
334 |
-
'label'
|
335 |
-
'default'
|
336 |
-
'description'
|
337 |
-
'
|
338 |
-
|
339 |
-
|
340 |
-
'
|
341 |
-
'
|
|
|
|
|
|
|
|
|
342 |
)
|
343 |
-
)
|
344 |
-
)
|
345 |
),
|
346 |
)
|
347 |
),
|
@@ -351,108 +367,92 @@ FLBuilder::register_settings_form('col', array(
|
|
351 |
'margins' => array(
|
352 |
'title' => __('Margins', 'fl-builder'),
|
353 |
'fields' => array(
|
354 |
-
'margin_top'
|
355 |
-
'type'
|
356 |
-
'label'
|
357 |
-
'
|
358 |
-
'
|
359 |
-
|
360 |
-
|
361 |
-
'placeholder'
|
362 |
-
'
|
363 |
-
'type' => 'none'
|
364 |
-
)
|
365 |
),
|
366 |
'margin_bottom' => array(
|
367 |
-
'type'
|
368 |
-
'label'
|
369 |
-
'
|
370 |
-
'
|
371 |
-
|
372 |
-
|
373 |
-
'placeholder'
|
374 |
-
'
|
375 |
-
'type' => 'none'
|
376 |
-
)
|
377 |
),
|
378 |
-
'margin_left'
|
379 |
-
'type'
|
380 |
-
'label'
|
381 |
-
'
|
382 |
-
'
|
383 |
-
|
384 |
-
|
385 |
-
'placeholder'
|
386 |
-
'
|
387 |
-
'type' => 'none'
|
388 |
-
)
|
389 |
),
|
390 |
-
'margin_right'
|
391 |
-
'type'
|
392 |
-
'label'
|
393 |
-
'
|
394 |
-
'
|
395 |
-
|
396 |
-
|
397 |
-
'placeholder'
|
398 |
-
'
|
399 |
-
|
400 |
-
|
401 |
-
)
|
402 |
-
)
|
403 |
),
|
404 |
'padding' => array(
|
405 |
'title' => __('Padding', 'fl-builder'),
|
406 |
'fields' => array(
|
407 |
-
'padding_top'
|
408 |
-
'type'
|
409 |
-
'label'
|
410 |
-
'
|
411 |
-
'
|
412 |
-
|
413 |
-
|
414 |
-
'placeholder'
|
415 |
-
'
|
416 |
-
'type' => 'none'
|
417 |
-
)
|
418 |
),
|
419 |
'padding_bottom' => array(
|
420 |
-
'type'
|
421 |
-
'label'
|
422 |
-
'
|
423 |
-
'
|
424 |
-
|
425 |
-
|
426 |
-
'placeholder'
|
427 |
-
'
|
428 |
-
'type' => 'none'
|
429 |
-
)
|
430 |
),
|
431 |
-
'padding_left'
|
432 |
-
'type'
|
433 |
-
'label'
|
434 |
-
'
|
435 |
-
'
|
436 |
-
|
437 |
-
|
438 |
-
'placeholder'
|
439 |
-
'
|
440 |
-
'type' => 'none'
|
441 |
-
)
|
442 |
),
|
443 |
'padding_right' => array(
|
444 |
-
'type'
|
445 |
-
'label'
|
446 |
-
'
|
447 |
-
'
|
448 |
-
|
449 |
-
|
450 |
-
'placeholder'
|
451 |
-
'
|
452 |
-
|
453 |
-
|
454 |
-
)
|
455 |
-
)
|
456 |
),
|
457 |
'responsive' => array(
|
458 |
'title' => __('Responsive Layout', 'fl-builder'),
|
@@ -533,7 +533,7 @@ FLBuilder::register_settings_form('col', array(
|
|
533 |
'type' => 'select',
|
534 |
'label' => __('Stacking Order', 'fl-builder'),
|
535 |
'help' => __( 'The order of the columns in this group when they are stacked for small devices.', 'fl-builder' ),
|
536 |
-
'default'
|
537 |
'options' => array(
|
538 |
'default' => __('Default', 'fl-builder'),
|
539 |
'reversed' => __('Reversed', 'fl-builder'),
|
@@ -541,7 +541,7 @@ FLBuilder::register_settings_form('col', array(
|
|
541 |
'preview' => array(
|
542 |
'type' => 'none'
|
543 |
)
|
544 |
-
)
|
545 |
)
|
546 |
),
|
547 |
'visibility' => array(
|
@@ -551,14 +551,14 @@ FLBuilder::register_settings_form('col', array(
|
|
551 |
'type' => 'select',
|
552 |
'label' => __('Display', 'fl-builder'),
|
553 |
'options' => array(
|
554 |
-
''
|
555 |
'logged_out' => __('Logged Out User', 'fl-builder'),
|
556 |
'logged_in' => __('Logged In User', 'fl-builder'),
|
557 |
'0' => __('Never', 'fl-builder'),
|
558 |
),
|
559 |
-
'toggle'
|
560 |
-
'logged_in'
|
561 |
-
'fields'
|
562 |
)
|
563 |
),
|
564 |
'preview' => array(
|
@@ -566,11 +566,11 @@ FLBuilder::register_settings_form('col', array(
|
|
566 |
)
|
567 |
),
|
568 |
'visibility_user_capability' => array(
|
569 |
-
'type'
|
570 |
-
'label'
|
571 |
-
'description'
|
572 |
-
'preview'
|
573 |
-
'type'
|
574 |
),
|
575 |
)
|
576 |
)
|
@@ -599,4 +599,4 @@ FLBuilder::register_settings_form('col', array(
|
|
599 |
)
|
600 |
)
|
601 |
)
|
602 |
-
));
|
23 |
'equal_height' => array(
|
24 |
'type' => 'select',
|
25 |
'label' => __('Equalize Column Heights', 'fl-builder'),
|
26 |
+
'help' => __('Setting this to yes will make all of the columns in this group the same height regardless of how much content is in each of them.', 'fl-builder'),
|
27 |
'default' => 'no',
|
28 |
'options' => array(
|
29 |
'no' => __( 'No', 'fl-builder' ),
|
30 |
'yes' => __( 'Yes', 'fl-builder' ),
|
31 |
),
|
32 |
'toggle' => array(
|
33 |
+
'yes' => array(
|
34 |
+
'fields' => array('content_alignment')
|
35 |
)
|
36 |
),
|
37 |
'preview' => array(
|
39 |
)
|
40 |
),
|
41 |
'content_alignment' => array(
|
42 |
+
'type' => 'select',
|
43 |
+
'label' => __('Content Alignment', 'fl-builder'),
|
44 |
+
'default' => 'top',
|
45 |
+
'options' => array(
|
46 |
+
'top' => __( 'Top', 'fl-builder' ),
|
47 |
+
'center' => __( 'Center', 'fl-builder' ),
|
48 |
+
'bottom' => __( 'Bottom', 'fl-builder' ),
|
49 |
),
|
50 |
'preview' => array(
|
51 |
'type' => 'none'
|
294 |
)
|
295 |
),
|
296 |
'border_top' => array(
|
297 |
+
'type' => 'unit',
|
298 |
+
'label' => __( 'Top Width', 'fl-builder' ),
|
299 |
+
'default' => '1',
|
300 |
+
'description' => 'px',
|
301 |
+
'preview' => array(
|
302 |
+
'type' => 'none',
|
303 |
+
),
|
304 |
+
'responsive' => array(
|
305 |
+
'placeholder' => array(
|
306 |
+
'default' => '0',
|
307 |
+
'medium' => '',
|
308 |
+
'responsive' => '',
|
309 |
+
)
|
310 |
)
|
311 |
),
|
312 |
'border_bottom' => array(
|
313 |
+
'type' => 'unit',
|
314 |
+
'label' => __( 'Bottom Width', 'fl-builder' ),
|
315 |
+
'default' => '1',
|
316 |
+
'description' => 'px',
|
317 |
+
'preview' => array(
|
318 |
+
'type' => 'none',
|
319 |
+
),
|
320 |
+
'responsive' => array(
|
321 |
+
'placeholder' => array(
|
322 |
+
'default' => '0',
|
323 |
+
'medium' => '',
|
324 |
+
'responsive' => '',
|
325 |
+
)
|
326 |
)
|
327 |
),
|
328 |
'border_left' => array(
|
329 |
+
'type' => 'unit',
|
330 |
+
'label' => __( 'Left Width', 'fl-builder' ),
|
331 |
+
'default' => '1',
|
332 |
+
'description' => 'px',
|
333 |
+
'preview' => array(
|
334 |
+
'type' => 'none',
|
335 |
+
),
|
336 |
+
'responsive' => array(
|
337 |
+
'placeholder' => array(
|
338 |
+
'default' => '0',
|
339 |
+
'medium' => '',
|
340 |
+
'responsive' => '',
|
341 |
+
)
|
342 |
)
|
343 |
),
|
344 |
'border_right' => array(
|
345 |
+
'type' => 'unit',
|
346 |
+
'label' => __( 'Right Width', 'fl-builder' ),
|
347 |
+
'default' => '1',
|
348 |
+
'description' => 'px',
|
349 |
+
'preview' => array(
|
350 |
+
'type' => 'none',
|
351 |
+
),
|
352 |
+
'responsive' => array(
|
353 |
+
'placeholder' => array(
|
354 |
+
'default' => '0',
|
355 |
+
'medium' => '',
|
356 |
+
'responsive' => '',
|
357 |
+
)
|
358 |
)
|
359 |
+
),
|
360 |
+
),
|
361 |
),
|
362 |
)
|
363 |
),
|
367 |
'margins' => array(
|
368 |
'title' => __('Margins', 'fl-builder'),
|
369 |
'fields' => array(
|
370 |
+
'margin_top' => array(
|
371 |
+
'type' => 'unit',
|
372 |
+
'label' => __( 'Top', 'fl-builder' ),
|
373 |
+
'description' => 'px',
|
374 |
+
'preview' => array(
|
375 |
+
'type' => 'none',
|
376 |
+
),
|
377 |
+
'placeholder' => '0',
|
378 |
+
'responsive' => true
|
|
|
|
|
379 |
),
|
380 |
'margin_bottom' => array(
|
381 |
+
'type' => 'unit',
|
382 |
+
'label' => __( 'Bottom', 'fl-builder' ),
|
383 |
+
'description' => 'px',
|
384 |
+
'preview' => array(
|
385 |
+
'type' => 'none',
|
386 |
+
),
|
387 |
+
'placeholder' => '0',
|
388 |
+
'responsive' => true
|
|
|
|
|
389 |
),
|
390 |
+
'margin_left' => array(
|
391 |
+
'type' => 'unit',
|
392 |
+
'label' => __( 'Left', 'fl-builder' ),
|
393 |
+
'description' => 'px',
|
394 |
+
'preview' => array(
|
395 |
+
'type' => 'none',
|
396 |
+
),
|
397 |
+
'placeholder' => '0',
|
398 |
+
'responsive' => true
|
|
|
|
|
399 |
),
|
400 |
+
'margin_right' => array(
|
401 |
+
'type' => 'unit',
|
402 |
+
'label' => __( 'Right', 'fl-builder' ),
|
403 |
+
'description' => 'px',
|
404 |
+
'preview' => array(
|
405 |
+
'type' => 'none',
|
406 |
+
),
|
407 |
+
'placeholder' => '0',
|
408 |
+
'responsive' => true
|
409 |
+
),
|
410 |
+
),
|
|
|
|
|
411 |
),
|
412 |
'padding' => array(
|
413 |
'title' => __('Padding', 'fl-builder'),
|
414 |
'fields' => array(
|
415 |
+
'padding_top' => array(
|
416 |
+
'type' => 'unit',
|
417 |
+
'label' => __( 'Top', 'fl-builder' ),
|
418 |
+
'description' => 'px',
|
419 |
+
'preview' => array(
|
420 |
+
'type' => 'none',
|
421 |
+
),
|
422 |
+
'placeholder' => '0',
|
423 |
+
'responsive' => true
|
|
|
|
|
424 |
),
|
425 |
'padding_bottom' => array(
|
426 |
+
'type' => 'unit',
|
427 |
+
'label' => __( 'Bottom', 'fl-builder' ),
|
428 |
+
'description' => 'px',
|
429 |
+
'preview' => array(
|
430 |
+
'type' => 'none',
|
431 |
+
),
|
432 |
+
'placeholder' => '0',
|
433 |
+
'responsive' => true
|
|
|
|
|
434 |
),
|
435 |
+
'padding_left' => array(
|
436 |
+
'type' => 'unit',
|
437 |
+
'label' => __( 'Left', 'fl-builder' ),
|
438 |
+
'description' => 'px',
|
439 |
+
'preview' => array(
|
440 |
+
'type' => 'none',
|
441 |
+
),
|
442 |
+
'placeholder' => '0',
|
443 |
+
'responsive' => true
|
|
|
|
|
444 |
),
|
445 |
'padding_right' => array(
|
446 |
+
'type' => 'unit',
|
447 |
+
'label' => __( 'Right', 'fl-builder' ),
|
448 |
+
'description' => 'px',
|
449 |
+
'preview' => array(
|
450 |
+
'type' => 'none',
|
451 |
+
),
|
452 |
+
'placeholder' => '0',
|
453 |
+
'responsive' => true
|
454 |
+
),
|
455 |
+
),
|
|
|
|
|
456 |
),
|
457 |
'responsive' => array(
|
458 |
'title' => __('Responsive Layout', 'fl-builder'),
|
533 |
'type' => 'select',
|
534 |
'label' => __('Stacking Order', 'fl-builder'),
|
535 |
'help' => __( 'The order of the columns in this group when they are stacked for small devices.', 'fl-builder' ),
|
536 |
+
'default' => 'default',
|
537 |
'options' => array(
|
538 |
'default' => __('Default', 'fl-builder'),
|
539 |
'reversed' => __('Reversed', 'fl-builder'),
|
541 |
'preview' => array(
|
542 |
'type' => 'none'
|
543 |
)
|
544 |
+
)
|
545 |
)
|
546 |
),
|
547 |
'visibility' => array(
|
551 |
'type' => 'select',
|
552 |
'label' => __('Display', 'fl-builder'),
|
553 |
'options' => array(
|
554 |
+
'' => __('Always', 'fl-builder'),
|
555 |
'logged_out' => __('Logged Out User', 'fl-builder'),
|
556 |
'logged_in' => __('Logged In User', 'fl-builder'),
|
557 |
'0' => __('Never', 'fl-builder'),
|
558 |
),
|
559 |
+
'toggle' => array(
|
560 |
+
'logged_in' => array(
|
561 |
+
'fields' => array('visibility_user_capability')
|
562 |
)
|
563 |
),
|
564 |
'preview' => array(
|
566 |
)
|
567 |
),
|
568 |
'visibility_user_capability' => array(
|
569 |
+
'type' => 'text',
|
570 |
+
'label' => __('User Capability', 'fl-builder'),
|
571 |
+
'description' => sprintf( __( 'Optional. Set the <a%s>capability</a> required for users to view this column.', 'fl-builder' ), ' href="http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs._Role_Table" target="_blank"' ),
|
572 |
+
'preview' => array(
|
573 |
+
'type' => 'none'
|
574 |
),
|
575 |
)
|
576 |
)
|
599 |
)
|
600 |
)
|
601 |
)
|
602 |
+
));
|
includes/field-color.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<div class="fl-color-picker<?php if(isset($field['class'])) echo ' ' . $field['class']; ?>">
|
2 |
-
<div class="fl-color-picker-color<?php if( empty( $value ) ) echo ' fl-color-picker-empty' ?>"></div>
|
3 |
<?php if(isset($field['show_reset']) && $field['show_reset']) : ?>
|
4 |
<div class="fl-color-picker-clear"><div class="fl-color-picker-icon-remove"></div></div>
|
5 |
<?php endif; ?>
|
1 |
<div class="fl-color-picker<?php if(isset($field['class'])) echo ' ' . $field['class']; ?>">
|
2 |
+
<div class="fl-color-picker-color<?php if( empty( $value ) ) echo ' fl-color-picker-empty' ?><?php if( isset($field['show_alpha']) && $field['show_alpha']) echo ' fl-color-picker-alpha-enabled' ?>"></div>
|
3 |
<?php if(isset($field['show_reset']) && $field['show_reset']) : ?>
|
4 |
<div class="fl-color-picker-clear"><div class="fl-color-picker-icon-remove"></div></div>
|
5 |
<?php endif; ?>
|
includes/field-text.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<input type="text" name="<?php echo $name; ?>" value="<?php echo
|
2 |
|
3 |
<?php
|
4 |
|
1 |
+
<input type="text" name="<?php echo $name; ?>" value="<?php echo esc_attr($value); ?>" class="text<?php if(isset($field['class'])) echo ' '. $field['class']; if(!isset($field['size'])) echo ' text-full'; ?>" <?php if(isset($field['placeholder'])) echo ' placeholder="'. $field['placeholder'] .'"'; if(isset($field['maxlength'])) echo ' maxlength="'. $field['maxlength'] .'"'; if(isset($field['size'])) echo ' size="'. $field['size'] .'"'; ?> />
|
2 |
|
3 |
<?php
|
4 |
|
includes/field-unit.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<input
|
2 |
+
type="number"
|
3 |
+
name="<?php esc_attr_e( $name ); ?>"
|
4 |
+
value="<?php esc_attr_e( $value ); ?>"
|
5 |
+
placeholder="<?php if ( isset( $field['placeholder'] ) ) esc_attr_e( $field['placeholder'] ); ?>"
|
6 |
+
/>
|
includes/field.php
CHANGED
@@ -1,46 +1,76 @@
|
|
1 |
<?php if(empty($field['label'])) : ?>
|
2 |
<td colspan="2">
|
3 |
<?php else : ?>
|
4 |
-
|
5 |
-
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
-
if ( '
|
9 |
-
|
10 |
}
|
11 |
-
else {
|
12 |
-
|
13 |
-
echo $field['label'];
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
}
|
19 |
|
20 |
-
|
21 |
-
<?php if(isset($field['help'])) : ?>
|
22 |
-
<span class="fl-help-tooltip">
|
23 |
-
<i class="fl-help-tooltip-icon fa fa-question-circle"></i>
|
24 |
-
<span class="fl-help-tooltip-text"><?php echo $field['help']; ?></span>
|
25 |
-
</span>
|
26 |
-
<?php endif; ?>
|
27 |
-
</label>
|
28 |
-
</th>
|
29 |
-
<td>
|
30 |
-
<?php endif; ?>
|
31 |
-
<?php
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
44 |
}
|
45 |
|
46 |
?>
|
1 |
<?php if(empty($field['label'])) : ?>
|
2 |
<td colspan="2">
|
3 |
<?php else : ?>
|
4 |
+
<th>
|
5 |
+
<label for="<?php echo $name; ?>">
|
6 |
+
<?php
|
7 |
+
|
8 |
+
if ( 'button' == $field['type'] ) {
|
9 |
+
echo ' ';
|
10 |
+
}
|
11 |
+
else {
|
12 |
+
|
13 |
+
echo $field['label'];
|
14 |
+
|
15 |
+
if ( isset( $i ) ) {
|
16 |
+
echo ' <span class="fl-builder-field-index">' . ( $i + 1 ) . '</span>';
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
+
?>
|
21 |
+
<?php if(isset($field['help'])) : ?>
|
22 |
+
<span class="fl-help-tooltip">
|
23 |
+
<i class="fl-help-tooltip-icon fa fa-question-circle"></i>
|
24 |
+
<span class="fl-help-tooltip-text"><?php echo $field['help']; ?></span>
|
25 |
+
</span>
|
26 |
+
<?php endif; ?>
|
27 |
+
</label>
|
28 |
+
</th>
|
29 |
+
<td>
|
30 |
+
<?php endif; ?>
|
31 |
+
<?php if ( $responsive ) : ?>
|
32 |
+
<i class="fl-field-responsive-toggle dashicons dashicons-desktop" data-mode="default"></i>
|
33 |
+
<?php endif; ?>
|
34 |
+
<?php
|
35 |
+
|
36 |
+
foreach ( array( 'default', 'medium', 'responsive' ) as $device ) {
|
37 |
|
38 |
+
if ( 'default' != $device && ! $responsive ) {
|
39 |
+
continue;
|
40 |
}
|
|
|
|
|
|
|
41 |
|
42 |
+
if ( $responsive ) {
|
43 |
+
|
44 |
+
$name = 'default' == $device ? $root_name : $root_name . '_' . $device;
|
45 |
+
$value = isset( $settings->$name ) ? $settings->$name : '';
|
46 |
+
|
47 |
+
echo '<div class="fl-field-responsive-setting fl-field-responsive-setting-' . $device . '" data-device="' . $device . '">';
|
48 |
+
|
49 |
+
if ( is_array( $responsive ) ) {
|
50 |
+
foreach ( $responsive as $responsive_key => $responsive_var ) {
|
51 |
+
if ( is_array( $responsive_var ) && isset( $responsive_var[ $device ] ) ) {
|
52 |
+
$field[ $responsive_key ] = $responsive_var[ $device ];
|
53 |
+
}
|
54 |
+
}
|
55 |
+
}
|
56 |
}
|
57 |
|
58 |
+
$field_file = FL_BUILDER_DIR . 'includes/field-' . $field['type'] . '.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
+
if(file_exists($field_file)) {
|
61 |
+
do_action('fl_builder_before_control_' . $field['type'], $name, $value, $field, $settings);
|
62 |
+
include $field_file;
|
63 |
+
do_action('fl_builder_after_control_' . $field['type'], $name, $value, $field, $settings);
|
64 |
+
}
|
65 |
+
else {
|
66 |
+
do_action('fl_builder_before_control_' . $field['type'], $name, $value, $field, $settings);
|
67 |
+
do_action('fl_builder_control_' . $field['type'], $name, $value, $field, $settings);
|
68 |
+
do_action('fl_builder_after_control_' . $field['type'], $name, $value, $field, $settings);
|
69 |
+
}
|
70 |
+
|
71 |
+
if ( $responsive ) {
|
72 |
+
echo '</div>';
|
73 |
+
}
|
74 |
}
|
75 |
|
76 |
?>
|
includes/global-settings.php
CHANGED
@@ -37,19 +37,19 @@ FLBuilder::register_settings_form('global', array(
|
|
37 |
'title' => __('Rows', 'fl-builder'),
|
38 |
'fields' => array(
|
39 |
'row_margins' => array(
|
40 |
-
'type' => '
|
41 |
'label' => __('Margins', 'fl-builder'),
|
42 |
'default' => '0',
|
43 |
-
'
|
44 |
-
'
|
45 |
'description' => 'px'
|
46 |
),
|
47 |
'row_padding' => array(
|
48 |
-
'type' => '
|
49 |
'label' => __('Padding', 'fl-builder'),
|
50 |
'default' => '20',
|
51 |
-
'
|
52 |
-
'
|
53 |
'description' => 'px'
|
54 |
),
|
55 |
'row_width' => array(
|
@@ -59,7 +59,7 @@ FLBuilder::register_settings_form('global', array(
|
|
59 |
'maxlength' => '4',
|
60 |
'size' => '5',
|
61 |
'description' => 'px',
|
62 |
-
'help'
|
63 |
),
|
64 |
'row_width_default' => array(
|
65 |
'type' => 'select',
|
@@ -90,11 +90,11 @@ FLBuilder::register_settings_form('global', array(
|
|
90 |
'title' => __('Modules', 'fl-builder'),
|
91 |
'fields' => array(
|
92 |
'module_margins' => array(
|
93 |
-
'type' => '
|
94 |
'label' => __('Margins', 'fl-builder'),
|
95 |
'default' => '20',
|
96 |
-
'
|
97 |
-
'
|
98 |
'description' => 'px'
|
99 |
)
|
100 |
)
|
37 |
'title' => __('Rows', 'fl-builder'),
|
38 |
'fields' => array(
|
39 |
'row_margins' => array(
|
40 |
+
'type' => 'unit',
|
41 |
'label' => __('Margins', 'fl-builder'),
|
42 |
'default' => '0',
|
43 |
+
'placeholder' => '0',
|
44 |
+
'responsive' => true,
|
45 |
'description' => 'px'
|
46 |
),
|
47 |
'row_padding' => array(
|
48 |
+
'type' => 'unit',
|
49 |
'label' => __('Padding', 'fl-builder'),
|
50 |
'default' => '20',
|
51 |
+
'placeholder' => '0',
|
52 |
+
'responsive' => true,
|
53 |
'description' => 'px'
|
54 |
),
|
55 |
'row_width' => array(
|
59 |
'maxlength' => '4',
|
60 |
'size' => '5',
|
61 |
'description' => 'px',
|
62 |
+
'help' => __('All rows will default to this width. You can override this and make a row full width in the settings for each row.', 'fl-builder')
|
63 |
),
|
64 |
'row_width_default' => array(
|
65 |
'type' => 'select',
|
90 |
'title' => __('Modules', 'fl-builder'),
|
91 |
'fields' => array(
|
92 |
'module_margins' => array(
|
93 |
+
'type' => 'unit',
|
94 |
'label' => __('Margins', 'fl-builder'),
|
95 |
'default' => '20',
|
96 |
+
'placeholder' => '0',
|
97 |
+
'responsive' => true,
|
98 |
'description' => 'px'
|
99 |
)
|
100 |
)
|
includes/module-settings.php
CHANGED
@@ -8,54 +8,66 @@ FLBuilder::register_settings_form('module_advanced', array(
|
|
8 |
'margins' => array(
|
9 |
'title' => __('Margins', 'fl-builder'),
|
10 |
'fields' => array(
|
11 |
-
'margin_top'
|
12 |
-
'type'
|
13 |
-
'label'
|
14 |
-
'
|
15 |
-
'
|
16 |
-
|
17 |
-
|
18 |
-
'
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
21 |
)
|
22 |
),
|
23 |
'margin_bottom' => array(
|
24 |
-
'type'
|
25 |
-
'label'
|
26 |
-
'
|
27 |
-
'
|
28 |
-
|
29 |
-
|
30 |
-
'
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
33 |
)
|
34 |
),
|
35 |
-
'margin_left'
|
36 |
-
'type'
|
37 |
-
'label'
|
38 |
-
'
|
39 |
-
'
|
40 |
-
|
41 |
-
|
42 |
-
'
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
45 |
)
|
46 |
),
|
47 |
-
'margin_right'
|
48 |
-
'type'
|
49 |
-
'label'
|
50 |
-
'
|
51 |
-
'
|
52 |
-
|
53 |
-
|
54 |
-
'
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
57 |
)
|
58 |
-
)
|
59 |
)
|
60 |
),
|
61 |
'responsive' => array(
|
@@ -76,7 +88,7 @@ FLBuilder::register_settings_form('module_advanced', array(
|
|
76 |
'preview' => array(
|
77 |
'type' => 'none'
|
78 |
)
|
79 |
-
)
|
80 |
)
|
81 |
),
|
82 |
'visibility' => array(
|
@@ -164,4 +176,4 @@ FLBuilder::register_settings_form('module_advanced', array(
|
|
164 |
)
|
165 |
)
|
166 |
)
|
167 |
-
));
|
8 |
'margins' => array(
|
9 |
'title' => __('Margins', 'fl-builder'),
|
10 |
'fields' => array(
|
11 |
+
'margin_top' => array(
|
12 |
+
'type' => 'unit',
|
13 |
+
'label' => __( 'Top', 'fl-builder' ),
|
14 |
+
'description' => 'px',
|
15 |
+
'preview' => array(
|
16 |
+
'type' => 'none',
|
17 |
+
),
|
18 |
+
'responsive' => array(
|
19 |
+
'placeholder' => array(
|
20 |
+
'default' => ( isset( $global_settings->module_margins ) ) ? $global_settings->module_margins : '',
|
21 |
+
'medium' => ( isset( $global_settings->module_margins_medium ) ) ? $global_settings->module_margins_medium : '',
|
22 |
+
'responsive' => ( isset( $global_settings->module_margins_responsive ) ) ? $global_settings->module_margins_responsive : '',
|
23 |
+
)
|
24 |
)
|
25 |
),
|
26 |
'margin_bottom' => array(
|
27 |
+
'type' => 'unit',
|
28 |
+
'label' => __( 'Bottom', 'fl-builder' ),
|
29 |
+
'description' => 'px',
|
30 |
+
'preview' => array(
|
31 |
+
'type' => 'none',
|
32 |
+
),
|
33 |
+
'responsive' => array(
|
34 |
+
'placeholder' => array(
|
35 |
+
'default' => ( isset( $global_settings->module_margins ) ) ? $global_settings->module_margins : '',
|
36 |
+
'medium' => ( isset( $global_settings->module_margins_medium ) ) ? $global_settings->module_margins_medium : '',
|
37 |
+
'responsive' => ( isset( $global_settings->module_margins_responsive ) ) ? $global_settings->module_margins_responsive : '',
|
38 |
+
)
|
39 |
)
|
40 |
),
|
41 |
+
'margin_left' => array(
|
42 |
+
'type' => 'unit',
|
43 |
+
'label' => __( 'Left', 'fl-builder' ),
|
44 |
+
'description' => 'px',
|
45 |
+
'preview' => array(
|
46 |
+
'type' => 'none',
|
47 |
+
),
|
48 |
+
'responsive' => array(
|
49 |
+
'placeholder' => array(
|
50 |
+
'default' => ( isset( $global_settings->module_margins ) ) ? $global_settings->module_margins : '',
|
51 |
+
'medium' => ( isset( $global_settings->module_margins_medium ) ) ? $global_settings->module_margins_medium : '',
|
52 |
+
'responsive' => ( isset( $global_settings->module_margins_responsive ) ) ? $global_settings->module_margins_responsive : '',
|
53 |
+
)
|
54 |
)
|
55 |
),
|
56 |
+
'margin_right' => array(
|
57 |
+
'type' => 'unit',
|
58 |
+
'label' => __( 'Right', 'fl-builder' ),
|
59 |
+
'description' => 'px',
|
60 |
+
'preview' => array(
|
61 |
+
'type' => 'none',
|
62 |
+
),
|
63 |
+
'responsive' => array(
|
64 |
+
'placeholder' => array(
|
65 |
+
'default' => ( isset( $global_settings->module_margins ) ) ? $global_settings->module_margins : '',
|
66 |
+
'medium' => ( isset( $global_settings->module_margins_medium ) ) ? $global_settings->module_margins_medium : '',
|
67 |
+
'responsive' => ( isset( $global_settings->module_margins_responsive ) ) ? $global_settings->module_margins_responsive : '',
|
68 |
+
)
|
69 |
)
|
70 |
+
),
|
71 |
)
|
72 |
),
|
73 |
'responsive' => array(
|
88 |
'preview' => array(
|
89 |
'type' => 'none'
|
90 |
)
|
91 |
+
),
|
92 |
)
|
93 |
),
|
94 |
'visibility' => array(
|
176 |
)
|
177 |
)
|
178 |
)
|
179 |
+
));
|
includes/row-css.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
.fl-node-<?php echo $row->node; ?> {
|
3 |
color: #<?php echo $row->settings->text_color; ?>;
|
4 |
}
|
5 |
-
.fl-builder-content .fl-node-<?php echo $row->node; ?> *:not(input):not(textarea):not(a):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fl-menu-mobile-toggle) {
|
6 |
color: inherit;
|
7 |
}
|
8 |
<?php endif; ?>
|
@@ -100,10 +100,7 @@
|
|
100 |
<?php if(!empty($row->settings->border_type)) : // Border ?>
|
101 |
.fl-node-<?php echo $row->node; ?> > .fl-row-content-wrap {
|
102 |
border-style: <?php echo $row->settings->border_type; ?>;
|
103 |
-
border-
|
104 |
-
border-bottom-width: <?php echo is_numeric($row->settings->border_bottom) ? $row->settings->border_bottom : '0'; ?>px;
|
105 |
-
border-left-width: <?php echo is_numeric($row->settings->border_left) ? $row->settings->border_left : '0'; ?>px;
|
106 |
-
border-right-width: <?php echo is_numeric($row->settings->border_right) ? $row->settings->border_right : '0'; ?>px;
|
107 |
<?php if(!empty($row->settings->border_color)) : ?>
|
108 |
border-color: #<?php echo $row->settings->border_color; ?>;
|
109 |
border-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($row->settings->border_color)) ?>, <?php echo $row->settings->border_opacity/100; ?>);
|
2 |
.fl-node-<?php echo $row->node; ?> {
|
3 |
color: #<?php echo $row->settings->text_color; ?>;
|
4 |
}
|
5 |
+
.fl-builder-content .fl-node-<?php echo $row->node; ?> *:not(input):not(textarea):not(select):not(a):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fl-heading-text):not(.fl-menu-mobile-toggle) {
|
6 |
color: inherit;
|
7 |
}
|
8 |
<?php endif; ?>
|
100 |
<?php if(!empty($row->settings->border_type)) : // Border ?>
|
101 |
.fl-node-<?php echo $row->node; ?> > .fl-row-content-wrap {
|
102 |
border-style: <?php echo $row->settings->border_type; ?>;
|
103 |
+
border-width: 0;
|
|
|
|
|
|
|
104 |
<?php if(!empty($row->settings->border_color)) : ?>
|
105 |
border-color: #<?php echo $row->settings->border_color; ?>;
|
106 |
border-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($row->settings->border_color)) ?>, <?php echo $row->settings->border_opacity/100; ?>);
|
includes/row-settings.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
$global_settings
|
|
|
4 |
|
5 |
FLBuilder::register_settings_form('row', array(
|
6 |
'title' => __('Row Settings', 'fl-builder'),
|
@@ -540,54 +541,70 @@ FLBuilder::register_settings_form('row', array(
|
|
540 |
)
|
541 |
),
|
542 |
'border_top' => array(
|
543 |
-
'type'
|
544 |
-
'label'
|
545 |
-
'
|
546 |
-
'
|
547 |
-
'
|
548 |
-
|
549 |
-
|
550 |
-
'
|
551 |
-
'
|
|
|
|
|
|
|
|
|
552 |
)
|
553 |
),
|
554 |
'border_bottom' => array(
|
555 |
-
'type'
|
556 |
-
'label'
|
557 |
-
'
|
558 |
-
'
|
559 |
-
'
|
560 |
-
|
561 |
-
|
562 |
-
'
|
563 |
-
'
|
|
|
|
|
|
|
|
|
564 |
)
|
565 |
),
|
566 |
'border_left' => array(
|
567 |
-
'type'
|
568 |
-
'label'
|
569 |
-
'
|
570 |
-
'
|
571 |
-
'
|
572 |
-
|
573 |
-
|
574 |
-
'
|
575 |
-
'
|
|
|
|
|
|
|
|
|
576 |
)
|
577 |
),
|
578 |
'border_right' => array(
|
579 |
-
'type'
|
580 |
-
'label'
|
581 |
-
'
|
582 |
-
'
|
583 |
-
'
|
584 |
-
|
585 |
-
|
586 |
-
'
|
587 |
-
'
|
|
|
|
|
|
|
|
|
588 |
)
|
589 |
-
)
|
590 |
-
)
|
591 |
),
|
592 |
)
|
593 |
),
|
@@ -597,108 +614,132 @@ FLBuilder::register_settings_form('row', array(
|
|
597 |
'margins' => array(
|
598 |
'title' => __('Margins', 'fl-builder'),
|
599 |
'fields' => array(
|
600 |
-
'margin_top'
|
601 |
-
'type'
|
602 |
-
'label'
|
603 |
-
'
|
604 |
-
'
|
605 |
-
|
606 |
-
|
607 |
-
'
|
608 |
-
|
609 |
-
|
|
|
|
|
|
|
610 |
)
|
611 |
),
|
612 |
'margin_bottom' => array(
|
613 |
-
'type'
|
614 |
-
'label'
|
615 |
-
'
|
616 |
-
'
|
617 |
-
|
618 |
-
|
619 |
-
'
|
620 |
-
|
621 |
-
|
|
|
|
|
|
|
622 |
)
|
623 |
),
|
624 |
-
'margin_left'
|
625 |
-
'type'
|
626 |
-
'label'
|
627 |
-
'
|
628 |
-
'
|
629 |
-
|
630 |
-
|
631 |
-
'
|
632 |
-
|
633 |
-
|
|
|
|
|
|
|
634 |
)
|
635 |
),
|
636 |
-
'margin_right'
|
637 |
-
'type'
|
638 |
-
'label'
|
639 |
-
'
|
640 |
-
'
|
641 |
-
|
642 |
-
|
643 |
-
'
|
644 |
-
|
645 |
-
|
|
|
|
|
|
|
646 |
)
|
647 |
-
)
|
648 |
-
)
|
649 |
),
|
650 |
'padding' => array(
|
651 |
'title' => __('Padding', 'fl-builder'),
|
652 |
'fields' => array(
|
653 |
-
'padding_top'
|
654 |
-
'type'
|
655 |
-
'label'
|
656 |
-
'
|
657 |
-
'
|
658 |
-
|
659 |
-
|
660 |
-
'
|
661 |
-
|
662 |
-
|
|
|
|
|
|
|
663 |
)
|
664 |
),
|
665 |
'padding_bottom' => array(
|
666 |
-
'type'
|
667 |
-
'label'
|
668 |
-
'
|
669 |
-
'
|
670 |
-
|
671 |
-
|
672 |
-
'
|
673 |
-
|
674 |
-
|
|
|
|
|
|
|
675 |
)
|
676 |
),
|
677 |
-
'padding_left'
|
678 |
-
'type'
|
679 |
-
'label'
|
680 |
-
'
|
681 |
-
'
|
682 |
-
|
683 |
-
|
684 |
-
'
|
685 |
-
|
686 |
-
|
|
|
|
|
|
|
687 |
)
|
688 |
),
|
689 |
'padding_right' => array(
|
690 |
-
'type'
|
691 |
-
'label'
|
692 |
-
'
|
693 |
-
'
|
694 |
-
|
695 |
-
|
696 |
-
'
|
697 |
-
|
698 |
-
|
|
|
|
|
|
|
699 |
)
|
700 |
-
)
|
701 |
-
)
|
702 |
),
|
703 |
'responsive' => array(
|
704 |
'title' => __('Responsive Layout', 'fl-builder'),
|
1 |
<?php
|
2 |
|
3 |
+
$global_settings = FLBuilderModel::get_global_settings();
|
4 |
+
$spacing_placeholders = FLBuilderModel::get_row_spacing_placeholders();
|
5 |
|
6 |
FLBuilder::register_settings_form('row', array(
|
7 |
'title' => __('Row Settings', 'fl-builder'),
|
541 |
)
|
542 |
),
|
543 |
'border_top' => array(
|
544 |
+
'type' => 'unit',
|
545 |
+
'label' => __( 'Top Width', 'fl-builder' ),
|
546 |
+
'description' => 'px',
|
547 |
+
'default' => '1',
|
548 |
+
'preview' => array(
|
549 |
+
'type' => 'none',
|
550 |
+
),
|
551 |
+
'responsive' => array(
|
552 |
+
'placeholder' => array(
|
553 |
+
'default' => '1',
|
554 |
+
'medium' => '',
|
555 |
+
'responsive' => '',
|
556 |
+
)
|
557 |
)
|
558 |
),
|
559 |
'border_bottom' => array(
|
560 |
+
'type' => 'unit',
|
561 |
+
'label' => __( 'Bottom Width', 'fl-builder' ),
|
562 |
+
'description' => 'px',
|
563 |
+
'default' => '1',
|
564 |
+
'preview' => array(
|
565 |
+
'type' => 'none',
|
566 |
+
),
|
567 |
+
'responsive' => array(
|
568 |
+
'placeholder' => array(
|
569 |
+
'default' => '1',
|
570 |
+
'medium' => '',
|
571 |
+
'responsive' => '',
|
572 |
+
)
|
573 |
)
|
574 |
),
|
575 |
'border_left' => array(
|
576 |
+
'type' => 'unit',
|
577 |
+
'label' => __( 'Left Width', 'fl-builder' ),
|
578 |
+
'description' => 'px',
|
579 |
+
'default' => '0',
|
580 |
+
'preview' => array(
|
581 |
+
'type' => 'none',
|
582 |
+
),
|
583 |
+
'responsive' => array(
|
584 |
+
'placeholder' => array(
|
585 |
+
'default' => '0',
|
586 |
+
'medium' => '',
|
587 |
+
'responsive' => '',
|
588 |
+
)
|
589 |
)
|
590 |
),
|
591 |
'border_right' => array(
|
592 |
+
'type' => 'unit',
|
593 |
+
'label' => __( 'Right Width', 'fl-builder' ),
|
594 |
+
'description' => 'px',
|
595 |
+
'default' => '0',
|
596 |
+
'preview' => array(
|
597 |
+
'type' => 'none',
|
598 |
+
),
|
599 |
+
'responsive' => array(
|
600 |
+
'placeholder' => array(
|
601 |
+
'default' => '0',
|
602 |
+
'medium' => '',
|
603 |
+
'responsive' => '',
|
604 |
+
)
|
605 |
)
|
606 |
+
),
|
607 |
+
),
|
608 |
),
|
609 |
)
|
610 |
),
|
614 |
'margins' => array(
|
615 |
'title' => __('Margins', 'fl-builder'),
|
616 |
'fields' => array(
|
617 |
+
'margin_top' => array(
|
618 |
+
'type' => 'unit',
|
619 |
+
'label' => __( 'Top', 'fl-builder' ),
|
620 |
+
'description' => 'px',
|
621 |
+
'preview' => array(
|
622 |
+
'type' => 'none',
|
623 |
+
),
|
624 |
+
'responsive' => array(
|
625 |
+
'placeholder' => array(
|
626 |
+
'default' => $spacing_placeholders['row_margins'],
|
627 |
+
'medium' => $spacing_placeholders['row_margins_medium'],
|
628 |
+
'responsive' => $spacing_placeholders['row_margins_responsive'],
|
629 |
+
)
|
630 |
)
|
631 |
),
|
632 |
'margin_bottom' => array(
|
633 |
+
'type' => 'unit',
|
634 |
+
'label' => __( 'Bottom', 'fl-builder' ),
|
635 |
+
'description' => 'px',
|
636 |
+
'preview' => array(
|
637 |
+
'type' => 'none',
|
638 |
+
),
|
639 |
+
'responsive' => array(
|
640 |
+
'placeholder' => array(
|
641 |
+
'default' => $spacing_placeholders['row_margins'],
|
642 |
+
'medium' => $spacing_placeholders['row_margins_medium'],
|
643 |
+
'responsive' => $spacing_placeholders['row_margins_responsive'],
|
644 |
+
)
|
645 |
)
|
646 |
),
|
647 |
+
'margin_left' => array(
|
648 |
+
'type' => 'unit',
|
649 |
+
'label' => __( 'Left', 'fl-builder' ),
|
650 |
+
'description' => 'px',
|
651 |
+
'preview' => array(
|
652 |
+
'type' => 'none',
|
653 |
+
),
|
654 |
+
'responsive' => array(
|
655 |
+
'placeholder' => array(
|
656 |
+
'default' => $spacing_placeholders['row_margins'],
|
657 |
+
'medium' => $spacing_placeholders['row_margins_medium'],
|
658 |
+
'responsive' => $spacing_placeholders['row_margins_responsive'],
|
659 |
+
)
|
660 |
)
|
661 |
),
|
662 |
+
'margin_right' => array(
|
663 |
+
'type' => 'unit',
|
664 |
+
'label' => __( 'Right', 'fl-builder' ),
|
665 |
+
'description' => 'px',
|
666 |
+
'preview' => array(
|
667 |
+
'type' => 'none',
|
668 |
+
),
|
669 |
+
'responsive' => array(
|
670 |
+
'placeholder' => array(
|
671 |
+
'default' => $spacing_placeholders['row_margins'],
|
672 |
+
'medium' => $spacing_placeholders['row_margins_medium'],
|
673 |
+
'responsive' => $spacing_placeholders['row_margins_responsive'],
|
674 |
+
)
|
675 |
)
|
676 |
+
),
|
677 |
+
),
|
678 |
),
|
679 |
'padding' => array(
|
680 |
'title' => __('Padding', 'fl-builder'),
|
681 |
'fields' => array(
|
682 |
+
'padding_top' => array(
|
683 |
+
'type' => 'unit',
|
684 |
+
'label' => __( 'Top', 'fl-builder' ),
|
685 |
+
'description' => 'px',
|
686 |
+
'preview' => array(
|
687 |
+
'type' => 'none',
|
688 |
+
),
|
689 |
+
'responsive' => array(
|
690 |
+
'placeholder' => array(
|
691 |
+
'default' => $spacing_placeholders['row_padding'],
|
692 |
+
'medium' => $spacing_placeholders['row_padding_medium'],
|
693 |
+
'responsive' => $spacing_placeholders['row_padding_tb_responsive'],
|
694 |
+
)
|
695 |
)
|
696 |
),
|
697 |
'padding_bottom' => array(
|
698 |
+
'type' => 'unit',
|
699 |
+
'label' => __( 'Bottom', 'fl-builder' ),
|
700 |
+
'description' => 'px',
|
701 |
+
'preview' => array(
|
702 |
+
'type' => 'none',
|
703 |
+
),
|
704 |
+
'responsive' => array(
|
705 |
+
'placeholder' => array(
|
706 |
+
'default' => $spacing_placeholders['row_padding'],
|
707 |
+
'medium' => $spacing_placeholders['row_padding_medium'],
|
708 |
+
'responsive' => $spacing_placeholders['row_padding_tb_responsive'],
|
709 |
+
)
|
710 |
)
|
711 |
),
|
712 |
+
'padding_left' => array(
|
713 |
+
'type' => 'unit',
|
714 |
+
'label' => __( 'Left', 'fl-builder' ),
|
715 |
+
'description' => 'px',
|
716 |
+
'preview' => array(
|
717 |
+
'type' => 'none',
|
718 |
+
),
|
719 |
+
'responsive' => array(
|
720 |
+
'placeholder' => array(
|
721 |
+
'default' => $spacing_placeholders['row_padding'],
|
722 |
+
'medium' => $spacing_placeholders['row_padding_medium'],
|
723 |
+
'responsive' => $spacing_placeholders['row_padding_lr_responsive'],
|
724 |
+
)
|
725 |
)
|
726 |
),
|
727 |
'padding_right' => array(
|
728 |
+
'type' => 'unit',
|
729 |
+
'label' => __( 'Right', 'fl-builder' ),
|
730 |
+
'description' => 'px',
|
731 |
+
'preview' => array(
|
732 |
+
'type' => 'none',
|
733 |
+
),
|
734 |
+
'responsive' => array(
|
735 |
+
'placeholder' => array(
|
736 |
+
'default' => $spacing_placeholders['row_padding'],
|
737 |
+
'medium' => $spacing_placeholders['row_padding_medium'],
|
738 |
+
'responsive' => $spacing_placeholders['row_padding_lr_responsive'],
|
739 |
+
)
|
740 |
)
|
741 |
+
),
|
742 |
+
),
|
743 |
),
|
744 |
'responsive' => array(
|
745 |
'title' => __('Responsive Layout', 'fl-builder'),
|
includes/settings.php
CHANGED
@@ -45,6 +45,10 @@
|
|
45 |
<h3 class="fl-builder-settings-title"><?php echo $section['title']; ?></h3>
|
46 |
<?php endif; ?>
|
47 |
|
|
|
|
|
|
|
|
|
48 |
<table class="fl-form-table">
|
49 |
<?php
|
50 |
|
45 |
<h3 class="fl-builder-settings-title"><?php echo $section['title']; ?></h3>
|
46 |
<?php endif; ?>
|
47 |
|
48 |
+
<?php if ( isset( $section['description'] ) && ! empty( $section['description'] ) ) : // Section description ?>
|
49 |
+
<p class="fl-builder-settings-description"><?php echo $section['description']; ?></p>
|
50 |
+
<?php endif; ?>
|
51 |
+
|
52 |
<table class="fl-form-table">
|
53 |
<?php
|
54 |
|
includes/ui-fields.php
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
<div class="fl-builder-loading"></div>
|
|
|
|
|
2 |
<div class="fl-builder-hidden-editor">
|
3 |
<?php wp_editor(' ', 'flhiddeneditor', array('wpautop' => true)); ?>
|
4 |
</div>
|
1 |
<div class="fl-builder-loading"></div>
|
2 |
+
<div class="fl-sortable-proxy fl-row-sortable-proxy"><div class="fl-row-sortable-proxy-item"></div></div>
|
3 |
+
<div class="fl-sortable-proxy fl-col-sortable-proxy"><div class="fl-col-sortable-proxy-item"></div></div>
|
4 |
<div class="fl-builder-hidden-editor">
|
5 |
<?php wp_editor(' ', 'flhiddeneditor', array('wpautop' => true)); ?>
|
6 |
</div>
|
includes/ui-js-config.php
CHANGED
@@ -7,13 +7,16 @@ echo 'FLBuilderConfig = ' . json_encode( apply_filters('fl_builder_ui_js_config'
|
|
7 |
'customImageSizeTitles' => apply_filters( 'image_size_names_choose', array() ),
|
8 |
'debug' => ( defined( 'WP_DEBUG' ) && WP_DEBUG ),
|
9 |
'enabledTemplates' => 'core',
|
|
|
10 |
'help' => FLBuilderModel::get_help_button_settings(),
|
11 |
'homeUrl' => home_url(),
|
12 |
'isRtl' => is_rtl(),
|
13 |
'isUserTemplate' => false,
|
14 |
'lite' => true === FL_BUILDER_LITE,
|
15 |
'modSecFix' => ( defined( 'FL_BUILDER_MODSEC_FIX' ) && FL_BUILDER_MODSEC_FIX ),
|
|
|
16 |
'newUser' => FLBuilderModel::is_new_user(),
|
|
|
17 |
'postId' => $post_id,
|
18 |
'postStatus' => get_post_status(),
|
19 |
'postType' => get_post_type(),
|
7 |
'customImageSizeTitles' => apply_filters( 'image_size_names_choose', array() ),
|
8 |
'debug' => ( defined( 'WP_DEBUG' ) && WP_DEBUG ),
|
9 |
'enabledTemplates' => 'core',
|
10 |
+
'global' => $global_settings,
|
11 |
'help' => FLBuilderModel::get_help_button_settings(),
|
12 |
'homeUrl' => home_url(),
|
13 |
'isRtl' => is_rtl(),
|
14 |
'isUserTemplate' => false,
|
15 |
'lite' => true === FL_BUILDER_LITE,
|
16 |
'modSecFix' => ( defined( 'FL_BUILDER_MODSEC_FIX' ) && FL_BUILDER_MODSEC_FIX ),
|
17 |
+
'nestedColumns' => ( ! defined( 'FL_BUILDER_NESTED_COLUMNS' ) || FL_BUILDER_NESTED_COLUMNS ),
|
18 |
'newUser' => FLBuilderModel::is_new_user(),
|
19 |
+
'pluginUrl' => FL_BUILDER_URL,
|
20 |
'postId' => $post_id,
|
21 |
'postStatus' => get_post_status(),
|
22 |
'postType' => get_post_type(),
|
includes/ui-js-templates.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<script type="text/html" id="tmpl-fl-row-overlay">
|
2 |
-
<div class="fl-row-overlay fl-block-overlay<# if ( data.global ) { #> fl-block-overlay-global<# } #>"
|
3 |
<div class="fl-block-overlay-header">
|
4 |
<div class="fl-block-overlay-actions">
|
5 |
<div class="fl-block-overlay-title"><?php _e('Row', 'fl-builder'); ?></div>
|
@@ -27,17 +27,19 @@
|
|
27 |
<div class="fl-block-overlay-header">
|
28 |
<div class="fl-block-overlay-actions">
|
29 |
<?php if ( ! $simple_ui ) : ?>
|
|
|
30 |
<span class="fl-builder-has-submenu">
|
31 |
<i class="fl-block-settings fa fa-columns fl-tip" title="<?php _e( 'Edit Column', 'fl-builder' ); ?>"></i>
|
32 |
<ul class="fl-builder-submenu fl-block-col-submenu">
|
33 |
<li><a class="fl-block-col-edit" href="javascript:void(0);"><?php _e( 'Column Settings', 'fl-builder' ); ?></a></li>
|
34 |
-
<# if ( data.numCols
|
35 |
-
<li><a class="fl-block-col-insert-before" href="javascript:void(0);"><?php _e( 'Insert Column Before', 'fl-builder' ); ?></a></li>
|
36 |
-
<li><a class="fl-block-col-insert-after" href="javascript:void(0);"><?php _e( 'Insert Column After', 'fl-builder' ); ?></a></li>
|
37 |
-
<# } #>
|
38 |
-
<# if ( data.numCols > 1 ) { #>
|
39 |
<li><a class="fl-block-col-reset" href="javascript:void(0);"><?php _e( 'Reset Column Widths', 'fl-builder' ); ?></a></li>
|
40 |
<# } #>
|
|
|
|
|
|
|
|
|
|
|
41 |
</ul>
|
42 |
</span>
|
43 |
<i class="fl-block-remove fa fa-times fl-tip" title="<?php _e( 'Remove', 'fl-builder' ); ?>"></i>
|
@@ -46,8 +48,8 @@
|
|
46 |
<div class="fl-clear"></div>
|
47 |
</div>
|
48 |
<?php if ( ! $simple_ui ) : ?>
|
49 |
-
<# if ( ! data.first ) { #>
|
50 |
-
<div class="fl-block-col-resize fl-block-col-resize-w">
|
51 |
<div class="fl-block-col-resize-handle-wrap">
|
52 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
53 |
<div class="fl-block-col-resize-handle"></div>
|
@@ -55,8 +57,8 @@
|
|
55 |
</div>
|
56 |
</div>
|
57 |
<# } #>
|
58 |
-
<# if ( ! data.last ) { #>
|
59 |
-
<div class="fl-block-col-resize fl-block-col-resize-e">
|
60 |
<div class="fl-block-col-resize-handle-wrap">
|
61 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
62 |
<div class="fl-block-col-resize-handle"></div>
|
@@ -79,21 +81,23 @@
|
|
79 |
<?php if ( ! FLBuilderModel::is_post_user_template( 'module' ) && ! $simple_ui ) : ?>
|
80 |
<i class="fl-block-move fa fa-arrows fl-tip" title="<?php _e('Move', 'fl-builder'); ?>"></i>
|
81 |
<?php endif; ?>
|
82 |
-
<i class="fl-block-settings fa fa-wrench fl-tip" title="
|
83 |
<?php if ( ! FLBuilderModel::is_post_user_template( 'module' ) && ! $simple_ui ) : ?>
|
84 |
<i class="fl-block-copy fa fa-copy fl-tip" title="<?php _e( 'Duplicate', 'fl-builder' ); ?>"></i>
|
85 |
<span class="fl-builder-has-submenu">
|
86 |
<i class="fl-block-col-settings fa fa-columns fl-tip" title="<?php _e( 'Edit Column', 'fl-builder' ); ?>"></i>
|
87 |
<ul class="fl-builder-submenu fl-block-col-submenu">
|
|
|
88 |
<li><a class="fl-block-col-edit" href="javascript:void(0);"><?php _e( 'Column Settings', 'fl-builder' ); ?></a></li>
|
89 |
<li><a class="fl-block-col-delete" href="javascript:void(0);"><?php _e( 'Delete Column', 'fl-builder' ); ?></a></li>
|
90 |
-
<# if ( data.numCols
|
91 |
-
<li><a class="fl-block-col-insert-before" href="javascript:void(0);"><?php _e( 'Insert Column Before', 'fl-builder' ); ?></a></li>
|
92 |
-
<li><a class="fl-block-col-insert-after" href="javascript:void(0);"><?php _e( 'Insert Column After', 'fl-builder' ); ?></a></li>
|
93 |
-
<# } #>
|
94 |
-
<# if ( data.numCols > 1 ) { #>
|
95 |
<li><a class="fl-block-col-reset" href="javascript:void(0);"><?php _e( 'Reset Column Widths', 'fl-builder' ); ?></a></li>
|
96 |
<# } #>
|
|
|
|
|
|
|
|
|
|
|
97 |
</ul>
|
98 |
</span>
|
99 |
<i class="fl-block-remove fa fa-times fl-tip" title="<?php _e( 'Remove', 'fl-builder' ); ?>"></i>
|
@@ -103,8 +107,8 @@
|
|
103 |
<div class="fl-clear"></div>
|
104 |
</div>
|
105 |
<?php if ( ! FLBuilderModel::is_post_user_template( 'module' ) && ! $simple_ui ) : ?>
|
106 |
-
<# if ( ! data.parentFirst ) { #>
|
107 |
-
<div class="fl-block-col-resize fl-block-col-resize-w">
|
108 |
<div class="fl-block-col-resize-handle-wrap">
|
109 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
110 |
<div class="fl-block-col-resize-handle"></div>
|
@@ -112,8 +116,8 @@
|
|
112 |
</div>
|
113 |
</div>
|
114 |
<# } #>
|
115 |
-
<# if ( ! data.parentLast ) { #>
|
116 |
-
<div class="fl-block-col-resize fl-block-col-resize-e">
|
117 |
<div class="fl-block-col-resize-handle-wrap">
|
118 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
119 |
<div class="fl-block-col-resize-handle"></div>
|
@@ -126,6 +130,24 @@
|
|
126 |
</script>
|
127 |
<!-- #tmpl-fl-module-overlay -->
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
<script type="text/html" id="tmpl-fl-actions-lightbox">
|
130 |
<div class="fl-builder-actions {{data.className}}">
|
131 |
<span class="fl-builder-actions-title">{{data.title}}</span>
|
@@ -163,4 +185,16 @@
|
|
163 |
<span class="fl-builder-settings-cancel fl-builder-button fl-builder-button-large fl-builder-button-primary" href="javascript:void(0);"><?php _e('Done', 'fl-builder'); ?></span>
|
164 |
</div>
|
165 |
</script>
|
166 |
-
<!-- #tmpl-fl-video-lightbox -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<script type="text/html" id="tmpl-fl-row-overlay">
|
2 |
+
<div class="fl-row-overlay fl-block-overlay<# if ( data.global ) { #> fl-block-overlay-global<# } #>">
|
3 |
<div class="fl-block-overlay-header">
|
4 |
<div class="fl-block-overlay-actions">
|
5 |
<div class="fl-block-overlay-title"><?php _e('Row', 'fl-builder'); ?></div>
|
27 |
<div class="fl-block-overlay-header">
|
28 |
<div class="fl-block-overlay-actions">
|
29 |
<?php if ( ! $simple_ui ) : ?>
|
30 |
+
<i class="fl-block-move fa fa-arrows fl-tip" title="<?php _e('Move', 'fl-builder'); ?>"></i>
|
31 |
<span class="fl-builder-has-submenu">
|
32 |
<i class="fl-block-settings fa fa-columns fl-tip" title="<?php _e( 'Edit Column', 'fl-builder' ); ?>"></i>
|
33 |
<ul class="fl-builder-submenu fl-block-col-submenu">
|
34 |
<li><a class="fl-block-col-edit" href="javascript:void(0);"><?php _e( 'Column Settings', 'fl-builder' ); ?></a></li>
|
35 |
+
<# if ( data.numCols > 1 || ( data.hasParentCol && data.numParentCols > 1 ) ) { #>
|
|
|
|
|
|
|
|
|
36 |
<li><a class="fl-block-col-reset" href="javascript:void(0);"><?php _e( 'Reset Column Widths', 'fl-builder' ); ?></a></li>
|
37 |
<# } #>
|
38 |
+
<# if ( data.hasParentCol ) { #>
|
39 |
+
<li class="fl-builder-submenu-sep"><div></div></li>
|
40 |
+
<li><a class="fl-block-col-move-parent" href="javascript:void(0);"><?php _e( 'Move Parent', 'fl-builder' ); ?><i class="fa fa-arrows"></i></a></li>
|
41 |
+
<li><a class="fl-block-col-edit-parent" href="javascript:void(0);"><?php _e( 'Parent Settings', 'fl-builder' ); ?></a></li>
|
42 |
+
<# } #>
|
43 |
</ul>
|
44 |
</span>
|
45 |
<i class="fl-block-remove fa fa-times fl-tip" title="<?php _e( 'Remove', 'fl-builder' ); ?>"></i>
|
48 |
<div class="fl-clear"></div>
|
49 |
</div>
|
50 |
<?php if ( ! $simple_ui ) : ?>
|
51 |
+
<# if ( ( ! data.first && data.contentWidth > 40 ) || ( data.hasParentCol && data.first && ! data.parentFirst ) ) { #>
|
52 |
+
<div class="fl-block-col-resize fl-block-col-resize-w<# if ( data.hasParentCol && data.first && ! data.parentFirst ) { #> fl-block-col-resize-parent<# } #>">
|
53 |
<div class="fl-block-col-resize-handle-wrap">
|
54 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
55 |
<div class="fl-block-col-resize-handle"></div>
|
57 |
</div>
|
58 |
</div>
|
59 |
<# } #>
|
60 |
+
<# if ( ( ! data.last && data.contentWidth > 40 ) || ( data.hasParentCol && data.last && ! data.parentLast ) ) { #>
|
61 |
+
<div class="fl-block-col-resize fl-block-col-resize-e<# if ( data.hasParentCol && data.last && ! data.parentLast ) { #> fl-block-col-resize-parent<# } #>">
|
62 |
<div class="fl-block-col-resize-handle-wrap">
|
63 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
64 |
<div class="fl-block-col-resize-handle"></div>
|
81 |
<?php if ( ! FLBuilderModel::is_post_user_template( 'module' ) && ! $simple_ui ) : ?>
|
82 |
<i class="fl-block-move fa fa-arrows fl-tip" title="<?php _e('Move', 'fl-builder'); ?>"></i>
|
83 |
<?php endif; ?>
|
84 |
+
<i class="fl-block-settings fa fa-wrench fl-tip" title="<?php _e('Module Settings', 'fl-builder'); ?>"></i>
|
85 |
<?php if ( ! FLBuilderModel::is_post_user_template( 'module' ) && ! $simple_ui ) : ?>
|
86 |
<i class="fl-block-copy fa fa-copy fl-tip" title="<?php _e( 'Duplicate', 'fl-builder' ); ?>"></i>
|
87 |
<span class="fl-builder-has-submenu">
|
88 |
<i class="fl-block-col-settings fa fa-columns fl-tip" title="<?php _e( 'Edit Column', 'fl-builder' ); ?>"></i>
|
89 |
<ul class="fl-builder-submenu fl-block-col-submenu">
|
90 |
+
<li><a class="fl-block-col-move" href="javascript:void(0);"><?php _e( 'Move Column', 'fl-builder' ); ?><i class="fa fa-arrows"></i></a></li>
|
91 |
<li><a class="fl-block-col-edit" href="javascript:void(0);"><?php _e( 'Column Settings', 'fl-builder' ); ?></a></li>
|
92 |
<li><a class="fl-block-col-delete" href="javascript:void(0);"><?php _e( 'Delete Column', 'fl-builder' ); ?></a></li>
|
93 |
+
<# if ( data.numCols > 1 || ( data.hasParentCol && data.numParentCols > 1 ) ) { #>
|
|
|
|
|
|
|
|
|
94 |
<li><a class="fl-block-col-reset" href="javascript:void(0);"><?php _e( 'Reset Column Widths', 'fl-builder' ); ?></a></li>
|
95 |
<# } #>
|
96 |
+
<# if ( data.hasParentCol ) { #>
|
97 |
+
<li class="fl-builder-submenu-sep"><div></div></li>
|
98 |
+
<li><a class="fl-block-col-move-parent" href="javascript:void(0);"><?php _e( 'Move Parent', 'fl-builder' ); ?><i class="fa fa-arrows"></i></a></li>
|
99 |
+
<li><a class="fl-block-col-edit-parent" href="javascript:void(0);"><?php _e( 'Parent Settings', 'fl-builder' ); ?></a></li>
|
100 |
+
<# } #>
|
101 |
</ul>
|
102 |
</span>
|
103 |
<i class="fl-block-remove fa fa-times fl-tip" title="<?php _e( 'Remove', 'fl-builder' ); ?>"></i>
|
107 |
<div class="fl-clear"></div>
|
108 |
</div>
|
109 |
<?php if ( ! FLBuilderModel::is_post_user_template( 'module' ) && ! $simple_ui ) : ?>
|
110 |
+
<# if ( ( ! data.colFirst && data.contentWidth > 40 ) || ( data.hasParentCol && data.colFirst && ! data.parentFirst ) ) { #>
|
111 |
+
<div class="fl-block-col-resize fl-block-col-resize-w<# if ( data.hasParentCol && data.colFirst && ! data.parentFirst ) { #> fl-block-col-resize-parent<# } #>">
|
112 |
<div class="fl-block-col-resize-handle-wrap">
|
113 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
114 |
<div class="fl-block-col-resize-handle"></div>
|
116 |
</div>
|
117 |
</div>
|
118 |
<# } #>
|
119 |
+
<# if ( ( ! data.colLast && data.contentWidth > 40 ) || ( data.hasParentCol && data.colLast && ! data.parentLast ) ) { #>
|
120 |
+
<div class="fl-block-col-resize fl-block-col-resize-e<# if ( data.hasParentCol && data.colLast && ! data.parentLast ) { #> fl-block-col-resize-parent<# } #>">
|
121 |
<div class="fl-block-col-resize-handle-wrap">
|
122 |
<div class="fl-block-col-resize-feedback fl-block-col-resize-feedback-left"></div>
|
123 |
<div class="fl-block-col-resize-handle"></div>
|
130 |
</script>
|
131 |
<!-- #tmpl-fl-module-overlay -->
|
132 |
|
133 |
+
<script type="text/html" id="tmpl-fl-overlay-overflow-menu">
|
134 |
+
<span class="fl-builder-has-submenu">
|
135 |
+
<i class="fl-block-overflow-menu fa fa-bars fl-tip" title="<?php _e( 'More', 'fl-builder' ); ?>"></i>
|
136 |
+
<ul class="fl-builder-submenu">
|
137 |
+
<# for( var i = 0; i < data.length; i++ ) { #>
|
138 |
+
<# if ( 'submenu' == data[ i ].type ) { #>
|
139 |
+
<li class="fl-builder-has-submenu"><a href="javascript:void(0);">{{data[ i ].label}}<i class="fa fa-caret-right"></i></a>
|
140 |
+
{{{data[ i ].submenu}}}
|
141 |
+
</li>
|
142 |
+
<# } else { #>
|
143 |
+
<li><a class="{{data[ i ].className}}" href="javascript:void(0);">{{data[ i ].label}}<# if ( data[ i ].className.indexOf( 'fl-block-move' ) > -1 ) { #><i class="fa fa-arrows"></i><# } #></a>
|
144 |
+
<# } #>
|
145 |
+
<# } #>
|
146 |
+
</ul>
|
147 |
+
</span>
|
148 |
+
</script>
|
149 |
+
<!-- #tmpl-fl-overlay-overflow-menu -->
|
150 |
+
|
151 |
<script type="text/html" id="tmpl-fl-actions-lightbox">
|
152 |
<div class="fl-builder-actions {{data.className}}">
|
153 |
<span class="fl-builder-actions-title">{{data.title}}</span>
|
185 |
<span class="fl-builder-settings-cancel fl-builder-button fl-builder-button-large fl-builder-button-primary" href="javascript:void(0);"><?php _e('Done', 'fl-builder'); ?></span>
|
186 |
</div>
|
187 |
</script>
|
188 |
+
<!-- #tmpl-fl-video-lightbox -->
|
189 |
+
|
190 |
+
<script type="text/html" id="tmpl-fl-responsive-preview">
|
191 |
+
<div class="fl-responsive-preview-mask"></div>
|
192 |
+
<div class="fl-responsive-preview">
|
193 |
+
<div class="fl-responsive-preview-content">
|
194 |
+
<div class="fl-responsive-preview-message">
|
195 |
+
<?php _e( 'Layout Preview', 'fl-builder' ); ?>
|
196 |
+
</div>
|
197 |
+
</div>
|
198 |
+
</div>
|
199 |
+
</script>
|
200 |
+
<!-- #tmpl-fl-responsive-preview -->
|
includes/ui-panel.php
CHANGED
@@ -41,13 +41,13 @@
|
|
41 |
<?php if($title == __('WordPress Widgets', 'fl-builder')) : ?>
|
42 |
<div class="fl-builder-blocks-section-content fl-builder-widgets">
|
43 |
<?php foreach($modules as $module) : ?>
|
44 |
-
<span class="fl-builder-block fl-builder-block-module" data-type="widget" data-widget="<?php echo $module->class; ?>"><span class="fl-builder-block-title"><?php echo $module->name; ?></span></span>
|
45 |
<?php endforeach; ?>
|
46 |
</div>
|
47 |
<?php else : ?>
|
48 |
<div class="fl-builder-blocks-section-content fl-builder-modules">
|
49 |
<?php foreach($modules as $module) : ?>
|
50 |
-
<span class="fl-builder-block fl-builder-block-module" data-type="<?php echo $module->slug; ?>"><span class="fl-builder-block-title"><?php echo $module->name; ?></span></span>
|
51 |
<?php endforeach; ?>
|
52 |
</div>
|
53 |
<?php endif; ?>
|
41 |
<?php if($title == __('WordPress Widgets', 'fl-builder')) : ?>
|
42 |
<div class="fl-builder-blocks-section-content fl-builder-widgets">
|
43 |
<?php foreach($modules as $module) : ?>
|
44 |
+
<span class="fl-builder-block fl-builder-block-module" data-type="widget" data-widget="<?php echo $module->class; ?>"><span class="fl-builder-block-title" title="<?php echo esc_attr( $module->name ); ?>"><?php echo $module->name; ?></span></span>
|
45 |
<?php endforeach; ?>
|
46 |
</div>
|
47 |
<?php else : ?>
|
48 |
<div class="fl-builder-blocks-section-content fl-builder-modules">
|
49 |
<?php foreach($modules as $module) : ?>
|
50 |
+
<span class="fl-builder-block fl-builder-block-module" data-type="<?php echo $module->slug; ?>"><span class="fl-builder-block-title" title="<?php echo esc_attr( $module->name ); ?>"><?php echo $module->name; ?></span></span>
|
51 |
<?php endforeach; ?>
|
52 |
</div>
|
53 |
<?php endif; ?>
|
includes/updater-config.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
if(class_exists('FLUpdater')) {
|
4 |
FLUpdater::add_product(array(
|
5 |
'name' => 'Beaver Builder Plugin (Lite Version)',
|
6 |
-
'version' => '1.
|
7 |
'slug' => 'bb-plugin',
|
8 |
'type' => 'plugin'
|
9 |
));
|
3 |
if(class_exists('FLUpdater')) {
|
4 |
FLUpdater::add_product(array(
|
5 |
'name' => 'Beaver Builder Plugin (Lite Version)',
|
6 |
+
'version' => '1.9.1',
|
7 |
'slug' => 'bb-plugin',
|
8 |
'type' => 'plugin'
|
9 |
));
|
js/fl-builder-ajax-layout.js
CHANGED
@@ -374,18 +374,18 @@
|
|
374 |
|
375 |
// If data.nodeParent is present, we have a new node.
|
376 |
if ( this._data.nodeParent ) {
|
377 |
-
|
378 |
// Get sibling rows.
|
379 |
if ( this._data.nodeParent.hasClass( 'fl-builder-content' ) ) {
|
380 |
siblings = this._data.nodeParent.find( '.fl-row' );
|
381 |
}
|
382 |
// Get sibling column groups.
|
383 |
else if ( this._data.nodeParent.hasClass( 'fl-row-content' ) ) {
|
384 |
-
siblings = this._data.nodeParent.find( '.fl-col-group' );
|
385 |
}
|
386 |
// Get sibling modules.
|
387 |
else {
|
388 |
-
siblings = this._data.nodeParent.find( '.fl-module' );
|
389 |
}
|
390 |
|
391 |
// Add the new node.
|
@@ -542,10 +542,12 @@
|
|
542 |
{
|
543 |
FLBuilder._setupEmptyLayout();
|
544 |
FLBuilder._highlightEmptyCols();
|
|
|
545 |
FLBuilder._initSortables();
|
546 |
FLBuilder._resizeLayout();
|
547 |
FLBuilder._initMediaElements();
|
548 |
FLBuilderLayout.init();
|
|
|
549 |
|
550 |
this._body.height( 'auto' );
|
551 |
}
|
374 |
|
375 |
// If data.nodeParent is present, we have a new node.
|
376 |
if ( this._data.nodeParent ) {
|
377 |
+
|
378 |
// Get sibling rows.
|
379 |
if ( this._data.nodeParent.hasClass( 'fl-builder-content' ) ) {
|
380 |
siblings = this._data.nodeParent.find( '.fl-row' );
|
381 |
}
|
382 |
// Get sibling column groups.
|
383 |
else if ( this._data.nodeParent.hasClass( 'fl-row-content' ) ) {
|
384 |
+
siblings = this._data.nodeParent.find( ' > .fl-col-group' );
|
385 |
}
|
386 |
// Get sibling modules.
|
387 |
else {
|
388 |
+
siblings = this._data.nodeParent.find( ' > .fl-col-group, > .fl-module' );
|
389 |
}
|
390 |
|
391 |
// Add the new node.
|
542 |
{
|
543 |
FLBuilder._setupEmptyLayout();
|
544 |
FLBuilder._highlightEmptyCols();
|
545 |
+
FLBuilder._initDropTargets();
|
546 |
FLBuilder._initSortables();
|
547 |
FLBuilder._resizeLayout();
|
548 |
FLBuilder._initMediaElements();
|
549 |
FLBuilderLayout.init();
|
550 |
+
FLBuilderResponsiveEditing.refreshPreview();
|
551 |
|
552 |
this._body.height( 'auto' );
|
553 |
}
|
js/fl-builder-forced-media-queries.js
ADDED
@@ -0,0 +1,492 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
|
2 |
+
!function(a){"use strict";if(a.matchMedia&&a.matchMedia("all").addListener)return!1;var b=a.matchMedia,c=b("only all").matches,d=!1,e=0,f=[],g=function(c){a.clearTimeout(e),e=a.setTimeout(function(){for(var c=0,d=f.length;c<d;c++){var e=f[c].mql,g=f[c].listeners||[],h=b(e.media).matches;if(h!==e.matches){e.matches=h;for(var i=0,j=g.length;i<j;i++)g[i].call(a,e)}}},30)};a.matchMedia=function(e){var h=b(e),i=[],j=0;return h.addListener=function(b){c&&(d||(d=!0,a.addEventListener("resize",g,!0)),0===j&&(j=f.push({mql:h,listeners:i})),i.push(b))},h.removeListener=function(a){for(var b=0,c=i.length;b<c;b++)i[b]===a&&i.splice(b,1)},h}}(this);
|
3 |
+
|
4 |
+
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
|
5 |
+
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
|
6 |
+
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a,b){var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(a.document)}(this);
|
7 |
+
|
8 |
+
( function( $ ) {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Helper for simulating media queries without resizing
|
12 |
+
* the viewport.
|
13 |
+
*
|
14 |
+
* Based on Respond.js by Scott Jehl (https://github.com/scottjehl/Respond)
|
15 |
+
*
|
16 |
+
* @since 1.9
|
17 |
+
* @class FLBuilderForcedMediaQueries
|
18 |
+
*/
|
19 |
+
FLBuilderForcedMediaQueries = {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @since 1.9
|
23 |
+
* @access private
|
24 |
+
* @property {Array} _requestQueue
|
25 |
+
*/
|
26 |
+
_requestQueue: [],
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @since 1.9
|
30 |
+
* @access private
|
31 |
+
* @property {Object} _xmlHttp
|
32 |
+
*/
|
33 |
+
_xmlHttp: (function() {
|
34 |
+
var xmlhttpmethod = false;
|
35 |
+
try {
|
36 |
+
xmlhttpmethod = new window.XMLHttpRequest();
|
37 |
+
}
|
38 |
+
catch( e ){
|
39 |
+
xmlhttpmethod = new window.ActiveXObject( "Microsoft.XMLHTTP" );
|
40 |
+
}
|
41 |
+
return function(){
|
42 |
+
return xmlhttpmethod;
|
43 |
+
};
|
44 |
+
})(),
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @since 1.9
|
48 |
+
* @access private
|
49 |
+
* @property {Object} _regex
|
50 |
+
*/
|
51 |
+
_regex: {
|
52 |
+
media: /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,
|
53 |
+
keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,
|
54 |
+
comments: /\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,
|
55 |
+
urls: /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,
|
56 |
+
findStyles: /@media *([^\{]+)\{([\S\s]+?)$/,
|
57 |
+
only: /(only\s+)?([a-zA-Z]+)\s?/,
|
58 |
+
minw: /\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,
|
59 |
+
maxw: /\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,
|
60 |
+
minmaxwh: /\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,
|
61 |
+
other: /\([^\)]*\)/g
|
62 |
+
},
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @since 1.9
|
66 |
+
* @access private
|
67 |
+
* @property {Array} _mediaStyles
|
68 |
+
*/
|
69 |
+
_mediaStyles: [],
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @since 1.9
|
73 |
+
* @access private
|
74 |
+
* @property {Array} _rules
|
75 |
+
*/
|
76 |
+
_rules: [],
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @since 1.9
|
80 |
+
* @access private
|
81 |
+
* @property {Array} _appendedEls
|
82 |
+
*/
|
83 |
+
_appendedEls: [],
|
84 |
+
|
85 |
+
/**
|
86 |
+
* @since 1.9
|
87 |
+
* @access private
|
88 |
+
* @property {Object} _parsedSheets
|
89 |
+
*/
|
90 |
+
_parsedSheets: {},
|
91 |
+
|
92 |
+
/**
|
93 |
+
* @since 1.9
|
94 |
+
* @access private
|
95 |
+
* @property {Number} _emInPx
|
96 |
+
*/
|
97 |
+
_emInPx: null,
|
98 |
+
|
99 |
+
/**
|
100 |
+
* The current viewport width to simulate.
|
101 |
+
*
|
102 |
+
* @since 1.9
|
103 |
+
* @access private
|
104 |
+
* @property {Number} _width
|
105 |
+
*/
|
106 |
+
_width: null,
|
107 |
+
|
108 |
+
/**
|
109 |
+
* @since 1.9
|
110 |
+
* @access private
|
111 |
+
* @property {Function} _callback
|
112 |
+
*/
|
113 |
+
_callback: null,
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Translates all stylesheets and applies the media queries.
|
117 |
+
*
|
118 |
+
* @since 1.9
|
119 |
+
* @method update
|
120 |
+
* @param {Number) width The viewport width to simulate.
|
121 |
+
* @param {Function) callback
|
122 |
+
*/
|
123 |
+
update: function( width, callback )
|
124 |
+
{
|
125 |
+
var self = FLBuilderForcedMediaQueries,
|
126 |
+
doc = window.document,
|
127 |
+
docElem = doc.documentElement,
|
128 |
+
head = doc.getElementsByTagName( 'head' )[0] || docElem,
|
129 |
+
base = doc.getElementsByTagName( 'base' )[0],
|
130 |
+
links = head.getElementsByTagName( 'link' );
|
131 |
+
|
132 |
+
self._mediaStyles = [];
|
133 |
+
self._rules = [];
|
134 |
+
|
135 |
+
if ( 'undefined' != typeof width ) {
|
136 |
+
self._width = width;
|
137 |
+
}
|
138 |
+
if ( 'undefined' != typeof callback ) {
|
139 |
+
self._callback = callback;
|
140 |
+
}
|
141 |
+
|
142 |
+
// Always reparse builder sheets for changes
|
143 |
+
for ( var sheet in self._parsedSheets ) {
|
144 |
+
if ( sheet.indexOf( '-layout-draft.css?' ) > -1 ) {
|
145 |
+
self._parsedSheets[ sheet ].parsed = false;
|
146 |
+
}
|
147 |
+
else if ( sheet.indexOf( '-layout-preview.css?' ) > -1 ) {
|
148 |
+
self._parsedSheets[ sheet ].parsed = false;
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
for( var i = 0; i < links.length; i++ ){
|
153 |
+
|
154 |
+
var sheet = links[ i ],
|
155 |
+
href = sheet.href,
|
156 |
+
media = sheet.media,
|
157 |
+
isCSS = sheet.rel && sheet.rel.toLowerCase() === 'stylesheet';
|
158 |
+
|
159 |
+
if ( !! href && isCSS ) {
|
160 |
+
|
161 |
+
// Don't translate builder UI sheets
|
162 |
+
if ( href.indexOf( FLBuilderConfig.pluginUrl ) > -1 ) {
|
163 |
+
continue;
|
164 |
+
}
|
165 |
+
// Translate cached sheets
|
166 |
+
else if ( 'undefined' != typeof self._parsedSheets[ href ] && self._parsedSheets[ href ].parsed ) {
|
167 |
+
self._translate( self._parsedSheets[ href ].styles, href, self._parsedSheets[ href ].media );
|
168 |
+
}
|
169 |
+
// Selectivizr exposes css through the rawCssText expando
|
170 |
+
else if ( sheet.styleSheet && sheet.styleSheet.rawCssText ) {
|
171 |
+
self._translate( sheet.styleSheet.rawCssText, href, media );
|
172 |
+
self._parsedSheets[ href ] = true;
|
173 |
+
}
|
174 |
+
else if( ( ! /^([a-zA-Z:]*\/\/)/.test( href ) && ! base ) ||
|
175 |
+
href.replace( RegExp.$1, '' ).split( '/' )[0] === window.location.host ) {
|
176 |
+
|
177 |
+
// IE7 doesn't handle urls that start with '//' for ajax request
|
178 |
+
// manually add in the protocol
|
179 |
+
if ( href.substring( 0,2 ) === '//' ) {
|
180 |
+
href = window.location.protocol + href;
|
181 |
+
}
|
182 |
+
|
183 |
+
self._requestQueue.push( {
|
184 |
+
href: href,
|
185 |
+
media: media
|
186 |
+
} );
|
187 |
+
}
|
188 |
+
}
|
189 |
+
}
|
190 |
+
|
191 |
+
self._makeRequests();
|
192 |
+
},
|
193 |
+
|
194 |
+
/**
|
195 |
+
* Applies translated media queries to the page.
|
196 |
+
*
|
197 |
+
* @since 1.9
|
198 |
+
* @method applyMedia
|
199 |
+
* @param {Number) width The viewport width to simulate.
|
200 |
+
*/
|
201 |
+
applyMedia: function( width )
|
202 |
+
{
|
203 |
+
var self = FLBuilderForcedMediaQueries,
|
204 |
+
name = 'clientWidth',
|
205 |
+
doc = window.document,
|
206 |
+
docElem = doc.documentElement,
|
207 |
+
docElemProp = docElem[ name ],
|
208 |
+
head = doc.getElementsByTagName( 'head' )[0] || docElem,
|
209 |
+
links = head.getElementsByTagName( 'link' ),
|
210 |
+
lastLink = links[ links.length - 1 ],
|
211 |
+
now = ( new Date() ).getTime(),
|
212 |
+
styleBlocks = {},
|
213 |
+
mediaStyles = self._mediaStyles,
|
214 |
+
appendedEls = self._appendedEls,
|
215 |
+
emInPx = self._emInPx;
|
216 |
+
|
217 |
+
self._width = width;
|
218 |
+
|
219 |
+
for ( var i in mediaStyles ) {
|
220 |
+
if ( mediaStyles.hasOwnProperty( i ) ) {
|
221 |
+
var thisStyle = mediaStyles[ i ],
|
222 |
+
min = thisStyle.minw,
|
223 |
+
max = thisStyle.maxw,
|
224 |
+
minNull = min === null,
|
225 |
+
maxNull = max === null,
|
226 |
+
em = 'em';
|
227 |
+
|
228 |
+
if ( !! min ) {
|
229 |
+
min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( emInPx || self.getEmPixelValue() ) : 1 );
|
230 |
+
}
|
231 |
+
if ( !! max ) {
|
232 |
+
max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( emInPx || self.getEmPixelValue() ) : 1 );
|
233 |
+
}
|
234 |
+
|
235 |
+
// If there's no media query at all (the () part), or min or max is not null, and if either is present, they're true
|
236 |
+
if ( ! thisStyle.hasQuery || ( ! minNull || ! maxNull ) && ( minNull || width >= min ) && ( maxNull || width <= max ) ) {
|
237 |
+
if ( ! styleBlocks[ thisStyle.media ] ) {
|
238 |
+
styleBlocks[ thisStyle.media ] = [];
|
239 |
+
}
|
240 |
+
styleBlocks[ thisStyle.media ].push( self._rules[ thisStyle.rules ] );
|
241 |
+
}
|
242 |
+
}
|
243 |
+
}
|
244 |
+
|
245 |
+
// Remove any existing respond style element(s)
|
246 |
+
for ( var j in appendedEls ) {
|
247 |
+
if ( appendedEls.hasOwnProperty( j ) ) {
|
248 |
+
if( appendedEls[ j ] && appendedEls[ j ].parentNode === head ) {
|
249 |
+
head.removeChild( appendedEls[ j ] );
|
250 |
+
}
|
251 |
+
}
|
252 |
+
}
|
253 |
+
|
254 |
+
self._appendedEls.length = 0;
|
255 |
+
|
256 |
+
// Inject active styles, grouped by media type
|
257 |
+
for ( var k in styleBlocks ) {
|
258 |
+
if ( styleBlocks.hasOwnProperty( k ) ) {
|
259 |
+
var ss = doc.createElement( 'style' ),
|
260 |
+
css = styleBlocks[ k ].join( "\n" );
|
261 |
+
|
262 |
+
ss.type = 'text/css';
|
263 |
+
ss.media = k;
|
264 |
+
|
265 |
+
// Originally, ss was appended to a documentFragment and sheets were appended in bulk.
|
266 |
+
// This caused crashes in IE in a number of circumstances, such as when the HTML element
|
267 |
+
// had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one!
|
268 |
+
head.insertBefore( ss, lastLink.nextSibling );
|
269 |
+
|
270 |
+
if ( ss.styleSheet ) {
|
271 |
+
ss.styleSheet.cssText = css;
|
272 |
+
}
|
273 |
+
else {
|
274 |
+
ss.appendChild( doc.createTextNode( css ) );
|
275 |
+
}
|
276 |
+
|
277 |
+
// Push to _appendedEls to track for later removal
|
278 |
+
self._appendedEls.push( ss );
|
279 |
+
}
|
280 |
+
}
|
281 |
+
},
|
282 |
+
|
283 |
+
/**
|
284 |
+
* @since 1.9
|
285 |
+
* @method isUnsupportedMediaQuery
|
286 |
+
*/
|
287 |
+
isUnsupportedMediaQuery: function( query )
|
288 |
+
{
|
289 |
+
var regex = FLBuilderForcedMediaQueries._regex;
|
290 |
+
|
291 |
+
return query.replace( regex.minmaxwh, '' ).match( regex.other );
|
292 |
+
},
|
293 |
+
|
294 |
+
/**
|
295 |
+
* Returns the value of 1em in pixels.
|
296 |
+
*
|
297 |
+
* @since 1.9
|
298 |
+
* @method getEmPixelValue
|
299 |
+
*/
|
300 |
+
getEmPixelValue: function()
|
301 |
+
{
|
302 |
+
var ret = null,
|
303 |
+
doc = window.document,
|
304 |
+
docElem = doc.documentElement,
|
305 |
+
body = doc.body,
|
306 |
+
div = doc.createElement('div'),
|
307 |
+
originalHTMLFontSize = docElem.style.fontSize,
|
308 |
+
originalBodyFontSize = body && body.style.fontSize,
|
309 |
+
fakeUsed = false;
|
310 |
+
|
311 |
+
div.style.cssText = 'position:absolute;font-size:1em;width:1em';
|
312 |
+
|
313 |
+
if ( ! body ) {
|
314 |
+
body = fakeUsed = doc.createElement( 'body' );
|
315 |
+
body.style.background = 'none';
|
316 |
+
}
|
317 |
+
|
318 |
+
// 1em in a media query is the value of the default font size of the browser
|
319 |
+
// reset docElem and body to ensure the correct value is returned
|
320 |
+
docElem.style.fontSize = '100%';
|
321 |
+
body.style.fontSize = '100%';
|
322 |
+
|
323 |
+
body.appendChild( div );
|
324 |
+
|
325 |
+
if ( fakeUsed ) {
|
326 |
+
docElem.insertBefore( body, docElem.firstChild );
|
327 |
+
}
|
328 |
+
|
329 |
+
ret = div.offsetWidth;
|
330 |
+
|
331 |
+
if ( fakeUsed ) {
|
332 |
+
docElem.removeChild( body );
|
333 |
+
}
|
334 |
+
else {
|
335 |
+
body.removeChild( div );
|
336 |
+
}
|
337 |
+
|
338 |
+
// Restore the original values
|
339 |
+
docElem.style.fontSize = originalHTMLFontSize;
|
340 |
+
|
341 |
+
if ( originalBodyFontSize ) {
|
342 |
+
body.style.fontSize = originalBodyFontSize;
|
343 |
+
}
|
344 |
+
|
345 |
+
// Also update _emInPx before returning
|
346 |
+
ret = FLBuilderForcedMediaQueries._emInPx = parseFloat( ret );
|
347 |
+
|
348 |
+
return ret;
|
349 |
+
},
|
350 |
+
|
351 |
+
/**
|
352 |
+
* Find media blocks in css text, convert to style blocks.
|
353 |
+
*
|
354 |
+
* @since 1.9
|
355 |
+
* @private
|
356 |
+
* @method _translate
|
357 |
+
* @param {String) styles
|
358 |
+
* @param {String) href
|
359 |
+
* @param {String) media
|
360 |
+
*/
|
361 |
+
_translate: function( styles, href, media )
|
362 |
+
{
|
363 |
+
var self = FLBuilderForcedMediaQueries,
|
364 |
+
regex = self._regex,
|
365 |
+
qs = styles.replace( regex.comments, '' ).replace( regex.keyframes, '' ).match( regex.media ),
|
366 |
+
ql = qs && qs.length || 0;
|
367 |
+
|
368 |
+
// Try to get CSS path
|
369 |
+
href = href.substring( 0, href.lastIndexOf( '/' ) );
|
370 |
+
|
371 |
+
var repUrls = function( css ) {
|
372 |
+
return css.replace( regex.urls, "$1" + href + "$2$3" );
|
373 |
+
},
|
374 |
+
useMedia = !ql && media;
|
375 |
+
|
376 |
+
// If path exists, tack on trailing slash
|
377 |
+
if ( href.length ) {
|
378 |
+
href += '/';
|
379 |
+
}
|
380 |
+
|
381 |
+
// If no internal queries exist, but media attr does, use that
|
382 |
+
// Note: this currently lacks support for situations where a media attr is specified on a link AND
|
383 |
+
// Its associated stylesheet has internal CSS media queries.
|
384 |
+
// In those cases, the media attribute will currently be ignored.
|
385 |
+
if ( useMedia ) {
|
386 |
+
ql = 1;
|
387 |
+
}
|
388 |
+
|
389 |
+
for ( var i = 0; i < ql; i++ ) {
|
390 |
+
|
391 |
+
var fullq, thisq, eachq, eql;
|
392 |
+
|
393 |
+
// Media attr
|
394 |
+
if ( useMedia ) {
|
395 |
+
fullq = media;
|
396 |
+
self._rules.push( repUrls( styles ) );
|
397 |
+
}
|
398 |
+
//parse for styles
|
399 |
+
else{
|
400 |
+
fullq = qs[ i ].match( regex.findStyles ) && RegExp.$1;
|
401 |
+
self._rules.push( RegExp.$2 && repUrls( RegExp.$2 ) );
|
402 |
+
}
|
403 |
+
|
404 |
+
eachq = fullq.split( ',' );
|
405 |
+
eql = eachq.length;
|
406 |
+
|
407 |
+
for ( var j = 0; j < eql; j++ ) {
|
408 |
+
|
409 |
+
thisq = eachq[ j ];
|
410 |
+
|
411 |
+
if( self.isUnsupportedMediaQuery( thisq ) ) {
|
412 |
+
continue;
|
413 |
+
}
|
414 |
+
|
415 |
+
self._mediaStyles.push( {
|
416 |
+
media : thisq.split( '(' )[ 0 ].match( regex.only ) && RegExp.$2 || 'all',
|
417 |
+
rules : self._rules.length - 1,
|
418 |
+
hasQuery : thisq.indexOf( '(' ) > -1,
|
419 |
+
minw : thisq.match( regex.minw ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || '' ),
|
420 |
+
maxw : thisq.match( regex.maxw ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || '' )
|
421 |
+
} );
|
422 |
+
}
|
423 |
+
}
|
424 |
+
},
|
425 |
+
|
426 |
+
/**
|
427 |
+
* Loop through the request queue and get the
|
428 |
+
* css text for each sheet.
|
429 |
+
*
|
430 |
+
* @since 1.9
|
431 |
+
* @private
|
432 |
+
* @method _makeRequests
|
433 |
+
*/
|
434 |
+
_makeRequests: function()
|
435 |
+
{
|
436 |
+
var self = FLBuilderForcedMediaQueries;
|
437 |
+
|
438 |
+
if( self._requestQueue.length ) {
|
439 |
+
|
440 |
+
var thisRequest = self._requestQueue.shift();
|
441 |
+
|
442 |
+
self._ajax( thisRequest.href, function( styles )
|
443 |
+
{
|
444 |
+
self._translate( styles, thisRequest.href, thisRequest.media );
|
445 |
+
|
446 |
+
self._parsedSheets[ thisRequest.href ] = {
|
447 |
+
parsed: true,
|
448 |
+
styles: styles,
|
449 |
+
media: thisRequest.media
|
450 |
+
};
|
451 |
+
|
452 |
+
// By wrapping recursive function call in setTimeout
|
453 |
+
// We prevent "Stack overflow" error in IE7
|
454 |
+
window.setTimeout( function(){ self._makeRequests(); },0 );
|
455 |
+
} );
|
456 |
+
}
|
457 |
+
else if ( self._width ) {
|
458 |
+
|
459 |
+
self.applyMedia( self._width );
|
460 |
+
|
461 |
+
if ( self._callback ) {
|
462 |
+
self._callback();
|
463 |
+
self._callback = null;
|
464 |
+
}
|
465 |
+
}
|
466 |
+
},
|
467 |
+
|
468 |
+
/**
|
469 |
+
* @since 1.9
|
470 |
+
* @access private
|
471 |
+
* @method _ajax
|
472 |
+
*/
|
473 |
+
_ajax: function( url, callback ) {
|
474 |
+
var req = FLBuilderForcedMediaQueries._xmlHttp();
|
475 |
+
if (!req){
|
476 |
+
return;
|
477 |
+
}
|
478 |
+
req.open( "GET", url, true );
|
479 |
+
req.onreadystatechange = function () {
|
480 |
+
if ( req.readyState !== 4 || req.status !== 200 && req.status !== 304 ){
|
481 |
+
return;
|
482 |
+
}
|
483 |
+
callback( req.responseText );
|
484 |
+
};
|
485 |
+
if ( req.readyState === 4 ){
|
486 |
+
return;
|
487 |
+
}
|
488 |
+
req.send( null );
|
489 |
+
},
|
490 |
+
};
|
491 |
+
|
492 |
+
} )( jQuery );
|
js/fl-builder-layout.js
CHANGED
@@ -310,7 +310,7 @@
|
|
310 |
_initParallaxBackground: function()
|
311 |
{
|
312 |
var row = $(this),
|
313 |
-
content = row.find('.fl-row-content-wrap'),
|
314 |
src = row.data('parallax-image'),
|
315 |
loaded = row.data('parallax-loaded'),
|
316 |
img = new Image();
|
@@ -641,12 +641,16 @@
|
|
641 |
iframe = wrap.find('iframe');
|
642 |
|
643 |
if ( vid.length ) {
|
644 |
-
if(vidHeight === '' || vidWidth === '') {
|
645 |
vid.css({
|
646 |
'left' : '0px',
|
647 |
'top' : '0px',
|
648 |
'width' : newWidth + 'px'
|
649 |
});
|
|
|
|
|
|
|
|
|
650 |
}
|
651 |
else {
|
652 |
|
@@ -676,6 +680,43 @@
|
|
676 |
}
|
677 |
},
|
678 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
/**
|
680 |
* Fires when the window is resized to resize
|
681 |
* a single Youtube video background.
|
310 |
_initParallaxBackground: function()
|
311 |
{
|
312 |
var row = $(this),
|
313 |
+
content = row.find('> .fl-row-content-wrap'),
|
314 |
src = row.data('parallax-image'),
|
315 |
loaded = row.data('parallax-loaded'),
|
316 |
img = new Image();
|
641 |
iframe = wrap.find('iframe');
|
642 |
|
643 |
if ( vid.length ) {
|
644 |
+
if(vidHeight === '' || typeof vidHeight === 'undefined' || vidWidth === '' || typeof vidWidth === 'undefined') {
|
645 |
vid.css({
|
646 |
'left' : '0px',
|
647 |
'top' : '0px',
|
648 |
'width' : newWidth + 'px'
|
649 |
});
|
650 |
+
|
651 |
+
// Try to set the actual video dimension on 'loadedmetadata' when using URL as video source
|
652 |
+
vid.on('loadedmetadata', FLBuilderLayout._resizeOnLoadedMeta);
|
653 |
+
|
654 |
}
|
655 |
else {
|
656 |
|
680 |
}
|
681 |
},
|
682 |
|
683 |
+
/**
|
684 |
+
* Fires when video meta has been loaded.
|
685 |
+
* This will be Triggered when width/height attributes were not specified during video background resizing.
|
686 |
+
*
|
687 |
+
* @since 1.8.5
|
688 |
+
* @access private
|
689 |
+
* @method _resizeOnLoadedMeta
|
690 |
+
*/
|
691 |
+
_resizeOnLoadedMeta: function(){
|
692 |
+
var video = $(this),
|
693 |
+
wrapHeight = video.parent().outerHeight(),
|
694 |
+
wrapWidth = video.parent().outerWidth(),
|
695 |
+
vidWidth = video[0].videoWidth,
|
696 |
+
vidHeight = video[0].videoHeight,
|
697 |
+
newHeight = Math.round(vidHeight * wrapWidth/vidWidth),
|
698 |
+
newTop = 0;
|
699 |
+
|
700 |
+
if(newHeight < wrapHeight) {
|
701 |
+
newHeight = wrapHeight;
|
702 |
+
newWidth = Math.round(vidWidth * wrapHeight/vidHeight);
|
703 |
+
newLeft = -((newWidth - wrapWidth)/2);
|
704 |
+
}
|
705 |
+
else {
|
706 |
+
newTop = -((newHeight - wrapHeight)/2);
|
707 |
+
}
|
708 |
+
|
709 |
+
video.parent().data('width', vidWidth);
|
710 |
+
video.parent().data('height', vidHeight);
|
711 |
+
|
712 |
+
video.css({
|
713 |
+
'left' : newLeft + 'px',
|
714 |
+
'top' : newTop + 'px',
|
715 |
+
'width' : newWidth + 'px',
|
716 |
+
'height' : newHeight + 'px'
|
717 |
+
});
|
718 |
+
},
|
719 |
+
|
720 |
/**
|
721 |
* Fires when the window is resized to resize
|
722 |
* a single Youtube video background.
|
js/fl-builder-preview.js
CHANGED
@@ -107,6 +107,24 @@
|
|
107 |
*/
|
108 |
_styleSheet : null,
|
109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
/**
|
111 |
* A timeout object for delaying the current preview refresh.
|
112 |
*
|
@@ -152,6 +170,12 @@
|
|
152 |
// Elements and Class Names
|
153 |
this._initElementsAndClasses();
|
154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
// Default field previews
|
156 |
this._initDefaultFieldPreviews();
|
157 |
|
@@ -217,10 +241,10 @@
|
|
217 |
|
218 |
// Content Class
|
219 |
if(this.type == 'row') {
|
220 |
-
contentClass = '.fl-row-content-wrap';
|
221 |
}
|
222 |
else {
|
223 |
-
contentClass = '.fl-' + this.type + '-content';
|
224 |
}
|
225 |
|
226 |
// Class Names
|
@@ -228,7 +252,7 @@
|
|
228 |
settings : '.fl-builder-' + this.type + '-settings',
|
229 |
settingsHeader : '.fl-builder-' + this.type + '-settings .fl-lightbox-header',
|
230 |
node : FLBuilder._contentClass + ' .fl-node-' + this.nodeId,
|
231 |
-
content : FLBuilder._contentClass + ' .fl-node-' + this.nodeId + ' ' + contentClass
|
232 |
});
|
233 |
|
234 |
// Elements
|
@@ -240,6 +264,48 @@
|
|
240 |
});
|
241 |
},
|
242 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
/**
|
244 |
* Updates a CSS rule for this preview.
|
245 |
*
|
@@ -249,15 +315,9 @@
|
|
249 |
* @param {String} property The CSS property to update.
|
250 |
* @param {String} value The CSS value to update.
|
251 |
*/
|
252 |
-
updateCSSRule: function(selector, property, value)
|
253 |
{
|
254 |
-
|
255 |
-
if(!this._styleSheet) {
|
256 |
-
this._styleSheet = new FLStyleSheet();
|
257 |
-
}
|
258 |
-
|
259 |
-
// Update the rule.
|
260 |
-
this._styleSheet.updateRule(selector, property, value);
|
261 |
},
|
262 |
|
263 |
/**
|
@@ -319,6 +379,70 @@
|
|
319 |
return isNaN(parseFloat(value)) ? 0 : parseFloat(value);
|
320 |
},
|
321 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
/* States
|
323 |
----------------------------------------------------------*/
|
324 |
|
@@ -453,14 +577,8 @@
|
|
453 |
*/
|
454 |
revert: function()
|
455 |
{
|
456 |
-
//
|
457 |
-
this.
|
458 |
-
this._cancelPreview();
|
459 |
-
|
460 |
-
// Remove the preview stylesheet.
|
461 |
-
if(this._styleSheet) {
|
462 |
-
this._styleSheet.remove();
|
463 |
-
}
|
464 |
|
465 |
// Render the layout.
|
466 |
if ( this._settingsHaveChanged() ) {
|
@@ -481,13 +599,13 @@
|
|
481 |
this._cancelDelay();
|
482 |
this._cancelPreview();
|
483 |
|
484 |
-
//
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
},
|
490 |
-
|
491 |
/* Node Text Color Settings
|
492 |
----------------------------------------------------------*/
|
493 |
|
@@ -880,6 +998,7 @@
|
|
880 |
|
881 |
}
|
882 |
},
|
|
|
883 |
/**
|
884 |
* Fires when a background overlay color is cleared.
|
885 |
*
|
@@ -892,7 +1011,7 @@
|
|
892 |
{
|
893 |
this.elements.bgOverlayColor.prev('.fl-color-picker-clear').trigger('click');
|
894 |
},
|
895 |
-
|
896 |
/* Node Border Settings
|
897 |
----------------------------------------------------------*/
|
898 |
|
@@ -910,21 +1029,13 @@
|
|
910 |
borderType : $(this.classes.settings + ' select[name=border_type]'),
|
911 |
borderColor : $(this.classes.settings + ' input[name=border_color]'),
|
912 |
borderColorPicker : $(this.classes.settings + ' .fl-picker-border_color'),
|
913 |
-
borderOpacity : $(this.classes.settings + ' input[name=border_opacity]')
|
914 |
-
borderTopWidth : $(this.classes.settings + ' input[name=border_top]'),
|
915 |
-
borderBottomWidth : $(this.classes.settings + ' input[name=border_bottom]'),
|
916 |
-
borderLeftWidth : $(this.classes.settings + ' input[name=border_left]'),
|
917 |
-
borderRightWidth : $(this.classes.settings + ' input[name=border_right]')
|
918 |
});
|
919 |
|
920 |
// Events
|
921 |
-
this.elements.borderType.on(
|
922 |
-
this.elements.borderColor.on(
|
923 |
-
this.elements.borderOpacity.on(
|
924 |
-
this.elements.borderTopWidth.on( 'keyup', $.proxy(this._borderWidthChange, this));
|
925 |
-
this.elements.borderBottomWidth.on( 'keyup', $.proxy(this._borderWidthChange, this));
|
926 |
-
this.elements.borderLeftWidth.on( 'keyup', $.proxy(this._borderWidthChange, this));
|
927 |
-
this.elements.borderRightWidth.on( 'keyup', $.proxy(this._borderWidthChange, this));
|
928 |
},
|
929 |
|
930 |
/**
|
@@ -945,7 +1056,7 @@
|
|
945 |
});
|
946 |
|
947 |
this.elements.borderColor.trigger('change');
|
948 |
-
this.elements.
|
949 |
},
|
950 |
|
951 |
/**
|
@@ -990,68 +1101,6 @@
|
|
990 |
this.elements.borderColor.trigger('change');
|
991 |
},
|
992 |
|
993 |
-
/**
|
994 |
-
* Get the border widths from a node preview event.
|
995 |
-
*
|
996 |
-
* @since 1.3.3
|
997 |
-
* @access private
|
998 |
-
* @method _getBorderWidths
|
999 |
-
* @param {Object} e An event object.
|
1000 |
-
* @return {Object} An object with tblr border widths.
|
1001 |
-
*/
|
1002 |
-
_getBorderWidths: function(e)
|
1003 |
-
{
|
1004 |
-
var top = this.elements.borderTopWidth.val(),
|
1005 |
-
bottom = this.elements.borderBottomWidth.val(),
|
1006 |
-
left = this.elements.borderLeftWidth.val(),
|
1007 |
-
right = this.elements.borderRightWidth.val();
|
1008 |
-
|
1009 |
-
if(top === '') {
|
1010 |
-
top = this.elements.borderTopWidth.attr('placeholder');
|
1011 |
-
}
|
1012 |
-
if(bottom === '') {
|
1013 |
-
bottom = this.elements.borderBottomWidth.attr('placeholder');
|
1014 |
-
}
|
1015 |
-
if(left === '') {
|
1016 |
-
left = this.elements.borderLeftWidth.attr('placeholder');
|
1017 |
-
}
|
1018 |
-
if(right === '') {
|
1019 |
-
right = this.elements.borderRightWidth.attr('placeholder');
|
1020 |
-
}
|
1021 |
-
|
1022 |
-
return {
|
1023 |
-
top : this.parseFloat(top),
|
1024 |
-
bottom : this.parseFloat(bottom),
|
1025 |
-
left : this.parseFloat(left),
|
1026 |
-
right : this.parseFloat(right)
|
1027 |
-
};
|
1028 |
-
},
|
1029 |
-
|
1030 |
-
/**
|
1031 |
-
* Fires when the border width fields of
|
1032 |
-
* a node change.
|
1033 |
-
*
|
1034 |
-
* @since 1.3.3
|
1035 |
-
* @access private
|
1036 |
-
* @method _borderWidthChange
|
1037 |
-
* @param {Object} e An event object.
|
1038 |
-
*/
|
1039 |
-
_borderWidthChange: function(e)
|
1040 |
-
{
|
1041 |
-
var widths = this._getBorderWidths();
|
1042 |
-
|
1043 |
-
this.elements.borderColor.trigger('change');
|
1044 |
-
|
1045 |
-
this.updateCSSRule(this.classes.content, {
|
1046 |
-
'border-top-width' : widths.top + 'px',
|
1047 |
-
'border-bottom-width' : widths.bottom + 'px',
|
1048 |
-
'border-left-width' : widths.left + 'px',
|
1049 |
-
'border-right-width' : widths.right + 'px',
|
1050 |
-
});
|
1051 |
-
|
1052 |
-
this._positionAbsoluteBgs();
|
1053 |
-
},
|
1054 |
-
|
1055 |
/* Node Class Name Settings
|
1056 |
----------------------------------------------------------*/
|
1057 |
|
@@ -1098,172 +1147,137 @@
|
|
1098 |
----------------------------------------------------------*/
|
1099 |
|
1100 |
/**
|
1101 |
-
* Initializes node
|
|
|
1102 |
*
|
1103 |
-
* @since 1.
|
1104 |
* @access private
|
1105 |
-
* @method
|
1106 |
*/
|
1107 |
-
|
1108 |
{
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1116 |
|
1117 |
-
|
1118 |
-
this.elements.marginTop.on( 'keyup', $.proxy(this._marginChange, this));
|
1119 |
-
this.elements.marginBottom.on( 'keyup', $.proxy(this._marginChange, this));
|
1120 |
-
this.elements.marginLeft.on( 'keyup', $.proxy(this._marginChange, this));
|
1121 |
-
this.elements.marginRight.on( 'keyup', $.proxy(this._marginChange, this));
|
1122 |
},
|
1123 |
|
1124 |
/**
|
1125 |
-
* Get
|
1126 |
*
|
1127 |
-
* @since 1.
|
1128 |
* @access private
|
1129 |
-
* @method
|
1130 |
-
* @param {
|
1131 |
-
* @return {Object} An object with tblr
|
1132 |
*/
|
1133 |
-
|
1134 |
{
|
1135 |
-
var
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
if(bottom === '') {
|
1144 |
-
bottom = this.elements.marginBottom.attr('placeholder');
|
1145 |
-
}
|
1146 |
-
if(left === '') {
|
1147 |
-
left = this.elements.marginLeft.attr('placeholder');
|
1148 |
-
}
|
1149 |
-
if(right === '') {
|
1150 |
-
right = this.elements.marginRight.attr('placeholder');
|
1151 |
}
|
1152 |
-
|
1153 |
-
return
|
1154 |
-
top : this.parseFloat(top),
|
1155 |
-
bottom : this.parseFloat(bottom),
|
1156 |
-
left : this.parseFloat(left),
|
1157 |
-
right : this.parseFloat(right)
|
1158 |
-
};
|
1159 |
},
|
1160 |
|
1161 |
/**
|
1162 |
-
* Fires when a
|
1163 |
*
|
1164 |
-
* @since 1.
|
1165 |
* @access private
|
1166 |
-
* @method
|
1167 |
-
* @param {
|
1168 |
*/
|
1169 |
-
|
1170 |
{
|
1171 |
-
var
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
'
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
this._positionAbsoluteBgs();
|
1181 |
},
|
1182 |
|
1183 |
-
/* Node Padding Settings
|
1184 |
-
----------------------------------------------------------*/
|
1185 |
-
|
1186 |
/**
|
1187 |
-
*
|
1188 |
*
|
1189 |
-
* @since 1.
|
1190 |
* @access private
|
1191 |
-
* @method
|
|
|
|
|
|
|
1192 |
*/
|
1193 |
-
|
1194 |
{
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
this.elements.paddingRight.on( 'keyup', $.proxy(this._paddingChange, this));
|
1208 |
-
},
|
1209 |
-
|
1210 |
-
/**
|
1211 |
-
* Get the padding from a node preview event.
|
1212 |
-
*
|
1213 |
-
* @since 1.3.3
|
1214 |
-
* @access private
|
1215 |
-
* @method _getPadding
|
1216 |
-
* @param {Object} e An event object.
|
1217 |
-
* @return {Object} An object with tblr padding data.
|
1218 |
-
*/
|
1219 |
-
_getPadding: function(e)
|
1220 |
-
{
|
1221 |
-
var top = this.elements.paddingTop.val(),
|
1222 |
-
bottom = this.elements.paddingBottom.val(),
|
1223 |
-
left = this.elements.paddingLeft.val(),
|
1224 |
-
right = this.elements.paddingRight.val();
|
1225 |
-
|
1226 |
-
if(top === '') {
|
1227 |
-
top = this.elements.paddingTop.attr('placeholder');
|
1228 |
-
}
|
1229 |
-
if(bottom === '') {
|
1230 |
-
bottom = this.elements.paddingBottom.attr('placeholder');
|
1231 |
-
}
|
1232 |
-
if(left === '') {
|
1233 |
-
left = this.elements.paddingLeft.attr('placeholder');
|
1234 |
-
}
|
1235 |
-
if(right === '') {
|
1236 |
-
right = this.elements.paddingRight.attr('placeholder');
|
1237 |
}
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
'padding-bottom' : padding.bottom + 'px',
|
1262 |
-
'padding-left' : padding.left + 'px',
|
1263 |
-
'padding-right' : padding.right + 'px',
|
1264 |
-
});
|
1265 |
-
|
1266 |
-
this._positionAbsoluteBgs();
|
1267 |
},
|
1268 |
|
1269 |
/* Absolutely Positioned Backgrounds
|
@@ -1279,35 +1293,39 @@
|
|
1279 |
*/
|
1280 |
_positionAbsoluteBgs: function()
|
1281 |
{
|
|
|
1282 |
var slideshow = this.elements.node.find('.fl-bg-slideshow'),
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1301 |
FLBuilder._resizeLayout();
|
1302 |
}
|
1303 |
-
|
1304 |
-
|
1305 |
-
this.updateCSSRule(this.classes.node + ' .fl-bg-video',
|
1306 |
-
'top' : (margins.top + borders.top) + 'px',
|
1307 |
-
'bottom' : (margins.bottom + borders.bottom) + 'px',
|
1308 |
-
'left' : (margins.left + borders.left) + 'px',
|
1309 |
-
'right' : (margins.right + borders.right) + 'px',
|
1310 |
-
});
|
1311 |
}
|
1312 |
}
|
1313 |
},
|
@@ -1341,10 +1359,11 @@
|
|
1341 |
// Common Elements
|
1342 |
this._initNodeTextColor();
|
1343 |
this._initNodeBg();
|
1344 |
-
this._initNodeBorder();
|
1345 |
this._initNodeClassName();
|
1346 |
-
this.
|
1347 |
-
this.
|
|
|
|
|
1348 |
},
|
1349 |
|
1350 |
/**
|
@@ -1444,10 +1463,11 @@
|
|
1444 |
// Common Elements
|
1445 |
this._initNodeTextColor();
|
1446 |
this._initNodeBg();
|
1447 |
-
this._initNodeBorder();
|
1448 |
this._initNodeClassName();
|
1449 |
-
this.
|
1450 |
-
this.
|
|
|
|
|
1451 |
},
|
1452 |
|
1453 |
/**
|
@@ -1460,7 +1480,7 @@
|
|
1460 |
_colSizeChange: function()
|
1461 |
{
|
1462 |
var preview = this,
|
1463 |
-
minWidth =
|
1464 |
maxWidth = 100 - minWidth,
|
1465 |
size = parseFloat(this.elements.size.val()),
|
1466 |
prev = this.elements.node.prev('.fl-col'),
|
@@ -1557,7 +1577,7 @@
|
|
1557 |
_initModule: function()
|
1558 |
{
|
1559 |
this._initNodeClassName();
|
1560 |
-
this.
|
1561 |
},
|
1562 |
|
1563 |
/* Default Field Previews
|
@@ -1677,6 +1697,10 @@
|
|
1677 |
case 'suggest':
|
1678 |
field.find('.as-values').on('change', callback);
|
1679 |
break;
|
|
|
|
|
|
|
|
|
1680 |
|
1681 |
}
|
1682 |
},
|
@@ -1701,6 +1725,10 @@
|
|
1701 |
field.find('input[type=text]').on('keyup', callback);
|
1702 |
break;
|
1703 |
|
|
|
|
|
|
|
|
|
1704 |
case 'textarea':
|
1705 |
field.find('textarea').on('keyup', callback);
|
1706 |
break;
|
@@ -1974,6 +2002,10 @@
|
|
1974 |
field.find( 'input[type=text]' ).on( 'keyup', $.proxy( this._previewCSS, this, preview ) );
|
1975 |
break;
|
1976 |
|
|
|
|
|
|
|
|
|
1977 |
case 'select':
|
1978 |
field.find( 'select' ).on( 'change', $.proxy( this._previewCSS, this, preview ) );
|
1979 |
break;
|
@@ -1998,7 +2030,8 @@
|
|
1998 |
var selector = this._getPreviewSelector( this.classes.node, preview.selector ),
|
1999 |
property = preview.property,
|
2000 |
unit = typeof preview.unit == 'undefined' ? '' : preview.unit,
|
2001 |
-
|
|
|
2002 |
|
2003 |
if(unit == '%') {
|
2004 |
value = parseInt(value)/100;
|
@@ -2007,7 +2040,12 @@
|
|
2007 |
value += unit;
|
2008 |
}
|
2009 |
|
2010 |
-
|
|
|
|
|
|
|
|
|
|
|
2011 |
},
|
2012 |
|
2013 |
/**
|
@@ -2022,10 +2060,16 @@
|
|
2022 |
_previewColor: function(preview, e)
|
2023 |
{
|
2024 |
var selector = this._getPreviewSelector( this.classes.node, preview.selector ),
|
2025 |
-
|
|
|
2026 |
color = val === '' ? 'inherit' : '#' + val;
|
2027 |
-
|
2028 |
-
|
|
|
|
|
|
|
|
|
|
|
2029 |
},
|
2030 |
|
2031 |
/**
|
@@ -2074,4 +2118,4 @@
|
|
2074 |
}
|
2075 |
};
|
2076 |
|
2077 |
-
})(jQuery);
|
107 |
*/
|
108 |
_styleSheet : null,
|
109 |
|
110 |
+
/**
|
111 |
+
* An instance of FLStyleSheet for the medium device preview.
|
112 |
+
*
|
113 |
+
* @since 1.9
|
114 |
+
* @access private
|
115 |
+
* @property {FLStyleSheet} _styleSheetMedium
|
116 |
+
*/
|
117 |
+
_styleSheetMedium : null,
|
118 |
+
|
119 |
+
/**
|
120 |
+
* An instance of FLStyleSheet for the responsive device preview.
|
121 |
+
*
|
122 |
+
* @since 1.9
|
123 |
+
* @access private
|
124 |
+
* @property {FLStyleSheet} _styleSheet
|
125 |
+
*/
|
126 |
+
_styleSheetResponsive : null,
|
127 |
+
|
128 |
/**
|
129 |
* A timeout object for delaying the current preview refresh.
|
130 |
*
|
170 |
// Elements and Class Names
|
171 |
this._initElementsAndClasses();
|
172 |
|
173 |
+
// Create the preview stylesheets
|
174 |
+
this._createSheets();
|
175 |
+
|
176 |
+
// Responsive previews
|
177 |
+
this._initResponsivePreviews();
|
178 |
+
|
179 |
// Default field previews
|
180 |
this._initDefaultFieldPreviews();
|
181 |
|
241 |
|
242 |
// Content Class
|
243 |
if(this.type == 'row') {
|
244 |
+
contentClass = '> .fl-row-content-wrap';
|
245 |
}
|
246 |
else {
|
247 |
+
contentClass = '> .fl-' + this.type + '-content';
|
248 |
}
|
249 |
|
250 |
// Class Names
|
252 |
settings : '.fl-builder-' + this.type + '-settings',
|
253 |
settingsHeader : '.fl-builder-' + this.type + '-settings .fl-lightbox-header',
|
254 |
node : FLBuilder._contentClass + ' .fl-node-' + this.nodeId,
|
255 |
+
content : FLBuilder._contentClass + ' .fl-node-' + this.nodeId + ' > ' + contentClass
|
256 |
});
|
257 |
|
258 |
// Elements
|
264 |
});
|
265 |
},
|
266 |
|
267 |
+
/**
|
268 |
+
* Creates the stylesheets for default, medium
|
269 |
+
* and responsive previews.
|
270 |
+
*
|
271 |
+
* @since 1.9
|
272 |
+
* @method _createSheets
|
273 |
+
*/
|
274 |
+
_createSheets: function()
|
275 |
+
{
|
276 |
+
if ( ! this._styleSheet ) {
|
277 |
+
this._styleSheet = new FLStyleSheet( { id : 'fl-builder-preview' } );
|
278 |
+
}
|
279 |
+
if ( ! this._styleSheetMedium ) {
|
280 |
+
this._styleSheetMedium = new FLStyleSheet( { id : 'fl-builder-preview-medium' } );
|
281 |
+
}
|
282 |
+
if ( ! this._styleSheetResponsive ) {
|
283 |
+
this._styleSheetResponsive = new FLStyleSheet( { id : 'fl-builder-preview-responsive' } );
|
284 |
+
}
|
285 |
+
},
|
286 |
+
|
287 |
+
/**
|
288 |
+
* Destroys all preview sheets.
|
289 |
+
*
|
290 |
+
* @since 1.9
|
291 |
+
* @method _destroySheets
|
292 |
+
*/
|
293 |
+
_destroySheets: function()
|
294 |
+
{
|
295 |
+
if ( this._styleSheet ) {
|
296 |
+
this._styleSheet.destroy();
|
297 |
+
this._styleSheet = null;
|
298 |
+
}
|
299 |
+
if ( this._styleSheetMedium ) {
|
300 |
+
this._styleSheetMedium.destroy();
|
301 |
+
this._styleSheetMedium = null;
|
302 |
+
}
|
303 |
+
if ( this._styleSheetResponsive ) {
|
304 |
+
this._styleSheetResponsive.destroy();
|
305 |
+
this._styleSheetResponsive = null;
|
306 |
+
}
|
307 |
+
},
|
308 |
+
|
309 |
/**
|
310 |
* Updates a CSS rule for this preview.
|
311 |
*
|
315 |
* @param {String} property The CSS property to update.
|
316 |
* @param {String} value The CSS value to update.
|
317 |
*/
|
318 |
+
updateCSSRule: function( selector, property, value )
|
319 |
{
|
320 |
+
this._styleSheet.updateRule( selector, property, value );
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
},
|
322 |
|
323 |
/**
|
379 |
return isNaN(parseFloat(value)) ? 0 : parseFloat(value);
|
380 |
},
|
381 |
|
382 |
+
/* Responsive Previews
|
383 |
+
----------------------------------------------------------*/
|
384 |
+
|
385 |
+
/**
|
386 |
+
* Initializes logic for responsive previews.
|
387 |
+
*
|
388 |
+
* @since 1.9
|
389 |
+
* @method _initResponsivePreviews
|
390 |
+
*/
|
391 |
+
_initResponsivePreviews: function()
|
392 |
+
{
|
393 |
+
FLBuilder.addHook( 'responsive-editing-switched', $.proxy( this._responsiveEditingSwitched, this ) );
|
394 |
+
},
|
395 |
+
|
396 |
+
/**
|
397 |
+
* Destroys responsive preview events.
|
398 |
+
*
|
399 |
+
* @since 1.9
|
400 |
+
* @method _destroyResponsivePreviews
|
401 |
+
*/
|
402 |
+
_destroyResponsivePreviews: function()
|
403 |
+
{
|
404 |
+
FLBuilder.removeHook( 'responsive-editing-switched' );
|
405 |
+
},
|
406 |
+
|
407 |
+
/**
|
408 |
+
* Initializes logic for responsive previews.
|
409 |
+
*
|
410 |
+
* @since 1.9
|
411 |
+
* @method _responsiveEditingSwitched
|
412 |
+
*/
|
413 |
+
_responsiveEditingSwitched: function( e, mode )
|
414 |
+
{
|
415 |
+
if ( 'default' == mode ) {
|
416 |
+
this._styleSheetMedium.disable();
|
417 |
+
this._styleSheetResponsive.disable();
|
418 |
+
}
|
419 |
+
else if ( 'medium' == mode ) {
|
420 |
+
this._styleSheetMedium.enable();
|
421 |
+
this._styleSheetResponsive.disable();
|
422 |
+
}
|
423 |
+
else if ( 'responsive' == mode ) {
|
424 |
+
this._styleSheetMedium.disable();
|
425 |
+
this._styleSheetResponsive.enable();
|
426 |
+
}
|
427 |
+
},
|
428 |
+
|
429 |
+
/**
|
430 |
+
* Updates a CSS rule for responsive preview.
|
431 |
+
*
|
432 |
+
* @since 1.9
|
433 |
+
* @method updateResponsiveCSSRule
|
434 |
+
* @param {String} selector The CSS selector to update.
|
435 |
+
* @param {String} property The CSS property to update.
|
436 |
+
* @param {String} value The CSS value to update.
|
437 |
+
*/
|
438 |
+
updateResponsiveCSSRule: function( selector, property, value )
|
439 |
+
{
|
440 |
+
var mode = FLBuilderResponsiveEditing._mode,
|
441 |
+
sheetKey = 'default' == mode ? '' : mode.charAt(0).toUpperCase() + mode.slice(1);
|
442 |
+
|
443 |
+
this[ '_styleSheet' + sheetKey ].updateRule( selector, property, value );
|
444 |
+
},
|
445 |
+
|
446 |
/* States
|
447 |
----------------------------------------------------------*/
|
448 |
|
577 |
*/
|
578 |
revert: function()
|
579 |
{
|
580 |
+
// Clear the preview.
|
581 |
+
this.clear();
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
|
583 |
// Render the layout.
|
584 |
if ( this._settingsHaveChanged() ) {
|
599 |
this._cancelDelay();
|
600 |
this._cancelPreview();
|
601 |
|
602 |
+
// Destroy the preview stylesheet.
|
603 |
+
this._destroySheets();
|
604 |
+
|
605 |
+
// Destroy responsive editing previews.
|
606 |
+
this._destroyResponsivePreviews();
|
607 |
},
|
608 |
+
|
609 |
/* Node Text Color Settings
|
610 |
----------------------------------------------------------*/
|
611 |
|
998 |
|
999 |
}
|
1000 |
},
|
1001 |
+
|
1002 |
/**
|
1003 |
* Fires when a background overlay color is cleared.
|
1004 |
*
|
1011 |
{
|
1012 |
this.elements.bgOverlayColor.prev('.fl-color-picker-clear').trigger('click');
|
1013 |
},
|
1014 |
+
|
1015 |
/* Node Border Settings
|
1016 |
----------------------------------------------------------*/
|
1017 |
|
1029 |
borderType : $(this.classes.settings + ' select[name=border_type]'),
|
1030 |
borderColor : $(this.classes.settings + ' input[name=border_color]'),
|
1031 |
borderColorPicker : $(this.classes.settings + ' .fl-picker-border_color'),
|
1032 |
+
borderOpacity : $(this.classes.settings + ' input[name=border_opacity]')
|
|
|
|
|
|
|
|
|
1033 |
});
|
1034 |
|
1035 |
// Events
|
1036 |
+
this.elements.borderType.on( 'change', $.proxy(this._borderTypeChange, this));
|
1037 |
+
this.elements.borderColor.on( 'change', $.proxy(this._borderColorChange, this));
|
1038 |
+
this.elements.borderOpacity.on( 'keyup', $.proxy(this._borderOpacityChange, this));
|
|
|
|
|
|
|
|
|
1039 |
},
|
1040 |
|
1041 |
/**
|
1056 |
});
|
1057 |
|
1058 |
this.elements.borderColor.trigger('change');
|
1059 |
+
this.elements.borderTop.trigger('keyup');
|
1060 |
},
|
1061 |
|
1062 |
/**
|
1101 |
this.elements.borderColor.trigger('change');
|
1102 |
},
|
1103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1104 |
/* Node Class Name Settings
|
1105 |
----------------------------------------------------------*/
|
1106 |
|
1147 |
----------------------------------------------------------*/
|
1148 |
|
1149 |
/**
|
1150 |
+
* Initializes node responsive dimension previews for things
|
1151 |
+
* like margins, padding and borders.
|
1152 |
*
|
1153 |
+
* @since 1.9
|
1154 |
* @access private
|
1155 |
+
* @method _initResponsiveDimensions
|
1156 |
*/
|
1157 |
+
_initResponsiveDimensions: function( property )
|
1158 |
{
|
1159 |
+
var elements = {},
|
1160 |
+
dimensions = [ 'Top', 'Bottom', 'Left', 'Right' ],
|
1161 |
+
devices = [ '', 'Medium', 'Responsive' ],
|
1162 |
+
settingsClass = this.classes.settings,
|
1163 |
+
elementKey = '',
|
1164 |
+
inputName = '',
|
1165 |
+
i = null,
|
1166 |
+
k = null;
|
1167 |
+
|
1168 |
+
for ( i = 0; i < dimensions.length; i++ ) {
|
1169 |
+
|
1170 |
+
for ( k = 0; k < devices.length; k++ ) {
|
1171 |
+
|
1172 |
+
elementKey = property + dimensions[ i ] + devices[ k ];
|
1173 |
+
inputName = property + '_' + dimensions[ i ].toLowerCase();
|
1174 |
+
|
1175 |
+
if ( '' != devices[ k ] ) {
|
1176 |
+
inputName += '_' + devices[ k ].toLowerCase();
|
1177 |
+
}
|
1178 |
+
|
1179 |
+
elements[ elementKey ] = $( settingsClass + ' input[name=' + inputName + ']');
|
1180 |
+
elements[ elementKey ].on( 'keyup', $.proxy( this._responsiveDimensionChange, this, property ) );
|
1181 |
+
}
|
1182 |
+
}
|
1183 |
|
1184 |
+
$.extend( this.elements, elements );
|
|
|
|
|
|
|
|
|
1185 |
},
|
1186 |
|
1187 |
/**
|
1188 |
+
* Get all dimensions from a node preview event.
|
1189 |
*
|
1190 |
+
* @since 1.9
|
1191 |
* @access private
|
1192 |
+
* @method _getDimensions
|
1193 |
+
* @param {String} property
|
1194 |
+
* @return {Object} An object with tblr data.
|
1195 |
*/
|
1196 |
+
_getDimensions: function( property )
|
1197 |
{
|
1198 |
+
var mode = FLBuilderResponsiveEditing._mode,
|
1199 |
+
dimensions = [ 'Top', 'Bottom', 'Left', 'Right' ],
|
1200 |
+
device = 'default' == mode ? '' : mode.charAt(0).toUpperCase() + mode.slice(1),
|
1201 |
+
values = {},
|
1202 |
+
i = 0;
|
1203 |
+
|
1204 |
+
for ( ; i < dimensions.length; i++ ) {
|
1205 |
+
values[ dimensions[ i ].toLowerCase() ] = this.elements[ property + dimensions[ i ] + device ].val();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1206 |
}
|
1207 |
+
|
1208 |
+
return this._normalizeDimensionValues( values, property );
|
|
|
|
|
|
|
|
|
|
|
1209 |
},
|
1210 |
|
1211 |
/**
|
1212 |
+
* Fires when a dimension field of a node changes.
|
1213 |
*
|
1214 |
+
* @since 1.9
|
1215 |
* @access private
|
1216 |
+
* @method _responsiveDimensionChange
|
1217 |
+
* @param {String} property
|
1218 |
*/
|
1219 |
+
_responsiveDimensionChange: function( property )
|
1220 |
{
|
1221 |
+
var newDimensions = this._getDimensions( property ),
|
1222 |
+
newRules = {},
|
1223 |
+
isBorder = 'border' == property;
|
1224 |
+
|
1225 |
+
$.each( newDimensions, function( dir, val ) {
|
1226 |
+
newRules[ property + '-' + dir + ( isBorder ? '-width' : '' ) ] = val;
|
1227 |
+
} );
|
1228 |
+
|
1229 |
+
this.updateResponsiveCSSRule( this.classes.content, newRules );
|
1230 |
this._positionAbsoluteBgs();
|
1231 |
},
|
1232 |
|
|
|
|
|
|
|
1233 |
/**
|
1234 |
+
* Normalize CSS dimension values.
|
1235 |
*
|
1236 |
+
* @since 1.9
|
1237 |
* @access private
|
1238 |
+
* @method _normalizeDimensionValues
|
1239 |
+
* @param {Object} values Object of margins/paddings/border widths values.
|
1240 |
+
* @param {String} property CSS property to get, can be 'margin', 'padding' or 'border-width'.
|
1241 |
+
* @return {Object} An object of normalized margins/paddings/border widths values with units.
|
1242 |
*/
|
1243 |
+
_normalizeDimensionValues: function( values, property )
|
1244 |
{
|
1245 |
+
var parent = this,
|
1246 |
+
mode = FLBuilderResponsiveEditing._mode,
|
1247 |
+
device = 'default' == mode ? '' : mode.charAt(0).toUpperCase() + mode.slice(1),
|
1248 |
+
|
1249 |
+
// Separate property name from property suffix
|
1250 |
+
property = property.split( '-' );
|
1251 |
+
|
1252 |
+
// Set correct property suffix
|
1253 |
+
if ( 'undefined' === typeof property[1] ) {
|
1254 |
+
property[1] = '';
|
1255 |
+
} else {
|
1256 |
+
property[1] = property[1].charAt( 0 ).toUpperCase() + property[1].slice( 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1257 |
}
|
1258 |
+
|
1259 |
+
$.map( values, function( val, key ) {
|
1260 |
+
val = val.toLowerCase().replace( /[^a-z0-9%.\-]/g, '' );
|
1261 |
+
|
1262 |
+
// Fall back to placeholder if the value is empty
|
1263 |
+
if ( '' === val ) {
|
1264 |
+
var option = property[0] + key.charAt( 0 ).toUpperCase() + key.slice( 1 ) + property[1] + device,
|
1265 |
+
placeholder = parent.elements[ option ].attr( 'placeholder' );
|
1266 |
+
|
1267 |
+
if ( placeholder ) {
|
1268 |
+
val = placeholder;
|
1269 |
+
}
|
1270 |
+
}
|
1271 |
+
|
1272 |
+
// Fall back to pixels when numeric value set
|
1273 |
+
if ( null !== val && '' !== val && ! isNaN( val ) ) {
|
1274 |
+
val = parseFloat( val ) + 'px';
|
1275 |
+
}
|
1276 |
+
|
1277 |
+
values[ key ] = val;
|
1278 |
+
} );
|
1279 |
+
|
1280 |
+
return values;
|
|
|
|
|
|
|
|
|
|
|
|
|
1281 |
},
|
1282 |
|
1283 |
/* Absolutely Positioned Backgrounds
|
1293 |
*/
|
1294 |
_positionAbsoluteBgs: function()
|
1295 |
{
|
1296 |
+
// @todo Oliver: Why is this actually needed???
|
1297 |
var slideshow = this.elements.node.find('.fl-bg-slideshow'),
|
1298 |
+
video = this.elements.node.find('.fl-bg-video'),
|
1299 |
+
margins = null,
|
1300 |
+
borders = null,
|
1301 |
+
position = {
|
1302 |
+
'top' : 0,
|
1303 |
+
'bottom' : 0,
|
1304 |
+
'left' : 0,
|
1305 |
+
'right' : 0,
|
1306 |
+
};
|
1307 |
+
|
1308 |
+
if ( slideshow.length > 0 || video.length > 0 ) {
|
1309 |
+
margins = this._getDimensions( 'margin' );
|
1310 |
+
borders = this._getDimensions( 'border' );
|
1311 |
+
|
1312 |
+
$.map( position, function( val, key ) {
|
1313 |
+
if ( margins[ key ] && borders[ key ] ) {
|
1314 |
+
position[ key ] = 'calc(' + margins[ key ] + '+' + borders[ key ] + ')';
|
1315 |
+
} else if ( margins[ key ] ) {
|
1316 |
+
position[ key ] = margins[ key ];
|
1317 |
+
} else if ( borders[ key ] ) {
|
1318 |
+
position[ key ] = borders[ key ];
|
1319 |
+
}
|
1320 |
+
} );
|
1321 |
+
|
1322 |
+
if ( slideshow.length > 0 ) {
|
1323 |
+
this.updateCSSRule( this.classes.node + ' .fl-bg-slideshow', position );
|
1324 |
FLBuilder._resizeLayout();
|
1325 |
}
|
1326 |
+
|
1327 |
+
if ( video.length > 0 ) {
|
1328 |
+
this.updateCSSRule( this.classes.node + ' .fl-bg-video', position );
|
|
|
|
|
|
|
|
|
|
|
1329 |
}
|
1330 |
}
|
1331 |
},
|
1359 |
// Common Elements
|
1360 |
this._initNodeTextColor();
|
1361 |
this._initNodeBg();
|
|
|
1362 |
this._initNodeClassName();
|
1363 |
+
this._initNodeBorder();
|
1364 |
+
this._initResponsiveDimensions( 'border' );
|
1365 |
+
this._initResponsiveDimensions( 'margin' );
|
1366 |
+
this._initResponsiveDimensions( 'padding' );
|
1367 |
},
|
1368 |
|
1369 |
/**
|
1463 |
// Common Elements
|
1464 |
this._initNodeTextColor();
|
1465 |
this._initNodeBg();
|
|
|
1466 |
this._initNodeClassName();
|
1467 |
+
this._initNodeBorder();
|
1468 |
+
this._initResponsiveDimensions( 'border' );
|
1469 |
+
this._initResponsiveDimensions( 'margin' );
|
1470 |
+
this._initResponsiveDimensions( 'padding' );
|
1471 |
},
|
1472 |
|
1473 |
/**
|
1480 |
_colSizeChange: function()
|
1481 |
{
|
1482 |
var preview = this,
|
1483 |
+
minWidth = 8,
|
1484 |
maxWidth = 100 - minWidth,
|
1485 |
size = parseFloat(this.elements.size.val()),
|
1486 |
prev = this.elements.node.prev('.fl-col'),
|
1577 |
_initModule: function()
|
1578 |
{
|
1579 |
this._initNodeClassName();
|
1580 |
+
this._initResponsiveDimensions( 'margin' );
|
1581 |
},
|
1582 |
|
1583 |
/* Default Field Previews
|
1697 |
case 'suggest':
|
1698 |
field.find('.as-values').on('change', callback);
|
1699 |
break;
|
1700 |
+
|
1701 |
+
case 'unit':
|
1702 |
+
field.find('input[type=number]').on('keyup', callback);
|
1703 |
+
break;
|
1704 |
|
1705 |
}
|
1706 |
},
|
1725 |
field.find('input[type=text]').on('keyup', callback);
|
1726 |
break;
|
1727 |
|
1728 |
+
case 'unit':
|
1729 |
+
field.find('input[type=number]').on('keyup', callback);
|
1730 |
+
break;
|
1731 |
+
|
1732 |
case 'textarea':
|
1733 |
field.find('textarea').on('keyup', callback);
|
1734 |
break;
|
2002 |
field.find( 'input[type=text]' ).on( 'keyup', $.proxy( this._previewCSS, this, preview ) );
|
2003 |
break;
|
2004 |
|
2005 |
+
case 'unit':
|
2006 |
+
field.find( 'input[type=number]' ).on( 'keyup', $.proxy( this._previewCSS, this, preview ) );
|
2007 |
+
break;
|
2008 |
+
|
2009 |
case 'select':
|
2010 |
field.find( 'select' ).on( 'change', $.proxy( this._previewCSS, this, preview ) );
|
2011 |
break;
|
2030 |
var selector = this._getPreviewSelector( this.classes.node, preview.selector ),
|
2031 |
property = preview.property,
|
2032 |
unit = typeof preview.unit == 'undefined' ? '' : preview.unit,
|
2033 |
+
input = $(e.target),
|
2034 |
+
value = input.val();
|
2035 |
|
2036 |
if(unit == '%') {
|
2037 |
value = parseInt(value)/100;
|
2040 |
value += unit;
|
2041 |
}
|
2042 |
|
2043 |
+
if ( input.closest( '.fl-field-responsive-setting' ).length ) {
|
2044 |
+
this.updateResponsiveCSSRule( selector, property, value );
|
2045 |
+
}
|
2046 |
+
else {
|
2047 |
+
this.updateCSSRule( selector, property, value );
|
2048 |
+
}
|
2049 |
},
|
2050 |
|
2051 |
/**
|
2060 |
_previewColor: function(preview, e)
|
2061 |
{
|
2062 |
var selector = this._getPreviewSelector( this.classes.node, preview.selector ),
|
2063 |
+
input = $(e.target),
|
2064 |
+
val = input.val(),
|
2065 |
color = val === '' ? 'inherit' : '#' + val;
|
2066 |
+
|
2067 |
+
if ( input.closest( '.fl-field-responsive-setting' ).length ) {
|
2068 |
+
this.updateResponsiveCSSRule( selector, preview.property, color );
|
2069 |
+
}
|
2070 |
+
else {
|
2071 |
+
this.updateCSSRule( selector, preview.property, color );
|
2072 |
+
}
|
2073 |
},
|
2074 |
|
2075 |
/**
|
2118 |
}
|
2119 |
};
|
2120 |
|
2121 |
+
})(jQuery);
|
js/fl-builder-responsive-editing.js
ADDED
@@ -0,0 +1,549 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
( function( $ ) {
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Helper for handling responsive editing logic.
|
5 |
+
*
|
6 |
+
* @since 1.9
|
7 |
+
* @class FLBuilderResponsiveEditing
|
8 |
+
*/
|
9 |
+
FLBuilderResponsiveEditing = {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* The current editing mode we're in.
|
13 |
+
*
|
14 |
+
* @since 1.9
|
15 |
+
* @private
|
16 |
+
* @property {FLBuilderPreview} _mode
|
17 |
+
*/
|
18 |
+
_mode: 'default',
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Cached references to fields that have logic run
|
22 |
+
* on them when the preview is toggled.
|
23 |
+
*
|
24 |
+
* @since 1.9
|
25 |
+
* @private
|
26 |
+
* @property {Object} _fields
|
27 |
+
*/
|
28 |
+
_fields: {},
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Refreshes the media queries for the responsive preview
|
32 |
+
* if necessary.
|
33 |
+
*
|
34 |
+
* @since 1.9
|
35 |
+
* @method refreshPreview
|
36 |
+
*/
|
37 |
+
refreshPreview: function()
|
38 |
+
{
|
39 |
+
if ( $( '.fl-responsive-preview' ).length ) {
|
40 |
+
FLBuilderForcedMediaQueries.update();
|
41 |
+
}
|
42 |
+
},
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Initializes responsive editing.
|
46 |
+
*
|
47 |
+
* @since 1.9
|
48 |
+
* @access private
|
49 |
+
* @method _init
|
50 |
+
*/
|
51 |
+
_init: function()
|
52 |
+
{
|
53 |
+
this._bind();
|
54 |
+
},
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Bind events.
|
58 |
+
*
|
59 |
+
* @since 1.9
|
60 |
+
* @access private
|
61 |
+
* @method _bind
|
62 |
+
*/
|
63 |
+
_bind: function()
|
64 |
+
{
|
65 |
+
FLBuilder.addHook( 'responsive-editing-switched', this._previewSpacingFields );
|
66 |
+
FLBuilder.addHook( 'settings-form-init', this._initSettingsForms );
|
67 |
+
FLBuilder.addHook( 'settings-lightbox-closed', this._clearPreview );
|
68 |
+
|
69 |
+
$( 'body' ).delegate( '.fl-field-responsive-toggle', 'click', this._settingToggleClicked );
|
70 |
+
},
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Switches to either mobile, tablet or desktop editing.
|
74 |
+
*
|
75 |
+
* @since 1.9
|
76 |
+
* @access private
|
77 |
+
* @method _switchTo
|
78 |
+
*/
|
79 |
+
_switchTo: function( mode, callback )
|
80 |
+
{
|
81 |
+
var body = $( 'body' ),
|
82 |
+
content = $( FLBuilder._contentClass ),
|
83 |
+
preview = $( '.fl-responsive-preview' ),
|
84 |
+
mask = $( '.fl-responsive-preview-mask' ),
|
85 |
+
placeholder = $( '.fl-content-placeholder' ),
|
86 |
+
width = null;
|
87 |
+
|
88 |
+
// Save the new mode.
|
89 |
+
FLBuilderResponsiveEditing._mode = mode;
|
90 |
+
|
91 |
+
// Setup the preview.
|
92 |
+
if ( 'default' == mode ) {
|
93 |
+
|
94 |
+
if ( 0 === placeholder.length ) {
|
95 |
+
return;
|
96 |
+
}
|
97 |
+
|
98 |
+
placeholder.after( content );
|
99 |
+
placeholder.remove();
|
100 |
+
preview.remove();
|
101 |
+
mask.remove();
|
102 |
+
}
|
103 |
+
else if ( 0 === preview.length ) {
|
104 |
+
content.after( '<div class="fl-content-placeholder"></div>' );
|
105 |
+
body.prepend( wp.template( 'fl-responsive-preview' )() );
|
106 |
+
$( '.fl-responsive-preview' ).addClass( 'fl-preview-' + mode );
|
107 |
+
$( '.fl-responsive-preview-content' ).append( content );
|
108 |
+
}
|
109 |
+
else {
|
110 |
+
preview.removeClass( 'fl-preview-responsive fl-preview-medium' );
|
111 |
+
preview.addClass( 'fl-preview-' + mode );
|
112 |
+
}
|
113 |
+
|
114 |
+
// Set the content width and apply media queries.
|
115 |
+
if ( 'responsive' == mode ) {
|
116 |
+
width = FLBuilderConfig.global.responsive_breakpoint >= 320 ? 320 : FLBuilderConfig.global.responsive_breakpoint;
|
117 |
+
content.width( width );
|
118 |
+
FLBuilderForcedMediaQueries.update( width, callback );
|
119 |
+
}
|
120 |
+
else if ( 'medium' == mode ) {
|
121 |
+
width = FLBuilderConfig.global.medium_breakpoint >= 769 ? 769 : FLBuilderConfig.global.medium_breakpoint;
|
122 |
+
content.width( width );
|
123 |
+
FLBuilderForcedMediaQueries.update( width, callback );
|
124 |
+
}
|
125 |
+
else {
|
126 |
+
content.width( '' );
|
127 |
+
FLBuilderForcedMediaQueries.update( 10000, callback );
|
128 |
+
}
|
129 |
+
|
130 |
+
// Set the content background color.
|
131 |
+
this._setContentBackgroundColor();
|
132 |
+
|
133 |
+
// Resize the layout.
|
134 |
+
FLBuilder._resizeLayout();
|
135 |
+
|
136 |
+
// Broadcast the switch.
|
137 |
+
FLBuilder.triggerHook( 'responsive-editing-switched', mode );
|
138 |
+
},
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Sets the background color for the builder content
|
142 |
+
* in a responsive preview.
|
143 |
+
*
|
144 |
+
* @since 1.9
|
145 |
+
* @access private
|
146 |
+
* @method _setContentBackgroundColor
|
147 |
+
*/
|
148 |
+
_setContentBackgroundColor: function()
|
149 |
+
{
|
150 |
+
var content = $( FLBuilder._contentClass ),
|
151 |
+
preview = $( '.fl-responsive-preview' ),
|
152 |
+
placeholder = $( '.fl-content-placeholder' ),
|
153 |
+
parents = placeholder.parents(),
|
154 |
+
parent = null,
|
155 |
+
color = '#fff',
|
156 |
+
i = 0;
|
157 |
+
|
158 |
+
if ( 0 === preview.length ) {
|
159 |
+
content.css( 'background-color', '' );
|
160 |
+
}
|
161 |
+
else {
|
162 |
+
|
163 |
+
for( ; i < parents.length; i++ ) {
|
164 |
+
|
165 |
+
color = parents.eq( i ).css( 'background-color' );
|
166 |
+
|
167 |
+
if ( color != 'rgba(0, 0, 0, 0)' ) {
|
168 |
+
break;
|
169 |
+
}
|
170 |
+
}
|
171 |
+
|
172 |
+
content.css( 'background-color', color );
|
173 |
+
}
|
174 |
+
},
|
175 |
+
|
176 |
+
/**
|
177 |
+
* Switches to the given mode and scrolls to an
|
178 |
+
* active node if one is present.
|
179 |
+
*
|
180 |
+
* @since 1.9
|
181 |
+
* @access private
|
182 |
+
* @method _switchToAndScroll
|
183 |
+
*/
|
184 |
+
_switchToAndScroll: function( mode )
|
185 |
+
{
|
186 |
+
var nodeId = $( '.fl-builder-settings' ).data( 'node' ),
|
187 |
+
element = undefined === nodeId ? undefined : $( '.fl-node-' + nodeId );
|
188 |
+
|
189 |
+
FLBuilderResponsiveEditing._switchTo( mode, function() {
|
190 |
+
|
191 |
+
if ( undefined !== element && element ) {
|
192 |
+
|
193 |
+
setTimeout( function(){
|
194 |
+
|
195 |
+
var win = $( window ),
|
196 |
+
content = $( '.fl-responsive-preview-content' );
|
197 |
+
|
198 |
+
if ( ! content.length || win.height() < content.height() ) {
|
199 |
+
$( 'html, body' ).animate( {
|
200 |
+
scrollTop: element.offset().top - 100
|
201 |
+
}, 250 );
|
202 |
+
}
|
203 |
+
else {
|
204 |
+
scrollTo( 0, 0 );
|
205 |
+
}
|
206 |
+
|
207 |
+
}, 250 );
|
208 |
+
}
|
209 |
+
} );
|
210 |
+
},
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Clears the responsive editing preview and reverts
|
214 |
+
* to the default view.
|
215 |
+
*
|
216 |
+
* @since 1.9
|
217 |
+
* @access private
|
218 |
+
* @method _clearPreview
|
219 |
+
*/
|
220 |
+
_clearPreview: function()
|
221 |
+
{
|
222 |
+
FLBuilderResponsiveEditing._switchToAndScroll( 'default' );
|
223 |
+
},
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Callback for when the responsive toggle of a setting
|
227 |
+
* is clicked.
|
228 |
+
*
|
229 |
+
* @since 1.9
|
230 |
+
* @access private
|
231 |
+
* @method _settingToggleClicked
|
232 |
+
*/
|
233 |
+
_settingToggleClicked: function()
|
234 |
+
{
|
235 |
+
var toggle = $( this ),
|
236 |
+
mode = toggle.data( 'mode' );
|
237 |
+
|
238 |
+
if ( 'default' == mode ) {
|
239 |
+
mode = 'medium';
|
240 |
+
}
|
241 |
+
else if ( 'medium' == mode ) {
|
242 |
+
mode = 'responsive';
|
243 |
+
}
|
244 |
+
else {
|
245 |
+
mode = 'default';
|
246 |
+
}
|
247 |
+
|
248 |
+
FLBuilderResponsiveEditing._switchAllSettingsTo( mode );
|
249 |
+
|
250 |
+
toggle.siblings( '.fl-field-responsive-setting:visible' ).find( 'input' ).focus();
|
251 |
+
},
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Switches all responsive settings in a settings form
|
255 |
+
* to the given mode.
|
256 |
+
*
|
257 |
+
* @since 1.9
|
258 |
+
* @access private
|
259 |
+
* @method _switchAllSettingsTo
|
260 |
+
* @param {String} mode
|
261 |
+
*/
|
262 |
+
_switchAllSettingsTo: function( mode )
|
263 |
+
{
|
264 |
+
var className = 'dashicons-desktop dashicons-tablet dashicons-smartphone';
|
265 |
+
|
266 |
+
$( '.fl-field-responsive-toggle' ).removeClass( className );
|
267 |
+
$( '.fl-field-responsive-setting' ).hide();
|
268 |
+
|
269 |
+
if ( 'default' == mode ) {
|
270 |
+
className = 'dashicons-desktop';
|
271 |
+
}
|
272 |
+
else if ( 'medium' == mode ) {
|
273 |
+
className = 'dashicons-tablet';
|
274 |
+
}
|
275 |
+
else {
|
276 |
+
className = 'dashicons-smartphone';
|
277 |
+
}
|
278 |
+
|
279 |
+
$( '.fl-field-responsive-toggle' ).addClass( className ).data( 'mode', mode );
|
280 |
+
$( '.fl-field-responsive-setting-' + mode ).css( 'display', 'inline-block' );
|
281 |
+
|
282 |
+
FLBuilderResponsiveEditing._switchToAndScroll( mode );
|
283 |
+
},
|
284 |
+
|
285 |
+
/**
|
286 |
+
* Initializes responsive settings in settings forms.
|
287 |
+
*
|
288 |
+
* @since 1.9
|
289 |
+
* @access private
|
290 |
+
* @method _initSettingsForms
|
291 |
+
*/
|
292 |
+
_initSettingsForms: function()
|
293 |
+
{
|
294 |
+
var self = FLBuilderResponsiveEditing;
|
295 |
+
|
296 |
+
if ( Number( FLBuilderConfig.global.responsive_enabled ) ) {
|
297 |
+
|
298 |
+
FLBuilderResponsiveEditing._fields = {};
|
299 |
+
|
300 |
+
self._initFields( 'unit', 'input', 'keyup', self._spacingFieldKeyup, [
|
301 |
+
'margin_top',
|
302 |
+
'margin_bottom',
|
303 |
+
'margin_left',
|
304 |
+
'margin_right',
|
305 |
+
'padding_top',
|
306 |
+
'padding_bottom',
|
307 |
+
'padding_left',
|
308 |
+
'padding_right'
|
309 |
+
] );
|
310 |
+
|
311 |
+
self._initFields( 'unit', 'input', 'keyup', self._textFieldKeyup );
|
312 |
+
}
|
313 |
+
|
314 |
+
self._switchAllSettingsTo( self._mode );
|
315 |
+
},
|
316 |
+
|
317 |
+
/**
|
318 |
+
* Initializes responsive logic for fields when
|
319 |
+
* an event occurs.
|
320 |
+
*
|
321 |
+
* @since 1.9
|
322 |
+
* @access private
|
323 |
+
* @method _initFields
|
324 |
+
* @param {String} type
|
325 |
+
* @param {String} event
|
326 |
+
* @param {Function} callback
|
327 |
+
* @param {Array} names
|
328 |
+
*/
|
329 |
+
_initFields: function( type, selector, event, callback, names )
|
330 |
+
{
|
331 |
+
var form = $( '.fl-builder-settings' ),
|
332 |
+
fields = form.find( '.fl-field' ).has( '.fl-field-responsive-setting' ),
|
333 |
+
field = null,
|
334 |
+
name = null,
|
335 |
+
i = 0,
|
336 |
+
j = 0;
|
337 |
+
|
338 |
+
if ( 'object' != typeof this._fields[ type ] ) {
|
339 |
+
this._fields[ type ] = {};
|
340 |
+
}
|
341 |
+
|
342 |
+
for ( ; i < fields.length; i++ ) {
|
343 |
+
|
344 |
+
field = fields.eq( i );
|
345 |
+
name = field.attr( 'id' ).replace( 'fl-field-', '' );
|
346 |
+
|
347 |
+
if ( 'object' == typeof names && $.inArray( name, names ) < 0 ) {
|
348 |
+
continue;
|
349 |
+
}
|
350 |
+
if ( type != field.attr( 'data-type' ) ) {
|
351 |
+
continue;
|
352 |
+
}
|
353 |
+
if ( undefined !== field.attr( 'data-responsive-init' ) ) {
|
354 |
+
continue;
|
355 |
+
}
|
356 |
+
|
357 |
+
this._fields[ type ][ name ] = {
|
358 |
+
'default' : field.find( '.fl-field-responsive-setting-default ' + selector ),
|
359 |
+
'medium' : field.find( '.fl-field-responsive-setting-medium ' + selector ),
|
360 |
+
'responsive' : field.find( '.fl-field-responsive-setting-responsive ' + selector )
|
361 |
+
};
|
362 |
+
|
363 |
+
for ( j in this._fields[ type ][ name ] ) {
|
364 |
+
this._fields[ type ][ name ][ j ].on( event, callback );
|
365 |
+
}
|
366 |
+
|
367 |
+
this._fields[ type ][ name ][ 'default' ].trigger( event );
|
368 |
+
|
369 |
+
field.attr( 'data-responsive-init', 1 );
|
370 |
+
}
|
371 |
+
},
|
372 |
+
|
373 |
+
/**
|
374 |
+
* Returns the fields object for an element.
|
375 |
+
*
|
376 |
+
* @since 1.9
|
377 |
+
* @access private
|
378 |
+
* @method _getFields
|
379 |
+
*/
|
380 |
+
_getFields: function( element )
|
381 |
+
{
|
382 |
+
var field = $( element ).closest( '.fl-field' );
|
383 |
+
type = field.attr( 'data-type' ),
|
384 |
+
name = field.attr( 'id' ).replace( 'fl-field-', '' );
|
385 |
+
|
386 |
+
return this._fields[ type ][ name ];
|
387 |
+
},
|
388 |
+
|
389 |
+
/**
|
390 |
+
* Callback for the keyup event on a text field.
|
391 |
+
*
|
392 |
+
* @since 1.9
|
393 |
+
* @access private
|
394 |
+
* @method _textFieldKeyup
|
395 |
+
*/
|
396 |
+
_textFieldKeyup: function()
|
397 |
+
{
|
398 |
+
var fields = FLBuilderResponsiveEditing._getFields( this ),
|
399 |
+
defaultPlaceholder = fields.default.attr( 'placeholder' ),
|
400 |
+
defaultValue = fields.default.val(),
|
401 |
+
mediumValue = fields.medium.val();
|
402 |
+
|
403 |
+
// Medium placeholder
|
404 |
+
if ( '' == defaultValue ) {
|
405 |
+
fields.medium.attr( 'placeholder', ( undefined === defaultPlaceholder ? '' : defaultPlaceholder ) );
|
406 |
+
}
|
407 |
+
else {
|
408 |
+
fields.medium.attr( 'placeholder', defaultValue );
|
409 |
+
}
|
410 |
+
|
411 |
+
// Responsive placeholder
|
412 |
+
if ( '' == mediumValue ) {
|
413 |
+
fields.responsive.attr( 'placeholder', fields.medium.attr( 'placeholder' ) );
|
414 |
+
}
|
415 |
+
else {
|
416 |
+
fields.responsive.attr( 'placeholder', mediumValue );
|
417 |
+
}
|
418 |
+
},
|
419 |
+
|
420 |
+
/**
|
421 |
+
* Callback for the keyup event on a spacing field.
|
422 |
+
*
|
423 |
+
* @since 1.9
|
424 |
+
* @access private
|
425 |
+
* @method _spacingFieldKeyup
|
426 |
+
*/
|
427 |
+
_spacingFieldKeyup: function()
|
428 |
+
{
|
429 |
+
var form = $( '.fl-builder-settings' ),
|
430 |
+
type = 'row',
|
431 |
+
parts = $( this ).closest( '.fl-field' ).attr( 'id' ).replace( 'fl-field-', '' ).split( '_' ),
|
432 |
+
field = parts[0],
|
433 |
+
dimension = parts[1],
|
434 |
+
fields = FLBuilderResponsiveEditing._fields[ 'unit' ][ field + '_' + dimension ],
|
435 |
+
config = FLBuilderConfig.global,
|
436 |
+
configPrefix = null,
|
437 |
+
defaultVal = fields.default.val(),
|
438 |
+
defaultGlobalVal = null,
|
439 |
+
mediumVal = fields.medium.val(),
|
440 |
+
mediumGlobalVal = null,
|
441 |
+
responsiveVal = fields.responsive.val(),
|
442 |
+
responsiveGlobalVal = null,
|
443 |
+
moduleGlobalVal = null,
|
444 |
+
moduleResponsiveVal = null;
|
445 |
+
|
446 |
+
// Get the node type
|
447 |
+
if ( form.hasClass( 'fl-builder-row-settings' ) ) {
|
448 |
+
type = 'row';
|
449 |
+
}
|
450 |
+
else if ( form.hasClass( 'fl-builder-col-settings' ) ) {
|
451 |
+
type = 'col';
|
452 |
+
}
|
453 |
+
else if ( form.hasClass( 'fl-builder-module-settings' ) ) {
|
454 |
+
type = 'module';
|
455 |
+
}
|
456 |
+
|
457 |
+
// Spoof global column defaults.
|
458 |
+
$.extend( config, {
|
459 |
+
col_margins : 0,
|
460 |
+
col_margins_medium : '',
|
461 |
+
col_margins_responsive : '',
|
462 |
+
col_padding : 0,
|
463 |
+
col_padding_medium : '',
|
464 |
+
col_padding_responsive : ''
|
465 |
+
} );
|
466 |
+
|
467 |
+
// Set the global values
|
468 |
+
configPrefix = type + '_' + field + ( 'margin' == field ? 's' : '' );
|
469 |
+
defaultGlobalVal = config[ configPrefix ];
|
470 |
+
mediumGlobalVal = config[ configPrefix + '_medium' ];
|
471 |
+
responsiveGlobalVal = config[ configPrefix + '_responsive' ];
|
472 |
+
|
473 |
+
// Medium value
|
474 |
+
if ( '' == mediumGlobalVal ) {
|
475 |
+
|
476 |
+
if ( '' != defaultVal ) {
|
477 |
+
fields.medium.attr( 'placeholder', defaultVal );
|
478 |
+
}
|
479 |
+
else if ( '' != defaultGlobalVal ) {
|
480 |
+
fields.medium.attr( 'placeholder', defaultGlobalVal );
|
481 |
+
}
|
482 |
+
}
|
483 |
+
|
484 |
+
// Responsive value
|
485 |
+
if ( '' == responsiveGlobalVal ) {
|
486 |
+
|
487 |
+
if ( 'module' == type && Number( config.auto_spacing ) ) {
|
488 |
+
|
489 |
+
moduleGlobalVal = '' == mediumGlobalVal ? Number( defaultGlobalVal ) : mediumGlobalVal;
|
490 |
+
moduleResponsiveVal = '' == mediumVal ? Number( defaultVal ) : mediumVal;
|
491 |
+
|
492 |
+
if ( '' != moduleResponsiveVal && ( moduleResponsiveVal > moduleGlobalVal || moduleResponsiveVal < 0 ) ) {
|
493 |
+
fields.responsive.attr( 'placeholder', moduleGlobalVal );
|
494 |
+
}
|
495 |
+
else if ( '' != moduleResponsiveVal ) {
|
496 |
+
fields.responsive.attr( 'placeholder', moduleResponsiveVal );
|
497 |
+
}
|
498 |
+
else {
|
499 |
+
fields.responsive.attr( 'placeholder', moduleGlobalVal );
|
500 |
+
}
|
501 |
+
}
|
502 |
+
else if ( ! Number( config.auto_spacing ) || ( 'padding' == field && 'top|bottom'.indexOf( dimension ) > -1 ) ) {
|
503 |
+
|
504 |
+
if ( '' != mediumVal ) {
|
505 |
+
fields.responsive.attr( 'placeholder', mediumVal );
|
506 |
+
}
|
507 |
+
else if ( '' != mediumGlobalVal ) {
|
508 |
+
fields.responsive.attr( 'placeholder', mediumGlobalVal );
|
509 |
+
}
|
510 |
+
else if ( '' != defaultVal ) {
|
511 |
+
fields.responsive.attr( 'placeholder', defaultVal );
|
512 |
+
}
|
513 |
+
else if ( '' != defaultGlobalVal ) {
|
514 |
+
fields.responsive.attr( 'placeholder', defaultGlobalVal );
|
515 |
+
}
|
516 |
+
}
|
517 |
+
}
|
518 |
+
},
|
519 |
+
|
520 |
+
/**
|
521 |
+
* Callback for when the responsive preview changes
|
522 |
+
* to live preview CSS for spacing fields.
|
523 |
+
*
|
524 |
+
* @since 1.9
|
525 |
+
* @access private
|
526 |
+
* @method _previewSpacingFields
|
527 |
+
*/
|
528 |
+
_previewSpacingFields: function()
|
529 |
+
{
|
530 |
+
var mode = FLBuilderResponsiveEditing._mode,
|
531 |
+
form = $( '.fl-builder-settings' ),
|
532 |
+
fields = null,
|
533 |
+
prop = null;
|
534 |
+
|
535 |
+
if ( 0 === form.length || undefined === form.attr( 'data-node' ) ) {
|
536 |
+
return;
|
537 |
+
}
|
538 |
+
|
539 |
+
fields = FLBuilderResponsiveEditing._fields[ 'unit' ];
|
540 |
+
|
541 |
+
for ( prop in fields ) {
|
542 |
+
fields[ prop ][ mode ].trigger( 'keyup' );
|
543 |
+
}
|
544 |
+
},
|
545 |
+
};
|
546 |
+
|
547 |
+
$( function() { FLBuilderResponsiveEditing._init() } );
|
548 |
+
|
549 |
+
} )( jQuery );
|
js/fl-builder.js
CHANGED
@@ -29,13 +29,13 @@
|
|
29 |
|
30 |
/**
|
31 |
* A jQuery reference to a module element that should be
|
32 |
-
* added to a new
|
33 |
*
|
34 |
* @since 1.0
|
35 |
* @access private
|
36 |
-
* @property {Object}
|
37 |
*/
|
38 |
-
|
39 |
|
40 |
/**
|
41 |
* An object that holds data for column resizing.
|
@@ -83,6 +83,16 @@
|
|
83 |
*/
|
84 |
_dragging : false,
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
/**
|
87 |
* The URL to redirect to when a user leaves the builder.
|
88 |
*
|
@@ -302,8 +312,10 @@
|
|
302 |
FLBuilder._initOverflowFix();
|
303 |
FLBuilder._initScrollbars();
|
304 |
FLBuilder._initLightboxes();
|
|
|
305 |
FLBuilder._initSortables();
|
306 |
FLBuilder._initStrings();
|
|
|
307 |
FLBuilder._bindEvents();
|
308 |
FLBuilder._bindOverlayEvents();
|
309 |
FLBuilder._setupEmptyLayout();
|
@@ -482,37 +494,46 @@
|
|
482 |
appendTo: 'body',
|
483 |
cursor: 'move',
|
484 |
cursorAt: {
|
485 |
-
left:
|
486 |
top: 20
|
487 |
},
|
488 |
distance: 1,
|
489 |
helper: FLBuilder._blockDragHelper,
|
490 |
start : FLBuilder._blockDragStart,
|
491 |
sort: FLBuilder._blockDragSort,
|
|
|
|
|
492 |
placeholder: 'fl-builder-drop-zone',
|
493 |
tolerance: 'intersect'
|
494 |
},
|
495 |
-
rowConnections
|
496 |
-
moduleConnections
|
497 |
|
498 |
-
//
|
499 |
if ( 'row' == FLBuilderConfig.userTemplateType ) {
|
500 |
-
|
|
|
|
|
501 |
}
|
502 |
else {
|
503 |
-
|
504 |
-
|
|
|
|
|
505 |
}
|
506 |
|
507 |
-
//
|
508 |
-
if (
|
509 |
-
|
510 |
-
|
|
|
|
|
|
|
511 |
}
|
512 |
else {
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
}
|
517 |
|
518 |
// Row layouts from the builder panel.
|
@@ -524,7 +545,7 @@
|
|
524 |
|
525 |
// Row templates from the builder panel.
|
526 |
$('.fl-builder-row-templates').sortable($.extend({}, defaults, {
|
527 |
-
connectWith: FLBuilder._contentClass,
|
528 |
items: '.fl-builder-block-row-template',
|
529 |
stop: FLBuilder._nodeTemplateDragStop
|
530 |
}));
|
@@ -532,7 +553,7 @@
|
|
532 |
// Saved rows from the builder panel.
|
533 |
$('.fl-builder-saved-rows').sortable($.extend({}, defaults, {
|
534 |
cancel: '.fl-builder-node-template-actions, .fl-builder-node-template-edit, .fl-builder-node-template-delete',
|
535 |
-
connectWith: FLBuilder._contentClass,
|
536 |
items: '.fl-builder-block-saved-row',
|
537 |
stop: FLBuilder._nodeTemplateDragStop
|
538 |
}));
|
@@ -559,30 +580,36 @@
|
|
559 |
stop: FLBuilder._nodeTemplateDragStop
|
560 |
}));
|
561 |
|
562 |
-
//
|
563 |
-
$(
|
564 |
-
|
565 |
helper: FLBuilder._rowDragHelper,
|
566 |
-
|
567 |
stop: FLBuilder._rowDragStop
|
568 |
}));
|
569 |
|
570 |
-
//
|
571 |
-
$(
|
572 |
-
|
573 |
-
helper: FLBuilder.
|
574 |
-
|
575 |
-
stop: FLBuilder.
|
576 |
}));
|
577 |
|
578 |
-
//
|
579 |
$(FLBuilder._contentClass + ' .fl-col-content').sortable($.extend({}, defaults, {
|
580 |
connectWith: moduleConnections,
|
581 |
handle: '.fl-module-overlay .fl-block-overlay-actions .fl-block-move',
|
582 |
helper: FLBuilder._moduleDragHelper,
|
583 |
-
items: '.fl-module',
|
|
|
584 |
stop: FLBuilder._moduleDragStop
|
585 |
}));
|
|
|
|
|
|
|
|
|
|
|
586 |
},
|
587 |
|
588 |
/**
|
@@ -621,6 +648,7 @@
|
|
621 |
$('body').delegate('.fl-builder-has-submenu a', 'click', FLBuilder._submenuChildClicked);
|
622 |
$('body').delegate('.fl-builder-submenu', 'mouseenter', FLBuilder._submenuMouseenter);
|
623 |
$('body').delegate('.fl-builder-submenu', 'mouseleave', FLBuilder._submenuMouseleave);
|
|
|
624 |
|
625 |
/* Bar */
|
626 |
$('.fl-builder-tools-button').on('click', FLBuilder._toolsClicked);
|
@@ -694,22 +722,28 @@
|
|
694 |
/* Rows */
|
695 |
$('body').delegate('.fl-row-overlay .fl-block-remove', 'click', FLBuilder._deleteRowClicked);
|
696 |
$('body').delegate('.fl-row-overlay .fl-block-copy', 'click', FLBuilder._rowCopyClicked);
|
697 |
-
$('body').delegate('.fl-row-overlay .fl-block-move', 'mousedown', FLBuilder.
|
698 |
$('body').delegate('.fl-row-overlay .fl-block-settings', 'click', FLBuilder._rowSettingsClicked);
|
699 |
$('body').delegate('.fl-row-overlay', 'click', FLBuilder._rowSettingsClicked);
|
700 |
$('body').delegate('.fl-builder-row-settings .fl-builder-settings-save', 'click', FLBuilder._saveSettings);
|
701 |
|
702 |
/* Columns */
|
|
|
|
|
703 |
$('body').delegate('.fl-col-overlay', 'click', FLBuilder._colSettingsClicked);
|
704 |
$('body').delegate('.fl-builder-col-settings .fl-builder-settings-save', 'click', FLBuilder._saveSettings);
|
705 |
-
$('body').delegate('.fl-col-overlay .fl-block-remove', 'click', FLBuilder._deleteColClicked);
|
706 |
|
707 |
/* Columns Submenu */
|
|
|
708 |
$('body').delegate('.fl-block-col-submenu .fl-block-col-edit', 'click', FLBuilder._colSettingsClicked);
|
709 |
$('body').delegate('.fl-block-col-submenu .fl-block-col-delete', 'click', FLBuilder._deleteColClicked);
|
710 |
-
$('body').delegate('.fl-block-col-submenu .fl-block-col-
|
711 |
-
$('body').delegate('.fl-block-col-submenu
|
712 |
-
$('body').delegate('.fl-block-col-submenu
|
|
|
|
|
|
|
|
|
713 |
|
714 |
/* Modules */
|
715 |
$('body').delegate('.fl-module-overlay .fl-block-remove', 'click', FLBuilder._deleteModuleClicked);
|
@@ -906,7 +940,16 @@
|
|
906 |
*/
|
907 |
_initTipTips: function()
|
908 |
{
|
909 |
-
$('.fl-tip').
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
910 |
},
|
911 |
|
912 |
/**
|
@@ -965,7 +1008,11 @@
|
|
965 |
*/
|
966 |
_submenuChildClicked: function( e )
|
967 |
{
|
968 |
-
$( this ).
|
|
|
|
|
|
|
|
|
969 |
},
|
970 |
|
971 |
/**
|
@@ -997,13 +1044,44 @@
|
|
997 |
_submenuMouseleave: function( e )
|
998 |
{
|
999 |
var menu = $( this ),
|
1000 |
-
timeout = setTimeout( function(){
|
1001 |
-
menu.closest( '.fl-builder-submenu
|
1002 |
}, 500 );
|
1003 |
|
1004 |
menu.data( 'timeout', timeout );
|
1005 |
},
|
1006 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1007 |
/* Bar
|
1008 |
----------------------------------------------------------*/
|
1009 |
|
@@ -1543,18 +1621,6 @@
|
|
1543 |
FLBuilder._layoutSettingsInitCSS();
|
1544 |
|
1545 |
FLBuilder._initSettingsValidation({
|
1546 |
-
module_margins: {
|
1547 |
-
required: true,
|
1548 |
-
number: true
|
1549 |
-
},
|
1550 |
-
row_margins: {
|
1551 |
-
required: true,
|
1552 |
-
number: true
|
1553 |
-
},
|
1554 |
-
row_padding: {
|
1555 |
-
required: true,
|
1556 |
-
number: true
|
1557 |
-
},
|
1558 |
row_width: {
|
1559 |
required: true,
|
1560 |
number: true
|
@@ -1593,11 +1659,26 @@
|
|
1593 |
FLBuilder.ajax({
|
1594 |
action: 'save_global_settings',
|
1595 |
settings: settings
|
1596 |
-
}, FLBuilder.
|
1597 |
|
1598 |
FLBuilder._lightbox.close();
|
1599 |
}
|
1600 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1601 |
|
1602 |
/* Template Selector
|
1603 |
----------------------------------------------------------*/
|
@@ -2276,6 +2357,63 @@
|
|
2276 |
/* Generic Drag and Drop
|
2277 |
----------------------------------------------------------*/
|
2278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2279 |
/**
|
2280 |
* Returns a helper element for a drag operation.
|
2281 |
*
|
@@ -2304,70 +2442,58 @@
|
|
2304 |
* @method _blockDragInit
|
2305 |
* @param {Object} e The event object.
|
2306 |
*/
|
2307 |
-
_blockDragInit: function(e)
|
2308 |
{
|
2309 |
-
var target
|
2310 |
-
|
2311 |
-
|
2312 |
-
|
2313 |
|
2314 |
// Set the _dragEnabled flag.
|
2315 |
FLBuilder._dragEnabled = true;
|
2316 |
|
2317 |
-
//
|
2318 |
-
|
2319 |
-
|
2320 |
-
|
2321 |
-
|
2322 |
-
|
2323 |
-
|
2324 |
-
|
2325 |
-
|
2326 |
-
|
2327 |
-
|
2328 |
-
if(item === null && $(this).offset().top - $(window).scrollTop() > 0) {
|
2329 |
-
item = $(this);
|
2330 |
-
}
|
2331 |
-
});
|
2332 |
}
|
2333 |
-
|
2334 |
-
else if(target.hasClass('fl-builder-block-module') || target.hasClass('fl-builder-block-saved-module')) {
|
2335 |
|
2336 |
-
|
2337 |
-
|
2338 |
-
|
|
|
2339 |
}
|
2340 |
-
});
|
2341 |
-
}
|
2342 |
-
|
2343 |
-
// Get the initial scroll position of the item.
|
2344 |
-
if(item !== null) {
|
2345 |
-
initialPos = item.offset().top - $(window).scrollTop();
|
2346 |
-
}
|
2347 |
-
else {
|
2348 |
-
item = target;
|
2349 |
}
|
2350 |
|
2351 |
-
//
|
2352 |
-
|
2353 |
-
|
2354 |
-
// Highlight rows.
|
2355 |
-
$(FLBuilder._contentClass + ' .fl-row' + noHighlight).addClass('fl-row-highlight');
|
2356 |
-
|
2357 |
-
// Highlight modules.
|
2358 |
-
if(item.hasClass('fl-module') || item.hasClass('fl-builder-block-module') || item.hasClass('fl-builder-block-saved-module')) {
|
2359 |
-
$(FLBuilder._contentClass + ' .fl-col' + noHighlight).addClass('fl-col-highlight');
|
2360 |
}
|
2361 |
|
2362 |
// Setup the UI for dragging.
|
|
|
|
|
2363 |
FLBuilder._disableGlobalRows();
|
2364 |
FLBuilder._closePanel();
|
2365 |
FLBuilder._destroyOverlayEvents();
|
2366 |
FLBuilder._removeAllOverlays();
|
|
|
|
|
|
|
|
|
2367 |
|
2368 |
-
// Scroll to the
|
2369 |
-
if(initialPos > 0) {
|
2370 |
-
scrollTo(0,
|
2371 |
}
|
2372 |
},
|
2373 |
|
@@ -2382,12 +2508,11 @@
|
|
2382 |
*/
|
2383 |
_blockDragStart: function(e, ui)
|
2384 |
{
|
|
|
2385 |
FLBuilder._dragging = true;
|
2386 |
|
2387 |
-
//
|
2388 |
-
$(
|
2389 |
-
$(FLBuilder._contentClass + ' .fl-row-content').sortable('refreshPositions');
|
2390 |
-
$(FLBuilder._contentClass + ' .fl-col-content').sortable('refreshPositions');
|
2391 |
},
|
2392 |
|
2393 |
/**
|
@@ -2402,16 +2527,23 @@
|
|
2402 |
*/
|
2403 |
_blockDragSort: function(e, ui)
|
2404 |
{
|
2405 |
-
if(typeof ui.placeholder === 'undefined') {
|
2406 |
-
return;
|
2407 |
-
}
|
2408 |
-
|
2409 |
var parent = ui.placeholder.parent(),
|
2410 |
title = FLBuilderStrings.insert;
|
2411 |
|
|
|
|
|
|
|
|
|
|
|
2412 |
// Find the placeholder title.
|
2413 |
if(parent.hasClass('fl-col-content')) {
|
2414 |
-
if(ui.item.hasClass('fl-builder-block-
|
|
|
|
|
|
|
|
|
|
|
|
|
2415 |
title = ui.item.find('.fl-builder-block-title').text();
|
2416 |
}
|
2417 |
else if(ui.item.hasClass('fl-builder-block-saved-module') || ui.item.hasClass('fl-builder-block-module-template')) {
|
@@ -2421,22 +2553,20 @@
|
|
2421 |
title = ui.item.attr('data-name');
|
2422 |
}
|
2423 |
}
|
2424 |
-
else if(parent.hasClass('fl-
|
2425 |
-
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
2429 |
-
title = FLBuilderStrings.newColumn;
|
2430 |
-
}
|
2431 |
}
|
2432 |
-
else if(parent.hasClass('fl-
|
2433 |
if(ui.item.hasClass('fl-builder-block-row')) {
|
2434 |
title = ui.item.find('.fl-builder-block-title').text();
|
2435 |
}
|
2436 |
else if(ui.item.hasClass('fl-builder-block-saved-row')) {
|
2437 |
title = ui.item.find('.fl-builder-block-title').text();
|
2438 |
}
|
2439 |
-
else if(ui.item.hasClass('fl-row')) {
|
2440 |
title = FLBuilderStrings.row;
|
2441 |
}
|
2442 |
else {
|
@@ -2448,7 +2578,10 @@
|
|
2448 |
ui.placeholder.html(title);
|
2449 |
|
2450 |
// Add the global class?
|
2451 |
-
if ( ui.item.hasClass( 'fl-node-global' ) ||
|
|
|
|
|
|
|
2452 |
ui.placeholder.addClass( 'fl-builder-drop-zone-global' );
|
2453 |
}
|
2454 |
else {
|
@@ -2456,6 +2589,89 @@
|
|
2456 |
}
|
2457 |
},
|
2458 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2459 |
/**
|
2460 |
* Cleans up when a drag operation has stopped.
|
2461 |
*
|
@@ -2465,13 +2681,23 @@
|
|
2465 |
* @param {Object} e The event object.
|
2466 |
* @param {Object} ui An object with additional info for the drag.
|
2467 |
*/
|
2468 |
-
_blockDragStop: function(e, ui)
|
2469 |
{
|
2470 |
-
var
|
2471 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2472 |
|
2473 |
-
// Show the panel
|
2474 |
-
if(parent.hasClass('fl-builder-blocks-section-content')) {
|
2475 |
FLBuilder._showPanel();
|
2476 |
}
|
2477 |
|
@@ -2481,10 +2707,11 @@
|
|
2481 |
FLBuilder._bindOverlayEvents();
|
2482 |
FLBuilder._highlightEmptyCols();
|
2483 |
FLBuilder._enableGlobalRows();
|
2484 |
-
|
|
|
2485 |
|
2486 |
// Scroll the page back to where it was.
|
2487 |
-
scrollTo(0, parent.offset().top - initialPos);
|
2488 |
},
|
2489 |
|
2490 |
/**
|
@@ -2496,16 +2723,60 @@
|
|
2496 |
*/
|
2497 |
_blockDragCancel: function()
|
2498 |
{
|
2499 |
-
if(FLBuilder._dragEnabled && !FLBuilder._dragging) {
|
2500 |
FLBuilder._dragEnabled = false;
|
2501 |
FLBuilder._dragging = false;
|
2502 |
FLBuilder._bindOverlayEvents();
|
2503 |
FLBuilder._highlightEmptyCols();
|
2504 |
FLBuilder._enableGlobalRows();
|
2505 |
-
|
|
|
|
|
|
|
|
|
2506 |
}
|
2507 |
},
|
2508 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2509 |
/**
|
2510 |
* Removes all node overlays and hides any tooltip helpies.
|
2511 |
*
|
@@ -2517,6 +2788,7 @@
|
|
2517 |
{
|
2518 |
FLBuilder._removeRowOverlays();
|
2519 |
FLBuilder._removeColOverlays();
|
|
|
2520 |
FLBuilder._removeModuleOverlays();
|
2521 |
FLBuilder._hideTipTips();
|
2522 |
},
|
@@ -2565,39 +2837,94 @@
|
|
2565 |
overlayPos = isNaN( overlayPos ) ? 0 : overlayPos;
|
2566 |
overlay.css( 'bottom', ( margins.bottom + overlayPos ) + 'px' );
|
2567 |
}
|
2568 |
-
|
2569 |
return overlay;
|
2570 |
},
|
2571 |
|
2572 |
-
/* Rows
|
2573 |
-
----------------------------------------------------------*/
|
2574 |
-
|
2575 |
/**
|
2576 |
-
*
|
2577 |
*
|
2578 |
-
* @since 1.
|
2579 |
* @access private
|
2580 |
-
* @method
|
|
|
2581 |
*/
|
2582 |
-
|
2583 |
{
|
2584 |
-
var
|
2585 |
-
|
2586 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2587 |
|
2588 |
-
|
2589 |
-
|
|
|
|
|
|
|
|
|
2590 |
|
2591 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2592 |
|
2593 |
-
|
|
|
2594 |
|
2595 |
-
if(
|
2596 |
-
|
|
|
2597 |
}
|
2598 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2599 |
},
|
2600 |
|
|
|
|
|
|
|
2601 |
/**
|
2602 |
* Removes all row overlays from the page.
|
2603 |
*
|
@@ -2625,10 +2952,7 @@
|
|
2625 |
return;
|
2626 |
}
|
2627 |
|
2628 |
-
|
2629 |
-
|
2630 |
-
rows.addClass( 'fl-node-disabled' );
|
2631 |
-
rows.append( '<div class="fl-node-disabled-overlay"></div>' );
|
2632 |
},
|
2633 |
|
2634 |
/**
|
@@ -2645,7 +2969,6 @@
|
|
2645 |
}
|
2646 |
|
2647 |
$( '.fl-node-disabled' ).removeClass( 'fl-node-disabled' );
|
2648 |
-
$( '.fl-node-disabled-overlay' ).remove();
|
2649 |
},
|
2650 |
|
2651 |
/**
|
@@ -2729,7 +3052,57 @@
|
|
2729 |
*/
|
2730 |
_rowDragHelper: function()
|
2731 |
{
|
2732 |
-
return $('<div class="fl-builder-block-drag-helper"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2733 |
},
|
2734 |
|
2735 |
/**
|
@@ -2741,34 +3114,73 @@
|
|
2741 |
* @param {Object} e The event object.
|
2742 |
* @param {Object} ui An object with additional info for the drag.
|
2743 |
*/
|
2744 |
-
_rowDragStop: function(e, ui)
|
2745 |
{
|
2746 |
-
var item
|
2747 |
-
parent
|
|
|
|
|
|
|
2748 |
|
2749 |
-
FLBuilder._blockDragStop(e, ui);
|
2750 |
-
|
2751 |
// A row was dropped back into the row list.
|
2752 |
-
if(parent.hasClass('fl-builder-rows')) {
|
2753 |
item.remove();
|
2754 |
return;
|
2755 |
}
|
|
|
|
|
|
|
|
|
|
|
2756 |
// Add a new row.
|
2757 |
-
else if(item.hasClass('fl-builder-block')) {
|
2758 |
|
2759 |
-
//
|
2760 |
-
if(parent.hasClass('fl-
|
|
|
|
|
|
|
|
|
|
|
|
|
2761 |
FLBuilder._addColGroup(
|
2762 |
-
item.closest('.fl-
|
2763 |
-
item.attr('data-cols'),
|
2764 |
-
parent.
|
2765 |
);
|
2766 |
}
|
2767 |
-
// A row was dropped
|
2768 |
-
else {
|
2769 |
-
FLBuilder.
|
2770 |
-
|
2771 |
-
parent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2772 |
);
|
2773 |
}
|
2774 |
|
@@ -2779,36 +3191,36 @@
|
|
2779 |
FLBuilder._showPanel();
|
2780 |
|
2781 |
// Show the module list.
|
2782 |
-
$('.fl-builder-modules').siblings('.fl-builder-blocks-section-title').eq(0).trigger('click');
|
2783 |
}
|
2784 |
// Reorder a row.
|
2785 |
else {
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2790 |
}
|
2791 |
},
|
2792 |
|
2793 |
-
/**
|
2794 |
-
* Reorders a row within the layout.
|
2795 |
-
*
|
2796 |
-
* @since 1.0
|
2797 |
-
* @access private
|
2798 |
-
* @method _reorderRow
|
2799 |
-
* @param {String} node_id The node ID of the row.
|
2800 |
-
* @param {Number} position The new position.
|
2801 |
-
*/
|
2802 |
-
_reorderRow: function(node_id, position)
|
2803 |
-
{
|
2804 |
-
FLBuilder.ajax({
|
2805 |
-
action: 'reorder_node',
|
2806 |
-
node_id: node_id,
|
2807 |
-
position: position,
|
2808 |
-
silent: true
|
2809 |
-
});
|
2810 |
-
},
|
2811 |
-
|
2812 |
/**
|
2813 |
* Adds a new row to the layout.
|
2814 |
*
|
@@ -2845,7 +3257,8 @@
|
|
2845 |
{
|
2846 |
var data = JSON.parse(response),
|
2847 |
content = $(FLBuilder._contentClass),
|
2848 |
-
rowId = $(data.html).data('node')
|
|
|
2849 |
|
2850 |
// Add new row info to the data.
|
2851 |
data.nodeParent = content;
|
@@ -2855,15 +3268,10 @@
|
|
2855 |
FLBuilder._renderLayout( data, function(){
|
2856 |
|
2857 |
// Add a module to the newly created row.
|
2858 |
-
if(
|
2859 |
-
|
2860 |
-
|
2861 |
-
|
2862 |
-
$('.fl-node-' + rowId + ' .fl-col-content').append(FLBuilder._addModuleAfterRowRender);
|
2863 |
-
FLBuilder._reorderModule(FLBuilder._addModuleAfterRowRender);
|
2864 |
-
}
|
2865 |
-
|
2866 |
-
FLBuilder._addModuleAfterRowRender = null;
|
2867 |
}
|
2868 |
} );
|
2869 |
},
|
@@ -2878,8 +3286,7 @@
|
|
2878 |
*/
|
2879 |
_deleteRowClicked: function( e )
|
2880 |
{
|
2881 |
-
var
|
2882 |
-
row = $('.fl-row[data-node='+ nodeId +']'),
|
2883 |
result = null;
|
2884 |
|
2885 |
if(!row.find('.fl-module').length) {
|
@@ -2973,7 +3380,7 @@
|
|
2973 |
_rowSettingsClicked: function( e )
|
2974 |
{
|
2975 |
var button = $( this ),
|
2976 |
-
nodeId = button.closest( '.fl-row
|
2977 |
global = button.closest( '.fl-block-overlay-global' ).length > 0;
|
2978 |
|
2979 |
if ( global && 'row' != FLBuilderConfig.userTemplateType ) {
|
@@ -3019,6 +3426,147 @@
|
|
3019 |
/* Columns
|
3020 |
----------------------------------------------------------*/
|
3021 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3022 |
/**
|
3023 |
* Shows an overlay with actions when the mouse enters a column.
|
3024 |
*
|
@@ -3029,13 +3577,25 @@
|
|
3029 |
_colMouseenter: function()
|
3030 |
{
|
3031 |
var col = $( this ),
|
|
|
3032 |
global = col.hasClass( 'fl-node-global' ),
|
3033 |
parentGlobal = col.parents( '.fl-node-global' ).length > 0,
|
3034 |
-
numCols = col.
|
3035 |
-
|
3036 |
-
|
3037 |
-
|
3038 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3039 |
if ( FLBuilderConfig.simpleUi ) {
|
3040 |
return;
|
3041 |
}
|
@@ -3045,6 +3605,9 @@
|
|
3045 |
else if ( col.find( '.fl-module' ).length > 0 ) {
|
3046 |
return;
|
3047 |
}
|
|
|
|
|
|
|
3048 |
else if ( ! col.hasClass( 'fl-block-overlay-active' ) ) {
|
3049 |
|
3050 |
// Remove existing overlays.
|
@@ -3052,13 +3615,22 @@
|
|
3052 |
FLBuilder._removeModuleOverlays();
|
3053 |
|
3054 |
// Append the template.
|
3055 |
-
FLBuilder._appendOverlay( col, template( {
|
3056 |
-
global
|
3057 |
-
numCols
|
3058 |
-
first
|
3059 |
-
last
|
|
|
|
|
|
|
|
|
|
|
|
|
3060 |
} ) );
|
3061 |
|
|
|
|
|
|
|
3062 |
// Init column resizing.
|
3063 |
FLBuilder._initColDragResizing();
|
3064 |
}
|
@@ -3082,11 +3654,15 @@
|
|
3082 |
isTipTip = toElement.is('#tiptip_holder'),
|
3083 |
isTipTipChild = toElement.closest('#tiptip_holder').length > 0;
|
3084 |
|
3085 |
-
if(
|
|
|
|
|
|
|
3086 |
return;
|
3087 |
}
|
3088 |
|
3089 |
FLBuilder._removeColOverlays();
|
|
|
3090 |
},
|
3091 |
|
3092 |
/**
|
@@ -3105,6 +3681,201 @@
|
|
3105 |
$('body').removeClass('fl-block-overlay-muted');
|
3106 |
},
|
3107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3108 |
/**
|
3109 |
* Shows the settings lightbox and loads the column settings
|
3110 |
* when the column settings button is clicked.
|
@@ -3116,12 +3887,21 @@
|
|
3116 |
*/
|
3117 |
_colSettingsClicked: function(e)
|
3118 |
{
|
3119 |
-
var
|
|
|
|
|
3120 |
|
3121 |
if ( FLBuilder._colResizing ) {
|
3122 |
return;
|
3123 |
}
|
3124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3125 |
FLBuilder._closePanel();
|
3126 |
FLBuilder._showLightbox();
|
3127 |
|
@@ -3142,27 +3922,32 @@
|
|
3142 |
* @method _colSettingsLoaded
|
3143 |
* @param {String} response The JSON response with the HTML for the column settings form.
|
3144 |
*/
|
3145 |
-
_colSettingsLoaded: function(response)
|
3146 |
{
|
3147 |
var data = JSON.parse( response ),
|
3148 |
settings = null,
|
3149 |
nodeId = null,
|
3150 |
-
col = null
|
|
|
3151 |
|
3152 |
FLBuilder._setSettingsFormContent( data.settings );
|
3153 |
|
3154 |
-
settings = $('.fl-builder-col-settings');
|
3155 |
-
nodeId = settings.data('node');
|
3156 |
-
col = $('.fl-col[data-node="' + nodeId + '"]');
|
|
|
3157 |
|
3158 |
-
if(col.siblings('.fl-col').length === 0) {
|
3159 |
-
$(settings).find('#fl-builder-settings-section-general').css('display', 'none');
|
|
|
|
|
|
|
3160 |
}
|
3161 |
|
3162 |
-
FLBuilder.preview = new FLBuilderPreview({
|
3163 |
type : 'col',
|
3164 |
state : data.state
|
3165 |
-
});
|
3166 |
},
|
3167 |
|
3168 |
/**
|
@@ -3175,17 +3960,34 @@
|
|
3175 |
*/
|
3176 |
_deleteColClicked: function( e )
|
3177 |
{
|
3178 |
-
var button
|
3179 |
-
col
|
3180 |
-
|
3181 |
-
|
|
|
|
|
|
|
|
|
3182 |
|
3183 |
-
if ( module.length > 0 ) {
|
3184 |
result = confirm( FLBuilderStrings.deleteColumnMessage );
|
3185 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3186 |
if ( result ) {
|
3187 |
FLBuilder._deleteCol( col );
|
3188 |
FLBuilder._removeAllOverlays();
|
|
|
3189 |
}
|
3190 |
|
3191 |
e.stopPropagation();
|
@@ -3197,7 +3999,7 @@
|
|
3197 |
* @since 1.0
|
3198 |
* @access private
|
3199 |
* @method _deleteCol
|
3200 |
-
* @param {Object} col A jQuery reference of the column to delete.
|
3201 |
*/
|
3202 |
_deleteCol: function(col)
|
3203 |
{
|
@@ -3207,8 +4009,8 @@
|
|
3207 |
width = 0;
|
3208 |
|
3209 |
col.remove();
|
3210 |
-
rowCols = row.find('.fl-col');
|
3211 |
-
groupCols = group.find('.fl-col');
|
3212 |
|
3213 |
if(0 === rowCols.length && 'row' != FLBuilderConfig.userTemplateType) {
|
3214 |
FLBuilder._deleteRow(row);
|
@@ -3239,60 +4041,78 @@
|
|
3239 |
new_width : width,
|
3240 |
silent : true
|
3241 |
});
|
|
|
|
|
|
|
3242 |
}
|
3243 |
},
|
3244 |
|
3245 |
/**
|
3246 |
-
* Inserts a column before another column
|
3247 |
-
* column before link is clicked.
|
3248 |
*
|
3249 |
* @since 1.6.4
|
3250 |
* @access private
|
3251 |
-
* @method
|
3252 |
-
* @param {Object}
|
|
|
|
|
|
|
3253 |
*/
|
3254 |
-
|
3255 |
{
|
3256 |
-
|
|
|
3257 |
|
3258 |
-
|
3259 |
-
|
3260 |
-
|
3261 |
-
/**
|
3262 |
-
* Inserts a column after another column when the insert
|
3263 |
-
* column after link is clicked.
|
3264 |
-
*
|
3265 |
-
* @since 1.6.4
|
3266 |
-
* @access private
|
3267 |
-
* @method _insertColAfterClicked
|
3268 |
-
* @param {Object} e The event object.
|
3269 |
-
*/
|
3270 |
-
_insertColAfterClicked: function( e )
|
3271 |
-
{
|
3272 |
-
FLBuilder._insertCol( $( this ).closest( '.fl-col' ), 'after' );
|
3273 |
|
3274 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3275 |
},
|
3276 |
|
3277 |
/**
|
3278 |
-
*
|
|
|
|
|
3279 |
*
|
3280 |
-
* @since 1.
|
3281 |
* @access private
|
3282 |
-
* @method
|
3283 |
-
* @param {
|
3284 |
-
|
3285 |
-
|
3286 |
-
_insertCol: function( col, insert )
|
3287 |
{
|
3288 |
-
|
3289 |
-
|
3290 |
-
|
3291 |
-
|
3292 |
-
|
3293 |
-
|
3294 |
-
|
3295 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3296 |
},
|
3297 |
|
3298 |
/**
|
@@ -3307,13 +4127,21 @@
|
|
3307 |
*/
|
3308 |
_addColGroup: function(nodeId, cols, position)
|
3309 |
{
|
|
|
|
|
3310 |
// Show the loader.
|
3311 |
FLBuilder.showAjaxLoader();
|
3312 |
|
3313 |
// Save the new column group info.
|
3314 |
-
FLBuilder._newColGroupParent = $('.fl-node-' + nodeId + ' .fl-row-content');
|
3315 |
FLBuilder._newColGroupPosition = position;
|
3316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3317 |
// Send the request.
|
3318 |
FLBuilder.ajax({
|
3319 |
action : 'render_new_column_group',
|
@@ -3335,8 +4163,9 @@
|
|
3335 |
*/
|
3336 |
_addColGroupComplete: function(response)
|
3337 |
{
|
3338 |
-
var data
|
3339 |
-
colId
|
|
|
3340 |
|
3341 |
// Add new column group info to the data.
|
3342 |
data.nodeParent = FLBuilder._newColGroupParent;
|
@@ -3345,16 +4174,16 @@
|
|
3345 |
// Render the layout.
|
3346 |
FLBuilder._renderLayout( data, function(){
|
3347 |
|
|
|
|
|
|
|
|
|
|
|
3348 |
// Add a module to the newly created column group.
|
3349 |
-
if(
|
3350 |
-
|
3351 |
-
|
3352 |
-
|
3353 |
-
$('.fl-node-' + colId + ' .fl-col-content').append(FLBuilder._addModuleAfterRowRender);
|
3354 |
-
FLBuilder._reorderModule(FLBuilder._addModuleAfterRowRender);
|
3355 |
-
}
|
3356 |
-
|
3357 |
-
FLBuilder._addModuleAfterRowRender = null;
|
3358 |
}
|
3359 |
} );
|
3360 |
},
|
@@ -3388,15 +4217,17 @@
|
|
3388 |
_colDragResizeStart: function( e, ui )
|
3389 |
{
|
3390 |
// Setup resize vars.
|
3391 |
-
var handle
|
3392 |
-
direction
|
3393 |
-
|
3394 |
-
|
3395 |
-
|
3396 |
-
|
3397 |
-
|
3398 |
-
|
3399 |
-
|
|
|
|
|
3400 |
// Find the direction and sibling.
|
3401 |
if ( handle.hasClass( 'fl-block-col-resize-e' ) ) {
|
3402 |
direction = 'e';
|
@@ -3437,6 +4268,9 @@
|
|
3437 |
// Set the resizing flag.
|
3438 |
FLBuilder._colResizing = true;
|
3439 |
|
|
|
|
|
|
|
3440 |
// Close the builder panel and destroy overlay events.
|
3441 |
FLBuilder._closePanel();
|
3442 |
FLBuilder._destroyOverlayEvents();
|
@@ -3463,15 +4297,15 @@
|
|
3463 |
colRound = Math.round( colWidth * 100 ) / 100,
|
3464 |
siblingWidth = data.availWidth - colWidth,
|
3465 |
siblingRound = Math.round( siblingWidth * 100 ) / 100,
|
3466 |
-
minRound =
|
3467 |
-
maxRound = Math.round( ( data.availWidth -
|
3468 |
|
3469 |
// Set the min/max width if needed.
|
3470 |
-
if ( colRound <
|
3471 |
colRound = minRound;
|
3472 |
siblingRound = maxRound;
|
3473 |
}
|
3474 |
-
else if ( siblingRound <
|
3475 |
colRound = maxRound;
|
3476 |
siblingRound = minRound;
|
3477 |
}
|
@@ -3505,7 +4339,8 @@
|
|
3505 |
*/
|
3506 |
_colDragResizeStop: function( e, ui )
|
3507 |
{
|
3508 |
-
var data
|
|
|
3509 |
|
3510 |
// Hide the feedback divs.
|
3511 |
FLBuilder._colResizeData.feedbackLeft.hide();
|
@@ -3521,9 +4356,15 @@
|
|
3521 |
silent : true
|
3522 |
});
|
3523 |
|
|
|
|
|
|
|
3524 |
// Reset the resize data.
|
3525 |
FLBuilder._colResizeData = null;
|
3526 |
|
|
|
|
|
|
|
3527 |
// Rebind overlay events.
|
3528 |
FLBuilder._bindOverlayEvents();
|
3529 |
|
@@ -3534,6 +4375,41 @@
|
|
3534 |
FLBuilder.triggerHook( 'col-resize-stop' );
|
3535 |
},
|
3536 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3537 |
/**
|
3538 |
* Resets the widths of all columns in a group.
|
3539 |
*
|
@@ -3542,13 +4418,11 @@
|
|
3542 |
* @method _resetColumnWidths
|
3543 |
* @param {Object} e The event object.
|
3544 |
*/
|
3545 |
-
_resetColumnWidths: function(
|
3546 |
{
|
3547 |
-
var
|
3548 |
-
cols = group.find( '.fl-col' ),
|
3549 |
width = 0;
|
3550 |
|
3551 |
-
// Get the new width.
|
3552 |
if ( 6 === cols.length ) {
|
3553 |
width = 16.65;
|
3554 |
}
|
@@ -3559,20 +4433,7 @@
|
|
3559 |
width = Math.round( 100 / cols.length * 100 ) / 100;
|
3560 |
}
|
3561 |
|
3562 |
-
|
3563 |
-
cols.css('width', width + '%');
|
3564 |
-
|
3565 |
-
// Save the resize data.
|
3566 |
-
FLBuilder.ajax({
|
3567 |
-
action : 'reset_col_widths',
|
3568 |
-
group_id : group.data( 'node' ),
|
3569 |
-
silent : true
|
3570 |
-
});
|
3571 |
-
|
3572 |
-
// Trigger the col-reset-widths hook.
|
3573 |
-
FLBuilder.triggerHook( 'col-reset-widths' );
|
3574 |
-
|
3575 |
-
e.stopPropagation();
|
3576 |
},
|
3577 |
|
3578 |
/* Modules
|
@@ -3591,32 +4452,45 @@
|
|
3591 |
moduleName = module.attr( 'data-name' ),
|
3592 |
global = module.hasClass( 'fl-node-global' ),
|
3593 |
parentGlobal = module.parents( '.fl-node-global' ).length > 0,
|
3594 |
-
numCols = module.
|
3595 |
-
|
3596 |
-
|
3597 |
-
|
3598 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3599 |
|
3600 |
// Remove existing overlays.
|
3601 |
FLBuilder._removeColOverlays();
|
3602 |
FLBuilder._removeModuleOverlays();
|
3603 |
|
3604 |
-
// Don't show if this is a global row in a standard layout.
|
3605 |
if ( global && parentGlobal && 'row' != FLBuilderConfig.userTemplateType ) {
|
3606 |
return;
|
3607 |
}
|
3608 |
-
// Show the overlay.
|
3609 |
else if ( ! module.hasClass( 'fl-block-overlay-active' ) ) {
|
3610 |
|
3611 |
// Append the template.
|
3612 |
-
FLBuilder._appendOverlay( module, template( {
|
3613 |
-
global
|
3614 |
-
moduleName
|
3615 |
-
numCols
|
3616 |
-
|
3617 |
-
|
|
|
|
|
|
|
|
|
|
|
3618 |
} ) );
|
3619 |
|
|
|
|
|
|
|
3620 |
// Init column resizing.
|
3621 |
FLBuilder._initColDragResizing();
|
3622 |
}
|
@@ -3644,6 +4518,7 @@
|
|
3644 |
}
|
3645 |
|
3646 |
FLBuilder._removeModuleOverlays();
|
|
|
3647 |
},
|
3648 |
|
3649 |
/**
|
@@ -3677,6 +4552,22 @@
|
|
3677 |
return $('<div class="fl-builder-block-drag-helper">' + item.attr('data-name') + '</div>');
|
3678 |
},
|
3679 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3680 |
/**
|
3681 |
* Callback for when a module drag operation completes.
|
3682 |
*
|
@@ -3688,60 +4579,102 @@
|
|
3688 |
*/
|
3689 |
_moduleDragStop: function(e, ui)
|
3690 |
{
|
|
|
|
|
3691 |
var item = ui.item,
|
3692 |
parent = item.parent(),
|
|
|
3693 |
position = 0,
|
3694 |
parentId = 0;
|
3695 |
|
3696 |
-
FLBuilder._blockDragStop(e, ui);
|
3697 |
-
|
3698 |
// A module was dropped back into the module list.
|
3699 |
-
if(parent.hasClass('fl-builder-modules') || parent.hasClass('fl-builder-widgets')) {
|
3700 |
item.remove();
|
3701 |
return;
|
3702 |
}
|
3703 |
// A new module was dropped.
|
3704 |
-
else if(item.hasClass('fl-builder-block')) {
|
3705 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3706 |
// A new module was dropped into a row position.
|
3707 |
-
if(parent.hasClass('fl-
|
3708 |
-
|
3709 |
parentId = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3710 |
}
|
3711 |
// A new module was dropped into a column position.
|
3712 |
-
else if(parent.hasClass('fl-
|
3713 |
-
|
3714 |
-
parentId =
|
|
|
|
|
3715 |
}
|
3716 |
// A new module was dropped into a column.
|
3717 |
else {
|
3718 |
-
position = parent.
|
3719 |
-
parentId = item.closest('.fl-col').attr('data-node');
|
|
|
|
|
|
|
|
|
|
|
3720 |
}
|
3721 |
|
3722 |
// Add the new module.
|
3723 |
-
FLBuilder._addModule(parent, parentId, item.attr('data-type'), position, item.attr('data-widget'));
|
3724 |
|
3725 |
// Remove the drag helper.
|
3726 |
-
|
3727 |
}
|
3728 |
-
//
|
3729 |
-
else if(parent.hasClass('fl-
|
3730 |
-
|
3731 |
-
|
3732 |
-
FLBuilder.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3733 |
item.remove();
|
3734 |
}
|
3735 |
// A module was dropped into a column position.
|
3736 |
-
else if(parent.hasClass('fl-
|
3737 |
-
|
3738 |
-
|
3739 |
-
FLBuilder.
|
|
|
3740 |
item.remove();
|
3741 |
}
|
3742 |
// A module was dropped into another column.
|
3743 |
else {
|
3744 |
-
FLBuilder._reorderModule(item);
|
3745 |
}
|
3746 |
|
3747 |
FLBuilder._resizeLayout();
|
@@ -3759,27 +4692,15 @@
|
|
3759 |
{
|
3760 |
var newParent = module.closest('.fl-col').attr('data-node'),
|
3761 |
oldParent = module.attr('data-parent'),
|
3762 |
-
|
3763 |
position = module.index();
|
3764 |
|
3765 |
if(newParent == oldParent) {
|
3766 |
-
FLBuilder.
|
3767 |
-
action: 'reorder_node',
|
3768 |
-
node_id: node_id,
|
3769 |
-
position: position,
|
3770 |
-
silent: true
|
3771 |
-
});
|
3772 |
}
|
3773 |
else {
|
3774 |
module.attr('data-parent', newParent);
|
3775 |
-
|
3776 |
-
FLBuilder.ajax({
|
3777 |
-
action: 'move_node',
|
3778 |
-
new_parent: newParent,
|
3779 |
-
node_id: node_id,
|
3780 |
-
position: position,
|
3781 |
-
silent: true
|
3782 |
-
});
|
3783 |
}
|
3784 |
},
|
3785 |
|
@@ -4040,8 +4961,14 @@
|
|
4040 |
FLBuilder.showAjaxLoader();
|
4041 |
|
4042 |
// Save the new module data.
|
4043 |
-
|
4044 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4045 |
|
4046 |
// Send the request.
|
4047 |
FLBuilder.ajax({
|
@@ -4250,19 +5177,21 @@
|
|
4250 |
*/
|
4251 |
_nodeTemplateDragStop: function( e, ui )
|
4252 |
{
|
|
|
|
|
4253 |
var item = ui.item,
|
4254 |
parent = item.parent(),
|
4255 |
parentId = null,
|
4256 |
position = 0,
|
|
|
4257 |
action = '',
|
4258 |
callback = null;
|
4259 |
|
4260 |
-
// Stop the drag.
|
4261 |
-
FLBuilder._blockDragStop(e, ui);
|
4262 |
-
|
4263 |
// A saved row was dropped.
|
4264 |
if ( item.hasClass( 'fl-builder-block-saved-row' ) || item.hasClass( 'fl-builder-block-row-template' ) ) {
|
4265 |
-
|
|
|
|
|
4266 |
parentId = null;
|
4267 |
action = 'render_new_row';
|
4268 |
callback = FLBuilder._addRowComplete;
|
@@ -4274,15 +5203,29 @@
|
|
4274 |
action = 'render_new_module';
|
4275 |
callback = FLBuilder._addModuleComplete;
|
4276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4277 |
// Dropped into a row position.
|
4278 |
-
if ( parent.hasClass( 'fl-
|
4279 |
-
|
4280 |
parentId = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4281 |
}
|
4282 |
// Dropped into a column position.
|
4283 |
-
else if ( parent.hasClass( 'fl-
|
4284 |
-
|
4285 |
-
|
|
|
4286 |
}
|
4287 |
// Dropped into a column.
|
4288 |
else {
|
@@ -4290,9 +5233,20 @@
|
|
4290 |
parentId = item.closest( '.fl-col' ).attr( 'data-node' );
|
4291 |
}
|
4292 |
|
|
|
|
|
|
|
|
|
|
|
4293 |
// Save the new module data.
|
4294 |
-
|
4295 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4296 |
}
|
4297 |
|
4298 |
// Show the loader.
|
@@ -5097,7 +6051,8 @@
|
|
5097 |
alreadySaved : FLBuilderStrings.alreadySaved,
|
5098 |
noPresets : FLBuilderStrings.noPresets,
|
5099 |
presetAdded : FLBuilderStrings.presetAdded,
|
5100 |
-
}
|
|
|
5101 |
});
|
5102 |
|
5103 |
$( FLBuilder.colorPicker ).on( 'presetRemoved presetAdded', function( event, data ) {
|
@@ -5224,7 +6179,7 @@
|
|
5224 |
|
5225 |
wrap.addClass('fl-photo-empty');
|
5226 |
photoField.val('');
|
5227 |
-
srcSelect.html('');
|
5228 |
srcSelect.trigger('change');
|
5229 |
},
|
5230 |
|
@@ -6373,8 +7328,9 @@
|
|
6373 |
*/
|
6374 |
_lightboxClosed: function()
|
6375 |
{
|
|
|
6376 |
FLBuilder._lightbox.empty();
|
6377 |
-
clearTimeout(FLBuilder._lightboxScrollbarTimeout);
|
6378 |
},
|
6379 |
|
6380 |
/**
|
29 |
|
30 |
/**
|
31 |
* A jQuery reference to a module element that should be
|
32 |
+
* added to a new node after it has been rendered.
|
33 |
*
|
34 |
* @since 1.0
|
35 |
* @access private
|
36 |
+
* @property {Object} _addModuleAfterNodeRender
|
37 |
*/
|
38 |
+
_addModuleAfterNodeRender : null,
|
39 |
|
40 |
/**
|
41 |
* An object that holds data for column resizing.
|
83 |
*/
|
84 |
_dragging : false,
|
85 |
|
86 |
+
/**
|
87 |
+
* The initial scroll top of the window when a drag starts.
|
88 |
+
* Used to reset the scroll top when a drag is cancelled.
|
89 |
+
*
|
90 |
+
* @since 1.0
|
91 |
+
* @access private
|
92 |
+
* @property {Boolean} _dragging
|
93 |
+
*/
|
94 |
+
_dragInitialScrollTop : 0,
|
95 |
+
|
96 |
/**
|
97 |
* The URL to redirect to when a user leaves the builder.
|
98 |
*
|
312 |
FLBuilder._initOverflowFix();
|
313 |
FLBuilder._initScrollbars();
|
314 |
FLBuilder._initLightboxes();
|
315 |
+
FLBuilder._initDropTargets();
|
316 |
FLBuilder._initSortables();
|
317 |
FLBuilder._initStrings();
|
318 |
+
FLBuilder._initTipTips();
|
319 |
FLBuilder._bindEvents();
|
320 |
FLBuilder._bindOverlayEvents();
|
321 |
FLBuilder._setupEmptyLayout();
|
494 |
appendTo: 'body',
|
495 |
cursor: 'move',
|
496 |
cursorAt: {
|
497 |
+
left: 60,
|
498 |
top: 20
|
499 |
},
|
500 |
distance: 1,
|
501 |
helper: FLBuilder._blockDragHelper,
|
502 |
start : FLBuilder._blockDragStart,
|
503 |
sort: FLBuilder._blockDragSort,
|
504 |
+
change: FLBuilder._blockDragChange,
|
505 |
+
stop: FLBuilder._blockDragStop,
|
506 |
placeholder: 'fl-builder-drop-zone',
|
507 |
tolerance: 'intersect'
|
508 |
},
|
509 |
+
rowConnections = '',
|
510 |
+
moduleConnections = '';
|
511 |
|
512 |
+
// Module Connections.
|
513 |
if ( 'row' == FLBuilderConfig.userTemplateType ) {
|
514 |
+
moduleConnections = FLBuilder._contentClass + ' .fl-col-group-drop-target, ' +
|
515 |
+
FLBuilder._contentClass + ' .fl-col-drop-target, ' +
|
516 |
+
FLBuilder._contentClass + ' .fl-col-content';
|
517 |
}
|
518 |
else {
|
519 |
+
moduleConnections = FLBuilder._contentClass + ' .fl-row-drop-target, ' +
|
520 |
+
FLBuilder._contentClass + ' .fl-col-group-drop-target, ' +
|
521 |
+
FLBuilder._contentClass + ' .fl-col-drop-target, ' +
|
522 |
+
FLBuilder._contentClass + ' .fl-row:not(.fl-node-global) .fl-col-content';
|
523 |
}
|
524 |
|
525 |
+
// Row Connections.
|
526 |
+
if ( FLBuilderConfig.nestedColumns ) {
|
527 |
+
rowConnections = moduleConnections;
|
528 |
+
}
|
529 |
+
else if ( 'row' == FLBuilderConfig.userTemplateType ) {
|
530 |
+
rowConnections = FLBuilder._contentClass + ' .fl-col-group-drop-target, ' +
|
531 |
+
FLBuilder._contentClass + ' .fl-col-drop-target';
|
532 |
}
|
533 |
else {
|
534 |
+
rowConnections = FLBuilder._contentClass + ' .fl-row-drop-target, ' +
|
535 |
+
FLBuilder._contentClass + ' .fl-col-group-drop-target, ' +
|
536 |
+
FLBuilder._contentClass + ' .fl-col-drop-target';
|
537 |
}
|
538 |
|
539 |
// Row layouts from the builder panel.
|
545 |
|
546 |
// Row templates from the builder panel.
|
547 |
$('.fl-builder-row-templates').sortable($.extend({}, defaults, {
|
548 |
+
connectWith: FLBuilder._contentClass + ' .fl-row-drop-target',
|
549 |
items: '.fl-builder-block-row-template',
|
550 |
stop: FLBuilder._nodeTemplateDragStop
|
551 |
}));
|
553 |
// Saved rows from the builder panel.
|
554 |
$('.fl-builder-saved-rows').sortable($.extend({}, defaults, {
|
555 |
cancel: '.fl-builder-node-template-actions, .fl-builder-node-template-edit, .fl-builder-node-template-delete',
|
556 |
+
connectWith: FLBuilder._contentClass + ' .fl-row-drop-target',
|
557 |
items: '.fl-builder-block-saved-row',
|
558 |
stop: FLBuilder._nodeTemplateDragStop
|
559 |
}));
|
580 |
stop: FLBuilder._nodeTemplateDragStop
|
581 |
}));
|
582 |
|
583 |
+
// Rows
|
584 |
+
$('.fl-row-sortable-proxy').sortable($.extend({}, defaults, {
|
585 |
+
connectWith: FLBuilder._contentClass + ' .fl-row-drop-target',
|
586 |
helper: FLBuilder._rowDragHelper,
|
587 |
+
start: FLBuilder._rowDragStart,
|
588 |
stop: FLBuilder._rowDragStop
|
589 |
}));
|
590 |
|
591 |
+
// Columns
|
592 |
+
$('.fl-col-sortable-proxy').sortable($.extend({}, defaults, {
|
593 |
+
connectWith: moduleConnections,
|
594 |
+
helper: FLBuilder._colDragHelper,
|
595 |
+
start: FLBuilder._colDragStart,
|
596 |
+
stop: FLBuilder._colDragStop
|
597 |
}));
|
598 |
|
599 |
+
// Modules
|
600 |
$(FLBuilder._contentClass + ' .fl-col-content').sortable($.extend({}, defaults, {
|
601 |
connectWith: moduleConnections,
|
602 |
handle: '.fl-module-overlay .fl-block-overlay-actions .fl-block-move',
|
603 |
helper: FLBuilder._moduleDragHelper,
|
604 |
+
items: '.fl-module, .fl-col-group',
|
605 |
+
start: FLBuilder._moduleDragStart,
|
606 |
stop: FLBuilder._moduleDragStop
|
607 |
}));
|
608 |
+
|
609 |
+
// Drop targets
|
610 |
+
$(FLBuilder._contentClass + ' .fl-row-drop-target').sortable( defaults );
|
611 |
+
$(FLBuilder._contentClass + ' .fl-col-group-drop-target').sortable( defaults );
|
612 |
+
$(FLBuilder._contentClass + ' .fl-col-drop-target').sortable( defaults );
|
613 |
},
|
614 |
|
615 |
/**
|
648 |
$('body').delegate('.fl-builder-has-submenu a', 'click', FLBuilder._submenuChildClicked);
|
649 |
$('body').delegate('.fl-builder-submenu', 'mouseenter', FLBuilder._submenuMouseenter);
|
650 |
$('body').delegate('.fl-builder-submenu', 'mouseleave', FLBuilder._submenuMouseleave);
|
651 |
+
$('body').delegate('.fl-builder-submenu .fl-builder-has-submenu', 'mouseenter', FLBuilder._submenuNestedParentMouseenter);
|
652 |
|
653 |
/* Bar */
|
654 |
$('.fl-builder-tools-button').on('click', FLBuilder._toolsClicked);
|
722 |
/* Rows */
|
723 |
$('body').delegate('.fl-row-overlay .fl-block-remove', 'click', FLBuilder._deleteRowClicked);
|
724 |
$('body').delegate('.fl-row-overlay .fl-block-copy', 'click', FLBuilder._rowCopyClicked);
|
725 |
+
$('body').delegate('.fl-row-overlay .fl-block-move', 'mousedown', FLBuilder._rowDragInit);
|
726 |
$('body').delegate('.fl-row-overlay .fl-block-settings', 'click', FLBuilder._rowSettingsClicked);
|
727 |
$('body').delegate('.fl-row-overlay', 'click', FLBuilder._rowSettingsClicked);
|
728 |
$('body').delegate('.fl-builder-row-settings .fl-builder-settings-save', 'click', FLBuilder._saveSettings);
|
729 |
|
730 |
/* Columns */
|
731 |
+
$('body').delegate('.fl-col-overlay .fl-block-move', 'mousedown', FLBuilder._colDragInit);
|
732 |
+
$('body').delegate('.fl-col-overlay .fl-block-remove', 'click', FLBuilder._deleteColClicked);
|
733 |
$('body').delegate('.fl-col-overlay', 'click', FLBuilder._colSettingsClicked);
|
734 |
$('body').delegate('.fl-builder-col-settings .fl-builder-settings-save', 'click', FLBuilder._saveSettings);
|
|
|
735 |
|
736 |
/* Columns Submenu */
|
737 |
+
$('body').delegate('.fl-block-col-submenu .fl-block-col-move', 'mousedown', FLBuilder._colDragInit);
|
738 |
$('body').delegate('.fl-block-col-submenu .fl-block-col-edit', 'click', FLBuilder._colSettingsClicked);
|
739 |
$('body').delegate('.fl-block-col-submenu .fl-block-col-delete', 'click', FLBuilder._deleteColClicked);
|
740 |
+
$('body').delegate('.fl-block-col-submenu .fl-block-col-reset', 'click', FLBuilder._resetColumnWidthsClicked);
|
741 |
+
$('body').delegate('.fl-block-col-submenu li', 'mouseenter', FLBuilder._showColHighlightGuide);
|
742 |
+
$('body').delegate('.fl-block-col-submenu li', 'mouseleave', FLBuilder._removeColHighlightGuides);
|
743 |
+
|
744 |
+
/* Columns Submenu (Parent Column) */
|
745 |
+
$('body').delegate('.fl-block-col-submenu .fl-block-col-move-parent', 'mousedown', FLBuilder._colDragInit);
|
746 |
+
$('body').delegate('.fl-block-col-submenu .fl-block-col-edit-parent', 'click', FLBuilder._colSettingsClicked);
|
747 |
|
748 |
/* Modules */
|
749 |
$('body').delegate('.fl-module-overlay .fl-block-remove', 'click', FLBuilder._deleteModuleClicked);
|
940 |
*/
|
941 |
_initTipTips: function()
|
942 |
{
|
943 |
+
$('.fl-tip:not(.fl-has-tip)').each( function(){
|
944 |
+
var ele = $( this );
|
945 |
+
ele.addClass( 'fl-has-tip' );
|
946 |
+
if ( undefined == ele.attr( 'data-title' ) ) {
|
947 |
+
ele.attr( 'data-title', ele.attr( 'title' ) );
|
948 |
+
}
|
949 |
+
} ).tipTip( {
|
950 |
+
defaultPosition : 'top',
|
951 |
+
delay : 1500
|
952 |
+
} );
|
953 |
},
|
954 |
|
955 |
/**
|
1008 |
*/
|
1009 |
_submenuChildClicked: function( e )
|
1010 |
{
|
1011 |
+
var parent = $( this ).parents( '.fl-builder-has-submenu' );
|
1012 |
+
|
1013 |
+
if ( ! parent.parents( '.fl-builder-has-submenu' ).length ) {
|
1014 |
+
parent.removeClass( 'fl-builder-submenu-open' );
|
1015 |
+
}
|
1016 |
},
|
1017 |
|
1018 |
/**
|
1044 |
_submenuMouseleave: function( e )
|
1045 |
{
|
1046 |
var menu = $( this ),
|
1047 |
+
timeout = setTimeout( function() {
|
1048 |
+
menu.closest( '.fl-builder-has-submenu' ).removeClass( 'fl-builder-submenu-open' );
|
1049 |
}, 500 );
|
1050 |
|
1051 |
menu.data( 'timeout', timeout );
|
1052 |
},
|
1053 |
|
1054 |
+
/**
|
1055 |
+
* Callback for when the mouse enters the parent
|
1056 |
+
* of a nested submenu.
|
1057 |
+
*
|
1058 |
+
* @since 1.9
|
1059 |
+
* @access private
|
1060 |
+
* @method _submenuNestedParentMouseenter
|
1061 |
+
* @param {Object} e The event object.
|
1062 |
+
*/
|
1063 |
+
_submenuNestedParentMouseenter: function( e )
|
1064 |
+
{
|
1065 |
+
var parent = $( this ),
|
1066 |
+
submenu = parent.find( '.fl-builder-submenu' );
|
1067 |
+
|
1068 |
+
if( parent.width() + parent.offset().left + submenu.width() > $( window ).width() ) {
|
1069 |
+
parent.addClass( 'fl-builder-submenu-right' );
|
1070 |
+
}
|
1071 |
+
},
|
1072 |
+
|
1073 |
+
/**
|
1074 |
+
* Closes all open submenus.
|
1075 |
+
*
|
1076 |
+
* @since 1.9
|
1077 |
+
* @access private
|
1078 |
+
* @method _closeAllSubmenus
|
1079 |
+
*/
|
1080 |
+
_closeAllSubmenus: function()
|
1081 |
+
{
|
1082 |
+
$( '.fl-builder-submenu-open' ).removeClass( 'fl-builder-submenu-open' );
|
1083 |
+
},
|
1084 |
+
|
1085 |
/* Bar
|
1086 |
----------------------------------------------------------*/
|
1087 |
|
1621 |
FLBuilder._layoutSettingsInitCSS();
|
1622 |
|
1623 |
FLBuilder._initSettingsValidation({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1624 |
row_width: {
|
1625 |
required: true,
|
1626 |
number: true
|
1659 |
FLBuilder.ajax({
|
1660 |
action: 'save_global_settings',
|
1661 |
settings: settings
|
1662 |
+
}, FLBuilder._saveGlobalSettingsComplete);
|
1663 |
|
1664 |
FLBuilder._lightbox.close();
|
1665 |
}
|
1666 |
},
|
1667 |
+
|
1668 |
+
/**
|
1669 |
+
* Saves the global settings when the save button is clicked.
|
1670 |
+
*
|
1671 |
+
* @since 1.0
|
1672 |
+
* @access private
|
1673 |
+
* @method _saveGlobalSettingsComplete
|
1674 |
+
* @param {String} response
|
1675 |
+
*/
|
1676 |
+
_saveGlobalSettingsComplete: function( response )
|
1677 |
+
{
|
1678 |
+
FLBuilderConfig.global = JSON.parse( response );
|
1679 |
+
|
1680 |
+
FLBuilder._updateLayout();
|
1681 |
+
},
|
1682 |
|
1683 |
/* Template Selector
|
1684 |
----------------------------------------------------------*/
|
2357 |
/* Generic Drag and Drop
|
2358 |
----------------------------------------------------------*/
|
2359 |
|
2360 |
+
/**
|
2361 |
+
* Inserts drop targets for nodes such as rows, columns
|
2362 |
+
* and column groups since making those all sortables
|
2363 |
+
* makes sorting really jumpy.
|
2364 |
+
*
|
2365 |
+
* @since 1.9
|
2366 |
+
* @access private
|
2367 |
+
* @method _initDropTargets
|
2368 |
+
*/
|
2369 |
+
_initDropTargets: function()
|
2370 |
+
{
|
2371 |
+
var notGlobal = 'row' == FLBuilderConfig.userTemplateType ? '' : ':not(.fl-node-global)',
|
2372 |
+
rows = $( FLBuilder._contentClass + ' .fl-row' ),
|
2373 |
+
row = null,
|
2374 |
+
groups = $( FLBuilder._contentClass + ' .fl-row' + notGlobal ).find( '.fl-col-group' ),
|
2375 |
+
group = null,
|
2376 |
+
cols = null,
|
2377 |
+
i = 0;
|
2378 |
+
|
2379 |
+
// Remove old drop targets.
|
2380 |
+
$( '.fl-col-drop-target' ).remove();
|
2381 |
+
$( '.fl-col-group-drop-target' ).remove();
|
2382 |
+
$( '.fl-row-drop-target' ).remove();
|
2383 |
+
|
2384 |
+
// Row drop targets.
|
2385 |
+
$( FLBuilder._contentClass ).append( '<div class="fl-drop-target fl-row-drop-target"></div>' );
|
2386 |
+
rows.prepend( '<div class="fl-drop-target fl-row-drop-target"></div>' );
|
2387 |
+
rows.append( '<div class="fl-drop-target fl-drop-target-last fl-row-drop-target fl-row-drop-target-last"></div>' );
|
2388 |
+
|
2389 |
+
// Add group drop targets to empty rows.
|
2390 |
+
for ( ; i < rows.length; i++ ) {
|
2391 |
+
|
2392 |
+
row = rows.eq( i );
|
2393 |
+
|
2394 |
+
if ( 0 === row.find( '.fl-col-group' ).length ) {
|
2395 |
+
row.find( '.fl-row-content' ).append( '<div class="fl-drop-target fl-col-group-drop-target"></div>' );
|
2396 |
+
}
|
2397 |
+
}
|
2398 |
+
|
2399 |
+
// Loop through the column groups.
|
2400 |
+
for ( i = 0; i < groups.length; i++ ) {
|
2401 |
+
|
2402 |
+
group = groups.eq( i );
|
2403 |
+
cols = group.find( '> .fl-col' );
|
2404 |
+
|
2405 |
+
// Column group drop targets.
|
2406 |
+
if ( ! group.hasClass( 'fl-col-group-nested' ) ) {
|
2407 |
+
group.append( '<div class="fl-drop-target fl-col-group-drop-target"></div>' );
|
2408 |
+
group.append( '<div class="fl-drop-target fl-drop-target-last fl-col-group-drop-target fl-col-group-drop-target-last"></div>' );
|
2409 |
+
}
|
2410 |
+
|
2411 |
+
// Column drop targets.
|
2412 |
+
cols.append( '<div class="fl-drop-target fl-col-drop-target"></div>' );
|
2413 |
+
cols.append( '<div class="fl-drop-target fl-drop-target-last fl-col-drop-target fl-col-drop-target-last"></div>' );
|
2414 |
+
}
|
2415 |
+
},
|
2416 |
+
|
2417 |
/**
|
2418 |
* Returns a helper element for a drag operation.
|
2419 |
*
|
2442 |
* @method _blockDragInit
|
2443 |
* @param {Object} e The event object.
|
2444 |
*/
|
2445 |
+
_blockDragInit: function( e )
|
2446 |
{
|
2447 |
+
var target = $( e.currentTarget ),
|
2448 |
+
node = null,
|
2449 |
+
scrollTop = $( window ).scrollTop(),
|
2450 |
+
initialPos = 0;
|
2451 |
|
2452 |
// Set the _dragEnabled flag.
|
2453 |
FLBuilder._dragEnabled = true;
|
2454 |
|
2455 |
+
// Save the initial scroll position.
|
2456 |
+
FLBuilder._dragInitialScrollTop = scrollTop;
|
2457 |
+
|
2458 |
+
// Get the node to scroll to once the node highlights have affected the body height.
|
2459 |
+
if ( target.closest( '[data-node]' ).length > 0 ) {
|
2460 |
+
|
2461 |
+
// Set the node to a node instance being dragged.
|
2462 |
+
node = target.closest( '[data-node]' );
|
2463 |
+
|
2464 |
+
// Mark this node as initialized for dragging.
|
2465 |
+
node.addClass( 'fl-node-drag-init' );
|
|
|
|
|
|
|
|
|
2466 |
}
|
2467 |
+
else if ( target.hasClass( 'fl-builder-block' ) ) {
|
|
|
2468 |
|
2469 |
+
// Set the node to the first visible row instance.
|
2470 |
+
$( '.fl-row' ).each( function() {
|
2471 |
+
if ( node === null && $( this ).offset().top - scrollTop > 0 ) {
|
2472 |
+
node = $( this );
|
2473 |
}
|
2474 |
+
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2475 |
}
|
2476 |
|
2477 |
+
// Get the initial scroll position of the node.
|
2478 |
+
if ( node !== null ) {
|
2479 |
+
initialPos = node.offset().top - scrollTop;
|
|
|
|
|
|
|
|
|
|
|
|
|
2480 |
}
|
2481 |
|
2482 |
// Setup the UI for dragging.
|
2483 |
+
FLBuilder._highlightRowsAndColsForDrag( target );
|
2484 |
+
FLBuilder._adjustColHeightsForDrag();
|
2485 |
FLBuilder._disableGlobalRows();
|
2486 |
FLBuilder._closePanel();
|
2487 |
FLBuilder._destroyOverlayEvents();
|
2488 |
FLBuilder._removeAllOverlays();
|
2489 |
+
FLBuilder._initSortables();
|
2490 |
+
$( 'body' ).addClass( 'fl-builder-dragging' );
|
2491 |
+
$( '.fl-builder-empty-message' ).hide();
|
2492 |
+
$( '.fl-sortable-disabled' ).removeClass( 'fl-sortable-disabled' );
|
2493 |
|
2494 |
+
// Scroll to the node that is dragging.
|
2495 |
+
if ( initialPos > 0 ) {
|
2496 |
+
scrollTo( 0, node.offset().top - initialPos );
|
2497 |
}
|
2498 |
},
|
2499 |
|
2508 |
*/
|
2509 |
_blockDragStart: function(e, ui)
|
2510 |
{
|
2511 |
+
// Let the builder know dragging has started.
|
2512 |
FLBuilder._dragging = true;
|
2513 |
|
2514 |
+
// Removed the drag init class as we're done with that.
|
2515 |
+
$( '.fl-node-drag-init' ).removeClass( 'fl-node-drag-init' );
|
|
|
|
|
2516 |
},
|
2517 |
|
2518 |
/**
|
2527 |
*/
|
2528 |
_blockDragSort: function(e, ui)
|
2529 |
{
|
|
|
|
|
|
|
|
|
2530 |
var parent = ui.placeholder.parent(),
|
2531 |
title = FLBuilderStrings.insert;
|
2532 |
|
2533 |
+
// Prevent sorting?
|
2534 |
+
if ( FLBuilder._blockPreventSort( ui.item, parent ) ) {
|
2535 |
+
return;
|
2536 |
+
}
|
2537 |
+
|
2538 |
// Find the placeholder title.
|
2539 |
if(parent.hasClass('fl-col-content')) {
|
2540 |
+
if(ui.item.hasClass('fl-builder-block-row')) {
|
2541 |
+
title = ui.item.find('.fl-builder-block-title').text();
|
2542 |
+
}
|
2543 |
+
else if(ui.item.hasClass('fl-col-sortable-proxy-item')) {
|
2544 |
+
title = FLBuilderStrings.column;
|
2545 |
+
}
|
2546 |
+
else if(ui.item.hasClass('fl-builder-block-module')) {
|
2547 |
title = ui.item.find('.fl-builder-block-title').text();
|
2548 |
}
|
2549 |
else if(ui.item.hasClass('fl-builder-block-saved-module') || ui.item.hasClass('fl-builder-block-module-template')) {
|
2553 |
title = ui.item.attr('data-name');
|
2554 |
}
|
2555 |
}
|
2556 |
+
else if(parent.hasClass('fl-col-drop-target')) {
|
2557 |
+
title = '';
|
2558 |
+
}
|
2559 |
+
else if (parent.hasClass('fl-col-group-drop-target')) {
|
2560 |
+
title = '';
|
|
|
|
|
2561 |
}
|
2562 |
+
else if(parent.hasClass('fl-row-drop-target')) {
|
2563 |
if(ui.item.hasClass('fl-builder-block-row')) {
|
2564 |
title = ui.item.find('.fl-builder-block-title').text();
|
2565 |
}
|
2566 |
else if(ui.item.hasClass('fl-builder-block-saved-row')) {
|
2567 |
title = ui.item.find('.fl-builder-block-title').text();
|
2568 |
}
|
2569 |
+
else if(ui.item.hasClass('fl-row-sortable-proxy-item')) {
|
2570 |
title = FLBuilderStrings.row;
|
2571 |
}
|
2572 |
else {
|
2578 |
ui.placeholder.html(title);
|
2579 |
|
2580 |
// Add the global class?
|
2581 |
+
if ( ui.item.hasClass( 'fl-node-global' ) ||
|
2582 |
+
ui.item.hasClass( 'fl-builder-block-global' ) ||
|
2583 |
+
$( '.fl-node-dragging' ).hasClass( 'fl-node-global' )
|
2584 |
+
) {
|
2585 |
ui.placeholder.addClass( 'fl-builder-drop-zone-global' );
|
2586 |
}
|
2587 |
else {
|
2589 |
}
|
2590 |
},
|
2591 |
|
2592 |
+
/**
|
2593 |
+
* Callback that fires when an element that is being
|
2594 |
+
* dragged position changes.
|
2595 |
+
*
|
2596 |
+
* @since 1.9
|
2597 |
+
* @access private
|
2598 |
+
* @method _blockDragChange
|
2599 |
+
* @param {Object} e The event object.
|
2600 |
+
* @param {Object} ui An object with additional info for the drag.
|
2601 |
+
*/
|
2602 |
+
_blockDragChange: function( e, ui )
|
2603 |
+
{
|
2604 |
+
ui.placeholder.hide();
|
2605 |
+
ui.placeholder.fadeIn( 100 );
|
2606 |
+
},
|
2607 |
+
|
2608 |
+
/**
|
2609 |
+
* Prevents sorting of items that shouldn't be sorted into
|
2610 |
+
* specific areas.
|
2611 |
+
*
|
2612 |
+
* @since 1.9
|
2613 |
+
* @access private
|
2614 |
+
* @method _blockPreventSort
|
2615 |
+
* @param {Object} item The item being sorted.
|
2616 |
+
* @param {Object} parent The new parent.
|
2617 |
+
*/
|
2618 |
+
_blockPreventSort: function( item, parent )
|
2619 |
+
{
|
2620 |
+
var prevent = false,
|
2621 |
+
isRowBlock = item.hasClass( 'fl-builder-block-row' ),
|
2622 |
+
isCol = item.hasClass( 'fl-col-sortable-proxy-item' ),
|
2623 |
+
isParentCol = parent.hasClass( 'fl-col-content' ),
|
2624 |
+
isColTarget = parent.hasClass( 'fl-col-drop-target' ),
|
2625 |
+
group = parent.parents( '.fl-col-group:not(.fl-col-group-nested)' ),
|
2626 |
+
nestedGroup = parent.parents( '.fl-col-group-nested' );
|
2627 |
+
|
2628 |
+
// Prevent columns in nested columns.
|
2629 |
+
if ( ( isRowBlock || isCol ) && isParentCol && nestedGroup.length > 0 ) {
|
2630 |
+
prevent = true;
|
2631 |
+
}
|
2632 |
+
|
2633 |
+
// Prevent 1 column from being nested in an empty column.
|
2634 |
+
if ( isParentCol && ! parent.find( '.fl-module, .fl-col' ).length ) {
|
2635 |
+
|
2636 |
+
if ( isRowBlock && '1-col' == item.data( 'cols' ) ) {
|
2637 |
+
prevent = true;
|
2638 |
+
}
|
2639 |
+
else if ( isCol ) {
|
2640 |
+
prevent = true;
|
2641 |
+
}
|
2642 |
+
}
|
2643 |
+
|
2644 |
+
// Prevent 5 or 6 columns from being nested.
|
2645 |
+
if ( isRowBlock && isParentCol && $.inArray( item.data( 'cols' ), [ '5-cols', '6-cols' ] ) > -1 ) {
|
2646 |
+
prevent = true;
|
2647 |
+
}
|
2648 |
+
|
2649 |
+
// Prevent columns with nested columns from being dropped in nested columns.
|
2650 |
+
if ( isCol && $( '.fl-node-dragging' ).find( '.fl-col-group-nested' ).length > 0 ) {
|
2651 |
+
|
2652 |
+
if ( isParentCol || ( isColTarget && nestedGroup.length > 0 ) ) {
|
2653 |
+
prevent = true;
|
2654 |
+
}
|
2655 |
+
}
|
2656 |
+
|
2657 |
+
// Prevent more than 12 columns.
|
2658 |
+
if ( isColTarget && group.length > 0 && 0 === nestedGroup.length && group.find( '> .fl-col:visible' ).length > 11 ) {
|
2659 |
+
prevent = true;
|
2660 |
+
}
|
2661 |
+
|
2662 |
+
// Prevent more than 4 nested columns.
|
2663 |
+
if ( isColTarget && nestedGroup.length > 0 && nestedGroup.find( '.fl-col:visible' ).length > 3 ) {
|
2664 |
+
prevent = true;
|
2665 |
+
}
|
2666 |
+
|
2667 |
+
// Add the disabled class if we are preventing a sort.
|
2668 |
+
if ( prevent ) {
|
2669 |
+
parent.addClass( 'fl-sortable-disabled' );
|
2670 |
+
}
|
2671 |
+
|
2672 |
+
return prevent;
|
2673 |
+
},
|
2674 |
+
|
2675 |
/**
|
2676 |
* Cleans up when a drag operation has stopped.
|
2677 |
*
|
2681 |
* @param {Object} e The event object.
|
2682 |
* @param {Object} ui An object with additional info for the drag.
|
2683 |
*/
|
2684 |
+
_blockDragStop: function( e, ui )
|
2685 |
{
|
2686 |
+
var scrollTop = $( window ).scrollTop(),
|
2687 |
+
parent = ui.item.parent(),
|
2688 |
+
initialPos = null;
|
2689 |
+
|
2690 |
+
// Get the node to scroll to once removing the node highlights affects the body height.
|
2691 |
+
if ( parent.hasClass( 'fl-drop-target' ) && parent.closest( '[data-node]' ).length ) {
|
2692 |
+
parent = parent.closest( '[data-node]' );
|
2693 |
+
initialPos = parent.offset().top - scrollTop;
|
2694 |
+
}
|
2695 |
+
else {
|
2696 |
+
initialPos = parent.offset().top - scrollTop;
|
2697 |
+
}
|
2698 |
|
2699 |
+
// Show the panel if a block was dropped back in.
|
2700 |
+
if ( parent.hasClass( 'fl-builder-blocks-section-content' ) ) {
|
2701 |
FLBuilder._showPanel();
|
2702 |
}
|
2703 |
|
2707 |
FLBuilder._bindOverlayEvents();
|
2708 |
FLBuilder._highlightEmptyCols();
|
2709 |
FLBuilder._enableGlobalRows();
|
2710 |
+
FLBuilder._setupEmptyLayout();
|
2711 |
+
$( 'body' ).removeClass( 'fl-builder-dragging' );
|
2712 |
|
2713 |
// Scroll the page back to where it was.
|
2714 |
+
scrollTo( 0, parent.offset().top - initialPos );
|
2715 |
},
|
2716 |
|
2717 |
/**
|
2723 |
*/
|
2724 |
_blockDragCancel: function()
|
2725 |
{
|
2726 |
+
if ( FLBuilder._dragEnabled && ! FLBuilder._dragging ) {
|
2727 |
FLBuilder._dragEnabled = false;
|
2728 |
FLBuilder._dragging = false;
|
2729 |
FLBuilder._bindOverlayEvents();
|
2730 |
FLBuilder._highlightEmptyCols();
|
2731 |
FLBuilder._enableGlobalRows();
|
2732 |
+
FLBuilder._setupEmptyLayout();
|
2733 |
+
$( 'body' ).removeClass( 'fl-builder-dragging' );
|
2734 |
+
$( '.fl-node-drag-init' ).removeClass( 'fl-node-drag-init' );
|
2735 |
+
$( '.fl-node-dragging' ).removeClass( 'fl-node-dragging' );
|
2736 |
+
scrollTo( 0, FLBuilder._dragInitialScrollTop );
|
2737 |
}
|
2738 |
},
|
2739 |
|
2740 |
+
/**
|
2741 |
+
* Reorders a node within its parent.
|
2742 |
+
*
|
2743 |
+
* @since 1.9
|
2744 |
+
* @access private
|
2745 |
+
* @method _reorderNode
|
2746 |
+
* @param {String} nodeId The node ID of the node.
|
2747 |
+
* @param {Number} position The new position.
|
2748 |
+
*/
|
2749 |
+
_reorderNode: function( nodeId, position )
|
2750 |
+
{
|
2751 |
+
FLBuilder.ajax( {
|
2752 |
+
action: 'reorder_node',
|
2753 |
+
node_id: nodeId,
|
2754 |
+
position: position,
|
2755 |
+
silent: true
|
2756 |
+
} );
|
2757 |
+
},
|
2758 |
+
|
2759 |
+
/**
|
2760 |
+
* Moves a node to a new parent.
|
2761 |
+
*
|
2762 |
+
* @since 1.9
|
2763 |
+
* @access private
|
2764 |
+
* @method _moveNode
|
2765 |
+
* @param {String} newParent The node ID of the new parent.
|
2766 |
+
* @param {String} nodeId The node ID of the node.
|
2767 |
+
* @param {Number} position The new position.
|
2768 |
+
*/
|
2769 |
+
_moveNode: function( newParent, nodeId, position )
|
2770 |
+
{
|
2771 |
+
FLBuilder.ajax({
|
2772 |
+
action: 'move_node',
|
2773 |
+
new_parent: newParent,
|
2774 |
+
node_id: nodeId,
|
2775 |
+
position: position,
|
2776 |
+
silent: true
|
2777 |
+
});
|
2778 |
+
},
|
2779 |
+
|
2780 |
/**
|
2781 |
* Removes all node overlays and hides any tooltip helpies.
|
2782 |
*
|
2788 |
{
|
2789 |
FLBuilder._removeRowOverlays();
|
2790 |
FLBuilder._removeColOverlays();
|
2791 |
+
FLBuilder._removeColHighlightGuides();
|
2792 |
FLBuilder._removeModuleOverlays();
|
2793 |
FLBuilder._hideTipTips();
|
2794 |
},
|
2837 |
overlayPos = isNaN( overlayPos ) ? 0 : overlayPos;
|
2838 |
overlay.css( 'bottom', ( margins.bottom + overlayPos ) + 'px' );
|
2839 |
}
|
2840 |
+
|
2841 |
return overlay;
|
2842 |
},
|
2843 |
|
|
|
|
|
|
|
2844 |
/**
|
2845 |
+
* Builds the overflow menu for an overlay if necessary.
|
2846 |
*
|
2847 |
+
* @since 1.9
|
2848 |
* @access private
|
2849 |
+
* @method _buildOverlayOverflowMenu
|
2850 |
+
* @param {Object} overlay The overlay object.
|
2851 |
*/
|
2852 |
+
_buildOverlayOverflowMenu: function( overlay )
|
2853 |
{
|
2854 |
+
var actions = overlay.find( '.fl-block-overlay-actions' ),
|
2855 |
+
original = actions.data( 'original' ),
|
2856 |
+
actionsWidth = 0,
|
2857 |
+
items = null,
|
2858 |
+
itemsWidth = 0,
|
2859 |
+
item = null,
|
2860 |
+
i = 0,
|
2861 |
+
visibleItems = [],
|
2862 |
+
overflowItems = [],
|
2863 |
+
menuData = [],
|
2864 |
+
template = wp.template( 'fl-overlay-overflow-menu' );
|
2865 |
|
2866 |
+
// Use the original copy if we have one.
|
2867 |
+
if ( undefined != original ) {
|
2868 |
+
actions.after( original );
|
2869 |
+
actions.remove();
|
2870 |
+
actions = original;
|
2871 |
+
}
|
2872 |
|
2873 |
+
// Save a copy of the original actions.
|
2874 |
+
actions.data( 'original', actions.clone() );
|
2875 |
+
|
2876 |
+
// Get the actions width and items.
|
2877 |
+
actionsWidth = actions[0].getBoundingClientRect().width;
|
2878 |
+
items = actions.find( ' > i, > span.fl-builder-has-submenu' );
|
2879 |
+
|
2880 |
+
// Find visible and overflow items.
|
2881 |
+
for( ; i < items.length; i++ ) {
|
2882 |
|
2883 |
+
item = items.eq( i );
|
2884 |
+
itemsWidth += item.outerWidth();
|
2885 |
|
2886 |
+
if ( itemsWidth > actionsWidth ) {
|
2887 |
+
overflowItems.push( item );
|
2888 |
+
item.remove();
|
2889 |
}
|
2890 |
+
else {
|
2891 |
+
visibleItems.push( item );
|
2892 |
+
}
|
2893 |
+
}
|
2894 |
+
|
2895 |
+
// Build the menu if we have overflow items.
|
2896 |
+
if ( overflowItems.length > 0 ) {
|
2897 |
+
|
2898 |
+
overflowItems.unshift( visibleItems.pop().remove() );
|
2899 |
+
|
2900 |
+
for( i = 0; i < overflowItems.length; i++ ) {
|
2901 |
+
|
2902 |
+
if ( overflowItems[ i ].is( '.fl-builder-has-submenu' ) ) {
|
2903 |
+
menuData.push( {
|
2904 |
+
type : 'submenu',
|
2905 |
+
label : overflowItems[ i ].find( '.fa' ).data( 'title' ),
|
2906 |
+
submenu : overflowItems[ i ].find( '.fl-builder-submenu' )[0].outerHTML
|
2907 |
+
} );
|
2908 |
+
}
|
2909 |
+
else {
|
2910 |
+
menuData.push( {
|
2911 |
+
type : 'action',
|
2912 |
+
label : overflowItems[ i ].data( 'title' ),
|
2913 |
+
className : overflowItems[ i ].removeClass( function( i, c ) {
|
2914 |
+
return c.replace( /fl-block-([^\s]+)/, '' );
|
2915 |
+
} ).attr( 'class' )
|
2916 |
+
} );
|
2917 |
+
}
|
2918 |
+
}
|
2919 |
+
|
2920 |
+
actions.append( template( menuData ) );
|
2921 |
+
FLBuilder._initTipTips();
|
2922 |
+
}
|
2923 |
},
|
2924 |
|
2925 |
+
/* Rows
|
2926 |
+
----------------------------------------------------------*/
|
2927 |
+
|
2928 |
/**
|
2929 |
* Removes all row overlays from the page.
|
2930 |
*
|
2952 |
return;
|
2953 |
}
|
2954 |
|
2955 |
+
$('.fl-row.fl-node-global').addClass( 'fl-node-disabled' );
|
|
|
|
|
|
|
2956 |
},
|
2957 |
|
2958 |
/**
|
2969 |
}
|
2970 |
|
2971 |
$( '.fl-node-disabled' ).removeClass( 'fl-node-disabled' );
|
|
|
2972 |
},
|
2973 |
|
2974 |
/**
|
3052 |
*/
|
3053 |
_rowDragHelper: function()
|
3054 |
{
|
3055 |
+
return $('<div class="fl-builder-block-drag-helper">' + FLBuilderStrings.row + '</div>');
|
3056 |
+
},
|
3057 |
+
|
3058 |
+
/**
|
3059 |
+
* Initializes dragging for row. Rows themselves aren't sortables
|
3060 |
+
* as nesting that many sortables breaks down quickly and draggable by
|
3061 |
+
* itself is slow. Instead, we are programmatically triggering the drag
|
3062 |
+
* of our helper div that isn't a nested sortable but connected to the
|
3063 |
+
* sortables in the main layout.
|
3064 |
+
*
|
3065 |
+
* @since 1.9
|
3066 |
+
* @access private
|
3067 |
+
* @method _rowDragInit
|
3068 |
+
* @param {Object} e The event object.
|
3069 |
+
*/
|
3070 |
+
_rowDragInit: function( e )
|
3071 |
+
{
|
3072 |
+
var handle = $( e.target ),
|
3073 |
+
helper = $( '.fl-row-sortable-proxy-item' ),
|
3074 |
+
row = handle.closest( '.fl-row' );
|
3075 |
+
|
3076 |
+
row.addClass( 'fl-node-dragging' );
|
3077 |
+
|
3078 |
+
FLBuilder._blockDragInit( e );
|
3079 |
+
|
3080 |
+
e.target = helper[ 0 ];
|
3081 |
+
|
3082 |
+
helper.trigger( e );
|
3083 |
+
},
|
3084 |
+
|
3085 |
+
/**
|
3086 |
+
* Callback that fires when dragging starts for a row.
|
3087 |
+
*
|
3088 |
+
* @since 1.9
|
3089 |
+
* @access private
|
3090 |
+
* @method _rowDragStart
|
3091 |
+
* @param {Object} e The event object.
|
3092 |
+
* @param {Object} ui An object with additional info for the drag.
|
3093 |
+
*/
|
3094 |
+
_rowDragStart: function( e, ui )
|
3095 |
+
{
|
3096 |
+
var rows = $( FLBuilder._contentClass + ' .fl-row' ),
|
3097 |
+
row = $( '.fl-node-dragging' );
|
3098 |
+
|
3099 |
+
if ( 1 === rows.length ) {
|
3100 |
+
$( FLBuilder._contentClass ).addClass( 'fl-builder-empty' );
|
3101 |
+
}
|
3102 |
+
|
3103 |
+
row.hide();
|
3104 |
+
|
3105 |
+
FLBuilder._blockDragStart( e, ui );
|
3106 |
},
|
3107 |
|
3108 |
/**
|
3114 |
* @param {Object} e The event object.
|
3115 |
* @param {Object} ui An object with additional info for the drag.
|
3116 |
*/
|
3117 |
+
_rowDragStop: function( e, ui )
|
3118 |
{
|
3119 |
+
var item = ui.item,
|
3120 |
+
parent = item.parent(),
|
3121 |
+
row = null,
|
3122 |
+
group = null,
|
3123 |
+
position = 0;
|
3124 |
|
3125 |
+
FLBuilder._blockDragStop( e, ui );
|
3126 |
+
|
3127 |
// A row was dropped back into the row list.
|
3128 |
+
if ( parent.hasClass( 'fl-builder-rows' ) ) {
|
3129 |
item.remove();
|
3130 |
return;
|
3131 |
}
|
3132 |
+
// A row was dropped back into the sortable proxy.
|
3133 |
+
else if ( parent.hasClass( 'fl-row-sortable-proxy' ) ) {
|
3134 |
+
$( '.fl-node-dragging' ).removeClass( 'fl-node-dragging' ).show();
|
3135 |
+
return;
|
3136 |
+
}
|
3137 |
// Add a new row.
|
3138 |
+
else if ( item.hasClass( 'fl-builder-block' ) ) {
|
3139 |
|
3140 |
+
// Cancel the drop if the sortable is disabled?
|
3141 |
+
if ( parent.hasClass( 'fl-sortable-disabled' ) ) {
|
3142 |
+
item.remove();
|
3143 |
+
FLBuilder._showPanel();
|
3144 |
+
return;
|
3145 |
+
}
|
3146 |
+
// A new row was dropped into column.
|
3147 |
+
else if ( parent.hasClass( 'fl-col-content' ) ) {
|
3148 |
FLBuilder._addColGroup(
|
3149 |
+
item.closest( '.fl-col' ).attr( 'data-node' ),
|
3150 |
+
item.attr( 'data-cols' ),
|
3151 |
+
parent.find( '> .fl-module, .fl-col-group, .fl-builder-block' ).index( item )
|
3152 |
);
|
3153 |
}
|
3154 |
+
// A new row was dropped next to a column.
|
3155 |
+
else if ( parent.hasClass( 'fl-col-drop-target' ) ) {
|
3156 |
+
FLBuilder._addCols(
|
3157 |
+
parent.closest( '.fl-col' ),
|
3158 |
+
parent.hasClass( 'fl-col-drop-target-last' ) ? 'after' : 'before',
|
3159 |
+
item.attr( 'data-cols' ),
|
3160 |
+
parent.closest( '.fl-col-group-nested' ).length > 0
|
3161 |
+
);
|
3162 |
+
}
|
3163 |
+
// A new row was dropped into a column group position.
|
3164 |
+
else if ( parent.hasClass( 'fl-col-group-drop-target' ) ) {
|
3165 |
+
|
3166 |
+
group = item.closest( '.fl-col-group' );
|
3167 |
+
position = item.closest( '.fl-row' ).find( '.fl-row-content > .fl-col-group' ).index( group );
|
3168 |
+
|
3169 |
+
FLBuilder._addColGroup(
|
3170 |
+
item.closest( '.fl-row' ).attr( 'data-node' ),
|
3171 |
+
item.attr( 'data-cols' ),
|
3172 |
+
parent.hasClass( 'fl-drop-target-last' ) ? position + 1 : position
|
3173 |
+
);
|
3174 |
+
}
|
3175 |
+
// A row was dropped into a row position.
|
3176 |
+
else {
|
3177 |
+
|
3178 |
+
row = item.closest( '.fl-row' );
|
3179 |
+
position = ! row.length ? 0 : $( FLBuilder._contentClass + ' .fl-row' ).index( row );
|
3180 |
+
|
3181 |
+
FLBuilder._addRow(
|
3182 |
+
item.attr('data-cols'),
|
3183 |
+
parent.hasClass( 'fl-drop-target-last' ) ? position + 1 : position
|
3184 |
);
|
3185 |
}
|
3186 |
|
3191 |
FLBuilder._showPanel();
|
3192 |
|
3193 |
// Show the module list.
|
3194 |
+
$( '.fl-builder-modules' ).siblings( '.fl-builder-blocks-section-title' ).eq( 0 ).trigger( 'click' );
|
3195 |
}
|
3196 |
// Reorder a row.
|
3197 |
else {
|
3198 |
+
|
3199 |
+
row = $( '.fl-node-dragging' ).removeClass( 'fl-node-dragging' ).show();
|
3200 |
+
|
3201 |
+
// Make sure a single row wasn't dropped back into the main layout.
|
3202 |
+
if ( ! parent.parent().hasClass( 'fl-builder-content' ) ) {
|
3203 |
+
|
3204 |
+
// Move the row in the UI.
|
3205 |
+
if ( parent.hasClass( 'fl-drop-target-last' ) ) {
|
3206 |
+
parent.parent().after( row );
|
3207 |
+
}
|
3208 |
+
else {
|
3209 |
+
parent.parent().before( row );
|
3210 |
+
}
|
3211 |
+
|
3212 |
+
// Reorder the row.
|
3213 |
+
FLBuilder._reorderNode(
|
3214 |
+
row.attr('data-node'),
|
3215 |
+
row.index()
|
3216 |
+
);
|
3217 |
+
}
|
3218 |
+
|
3219 |
+
// Revert the proxy to its parent.
|
3220 |
+
$( '.fl-row-sortable-proxy' ).append( ui.item );
|
3221 |
}
|
3222 |
},
|
3223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3224 |
/**
|
3225 |
* Adds a new row to the layout.
|
3226 |
*
|
3257 |
{
|
3258 |
var data = JSON.parse(response),
|
3259 |
content = $(FLBuilder._contentClass),
|
3260 |
+
rowId = $(data.html).data('node'),
|
3261 |
+
module = FLBuilder._addModuleAfterNodeRender;
|
3262 |
|
3263 |
// Add new row info to the data.
|
3264 |
data.nodeParent = content;
|
3268 |
FLBuilder._renderLayout( data, function(){
|
3269 |
|
3270 |
// Add a module to the newly created row.
|
3271 |
+
if(module !== null) {
|
3272 |
+
$('.fl-node-' + rowId + ' .fl-col-content').append(module);
|
3273 |
+
FLBuilder._reorderModule(module);
|
3274 |
+
FLBuilder._addModuleAfterNodeRender = null;
|
|
|
|
|
|
|
|
|
|
|
3275 |
}
|
3276 |
} );
|
3277 |
},
|
3286 |
*/
|
3287 |
_deleteRowClicked: function( e )
|
3288 |
{
|
3289 |
+
var row = $(this).closest('.fl-row'),
|
|
|
3290 |
result = null;
|
3291 |
|
3292 |
if(!row.find('.fl-module').length) {
|
3380 |
_rowSettingsClicked: function( e )
|
3381 |
{
|
3382 |
var button = $( this ),
|
3383 |
+
nodeId = button.closest( '.fl-row' ).attr( 'data-node' ),
|
3384 |
global = button.closest( '.fl-block-overlay-global' ).length > 0;
|
3385 |
|
3386 |
if ( global && 'row' != FLBuilderConfig.userTemplateType ) {
|
3426 |
/* Columns
|
3427 |
----------------------------------------------------------*/
|
3428 |
|
3429 |
+
/**
|
3430 |
+
* Adds a dashed border to empty columns.
|
3431 |
+
*
|
3432 |
+
* @since 1.0
|
3433 |
+
* @access private
|
3434 |
+
* @method _highlightEmptyCols
|
3435 |
+
*/
|
3436 |
+
_highlightEmptyCols: function()
|
3437 |
+
{
|
3438 |
+
var notGlobal = 'row' == FLBuilderConfig.userTemplateType ? '' : ':not(.fl-node-global)',
|
3439 |
+
rows = $(FLBuilder._contentClass + ' .fl-row' + notGlobal),
|
3440 |
+
cols = $(FLBuilder._contentClass + ' .fl-col' + notGlobal);
|
3441 |
+
|
3442 |
+
$( '.fl-row-highlight' ).removeClass('fl-row-highlight');
|
3443 |
+
cols.removeClass('fl-col-highlight').find('.fl-col-content').css( 'height', '' );
|
3444 |
+
|
3445 |
+
cols.each(function(){
|
3446 |
+
|
3447 |
+
var col = $(this);
|
3448 |
+
|
3449 |
+
if(col.find('.fl-module, .fl-col').length === 0) {
|
3450 |
+
col.addClass('fl-col-highlight');
|
3451 |
+
}
|
3452 |
+
});
|
3453 |
+
},
|
3454 |
+
|
3455 |
+
/**
|
3456 |
+
* Sets up dashed borders to show where things can
|
3457 |
+
* be dropped in rows and columns.
|
3458 |
+
*
|
3459 |
+
* @since 1.9
|
3460 |
+
* @access private
|
3461 |
+
* @method _highlightRowsAndColsForDrag
|
3462 |
+
* @param {Object} target The event target for the drag.
|
3463 |
+
*/
|
3464 |
+
_highlightRowsAndColsForDrag: function( target )
|
3465 |
+
{
|
3466 |
+
var notGlobal = 'row' == FLBuilderConfig.userTemplateType ? '' : ':not(.fl-node-global)';
|
3467 |
+
|
3468 |
+
// Highlight rows.
|
3469 |
+
$( FLBuilder._contentClass + ' .fl-row' ).addClass( 'fl-row-highlight' );
|
3470 |
+
|
3471 |
+
// Highlight columns.
|
3472 |
+
if ( ! target.closest( '.fl-row-overlay' ).length ) {
|
3473 |
+
$( FLBuilder._contentClass + ' .fl-col' + notGlobal ).addClass( 'fl-col-highlight' );
|
3474 |
+
}
|
3475 |
+
},
|
3476 |
+
|
3477 |
+
/**
|
3478 |
+
* Adjust the height of columns with modules in them
|
3479 |
+
* to account for the drop zone and keep the layout
|
3480 |
+
* from jumping around.
|
3481 |
+
*
|
3482 |
+
* @since 1.9
|
3483 |
+
* @access private
|
3484 |
+
* @method _adjustColHeightsForDrag
|
3485 |
+
*/
|
3486 |
+
_adjustColHeightsForDrag: function()
|
3487 |
+
{
|
3488 |
+
var notGlobal = 'row' == FLBuilderConfig.userTemplateType ? '' : '.fl-row:not(.fl-node-global) ',
|
3489 |
+
content = $( FLBuilder._contentClass ),
|
3490 |
+
notNested = content.find( notGlobal + '.fl-col-group:not(.fl-col-group-nested) > .fl-col > .fl-col-content' ),
|
3491 |
+
nested = content.find( notGlobal + '.fl-col-group-nested .fl-col-content' ),
|
3492 |
+
col = null,
|
3493 |
+
i = 0;
|
3494 |
+
|
3495 |
+
$( '.fl-node-drag-init' ).hide();
|
3496 |
+
|
3497 |
+
for ( ; i < nested.length; i++ ) {
|
3498 |
+
FLBuilder._adjustColHeightForDrag( nested.eq( i ) );
|
3499 |
+
}
|
3500 |
+
|
3501 |
+
for ( i = 0; i < notNested.length; i++ ) {
|
3502 |
+
FLBuilder._adjustColHeightForDrag( notNested.eq( i ) );
|
3503 |
+
}
|
3504 |
+
|
3505 |
+
$( '.fl-node-drag-init' ).show();
|
3506 |
+
},
|
3507 |
+
|
3508 |
+
/**
|
3509 |
+
* Adjust the height of a single column for dragging.
|
3510 |
+
*
|
3511 |
+
* @since 1.9
|
3512 |
+
* @access private
|
3513 |
+
* @method _adjustColHeightForDrag
|
3514 |
+
*/
|
3515 |
+
_adjustColHeightForDrag: function( col )
|
3516 |
+
{
|
3517 |
+
if ( col.find( '.fl-module:visible, .fl-col:visible' ).length ) {
|
3518 |
+
col.height( col.height() + 45 );
|
3519 |
+
}
|
3520 |
+
},
|
3521 |
+
|
3522 |
+
/**
|
3523 |
+
* Adds a border guide to a column when the column
|
3524 |
+
* actions submenu is open for a module.
|
3525 |
+
*
|
3526 |
+
* @since 1.9
|
3527 |
+
* @access private
|
3528 |
+
* @method _showColHighlightGuide
|
3529 |
+
*/
|
3530 |
+
_showColHighlightGuide: function()
|
3531 |
+
{
|
3532 |
+
var li = $( this ),
|
3533 |
+
link = li.find( 'a' ),
|
3534 |
+
col = li.closest( '.fl-col' ),
|
3535 |
+
parentCol = col.parents( '.fl-col' ),
|
3536 |
+
guide = $( '<div class="fl-col-highlight-guide"></div>' ),
|
3537 |
+
guideTop = null,
|
3538 |
+
overlayTop = li.closest( '.fl-block-overlay' ).offset().top;
|
3539 |
+
|
3540 |
+
if ( link.hasClass( 'fl-block-col-move-parent' ) || link.hasClass( 'fl-block-col-edit-parent' ) ) {
|
3541 |
+
col = parentCol;
|
3542 |
+
}
|
3543 |
+
if ( col.hasClass( 'fl-col-highlight' ) ) {
|
3544 |
+
return;
|
3545 |
+
}
|
3546 |
+
|
3547 |
+
col.find( '> .fl-col-content' ).append( guide );
|
3548 |
+
col.addClass( 'fl-col-has-highlight-guide' );
|
3549 |
+
|
3550 |
+
guideTop = guide.offset().top;
|
3551 |
+
|
3552 |
+
if ( guideTop > overlayTop ) {
|
3553 |
+
guide.css( 'top', ( overlayTop - guideTop + 4 ) + 'px' );
|
3554 |
+
}
|
3555 |
+
},
|
3556 |
+
|
3557 |
+
/**
|
3558 |
+
* Removes all column highlight guides.
|
3559 |
+
*
|
3560 |
+
* @since 1.9
|
3561 |
+
* @access private
|
3562 |
+
* @method _showColHighlightGuide
|
3563 |
+
*/
|
3564 |
+
_removeColHighlightGuides: function()
|
3565 |
+
{
|
3566 |
+
$( '.fl-col-has-highlight-guide' ).removeClass( 'fl-col-has-highlight-guide' );
|
3567 |
+
$( '.fl-col-highlight-guide' ).remove();
|
3568 |
+
},
|
3569 |
+
|
3570 |
/**
|
3571 |
* Shows an overlay with actions when the mouse enters a column.
|
3572 |
*
|
3577 |
_colMouseenter: function()
|
3578 |
{
|
3579 |
var col = $( this ),
|
3580 |
+
group = col.closest( '.fl-col-group' ),
|
3581 |
global = col.hasClass( 'fl-node-global' ),
|
3582 |
parentGlobal = col.parents( '.fl-node-global' ).length > 0,
|
3583 |
+
numCols = col.closest( '.fl-col-group' ).find( '> .fl-col' ).length,
|
3584 |
+
index = group.find( '> .fl-col' ).index( col ),
|
3585 |
+
first = 0 === index,
|
3586 |
+
last = numCols === index + 1,
|
3587 |
+
hasChildCols = col.find( '.fl-col' ).length > 0,
|
3588 |
+
parentCol = col.parents( '.fl-col' ),
|
3589 |
+
parentGroup = parentCol.closest( '.fl-col-group' ),
|
3590 |
+
hasParentCol = parentCol.length > 0,
|
3591 |
+
numParentCols = hasParentCol ? parentGroup.find( '> .fl-col' ).length : 0,
|
3592 |
+
parentIndex = parentGroup.find( '> .fl-col' ).index( parentCol ),
|
3593 |
+
parentFirst = hasParentCol ? 0 === parentIndex : false,
|
3594 |
+
parentLast = hasParentCol ? numParentCols === parentIndex + 1 : false,
|
3595 |
+
contentWidth = col.find( '> .fl-col-content' ).width(),
|
3596 |
+
template = wp.template( 'fl-col-overlay' ),
|
3597 |
+
overlay = null;
|
3598 |
+
|
3599 |
if ( FLBuilderConfig.simpleUi ) {
|
3600 |
return;
|
3601 |
}
|
3605 |
else if ( col.find( '.fl-module' ).length > 0 ) {
|
3606 |
return;
|
3607 |
}
|
3608 |
+
else if ( col.find( '.fl-col' ).length > 0 ) {
|
3609 |
+
return;
|
3610 |
+
}
|
3611 |
else if ( ! col.hasClass( 'fl-block-overlay-active' ) ) {
|
3612 |
|
3613 |
// Remove existing overlays.
|
3615 |
FLBuilder._removeModuleOverlays();
|
3616 |
|
3617 |
// Append the template.
|
3618 |
+
overlay = FLBuilder._appendOverlay( col, template( {
|
3619 |
+
global : global,
|
3620 |
+
numCols : numCols,
|
3621 |
+
first : first,
|
3622 |
+
last : last,
|
3623 |
+
hasChildCols : hasChildCols,
|
3624 |
+
hasParentCol : hasParentCol,
|
3625 |
+
parentFirst : parentFirst,
|
3626 |
+
parentLast : parentLast,
|
3627 |
+
numParentCols : numParentCols,
|
3628 |
+
contentWidth : contentWidth
|
3629 |
} ) );
|
3630 |
|
3631 |
+
// Build the overlay overflow menu if needed.
|
3632 |
+
FLBuilder._buildOverlayOverflowMenu( overlay );
|
3633 |
+
|
3634 |
// Init column resizing.
|
3635 |
FLBuilder._initColDragResizing();
|
3636 |
}
|
3654 |
isTipTip = toElement.is('#tiptip_holder'),
|
3655 |
isTipTipChild = toElement.closest('#tiptip_holder').length > 0;
|
3656 |
|
3657 |
+
if( isTipTip || isTipTipChild ) {
|
3658 |
+
return;
|
3659 |
+
}
|
3660 |
+
if( hasModules ) {
|
3661 |
return;
|
3662 |
}
|
3663 |
|
3664 |
FLBuilder._removeColOverlays();
|
3665 |
+
FLBuilder._removeColHighlightGuides();
|
3666 |
},
|
3667 |
|
3668 |
/**
|
3681 |
$('body').removeClass('fl-block-overlay-muted');
|
3682 |
},
|
3683 |
|
3684 |
+
/**
|
3685 |
+
* Returns a helper element for column drag operations.
|
3686 |
+
*
|
3687 |
+
* @since 1.9
|
3688 |
+
* @access private
|
3689 |
+
* @method _colDragHelper
|
3690 |
+
* @return {Object} The helper element.
|
3691 |
+
*/
|
3692 |
+
_colDragHelper: function()
|
3693 |
+
{
|
3694 |
+
return $('<div class="fl-builder-block-drag-helper">' + FLBuilderStrings.column + '</div>');
|
3695 |
+
},
|
3696 |
+
|
3697 |
+
/**
|
3698 |
+
* Initializes dragging for columns. Columns themselves aren't sortables
|
3699 |
+
* as nesting that many sortables breaks down quickly and draggable by
|
3700 |
+
* itself is slow. Instead, we are programmatically triggering the drag
|
3701 |
+
* of our helper div that isn't a nested sortable but connected to the
|
3702 |
+
* sortables in the main layout.
|
3703 |
+
*
|
3704 |
+
* @since 1.9
|
3705 |
+
* @access private
|
3706 |
+
* @method _colDragInit
|
3707 |
+
* @param {Object} e The event object.
|
3708 |
+
*/
|
3709 |
+
_colDragInit: function( e )
|
3710 |
+
{
|
3711 |
+
var handle = $( e.target ),
|
3712 |
+
helper = $( '.fl-col-sortable-proxy-item' ),
|
3713 |
+
col = handle.closest( '.fl-col' );
|
3714 |
+
|
3715 |
+
if ( handle.hasClass( 'fl-block-col-move-parent' ) ) {
|
3716 |
+
col = col.parents( '.fl-col' );
|
3717 |
+
}
|
3718 |
+
|
3719 |
+
col.addClass( 'fl-node-dragging' );
|
3720 |
+
|
3721 |
+
FLBuilder._blockDragInit( e );
|
3722 |
+
FLBuilder._removeColHighlightGuides();
|
3723 |
+
|
3724 |
+
e.target = helper[ 0 ];
|
3725 |
+
|
3726 |
+
helper.trigger( e );
|
3727 |
+
},
|
3728 |
+
|
3729 |
+
/**
|
3730 |
+
* Callback that fires when dragging starts for a column.
|
3731 |
+
*
|
3732 |
+
* @since 1.9
|
3733 |
+
* @access private
|
3734 |
+
* @method _colDragStart
|
3735 |
+
* @param {Object} e The event object.
|
3736 |
+
* @param {Object} ui An object with additional info for the drag.
|
3737 |
+
*/
|
3738 |
+
_colDragStart: function( e, ui )
|
3739 |
+
{
|
3740 |
+
var col = $( '.fl-node-dragging' );
|
3741 |
+
|
3742 |
+
col.hide();
|
3743 |
+
|
3744 |
+
FLBuilder._resetColumnWidths( col.parent() );
|
3745 |
+
FLBuilder._blockDragStart( e, ui );
|
3746 |
+
},
|
3747 |
+
|
3748 |
+
/**
|
3749 |
+
* Callback that fires when dragging stops for a column.
|
3750 |
+
*
|
3751 |
+
* @since 1.9
|
3752 |
+
* @access private
|
3753 |
+
* @method _colDragStop
|
3754 |
+
* @param {Object} e The event object.
|
3755 |
+
* @param {Object} ui An object with additional info for the drag.
|
3756 |
+
*/
|
3757 |
+
_colDragStop: function( e, ui )
|
3758 |
+
{
|
3759 |
+
FLBuilder._blockDragStop( e, ui );
|
3760 |
+
|
3761 |
+
var col = $( '.fl-node-dragging' ).removeClass( 'fl-node-dragging' ).show(),
|
3762 |
+
colId = col.attr( 'data-node' ),
|
3763 |
+
newParent = ui.item.parent(),
|
3764 |
+
oldGroup = col.parent(),
|
3765 |
+
oldGroupId = oldGroup.attr( 'data-node' )
|
3766 |
+
newGroup = newParent.closest( '.fl-col-group' ),
|
3767 |
+
newGroupId = newGroup.attr( 'data-node' ),
|
3768 |
+
newRow = newParent.closest('.fl-row'),
|
3769 |
+
position = 0;
|
3770 |
+
|
3771 |
+
// Cancel the drop if the sortable is disabled?
|
3772 |
+
if ( newParent.hasClass( 'fl-sortable-disabled' ) ) {
|
3773 |
+
FLBuilder._resetColumnWidths( oldGroup );
|
3774 |
+
}
|
3775 |
+
// A column was dropped back into the sortable proxy.
|
3776 |
+
else if ( newParent.hasClass( 'fl-col-sortable-proxy' ) ) {
|
3777 |
+
FLBuilder._resetColumnWidths( oldGroup );
|
3778 |
+
}
|
3779 |
+
// A column was dropped into a column.
|
3780 |
+
else if ( newParent.hasClass( 'fl-col-content' ) ) {
|
3781 |
+
|
3782 |
+
// Remove the column.
|
3783 |
+
col.remove();
|
3784 |
+
|
3785 |
+
// Remove empty old groups (needs to be done here for correct position).
|
3786 |
+
if ( 0 === oldGroup.find( '.fl-col' ).length ) {
|
3787 |
+
oldGroup.remove();
|
3788 |
+
}
|
3789 |
+
|
3790 |
+
// Find the new group position.
|
3791 |
+
position = newParent.find( '.fl-module, .fl-col-group, .fl-col-sortable-proxy-item' ).index( ui.item );
|
3792 |
+
|
3793 |
+
// Add the new group.
|
3794 |
+
FLBuilder._addColGroup( newParent.closest( '.fl-col' ).attr('data-node'), colId, position );
|
3795 |
+
}
|
3796 |
+
// A column was dropped into a column position.
|
3797 |
+
else if ( newParent.hasClass( 'fl-col-drop-target' ) ) {
|
3798 |
+
|
3799 |
+
// Move the column in the UI.
|
3800 |
+
if ( newParent.hasClass( 'fl-col-drop-target-last' ) ) {
|
3801 |
+
newParent.parent().after( col );
|
3802 |
+
}
|
3803 |
+
else {
|
3804 |
+
newParent.parent().before( col );
|
3805 |
+
}
|
3806 |
+
|
3807 |
+
// Reset the UI column widths.
|
3808 |
+
FLBuilder._resetColumnWidths( newGroup );
|
3809 |
+
|
3810 |
+
// Save the column move via AJAX.
|
3811 |
+
if ( oldGroupId == newGroupId ) {
|
3812 |
+
FLBuilder.ajax( {
|
3813 |
+
action: 'reorder_col',
|
3814 |
+
node_id: colId,
|
3815 |
+
position: col.index(),
|
3816 |
+
silent: true
|
3817 |
+
} );
|
3818 |
+
}
|
3819 |
+
else {
|
3820 |
+
FLBuilder.ajax( {
|
3821 |
+
action: 'move_col',
|
3822 |
+
node_id: colId,
|
3823 |
+
new_parent: newGroupId,
|
3824 |
+
position: col.index(),
|
3825 |
+
resize: [ oldGroupId, newGroupId ],
|
3826 |
+
silent: true
|
3827 |
+
} );
|
3828 |
+
}
|
3829 |
+
|
3830 |
+
// Trigger a layout resize.
|
3831 |
+
FLBuilder._resizeLayout();
|
3832 |
+
}
|
3833 |
+
// A column was dropped into a column group position.
|
3834 |
+
else if ( newParent.hasClass( 'fl-col-group-drop-target' ) ) {
|
3835 |
+
|
3836 |
+
// Remove the column.
|
3837 |
+
col.remove();
|
3838 |
+
|
3839 |
+
// Remove empty old groups (needs to be done here for correct position).
|
3840 |
+
if ( 0 === oldGroup.find( '.fl-col' ).length ) {
|
3841 |
+
oldGroup.remove();
|
3842 |
+
}
|
3843 |
+
|
3844 |
+
// Find the new group position.
|
3845 |
+
position = newRow.find( '.fl-row-content > .fl-col-group' ).index( newGroup );
|
3846 |
+
position = newParent.hasClass( 'fl-drop-target-last' ) ? position + 1 : position;
|
3847 |
+
|
3848 |
+
// Add the new group.
|
3849 |
+
FLBuilder._addColGroup( newRow.attr('data-node'), colId, position );
|
3850 |
+
}
|
3851 |
+
// A column was dropped into a row position.
|
3852 |
+
else if ( newParent.hasClass( 'fl-row-drop-target' ) ) {
|
3853 |
+
|
3854 |
+
// Remove the column.
|
3855 |
+
col.remove();
|
3856 |
+
|
3857 |
+
// Find the new row position.
|
3858 |
+
position = newParent.closest( '.fl-builder-content' ).find( '.fl-row' ).index( newRow );
|
3859 |
+
position = newParent.hasClass( 'fl-drop-target-last' ) ? position + 1 : position;
|
3860 |
+
|
3861 |
+
// Add the new row.
|
3862 |
+
FLBuilder._addRow( colId, position );
|
3863 |
+
}
|
3864 |
+
|
3865 |
+
// Remove empty old groups.
|
3866 |
+
if ( 0 === oldGroup.find( '.fl-col' ).length ) {
|
3867 |
+
oldGroup.remove();
|
3868 |
+
}
|
3869 |
+
|
3870 |
+
// Revert the proxy to its parent.
|
3871 |
+
$( '.fl-col-sortable-proxy' ).append( ui.item );
|
3872 |
+
|
3873 |
+
// Finish the drag.
|
3874 |
+
FLBuilder._highlightEmptyCols();
|
3875 |
+
FLBuilder._initDropTargets();
|
3876 |
+
FLBuilder._initSortables();
|
3877 |
+
},
|
3878 |
+
|
3879 |
/**
|
3880 |
* Shows the settings lightbox and loads the column settings
|
3881 |
* when the column settings button is clicked.
|
3887 |
*/
|
3888 |
_colSettingsClicked: function(e)
|
3889 |
{
|
3890 |
+
var button = $( this ),
|
3891 |
+
col = button.closest('.fl-col'),
|
3892 |
+
nodeId = null;
|
3893 |
|
3894 |
if ( FLBuilder._colResizing ) {
|
3895 |
return;
|
3896 |
}
|
3897 |
|
3898 |
+
if ( button.hasClass( 'fl-block-col-edit-parent' ) ) {
|
3899 |
+
nodeId = col.parents( '.fl-col' ).data( 'node' );
|
3900 |
+
}
|
3901 |
+
else {
|
3902 |
+
nodeId = col.attr('data-node');
|
3903 |
+
}
|
3904 |
+
|
3905 |
FLBuilder._closePanel();
|
3906 |
FLBuilder._showLightbox();
|
3907 |
|
3922 |
* @method _colSettingsLoaded
|
3923 |
* @param {String} response The JSON response with the HTML for the column settings form.
|
3924 |
*/
|
3925 |
+
_colSettingsLoaded: function( response )
|
3926 |
{
|
3927 |
var data = JSON.parse( response ),
|
3928 |
settings = null,
|
3929 |
nodeId = null,
|
3930 |
+
col = null,
|
3931 |
+
content = null;
|
3932 |
|
3933 |
FLBuilder._setSettingsFormContent( data.settings );
|
3934 |
|
3935 |
+
settings = $( '.fl-builder-col-settings' );
|
3936 |
+
nodeId = settings.data( 'node' );
|
3937 |
+
col = $( '.fl-col[data-node="' + nodeId + '"]' );
|
3938 |
+
content = col.find( '> .fl-col-content' );
|
3939 |
|
3940 |
+
if ( col.siblings( '.fl-col' ).length === 0 ) {
|
3941 |
+
$( settings ).find( '#fl-builder-settings-section-general' ).css( 'display', 'none' );
|
3942 |
+
}
|
3943 |
+
else if( content.width() <= 40 ) {
|
3944 |
+
$( '#fl-field-size' ).hide();
|
3945 |
}
|
3946 |
|
3947 |
+
FLBuilder.preview = new FLBuilderPreview( {
|
3948 |
type : 'col',
|
3949 |
state : data.state
|
3950 |
+
} );
|
3951 |
},
|
3952 |
|
3953 |
/**
|
3960 |
*/
|
3961 |
_deleteColClicked: function( e )
|
3962 |
{
|
3963 |
+
var button = $( this ),
|
3964 |
+
col = button.closest( '.fl-col' ),
|
3965 |
+
parentGroup = col.closest( '.fl-col-group' ),
|
3966 |
+
parentCol = col.parents( '.fl-col' ),
|
3967 |
+
hasParentCol = parentCol.length > 0,
|
3968 |
+
parentChildren = parentCol.find( '> .fl-col-content > .fl-module, > .fl-col-content > .fl-col-group' ),
|
3969 |
+
siblingCols = col.siblings( '.fl-col' ),
|
3970 |
+
result = true;
|
3971 |
|
3972 |
+
if ( col.find( '.fl-module' ).length > 0 ) {
|
3973 |
result = confirm( FLBuilderStrings.deleteColumnMessage );
|
3974 |
}
|
3975 |
+
|
3976 |
+
// Handle deleting of nested columns.
|
3977 |
+
if ( hasParentCol && 1 === parentChildren.length ) {
|
3978 |
+
|
3979 |
+
if ( 0 === siblingCols.length ) {
|
3980 |
+
col = parentCol;
|
3981 |
+
}
|
3982 |
+
else if ( 1 === siblingCols.length && ! siblingCols.find( '.fl-module' ).length ) {
|
3983 |
+
col = parentGroup;
|
3984 |
+
}
|
3985 |
+
}
|
3986 |
+
|
3987 |
if ( result ) {
|
3988 |
FLBuilder._deleteCol( col );
|
3989 |
FLBuilder._removeAllOverlays();
|
3990 |
+
FLBuilder._highlightEmptyCols();
|
3991 |
}
|
3992 |
|
3993 |
e.stopPropagation();
|
3999 |
* @since 1.0
|
4000 |
* @access private
|
4001 |
* @method _deleteCol
|
4002 |
+
* @param {Object} col A jQuery reference of the column to delete (can also be a group).
|
4003 |
*/
|
4004 |
_deleteCol: function(col)
|
4005 |
{
|
4009 |
width = 0;
|
4010 |
|
4011 |
col.remove();
|
4012 |
+
rowCols = row.find('.fl-row-content > .fl-col-group > .fl-col');
|
4013 |
+
groupCols = group.find(' > .fl-col');
|
4014 |
|
4015 |
if(0 === rowCols.length && 'row' != FLBuilderConfig.userTemplateType) {
|
4016 |
FLBuilder._deleteRow(row);
|
4041 |
new_width : width,
|
4042 |
silent : true
|
4043 |
});
|
4044 |
+
|
4045 |
+
FLBuilder._initDropTargets();
|
4046 |
+
FLBuilder._initSortables();
|
4047 |
}
|
4048 |
},
|
4049 |
|
4050 |
/**
|
4051 |
+
* Inserts a column (or columns) before or after another column.
|
|
|
4052 |
*
|
4053 |
* @since 1.6.4
|
4054 |
* @access private
|
4055 |
+
* @method _addCols
|
4056 |
+
* @param {Object} col A jQuery reference of the column to insert before or after.
|
4057 |
+
* @param {String} insert Either before or after.
|
4058 |
+
* @param {String} type The type of column(s) to insert.
|
4059 |
+
* @param {Boolean} nested Whether these columns are nested or not.
|
4060 |
*/
|
4061 |
+
_addCols: function( col, insert, type, nested )
|
4062 |
{
|
4063 |
+
type = typeof type == 'undefined' ? '1-col' : type;
|
4064 |
+
nested = typeof nested == 'undefined' ? false : nested;
|
4065 |
|
4066 |
+
FLBuilder.showAjaxLoader();
|
4067 |
+
FLBuilder._removeAllOverlays();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4068 |
|
4069 |
+
FLBuilder.ajax( {
|
4070 |
+
action : 'render_new_columns',
|
4071 |
+
node_id : col.attr('data-node'),
|
4072 |
+
insert : insert,
|
4073 |
+
type : type,
|
4074 |
+
nested : nested ? 1 : 0
|
4075 |
+
}, FLBuilder._addColsComplete );
|
4076 |
},
|
4077 |
|
4078 |
/**
|
4079 |
+
* Adds the HTML for columns to the layout when the AJAX add
|
4080 |
+
* operation is complete. Adds a module if one is queued to
|
4081 |
+
* go in a new column.
|
4082 |
*
|
4083 |
+
* @since 1.9
|
4084 |
* @access private
|
4085 |
+
* @method _addColsComplete
|
4086 |
+
* @param {String} response The JSON response with the HTML for the new column(s).
|
4087 |
+
*/
|
4088 |
+
_addColsComplete: function( response )
|
|
|
4089 |
{
|
4090 |
+
var data = JSON.parse( response ),
|
4091 |
+
col = null,
|
4092 |
+
moduleData = FLBuilder._addModuleAfterNodeRender,
|
4093 |
+
module = null;
|
4094 |
+
|
4095 |
+
// Render the layout.
|
4096 |
+
FLBuilder._renderLayout( data, function() {
|
4097 |
+
|
4098 |
+
// Add a module to a newly created column.
|
4099 |
+
if ( moduleData !== null ) {
|
4100 |
+
|
4101 |
+
$( '[data-node="' + moduleData.module.data( 'node' ) + '"]' ).remove()
|
4102 |
+
|
4103 |
+
col = $( '[data-node="' + moduleData.colId + '"]' );
|
4104 |
+
|
4105 |
+
if ( 'after' == moduleData.position ) {
|
4106 |
+
col.next().find( '.fl-col-content' ).append( moduleData.module );
|
4107 |
+
}
|
4108 |
+
else {
|
4109 |
+
col.prev().find( '.fl-col-content' ).append( moduleData.module );
|
4110 |
+
}
|
4111 |
+
|
4112 |
+
FLBuilder._reorderModule( moduleData.module );
|
4113 |
+
FLBuilder._addModuleAfterNodeRender = null;
|
4114 |
+
}
|
4115 |
+
} );
|
4116 |
},
|
4117 |
|
4118 |
/**
|
4127 |
*/
|
4128 |
_addColGroup: function(nodeId, cols, position)
|
4129 |
{
|
4130 |
+
var parent = $( '.fl-node-' + nodeId );
|
4131 |
+
|
4132 |
// Show the loader.
|
4133 |
FLBuilder.showAjaxLoader();
|
4134 |
|
4135 |
// Save the new column group info.
|
|
|
4136 |
FLBuilder._newColGroupPosition = position;
|
4137 |
|
4138 |
+
if ( parent.hasClass( 'fl-col' ) ) {
|
4139 |
+
FLBuilder._newColGroupParent = parent.find( ' > .fl-col-content' );
|
4140 |
+
}
|
4141 |
+
else {
|
4142 |
+
FLBuilder._newColGroupParent = parent.find( '.fl-row-content' );
|
4143 |
+
}
|
4144 |
+
|
4145 |
// Send the request.
|
4146 |
FLBuilder.ajax({
|
4147 |
action : 'render_new_column_group',
|
4163 |
*/
|
4164 |
_addColGroupComplete: function(response)
|
4165 |
{
|
4166 |
+
var data = JSON.parse(response),
|
4167 |
+
colId = $(data.html).find('.fl-col').data('node'),
|
4168 |
+
module = FLBuilder._addModuleAfterNodeRender;
|
4169 |
|
4170 |
// Add new column group info to the data.
|
4171 |
data.nodeParent = FLBuilder._newColGroupParent;
|
4174 |
// Render the layout.
|
4175 |
FLBuilder._renderLayout( data, function(){
|
4176 |
|
4177 |
+
// Added the nested columns class if needed.
|
4178 |
+
if ( data.nodeParent.hasClass( 'fl-col-content' ) ) {
|
4179 |
+
data.nodeParent.parents( '.fl-col' ).addClass( 'fl-col-has-cols' );
|
4180 |
+
}
|
4181 |
+
|
4182 |
// Add a module to the newly created column group.
|
4183 |
+
if(module !== null) {
|
4184 |
+
$('.fl-node-' + colId + ' .fl-col-content').append(module);
|
4185 |
+
FLBuilder._reorderModule(module);
|
4186 |
+
FLBuilder._addModuleAfterNodeRender = null;
|
|
|
|
|
|
|
|
|
|
|
4187 |
}
|
4188 |
} );
|
4189 |
},
|
4217 |
_colDragResizeStart: function( e, ui )
|
4218 |
{
|
4219 |
// Setup resize vars.
|
4220 |
+
var handle = $( ui.helper ),
|
4221 |
+
direction = '',
|
4222 |
+
resizeParent = handle.hasClass( 'fl-block-col-resize-parent' ),
|
4223 |
+
parentCol = resizeParent ? handle.closest( '.fl-col' ).parents( '.fl-col' ) : null,
|
4224 |
+
group = resizeParent ? parentCol.parents( '.fl-col-group' ) : handle.closest( '.fl-col-group' ),
|
4225 |
+
cols = group.find( '> .fl-col' ),
|
4226 |
+
col = resizeParent ? parentCol : handle.closest( '.fl-col' ),
|
4227 |
+
sibling = null,
|
4228 |
+
availWidth = 100,
|
4229 |
+
i = 0;
|
4230 |
+
|
4231 |
// Find the direction and sibling.
|
4232 |
if ( handle.hasClass( 'fl-block-col-resize-e' ) ) {
|
4233 |
direction = 'e';
|
4268 |
// Set the resizing flag.
|
4269 |
FLBuilder._colResizing = true;
|
4270 |
|
4271 |
+
// Add the body col resize class.
|
4272 |
+
$( 'body' ).addClass( 'fl-builder-col-resizing' );
|
4273 |
+
|
4274 |
// Close the builder panel and destroy overlay events.
|
4275 |
FLBuilder._closePanel();
|
4276 |
FLBuilder._destroyOverlayEvents();
|
4297 |
colRound = Math.round( colWidth * 100 ) / 100,
|
4298 |
siblingWidth = data.availWidth - colWidth,
|
4299 |
siblingRound = Math.round( siblingWidth * 100 ) / 100,
|
4300 |
+
minRound = 8,
|
4301 |
+
maxRound = Math.round( ( data.availWidth - minRound ) * 100 ) / 100;
|
4302 |
|
4303 |
// Set the min/max width if needed.
|
4304 |
+
if ( colRound < minRound ) {
|
4305 |
colRound = minRound;
|
4306 |
siblingRound = maxRound;
|
4307 |
}
|
4308 |
+
else if ( siblingRound < minRound ) {
|
4309 |
colRound = maxRound;
|
4310 |
siblingRound = minRound;
|
4311 |
}
|
4339 |
*/
|
4340 |
_colDragResizeStop: function( e, ui )
|
4341 |
{
|
4342 |
+
var data = FLBuilder._colResizeData,
|
4343 |
+
overlay = FLBuilder._colResizeData.handle.closest( '.fl-block-overlay' );
|
4344 |
|
4345 |
// Hide the feedback divs.
|
4346 |
FLBuilder._colResizeData.feedbackLeft.hide();
|
4356 |
silent : true
|
4357 |
});
|
4358 |
|
4359 |
+
// Build the overlay overflow menu if needed.
|
4360 |
+
FLBuilder._buildOverlayOverflowMenu( overlay );
|
4361 |
+
|
4362 |
// Reset the resize data.
|
4363 |
FLBuilder._colResizeData = null;
|
4364 |
|
4365 |
+
// Remove the body col resize class.
|
4366 |
+
$( 'body' ).removeClass( 'fl-builder-col-resizing' );
|
4367 |
+
|
4368 |
// Rebind overlay events.
|
4369 |
FLBuilder._bindOverlayEvents();
|
4370 |
|
4375 |
FLBuilder.triggerHook( 'col-resize-stop' );
|
4376 |
},
|
4377 |
|
4378 |
+
/**
|
4379 |
+
* Resets the widths of all columns in a row when the
|
4380 |
+
* Reset Column Widths button is clicked.
|
4381 |
+
*
|
4382 |
+
* @since 1.6.4
|
4383 |
+
* @access private
|
4384 |
+
* @method _resetColumnWidthsClicked
|
4385 |
+
* @param {Object} e The event object.
|
4386 |
+
*/
|
4387 |
+
_resetColumnWidthsClicked: function( e )
|
4388 |
+
{
|
4389 |
+
var group = $( this ).parents( '.fl-col-group' ).last(),
|
4390 |
+
groupIds = [ group.data( 'node' ) ],
|
4391 |
+
children = group.find( '.fl-col-group' ),
|
4392 |
+
i = 0;
|
4393 |
+
|
4394 |
+
FLBuilder._resetColumnWidths( group );
|
4395 |
+
|
4396 |
+
for ( ; i < children.length; i++ ) {
|
4397 |
+
FLBuilder._resetColumnWidths( children.eq( i ) );
|
4398 |
+
groupIds.push( children.eq( i ).data( 'node' ) );
|
4399 |
+
}
|
4400 |
+
|
4401 |
+
FLBuilder.ajax({
|
4402 |
+
action : 'reset_col_widths',
|
4403 |
+
group_id : groupIds,
|
4404 |
+
silent : true
|
4405 |
+
});
|
4406 |
+
|
4407 |
+
FLBuilder.triggerHook( 'col-reset-widths' );
|
4408 |
+
FLBuilder._closeAllSubmenus();
|
4409 |
+
|
4410 |
+
e.stopPropagation();
|
4411 |
+
},
|
4412 |
+
|
4413 |
/**
|
4414 |
* Resets the widths of all columns in a group.
|
4415 |
*
|
4418 |
* @method _resetColumnWidths
|
4419 |
* @param {Object} e The event object.
|
4420 |
*/
|
4421 |
+
_resetColumnWidths: function( group )
|
4422 |
{
|
4423 |
+
var cols = group.find( ' > .fl-col:visible' ),
|
|
|
4424 |
width = 0;
|
4425 |
|
|
|
4426 |
if ( 6 === cols.length ) {
|
4427 |
width = 16.65;
|
4428 |
}
|
4433 |
width = Math.round( 100 / cols.length * 100 ) / 100;
|
4434 |
}
|
4435 |
|
4436 |
+
cols.css( 'width', width + '%' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4437 |
},
|
4438 |
|
4439 |
/* Modules
|
4452 |
moduleName = module.attr( 'data-name' ),
|
4453 |
global = module.hasClass( 'fl-node-global' ),
|
4454 |
parentGlobal = module.parents( '.fl-node-global' ).length > 0,
|
4455 |
+
numCols = module.closest( '.fl-col-group' ).find( '> .fl-col' ).length,
|
4456 |
+
col = module.closest( '.fl-col' ),
|
4457 |
+
colFirst = 0 === col.index(),
|
4458 |
+
colLast = numCols === col.index() + 1,
|
4459 |
+
parentCol = col.parents( '.fl-col' ),
|
4460 |
+
hasParentCol = parentCol.length > 0,
|
4461 |
+
numParentCols = hasParentCol ? parentCol.closest( '.fl-col-group' ).find( '> .fl-col' ).length : 0,
|
4462 |
+
parentFirst = hasParentCol ? 0 === parentCol.index() : false,
|
4463 |
+
parentLast = hasParentCol ? numParentCols === parentCol.index() + 1 : false,
|
4464 |
+
contentWidth = col.find( '> .fl-col-content' ).width(),
|
4465 |
+
template = wp.template( 'fl-module-overlay' ),
|
4466 |
+
overlay = null;
|
4467 |
|
4468 |
// Remove existing overlays.
|
4469 |
FLBuilder._removeColOverlays();
|
4470 |
FLBuilder._removeModuleOverlays();
|
4471 |
|
|
|
4472 |
if ( global && parentGlobal && 'row' != FLBuilderConfig.userTemplateType ) {
|
4473 |
return;
|
4474 |
}
|
|
|
4475 |
else if ( ! module.hasClass( 'fl-block-overlay-active' ) ) {
|
4476 |
|
4477 |
// Append the template.
|
4478 |
+
overlay = FLBuilder._appendOverlay( module, template( {
|
4479 |
+
global : global,
|
4480 |
+
moduleName : moduleName,
|
4481 |
+
numCols : numCols,
|
4482 |
+
colFirst : colFirst,
|
4483 |
+
colLast : colLast,
|
4484 |
+
hasParentCol : hasParentCol,
|
4485 |
+
numParentCols : numParentCols,
|
4486 |
+
parentFirst : parentFirst,
|
4487 |
+
parentLast : parentLast,
|
4488 |
+
contentWidth : contentWidth
|
4489 |
} ) );
|
4490 |
|
4491 |
+
// Build the overlay overflow menu if necessary.
|
4492 |
+
FLBuilder._buildOverlayOverflowMenu( overlay );
|
4493 |
+
|
4494 |
// Init column resizing.
|
4495 |
FLBuilder._initColDragResizing();
|
4496 |
}
|
4518 |
}
|
4519 |
|
4520 |
FLBuilder._removeModuleOverlays();
|
4521 |
+
FLBuilder._removeColHighlightGuides();
|
4522 |
},
|
4523 |
|
4524 |
/**
|
4552 |
return $('<div class="fl-builder-block-drag-helper">' + item.attr('data-name') + '</div>');
|
4553 |
},
|
4554 |
|
4555 |
+
/**
|
4556 |
+
* Callback that fires when dragging starts for a module.
|
4557 |
+
*
|
4558 |
+
* @since 1.9
|
4559 |
+
* @access private
|
4560 |
+
* @method _moduleDragStart
|
4561 |
+
* @param {Object} e The event object.
|
4562 |
+
* @param {Object} ui An object with additional info for the drag.
|
4563 |
+
*/
|
4564 |
+
_moduleDragStart: function( e, ui )
|
4565 |
+
{
|
4566 |
+
$( ui.item ).data( 'original-position', ui.item.index() );
|
4567 |
+
|
4568 |
+
FLBuilder._blockDragStart( e, ui );
|
4569 |
+
},
|
4570 |
+
|
4571 |
/**
|
4572 |
* Callback for when a module drag operation completes.
|
4573 |
*
|
4579 |
*/
|
4580 |
_moduleDragStop: function(e, ui)
|
4581 |
{
|
4582 |
+
FLBuilder._blockDragStop( e, ui );
|
4583 |
+
|
4584 |
var item = ui.item,
|
4585 |
parent = item.parent(),
|
4586 |
+
node = null,
|
4587 |
position = 0,
|
4588 |
parentId = 0;
|
4589 |
|
|
|
|
|
4590 |
// A module was dropped back into the module list.
|
4591 |
+
if ( parent.hasClass( 'fl-builder-modules' ) || parent.hasClass( 'fl-builder-widgets' ) ) {
|
4592 |
item.remove();
|
4593 |
return;
|
4594 |
}
|
4595 |
// A new module was dropped.
|
4596 |
+
else if ( item.hasClass( 'fl-builder-block' ) ) {
|
4597 |
|
4598 |
+
// Cancel the drop if the sortable is disabled?
|
4599 |
+
if ( parent.hasClass( 'fl-sortable-disabled' ) ) {
|
4600 |
+
item.remove();
|
4601 |
+
FLBuilder._showPanel();
|
4602 |
+
return;
|
4603 |
+
}
|
4604 |
// A new module was dropped into a row position.
|
4605 |
+
else if ( parent.hasClass( 'fl-row-drop-target' ) ) {
|
4606 |
+
parent = item.closest('.fl-builder-content');
|
4607 |
parentId = 0;
|
4608 |
+
node = item.closest('.fl-row');
|
4609 |
+
position = parent.find( '.fl-row' ).index( node );
|
4610 |
+
}
|
4611 |
+
// A new module was dropped into a column group position.
|
4612 |
+
else if ( parent.hasClass( 'fl-col-group-drop-target' ) ) {
|
4613 |
+
parent = item.closest( '.fl-row-content' );
|
4614 |
+
parentId = parent.closest( '.fl-row' ).attr( 'data-node' );
|
4615 |
+
node = item.closest( '.fl-col-group' );
|
4616 |
+
position = parent.find( ' > .fl-col-group' ).index( node );
|
4617 |
}
|
4618 |
// A new module was dropped into a column position.
|
4619 |
+
else if ( parent.hasClass( 'fl-col-drop-target' ) ) {
|
4620 |
+
parent = item.closest( '.fl-col-group' );
|
4621 |
+
parentId = parent.attr( 'data-node' );
|
4622 |
+
node = item.closest( '.fl-col' );
|
4623 |
+
position = parent.find( ' > .fl-col' ).index( node );
|
4624 |
}
|
4625 |
// A new module was dropped into a column.
|
4626 |
else {
|
4627 |
+
position = parent.find( '> .fl-module, .fl-col-group, .fl-builder-block' ).index( item );
|
4628 |
+
parentId = item.closest( '.fl-col' ).attr( 'data-node' );
|
4629 |
+
}
|
4630 |
+
|
4631 |
+
// Increment the position?
|
4632 |
+
if ( item.closest( '.fl-drop-target-last' ).length ) {
|
4633 |
+
position += 1;
|
4634 |
}
|
4635 |
|
4636 |
// Add the new module.
|
4637 |
+
FLBuilder._addModule( parent, parentId, item.attr( 'data-type' ), position, item.attr( 'data-widget' ) );
|
4638 |
|
4639 |
// Remove the drag helper.
|
4640 |
+
item.remove();
|
4641 |
}
|
4642 |
+
// Cancel the drop if the sortable is disabled?
|
4643 |
+
else if ( parent.hasClass( 'fl-sortable-disabled' ) ) {
|
4644 |
+
$( e.target ).append( ui.item );
|
4645 |
+
$( e.target ).children().eq( ui.item.data( 'original-position' ) ).before( ui.item );
|
4646 |
+
FLBuilder._highlightEmptyCols();
|
4647 |
+
return;
|
4648 |
+
}
|
4649 |
+
// A module was dropped into a row position.
|
4650 |
+
else if ( parent.hasClass( 'fl-row-drop-target' ) ) {
|
4651 |
+
node = item.closest( '.fl-row' );
|
4652 |
+
position = item.closest( '.fl-builder-content' ).children( '.fl-row' ).index( node );
|
4653 |
+
position = item.closest( '.fl-drop-target-last' ).length ? position + 1 : position;
|
4654 |
+
FLBuilder._addModuleAfterNodeRender = item;
|
4655 |
+
FLBuilder._addRow( '1-col', position );
|
4656 |
+
item.remove();
|
4657 |
+
}
|
4658 |
+
// A module was dropped into a column group position.
|
4659 |
+
else if ( parent.hasClass( 'fl-col-group-drop-target' ) ) {
|
4660 |
+
node = item.closest( '.fl-col-group' );
|
4661 |
+
position = item.closest( '.fl-row-content ').find( ' > .fl-col-group' ).index( node );
|
4662 |
+
position = item.closest( '.fl-drop-target-last' ).length ? position + 1 : position;
|
4663 |
+
FLBuilder._addModuleAfterNodeRender = item;
|
4664 |
+
FLBuilder._addColGroup( item.closest( '.fl-row' ).attr( 'data-node' ), '1-col', position );
|
4665 |
item.remove();
|
4666 |
}
|
4667 |
// A module was dropped into a column position.
|
4668 |
+
else if ( parent.hasClass( 'fl-col-drop-target' ) ) {
|
4669 |
+
node = item.closest( '.fl-col' );
|
4670 |
+
position = item.closest( '.fl-col-drop-target-last' ).length ? 'after' : 'before';
|
4671 |
+
FLBuilder._addModuleAfterNodeRender = { module: item, colId: node.data( 'node' ), position: position };
|
4672 |
+
FLBuilder._addCols( node, position, '1-col', item.closest( '.fl-col-group-nested' ).length > 0 );
|
4673 |
item.remove();
|
4674 |
}
|
4675 |
// A module was dropped into another column.
|
4676 |
else {
|
4677 |
+
FLBuilder._reorderModule( item );
|
4678 |
}
|
4679 |
|
4680 |
FLBuilder._resizeLayout();
|
4692 |
{
|
4693 |
var newParent = module.closest('.fl-col').attr('data-node'),
|
4694 |
oldParent = module.attr('data-parent'),
|
4695 |
+
nodeId = module.attr('data-node'),
|
4696 |
position = module.index();
|
4697 |
|
4698 |
if(newParent == oldParent) {
|
4699 |
+
FLBuilder._reorderNode( nodeId, position );
|
|
|
|
|
|
|
|
|
|
|
4700 |
}
|
4701 |
else {
|
4702 |
module.attr('data-parent', newParent);
|
4703 |
+
FLBuilder._moveNode( newParent, nodeId, position );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4704 |
}
|
4705 |
},
|
4706 |
|
4961 |
FLBuilder.showAjaxLoader();
|
4962 |
|
4963 |
// Save the new module data.
|
4964 |
+
if ( parent.hasClass( 'fl-col-group' ) ) {
|
4965 |
+
FLBuilder._newModuleParent = null;
|
4966 |
+
FLBuilder._newModulePosition = 0;
|
4967 |
+
}
|
4968 |
+
else {
|
4969 |
+
FLBuilder._newModuleParent = parent;
|
4970 |
+
FLBuilder._newModulePosition = position;
|
4971 |
+
}
|
4972 |
|
4973 |
// Send the request.
|
4974 |
FLBuilder.ajax({
|
5177 |
*/
|
5178 |
_nodeTemplateDragStop: function( e, ui )
|
5179 |
{
|
5180 |
+
FLBuilder._blockDragStop( e, ui );
|
5181 |
+
|
5182 |
var item = ui.item,
|
5183 |
parent = item.parent(),
|
5184 |
parentId = null,
|
5185 |
position = 0,
|
5186 |
+
node = null,
|
5187 |
action = '',
|
5188 |
callback = null;
|
5189 |
|
|
|
|
|
|
|
5190 |
// A saved row was dropped.
|
5191 |
if ( item.hasClass( 'fl-builder-block-saved-row' ) || item.hasClass( 'fl-builder-block-row-template' ) ) {
|
5192 |
+
node = item.closest( '.fl-row' );
|
5193 |
+
position = ! node.length ? 0 : $( FLBuilder._contentClass + ' .fl-row' ).index( node );
|
5194 |
+
position = parent.hasClass( 'fl-drop-target-last' ) ? position + 1 : position;
|
5195 |
parentId = null;
|
5196 |
action = 'render_new_row';
|
5197 |
callback = FLBuilder._addRowComplete;
|
5203 |
action = 'render_new_module';
|
5204 |
callback = FLBuilder._addModuleComplete;
|
5205 |
|
5206 |
+
// Cancel the drop if the sortable is disabled?
|
5207 |
+
if ( parent.hasClass( 'fl-sortable-disabled' ) ) {
|
5208 |
+
item.remove();
|
5209 |
+
FLBuilder._showPanel();
|
5210 |
+
return;
|
5211 |
+
}
|
5212 |
// Dropped into a row position.
|
5213 |
+
else if ( parent.hasClass( 'fl-row-drop-target' ) ) {
|
5214 |
+
parent = item.closest('.fl-builder-content');
|
5215 |
parentId = 0;
|
5216 |
+
position = parent.find( '.fl-row' ).index( item.closest('.fl-row') );
|
5217 |
+
}
|
5218 |
+
// Dropped into a column group position.
|
5219 |
+
else if ( parent.hasClass( 'fl-col-group-drop-target' ) ) {
|
5220 |
+
parent = item.closest( '.fl-row-content' );
|
5221 |
+
parentId = parent.closest( '.fl-row' ).attr( 'data-node' );
|
5222 |
+
position = parent.find( ' > .fl-col-group' ).index( item.closest( '.fl-col-group' ) );
|
5223 |
}
|
5224 |
// Dropped into a column position.
|
5225 |
+
else if ( parent.hasClass( 'fl-col-drop-target' ) ) {
|
5226 |
+
parent = item.closest('.fl-col-group');
|
5227 |
+
position = parent.children('.fl-col').index( item.closest('.fl-col') );
|
5228 |
+
parentId = parent.attr('data-node');
|
5229 |
}
|
5230 |
// Dropped into a column.
|
5231 |
else {
|
5233 |
parentId = item.closest( '.fl-col' ).attr( 'data-node' );
|
5234 |
}
|
5235 |
|
5236 |
+
// Increment the position?
|
5237 |
+
if ( item.closest( '.fl-drop-target-last' ).length ) {
|
5238 |
+
position += 1;
|
5239 |
+
}
|
5240 |
+
|
5241 |
// Save the new module data.
|
5242 |
+
if ( parent.hasClass( 'fl-col-group' ) ) {
|
5243 |
+
FLBuilder._newModuleParent = null;
|
5244 |
+
FLBuilder._newModulePosition = 0;
|
5245 |
+
}
|
5246 |
+
else {
|
5247 |
+
FLBuilder._newModuleParent = parent;
|
5248 |
+
FLBuilder._newModulePosition = position;
|
5249 |
+
}
|
5250 |
}
|
5251 |
|
5252 |
// Show the loader.
|
6051 |
alreadySaved : FLBuilderStrings.alreadySaved,
|
6052 |
noPresets : FLBuilderStrings.noPresets,
|
6053 |
presetAdded : FLBuilderStrings.presetAdded,
|
6054 |
+
},
|
6055 |
+
mode: 'hsv'
|
6056 |
});
|
6057 |
|
6058 |
$( FLBuilder.colorPicker ).on( 'presetRemoved presetAdded', function( event, data ) {
|
6179 |
|
6180 |
wrap.addClass('fl-photo-empty');
|
6181 |
photoField.val('');
|
6182 |
+
srcSelect.html('<option value="" selected></option>');
|
6183 |
srcSelect.trigger('change');
|
6184 |
},
|
6185 |
|
7328 |
*/
|
7329 |
_lightboxClosed: function()
|
7330 |
{
|
7331 |
+
FLBuilder.triggerHook( 'settings-lightbox-closed' );
|
7332 |
FLBuilder._lightbox.empty();
|
7333 |
+
clearTimeout( FLBuilder._lightboxScrollbarTimeout );
|
7334 |
},
|
7335 |
|
7336 |
/**
|
js/fl-builder.min.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
-
!function(e){FLBuilderAJAXLayout=function(t,i){this._data=e.extend({},this._defaults,"string"==typeof t?JSON.parse(t):t),this._callback=i,this._post=e("#fl-post-id").val(),this._head=e("head").eq(0),this._body=e("body").eq(0),this._data.css&&(this._loader=e('<img src="'+this._data.css+'" />'),this._oldCss=e('link[href*="/cache/'+this._post+'"]'),this._newCss=e('<link rel="stylesheet" id="fl-builder-layout-'+this._post+'-css" href="'+this._data.css+'" />')),this._data.partial?(this._data.js&&(this._oldJs=e("#fl-builder-partial-refresh-js"),this._newJs=e('<script type="text/javascript" id="fl-builder-partial-refresh-js">'+this._data.js+"</script>")),this._data.nodeId&&(this._data.oldNodeId?(this._oldScriptsStyles=e('.fl-builder-node-scripts-styles[data-node="'+this._data.oldNodeId+'"]'),this._content=e(".fl-node-"+this._data.oldNodeId)):(this._oldScriptsStyles=e('.fl-builder-node-scripts-styles[data-node="'+this._data.nodeId+'"]'),this._content=e(".fl-node-"+this._data.nodeId)))):(this._oldJs=e('script[src*="/cache/'+this._post+'"]'),this._newJs=e('<script src="'+this._data.js+'"></script>'),this._oldScriptsStyles=e(".fl-builder-layout-scripts-styles"),this._content=e(FLBuilder._contentClass)),this._init()},FLBuilderAJAXLayout.prototype={_defaults:{partial:!1,nodeId:null,nodeType:null,nodeParent:null,nodePosition:null,oldNodeId:null,html:null,scriptsStyles:null,css:null,js:null},_data:null,_callback:function(){},_post:null,_head:null,_body:null,_loader:null,_oldCss:null,_newCss:null,_oldJs:null,_newJs:null,_oldScriptsStyles:null,_content:null,_init:function(){this._body.height(this._body.height()),this._loader?(this._loader.on("error",e.proxy(this._loadNewCSSComplete,this)),this._body.append(this._loader)):this._finish()},_loadNewCSSComplete:function(){this._loader.remove(),this._oldCss.length>0?this._oldCss.after(this._newCss):this._head.append(this._newCss),setTimeout(e.proxy(this._finish,this),250)},_finish:function(){this._removeOldContentAndAssets(),this._cleanNewHTML(),this._cleanNewAssets(),this._addNewHTML(),this._addNewScriptsStyles(),this._addNewJS(),e(FLBuilder._contentClass).trigger("fl-builder.layout-rendered"),FLBuilder.hideAjaxLoader(),"undefined"!=typeof this._callback&&this._callback()},_removeOldContentAndAssets:function(){this._content&&this._content.empty(),this._oldCss&&this._oldCss.remove(),this._oldJs&&this._oldJs.remove(),this._oldScriptsStyles&&this._oldScriptsStyles.remove()},_cleanNewHTML:function(){if(this._data.scriptsStyles){var t=e("<div>"+this._data.html+"</div>"),i="fl-row",l=this._data.scriptsStyles,o="";this._data.partial&&(i="column-group"==this._data.nodeType?"fl-col-group":"column"==this._data.nodeType?"fl-col":"fl-"+this._data.nodeType),t.find("> *, script").each(function(){e(this).hasClass(i)||(o=e(this).remove(),l+=o[0].outerHTML)}),""!==l&&(l=this._data.partial?'<div class="fl-builder-node-scripts-styles" data-node="'+this._data.nodeId+'">'+l+"<div>":'<div class="fl-builder-node-scripts-styles">'+l+"<div>"),this._data.html=t.html(),this._data.scriptsStyles=l}},_addNewHTML:function(){var e;this._data.partial?this._data.nodeParent?(e=this._data.nodeParent.hasClass("fl-builder-content")?this._data.nodeParent.find(".fl-row"):this._data.nodeParent.hasClass("fl-row-content")?this._data.nodeParent.find(".fl-col-group"):this._data.nodeParent.find(".fl-module"),0===e.length||e.length==this._data.nodePosition?this._data.nodeParent.append(this._data.html):e.eq(this._data.nodePosition).before(this._data.html)):(this._content.after(this._data.html),this._content.remove()):this._content.append(this._data.html)},_cleanNewAssets:function(){var t=this;this._data.html=this._removeDuplicateAssets(this._data.html),this._data.scriptsStyles&&""!==this._data.scriptsStyles&&(this._data.scriptsStyles=this._removeDuplicateAssets(this._data.scriptsStyles)),this._data.partial?e(".fl-builder-node-scripts-styles").each(function(){t._data.html.indexOf("fl-node-"+e(this).data("node"))>-1&&e(this).remove()}):(e("#fl-builder-partial-refresh-js").remove(),e(".fl-builder-node-scripts-styles").remove())},_removeDuplicateAssets:function(t){var i=e("<div>"+t+"</div>"),l="",o=null,s="",r=null,n=window.location,a=n.protocol+"//"+n.hostname+(n.port?":"+n.port:"");return i.find("script").each(function(){l=e(this).attr("src"),"undefined"!=typeof l&&(l=l.replace(a,""),o=e('script[src*="'+l+'"]'),o.length>0&&e(this).remove())}),i.find("link").each(function(){s=e(this).attr("href"),"undefined"!=typeof s&&(s=s.replace(a,""),r=e('link[href*="'+s+'"]'),r.length>0&&e(this).remove())}),i.html()},_addNewScriptsStyles:function(){this._data.scriptsStyles&&""!==this._data.scriptsStyles&&this._body.append(this._data.scriptsStyles)},_addNewJS:function(){setTimeout(e.proxy(function(){this._newJs&&this._head.append(this._newJs)},this),50)},_complete:function(){FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols(),FLBuilder._initSortables(),FLBuilder._resizeLayout(),FLBuilder._initMediaElements(),FLBuilderLayout.init(),this._body.height("auto")}}}(jQuery),function(e){FLBuilderPreview=function(t){this.type=t.type,"undefined"!=t.state&&t.state?this.state=t.state:this._saveState(),"undefined"!=t.layout&&t.layout?FLBuilder._renderLayout(t.layout,e.proxy(this._init,this)):this._init()},FLBuilderPreview._fontsList={},FLBuilderPreview.prototype={type:"",nodeId:null,classes:{},elements:{},state:null,_savedSettings:null,_styleSheet:null,_timeout:null,_lastClassName:null,_xhr:null,_init:function(){switch(this.nodeId=e(".fl-builder-settings").data("node"),this._saveSettings(),this._initElementsAndClasses(),this._initDefaultFieldPreviews(),this.type){case"row":this._initRow();break;case"col":this._initColumn();break;case"module":this._initModule()}},_saveSettings:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings");this._savedSettings=FLBuilder._getSettings(t)},_settingsHaveChanged:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),i=FLBuilder._getSettings(t);return JSON.stringify(this._savedSettings)!=JSON.stringify(i)},_initElementsAndClasses:function(){var t;t="row"==this.type?".fl-row-content-wrap":".fl-"+this.type+"-content",e.extend(this.classes,{settings:".fl-builder-"+this.type+"-settings",settingsHeader:".fl-builder-"+this.type+"-settings .fl-lightbox-header",node:FLBuilder._contentClass+" .fl-node-"+this.nodeId,content:FLBuilder._contentClass+" .fl-node-"+this.nodeId+" "+t}),e.extend(this.elements,{settings:e(this.classes.settings),settingsHeader:e(this.classes.settingsHeader),node:e(this.classes.node),content:e(this.classes.content)})},updateCSSRule:function(e,t,i){this._styleSheet||(this._styleSheet=new FLStyleSheet),this._styleSheet.updateRule(e,t,i)},delay:function(e,t){this._cancelDelay(),this._timeout=setTimeout(t,e)},_cancelDelay:function(){null!==this._timeout&&clearTimeout(this._timeout)},hexToRgb:function(e){var t=parseInt(e,16),i=t>>16&255,l=t>>8&255,o=255&t;return[i,l,o]},parseFloat:function(e){return isNaN(parseFloat(e))?0:parseFloat(e)},_saveState:function(){var t=e("#fl-post-id").val(),i=e('link[href*="/cache/'+t+'"]').attr("href"),l=e('script[src*="/cache/'+t+'"]').attr("src"),o=e(FLBuilder._contentClass).html();this.state={css:i,js:l,html:o}},preview:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),i=t.attr("data-node"),l=FLBuilder._getSettings(t);this._cancelPreview(),this._xhr=FLBuilder.ajax({action:"render_layout",node_id:i,node_preview:l},e.proxy(this._renderPreview,this))},delayPreview:function(t){var i="undefined"==typeof t?[]:e(t.target).closest("tr").find("th"),l=e(".fl-builder-widget-settings .fl-builder-settings-title"),o=e(".fl-builder-settings .fl-lightbox-header"),s=FLBuilderLayoutConfig.paths.pluginUrl+"img/ajax-loader-small.gif",r=e('<img class="fl-builder-preview-loader" src="'+s+'" />');e(".fl-builder-preview-loader").remove(),i.length>0?i.append(r):l.length>0?l.append(r):o.length>0&&o.append(r),this.delay(1e3,e.proxy(this.preview,this))},_cancelPreview:function(){this._xhr&&(this._xhr.abort(),this._xhr=null)},_renderPreview:function(t){this._xhr=null,FLBuilder._renderLayout(t,e.proxy(this._renderPreviewComplete,this))},_renderPreviewComplete:function(){this._initElementsAndClasses(),e(".fl-builder-preview-loader").remove(),e(FLBuilder._contentClass).trigger("fl-builder.preview-rendered")},revert:function(){this._cancelDelay(),this._cancelPreview(),this._styleSheet&&this._styleSheet.remove(),this._settingsHaveChanged()&&FLBuilder._renderLayout(this.state)},clear:function(){this._cancelDelay(),this._cancelPreview(),this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=null)},_initNodeTextColor:function(){e.extend(this.elements,{textColor:e(this.classes.settings+" input[name=text_color]"),linkColor:e(this.classes.settings+" input[name=link_color]"),hoverColor:e(this.classes.settings+" input[name=hover_color]"),headingColor:e(this.classes.settings+" input[name=heading_color]")}),this.elements.textColor.on("change",e.proxy(this._textColorChange,this)),this.elements.linkColor.on("change",e.proxy(this._textColorChange,this)),this.elements.hoverColor.on("change",e.proxy(this._textColorChange,this)),this.elements.headingColor.on("change",e.proxy(this._textColorChange,this))},_textColorChange:function(t){var i=this.elements.textColor.val(),l=this.elements.linkColor.val(),o=this.elements.hoverColor.val(),s=this.elements.headingColor.val();l=""===l?i:l,o=""===o?i:o,s=""===s?i:s,this.delay(100,e.proxy(function(){""===i?this.updateCSSRule(this.classes.node,"color","inherit"):this.updateCSSRule(this.classes.node,"color","#"+i),""===l?this.updateCSSRule(this.classes.node+" a","color","inherit"):this.updateCSSRule(this.classes.node+" a","color","#"+l),""===o?this.updateCSSRule(this.classes.node+" a:hover","color","inherit"):this.updateCSSRule(this.classes.node+" a:hover","color","#"+o),""===s?(this.updateCSSRule(this.classes.node+" h1","color","inherit"),this.updateCSSRule(this.classes.node+" h2","color","inherit"),this.updateCSSRule(this.classes.node+" h3","color","inherit"),this.updateCSSRule(this.classes.node+" h4","color","inherit"),this.updateCSSRule(this.classes.node+" h5","color","inherit"),this.updateCSSRule(this.classes.node+" h6","color","inherit"),this.updateCSSRule(this.classes.node+" h1 a","color","inherit"),this.updateCSSRule(this.classes.node+" h2 a","color","inherit"),this.updateCSSRule(this.classes.node+" h3 a","color","inherit"),this.updateCSSRule(this.classes.node+" h4 a","color","inherit"),this.updateCSSRule(this.classes.node+" h5 a","color","inherit"),this.updateCSSRule(this.classes.node+" h6 a","color","inherit")):(this.updateCSSRule(this.classes.node+" h1","color","#"+s),this.updateCSSRule(this.classes.node+" h2","color","#"+s),this.updateCSSRule(this.classes.node+" h3","color","#"+s),this.updateCSSRule(this.classes.node+" h4","color","#"+s),this.updateCSSRule(this.classes.node+" h5","color","#"+s),this.updateCSSRule(this.classes.node+" h6","color","#"+s),this.updateCSSRule(this.classes.node+" h1 a","color","#"+s),this.updateCSSRule(this.classes.node+" h2 a","color","#"+s),this.updateCSSRule(this.classes.node+" h3 a","color","#"+s),this.updateCSSRule(this.classes.node+" h4 a","color","#"+s),this.updateCSSRule(this.classes.node+" h5 a","color","#"+s),this.updateCSSRule(this.classes.node+" h6 a","color","#"+s))},this))},_initNodeBg:function(){e.extend(this.elements,{bgType:e(this.classes.settings+" select[name=bg_type]"),bgColor:e(this.classes.settings+" input[name=bg_color]"),bgColorPicker:e(this.classes.settings+" .fl-picker-bg_color"),bgOpacity:e(this.classes.settings+" input[name=bg_opacity]"),bgImageSrc:e(this.classes.settings+" select[name=bg_image_src]"),bgRepeat:e(this.classes.settings+" select[name=bg_repeat]"),bgPosition:e(this.classes.settings+" select[name=bg_position]"),bgAttachment:e(this.classes.settings+" select[name=bg_attachment]"),bgSize:e(this.classes.settings+" select[name=bg_size]"),bgVideo:e(this.classes.settings+" input[name=bg_video]"),bgVideoFallbackSrc:e(this.classes.settings+" select[name=bg_video_fallback_src]"),bgSlideshowSource:e(this.classes.settings+" select[name=ss_source]"),bgSlideshowPhotos:e(this.classes.settings+" input[name=ss_photos]"),bgSlideshowFeedUrl:e(this.classes.settings+" input[name=ss_feed_url]"),bgSlideshowSpeed:e(this.classes.settings+" input[name=ss_speed]"),bgSlideshowTrans:e(this.classes.settings+" select[name=ss_transition]"),bgSlideshowTransSpeed:e(this.classes.settings+" input[name=ss_transitionDuration]"),bgParallaxImageSrc:e(this.classes.settings+" select[name=bg_parallax_image_src]"),bgOverlayColor:e(this.classes.settings+" input[name=bg_overlay_color]"),bgOverlayOpacity:e(this.classes.settings+" input[name=bg_overlay_opacity]")}),this.elements.bgType.on("change",e.proxy(this._bgTypeChange,this)),this.elements.bgColor.on("change",e.proxy(this._bgColorChange,this)),this.elements.bgOpacity.on("keyup",e.proxy(this._bgOpacityChange,this)),this.elements.bgImageSrc.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgRepeat.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgPosition.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgAttachment.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgSize.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgSlideshowSource.on("change",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowPhotos.on("change",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowFeedUrl.on("keyup",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowSpeed.on("keyup",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowTrans.on("change",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowTransSpeed.on("keyup",e.proxy(this._bgSlideshowChange,this)),this.elements.bgParallaxImageSrc.on("change",e.proxy(this._bgParallaxChange,this)),this.elements.bgOverlayColor.on("change",e.proxy(this._bgOverlayChange,this)),this.elements.bgOverlayOpacity.on("keyup",e.proxy(this._bgOverlayChange,this))},_bgTypeChange:function(e){var t=this.elements.bgType.val();this.elements.node.removeClass("fl-row-bg-video"),this.elements.node.removeClass("fl-row-bg-slideshow"),this.elements.node.removeClass("fl-row-bg-parallax"),this.elements.node.find(".fl-bg-video").remove(),this.elements.node.find(".fl-bg-slideshow").remove(),this.elements.content.css("background-image",""),this.updateCSSRule(this.classes.content,{"background-color":"transparent","background-image":"none"}),"none"==t?this._bgOverlayClear():"color"==t?(this.elements.bgColor.trigger("change"),this._bgOverlayClear()):"photo"==t?(this.elements.bgColor.trigger("change"),this.elements.bgImageSrc.trigger("change")):"video"==t?(this.elements.bgColor.trigger("change"),""!=this.elements.bgVideo.val()&&this.preview()):"slideshow"==t?(this.elements.bgColor.trigger("change"),this._bgSlideshowChange()):"parallax"==t&&(this.elements.bgColor.trigger("change"),this.elements.bgParallaxImageSrc.trigger("change"))},_bgColorChange:function(t){var i,l,o;""===this.elements.bgColor.val()||isNaN(this.elements.bgOpacity.val())?this.updateCSSRule(this.classes.content,"background-color","transparent"):(i=this.hexToRgb(this.elements.bgColor.val()),l=this.parseFloat(this.elements.bgOpacity.val())/100,o="rgba("+i.join()+", "+l+")",this.delay(100,e.proxy(function(){this.updateCSSRule(this.classes.content,"background-color",o)},this)))},_bgOpacityChange:function(e){this.elements.bgColor.trigger("change")},_bgPhotoChange:function(e){this.elements.bgImageSrc.val()?this.updateCSSRule(this.classes.content,{"background-image":"url("+this.elements.bgImageSrc.val()+")","background-repeat":this.elements.bgRepeat.val(),"background-position":this.elements.bgPosition.val(),"background-attachment":this.elements.bgAttachment.val(),"background-size":this.elements.bgSize.val()}):this.updateCSSRule(this.classes.content,{"background-image":"none"})},_bgSlideshowChange:function(t){var i=this.elements,l=i.bgSlideshowSource.val(),o=i.bgSlideshowPhotos.val(),s=i.bgSlideshowFeedUrl.val(),r=i.bgSlideshowSpeed.val(),n=i.bgSlideshowTransSpeed.val();"wordpress"==l&&""===o||"smugmug"==l&&""===s||isNaN(parseInt(r))||isNaN(parseInt(n))||this.delay(500,e.proxy(this.preview,this))},_bgParallaxChange:function(e){this.elements.bgParallaxImageSrc.val()&&this.updateCSSRule(this.classes.content,{"background-image":"url("+this.elements.bgParallaxImageSrc.val()+")","background-repeat":"no-repeat","background-position":"center center","background-attachment":"fixed","background-size":"cover"})},_bgOverlayChange:function(t){var i,l,o;""===this.elements.bgOverlayColor.val()||isNaN(this.elements.bgOverlayOpacity.val())?(this.elements.node.removeClass("fl-row-bg-overlay"),this.elements.node.removeClass("fl-col-bg-overlay"),this.updateCSSRule(this.classes.content+":after","background-color","transparent")):(i=this.hexToRgb(this.elements.bgOverlayColor.val()),l=this.parseFloat(this.elements.bgOverlayOpacity.val())/100,o="rgba("+i.join()+", "+l+")",this.delay(100,e.proxy(function(){this.elements.node.hasClass("fl-col")?this.elements.node.addClass("fl-col-bg-overlay"):this.elements.node.addClass("fl-row-bg-overlay"),this.updateCSSRule(this.classes.content+":after","background-color",o)},this)))},_bgOverlayClear:function(e){this.elements.bgOverlayColor.prev(".fl-color-picker-clear").trigger("click")},_initNodeBorder:function(){e.extend(this.elements,{borderType:e(this.classes.settings+" select[name=border_type]"),borderColor:e(this.classes.settings+" input[name=border_color]"),borderColorPicker:e(this.classes.settings+" .fl-picker-border_color"),borderOpacity:e(this.classes.settings+" input[name=border_opacity]"),borderTopWidth:e(this.classes.settings+" input[name=border_top]"),borderBottomWidth:e(this.classes.settings+" input[name=border_bottom]"),borderLeftWidth:e(this.classes.settings+" input[name=border_left]"),borderRightWidth:e(this.classes.settings+" input[name=border_right]")}),this.elements.borderType.on("change",e.proxy(this._borderTypeChange,this)),this.elements.borderColor.on("change",e.proxy(this._borderColorChange,this)),this.elements.borderOpacity.on("keyup",e.proxy(this._borderOpacityChange,this)),this.elements.borderTopWidth.on("keyup",e.proxy(this._borderWidthChange,this)),this.elements.borderBottomWidth.on("keyup",e.proxy(this._borderWidthChange,this)),this.elements.borderLeftWidth.on("keyup",e.proxy(this._borderWidthChange,this)),this.elements.borderRightWidth.on("keyup",e.proxy(this._borderWidthChange,this))},_borderTypeChange:function(e){var t=this.elements.borderType.val();this.updateCSSRule(this.classes.content,{"border-style":""===t?"none":t}),this.elements.borderColor.trigger("change"),this.elements.borderTopWidth.trigger("keyup")},_borderColorChange:function(t){var i,l,o;""===this.elements.borderColor.val()||isNaN(this.elements.borderOpacity.val())?this.updateCSSRule(this.classes.content,"border-color","transparent"):(i=this.hexToRgb(this.elements.borderColor.val()),l=parseInt(this.elements.borderOpacity.val())/100,o="rgba("+i.join()+", "+l+")",this.delay(100,e.proxy(function(){this.updateCSSRule(this.classes.content,"border-color",o)},this)))},_borderOpacityChange:function(e){this.elements.borderColor.trigger("change")},_getBorderWidths:function(e){var t=this.elements.borderTopWidth.val(),i=this.elements.borderBottomWidth.val(),l=this.elements.borderLeftWidth.val(),o=this.elements.borderRightWidth.val();return""===t&&(t=this.elements.borderTopWidth.attr("placeholder")),""===i&&(i=this.elements.borderBottomWidth.attr("placeholder")),""===l&&(l=this.elements.borderLeftWidth.attr("placeholder")),""===o&&(o=this.elements.borderRightWidth.attr("placeholder")),{top:this.parseFloat(t),bottom:this.parseFloat(i),left:this.parseFloat(l),right:this.parseFloat(o)}},_borderWidthChange:function(e){var t=this._getBorderWidths();this.elements.borderColor.trigger("change"),this.updateCSSRule(this.classes.content,{"border-top-width":t.top+"px","border-bottom-width":t.bottom+"px","border-left-width":t.left+"px","border-right-width":t.right+"px"}),this._positionAbsoluteBgs()},_initNodeClassName:function(){e.extend(this.elements,{className:e(this.classes.settings+" input[name=class]")}),this.elements.className.on("keyup",e.proxy(this._classNameChange,this)),this._lastClassName=this.elements.className.val()},_classNameChange:function(e){var t=this.elements.className.val();null!==this._lastClassName&&this.elements.node.removeClass(this._lastClassName),this.elements.node.addClass(t),this._lastClassName=t},_initMargins:function(){e.extend(this.elements,{marginTop:e(this.classes.settings+" input[name=margin_top]"),marginBottom:e(this.classes.settings+" input[name=margin_bottom]"),marginLeft:e(this.classes.settings+" input[name=margin_left]"),marginRight:e(this.classes.settings+" input[name=margin_right]")}),this.elements.marginTop.on("keyup",e.proxy(this._marginChange,this)),this.elements.marginBottom.on("keyup",e.proxy(this._marginChange,this)),this.elements.marginLeft.on("keyup",e.proxy(this._marginChange,this)),this.elements.marginRight.on("keyup",e.proxy(this._marginChange,this))},_getMargins:function(e){var t=this.elements.marginTop.val(),i=this.elements.marginBottom.val(),l=this.elements.marginLeft.val(),o=this.elements.marginRight.val();return""===t&&(t=this.elements.marginTop.attr("placeholder")),""===i&&(i=this.elements.marginBottom.attr("placeholder")),""===l&&(l=this.elements.marginLeft.attr("placeholder")),""===o&&(o=this.elements.marginRight.attr("placeholder")),{top:this.parseFloat(t),bottom:this.parseFloat(i),left:this.parseFloat(l),right:this.parseFloat(o)}},_marginChange:function(e){var t=this._getMargins();this.updateCSSRule(this.classes.content,{"margin-top":t.top+"px","margin-bottom":t.bottom+"px","margin-left":t.left+"px","margin-right":t.right+"px"}),this._positionAbsoluteBgs()},_initPadding:function(){e.extend(this.elements,{paddingTop:e(this.classes.settings+" input[name=padding_top]"),paddingBottom:e(this.classes.settings+" input[name=padding_bottom]"),paddingLeft:e(this.classes.settings+" input[name=padding_left]"),paddingRight:e(this.classes.settings+" input[name=padding_right]")}),this.elements.paddingTop.on("keyup",e.proxy(this._paddingChange,this)),this.elements.paddingBottom.on("keyup",e.proxy(this._paddingChange,this)),this.elements.paddingLeft.on("keyup",e.proxy(this._paddingChange,this)),this.elements.paddingRight.on("keyup",e.proxy(this._paddingChange,this))},_getPadding:function(e){var t=this.elements.paddingTop.val(),i=this.elements.paddingBottom.val(),l=this.elements.paddingLeft.val(),o=this.elements.paddingRight.val();return""===t&&(t=this.elements.paddingTop.attr("placeholder")),""===i&&(i=this.elements.paddingBottom.attr("placeholder")),""===l&&(l=this.elements.paddingLeft.attr("placeholder")),""===o&&(o=this.elements.paddingRight.attr("placeholder")),{top:this.parseFloat(t),bottom:this.parseFloat(i),left:this.parseFloat(l),right:this.parseFloat(o)}},_paddingChange:function(e){var t=this._getPadding();this.updateCSSRule(this.classes.content,{"padding-top":t.top+"px","padding-bottom":t.bottom+"px","padding-left":t.left+"px","padding-right":t.right+"px"}),this._positionAbsoluteBgs()},_positionAbsoluteBgs:function(){var e=this.elements.node.find(".fl-bg-slideshow"),t=this.elements.node.find(".fl-bg-video"),i=null,l=null;(e.length>0||t.length>0)&&(i=this._getMargins(),l=this._getBorderWidths(),e.length>0&&(this.updateCSSRule(this.classes.node+" .fl-bg-slideshow",{top:i.top+l.top+"px",bottom:i.bottom+l.bottom+"px",left:i.left+l.left+"px",right:i.right+l.right+"px"}),FLBuilder._resizeLayout()),t.length>0&&this.updateCSSRule(this.classes.node+" .fl-bg-video",{top:i.top+l.top+"px",bottom:i.bottom+l.bottom+"px",left:i.left+l.left+"px",right:i.right+l.right+"px"}))},_initRow:function(){e.extend(this.elements,{width:e(this.classes.settings+" select[name=width]"),contentWidth:e(this.classes.settings+" select[name=content_width]"),height:e(this.classes.settings+" select[name=full_height]"),align:e(this.classes.settings+" select[name=content_alignment]")}),this.elements.width.on("change",e.proxy(this._rowWidthChange,this)),this.elements.contentWidth.on("change",e.proxy(this._rowContentWidthChange,this)),this.elements.height.on("change",e.proxy(this._rowHeightChange,this)),this.elements.align.on("change",e.proxy(this._rowHeightChange,this)),this._initNodeTextColor(),this._initNodeBg(),this._initNodeBorder(),this._initNodeClassName(),this._initMargins(),this._initPadding()},_rowWidthChange:function(e){var t=this.elements.node;"full"==this.elements.width.val()?(t.removeClass("fl-row-fixed-width"),t.addClass("fl-row-full-width")):(t.removeClass("fl-row-full-width"),t.addClass("fl-row-fixed-width"))},_rowHeightChange:function(e){var t=this.elements.node;t.removeClass("fl-row-align-top"),t.removeClass("fl-row-align-center"),"full"==this.elements.height.val()?(t.addClass("fl-row-full-height"),t.addClass("fl-row-align-"+this.elements.align.val())):t.removeClass("fl-row-full-height")},_rowContentWidthChange:function(e){var t=this.elements.content.find(".fl-row-content");"full"==this.elements.contentWidth.val()?(t.removeClass("fl-row-fixed-width"),t.addClass("fl-row-full-width")):(t.removeClass("fl-row-full-width"),t.addClass("fl-row-fixed-width"))},_initColumn:function(){e.extend(this.elements,{size:e(this.classes.settings+" input[name=size]"),columnHeight:e(this.classes.settings+" select[name=equal_height]"),columnAlign:e(this.classes.settings+" select[name=content_alignment]"),responsiveOrder:e(this.classes.settings+" select[name=responsive_order]")}),this.elements.size.on("keyup",e.proxy(this._colSizeChange,this)),this.elements.columnHeight.on("change",e.proxy(this._colHeightChange,this)),this.elements.columnAlign.on("change",e.proxy(this._colHeightChange,this)),this.elements.responsiveOrder.on("change",e.proxy(this._colResponsiveOrder,this)),this._initNodeTextColor(),this._initNodeBg(),this._initNodeBorder(),this._initNodeClassName(),this._initMargins(),this._initPadding()},_colSizeChange:function(){var t=10,i=100-t,l=parseFloat(this.elements.size.val()),o=this.elements.node.prev(".fl-col"),s=this.elements.node.next(".fl-col"),r=0===s.length?o:s,n=this.elements.node.siblings(".fl-col"),a=0;0===n.length||isNaN(l)||(n.each(function(){e(this).data("node")!=r.data("node")&&(i-=parseFloat(e(this)[0].style.width),a+=parseFloat(e(this)[0].style.width))}),l<t&&(l=t),l>i&&(l=i),r.css("width",100-a-l+"%"),this.elements.node.css("width",l+"%"))},_colHeightChange:function(){var e=this.elements.node.parent(".fl-col-group");e.removeClass("fl-col-group-align-top"),e.removeClass("fl-col-group-align-center"),e.removeClass("fl-col-group-align-bottom"),"yes"==this.elements.columnHeight.val()?(e.addClass("fl-col-group-equal-height"),e.addClass("fl-col-group-align-"+this.elements.columnAlign.val())):e.removeClass("fl-col-group-equal-height")},_colResponsiveOrder:function(){var e=this.elements.node.parent(".fl-col-group");"reversed"==this.elements.responsiveOrder.val()?e.addClass("fl-col-group-responsive-reversed"):e.removeClass("fl-col-group-responsive-reversed")},_initModule:function(){this._initNodeClassName(),this._initMargins()},_initDefaultFieldPreviews:function(){for(var e=this.elements.settings.find(".fl-field"),t=null,i=null,l=0;l<e.length;l++)t=e.eq(l),i=t.data("preview"),"refresh"==i.type&&this._initFieldRefreshPreview(t),"text"==i.type&&this._initFieldTextPreview(t),"css"==i.type&&this._initFieldCSSPreview(t),"widget"==i.type&&this._initFieldWidgetPreview(t),"font"==i.type&&this._initFieldFontPreview(t)},_initFieldRefreshPreview:function(t){var i=t.data("type"),l=t.data("preview"),o=e.proxy(this.delayPreview,this);switch(i){case"text":t.find("input[type=text]").on("keyup",o);break;case"textarea":t.find("textarea").on("keyup",o);break;case"select":t.find("select").on("change",o);break;case"color":t.find(".fl-color-picker-value").on("change",o);break;case"photo":t.find("select").on("change",o);break;case"multiple-photos":t.find("input").on("change",o);break;case"photo-sizes":t.find("select").on("change",o);break;case"video":t.find("input").on("change",o);break;case"multiple-audios":t.find("input").on("change",o);break;case"icon":t.find("input").on("change",o);break;case"form":t.delegate("input","change",o);break;case"editor":this._addTextEditorCallback(t,l);break;case"code":t.find("textarea").on("change",o);break;case"post-type":t.find("select").on("change",o);break;case"suggest":t.find(".as-values").on("change",o)}},_initFieldTextPreview:function(t){var i=t.data("type"),l=t.data("preview"),o=e.proxy(this._previewText,this,l);switch(i){case"text":t.find("input[type=text]").on("keyup",o);break;case"textarea":t.find("textarea").on("keyup",o);break;case"code":t.find("textarea").on("change",o);break;case"editor":this._addTextEditorCallback(t,l)}},_previewText:function(t,i){var l=this.elements.node.find(t.selector),o=e("<div>"+e(i.target).val()+"</div>");l.length>0&&(o.find("script").remove(),l.html(o.html()))},_previewTextEditor:function(t,i,l){var o=this.elements.node.find(t.selector),s="undefined"!=typeof tinyMCE?tinyMCE.get(i):null,r=e("#"+i),n="";o.length>0&&(n=e(s&&"none"==r.css("display")?"<div>"+s.getContent()+"</div>":"undefined"==typeof switchEditors||"undefined"==typeof switchEditors.wpautop?"<div>"+r.val()+"</div>":"<div>"+switchEditors.wpautop(r.val())+"</div>"),n.find("script").remove(),o.html(n.html()))},_addTextEditorCallback:function(t,i){var l=t.find("textarea.wp-editor-area").attr("id"),o=null;if("refresh"==i.type)o=e.proxy(this.delayPreview,this);else{if("text"!=i.type)return;o=e.proxy(this._previewTextEditor,this,i,l)}e("#"+l).on("keyup",o),"undefined"!=typeof tinyMCE&&(editor=tinyMCE.get(l),editor.on("change",o),editor.on("keyup",o))},_initFieldFontPreview:function(t){var i=t.data("type"),l=t.data("preview");l.id=t.attr("id");var o=e.proxy(this._previewFont,this,l);"font"==i&&t.find(".fl-font-field").on("change","select",o)},_previewFont:function(t,i){var l=e(i.delegateTarget),o=l.find(".fl-font-field-font"),s=e(o).find(":selected"),r=s.parent().attr("label"),n=l.find(".fl-font-field-weight"),a=t.id+"-"+this.nodeId,d=this._getPreviewSelector(this.classes.node,t.selector);"Google"==r&&this._buildFontStylesheet(a,o.val(),n.val()),"Default"==o.val()?(this.updateCSSRule(d,"font-family",""),this.updateCSSRule(d,"font-weight","")):(this.updateCSSRule(d,"font-family",o.val()),this.updateCSSRule(d,"font-weight",n.val()))},_buildFontStylesheet:function(t,i,l){var o=FLBuilderConfig.googleFontsUrl,s="",r={},n={};r[i]=[l],FLBuilderPreview._fontsList[t]=r,Object.keys(FLBuilderPreview._fontsList).forEach(function(e){var t=FLBuilderPreview._fontsList[e];Object.keys(t).forEach(function(e){var i=t[e];n[e]=n[e]||[],i=i.filter(function(t){return n[e].indexOf(t)<0}),n[e]=n[e].concat(i)})}),e.each(n,function(e,t){s+=e+":"+t.join()+"|"}),s=o+s.slice(0,-1).replace(" ","+"),e("#fl-builder-google-fonts-preview").length<1?e("<link>").attr("id","fl-builder-google-fonts-preview").attr("type","text/css").attr("rel","stylesheet").attr("href",s).appendTo("head"):e("#fl-builder-google-fonts-preview").attr("href",s)},_initFieldCSSPreview:function(e){var t=e.data("preview"),i=null;if("undefined"!=typeof t.rules)for(i in t.rules)this._initFieldCSSPreviewCallback(e,t.rules[i]);else this._initFieldCSSPreviewCallback(e,t)},_initFieldCSSPreviewCallback:function(t,i){switch(t.data("type")){case"text":t.find("input[type=text]").on("keyup",e.proxy(this._previewCSS,this,i));break;case"select":t.find("select").on("change",e.proxy(this._previewCSS,this,i));break;case"color":t.find(".fl-color-picker-value").on("change",e.proxy(this._previewColor,this,i))}},_previewCSS:function(t,i){var l=this._getPreviewSelector(this.classes.node,t.selector),o=t.property,s="undefined"==typeof t.unit?"":t.unit,r=e(i.target).val();"%"==s?r=parseInt(r)/100:r+=s,this.updateCSSRule(l,o,r)},_previewColor:function(t,i){var l=this._getPreviewSelector(this.classes.node,t.selector),o=e(i.target).val(),s=""===o?"inherit":"#"+o;
|
2 |
-
this.updateCSSRule(l,t.property,s)},_initFieldWidgetPreview:function(t){var i=e.proxy(this.delayPreview,this);t.find("input").on("keyup",i),t.find("input[type=checkbox]").on("click",i),t.find("textarea").on("keyup",i),t.find("select").on("change",i)},_getPreviewSelector:function(e,t){for(var i="",l=t.split(","),o=0;o<l.length;o++)i+=e+" "+l[o],o!=l.length-1&&(i+=", ");return i}}}(jQuery),function(e){var t={init:function(){var t=e("body");t.delegate(".fl-builder-service-select","change",this._serviceChange),t.delegate(".fl-builder-service-connect-button","click",this._connectClicked),t.delegate(".fl-builder-service-account-select","change",this._accountChange),t.delegate(".fl-builder-service-account-delete","click",this._accountDeleteClicked),t.delegate(".fl-builder-campaign-monitor-client-select","change",this._campaignMonitorClientChange),t.delegate(".fl-builder-mailchimp-list-select","change",this._mailChimpListChange),t.delegate(".fl-builder-activecampaign-list_type-select","change",this._activeCampaignChange)},_startSettingsLoading:function(t){var i=e(".fl-builder-settings"),l=t.closest(".fl-builder-service-settings"),o=e(".fl-builder-service-error");i.append('<div class="fl-builder-loading"></div>'),l.addClass("fl-builder-service-settings-loading"),o.remove()},_finishSettingsLoading:function(){var t=e(".fl-builder-settings"),i=e(".fl-builder-service-settings-loading");t.find(".fl-builder-loading").remove(),i.removeClass("fl-builder-service-settings-loading")},_serviceChange:function(){var i=e(".fl-builder-settings").data("node"),l=e(this),o=l.closest("tr"),s=l.val();o.siblings("tr.fl-builder-service-account-row").remove(),o.siblings("tr.fl-builder-service-connect-row").remove(),o.siblings("tr.fl-builder-service-field-row").remove(),e(".fl-builder-service-error").remove(),""!==s&&(t._startSettingsLoading(l),FLBuilder.ajax({action:"render_service_settings",node_id:i,service:s},t._serviceChangeComplete))},_serviceChangeComplete:function(i){var l=JSON.parse(i),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-select-row");s.after(l.html),t._addAccountDelete(o),t._finishSettingsLoading()},_connectClicked:function(){for(var i=e(".fl-builder-settings").data("node"),l=e(this).closest(".fl-builder-service-settings"),o=l.find(".fl-builder-service-select"),s=l.find(".fl-builder-service-connect-row"),r=l.find(".fl-builder-service-connect-input"),n=null,a=null,d=0,u={action:"connect_service",node_id:i,service:o.val(),fields:{}};d<r.length;d++)n=r.eq(d),a=n.attr("name"),u.fields[a]=n.val();s.hide(),t._startSettingsLoading(o),FLBuilder.ajax(u,t._connectComplete)},_connectComplete:function(i){var l=JSON.parse(i),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-select-row"),r=o.find(".fl-builder-service-select"),n=o.find(".fl-builder-service-account-row"),a=o.find(".fl-builder-service-account-select"),d=o.find(".fl-builder-service-connect-row");l.error?(d.show(),0===a.length?r.after('<div class="fl-builder-service-error">'+l.error+"</div>"):a.after('<div class="fl-builder-service-error">'+l.error+"</div>")):(d.remove(),n.remove(),s.after(l.html)),t._addAccountDelete(o),t._finishSettingsLoading()},_accountChange:function(){var i=e(".fl-builder-settings").data("node"),l=e(this).closest(".fl-builder-service-settings"),o=l.find(".fl-builder-service-select"),s=l.find(".fl-builder-service-account-select"),r=l.find(".fl-builder-service-connect-row"),n=l.find("tr.fl-builder-service-field-row"),a=e(".fl-builder-service-error"),d=s.val(),u=null;r.remove(),n.remove(),a.remove(),"add_new_account"==d?u={action:"render_service_settings",node_id:i,service:o.val(),add_new:!0}:""!==d&&(u={action:"render_service_fields",node_id:i,service:o.val(),account:d}),u&&(t._startSettingsLoading(o),FLBuilder.ajax(u,t._accountChangeComplete)),t._addAccountDelete(l)},_accountChangeComplete:function(i){var l=JSON.parse(i),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-account-row");s.after(l.html),t._finishSettingsLoading()},_addAccountDelete:function(e){var t=e.find(".fl-builder-service-account-select");t.length>0&&(e.find(".fl-builder-service-account-delete").remove(),""!==t.val()&&"add_new_account"!=t.val()&&t.after('<a href="javascript:void(0);" class="fl-builder-service-account-delete">'+FLBuilderStrings.deleteAccount+"</a>"))},_accountDeleteClicked:function(){var i=e(this).closest(".fl-builder-service-settings"),l=i.find(".fl-builder-service-select"),o=i.find(".fl-builder-service-account-select");confirm(FLBuilderStrings.deleteAccountWarning)&&(FLBuilder.ajax({action:"delete_service_account",service:l.val(),account:o.val()},t._accountDeleteComplete),t._startSettingsLoading(o))},_accountDeleteComplete:function(){var i=e(".fl-builder-service-settings-loading"),l=i.find(".fl-builder-service-select");t._finishSettingsLoading(),l.trigger("change")},_campaignMonitorClientChange:function(){var i=e(".fl-builder-settings").data("node"),l=e(this).closest(".fl-builder-service-settings"),o=l.find(".fl-builder-service-select"),s=l.find(".fl-builder-service-account-select"),r=e(this),n=l.find(".fl-builder-service-list-select"),a=r.val();0!==n.length&&n.closest("tr").remove(),""!==a&&(t._startSettingsLoading(o),FLBuilder.ajax({action:"render_service_fields",node_id:i,service:o.val(),account:s.val(),client:a},t._campaignMonitorClientChangeComplete))},_campaignMonitorClientChangeComplete:function(i){var l=JSON.parse(i),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-campaign-monitor-client-select");s.closest("tr").after(l.html),t._finishSettingsLoading()},_mailChimpListChange:function(){var i=e(".fl-builder-settings").data("node"),l=e(this).closest(".fl-builder-service-settings"),o=l.find(".fl-builder-service-select"),s=l.find(".fl-builder-service-account-select"),r=l.find(".fl-builder-service-list-select");e(".fl-builder-mailchimp-group-select").closest("tr").remove(),""!==r.val()&&(t._startSettingsLoading(o),FLBuilder.ajax({action:"render_service_fields",node_id:i,service:o.val(),account:s.val(),list_id:r.val()},t._mailChimpListChangeComplete))},_mailChimpListChangeComplete:function(i){var l=JSON.parse(i),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-list-select");s.closest("tr").after(l.html),t._finishSettingsLoading()},_activeCampaignChange:function(){var i=e(".fl-builder-settings").data("node"),l=e(this).closest(".fl-builder-service-settings"),o=l.find(".fl-builder-service-select"),s=l.find(".fl-builder-service-account-select"),r=l.find(".fl-builder-service-list-select");list_type=l.find('select[name="list_type"]'),0!==r.length&&r.closest("tr").remove(),""!==list_type.val()&&(t._startSettingsLoading(o),FLBuilder.ajax({action:"render_service_fields",node_id:i,service:o.val(),account:s.val(),list_type:list_type.val()},t._activeCampaignTypeChangeComplete))},_activeCampaignTypeChangeComplete:function(i){var l=JSON.parse(i),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-field-row");s.after(l.html),t._finishSettingsLoading()}};e(function(){t.init()})}(jQuery),function(e){FLBuilderTour={_tour:null,start:function(){FLBuilderTour._tour?FLBuilderTour._tour.restart():(FLBuilderTour._tour=new Tour(FLBuilderTour._config()),FLBuilderTour._tour.init()),FLBuilderTour._tour.start()},_config:function(){var t={storage:!1,onStart:FLBuilderTour._onStart,onPrev:FLBuilderTour._onPrev,onNext:FLBuilderTour._onNext,onEnd:FLBuilderTour._onEnd,template:'<div class="popover" role="tooltip"> <i class="fa fa-times" data-role="end"></i> <div class="arrow"></div> <h3 class="popover-title"></h3> <div class="popover-content"></div> <div class="popover-navigation clearfix"> <button class="fl-builder-button fl-builder-button-primary fl-builder-tour-next" data-role="next">'+FLBuilderStrings.tourNext+"</button> </div> </div>",steps:[{animation:!1,element:".fl-builder-bar",placement:"bottom",title:FLBuilderStrings.tourTemplatesTitle,content:FLBuilderStrings.tourTemplates,onShown:function(){0===e(".fl-template-selector").length?(e(".popover[class*=tour-]").css("visibility","hidden"),FLBuilder._showTemplateSelector()):FLBuilderTour._templateSelectorLoaded()}},{animation:!1,element:"#fl-builder-blocks-rows .fl-builder-blocks-section-title",placement:"left",title:FLBuilderStrings.tourAddRowsTitle,content:FLBuilderStrings.tourAddRows,onShow:function(){FLBuilderTour._dimSection("body"),FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._showPanel(),e(".fl-template-selector .fl-builder-settings-cancel").trigger("click"),e("#fl-builder-blocks-rows .fl-builder-blocks-section-title").trigger("click")}},{animation:!1,element:"#fl-builder-blocks-basic .fl-builder-blocks-section-title",placement:"left",title:FLBuilderStrings.tourAddContentTitle,content:FLBuilderStrings.tourAddContent,onShow:function(){FLBuilderTour._dimSection("body"),FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._showPanel(),e("#fl-builder-blocks-basic .fl-builder-blocks-section-title").trigger("click"),e(".fl-row").eq(0).trigger("mouseleave"),e(".fl-module").eq(0).trigger("mouseleave")}},{animation:!1,element:".fl-row:first-of-type",placement:"top",title:FLBuilderStrings.tourEditContentTitle,content:FLBuilderStrings.tourEditContent,onShow:function(){FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._closePanel(),e(".fl-row").eq(0).trigger("mouseenter"),e(".fl-module").eq(0).trigger("mouseenter")}},{animation:!1,element:".fl-row:first-of-type .fl-module-overlay .fl-block-overlay-actions",placement:"top",title:FLBuilderStrings.tourEditContentTitle,content:FLBuilderStrings.tourEditContent2,onShow:function(){FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._closePanel(),e(".fl-row").eq(0).trigger("mouseenter"),e(".fl-module").eq(0).trigger("mouseenter")}},{animation:!1,element:".fl-builder-add-content-button",placement:"bottom",title:FLBuilderStrings.tourAddContentButtonTitle,content:FLBuilderStrings.tourAddContentButton,onShow:function(){FLBuilderTour._dimSection("body"),e(".fl-row").eq(0).trigger("mouseleave"),e(".fl-module").eq(0).trigger("mouseleave")}},{animation:!1,element:".fl-builder-templates-button",placement:"bottom",title:FLBuilderStrings.tourTemplatesButtonTitle,content:FLBuilderStrings.tourTemplatesButton,onShow:function(){FLBuilderTour._dimSection("body")}},{animation:!1,element:".fl-builder-tools-button",placement:"bottom",title:FLBuilderStrings.tourToolsButtonTitle,content:FLBuilderStrings.tourToolsButton,onShow:function(){FLBuilderTour._dimSection("body")}},{animation:!1,element:".fl-builder-done-button",placement:"bottom",title:FLBuilderStrings.tourDoneButtonTitle,content:FLBuilderStrings.tourDoneButton,onShow:function(){FLBuilderTour._dimSection("body")}},{animation:!1,orphan:!0,backdrop:!0,title:FLBuilderStrings.tourFinishedTitle,content:FLBuilderStrings.tourFinished,template:'<div class="popover" role="tooltip"> <div class="arrow"></div> <i class="fa fa-times" data-role="end"></i> <h3 class="popover-title"></h3> <div class="popover-content"></div> <div class="popover-navigation clearfix"> <button class="fl-builder-button fl-builder-button-primary fl-builder-tour-next" data-role="end">'+FLBuilderStrings.tourEnd+"</button> </div> </div>"}]};return FLBuilderConfig.lite?t.steps.shift():"disabled"==FLBuilderConfig.enabledTemplates?t.steps.shift():"fl-builder-template"==FLBuilderConfig.postType&&t.steps.shift(),t},_onStart:function(){var t=e("body");t.append('<div class="fl-builder-tour-mask"></div>'),t.on("fl-builder.template-selector-loaded",FLBuilderTour._templateSelectorLoaded),0===e(".fl-row").length&&"module"!=FLBuilderConfig.userTemplateType&&(e(".fl-builder-content").append('<div class="fl-builder-tour-demo-content fl-row fl-row-fixed-width fl-row-bg-none"> <div class="fl-row-content-wrap"> <div class="fl-row-content fl-row-fixed-width fl-node-content"> <div class="fl-col-group"> <div class="fl-col" style="width:100%"> <div class="fl-col-content fl-node-content"> <div class="fl-module fl-module-rich-text" data-type="rich-text" data-name="Text Editor"> <div class="fl-module-content fl-node-content"> <div class="fl-rich-text"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pellentesque ut lorem non cursus. Sed mauris nunc, porttitor iaculis lorem a, sollicitudin lacinia sapien. Proin euismod orci lacus, et sollicitudin leo posuere ac. In hac habitasse platea dictumst. Maecenas elit magna, consequat in turpis suscipit, ultrices rhoncus arcu. Phasellus finibus sapien nec elit tempus venenatis. Maecenas tincidunt sapien non libero maximus, in aliquam felis tincidunt. Mauris mollis ultricies facilisis. Duis condimentum dignissim tortor sit amet facilisis. Aenean gravida lacus eu risus molestie egestas. Donec ut dolor dictum, fringilla metus malesuada, viverra nunc. Maecenas ut purus ac justo aliquet lacinia. Cras vestibulum elementum tincidunt. Maecenas mattis tortor neque, consectetur dignissim neque tempor nec.</p></div> </div> </div> </div> </div> </div> </div> </div> </div>'),FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols())},_onPrev:function(){e(".fl-builder-tour-dimmed").remove()},_onNext:function(){e(".fl-builder-tour-dimmed").remove()},_onEnd:function(){e("body").off("fl-builder.template-selector-loaded"),e(".fl-builder-tour-mask").remove(),e(".fl-builder-tour-dimmed").remove(),e(".fl-builder-tour-demo-content").remove(),FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols(),FLBuilder._showPanel(),FLBuilder._initTemplateSelector()},_dimSection:function(t){e(t).find(".fl-builder-tour-dimmed").remove(),e(t).append('<div class="fl-builder-tour-dimmed"></div>')},_templateSelectorLoaded:function(){var t=e(".fl-builder-settings-lightbox .fl-lightbox-header"),i=t.height(),l=t.offset().top+75;e(".popover[class*=tour-]").css({top:l+i+"px",visibility:"visible"})}}}(jQuery),function(e){FLBuilder={preview:null,_actionsLightbox:null,_addModuleAfterRowRender:null,_colResizeData:null,_colResizing:!1,_contentClass:!1,_dragEnabled:!1,_dragging:!1,_exitUrl:null,_layout:null,_layoutSettingsCSSCache:null,_layoutSettingsCSSTimeout:null,_lightbox:null,_lightboxScrollbarTimeout:null,_loadedModuleAssets:[],_moduleHelpers:{},_multiplePhotoSelector:null,_newColGroupParent:null,_newColGroupPosition:0,_newModuleParent:null,_newModulePosition:0,_newRowPosition:0,_selectedTemplateId:null,_selectedTemplateType:null,_singlePhotoSelector:null,_singleVideoSelector:null,_multipleAudiosSelector:null,_silentUpdate:!1,_silentUpdateCallbackData:null,_init:function(){FLBuilder._initJQueryReadyFix(),FLBuilder._initGlobalErrorHandling(),FLBuilder._initPostLock(),FLBuilder._initClassNames(),FLBuilder._initMediaUploader(),FLBuilder._initOverflowFix(),FLBuilder._initScrollbars(),FLBuilder._initLightboxes(),FLBuilder._initSortables(),FLBuilder._initStrings(),FLBuilder._bindEvents(),FLBuilder._bindOverlayEvents(),FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols(),FLBuilder._showTourOrTemplates()},_initJQueryReadyFix:function(){FLBuilderConfig.debug||(jQuery.fn.oldReady=jQuery.fn.ready,jQuery.fn.ready=function(e){return jQuery.fn.oldReady(function(){try{"function"==typeof e&&e()}catch(t){FLBuilder.logError(t)}})})},_initGlobalErrorHandling:function(){FLBuilderConfig.debug||(window.onerror=function(e,t,i,l,o){return FLBuilder.logGlobalError(e,t,i,l,o),!0})},_initPostLock:function(){"undefined"!=typeof wp.heartbeat&&(wp.heartbeat.interval(30),wp.heartbeat.enqueue("fl_builder_post_lock",{post_id:e("#fl-post-id").val()}))},_initClassNames:function(){e("html").addClass("fl-builder-edit"),e("body").addClass("fl-builder"),FLBuilderConfig.simpleUi&&e("body").addClass("fl-builder-simple"),FLBuilder._contentClass=".fl-builder-content-"+FLBuilderConfig.postId},_initMediaUploader:function(){wp.media.model.settings.post.id=e("#fl-post-id").val()},_initOverflowFix:function(){e(FLBuilder._contentClass).parents().css("overflow","visible")},_initScrollbars:function(){e(".fl-nanoscroller").nanoScroller({alwaysVisible:!0,preventPageScrolling:!0,paneClass:"fl-nanoscroller-pane",sliderClass:"fl-nanoscroller-slider",contentClass:"fl-nanoscroller-content"})},_initLightboxes:function(){FLBuilder._lightbox=new FLLightbox({className:"fl-builder-lightbox fl-builder-settings-lightbox"}),FLBuilder._lightbox.on("close",FLBuilder._lightboxClosed),FLBuilder._actionsLightbox=new FLLightbox({className:"fl-builder-actions-lightbox"})},_initSortables:function(){var t={appendTo:"body",cursor:"move",cursorAt:{left:25,top:20},distance:1,helper:FLBuilder._blockDragHelper,start:FLBuilder._blockDragStart,sort:FLBuilder._blockDragSort,placeholder:"fl-builder-drop-zone",tolerance:"intersect"},i="",l="";i="row"==FLBuilderConfig.userTemplateType?FLBuilder._contentClass+" .fl-row-content":FLBuilder._contentClass+", "+FLBuilder._contentClass+" .fl-row:not(.fl-node-global) .fl-row-content",l="row"==FLBuilderConfig.userTemplateType?FLBuilder._contentClass+" .fl-row-content, "+FLBuilder._contentClass+" .fl-col-content":FLBuilder._contentClass+", "+FLBuilder._contentClass+" .fl-row:not(.fl-node-global) .fl-row-content, "+FLBuilder._contentClass+" .fl-col:not(.fl-node-global) .fl-col-content",e(".fl-builder-rows").sortable(e.extend({},t,{connectWith:i,items:".fl-builder-block-row",stop:FLBuilder._rowDragStop})),e(".fl-builder-row-templates").sortable(e.extend({},t,{connectWith:FLBuilder._contentClass,items:".fl-builder-block-row-template",stop:FLBuilder._nodeTemplateDragStop})),e(".fl-builder-saved-rows").sortable(e.extend({},t,{cancel:".fl-builder-node-template-actions, .fl-builder-node-template-edit, .fl-builder-node-template-delete",connectWith:FLBuilder._contentClass,items:".fl-builder-block-saved-row",stop:FLBuilder._nodeTemplateDragStop})),e(".fl-builder-modules, .fl-builder-widgets").sortable(e.extend({},t,{connectWith:l,items:".fl-builder-block-module",stop:FLBuilder._moduleDragStop})),e(".fl-builder-module-templates").sortable(e.extend({},t,{connectWith:l,items:".fl-builder-block-module-template",stop:FLBuilder._nodeTemplateDragStop})),e(".fl-builder-saved-modules").sortable(e.extend({},t,{cancel:".fl-builder-node-template-actions, .fl-builder-node-template-edit, .fl-builder-node-template-delete",connectWith:l,items:".fl-builder-block-saved-module",stop:FLBuilder._nodeTemplateDragStop})),e(FLBuilder._contentClass).sortable(e.extend({},t,{handle:".fl-row-overlay .fl-block-overlay-actions .fl-block-move",helper:FLBuilder._rowDragHelper,items:".fl-row",stop:FLBuilder._rowDragStop})),e(FLBuilder._contentClass+" .fl-row-content").sortable(e.extend({},t,{handle:".fl-row-overlay .fl-block-overlay-actions .fl-block-move",helper:FLBuilder._rowDragHelper,items:".fl-col-group",stop:FLBuilder._rowDragStop})),e(FLBuilder._contentClass+" .fl-col-content").sortable(e.extend({},t,{connectWith:l,handle:".fl-module-overlay .fl-block-overlay-actions .fl-block-move",helper:FLBuilder._moduleDragHelper,items:".fl-module",stop:FLBuilder._moduleDragStop}))},_initStrings:function(){e.validator.messages.required=FLBuilderStrings.validateRequiredMessage},_bindEvents:function(){e("a").on("click",FLBuilder._preventDefault),e(".fl-page-nav .nav a").on("click",FLBuilder._headerLinkClicked),e(document).on("heartbeat-tick",FLBuilder._initPostLock),e(window).on("beforeunload",FLBuilder._warnBeforeUnload),e("body").delegate(".fl-builder-has-submenu","click",FLBuilder._submenuParentClicked),e("body").delegate(".fl-builder-has-submenu a","click",FLBuilder._submenuChildClicked),e("body").delegate(".fl-builder-submenu","mouseenter",FLBuilder._submenuMouseenter),e("body").delegate(".fl-builder-submenu","mouseleave",FLBuilder._submenuMouseleave),e(".fl-builder-tools-button").on("click",FLBuilder._toolsClicked),e(".fl-builder-done-button").on("click",FLBuilder._doneClicked),e(".fl-builder-add-content-button").on("click",FLBuilder._showPanel),e(".fl-builder-templates-button").on("click",FLBuilder._changeTemplateClicked),e(".fl-builder-buy-button").on("click",FLBuilder._upgradeClicked),e(".fl-builder-upgrade-button").on("click",FLBuilder._upgradeClicked),e(".fl-builder-help-button").on("click",FLBuilder._helpButtonClicked),e(".fl-builder-panel-actions .fl-builder-panel-close").on("click",FLBuilder._closePanel),e(".fl-builder-blocks-section-title").on("click",FLBuilder._blockSectionTitleClicked),e("body").delegate(".fl-builder-node-template-actions","mousedown",FLBuilder._stopPropagation),e("body").delegate(".fl-builder-node-template-edit","mousedown",FLBuilder._stopPropagation),e("body").delegate(".fl-builder-node-template-delete","mousedown",FLBuilder._stopPropagation),e("body").delegate(".fl-builder-node-template-edit","click",FLBuilder._editNodeTemplateClicked),e("body").delegate(".fl-builder-node-template-delete","click",FLBuilder._deleteNodeTemplateClicked),e("body").delegate(".fl-builder-block","mousedown",FLBuilder._blockDragInit),e("body").on("mouseup",FLBuilder._blockDragCancel),e("body").delegate(".fl-builder-actions .fl-builder-cancel-button","click",FLBuilder._cancelButtonClicked),e("body").delegate(".fl-lightbox-controls .fa","click",FLBuilder._resizeLightbox),e("body").delegate(".fl-builder-save-actions .fl-builder-publish-button","click",FLBuilder._publishButtonClicked),e("body").delegate(".fl-builder-save-actions .fl-builder-draft-button","click",FLBuilder._draftButtonClicked),e("body").delegate(".fl-builder-save-actions .fl-builder-discard-button","click",FLBuilder._discardButtonClicked),e("body").delegate(".fl-builder-save-user-template-button","click",FLBuilder._saveUserTemplateClicked),e("body").delegate(".fl-builder-duplicate-layout-button","click",FLBuilder._duplicateLayoutClicked),e("body").delegate(".fl-builder-layout-settings-button","click",FLBuilder._layoutSettingsClicked),e("body").delegate(".fl-builder-layout-settings .fl-builder-settings-save","click",FLBuilder._saveLayoutSettingsClicked),e("body").delegate(".fl-builder-layout-settings .fl-builder-settings-cancel","click",FLBuilder._cancelLayoutSettingsClicked),e("body").delegate(".fl-builder-global-settings-button","click",FLBuilder._globalSettingsClicked),e("body").delegate(".fl-builder-global-settings .fl-builder-settings-save","click",FLBuilder._saveGlobalSettingsClicked),e("body").delegate(".fl-builder-global-settings .fl-builder-settings-cancel","click",FLBuilder._cancelLayoutSettingsClicked),e("body").delegate(".fl-template-category-select","change",FLBuilder._templateCategoryChanged),e("body").delegate(".fl-template-preview","click",FLBuilder._templateClicked),e("body").delegate(".fl-user-template","click",FLBuilder._userTemplateClicked),e("body").delegate(".fl-user-template-edit","click",FLBuilder._editUserTemplateClicked),e("body").delegate(".fl-user-template-delete","click",FLBuilder._deleteUserTemplateClicked),e("body").delegate(".fl-builder-template-replace-button","click",FLBuilder._templateReplaceClicked),e("body").delegate(".fl-builder-template-append-button","click",FLBuilder._templateAppendClicked),e("body").delegate(".fl-builder-template-actions .fl-builder-cancel-button","click",FLBuilder._templateCancelClicked),e("body").delegate(".fl-builder-user-template-settings .fl-builder-settings-save","click",FLBuilder._saveUserTemplateSettings),e("body").delegate(".fl-builder-help-tour-button","click",FLBuilder._startHelpTour),e("body").delegate(".fl-builder-help-video-button","click",FLBuilder._watchVideoClicked),e("body").delegate(".fl-builder-knowledge-base-button","click",FLBuilder._viewKnowledgeBaseClicked),e("body").delegate(".fl-builder-forums-button","click",FLBuilder._visitForumsClicked),e("body").delegate(".fl-builder-no-tour-button","click",FLBuilder._noTourButtonClicked),e("body").delegate(".fl-builder-yes-tour-button","click",FLBuilder._yesTourButtonClicked),e("body").delegate(".fl-builder-alert-close","click",FLBuilder._alertClose),e("body").delegate(".fl-row-overlay .fl-block-remove","click",FLBuilder._deleteRowClicked),e("body").delegate(".fl-row-overlay .fl-block-copy","click",FLBuilder._rowCopyClicked),e("body").delegate(".fl-row-overlay .fl-block-move","mousedown",FLBuilder._blockDragInit),e("body").delegate(".fl-row-overlay .fl-block-settings","click",FLBuilder._rowSettingsClicked),e("body").delegate(".fl-row-overlay","click",FLBuilder._rowSettingsClicked),e("body").delegate(".fl-builder-row-settings .fl-builder-settings-save","click",FLBuilder._saveSettings),e("body").delegate(".fl-col-overlay","click",FLBuilder._colSettingsClicked),e("body").delegate(".fl-builder-col-settings .fl-builder-settings-save","click",FLBuilder._saveSettings),e("body").delegate(".fl-col-overlay .fl-block-remove","click",FLBuilder._deleteColClicked),e("body").delegate(".fl-block-col-submenu .fl-block-col-edit","click",FLBuilder._colSettingsClicked),e("body").delegate(".fl-block-col-submenu .fl-block-col-delete","click",FLBuilder._deleteColClicked),e("body").delegate(".fl-block-col-submenu .fl-block-col-insert-before","click",FLBuilder._insertColBeforeClicked),e("body").delegate(".fl-block-col-submenu .fl-block-col-insert-after","click",FLBuilder._insertColAfterClicked),e("body").delegate(".fl-block-col-submenu .fl-block-col-reset","click",FLBuilder._resetColumnWidths),e("body").delegate(".fl-module-overlay .fl-block-remove","click",FLBuilder._deleteModuleClicked),e("body").delegate(".fl-module-overlay .fl-block-copy","click",FLBuilder._moduleCopyClicked),e("body").delegate(".fl-module-overlay .fl-block-move","mousedown",FLBuilder._blockDragInit),e("body").delegate(".fl-module-overlay .fl-block-settings","click",FLBuilder._moduleSettingsClicked),e("body").delegate(".fl-module-overlay","click",FLBuilder._moduleSettingsClicked),e("body").delegate(".fl-builder-module-settings .fl-builder-settings-save","click",FLBuilder._saveModuleClicked),e("body").delegate(".fl-builder-settings-save-as","click",FLBuilder._showNodeTemplateSettings),e("body").delegate(".fl-builder-node-template-settings .fl-builder-settings-save","click",FLBuilder._saveNodeTemplate),e("body").delegate(".fl-builder-settings-tabs a","click",FLBuilder._settingsTabClicked),e("body").delegate(".fl-builder-settings-cancel","click",FLBuilder._settingsCancelClicked),e("body").delegate(".fl-help-tooltip-icon","mouseover",FLBuilder._showHelpTooltip),e("body").delegate(".fl-help-tooltip-icon","mouseout",FLBuilder._hideHelpTooltip),e("body").delegate(".fl-builder-field-add","click",FLBuilder._addFieldClicked),e("body").delegate(".fl-builder-field-copy","click",FLBuilder._copyFieldClicked),e("body").delegate(".fl-builder-field-delete","click",FLBuilder._deleteFieldClicked),e("body").delegate(".fl-builder-settings-fields select","change",FLBuilder._settingsSelectChanged),e("body").delegate(".fl-photo-field .fl-photo-select","click",FLBuilder._selectSinglePhoto),e("body").delegate(".fl-photo-field .fl-photo-edit","click",FLBuilder._selectSinglePhoto),e("body").delegate(".fl-photo-field .fl-photo-replace","click",FLBuilder._selectSinglePhoto),e("body").delegate(".fl-photo-field .fl-photo-remove","click",FLBuilder._singlePhotoRemoved),e("body").delegate(".fl-multiple-photos-field .fl-multiple-photos-select","click",FLBuilder._selectMultiplePhotos),e("body").delegate(".fl-multiple-photos-field .fl-multiple-photos-edit","click",FLBuilder._selectMultiplePhotos),e("body").delegate(".fl-multiple-photos-field .fl-multiple-photos-add","click",FLBuilder._selectMultiplePhotos),e("body").delegate(".fl-video-field .fl-video-select","click",FLBuilder._selectSingleVideo),e("body").delegate(".fl-video-field .fl-video-replace","click",FLBuilder._selectSingleVideo),e("body").delegate(".fl-multiple-audios-field .fl-multiple-audios-select","click",FLBuilder._selectMultipleAudios),e("body").delegate(".fl-multiple-audios-field .fl-multiple-audios-edit","click",FLBuilder._selectMultipleAudios),e("body").delegate(".fl-multiple-audios-field .fl-multiple-audios-add","click",FLBuilder._selectMultipleAudios),e("body").delegate(".fl-icon-field .fl-icon-select","click",FLBuilder._selectIcon),e("body").delegate(".fl-icon-field .fl-icon-replace","click",FLBuilder._selectIcon),e("body").delegate(".fl-icon-field .fl-icon-remove","click",FLBuilder._removeIcon),e("body").delegate(".fl-form-field .fl-form-field-edit","click",FLBuilder._formFieldClicked),e("body").delegate(".fl-form-field-settings .fl-builder-settings-save","click",FLBuilder._saveFormFieldClicked),e("body").delegate(".fl-layout-field-option","click",FLBuilder._layoutFieldClicked),e("body").delegate(".fl-link-field-select","click",FLBuilder._linkFieldSelectClicked),e("body").delegate(".fl-link-field-search-cancel","click",FLBuilder._linkFieldSelectCancelClicked),e("body").delegate(".fl-loop-builder select[name=post_type]","change",FLBuilder._loopBuilderPostTypeChange),e("body").delegate(".fl-select-add-value","change",FLBuilder._textFieldAddValueSelectChange)},_bindOverlayEvents:function(){var t=e(FLBuilder._contentClass);t.delegate(".fl-row","mouseenter",FLBuilder._rowMouseenter),t.delegate(".fl-row","mouseleave",FLBuilder._rowMouseleave),t.delegate(".fl-row-overlay","mouseleave",FLBuilder._rowMouseleave),t.delegate(".fl-col","mouseenter",FLBuilder._colMouseenter),t.delegate(".fl-col","mouseleave",FLBuilder._colMouseleave),t.delegate(".fl-module","mouseenter",FLBuilder._moduleMouseenter),t.delegate(".fl-module","mouseleave",FLBuilder._moduleMouseleave)},_destroyOverlayEvents:function(){var t=e(FLBuilder._contentClass);t.undelegate(".fl-row","mouseenter",FLBuilder._rowMouseenter),t.undelegate(".fl-row","mouseleave",FLBuilder._rowMouseleave),t.undelegate(".fl-row-overlay","mouseleave",FLBuilder._rowMouseleave),t.undelegate(".fl-col","mouseenter",FLBuilder._colMouseenter),t.undelegate(".fl-col","mouseleave",FLBuilder._colMouseleave),t.undelegate(".fl-module","mouseenter",FLBuilder._moduleMouseenter),t.undelegate(".fl-module","mouseleave",FLBuilder._moduleMouseleave)},_preventDefault:function(e){e.preventDefault()},_stopPropagation:function(e){e.stopPropagation()},_headerLinkClicked:function(t){var i=e(this),l=i.attr("href");t.preventDefault(),FLBuilderConfig.isUserTemplate||(FLBuilder._exitUrl=l.indexOf("?")>-1?l:l+"?fl_builder",FLBuilder._doneClicked())},_warnBeforeUnload:function(){var t=e(".fl-builder-row-settings").length>0,i=e(".fl-builder-col-settings").length>0,l=e(".fl-builder-module-settings").length>0;if(t||i||l)return FLBuilderStrings.unloadWarning},_initTipTips:function(){e(".fl-tip").tipTip()},_hideTipTips:function(){e("#tiptip_holder").stop().remove()},_submenuParentClicked:function(t){var i=e(this),l=i.find(".fl-builder-submenu");i.hasClass("fl-builder-submenu-open")?(i.removeClass("fl-builder-submenu-open"),i.removeClass("fl-builder-submenu-right")):(i.offset().left+l.width()>e(window).width()&&i.addClass("fl-builder-submenu-right"),i.addClass("fl-builder-submenu-open")),FLBuilder._hideTipTips(),t.preventDefault(),t.stopPropagation()},_submenuChildClicked:function(t){e(this).closest(".fl-builder-submenu-open").removeClass("fl-builder-submenu-open")},_submenuMouseenter:function(t){var i=e(this),l=i.data("timeout");"undefined"!=typeof l&&clearTimeout(l)},_submenuMouseleave:function(t){var i=e(this),l=setTimeout(function(){i.closest(".fl-builder-submenu-open").removeClass("fl-builder-submenu-open")},500);i.data("timeout",l)},_toolsClicked:function(){var e=[],t=FLBuilderConfig.lite,i=FLBuilderConfig.enabledTemplates;t||FLBuilderConfig.isUserTemplate||"enabled"!=i&&"user"!=i||(e[10]={key:"save-user-template",label:FLBuilderStrings.saveTemplate}),FLBuilderConfig.isUserTemplate?"undefined"!=typeof window.opener&&window.opener||(e[20]={key:"duplicate-layout",label:FLBuilderStrings.duplicateLayout}):e[20]={key:"duplicate-layout",label:FLBuilderStrings.duplicateLayout},e[30]={key:"layout-settings",label:FLBuilderStrings.editLayoutSettings},e[40]={key:"global-settings",label:FLBuilderStrings.editGlobalSettings},FLBuilder._showActionsLightbox({className:"fl-builder-tools-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_doneClicked:function(){var e=[],t=FLBuilderStrings.publish;"publish"==FLBuilderConfig.postStatus||FLBuilderConfig.userCanPublish||(t=FLBuilderStrings.submitForReview),
|
3 |
-
e[10]={key:"publish",label:t},e[20]={key:"draft",label:FLBuilderStrings.draft},e[30]={key:"discard",label:FLBuilderStrings.discard},FLBuilder._showActionsLightbox({className:"fl-builder-save-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_upgradeClicked:function(){window.open(FLBuilderConfig.upgradeUrl)},_helpButtonClicked:function(){var e={};FLBuilderConfig.help.tour&&(e[10]={key:"help-tour",label:FLBuilderStrings.takeHelpTour}),FLBuilderConfig.help.video&&(e[20]={key:"help-video",label:FLBuilderStrings.watchHelpVideo}),FLBuilderConfig.help.knowledge_base&&(e[30]={key:"knowledge-base",label:FLBuilderStrings.viewKnowledgeBase}),FLBuilderConfig.help.forums&&(e[40]={key:"forums",label:FLBuilderStrings.visitForums}),FLBuilder._showActionsLightbox({className:"fl-builder-help-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_closePanel:function(){e(".fl-builder-panel").stop(!0,!0).animate({right:"-350px"},500,function(){e(this).hide()}),e(".fl-builder-bar .fl-builder-add-content-button").stop(!0,!0).fadeIn()},_showPanel:function(){e(".fl-builder-bar .fl-builder-add-content-button").stop(!0,!0).fadeOut(),e(".fl-builder-panel").stop(!0,!0).show().animate({right:"0"},500)},_blockSectionTitleClicked:function(){var t=e(this),i=t.parent();i.hasClass("fl-active")?i.removeClass("fl-active"):(e(".fl-builder-blocks-section").removeClass("fl-active"),i.addClass("fl-active")),FLBuilder._initScrollbars()},_publishButtonClicked:function(){FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_layout"},FLBuilder._exit),FLBuilder._actionsLightbox.close()},_draftButtonClicked:function(){FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_draft"},FLBuilder._exit),FLBuilder._actionsLightbox.close()},_discardButtonClicked:function(){var e=confirm(FLBuilderStrings.discardMessage);e&&(FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"clear_draft_layout"},FLBuilder._exit),FLBuilder._actionsLightbox.close())},_cancelButtonClicked:function(){FLBuilder._exitUrl=null,FLBuilder._actionsLightbox.close()},_exit:function(){var e=window.location.href;FLBuilderConfig.isUserTemplate&&"undefined"!=typeof window.opener&&window.opener?("undefined"!=typeof window.opener.FLBuilder&&window.opener.FLBuilder._updateLayout(),window.close()):(FLBuilder._exitUrl?e=FLBuilder._exitUrl:(e=e.replace("?fl_builder&","?"),e=e.replace("?fl_builder",""),e=e.replace("&fl_builder","")),window.location.href=e)},_duplicateLayoutClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"duplicate_post"},FLBuilder._duplicateLayoutComplete)},_duplicateLayoutComplete:function(t){var i=e("#fl-admin-url").val();window.location.href=i+"post.php?post="+t+"&action=edit"},_layoutSettingsClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showLightbox(),FLBuilder._closePanel(),FLBuilder.ajax({action:"render_layout_settings"},FLBuilder._layoutSettingsLoaded)},_layoutSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.html),FLBuilder._layoutSettingsInitCSS()},_layoutSettingsInitCSS:function(){var t=e(".fl-builder-settings #fl-field-css textarea:not(.ace_text-input)");t.on("change",FLBuilder._layoutSettingsCSSChanged),FLBuilder._layoutSettingsCSSCache=t.val()},_layoutSettingsCSSChanged:function(){FLBuilder._layoutSettingsCSSTimeout&&clearTimeout(FLBuilder._layoutSettingsCSSTimeout),FLBuilder._layoutSettingsCSSTimeout=setTimeout(e.proxy(FLBuilder._layoutSettingsCSSDoChange,this),600)},_layoutSettingsCSSDoChange:function(){var t=e(".fl-builder-settings"),i=e(this),l=i.parents("#fl-field-css");l.find(".ace_error").length>0||(t.hasClass("fl-builder-layout-settings")?e("#fl-builder-layout-css").html(i.val()):e("#fl-builder-global-css").html(i.val()),FLBuilder._layoutSettingsCSSTimeout=null)},_saveLayoutSettingsClicked:function(){for(var t=e(this).closest(".fl-builder-settings"),i=t.serializeArray(),l={},o=0;o<i.length;o++)l[i[o].name]=i[o].value;FLBuilder.showAjaxLoader(),FLBuilder._lightbox.close(),FLBuilder._layoutSettingsCSSCache=null,FLBuilder.ajax({action:"save_layout_settings",settings:l},FLBuilder._updateLayout)},_cancelLayoutSettingsClicked:function(){var t=e(".fl-builder-settings");t.hasClass("fl-builder-layout-settings")?e("#fl-builder-layout-css").html(FLBuilder._layoutSettingsCSSCache):e("#fl-builder-global-css").html(FLBuilder._layoutSettingsCSSCache),FLBuilder._layoutSettingsCSSCache=null},_globalSettingsClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_global_settings"},FLBuilder._globalSettingsLoaded)},_globalSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.html),FLBuilder._layoutSettingsInitCSS(),FLBuilder._initSettingsValidation({module_margins:{required:!0,number:!0},row_margins:{required:!0,number:!0},row_padding:{required:!0,number:!0},row_width:{required:!0,number:!0},responsive_breakpoint:{required:!0,number:!0}})},_saveGlobalSettingsClicked:function(){var t=e(this).closest(".fl-builder-settings"),i=t.validate().form(),l=t.serializeArray(),o={},s=0;if(i){for(;s<l.length;s++)o[l[s].name]=l[s].value;FLBuilder.showAjaxLoader(),FLBuilder._layoutSettingsCSSCache=null,FLBuilder.ajax({action:"save_global_settings",settings:o},FLBuilder._updateLayout),FLBuilder._lightbox.close()}},_initTemplateSelector:function(){var t=e(FLBuilder._contentClass).find(".fl-row");0===t.length&&FLBuilder._showTemplateSelector()},_changeTemplateClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showTemplateSelector()},_showTemplateSelector:function(){FLBuilderConfig.simpleUi||FLBuilderConfig.isUserTemplate||"disabled"!=FLBuilderConfig.enabledTemplates&&0!==e(".fl-builder-templates-button").length&&(FLBuilder._showLightbox(!1),FLBuilder.ajax({action:"render_template_selector"},FLBuilder._templateSelectorLoaded))},_templateSelectorLoaded:function(t){var i=JSON.parse(t),l=null,o=null;FLBuilder._setLightboxContent(i.html),l=e(".fl-template-category-select"),tabs=e(".fl-builder-settings-tab"),userTemplatesTab=e("#fl-builder-settings-tab-yours"),o=e(".fl-user-template"),("user"==FLBuilderConfig.enabledTemplates||o.length>0||userTemplatesTab.length>0&&1==tabs.length)&&(l.val("fl-builder-settings-tab-yours"),e(".fl-builder-settings-tab").removeClass("fl-active"),e("#fl-builder-settings-tab-yours").addClass("fl-active")),0===o.length&&e(".fl-user-templates-message").show(),e("body").trigger("fl-builder.template-selector-loaded")},_templateCategoryChanged:function(){e(".fl-template-selector .fl-builder-settings-tab").hide(),e("#"+e(this).val()).show()},_templateClicked:function(){var t=e(this),i=t.closest(".fl-template-preview").attr("data-id");e(FLBuilder._contentClass).children(".fl-row").length>0?0==i?confirm(FLBuilderStrings.changeTemplateMessage)&&(FLBuilder._lightbox._node.hide(),FLBuilder._applyTemplate(0,!1,"core")):(FLBuilder._selectedTemplateId=i,FLBuilder._selectedTemplateType="core",FLBuilder._showTemplateActions(),FLBuilder._lightbox._node.hide()):FLBuilder._applyTemplate(i,!1,"core")},_showTemplateActions:function(){var e=[];e[10]={key:"template-replace",label:FLBuilderStrings.templateReplace},e[20]={key:"template-append",label:FLBuilderStrings.templateAppend},FLBuilder._showActionsLightbox({className:"fl-builder-template-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_templateReplaceClicked:function(){confirm(FLBuilderStrings.changeTemplateMessage)&&(FLBuilder._actionsLightbox.close(),FLBuilder._applyTemplate(FLBuilder._selectedTemplateId,!1,FLBuilder._selectedTemplateType))},_templateAppendClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._applyTemplate(FLBuilder._selectedTemplateId,!0,FLBuilder._selectedTemplateType)},_templateCancelClicked:function(){FLBuilder._lightbox._node.show()},_applyTemplate:function(e,t,i){t="undefined"!=typeof t&&t?"1":"0",i="undefined"==typeof i?"core":i,FLBuilder._lightbox.close(),FLBuilder.showAjaxLoader(),"core"==i?FLBuilder.ajax({action:"apply_template",template_id:e,append:t},FLBuilder._updateLayout):FLBuilder.ajax({action:"apply_user_template",template_id:e,append:t},FLBuilder._updateLayout)},_saveUserTemplateClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showLightbox(!1),FLBuilder.ajax({action:"render_user_template_settings"},FLBuilder._userTemplateSettingsLoaded)},_userTemplateSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.html),FLBuilder._initSettingsValidation({name:{required:!0}})},_saveUserTemplateSettings:function(){var t=e(this).closest(".fl-builder-settings"),i=t.validate().form(),l=FLBuilder._getSettings(t);i&&(FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_user_template",settings:l},FLBuilder._saveUserTemplateSettingsComplete),FLBuilder._lightbox.close())},_saveUserTemplateSettingsComplete:function(){FLBuilder.alert(FLBuilderStrings.templateSaved)},_userTemplateClicked:function(){var t=e(this).attr("data-id");e(FLBuilder._contentClass).children(".fl-row").length>0?"blank"==t?confirm(FLBuilderStrings.changeTemplateMessage)&&(FLBuilder._lightbox._node.hide(),FLBuilder._applyTemplate("blank",!1,"user")):(FLBuilder._selectedTemplateId=t,FLBuilder._selectedTemplateType="user",FLBuilder._showTemplateActions(),FLBuilder._lightbox._node.hide()):FLBuilder._applyTemplate(t,!1,"user")},_editUserTemplateClicked:function(t){t.preventDefault(),t.stopPropagation(),window.open(e(this).attr("href"))},_deleteUserTemplateClicked:function(t){var i=e(this).closest(".fl-user-template"),l=i.attr("data-id"),o=e(".fl-user-template[data-id="+l+"]"),s=null;confirm(FLBuilderStrings.deleteTemplate)&&(FLBuilder.ajax({action:"delete_user_template",template_id:l}),o.fadeOut(function(){i=e(this),s=i.closest(".fl-user-template-category"),i.remove(),0===s.find(".fl-user-template").length&&s.remove(),1===e(".fl-user-template").length&&(e(".fl-user-templates").hide(),e(".fl-user-templates-message").show())})),t.stopPropagation()},_watchVideoClicked:function(){var e=wp.template("fl-video-lightbox");FLBuilder._actionsLightbox.close(),FLBuilder._lightbox.open(e({video:FLBuilderConfig.help.video_embed}))},_viewKnowledgeBaseClicked:function(){FLBuilder._actionsLightbox.close(),window.open(FLBuilderConfig.help.knowledge_base_url)},_visitForumsClicked:function(){FLBuilder._actionsLightbox.close(),window.open(FLBuilderConfig.help.forums_url)},_showTourOrTemplates:function(){FLBuilderConfig.simpleUi||FLBuilderConfig.isUserTemplate||(FLBuilderConfig.help.tour&&FLBuilderConfig.newUser?FLBuilder._showTourLightbox():FLBuilder._initTemplateSelector())},_showTourLightbox:function(){var e=wp.template("fl-tour-lightbox");FLBuilder._actionsLightbox.open(e())},_noTourButtonClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._initTemplateSelector()},_yesTourButtonClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilderTour.start()},_startHelpTour:function(){FLBuilder._actionsLightbox.close(),FLBuilderTour.start()},_setupEmptyLayout:function(){var t=e(FLBuilder._contentClass);FLBuilderConfig.isUserTemplate&&"module"==FLBuilderConfig.userTemplateType||(t.removeClass("fl-builder-empty"),t.find(".fl-builder-empty-message").remove(),0===t.children(".fl-row").length&&(t.addClass("fl-builder-empty"),t.append('<span class="fl-builder-empty-message">'+FLBuilderStrings.emptyMessage+"</span>"),FLBuilder._initSortables()))},_updateLayout:function(){FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"render_layout"},FLBuilder._renderLayout)},_renderLayout:function(e,t){FLBuilder._layout=new FLBuilderAJAXLayout(e,t)},_renderLayoutComplete:function(){FLBuilder._layout&&(FLBuilder._layout._complete(),FLBuilder._layout=null)},_resizeLayout:function(){e(window).trigger("resize"),"undefined"!=typeof YUI&&YUI().use("node-event-simulate",function(e){e.one(window).simulate("resize")})},_initMediaElements:function(){var t={};"undefined"!=typeof e.fn.mediaelementplayer&&("undefined"!=typeof _wpmejsSettings&&(t.pluginPath=_wpmejsSettings.pluginPath),e(".wp-audio-shortcode, .wp-video-shortcode").not(".mejs-container").mediaelementplayer(t))},_blockDragHelper:function(e,t){var i=t.clone();return t.clone().insertAfter(t),i.addClass("fl-builder-block-drag-helper"),i},_blockDragInit:function(t){var i=e(t.target),l=null,o=0,s="row"==FLBuilderConfig.userTemplateType?"":":not(.fl-node-global)";FLBuilder._dragEnabled=!0,i.closest(".fl-module").length>0?l=i.closest(".fl-module"):i.closest(".fl-row").length>0?l=i.closest(".fl-row"):i.hasClass("fl-builder-block-row")||i.hasClass("fl-builder-block-saved-row")?e(".fl-row").each(function(){null===l&&e(this).offset().top-e(window).scrollTop()>0&&(l=e(this))}):(i.hasClass("fl-builder-block-module")||i.hasClass("fl-builder-block-saved-module"))&&e(".fl-module").each(function(){null===l&&e(this).offset().top-e(window).scrollTop()>0&&(l=e(this))}),null!==l?o=l.offset().top-e(window).scrollTop():l=i,e(".fl-builder-empty-message").hide(),e(FLBuilder._contentClass+" .fl-row"+s).addClass("fl-row-highlight"),(l.hasClass("fl-module")||l.hasClass("fl-builder-block-module")||l.hasClass("fl-builder-block-saved-module"))&&e(FLBuilder._contentClass+" .fl-col"+s).addClass("fl-col-highlight"),FLBuilder._disableGlobalRows(),FLBuilder._closePanel(),FLBuilder._destroyOverlayEvents(),FLBuilder._removeAllOverlays(),o>0&&scrollTo(0,l.offset().top-o)},_blockDragStart:function(t,i){FLBuilder._dragging=!0,e(FLBuilder._contentClass).sortable("refreshPositions"),e(FLBuilder._contentClass+" .fl-row-content").sortable("refreshPositions"),e(FLBuilder._contentClass+" .fl-col-content").sortable("refreshPositions")},_blockDragSort:function(e,t){if("undefined"!=typeof t.placeholder){var i=t.placeholder.parent(),l=FLBuilderStrings.insert;i.hasClass("fl-col-content")?l=t.item.hasClass("fl-builder-block-module")?t.item.find(".fl-builder-block-title").text():t.item.hasClass("fl-builder-block-saved-module")||t.item.hasClass("fl-builder-block-module-template")?t.item.find(".fl-builder-block-title").text():t.item.attr("data-name"):i.hasClass("fl-row-content")?l=t.item.hasClass("fl-builder-block-row")?t.item.find(".fl-builder-block-title").text():FLBuilderStrings.newColumn:i.hasClass("fl-builder-content")&&(l=t.item.hasClass("fl-builder-block-row")?t.item.find(".fl-builder-block-title").text():t.item.hasClass("fl-builder-block-saved-row")?t.item.find(".fl-builder-block-title").text():t.item.hasClass("fl-row")?FLBuilderStrings.row:FLBuilderStrings.newRow),t.placeholder.html(l),t.item.hasClass("fl-node-global")||t.item.hasClass("fl-builder-block-global")?t.placeholder.addClass("fl-builder-drop-zone-global"):t.placeholder.removeClass("fl-builder-drop-zone-global")}},_blockDragStop:function(t,i){var l=i.item.parent(),o=l.offset().top-e(window).scrollTop();l.hasClass("fl-builder-blocks-section-content")&&FLBuilder._showPanel(),FLBuilder._dragEnabled=!1,FLBuilder._dragging=!1,FLBuilder._bindOverlayEvents(),FLBuilder._highlightEmptyCols(),FLBuilder._enableGlobalRows(),e(".fl-builder-empty-message").show(),scrollTo(0,l.offset().top-o)},_blockDragCancel:function(){FLBuilder._dragEnabled&&!FLBuilder._dragging&&(FLBuilder._dragEnabled=!1,FLBuilder._dragging=!1,FLBuilder._bindOverlayEvents(),FLBuilder._highlightEmptyCols(),FLBuilder._enableGlobalRows(),e(".fl-builder-empty-message").show())},_removeAllOverlays:function(){FLBuilder._removeRowOverlays(),FLBuilder._removeColOverlays(),FLBuilder._removeModuleOverlays(),FLBuilder._hideTipTips()},_appendOverlay:function(e,t){var i=0,l=null,o=e.hasClass("fl-row"),s=o?e.find("> .fl-row-content-wrap"):e.find("> .fl-node-content"),r={top:parseInt(s.css("margin-top"),10),bottom:parseInt(s.css("margin-bottom"),10)};return e.append(t),e.addClass("fl-block-overlay-active"),FLBuilder._initTipTips(),l=e.find("> .fl-block-overlay"),r.top<0&&(i=parseInt(l.css("top"),10),i=isNaN(i)?0:i,l.css("top",r.top+i+"px")),r.bottom<0&&(i=parseInt(l.css("bottom"),10),i=isNaN(i)?0:i,l.css("bottom",r.bottom+i+"px")),l},_highlightEmptyCols:function(){var t="row"==FLBuilderConfig.userTemplateType?"":":not(.fl-node-global)",i=e(FLBuilder._contentClass+" .fl-row"+t),l=e(FLBuilder._contentClass+" .fl-col"+t);i.removeClass("fl-row-highlight"),l.removeClass("fl-col-highlight"),l.each(function(){var t=e(this);0===t.find(".fl-module").length&&t.addClass("fl-col-highlight")})},_removeRowOverlays:function(){e(".fl-row").removeClass("fl-block-overlay-active"),e(".fl-row-overlay").remove(),e(".fl-module").removeClass("fl-module-adjust-height")},_disableGlobalRows:function(){if("row"!=FLBuilderConfig.userTemplateType){var t=e(".fl-row.fl-node-global");t.addClass("fl-node-disabled"),t.append('<div class="fl-node-disabled-overlay"></div>')}},_enableGlobalRows:function(){"row"!=FLBuilderConfig.userTemplateType&&(e(".fl-node-disabled").removeClass("fl-node-disabled"),e(".fl-node-disabled-overlay").remove())},_rowMouseenter:function(){var t=e(this),i=t.offset().top,l=null,o=null,s=wp.template("fl-row-overlay");t.hasClass("fl-block-overlay-active")||(o=FLBuilder._appendOverlay(t,s({global:t.hasClass("fl-node-global"),node:t.attr("data-node")})),t.find(".fl-node-content:visible").each(function(){var t=e(this).offset().top;l=null===l||l>t?t:l}),null!==l&&l<i&&o.css("top",l-i-30+"px"),o.offset().top<43&&o.addClass("fl-row-overlay-header-bottom"),t.find(".fl-module").each(function(){var t=e(this);t.outerHeight(!0)<20&&t.addClass("fl-module-adjust-height")}))},_rowMouseleave:function(t){var i=e(t.toElement)||e(t.relatedTarget),l=i.hasClass("fl-row-overlay"),o=i.closest(".fl-row-overlay").length>0,s=i.is("#tiptip_holder"),r=i.closest("#tiptip_holder").length>0;l||o||s||r||FLBuilder._removeRowOverlays()},_rowDragHelper:function(){return e('<div class="fl-builder-block-drag-helper" style="width: 190px; height: 45px;">'+FLBuilderStrings.row+"</div>")},_rowDragStop:function(t,i){var l=i.item,o=l.parent();return FLBuilder._blockDragStop(t,i),o.hasClass("fl-builder-rows")?void l.remove():void(l.hasClass("fl-builder-block")?(o.hasClass("fl-row-content")?FLBuilder._addColGroup(l.closest(".fl-row").attr("data-node"),l.attr("data-cols"),o.children(".fl-col-group, .fl-builder-block").index(l)):FLBuilder._addRow(l.attr("data-cols"),o.children(".fl-row, .fl-builder-block").index(l)),l.remove(),FLBuilder._showPanel(),e(".fl-builder-modules").siblings(".fl-builder-blocks-section-title").eq(0).trigger("click")):FLBuilder._reorderRow(l.attr("data-node"),o.children(".fl-row").index(l)))},_reorderRow:function(e,t){FLBuilder.ajax({action:"reorder_node",node_id:e,position:t,silent:!0})},_addRow:function(e,t){FLBuilder.showAjaxLoader(),FLBuilder._newRowPosition=t,FLBuilder.ajax({action:"render_new_row",cols:e,position:t},FLBuilder._addRowComplete)},_addRowComplete:function(t){var i=JSON.parse(t),l=e(FLBuilder._contentClass),o=e(i.html).data("node");i.nodeParent=l,i.nodePosition=FLBuilder._newRowPosition,FLBuilder._renderLayout(i,function(){null!==FLBuilder._addModuleAfterRowRender&&(FLBuilder._addModuleAfterRowRender.hasClass("fl-module")&&(e(".fl-node-"+o+" .fl-col-content").append(FLBuilder._addModuleAfterRowRender),FLBuilder._reorderModule(FLBuilder._addModuleAfterRowRender)),FLBuilder._addModuleAfterRowRender=null)})},_deleteRowClicked:function(t){var i=e(this).closest(".fl-row-overlay").attr("data-node"),l=e(".fl-row[data-node="+i+"]"),o=null;l.find(".fl-module").length?(o=confirm(FLBuilderStrings.deleteRowMessage),o&&FLBuilder._deleteRow(l)):FLBuilder._deleteRow(l),FLBuilder._removeAllOverlays(),t.stopPropagation()},_deleteRow:function(e){FLBuilder.ajax({action:"delete_node",node_id:e.attr("data-node"),silent:!0}),e.empty(),e.remove(),FLBuilder._setupEmptyLayout(),FLBuilder._removeRowOverlays()},_rowCopyClicked:function(t){var i=e(this).closest(".fl-row"),l=i.attr("data-node");FLBuilder.showAjaxLoader(),FLBuilder._removeAllOverlays(),FLBuilder._newRowPosition=i.index(".fl-row")+1,FLBuilder.ajax({action:"copy_row",node_id:l},FLBuilder._rowCopyComplete),t.stopPropagation()},_rowCopyComplete:function(t){var i=JSON.parse(t);i.nodeParent=e(FLBuilder._contentClass),i.nodePosition=FLBuilder._newRowPosition,FLBuilder._renderLayout(i)},_rowSettingsClicked:function(t){var i=e(this),l=i.closest(".fl-row-overlay").attr("data-node"),o=i.closest(".fl-block-overlay-global").length>0;o&&"row"!=FLBuilderConfig.userTemplateType?FLBuilderConfig.userCanEditGlobalTemplates&&window.open(e('.fl-row[data-node="'+l+'"]').attr("data-template-url")):i.hasClass("fl-block-settings")&&(FLBuilder._closePanel(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_row_settings",node_id:l},FLBuilder._rowSettingsLoaded)),t.stopPropagation()},_rowSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.settings),FLBuilder.preview=new FLBuilderPreview({type:"row",state:t.state})},_colMouseenter:function(){var t=e(this),i=t.hasClass("fl-node-global"),l=t.parents(".fl-node-global").length>0,o=t.parents(".fl-col-group").find(".fl-col").length,s=0===t.index(),r=o===t.index()+1,n=wp.template("fl-col-overlay");FLBuilderConfig.simpleUi||i&&l&&"row"!=FLBuilderConfig.userTemplateType||t.find(".fl-module").length>0||(t.hasClass("fl-block-overlay-active")||(FLBuilder._removeColOverlays(),FLBuilder._removeModuleOverlays(),FLBuilder._appendOverlay(t,n({global:i,numCols:o,first:s,last:r})),FLBuilder._initColDragResizing()),e("body").addClass("fl-block-overlay-muted"))},_colMouseleave:function(t){var i=e(this),l=e(t.toElement)||e(t.relatedTarget),o=i.find(".fl-module").length>0,s=l.is("#tiptip_holder"),r=l.closest("#tiptip_holder").length>0;o||s||r||FLBuilder._removeColOverlays()},_removeColOverlays:function(){var t=e(".fl-col");t.removeClass("fl-block-overlay-active"),t.find(".fl-col-overlay").remove(),e("body").removeClass("fl-block-overlay-muted")},_colSettingsClicked:function(t){var i=e(this).closest(".fl-col").attr("data-node");FLBuilder._colResizing||(FLBuilder._closePanel(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_column_settings",node_id:i},FLBuilder._colSettingsLoaded),t.stopPropagation())},_colSettingsLoaded:function(t){var i=JSON.parse(t),l=null,o=null,s=null;FLBuilder._setSettingsFormContent(i.settings),l=e(".fl-builder-col-settings"),o=l.data("node"),s=e('.fl-col[data-node="'+o+'"]'),0===s.siblings(".fl-col").length&&e(l).find("#fl-builder-settings-section-general").css("display","none"),FLBuilder.preview=new FLBuilderPreview({type:"col",state:i.state})},_deleteColClicked:function(t){var i=e(this),l=i.closest(".fl-col"),o=i.closest(".fl-module"),s=!0;o.length>0&&(s=confirm(FLBuilderStrings.deleteColumnMessage)),s&&(FLBuilder._deleteCol(l),FLBuilder._removeAllOverlays()),t.stopPropagation()},_deleteCol:function(e){var t=e.closest(".fl-row"),i=e.closest(".fl-col-group"),l=0;e.remove(),rowCols=t.find(".fl-col"),groupCols=i.find(".fl-col"),0===rowCols.length&&"row"!=FLBuilderConfig.userTemplateType?FLBuilder._deleteRow(t):(0===groupCols.length?i.remove():(l=6===groupCols.length?16.65:7===groupCols.length?14.28:Math.round(100/groupCols.length*100)/100,groupCols.css("width",l+"%")),FLBuilder.ajax({action:"delete_col",node_id:e.attr("data-node"),new_width:l,silent:!0}))},_insertColBeforeClicked:function(t){FLBuilder._insertCol(e(this).closest(".fl-col"),"before"),t.stopPropagation()},_insertColAfterClicked:function(t){FLBuilder._insertCol(e(this).closest(".fl-col"),"after"),t.stopPropagation()},_insertCol:function(e,t){FLBuilder.showAjaxLoader(),FLBuilder._removeAllOverlays(),FLBuilder.ajax({action:"render_new_column",node_id:e.attr("data-node"),insert:t},FLBuilder._renderLayout)},_addColGroup:function(t,i,l){FLBuilder.showAjaxLoader(),FLBuilder._newColGroupParent=e(".fl-node-"+t+" .fl-row-content"),FLBuilder._newColGroupPosition=l,FLBuilder.ajax({action:"render_new_column_group",cols:i,node_id:t,position:l},FLBuilder._addColGroupComplete)},_addColGroupComplete:function(t){var i=JSON.parse(t),l=e(i.html).find(".fl-col").data("node");i.nodeParent=FLBuilder._newColGroupParent,i.nodePosition=FLBuilder._newColGroupPosition,FLBuilder._renderLayout(i,function(){null!==FLBuilder._addModuleAfterRowRender&&(FLBuilder._addModuleAfterRowRender.hasClass("fl-module")&&(e(".fl-node-"+l+" .fl-col-content").append(FLBuilder._addModuleAfterRowRender),FLBuilder._reorderModule(FLBuilder._addModuleAfterRowRender)),FLBuilder._addModuleAfterRowRender=null)})},_initColDragResizing:function(){e(".fl-block-col-resize").draggable({axis:"x",start:FLBuilder._colDragResizeStart,drag:FLBuilder._colDragResize,stop:FLBuilder._colDragResizeStop})},_colDragResizeStart:function(t,i){var l=e(i.helper),o="",s=l.closest(".fl-col-group"),r=s.find("> .fl-col"),n=l.closest(".fl-col"),a=null,d=100,u=0;for(l.hasClass("fl-block-col-resize-e")?(o="e",a=n.next(".fl-col")):(o="w",a=n.prev(".fl-col"));u<r.length;u++)r.eq(u).data("node")!=n.data("node")&&r.eq(u).data("node")!=a.data("node")&&(d-=parseFloat(r.eq(u)[0].style.width));FLBuilder._colResizeData={handle:l,feedbackLeft:l.find(".fl-block-col-resize-feedback-left"),feedbackRight:l.find(".fl-block-col-resize-feedback-right"),direction:o,groupWidth:s.outerWidth(),col:n,colWidth:parseFloat(n[0].style.width)/100,sibling:a,offset:i.position.left,availWidth:d},FLBuilder._colResizing=!0,FLBuilder._closePanel(),FLBuilder._destroyOverlayEvents(),FLBuilder.triggerHook("col-resize-start")},_colDragResize:function(e,t){var i=FLBuilder._colResizeData,l=(i.offset-t.position.left)/i.groupWidth,o="e"==i.direction?100*(i.colWidth-l):100*(i.colWidth+l),s=Math.round(100*o)/100,r=i.availWidth-o,n=Math.round(100*r)/100,a=10,d=Math.round(100*(i.availWidth-10))/100;s<10?(s=a,n=d):n<10&&(s=d,n=a),"e"==i.direction?(i.feedbackLeft.html(s.toFixed(1)+"%").show(),i.feedbackRight.html(n.toFixed(1)+"%").show()):(i.feedbackLeft.html(n.toFixed(1)+"%").show(),i.feedbackRight.html(s.toFixed(1)+"%").show()),i.col.css("width",s+"%"),i.sibling.css("width",n+"%"),FLBuilder.triggerHook("col-resize-drag")},_colDragResizeStop:function(e,t){var i=FLBuilder._colResizeData;FLBuilder._colResizeData.feedbackLeft.hide(),FLBuilder._colResizeData.feedbackRight.hide(),FLBuilder.ajax({action:"resize_cols",col_id:i.col.data("node"),col_width:parseFloat(i.col[0].style.width),sibling_id:i.sibling.data("node"),sibling_width:parseFloat(i.sibling[0].style.width),silent:!0}),FLBuilder._colResizeData=null,FLBuilder._bindOverlayEvents(),setTimeout(function(){FLBuilder._colResizing=!1},50),FLBuilder.triggerHook("col-resize-stop")},_resetColumnWidths:function(t){var i=e(this).closest(".fl-col-group"),l=i.find(".fl-col"),o=0;o=6===l.length?16.65:7===l.length?14.28:Math.round(100/l.length*100)/100,l.css("width",o+"%"),FLBuilder.ajax({action:"reset_col_widths",group_id:i.data("node"),silent:!0}),FLBuilder.triggerHook("col-reset-widths"),t.stopPropagation()},_moduleMouseenter:function(){var t=e(this),i=t.attr("data-name"),l=t.hasClass("fl-node-global"),o=t.parents(".fl-node-global").length>0,s=t.parents(".fl-col-group").find(".fl-col").length,r=t.parents(".fl-col"),n=0===r.index(),a=s===r.index()+1,d=wp.template("fl-module-overlay");FLBuilder._removeColOverlays(),FLBuilder._removeModuleOverlays(),l&&o&&"row"!=FLBuilderConfig.userTemplateType||(t.hasClass("fl-block-overlay-active")||(FLBuilder._appendOverlay(t,d({global:l,moduleName:i,numCols:s,parentFirst:n,parentLast:a})),FLBuilder._initColDragResizing()),e("body").addClass("fl-block-overlay-muted"))},_moduleMouseleave:function(t){var i=(e(this),e(t.toElement)||e(t.relatedTarget)),l=i.is("#tiptip_holder"),o=i.closest("#tiptip_holder").length>0;l||o||FLBuilder._removeModuleOverlays()},_removeModuleOverlays:function(){var t=e(".fl-module");t.removeClass("fl-block-overlay-active"),t.find(".fl-module-overlay").remove(),e("body").removeClass("fl-block-overlay-muted")},_moduleDragHelper:function(t,i){return e('<div class="fl-builder-block-drag-helper">'+i.attr("data-name")+"</div>")},_moduleDragStop:function(e,t){var i=t.item,l=i.parent(),o=0,s=0;return FLBuilder._blockDragStop(e,t),l.hasClass("fl-builder-modules")||l.hasClass("fl-builder-widgets")?void i.remove():(i.hasClass("fl-builder-block")?(l.hasClass("fl-builder-content")?(o=l.children(".fl-row, .fl-builder-block").index(i),s=0):l.hasClass("fl-row-content")?(o=l.children(".fl-col-group, .fl-builder-block").index(i),s=i.closest(".fl-row").attr("data-node")):(o=l.children(".fl-module, .fl-builder-block").index(i),s=i.closest(".fl-col").attr("data-node")),FLBuilder._addModule(l,s,i.attr("data-type"),o,i.attr("data-widget")),t.item.remove()):l.hasClass("fl-builder-content")?(o=l.children(".fl-row, .fl-module").index(i),FLBuilder._addModuleAfterRowRender=i,FLBuilder._addRow("1-col",o),i.remove()):l.hasClass("fl-row-content")?(o=l.children(".fl-col-group, .fl-module").index(i),FLBuilder._addModuleAfterRowRender=i,FLBuilder._addColGroup(i.closest(".fl-row").attr("data-node"),"1-col",o),i.remove()):FLBuilder._reorderModule(i),void FLBuilder._resizeLayout())},_reorderModule:function(e){var t=e.closest(".fl-col").attr("data-node"),i=e.attr("data-parent"),l=e.attr("data-node"),o=e.index();t==i?FLBuilder.ajax({action:"reorder_node",node_id:l,position:o,silent:!0}):(e.attr("data-parent",t),FLBuilder.ajax({action:"move_node",new_parent:t,node_id:l,position:o,silent:!0}))},_deleteModuleClicked:function(t){var i=e(this).closest(".fl-module"),l=confirm(FLBuilderStrings.deleteModuleMessage);l&&(FLBuilder._deleteModule(i),FLBuilder._removeAllOverlays()),t.stopPropagation()},_deleteModule:function(e){var t=e.closest(".fl-row");FLBuilder.ajax({action:"delete_node",node_id:e.attr("data-node"),silent:!0}),e.empty(),e.remove(),t.removeClass("fl-block-overlay-muted"),FLBuilder._highlightEmptyCols(),FLBuilder._removeAllOverlays()},_moduleCopyClicked:function(t){var i=e(this).closest(".fl-module");FLBuilder.showAjaxLoader(),FLBuilder._removeAllOverlays(),FLBuilder._newModuleParent=i.parent(),FLBuilder._newModulePosition=i.index()+1,FLBuilder.ajax({action:"copy_module",node_id:i.attr("data-node")},FLBuilder._moduleCopyComplete),t.stopPropagation()},_moduleCopyComplete:function(e){var t=JSON.parse(e);t.nodeParent=FLBuilder._newModuleParent,t.nodePosition=FLBuilder._newModulePosition,FLBuilder._renderLayout(t)},_moduleSettingsClicked:function(t){var i=e(this),l=i.closest(".fl-module").attr("data-node"),o=i.closest(".fl-col").attr("data-node"),s=i.closest(".fl-module").attr("data-type"),r=i.closest(".fl-block-overlay-global").length>0;t.stopPropagation(),FLBuilder._colResizing||r&&!FLBuilderConfig.userCanEditGlobalTemplates||FLBuilder._showModuleSettings(l,o,s)},_showModuleSettings:function(e,t,i){FLBuilder._closePanel(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_module_settings",node_id:e,type:i,parent_id:t},FLBuilder._moduleSettingsLoaded)},_moduleSettingsLoaded:function(t){var i=JSON.parse(t),l=e("<div>"+i.settings+"</div>"),o=l.find("link.fl-builder-settings-css"),s=l.find("script.fl-builder-settings-js"),r=l.find(".fl-builder-settings"),n=r.attr("data-type"),a=null,d=null,u=null;e.inArray(n,FLBuilder._loadedModuleAssets)>-1?(o.remove(),s.remove()):(e("head").append(o),e("head").append(s),FLBuilder._loadedModuleAssets.push(n)),FLBuilder._setSettingsFormContent(l),"undefined"!=typeof i.layout&&(a=i.layout,a.nodeParent=FLBuilder._newModuleParent,a.nodePosition=FLBuilder._newModulePosition),"undefined"!=typeof i.state&&(d=i.state),FLBuilder.preview=new FLBuilderPreview({type:"module",layout:a,state:d}),u=FLBuilder._moduleHelpers[n],"undefined"!=typeof u&&(FLBuilder._initSettingsValidation(u.rules),u.init())},_saveModuleClicked:function(){var t=e(this).closest(".fl-builder-settings"),i=t.attr("data-type"),l=(t.attr("data-node"),FLBuilder._moduleHelpers[i]),o=!0;"undefined"!=typeof l&&(t.find("label.error").remove(),t.validate().hideErrors(),o=t.validate().form(),o&&(o=l.submit())),o?(FLBuilder._saveSettings(),FLBuilder._lightbox.close()):FLBuilder._toggleSettingsTabErrors()},_addModule:function(e,t,i,l,o){FLBuilder.showAjaxLoader(),FLBuilder._newModuleParent=e,FLBuilder._newModulePosition=l,FLBuilder.ajax({action:"render_new_module",parent_id:t,type:i,position:l,
|
4 |
-
node_preview:1,widget:"undefined"==typeof o?"":o},FLBuilder._addModuleComplete)},_addModuleComplete:function(t){FLBuilder._showLightbox(),FLBuilder._moduleSettingsLoaded(t),e(".fl-builder-module-settings").data("new-module","1")},registerModuleHelper:function(t,i){var l={rules:{},init:function(){},submit:function(){return!0},preview:function(){}};FLBuilder._moduleHelpers[t]=e.extend({},l,i)},_registerModuleHelper:function(e,t){FLBuilder.registerModuleHelper(e,t)},_showNodeTemplateSettings:function(t){var i=e(".fl-builder-settings-lightbox .fl-builder-settings");FLBuilder._saveSettings(),FLBuilder.ajax({action:"render_node_template_settings",node_id:i.attr("data-node")},FLBuilder._nodeTemplateSettingsLoaded)},_nodeTemplateSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._showLightbox(!1),FLBuilder._setSettingsFormContent(t.html),FLBuilder._initSettingsValidation({name:{required:!0}})},_saveNodeTemplate:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),i=t.validate().form();i&&(FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_node_template",node_id:t.attr("data-node"),settings:FLBuilder._getSettings(t)},FLBuilder._saveNodeTemplateComplete),FLBuilder._lightbox.close())},_saveNodeTemplateComplete:function(t){var i=JSON.parse(t),l=e(".fl-builder-saved-"+i.type+"s"),o=l.find(".fl-builder-block"),s=null,r="",n=i.name.toLowerCase(),a=0,d=wp.template("fl-node-template-block");if("row"==i.type?FLBuilder.alert(FLBuilderStrings.rowTemplateSaved):"module"==i.type&&FLBuilder.alert(FLBuilderStrings.moduleTemplateSaved),i.layout&&FLBuilder._renderLayout(i.layout),0===o.length)l.append(d(i));else for(;a<o.length;a++){if(s=o.eq(a),r=s.text().toLowerCase().trim(),0===a&&n<r){l.prepend(d(i));break}if(n<r){s.before(d(i));break}if(o.length-1===a){l.append(d(i));break}}l.find(".fl-builder-block-no-node-templates").remove()},_nodeTemplateDragStop:function(e,t){var i=t.item,l=i.parent(),o=null,s=0,r="",n=null;FLBuilder._blockDragStop(e,t),i.hasClass("fl-builder-block-saved-row")||i.hasClass("fl-builder-block-row-template")?(s=l.children(".fl-row, .fl-builder-block").index(i),o=null,r="render_new_row",n=FLBuilder._addRowComplete,FLBuilder._newRowPosition=s):(i.hasClass("fl-builder-block-saved-module")||i.hasClass("fl-builder-block-module-template"))&&(r="render_new_module",n=FLBuilder._addModuleComplete,l.hasClass("fl-builder-content")?(s=l.children(".fl-row, .fl-builder-block").index(i),o=0):l.hasClass("fl-row-content")?(s=l.children(".fl-col-group, .fl-builder-block").index(i),o=i.closest(".fl-row").attr("data-node")):(s=l.children(".fl-module, .fl-builder-block").index(i),o=i.closest(".fl-col").attr("data-node")),FLBuilder._newModuleParent=l,FLBuilder._newModulePosition=s),FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:r,template_id:i.attr("data-id"),template_type:i.attr("data-type"),parent_id:o,position:s},n),i.remove()},_editNodeTemplateClicked:function(t){t.preventDefault(),t.stopPropagation(),window.open(e(this).attr("href"))},_deleteNodeTemplateClicked:function(t){var i=e(t.target),l=i.closest(".fl-builder-blocks-section"),o=l.find(".fl-builder-blocks-section-content"),s=o.find(".fl-builder-block"),r=i.closest(".fl-builder-block"),n=r.hasClass("fl-builder-block-global"),a=n?FLBuilder._updateLayout:void 0,d=n?FLBuilderStrings.deleteGlobalTemplate:FLBuilderStrings.deleteTemplate;confirm(d)&&(r.remove(),1===s.length&&(r.hasClass("fl-builder-block-saved-row")?o.append('<span class="fl-builder-block-no-node-templates">'+FLBuilderStrings.noSavedRows+"</span>"):o.append('<span class="fl-builder-block-no-node-templates">'+FLBuilderStrings.noSavedModules+"</span>")),FLBuilder.ajax({action:"delete_node_template",template_id:r.attr("data-id"),silent:!r.hasClass("fl-builder-block-global")},a))},_initSettingsForms:function(){FLBuilder._initColorPickers(),FLBuilder._initSelectFields(),FLBuilder._initMultipleFields(),FLBuilder._initAutoSuggestFields(),FLBuilder._initLinkFields(),FLBuilder._initFontFields(),FLBuilder.triggerHook("settings-form-init")},_setSettingsFormContent:function(e){FLBuilder._setLightboxContent(e),FLBuilder._initSettingsForms()},_settingsTabClicked:function(t){var i=e(this),l=i.closest(".fl-builder-settings"),o=i.attr("href").split("#").pop();l.find(".fl-builder-settings-tab").removeClass("fl-active"),l.find("#"+o).addClass("fl-active"),l.find(".fl-builder-settings-tabs .fl-active").removeClass("fl-active"),e(this).addClass("fl-active"),t.preventDefault()},_settingsCancelClicked:function(t){var i=e(".fl-builder-module-settings"),l=null,o=null,s=null,r=null;i.length>0&&"undefined"!=typeof i.data("new-module")?(l=e(FLBuilder.preview.state.html),o=e(".fl-node-"+i.data("node")),s=o.closest(".fl-col"),r=l.find(".fl-node-"+s.data("node")),r.length>0?FLBuilder._deleteModule(o):FLBuilder._deleteCol(s)):FLBuilder.preview&&FLBuilder.preview.revert(),FLBuilder.preview=null,FLLightbox.closeParent(this)},_initSettingsValidation:function(t,i){var l=e(".fl-builder-settings").last();l.validate({ignore:[],rules:t,messages:i,errorPlacement:FLBuilder._settingsErrorPlacement})},_settingsErrorPlacement:function(e,t){e.appendTo(t.parent())},_toggleSettingsTabErrors:function(){for(var t=e(".fl-builder-settings:visible"),i=t.find(".fl-builder-settings-tab"),l=null,o=null,s=0;s<i.length;s++)l=i.eq(s),o=l.find("label.error"),tabLink=t.find(".fl-builder-settings-tabs a[href*="+l.attr("id")+"]"),tabLink.find(".fl-error-icon").remove(),tabLink.removeClass("error"),o.length>0&&(tabLink.append('<span class="fl-error-icon"></span>'),tabLink.addClass("error"))},_getSettings:function(t){FLBuilder._updateEditorFields();var i=t.serializeArray(),l=0,o=0,s="",r="",n="",a=[],d=[],u={};for(l=0;l<i.length;l++)if(s=i[l].value.replace(/\r/gm,""),!(i[l].name.indexOf("flrich")>-1))if(i[l].name.indexOf("[")>-1){for(r=i[l].name.replace(/\[(.*)\]/,""),n=i[l].name.replace(r,""),a=[],d=n.match(/\[[^\]]*\]/g),o=0;o<d.length;o++)"[]"!=d[o]&&a.push(d[o].replace(/\[|\]/g,""));n.match(/\[\]\[[^\]]*\]\[[^\]]+\]/)?("undefined"==typeof u[r]&&(u[r]={}),"undefined"==typeof u[r][a[0]]&&(u[r][a[0]]={}),"undefined"==typeof u[r][a[0]][a[1]]&&(u[r][a[0]][a[1]]={}),u[r][a[0]][a[1]]=s):n.match(/\[\]\[[^\]]*\]\[\]/)?("undefined"==typeof u[r]&&(u[r]={}),"undefined"==typeof u[r][a[0]]&&(u[r][a[0]]=[]),u[r][a[0]].push(s)):n.match(/\[\]\[[^\]]*\]/)?("undefined"==typeof u[r]&&(u[r]={}),u[r][a[0]]=s):n.match(/\[\]/)&&("undefined"==typeof u[r]&&(u[r]=[]),u[r].push(s))}else u[i[l].name]=s;for(n in u)if("undefined"!=typeof u["as_values_"+n]){u[n]=e.grep(u["as_values_"+n].split(","),function(e){return""!==e}).join(",");try{delete u["as_values_"+n]}catch(c){}}return u},_saveSettings:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),i=t.attr("data-node"),l=FLBuilder._getSettings(t);FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_settings",node_id:i,settings:l},FLBuilder._saveSettingsComplete),FLBuilder._lightbox.close()},_saveSettingsComplete:function(e){FLBuilder._renderLayout(e,function(){FLBuilder.preview&&(FLBuilder.preview.clear(),FLBuilder.preview=null)})},_showHelpTooltip:function(){e(this).siblings(".fl-help-tooltip-text").fadeIn()},_hideHelpTooltip:function(){e(this).siblings(".fl-help-tooltip-text").fadeOut()},_initAutoSuggestFields:function(){e(".fl-suggest-field").each(FLBuilder._initAutoSuggestField)},_initAutoSuggestField:function(){var t=e(this);t.autoSuggest(FLBuilder._ajaxUrl({fl_action:"fl_builder_autosuggest",fl_as_action:t.data("action"),fl_as_action_data:t.data("action-data"),_wpnonce:FLBuilderConfig.ajaxNonce}),e.extend({},{asHtmlID:t.attr("name"),selectedItemProp:"name",searchObjProps:"name",minChars:3,keyDelay:1e3,fadeOut:!1,usePlaceholder:!0,emptyText:FLBuilderStrings.noResultsFound,showResultListWhenNoMatch:!0,preFill:t.data("value"),queryParam:"fl_as_query",afterSelectionAdd:FLBuilder._updateAutoSuggestField,afterSelectionRemove:FLBuilder._updateAutoSuggestField,selectionLimit:t.data("limit")},t.data("args")))},_updateAutoSuggestField:function(t,i,l){e(this).siblings(".as-values").val(l.join(",")).trigger("change")},_initMultipleFields:function(){for(var t=e(".fl-builder-field-multiples"),i=null,l=null,o=0,s=FLBuilderConfig.isRtl?{left:10}:{right:10};o<t.length;o++)i=t.eq(o),l=i.find(".fl-builder-field-multiple"),1===l.length?l.eq(0).find(".fl-builder-field-actions").addClass("fl-builder-field-actions-single"):l.find(".fl-builder-field-actions").removeClass("fl-builder-field-actions-single");e(".fl-builder-field-multiples").sortable({items:".fl-builder-field-multiple",cursor:"move",cursorAt:s,distance:5,opacity:.5,helper:FLBuilder._fieldDragHelper,placeholder:"fl-builder-field-dd-zone",stop:FLBuilder._fieldDragStop,tolerance:"pointer"})},_addFieldClicked:function(){var t=e(this),i=t.attr("data-field"),l=t.closest("tr").siblings("tr[data-field="+i+"]").last(),o=l.clone(),s=parseInt(l.find("label span.fl-builder-field-index").html(),10)+1;o.find("th label span.fl-builder-field-index").html(s),o.find(".fl-form-field-preview-text").html(""),o.find("input, textarea, select").val(""),l.after(o),FLBuilder._initMultipleFields()},_copyFieldClicked:function(){var t=e(this),i=t.closest("tr"),l=i.clone(),o=parseInt(i.find("label span.fl-builder-field-index").html(),10)+1;l.find("th label span.fl-builder-field-index").html(o),i.after(l),FLBuilder._renumberFields(i.parent()),FLBuilder._initMultipleFields(),FLBuilder.preview.delayPreview()},_deleteFieldClicked:function(){var t=e(this).closest("tr"),i=t.parent(),l=confirm(FLBuilderStrings.deleteFieldMessage);l&&(t.remove(),FLBuilder._renumberFields(i),FLBuilder._initMultipleFields(),FLBuilder.preview.delayPreview())},_renumberFields:function(e){for(var t=e.find(".fl-builder-field-multiple"),i=0;i<t.length;i++)t.eq(i).find("th label span.fl-builder-field-index").html(i+1)},_fieldDragHelper:function(){return e('<div class="fl-builder-field-dd-helper"></div>')},_fieldDragStop:function(e,t){FLBuilder._renumberFields(t.item.parent()),FLBuilder.preview.delayPreview()},_initSelectFields:function(){e(".fl-builder-settings:visible").find(".fl-builder-settings-fields select").trigger("change")},_settingsSelectChanged:function(){var t=e(this),i=t.attr("data-toggle"),l=t.attr("data-hide"),o=t.attr("data-trigger"),s=t.val(),r=0;if("undefined"!=typeof i){i=JSON.parse(i);for(r in i)FLBuilder._settingsSelectToggle(i[r].fields,"hide","#fl-field-"),FLBuilder._settingsSelectToggle(i[r].sections,"hide","#fl-builder-settings-section-"),FLBuilder._settingsSelectToggle(i[r].tabs,"hide","a[href*=fl-builder-settings-tab-","]");"undefined"!=typeof i[s]&&(FLBuilder._settingsSelectToggle(i[s].fields,"show","#fl-field-"),FLBuilder._settingsSelectToggle(i[s].sections,"show","#fl-builder-settings-section-"),FLBuilder._settingsSelectToggle(i[s].tabs,"show","a[href*=fl-builder-settings-tab-","]"))}if("undefined"!=typeof l&&(l=JSON.parse(l),"undefined"!=typeof l[s]&&(FLBuilder._settingsSelectToggle(l[s].fields,"hide","#fl-field-"),FLBuilder._settingsSelectToggle(l[s].sections,"hide","#fl-builder-settings-section-"),FLBuilder._settingsSelectToggle(l[s].tabs,"hide","a[href*=fl-builder-settings-tab-","]"))),"undefined"!=typeof o&&(o=JSON.parse(o),"undefined"!=typeof o[s]&&"undefined"!=typeof o[s].fields))for(r=0;r<o[s].fields.length;r++)e("#fl-field-"+o[s].fields[r]).find("select").trigger("change")},_settingsSelectToggle:function(t,i,l,o){var s=0;if(o="undefined"==typeof o?"":o,"undefined"!=typeof t)for(;s<t.length;s++)e(l+t[s]+o)[i](),"#fl-field-"==l&&"code"==e(l+t[s]).data("type")&&e(l+t[s]).data("editor").resize()},_initColorPickers:function(){var t=FLBuilderConfig.colorPresets?FLBuilderConfig.colorPresets:[];FLBuilder.colorPicker=new FLBuilderColorPicker({mode:"hsv",elements:".fl-color-picker .fl-color-picker-value",presets:t,labels:{colorPresets:FLBuilderStrings.colorPresets,colorPicker:FLBuilderStrings.colorPicker,placeholder:FLBuilderStrings.placeholder,removePresetConfirm:FLBuilderStrings.removePresetConfirm,noneColorSelected:FLBuilderStrings.noneColorSelected,alreadySaved:FLBuilderStrings.alreadySaved,noPresets:FLBuilderStrings.noPresets,presetAdded:FLBuilderStrings.presetAdded}}),e(FLBuilder.colorPicker).on("presetRemoved presetAdded",function(e,t){FLBuilder.ajax({action:"save_color_presets",presets:t.presets})})},_initSinglePhotoSelector:function(){null===FLBuilder._singlePhotoSelector&&(FLBuilder._singlePhotoSelector=wp.media({title:FLBuilderStrings.selectPhoto,button:{text:FLBuilderStrings.selectPhoto},library:{type:"image"},multiple:!1}))},_selectSinglePhoto:function(){FLBuilder._initSinglePhotoSelector(),FLBuilder._singlePhotoSelector.once("open",e.proxy(FLBuilder._singlePhotoOpened,this)),FLBuilder._singlePhotoSelector.once("select",e.proxy(FLBuilder._singlePhotoSelected,this)),FLBuilder._singlePhotoSelector.open()},_singlePhotoOpened:function(){var t=FLBuilder._singlePhotoSelector.state().get("selection"),i=e(this).closest(".fl-photo-field"),l=i.find("input[type=hidden]"),o=l.val(),s=null;e(this).hasClass("fl-photo-replace")?(t.reset(),i.addClass("fl-photo-empty"),l.val("")):""!==o?(s=wp.media.attachment(o),s.fetch(),t.add(s?[s]:[])):t.reset()},_singlePhotoSelected:function(){var t=FLBuilder._singlePhotoSelector.state().get("selection").first().toJSON(),i=e(this).closest(".fl-photo-field"),l=i.find("input[type=hidden]"),o=i.find(".fl-photo-preview img"),s=i.find("select");l.val(t.id),o.attr("src",FLBuilder._getPhotoSrc(t)),i.removeClass("fl-photo-empty"),i.find("label.error").remove(),s.show(),s.html(FLBuilder._getPhotoSizeOptions(t)),s.trigger("change")},_singlePhotoRemoved:function(){FLBuilder._initSinglePhotoSelector();var t=FLBuilder._singlePhotoSelector.state(),i="undefined"!=typeof t?t.get("selection"):null,l=e(this).closest(".fl-photo-field"),o=l.find("input[type=hidden]"),s=l.find("select");i&&i.reset(),l.addClass("fl-photo-empty"),o.val(""),s.html(""),s.trigger("change")},_getPhotoSrc:function(e){return"undefined"==typeof e.sizes?e.url:"undefined"!=typeof e.sizes.thumbnail?e.sizes.thumbnail.url:e.sizes.full.url},_getPhotoSizeOptions:function(e){var t="",i=null,l=null,o="",s={full:FLBuilderStrings.fullSize,large:FLBuilderStrings.large,medium:FLBuilderStrings.medium,thumbnail:FLBuilderStrings.thumbnail};if("undefined"==typeof e.sizes)t+='<option value="'+e.url+'">'+FLBuilderStrings.fullSize+"</option>";else for(i in e.sizes)o="undefined"!=typeof s[i]?s[i]+" - ":"undefined"!=typeof FLBuilderConfig.customImageSizeTitles[i]?FLBuilderConfig.customImageSizeTitles[i]+" - ":"",l="full"==i?' selected="selected"':"",t+='<option value="'+e.sizes[i].url+'"'+l+">"+o+e.sizes[i].width+" x "+e.sizes[i].height+"</option>";return t},_selectMultiplePhotos:function(){var t=e(this).closest(".fl-multiple-photos-field"),i=t.find("input[type=hidden]"),l=i.val(),o=""===l?'[gallery ids="-1"]':'[gallery ids="'+JSON.parse(l).join()+'"]',s=wp.shortcode.next("gallery",o).shortcode,r=wp.media.gallery.defaults.id,n=null,a=null;_.isUndefined(s.get("id"))&&!_.isUndefined(r)&&s.set("id",r),n=wp.media.gallery.attachments(s),a=new wp.media.model.Selection(n.models,{props:n.props.toJSON(),multiple:!0}),a.gallery=n.gallery,a.more().done(function(){a.props.set({query:!1}),a.unmirror(),a.props.unset("orderby")}),FLBuilder._multiplePhotoSelector&&FLBuilder._multiplePhotoSelector.dispose(),FLBuilder._multiplePhotoSelector=wp.media({frame:"post",state:e(this).hasClass("fl-multiple-photos-edit")?"gallery-edit":"gallery-library",title:wp.media.view.l10n.editGalleryTitle,editing:!0,multiple:!0,selection:a}).open(),e(FLBuilder._multiplePhotoSelector.views.view.el).addClass("fl-multiple-photos-lightbox"),FLBuilder._multiplePhotoSelector.once("update",e.proxy(FLBuilder._multiplePhotosSelected,this))},_multiplePhotosSelected:function(t){for(var i=e(this).closest(".fl-multiple-photos-field"),l=i.find("input[type=hidden]"),o=i.find(".fl-multiple-photos-count"),s=[],r=0;r<t.models.length;r++)s.push(t.models[r].id);1==s.length?o.html("1 "+FLBuilderStrings.photoSelected):o.html(s.length+" "+FLBuilderStrings.photosSelected),i.removeClass("fl-multiple-photos-empty"),i.find("label.error").remove(),l.val(JSON.stringify(s)).trigger("change")},_selectSingleVideo:function(){null===FLBuilder._singleVideoSelector&&(FLBuilder._singleVideoSelector=wp.media({title:FLBuilderStrings.selectVideo,button:{text:FLBuilderStrings.selectVideo},library:{type:"video"},multiple:!1})),FLBuilder._singleVideoSelector.once("select",e.proxy(FLBuilder._singleVideoSelected,this)),FLBuilder._singleVideoSelector.open()},_singleVideoSelected:function(){var t=FLBuilder._singleVideoSelector.state().get("selection").first().toJSON(),i=e(this).closest(".fl-video-field"),l=i.find(".fl-video-preview-img img"),o=i.find(".fl-video-preview-filename"),s=i.find("input[type=hidden]");l.attr("src",t.icon),o.html(t.filename),i.removeClass("fl-video-empty"),i.find("label.error").remove(),s.val(t.id).trigger("change")},_selectMultipleAudios:function(){var t=e(this).closest(".fl-multiple-audios-field"),i=t.find("input[type=hidden]"),l=i.val(),o=""==l?'[playlist ids="-1"]':'[playlist ids="'+JSON.parse(l).join()+'"]',s=wp.shortcode.next("playlist",o).shortcode,r=wp.media.playlist.defaults.id,n=null,a=null;_.isUndefined(s.get("id"))&&!_.isUndefined(r)&&s.set("id",r),n=wp.media.playlist.attachments(s),a=new wp.media.model.Selection(n.models,{props:n.props.toJSON(),multiple:!0}),a.playlist=n.playlist,a.more().done(function(){a.props.set({query:!1}),a.unmirror(),a.props.unset("orderby")}),FLBuilder._multipleAudiosSelector&&FLBuilder._multipleAudiosSelector.dispose(),FLBuilder._multipleAudiosSelector=wp.media({frame:"post",state:e(this).hasClass("fl-multiple-audios-edit")?"playlist-edit":"playlist-library",title:wp.media.view.l10n.editPlaylistTitle,editing:!0,multiple:!0,selection:a}).open(),FLBuilder._multipleAudiosSelector.content.get("view").sidebar.unset("playlist"),FLBuilder._multipleAudiosSelector.on("content:render:browse",function(e){e&&e.sidebar.on("ready",function(){e.sidebar.unset("playlist")})}),FLBuilder._multipleAudiosSelector.once("update",e.proxy(FLBuilder._multipleAudiosSelected,this))},_multipleAudiosSelected:function(t){for(var i=e(this).closest(".fl-multiple-audios-field"),l=i.find(".fl-multiple-audios-count"),o=i.find("input[type=hidden]"),s=[],r=0;r<t.models.length;r++)s.push(t.models[r].id);1==s.length?l.html("1 "+FLBuilderStrings.audioSelected):l.html(s.length+" "+FLBuilderStrings.audiosSelected),o.val(JSON.stringify(s)).trigger("change"),i.removeClass("fl-multiple-audios-empty"),i.find("label.error").remove()},_selectIcon:function(){var e=this;FLIconSelector.open(function(t){FLBuilder._iconSelected.apply(e,[t])})},_iconSelected:function(t){var i=e(this).closest(".fl-icon-field"),l=i.find("input[type=hidden]"),o=i.find("i"),s=o.attr("data-icon");l.val(t).trigger("change"),o.removeClass(s),o.addClass(t),o.attr("data-icon",t),i.removeClass("fl-icon-empty"),i.find("label.error").remove()},_removeIcon:function(){var t=e(this).closest(".fl-icon-field"),i=t.find("input[type=hidden]"),l=t.find("i");i.val("").trigger("change"),l.removeClass(),l.attr("data-icon",""),t.addClass("fl-icon-empty")},_formFieldClicked:function(){var t=e(this),i=t.closest(".fl-lightbox-wrap").attr("data-instance-id"),l=FLLightbox._instances[i],o=l._node.find(".fl-lightbox").css("left"),s=l._node.find(".fl-lightbox").css("top"),r=t.closest(".fl-builder-settings"),n=t.attr("data-type"),a=t.siblings("input").val(),d=FLBuilder._moduleHelpers[n],u=new FLLightbox({className:"fl-builder-lightbox fl-form-field-settings",destroyOnClose:!0});t.closest(".fl-builder-lightbox").hide(),t.attr("id","fl-"+u._id),u.open('<div class="fl-builder-lightbox-loading"></div>'),u.draggable({handle:".fl-lightbox-header"}),e("body").undelegate(".fl-builder-settings-cancel","click",FLBuilder._settingsCancelClicked),u._node.find(".fl-lightbox").css({left:o,top:Number(parseInt(s)+233)+"px"}),FLBuilder.ajax({action:"render_settings_form",node_id:r.attr("data-node"),node_settings:FLBuilder._getSettings(r),type:n,settings:a.replace(/'/g,"'")},function(e){var t=JSON.parse(e);u.setContent(t.html),u._node.find("form.fl-builder-settings").attr("data-type",n),u._node.find(".fl-builder-settings-cancel").on("click",FLBuilder._closeFormFieldLightbox),FLBuilder._initSettingsForms(),"undefined"!=typeof d&&(FLBuilder._initSettingsValidation(d.rules),d.init()),u._node.find(".fl-lightbox").css({left:o,top:s})})},_closeFormFieldLightbox:function(){var t=e(this).closest(".fl-lightbox-wrap").attr("data-instance-id"),i=FLLightbox._instances[t],l=e(".fl-builder-settings-lightbox"),o=l.find("form"),s=i._node.find(".fl-lightbox").css("left"),r=i._node.find(".fl-lightbox").css("top"),n=0,a=e(window),d=a.height();"undefined"!=typeof tinymce&&"undefined"!=typeof tinymce.EditorManager.activeEditor&&tinymce.EditorManager.activeEditor.remove(),i._node.find(".fl-lightbox-content").html('<div class="fl-builder-lightbox-loading"></div>'),n=i._node.find(".fl-lightbox").height(),d-80>n?i._node.find(".fl-lightbox").css("top",(d-n)/2-40+"px"):i._node.find(".fl-lightbox").css("top","0px"),i.on("close",function(){l.show(),l.find("label.error").remove(),o.validate().hideErrors(),FLBuilder._toggleSettingsTabErrors(),l.find(".fl-lightbox").css({left:s,top:r})}),setTimeout(function(){i.close(),e("body").delegate(".fl-builder-settings-cancel","click",FLBuilder._settingsCancelClicked)},500)},_saveFormFieldClicked:function(){var t=e(this).closest(".fl-builder-settings"),i=e(this).closest(".fl-lightbox-wrap").attr("data-instance-id"),l=t.attr("data-type"),o=FLBuilder._getSettings(t),s={},r=FLBuilder._moduleHelpers[l],n=e(".fl-builder-settings #fl-"+i),a=n.parent().attr("data-preview-text"),d=o[a],u=e('select[name="'+a+'"]'),c=document.createElement("div"),h=!0;return u.length>0&&(d=u.find('option[value="'+o[a]+'"]').text()),"undefined"!=typeof r&&(t.find("label.error").remove(),t.validate().hideErrors(),h=t.validate().form(),h&&(h=r.submit())),h?("undefined"!=typeof a&&"undefined"!=typeof d&&(d.indexOf("fa fa-")>-1?d='<i class="'+d+'"></i>':d.length>35&&(c.innerHTML=d,d=(c.textContent||c.innerText||"").replace(/^(.{35}[^\s]*).*/,"$1")+"..."),n.siblings(".fl-form-field-preview-text").html(d)),s=n.siblings("input").val().replace(/'/g,"'"),""!=s&&(o=e.extend(JSON.parse(s),o)),n.siblings("input").val(JSON.stringify(o)).trigger("change"),FLBuilder._closeFormFieldLightbox.apply(this),!0):(FLBuilder._toggleSettingsTabErrors(),!1)},_layoutFieldClicked:function(){var t=e(this);t.siblings().removeClass("fl-layout-field-option-selected"),t.addClass("fl-layout-field-option-selected"),t.siblings("input").val(t.attr("data-value"))},_initLinkFields:function(){e(".fl-link-field").each(FLBuilder._initLinkField)},_initLinkField:function(){var t=e(this),i=t.find(".fl-link-field-search-input");i.autoSuggest(FLBuilder._ajaxUrl({fl_action:"fl_builder_autosuggest",fl_as_action:"fl_as_links",_wpnonce:FLBuilderConfig.ajaxNonce}),{asHtmlID:i.attr("name"),selectedItemProp:"name",searchObjProps:"name",minChars:3,keyDelay:1e3,fadeOut:!1,usePlaceholder:!0,emptyText:FLBuilderStrings.noResultsFound,showResultListWhenNoMatch:!0,queryParam:"fl_as_query",selectionLimit:1,afterSelectionAdd:FLBuilder._updateLinkField})},_updateLinkField:function(e,t,i){var l=e.closest(".fl-link-field"),o=l.find(".fl-link-field-search"),s=l.find(".fl-link-field-search-input"),r=l.find(".fl-link-field-input");r.val(t.value).trigger("keyup"),s.autoSuggest("remove",t.value),o.hide()},_linkFieldSelectClicked:function(){e(this).parent().find(".fl-link-field-search").show()},_linkFieldSelectCancelClicked:function(){e(this).parent().hide()},_initFontFields:function(){e(".fl-font-field").each(FLBuilder._initFontField)},_initFontField:function(){var t=e(this),i=t.find(".fl-font-field-font");i.on("change",function(){FLBuilder._getFontWeights(i)})},_getFontWeights:function(t){var i=t.next(".fl-font-field-weight"),l=t.val(),o={"default":"Default",regular:"Regular",100:"Thin 100",200:"Extra-Light 200",300:"Light 300",400:"Normal 400",500:"Medium 500",600:"Semi-Bold 600",700:"Bold 700",800:"Extra-Bold 800",900:"Ultra-Bold 900"},s={};i.html(""),s="undefined"!=typeof FLBuilderFontFamilies.system[l]?FLBuilderFontFamilies.system[l].weights:"undefined"!=typeof FLBuilderFontFamilies.google[l]?FLBuilderFontFamilies.google[l]:FLBuilderFontFamilies["default"][l],e.each(s,function(e,t){i.append('<option value="'+t+'">'+o[t]+"</option>")})},initEditorField:function(e){var t=tinyMCEPreInit.mceInit.flhiddeneditor;t.elements=e,tinyMCEPreInit.mceInit[e]=t},_updateEditorFields:function(){var t=e(".fl-builder-settings textarea.wp-editor-area");t.each(FLBuilder._updateEditorField)},_updateEditorField:function(){var t=e(this),i=t.closest(".fl-editor-field"),l=(t.closest(".fl-builder-settings"),t.closest(".wp-editor-wrap")),o=t.attr("id"),s=i.attr("id"),r="undefined"!=typeof tinyMCE&&tinyMCE.get(o),n=t.siblings('textarea[name="'+s+'"]'),a=i.data("wpautop");0===n.length&&(n=e('<textarea name="'+s+'"></textarea>').hide(),t.after(n)),a?r&&l.hasClass("tmce-active")?n.val(r.getContent()):"undefined"!=typeof switchEditors?n.val(switchEditors.wpautop(t.val())):n.val(t.val()):(r&&l.hasClass("tmce-active")&&r.save(),n.val(t.val()))},_loopBuilderPostTypeChange:function(){var t=e(this).val();e(".fl-loop-builder-filter").hide(),e(".fl-loop-builder-"+t+"-filter").show()},_textFieldAddValueSelectChange:function(){var t=e(this),i=e('input[name="'+t.data("target")+'"]'),l=i.val(),o=t.val(),s="";-1==l.indexOf(o)&&(s=(l.trim()+" "+o.trim()).trim(),i.val(s).trigger("change").trigger("keyup")),t.val("")},ajax:function(t,i){var l;if(FLBuilder._silentUpdate)return FLBuilder.showAjaxLoader(),void(FLBuilder._silentUpdateCallbackData=[t,i]);t.silent===!0&&(FLBuilder._silentUpdate=!0);for(l in t)"undefined"==typeof t[l]&&(t[l]=null);return t._wpnonce=FLBuilderConfig.ajaxNonce,t.post_id=e("#fl-post-id").val(),t.fl_builder=1,t.fl_action=t.action,"undefined"!=typeof t.settings&&(t.settings=FLBuilder._ajaxModSecFix(t.settings)),"undefined"!=typeof t.node_settings&&(t.node_settings=FLBuilder._ajaxModSecFix(t.node_settings)),t={fl_builder_data:t},e.post(FLBuilder._ajaxUrl(),t,function(e){FLBuilder._ajaxComplete(),"undefined"!=typeof i&&i.call(this,e)})},_ajaxComplete:function(){var e,t;FLBuilder._silentUpdate=!1,null!==FLBuilder._silentUpdateCallbackData?(FLBuilder.showAjaxLoader(),e=FLBuilder._silentUpdateCallbackData[0],t=FLBuilder._silentUpdateCallbackData[1],FLBuilder._silentUpdateCallbackData=null,FLBuilder.ajax(e,t)):FLBuilder.hideAjaxLoader()},_ajaxUrl:function(e){var t=window.location.href.split("#").shift(),i=null;if("undefined"!=typeof e)for(i in e)t+=t.indexOf("?")>-1?"&":"?",t+=i+"="+e[i];return t},showAjaxLoader:function(){0===e(".fl-builder-lightbox-loading").length&&e(".fl-builder-loading").show()},hideAjaxLoader:function(){e(".fl-builder-loading").hide()},_ajaxModSecFix:function(e){var t;if(FLBuilderConfig.modSecFix&&"undefined"!=typeof btoa)if("string"==typeof e)e=btoa(e);else for(t in e)"string"==typeof e[t]?e[t]=btoa(e[t]):"object"==typeof e[t]&&(e[t]=FLBuilder._ajaxModSecFix(e[t]));return e},_showLightbox:function(e){e="undefined"==typeof e||e,FLBuilder._lightbox.open('<div class="fl-builder-lightbox-loading"></div>'),e?FLBuilder._lightbox.draggable({handle:".fl-lightbox-header"}):FLBuilder._lightbox.draggable(!1),FLBuilder._removeAllOverlays(),FLBuilder._initLightboxScrollbars()},_setLightboxContent:function(e){FLBuilder._lightbox.setContent(e)},_initLightboxScrollbars:function(){FLBuilder._initScrollbars(),FLBuilder._lightboxScrollbarTimeout=setTimeout(FLBuilder._initLightboxScrollbars,500)},_lightboxClosed:function(){FLBuilder._lightbox.empty(),clearTimeout(FLBuilder._lightboxScrollbarTimeout)},_showActionsLightbox:function(e){var t=wp.template("fl-actions-lightbox");FLBuilder.triggerHook("actions-lightbox-settings",e),FLBuilder._actionsLightbox.open(t(e))},_resizeLightbox:function(){var t=e(this),i=t.hasClass("fa-expand")?"expand":"contract";FLBuilder._lightbox.renderResize(i),e(this).toggleClass("fa-expand").toggleClass("fa-compress")},alert:function(e){var t=new FLLightbox({className:"fl-builder-lightbox fl-builder-alert-lightbox",destroyOnClose:!0}),i=wp.template("fl-alert-lightbox");t.open(i({message:e}))},_alertClose:function(){FLLightbox.closeParent(this)},triggerHook:function(t,i){e("body").trigger("fl-builder."+t,i)},addHook:function(t,i){e("body").on("fl-builder."+t,i)},removeHook:function(t,i){e("body").off("fl-builder."+t,i)},log:function(e){"undefined"!=typeof window.console&&"undefined"!=typeof window.console.log&&console.log(e)},logError:function(e){var t=null;"undefined"!=typeof e&&("undefined"!=typeof e.stack?t=e.stack:"undefined"!=typeof e.message&&(t=e.message),t&&(FLBuilder.log("************************************************************************"),FLBuilder.log(FLBuilderStrings.errorMessage),FLBuilder.log(t),FLBuilder.log("************************************************************************")))},logGlobalError:function(e,t,i,l,o){FLBuilder.log("************************************************************************"),FLBuilder.log(FLBuilderStrings.errorMessage),FLBuilder.log(FLBuilderStrings.globalErrorMessage.replace("{message}",e).replace("{line}",i).replace("{file}",t)),"undefined"!=typeof o&&"undefined"!=typeof o.stack&&(FLBuilder.log(o.stack),FLBuilder.log("************************************************************************"))}},e(function(){FLBuilder._init()})}(jQuery);var FLBuilderColorPicker;!function(e,t){function i(){var t,i,l="backgroundImage";h?f="filter":(t=e('<div id="iris-gradtest" />'),i="linear-gradient(top,#fff,#000)",e.each(p,function(e,o){if(t.css(l,o+i),t.css(l).match("gradient"))return f=e,!1}),f===!1&&(t.css("background","-webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#000))"),t.css(this.bgImageString).match("gradient")&&(f="webkit")),t.remove())}function l(t,i){return t="top"===t?"top":"left",i=e.isArray(i)?i:Array.prototype.slice.call(arguments,1),"webkit"===f?s(t,i):p[f]+"linear-gradient("+t+", "+i.join(", ")+")"}function o(t,i){var l,o,s,n,a,d,u,c,h;t="top"===t?"top":"left",i=e.isArray(i)?i:Array.prototype.slice.call(arguments,1),l="top"===t?0:1,o=e(this),s=i.length-1,n="filter",a=1===l?"left":"top",d=1===l?"right":"bottom",u=1===l?"height":"width",c='<div class="iris-ie-gradient-shim" style="position:absolute;'+u+":100%;"+a+":%start%;"+d+":%end%;"+n+':%filter%;" data-color:"%color%"></div>',h="","static"===o.css("position")&&o.css({position:"relative"}),i=r(i),e.each(i,function(e,t){var o,r,n;return e!==s&&(o=i[e+1],void(t.stop!==o.stop&&(r=100-parseFloat(o.stop)+"%",t.octoHex=new Color(t.color).toIEOctoHex(),o.octoHex=new Color(o.color).toIEOctoHex(),n="progid:DXImageTransform.Microsoft.Gradient(GradientType="+l+", StartColorStr='"+t.octoHex+"', EndColorStr='"+o.octoHex+"')",h+=c.replace("%start%",t.stop).replace("%end%",r).replace("%filter%",n))))}),o.find(".iris-ie-gradient-shim").remove(),e(h).prependTo(o)}function s(t,i){var l=[];return t="top"===t?"0% 0%,0% 100%,":"0% 100%,100% 100%,",i=r(i),e.each(i,function(e,t){l.push("color-stop("+parseFloat(t.stop)/100+", "+t.color+")")}),"-webkit-gradient(linear,"+t+l.join(",")+")"}function r(t){var i=[],l=[],o=[],s=t.length-1;return e.each(t,function(e,t){var o=t,s=!1,r=t.match(/1?[0-9]{1,2}%$/);r&&(o=t.replace(/\s?1?[0-9]{1,2}%$/,""),s=r.shift()),i.push(o),l.push(s)}),l[0]===!1&&(l[0]="0%"),l[s]===!1&&(l[s]="100%"),l=n(l),e.each(l,function(e){o[e]={color:i[e],stop:l[e]}}),o}function n(t){var i,l,o,s,r=0,a=t.length-1,d=0,u=!1;if(t.length<=2||e.inArray(!1,t)<0)return t;for(;d<t.length-1;)u||t[d]!==!1?u&&t[d]!==!1&&(a=d,d=t.length):(r=d-1,u=!0),d++;for(l=a-r,s=parseInt(t[r].replace("%"),10),i=(parseFloat(t[a].replace("%"))-s)/l,d=r+1,o=1;d<a;)t[d]=s+o*i+"%",o++,d++;return n(t)}var a=[],d=navigator.userAgent.toLowerCase(),u="Microsoft Internet Explorer"===navigator.appName,c=u?parseFloat(d.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,h=u&&c<10,f=!1,p=["-moz-","-webkit-","-o-","-ms-"];e.fn.flBuilderColorPickerGradient=function(){
|
5 |
-
var t=arguments;return this.each(function(){h?o.apply(this,t):e(this).css("backgroundImage",l.apply(this,t))})},e.fn.flBuilderColorPickerRaninbowGradient=function(t,i){var l,o,s,r;for(t=t||"top",l=e.extend({},{s:100,l:50},i),o="hsl(%h%,"+l.s+"%,"+l.l+"%)",s=0,r=[];s<=360;)r.push(o.replace("%h%",s)),s+=30;return this.each(function(){e(this).flBuilderColorPickerGradient(t,r)})},FLBuilderColorPicker=function(t){this._html='<div class="fl-color-picker-ui"><div class="iris-picker"><div class="iris-picker-inner"><div class="iris-square"><a class="iris-square-value" href="#"><span class="iris-square-handle ui-slider-handle"></span></a><div class="iris-square-inner iris-square-horiz"></div><div class="iris-square-inner iris-square-vert"></div></div><div class="iris-slider iris-strip"><div class="iris-slider-offset"></div></div></div></div></div>';var i={elements:null,color:"",mode:"hsl",controls:{horiz:"s",vert:"l",strip:"h"},target:!1,width:200,presets:[],labels:{colorPresets:"Color Presets",colorPicker:"Color Picker",placeholder:"Paste color here...",removePresetConfirm:"Are you sure?",noneColorSelected:"None color selected.",alreadySaved:"%s is already a saved preset.",noPresets:"Add a color preset first.",presetAdded:"%s added to presets!"}};this.options=e.extend({},i,t),(h===!1||h===!0&&c>7)&&this._init()},FLBuilderColorPicker.prototype={_html:"",_color:"",_currentElement:"",_inited:!1,_defaultHSLControls:{horiz:"s",vert:"l",strip:"h"},_defaultHSVControls:{horiz:"h",vert:"v",strip:"s"},_scale:{h:360,s:100,l:100,v:100},_init:function(){var t=this;e(t.options.elements);this._color=new Color("#000000").setHSpace(t.options.mode),a=this.options.presets,f===!1&&i(),e("html").hasClass("fl-color-picker-init")?t.picker=e(".fl-color-picker-ui"):t.picker=e(this._html).appendTo("body"),u?9===c?t.picker.addClass("iris-ie-9"):c<=8&&t.picker.addClass("iris-ie-lt9"):d.indexOf("compatible")<0&&d.indexOf("khtml")<0&&d.match(/mozilla/)&&t.picker.addClass("iris-mozilla"),t.controls={square:t.picker.find(".iris-square"),squareDrag:t.picker.find(".iris-square-value"),horiz:t.picker.find(".iris-square-horiz"),vert:t.picker.find(".iris-square-vert"),strip:t.picker.find(".iris-strip"),stripSlider:t.picker.find(".iris-strip .iris-slider-offset")},"hsv"===t.options.mode&&t._has("l",t.options.controls)?t.options.controls=t._defaultHSVControls:"hsl"===t.options.mode&&t._has("v",t.options.controls)&&(t.options.controls=t._defaultHSLControls),t.hue=t._color.h(),this._setTemplates(),this._ui=e(".fl-color-picker-ui"),this._iris=e(".iris-picker"),this._wrapper=e("body"),e("html").hasClass("fl-color-picker-init")||this._ui.prepend(this._hexHtml).append(this._presetsHtml),t.element=this._ui.find(".fl-color-picker-input"),t._initControls(),t.active="external",t._change(),t._addInputListeners(t.element),this._buildUI(),this._prepareColorFields(),this._pickerControls(),this._presetsControls(),e("html").addClass("fl-color-picker-init")},_prepareColorFields:function(){e(".fl-color-picker-value").each(function(){var t=e(this),i=t.parent().find(".fl-color-picker-color");t.val()&&i.css({backgroundColor:"#"+t.val().toString()})})},_setTemplates:function(){this._presetsHtml='<div class="fl-color-picker-presets"><div class="fl-color-picker-presets-toggle"><div class="fl-color-picker-presets-open-label fl-color-picker-active">'+this.options.labels.colorPresets+' <span class="fl-color-picker-icon-arrow-up"></span></div><div class="fl-color-picker-presets-close-label">'+this.options.labels.colorPicker+' <span class="fl-color-picker-icon-arrow-down"></span></div></div><ul class="fl-color-picker-presets-list"></ul></div>',this._hexHtml='<input type="text" class="fl-color-picker-input" maxlength="7" placeholder="'+this.options.labels.placeholder+'"><div class="fl-color-picker-preset-add"></div>',this._presetsTpl='<li class="fl-color-picker-preset"><span class="fl-color-picker-preset-color"></span> <span class="fl-color-picker-preset-label"></span> <span class="fl-color-picker-preset-remove fl-color-picker-icon-remove"></span></li>',this._noPresetsTpl='<li class="fl-color-picker-no-preset"><span class="fl-color-picker-preset-label">'+this.options.labels.noPresets+"</span></li>"},_has:function(t,i){var l=!1;return e.each(i,function(e,i){if(t===i)return l=!0,!1}),l},_buildUI:function(){var t=this;t._presetsList=this._ui.find(".fl-color-picker-presets-list"),t._presetsList.html(""),this.options.presets.length>0?e.each(this.options.presets,function(e,i){t._addPresetView(i)}):t._presetsList.append(this._noPresetsTpl)},_addPresetView:function(t){var i=this._presetsList.find(".fl-color-picker-no-preset");i.length>0&&i.remove();var l=e(this._presetsTpl),o=Color(t);l.attr("data-color",t).find(".fl-color-picker-preset-color").css({backgroundColor:o.toString()}).end().find(".fl-color-picker-preset-label").html(o.toString()),this._presetsList.append(l)},_addPresetFeedback:function(){this._ui.append('<div class="fl-color-picker-added"><div class="fl-color-picker-added-text"><div class="fl-color-picker-icon-check"></div> "'+this.options.labels.presetAdded.replace("%s",this._color.toString())+'"</div></div>'),this._ui.find(".fl-color-picker-added").hide().fadeIn(200).delay(2e3).fadeOut(200,function(){e(this).remove()})},_pickerControls:function(){var t=this;this._wrapper.on("click",".fl-color-picker-color",function(){var i=e(this);t._currentElement=i.parent().find(".fl-color-picker-value"),t._ui.position({my:"left top",at:"left bottom",of:i,collision:"flipfit",using:function(e,i){t._togglePicker(e)}})}).on("click",".fl-color-picker-clear",function(){var i=e(this);t._currentElement=i.parent().find(".fl-color-picker-value"),i.prev(".fl-color-picker-color").css({backgroundColor:"transparent"}).addClass("fl-color-picker-empty"),t._setColor(""),t.element.val(""),t._currentElement.val("").trigger("change")}),e(document).on("click",function(t){0===e(t.target).closest(".fl-color-picker-ui").length&&e(".fl-color-picker-ui.fl-color-picker-active").removeClass("fl-color-picker-active")})},_presetsControls:function(){var t=this,i=t._ui.find(".fl-color-picker-preset-add"),l=t._ui.find(".fl-color-picker-presets"),o=l.find(".fl-color-picker-presets-open-label"),s=l.find(".fl-color-picker-presets-close-label"),r=l.find(".fl-color-picker-presets-list");i.off("click").on("click",function(){t._addPreset(t.element.val())}),r.css({height:t.element.innerHeight()+t._iris.innerHeight()+14+"px"}).hide(),l.off("click").on("click",".fl-color-picker-presets-toggle",function(){o.toggleClass("fl-color-picker-active"),s.toggleClass("fl-color-picker-active"),r.slideToggle(500)}).on("click",".fl-color-picker-preset",function(i){var l=new Color(e(this).data("color").toString());t._setColor(l),t._currentElement.parent().find(".fl-color-picker-color").css({backgroundColor:l.toString()}).removeClass("fl-color-picker-empty"),o.toggleClass("fl-color-picker-active"),s.toggleClass("fl-color-picker-active"),r.slideToggle(500)}).on("click",".fl-color-picker-preset-remove",function(i){i.stopPropagation(),t._removePreset(e(this).parent().data("color"))})},_removePreset:function(t){if(confirm(this.options.labels.removePresetConfirm)){var i=t.toString(),l=a.indexOf(i);l>-1&&(a.splice(l,1),this.options.presets=a,this._presetsList.find('.fl-color-picker-preset[data-color="'+i+'"]').slideUp(function(){e(this).remove()})),a.length<1&&this._presetsList.append(this._noPresetsTpl),e(this).trigger("presetRemoved",{presets:a})}},_addPreset:function(t){var i=t.toString().replace(/^#/,"");""===i?alert(this.options.labels.noneColorSelected):a.indexOf(i)>-1?alert(this.options.labels.alreadySaved.replace("%s","#"+i)):(this._addPresetView(i),this._addPresetFeedback(),a.push(i),this.options.presets=a,e(this).trigger("presetAdded",{presets:a}))},_togglePicker:function(e){var t=this;this._ui.hasClass("fl-color-picker-active")?(this._ui.removeClass("fl-color-picker-active"),e&&setTimeout(function(){t._ui.css(e),t._ui.addClass("fl-color-picker-active"),t._setColor(t._currentElement.val())},200)):(e&&t._ui.css(e),setTimeout(function(){t._ui.addClass("fl-color-picker-active"),t._setColor(t._currentElement.val())},200))},_paint:function(){var e=this;e._paintDimension("right","strip"),e._paintDimension("top","vert"),e._paintDimension("left","horiz")},_paintDimension:function(e,t){var i,l=this,o=l._color,s=l.options.mode,r=l._getHSpaceColor(),n=l.controls[t],a=l.options.controls;if(t!==l.active&&("square"!==l.active||"strip"===t))switch(a[t]){case"h":if("hsv"===s){switch(r=o.clone(),t){case"horiz":r[a.vert](100);break;case"vert":r[a.horiz](100);break;case"strip":r.setHSpace("hsl")}i=r.toHsl()}else i="strip"===t?{s:r.s,l:r.l}:{s:100,l:r.l};n.flBuilderColorPickerRaninbowGradient(e,i);break;case"s":"hsv"===s?"vert"===t?i=[o.clone().a(0).s(0).toCSS("rgba"),o.clone().a(1).s(0).toCSS("rgba")]:"strip"===t?i=[o.clone().s(100).toCSS("hsl"),o.clone().s(0).toCSS("hsl")]:"horiz"===t&&(i=["#fff","hsl("+r.h+",100%,50%)"]):i="vert"===t&&"h"===l.options.controls.horiz?["hsla(0, 0%, "+r.l+"%, 0)","hsla(0, 0%, "+r.l+"%, 1)"]:["hsl("+r.h+",0%,50%)","hsl("+r.h+",100%,50%)"],n.flBuilderColorPickerGradient(e,i);break;case"l":i="strip"===t?["hsl("+r.h+",100%,100%)","hsl("+r.h+", "+r.s+"%,50%)","hsl("+r.h+",100%,0%)"]:["#fff","rgba(255,255,255,0) 50%","rgba(0,0,0,0) 50%","rgba(0,0,0,1)"],n.flBuilderColorPickerGradient(e,i);break;case"v":i="strip"===t?[o.clone().v(100).toCSS(),o.clone().v(0).toCSS()]:["rgba(0,0,0,0)","#000"],n.flBuilderColorPickerGradient(e,i)}},_getHSpaceColor:function(){return"hsv"===this.options.mode?this._color.toHsv():this._color.toHsl()},_addInputListeners:function(e){var t=this,i=100,l=function(i){var l=new Color(e.val()),o=e.val().replace(/^#/,"");if(e.removeClass("iris-error"),l.error)""!==o&&e.addClass("iris-error");else if(l.toString()!==t._color.toString())if("keyup"===i.type){if(o.match(/^[0-9a-fA-F]{3}$/))return;t._setColor(o),t._currentElement.parent().find(".fl-color-picker-color").css({backgroundColor:Color(o).toString()}).removeClass("fl-color-picker-empty"),t._currentElement.val(o).trigger("change")}else if("paste"===i.type)return o=i.originalEvent.clipboardData.getData("text").replace(/^#/,""),hex=Color(o).toString(),t._setColor(o),e.val(hex),t._currentElement.parent().find(".fl-color-picker-color").css({backgroundColor:hex}).removeClass("fl-color-picker-empty"),t._currentElement.val(o).trigger("change"),!1};e.on("change",l).on("keyup",t._debounce(l,i))},_initControls:function(){var t=this,i=t.controls,l=i.square,o=t.options.controls,s=t._scale[o.strip];i.stripSlider.slider({orientation:"horizontal",max:s,slide:function(e,i){t.active="strip","h"===o.strip&&(i.value=s-i.value),t._color[o.strip](i.value),t._change.apply(t,arguments)}}),i.squareDrag.draggable({containment:i.square.find(".iris-square-inner"),zIndex:1e3,cursor:"move",drag:function(e,i){t._squareDrag(e,i)},start:function(){l.addClass("iris-dragging"),e(this).addClass("ui-state-focus")},stop:function(){l.removeClass("iris-dragging"),e(this).removeClass("ui-state-focus")}}).on("mousedown mouseup",function(i){var l="ui-state-focus";i.preventDefault(),"mousedown"===i.type?(t.picker.find("."+l).removeClass(l).blur(),e(this).addClass(l).focus()):e(this).removeClass(l)}).on("keydown",function(e){var l=i.square,o=i.squareDrag,s=o.position(),r=2;switch(e.altKey&&(r*=10),e.keyCode){case 37:s.left-=r;break;case 38:s.top-=r;break;case 39:s.left+=r;break;case 40:s.top+=r;break;default:return!0}s.left=Math.max(0,Math.min(s.left,l.width())),s.top=Math.max(0,Math.min(s.top,l.height())),o.css(s),t._squareDrag(e,{position:s}),e.preventDefault()}),l.mousedown(function(i){var l,o;1===i.which&&e(i.target).is("div")&&(l=t.controls.square.offset(),o={top:i.pageY-l.top,left:i.pageX-l.left},i.preventDefault(),t._squareDrag(i,{position:o}),i.target=t.controls.squareDrag.get(0),t.controls.squareDrag.css(o).trigger(i))})},_squareDrag:function(e,t){var i=this,l=i.options.controls,o=i._squareDimensions(),s=Math.round((o.h-t.position.top)/o.h*i._scale[l.vert]),r=i._scale[l.horiz]-Math.round((o.w-t.position.left)/o.w*i._scale[l.horiz]);i._color[l.horiz](r)[l.vert](s),i.active="square",i._change.apply(i,arguments)},_setColor:function(e){var t,i,l=this,o=l.options.color;l.options.color=e,e=""+e,t=e.replace(/^#/,""),i=new Color(e).setHSpace(l.options.mode),i.error?l.options.color=o:(l._color=i,l.options.color=l._color.toString(),l.active="external",l._change())},_squareDimensions:function(e){var i,l,o=this.controls.square;return e!==t&&o.data("dimensions")?o.data("dimensions"):(l=this.controls.squareDrag,i={w:o.width(),h:o.height()},o.data("dimensions",i),i)},_isNonHueControl:function(e,t){return"square"===e&&"h"===this.options.controls.strip||"external"!==t&&("h"!==t||"strip"!==e)},_change:function(){var t=this,i=t.controls,l=t._getHSpaceColor(),o=["square","strip"],s=t.options.controls,r=s[t.active]||"external",n=t.hue;"strip"===t.active?o=[]:"external"!==t.active&&o.pop(),e.each(o,function(e,o){var r,n,a;if(o!==t.active)switch(o){case"strip":r="h"===s.strip?t._scale[s.strip]-l[s.strip]:l[s.strip],i.stripSlider.slider("value",r);break;case"square":n=t._squareDimensions(),a={left:l[s.horiz]/t._scale[s.horiz]*n.w,top:n.h-l[s.vert]/t._scale[s.vert]*n.h},t.controls.squareDrag.css(a)}}),l.h!==n&&t._isNonHueControl(t.active,r)&&t._color.h(n),t.hue=t._color.h(),t.options.color=t._color.toString(),t.element.is(":input")&&!t._color.error&&(t.element.removeClass("iris-error"),t.element.val()!==t._color.toString()&&(t.element.val(t._color.toString()),this._currentElement&&(this._currentElement.val(t._color.toString().replace(/^#/,"")).parent().find(".fl-color-picker-color").css({backgroundColor:t._color.toString()}).removeClass("fl-color-picker-empty"),this._currentElement.trigger("change")))),t._paint(),t._inited=!0,t.active=!1},_debounce:function(e,t,i){var l,o;return function(){var s,r,n=this,a=arguments;return s=function(){l=null,i||(o=e.apply(n,a))},r=i&&!l,clearTimeout(l),l=setTimeout(s,t),r&&(o=e.apply(n,a)),o}}}}(jQuery),function(e,t){var i=function(e,t){return this instanceof i?this._init(e,t):new i(e,t)};i.fn=i.prototype={_color:0,_alpha:1,error:!1,_hsl:{h:0,s:0,l:0},_hsv:{h:0,s:0,v:0},_hSpace:"hsl",_init:function(e){var i="noop";switch(typeof e){case"object":return e.a!==t&&this.a(e.a),i=e.r!==t?"fromRgb":e.l!==t?"fromHsl":e.v!==t?"fromHsv":i,this[i](e);case"string":return this.fromCSS(e);case"number":return this.fromInt(parseInt(e,10))}return this},_error:function(){return this.error=!0,this},clone:function(){for(var e=new i(this.toInt()),t=["_alpha","_hSpace","_hsl","_hsv","error"],l=t.length-1;l>=0;l--)e[t[l]]=this[t[l]];return e},setHSpace:function(e){return this._hSpace="hsv"===e?e:"hsl",this},noop:function(){return this},fromCSS:function(e){var t,i=/^(rgb|hs(l|v))a?\(/;if(this.error=!1,e=e.replace(/^\s+/,"").replace(/\s+$/,"").replace(/;$/,""),e.match(i)&&e.match(/\)$/)){if(t=e.replace(/(\s|%)/g,"").replace(i,"").replace(/,?\);?$/,"").split(","),t.length<3)return this._error();if(4===t.length&&(this.a(parseFloat(t.pop())),this.error))return this;for(var l=t.length-1;l>=0;l--)if(t[l]=parseInt(t[l],10),isNaN(t[l]))return this._error();return e.match(/^rgb/)?this.fromRgb({r:t[0],g:t[1],b:t[2]}):e.match(/^hsv/)?this.fromHsv({h:t[0],s:t[1],v:t[2]}):this.fromHsl({h:t[0],s:t[1],l:t[2]})}return this.fromHex(e)},fromRgb:function(e,i){return"object"!=typeof e||e.r===t||e.g===t||e.b===t?this._error():(this.error=!1,this.fromInt(parseInt((e.r<<16)+(e.g<<8)+e.b,10),i))},fromHex:function(e){return e=e.replace(/^#/,"").replace(/^0x/,""),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),this.error=!/^[0-9A-F]{6}$/i.test(e),this.fromInt(parseInt(e,16))},fromHsl:function(e){var i,l,o,s,r,n,a,d;return"object"!=typeof e||e.h===t||e.s===t||e.l===t?this._error():(this._hsl=e,this._hSpace="hsl",n=e.h/360,a=e.s/100,d=e.l/100,0===a?i=l=o=d:(s=d<.5?d*(1+a):d+a-d*a,r=2*d-s,i=this.hue2rgb(r,s,n+1/3),l=this.hue2rgb(r,s,n),o=this.hue2rgb(r,s,n-1/3)),this.fromRgb({r:255*i,g:255*l,b:255*o},!0))},fromHsv:function(e){var i,l,o,s,r,n,a,d,u,c,h;if("object"!=typeof e||e.h===t||e.s===t||e.v===t)return this._error();switch(this._hsv=e,this._hSpace="hsv",i=e.h/360,l=e.s/100,o=e.v/100,a=Math.floor(6*i),d=6*i-a,u=o*(1-l),c=o*(1-d*l),h=o*(1-(1-d)*l),a%6){case 0:s=o,r=h,n=u;break;case 1:s=c,r=o,n=u;break;case 2:s=u,r=o,n=h;break;case 3:s=u,r=c,n=o;break;case 4:s=h,r=u,n=o;break;case 5:s=o,r=u,n=c}return this.fromRgb({r:255*s,g:255*r,b:255*n},!0)},fromInt:function(e,i){return this._color=parseInt(e,10),isNaN(this._color)&&(this._color=0),this._color>16777215?this._color=16777215:this._color<0&&(this._color=0),i===t&&(this._hsv.h=this._hsv.s=this._hsl.h=this._hsl.s=0),this},hue2rgb:function(e,t,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e},toString:function(){var e=parseInt(this._color,10).toString(16);if(this.error)return"";if(e.length<6)for(var t=6-e.length-1;t>=0;t--)e="0"+e;return"#"+e},toCSS:function(e,t){switch(e=e||"hex",t=parseFloat(t||this._alpha),e){case"rgb":case"rgba":var i=this.toRgb();return t<1?"rgba( "+i.r+", "+i.g+", "+i.b+", "+t+" )":"rgb( "+i.r+", "+i.g+", "+i.b+" )";case"hsl":case"hsla":var l=this.toHsl();return t<1?"hsla( "+l.h+", "+l.s+"%, "+l.l+"%, "+t+" )":"hsl( "+l.h+", "+l.s+"%, "+l.l+"% )";default:return this.toString()}},toRgb:function(){return{r:255&this._color>>16,g:255&this._color>>8,b:255&this._color}},toHsl:function(){var e,t,i=this.toRgb(),l=i.r/255,o=i.g/255,s=i.b/255,r=Math.max(l,o,s),n=Math.min(l,o,s),a=(r+n)/2;if(r===n)e=t=0;else{var d=r-n;switch(t=a>.5?d/(2-r-n):d/(r+n),r){case l:e=(o-s)/d+(o<s?6:0);break;case o:e=(s-l)/d+2;break;case s:e=(l-o)/d+4}e/=6}return e=Math.round(360*e),0===e&&this._hsl.h!==e&&(e=this._hsl.h),t=Math.round(100*t),0===t&&this._hsl.s&&(t=this._hsl.s),{h:e,s:t,l:Math.round(100*a)}},toHsv:function(){var e,t,i=this.toRgb(),l=i.r/255,o=i.g/255,s=i.b/255,r=Math.max(l,o,s),n=Math.min(l,o,s),a=r,d=r-n;if(t=0===r?0:d/r,r===n)e=t=0;else{switch(r){case l:e=(o-s)/d+(o<s?6:0);break;case o:e=(s-l)/d+2;break;case s:e=(l-o)/d+4}e/=6}return e=Math.round(360*e),0===e&&this._hsv.h!==e&&(e=this._hsv.h),t=Math.round(100*t),0===t&&this._hsv.s&&(t=this._hsv.s),{h:e,s:t,v:Math.round(100*a)}},toInt:function(){return this._color},toIEOctoHex:function(){var e=this.toString(),t=parseInt(255*this._alpha,10).toString(16);return 1===t.length&&(t="0"+t),"#"+t+e.replace(/^#/,"")},toLuminosity:function(){var e=this.toRgb();return.2126*Math.pow(e.r/255,2.2)+.7152*Math.pow(e.g/255,2.2)+.0722*Math.pow(e.b/255,2.2)},getDistanceLuminosityFrom:function(e){if(!(e instanceof i))throw"getDistanceLuminosityFrom requires a Color object";var t=this.toLuminosity(),l=e.toLuminosity();return t>l?(t+.05)/(l+.05):(l+.05)/(t+.05)},getMaxContrastColor:function(){var e=this.toLuminosity(),t=e>=.5?"000000":"ffffff";return new i(t)},getReadableContrastingColor:function(e,l){if(!(e instanceof i))return this;var o=l===t?5:l,s=e.getDistanceLuminosityFrom(this),r=e.getMaxContrastColor(),n=r.getDistanceLuminosityFrom(e);if(n<=o)return r;if(s>=o)return this;for(var a=0===r.toInt()?-1:1;s<o&&(this.l(a,!0),s=this.getDistanceLuminosityFrom(e),0!==this._color&&16777215!==this._color););return this},a:function(e){if(e===t)return this._alpha;var i=parseFloat(e);return isNaN(i)?this._error():(this._alpha=i,this)},darken:function(e){return e=e||5,this.l(-e,!0)},lighten:function(e){return e=e||5,this.l(e,!0)},saturate:function(e){return e=e||15,this.s(e,!0)},desaturate:function(e){return e=e||15,this.s(-e,!0)},toGrayscale:function(){return this.setHSpace("hsl").s(0)},getComplement:function(){return this.h(180,!0)},getSplitComplement:function(e){e=e||1;var t=180+30*e;return this.h(t,!0)},getAnalog:function(e){e=e||1;var t=30*e;return this.h(t,!0)},getTetrad:function(e){e=e||1;var t=60*e;return this.h(t,!0)},getTriad:function(e){e=e||1;var t=120*e;return this.h(t,!0)},_partial:function(e){var i=l[e];return function(l,o){var s=this._spaceFunc("to",i.space);return l===t?s[e]:(o===!0&&(l=s[e]+l),i.mod&&(l%=i.mod),i.range&&(l=l<i.range[0]?i.range[0]:l>i.range[1]?i.range[1]:l),s[e]=l,this._spaceFunc("from",i.space,s))}},_spaceFunc:function(e,t,i){var l=t||this._hSpace,o=e+l.charAt(0).toUpperCase()+l.substr(1);return this[o](i)}};var l={h:{mod:360},s:{range:[0,100]},l:{space:"hsl",range:[0,100]},v:{space:"hsv",range:[0,100]},r:{space:"rgb",range:[0,255]},g:{space:"rgb",range:[0,255]},b:{space:"rgb",range:[0,255]}};for(var o in l)l.hasOwnProperty(o)&&(i.fn[o]=i.fn._partial(o));"object"==typeof exports?module.exports=i:e.Color=i}(this),function(e){FLIconSelector={_content:null,_lightbox:null,_rendered:!1,_filterText:"",open:function(e){FLIconSelector._rendered||FLIconSelector._render(),null===FLIconSelector._content?(FLIconSelector._lightbox.open('<div class="fl-builder-lightbox-loading"></div>'),FLBuilder.ajax({action:"render_icon_selector"},FLIconSelector._getContentComplete)):FLIconSelector._lightbox.open(),FLIconSelector._lightbox.on("icon-selected",function(t,i){FLIconSelector._lightbox.off("icon-selected"),FLIconSelector._lightbox.close(),e(i)})},_render:function(){FLIconSelector._lightbox=new FLLightbox({className:"fl-icon-selector"}),FLIconSelector._rendered=!0},_getContentComplete:function(t){var i=JSON.parse(t);FLIconSelector._content=i.html,FLIconSelector._lightbox.setContent(i.html),e(".fl-icons-filter-select").on("change",FLIconSelector._filter),e(".fl-icons-filter-text").on("keyup",FLIconSelector._filter),e(".fl-icons-list i").on("click",FLIconSelector._select),e(".fl-icon-selector-cancel").on("click",e.proxy(FLIconSelector._lightbox.close,FLIconSelector._lightbox))},_filter:function(){var t=e(".fl-icons-filter-select").val(),i=e(".fl-icons-filter-text").val();"all"==t?e(".fl-icons-section").show():(e(".fl-icons-section").hide(),e(".fl-"+t).show()),FLIconSelector._filterText=i,""!==i?e(".fl-icons-list i").each(FLIconSelector._filterIcon):e(".fl-icons-list i").show()},_filterIcon:function(){var t=e(this);-1==t.attr("class").indexOf(FLIconSelector._filterText)?t.hide():t.show()},_select:function(){var t=e(this).attr("class");FLIconSelector._lightbox.trigger("icon-selected",t)}}}(jQuery),function(e){FLLightbox=function(e){this._init(e),this._render(),this._bind()},FLLightbox.closeParent=function(t){var i=e(t).closest(".fl-lightbox-wrap").attr("data-instance-id");FLLightbox._instances[i].close()},FLLightbox._instances={},FLLightbox.prototype={_id:null,_node:null,_visible:!1,_resizeTimer:null,_draggable:!1,_defaults:{className:"",destroyOnClose:!1},open:function(e){this._node.show(),this._visible=!0,"undefined"!=typeof e?this.setContent(e):this._resize(),this.trigger("open")},close:function(){"undefined"!=typeof tinymce&&"undefined"!=typeof tinymce.EditorManager.activeEditor&&null!=tinymce.EditorManager.activeEditor&&tinymce.EditorManager.activeEditor.hide(),this._node.hide(),this._visible=!1,this.trigger("close"),this._defaults.destroyOnClose&&this.destroy()},setContent:function(e){this._node.find(".fl-lightbox-content").html(e),this._resize()},empty:function(){this._node.find(".fl-lightbox-content").empty(),this._node.find(".fl-lightbox").removeClass("fl-lightbox-expanded")},on:function(e,t){this._node.on(e,t)},off:function(e){this._node.off(e)},trigger:function(e,t){this._node.trigger(e,t)},draggable:function(e){var t=this._node.find(".fl-lightbox-mask"),i=this._node.find(".fl-lightbox");e="undefined"!=typeof e&&e,this._draggable&&i.draggable("destroy"),e?(this._unbind(),this._draggable=!0,t.hide(),i.draggable({cursor:"move",handle:e.handle||""})):(t.show(),this._bind(),this._draggable=!1),this._resize()},destroy:function(){e(window).off("resize.fl-lightbox-"+this._id),this._node.empty(),this._node.remove(),FLLightbox._instances[this._id]="undefined";try{delete FLLightbox._instances[this._id]}catch(t){}},renderResize:function(t){if("undefined"!=typeof t){var i=this._getActiveNode();if(lightbox=i.find(".fl-lightbox"),boxFields=lightbox.find(".fl-builder-settings-fields"),win=e(window),winHeight=win.height(),winWidth=win.width(),boxHeaderHeight=lightbox.find(".fl-lightbox-header").height(),boxTabsHeight=lightbox.find(".fl-builder-settings-tabs").height(),boxFooterHeight=lightbox.find(".fl-lightbox-footer").height(),boxFieldHeight=winHeight-(boxHeaderHeight+boxTabsHeight+boxFooterHeight+103),editor="undefined"!=typeof tinymce&&tinymce.EditorManager.activeEditor?tinymce:null,editorId=editor?editor.EditorManager.activeEditor.id:"flhiddeneditor",editorIframeEl=lightbox.find("#"+editorId+"_ifr"),editorTextarea=lightbox.find("#"+editorId),codeField=lightbox.find(".fl-code-field .ace_editor"),"expand"==t||"window_resize"==t){if("window_resize"==t&&!lightbox.hasClass("fl-lightbox-expanded"))return!1;boxFields.css("height",boxFieldHeight+"px"),"expand"==t&&(lightbox.addClass("fl-lightbox-expanded"),lightbox.draggable("disable")),editorIframeEl.length>0&&editorIframeEl.css("height",boxFieldHeight-145+"px"),editorTextarea.length>0&&editorTextarea.css("height",boxFieldHeight-145+"px"),codeField.length>0&&codeField.css("height",boxFieldHeight-30+"px")}else setTimeout(e.proxy(this._resize,this),250),lightbox.removeClass("fl-lightbox-expanded"),boxFields.removeAttr("style"),null!==editorId&&(editorIframeEl.css("height","232px"),editorTextarea.css("height","232px")),codeField.length>0&&codeField.css("height","380px"),lightbox.draggable("enable")}},_init:function(t){var i=0,l=null;for(l in FLLightbox._instances)i++;this._defaults=e.extend({},this._defaults,t),this._id=(new Date).getTime()+i,FLLightbox._instances[this._id]=this},_render:function(){this._node=e('<div class="fl-lightbox-wrap" data-instance-id="'+this._id+'"><div class="fl-lightbox-mask"></div><div class="fl-lightbox"><div class="fl-lightbox-content-wrap"><div class="fl-lightbox-content"></div></div></div></div>'),this._node.addClass(this._defaults.className),e("body").append(this._node)},_bind:function(){e(window).on("resize.fl-lightbox-"+this._id,e.proxy(this._delayedResize,this))},_unbind:function(){e(window).off("resize.fl-lightbox-"+this._id)},_delayedResize:function(){clearTimeout(this._resizeTimer),this._resizeTimer=setTimeout(e.proxy(this._resize,this),250),this.renderResize("window_resize")},_resize:function(){if(this._visible){var t=this._node.find(".fl-lightbox"),i=t.height(),l=t.width(),o=e(window),s=o.height(),r=o.width(),n="0px",a=(r-l)/2-30+"px";t.css({margin:"0px",top:"auto",left:"auto"}),s-80>i&&(n=(s-i)/2-40+"px"),this._draggable?(t.css("top",n),t.css("left",FLBuilderConfig.isRtl?"-"+a:a)):(t.css("margin-top",n),t.css("margin-left","auto"),t.css("margin-right","auto"))}},_onKeypress:function(e){27==e.which&&this._visible&&this.close()},_getActiveNode:function(){var t=this._node;return e.each(FLLightbox._instances,function(i,l){e(l._node).is(":visible")&&(t=e(l._node))}),t}}}(jQuery),function(e){FLStyleSheet=function(){},FLStyleSheet.prototype={_sheet:null,_sheetElement:null,updateRule:function(e,t,i){this._createSheet();for(var l=this._sheet.cssRules?this._sheet.cssRules:this._sheet.rules,o=null,s=0;s<l.length;s++)l[s].selectorText.toLowerCase()==e.toLowerCase()&&(o=l[s]);if(o)if("object"==typeof t)for(s in t)o.style[this._toCamelCase(s)]=t[s];else o.style[this._toCamelCase(t)]=i;else this.addRule(e,t,i)},addRule:function(e,t,i){this._createSheet();var l="",o="";if("object"==typeof t)for(o in t)l+=o+":"+t[o]+";";else l=t+":"+i+";";this._sheet.insertRule?this._sheet.insertRule(e+" { "+l+" }",this._sheet.cssRules.length):this._sheet.addRule(e,l)},remove:function(){this._sheetElement&&(this._sheetElement.remove(),this._sheetElement=null),this._sheet&&(this._sheet=null)},_createSheet:function(){this._sheet||(this._sheetElement=e('<style type="text/css"></style>'),e("body").append(this._sheetElement),this._sheet=this._sheetElement[0].sheet)},_toCamelCase:function(e){return e.toLowerCase().replace(/-(.)/g,function(e,t){return t.toUpperCase()})}}}(jQuery);
|
|
1 |
+
!function(e){FLBuilderAJAXLayout=function(t,l){this._data=e.extend({},this._defaults,"string"==typeof t?JSON.parse(t):t),this._callback=l,this._post=e("#fl-post-id").val(),this._head=e("head").eq(0),this._body=e("body").eq(0),this._data.css&&(this._loader=e('<img src="'+this._data.css+'" />'),this._oldCss=e('link[href*="/cache/'+this._post+'"]'),this._newCss=e('<link rel="stylesheet" id="fl-builder-layout-'+this._post+'-css" href="'+this._data.css+'" />')),this._data.partial?(this._data.js&&(this._oldJs=e("#fl-builder-partial-refresh-js"),this._newJs=e('<script type="text/javascript" id="fl-builder-partial-refresh-js">'+this._data.js+"</script>")),this._data.nodeId&&(this._data.oldNodeId?(this._oldScriptsStyles=e('.fl-builder-node-scripts-styles[data-node="'+this._data.oldNodeId+'"]'),this._content=e(".fl-node-"+this._data.oldNodeId)):(this._oldScriptsStyles=e('.fl-builder-node-scripts-styles[data-node="'+this._data.nodeId+'"]'),this._content=e(".fl-node-"+this._data.nodeId)))):(this._oldJs=e('script[src*="/cache/'+this._post+'"]'),this._newJs=e('<script src="'+this._data.js+'"></script>'),this._oldScriptsStyles=e(".fl-builder-layout-scripts-styles"),this._content=e(FLBuilder._contentClass)),this._init()},FLBuilderAJAXLayout.prototype={_defaults:{partial:!1,nodeId:null,nodeType:null,nodeParent:null,nodePosition:null,oldNodeId:null,html:null,scriptsStyles:null,css:null,js:null},_data:null,_callback:function(){},_post:null,_head:null,_body:null,_loader:null,_oldCss:null,_newCss:null,_oldJs:null,_newJs:null,_oldScriptsStyles:null,_content:null,_init:function(){this._body.height(this._body.height()),this._loader?(this._loader.on("error",e.proxy(this._loadNewCSSComplete,this)),this._body.append(this._loader)):this._finish()},_loadNewCSSComplete:function(){this._loader.remove(),this._oldCss.length>0?this._oldCss.after(this._newCss):this._head.append(this._newCss),setTimeout(e.proxy(this._finish,this),250)},_finish:function(){this._removeOldContentAndAssets(),this._cleanNewHTML(),this._cleanNewAssets(),this._addNewHTML(),this._addNewScriptsStyles(),this._addNewJS(),e(FLBuilder._contentClass).trigger("fl-builder.layout-rendered"),FLBuilder.hideAjaxLoader(),"undefined"!=typeof this._callback&&this._callback()},_removeOldContentAndAssets:function(){this._content&&this._content.empty(),this._oldCss&&this._oldCss.remove(),this._oldJs&&this._oldJs.remove(),this._oldScriptsStyles&&this._oldScriptsStyles.remove()},_cleanNewHTML:function(){if(this._data.scriptsStyles){var t=e("<div>"+this._data.html+"</div>"),l="fl-row",i=this._data.scriptsStyles,o="";this._data.partial&&(l="column-group"==this._data.nodeType?"fl-col-group":"column"==this._data.nodeType?"fl-col":"fl-"+this._data.nodeType),t.find("> *, script").each(function(){e(this).hasClass(l)||(o=e(this).remove(),i+=o[0].outerHTML)}),""!==i&&(i=this._data.partial?'<div class="fl-builder-node-scripts-styles" data-node="'+this._data.nodeId+'">'+i+"<div>":'<div class="fl-builder-node-scripts-styles">'+i+"<div>"),this._data.html=t.html(),this._data.scriptsStyles=i}},_addNewHTML:function(){var e;this._data.partial?this._data.nodeParent?(e=this._data.nodeParent.hasClass("fl-builder-content")?this._data.nodeParent.find(".fl-row"):this._data.nodeParent.hasClass("fl-row-content")?this._data.nodeParent.find(" > .fl-col-group"):this._data.nodeParent.find(" > .fl-col-group, > .fl-module"),0===e.length||e.length==this._data.nodePosition?this._data.nodeParent.append(this._data.html):e.eq(this._data.nodePosition).before(this._data.html)):(this._content.after(this._data.html),this._content.remove()):this._content.append(this._data.html)},_cleanNewAssets:function(){var t=this;this._data.html=this._removeDuplicateAssets(this._data.html),this._data.scriptsStyles&&""!==this._data.scriptsStyles&&(this._data.scriptsStyles=this._removeDuplicateAssets(this._data.scriptsStyles)),this._data.partial?e(".fl-builder-node-scripts-styles").each(function(){t._data.html.indexOf("fl-node-"+e(this).data("node"))>-1&&e(this).remove()}):(e("#fl-builder-partial-refresh-js").remove(),e(".fl-builder-node-scripts-styles").remove())},_removeDuplicateAssets:function(t){var l=e("<div>"+t+"</div>"),i="",o=null,s="",r=null,n=window.location,a=n.protocol+"//"+n.hostname+(n.port?":"+n.port:"");return l.find("script").each(function(){i=e(this).attr("src"),"undefined"!=typeof i&&(i=i.replace(a,""),o=e('script[src*="'+i+'"]'),o.length>0&&e(this).remove())}),l.find("link").each(function(){s=e(this).attr("href"),"undefined"!=typeof s&&(s=s.replace(a,""),r=e('link[href*="'+s+'"]'),r.length>0&&e(this).remove())}),l.html()},_addNewScriptsStyles:function(){this._data.scriptsStyles&&""!==this._data.scriptsStyles&&this._body.append(this._data.scriptsStyles)},_addNewJS:function(){setTimeout(e.proxy(function(){this._newJs&&this._head.append(this._newJs)},this),50)},_complete:function(){FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols(),FLBuilder._initDropTargets(),FLBuilder._initSortables(),FLBuilder._resizeLayout(),FLBuilder._initMediaElements(),FLBuilderLayout.init(),FLBuilderResponsiveEditing.refreshPreview(),this._body.height("auto")}}}(jQuery),!function(e){"use strict";if(e.matchMedia&&e.matchMedia("all").addListener)return!1;var t=e.matchMedia,l=t("only all").matches,i=!1,o=0,s=[],r=function(l){e.clearTimeout(o),o=e.setTimeout(function(){for(var l=0,i=s.length;l<i;l++){var o=s[l].mql,r=s[l].listeners||[],n=t(o.media).matches;if(n!==o.matches){o.matches=n;for(var a=0,d=r.length;a<d;a++)r[a].call(e,o)}}},30)};e.matchMedia=function(o){var n=t(o),a=[],d=0;return n.addListener=function(t){l&&(i||(i=!0,e.addEventListener("resize",r,!0)),0===d&&(d=s.push({mql:n,listeners:a})),a.push(t))},n.removeListener=function(e){for(var t=0,l=a.length;t<l;t++)a[t]===e&&a.splice(t,1)},n}}(this),!function(e){"use strict";e.matchMedia=e.matchMedia||function(e,t){var l,i=e.documentElement,o=i.firstElementChild||i.firstChild,s=e.createElement("body"),r=e.createElement("div");return r.id="mq-test-1",r.style.cssText="position:absolute;top:-100em",s.style.background="none",s.appendChild(r),function(e){return r.innerHTML='­<style media="'+e+'"> #mq-test-1 { width: 42px; }</style>',i.insertBefore(s,o),l=42===r.offsetWidth,i.removeChild(s),{matches:l,media:e}}}(e.document)}(this),function(e){FLBuilderForcedMediaQueries={_requestQueue:[],_xmlHttp:function(){var e=!1;try{e=new window.XMLHttpRequest}catch(t){e=new window.ActiveXObject("Microsoft.XMLHTTP")}return function(){return e}}(),_regex:{media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^\/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},_mediaStyles:[],_rules:[],_appendedEls:[],_parsedSheets:{},_emInPx:null,_width:null,_callback:null,update:function(e,t){var l=FLBuilderForcedMediaQueries,i=window.document,o=i.documentElement,s=i.getElementsByTagName("head")[0]||o,r=i.getElementsByTagName("base")[0],n=s.getElementsByTagName("link");l._mediaStyles=[],l._rules=[],"undefined"!=typeof e&&(l._width=e),"undefined"!=typeof t&&(l._callback=t);for(var a in l._parsedSheets)a.indexOf("-layout-draft.css?")>-1?l._parsedSheets[a].parsed=!1:a.indexOf("-layout-preview.css?")>-1&&(l._parsedSheets[a].parsed=!1);for(var d=0;d<n.length;d++){var a=n[d],u=a.href,c=a.media,f=a.rel&&"stylesheet"===a.rel.toLowerCase();if(u&&f){if(u.indexOf(FLBuilderConfig.pluginUrl)>-1)continue;"undefined"!=typeof l._parsedSheets[u]&&l._parsedSheets[u].parsed?l._translate(l._parsedSheets[u].styles,u,l._parsedSheets[u].media):a.styleSheet&&a.styleSheet.rawCssText?(l._translate(a.styleSheet.rawCssText,u,c),l._parsedSheets[u]=!0):(/^([a-zA-Z:]*\/\/)/.test(u)||r)&&u.replace(RegExp.$1,"").split("/")[0]!==window.location.host||("//"===u.substring(0,2)&&(u=window.location.protocol+u),l._requestQueue.push({href:u,media:c}))}}l._makeRequests()},applyMedia:function(e){var t=FLBuilderForcedMediaQueries,l="clientWidth",i=window.document,o=i.documentElement,s=(o[l],i.getElementsByTagName("head")[0]||o),r=s.getElementsByTagName("link"),n=r[r.length-1],a=((new Date).getTime(),{}),d=t._mediaStyles,u=t._appendedEls,c=t._emInPx;t._width=e;for(var f in d)if(d.hasOwnProperty(f)){var h=d[f],p=h.minw,g=h.maxw,_=null===p,m=null===g,b="em";p&&(p=parseFloat(p)*(p.indexOf(b)>-1?c||t.getEmPixelValue():1)),g&&(g=parseFloat(g)*(g.indexOf(b)>-1?c||t.getEmPixelValue():1)),h.hasQuery&&(_&&m||!(_||e>=p)||!(m||e<=g))||(a[h.media]||(a[h.media]=[]),a[h.media].push(t._rules[h.rules]))}for(var v in u)u.hasOwnProperty(v)&&u[v]&&u[v].parentNode===s&&s.removeChild(u[v]);t._appendedEls.length=0;for(var L in a)if(a.hasOwnProperty(L)){var F=i.createElement("style"),y=a[L].join("\n");F.type="text/css",F.media=L,s.insertBefore(F,n.nextSibling),F.styleSheet?F.styleSheet.cssText=y:F.appendChild(i.createTextNode(y)),t._appendedEls.push(F)}},isUnsupportedMediaQuery:function(e){var t=FLBuilderForcedMediaQueries._regex;return e.replace(t.minmaxwh,"").match(t.other)},getEmPixelValue:function(){var e=null,t=window.document,l=t.documentElement,i=t.body,o=t.createElement("div"),s=l.style.fontSize,r=i&&i.style.fontSize,n=!1;return o.style.cssText="position:absolute;font-size:1em;width:1em",i||(i=n=t.createElement("body"),i.style.background="none"),l.style.fontSize="100%",i.style.fontSize="100%",i.appendChild(o),n&&l.insertBefore(i,l.firstChild),e=o.offsetWidth,n?l.removeChild(i):i.removeChild(o),l.style.fontSize=s,r&&(i.style.fontSize=r),e=FLBuilderForcedMediaQueries._emInPx=parseFloat(e)},_translate:function(e,t,l){var i=FLBuilderForcedMediaQueries,o=i._regex,s=e.replace(o.comments,"").replace(o.keyframes,"").match(o.media),r=s&&s.length||0;t=t.substring(0,t.lastIndexOf("/"));var n=function(e){return e.replace(o.urls,"$1"+t+"$2$3")},a=!r&&l;t.length&&(t+="/"),a&&(r=1);for(var d=0;d<r;d++){var u,c,f,h;a?(u=l,i._rules.push(n(e))):(u=s[d].match(o.findStyles)&&RegExp.$1,i._rules.push(RegExp.$2&&n(RegExp.$2))),f=u.split(","),h=f.length;for(var p=0;p<h;p++)c=f[p],i.isUnsupportedMediaQuery(c)||i._mediaStyles.push({media:c.split("(")[0].match(o.only)&&RegExp.$2||"all",rules:i._rules.length-1,hasQuery:c.indexOf("(")>-1,minw:c.match(o.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:c.match(o.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}},_makeRequests:function(){var e=FLBuilderForcedMediaQueries;if(e._requestQueue.length){var t=e._requestQueue.shift();e._ajax(t.href,function(l){e._translate(l,t.href,t.media),e._parsedSheets[t.href]={parsed:!0,styles:l,media:t.media},window.setTimeout(function(){e._makeRequests()},0)})}else e._width&&(e.applyMedia(e._width),e._callback&&(e._callback(),e._callback=null))},_ajax:function(e,t){var l=FLBuilderForcedMediaQueries._xmlHttp();l&&(l.open("GET",e,!0),l.onreadystatechange=function(){4!==l.readyState||200!==l.status&&304!==l.status||t(l.responseText)},4!==l.readyState&&l.send(null))}}}(jQuery),function(e){FLBuilderPreview=function(t){this.type=t.type,"undefined"!=t.state&&t.state?this.state=t.state:this._saveState(),"undefined"!=t.layout&&t.layout?FLBuilder._renderLayout(t.layout,e.proxy(this._init,this)):this._init()},FLBuilderPreview._fontsList={},FLBuilderPreview.prototype={type:"",nodeId:null,classes:{},elements:{},state:null,_savedSettings:null,_styleSheet:null,_styleSheetMedium:null,_styleSheetResponsive:null,_timeout:null,_lastClassName:null,_xhr:null,_init:function(){switch(this.nodeId=e(".fl-builder-settings").data("node"),this._saveSettings(),this._initElementsAndClasses(),this._createSheets(),this._initResponsivePreviews(),this._initDefaultFieldPreviews(),this.type){case"row":this._initRow();break;case"col":this._initColumn();break;case"module":this._initModule()}},_saveSettings:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings");this._savedSettings=FLBuilder._getSettings(t)},_settingsHaveChanged:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),l=FLBuilder._getSettings(t);return JSON.stringify(this._savedSettings)!=JSON.stringify(l)},_initElementsAndClasses:function(){var t;t="row"==this.type?"> .fl-row-content-wrap":"> .fl-"+this.type+"-content",e.extend(this.classes,{settings:".fl-builder-"+this.type+"-settings",settingsHeader:".fl-builder-"+this.type+"-settings .fl-lightbox-header",node:FLBuilder._contentClass+" .fl-node-"+this.nodeId,content:FLBuilder._contentClass+" .fl-node-"+this.nodeId+" > "+t}),e.extend(this.elements,{settings:e(this.classes.settings),settingsHeader:e(this.classes.settingsHeader),node:e(this.classes.node),content:e(this.classes.content)})},_createSheets:function(){this._styleSheet||(this._styleSheet=new FLStyleSheet({id:"fl-builder-preview"})),this._styleSheetMedium||(this._styleSheetMedium=new FLStyleSheet({id:"fl-builder-preview-medium"})),this._styleSheetResponsive||(this._styleSheetResponsive=new FLStyleSheet({id:"fl-builder-preview-responsive"}))},_destroySheets:function(){this._styleSheet&&(this._styleSheet.destroy(),this._styleSheet=null),this._styleSheetMedium&&(this._styleSheetMedium.destroy(),this._styleSheetMedium=null),this._styleSheetResponsive&&(this._styleSheetResponsive.destroy(),this._styleSheetResponsive=null)},updateCSSRule:function(e,t,l){this._styleSheet.updateRule(e,t,l)},delay:function(e,t){this._cancelDelay(),this._timeout=setTimeout(t,e)},_cancelDelay:function(){null!==this._timeout&&clearTimeout(this._timeout)},hexToRgb:function(e){var t=parseInt(e,16),l=t>>16&255,i=t>>8&255,o=255&t;return[l,i,o]},parseFloat:function(e){return isNaN(parseFloat(e))?0:parseFloat(e)},_initResponsivePreviews:function(){FLBuilder.addHook("responsive-editing-switched",e.proxy(this._responsiveEditingSwitched,this))},_destroyResponsivePreviews:function(){FLBuilder.removeHook("responsive-editing-switched")},_responsiveEditingSwitched:function(e,t){"default"==t?(this._styleSheetMedium.disable(),this._styleSheetResponsive.disable()):"medium"==t?(this._styleSheetMedium.enable(),this._styleSheetResponsive.disable()):"responsive"==t&&(this._styleSheetMedium.disable(),this._styleSheetResponsive.enable())},updateResponsiveCSSRule:function(e,t,l){var i=FLBuilderResponsiveEditing._mode,o="default"==i?"":i.charAt(0).toUpperCase()+i.slice(1);this["_styleSheet"+o].updateRule(e,t,l)},_saveState:function(){var t=e("#fl-post-id").val(),l=e('link[href*="/cache/'+t+'"]').attr("href"),i=e('script[src*="/cache/'+t+'"]').attr("src"),o=e(FLBuilder._contentClass).html();this.state={css:l,js:i,html:o}},preview:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),l=t.attr("data-node"),i=FLBuilder._getSettings(t);this._cancelPreview(),this._xhr=FLBuilder.ajax({action:"render_layout",node_id:l,node_preview:i},e.proxy(this._renderPreview,this))},delayPreview:function(t){var l="undefined"==typeof t?[]:e(t.target).closest("tr").find("th"),i=e(".fl-builder-widget-settings .fl-builder-settings-title"),o=e(".fl-builder-settings .fl-lightbox-header"),s=FLBuilderLayoutConfig.paths.pluginUrl+"img/ajax-loader-small.gif",r=e('<img class="fl-builder-preview-loader" src="'+s+'" />');e(".fl-builder-preview-loader").remove(),l.length>0?l.append(r):i.length>0?i.append(r):o.length>0&&o.append(r),this.delay(1e3,e.proxy(this.preview,this))},_cancelPreview:function(){this._xhr&&(this._xhr.abort(),this._xhr=null)},_renderPreview:function(t){this._xhr=null,FLBuilder._renderLayout(t,e.proxy(this._renderPreviewComplete,this))},_renderPreviewComplete:function(){this._initElementsAndClasses(),e(".fl-builder-preview-loader").remove(),e(FLBuilder._contentClass).trigger("fl-builder.preview-rendered")},revert:function(){this.clear(),this._settingsHaveChanged()&&FLBuilder._renderLayout(this.state)},clear:function(){this._cancelDelay(),this._cancelPreview(),this._destroySheets(),this._destroyResponsivePreviews()},_initNodeTextColor:function(){e.extend(this.elements,{textColor:e(this.classes.settings+" input[name=text_color]"),linkColor:e(this.classes.settings+" input[name=link_color]"),hoverColor:e(this.classes.settings+" input[name=hover_color]"),headingColor:e(this.classes.settings+" input[name=heading_color]")}),this.elements.textColor.on("change",e.proxy(this._textColorChange,this)),this.elements.linkColor.on("change",e.proxy(this._textColorChange,this)),this.elements.hoverColor.on("change",e.proxy(this._textColorChange,this)),this.elements.headingColor.on("change",e.proxy(this._textColorChange,this))},_textColorChange:function(t){var l=this.elements.textColor.val(),i=this.elements.linkColor.val(),o=this.elements.hoverColor.val(),s=this.elements.headingColor.val();i=""===i?l:i,o=""===o?l:o,s=""===s?l:s,this.delay(100,e.proxy(function(){""===l?this.updateCSSRule(this.classes.node,"color","inherit"):this.updateCSSRule(this.classes.node,"color","#"+l),""===i?this.updateCSSRule(this.classes.node+" a","color","inherit"):this.updateCSSRule(this.classes.node+" a","color","#"+i),""===o?this.updateCSSRule(this.classes.node+" a:hover","color","inherit"):this.updateCSSRule(this.classes.node+" a:hover","color","#"+o),""===s?(this.updateCSSRule(this.classes.node+" h1","color","inherit"),this.updateCSSRule(this.classes.node+" h2","color","inherit"),this.updateCSSRule(this.classes.node+" h3","color","inherit"),this.updateCSSRule(this.classes.node+" h4","color","inherit"),this.updateCSSRule(this.classes.node+" h5","color","inherit"),this.updateCSSRule(this.classes.node+" h6","color","inherit"),this.updateCSSRule(this.classes.node+" h1 a","color","inherit"),this.updateCSSRule(this.classes.node+" h2 a","color","inherit"),this.updateCSSRule(this.classes.node+" h3 a","color","inherit"),this.updateCSSRule(this.classes.node+" h4 a","color","inherit"),this.updateCSSRule(this.classes.node+" h5 a","color","inherit"),this.updateCSSRule(this.classes.node+" h6 a","color","inherit")):(this.updateCSSRule(this.classes.node+" h1","color","#"+s),this.updateCSSRule(this.classes.node+" h2","color","#"+s),this.updateCSSRule(this.classes.node+" h3","color","#"+s),this.updateCSSRule(this.classes.node+" h4","color","#"+s),this.updateCSSRule(this.classes.node+" h5","color","#"+s),this.updateCSSRule(this.classes.node+" h6","color","#"+s),this.updateCSSRule(this.classes.node+" h1 a","color","#"+s),this.updateCSSRule(this.classes.node+" h2 a","color","#"+s),this.updateCSSRule(this.classes.node+" h3 a","color","#"+s),this.updateCSSRule(this.classes.node+" h4 a","color","#"+s),this.updateCSSRule(this.classes.node+" h5 a","color","#"+s),this.updateCSSRule(this.classes.node+" h6 a","color","#"+s))},this))},_initNodeBg:function(){e.extend(this.elements,{bgType:e(this.classes.settings+" select[name=bg_type]"),bgColor:e(this.classes.settings+" input[name=bg_color]"),bgColorPicker:e(this.classes.settings+" .fl-picker-bg_color"),bgOpacity:e(this.classes.settings+" input[name=bg_opacity]"),bgImageSrc:e(this.classes.settings+" select[name=bg_image_src]"),bgRepeat:e(this.classes.settings+" select[name=bg_repeat]"),bgPosition:e(this.classes.settings+" select[name=bg_position]"),bgAttachment:e(this.classes.settings+" select[name=bg_attachment]"),bgSize:e(this.classes.settings+" select[name=bg_size]"),bgVideo:e(this.classes.settings+" input[name=bg_video]"),bgVideoFallbackSrc:e(this.classes.settings+" select[name=bg_video_fallback_src]"),bgSlideshowSource:e(this.classes.settings+" select[name=ss_source]"),bgSlideshowPhotos:e(this.classes.settings+" input[name=ss_photos]"),bgSlideshowFeedUrl:e(this.classes.settings+" input[name=ss_feed_url]"),bgSlideshowSpeed:e(this.classes.settings+" input[name=ss_speed]"),bgSlideshowTrans:e(this.classes.settings+" select[name=ss_transition]"),bgSlideshowTransSpeed:e(this.classes.settings+" input[name=ss_transitionDuration]"),bgParallaxImageSrc:e(this.classes.settings+" select[name=bg_parallax_image_src]"),bgOverlayColor:e(this.classes.settings+" input[name=bg_overlay_color]"),bgOverlayOpacity:e(this.classes.settings+" input[name=bg_overlay_opacity]")}),this.elements.bgType.on("change",e.proxy(this._bgTypeChange,this)),this.elements.bgColor.on("change",e.proxy(this._bgColorChange,this)),this.elements.bgOpacity.on("keyup",e.proxy(this._bgOpacityChange,this)),this.elements.bgImageSrc.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgRepeat.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgPosition.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgAttachment.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgSize.on("change",e.proxy(this._bgPhotoChange,this)),this.elements.bgSlideshowSource.on("change",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowPhotos.on("change",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowFeedUrl.on("keyup",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowSpeed.on("keyup",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowTrans.on("change",e.proxy(this._bgSlideshowChange,this)),this.elements.bgSlideshowTransSpeed.on("keyup",e.proxy(this._bgSlideshowChange,this)),this.elements.bgParallaxImageSrc.on("change",e.proxy(this._bgParallaxChange,this)),this.elements.bgOverlayColor.on("change",e.proxy(this._bgOverlayChange,this)),this.elements.bgOverlayOpacity.on("keyup",e.proxy(this._bgOverlayChange,this))},_bgTypeChange:function(e){var t=this.elements.bgType.val();this.elements.node.removeClass("fl-row-bg-video"),this.elements.node.removeClass("fl-row-bg-slideshow"),this.elements.node.removeClass("fl-row-bg-parallax"),this.elements.node.find(".fl-bg-video").remove(),this.elements.node.find(".fl-bg-slideshow").remove(),this.elements.content.css("background-image",""),this.updateCSSRule(this.classes.content,{"background-color":"transparent","background-image":"none"}),"none"==t?this._bgOverlayClear():"color"==t?(this.elements.bgColor.trigger("change"),this._bgOverlayClear()):"photo"==t?(this.elements.bgColor.trigger("change"),this.elements.bgImageSrc.trigger("change")):"video"==t?(this.elements.bgColor.trigger("change"),""!=this.elements.bgVideo.val()&&this.preview()):"slideshow"==t?(this.elements.bgColor.trigger("change"),this._bgSlideshowChange()):"parallax"==t&&(this.elements.bgColor.trigger("change"),this.elements.bgParallaxImageSrc.trigger("change"))},_bgColorChange:function(t){var l,i,o;""===this.elements.bgColor.val()||isNaN(this.elements.bgOpacity.val())?this.updateCSSRule(this.classes.content,"background-color","transparent"):(l=this.hexToRgb(this.elements.bgColor.val()),i=this.parseFloat(this.elements.bgOpacity.val())/100,o="rgba("+l.join()+", "+i+")",this.delay(100,e.proxy(function(){this.updateCSSRule(this.classes.content,"background-color",o)},this)))},_bgOpacityChange:function(e){this.elements.bgColor.trigger("change")},_bgPhotoChange:function(e){this.elements.bgImageSrc.val()?this.updateCSSRule(this.classes.content,{"background-image":"url("+this.elements.bgImageSrc.val()+")","background-repeat":this.elements.bgRepeat.val(),"background-position":this.elements.bgPosition.val(),"background-attachment":this.elements.bgAttachment.val(),"background-size":this.elements.bgSize.val()}):this.updateCSSRule(this.classes.content,{"background-image":"none"})},_bgSlideshowChange:function(t){var l=this.elements,i=l.bgSlideshowSource.val(),o=l.bgSlideshowPhotos.val(),s=l.bgSlideshowFeedUrl.val(),r=l.bgSlideshowSpeed.val(),n=l.bgSlideshowTransSpeed.val();"wordpress"==i&&""===o||"smugmug"==i&&""===s||isNaN(parseInt(r))||isNaN(parseInt(n))||this.delay(500,e.proxy(this.preview,this))},_bgParallaxChange:function(e){this.elements.bgParallaxImageSrc.val()&&this.updateCSSRule(this.classes.content,{"background-image":"url("+this.elements.bgParallaxImageSrc.val()+")","background-repeat":"no-repeat","background-position":"center center","background-attachment":"fixed","background-size":"cover"})},_bgOverlayChange:function(t){var l,i,o;""===this.elements.bgOverlayColor.val()||isNaN(this.elements.bgOverlayOpacity.val())?(this.elements.node.removeClass("fl-row-bg-overlay"),this.elements.node.removeClass("fl-col-bg-overlay"),this.updateCSSRule(this.classes.content+":after","background-color","transparent")):(l=this.hexToRgb(this.elements.bgOverlayColor.val()),i=this.parseFloat(this.elements.bgOverlayOpacity.val())/100,o="rgba("+l.join()+", "+i+")",this.delay(100,e.proxy(function(){this.elements.node.hasClass("fl-col")?this.elements.node.addClass("fl-col-bg-overlay"):this.elements.node.addClass("fl-row-bg-overlay"),this.updateCSSRule(this.classes.content+":after","background-color",o)},this)))},_bgOverlayClear:function(e){this.elements.bgOverlayColor.prev(".fl-color-picker-clear").trigger("click")},_initNodeBorder:function(){e.extend(this.elements,{borderType:e(this.classes.settings+" select[name=border_type]"),borderColor:e(this.classes.settings+" input[name=border_color]"),borderColorPicker:e(this.classes.settings+" .fl-picker-border_color"),borderOpacity:e(this.classes.settings+" input[name=border_opacity]")}),this.elements.borderType.on("change",e.proxy(this._borderTypeChange,this)),this.elements.borderColor.on("change",e.proxy(this._borderColorChange,this)),this.elements.borderOpacity.on("keyup",e.proxy(this._borderOpacityChange,this))},_borderTypeChange:function(e){var t=this.elements.borderType.val();this.updateCSSRule(this.classes.content,{"border-style":""===t?"none":t}),this.elements.borderColor.trigger("change"),this.elements.borderTop.trigger("keyup")},_borderColorChange:function(t){var l,i,o;""===this.elements.borderColor.val()||isNaN(this.elements.borderOpacity.val())?this.updateCSSRule(this.classes.content,"border-color","transparent"):(l=this.hexToRgb(this.elements.borderColor.val()),i=parseInt(this.elements.borderOpacity.val())/100,o="rgba("+l.join()+", "+i+")",this.delay(100,e.proxy(function(){this.updateCSSRule(this.classes.content,"border-color",o)},this)))},_borderOpacityChange:function(e){this.elements.borderColor.trigger("change")},_initNodeClassName:function(){e.extend(this.elements,{className:e(this.classes.settings+" input[name=class]")}),this.elements.className.on("keyup",e.proxy(this._classNameChange,this)),this._lastClassName=this.elements.className.val()},_classNameChange:function(e){var t=this.elements.className.val();null!==this._lastClassName&&this.elements.node.removeClass(this._lastClassName),this.elements.node.addClass(t),this._lastClassName=t},_initResponsiveDimensions:function(t){var l={},i=["Top","Bottom","Left","Right"],o=["","Medium","Responsive"],s=this.classes.settings,r="",n="",a=null,d=null;for(a=0;a<i.length;a++)for(d=0;d<o.length;d++)r=t+i[a]+o[d],n=t+"_"+i[a].toLowerCase(),""!=o[d]&&(n+="_"+o[d].toLowerCase()),l[r]=e(s+" input[name="+n+"]"),l[r].on("keyup",e.proxy(this._responsiveDimensionChange,this,t));e.extend(this.elements,l)},_getDimensions:function(e){for(var t=FLBuilderResponsiveEditing._mode,l=["Top","Bottom","Left","Right"],i="default"==t?"":t.charAt(0).toUpperCase()+t.slice(1),o={},s=0;s<l.length;s++)o[l[s].toLowerCase()]=this.elements[e+l[s]+i].val();return this._normalizeDimensionValues(o,e)},_responsiveDimensionChange:function(t){var l=this._getDimensions(t),i={},o="border"==t;e.each(l,function(e,l){i[t+"-"+e+(o?"-width":"")]=l}),this.updateResponsiveCSSRule(this.classes.content,i),this._positionAbsoluteBgs()},_normalizeDimensionValues:function(t,l){var i=this,o=FLBuilderResponsiveEditing._mode,s="default"==o?"":o.charAt(0).toUpperCase()+o.slice(1),l=l.split("-");return"undefined"==typeof l[1]?l[1]="":l[1]=l[1].charAt(0).toUpperCase()+l[1].slice(1),e.map(t,function(e,o){if(e=e.toLowerCase().replace(/[^a-z0-9%.\-]/g,""),""===e){var r=l[0]+o.charAt(0).toUpperCase()+o.slice(1)+l[1]+s,n=i.elements[r].attr("placeholder");n&&(e=n)}null===e||""===e||isNaN(e)||(e=parseFloat(e)+"px"),t[o]=e}),t},_positionAbsoluteBgs:function(){var t=this.elements.node.find(".fl-bg-slideshow"),l=this.elements.node.find(".fl-bg-video"),i=null,o=null,s={top:0,bottom:0,left:0,right:0};(t.length>0||l.length>0)&&(i=this._getDimensions("margin"),o=this._getDimensions("border"),e.map(s,function(e,t){i[t]&&o[t]?s[t]="calc("+i[t]+"+"+o[t]+")":i[t]?s[t]=i[t]:o[t]&&(s[t]=o[t])}),t.length>0&&(this.updateCSSRule(this.classes.node+" .fl-bg-slideshow",s),FLBuilder._resizeLayout()),l.length>0&&this.updateCSSRule(this.classes.node+" .fl-bg-video",s))},_initRow:function(){e.extend(this.elements,{width:e(this.classes.settings+" select[name=width]"),contentWidth:e(this.classes.settings+" select[name=content_width]"),height:e(this.classes.settings+" select[name=full_height]"),align:e(this.classes.settings+" select[name=content_alignment]")}),this.elements.width.on("change",e.proxy(this._rowWidthChange,this)),this.elements.contentWidth.on("change",e.proxy(this._rowContentWidthChange,this)),this.elements.height.on("change",e.proxy(this._rowHeightChange,this)),this.elements.align.on("change",e.proxy(this._rowHeightChange,this)),this._initNodeTextColor(),this._initNodeBg(),this._initNodeClassName(),this._initNodeBorder(),this._initResponsiveDimensions("border"),this._initResponsiveDimensions("margin"),this._initResponsiveDimensions("padding")},_rowWidthChange:function(e){var t=this.elements.node;"full"==this.elements.width.val()?(t.removeClass("fl-row-fixed-width"),t.addClass("fl-row-full-width")):(t.removeClass("fl-row-full-width"),t.addClass("fl-row-fixed-width"))},_rowHeightChange:function(e){var t=this.elements.node;t.removeClass("fl-row-align-top"),t.removeClass("fl-row-align-center"),"full"==this.elements.height.val()?(t.addClass("fl-row-full-height"),t.addClass("fl-row-align-"+this.elements.align.val())):t.removeClass("fl-row-full-height")},_rowContentWidthChange:function(e){var t=this.elements.content.find(".fl-row-content");"full"==this.elements.contentWidth.val()?(t.removeClass("fl-row-fixed-width"),t.addClass("fl-row-full-width")):(t.removeClass("fl-row-full-width"),t.addClass("fl-row-fixed-width"))},_initColumn:function(){e.extend(this.elements,{size:e(this.classes.settings+" input[name=size]"),columnHeight:e(this.classes.settings+" select[name=equal_height]"),columnAlign:e(this.classes.settings+" select[name=content_alignment]"),responsiveOrder:e(this.classes.settings+" select[name=responsive_order]")}),this.elements.size.on("keyup",e.proxy(this._colSizeChange,this)),this.elements.columnHeight.on("change",e.proxy(this._colHeightChange,this)),this.elements.columnAlign.on("change",e.proxy(this._colHeightChange,this)),this.elements.responsiveOrder.on("change",e.proxy(this._colResponsiveOrder,this)),this._initNodeTextColor(),this._initNodeBg(),this._initNodeClassName(),this._initNodeBorder(),this._initResponsiveDimensions("border"),this._initResponsiveDimensions("margin"),this._initResponsiveDimensions("padding")},_colSizeChange:function(){var t=8,l=100-t,i=parseFloat(this.elements.size.val()),o=this.elements.node.prev(".fl-col"),s=this.elements.node.next(".fl-col"),r=0===s.length?o:s,n=this.elements.node.siblings(".fl-col"),a=0;0===n.length||isNaN(i)||(n.each(function(){e(this).data("node")!=r.data("node")&&(l-=parseFloat(e(this)[0].style.width),a+=parseFloat(e(this)[0].style.width))}),i<t&&(i=t),i>l&&(i=l),r.css("width",100-a-i+"%"),this.elements.node.css("width",i+"%"))},_colHeightChange:function(){var e=this.elements.node.parent(".fl-col-group");e.removeClass("fl-col-group-align-top"),e.removeClass("fl-col-group-align-center"),e.removeClass("fl-col-group-align-bottom"),"yes"==this.elements.columnHeight.val()?(e.addClass("fl-col-group-equal-height"),e.addClass("fl-col-group-align-"+this.elements.columnAlign.val())):e.removeClass("fl-col-group-equal-height")},_colResponsiveOrder:function(){var e=this.elements.node.parent(".fl-col-group");"reversed"==this.elements.responsiveOrder.val()?e.addClass("fl-col-group-responsive-reversed"):e.removeClass("fl-col-group-responsive-reversed")},_initModule:function(){this._initNodeClassName(),this._initResponsiveDimensions("margin");
|
2 |
+
},_initDefaultFieldPreviews:function(){for(var e=this.elements.settings.find(".fl-field"),t=null,l=null,i=0;i<e.length;i++)t=e.eq(i),l=t.data("preview"),"refresh"==l.type&&this._initFieldRefreshPreview(t),"text"==l.type&&this._initFieldTextPreview(t),"css"==l.type&&this._initFieldCSSPreview(t),"widget"==l.type&&this._initFieldWidgetPreview(t),"font"==l.type&&this._initFieldFontPreview(t)},_initFieldRefreshPreview:function(t){var l=t.data("type"),i=t.data("preview"),o=e.proxy(this.delayPreview,this);switch(l){case"text":t.find("input[type=text]").on("keyup",o);break;case"textarea":t.find("textarea").on("keyup",o);break;case"select":t.find("select").on("change",o);break;case"color":t.find(".fl-color-picker-value").on("change",o);break;case"photo":t.find("select").on("change",o);break;case"multiple-photos":t.find("input").on("change",o);break;case"photo-sizes":t.find("select").on("change",o);break;case"video":t.find("input").on("change",o);break;case"multiple-audios":t.find("input").on("change",o);break;case"icon":t.find("input").on("change",o);break;case"form":t.delegate("input","change",o);break;case"editor":this._addTextEditorCallback(t,i);break;case"code":t.find("textarea").on("change",o);break;case"post-type":t.find("select").on("change",o);break;case"suggest":t.find(".as-values").on("change",o);break;case"unit":t.find("input[type=number]").on("keyup",o)}},_initFieldTextPreview:function(t){var l=t.data("type"),i=t.data("preview"),o=e.proxy(this._previewText,this,i);switch(l){case"text":t.find("input[type=text]").on("keyup",o);break;case"unit":t.find("input[type=number]").on("keyup",o);break;case"textarea":t.find("textarea").on("keyup",o);break;case"code":t.find("textarea").on("change",o);break;case"editor":this._addTextEditorCallback(t,i)}},_previewText:function(t,l){var i=this.elements.node.find(t.selector),o=e("<div>"+e(l.target).val()+"</div>");i.length>0&&(o.find("script").remove(),i.html(o.html()))},_previewTextEditor:function(t,l,i){var o=this.elements.node.find(t.selector),s="undefined"!=typeof tinyMCE?tinyMCE.get(l):null,r=e("#"+l),n="";o.length>0&&(n=e(s&&"none"==r.css("display")?"<div>"+s.getContent()+"</div>":"undefined"==typeof switchEditors||"undefined"==typeof switchEditors.wpautop?"<div>"+r.val()+"</div>":"<div>"+switchEditors.wpautop(r.val())+"</div>"),n.find("script").remove(),o.html(n.html()))},_addTextEditorCallback:function(t,l){var i=t.find("textarea.wp-editor-area").attr("id"),o=null;if("refresh"==l.type)o=e.proxy(this.delayPreview,this);else{if("text"!=l.type)return;o=e.proxy(this._previewTextEditor,this,l,i)}e("#"+i).on("keyup",o),"undefined"!=typeof tinyMCE&&(editor=tinyMCE.get(i),editor.on("change",o),editor.on("keyup",o))},_initFieldFontPreview:function(t){var l=t.data("type"),i=t.data("preview");i.id=t.attr("id");var o=e.proxy(this._previewFont,this,i);"font"==l&&t.find(".fl-font-field").on("change","select",o)},_previewFont:function(t,l){var i=e(l.delegateTarget),o=i.find(".fl-font-field-font"),s=e(o).find(":selected"),r=s.parent().attr("label"),n=i.find(".fl-font-field-weight"),a=t.id+"-"+this.nodeId,d=this._getPreviewSelector(this.classes.node,t.selector);"Google"==r&&this._buildFontStylesheet(a,o.val(),n.val()),"Default"==o.val()?(this.updateCSSRule(d,"font-family",""),this.updateCSSRule(d,"font-weight","")):(this.updateCSSRule(d,"font-family",o.val()),this.updateCSSRule(d,"font-weight",n.val()))},_buildFontStylesheet:function(t,l,i){var o=FLBuilderConfig.googleFontsUrl,s="",r={},n={};r[l]=[i],FLBuilderPreview._fontsList[t]=r,Object.keys(FLBuilderPreview._fontsList).forEach(function(e){var t=FLBuilderPreview._fontsList[e];Object.keys(t).forEach(function(e){var l=t[e];n[e]=n[e]||[],l=l.filter(function(t){return n[e].indexOf(t)<0}),n[e]=n[e].concat(l)})}),e.each(n,function(e,t){s+=e+":"+t.join()+"|"}),s=o+s.slice(0,-1).replace(" ","+"),e("#fl-builder-google-fonts-preview").length<1?e("<link>").attr("id","fl-builder-google-fonts-preview").attr("type","text/css").attr("rel","stylesheet").attr("href",s).appendTo("head"):e("#fl-builder-google-fonts-preview").attr("href",s)},_initFieldCSSPreview:function(e){var t=e.data("preview"),l=null;if("undefined"!=typeof t.rules)for(l in t.rules)this._initFieldCSSPreviewCallback(e,t.rules[l]);else this._initFieldCSSPreviewCallback(e,t)},_initFieldCSSPreviewCallback:function(t,l){switch(t.data("type")){case"text":t.find("input[type=text]").on("keyup",e.proxy(this._previewCSS,this,l));break;case"unit":t.find("input[type=number]").on("keyup",e.proxy(this._previewCSS,this,l));break;case"select":t.find("select").on("change",e.proxy(this._previewCSS,this,l));break;case"color":t.find(".fl-color-picker-value").on("change",e.proxy(this._previewColor,this,l))}},_previewCSS:function(t,l){var i=this._getPreviewSelector(this.classes.node,t.selector),o=t.property,s="undefined"==typeof t.unit?"":t.unit,r=e(l.target),n=r.val();"%"==s?n=parseInt(n)/100:n+=s,r.closest(".fl-field-responsive-setting").length?this.updateResponsiveCSSRule(i,o,n):this.updateCSSRule(i,o,n)},_previewColor:function(t,l){var i=this._getPreviewSelector(this.classes.node,t.selector),o=e(l.target),s=o.val(),r=""===s?"inherit":"#"+s;o.closest(".fl-field-responsive-setting").length?this.updateResponsiveCSSRule(i,t.property,r):this.updateCSSRule(i,t.property,r)},_initFieldWidgetPreview:function(t){var l=e.proxy(this.delayPreview,this);t.find("input").on("keyup",l),t.find("input[type=checkbox]").on("click",l),t.find("textarea").on("keyup",l),t.find("select").on("change",l)},_getPreviewSelector:function(e,t){for(var l="",i=t.split(","),o=0;o<i.length;o++)l+=e+" "+i[o],o!=i.length-1&&(l+=", ");return l}}}(jQuery),function(e){FLBuilderResponsiveEditing={_mode:"default",_fields:{},refreshPreview:function(){e(".fl-responsive-preview").length&&FLBuilderForcedMediaQueries.update()},_init:function(){this._bind()},_bind:function(){FLBuilder.addHook("responsive-editing-switched",this._previewSpacingFields),FLBuilder.addHook("settings-form-init",this._initSettingsForms),FLBuilder.addHook("settings-lightbox-closed",this._clearPreview),e("body").delegate(".fl-field-responsive-toggle","click",this._settingToggleClicked)},_switchTo:function(t,l){var i=e("body"),o=e(FLBuilder._contentClass),s=e(".fl-responsive-preview"),r=e(".fl-responsive-preview-mask"),n=e(".fl-content-placeholder"),a=null;if(FLBuilderResponsiveEditing._mode=t,"default"==t){if(0===n.length)return;n.after(o),n.remove(),s.remove(),r.remove()}else 0===s.length?(o.after('<div class="fl-content-placeholder"></div>'),i.prepend(wp.template("fl-responsive-preview")()),e(".fl-responsive-preview").addClass("fl-preview-"+t),e(".fl-responsive-preview-content").append(o)):(s.removeClass("fl-preview-responsive fl-preview-medium"),s.addClass("fl-preview-"+t));"responsive"==t?(a=FLBuilderConfig.global.responsive_breakpoint>=320?320:FLBuilderConfig.global.responsive_breakpoint,o.width(a),FLBuilderForcedMediaQueries.update(a,l)):"medium"==t?(a=FLBuilderConfig.global.medium_breakpoint>=769?769:FLBuilderConfig.global.medium_breakpoint,o.width(a),FLBuilderForcedMediaQueries.update(a,l)):(o.width(""),FLBuilderForcedMediaQueries.update(1e4,l)),this._setContentBackgroundColor(),FLBuilder._resizeLayout(),FLBuilder.triggerHook("responsive-editing-switched",t)},_setContentBackgroundColor:function(){var t=e(FLBuilder._contentClass),l=e(".fl-responsive-preview"),i=e(".fl-content-placeholder"),o=i.parents(),s="#fff",r=0;if(0===l.length)t.css("background-color","");else{for(;r<o.length&&(s=o.eq(r).css("background-color"),"rgba(0, 0, 0, 0)"==s);r++);t.css("background-color",s)}},_switchToAndScroll:function(t){var l=e(".fl-builder-settings").data("node"),i=void 0===l?void 0:e(".fl-node-"+l);FLBuilderResponsiveEditing._switchTo(t,function(){void 0!==i&&i&&setTimeout(function(){var t=e(window),l=e(".fl-responsive-preview-content");!l.length||t.height()<l.height()?e("html, body").animate({scrollTop:i.offset().top-100},250):scrollTo(0,0)},250)})},_clearPreview:function(){FLBuilderResponsiveEditing._switchToAndScroll("default")},_settingToggleClicked:function(){var t=e(this),l=t.data("mode");l="default"==l?"medium":"medium"==l?"responsive":"default",FLBuilderResponsiveEditing._switchAllSettingsTo(l),t.siblings(".fl-field-responsive-setting:visible").find("input").focus()},_switchAllSettingsTo:function(t){var l="dashicons-desktop dashicons-tablet dashicons-smartphone";e(".fl-field-responsive-toggle").removeClass(l),e(".fl-field-responsive-setting").hide(),l="default"==t?"dashicons-desktop":"medium"==t?"dashicons-tablet":"dashicons-smartphone",e(".fl-field-responsive-toggle").addClass(l).data("mode",t),e(".fl-field-responsive-setting-"+t).css("display","inline-block"),FLBuilderResponsiveEditing._switchToAndScroll(t)},_initSettingsForms:function(){var e=FLBuilderResponsiveEditing;Number(FLBuilderConfig.global.responsive_enabled)&&(FLBuilderResponsiveEditing._fields={},e._initFields("unit","input","keyup",e._spacingFieldKeyup,["margin_top","margin_bottom","margin_left","margin_right","padding_top","padding_bottom","padding_left","padding_right"]),e._initFields("unit","input","keyup",e._textFieldKeyup)),e._switchAllSettingsTo(e._mode)},_initFields:function(t,l,i,o,s){var r=e(".fl-builder-settings"),n=r.find(".fl-field").has(".fl-field-responsive-setting"),a=null,d=null,u=0,c=0;for("object"!=typeof this._fields[t]&&(this._fields[t]={});u<n.length;u++)if(a=n.eq(u),d=a.attr("id").replace("fl-field-",""),!("object"==typeof s&&e.inArray(d,s)<0)&&t==a.attr("data-type")&&void 0===a.attr("data-responsive-init")){this._fields[t][d]={"default":a.find(".fl-field-responsive-setting-default "+l),medium:a.find(".fl-field-responsive-setting-medium "+l),responsive:a.find(".fl-field-responsive-setting-responsive "+l)};for(c in this._fields[t][d])this._fields[t][d][c].on(i,o);this._fields[t][d]["default"].trigger(i),a.attr("data-responsive-init",1)}},_getFields:function(t){var l=e(t).closest(".fl-field");return type=l.attr("data-type"),name=l.attr("id").replace("fl-field-",""),this._fields[type][name]},_textFieldKeyup:function(){var e=FLBuilderResponsiveEditing._getFields(this),t=e["default"].attr("placeholder"),l=e["default"].val(),i=e.medium.val();""==l?e.medium.attr("placeholder",void 0===t?"":t):e.medium.attr("placeholder",l),""==i?e.responsive.attr("placeholder",e.medium.attr("placeholder")):e.responsive.attr("placeholder",i)},_spacingFieldKeyup:function(){var t=e(".fl-builder-settings"),l="row",i=e(this).closest(".fl-field").attr("id").replace("fl-field-","").split("_"),o=i[0],s=i[1],r=FLBuilderResponsiveEditing._fields.unit[o+"_"+s],n=FLBuilderConfig.global,a=null,d=r["default"].val(),u=null,c=r.medium.val(),f=null,h=(r.responsive.val(),null),p=null,g=null;t.hasClass("fl-builder-row-settings")?l="row":t.hasClass("fl-builder-col-settings")?l="col":t.hasClass("fl-builder-module-settings")&&(l="module"),e.extend(n,{col_margins:0,col_margins_medium:"",col_margins_responsive:"",col_padding:0,col_padding_medium:"",col_padding_responsive:""}),a=l+"_"+o+("margin"==o?"s":""),u=n[a],f=n[a+"_medium"],h=n[a+"_responsive"],""==f&&(""!=d?r.medium.attr("placeholder",d):""!=u&&r.medium.attr("placeholder",u)),""==h&&("module"==l&&Number(n.auto_spacing)?(p=""==f?Number(u):f,g=""==c?Number(d):c,""!=g&&(g>p||g<0)?r.responsive.attr("placeholder",p):""!=g?r.responsive.attr("placeholder",g):r.responsive.attr("placeholder",p)):(!Number(n.auto_spacing)||"padding"==o&&"top|bottom".indexOf(s)>-1)&&(""!=c?r.responsive.attr("placeholder",c):""!=f?r.responsive.attr("placeholder",f):""!=d?r.responsive.attr("placeholder",d):""!=u&&r.responsive.attr("placeholder",u)))},_previewSpacingFields:function(){var t=FLBuilderResponsiveEditing._mode,l=e(".fl-builder-settings"),i=null,o=null;if(0!==l.length&&void 0!==l.attr("data-node")){i=FLBuilderResponsiveEditing._fields.unit;for(o in i)i[o][t].trigger("keyup")}}},e(function(){FLBuilderResponsiveEditing._init()})}(jQuery),function(e){var t={init:function(){var t=e("body");t.delegate(".fl-builder-service-select","change",this._serviceChange),t.delegate(".fl-builder-service-connect-button","click",this._connectClicked),t.delegate(".fl-builder-service-account-select","change",this._accountChange),t.delegate(".fl-builder-service-account-delete","click",this._accountDeleteClicked),t.delegate(".fl-builder-campaign-monitor-client-select","change",this._campaignMonitorClientChange),t.delegate(".fl-builder-mailchimp-list-select","change",this._mailChimpListChange),t.delegate(".fl-builder-activecampaign-list_type-select","change",this._activeCampaignChange)},_startSettingsLoading:function(t){var l=e(".fl-builder-settings"),i=t.closest(".fl-builder-service-settings"),o=e(".fl-builder-service-error");l.append('<div class="fl-builder-loading"></div>'),i.addClass("fl-builder-service-settings-loading"),o.remove()},_finishSettingsLoading:function(){var t=e(".fl-builder-settings"),l=e(".fl-builder-service-settings-loading");t.find(".fl-builder-loading").remove(),l.removeClass("fl-builder-service-settings-loading")},_serviceChange:function(){var l=e(".fl-builder-settings").data("node"),i=e(this),o=i.closest("tr"),s=i.val();o.siblings("tr.fl-builder-service-account-row").remove(),o.siblings("tr.fl-builder-service-connect-row").remove(),o.siblings("tr.fl-builder-service-field-row").remove(),e(".fl-builder-service-error").remove(),""!==s&&(t._startSettingsLoading(i),FLBuilder.ajax({action:"render_service_settings",node_id:l,service:s},t._serviceChangeComplete))},_serviceChangeComplete:function(l){var i=JSON.parse(l),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-select-row");s.after(i.html),t._addAccountDelete(o),t._finishSettingsLoading()},_connectClicked:function(){for(var l=e(".fl-builder-settings").data("node"),i=e(this).closest(".fl-builder-service-settings"),o=i.find(".fl-builder-service-select"),s=i.find(".fl-builder-service-connect-row"),r=i.find(".fl-builder-service-connect-input"),n=null,a=null,d=0,u={action:"connect_service",node_id:l,service:o.val(),fields:{}};d<r.length;d++)n=r.eq(d),a=n.attr("name"),u.fields[a]=n.val();s.hide(),t._startSettingsLoading(o),FLBuilder.ajax(u,t._connectComplete)},_connectComplete:function(l){var i=JSON.parse(l),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-select-row"),r=o.find(".fl-builder-service-select"),n=o.find(".fl-builder-service-account-row"),a=o.find(".fl-builder-service-account-select"),d=o.find(".fl-builder-service-connect-row");i.error?(d.show(),0===a.length?r.after('<div class="fl-builder-service-error">'+i.error+"</div>"):a.after('<div class="fl-builder-service-error">'+i.error+"</div>")):(d.remove(),n.remove(),s.after(i.html)),t._addAccountDelete(o),t._finishSettingsLoading()},_accountChange:function(){var l=e(".fl-builder-settings").data("node"),i=e(this).closest(".fl-builder-service-settings"),o=i.find(".fl-builder-service-select"),s=i.find(".fl-builder-service-account-select"),r=i.find(".fl-builder-service-connect-row"),n=i.find("tr.fl-builder-service-field-row"),a=e(".fl-builder-service-error"),d=s.val(),u=null;r.remove(),n.remove(),a.remove(),"add_new_account"==d?u={action:"render_service_settings",node_id:l,service:o.val(),add_new:!0}:""!==d&&(u={action:"render_service_fields",node_id:l,service:o.val(),account:d}),u&&(t._startSettingsLoading(o),FLBuilder.ajax(u,t._accountChangeComplete)),t._addAccountDelete(i)},_accountChangeComplete:function(l){var i=JSON.parse(l),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-account-row");s.after(i.html),t._finishSettingsLoading()},_addAccountDelete:function(e){var t=e.find(".fl-builder-service-account-select");t.length>0&&(e.find(".fl-builder-service-account-delete").remove(),""!==t.val()&&"add_new_account"!=t.val()&&t.after('<a href="javascript:void(0);" class="fl-builder-service-account-delete">'+FLBuilderStrings.deleteAccount+"</a>"))},_accountDeleteClicked:function(){var l=e(this).closest(".fl-builder-service-settings"),i=l.find(".fl-builder-service-select"),o=l.find(".fl-builder-service-account-select");confirm(FLBuilderStrings.deleteAccountWarning)&&(FLBuilder.ajax({action:"delete_service_account",service:i.val(),account:o.val()},t._accountDeleteComplete),t._startSettingsLoading(o))},_accountDeleteComplete:function(){var l=e(".fl-builder-service-settings-loading"),i=l.find(".fl-builder-service-select");t._finishSettingsLoading(),i.trigger("change")},_campaignMonitorClientChange:function(){var l=e(".fl-builder-settings").data("node"),i=e(this).closest(".fl-builder-service-settings"),o=i.find(".fl-builder-service-select"),s=i.find(".fl-builder-service-account-select"),r=e(this),n=i.find(".fl-builder-service-list-select"),a=r.val();0!==n.length&&n.closest("tr").remove(),""!==a&&(t._startSettingsLoading(o),FLBuilder.ajax({action:"render_service_fields",node_id:l,service:o.val(),account:s.val(),client:a},t._campaignMonitorClientChangeComplete))},_campaignMonitorClientChangeComplete:function(l){var i=JSON.parse(l),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-campaign-monitor-client-select");s.closest("tr").after(i.html),t._finishSettingsLoading()},_mailChimpListChange:function(){var l=e(".fl-builder-settings").data("node"),i=e(this).closest(".fl-builder-service-settings"),o=i.find(".fl-builder-service-select"),s=i.find(".fl-builder-service-account-select"),r=i.find(".fl-builder-service-list-select");e(".fl-builder-mailchimp-group-select").closest("tr").remove(),""!==r.val()&&(t._startSettingsLoading(o),FLBuilder.ajax({action:"render_service_fields",node_id:l,service:o.val(),account:s.val(),list_id:r.val()},t._mailChimpListChangeComplete))},_mailChimpListChangeComplete:function(l){var i=JSON.parse(l),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-list-select");s.closest("tr").after(i.html),t._finishSettingsLoading()},_activeCampaignChange:function(){var l=e(".fl-builder-settings").data("node"),i=e(this).closest(".fl-builder-service-settings"),o=i.find(".fl-builder-service-select"),s=i.find(".fl-builder-service-account-select"),r=i.find(".fl-builder-service-list-select");list_type=i.find('select[name="list_type"]'),0!==r.length&&r.closest("tr").remove(),""!==list_type.val()&&(t._startSettingsLoading(o),FLBuilder.ajax({action:"render_service_fields",node_id:l,service:o.val(),account:s.val(),list_type:list_type.val()},t._activeCampaignTypeChangeComplete))},_activeCampaignTypeChangeComplete:function(l){var i=JSON.parse(l),o=e(".fl-builder-service-settings-loading"),s=o.find(".fl-builder-service-field-row");s.after(i.html),t._finishSettingsLoading()}};e(function(){t.init()})}(jQuery),function(e){FLBuilderTour={_tour:null,start:function(){FLBuilderTour._tour?FLBuilderTour._tour.restart():(FLBuilderTour._tour=new Tour(FLBuilderTour._config()),FLBuilderTour._tour.init()),FLBuilderTour._tour.start()},_config:function(){var t={storage:!1,onStart:FLBuilderTour._onStart,onPrev:FLBuilderTour._onPrev,onNext:FLBuilderTour._onNext,onEnd:FLBuilderTour._onEnd,template:'<div class="popover" role="tooltip"> <i class="fa fa-times" data-role="end"></i> <div class="arrow"></div> <h3 class="popover-title"></h3> <div class="popover-content"></div> <div class="popover-navigation clearfix"> <button class="fl-builder-button fl-builder-button-primary fl-builder-tour-next" data-role="next">'+FLBuilderStrings.tourNext+"</button> </div> </div>",steps:[{animation:!1,element:".fl-builder-bar",placement:"bottom",title:FLBuilderStrings.tourTemplatesTitle,content:FLBuilderStrings.tourTemplates,onShown:function(){0===e(".fl-template-selector").length?(e(".popover[class*=tour-]").css("visibility","hidden"),FLBuilder._showTemplateSelector()):FLBuilderTour._templateSelectorLoaded()}},{animation:!1,element:"#fl-builder-blocks-rows .fl-builder-blocks-section-title",placement:"left",title:FLBuilderStrings.tourAddRowsTitle,content:FLBuilderStrings.tourAddRows,onShow:function(){FLBuilderTour._dimSection("body"),FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._showPanel(),e(".fl-template-selector .fl-builder-settings-cancel").trigger("click"),e("#fl-builder-blocks-rows .fl-builder-blocks-section-title").trigger("click")}},{animation:!1,element:"#fl-builder-blocks-basic .fl-builder-blocks-section-title",placement:"left",title:FLBuilderStrings.tourAddContentTitle,content:FLBuilderStrings.tourAddContent,onShow:function(){FLBuilderTour._dimSection("body"),FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._showPanel(),e("#fl-builder-blocks-basic .fl-builder-blocks-section-title").trigger("click"),e(".fl-row").eq(0).trigger("mouseleave"),e(".fl-module").eq(0).trigger("mouseleave")}},{animation:!1,element:".fl-row:first-of-type",placement:"top",title:FLBuilderStrings.tourEditContentTitle,content:FLBuilderStrings.tourEditContent,onShow:function(){FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._closePanel(),e(".fl-row").eq(0).trigger("mouseenter"),e(".fl-module").eq(0).trigger("mouseenter")}},{animation:!1,element:".fl-row:first-of-type .fl-module-overlay .fl-block-overlay-actions",placement:"top",title:FLBuilderStrings.tourEditContentTitle,content:FLBuilderStrings.tourEditContent2,onShow:function(){FLBuilderTour._dimSection(".fl-builder-bar"),FLBuilder._closePanel(),e(".fl-row").eq(0).trigger("mouseenter"),e(".fl-module").eq(0).trigger("mouseenter")}},{animation:!1,element:".fl-builder-add-content-button",placement:"bottom",title:FLBuilderStrings.tourAddContentButtonTitle,content:FLBuilderStrings.tourAddContentButton,onShow:function(){FLBuilderTour._dimSection("body"),e(".fl-row").eq(0).trigger("mouseleave"),e(".fl-module").eq(0).trigger("mouseleave")}},{animation:!1,element:".fl-builder-templates-button",placement:"bottom",title:FLBuilderStrings.tourTemplatesButtonTitle,content:FLBuilderStrings.tourTemplatesButton,onShow:function(){FLBuilderTour._dimSection("body")}},{animation:!1,element:".fl-builder-tools-button",placement:"bottom",title:FLBuilderStrings.tourToolsButtonTitle,content:FLBuilderStrings.tourToolsButton,onShow:function(){FLBuilderTour._dimSection("body")}},{animation:!1,element:".fl-builder-done-button",placement:"bottom",title:FLBuilderStrings.tourDoneButtonTitle,content:FLBuilderStrings.tourDoneButton,onShow:function(){FLBuilderTour._dimSection("body")}},{animation:!1,orphan:!0,backdrop:!0,title:FLBuilderStrings.tourFinishedTitle,content:FLBuilderStrings.tourFinished,template:'<div class="popover" role="tooltip"> <div class="arrow"></div> <i class="fa fa-times" data-role="end"></i> <h3 class="popover-title"></h3> <div class="popover-content"></div> <div class="popover-navigation clearfix"> <button class="fl-builder-button fl-builder-button-primary fl-builder-tour-next" data-role="end">'+FLBuilderStrings.tourEnd+"</button> </div> </div>"}]};return FLBuilderConfig.lite?t.steps.shift():"disabled"==FLBuilderConfig.enabledTemplates?t.steps.shift():"fl-builder-template"==FLBuilderConfig.postType&&t.steps.shift(),t},_onStart:function(){var t=e("body");t.append('<div class="fl-builder-tour-mask"></div>'),t.on("fl-builder.template-selector-loaded",FLBuilderTour._templateSelectorLoaded),0===e(".fl-row").length&&"module"!=FLBuilderConfig.userTemplateType&&(e(".fl-builder-content").append('<div class="fl-builder-tour-demo-content fl-row fl-row-fixed-width fl-row-bg-none"> <div class="fl-row-content-wrap"> <div class="fl-row-content fl-row-fixed-width fl-node-content"> <div class="fl-col-group"> <div class="fl-col" style="width:100%"> <div class="fl-col-content fl-node-content"> <div class="fl-module fl-module-rich-text" data-type="rich-text" data-name="Text Editor"> <div class="fl-module-content fl-node-content"> <div class="fl-rich-text"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pellentesque ut lorem non cursus. Sed mauris nunc, porttitor iaculis lorem a, sollicitudin lacinia sapien. Proin euismod orci lacus, et sollicitudin leo posuere ac. In hac habitasse platea dictumst. Maecenas elit magna, consequat in turpis suscipit, ultrices rhoncus arcu. Phasellus finibus sapien nec elit tempus venenatis. Maecenas tincidunt sapien non libero maximus, in aliquam felis tincidunt. Mauris mollis ultricies facilisis. Duis condimentum dignissim tortor sit amet facilisis. Aenean gravida lacus eu risus molestie egestas. Donec ut dolor dictum, fringilla metus malesuada, viverra nunc. Maecenas ut purus ac justo aliquet lacinia. Cras vestibulum elementum tincidunt. Maecenas mattis tortor neque, consectetur dignissim neque tempor nec.</p></div> </div> </div> </div> </div> </div> </div> </div> </div>'),FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols())},_onPrev:function(){e(".fl-builder-tour-dimmed").remove()},_onNext:function(){e(".fl-builder-tour-dimmed").remove()},_onEnd:function(){e("body").off("fl-builder.template-selector-loaded"),e(".fl-builder-tour-mask").remove(),e(".fl-builder-tour-dimmed").remove(),e(".fl-builder-tour-demo-content").remove(),FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols(),FLBuilder._showPanel(),FLBuilder._initTemplateSelector()},_dimSection:function(t){e(t).find(".fl-builder-tour-dimmed").remove(),e(t).append('<div class="fl-builder-tour-dimmed"></div>')},_templateSelectorLoaded:function(){var t=e(".fl-builder-settings-lightbox .fl-lightbox-header"),l=t.height(),i=t.offset().top+75;e(".popover[class*=tour-]").css({top:i+l+"px",visibility:"visible"})}}}(jQuery),function(e){FLBuilder={preview:null,_actionsLightbox:null,_addModuleAfterNodeRender:null,_colResizeData:null,_colResizing:!1,_contentClass:!1,_dragEnabled:!1,_dragging:!1,_dragInitialScrollTop:0,_exitUrl:null,_layout:null,_layoutSettingsCSSCache:null,_layoutSettingsCSSTimeout:null,_lightbox:null,_lightboxScrollbarTimeout:null,_loadedModuleAssets:[],_moduleHelpers:{},_multiplePhotoSelector:null,_newColGroupParent:null,_newColGroupPosition:0,_newModuleParent:null,_newModulePosition:0,_newRowPosition:0,_selectedTemplateId:null,_selectedTemplateType:null,_singlePhotoSelector:null,_singleVideoSelector:null,_multipleAudiosSelector:null,_silentUpdate:!1,_silentUpdateCallbackData:null,_init:function(){FLBuilder._initJQueryReadyFix(),FLBuilder._initGlobalErrorHandling(),FLBuilder._initPostLock(),FLBuilder._initClassNames(),FLBuilder._initMediaUploader(),FLBuilder._initOverflowFix(),FLBuilder._initScrollbars(),FLBuilder._initLightboxes(),FLBuilder._initDropTargets(),FLBuilder._initSortables(),FLBuilder._initStrings(),FLBuilder._initTipTips(),FLBuilder._bindEvents(),FLBuilder._bindOverlayEvents(),FLBuilder._setupEmptyLayout(),FLBuilder._highlightEmptyCols(),FLBuilder._showTourOrTemplates()},_initJQueryReadyFix:function(){FLBuilderConfig.debug||(jQuery.fn.oldReady=jQuery.fn.ready,jQuery.fn.ready=function(e){return jQuery.fn.oldReady(function(){try{"function"==typeof e&&e()}catch(t){FLBuilder.logError(t)}})})},_initGlobalErrorHandling:function(){FLBuilderConfig.debug||(window.onerror=function(e,t,l,i,o){return FLBuilder.logGlobalError(e,t,l,i,o),!0})},_initPostLock:function(){"undefined"!=typeof wp.heartbeat&&(wp.heartbeat.interval(30),wp.heartbeat.enqueue("fl_builder_post_lock",{post_id:e("#fl-post-id").val()}))},_initClassNames:function(){e("html").addClass("fl-builder-edit"),e("body").addClass("fl-builder"),FLBuilderConfig.simpleUi&&e("body").addClass("fl-builder-simple"),FLBuilder._contentClass=".fl-builder-content-"+FLBuilderConfig.postId},_initMediaUploader:function(){wp.media.model.settings.post.id=e("#fl-post-id").val()},_initOverflowFix:function(){e(FLBuilder._contentClass).parents().css("overflow","visible")},_initScrollbars:function(){e(".fl-nanoscroller").nanoScroller({alwaysVisible:!0,preventPageScrolling:!0,paneClass:"fl-nanoscroller-pane",sliderClass:"fl-nanoscroller-slider",contentClass:"fl-nanoscroller-content"})},_initLightboxes:function(){FLBuilder._lightbox=new FLLightbox({className:"fl-builder-lightbox fl-builder-settings-lightbox"}),FLBuilder._lightbox.on("close",FLBuilder._lightboxClosed),FLBuilder._actionsLightbox=new FLLightbox({className:"fl-builder-actions-lightbox"})},_initSortables:function(){var t={appendTo:"body",cursor:"move",cursorAt:{left:60,top:20},distance:1,helper:FLBuilder._blockDragHelper,start:FLBuilder._blockDragStart,sort:FLBuilder._blockDragSort,change:FLBuilder._blockDragChange,stop:FLBuilder._blockDragStop,placeholder:"fl-builder-drop-zone",tolerance:"intersect"},l="",i="";i="row"==FLBuilderConfig.userTemplateType?FLBuilder._contentClass+" .fl-col-group-drop-target, "+FLBuilder._contentClass+" .fl-col-drop-target, "+FLBuilder._contentClass+" .fl-col-content":FLBuilder._contentClass+" .fl-row-drop-target, "+FLBuilder._contentClass+" .fl-col-group-drop-target, "+FLBuilder._contentClass+" .fl-col-drop-target, "+FLBuilder._contentClass+" .fl-row:not(.fl-node-global) .fl-col-content",l=FLBuilderConfig.nestedColumns?i:"row"==FLBuilderConfig.userTemplateType?FLBuilder._contentClass+" .fl-col-group-drop-target, "+FLBuilder._contentClass+" .fl-col-drop-target":FLBuilder._contentClass+" .fl-row-drop-target, "+FLBuilder._contentClass+" .fl-col-group-drop-target, "+FLBuilder._contentClass+" .fl-col-drop-target",e(".fl-builder-rows").sortable(e.extend({},t,{connectWith:l,items:".fl-builder-block-row",stop:FLBuilder._rowDragStop})),e(".fl-builder-row-templates").sortable(e.extend({},t,{connectWith:FLBuilder._contentClass+" .fl-row-drop-target",items:".fl-builder-block-row-template",stop:FLBuilder._nodeTemplateDragStop})),e(".fl-builder-saved-rows").sortable(e.extend({},t,{cancel:".fl-builder-node-template-actions, .fl-builder-node-template-edit, .fl-builder-node-template-delete",connectWith:FLBuilder._contentClass+" .fl-row-drop-target",items:".fl-builder-block-saved-row",stop:FLBuilder._nodeTemplateDragStop})),e(".fl-builder-modules, .fl-builder-widgets").sortable(e.extend({},t,{connectWith:i,items:".fl-builder-block-module",stop:FLBuilder._moduleDragStop})),e(".fl-builder-module-templates").sortable(e.extend({},t,{connectWith:i,items:".fl-builder-block-module-template",stop:FLBuilder._nodeTemplateDragStop})),e(".fl-builder-saved-modules").sortable(e.extend({},t,{cancel:".fl-builder-node-template-actions, .fl-builder-node-template-edit, .fl-builder-node-template-delete",connectWith:i,items:".fl-builder-block-saved-module",stop:FLBuilder._nodeTemplateDragStop})),e(".fl-row-sortable-proxy").sortable(e.extend({},t,{connectWith:FLBuilder._contentClass+" .fl-row-drop-target",helper:FLBuilder._rowDragHelper,start:FLBuilder._rowDragStart,stop:FLBuilder._rowDragStop})),e(".fl-col-sortable-proxy").sortable(e.extend({},t,{connectWith:i,helper:FLBuilder._colDragHelper,start:FLBuilder._colDragStart,stop:FLBuilder._colDragStop})),e(FLBuilder._contentClass+" .fl-col-content").sortable(e.extend({},t,{connectWith:i,handle:".fl-module-overlay .fl-block-overlay-actions .fl-block-move",helper:FLBuilder._moduleDragHelper,items:".fl-module, .fl-col-group",start:FLBuilder._moduleDragStart,stop:FLBuilder._moduleDragStop})),e(FLBuilder._contentClass+" .fl-row-drop-target").sortable(t),e(FLBuilder._contentClass+" .fl-col-group-drop-target").sortable(t),e(FLBuilder._contentClass+" .fl-col-drop-target").sortable(t)},_initStrings:function(){e.validator.messages.required=FLBuilderStrings.validateRequiredMessage},_bindEvents:function(){e("a").on("click",FLBuilder._preventDefault),e(".fl-page-nav .nav a").on("click",FLBuilder._headerLinkClicked),e(document).on("heartbeat-tick",FLBuilder._initPostLock),e(window).on("beforeunload",FLBuilder._warnBeforeUnload),e("body").delegate(".fl-builder-has-submenu","click",FLBuilder._submenuParentClicked),e("body").delegate(".fl-builder-has-submenu a","click",FLBuilder._submenuChildClicked),e("body").delegate(".fl-builder-submenu","mouseenter",FLBuilder._submenuMouseenter),e("body").delegate(".fl-builder-submenu","mouseleave",FLBuilder._submenuMouseleave),e("body").delegate(".fl-builder-submenu .fl-builder-has-submenu","mouseenter",FLBuilder._submenuNestedParentMouseenter),e(".fl-builder-tools-button").on("click",FLBuilder._toolsClicked),e(".fl-builder-done-button").on("click",FLBuilder._doneClicked),e(".fl-builder-add-content-button").on("click",FLBuilder._showPanel),
|
3 |
+
e(".fl-builder-templates-button").on("click",FLBuilder._changeTemplateClicked),e(".fl-builder-buy-button").on("click",FLBuilder._upgradeClicked),e(".fl-builder-upgrade-button").on("click",FLBuilder._upgradeClicked),e(".fl-builder-help-button").on("click",FLBuilder._helpButtonClicked),e(".fl-builder-panel-actions .fl-builder-panel-close").on("click",FLBuilder._closePanel),e(".fl-builder-blocks-section-title").on("click",FLBuilder._blockSectionTitleClicked),e("body").delegate(".fl-builder-node-template-actions","mousedown",FLBuilder._stopPropagation),e("body").delegate(".fl-builder-node-template-edit","mousedown",FLBuilder._stopPropagation),e("body").delegate(".fl-builder-node-template-delete","mousedown",FLBuilder._stopPropagation),e("body").delegate(".fl-builder-node-template-edit","click",FLBuilder._editNodeTemplateClicked),e("body").delegate(".fl-builder-node-template-delete","click",FLBuilder._deleteNodeTemplateClicked),e("body").delegate(".fl-builder-block","mousedown",FLBuilder._blockDragInit),e("body").on("mouseup",FLBuilder._blockDragCancel),e("body").delegate(".fl-builder-actions .fl-builder-cancel-button","click",FLBuilder._cancelButtonClicked),e("body").delegate(".fl-lightbox-controls .fa","click",FLBuilder._resizeLightbox),e("body").delegate(".fl-builder-save-actions .fl-builder-publish-button","click",FLBuilder._publishButtonClicked),e("body").delegate(".fl-builder-save-actions .fl-builder-draft-button","click",FLBuilder._draftButtonClicked),e("body").delegate(".fl-builder-save-actions .fl-builder-discard-button","click",FLBuilder._discardButtonClicked),e("body").delegate(".fl-builder-save-user-template-button","click",FLBuilder._saveUserTemplateClicked),e("body").delegate(".fl-builder-duplicate-layout-button","click",FLBuilder._duplicateLayoutClicked),e("body").delegate(".fl-builder-layout-settings-button","click",FLBuilder._layoutSettingsClicked),e("body").delegate(".fl-builder-layout-settings .fl-builder-settings-save","click",FLBuilder._saveLayoutSettingsClicked),e("body").delegate(".fl-builder-layout-settings .fl-builder-settings-cancel","click",FLBuilder._cancelLayoutSettingsClicked),e("body").delegate(".fl-builder-global-settings-button","click",FLBuilder._globalSettingsClicked),e("body").delegate(".fl-builder-global-settings .fl-builder-settings-save","click",FLBuilder._saveGlobalSettingsClicked),e("body").delegate(".fl-builder-global-settings .fl-builder-settings-cancel","click",FLBuilder._cancelLayoutSettingsClicked),e("body").delegate(".fl-template-category-select","change",FLBuilder._templateCategoryChanged),e("body").delegate(".fl-template-preview","click",FLBuilder._templateClicked),e("body").delegate(".fl-user-template","click",FLBuilder._userTemplateClicked),e("body").delegate(".fl-user-template-edit","click",FLBuilder._editUserTemplateClicked),e("body").delegate(".fl-user-template-delete","click",FLBuilder._deleteUserTemplateClicked),e("body").delegate(".fl-builder-template-replace-button","click",FLBuilder._templateReplaceClicked),e("body").delegate(".fl-builder-template-append-button","click",FLBuilder._templateAppendClicked),e("body").delegate(".fl-builder-template-actions .fl-builder-cancel-button","click",FLBuilder._templateCancelClicked),e("body").delegate(".fl-builder-user-template-settings .fl-builder-settings-save","click",FLBuilder._saveUserTemplateSettings),e("body").delegate(".fl-builder-help-tour-button","click",FLBuilder._startHelpTour),e("body").delegate(".fl-builder-help-video-button","click",FLBuilder._watchVideoClicked),e("body").delegate(".fl-builder-knowledge-base-button","click",FLBuilder._viewKnowledgeBaseClicked),e("body").delegate(".fl-builder-forums-button","click",FLBuilder._visitForumsClicked),e("body").delegate(".fl-builder-no-tour-button","click",FLBuilder._noTourButtonClicked),e("body").delegate(".fl-builder-yes-tour-button","click",FLBuilder._yesTourButtonClicked),e("body").delegate(".fl-builder-alert-close","click",FLBuilder._alertClose),e("body").delegate(".fl-row-overlay .fl-block-remove","click",FLBuilder._deleteRowClicked),e("body").delegate(".fl-row-overlay .fl-block-copy","click",FLBuilder._rowCopyClicked),e("body").delegate(".fl-row-overlay .fl-block-move","mousedown",FLBuilder._rowDragInit),e("body").delegate(".fl-row-overlay .fl-block-settings","click",FLBuilder._rowSettingsClicked),e("body").delegate(".fl-row-overlay","click",FLBuilder._rowSettingsClicked),e("body").delegate(".fl-builder-row-settings .fl-builder-settings-save","click",FLBuilder._saveSettings),e("body").delegate(".fl-col-overlay .fl-block-move","mousedown",FLBuilder._colDragInit),e("body").delegate(".fl-col-overlay .fl-block-remove","click",FLBuilder._deleteColClicked),e("body").delegate(".fl-col-overlay","click",FLBuilder._colSettingsClicked),e("body").delegate(".fl-builder-col-settings .fl-builder-settings-save","click",FLBuilder._saveSettings),e("body").delegate(".fl-block-col-submenu .fl-block-col-move","mousedown",FLBuilder._colDragInit),e("body").delegate(".fl-block-col-submenu .fl-block-col-edit","click",FLBuilder._colSettingsClicked),e("body").delegate(".fl-block-col-submenu .fl-block-col-delete","click",FLBuilder._deleteColClicked),e("body").delegate(".fl-block-col-submenu .fl-block-col-reset","click",FLBuilder._resetColumnWidthsClicked),e("body").delegate(".fl-block-col-submenu li","mouseenter",FLBuilder._showColHighlightGuide),e("body").delegate(".fl-block-col-submenu li","mouseleave",FLBuilder._removeColHighlightGuides),e("body").delegate(".fl-block-col-submenu .fl-block-col-move-parent","mousedown",FLBuilder._colDragInit),e("body").delegate(".fl-block-col-submenu .fl-block-col-edit-parent","click",FLBuilder._colSettingsClicked),e("body").delegate(".fl-module-overlay .fl-block-remove","click",FLBuilder._deleteModuleClicked),e("body").delegate(".fl-module-overlay .fl-block-copy","click",FLBuilder._moduleCopyClicked),e("body").delegate(".fl-module-overlay .fl-block-move","mousedown",FLBuilder._blockDragInit),e("body").delegate(".fl-module-overlay .fl-block-settings","click",FLBuilder._moduleSettingsClicked),e("body").delegate(".fl-module-overlay","click",FLBuilder._moduleSettingsClicked),e("body").delegate(".fl-builder-module-settings .fl-builder-settings-save","click",FLBuilder._saveModuleClicked),e("body").delegate(".fl-builder-settings-save-as","click",FLBuilder._showNodeTemplateSettings),e("body").delegate(".fl-builder-node-template-settings .fl-builder-settings-save","click",FLBuilder._saveNodeTemplate),e("body").delegate(".fl-builder-settings-tabs a","click",FLBuilder._settingsTabClicked),e("body").delegate(".fl-builder-settings-cancel","click",FLBuilder._settingsCancelClicked),e("body").delegate(".fl-help-tooltip-icon","mouseover",FLBuilder._showHelpTooltip),e("body").delegate(".fl-help-tooltip-icon","mouseout",FLBuilder._hideHelpTooltip),e("body").delegate(".fl-builder-field-add","click",FLBuilder._addFieldClicked),e("body").delegate(".fl-builder-field-copy","click",FLBuilder._copyFieldClicked),e("body").delegate(".fl-builder-field-delete","click",FLBuilder._deleteFieldClicked),e("body").delegate(".fl-builder-settings-fields select","change",FLBuilder._settingsSelectChanged),e("body").delegate(".fl-photo-field .fl-photo-select","click",FLBuilder._selectSinglePhoto),e("body").delegate(".fl-photo-field .fl-photo-edit","click",FLBuilder._selectSinglePhoto),e("body").delegate(".fl-photo-field .fl-photo-replace","click",FLBuilder._selectSinglePhoto),e("body").delegate(".fl-photo-field .fl-photo-remove","click",FLBuilder._singlePhotoRemoved),e("body").delegate(".fl-multiple-photos-field .fl-multiple-photos-select","click",FLBuilder._selectMultiplePhotos),e("body").delegate(".fl-multiple-photos-field .fl-multiple-photos-edit","click",FLBuilder._selectMultiplePhotos),e("body").delegate(".fl-multiple-photos-field .fl-multiple-photos-add","click",FLBuilder._selectMultiplePhotos),e("body").delegate(".fl-video-field .fl-video-select","click",FLBuilder._selectSingleVideo),e("body").delegate(".fl-video-field .fl-video-replace","click",FLBuilder._selectSingleVideo),e("body").delegate(".fl-multiple-audios-field .fl-multiple-audios-select","click",FLBuilder._selectMultipleAudios),e("body").delegate(".fl-multiple-audios-field .fl-multiple-audios-edit","click",FLBuilder._selectMultipleAudios),e("body").delegate(".fl-multiple-audios-field .fl-multiple-audios-add","click",FLBuilder._selectMultipleAudios),e("body").delegate(".fl-icon-field .fl-icon-select","click",FLBuilder._selectIcon),e("body").delegate(".fl-icon-field .fl-icon-replace","click",FLBuilder._selectIcon),e("body").delegate(".fl-icon-field .fl-icon-remove","click",FLBuilder._removeIcon),e("body").delegate(".fl-form-field .fl-form-field-edit","click",FLBuilder._formFieldClicked),e("body").delegate(".fl-form-field-settings .fl-builder-settings-save","click",FLBuilder._saveFormFieldClicked),e("body").delegate(".fl-layout-field-option","click",FLBuilder._layoutFieldClicked),e("body").delegate(".fl-link-field-select","click",FLBuilder._linkFieldSelectClicked),e("body").delegate(".fl-link-field-search-cancel","click",FLBuilder._linkFieldSelectCancelClicked),e("body").delegate(".fl-loop-builder select[name=post_type]","change",FLBuilder._loopBuilderPostTypeChange),e("body").delegate(".fl-select-add-value","change",FLBuilder._textFieldAddValueSelectChange)},_bindOverlayEvents:function(){var t=e(FLBuilder._contentClass);t.delegate(".fl-row","mouseenter",FLBuilder._rowMouseenter),t.delegate(".fl-row","mouseleave",FLBuilder._rowMouseleave),t.delegate(".fl-row-overlay","mouseleave",FLBuilder._rowMouseleave),t.delegate(".fl-col","mouseenter",FLBuilder._colMouseenter),t.delegate(".fl-col","mouseleave",FLBuilder._colMouseleave),t.delegate(".fl-module","mouseenter",FLBuilder._moduleMouseenter),t.delegate(".fl-module","mouseleave",FLBuilder._moduleMouseleave)},_destroyOverlayEvents:function(){var t=e(FLBuilder._contentClass);t.undelegate(".fl-row","mouseenter",FLBuilder._rowMouseenter),t.undelegate(".fl-row","mouseleave",FLBuilder._rowMouseleave),t.undelegate(".fl-row-overlay","mouseleave",FLBuilder._rowMouseleave),t.undelegate(".fl-col","mouseenter",FLBuilder._colMouseenter),t.undelegate(".fl-col","mouseleave",FLBuilder._colMouseleave),t.undelegate(".fl-module","mouseenter",FLBuilder._moduleMouseenter),t.undelegate(".fl-module","mouseleave",FLBuilder._moduleMouseleave)},_preventDefault:function(e){e.preventDefault()},_stopPropagation:function(e){e.stopPropagation()},_headerLinkClicked:function(t){var l=e(this),i=l.attr("href");t.preventDefault(),FLBuilderConfig.isUserTemplate||(FLBuilder._exitUrl=i.indexOf("?")>-1?i:i+"?fl_builder",FLBuilder._doneClicked())},_warnBeforeUnload:function(){var t=e(".fl-builder-row-settings").length>0,l=e(".fl-builder-col-settings").length>0,i=e(".fl-builder-module-settings").length>0;if(t||l||i)return FLBuilderStrings.unloadWarning},_initTipTips:function(){e(".fl-tip:not(.fl-has-tip)").each(function(){var t=e(this);t.addClass("fl-has-tip"),void 0==t.attr("data-title")&&t.attr("data-title",t.attr("title"))}).tipTip({defaultPosition:"top",delay:1500})},_hideTipTips:function(){e("#tiptip_holder").stop().remove()},_submenuParentClicked:function(t){var l=e(this),i=l.find(".fl-builder-submenu");l.hasClass("fl-builder-submenu-open")?(l.removeClass("fl-builder-submenu-open"),l.removeClass("fl-builder-submenu-right")):(l.offset().left+i.width()>e(window).width()&&l.addClass("fl-builder-submenu-right"),l.addClass("fl-builder-submenu-open")),FLBuilder._hideTipTips(),t.preventDefault(),t.stopPropagation()},_submenuChildClicked:function(t){var l=e(this).parents(".fl-builder-has-submenu");l.parents(".fl-builder-has-submenu").length||l.removeClass("fl-builder-submenu-open")},_submenuMouseenter:function(t){var l=e(this),i=l.data("timeout");"undefined"!=typeof i&&clearTimeout(i)},_submenuMouseleave:function(t){var l=e(this),i=setTimeout(function(){l.closest(".fl-builder-has-submenu").removeClass("fl-builder-submenu-open")},500);l.data("timeout",i)},_submenuNestedParentMouseenter:function(t){var l=e(this),i=l.find(".fl-builder-submenu");l.width()+l.offset().left+i.width()>e(window).width()&&l.addClass("fl-builder-submenu-right")},_closeAllSubmenus:function(){e(".fl-builder-submenu-open").removeClass("fl-builder-submenu-open")},_toolsClicked:function(){var e=[],t=FLBuilderConfig.lite,l=FLBuilderConfig.enabledTemplates;t||FLBuilderConfig.isUserTemplate||"enabled"!=l&&"user"!=l||(e[10]={key:"save-user-template",label:FLBuilderStrings.saveTemplate}),FLBuilderConfig.isUserTemplate?"undefined"!=typeof window.opener&&window.opener||(e[20]={key:"duplicate-layout",label:FLBuilderStrings.duplicateLayout}):e[20]={key:"duplicate-layout",label:FLBuilderStrings.duplicateLayout},e[30]={key:"layout-settings",label:FLBuilderStrings.editLayoutSettings},e[40]={key:"global-settings",label:FLBuilderStrings.editGlobalSettings},FLBuilder._showActionsLightbox({className:"fl-builder-tools-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_doneClicked:function(){var e=[],t=FLBuilderStrings.publish;"publish"==FLBuilderConfig.postStatus||FLBuilderConfig.userCanPublish||(t=FLBuilderStrings.submitForReview),e[10]={key:"publish",label:t},e[20]={key:"draft",label:FLBuilderStrings.draft},e[30]={key:"discard",label:FLBuilderStrings.discard},FLBuilder._showActionsLightbox({className:"fl-builder-save-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_upgradeClicked:function(){window.open(FLBuilderConfig.upgradeUrl)},_helpButtonClicked:function(){var e={};FLBuilderConfig.help.tour&&(e[10]={key:"help-tour",label:FLBuilderStrings.takeHelpTour}),FLBuilderConfig.help.video&&(e[20]={key:"help-video",label:FLBuilderStrings.watchHelpVideo}),FLBuilderConfig.help.knowledge_base&&(e[30]={key:"knowledge-base",label:FLBuilderStrings.viewKnowledgeBase}),FLBuilderConfig.help.forums&&(e[40]={key:"forums",label:FLBuilderStrings.visitForums}),FLBuilder._showActionsLightbox({className:"fl-builder-help-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_closePanel:function(){e(".fl-builder-panel").stop(!0,!0).animate({right:"-350px"},500,function(){e(this).hide()}),e(".fl-builder-bar .fl-builder-add-content-button").stop(!0,!0).fadeIn()},_showPanel:function(){e(".fl-builder-bar .fl-builder-add-content-button").stop(!0,!0).fadeOut(),e(".fl-builder-panel").stop(!0,!0).show().animate({right:"0"},500)},_blockSectionTitleClicked:function(){var t=e(this),l=t.parent();l.hasClass("fl-active")?l.removeClass("fl-active"):(e(".fl-builder-blocks-section").removeClass("fl-active"),l.addClass("fl-active")),FLBuilder._initScrollbars()},_publishButtonClicked:function(){FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_layout"},FLBuilder._exit),FLBuilder._actionsLightbox.close()},_draftButtonClicked:function(){FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_draft"},FLBuilder._exit),FLBuilder._actionsLightbox.close()},_discardButtonClicked:function(){var e=confirm(FLBuilderStrings.discardMessage);e&&(FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"clear_draft_layout"},FLBuilder._exit),FLBuilder._actionsLightbox.close())},_cancelButtonClicked:function(){FLBuilder._exitUrl=null,FLBuilder._actionsLightbox.close()},_exit:function(){var e=window.location.href;FLBuilderConfig.isUserTemplate&&"undefined"!=typeof window.opener&&window.opener?("undefined"!=typeof window.opener.FLBuilder&&window.opener.FLBuilder._updateLayout(),window.close()):(FLBuilder._exitUrl?e=FLBuilder._exitUrl:(e=e.replace("?fl_builder&","?"),e=e.replace("?fl_builder",""),e=e.replace("&fl_builder","")),window.location.href=e)},_duplicateLayoutClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"duplicate_post"},FLBuilder._duplicateLayoutComplete)},_duplicateLayoutComplete:function(t){var l=e("#fl-admin-url").val();window.location.href=l+"post.php?post="+t+"&action=edit"},_layoutSettingsClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showLightbox(),FLBuilder._closePanel(),FLBuilder.ajax({action:"render_layout_settings"},FLBuilder._layoutSettingsLoaded)},_layoutSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.html),FLBuilder._layoutSettingsInitCSS()},_layoutSettingsInitCSS:function(){var t=e(".fl-builder-settings #fl-field-css textarea:not(.ace_text-input)");t.on("change",FLBuilder._layoutSettingsCSSChanged),FLBuilder._layoutSettingsCSSCache=t.val()},_layoutSettingsCSSChanged:function(){FLBuilder._layoutSettingsCSSTimeout&&clearTimeout(FLBuilder._layoutSettingsCSSTimeout),FLBuilder._layoutSettingsCSSTimeout=setTimeout(e.proxy(FLBuilder._layoutSettingsCSSDoChange,this),600)},_layoutSettingsCSSDoChange:function(){var t=e(".fl-builder-settings"),l=e(this),i=l.parents("#fl-field-css");i.find(".ace_error").length>0||(t.hasClass("fl-builder-layout-settings")?e("#fl-builder-layout-css").html(l.val()):e("#fl-builder-global-css").html(l.val()),FLBuilder._layoutSettingsCSSTimeout=null)},_saveLayoutSettingsClicked:function(){for(var t=e(this).closest(".fl-builder-settings"),l=t.serializeArray(),i={},o=0;o<l.length;o++)i[l[o].name]=l[o].value;FLBuilder.showAjaxLoader(),FLBuilder._lightbox.close(),FLBuilder._layoutSettingsCSSCache=null,FLBuilder.ajax({action:"save_layout_settings",settings:i},FLBuilder._updateLayout)},_cancelLayoutSettingsClicked:function(){var t=e(".fl-builder-settings");t.hasClass("fl-builder-layout-settings")?e("#fl-builder-layout-css").html(FLBuilder._layoutSettingsCSSCache):e("#fl-builder-global-css").html(FLBuilder._layoutSettingsCSSCache),FLBuilder._layoutSettingsCSSCache=null},_globalSettingsClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_global_settings"},FLBuilder._globalSettingsLoaded)},_globalSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.html),FLBuilder._layoutSettingsInitCSS(),FLBuilder._initSettingsValidation({row_width:{required:!0,number:!0},responsive_breakpoint:{required:!0,number:!0}})},_saveGlobalSettingsClicked:function(){var t=e(this).closest(".fl-builder-settings"),l=t.validate().form(),i=t.serializeArray(),o={},s=0;if(l){for(;s<i.length;s++)o[i[s].name]=i[s].value;FLBuilder.showAjaxLoader(),FLBuilder._layoutSettingsCSSCache=null,FLBuilder.ajax({action:"save_global_settings",settings:o},FLBuilder._saveGlobalSettingsComplete),FLBuilder._lightbox.close()}},_saveGlobalSettingsComplete:function(e){FLBuilderConfig.global=JSON.parse(e),FLBuilder._updateLayout()},_initTemplateSelector:function(){var t=e(FLBuilder._contentClass).find(".fl-row");0===t.length&&FLBuilder._showTemplateSelector()},_changeTemplateClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showTemplateSelector()},_showTemplateSelector:function(){FLBuilderConfig.simpleUi||FLBuilderConfig.isUserTemplate||"disabled"!=FLBuilderConfig.enabledTemplates&&0!==e(".fl-builder-templates-button").length&&(FLBuilder._showLightbox(!1),FLBuilder.ajax({action:"render_template_selector"},FLBuilder._templateSelectorLoaded))},_templateSelectorLoaded:function(t){var l=JSON.parse(t),i=null,o=null;FLBuilder._setLightboxContent(l.html),i=e(".fl-template-category-select"),tabs=e(".fl-builder-settings-tab"),userTemplatesTab=e("#fl-builder-settings-tab-yours"),o=e(".fl-user-template"),("user"==FLBuilderConfig.enabledTemplates||o.length>0||userTemplatesTab.length>0&&1==tabs.length)&&(i.val("fl-builder-settings-tab-yours"),e(".fl-builder-settings-tab").removeClass("fl-active"),e("#fl-builder-settings-tab-yours").addClass("fl-active")),0===o.length&&e(".fl-user-templates-message").show(),e("body").trigger("fl-builder.template-selector-loaded")},_templateCategoryChanged:function(){e(".fl-template-selector .fl-builder-settings-tab").hide(),e("#"+e(this).val()).show()},_templateClicked:function(){var t=e(this),l=t.closest(".fl-template-preview").attr("data-id");e(FLBuilder._contentClass).children(".fl-row").length>0?0==l?confirm(FLBuilderStrings.changeTemplateMessage)&&(FLBuilder._lightbox._node.hide(),FLBuilder._applyTemplate(0,!1,"core")):(FLBuilder._selectedTemplateId=l,FLBuilder._selectedTemplateType="core",FLBuilder._showTemplateActions(),FLBuilder._lightbox._node.hide()):FLBuilder._applyTemplate(l,!1,"core")},_showTemplateActions:function(){var e=[];e[10]={key:"template-replace",label:FLBuilderStrings.templateReplace},e[20]={key:"template-append",label:FLBuilderStrings.templateAppend},FLBuilder._showActionsLightbox({className:"fl-builder-template-actions",title:FLBuilderStrings.actionsLightboxTitle,buttons:e})},_templateReplaceClicked:function(){confirm(FLBuilderStrings.changeTemplateMessage)&&(FLBuilder._actionsLightbox.close(),FLBuilder._applyTemplate(FLBuilder._selectedTemplateId,!1,FLBuilder._selectedTemplateType))},_templateAppendClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._applyTemplate(FLBuilder._selectedTemplateId,!0,FLBuilder._selectedTemplateType)},_templateCancelClicked:function(){FLBuilder._lightbox._node.show()},_applyTemplate:function(e,t,l){t="undefined"!=typeof t&&t?"1":"0",l="undefined"==typeof l?"core":l,FLBuilder._lightbox.close(),FLBuilder.showAjaxLoader(),"core"==l?FLBuilder.ajax({action:"apply_template",template_id:e,append:t},FLBuilder._updateLayout):FLBuilder.ajax({action:"apply_user_template",template_id:e,append:t},FLBuilder._updateLayout)},_saveUserTemplateClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._showLightbox(!1),FLBuilder.ajax({action:"render_user_template_settings"},FLBuilder._userTemplateSettingsLoaded)},_userTemplateSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.html),FLBuilder._initSettingsValidation({name:{required:!0}})},_saveUserTemplateSettings:function(){var t=e(this).closest(".fl-builder-settings"),l=t.validate().form(),i=FLBuilder._getSettings(t);l&&(FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_user_template",settings:i},FLBuilder._saveUserTemplateSettingsComplete),FLBuilder._lightbox.close())},_saveUserTemplateSettingsComplete:function(){FLBuilder.alert(FLBuilderStrings.templateSaved)},_userTemplateClicked:function(){var t=e(this).attr("data-id");e(FLBuilder._contentClass).children(".fl-row").length>0?"blank"==t?confirm(FLBuilderStrings.changeTemplateMessage)&&(FLBuilder._lightbox._node.hide(),FLBuilder._applyTemplate("blank",!1,"user")):(FLBuilder._selectedTemplateId=t,FLBuilder._selectedTemplateType="user",FLBuilder._showTemplateActions(),FLBuilder._lightbox._node.hide()):FLBuilder._applyTemplate(t,!1,"user")},_editUserTemplateClicked:function(t){t.preventDefault(),t.stopPropagation(),window.open(e(this).attr("href"))},_deleteUserTemplateClicked:function(t){var l=e(this).closest(".fl-user-template"),i=l.attr("data-id"),o=e(".fl-user-template[data-id="+i+"]"),s=null;confirm(FLBuilderStrings.deleteTemplate)&&(FLBuilder.ajax({action:"delete_user_template",template_id:i}),o.fadeOut(function(){l=e(this),s=l.closest(".fl-user-template-category"),l.remove(),0===s.find(".fl-user-template").length&&s.remove(),1===e(".fl-user-template").length&&(e(".fl-user-templates").hide(),e(".fl-user-templates-message").show())})),t.stopPropagation()},_watchVideoClicked:function(){var e=wp.template("fl-video-lightbox");FLBuilder._actionsLightbox.close(),FLBuilder._lightbox.open(e({video:FLBuilderConfig.help.video_embed}))},_viewKnowledgeBaseClicked:function(){FLBuilder._actionsLightbox.close(),window.open(FLBuilderConfig.help.knowledge_base_url)},_visitForumsClicked:function(){FLBuilder._actionsLightbox.close(),window.open(FLBuilderConfig.help.forums_url)},_showTourOrTemplates:function(){FLBuilderConfig.simpleUi||FLBuilderConfig.isUserTemplate||(FLBuilderConfig.help.tour&&FLBuilderConfig.newUser?FLBuilder._showTourLightbox():FLBuilder._initTemplateSelector())},_showTourLightbox:function(){var e=wp.template("fl-tour-lightbox");FLBuilder._actionsLightbox.open(e())},_noTourButtonClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilder._initTemplateSelector()},_yesTourButtonClicked:function(){FLBuilder._actionsLightbox.close(),FLBuilderTour.start()},_startHelpTour:function(){FLBuilder._actionsLightbox.close(),FLBuilderTour.start()},_setupEmptyLayout:function(){var t=e(FLBuilder._contentClass);FLBuilderConfig.isUserTemplate&&"module"==FLBuilderConfig.userTemplateType||(t.removeClass("fl-builder-empty"),t.find(".fl-builder-empty-message").remove(),0===t.children(".fl-row").length&&(t.addClass("fl-builder-empty"),t.append('<span class="fl-builder-empty-message">'+FLBuilderStrings.emptyMessage+"</span>"),FLBuilder._initSortables()))},_updateLayout:function(){FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"render_layout"},FLBuilder._renderLayout)},_renderLayout:function(e,t){FLBuilder._layout=new FLBuilderAJAXLayout(e,t)},_renderLayoutComplete:function(){FLBuilder._layout&&(FLBuilder._layout._complete(),FLBuilder._layout=null)},_resizeLayout:function(){e(window).trigger("resize"),"undefined"!=typeof YUI&&YUI().use("node-event-simulate",function(e){e.one(window).simulate("resize")})},_initMediaElements:function(){var t={};"undefined"!=typeof e.fn.mediaelementplayer&&("undefined"!=typeof _wpmejsSettings&&(t.pluginPath=_wpmejsSettings.pluginPath),e(".wp-audio-shortcode, .wp-video-shortcode").not(".mejs-container").mediaelementplayer(t))},_initDropTargets:function(){var t="row"==FLBuilderConfig.userTemplateType?"":":not(.fl-node-global)",l=e(FLBuilder._contentClass+" .fl-row"),i=null,o=e(FLBuilder._contentClass+" .fl-row"+t).find(".fl-col-group"),s=null,r=null,n=0;for(e(".fl-col-drop-target").remove(),e(".fl-col-group-drop-target").remove(),e(".fl-row-drop-target").remove(),e(FLBuilder._contentClass).append('<div class="fl-drop-target fl-row-drop-target"></div>'),l.prepend('<div class="fl-drop-target fl-row-drop-target"></div>'),l.append('<div class="fl-drop-target fl-drop-target-last fl-row-drop-target fl-row-drop-target-last"></div>');n<l.length;n++)i=l.eq(n),0===i.find(".fl-col-group").length&&i.find(".fl-row-content").append('<div class="fl-drop-target fl-col-group-drop-target"></div>');for(n=0;n<o.length;n++)s=o.eq(n),r=s.find("> .fl-col"),s.hasClass("fl-col-group-nested")||(s.append('<div class="fl-drop-target fl-col-group-drop-target"></div>'),s.append('<div class="fl-drop-target fl-drop-target-last fl-col-group-drop-target fl-col-group-drop-target-last"></div>')),r.append('<div class="fl-drop-target fl-col-drop-target"></div>'),r.append('<div class="fl-drop-target fl-drop-target-last fl-col-drop-target fl-col-drop-target-last"></div>')},_blockDragHelper:function(e,t){var l=t.clone();return t.clone().insertAfter(t),l.addClass("fl-builder-block-drag-helper"),l},_blockDragInit:function(t){var l=e(t.currentTarget),i=null,o=e(window).scrollTop(),s=0;FLBuilder._dragEnabled=!0,FLBuilder._dragInitialScrollTop=o,l.closest("[data-node]").length>0?(i=l.closest("[data-node]"),i.addClass("fl-node-drag-init")):l.hasClass("fl-builder-block")&&e(".fl-row").each(function(){null===i&&e(this).offset().top-o>0&&(i=e(this))}),null!==i&&(s=i.offset().top-o),FLBuilder._highlightRowsAndColsForDrag(l),FLBuilder._adjustColHeightsForDrag(),FLBuilder._disableGlobalRows(),FLBuilder._closePanel(),FLBuilder._destroyOverlayEvents(),FLBuilder._removeAllOverlays(),FLBuilder._initSortables(),e("body").addClass("fl-builder-dragging"),e(".fl-builder-empty-message").hide(),e(".fl-sortable-disabled").removeClass("fl-sortable-disabled"),s>0&&scrollTo(0,i.offset().top-s)},_blockDragStart:function(t,l){FLBuilder._dragging=!0,e(".fl-node-drag-init").removeClass("fl-node-drag-init")},_blockDragSort:function(t,l){var i=l.placeholder.parent(),o=FLBuilderStrings.insert;FLBuilder._blockPreventSort(l.item,i)||(i.hasClass("fl-col-content")?o=l.item.hasClass("fl-builder-block-row")?l.item.find(".fl-builder-block-title").text():l.item.hasClass("fl-col-sortable-proxy-item")?FLBuilderStrings.column:l.item.hasClass("fl-builder-block-module")?l.item.find(".fl-builder-block-title").text():l.item.hasClass("fl-builder-block-saved-module")||l.item.hasClass("fl-builder-block-module-template")?l.item.find(".fl-builder-block-title").text():l.item.attr("data-name"):i.hasClass("fl-col-drop-target")?o="":i.hasClass("fl-col-group-drop-target")?o="":i.hasClass("fl-row-drop-target")&&(o=l.item.hasClass("fl-builder-block-row")?l.item.find(".fl-builder-block-title").text():l.item.hasClass("fl-builder-block-saved-row")?l.item.find(".fl-builder-block-title").text():l.item.hasClass("fl-row-sortable-proxy-item")?FLBuilderStrings.row:FLBuilderStrings.newRow),l.placeholder.html(o),l.item.hasClass("fl-node-global")||l.item.hasClass("fl-builder-block-global")||e(".fl-node-dragging").hasClass("fl-node-global")?l.placeholder.addClass("fl-builder-drop-zone-global"):l.placeholder.removeClass("fl-builder-drop-zone-global"))},_blockDragChange:function(e,t){t.placeholder.hide(),t.placeholder.fadeIn(100)},_blockPreventSort:function(t,l){var i=!1,o=t.hasClass("fl-builder-block-row"),s=t.hasClass("fl-col-sortable-proxy-item"),r=l.hasClass("fl-col-content"),n=l.hasClass("fl-col-drop-target"),a=l.parents(".fl-col-group:not(.fl-col-group-nested)"),d=l.parents(".fl-col-group-nested");return(o||s)&&r&&d.length>0&&(i=!0),r&&!l.find(".fl-module, .fl-col").length&&(o&&"1-col"==t.data("cols")?i=!0:s&&(i=!0)),o&&r&&e.inArray(t.data("cols"),["5-cols","6-cols"])>-1&&(i=!0),s&&e(".fl-node-dragging").find(".fl-col-group-nested").length>0&&(r||n&&d.length>0)&&(i=!0),n&&a.length>0&&0===d.length&&a.find("> .fl-col:visible").length>11&&(i=!0),n&&d.length>0&&d.find(".fl-col:visible").length>3&&(i=!0),i&&l.addClass("fl-sortable-disabled"),i},_blockDragStop:function(t,l){var i=e(window).scrollTop(),o=l.item.parent(),s=null;o.hasClass("fl-drop-target")&&o.closest("[data-node]").length?(o=o.closest("[data-node]"),s=o.offset().top-i):s=o.offset().top-i,o.hasClass("fl-builder-blocks-section-content")&&FLBuilder._showPanel(),FLBuilder._dragEnabled=!1,FLBuilder._dragging=!1,FLBuilder._bindOverlayEvents(),FLBuilder._highlightEmptyCols(),FLBuilder._enableGlobalRows(),FLBuilder._setupEmptyLayout(),e("body").removeClass("fl-builder-dragging"),scrollTo(0,o.offset().top-s)},_blockDragCancel:function(){FLBuilder._dragEnabled&&!FLBuilder._dragging&&(FLBuilder._dragEnabled=!1,FLBuilder._dragging=!1,FLBuilder._bindOverlayEvents(),FLBuilder._highlightEmptyCols(),FLBuilder._enableGlobalRows(),FLBuilder._setupEmptyLayout(),e("body").removeClass("fl-builder-dragging"),e(".fl-node-drag-init").removeClass("fl-node-drag-init"),e(".fl-node-dragging").removeClass("fl-node-dragging"),scrollTo(0,FLBuilder._dragInitialScrollTop))},_reorderNode:function(e,t){FLBuilder.ajax({action:"reorder_node",node_id:e,position:t,silent:!0})},_moveNode:function(e,t,l){FLBuilder.ajax({action:"move_node",new_parent:e,node_id:t,position:l,silent:!0})},_removeAllOverlays:function(){FLBuilder._removeRowOverlays(),FLBuilder._removeColOverlays(),FLBuilder._removeColHighlightGuides(),FLBuilder._removeModuleOverlays(),FLBuilder._hideTipTips()},_appendOverlay:function(e,t){var l=0,i=null,o=e.hasClass("fl-row"),s=o?e.find("> .fl-row-content-wrap"):e.find("> .fl-node-content"),r={top:parseInt(s.css("margin-top"),10),bottom:parseInt(s.css("margin-bottom"),10)};return e.append(t),e.addClass("fl-block-overlay-active"),FLBuilder._initTipTips(),i=e.find("> .fl-block-overlay"),r.top<0&&(l=parseInt(i.css("top"),10),l=isNaN(l)?0:l,i.css("top",r.top+l+"px")),r.bottom<0&&(l=parseInt(i.css("bottom"),10),l=isNaN(l)?0:l,i.css("bottom",r.bottom+l+"px")),i},_buildOverlayOverflowMenu:function(e){var t=e.find(".fl-block-overlay-actions"),l=t.data("original"),i=0,o=null,s=0,r=null,n=0,a=[],d=[],u=[],c=wp.template("fl-overlay-overflow-menu");for(void 0!=l&&(t.after(l),t.remove(),t=l),t.data("original",t.clone()),i=t[0].getBoundingClientRect().width,o=t.find(" > i, > span.fl-builder-has-submenu");n<o.length;n++)r=o.eq(n),s+=r.outerWidth(),s>i?(d.push(r),r.remove()):a.push(r);if(d.length>0){for(d.unshift(a.pop().remove()),n=0;n<d.length;n++)d[n].is(".fl-builder-has-submenu")?u.push({type:"submenu",label:d[n].find(".fa").data("title"),
|
4 |
+
submenu:d[n].find(".fl-builder-submenu")[0].outerHTML}):u.push({type:"action",label:d[n].data("title"),className:d[n].removeClass(function(e,t){return t.replace(/fl-block-([^\s]+)/,"")}).attr("class")});t.append(c(u)),FLBuilder._initTipTips()}},_removeRowOverlays:function(){e(".fl-row").removeClass("fl-block-overlay-active"),e(".fl-row-overlay").remove(),e(".fl-module").removeClass("fl-module-adjust-height")},_disableGlobalRows:function(){"row"!=FLBuilderConfig.userTemplateType&&e(".fl-row.fl-node-global").addClass("fl-node-disabled")},_enableGlobalRows:function(){"row"!=FLBuilderConfig.userTemplateType&&e(".fl-node-disabled").removeClass("fl-node-disabled")},_rowMouseenter:function(){var t=e(this),l=t.offset().top,i=null,o=null,s=wp.template("fl-row-overlay");t.hasClass("fl-block-overlay-active")||(o=FLBuilder._appendOverlay(t,s({global:t.hasClass("fl-node-global"),node:t.attr("data-node")})),t.find(".fl-node-content:visible").each(function(){var t=e(this).offset().top;i=null===i||i>t?t:i}),null!==i&&i<l&&o.css("top",i-l-30+"px"),o.offset().top<43&&o.addClass("fl-row-overlay-header-bottom"),t.find(".fl-module").each(function(){var t=e(this);t.outerHeight(!0)<20&&t.addClass("fl-module-adjust-height")}))},_rowMouseleave:function(t){var l=e(t.toElement)||e(t.relatedTarget),i=l.hasClass("fl-row-overlay"),o=l.closest(".fl-row-overlay").length>0,s=l.is("#tiptip_holder"),r=l.closest("#tiptip_holder").length>0;i||o||s||r||FLBuilder._removeRowOverlays()},_rowDragHelper:function(){return e('<div class="fl-builder-block-drag-helper">'+FLBuilderStrings.row+"</div>")},_rowDragInit:function(t){var l=e(t.target),i=e(".fl-row-sortable-proxy-item"),o=l.closest(".fl-row");o.addClass("fl-node-dragging"),FLBuilder._blockDragInit(t),t.target=i[0],i.trigger(t)},_rowDragStart:function(t,l){var i=e(FLBuilder._contentClass+" .fl-row"),o=e(".fl-node-dragging");1===i.length&&e(FLBuilder._contentClass).addClass("fl-builder-empty"),o.hide(),FLBuilder._blockDragStart(t,l)},_rowDragStop:function(t,l){var i=l.item,o=i.parent(),s=null,r=null,n=0;if(FLBuilder._blockDragStop(t,l),o.hasClass("fl-builder-rows"))return void i.remove();if(o.hasClass("fl-row-sortable-proxy"))return void e(".fl-node-dragging").removeClass("fl-node-dragging").show();if(i.hasClass("fl-builder-block")){if(o.hasClass("fl-sortable-disabled"))return i.remove(),void FLBuilder._showPanel();o.hasClass("fl-col-content")?FLBuilder._addColGroup(i.closest(".fl-col").attr("data-node"),i.attr("data-cols"),o.find("> .fl-module, .fl-col-group, .fl-builder-block").index(i)):o.hasClass("fl-col-drop-target")?FLBuilder._addCols(o.closest(".fl-col"),o.hasClass("fl-col-drop-target-last")?"after":"before",i.attr("data-cols"),o.closest(".fl-col-group-nested").length>0):o.hasClass("fl-col-group-drop-target")?(r=i.closest(".fl-col-group"),n=i.closest(".fl-row").find(".fl-row-content > .fl-col-group").index(r),FLBuilder._addColGroup(i.closest(".fl-row").attr("data-node"),i.attr("data-cols"),o.hasClass("fl-drop-target-last")?n+1:n)):(s=i.closest(".fl-row"),n=s.length?e(FLBuilder._contentClass+" .fl-row").index(s):0,FLBuilder._addRow(i.attr("data-cols"),o.hasClass("fl-drop-target-last")?n+1:n)),i.remove(),FLBuilder._showPanel(),e(".fl-builder-modules").siblings(".fl-builder-blocks-section-title").eq(0).trigger("click")}else s=e(".fl-node-dragging").removeClass("fl-node-dragging").show(),o.parent().hasClass("fl-builder-content")||(o.hasClass("fl-drop-target-last")?o.parent().after(s):o.parent().before(s),FLBuilder._reorderNode(s.attr("data-node"),s.index())),e(".fl-row-sortable-proxy").append(l.item)},_addRow:function(e,t){FLBuilder.showAjaxLoader(),FLBuilder._newRowPosition=t,FLBuilder.ajax({action:"render_new_row",cols:e,position:t},FLBuilder._addRowComplete)},_addRowComplete:function(t){var l=JSON.parse(t),i=e(FLBuilder._contentClass),o=e(l.html).data("node"),s=FLBuilder._addModuleAfterNodeRender;l.nodeParent=i,l.nodePosition=FLBuilder._newRowPosition,FLBuilder._renderLayout(l,function(){null!==s&&(e(".fl-node-"+o+" .fl-col-content").append(s),FLBuilder._reorderModule(s),FLBuilder._addModuleAfterNodeRender=null)})},_deleteRowClicked:function(t){var l=e(this).closest(".fl-row"),i=null;l.find(".fl-module").length?(i=confirm(FLBuilderStrings.deleteRowMessage),i&&FLBuilder._deleteRow(l)):FLBuilder._deleteRow(l),FLBuilder._removeAllOverlays(),t.stopPropagation()},_deleteRow:function(e){FLBuilder.ajax({action:"delete_node",node_id:e.attr("data-node"),silent:!0}),e.empty(),e.remove(),FLBuilder._setupEmptyLayout(),FLBuilder._removeRowOverlays()},_rowCopyClicked:function(t){var l=e(this).closest(".fl-row"),i=l.attr("data-node");FLBuilder.showAjaxLoader(),FLBuilder._removeAllOverlays(),FLBuilder._newRowPosition=l.index(".fl-row")+1,FLBuilder.ajax({action:"copy_row",node_id:i},FLBuilder._rowCopyComplete),t.stopPropagation()},_rowCopyComplete:function(t){var l=JSON.parse(t);l.nodeParent=e(FLBuilder._contentClass),l.nodePosition=FLBuilder._newRowPosition,FLBuilder._renderLayout(l)},_rowSettingsClicked:function(t){var l=e(this),i=l.closest(".fl-row").attr("data-node"),o=l.closest(".fl-block-overlay-global").length>0;o&&"row"!=FLBuilderConfig.userTemplateType?FLBuilderConfig.userCanEditGlobalTemplates&&window.open(e('.fl-row[data-node="'+i+'"]').attr("data-template-url")):l.hasClass("fl-block-settings")&&(FLBuilder._closePanel(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_row_settings",node_id:i},FLBuilder._rowSettingsLoaded)),t.stopPropagation()},_rowSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._setSettingsFormContent(t.settings),FLBuilder.preview=new FLBuilderPreview({type:"row",state:t.state})},_highlightEmptyCols:function(){var t="row"==FLBuilderConfig.userTemplateType?"":":not(.fl-node-global)",l=(e(FLBuilder._contentClass+" .fl-row"+t),e(FLBuilder._contentClass+" .fl-col"+t));e(".fl-row-highlight").removeClass("fl-row-highlight"),l.removeClass("fl-col-highlight").find(".fl-col-content").css("height",""),l.each(function(){var t=e(this);0===t.find(".fl-module, .fl-col").length&&t.addClass("fl-col-highlight")})},_highlightRowsAndColsForDrag:function(t){var l="row"==FLBuilderConfig.userTemplateType?"":":not(.fl-node-global)";e(FLBuilder._contentClass+" .fl-row").addClass("fl-row-highlight"),t.closest(".fl-row-overlay").length||e(FLBuilder._contentClass+" .fl-col"+l).addClass("fl-col-highlight")},_adjustColHeightsForDrag:function(){var t="row"==FLBuilderConfig.userTemplateType?"":".fl-row:not(.fl-node-global) ",l=e(FLBuilder._contentClass),i=l.find(t+".fl-col-group:not(.fl-col-group-nested) > .fl-col > .fl-col-content"),o=l.find(t+".fl-col-group-nested .fl-col-content"),s=0;for(e(".fl-node-drag-init").hide();s<o.length;s++)FLBuilder._adjustColHeightForDrag(o.eq(s));for(s=0;s<i.length;s++)FLBuilder._adjustColHeightForDrag(i.eq(s));e(".fl-node-drag-init").show()},_adjustColHeightForDrag:function(e){e.find(".fl-module:visible, .fl-col:visible").length&&e.height(e.height()+45)},_showColHighlightGuide:function(){var t=e(this),l=t.find("a"),i=t.closest(".fl-col"),o=i.parents(".fl-col"),s=e('<div class="fl-col-highlight-guide"></div>'),r=null,n=t.closest(".fl-block-overlay").offset().top;(l.hasClass("fl-block-col-move-parent")||l.hasClass("fl-block-col-edit-parent"))&&(i=o),i.hasClass("fl-col-highlight")||(i.find("> .fl-col-content").append(s),i.addClass("fl-col-has-highlight-guide"),r=s.offset().top,r>n&&s.css("top",n-r+4+"px"))},_removeColHighlightGuides:function(){e(".fl-col-has-highlight-guide").removeClass("fl-col-has-highlight-guide"),e(".fl-col-highlight-guide").remove()},_colMouseenter:function(){var t=e(this),l=t.closest(".fl-col-group"),i=t.hasClass("fl-node-global"),o=t.parents(".fl-node-global").length>0,s=t.closest(".fl-col-group").find("> .fl-col").length,r=l.find("> .fl-col").index(t),n=0===r,a=s===r+1,d=t.find(".fl-col").length>0,u=t.parents(".fl-col"),c=u.closest(".fl-col-group"),f=u.length>0,h=f?c.find("> .fl-col").length:0,p=c.find("> .fl-col").index(u),g=!!f&&0===p,_=!!f&&h===p+1,m=t.find("> .fl-col-content").width(),b=wp.template("fl-col-overlay"),v=null;FLBuilderConfig.simpleUi||i&&o&&"row"!=FLBuilderConfig.userTemplateType||t.find(".fl-module").length>0||t.find(".fl-col").length>0||(t.hasClass("fl-block-overlay-active")||(FLBuilder._removeColOverlays(),FLBuilder._removeModuleOverlays(),v=FLBuilder._appendOverlay(t,b({global:i,numCols:s,first:n,last:a,hasChildCols:d,hasParentCol:f,parentFirst:g,parentLast:_,numParentCols:h,contentWidth:m})),FLBuilder._buildOverlayOverflowMenu(v),FLBuilder._initColDragResizing()),e("body").addClass("fl-block-overlay-muted"))},_colMouseleave:function(t){var l=e(this),i=e(t.toElement)||e(t.relatedTarget),o=l.find(".fl-module").length>0,s=i.is("#tiptip_holder"),r=i.closest("#tiptip_holder").length>0;s||r||o||(FLBuilder._removeColOverlays(),FLBuilder._removeColHighlightGuides())},_removeColOverlays:function(){var t=e(".fl-col");t.removeClass("fl-block-overlay-active"),t.find(".fl-col-overlay").remove(),e("body").removeClass("fl-block-overlay-muted")},_colDragHelper:function(){return e('<div class="fl-builder-block-drag-helper">'+FLBuilderStrings.column+"</div>")},_colDragInit:function(t){var l=e(t.target),i=e(".fl-col-sortable-proxy-item"),o=l.closest(".fl-col");l.hasClass("fl-block-col-move-parent")&&(o=o.parents(".fl-col")),o.addClass("fl-node-dragging"),FLBuilder._blockDragInit(t),FLBuilder._removeColHighlightGuides(),t.target=i[0],i.trigger(t)},_colDragStart:function(t,l){var i=e(".fl-node-dragging");i.hide(),FLBuilder._resetColumnWidths(i.parent()),FLBuilder._blockDragStart(t,l)},_colDragStop:function(t,l){FLBuilder._blockDragStop(t,l);var i=e(".fl-node-dragging").removeClass("fl-node-dragging").show(),o=i.attr("data-node"),s=l.item.parent(),r=i.parent(),n=r.attr("data-node");newGroup=s.closest(".fl-col-group"),newGroupId=newGroup.attr("data-node"),newRow=s.closest(".fl-row"),position=0,s.hasClass("fl-sortable-disabled")?FLBuilder._resetColumnWidths(r):s.hasClass("fl-col-sortable-proxy")?FLBuilder._resetColumnWidths(r):s.hasClass("fl-col-content")?(i.remove(),0===r.find(".fl-col").length&&r.remove(),position=s.find(".fl-module, .fl-col-group, .fl-col-sortable-proxy-item").index(l.item),FLBuilder._addColGroup(s.closest(".fl-col").attr("data-node"),o,position)):s.hasClass("fl-col-drop-target")?(s.hasClass("fl-col-drop-target-last")?s.parent().after(i):s.parent().before(i),FLBuilder._resetColumnWidths(newGroup),n==newGroupId?FLBuilder.ajax({action:"reorder_col",node_id:o,position:i.index(),silent:!0}):FLBuilder.ajax({action:"move_col",node_id:o,new_parent:newGroupId,position:i.index(),resize:[n,newGroupId],silent:!0}),FLBuilder._resizeLayout()):s.hasClass("fl-col-group-drop-target")?(i.remove(),0===r.find(".fl-col").length&&r.remove(),position=newRow.find(".fl-row-content > .fl-col-group").index(newGroup),position=s.hasClass("fl-drop-target-last")?position+1:position,FLBuilder._addColGroup(newRow.attr("data-node"),o,position)):s.hasClass("fl-row-drop-target")&&(i.remove(),position=s.closest(".fl-builder-content").find(".fl-row").index(newRow),position=s.hasClass("fl-drop-target-last")?position+1:position,FLBuilder._addRow(o,position)),0===r.find(".fl-col").length&&r.remove(),e(".fl-col-sortable-proxy").append(l.item),FLBuilder._highlightEmptyCols(),FLBuilder._initDropTargets(),FLBuilder._initSortables()},_colSettingsClicked:function(t){var l=e(this),i=l.closest(".fl-col"),o=null;FLBuilder._colResizing||(o=l.hasClass("fl-block-col-edit-parent")?i.parents(".fl-col").data("node"):i.attr("data-node"),FLBuilder._closePanel(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_column_settings",node_id:o},FLBuilder._colSettingsLoaded),t.stopPropagation())},_colSettingsLoaded:function(t){var l=JSON.parse(t),i=null,o=null,s=null,r=null;FLBuilder._setSettingsFormContent(l.settings),i=e(".fl-builder-col-settings"),o=i.data("node"),s=e('.fl-col[data-node="'+o+'"]'),r=s.find("> .fl-col-content"),0===s.siblings(".fl-col").length?e(i).find("#fl-builder-settings-section-general").css("display","none"):r.width()<=40&&e("#fl-field-size").hide(),FLBuilder.preview=new FLBuilderPreview({type:"col",state:l.state})},_deleteColClicked:function(t){var l=e(this),i=l.closest(".fl-col"),o=i.closest(".fl-col-group"),s=i.parents(".fl-col"),r=s.length>0,n=s.find("> .fl-col-content > .fl-module, > .fl-col-content > .fl-col-group"),a=i.siblings(".fl-col"),d=!0;i.find(".fl-module").length>0&&(d=confirm(FLBuilderStrings.deleteColumnMessage)),r&&1===n.length&&(0===a.length?i=s:1!==a.length||a.find(".fl-module").length||(i=o)),d&&(FLBuilder._deleteCol(i),FLBuilder._removeAllOverlays(),FLBuilder._highlightEmptyCols()),t.stopPropagation()},_deleteCol:function(e){var t=e.closest(".fl-row"),l=e.closest(".fl-col-group"),i=0;e.remove(),rowCols=t.find(".fl-row-content > .fl-col-group > .fl-col"),groupCols=l.find(" > .fl-col"),0===rowCols.length&&"row"!=FLBuilderConfig.userTemplateType?FLBuilder._deleteRow(t):(0===groupCols.length?l.remove():(i=6===groupCols.length?16.65:7===groupCols.length?14.28:Math.round(100/groupCols.length*100)/100,groupCols.css("width",i+"%")),FLBuilder.ajax({action:"delete_col",node_id:e.attr("data-node"),new_width:i,silent:!0}),FLBuilder._initDropTargets(),FLBuilder._initSortables())},_addCols:function(e,t,l,i){l="undefined"==typeof l?"1-col":l,i="undefined"!=typeof i&&i,FLBuilder.showAjaxLoader(),FLBuilder._removeAllOverlays(),FLBuilder.ajax({action:"render_new_columns",node_id:e.attr("data-node"),insert:t,type:l,nested:i?1:0},FLBuilder._addColsComplete)},_addColsComplete:function(t){var l=JSON.parse(t),i=null,o=FLBuilder._addModuleAfterNodeRender;FLBuilder._renderLayout(l,function(){null!==o&&(e('[data-node="'+o.module.data("node")+'"]').remove(),i=e('[data-node="'+o.colId+'"]'),"after"==o.position?i.next().find(".fl-col-content").append(o.module):i.prev().find(".fl-col-content").append(o.module),FLBuilder._reorderModule(o.module),FLBuilder._addModuleAfterNodeRender=null)})},_addColGroup:function(t,l,i){var o=e(".fl-node-"+t);FLBuilder.showAjaxLoader(),FLBuilder._newColGroupPosition=i,o.hasClass("fl-col")?FLBuilder._newColGroupParent=o.find(" > .fl-col-content"):FLBuilder._newColGroupParent=o.find(".fl-row-content"),FLBuilder.ajax({action:"render_new_column_group",cols:l,node_id:t,position:i},FLBuilder._addColGroupComplete)},_addColGroupComplete:function(t){var l=JSON.parse(t),i=e(l.html).find(".fl-col").data("node"),o=FLBuilder._addModuleAfterNodeRender;l.nodeParent=FLBuilder._newColGroupParent,l.nodePosition=FLBuilder._newColGroupPosition,FLBuilder._renderLayout(l,function(){l.nodeParent.hasClass("fl-col-content")&&l.nodeParent.parents(".fl-col").addClass("fl-col-has-cols"),null!==o&&(e(".fl-node-"+i+" .fl-col-content").append(o),FLBuilder._reorderModule(o),FLBuilder._addModuleAfterNodeRender=null)})},_initColDragResizing:function(){e(".fl-block-col-resize").draggable({axis:"x",start:FLBuilder._colDragResizeStart,drag:FLBuilder._colDragResize,stop:FLBuilder._colDragResizeStop})},_colDragResizeStart:function(t,l){var i=e(l.helper),o="",s=i.hasClass("fl-block-col-resize-parent"),r=s?i.closest(".fl-col").parents(".fl-col"):null,n=s?r.parents(".fl-col-group"):i.closest(".fl-col-group"),a=n.find("> .fl-col"),d=s?r:i.closest(".fl-col"),u=null,c=100,f=0;for(i.hasClass("fl-block-col-resize-e")?(o="e",u=d.next(".fl-col")):(o="w",u=d.prev(".fl-col"));f<a.length;f++)a.eq(f).data("node")!=d.data("node")&&a.eq(f).data("node")!=u.data("node")&&(c-=parseFloat(a.eq(f)[0].style.width));FLBuilder._colResizeData={handle:i,feedbackLeft:i.find(".fl-block-col-resize-feedback-left"),feedbackRight:i.find(".fl-block-col-resize-feedback-right"),direction:o,groupWidth:n.outerWidth(),col:d,colWidth:parseFloat(d[0].style.width)/100,sibling:u,offset:l.position.left,availWidth:c},FLBuilder._colResizing=!0,e("body").addClass("fl-builder-col-resizing"),FLBuilder._closePanel(),FLBuilder._destroyOverlayEvents(),FLBuilder.triggerHook("col-resize-start")},_colDragResize:function(e,t){var l=FLBuilder._colResizeData,i=(l.offset-t.position.left)/l.groupWidth,o="e"==l.direction?100*(l.colWidth-i):100*(l.colWidth+i),s=Math.round(100*o)/100,r=l.availWidth-o,n=Math.round(100*r)/100,a=8,d=Math.round(100*(l.availWidth-a))/100;s<a?(s=a,n=d):n<a&&(s=d,n=a),"e"==l.direction?(l.feedbackLeft.html(s.toFixed(1)+"%").show(),l.feedbackRight.html(n.toFixed(1)+"%").show()):(l.feedbackLeft.html(n.toFixed(1)+"%").show(),l.feedbackRight.html(s.toFixed(1)+"%").show()),l.col.css("width",s+"%"),l.sibling.css("width",n+"%"),FLBuilder.triggerHook("col-resize-drag")},_colDragResizeStop:function(t,l){var i=FLBuilder._colResizeData,o=FLBuilder._colResizeData.handle.closest(".fl-block-overlay");FLBuilder._colResizeData.feedbackLeft.hide(),FLBuilder._colResizeData.feedbackRight.hide(),FLBuilder.ajax({action:"resize_cols",col_id:i.col.data("node"),col_width:parseFloat(i.col[0].style.width),sibling_id:i.sibling.data("node"),sibling_width:parseFloat(i.sibling[0].style.width),silent:!0}),FLBuilder._buildOverlayOverflowMenu(o),FLBuilder._colResizeData=null,e("body").removeClass("fl-builder-col-resizing"),FLBuilder._bindOverlayEvents(),setTimeout(function(){FLBuilder._colResizing=!1},50),FLBuilder.triggerHook("col-resize-stop")},_resetColumnWidthsClicked:function(t){var l=e(this).parents(".fl-col-group").last(),i=[l.data("node")],o=l.find(".fl-col-group"),s=0;for(FLBuilder._resetColumnWidths(l);s<o.length;s++)FLBuilder._resetColumnWidths(o.eq(s)),i.push(o.eq(s).data("node"));FLBuilder.ajax({action:"reset_col_widths",group_id:i,silent:!0}),FLBuilder.triggerHook("col-reset-widths"),FLBuilder._closeAllSubmenus(),t.stopPropagation()},_resetColumnWidths:function(e){var t=e.find(" > .fl-col:visible"),l=0;l=6===t.length?16.65:7===t.length?14.28:Math.round(100/t.length*100)/100,t.css("width",l+"%")},_moduleMouseenter:function(){var t=e(this),l=t.attr("data-name"),i=t.hasClass("fl-node-global"),o=t.parents(".fl-node-global").length>0,s=t.closest(".fl-col-group").find("> .fl-col").length,r=t.closest(".fl-col"),n=0===r.index(),a=s===r.index()+1,d=r.parents(".fl-col"),u=d.length>0,c=u?d.closest(".fl-col-group").find("> .fl-col").length:0,f=!!u&&0===d.index(),h=!!u&&c===d.index()+1,p=r.find("> .fl-col-content").width(),g=wp.template("fl-module-overlay"),_=null;FLBuilder._removeColOverlays(),FLBuilder._removeModuleOverlays(),i&&o&&"row"!=FLBuilderConfig.userTemplateType||(t.hasClass("fl-block-overlay-active")||(_=FLBuilder._appendOverlay(t,g({global:i,moduleName:l,numCols:s,colFirst:n,colLast:a,hasParentCol:u,numParentCols:c,parentFirst:f,parentLast:h,contentWidth:p})),FLBuilder._buildOverlayOverflowMenu(_),FLBuilder._initColDragResizing()),e("body").addClass("fl-block-overlay-muted"))},_moduleMouseleave:function(t){var l=(e(this),e(t.toElement)||e(t.relatedTarget)),i=l.is("#tiptip_holder"),o=l.closest("#tiptip_holder").length>0;i||o||(FLBuilder._removeModuleOverlays(),FLBuilder._removeColHighlightGuides())},_removeModuleOverlays:function(){var t=e(".fl-module");t.removeClass("fl-block-overlay-active"),t.find(".fl-module-overlay").remove(),e("body").removeClass("fl-block-overlay-muted")},_moduleDragHelper:function(t,l){return e('<div class="fl-builder-block-drag-helper">'+l.attr("data-name")+"</div>")},_moduleDragStart:function(t,l){e(l.item).data("original-position",l.item.index()),FLBuilder._blockDragStart(t,l)},_moduleDragStop:function(t,l){FLBuilder._blockDragStop(t,l);var i=l.item,o=i.parent(),s=null,r=0,n=0;if(o.hasClass("fl-builder-modules")||o.hasClass("fl-builder-widgets"))return void i.remove();if(i.hasClass("fl-builder-block")){if(o.hasClass("fl-sortable-disabled"))return i.remove(),void FLBuilder._showPanel();o.hasClass("fl-row-drop-target")?(o=i.closest(".fl-builder-content"),n=0,s=i.closest(".fl-row"),r=o.find(".fl-row").index(s)):o.hasClass("fl-col-group-drop-target")?(o=i.closest(".fl-row-content"),n=o.closest(".fl-row").attr("data-node"),s=i.closest(".fl-col-group"),r=o.find(" > .fl-col-group").index(s)):o.hasClass("fl-col-drop-target")?(o=i.closest(".fl-col-group"),n=o.attr("data-node"),s=i.closest(".fl-col"),r=o.find(" > .fl-col").index(s)):(r=o.find("> .fl-module, .fl-col-group, .fl-builder-block").index(i),n=i.closest(".fl-col").attr("data-node")),i.closest(".fl-drop-target-last").length&&(r+=1),FLBuilder._addModule(o,n,i.attr("data-type"),r,i.attr("data-widget")),i.remove()}else{if(o.hasClass("fl-sortable-disabled"))return e(t.target).append(l.item),e(t.target).children().eq(l.item.data("original-position")).before(l.item),void FLBuilder._highlightEmptyCols();o.hasClass("fl-row-drop-target")?(s=i.closest(".fl-row"),r=i.closest(".fl-builder-content").children(".fl-row").index(s),r=i.closest(".fl-drop-target-last").length?r+1:r,FLBuilder._addModuleAfterNodeRender=i,FLBuilder._addRow("1-col",r),i.remove()):o.hasClass("fl-col-group-drop-target")?(s=i.closest(".fl-col-group"),r=i.closest(".fl-row-content ").find(" > .fl-col-group").index(s),r=i.closest(".fl-drop-target-last").length?r+1:r,FLBuilder._addModuleAfterNodeRender=i,FLBuilder._addColGroup(i.closest(".fl-row").attr("data-node"),"1-col",r),i.remove()):o.hasClass("fl-col-drop-target")?(s=i.closest(".fl-col"),r=i.closest(".fl-col-drop-target-last").length?"after":"before",FLBuilder._addModuleAfterNodeRender={module:i,colId:s.data("node"),position:r},FLBuilder._addCols(s,r,"1-col",i.closest(".fl-col-group-nested").length>0),i.remove()):FLBuilder._reorderModule(i)}FLBuilder._resizeLayout()},_reorderModule:function(e){var t=e.closest(".fl-col").attr("data-node"),l=e.attr("data-parent"),i=e.attr("data-node"),o=e.index();t==l?FLBuilder._reorderNode(i,o):(e.attr("data-parent",t),FLBuilder._moveNode(t,i,o))},_deleteModuleClicked:function(t){var l=e(this).closest(".fl-module"),i=confirm(FLBuilderStrings.deleteModuleMessage);i&&(FLBuilder._deleteModule(l),FLBuilder._removeAllOverlays()),t.stopPropagation()},_deleteModule:function(e){var t=e.closest(".fl-row");FLBuilder.ajax({action:"delete_node",node_id:e.attr("data-node"),silent:!0}),e.empty(),e.remove(),t.removeClass("fl-block-overlay-muted"),FLBuilder._highlightEmptyCols(),FLBuilder._removeAllOverlays()},_moduleCopyClicked:function(t){var l=e(this).closest(".fl-module");FLBuilder.showAjaxLoader(),FLBuilder._removeAllOverlays(),FLBuilder._newModuleParent=l.parent(),FLBuilder._newModulePosition=l.index()+1,FLBuilder.ajax({action:"copy_module",node_id:l.attr("data-node")},FLBuilder._moduleCopyComplete),t.stopPropagation()},_moduleCopyComplete:function(e){var t=JSON.parse(e);t.nodeParent=FLBuilder._newModuleParent,t.nodePosition=FLBuilder._newModulePosition,FLBuilder._renderLayout(t)},_moduleSettingsClicked:function(t){var l=e(this),i=l.closest(".fl-module").attr("data-node"),o=l.closest(".fl-col").attr("data-node"),s=l.closest(".fl-module").attr("data-type"),r=l.closest(".fl-block-overlay-global").length>0;t.stopPropagation(),FLBuilder._colResizing||r&&!FLBuilderConfig.userCanEditGlobalTemplates||FLBuilder._showModuleSettings(i,o,s)},_showModuleSettings:function(e,t,l){FLBuilder._closePanel(),FLBuilder._showLightbox(),FLBuilder.ajax({action:"render_module_settings",node_id:e,type:l,parent_id:t},FLBuilder._moduleSettingsLoaded)},_moduleSettingsLoaded:function(t){var l=JSON.parse(t),i=e("<div>"+l.settings+"</div>"),o=i.find("link.fl-builder-settings-css"),s=i.find("script.fl-builder-settings-js"),r=i.find(".fl-builder-settings"),n=r.attr("data-type"),a=null,d=null,u=null;e.inArray(n,FLBuilder._loadedModuleAssets)>-1?(o.remove(),s.remove()):(e("head").append(o),e("head").append(s),FLBuilder._loadedModuleAssets.push(n)),FLBuilder._setSettingsFormContent(i),"undefined"!=typeof l.layout&&(a=l.layout,a.nodeParent=FLBuilder._newModuleParent,a.nodePosition=FLBuilder._newModulePosition),"undefined"!=typeof l.state&&(d=l.state),FLBuilder.preview=new FLBuilderPreview({type:"module",layout:a,state:d}),u=FLBuilder._moduleHelpers[n],"undefined"!=typeof u&&(FLBuilder._initSettingsValidation(u.rules),u.init())},_saveModuleClicked:function(){var t=e(this).closest(".fl-builder-settings"),l=t.attr("data-type"),i=(t.attr("data-node"),FLBuilder._moduleHelpers[l]),o=!0;"undefined"!=typeof i&&(t.find("label.error").remove(),t.validate().hideErrors(),o=t.validate().form(),o&&(o=i.submit())),o?(FLBuilder._saveSettings(),FLBuilder._lightbox.close()):FLBuilder._toggleSettingsTabErrors()},_addModule:function(e,t,l,i,o){FLBuilder.showAjaxLoader(),e.hasClass("fl-col-group")?(FLBuilder._newModuleParent=null,FLBuilder._newModulePosition=0):(FLBuilder._newModuleParent=e,FLBuilder._newModulePosition=i),FLBuilder.ajax({action:"render_new_module",parent_id:t,type:l,position:i,node_preview:1,widget:"undefined"==typeof o?"":o},FLBuilder._addModuleComplete)},_addModuleComplete:function(t){FLBuilder._showLightbox(),FLBuilder._moduleSettingsLoaded(t),e(".fl-builder-module-settings").data("new-module","1")},registerModuleHelper:function(t,l){var i={rules:{},init:function(){},submit:function(){return!0},preview:function(){}};FLBuilder._moduleHelpers[t]=e.extend({},i,l)},_registerModuleHelper:function(e,t){FLBuilder.registerModuleHelper(e,t)},_showNodeTemplateSettings:function(t){var l=e(".fl-builder-settings-lightbox .fl-builder-settings");FLBuilder._saveSettings(),FLBuilder.ajax({action:"render_node_template_settings",node_id:l.attr("data-node")},FLBuilder._nodeTemplateSettingsLoaded)},_nodeTemplateSettingsLoaded:function(e){var t=JSON.parse(e);FLBuilder._showLightbox(!1),FLBuilder._setSettingsFormContent(t.html),FLBuilder._initSettingsValidation({name:{required:!0}})},_saveNodeTemplate:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),l=t.validate().form();l&&(FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_node_template",node_id:t.attr("data-node"),settings:FLBuilder._getSettings(t)},FLBuilder._saveNodeTemplateComplete),FLBuilder._lightbox.close())},_saveNodeTemplateComplete:function(t){var l=JSON.parse(t),i=e(".fl-builder-saved-"+l.type+"s"),o=i.find(".fl-builder-block"),s=null,r="",n=l.name.toLowerCase(),a=0,d=wp.template("fl-node-template-block");if("row"==l.type?FLBuilder.alert(FLBuilderStrings.rowTemplateSaved):"module"==l.type&&FLBuilder.alert(FLBuilderStrings.moduleTemplateSaved),l.layout&&FLBuilder._renderLayout(l.layout),0===o.length)i.append(d(l));else for(;a<o.length;a++){if(s=o.eq(a),r=s.text().toLowerCase().trim(),0===a&&n<r){i.prepend(d(l));break}if(n<r){s.before(d(l));break}if(o.length-1===a){i.append(d(l));break}}i.find(".fl-builder-block-no-node-templates").remove()},_nodeTemplateDragStop:function(t,l){FLBuilder._blockDragStop(t,l);var i=l.item,o=i.parent(),s=null,r=0,n=null,a="",d=null;if(i.hasClass("fl-builder-block-saved-row")||i.hasClass("fl-builder-block-row-template"))n=i.closest(".fl-row"),r=n.length?e(FLBuilder._contentClass+" .fl-row").index(n):0,r=o.hasClass("fl-drop-target-last")?r+1:r,s=null,a="render_new_row",d=FLBuilder._addRowComplete,FLBuilder._newRowPosition=r;else if(i.hasClass("fl-builder-block-saved-module")||i.hasClass("fl-builder-block-module-template")){if(a="render_new_module",d=FLBuilder._addModuleComplete,o.hasClass("fl-sortable-disabled"))return i.remove(),void FLBuilder._showPanel();o.hasClass("fl-row-drop-target")?(o=i.closest(".fl-builder-content"),s=0,r=o.find(".fl-row").index(i.closest(".fl-row"))):o.hasClass("fl-col-group-drop-target")?(o=i.closest(".fl-row-content"),s=o.closest(".fl-row").attr("data-node"),r=o.find(" > .fl-col-group").index(i.closest(".fl-col-group"))):o.hasClass("fl-col-drop-target")?(o=i.closest(".fl-col-group"),r=o.children(".fl-col").index(i.closest(".fl-col")),s=o.attr("data-node")):(r=o.children(".fl-module, .fl-builder-block").index(i),s=i.closest(".fl-col").attr("data-node")),i.closest(".fl-drop-target-last").length&&(r+=1),o.hasClass("fl-col-group")?(FLBuilder._newModuleParent=null,FLBuilder._newModulePosition=0):(FLBuilder._newModuleParent=o,FLBuilder._newModulePosition=r)}FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:a,template_id:i.attr("data-id"),template_type:i.attr("data-type"),parent_id:s,position:r},d),i.remove()},_editNodeTemplateClicked:function(t){t.preventDefault(),t.stopPropagation(),window.open(e(this).attr("href"))},_deleteNodeTemplateClicked:function(t){var l=e(t.target),i=l.closest(".fl-builder-blocks-section"),o=i.find(".fl-builder-blocks-section-content"),s=o.find(".fl-builder-block"),r=l.closest(".fl-builder-block"),n=r.hasClass("fl-builder-block-global"),a=n?FLBuilder._updateLayout:void 0,d=n?FLBuilderStrings.deleteGlobalTemplate:FLBuilderStrings.deleteTemplate;confirm(d)&&(r.remove(),1===s.length&&(r.hasClass("fl-builder-block-saved-row")?o.append('<span class="fl-builder-block-no-node-templates">'+FLBuilderStrings.noSavedRows+"</span>"):o.append('<span class="fl-builder-block-no-node-templates">'+FLBuilderStrings.noSavedModules+"</span>")),FLBuilder.ajax({action:"delete_node_template",template_id:r.attr("data-id"),silent:!r.hasClass("fl-builder-block-global")},a))},_initSettingsForms:function(){FLBuilder._initColorPickers(),FLBuilder._initSelectFields(),FLBuilder._initMultipleFields(),FLBuilder._initAutoSuggestFields(),FLBuilder._initLinkFields(),FLBuilder._initFontFields(),FLBuilder.triggerHook("settings-form-init")},_setSettingsFormContent:function(e){FLBuilder._setLightboxContent(e),FLBuilder._initSettingsForms()},_settingsTabClicked:function(t){var l=e(this),i=l.closest(".fl-builder-settings"),o=l.attr("href").split("#").pop();i.find(".fl-builder-settings-tab").removeClass("fl-active"),i.find("#"+o).addClass("fl-active"),i.find(".fl-builder-settings-tabs .fl-active").removeClass("fl-active"),e(this).addClass("fl-active"),t.preventDefault()},_settingsCancelClicked:function(t){var l=e(".fl-builder-module-settings"),i=null,o=null,s=null,r=null;l.length>0&&"undefined"!=typeof l.data("new-module")?(i=e(FLBuilder.preview.state.html),o=e(".fl-node-"+l.data("node")),s=o.closest(".fl-col"),r=i.find(".fl-node-"+s.data("node")),r.length>0?FLBuilder._deleteModule(o):FLBuilder._deleteCol(s)):FLBuilder.preview&&FLBuilder.preview.revert(),FLBuilder.preview=null,FLLightbox.closeParent(this)},_initSettingsValidation:function(t,l){var i=e(".fl-builder-settings").last();i.validate({ignore:[],rules:t,messages:l,errorPlacement:FLBuilder._settingsErrorPlacement})},_settingsErrorPlacement:function(e,t){e.appendTo(t.parent())},_toggleSettingsTabErrors:function(){for(var t=e(".fl-builder-settings:visible"),l=t.find(".fl-builder-settings-tab"),i=null,o=null,s=0;s<l.length;s++)i=l.eq(s),o=i.find("label.error"),tabLink=t.find(".fl-builder-settings-tabs a[href*="+i.attr("id")+"]"),tabLink.find(".fl-error-icon").remove(),tabLink.removeClass("error"),o.length>0&&(tabLink.append('<span class="fl-error-icon"></span>'),tabLink.addClass("error"))},_getSettings:function(t){FLBuilder._updateEditorFields();var l=t.serializeArray(),i=0,o=0,s="",r="",n="",a=[],d=[],u={};for(i=0;i<l.length;i++)if(s=l[i].value.replace(/\r/gm,""),!(l[i].name.indexOf("flrich")>-1))if(l[i].name.indexOf("[")>-1){for(r=l[i].name.replace(/\[(.*)\]/,""),n=l[i].name.replace(r,""),a=[],d=n.match(/\[[^\]]*\]/g),o=0;o<d.length;o++)"[]"!=d[o]&&a.push(d[o].replace(/\[|\]/g,""));n.match(/\[\]\[[^\]]*\]\[[^\]]+\]/)?("undefined"==typeof u[r]&&(u[r]={}),"undefined"==typeof u[r][a[0]]&&(u[r][a[0]]={}),"undefined"==typeof u[r][a[0]][a[1]]&&(u[r][a[0]][a[1]]={}),u[r][a[0]][a[1]]=s):n.match(/\[\]\[[^\]]*\]\[\]/)?("undefined"==typeof u[r]&&(u[r]={}),"undefined"==typeof u[r][a[0]]&&(u[r][a[0]]=[]),u[r][a[0]].push(s)):n.match(/\[\]\[[^\]]*\]/)?("undefined"==typeof u[r]&&(u[r]={}),u[r][a[0]]=s):n.match(/\[\]/)&&("undefined"==typeof u[r]&&(u[r]=[]),u[r].push(s))}else u[l[i].name]=s;for(n in u)if("undefined"!=typeof u["as_values_"+n]){u[n]=e.grep(u["as_values_"+n].split(","),function(e){return""!==e}).join(",");try{delete u["as_values_"+n]}catch(c){}}return u},_saveSettings:function(){var t=e(".fl-builder-settings-lightbox .fl-builder-settings"),l=t.attr("data-node"),i=FLBuilder._getSettings(t);FLBuilder.showAjaxLoader(),FLBuilder.ajax({action:"save_settings",node_id:l,settings:i},FLBuilder._saveSettingsComplete),FLBuilder._lightbox.close()},_saveSettingsComplete:function(e){FLBuilder._renderLayout(e,function(){
|
5 |
+
FLBuilder.preview&&(FLBuilder.preview.clear(),FLBuilder.preview=null)})},_showHelpTooltip:function(){e(this).siblings(".fl-help-tooltip-text").fadeIn()},_hideHelpTooltip:function(){e(this).siblings(".fl-help-tooltip-text").fadeOut()},_initAutoSuggestFields:function(){e(".fl-suggest-field").each(FLBuilder._initAutoSuggestField)},_initAutoSuggestField:function(){var t=e(this);t.autoSuggest(FLBuilder._ajaxUrl({fl_action:"fl_builder_autosuggest",fl_as_action:t.data("action"),fl_as_action_data:t.data("action-data"),_wpnonce:FLBuilderConfig.ajaxNonce}),e.extend({},{asHtmlID:t.attr("name"),selectedItemProp:"name",searchObjProps:"name",minChars:3,keyDelay:1e3,fadeOut:!1,usePlaceholder:!0,emptyText:FLBuilderStrings.noResultsFound,showResultListWhenNoMatch:!0,preFill:t.data("value"),queryParam:"fl_as_query",afterSelectionAdd:FLBuilder._updateAutoSuggestField,afterSelectionRemove:FLBuilder._updateAutoSuggestField,selectionLimit:t.data("limit")},t.data("args")))},_updateAutoSuggestField:function(t,l,i){e(this).siblings(".as-values").val(i.join(",")).trigger("change")},_initMultipleFields:function(){for(var t=e(".fl-builder-field-multiples"),l=null,i=null,o=0,s=FLBuilderConfig.isRtl?{left:10}:{right:10};o<t.length;o++)l=t.eq(o),i=l.find(".fl-builder-field-multiple"),1===i.length?i.eq(0).find(".fl-builder-field-actions").addClass("fl-builder-field-actions-single"):i.find(".fl-builder-field-actions").removeClass("fl-builder-field-actions-single");e(".fl-builder-field-multiples").sortable({items:".fl-builder-field-multiple",cursor:"move",cursorAt:s,distance:5,opacity:.5,helper:FLBuilder._fieldDragHelper,placeholder:"fl-builder-field-dd-zone",stop:FLBuilder._fieldDragStop,tolerance:"pointer"})},_addFieldClicked:function(){var t=e(this),l=t.attr("data-field"),i=t.closest("tr").siblings("tr[data-field="+l+"]").last(),o=i.clone(),s=parseInt(i.find("label span.fl-builder-field-index").html(),10)+1;o.find("th label span.fl-builder-field-index").html(s),o.find(".fl-form-field-preview-text").html(""),o.find("input, textarea, select").val(""),i.after(o),FLBuilder._initMultipleFields()},_copyFieldClicked:function(){var t=e(this),l=t.closest("tr"),i=l.clone(),o=parseInt(l.find("label span.fl-builder-field-index").html(),10)+1;i.find("th label span.fl-builder-field-index").html(o),l.after(i),FLBuilder._renumberFields(l.parent()),FLBuilder._initMultipleFields(),FLBuilder.preview.delayPreview()},_deleteFieldClicked:function(){var t=e(this).closest("tr"),l=t.parent(),i=confirm(FLBuilderStrings.deleteFieldMessage);i&&(t.remove(),FLBuilder._renumberFields(l),FLBuilder._initMultipleFields(),FLBuilder.preview.delayPreview())},_renumberFields:function(e){for(var t=e.find(".fl-builder-field-multiple"),l=0;l<t.length;l++)t.eq(l).find("th label span.fl-builder-field-index").html(l+1)},_fieldDragHelper:function(){return e('<div class="fl-builder-field-dd-helper"></div>')},_fieldDragStop:function(e,t){FLBuilder._renumberFields(t.item.parent()),FLBuilder.preview.delayPreview()},_initSelectFields:function(){e(".fl-builder-settings:visible").find(".fl-builder-settings-fields select").trigger("change")},_settingsSelectChanged:function(){var t=e(this),l=t.attr("data-toggle"),i=t.attr("data-hide"),o=t.attr("data-trigger"),s=t.val(),r=0;if("undefined"!=typeof l){l=JSON.parse(l);for(r in l)FLBuilder._settingsSelectToggle(l[r].fields,"hide","#fl-field-"),FLBuilder._settingsSelectToggle(l[r].sections,"hide","#fl-builder-settings-section-"),FLBuilder._settingsSelectToggle(l[r].tabs,"hide","a[href*=fl-builder-settings-tab-","]");"undefined"!=typeof l[s]&&(FLBuilder._settingsSelectToggle(l[s].fields,"show","#fl-field-"),FLBuilder._settingsSelectToggle(l[s].sections,"show","#fl-builder-settings-section-"),FLBuilder._settingsSelectToggle(l[s].tabs,"show","a[href*=fl-builder-settings-tab-","]"))}if("undefined"!=typeof i&&(i=JSON.parse(i),"undefined"!=typeof i[s]&&(FLBuilder._settingsSelectToggle(i[s].fields,"hide","#fl-field-"),FLBuilder._settingsSelectToggle(i[s].sections,"hide","#fl-builder-settings-section-"),FLBuilder._settingsSelectToggle(i[s].tabs,"hide","a[href*=fl-builder-settings-tab-","]"))),"undefined"!=typeof o&&(o=JSON.parse(o),"undefined"!=typeof o[s]&&"undefined"!=typeof o[s].fields))for(r=0;r<o[s].fields.length;r++)e("#fl-field-"+o[s].fields[r]).find("select").trigger("change")},_settingsSelectToggle:function(t,l,i,o){var s=0;if(o="undefined"==typeof o?"":o,"undefined"!=typeof t)for(;s<t.length;s++)e(i+t[s]+o)[l](),"#fl-field-"==i&&"code"==e(i+t[s]).data("type")&&e(i+t[s]).data("editor").resize()},_initColorPickers:function(){var t=FLBuilderConfig.colorPresets?FLBuilderConfig.colorPresets:[];FLBuilder.colorPicker=new FLBuilderColorPicker({mode:"hsv",elements:".fl-color-picker .fl-color-picker-value",presets:t,labels:{colorPresets:FLBuilderStrings.colorPresets,colorPicker:FLBuilderStrings.colorPicker,placeholder:FLBuilderStrings.placeholder,removePresetConfirm:FLBuilderStrings.removePresetConfirm,noneColorSelected:FLBuilderStrings.noneColorSelected,alreadySaved:FLBuilderStrings.alreadySaved,noPresets:FLBuilderStrings.noPresets,presetAdded:FLBuilderStrings.presetAdded},mode:"hsv"}),e(FLBuilder.colorPicker).on("presetRemoved presetAdded",function(e,t){FLBuilder.ajax({action:"save_color_presets",presets:t.presets})})},_initSinglePhotoSelector:function(){null===FLBuilder._singlePhotoSelector&&(FLBuilder._singlePhotoSelector=wp.media({title:FLBuilderStrings.selectPhoto,button:{text:FLBuilderStrings.selectPhoto},library:{type:"image"},multiple:!1}))},_selectSinglePhoto:function(){FLBuilder._initSinglePhotoSelector(),FLBuilder._singlePhotoSelector.once("open",e.proxy(FLBuilder._singlePhotoOpened,this)),FLBuilder._singlePhotoSelector.once("select",e.proxy(FLBuilder._singlePhotoSelected,this)),FLBuilder._singlePhotoSelector.open()},_singlePhotoOpened:function(){var t=FLBuilder._singlePhotoSelector.state().get("selection"),l=e(this).closest(".fl-photo-field"),i=l.find("input[type=hidden]"),o=i.val(),s=null;e(this).hasClass("fl-photo-replace")?(t.reset(),l.addClass("fl-photo-empty"),i.val("")):""!==o?(s=wp.media.attachment(o),s.fetch(),t.add(s?[s]:[])):t.reset()},_singlePhotoSelected:function(){var t=FLBuilder._singlePhotoSelector.state().get("selection").first().toJSON(),l=e(this).closest(".fl-photo-field"),i=l.find("input[type=hidden]"),o=l.find(".fl-photo-preview img"),s=l.find("select");i.val(t.id),o.attr("src",FLBuilder._getPhotoSrc(t)),l.removeClass("fl-photo-empty"),l.find("label.error").remove(),s.show(),s.html(FLBuilder._getPhotoSizeOptions(t)),s.trigger("change")},_singlePhotoRemoved:function(){FLBuilder._initSinglePhotoSelector();var t=FLBuilder._singlePhotoSelector.state(),l="undefined"!=typeof t?t.get("selection"):null,i=e(this).closest(".fl-photo-field"),o=i.find("input[type=hidden]"),s=i.find("select");l&&l.reset(),i.addClass("fl-photo-empty"),o.val(""),s.html('<option value="" selected></option>'),s.trigger("change")},_getPhotoSrc:function(e){return"undefined"==typeof e.sizes?e.url:"undefined"!=typeof e.sizes.thumbnail?e.sizes.thumbnail.url:e.sizes.full.url},_getPhotoSizeOptions:function(e){var t="",l=null,i=null,o="",s={full:FLBuilderStrings.fullSize,large:FLBuilderStrings.large,medium:FLBuilderStrings.medium,thumbnail:FLBuilderStrings.thumbnail};if("undefined"==typeof e.sizes)t+='<option value="'+e.url+'">'+FLBuilderStrings.fullSize+"</option>";else for(l in e.sizes)o="undefined"!=typeof s[l]?s[l]+" - ":"undefined"!=typeof FLBuilderConfig.customImageSizeTitles[l]?FLBuilderConfig.customImageSizeTitles[l]+" - ":"",i="full"==l?' selected="selected"':"",t+='<option value="'+e.sizes[l].url+'"'+i+">"+o+e.sizes[l].width+" x "+e.sizes[l].height+"</option>";return t},_selectMultiplePhotos:function(){var t=e(this).closest(".fl-multiple-photos-field"),l=t.find("input[type=hidden]"),i=l.val(),o=""===i?'[gallery ids="-1"]':'[gallery ids="'+JSON.parse(i).join()+'"]',s=wp.shortcode.next("gallery",o).shortcode,r=wp.media.gallery.defaults.id,n=null,a=null;_.isUndefined(s.get("id"))&&!_.isUndefined(r)&&s.set("id",r),n=wp.media.gallery.attachments(s),a=new wp.media.model.Selection(n.models,{props:n.props.toJSON(),multiple:!0}),a.gallery=n.gallery,a.more().done(function(){a.props.set({query:!1}),a.unmirror(),a.props.unset("orderby")}),FLBuilder._multiplePhotoSelector&&FLBuilder._multiplePhotoSelector.dispose(),FLBuilder._multiplePhotoSelector=wp.media({frame:"post",state:e(this).hasClass("fl-multiple-photos-edit")?"gallery-edit":"gallery-library",title:wp.media.view.l10n.editGalleryTitle,editing:!0,multiple:!0,selection:a}).open(),e(FLBuilder._multiplePhotoSelector.views.view.el).addClass("fl-multiple-photos-lightbox"),FLBuilder._multiplePhotoSelector.once("update",e.proxy(FLBuilder._multiplePhotosSelected,this))},_multiplePhotosSelected:function(t){for(var l=e(this).closest(".fl-multiple-photos-field"),i=l.find("input[type=hidden]"),o=l.find(".fl-multiple-photos-count"),s=[],r=0;r<t.models.length;r++)s.push(t.models[r].id);1==s.length?o.html("1 "+FLBuilderStrings.photoSelected):o.html(s.length+" "+FLBuilderStrings.photosSelected),l.removeClass("fl-multiple-photos-empty"),l.find("label.error").remove(),i.val(JSON.stringify(s)).trigger("change")},_selectSingleVideo:function(){null===FLBuilder._singleVideoSelector&&(FLBuilder._singleVideoSelector=wp.media({title:FLBuilderStrings.selectVideo,button:{text:FLBuilderStrings.selectVideo},library:{type:"video"},multiple:!1})),FLBuilder._singleVideoSelector.once("select",e.proxy(FLBuilder._singleVideoSelected,this)),FLBuilder._singleVideoSelector.open()},_singleVideoSelected:function(){var t=FLBuilder._singleVideoSelector.state().get("selection").first().toJSON(),l=e(this).closest(".fl-video-field"),i=l.find(".fl-video-preview-img img"),o=l.find(".fl-video-preview-filename"),s=l.find("input[type=hidden]");i.attr("src",t.icon),o.html(t.filename),l.removeClass("fl-video-empty"),l.find("label.error").remove(),s.val(t.id).trigger("change")},_selectMultipleAudios:function(){var t=e(this).closest(".fl-multiple-audios-field"),l=t.find("input[type=hidden]"),i=l.val(),o=""==i?'[playlist ids="-1"]':'[playlist ids="'+JSON.parse(i).join()+'"]',s=wp.shortcode.next("playlist",o).shortcode,r=wp.media.playlist.defaults.id,n=null,a=null;_.isUndefined(s.get("id"))&&!_.isUndefined(r)&&s.set("id",r),n=wp.media.playlist.attachments(s),a=new wp.media.model.Selection(n.models,{props:n.props.toJSON(),multiple:!0}),a.playlist=n.playlist,a.more().done(function(){a.props.set({query:!1}),a.unmirror(),a.props.unset("orderby")}),FLBuilder._multipleAudiosSelector&&FLBuilder._multipleAudiosSelector.dispose(),FLBuilder._multipleAudiosSelector=wp.media({frame:"post",state:e(this).hasClass("fl-multiple-audios-edit")?"playlist-edit":"playlist-library",title:wp.media.view.l10n.editPlaylistTitle,editing:!0,multiple:!0,selection:a}).open(),FLBuilder._multipleAudiosSelector.content.get("view").sidebar.unset("playlist"),FLBuilder._multipleAudiosSelector.on("content:render:browse",function(e){e&&e.sidebar.on("ready",function(){e.sidebar.unset("playlist")})}),FLBuilder._multipleAudiosSelector.once("update",e.proxy(FLBuilder._multipleAudiosSelected,this))},_multipleAudiosSelected:function(t){for(var l=e(this).closest(".fl-multiple-audios-field"),i=l.find(".fl-multiple-audios-count"),o=l.find("input[type=hidden]"),s=[],r=0;r<t.models.length;r++)s.push(t.models[r].id);1==s.length?i.html("1 "+FLBuilderStrings.audioSelected):i.html(s.length+" "+FLBuilderStrings.audiosSelected),o.val(JSON.stringify(s)).trigger("change"),l.removeClass("fl-multiple-audios-empty"),l.find("label.error").remove()},_selectIcon:function(){var e=this;FLIconSelector.open(function(t){FLBuilder._iconSelected.apply(e,[t])})},_iconSelected:function(t){var l=e(this).closest(".fl-icon-field"),i=l.find("input[type=hidden]"),o=l.find("i"),s=o.attr("data-icon");i.val(t).trigger("change"),o.removeClass(s),o.addClass(t),o.attr("data-icon",t),l.removeClass("fl-icon-empty"),l.find("label.error").remove()},_removeIcon:function(){var t=e(this).closest(".fl-icon-field"),l=t.find("input[type=hidden]"),i=t.find("i");l.val("").trigger("change"),i.removeClass(),i.attr("data-icon",""),t.addClass("fl-icon-empty")},_formFieldClicked:function(){var t=e(this),l=t.closest(".fl-lightbox-wrap").attr("data-instance-id"),i=FLLightbox._instances[l],o=i._node.find(".fl-lightbox").css("left"),s=i._node.find(".fl-lightbox").css("top"),r=t.closest(".fl-builder-settings"),n=t.attr("data-type"),a=t.siblings("input").val(),d=FLBuilder._moduleHelpers[n],u=new FLLightbox({className:"fl-builder-lightbox fl-form-field-settings",destroyOnClose:!0});t.closest(".fl-builder-lightbox").hide(),t.attr("id","fl-"+u._id),u.open('<div class="fl-builder-lightbox-loading"></div>'),u.draggable({handle:".fl-lightbox-header"}),e("body").undelegate(".fl-builder-settings-cancel","click",FLBuilder._settingsCancelClicked),u._node.find(".fl-lightbox").css({left:o,top:Number(parseInt(s)+233)+"px"}),FLBuilder.ajax({action:"render_settings_form",node_id:r.attr("data-node"),node_settings:FLBuilder._getSettings(r),type:n,settings:a.replace(/'/g,"'")},function(e){var t=JSON.parse(e);u.setContent(t.html),u._node.find("form.fl-builder-settings").attr("data-type",n),u._node.find(".fl-builder-settings-cancel").on("click",FLBuilder._closeFormFieldLightbox),FLBuilder._initSettingsForms(),"undefined"!=typeof d&&(FLBuilder._initSettingsValidation(d.rules),d.init()),u._node.find(".fl-lightbox").css({left:o,top:s})})},_closeFormFieldLightbox:function(){var t=e(this).closest(".fl-lightbox-wrap").attr("data-instance-id"),l=FLLightbox._instances[t],i=e(".fl-builder-settings-lightbox"),o=i.find("form"),s=l._node.find(".fl-lightbox").css("left"),r=l._node.find(".fl-lightbox").css("top"),n=0,a=e(window),d=a.height();"undefined"!=typeof tinymce&&"undefined"!=typeof tinymce.EditorManager.activeEditor&&tinymce.EditorManager.activeEditor.remove(),l._node.find(".fl-lightbox-content").html('<div class="fl-builder-lightbox-loading"></div>'),n=l._node.find(".fl-lightbox").height(),d-80>n?l._node.find(".fl-lightbox").css("top",(d-n)/2-40+"px"):l._node.find(".fl-lightbox").css("top","0px"),l.on("close",function(){i.show(),i.find("label.error").remove(),o.validate().hideErrors(),FLBuilder._toggleSettingsTabErrors(),i.find(".fl-lightbox").css({left:s,top:r})}),setTimeout(function(){l.close(),e("body").delegate(".fl-builder-settings-cancel","click",FLBuilder._settingsCancelClicked)},500)},_saveFormFieldClicked:function(){var t=e(this).closest(".fl-builder-settings"),l=e(this).closest(".fl-lightbox-wrap").attr("data-instance-id"),i=t.attr("data-type"),o=FLBuilder._getSettings(t),s={},r=FLBuilder._moduleHelpers[i],n=e(".fl-builder-settings #fl-"+l),a=n.parent().attr("data-preview-text"),d=o[a],u=e('select[name="'+a+'"]'),c=document.createElement("div"),f=!0;return u.length>0&&(d=u.find('option[value="'+o[a]+'"]').text()),"undefined"!=typeof r&&(t.find("label.error").remove(),t.validate().hideErrors(),f=t.validate().form(),f&&(f=r.submit())),f?("undefined"!=typeof a&&"undefined"!=typeof d&&(d.indexOf("fa fa-")>-1?d='<i class="'+d+'"></i>':d.length>35&&(c.innerHTML=d,d=(c.textContent||c.innerText||"").replace(/^(.{35}[^\s]*).*/,"$1")+"..."),n.siblings(".fl-form-field-preview-text").html(d)),s=n.siblings("input").val().replace(/'/g,"'"),""!=s&&(o=e.extend(JSON.parse(s),o)),n.siblings("input").val(JSON.stringify(o)).trigger("change"),FLBuilder._closeFormFieldLightbox.apply(this),!0):(FLBuilder._toggleSettingsTabErrors(),!1)},_layoutFieldClicked:function(){var t=e(this);t.siblings().removeClass("fl-layout-field-option-selected"),t.addClass("fl-layout-field-option-selected"),t.siblings("input").val(t.attr("data-value"))},_initLinkFields:function(){e(".fl-link-field").each(FLBuilder._initLinkField)},_initLinkField:function(){var t=e(this),l=t.find(".fl-link-field-search-input");l.autoSuggest(FLBuilder._ajaxUrl({fl_action:"fl_builder_autosuggest",fl_as_action:"fl_as_links",_wpnonce:FLBuilderConfig.ajaxNonce}),{asHtmlID:l.attr("name"),selectedItemProp:"name",searchObjProps:"name",minChars:3,keyDelay:1e3,fadeOut:!1,usePlaceholder:!0,emptyText:FLBuilderStrings.noResultsFound,showResultListWhenNoMatch:!0,queryParam:"fl_as_query",selectionLimit:1,afterSelectionAdd:FLBuilder._updateLinkField})},_updateLinkField:function(e,t,l){var i=e.closest(".fl-link-field"),o=i.find(".fl-link-field-search"),s=i.find(".fl-link-field-search-input"),r=i.find(".fl-link-field-input");r.val(t.value).trigger("keyup"),s.autoSuggest("remove",t.value),o.hide()},_linkFieldSelectClicked:function(){e(this).parent().find(".fl-link-field-search").show()},_linkFieldSelectCancelClicked:function(){e(this).parent().hide()},_initFontFields:function(){e(".fl-font-field").each(FLBuilder._initFontField)},_initFontField:function(){var t=e(this),l=t.find(".fl-font-field-font");l.on("change",function(){FLBuilder._getFontWeights(l)})},_getFontWeights:function(t){var l=t.next(".fl-font-field-weight"),i=t.val(),o={"default":"Default",regular:"Regular",100:"Thin 100",200:"Extra-Light 200",300:"Light 300",400:"Normal 400",500:"Medium 500",600:"Semi-Bold 600",700:"Bold 700",800:"Extra-Bold 800",900:"Ultra-Bold 900"},s={};l.html(""),s="undefined"!=typeof FLBuilderFontFamilies.system[i]?FLBuilderFontFamilies.system[i].weights:"undefined"!=typeof FLBuilderFontFamilies.google[i]?FLBuilderFontFamilies.google[i]:FLBuilderFontFamilies["default"][i],e.each(s,function(e,t){l.append('<option value="'+t+'">'+o[t]+"</option>")})},initEditorField:function(e){var t=tinyMCEPreInit.mceInit.flhiddeneditor;t.elements=e,tinyMCEPreInit.mceInit[e]=t},_updateEditorFields:function(){var t=e(".fl-builder-settings textarea.wp-editor-area");t.each(FLBuilder._updateEditorField)},_updateEditorField:function(){var t=e(this),l=t.closest(".fl-editor-field"),i=(t.closest(".fl-builder-settings"),t.closest(".wp-editor-wrap")),o=t.attr("id"),s=l.attr("id"),r="undefined"!=typeof tinyMCE&&tinyMCE.get(o),n=t.siblings('textarea[name="'+s+'"]'),a=l.data("wpautop");0===n.length&&(n=e('<textarea name="'+s+'"></textarea>').hide(),t.after(n)),a?r&&i.hasClass("tmce-active")?n.val(r.getContent()):"undefined"!=typeof switchEditors?n.val(switchEditors.wpautop(t.val())):n.val(t.val()):(r&&i.hasClass("tmce-active")&&r.save(),n.val(t.val()))},_loopBuilderPostTypeChange:function(){var t=e(this).val();e(".fl-loop-builder-filter").hide(),e(".fl-loop-builder-"+t+"-filter").show()},_textFieldAddValueSelectChange:function(){var t=e(this),l=e('input[name="'+t.data("target")+'"]'),i=l.val(),o=t.val(),s="";-1==i.indexOf(o)&&(s=(i.trim()+" "+o.trim()).trim(),l.val(s).trigger("change").trigger("keyup")),t.val("")},ajax:function(t,l){var i;if(FLBuilder._silentUpdate)return FLBuilder.showAjaxLoader(),void(FLBuilder._silentUpdateCallbackData=[t,l]);t.silent===!0&&(FLBuilder._silentUpdate=!0);for(i in t)"undefined"==typeof t[i]&&(t[i]=null);return t._wpnonce=FLBuilderConfig.ajaxNonce,t.post_id=e("#fl-post-id").val(),t.fl_builder=1,t.fl_action=t.action,"undefined"!=typeof t.settings&&(t.settings=FLBuilder._ajaxModSecFix(t.settings)),"undefined"!=typeof t.node_settings&&(t.node_settings=FLBuilder._ajaxModSecFix(t.node_settings)),t={fl_builder_data:t},e.post(FLBuilder._ajaxUrl(),t,function(e){FLBuilder._ajaxComplete(),"undefined"!=typeof l&&l.call(this,e)})},_ajaxComplete:function(){var e,t;FLBuilder._silentUpdate=!1,null!==FLBuilder._silentUpdateCallbackData?(FLBuilder.showAjaxLoader(),e=FLBuilder._silentUpdateCallbackData[0],t=FLBuilder._silentUpdateCallbackData[1],FLBuilder._silentUpdateCallbackData=null,FLBuilder.ajax(e,t)):FLBuilder.hideAjaxLoader()},_ajaxUrl:function(e){var t=window.location.href.split("#").shift(),l=null;if("undefined"!=typeof e)for(l in e)t+=t.indexOf("?")>-1?"&":"?",t+=l+"="+e[l];return t},showAjaxLoader:function(){0===e(".fl-builder-lightbox-loading").length&&e(".fl-builder-loading").show()},hideAjaxLoader:function(){e(".fl-builder-loading").hide()},_ajaxModSecFix:function(e){var t;if(FLBuilderConfig.modSecFix&&"undefined"!=typeof btoa)if("string"==typeof e)e=btoa(e);else for(t in e)"string"==typeof e[t]?e[t]=btoa(e[t]):"object"==typeof e[t]&&(e[t]=FLBuilder._ajaxModSecFix(e[t]));return e},_showLightbox:function(e){e="undefined"==typeof e||e,FLBuilder._lightbox.open('<div class="fl-builder-lightbox-loading"></div>'),e?FLBuilder._lightbox.draggable({handle:".fl-lightbox-header"}):FLBuilder._lightbox.draggable(!1),FLBuilder._removeAllOverlays(),FLBuilder._initLightboxScrollbars()},_setLightboxContent:function(e){FLBuilder._lightbox.setContent(e)},_initLightboxScrollbars:function(){FLBuilder._initScrollbars(),FLBuilder._lightboxScrollbarTimeout=setTimeout(FLBuilder._initLightboxScrollbars,500)},_lightboxClosed:function(){FLBuilder.triggerHook("settings-lightbox-closed"),FLBuilder._lightbox.empty(),clearTimeout(FLBuilder._lightboxScrollbarTimeout)},_showActionsLightbox:function(e){var t=wp.template("fl-actions-lightbox");FLBuilder.triggerHook("actions-lightbox-settings",e),FLBuilder._actionsLightbox.open(t(e))},_resizeLightbox:function(){var t=e(this),l=t.hasClass("fa-expand")?"expand":"contract";FLBuilder._lightbox.renderResize(l),e(this).toggleClass("fa-expand").toggleClass("fa-compress")},alert:function(e){var t=new FLLightbox({className:"fl-builder-lightbox fl-builder-alert-lightbox",destroyOnClose:!0}),l=wp.template("fl-alert-lightbox");t.open(l({message:e}))},_alertClose:function(){FLLightbox.closeParent(this)},triggerHook:function(t,l){e("body").trigger("fl-builder."+t,l)},addHook:function(t,l){e("body").on("fl-builder."+t,l)},removeHook:function(t,l){e("body").off("fl-builder."+t,l)},log:function(e){"undefined"!=typeof window.console&&"undefined"!=typeof window.console.log&&console.log(e)},logError:function(e){var t=null;"undefined"!=typeof e&&("undefined"!=typeof e.stack?t=e.stack:"undefined"!=typeof e.message&&(t=e.message),t&&(FLBuilder.log("************************************************************************"),FLBuilder.log(FLBuilderStrings.errorMessage),FLBuilder.log(t),FLBuilder.log("************************************************************************")))},logGlobalError:function(e,t,l,i,o){FLBuilder.log("************************************************************************"),FLBuilder.log(FLBuilderStrings.errorMessage),FLBuilder.log(FLBuilderStrings.globalErrorMessage.replace("{message}",e).replace("{line}",l).replace("{file}",t)),"undefined"!=typeof o&&"undefined"!=typeof o.stack&&(FLBuilder.log(o.stack),FLBuilder.log("************************************************************************"))}},e(function(){FLBuilder._init()})}(jQuery);var FLBuilderColorPicker;!function(e,t){function l(){var t,l,i="backgroundImage";f?h="filter":(t=e('<div id="iris-gradtest" />'),l="linear-gradient(top,#fff,#000)",e.each(p,function(e,o){if(t.css(i,o+l),t.css(i).match("gradient"))return h=e,!1}),h===!1&&(t.css("background","-webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#000))"),t.css(this.bgImageString).match("gradient")&&(h="webkit")),t.remove())}function i(t,l){return t="top"===t?"top":"left",l=e.isArray(l)?l:Array.prototype.slice.call(arguments,1),"webkit"===h?s(t,l):p[h]+"linear-gradient("+t+", "+l.join(", ")+")"}function o(t,l){var i,o,s,n,a,d,u,c,f;t="top"===t?"top":"left",l=e.isArray(l)?l:Array.prototype.slice.call(arguments,1),i="top"===t?0:1,o=e(this),s=l.length-1,n="filter",a=1===i?"left":"top",d=1===i?"right":"bottom",u=1===i?"height":"width",c='<div class="iris-ie-gradient-shim" style="position:absolute;'+u+":100%;"+a+":%start%;"+d+":%end%;"+n+':%filter%;" data-color:"%color%"></div>',f="","static"===o.css("position")&&o.css({position:"relative"}),l=r(l),e.each(l,function(e,t){var o,r,n;return e!==s&&(o=l[e+1],void(t.stop!==o.stop&&(r=100-parseFloat(o.stop)+"%",t.octoHex=new Color(t.color).toIEOctoHex(),o.octoHex=new Color(o.color).toIEOctoHex(),n="progid:DXImageTransform.Microsoft.Gradient(GradientType="+i+", StartColorStr='"+t.octoHex+"', EndColorStr='"+o.octoHex+"')",f+=c.replace("%start%",t.stop).replace("%end%",r).replace("%filter%",n))))}),o.find(".iris-ie-gradient-shim").remove(),e(f).prependTo(o)}function s(t,l){var i=[];return t="top"===t?"0% 0%,0% 100%,":"0% 100%,100% 100%,",l=r(l),e.each(l,function(e,t){i.push("color-stop("+parseFloat(t.stop)/100+", "+t.color+")")}),"-webkit-gradient(linear,"+t+i.join(",")+")"}function r(t){var l=[],i=[],o=[],s=t.length-1;return e.each(t,function(e,t){var o=t,s=!1,r=t.match(/1?[0-9]{1,2}%$/);r&&(o=t.replace(/\s?1?[0-9]{1,2}%$/,""),s=r.shift()),l.push(o),i.push(s)}),i[0]===!1&&(i[0]="0%"),i[s]===!1&&(i[s]="100%"),i=n(i),e.each(i,function(e){o[e]={color:l[e],stop:i[e]}}),o}function n(t){var l,i,o,s,r=0,a=t.length-1,d=0,u=!1;if(t.length<=2||e.inArray(!1,t)<0)return t;for(;d<t.length-1;)u||t[d]!==!1?u&&t[d]!==!1&&(a=d,d=t.length):(r=d-1,u=!0),d++;for(i=a-r,s=parseInt(t[r].replace("%"),10),l=(parseFloat(t[a].replace("%"))-s)/i,d=r+1,o=1;d<a;)t[d]=s+o*l+"%",o++,d++;return n(t)}var a=[],d=navigator.userAgent.toLowerCase(),u="Microsoft Internet Explorer"===navigator.appName,c=u?parseFloat(d.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,f=u&&c<10,h=!1,p=["-moz-","-webkit-","-o-","-ms-"];flBuilderParseColorValue=function(e){var t=e.replace(/\s+/g,""),l=t.indexOf("rgba")!==-1?parseFloat(100*t.replace(/^.*,(.+)\)/,"$1")):100,i=l<100;return{value:t,alpha:l,rgba:i}},e.fn.flBuilderColorPickerGradient=function(){var t=arguments;return this.each(function(){f?o.apply(this,t):e(this).css("backgroundImage",i.apply(this,t))})},e.fn.flBuilderColorPickerRaninbowGradient=function(t,l){var i,o,s,r;for(t=t||"top",i=e.extend({},{s:100,l:50},l),o="hsl(%h%,"+i.s+"%,"+i.l+"%)",s=0,r=[];s<=360;)r.push(o.replace("%h%",s)),s+=30;return this.each(function(){e(this).flBuilderColorPickerGradient(t,r)})},FLBuilderColorPicker=function(t){this._html='<div class="fl-color-picker-ui"><div class="iris-picker"><div class="iris-picker-inner"><div class="iris-square"><a class="iris-square-value" href="#"><span class="iris-square-handle ui-slider-handle"></span></a><div class="iris-square-inner iris-square-horiz"></div><div class="iris-square-inner iris-square-vert"></div></div><div class="iris-slider iris-strip"><div class="iris-slider-offset"></div></div></div></div></div>';var l={elements:null,color:"",mode:"hsl",controls:{horiz:"s",vert:"l",strip:"h"},target:!1,width:200,presets:[],labels:{colorPresets:"Color Presets",colorPicker:"Color Picker",placeholder:"Paste color here...",removePresetConfirm:"Are you sure?",noneColorSelected:"None color selected.",alreadySaved:"%s is already a saved preset.",noPresets:"Add a color preset first.",presetAdded:"%s added to presets!"}};this.options=e.extend({},l,t),(f===!1||f===!0&&c>7)&&this._init()},FLBuilderColorPicker.prototype={_html:"",_color:"",_currentElement:"",_inited:!1,_defaultHSLControls:{horiz:"s",vert:"l",strip:"h"},_defaultHSVControls:{horiz:"h",vert:"v",strip:"s"},_scale:{h:360,s:100,l:100,v:100},_init:function(){var t=this;e(t.options.elements);this._color=new Color("#ff0000").setHSpace(t.options.mode),a=this.options.presets,h===!1&&l(),e("html").hasClass("fl-color-picker-init")?t.picker=e(".fl-color-picker-ui"):t.picker=e(this._html).appendTo("body"),u?9===c?t.picker.addClass("iris-ie-9"):c<=8&&t.picker.addClass("iris-ie-lt9"):d.indexOf("compatible")<0&&d.indexOf("khtml")<0&&d.match(/mozilla/)&&t.picker.addClass("iris-mozilla"),t.controls={square:t.picker.find(".iris-square"),squareDrag:t.picker.find(".iris-square-value"),horiz:t.picker.find(".iris-square-horiz"),vert:t.picker.find(".iris-square-vert"),strip:t.picker.find(".iris-strip"),stripSlider:t.picker.find(".iris-strip .iris-slider-offset")},"hsv"===t.options.mode&&t._has("l",t.options.controls)?t.options.controls=t._defaultHSVControls:"hsl"===t.options.mode&&t._has("v",t.options.controls)&&(t.options.controls=t._defaultHSLControls),t.hue=t._color.h(),this._setTemplates(),this._ui=e(".fl-color-picker-ui"),this._iris=e(".iris-picker"),this._wrapper=e("body"),e("html").hasClass("fl-color-picker-init")||this._ui.prepend(this._hexHtml).append(this._presetsHtml),t.element=this._ui.find(".fl-color-picker-input"),t._initControls(),t.active="external",t._change(),t._addInputListeners(t.element),this._buildUI(),this._prepareColorFields(),this._pickerControls(),this._presetsControls(),this._buildAlphaUI(),e("html").addClass("fl-color-picker-init")},_prepareColorFields:function(){var t=this;e(".fl-color-picker-value").each(function(){var l=e(this),i=l.val(),o=l.parent().find(".fl-color-picker-color"),s=flBuilderParseColorValue(i),r="";if(i){if(o.hasClass("fl-color-picker-alpha-enabled")&&s.rgba)r=l.val().toString();else if(!o.hasClass("fl-color-picker-alpha-enabled")&&s.rgba){var n=i.replace("rgba","rgb");n=n.substr(0,n.lastIndexOf(","))+")",t._color._alpha=1,r=n,l.val(n)}else r="#"+l.val().toString();o.css({backgroundColor:r})}})},_setTemplates:function(){this._alphaHtml='<div class="fl-alpha-wrap"><div class="fl-alpha-slider"></div><div class="fl-alpha-slider-offset"></div><div class="fl-alpha-text"></div></div>',this._presetsHtml='<div class="fl-color-picker-presets"><div class="fl-color-picker-presets-toggle"><div class="fl-color-picker-presets-open-label fl-color-picker-active">'+this.options.labels.colorPresets+' <span class="fl-color-picker-icon-arrow-up"></span></div><div class="fl-color-picker-presets-close-label">'+this.options.labels.colorPicker+' <span class="fl-color-picker-icon-arrow-down"></span></div></div><ul class="fl-color-picker-presets-list"></ul></div>',this._hexHtml='<input type="text" class="fl-color-picker-input" maxlength="7" placeholder="'+this.options.labels.placeholder+'"><div class="fl-color-picker-preset-add"></div>',this._presetsTpl='<li class="fl-color-picker-preset"><span class="fl-color-picker-preset-color"></span> <span class="fl-color-picker-preset-label"></span> <span class="fl-color-picker-preset-remove fl-color-picker-icon-remove"></span></li>',this._noPresetsTpl='<li class="fl-color-picker-no-preset"><span class="fl-color-picker-preset-label">'+this.options.labels.noPresets+"</span></li>"},_has:function(t,l){var i=!1;return e.each(l,function(e,l){if(t===l)return i=!0,!1}),i},_buildUI:function(){var t=this;t._presetsList=this._ui.find(".fl-color-picker-presets-list"),t._presetsList.html(""),this.options.presets.length>0?e.each(this.options.presets,function(e,l){t._addPresetView(l)}):t._presetsList.append(this._noPresetsTpl)},_addPresetView:function(t){var l=this._presetsList.find(".fl-color-picker-no-preset");l.length>0&&l.remove();var i=e(this._presetsTpl),o=Color(t);i.attr("data-color",t).find(".fl-color-picker-preset-color").css({backgroundColor:o.toString()}).end().find(".fl-color-picker-preset-label").html(o.toString()),this._presetsList.append(i)},_addPresetFeedback:function(){this._ui.append('<div class="fl-color-picker-added"><div class="fl-color-picker-added-text"><div class="fl-color-picker-icon-check"></div> "'+this.options.labels.presetAdded.replace("%s",this._color.toString())+'"</div></div>'),this._ui.find(".fl-color-picker-added").hide().fadeIn(200).delay(2e3).fadeOut(200,function(){e(this).remove()})},_pickerControls:function(){var t=this;this._wrapper.on("click",".fl-color-picker-color",function(){var l=e(this);t._currentElement=l.parent().find(".fl-color-picker-value"),t._ui.position({my:"left top",at:"left bottom",of:l,collision:"flipfit",using:function(e,l){t._togglePicker(e)}})}).on("click",".fl-color-picker-clear",function(){var l=e(this);t._currentElement=l.parent().find(".fl-color-picker-value"),l.prev(".fl-color-picker-color").css({backgroundColor:"transparent"}).addClass("fl-color-picker-empty"),t._setColor(""),t.element.val(""),t._currentElement.val("").trigger("change")}),e(document).on("click",function(t){0===e(t.target).closest(".fl-color-picker-ui").length&&e(".fl-color-picker-ui.fl-color-picker-active").removeClass("fl-color-picker-active")})},_presetsControls:function(){var t=this,l=t._ui.find(".fl-color-picker-preset-add"),i=t._ui.find(".fl-color-picker-presets"),o=i.find(".fl-color-picker-presets-open-label"),s=i.find(".fl-color-picker-presets-close-label"),r=i.find(".fl-color-picker-presets-list");
|
6 |
+
l.off("click").on("click",function(){t._addPreset(t.element.val())}),r.css({height:t.element.innerHeight()+t._iris.innerHeight()+14+"px"}).hide(),i.off("click").on("click",".fl-color-picker-presets-toggle",function(){o.toggleClass("fl-color-picker-active"),s.toggleClass("fl-color-picker-active"),r.slideToggle(500)}).on("click",".fl-color-picker-preset",function(l){var i=new Color(e(this).data("color").toString());t._setColor(i),t._currentElement.parent().find(".fl-color-picker-color").css({backgroundColor:i.toString()}).removeClass("fl-color-picker-empty"),o.toggleClass("fl-color-picker-active"),s.toggleClass("fl-color-picker-active"),r.slideToggle(500)}).on("click",".fl-color-picker-preset-remove",function(l){l.stopPropagation(),t._removePreset(e(this).parent().data("color"))})},_removePreset:function(t){if(confirm(this.options.labels.removePresetConfirm)){var l=t.toString(),i=a.indexOf(l);i>-1&&(a.splice(i,1),this.options.presets=a,this._presetsList.find('.fl-color-picker-preset[data-color="'+l+'"]').slideUp(function(){e(this).remove()})),a.length<1&&this._presetsList.append(this._noPresetsTpl),e(this).trigger("presetRemoved",{presets:a})}},_addPreset:function(t){var l=t.toString().replace(/^#/,"");""===l?alert(this.options.labels.noneColorSelected):a.indexOf(l)>-1?alert(this.options.labels.alreadySaved.replace("%s","#"+l)):(this._addPresetView(l),this._addPresetFeedback(),a.push(l),this.options.presets=a,e(this).trigger("presetAdded",{presets:a}))},_togglePicker:function(e){var t=this;this._ui.hasClass("fl-color-picker-active")?(this._ui.removeClass("fl-color-picker-active"),e&&setTimeout(function(){t._ui.css(e),t._ui.addClass("fl-color-picker-active"),t._setColor(t._currentElement.val())},200)):(e&&t._ui.css(e),setTimeout(function(){t._ui.addClass("fl-color-picker-active"),t._setColor(t._currentElement.val())},200))},_paint:function(){var e=this;e._paintDimension("right","strip"),e._paintDimension("top","vert"),e._paintDimension("left","horiz")},_paintDimension:function(e,t){var l,i=this,o=i._color,s=i.options.mode,r=i._getHSpaceColor(),n=i.controls[t],a=i.options.controls;if(t!==i.active&&("square"!==i.active||"strip"===t))switch(a[t]){case"h":if("hsv"===s){switch(r=o.clone(),t){case"horiz":r[a.vert](100);break;case"vert":r[a.horiz](100);break;case"strip":r.setHSpace("hsl")}l=r.toHsl()}else l="strip"===t?{s:r.s,l:r.l}:{s:100,l:r.l};n.flBuilderColorPickerRaninbowGradient(e,l);break;case"s":"hsv"===s?"vert"===t?l=[o.clone().a(0).s(0).toCSS("rgba"),o.clone().a(1).s(0).toCSS("rgba")]:"strip"===t?l=[o.clone().s(100).toCSS("hsl"),o.clone().s(0).toCSS("hsl")]:"horiz"===t&&(l=["#fff","hsl("+r.h+",100%,50%)"]):l="vert"===t&&"h"===i.options.controls.horiz?["hsla(0, 0%, "+r.l+"%, 0)","hsla(0, 0%, "+r.l+"%, 1)"]:["hsl("+r.h+",0%,50%)","hsl("+r.h+",100%,50%)"],n.flBuilderColorPickerGradient(e,l);break;case"l":l="strip"===t?["hsl("+r.h+",100%,100%)","hsl("+r.h+", "+r.s+"%,50%)","hsl("+r.h+",100%,0%)"]:["#fff","rgba(255,255,255,0) 50%","rgba(0,0,0,0) 50%","rgba(0,0,0,1)"],n.flBuilderColorPickerGradient(e,l);break;case"v":l="strip"===t?[o.clone().v(100).toCSS(),o.clone().v(0).toCSS()]:["rgba(0,0,0,0)","#000"],n.flBuilderColorPickerGradient(e,l)}},_getHSpaceColor:function(){return"hsv"===this.options.mode?this._color.toHsv():this._color.toHsl()},_dimensions:function(e){var t,l=this,i=l.options,o=l.controls,s=o.square,r=l.picker.find(".iris-strip"),n="77.5%",a="12%",d=20,u=i.border?i.width-d:i.width;if(e&&(s.css("width",""),r.css("width",""),l.picker.css({width:"",height:""})),n=u*(parseFloat(n)/100),a=u*(parseFloat(a)/100),t=i.border?n+d:n,s.width(n).height(n),r.height(n).width(a),l.picker.css({width:i.width,height:t}),!i.palettes)return l.picker.css("paddingBottom","")},_addInputListeners:function(e){var t=this,l=100,i=function(l){var i=new Color(e.val()),o=e.val().replace(/^#/,"");if(e.removeClass("iris-error"),i.error)""!==o&&e.addClass("iris-error");else if(i.toString()!==t._color.toString())if("keyup"===l.type){if(o.match(/^[0-9a-fA-F]{3}$/))return;t._setColor(o),t._currentElement.parent().find(".fl-color-picker-color").css({backgroundColor:Color(o).toString()}).removeClass("fl-color-picker-empty"),t._currentElement.val(o).trigger("change")}else if("paste"===l.type)return o=l.originalEvent.clipboardData.getData("text").replace(/^#/,""),hex=Color(o).toString(),t._setColor(o),e.val(hex),t._currentElement.parent().find(".fl-color-picker-color").css({backgroundColor:hex}).removeClass("fl-color-picker-empty"),t._currentElement.val(o).trigger("change"),!1};e.on("change",i).on("keyup",t._debounce(i,l))},_initControls:function(){var t=this,l=t.controls,i=l.square,o=t.options.controls,s=t._scale[o.strip];l.stripSlider.slider({orientation:"horizontal",max:s,slide:function(e,l){t.active="strip","h"===o.strip&&(l.value=s-l.value),t._color[o.strip](l.value),t._change.apply(t,arguments)}}),l.squareDrag.draggable({containment:l.square.find(".iris-square-inner"),zIndex:1e3,cursor:"move",drag:function(e,l){t._squareDrag(e,l)},start:function(){i.addClass("iris-dragging"),e(this).addClass("ui-state-focus")},stop:function(){i.removeClass("iris-dragging"),e(this).removeClass("ui-state-focus")}}).on("mousedown mouseup",function(l){var i="ui-state-focus";l.preventDefault(),"mousedown"===l.type?(t.picker.find("."+i).removeClass(i).blur(),e(this).addClass(i).focus()):e(this).removeClass(i)}).on("keydown",function(e){var i=l.square,o=l.squareDrag,s=o.position(),r=2;switch(e.altKey&&(r*=10),e.keyCode){case 37:s.left-=r;break;case 38:s.top-=r;break;case 39:s.left+=r;break;case 40:s.top+=r;break;default:return!0}s.left=Math.max(0,Math.min(s.left,i.width())),s.top=Math.max(0,Math.min(s.top,i.height())),o.css(s),t._squareDrag(e,{position:s}),e.preventDefault()}),i.mousedown(function(l){var i,o;1===l.which&&e(l.target).is("div")&&(i=t.controls.square.offset(),o={top:l.pageY-i.top,left:l.pageX-i.left},l.preventDefault(),t._squareDrag(l,{position:o}),l.target=t.controls.squareDrag.get(0),t.controls.squareDrag.css(o).trigger(l))})},_squareDrag:function(e,t){var l=this,i=l.options.controls,o=l._squareDimensions(),s=Math.round((o.h-t.position.top)/o.h*l._scale[i.vert]),r=l._scale[i.horiz]-Math.round((o.w-t.position.left)/o.w*l._scale[i.horiz]);l._color[i.horiz](r)[i.vert](s),l.active="square",l._change.apply(l,arguments)},_setColor:function(e){var t,l,i=this,o=i.options.color;i.options.color=e,e=""+e,t=e.replace(/^#/,""),l=new Color(e).setHSpace(i.options.mode),l.error?i.options.color=o:(i._color=l,i.options.color=i._color.toString(),i.active="external",i._change())},_squareDimensions:function(e){var l,i,o=this.controls.square;return e!==t&&o.data("dimensions")?o.data("dimensions"):(i=this.controls.squareDrag,l={w:o.width(),h:o.height()},o.data("dimensions",l),l)},_isNonHueControl:function(e,t){return"square"===e&&"h"===this.options.controls.strip||"external"!==t&&("h"!==t||"strip"!==e)},_change:function(){var t=this,l=t.controls,i=t._getHSpaceColor(),o=["square","strip"],s=t.options.controls,r=s[t.active]||"external",n=t.hue;"strip"===t.active?o=[]:"external"!==t.active&&o.pop(),e.each(o,function(e,o){var r,n,a;if(o!==t.active)switch(o){case"strip":r="h"===s.strip?t._scale[s.strip]-i[s.strip]:i[s.strip],l.stripSlider.slider("value",r);break;case"square":n=t._squareDimensions(),a={left:i[s.horiz]/t._scale[s.horiz]*n.w,top:n.h-i[s.vert]/t._scale[s.vert]*n.h},t.controls.squareDrag.css(a)}}),i.h!==n&&t._isNonHueControl(t.active,r)&&t._color.h(n),t.hue=t._color.h(),t.options.color=t._color.toString(),t.element.is(":input")&&!t._color.error&&(t.element.removeClass("iris-error"),t.element.val()!==t._color.toString()&&(t.element.val(t._color.toString()),this._currentElement&&(this._currentElement.val(t._color.toString().replace(/^#/,"")).parent().find(".fl-color-picker-color").css({backgroundColor:t._color.toString()}).removeClass("fl-color-picker-empty"),t._wrapper.find(".fl-alpha-slider-offset").css("background-color",t._color.toString()),this._currentElement.trigger("change")))),t._paint(),t._inited=!0,t.active=!1},_debounce:function(e,t,l){var i,o;return function(){var s,r,n=this,a=arguments;return s=function(){i=null,l||(o=e.apply(n,a))},r=l&&!i,clearTimeout(i),i=setTimeout(s,t),r&&(o=e.apply(n,a)),o}},_buildAlphaUI:function(){var t=this;t._wrapper.on("click",".fl-color-picker-color",function(){var l=e(this);t._currentElement.val();l.hasClass("fl-color-picker-alpha-enabled")?(t._ui.find(".fl-alpha-wrap").length<=0&&e(t._alphaHtml).insertAfter(t._iris),t._pickerAlphaControls()):t._ui.find(".fl-alpha-wrap").remove()})},_pickerAlphaControls:function(){var e=this,t=e._currentElement,l=flBuilderParseColorValue(t.val()),i=parseFloat(l.alpha/100),o=e._wrapper,s=e._ui,r=s.find(".fl-alpha-wrap"),n=r.find(".fl-alpha-slider"),a=r.find(".fl-alpha-text"),d=r.find(".fl-alpha-slider-offset");alphaHandle=r.find(".ui-slider-handle"),a.text(i<1?i:""),n.slider({orientation:"vertical",slide:function(t,l){var i=parseFloat(l.value/100);e._color._alpha=i,a.text(i<1?i:""),e._change.apply(e,arguments)},create:function(){d.css({backgroundColor:l.value}),o.on("click",".fl-color-picker-clear",function(){e._color._alpha=1,a.text(""),n.slider("value",100).trigger("slide")})},value:l.alpha,step:1,min:1,max:100})}}}(jQuery),function(e,t){var l=function(e,t){return this instanceof l?this._init(e,t):new l(e,t)};l.fn=l.prototype={_color:0,_alpha:1,error:!1,_hsl:{h:0,s:0,l:0},_hsv:{h:0,s:0,v:0},_hSpace:"hsl",_init:function(e){var l="noop";switch(typeof e){case"object":return e.a!==t&&this.a(e.a),l=e.r!==t?"fromRgb":e.l!==t?"fromHsl":e.v!==t?"fromHsv":l,this[l](e);case"string":return this.fromCSS(e);case"number":return this.fromInt(parseInt(e,10))}return this},_error:function(){return this.error=!0,this},clone:function(){for(var e=new l(this.toInt()),t=["_alpha","_hSpace","_hsl","_hsv","error"],i=t.length-1;i>=0;i--)e[t[i]]=this[t[i]];return e},setHSpace:function(e){return this._hSpace="hsv"===e?e:"hsl",this},noop:function(){return this},fromCSS:function(e){var t,l=/^(rgb|hs(l|v))a?\(/;if(this.error=!1,e=e.replace(/^\s+/,"").replace(/\s+$/,"").replace(/;$/,""),e.match(l)&&e.match(/\)$/)){if(t=e.replace(/(\s|%)/g,"").replace(l,"").replace(/,?\);?$/,"").split(","),t.length<3)return this._error();if(4===t.length&&(this.a(parseFloat(t.pop())),this.error))return this;for(var i=t.length-1;i>=0;i--)if(t[i]=parseInt(t[i],10),isNaN(t[i]))return this._error();return e.match(/^rgb/)?this.fromRgb({r:t[0],g:t[1],b:t[2]}):e.match(/^hsv/)?this.fromHsv({h:t[0],s:t[1],v:t[2]}):this.fromHsl({h:t[0],s:t[1],l:t[2]})}return this.fromHex(e)},fromRgb:function(e,l){return"object"!=typeof e||e.r===t||e.g===t||e.b===t?this._error():(this.error=!1,this.fromInt(parseInt((e.r<<16)+(e.g<<8)+e.b,10),l))},fromHex:function(e){return e=e.replace(/^#/,"").replace(/^0x/,""),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),this.error=!/^[0-9A-F]{6}$/i.test(e),this.fromInt(parseInt(e,16))},fromHsl:function(e){var l,i,o,s,r,n,a,d;return"object"!=typeof e||e.h===t||e.s===t||e.l===t?this._error():(this._hsl=e,this._hSpace="hsl",n=e.h/360,a=e.s/100,d=e.l/100,0===a?l=i=o=d:(s=d<.5?d*(1+a):d+a-d*a,r=2*d-s,l=this.hue2rgb(r,s,n+1/3),i=this.hue2rgb(r,s,n),o=this.hue2rgb(r,s,n-1/3)),this.fromRgb({r:255*l,g:255*i,b:255*o},!0))},fromHsv:function(e){var l,i,o,s,r,n,a,d,u,c,f;if("object"!=typeof e||e.h===t||e.s===t||e.v===t)return this._error();switch(this._hsv=e,this._hSpace="hsv",l=e.h/360,i=e.s/100,o=e.v/100,a=Math.floor(6*l),d=6*l-a,u=o*(1-i),c=o*(1-d*i),f=o*(1-(1-d)*i),a%6){case 0:s=o,r=f,n=u;break;case 1:s=c,r=o,n=u;break;case 2:s=u,r=o,n=f;break;case 3:s=u,r=c,n=o;break;case 4:s=f,r=u,n=o;break;case 5:s=o,r=u,n=c}return this.fromRgb({r:255*s,g:255*r,b:255*n},!0)},fromInt:function(e,l){return this._color=parseInt(e,10),isNaN(this._color)&&(this._color=0),this._color>16777215?this._color=16777215:this._color<0&&(this._color=0),l===t&&(this._hsv.h=this._hsv.s=this._hsl.h=this._hsl.s=0),this},hue2rgb:function(e,t,l){return l<0&&(l+=1),l>1&&(l-=1),l<1/6?e+6*(t-e)*l:l<.5?t:l<2/3?e+(t-e)*(2/3-l)*6:e},toString:function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var e=parseInt(this._color,10).toString(16);if(this.error)return"";if(e.length<6)for(var t=6-e.length-1;t>=0;t--)e="0"+e;return"#"+e},toCSS:function(e,t){switch(e=e||"hex",t=parseFloat(t||this._alpha),e){case"rgb":case"rgba":var l=this.toRgb();return t<1?"rgba( "+l.r+", "+l.g+", "+l.b+", "+t+" )":"rgb( "+l.r+", "+l.g+", "+l.b+" )";case"hsl":case"hsla":var i=this.toHsl();return t<1?"hsla( "+i.h+", "+i.s+"%, "+i.l+"%, "+t+" )":"hsl( "+i.h+", "+i.s+"%, "+i.l+"% )";default:return this.toString()}},toRgb:function(){return{r:255&this._color>>16,g:255&this._color>>8,b:255&this._color}},toHsl:function(){var e,t,l=this.toRgb(),i=l.r/255,o=l.g/255,s=l.b/255,r=Math.max(i,o,s),n=Math.min(i,o,s),a=(r+n)/2;if(r===n)e=t=0;else{var d=r-n;switch(t=a>.5?d/(2-r-n):d/(r+n),r){case i:e=(o-s)/d+(o<s?6:0);break;case o:e=(s-i)/d+2;break;case s:e=(i-o)/d+4}e/=6}return e=Math.round(360*e),0===e&&this._hsl.h!==e&&(e=this._hsl.h),t=Math.round(100*t),0===t&&this._hsl.s&&(t=this._hsl.s),{h:e,s:t,l:Math.round(100*a)}},toHsv:function(){var e,t,l=this.toRgb(),i=l.r/255,o=l.g/255,s=l.b/255,r=Math.max(i,o,s),n=Math.min(i,o,s),a=r,d=r-n;if(t=0===r?0:d/r,r===n)e=t=0;else{switch(r){case i:e=(o-s)/d+(o<s?6:0);break;case o:e=(s-i)/d+2;break;case s:e=(i-o)/d+4}e/=6}return e=Math.round(360*e),0===e&&this._hsv.h!==e&&(e=this._hsv.h),t=Math.round(100*t),0===t&&this._hsv.s&&(t=this._hsv.s),{h:e,s:t,v:Math.round(100*a)}},toInt:function(){return this._color},toIEOctoHex:function(){var e=this.toString(),t=parseInt(255*this._alpha,10).toString(16);return 1===t.length&&(t="0"+t),"#"+t+e.replace(/^#/,"")},toLuminosity:function(){var e=this.toRgb();return.2126*Math.pow(e.r/255,2.2)+.7152*Math.pow(e.g/255,2.2)+.0722*Math.pow(e.b/255,2.2)},getDistanceLuminosityFrom:function(e){if(!(e instanceof l))throw"getDistanceLuminosityFrom requires a Color object";var t=this.toLuminosity(),i=e.toLuminosity();return t>i?(t+.05)/(i+.05):(i+.05)/(t+.05)},getMaxContrastColor:function(){var e=this.toLuminosity(),t=e>=.5?"000000":"ffffff";return new l(t)},getReadableContrastingColor:function(e,i){if(!(e instanceof l))return this;var o=i===t?5:i,s=e.getDistanceLuminosityFrom(this),r=e.getMaxContrastColor(),n=r.getDistanceLuminosityFrom(e);if(n<=o)return r;if(s>=o)return this;for(var a=0===r.toInt()?-1:1;s<o&&(this.l(a,!0),s=this.getDistanceLuminosityFrom(e),0!==this._color&&16777215!==this._color););return this},a:function(e){if(e===t)return this._alpha;var l=parseFloat(e);return isNaN(l)?this._error():(this._alpha=l,this)},darken:function(e){return e=e||5,this.l(-e,!0)},lighten:function(e){return e=e||5,this.l(e,!0)},saturate:function(e){return e=e||15,this.s(e,!0)},desaturate:function(e){return e=e||15,this.s(-e,!0)},toGrayscale:function(){return this.setHSpace("hsl").s(0)},getComplement:function(){return this.h(180,!0)},getSplitComplement:function(e){e=e||1;var t=180+30*e;return this.h(t,!0)},getAnalog:function(e){e=e||1;var t=30*e;return this.h(t,!0)},getTetrad:function(e){e=e||1;var t=60*e;return this.h(t,!0)},getTriad:function(e){e=e||1;var t=120*e;return this.h(t,!0)},_partial:function(e){var l=i[e];return function(i,o){var s=this._spaceFunc("to",l.space);return i===t?s[e]:(o===!0&&(i=s[e]+i),l.mod&&(i%=l.mod),l.range&&(i=i<l.range[0]?l.range[0]:i>l.range[1]?l.range[1]:i),s[e]=i,this._spaceFunc("from",l.space,s))}},_spaceFunc:function(e,t,l){var i=t||this._hSpace,o=e+i.charAt(0).toUpperCase()+i.substr(1);return this[o](l)}};var i={h:{mod:360},s:{range:[0,100]},l:{space:"hsl",range:[0,100]},v:{space:"hsv",range:[0,100]},r:{space:"rgb",range:[0,255]},g:{space:"rgb",range:[0,255]},b:{space:"rgb",range:[0,255]}};for(var o in i)i.hasOwnProperty(o)&&(l.fn[o]=l.fn._partial(o));"object"==typeof exports?module.exports=l:e.Color=l}(this),function(e){FLIconSelector={_content:null,_lightbox:null,_rendered:!1,_filterText:"",open:function(e){FLIconSelector._rendered||FLIconSelector._render(),null===FLIconSelector._content?(FLIconSelector._lightbox.open('<div class="fl-builder-lightbox-loading"></div>'),FLBuilder.ajax({action:"render_icon_selector"},FLIconSelector._getContentComplete)):FLIconSelector._lightbox.open(),FLIconSelector._lightbox.on("icon-selected",function(t,l){FLIconSelector._lightbox.off("icon-selected"),FLIconSelector._lightbox.close(),e(l)})},_render:function(){FLIconSelector._lightbox=new FLLightbox({className:"fl-icon-selector"}),FLIconSelector._rendered=!0},_getContentComplete:function(t){var l=JSON.parse(t);FLIconSelector._content=l.html,FLIconSelector._lightbox.setContent(l.html),e(".fl-icons-filter-select").on("change",FLIconSelector._filter),e(".fl-icons-filter-text").on("keyup",FLIconSelector._filter),e(".fl-icons-list i").on("click",FLIconSelector._select),e(".fl-icon-selector-cancel").on("click",e.proxy(FLIconSelector._lightbox.close,FLIconSelector._lightbox))},_filter:function(){var t=e(".fl-icons-filter-select").val(),l=e(".fl-icons-filter-text").val();"all"==t?e(".fl-icons-section").show():(e(".fl-icons-section").hide(),e(".fl-"+t).show()),FLIconSelector._filterText=l,""!==l?e(".fl-icons-list i").each(FLIconSelector._filterIcon):e(".fl-icons-list i").show()},_filterIcon:function(){var t=e(this);-1==t.attr("class").indexOf(FLIconSelector._filterText)?t.hide():t.show()},_select:function(){var t=e(this).attr("class");FLIconSelector._lightbox.trigger("icon-selected",t)}}}(jQuery),function(e){FLLightbox=function(e){this._init(e),this._render(),this._bind()},FLLightbox.closeParent=function(t){var l=e(t).closest(".fl-lightbox-wrap").attr("data-instance-id");FLLightbox._instances[l].close()},FLLightbox._instances={},FLLightbox.prototype={_id:null,_node:null,_visible:!1,_resizeTimer:null,_draggable:!1,_defaults:{className:"",destroyOnClose:!1},open:function(e){this._node.find(".fl-lightbox").attr("style",""),this._node.show(),this._visible=!0,"undefined"!=typeof e?this.setContent(e):this._resize(),this.trigger("open")},close:function(){"undefined"!=typeof tinymce&&"undefined"!=typeof tinymce.EditorManager.activeEditor&&null!=tinymce.EditorManager.activeEditor&&tinymce.EditorManager.activeEditor.hide(),this._node.hide(),this._visible=!1,this.trigger("close"),this._defaults.destroyOnClose&&this.destroy()},setContent:function(e){this._node.find(".fl-lightbox-content").html(e),this._resize()},empty:function(){this._node.find(".fl-lightbox-content").empty(),this._node.find(".fl-lightbox").removeClass("fl-lightbox-expanded")},on:function(e,t){this._node.on(e,t)},off:function(e){this._node.off(e)},trigger:function(e,t){this._node.trigger(e,t)},draggable:function(e){var t=this._node.find(".fl-lightbox-mask"),l=this._node.find(".fl-lightbox");e="undefined"!=typeof e&&e,this._draggable&&l.draggable("destroy"),e?(this._unbind(),this._draggable=!0,t.hide(),l.draggable({cursor:"move",handle:e.handle||""})):(t.show(),this._bind(),this._draggable=!1),this._resize()},destroy:function(){e(window).off("resize.fl-lightbox-"+this._id),this._node.empty(),this._node.remove(),FLLightbox._instances[this._id]="undefined";try{delete FLLightbox._instances[this._id]}catch(t){}},renderResize:function(t){if("undefined"!=typeof t){var l=this._getActiveNode();if(lightbox=l.find(".fl-lightbox"),boxFields=lightbox.find(".fl-builder-settings-fields"),win=e(window),winHeight=win.height(),winWidth=win.width(),boxHeaderHeight=lightbox.find(".fl-lightbox-header").height(),boxTabsHeight=lightbox.find(".fl-builder-settings-tabs").height(),boxFooterHeight=lightbox.find(".fl-lightbox-footer").height(),boxFieldHeight=winHeight-(boxHeaderHeight+boxTabsHeight+boxFooterHeight+103),editor="undefined"!=typeof tinymce&&tinymce.EditorManager.activeEditor?tinymce:null,editorId=editor?editor.EditorManager.activeEditor.id:"flhiddeneditor",editorIframeEl=lightbox.find("#"+editorId+"_ifr"),editorTextarea=lightbox.find("#"+editorId),codeField=lightbox.find(".fl-code-field .ace_editor"),"expand"==t||"window_resize"==t){if("window_resize"==t&&!lightbox.hasClass("fl-lightbox-expanded"))return!1;boxFields.css("height",boxFieldHeight+"px"),"expand"==t&&(lightbox.addClass("fl-lightbox-expanded"),lightbox.draggable("disable")),editorIframeEl.length>0&&editorIframeEl.css("height",boxFieldHeight-145+"px"),editorTextarea.length>0&&editorTextarea.css("height",boxFieldHeight-145+"px"),codeField.length>0&&codeField.css("height",boxFieldHeight-30+"px")}else setTimeout(e.proxy(this._resize,this),250),lightbox.removeClass("fl-lightbox-expanded"),boxFields.removeAttr("style"),null!==editorId&&(editorIframeEl.css("height","232px"),editorTextarea.css("height","232px")),codeField.length>0&&codeField.css("height","380px"),lightbox.draggable("enable")}},_init:function(t){var l=0,i=null;for(i in FLLightbox._instances)l++;this._defaults=e.extend({},this._defaults,t),this._id=(new Date).getTime()+l,FLLightbox._instances[this._id]=this},_render:function(){this._node=e('<div class="fl-lightbox-wrap" data-instance-id="'+this._id+'"><div class="fl-lightbox-mask"></div><div class="fl-lightbox"><div class="fl-lightbox-content-wrap"><div class="fl-lightbox-content"></div></div></div></div>'),this._node.addClass(this._defaults.className),e("body").append(this._node)},_bind:function(){e(window).on("resize.fl-lightbox-"+this._id,e.proxy(this._delayedResize,this))},_unbind:function(){e(window).off("resize.fl-lightbox-"+this._id)},_delayedResize:function(){clearTimeout(this._resizeTimer),this._resizeTimer=setTimeout(e.proxy(this._resize,this),250),this.renderResize("window_resize")},_resize:function(){if(this._visible){var t=this._node.find(".fl-lightbox"),l=t.height(),i=t.width(),o=e(window),s=o.height(),r=o.width(),n="0px",a=(r-i)/2-30+"px";t.css({margin:"0px",top:"auto",left:"auto"}),s-80>l&&(n=(s-l)/2-40+"px"),this._draggable?(t.css("top",n),t.css("left",FLBuilderConfig.isRtl?"-"+a:a)):(t.css("margin-top",n),t.css("margin-left","auto"),t.css("margin-right","auto"))}},_onKeypress:function(e){27==e.which&&this._visible&&this.close()},_getActiveNode:function(){var t=this._node;return e.each(FLLightbox._instances,function(l,i){e(i._node).is(":visible")&&(t=e(i._node))}),t}}}(jQuery),function(e){FLStyleSheet=function(t){"object"==typeof t&&e.extend(this,t),this._createSheet()},FLStyleSheet.prototype={id:null,_sheet:null,_sheetElement:null,updateRule:function(e,t,l){for(var i=this._sheet.cssRules?this._sheet.cssRules:this._sheet.rules,o=null,s=0;s<i.length;s++)i[s].selectorText.toLowerCase()==e.toLowerCase()&&(o=i[s]);if(o)if("object"==typeof t)for(s in t)o.style[this._toCamelCase(s)]=t[s];else o.style[this._toCamelCase(t)]=l;else this.addRule(e,t,l)},addRule:function(e,t,l){var i="",o="";if("object"==typeof t)for(o in t)i+=o+":"+t[o]+";";else i=t+":"+l+";";this._sheet.insertRule?this._sheet.insertRule(e+" { "+i+" }",this._sheet.cssRules.length):this._sheet.addRule(e,i)},destroy:function(){this._sheetElement&&(this._sheetElement.remove(),this._sheetElement=null),this._sheet&&(this._sheet=null)},disable:function(){this._sheet.disabled=!0},enable:function(){this._sheet.disabled=!1},_createSheet:function(){var t=this.id?' id="'+this.id+'"':"";this._sheet||(this._sheetElement=e('<style type="text/css"'+t+"></style>"),e("body").append(this._sheetElement),this._sheet=this._sheetElement[0].sheet)},_toCamelCase:function(e){return e.toLowerCase().replace(/-(.)/g,function(e,t){return t.toUpperCase()})}}}(jQuery);
|
js/fl-color-picker.js
CHANGED
@@ -261,6 +261,19 @@ var FLBuilderColorPicker;
|
|
261 |
return backFillColorStops( stops );
|
262 |
}
|
263 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
/**
|
265 |
* @since 1.6.4
|
266 |
* @method $.fn.flBuilderColorPickerGradient
|
@@ -439,7 +452,7 @@ var FLBuilderColorPicker;
|
|
439 |
var self = this,
|
440 |
el = $( self.options.elements );
|
441 |
|
442 |
-
this._color = new Color( '#
|
443 |
|
444 |
// Set picker color presets
|
445 |
FLBuilderColorPresets = this.options.presets;
|
@@ -506,6 +519,7 @@ var FLBuilderColorPicker;
|
|
506 |
self.element = this._ui.find( '.fl-color-picker-input' );
|
507 |
self._initControls();
|
508 |
self.active = 'external';
|
|
|
509 |
self._change();
|
510 |
|
511 |
// binds listeners to all color picker instances
|
@@ -523,6 +537,9 @@ var FLBuilderColorPicker;
|
|
523 |
// bind presets control events
|
524 |
this._presetsControls();
|
525 |
|
|
|
|
|
|
|
526 |
// now we know that the picker is already added to the body
|
527 |
$('html').addClass( 'fl-color-picker-init' );
|
528 |
|
@@ -539,12 +556,30 @@ var FLBuilderColorPicker;
|
|
539 |
// append presets initial html and trigger that toggles the picker
|
540 |
$('.fl-color-picker-value').each( function(){
|
541 |
|
542 |
-
var $this
|
543 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
544 |
|
545 |
-
|
546 |
-
// set initial color
|
547 |
-
$colorTrigger.css({ backgroundColor: '#' + $this.val().toString() });
|
548 |
}
|
549 |
});
|
550 |
},
|
@@ -557,6 +592,12 @@ var FLBuilderColorPicker;
|
|
557 |
*/
|
558 |
_setTemplates: function(){
|
559 |
|
|
|
|
|
|
|
|
|
|
|
|
|
560 |
this._presetsHtml = '<div class="fl-color-picker-presets">' +
|
561 |
'<div class="fl-color-picker-presets-toggle">' +
|
562 |
'<div class="fl-color-picker-presets-open-label fl-color-picker-active">' + this.options.labels.colorPresets + ' <span class="fl-color-picker-icon-arrow-up"></span></div>' +
|
@@ -567,7 +608,7 @@ var FLBuilderColorPicker;
|
|
567 |
|
568 |
this._hexHtml = '<input type="text" class="fl-color-picker-input" maxlength="7" placeholder="' + this.options.labels.placeholder + '">' +
|
569 |
'<div class="fl-color-picker-preset-add"></div>';
|
570 |
-
|
571 |
this._presetsTpl = '<li class="fl-color-picker-preset"><span class="fl-color-picker-preset-color"></span> <span class="fl-color-picker-preset-label"></span> <span class="fl-color-picker-preset-remove fl-color-picker-icon-remove"></span></li>';
|
572 |
|
573 |
this._noPresetsTpl = '<li class="fl-color-picker-no-preset"><span class="fl-color-picker-preset-label">' + this.options.labels.noPresets + '</span></li>';
|
@@ -981,6 +1022,60 @@ var FLBuilderColorPicker;
|
|
981 |
return ( this.options.mode === 'hsv' ) ? this._color.toHsv() : this._color.toHsl();
|
982 |
},
|
983 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
984 |
/**
|
985 |
* Logic to listen to events from the main color input and to bind it to the current color field.
|
986 |
*
|
@@ -1308,7 +1403,8 @@ var FLBuilderColorPicker;
|
|
1308 |
.find( '.fl-color-picker-color' )
|
1309 |
.css({ backgroundColor: self._color.toString() })
|
1310 |
.removeClass( 'fl-color-picker-empty' );
|
1311 |
-
|
|
|
1312 |
this._currentElement.trigger( 'change' );
|
1313 |
}
|
1314 |
|
@@ -1349,7 +1445,96 @@ var FLBuilderColorPicker;
|
|
1349 |
}
|
1350 |
return result;
|
1351 |
};
|
1352 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1353 |
};
|
1354 |
|
1355 |
}( jQuery ));
|
@@ -1603,6 +1788,11 @@ var FLBuilderColorPicker;
|
|
1603 |
},
|
1604 |
|
1605 |
toString: function() {
|
|
|
|
|
|
|
|
|
|
|
1606 |
var hex = parseInt( this._color, 10 ).toString( 16 );
|
1607 |
if ( this.error )
|
1608 |
return '';
|
261 |
return backFillColorStops( stops );
|
262 |
}
|
263 |
|
264 |
+
/**
|
265 |
+
* @since 1.8.4
|
266 |
+
* @method flBuilderParseColorValue
|
267 |
+
* @return {Array}
|
268 |
+
*/
|
269 |
+
flBuilderParseColorValue = function( val ) {
|
270 |
+
var value = val.replace(/\s+/g, ''),
|
271 |
+
alpha = ( value.indexOf('rgba') !== -1 ) ? parseFloat( value.replace(/^.*,(.+)\)/, '$1') * 100 ) : 100,
|
272 |
+
rgba = ( alpha < 100 ) ? true : false;
|
273 |
+
|
274 |
+
return { value: value, alpha: alpha, rgba: rgba };
|
275 |
+
}
|
276 |
+
|
277 |
/**
|
278 |
* @since 1.6.4
|
279 |
* @method $.fn.flBuilderColorPickerGradient
|
452 |
var self = this,
|
453 |
el = $( self.options.elements );
|
454 |
|
455 |
+
this._color = new Color( '#ff0000' ).setHSpace( self.options.mode );
|
456 |
|
457 |
// Set picker color presets
|
458 |
FLBuilderColorPresets = this.options.presets;
|
519 |
self.element = this._ui.find( '.fl-color-picker-input' );
|
520 |
self._initControls();
|
521 |
self.active = 'external';
|
522 |
+
//self._dimensions();
|
523 |
self._change();
|
524 |
|
525 |
// binds listeners to all color picker instances
|
537 |
// bind presets control events
|
538 |
this._presetsControls();
|
539 |
|
540 |
+
// adds opacity/alpha support
|
541 |
+
this._buildAlphaUI();
|
542 |
+
|
543 |
// now we know that the picker is already added to the body
|
544 |
$('html').addClass( 'fl-color-picker-init' );
|
545 |
|
556 |
// append presets initial html and trigger that toggles the picker
|
557 |
$('.fl-color-picker-value').each( function(){
|
558 |
|
559 |
+
var $this = $( this ),
|
560 |
+
$colorValue = $this.val(),
|
561 |
+
$colorTrigger = $this.parent().find( '.fl-color-picker-color' ),
|
562 |
+
$parsedValue = flBuilderParseColorValue( $colorValue ),
|
563 |
+
$bgColor = '';
|
564 |
+
|
565 |
+
if( $colorValue ){
|
566 |
+
// set initial color, check for alpha support
|
567 |
+
if ( $colorTrigger.hasClass('fl-color-picker-alpha-enabled') && $parsedValue.rgba ) {
|
568 |
+
$bgColor = $this.val().toString();
|
569 |
+
}
|
570 |
+
else if ( !$colorTrigger.hasClass('fl-color-picker-alpha-enabled') && $parsedValue.rgba ) {
|
571 |
+
var $newColorValue = $colorValue.replace('rgba', 'rgb')
|
572 |
+
$newColorValue = $newColorValue.substr(0, $newColorValue.lastIndexOf(",")) + ')';
|
573 |
+
|
574 |
+
self._color._alpha = 1;
|
575 |
+
$bgColor = $newColorValue;
|
576 |
+
$this.val($newColorValue);
|
577 |
+
}
|
578 |
+
else {
|
579 |
+
$bgColor = '#' + $this.val().toString();
|
580 |
+
}
|
581 |
|
582 |
+
$colorTrigger.css({ backgroundColor: $bgColor });
|
|
|
|
|
583 |
}
|
584 |
});
|
585 |
},
|
592 |
*/
|
593 |
_setTemplates: function(){
|
594 |
|
595 |
+
this._alphaHtml = '<div class="fl-alpha-wrap">' +
|
596 |
+
'<div class="fl-alpha-slider"></div>' +
|
597 |
+
'<div class="fl-alpha-slider-offset"></div>' +
|
598 |
+
'<div class="fl-alpha-text"></div>' +
|
599 |
+
'</div>';
|
600 |
+
|
601 |
this._presetsHtml = '<div class="fl-color-picker-presets">' +
|
602 |
'<div class="fl-color-picker-presets-toggle">' +
|
603 |
'<div class="fl-color-picker-presets-open-label fl-color-picker-active">' + this.options.labels.colorPresets + ' <span class="fl-color-picker-icon-arrow-up"></span></div>' +
|
608 |
|
609 |
this._hexHtml = '<input type="text" class="fl-color-picker-input" maxlength="7" placeholder="' + this.options.labels.placeholder + '">' +
|
610 |
'<div class="fl-color-picker-preset-add"></div>';
|
611 |
+
|
612 |
this._presetsTpl = '<li class="fl-color-picker-preset"><span class="fl-color-picker-preset-color"></span> <span class="fl-color-picker-preset-label"></span> <span class="fl-color-picker-preset-remove fl-color-picker-icon-remove"></span></li>';
|
613 |
|
614 |
this._noPresetsTpl = '<li class="fl-color-picker-no-preset"><span class="fl-color-picker-preset-label">' + this.options.labels.noPresets + '</span></li>';
|
1022 |
return ( this.options.mode === 'hsv' ) ? this._color.toHsv() : this._color.toHsl();
|
1023 |
},
|
1024 |
|
1025 |
+
/**
|
1026 |
+
* @since 1.6.4
|
1027 |
+
* @method _dimensions
|
1028 |
+
* @return {Boolean}
|
1029 |
+
*/
|
1030 |
+
_dimensions: function( reset ) {
|
1031 |
+
// whatever size
|
1032 |
+
var self = this,
|
1033 |
+
opts = self.options,
|
1034 |
+
controls = self.controls,
|
1035 |
+
square = controls.square,
|
1036 |
+
strip = self.picker.find( '.iris-strip' ),
|
1037 |
+
squareWidth = '77.5%',
|
1038 |
+
stripWidth = '12%',
|
1039 |
+
totalPadding = 20,
|
1040 |
+
innerWidth = opts.border ? opts.width - totalPadding : opts.width,
|
1041 |
+
controlsHeight;
|
1042 |
+
//paletteCount = $.isArray( opts.palettes ) ? opts.palettes.length : self._palettes.length,
|
1043 |
+
//paletteMargin, paletteWidth, paletteContainerWidth;
|
1044 |
+
|
1045 |
+
if ( reset ) {
|
1046 |
+
square.css( 'width', '' );
|
1047 |
+
strip.css( 'width', '' );
|
1048 |
+
self.picker.css( {width: '', height: ''} );
|
1049 |
+
}
|
1050 |
+
|
1051 |
+
squareWidth = innerWidth * ( parseFloat( squareWidth ) / 100 );
|
1052 |
+
stripWidth = innerWidth * ( parseFloat( stripWidth ) / 100 );
|
1053 |
+
controlsHeight = opts.border ? squareWidth + totalPadding : squareWidth;
|
1054 |
+
|
1055 |
+
square.width( squareWidth ).height( squareWidth );
|
1056 |
+
strip.height( squareWidth ).width( stripWidth );
|
1057 |
+
self.picker.css( { width: opts.width, height: controlsHeight } );
|
1058 |
+
|
1059 |
+
if ( ! opts.palettes ) {
|
1060 |
+
return self.picker.css( 'paddingBottom', '' );
|
1061 |
+
}
|
1062 |
+
|
1063 |
+
// single margin at 2%
|
1064 |
+
/*paletteMargin = squareWidth * 2 / 100;
|
1065 |
+
paletteContainerWidth = squareWidth - ( ( paletteCount - 1 ) * paletteMargin );
|
1066 |
+
paletteWidth = paletteContainerWidth / paletteCount;
|
1067 |
+
self.picker.find('.iris-palette').each( function( i ) {
|
1068 |
+
var margin = i === 0 ? 0 : paletteMargin;
|
1069 |
+
$( this ).css({
|
1070 |
+
width: paletteWidth,
|
1071 |
+
height: paletteWidth,
|
1072 |
+
marginLeft: margin
|
1073 |
+
});
|
1074 |
+
});
|
1075 |
+
self.picker.css( 'paddingBottom', paletteWidth + paletteMargin );
|
1076 |
+
strip.height( paletteWidth + paletteMargin + squareWidth );*/
|
1077 |
+
},
|
1078 |
+
|
1079 |
/**
|
1080 |
* Logic to listen to events from the main color input and to bind it to the current color field.
|
1081 |
*
|
1403 |
.find( '.fl-color-picker-color' )
|
1404 |
.css({ backgroundColor: self._color.toString() })
|
1405 |
.removeClass( 'fl-color-picker-empty' );
|
1406 |
+
|
1407 |
+
self._wrapper.find('.fl-alpha-slider-offset').css('background-color', self._color.toString());
|
1408 |
this._currentElement.trigger( 'change' );
|
1409 |
}
|
1410 |
|
1445 |
}
|
1446 |
return result;
|
1447 |
};
|
1448 |
+
},
|
1449 |
+
|
1450 |
+
/**
|
1451 |
+
* Show an alpha UI when it is enabled
|
1452 |
+
*
|
1453 |
+
* @since 1.8.5
|
1454 |
+
* @method _buildAlphaUI
|
1455 |
+
*/
|
1456 |
+
_buildAlphaUI: function() {
|
1457 |
+
var self = this;
|
1458 |
+
|
1459 |
+
self._wrapper.on( 'click', '.fl-color-picker-color', function(){
|
1460 |
+
var $this = $(this),
|
1461 |
+
$currentColor = self._currentElement.val();
|
1462 |
+
|
1463 |
+
if ( $this.hasClass('fl-color-picker-alpha-enabled') ) {
|
1464 |
+
|
1465 |
+
// Add alpha if not exists
|
1466 |
+
if (self._ui.find('.fl-alpha-wrap').length <= 0) {
|
1467 |
+
$(self._alphaHtml).insertAfter( self._iris );
|
1468 |
+
}
|
1469 |
+
|
1470 |
+
self._pickerAlphaControls();
|
1471 |
+
}
|
1472 |
+
else {
|
1473 |
+
self._ui.find('.fl-alpha-wrap').remove();
|
1474 |
+
}
|
1475 |
+
});
|
1476 |
+
},
|
1477 |
+
|
1478 |
+
/**
|
1479 |
+
* Enable the opacity/alpha to color picker
|
1480 |
+
* Credits to https://github.com/Codestar/codestar-wp-color-picker
|
1481 |
+
*
|
1482 |
+
* @since 1.8.5
|
1483 |
+
* @method _pickerAlphaControls
|
1484 |
+
*/
|
1485 |
+
_pickerAlphaControls: function() {
|
1486 |
+
var self = this,
|
1487 |
+
el = self._currentElement,
|
1488 |
+
picker = flBuilderParseColorValue( el.val() ),
|
1489 |
+
floatValue = parseFloat( picker.alpha / 100 ),
|
1490 |
+
wrapper = self._wrapper,
|
1491 |
+
container = self._ui,
|
1492 |
+
alphaWrap = container.find('.fl-alpha-wrap'),
|
1493 |
+
alphaSlider = alphaWrap.find('.fl-alpha-slider'),
|
1494 |
+
alphaText = alphaWrap.find('.fl-alpha-text'),
|
1495 |
+
alphaOffset = alphaWrap.find('.fl-alpha-slider-offset');
|
1496 |
+
alphaHandle = alphaWrap.find('.ui-slider-handle');
|
1497 |
+
|
1498 |
+
// Set alpha text value
|
1499 |
+
alphaText.text(floatValue < 1 ? floatValue : '');
|
1500 |
+
|
1501 |
+
// alpha slider
|
1502 |
+
alphaSlider.slider({
|
1503 |
+
orientation: "vertical",
|
1504 |
+
|
1505 |
+
// slider: slide
|
1506 |
+
slide: function( event, ui ) {
|
1507 |
+
|
1508 |
+
var slideValue = parseFloat( ui.value / 100 );
|
1509 |
+
|
1510 |
+
// update iris data alpha && color option && alpha text
|
1511 |
+
self._color._alpha = slideValue;
|
1512 |
+
alphaText.text( ( slideValue < 1 ? slideValue : '' ) );
|
1513 |
+
self._change.apply( self, arguments );
|
1514 |
+
},
|
1515 |
+
|
1516 |
+
// slider: create
|
1517 |
+
create: function() {
|
1518 |
+
|
1519 |
+
// Initializes alpha values
|
1520 |
+
alphaOffset.css({ backgroundColor: picker.value });
|
1521 |
+
|
1522 |
+
// Clear alpha values
|
1523 |
+
wrapper.on('click', '.fl-color-picker-clear', function() {
|
1524 |
+
self._color._alpha = 1;
|
1525 |
+
alphaText.text('');
|
1526 |
+
alphaSlider.slider('value', 100).trigger('slide');
|
1527 |
+
});
|
1528 |
+
},
|
1529 |
+
|
1530 |
+
// slider: options
|
1531 |
+
value: picker.alpha,
|
1532 |
+
step: 1,
|
1533 |
+
min: 1,
|
1534 |
+
max: 100
|
1535 |
+
});
|
1536 |
+
},
|
1537 |
+
|
1538 |
};
|
1539 |
|
1540 |
}( jQuery ));
|
1788 |
},
|
1789 |
|
1790 |
toString: function() {
|
1791 |
+
|
1792 |
+
if ( this._alpha < 1 ) {
|
1793 |
+
return this.toCSS('rgba', this._alpha).replace(/\s+/g, '');
|
1794 |
+
}
|
1795 |
+
|
1796 |
var hex = parseInt( this._color, 10 ).toString( 16 );
|
1797 |
if ( this.error )
|
1798 |
return '';
|
js/fl-lightbox.js
CHANGED
@@ -119,6 +119,7 @@
|
|
119 |
*/
|
120 |
open: function(content)
|
121 |
{
|
|
|
122 |
this._node.show();
|
123 |
this._visible = true;
|
124 |
|
119 |
*/
|
120 |
open: function(content)
|
121 |
{
|
122 |
+
this._node.find('.fl-lightbox').attr( 'style', '' );
|
123 |
this._node.show();
|
124 |
this._visible = true;
|
125 |
|
js/fl-stylesheet.js
CHANGED
@@ -7,7 +7,14 @@
|
|
7 |
* @class FLStyleSheet
|
8 |
* @since 1.3.3
|
9 |
*/
|
10 |
-
FLStyleSheet = function()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
/**
|
13 |
* Prototype for new instances.
|
@@ -17,6 +24,14 @@
|
|
17 |
*/
|
18 |
FLStyleSheet.prototype = {
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
/**
|
21 |
* A reference to the stylesheet object.
|
22 |
*
|
@@ -46,8 +61,6 @@
|
|
46 |
*/
|
47 |
updateRule: function(selector, property, value)
|
48 |
{
|
49 |
-
this._createSheet();
|
50 |
-
|
51 |
var rules = this._sheet.cssRules ? this._sheet.cssRules : this._sheet.rules,
|
52 |
rule = null,
|
53 |
i = 0;
|
@@ -91,8 +104,6 @@
|
|
91 |
*/
|
92 |
addRule: function(selector, property, value)
|
93 |
{
|
94 |
-
this._createSheet();
|
95 |
-
|
96 |
var styles = '',
|
97 |
i = '';
|
98 |
|
@@ -115,13 +126,14 @@
|
|
115 |
},
|
116 |
|
117 |
/**
|
118 |
-
*
|
119 |
-
*
|
|
|
120 |
*
|
121 |
-
* @since 1.
|
122 |
-
* @method
|
123 |
*/
|
124 |
-
|
125 |
{
|
126 |
if(this._sheetElement) {
|
127 |
this._sheetElement.remove();
|
@@ -132,6 +144,28 @@
|
|
132 |
}
|
133 |
},
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
/**
|
136 |
* Create the style element, add it to the DOM
|
137 |
* and save references.
|
@@ -142,11 +176,13 @@
|
|
142 |
*/
|
143 |
_createSheet: function()
|
144 |
{
|
145 |
-
|
|
|
|
|
146 |
|
147 |
-
this._sheetElement = $('<style type="text/css"></style>');
|
148 |
|
149 |
-
$('body').append(this._sheetElement);
|
150 |
|
151 |
this._sheet = this._sheetElement[0].sheet;
|
152 |
}
|
7 |
* @class FLStyleSheet
|
8 |
* @since 1.3.3
|
9 |
*/
|
10 |
+
FLStyleSheet = function( o )
|
11 |
+
{
|
12 |
+
if ( 'object' == typeof o ) {
|
13 |
+
$.extend( this, o );
|
14 |
+
}
|
15 |
+
|
16 |
+
this._createSheet();
|
17 |
+
};
|
18 |
|
19 |
/**
|
20 |
* Prototype for new instances.
|
24 |
*/
|
25 |
FLStyleSheet.prototype = {
|
26 |
|
27 |
+
/**
|
28 |
+
* An ID for the stylesheet element.
|
29 |
+
*
|
30 |
+
* @since 1.9
|
31 |
+
* @property {String} id
|
32 |
+
*/
|
33 |
+
id : null,
|
34 |
+
|
35 |
/**
|
36 |
* A reference to the stylesheet object.
|
37 |
*
|
61 |
*/
|
62 |
updateRule: function(selector, property, value)
|
63 |
{
|
|
|
|
|
64 |
var rules = this._sheet.cssRules ? this._sheet.cssRules : this._sheet.rules,
|
65 |
rule = null,
|
66 |
i = 0;
|
104 |
*/
|
105 |
addRule: function(selector, property, value)
|
106 |
{
|
|
|
|
|
107 |
var styles = '',
|
108 |
i = '';
|
109 |
|
126 |
},
|
127 |
|
128 |
/**
|
129 |
+
* Completely destroys the sheet by removing the
|
130 |
+
* stylesheet element from the DOM and making the
|
131 |
+
* stored object reference null.
|
132 |
*
|
133 |
+
* @since 1.9
|
134 |
+
* @method destroy
|
135 |
*/
|
136 |
+
destroy: function()
|
137 |
{
|
138 |
if(this._sheetElement) {
|
139 |
this._sheetElement.remove();
|
144 |
}
|
145 |
},
|
146 |
|
147 |
+
/**
|
148 |
+
* Disables the sheet by removing it from the DOM.
|
149 |
+
*
|
150 |
+
* @since 1.9
|
151 |
+
* @method disable
|
152 |
+
*/
|
153 |
+
disable: function()
|
154 |
+
{
|
155 |
+
this._sheet.disabled = true;
|
156 |
+
},
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Enables the sheet by adding it to the DOM.
|
160 |
+
*
|
161 |
+
* @since 1.9
|
162 |
+
* @method enable
|
163 |
+
*/
|
164 |
+
enable: function()
|
165 |
+
{
|
166 |
+
this._sheet.disabled = false;
|
167 |
+
},
|
168 |
+
|
169 |
/**
|
170 |
* Create the style element, add it to the DOM
|
171 |
* and save references.
|
176 |
*/
|
177 |
_createSheet: function()
|
178 |
{
|
179 |
+
var id = this.id ? ' id="' + this.id + '"' : '';
|
180 |
+
|
181 |
+
if ( ! this._sheet ) {
|
182 |
|
183 |
+
this._sheetElement = $( '<style type="text/css"' + id + '></style>' );
|
184 |
|
185 |
+
$( 'body' ).append( this._sheetElement );
|
186 |
|
187 |
this._sheet = this._sheetElement[0].sheet;
|
188 |
}
|
languages/af.mo
CHANGED
Binary file
|
languages/ar.mo
CHANGED
Binary file
|
languages/cs_CZ.mo
CHANGED
Binary file
|
languages/da_DK.mo
CHANGED
Binary file
|
languages/de_DE.mo
CHANGED
Binary file
|
languages/el.mo
CHANGED
Binary file
|
languages/es_ES.mo
CHANGED
Binary file
|
languages/es_MX.mo
CHANGED
Binary file
|
languages/fa_IR.mo
CHANGED
Binary file
|
languages/fi.mo
CHANGED
Binary file
|
languages/fr_CA.mo
CHANGED
Binary file
|
languages/fr_FR.mo
CHANGED
Binary file
|
languages/he_IL.mo
CHANGED
Binary file
|
languages/hi.mo
CHANGED
Binary file
|
languages/hr.mo
CHANGED
Binary file
|
languages/hu_HU.mo
CHANGED
Binary file
|
languages/id_ID.mo
CHANGED
Binary file
|
languages/it_IT.mo
CHANGED
Binary file
|
languages/ja.mo
CHANGED
Binary file
|
languages/ko_KR.mo
CHANGED
Binary file
|
languages/mr.mo
CHANGED
Binary file
|
languages/ms_MY.mo
CHANGED
Binary file
|
languages/nb.mo
CHANGED
Binary file
|
languages/nl_NL.mo
CHANGED
Binary file
|
languages/no_NO.mo
CHANGED
Binary file
|
languages/pl_PL.mo
CHANGED
Binary file
|
languages/pt_BR.mo
CHANGED
Binary file
|
languages/pt_PT.mo
CHANGED
Binary file
|
languages/ru_RU.mo
CHANGED
Binary file
|
languages/sk_SK.mo
CHANGED
Binary file
|
languages/sl_SL.mo
CHANGED
Binary file
|
languages/sv_SE.mo
CHANGED
Binary file
|
languages/th.mo
CHANGED
Binary file
|
languages/tl.mo
CHANGED
Binary file
|
languages/tr_TR.mo
CHANGED
Binary file
|
languages/uk.mo
CHANGED
Binary file
|
languages/vi.mo
CHANGED
Binary file
|
languages/zh_CN.mo
CHANGED
Binary file
|
languages/zh_TW.mo
CHANGED
Binary file
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: justinbusa, RobbyMcCullough, billyyoung, hinampaksh, diegoliv, webmandesign, eugenealegiojo, helgatheviking, ozancanakli, brentjettgmailcom, jproffitt71, brainstormforce, ideaboxcreations
|
3 |
Tags: beaver builder, page builder, page builder plugin, design, wysiwyg, home page builder, template builder, layout builder, landing page builder, website builder, site builder, front-end builder, drag and drop builder, editor, front-end editor, page layout, visual builder
|
4 |
Requires at least: 3.6
|
5 |
-
Tested up to: 4.
|
6 |
Stable tag: trunk
|
7 |
License: GPL2+
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
2 |
Contributors: justinbusa, RobbyMcCullough, billyyoung, hinampaksh, diegoliv, webmandesign, eugenealegiojo, helgatheviking, ozancanakli, brentjettgmailcom, jproffitt71, brainstormforce, ideaboxcreations
|
3 |
Tags: beaver builder, page builder, page builder plugin, design, wysiwyg, home page builder, template builder, layout builder, landing page builder, website builder, site builder, front-end builder, drag and drop builder, editor, front-end editor, page layout, visual builder
|
4 |
Requires at least: 3.6
|
5 |
+
Tested up to: 4.7
|
6 |
Stable tag: trunk
|
7 |
License: GPL2+
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|