Version Description
(April 17, 2020) = * [Task] The "Element ID" option has been added for the items in the accordion and collapse widget, Now you can use the accordion and collapse widget as a reference link. * [Task] Made Pagelayer compatible with the "Smush" plugin. * [Task] Added box shadow option in the button widget. * [Bug-Fix] In the accordion widget "Default active tab" option of the accordion item was not working. This is fixed. * [Bug-Fix] The color preview in the "box shadow" properties was not working the first time. This is fixed. * [Bug-Fix] If the column already contains an inner-row, the columns are prevented from dragging in the inner-row.
Download this release
Release Info
Developer | pagelayer |
Plugin | Page Builder: PageLayer – Drag and Drop website builder |
Version | 1.1.0 |
Comparing to | |
See all releases |
Code changes from version 1.0.9 to 1.1.0
- init.php +1 -1
- js/pagelayer-editor.js +13 -1
- js/pagelayer-frontend.js +41 -33
- js/properties.js +1 -1
- languages/en.json +2 -1
- main/live-body.php +1 -1
- main/shortcodes.php +15 -0
- pagelayer.php +1 -1
- readme.txt +11 -3
init.php
CHANGED
@@ -5,7 +5,7 @@ if (!defined('ABSPATH')) exit;
|
|
5 |
|
6 |
define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
|
7 |
define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
|
8 |
-
define('PAGELAYER_VERSION', '1.0
|
9 |
define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
|
10 |
define('PAGELAYER_SLUG', 'pagelayer');
|
11 |
define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
|
5 |
|
6 |
define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
|
7 |
define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
|
8 |
+
define('PAGELAYER_VERSION', '1.1.0');
|
9 |
define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
|
10 |
define('PAGELAYER_SLUG', 'pagelayer');
|
11 |
define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
|
js/pagelayer-editor.js
CHANGED
@@ -427,7 +427,19 @@ function pagelayer_setup_drag(){
|
|
427 |
|
428 |
// If we are a column, we can be over another column or row
|
429 |
if(tag == 'pl_col'){
|
430 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
431 |
//console.log(pagelayer_id(onWrap));
|
432 |
|
433 |
// If we are a row, we can be over another row or a column
|
427 |
|
428 |
// If we are a column, we can be over another column or row
|
429 |
if(tag == 'pl_col'){
|
430 |
+
|
431 |
+
// Prevent column in inner-row and it's columns, if the draged column have inner-rows
|
432 |
+
if(wrap.find('.pagelayer-wrap-inner-row').length > 0){
|
433 |
+
onWrap = jQuery(ele).closest('.pagelayer-wrap-col,.pagelayer-wrap-row');
|
434 |
+
|
435 |
+
var innerRow = onWrap.closest(pagelayer_editable +' .pagelayer-wrap-inner-row');
|
436 |
+
if( onWrap.length < 1 || innerRow.length > 0){
|
437 |
+
onWrap = jQuery(innerRow).closest('.pagelayer-wrap-col,.pagelayer-wrap-row');
|
438 |
+
}
|
439 |
+
|
440 |
+
}else{
|
441 |
+
onWrap = jQuery(ele).closest('.pagelayer-wrap-col,.pagelayer-wrap-row,.pagelayer-wrap-inner-row');
|
442 |
+
}
|
443 |
//console.log(pagelayer_id(onWrap));
|
444 |
|
445 |
// If we are a row, we can be over another row or a column
|
js/pagelayer-frontend.js
CHANGED
@@ -297,54 +297,51 @@ function pagelayer_pl_tabs(jEle) {
|
|
297 |
function pagelayer_pl_accordion(jEle){
|
298 |
|
299 |
var holder = jEle.find('.pagelayer-accordion-holder');
|
300 |
-
var
|
|
|
301 |
|
302 |
-
if(
|
303 |
return false;
|
304 |
}
|
305 |
-
|
306 |
-
var setup = tabs.attr('pagelayer-setup');
|
307 |
-
|
308 |
var icon = holder.attr('data-icon');
|
309 |
var active_icon = holder.attr('data-active_icon');
|
310 |
|
311 |
-
|
312 |
-
var
|
313 |
-
|
314 |
-
if(currentTab.length < 1){
|
315 |
-
jQuery(tabs[0]).addClass('active').next().show('slow');
|
316 |
-
jQuery(tabs[0]).find('span i').attr('class', icon);
|
317 |
-
}
|
318 |
|
319 |
-
|
320 |
-
|
|
|
|
|
321 |
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
}
|
326 |
-
|
327 |
-
|
|
|
328 |
|
329 |
var currentTab = jQuery(this);
|
330 |
|
331 |
if(currentTab.hasClass('active')){
|
332 |
-
currentTab.removeClass('active').
|
333 |
-
currentTab.find('span i').attr('class', icon);
|
334 |
return true;
|
335 |
-
}
|
336 |
|
337 |
-
|
338 |
-
|
339 |
|
340 |
-
currentTab.addClass('active').
|
341 |
-
currentTab.find('span i').attr('class', active_icon);
|
342 |
|
343 |
});
|
344 |
|
345 |
-
//
|
346 |
-
|
347 |
-
|
348 |
}
|
349 |
|
350 |
// Setup the Collapse
|
@@ -360,11 +357,22 @@ function pagelayer_pl_collapse(jEle){
|
|
360 |
var setup = tabs.attr('pagelayer-setup');
|
361 |
var icon = holder.attr('data-icon');
|
362 |
var active_icon = holder.attr('data-active_icon');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
var activeTabs = jEle.find('.pagelayer-accordion_item.active');
|
364 |
|
365 |
-
tabs.find('span i').attr('class', icon);
|
366 |
jQuery(activeTabs).addClass('active').children('.pagelayer-accordion-panel').show('slow');
|
367 |
-
jQuery(activeTabs).find('span i').attr('class', active_icon);
|
368 |
|
369 |
// Already setup ?
|
370 |
if(setup && setup.length > 0){
|
@@ -377,12 +385,12 @@ function pagelayer_pl_collapse(jEle){
|
|
377 |
|
378 |
if(currentTab.hasClass('active')){
|
379 |
currentTab.removeClass('active').children('.pagelayer-accordion-panel').hide('slow');;
|
380 |
-
currentTab.find('span i').attr('class', icon);
|
381 |
return true;
|
382 |
}
|
383 |
|
384 |
currentTab.addClass('active').children('.pagelayer-accordion-panel').show('slow');
|
385 |
-
currentTab.find('span i').attr('class', active_icon);
|
386 |
|
387 |
});
|
388 |
|
297 |
function pagelayer_pl_accordion(jEle){
|
298 |
|
299 |
var holder = jEle.find('.pagelayer-accordion-holder');
|
300 |
+
var accHolder = jEle.find('.pagelayer-accordion_item');
|
301 |
+
var scrolltop = false;
|
302 |
|
303 |
+
if(accHolder.length < 1){
|
304 |
return false;
|
305 |
}
|
306 |
+
|
|
|
|
|
307 |
var icon = holder.attr('data-icon');
|
308 |
var active_icon = holder.attr('data-active_icon');
|
309 |
|
310 |
+
accHolder.find('.pagelayer-accordion-tabs span i').attr('class', icon);
|
311 |
+
var currentActiveTab = jEle.find('.pagelayer-accordion_item.active').first();
|
|
|
|
|
|
|
|
|
|
|
312 |
|
313 |
+
// Any URL HASH ?
|
314 |
+
var hash = location.hash.slice(1);
|
315 |
+
if(!pagelayer_empty(hash)){
|
316 |
+
var scrollTab = jEle.find('#'+hash);
|
317 |
|
318 |
+
if(!pagelayer_empty(scrollTab) && scrollTab.length > 0){
|
319 |
+
currentActiveTab = scrollTab.closest('.pagelayer-accordion_item');
|
320 |
+
}
|
321 |
}
|
322 |
+
|
323 |
+
accHolder.unbind('click');
|
324 |
+
accHolder.click(function(){
|
325 |
|
326 |
var currentTab = jQuery(this);
|
327 |
|
328 |
if(currentTab.hasClass('active')){
|
329 |
+
currentTab.removeClass('active').children('.pagelayer-accordion-panel').hide('slow');
|
330 |
+
currentTab.find('.pagelayer-accordion-tabs span i').attr('class', icon);
|
331 |
return true;
|
332 |
+
}
|
333 |
|
334 |
+
accHolder.find('.pagelayer-accordion-tabs span i').attr('class', icon);
|
335 |
+
accHolder.removeClass('active').children('.pagelayer-accordion-panel').hide('slow');
|
336 |
|
337 |
+
currentTab.addClass('active').children('.pagelayer-accordion-panel').show('slow');
|
338 |
+
currentTab.find('.pagelayer-accordion-tabs span i').attr('class', active_icon);
|
339 |
|
340 |
});
|
341 |
|
342 |
+
// If active first tab from all active tabs
|
343 |
+
currentActiveTab.removeClass('active');
|
344 |
+
currentActiveTab.click();
|
345 |
}
|
346 |
|
347 |
// Setup the Collapse
|
357 |
var setup = tabs.attr('pagelayer-setup');
|
358 |
var icon = holder.attr('data-icon');
|
359 |
var active_icon = holder.attr('data-active_icon');
|
360 |
+
|
361 |
+
// Any URL HASH ?
|
362 |
+
var hash = location.hash.slice(1);
|
363 |
+
if(!pagelayer_empty(hash)){
|
364 |
+
var scrollTab = jEle.find('#'+hash);
|
365 |
+
|
366 |
+
if(!pagelayer_empty(scrollTab) && scrollTab.length > 0){
|
367 |
+
scrollTab.closest('.pagelayer-accordion_item').addClass('active');
|
368 |
+
}
|
369 |
+
}
|
370 |
+
|
371 |
var activeTabs = jEle.find('.pagelayer-accordion_item.active');
|
372 |
|
373 |
+
tabs.find('.pagelayer-accordion-tabs span i').attr('class', icon);
|
374 |
jQuery(activeTabs).addClass('active').children('.pagelayer-accordion-panel').show('slow');
|
375 |
+
jQuery(activeTabs).find('.pagelayer-accordion-tabs span i').attr('class', active_icon);
|
376 |
|
377 |
// Already setup ?
|
378 |
if(setup && setup.length > 0){
|
385 |
|
386 |
if(currentTab.hasClass('active')){
|
387 |
currentTab.removeClass('active').children('.pagelayer-accordion-panel').hide('slow');;
|
388 |
+
currentTab.find('.pagelayer-accordion-tabs span i').attr('class', icon);
|
389 |
return true;
|
390 |
}
|
391 |
|
392 |
currentTab.addClass('active').children('.pagelayer-accordion-panel').show('slow');
|
393 |
+
currentTab.find('.pagelayer-accordion-tabs span i').attr('class', active_icon);
|
394 |
|
395 |
});
|
396 |
|
js/properties.js
CHANGED
@@ -2522,7 +2522,7 @@ function pagelayer_elp_box_shadow(row, prop){
|
|
2522 |
|
2523 |
// Handle selected color
|
2524 |
picker.onChange = function(color) {
|
2525 |
-
row.find('.pagelayer-elp-color-preview').css('background', color.rgbaString);
|
2526 |
handle_white(color.hex);
|
2527 |
val[3] = (color.hex ? color.hex : '');
|
2528 |
_pagelayer_set_atts(row, val);
|
2522 |
|
2523 |
// Handle selected color
|
2524 |
picker.onChange = function(color) {
|
2525 |
+
row.find('.pagelayer-elp-color-preview').removeClass('pagelayer-blank-preview').css('background', color.rgbaString);
|
2526 |
handle_white(color.hex);
|
2527 |
val[3] = (color.hex ? color.hex : '');
|
2528 |
_pagelayer_set_atts(row, val);
|
languages/en.json
CHANGED
@@ -1684,5 +1684,6 @@
|
|
1684 |
"popup_cookie_selector" : "Selector To Set Cookie and Close Popup",
|
1685 |
"popup_cookie_name" : "Cookie Name",
|
1686 |
"popup_cookie_exp" : "Cookie Expires",
|
1687 |
-
"select_images" : "Please select images from the left Widget properties !"
|
|
|
1688 |
}
|
1684 |
"popup_cookie_selector" : "Selector To Set Cookie and Close Popup",
|
1685 |
"popup_cookie_name" : "Cookie Name",
|
1686 |
"popup_cookie_exp" : "Cookie Expires",
|
1687 |
+
"select_images" : "Please select images from the left Widget properties !",
|
1688 |
+
"ele_id" : "Element ID"
|
1689 |
}
|
main/live-body.php
CHANGED
@@ -110,7 +110,7 @@ global $post;
|
|
110 |
echo '
|
111 |
</div>
|
112 |
<div class="pagelayer-iframe-holder">
|
113 |
-
<iframe src="'.(pagelayer_shortlink(0).'&pagelayer-iframe=1&'.$_SERVER['QUERY_STRING']).'" class="pagelayer-normalize" id="pagelayer-iframe"></iframe>
|
114 |
</div>
|
115 |
</td>
|
116 |
</tr>
|
110 |
echo '
|
111 |
</div>
|
112 |
<div class="pagelayer-iframe-holder">
|
113 |
+
<iframe src="'.(pagelayer_shortlink(0).'&pagelayer-iframe=1&'.$_SERVER['QUERY_STRING']).'" class="pagelayer-normalize skip-lazy" id="pagelayer-iframe"></iframe>
|
114 |
</div>
|
115 |
</td>
|
116 |
</tr>
|
main/shortcodes.php
CHANGED
@@ -4883,6 +4883,16 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_btn', array(
|
|
4883 |
'btn_hover' => 'hover'
|
4884 |
),
|
4885 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4886 |
],
|
4887 |
'border_style' => [
|
4888 |
'btn_bor_hover' => array(
|
@@ -7293,6 +7303,11 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_accordion_item', array(
|
|
7293 |
'label' => __pl('Default active tab'),
|
7294 |
'addClass' => 'active'
|
7295 |
),
|
|
|
|
|
|
|
|
|
|
|
7296 |
'title' => array(
|
7297 |
'type' => 'text',
|
7298 |
'label' => __pl('title'),
|
4883 |
'btn_hover' => 'hover'
|
4884 |
),
|
4885 |
),
|
4886 |
+
'btn_shadow' => [
|
4887 |
+
'type' => 'box_shadow',
|
4888 |
+
'label' => __pl('shadow'),
|
4889 |
+
'css' => ['{{element}} .pagelayer-btn-holder' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[4]}}px {{val[3]}} {{val[5]}} !important;'],
|
4890 |
+
],
|
4891 |
+
'btn_shadow_hover' => [ // This is actually box shadow hover
|
4892 |
+
'type' => 'box_shadow',
|
4893 |
+
'label' => __pl('box_shadow_hover'),
|
4894 |
+
'css' => ['{{element}} .pagelayer-btn-holder:hover' => 'box-shadow: {{val[0]}}px {{val[1]}}px {{val[2]}}px {{val[3]}} !important;'],
|
4895 |
+
],
|
4896 |
],
|
4897 |
'border_style' => [
|
4898 |
'btn_bor_hover' => array(
|
7303 |
'label' => __pl('Default active tab'),
|
7304 |
'addClass' => 'active'
|
7305 |
),
|
7306 |
+
'scroll_id' => array(
|
7307 |
+
'type' => 'text',
|
7308 |
+
'label' => __pl('ele_id'),
|
7309 |
+
'addAttr' => ['{{element}} .pagelayer-accordion-tabs' => 'id={{scroll_id}}']
|
7310 |
+
),
|
7311 |
'title' => array(
|
7312 |
'type' => 'text',
|
7313 |
'label' => __pl('title'),
|
pagelayer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: PageLayer
|
4 |
Plugin URI: http://wordpress.org/plugins/pagelayer/
|
5 |
Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
|
6 |
-
Version: 1.0
|
7 |
Author: Pagelayer Team
|
8 |
Author URI: https://pagelayer.com/
|
9 |
License: LGPL v2.1
|
3 |
Plugin Name: PageLayer
|
4 |
Plugin URI: http://wordpress.org/plugins/pagelayer/
|
5 |
Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
|
6 |
+
Version: 1.1.0
|
7 |
Author: Pagelayer Team
|
8 |
Author URI: https://pagelayer.com/
|
9 |
License: LGPL v2.1
|
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Contributors: pagelayer
|
3 |
Tags: page builder, editor, landing page, drag-and-drop, pagelayer, form-builder, popup, widgets, softaculous, visual editor, wysiwyg, design, maintenance mode, coming soon, under construction, website builder, landing page builder, front-end builder, site-builder
|
4 |
Requires at least: 4.7
|
5 |
-
Tested up to: 5.
|
6 |
Requires PHP: 5.5
|
7 |
-
Stable tag: 1.0
|
8 |
License: LGPL v2.1
|
9 |
License URI: http://www.gnu.org/licenses/lgpl-2.1.html
|
10 |
|
@@ -109,7 +109,15 @@ Do you have questions related to PageLayer ? Use the following links :
|
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
-
= 1.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
* [Premium-Feature] Cookie option added to popup template. Now you can hide a popup for a fixed time with the help of the cookie at the click of close button. This is particularly useful to create a Cookie Consent popup.
|
114 |
* [Task] Some WordPress themes did not have an "entry-content" class to wrap post content. Hence Pagelayer was unable to find the editable region. Now we have added the wrapper with the class "pagelayer-editable-area" to create an editable region.
|
115 |
* [Task] Added a placeholder to the grid gallery widget.
|
2 |
Contributors: pagelayer
|
3 |
Tags: page builder, editor, landing page, drag-and-drop, pagelayer, form-builder, popup, widgets, softaculous, visual editor, wysiwyg, design, maintenance mode, coming soon, under construction, website builder, landing page builder, front-end builder, site-builder
|
4 |
Requires at least: 4.7
|
5 |
+
Tested up to: 5.4
|
6 |
Requires PHP: 5.5
|
7 |
+
Stable tag: 1.1.0
|
8 |
License: LGPL v2.1
|
9 |
License URI: http://www.gnu.org/licenses/lgpl-2.1.html
|
10 |
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 1.1.0 (April 17, 2020) =
|
113 |
+
* [Task] The "Element ID" option has been added for the items in the accordion and collapse widget, Now you can use the accordion and collapse widget as a reference link.
|
114 |
+
* [Task] Made Pagelayer compatible with the "Smush" plugin.
|
115 |
+
* [Task] Added box shadow option in the button widget.
|
116 |
+
* [Bug-Fix] In the accordion widget "Default active tab" option of the accordion item was not working. This is fixed.
|
117 |
+
* [Bug-Fix] The color preview in the "box shadow" properties was not working the first time. This is fixed.
|
118 |
+
* [Bug-Fix] If the column already contains an inner-row, the columns are prevented from dragging in the inner-row.
|
119 |
+
|
120 |
+
= 1.0.9 (April 11, 2020) =
|
121 |
* [Premium-Feature] Cookie option added to popup template. Now you can hide a popup for a fixed time with the help of the cookie at the click of close button. This is particularly useful to create a Cookie Consent popup.
|
122 |
* [Task] Some WordPress themes did not have an "entry-content" class to wrap post content. Hence Pagelayer was unable to find the editable region. Now we have added the wrapper with the class "pagelayer-editable-area" to create an editable region.
|
123 |
* [Task] Added a placeholder to the grid gallery widget.
|