Page Builder: PageLayer – Drag and Drop website builder - Version 0.9.5

Version Description

(June 21, 2019) = * [Feature] Added revision control * [Feature] Added the ability to manage actions while editing i.e. undo and redo * [Feature] Added keyboard options like ctrl+c, ctrl+v, ctrl+z, ctrl+y

Download this release

Release Info

Developer pagelayer
Plugin Icon 128x128 Page Builder: PageLayer – Drag and Drop website builder
Version 0.9.5
Comparing to
See all releases

Code changes from version 0.9.4 to 0.9.5

css/pagelayer-editor.css CHANGED
@@ -393,7 +393,8 @@ float:right;
393
394
/* Pagelayer editor panel tabs*/
395
396
- .pagelayer-elpd-tab{
397
display: inline-block;
398
font-size: 13px;
399
cursor: pointer;
@@ -417,11 +418,32 @@ display: none;
417
display: block;
418
}
419
420
- [pagelayer-elpd-active-tab="1"] {
421
color: #3e8ef7;
422
}
423
424
- .pagelayer-elpd-tabs {
425
background-color: #fff;
426
border-bottom: 1px solid #d3d3d3;
427
}
@@ -1463,6 +1485,7 @@ padding:1px;
1463
.pagelayer-pl_countdown:before{content:"\e941"}
1464
.pagelayer-pl_pricing:before{content:"\e933"}
1465
.pagelayer-pl_contact:before{content:"\f298"}
1466
.pagelayer-pl_testimonial:before{content:"\e906"}
1467
.pagelayer-pl_alert:before{content:"\f06a"}
1468
.pagelayer-pl_anchor:before{content:"\f13d"}
@@ -1477,6 +1500,9 @@ padding:1px;
1477
.pagelayer-pl_collapse:before{content:"\f233"}
1478
.pagelayer-pl_iconbox:before{content:"\e912"}
1479
.pagelayer-pl_tooltip:before{content:"\f27a"} /*f18d*/
1480
.pagelayer-pl_badge:before{content:"\f2c1"}
1481
.pagelayer-pl_wp_widgets:before{content:"\e945"}
1482
.pagelayer-pl_wp_custom_menu:before{content:"\e92a"}
@@ -1541,4 +1567,72 @@ box-shadow: #000 0 0 2px;
1541
z-index: 10;
1542
}
1543
1544
- /* Trumbowyg color widget style end */
393
394
/* Pagelayer editor panel tabs*/
395
396
+ .pagelayer-elpd-tab,
397
+ .pagelayer-history-tab{
398
display: inline-block;
399
font-size: 13px;
400
cursor: pointer;
418
display: block;
419
}
420
421
+ .pagelayer-history-section{
422
+ display:none;
423
+ }
424
+
425
+ .pagelayer-history-body{
426
+ margin:10px 0px;
427
+ padding:10px;
428
+ background-color:#ffffff;
429
+ }
430
+
431
+ .pagelayer-history-section.active{
432
+ display:block;
433
+ }
434
+
435
+ .pagelayer-history-section.active[pagelayer-show-tab="actions"]{
436
+ display:flex;
437
+ flex-direction:column-reverse;
438
+ }
439
+
440
+ [pagelayer-elpd-active-tab="1"],
441
+ [pagelayer-history-active-tab="1"] {
442
color: #3e8ef7;
443
}
444
445
+ .pagelayer-elpd-tabs,
446
+ .pagelayer-history-tabs {
447
background-color: #fff;
448
border-bottom: 1px solid #d3d3d3;
449
}
1485
.pagelayer-pl_countdown:before{content:"\e941"}
1486
.pagelayer-pl_pricing:before{content:"\e933"}
1487
.pagelayer-pl_contact:before{content:"\f298"}
1488
+ .pagelayer-pl_search:before{content:"\f002"}
1489
.pagelayer-pl_testimonial:before{content:"\e906"}
1490
.pagelayer-pl_alert:before{content:"\f06a"}
1491
.pagelayer-pl_anchor:before{content:"\f13d"}
1500
.pagelayer-pl_collapse:before{content:"\f233"}
1501
.pagelayer-pl_iconbox:before{content:"\e912"}
1502
.pagelayer-pl_tooltip:before{content:"\f27a"} /*f18d*/
1503
+ .pagelayer-pl_post_comment:before{content:"\f0e6"}
1504
+ .pagelayer-pl_post_info:before{content:"\f05a"}
1505
+ .pagelayer-pl_post_nav:before{content:"\f0ec"}
1506
.pagelayer-pl_badge:before{content:"\f2c1"}
1507
.pagelayer-pl_wp_widgets:before{content:"\e945"}
1508
.pagelayer-pl_wp_custom_menu:before{content:"\e92a"}
1567
z-index: 10;
1568
}
1569
1570
+ /* Trumbowyg color widget style end */
1571
+
1572
+ /* Pagelayer history style*/
1573
+
1574
+ .pagelayer-revision-holder,
1575
+ .pagelayer-history-holder{
1576
+ border: 1px solid #b7b5b5fa;
1577
+ margin-bottom: 10px;
1578
+ padding: 10px;
1579
+ display: -webkit-box;
1580
+ display: -webkit-flex;
1581
+ display: -ms-flexbox;
1582
+ display: flex;
1583
+ -webkit-box-align: center;
1584
+ -webkit-align-items: center;
1585
+ -ms-flex-align: center;
1586
+ align-items: center;
1587
+ font-size: 12px;
1588
+ color:#505050;
1589
+ }
1590
+
1591
+ .pagelayer-history,
1592
+ .pagelayer-history-hidden{
1593
+ display:none;
1594
+ }
1595
+
1596
+ .pagelayer-revision-holder:hover,
1597
+ .pagelayer-history-holder:hover,
1598
+ .pagelayer-history-holder.current_active_item{
1599
+ background-color:#efefef;
1600
+ }
1601
+
1602
+ .pagelayer-revision-img-holder{
1603
+ border-radius: 50%;
1604
+ overflow: hidden;
1605
+ margin-right:10px;
1606
+ }
1607
+
1608
+ .pagelayer-revision-detail-holder,
1609
+ .pagelayer-history-detail-holder{
1610
+ flex:1;
1611
+ }
1612
+
1613
+ .pagelayer-revision-holder .pagelayer-revision-delete,
1614
+ .pagelayer-history-holder .pagelayer-history-check{
1615
+ display:none;
1616
+ }
1617
+
1618
+ .pagelayer-revision-holder:hover .pagelayer-revision-delete,
1619
+ .pagelayer-history-holder.current_active_item .pagelayer-history-check{
1620
+ display:block;
1621
+ }
1622
+
1623
+ .pagelayer-revision-delete:hover{
1624
+ cursor:pointer;
1625
+ }
1626
+
1627
+ .pagelayer-revision-img-holder img{
1628
+ max-width: 100%;
1629
+ width: 20px;
1630
+ height: 20px;
1631
+ }
1632
+
1633
+ .pagelayer-history-holder span{
1634
+ margin-right:5px;
1635
+ }
1636
+
1637
+
1638
+ /* Pagelayer history end*/
css/pagelayer-frontend.css CHANGED
@@ -2002,27 +2002,250 @@ box-shadow: none !important;
2002
}
2003
2004
2005
- /* Primary Menu End */
2006
- .pagelayer-menu-type-vertical li{
2007
display: inline-block;
2008
font-weight: 600;
2009
}
2010
2011
- .pagelayer-menu-type-vertical li a{
2012
box-shadow: none;
2013
border: none;
2014
}
2015
2016
- .pagelayer-menu-type-horizontal li{
2017
- margin-top: 6px !important;
2018
list-style: none;
2019
}
2020
2021
- .pagelayer-menu-type-horizontal li a{
2022
box-shadow: none;
2023
border: none;
2024
}
2025
2026
/* Primary Menu End */
2027
2028
@@ -2722,3 +2945,113 @@ visibility:visible;
2722
2723
/* Image Hotspot end */
2724
2002
}
2003
2004
2005
+ /* Primary Menu */
2006
+
2007
+ .pagelayer-wp-menu-container .menu a{
2008
+ display:flex;
2009
+ box-shadow: none;
2010
+ white-space: nowrap;
2011
+ position:relative;
2012
+ }
2013
+
2014
+ .pagelayer-menu-type-horizontal .sub-menu{
2015
+ z-index:999;
2016
+ }
2017
+
2018
+ .pagelayer-wp-menu-container ul,
2019
+ .pagelayer-wp-menu-container ul.sub-menu{
2020
+ margin-left:0px;
2021
+ }
2022
+
2023
+ .pagelayer-menu-type-horizontal *{
2024
+ transition: all 0.5s;
2025
+ }
2026
+
2027
+ .pagelayer-menu-type-horizontal li{
2028
display: inline-block;
2029
font-weight: 600;
2030
}
2031
2032
+ .pagelayer-menu-type-horizontal li a{
2033
box-shadow: none;
2034
border: none;
2035
}
2036
2037
+ .pagelayer-menu-type-horizontal .sub-menu{
2038
+ position:absolute;
2039
+ min-width: 100%;
2040
+ }
2041
+
2042
+ .pagelayer-menu-type-horizontal .sub-menu .sub-menu{
2043
+ top:0px
2044
+ }
2045
+
2046
+ .pagelayer-menu-type-horizontal ul li{
2047
+ position:relative;
2048
+ }
2049
+
2050
+ .pagelayer-wp-menu-container ul li span.after-icon{
2051
+ height: auto;
2052
+ width: 100%;
2053
+ position: relative;
2054
+ pointer-events: auto;
2055
+ line-height:inherit;
2056
+ color: inherit;
2057
+ font-size: inherit;
2058
+ margin-left:10px;
2059
+ padding-left:5px;
2060
+ padding-right:5px;
2061
+ }
2062
+
2063
+ .pagelayer-wp-menu-container:not([data-align="left"]) .menu span.after-icon{
2064
+ width:auto;
2065
+ }
2066
+
2067
+ .pagelayer-wp-menu-container[data-align="right"] .menu a{justify-content: flex-end;}
2068
+ .pagelayer-wp-menu-container[data-align="left"] .menu a{justify-content: left;}
2069
+ .pagelayer-wp-menu-container[data-align="center"] .menu a{justify-content: center;}
2070
+
2071
+ .pagelayer-wp-menu-container ul li span.after-icon:before{
2072
+ position:absolute;
2073
+ right:0;
2074
+ }
2075
+
2076
+ .pagelayer-wp-menu-container .sub-menu,
2077
+ .pagelayer-primary-menu-bar{
2078
+ display:none;
2079
+ }
2080
+
2081
+ .pagelayer-menu-type-horizontal .sub-menu li{
2082
+ display:block;
2083
+ }
2084
+
2085
+ .pagelayer-primary-menu-bar .fa{
2086
+ padding:5px;
2087
+ }
2088
+
2089
+ /* define fa-times-thin icon*/
2090
+ .fa-times-thin:before {
2091
+ content: '\00d7';
2092
+ }
2093
+
2094
+ .pagelayer-menu-type-vertical li{
2095
list-style: none;
2096
}
2097
2098
+ .pagelayer-menu-type-vertical li a{
2099
+ margin-top: 6px !important;
2100
box-shadow: none;
2101
border: none;
2102
}
2103
2104
+ .pagelayer-menu-type-vertical ul.menu>li>ul.sub-menu{
2105
+ margin-left:0px;
2106
+ }
2107
+
2108
+ .pagelayer-wp-menu-holder[data-layout="dropdown"] .pagelayer-primary-menu-bar{
2109
+ display:block;
2110
+ }
2111
+
2112
+ .pagelayer-wp-menu-holder[data-layout="dropdown"] ul.menu{
2113
+ display:none;
2114
+ }
2115
+
2116
+ .pagelayer-menu-hover-underline:not(.none) ul.menu>li>a:before,
2117
+ .pagelayer-menu-hover-framed:not(.none) ul.menu>li>a:before,
2118
+ .pagelayer-menu-hover-doubleline:not(.none) ul.menu>li>a:before,
2119
+ .pagelayer-menu-hover-doubleline:not(.none) ul.menu>li>a:after,
2120
+ .pagelayer-menu-hover-overline:not(.none) ul.menu>li>a:before{
2121
+ position: absolute;
2122
+ content: '';
2123
+ left: 0px;
2124
+ bottom: 0px;
2125
+ height: 3px;
2126
+ width: 0px;
2127
+ background-color: #2154CF;
2128
+ transition: all 500ms ease;
2129
+ -moz-transition: all 500ms ease;
2130
+ -webkit-transition: all 500ms ease;
2131
+ -ms-transition: all 500ms ease;
2132
+ -o-transition: all 500ms ease;
2133
+ border-width:0px;
2134
+ }
2135
+
2136
+ .pagelayer-menu-hover-doubleline ul.menu>li>a:after{
2137
+ left:unset;
2138
+ right:0;
2139
+ }
2140
+
2141
+ .pagelayer-menu-hover-framed ul.menu>li>a:before{
2142
+ background-color:unset !important;
2143
+ height:100%;
2144
+ }
2145
+ .pagelayer-menu-hover-framed ul.menu>li>a:hover:before{
2146
+ border:3px solid #2154CF;
2147
+ }
2148
+
2149
+ .pagelayer-menu-hover-overline ul.menu>li>a:before,
2150
+ .pagelayer-menu-hover-doubleline ul.menu>li>a:before{
2151
+ top:0;
2152
+ bottom:unset;
2153
+ }
2154
+
2155
+ .pagelayer-menu-hover-underline.dropin ul.menu>li>a:before,
2156
+ .pagelayer-menu-hover-framed.dropin ul.menu>li>a:before,
2157
+ .pagelayer-menu-hover-doubleline.dropin ul.menu>li>a:before,
2158
+ .pagelayer-menu-hover-doubleline.dropin ul.menu>li>a:after,
2159
+ .pagelayer-menu-hover-overline.dropin ul.menu>li>a:before{
2160
+ width:100%;
2161
+ opacity:0;
2162
+ bottom:-5px;
2163
+ }
2164
+
2165
+ .pagelayer-menu-hover-underline.dropout ul.menu>li>a:before,
2166
+ .pagelayer-menu-hover-framed.dropout ul.menu>li>a:before,
2167
+ .pagelayer-menu-hover-doubleline.dropout ul.menu>li>a:before,
2168
+ .pagelayer-menu-hover-doubleline.dropout ul.menu>li>a:after,
2169
+ .pagelayer-menu-hover-overline.dropout ul.menu>li>a:before{
2170
+ width:100%;
2171
+ opacity:0;
2172
+ bottom:5px;
2173
+ }
2174
+
2175
+ .pagelayer-menu-hover-underline.dropin ul.menu>li>a:hover:before,
2176
+ .pagelayer-menu-hover-framed.dropin ul.menu>li>a:hover:before,
2177
+ .pagelayer-menu-hover-doubleline.dropin ul.menu>li>a:hover:before,
2178
+ .pagelayer-menu-hover-doubleline.dropin ul.menu>li>a:hover:after,
2179
+ .pagelayer-menu-hover-overline.dropin ul.menu>li>a:hover:before,
2180
+ .pagelayer-menu-hover-underline.dropout ul.menu>li>a:hover:before,
2181
+ .pagelayer-menu-hover-framed.dropout ul.menu>li>a:hover:before,
2182
+ .pagelayer-menu-hover-doubleline.dropout ul.menu>li>a:hover:before,
2183
+ .pagelayer-menu-hover-doubleline.dropout ul.menu>li>a:hover:after,
2184
+ .pagelayer-menu-hover-overline.dropout ul.menu>li>a:hover:before{
2185
+ bottom:0px;
2186
+ }
2187
+
2188
+ .pagelayer-menu-hover-underline.grow ul.menu>li>a:before,
2189
+ .pagelayer-menu-hover-framed.grow ul.menu>li>a:before,
2190
+ .pagelayer-menu-hover-doubleline.grow ul.menu>li>a:before,
2191
+ .pagelayer-menu-hover-doubleline.grow ul.menu>li>a:after,
2192
+ .pagelayer-menu-hover-overline.grow ul.menu>li>a:before{
2193
+ width:100%;
2194
+ transform:scale(0);
2195
+ }
2196
+
2197
+ .pagelayer-menu-hover-underline.fade ul.menu>li>a:before,
2198
+ .pagelayer-menu-hover-framed.fade ul.menu>li>a:before,
2199
+ .pagelayer-menu-hover-doubleline.fade ul.menu>li>a:before,
2200
+ .pagelayer-menu-hover-doubleline.fade ul.menu>li>a:after,
2201
+ .pagelayer-menu-hover-overline.fade ul.menu>li>a:before{
2202
+ width:100%;
2203
+ transition-duration:1000ms;
2204
+ opacity:0;
2205
+ }
2206
+
2207
+ .pagelayer-menu-hover-underline ul.menu>li>a:hover:before,
2208
+ .pagelayer-menu-hover-framed ul.menu>li>a:hover:before,
2209
+ .pagelayer-menu-hover-doubleline ul.menu>li>a:hover:before,
2210
+ .pagelayer-menu-hover-doubleline ul.menu>li>a:hover:after,
2211
+ .pagelayer-menu-hover-overline ul.menu>li>a:hover:before{
2212
+ transform:scale(1);
2213
+ opacity:1;
2214
+ width:100%;
2215
+ }
2216
+
2217
+ .pagelayer-menu-hover-text ul.menu>li>a:hover{
2218
+ transform:scale(1.2);
2219
+ }
2220
+
2221
+ @media screen and (min-width: 782px){
2222
+ .pagelayer-menu-type-horizontal .menu li:hover > ul.sub-menu{
2223
+ display:block;
2224
+ }
2225
+
2226
+ .pagelayer-menu-type-horizontal .sub-menu a{
2227
+ margin-left:0px !important;
2228
+ }
2229
+ }
2230
+
2231
+ @media screen and (max-width: 782px){
2232
+ .pagelayer-menu-type-horizontal ul.menu{
2233
+ display:none;
2234
+ }
2235
+ .pagelayer-menu-type-horizontal li,
2236
+ .pagelayer-primary-menu-bar{
2237
+ display: block;
2238
+ }
2239
+ .pagelayer-menu-type-horizontal .sub-menu{
2240
+ position:relative;
2241
+ }
2242
+ }
2243
+
2244
+ .pagelayer-togglt-on ul.menu,
2245
+ .active-sub-menu > ul{
2246
+ display:block !important;
2247
+ }
2248
+
2249
/* Primary Menu End */
2250
2251
2945
2946
/* Image Hotspot end */
2947
2948
+ /* Search Form */
2949
+ .pagelayer-search-classic .pagelayer-search-fields{
2950
+ display: flex;
2951
+ overflow:hidden;
2952
+ }
2953
+
2954
+ .pagelayer-search-classic .pagelayer-search-fields input.pagelayer-search-input{
2955
+ /*background:none;*/
2956
+ border-width:0px;
2957
+ }
2958
+
2959
+ .pagelayer-search-classic .pagelayer-search-fields .pagelayer-search-submit{
2960
+ border-radius:0px;
2961
+ }
2962
+
2963
+ .pagelayer-search-toggle,
2964
+ .pagelayer-search-full-screen .pagelayer-search-fields{
2965
+ display:none;
2966
+ }
2967
+
2968
+ .pagelayer-search-full-screen .pagelayer-search-toggle{
2969
+ display:inline-block;
2970
+ text-align: center;
2971
+ }
2972
+
2973
+ .pagelayer-search-full-screen .pagelayer-search-fields.show{
2974
+ position: fixed;
2975
+ top: 0;
2976
+ left: 0;
2977
+ background: #211c1c;
2978
+ bottom: 0;
2979
+ right: 0;
2980
+ z-index: 99;
2981
+ align-items: center;
2982
+ display: flex;
2983
+ text-align: center;
2984
+ flex-direction: column;
2985
+ }
2986
+
2987
+ .pagelayer-search-full-screen .pagelayer-search-input,
2988
+ .pagelayer-search-full-screen .pagelayer-search-input:focus{
2989
+ width: 60%;
2990
+ text-align: center;
2991
+ background: transparent;
2992
+ border-width: 0;
2993
+ border-bottom-width: 2px;
2994
+ position: absolute;
2995
+ top: 50%;
2996
+ color:#fff;
2997
+ }
2998
+
2999
+ .pagelayer-search-full-screen .pagelayer-search-submit{
3000
+ display:none;
3001
+ }
3002
+
3003
+ .pagelayer-post-nav-container{
3004
+ display: flex;
3005
+ align-items: center;
3006
+ }
3007
+
3008
+ .pagelayer-prev-post a,
3009
+ .pagelayer-next-post a{
3010
+ display: inline-flex;
3011
+ align-items: center;
3012
+ }
3013
+
3014
+ .pagelayer-next-post a .pagelayer-post-nav-icon{
3015
+ padding-left:12px;
3016
+ }
3017
+
3018
+ .pagelayer-prev-post a .pagelayer-post-nav-icon{
3019
+ padding-right:12px;
3020
+ }
3021
+
3022
+ .pagelayer-next-post{
3023
+ text-align:right;
3024
+ }
3025
+
3026
+ .pagelayer-prev-post a:hover,
3027
+ .pagelayer-next-post a:hover{
3028
+ text-decoration:none;
3029
+ }
3030
+
3031
+ .pagelayer-prev-post, .pagelayer-next-post{
3032
+ width: calc(50% - 1px);
3033
+ }
3034
+
3035
+ .pagelayer-post-nav-container .pagelayer-prev-holder,
3036
+ .pagelayer-post-nav-container .pagelayer-next-holder{
3037
+ display: -webkit-box;
3038
+ display: -webkit-flex;
3039
+ display: -ms-flexbox;
3040
+ display: flex;
3041
+ -webkit-box-orient: vertical;
3042
+ -webkit-box-direction: normal;
3043
+ -webkit-flex-direction: column;
3044
+ -ms-flex-direction: column;
3045
+ flex-direction: column;
3046
+ }
3047
+
3048
+ .pagelayer-post-nav-separator{
3049
+ align-self: stretch;
3050
+ }
3051
+
3052
+ /* Search Form end*/
3053
+ /* Post info*/
3054
+ .pagelayer-post-info-vertical > div{
3055
+ display:inline-block;
3056
+ }
3057
+ /* Post info end*/
init.php CHANGED
@@ -5,7 +5,7 @@ if (!defined('ABSPATH')) exit;
5
6
define('PAGELAYER_BASE', plugin_basename(__FILE__));
7
define('PAGELAYER_FILE', __FILE__);
8
- define('PAGELAYER_VERSION', '0.9.4');
9
define('PAGELAYER_DIR', WP_PLUGIN_DIR.'/'.basename(dirname(PAGELAYER_FILE)));
10
define('PAGELAYER_SLUG', 'pagelayer');
11
define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
@@ -216,9 +216,14 @@ function pagelayer_enqueue_frontend($force = false){
216
217
pagelayer_load_shortcodes();
218
$pagelayer->cache['enqueue_frontend'] = true;
219
-
220
// Enqueue our Editor's Frontend JS
221
- wp_register_script('pagelayer-frontend', PAGELAYER_JS.'/givejs.php?give=pagelayer-frontend.js,nivo-lightbox.min.js,slippry.min.js,wow.min.js,jquery-numerator.js,simpleParallax.min.js', array('jquery'), PAGELAYER_VERSION);
222
wp_enqueue_script('pagelayer-frontend');
223
224
wp_register_style('pagelayer-frontend', PAGELAYER_CSS.'/givecss.php?give=pagelayer-frontend.css,nivo-lightbox.css,slippry.css,animate.min.css', array(), PAGELAYER_VERSION);
@@ -300,6 +305,11 @@ function pagelayer_load_live(){
300
301
}
302
303
// Show the backend editor options
304
add_action('edit_form_after_title', 'pagelayer_after_title');
305
function pagelayer_after_title(){
@@ -373,231 +383,3 @@ function pagelayer_quick_link($actions, $post){
373
374
return $actions;
375
}
376
-
377
- // The ajax handler
378
- add_action('wp_ajax_pagelayer_wp_widget', 'pagelayer_wp_widget_ajax');
379
- function pagelayer_wp_widget_ajax(){
380
-
381
- global $pagelayer;
382
-
383
- // Some AJAX security
384
- check_ajax_referer('pagelayer_ajax', 'nonce');
385
-
386
- pagelayer_load_shortcodes();
387
-
388
- header('Content-Type: application/json');
389
-
390
- $ret = [];
391
- $tag = @$_POST['tag'];
392
- //pagelayer_print($pagelayer->shortcodes[$tag]);
393
-
394
- // No tag ?
395
- if(empty($pagelayer->shortcodes[$tag])){
396
- $ret['error'][] = 'No Tag';
397
- echo json_encode($ret);
398
- wp_die();
399
- }
400
-
401
- // Include the widgets
402
- include_once(ABSPATH . 'wp-admin/includes/widgets.php');
403
-
404
- $class = $pagelayer->shortcodes[$tag]['widget'];
405
-
406
- // Check the widget class exists ?
407
- if(empty($class) || !class_exists($class)){
408
- $ret['error'][] = 'No Widget Class';
409
- echo json_encode($ret);
410
- wp_die();
411
- }
412
-
413
- $instance = [];
414
- $widget = new $class();
415
- $widget->_set('pagelayer-widget-1234567890');
416
-
417
- // Is there any existing data ?
418
- if(!empty($_POST['widget_data'])){
419
- $json = json_decode(stripslashes($_POST['widget_data']), true);
420
- //pagelayer_print($json);die();
421
- if(!empty($json)){
422
- $instance = $json;
423
- }
424
- }
425
-
426
- // Are there any form values ?
427
- if(!empty($_POST['values'])){
428
- parse_str(stripslashes($_POST['values']), $data);
429
- //pagelayer_print($data);die();
430
-
431
- // Any data ?
432
- if(!empty($data)){
433
-
434
- // First key is useless
435
- $data = current($data);
436
-
437
- // Do we still have valid data ?
438
- if(!empty($data)){
439
-
440
- // 2nd key is useless and just over-ride instance
441
- $instance = current($data);
442
-
443
- }
444
- }
445
- }
446
-
447
- // Get the form
448
- ob_start();
449
- $widget->form($instance);
450
- $ret['form'] = ob_get_contents();
451
- ob_end_clean();
452
-
453
- // Get the html
454
- ob_start();
455
- $widget->widget([], $instance);
456
- $ret['html'] = ob_get_contents();
457
- ob_end_clean();
458
-
459
- // Widget data to set
460
- if(!empty($instance)){
461
- $ret['widget_data'] = $instance;
462
- }
463
-
464
- echo json_encode($ret);
465
- wp_die();
466
-
467
- }
468
-
469
- // Update Post content
470
- add_action('wp_ajax_pagelayer_save_content', 'pagelayer_save_content');
471
- function pagelayer_save_content(){
472
-
473
- // Some AJAX security
474
- check_ajax_referer('pagelayer_ajax', 'nonce');
475
-
476
- $content = $_POST['pagelayer_update_content'];
477
-
478
- $postID = (int) $_GET['postID'];
479
-
480
- if(empty($postID)){
481
- $msg['error'] = 'Invalid post ID';
482
- }
483
-
484
- // Check if the post exists
485
-
486
- if(!empty($postID) && !empty($content)){
487
-
488
- $post = array(
489
- 'ID' => $postID,
490
- 'post_content' => $content,
491
- );
492
-
493
- // Update the post into the database
494
- wp_update_post($post);
495
-
496
- if (is_wp_error($postID)) {
497
- $msg['error'] = 'Unable to update the Post Content for some reason';
498
- }else{
499
- $msg['success'] = 'Post Content was updated successfully!';
500
- }
501
-
502
- }else{
503
- $msg['error'] = "Unable to update the Post Content for some reason";
504
- }
505
-
506
- echo json_encode($msg);
507
- wp_die();
508
-
509
- }
510
-
511
- // Shortcodes Widget Handler
512
- add_action('wp_ajax_pagelayer_do_shortcodes', 'pagelayer_do_shortcodes');
513
- function pagelayer_do_shortcodes(){
514
-
515
- // Some AJAX security
516
- check_ajax_referer('pagelayer_ajax', 'nonce');
517
-
518
- $data = '';
519
- if(isset($_REQUEST['shortcode_data'])){
520
- $data = stripslashes($_REQUEST['shortcode_data']);
521
- }
522
-
523
- echo do_shortcode($data);
524
- wp_die();
525
-
526
- }
527
-
528
- // Get the Site Title
529
- add_action('wp_ajax_pagelayer_fetch_site_title', 'pagelayer_fetch_site_title');
530
- function pagelayer_fetch_site_title(){
531
-
532
- // Some AJAX security
533
- check_ajax_referer('pagelayer_ajax', 'nonce');
534
-
535
- echo get_bloginfo('name');
536
- wp_die();
537
- }
538
-
539
- // Update the Site Title
540
- add_action('wp_ajax_pagelayer_update_site_title', 'pagelayer_update_site_title');
541
- function pagelayer_update_site_title(){
542
- global $wpdb;
543
-
544
- // Some AJAX security
545
- check_ajax_referer('pagelayer_ajax', 'nonce');
546
-
547
- $site_title = $_POST['site_title'];
548
-
549
- update_option('blogname', $site_title);
550
-
551
- $wpdb->query("UPDATE `sm_sitemeta`
552
- SET meta_value = '".$site_title."'
553
- WHERE meta_key = 'site_name'");
554
- wp_die();
555
- }
556
-
557
- // Show the SideBars
558
- add_action('wp_ajax_pagelayer_fetch_sidebar', 'pagelayer_fetch_sidebar');
559
- function pagelayer_fetch_sidebar(){
560
-
561
- global $wp_registered_sidebars;
562
-
563
- // Some AJAX security
564
- check_ajax_referer('pagelayer_ajax', 'nonce');
565
-
566
- // Create a list
567
- $pagelayer_wp_widgets = array();
568
-
569
- foreach($wp_registered_sidebars as $v){
570
- $pagelayer_wp_widgets[$v['id']] = $v['name'];
571
- }
572
-
573
- $id = @$_REQUEST['sidebar'];
574
-
575
- if(function_exists('dynamic_sidebar') && !empty($pagelayer_wp_widgets[$id])) {
576
- ob_start();
577
- dynamic_sidebar($id);
578
- $result = ob_get_clean();
579
- }else{
580
- $result = 'No such Widget Area !';
581
- }
582
-
583
- echo $result;
584
- wp_die();
585
-
586
- }
587
-
588
- // Show the primary menu !
589
- add_action('wp_ajax_pagelayer_fetch_primary_menu', 'pagelayer_fetch_primary_menu');
590
- function pagelayer_fetch_primary_menu(){
591
-
592
- // Some AJAX security
593
- check_ajax_referer('pagelayer_ajax', 'nonce');
594
-
595
- echo wp_nav_menu( array(
596
- 'menu' => 'primary-menu',
597
- 'menu_id' => 'pagelayer-header-menu',
598
- 'theme_location' => 'primary',
599
- 'menu_class' => 'primary-menu',
600
- ) );
601
-
602
- wp_die();
603
- }
5
6
define('PAGELAYER_BASE', plugin_basename(__FILE__));
7
define('PAGELAYER_FILE', __FILE__);
8
+ define('PAGELAYER_VERSION', '0.9.5');
9
define('PAGELAYER_DIR', WP_PLUGIN_DIR.'/'.basename(dirname(PAGELAYER_FILE)));
10
define('PAGELAYER_SLUG', 'pagelayer');
11
define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
216
217
pagelayer_load_shortcodes();
218
$pagelayer->cache['enqueue_frontend'] = true;
219
+
220
+ $premium_js = '';
221
+ if(defined('PAGELAYER_PREMIUM')){
222
+ $premium_js = ',chartist.min.js';
223
+ }
224
+
225
// Enqueue our Editor's Frontend JS
226
+ wp_register_script('pagelayer-frontend', PAGELAYER_JS.'/givejs.php?give=pagelayer-frontend.js,nivo-lightbox.min.js,slippry.min.js,wow.min.js,jquery-numerator.js,simpleParallax.min.js'.$premium_js, array('jquery'), PAGELAYER_VERSION);
227
wp_enqueue_script('pagelayer-frontend');
228
229
wp_register_style('pagelayer-frontend', PAGELAYER_CSS.'/givecss.php?give=pagelayer-frontend.css,nivo-lightbox.css,slippry.css,animate.min.css', array(), PAGELAYER_VERSION);
305
306
}
307
308
+ // If we are doing ajax and its a pagelayer ajax
309
+ if(wp_doing_ajax()){
310
+ include_once(PAGELAYER_DIR.'/main/ajax.php');
311
+ }
312
+
313
// Show the backend editor options
314
add_action('edit_form_after_title', 'pagelayer_after_title');
315
function pagelayer_after_title(){
383
384
return $actions;
385
}
js/pagelayer-editor.js CHANGED
@@ -11,9 +11,12 @@ pagelayer = {
11
},
12
p : this,
13
copy_selected: '',
14
- mouse: {x: -1, y: -1}
15
}
16
17
// Lets start
18
jQuery(document).ready(function(){
19
@@ -48,6 +51,10 @@ jQuery(document).ready(function(){
48
// Set up right click
49
pagelayer_left_click();
50
pagelayer_right_click();
51
52
});
53
@@ -600,6 +607,9 @@ function pagelayer_element_added(jEle){
600
var sc = jEle.attr('pagelayer-tag');
601
var id, par_id;
602
603
// Generate the HTML
604
html = pagelayer_create_sc(sc);
605
id = pagelayer_assign_id(html);
@@ -632,6 +642,20 @@ function pagelayer_element_added(jEle){
632
633
}
634
635
return id;
636
637
};
@@ -922,6 +946,8 @@ function pagelayer_left_click(){
922
923
jQuery('.entry-content').on('click', function(e){
924
925
// Hide the context menu
926
jQuery('.pagelayer-right-click-options').hide();
927
@@ -1059,6 +1085,41 @@ jQuery(document).keydown(function(event){
1059
pagelayer_delete_element('[pagelayer-active]');
1060
}
1061
1062
});
1063
1064
// Delete an element as per the selector
@@ -1069,12 +1130,38 @@ function pagelayer_delete_element(selector){
1069
if(jEle.length > 0){
1070
1071
var id = pagelayer_assign_id(jEle);
1072
1073
// Is there a wrap
1074
var wrap = jQuery('[pagelayer-wrap-id="'+id+'"]');
1075
1076
var par = wrap.parent();
1077
1078
wrap.remove();
1079
1080
pagelayer_empty_col(par);
@@ -1084,6 +1171,7 @@ function pagelayer_delete_element(selector){
1084
}
1085
1086
}
1087
pagelayer_isDirty = true;
1088
};
1089
@@ -1169,6 +1257,18 @@ function pagelayer_copy_element(selector, insertAfter){
1169
1170
pagelayer_element_setup('[pagelayer-id='+id+'], [pagelayer-id='+id+'] .pagelayer-ele', true);
1171
1172
//If column then renumber columns
1173
if(tag == 'pl_col'){
1174
var row = src.parent().closest('.pagelayer-row');
@@ -1374,6 +1474,31 @@ function pagelayer_set_atts(jEle, atts, val){
1374
continue;
1375
}
1376
1377
// Remove the attribute if its BLANK and there is no default for it
1378
// If there is a default, we set it to blank to keep record of the current val
1379
if(atts[x].length < 1){
@@ -1439,6 +1564,24 @@ function pagelayer_set_tmp_atts(jEle, atts, val){
1439
}
1440
1441
for(var x in atts){
1442
jEle.attr('pagelayer-tmp-'+x, atts[x]);
1443
}
1444
@@ -1947,6 +2090,7 @@ function pagelayer_save(){
1947
}else{
1948
pagelayer_isDirty = false;
1949
alert(obj['success']);
1950
}
1951
},
1952
error: function(errorThrown){
@@ -2179,6 +2323,7 @@ function pagelayer_leftbar(){
2179
2180
html += '</div>'+
2181
'<div id="pagelayer-elpd" class="pagelayer-elpd"></div>'+
2182
'</div>'+
2183
'</div>';
2184
@@ -2229,6 +2374,399 @@ function pagelayer_leftbar(){
2229
2230
};
2231
2232
// Report an error
2233
function pagelayer_error(error, func){
2234
var prefix = func || '';
@@ -2249,13 +2787,16 @@ function pagelayer_bottombar(){
2249
'<i class="screen-mode fa fa-mobile" pagelayer-mode-data="mobile"></i>'+
2250
'</div>'+
2251
'</div>'+
2252
'</div>'+
2253
'</div>';
2254
2255
holder.html(html);
2256
holder.find('.pagelayer-update-button').on('click', function(){
2257
pagelayer_save();
2258
});
2259
holder.find('.pagelayer-close-button').on('click', function(){
2260
pagelayer_close();
2261
});
@@ -2268,7 +2809,17 @@ function pagelayer_bottombar(){
2268
holder.find('.pagelayer-mode-button').on('click', function(){
2269
holder.find('.pagelayer-mode-buttons-wrapper').toggle();
2270
});
2271
- }
2272
2273
2274
///////////////////////////////
11
},
12
p : this,
13
copy_selected: '',
14
+ mouse: {x: -1, y: -1},
15
+ history_action : true,
16
}
17
18
+ var pagelayer_history_obj = {}, pagelayer_revision_obj = {};
19
+
20
// Lets start
21
jQuery(document).ready(function(){
22
51
// Set up right click
52
pagelayer_left_click();
53
pagelayer_right_click();
54
+
55
+ // Setup pagelayer history
56
+ pagelayer_history_obj['action_data'] = [];
57
+ pagelayer_history_setup(true);
58
59
});
60
607
var sc = jEle.attr('pagelayer-tag');
608
var id, par_id;
609
610
+ // Set Pagelayer History FALSE to prevent saving attributes in action history
611
+ pagelayer.history_action = false;
612
+
613
// Generate the HTML
614
html = pagelayer_create_sc(sc);
615
id = pagelayer_assign_id(html);
642
643
}
644
645
+ // Save in action history
646
+ var cEle = pagelayer_near_by_ele(id, sc);
647
+
648
+ pagelayer_history_action_push({
649
+ 'title' : pagelayer_shortcodes[sc]['name'],
650
+ 'action' : 'Added',
651
+ 'pl_id' : id,
652
+ 'html' : html[0].outerHTML,
653
+ 'cEle' : cEle
654
+ });
655
+
656
+ // Set pagelayer history TRUE
657
+ pagelayer.history_action = true;
658
+
659
return id;
660
661
};
946
947
jQuery('.entry-content').on('click', function(e){
948
949
+ e.preventDefault();// Added by Jivan in Actions / Revisions version
950
+
951
// Hide the context menu
952
jQuery('.pagelayer-right-click-options').hide();
953
1085
pagelayer_delete_element('[pagelayer-active]');
1086
}
1087
1088
+ // ctrl+z handle
1089
+ if(event.keyCode == 90 && event.ctrlKey){
1090
+ pagelayer_do_history('undo');
1091
+ }
1092
+
1093
+ // ctrl+y handle
1094
+ if(event.keyCode == 89 && event.ctrlKey){
1095
+ pagelayer_do_history('redo');
1096
+ }
1097
+
1098
+ // ctrl+c handle
1099
+ if(event.keyCode == 67 && event.ctrlKey){
1100
+
1101
+ // Check the active element
1102
+ if(pagelayer_active.el && pagelayer_active.el.id){
1103
+ pagelayer_copy_select("[pagelayer-id='"+pagelayer_active.el.id+"']");
1104
+ }
1105
+
1106
+ }
1107
+
1108
+ // ctrl+v handle
1109
+ if(event.keyCode == 86 && event.ctrlKey){
1110
+
1111
+ // Check the active element
1112
+ if(pagelayer_active.el && pagelayer_active.el.id){
1113
+
1114
+ var jEle = jQuery("[pagelayer-id='"+pagelayer_active.el.id+"']");
1115
+
1116
+ // Check if the any element is copied
1117
+ if(!pagelayer_empty(pagelayer.copy_selected) && pagelayer_can_copy_to(jEle)){
1118
+ pagelayer_paste_element("[pagelayer-id='"+pagelayer_active.el.id+"']");
1119
+ }
1120
+
1121
+ }
1122
+ }
1123
});
1124
1125
// Delete an element as per the selector
1130
if(jEle.length > 0){
1131
1132
var id = pagelayer_assign_id(jEle);
1133
+ var sc = pagelayer_tag(jEle);
1134
1135
// Is there a wrap
1136
var wrap = jQuery('[pagelayer-wrap-id="'+id+'"]');
1137
1138
var par = wrap.parent();
1139
1140
+ // Save this element in history action
1141
+ if(pagelayer.history_action){
1142
+ var cEle = pagelayer_near_by_ele(id, sc);
1143
+
1144
+ // To save in history, we need to save only element not the wraps as we call setup if we redo or undo
1145
+ jEle.find('style').remove();
1146
+ jEle.find('.pagelayer-ele-overlay').remove();
1147
+
1148
+ // Unwrap the wraps
1149
+ jEle.find('.pagelayer-ele').each(function (){
1150
+ var ele = jQuery(this);
1151
+ if(ele.parent().is('.pagelayer-ele-wrap')){
1152
+ ele.unwrap();
1153
+ }
1154
+ });
1155
+
1156
+ pagelayer_history_action_push({
1157
+ 'title' : pagelayer_shortcodes[sc]['name'],
1158
+ 'action' : 'Deleted',
1159
+ 'pl_id' : id,
1160
+ 'html' : jEle,
1161
+ 'cEle' : cEle
1162
+ });
1163
+ }
1164
+
1165
wrap.remove();
1166
1167
pagelayer_empty_col(par);
1171
}
1172
1173
}
1174
+
1175
pagelayer_isDirty = true;
1176
};
1177
1257
1258
pagelayer_element_setup('[pagelayer-id='+id+'], [pagelayer-id='+id+'] .pagelayer-ele', true);
1259
1260
+ // Save this element in history action
1261
+ if(pagelayer.history_action){
1262
+ var cEle = pagelayer_near_by_ele(id, tag);
1263
+ pagelayer_history_action_push({
1264
+ 'title' : pagelayer_shortcodes[tag]['name'],
1265
+ 'action' : 'Copied',
1266
+ 'pl_id' : id,
1267
+ 'html' : jEle,
1268
+ 'cEle' : cEle
1269
+ });
1270
+ }
1271
+
1272
//If column then renumber columns
1273
if(tag == 'pl_col'){
1274
var row = src.parent().closest('.pagelayer-row');
1474
continue;
1475
}
1476
1477
+ // Record History
1478
+ if(pagelayer.history_action){
1479
+ var attr_label = '';
1480
+ for(var section in all_props){
1481
+ for(var props in all_props[section]){
1482
+ if(props == x){
1483
+ attr_label = all_props[section][props]['label'];
1484
+ }
1485
+ }
1486
+
1487
+ }
1488
+
1489
+ var old_val = pagelayer_get_att(jEle, x) || '';
1490
+ pagelayer_history_action_push({
1491
+ 'title' : all_props['name'],
1492
+ 'subTitle' : attr_label,
1493
+ 'action' : 'Edited',
1494
+ 'attrType' : 'a_attr',
1495
+ 'pl_id' : pagelayer_id(jEle),
1496
+ 'atts' : x,
1497
+ 'oldVal' : old_val,
1498
+ 'newVal' : atts[x]
1499
+ });
1500
+ }
1501
+
1502
// Remove the attribute if its BLANK and there is no default for it
1503
// If there is a default, we set it to blank to keep record of the current val
1504
if(atts[x].length < 1){
1564
}
1565
1566
for(var x in atts){
1567
+
1568
+ // Record history
1569
+ if(pagelayer.history_action){
1570
+
1571
+ var old_val = pagelayer_get_tmp_att(jEle, x) || '';
1572
+ pagelayer_history_action_push({
1573
+ 'title' : pagelayer_shortcodes[pagelayer_tag(jEle)]['name'],
1574
+ 'subTitle' : x,
1575
+ 'action' : 'Edited',
1576
+ 'attrType' : 'tmp_attr',
1577
+ 'pl_id' : pagelayer_id(jEle),
1578
+ 'atts' : x,
1579
+ 'oldVal' : old_val,
1580
+ 'newVal' : atts[x]
1581
+ });
1582
+
1583
+ }
1584
+
1585
jEle.attr('pagelayer-tmp-'+x, atts[x]);
1586
}
1587
2090
}else{
2091
pagelayer_isDirty = false;
2092
alert(obj['success']);
2093
+ pagelayer_get_revision();
2094
}
2095
},
2096
error: function(errorThrown){
2323
2324
html += '</div>'+
2325
'<div id="pagelayer-elpd" class="pagelayer-elpd"></div>'+
2326
+ '<div id="pagelayer-history" class="pagelayer-history"></div>'+
2327
'</div>'+
2328
'</div>';
2329
2374
2375
};
2376
2377
+ // Get the closest element and method
2378
+ function pagelayer_near_by_ele(id, sc){
2379
+
2380
+ // Get the previous element of the id element
2381
+ var prevEle_id = jQuery('[pagelayer-wrap-id="'+id+'"]').prev().attr('pagelayer-wrap-id') || '';
2382
+ var method, cEle, args = {};
2383
+
2384
+ if(prevEle_id.length > 0){
2385
+
2386
+ // If have previous element of the id element
2387
+ // Set the method and previous element selector
2388
+ args = {'method' : 'after', 'cEle' : '[pagelayer-wrap-id="'+prevEle_id+'"]'};
2389
+
2390
+ }else{
2391
+
2392
+ // If don't have previous element of the id element then get parent element
2393
+ if(sc == "pl_row"){
2394
+ args = {'method' : 'prepend', 'cEle' : '.entry-content'};
2395
+ }else{
2396
+
2397
+ // Get the parent element
2398
+ var pEle_id = pagelayer_id(jQuery('[pagelayer-wrap-id="'+id+'"]').closest('.pagelayer-ele'));
2399
+
2400
+ // Get the parent element tag
2401
+ var pEle_tag = pagelayer_tag(jQuery('[pagelayer-id="'+pEle_id+'"]'));
2402
+ var holder = pagelayer_shortcodes[pEle_tag]['holder'] || '';
2403
+ args = {'method' : 'prepend', 'cEle' : '[pagelayer-id="'+pEle_id+'"] '+ holder+' '};
2404
+
2405
+ }
2406
+
2407
+ }
2408
+
2409
+ return args;
2410
+
2411
+ };
2412
+
2413
+ // Push the action data in the pagelayer_history_obj object
2414
+ function pagelayer_history_action_push(args){
2415
+
2416
+ var history_obj_len = pagelayer_history_obj['action_data'].length;
2417
+
2418
+ // If the history_obj_len is less then 1 then set the data in array 0 position
2419
+ if(history_obj_len < 1){
2420
+ pagelayer_history_obj['action_data'][0] = {'title' : 'Start Editing', 'action' : 'Start' };
2421
+ pagelayer_history_obj['current_active_item_id'] = 0;
2422
+ }
2423
+
2424
+ // Remove the second array element if the history_obj_len greater then 100
2425
+ if(history_obj_len > 100){
2426
+ pagelayer_history_obj['action_data'].splice(1, 1);
2427
+ }
2428
+
2429
+ // Get current active history action id
2430
+ var action_id = parseInt(pagelayer_history_obj['current_active_item_id']) || '';
2431
+
2432
+ // Remove the all array element after the active array element
2433
+ var del_ele = history_obj_len - action_id - 1;
2434
+ pagelayer_history_obj['action_data'].splice(action_id + 1, del_ele);
2435
+
2436
+ // Check if the same attr set as current active history
2437
+ if(args.action == "Edited" && history_obj_len > 1){
2438
+ var atts = pagelayer_history_obj['action_data'][action_id] || '';
2439
+ if(atts['atts'] == args['atts']){
2440
+ args['oldVal'] = atts['oldVal'];
2441
+ pagelayer_history_obj['action_data'][action_id] = args;
2442
+ pagelayer_history_setup();
2443
+ return true;
2444
+ }
2445
+ }
2446
+
2447
+ pagelayer_history_obj['action_data'].push(args);
2448
+ pagelayer_history_obj['current_active_item_id'] ++;
2449
+ pagelayer_history_setup();
2450
+ }
2451
+
2452
+ // Setup pagelayer history
2453
+ function pagelayer_history_setup(force){
2454
+
2455
+ var force = force || false;
2456
+
2457
+ // If the history tab is visible, only then setup
2458
+ if(!pagelayer.$('.pagelayer-history').is(':visible') && !force){
2459
+ return;
2460
+ }
2461
+
2462
+ // pagelayer-HISTORY - Element Properties Dialog
2463
+ var pagelayer_history_html = '<div class="pagelayer-history-tabs">'+
2464
+ '<div class="pagelayer-history-tab" pagelayer-history-tab="actions" pagelayer-history-active-tab="1">Actions</div>'+
2465
+ '<div class="pagelayer-history-tab" pagelayer-history-tab="revisions">Revisions</div>'+
2466
+ '</div>'+
2467
+ '<div class="pagelayer-history-body">'+
2468
+ '<div class="pagelayer-history-section active" pagelayer-show-tab="actions">';
2469
+
2470
+ // Any actions
2471
+ if(pagelayer_history_obj['action_data'].length > 0){
2472
+
2473
+ var current_active = pagelayer_history_obj['action_data'].length - 1 || '';
2474
+
2475
+ for(var x in pagelayer_history_obj['action_data']){
2476
+
2477
+ if(pagelayer_empty(pagelayer_history_obj['action_data'][x])){continue;}
2478
+
2479
+ var title = pagelayer_history_obj['action_data'][x]['title'] || '';
2480
+ var subTitle = pagelayer_history_obj['action_data'][x]['subTitle'] || '';
2481
+ var action = pagelayer_history_obj['action_data'][x]['action'] || '';
2482
+ var tmp_attr = pagelayer_history_obj['action_data'][x]['attrType'] || '';
2483
+ var eAttr = '';
2484
+
2485
+ if(!pagelayer_empty(tmp_attr) && tmp_attr == "tmp_attr"){
2486
+ eAttr = "pagelayer-history-hidden";
2487
+ }
2488
+
2489
+ pagelayer_history_html += '<div class="pagelayer-history-holder '+((current_active == x) ? 'current_active_item' : '' )+' '+eAttr+'" history-action-id="'+x+'" >'+
2490
+ '<div class="pagelayer-history-detail-holder">'+
2491
+ '<span class="pagelayer-history-title"><b> '+title+' </b></span>'+
2492
+ '<span class="pagelayer-history-subtitle"> '+subTitle+' </span>'+
2493
+ '<span class="pagelayer-history-action"><i> '+action+' </i></span>'+
2494
+ '</div>'+
2495
+ '<div class="pagelayer-history-icon">'+
2496
+ '<span class="pagelayer-history-check fa fa-check" aria-hidden="true"></span>'+
2497
+ '</div>'+
2498
+ '</div>';
2499
+ }
2500
+
2501
+ }else{
2502
+ pagelayer_history_html += 'No Actions history available yet';
2503
+ }
2504
+
2505
+ pagelayer_history_html += '</div>'+
2506
+ '<div class="pagelayer-history-section" pagelayer-show-tab="revisions">';
2507
+
2508
+ // Any revisions ?
2509
+ if(pagelayer_revision_obj){
2510
+ for(var x in pagelayer_revision_obj){
2511
+ pagelayer_history_html += '<div class="pagelayer-revision-holder" revision-id="'+pagelayer_revision_obj[x]['ID']+'">'+
2512
+ '<div class="pagelayer-revision-img-holder">'+
2513
+ '<img src="'+pagelayer_revision_obj[x]['post_author_url']+'" />'+
2514
+ '</div>'+
2515
+ '<div class="pagelayer-revision-detail-holder">'+
2516
+ '<div class="pagelayer-revision-date">'+
2517
+ pagelayer_revision_obj[x]['post_date_ago']+
2518
+ '('+pagelayer_revision_obj[x]['post_date']+')'+
2519
+ '</div>'+
2520
+ '<div class="pagelayer-revision-author">'+
2521
+ pagelayer_revision_obj[x]['post_type'] +' by '+
2522
+ pagelayer_revision_obj[x]['post_author_name']+
2523
+ '</div>'+
2524
+ '</div>'+
2525
+ '<div class="pagelayer-revision-icon-holder">'+
2526
+ '<i class="pagelayer-revision-delete fa fa-times"></i>'+
2527
+ '</div>'+
2528
+ '</div>';
2529
+ }
2530
+
2531
+ }else{
2532
+ pagelayer_history_html += 'No Revisions history available';
2533
+ }
2534
+
2535
+ pagelayer_history_html += '</div>'+
2536
+ '</div>';
2537
+
2538
+ // Create the dialog box
2539
+ pagelayer.$('#pagelayer-history').html(pagelayer_history_html);
2540
+ var holder = pagelayer.$('#pagelayer-history');
2541
+
2542
+ // Set active history holder
2543
+ holder.find('.pagelayer-history-holder').on('click', function(){
2544
+ var hEle = jQuery(this);
2545
+ var prev_item_id = pagelayer_history_obj['current_active_item_id'];
2546
+ hEle.parent().children().removeClass('current_active_item');
2547
+ hEle.addClass('current_active_item');
2548
+ pagelayer_history_obj['current_active_item_id'] = hEle.attr('history-action-id');
2549
+ pagelayer_history_action_setup(hEle, prev_item_id);
2550
+ });
2551
+
2552
+ // Apply revision
2553
+ holder.find('.pagelayer-revision-holder').on('click', function(){
2554
+ var revision_id = jQuery(this).attr('revision-id');
2555
+
2556
+ jQuery.ajax({
2557
+ url: pagelayer_ajax_url+'&action=pagelayer_apply_revision&revisionID='+revision_id,
2558
+ type: 'post',
2559
+ data: {
2560
+ nonce: pagelayer_ajax_nonce,
2561
+ 'pagelayer-live' : 1,
2562
+ },
2563
+ success: function(response, status, xhr){
2564
+
2565
+ var obj = jQuery.parseJSON(response);
2566
+ if(obj['error']){
2567
+ alert(obj['error']);
2568
+ }else{
2569
+ jQuery('.entry-content').html(obj['content']);
2570
+ alert(obj['success']);
2571
+ pagelayer_element_setup();
2572
+ pagelayer_add_widget();
2573
+ }
2574
+ }
2575
+ });
2576
+ });
2577
+
2578
+ // Delete the revision
2579
+ holder.find('.pagelayer-revision-delete').click(function(e){
2580
+
2581
+ e.stopPropagation();
2582
+ var rEle = jQuery(this).closest('.pagelayer-revision-holder');
2583
+ var revision_id = rEle.attr('revision-id');
2584
+
2585
+ if(confirm("Are you sure you want to delete the revision ?")){
2586
+ jQuery.ajax({
2587
+ url: pagelayer_ajax_url+'&action=pagelayer_delete_revision&revisionID='+revision_id,
2588
+ type: 'post',
2589
+ data: {nonce: pagelayer_ajax_nonce},
2590
+ success: function(response, status, xhr){
2591
+
2592
+ var obj = jQuery.parseJSON(response);
2593
+ if(obj['error']){
2594
+ alert(obj['error']);
2595
+ }else{
2596
+ alert(obj['success']);
2597
+ rEle.hide();
2598
+ }
2599
+
2600
+ }
2601
+ });
2602
+ }
2603
+
2604
+ });
2605
+
2606
+ // The tabs
2607
+ holder.find('.pagelayer-history-tab').on('click', function(){
2608
+ var attr = 'pagelayer-history-active-tab';
2609
+ holder.find('.pagelayer-history-tab').each(function(){
2610
+ jQuery(this).removeAttr(attr);
2611
+ });
2612
+ jQuery(this).attr(attr, 1);
2613
+
2614
+ // Get the active tab
2615
+ var active_tab = holder.find('[pagelayer-history-active-tab]').attr('pagelayer-history-tab');
2616
+
2617
+ // Trigger the showing of rows
2618
+ holder.find('[pagelayer-show-tab]').each(function(){
2619
+ var sec = jQuery(this);
2620
+
2621
+ // Is it the active tab ?
2622
+ if(sec.attr('pagelayer-show-tab') != active_tab){
2623
+ sec.hide();
2624
+ }else{
2625
+ sec.show();
2626
+ }
2627
+ });
2628
+ });
2629
+ }
2630
+
2631
+ // Get evisions Handler
2632
+ function pagelayer_get_revision(){
2633
+
2634
+ jQuery.ajax({
2635
+ url: pagelayer_ajax_url+'&action=pagelayer_get_revision&postID='+pagelayer_postID,
2636
+ type: 'post',
2637
+ data: {
2638
+ nonce: pagelayer_ajax_nonce,
2639
+ },
2640
+ //async:false,
2641
+ success: function(response, status, xhr){
2642
+ var obj = jQuery.parseJSON(response);
2643
+
2644
+ if(!pagelayer_empty(obj['error'])){
2645
+ alert(obj['error']);
2646
+ }else{
2647
+ pagelayer_revision_obj = obj;
2648
+ pagelayer_history_setup(true);
2649
+ }
2650
+ }
2651
+ });
2652
+ };
2653
+
2654
+ // Do the history action - use for ctrl-z and ctrl-y
2655
+ function pagelayer_do_history(action){
2656
+
2657
+ var actions_section = pagelayer.$('#pagelayer-history [pagelayer-show-tab="actions"]');
2658
+ var current_item = actions_section.find('.pagelayer-history-holder.current_active_item');
2659
+
2660
+ if(action == 'undo'){
2661
+ current_item = jQuery(current_item).prevAll(":not(.pagelayer-history-hidden)").first();
2662
+ }else if(action == 'redo'){
2663
+ current_item = jQuery(current_item).nextAll(":not(.pagelayer-history-hidden)").first();
2664
+ }
2665
+
2666
+ current_item.click();
2667
+
2668
+ };
2669
+
2670
+ // Action setup handle on ctrl-z and ctrl-y
2671
+ function pagelayer_history_action_setup(now_active, prev_item_id){
2672
+ var current_item_id = parseInt(now_active.attr('history-action-id'));
2673
+
2674
+ // Delete the element
2675
+ var delete_ele = function(id){
2676
+
2677
+ // Set Pagelayer History FALSE to prevent saving delete action in action history
2678
+ pagelayer.history_action = false;
2679
+
2680
+ pagelayer_delete_element('[pagelayer-id='+id+']');
2681
+
2682
+ // Set Pagelayer History TRUE
2683
+ pagelayer.history_action = true;
2684
+
2685
+ };
2686
+
2687
+ // Re-setup the element
2688
+ var resetup_ele = function(history_array){
2689
+ jQuery(history_array.cEle.cEle)[history_array.cEle.method](history_array.html);
2690
+ pagelayer_element_setup('[pagelayer-id='+history_array.pl_id+'], [pagelayer-id='+history_array.pl_id+'] .pagelayer-ele', true);
2691
+ pagelayer_empty_col(jQuery('[pagelayer-id="'+history_array.pl_id+'"]').closest('.pagelayer-col-holder'));
2692
+ };
2693
+
2694
+ // Re-setup the element attr
2695
+ var reset_ele_attr = function(hEle, atts, val, attrType){
2696
+
2697
+ // Set Pagelayer History FALSE to prevent saving attributes in action history
2698
+ pagelayer.history_action = false;
2699
+ if(attrType == "tmp_attr"){
2700
+ pagelayer_set_tmp_atts(hEle, atts, val);
2701
+ }else{
2702
+ pagelayer_set_atts(hEle, atts, val);
2703
+ }
2704
+
2705
+ // The property holder
2706
+ var holder = pagelayer.$('.pagelayer-elpd-body');
2707
+ holder.html(' ');
2708
+ pagelayer_sc_render(hEle);
2709
+ pagelayer_elpd_generate(hEle, holder);
2710
+ pagelayer.history_action = true;
2711
+
2712
+ };
2713
+
2714
+ if(prev_item_id > current_item_id){
2715
+
2716
+ // All Actions for undo here
2717
+ var i = parseInt(prev_item_id);
2718
+
2719
+ for(i; i > current_item_id; i--){
2720
+
2721
+ var history_array = pagelayer_history_obj['action_data'][i];
2722
+ var action = history_array.action;
2723
+ var id = history_array.pl_id;
2724
+
2725
+ if(action == "Edited"){
2726
+ hEle = jQuery('[pagelayer-id="'+id+'"]');
2727
+ reset_ele_attr(hEle, history_array.atts, history_array.oldVal, history_array.attrType);
2728
+ }else if(action == "Added"){
2729
+ delete_ele(id);
2730
+ }else if(action == "Deleted"){
2731
+ resetup_ele(history_array);
2732
+ }else if(action == "Copied"){
2733
+ delete_ele(id);
2734
+ }
2735
+
2736
+ }
2737
+
2738
+ }else{
2739
+
2740
+ // All Actions for redo here
2741
+ var i = parseInt(prev_item_id)+1;
2742
+
2743
+ for(i; i <= current_item_id; i++){
2744
+
2745
+ var history_array = pagelayer_history_obj['action_data'][i];
2746
+ var action = history_array.action;
2747
+ var id = history_array.pl_id;
2748
+
2749
+ if(action == "Edited"){
2750
+ hEle = jQuery('[pagelayer-id="'+id+'"]');
2751
+ reset_ele_attr(hEle, history_array.atts, history_array.newVal, history_array.attrType);
2752
+ }else if(action == "Added"){
2753
+ resetup_ele(history_array);
2754
+
2755
+ if(history_array.tag != "pl_row" && history_array.tag != "pl_col" ){
2756
+ // Ensure the column is not empty
2757
+ pagelayer_empty_col(history_array.cEle.cEle);
2758
+ }
2759
+ }else if(action == "Deleted"){
2760
+ delete_ele(id);
2761
+ }else if(action == "Copied"){
2762
+ resetup_ele(history_array);
2763
+ }
2764
+
2765
+ }
2766
+ }
2767
+
2768
+ };
2769
+
2770
// Report an error
2771
function pagelayer_error(error, func){
2772
var prefix = func || '';
2787
'<i class="screen-mode fa fa-mobile" pagelayer-mode-data="mobile"></i>'+
2788
'</div>'+
2789
'</div>'+
2790
+ '<i class="pagelayer-history-icon fa fa-history"></i>'+
2791
'</div>'+
2792
'</div>';
2793
2794
holder.html(html);
2795
holder.find('.pagelayer-update-button').on('click', function(){
2796
pagelayer_save();
2797
+ pagelayer_history_setup();// Setup history tab after update
2798
});
2799
+
2800
holder.find('.pagelayer-close-button').on('click', function(){
2801
pagelayer_close();
2802
});
2809
holder.find('.pagelayer-mode-button').on('click', function(){
2810
holder.find('.pagelayer-mode-buttons-wrapper').toggle();
2811
});
2812
+
2813
+ holder.find('.pagelayer-history-icon').click(function(){
2814
+ pagelayer.$('.pagelayer-elpd-header').show().find('.pagelayer-elpd-title').text('Pagelayer History');
2815
+ pagelayer.$('.pagelayer-elpd').hide();
2816
+ pagelayer.$('.pagelayer-logo').hide();
2817
+ pagelayer.$('.pagelayer-shortcodes').hide();
2818
+ pagelayer.$('.pagelayer-history').show();
2819
+ pagelayer_active = {};
2820
+ pagelayer_history_setup();
2821
+ });
2822
+ };
2823
2824
2825
///////////////////////////////
js/pagelayer-frontend.js CHANGED
@@ -85,6 +85,14 @@ jQuery(document).ready(function(){
85
pagelayer_table(jQuery(this));
86
});
87
88
});
89
90
// For automatic row change
@@ -803,3 +811,65 @@ function pagelayer_table(jEle){
803
});
804
805
}
85
pagelayer_table(jQuery(this));
86
});
87
88
+ jQuery('.pagelayer-wp_menu').each(function(){
89
+ pagelayer_primary_menu(jQuery(this));
90
+ });
91
+
92
+ jQuery('.pagelayer-search').each(function(){
93
+ pagelayer_search_form(jQuery(this));
94
+ });
95
+
96
});
97
98
// For automatic row change
811
});
812
813
}
814
+
815
+ // Primary Menu Handler - Premium
816
+ function pagelayer_primary_menu(jEle){
817
+
818
+ var container = jEle.find('.pagelayer-wp-menu-container');
819
+ var menu_bar = jEle.find('.pagelayer-primary-menu-bar').find('i.fa');
820
+ var layout = jEle.find('.pagelayer-wp-menu-holder').data('layout');
821
+ var submenu_ind = jEle.find('.pagelayer-wp-menu-holder').data('submenu_ind');
822
+
823
+ if(layout == 'vertical'){
824
+ menu_bar.hide();
825
+ }
826
+
827
+ // Menu toggle
828
+ jQuery(menu_bar).unbind('click');
829
+ jQuery(menu_bar).click(function(){
830
+ jQuery(container).toggleClass('pagelayer-togglt-on');
831
+ if(jQuery(container).hasClass('pagelayer-togglt-on')){
832
+ jQuery(this).removeClass('fa-bars');
833
+ jQuery(this).addClass('fa-times');
834
+ }else{
835
+ jQuery(this).addClass('fa-bars');
836
+ jQuery(this).removeClass('fa-times');
837
+ }
838
+ });
839
+
840
+ // If has sub-menu the as icon
841
+ var after_icons = '<span class="after-icon fa fa-'+submenu_ind+'"></span>';
842
+ jQuery(container).find('ul.menu li ul.sub-menu').parent().children('a').append(after_icons);
843
+
844
+ // Toggle Sub nav
845
+ var after_icon = jQuery(container).find('ul.menu li.menu-item-has-children .after-icon');
846
+
847
+ after_icon.unbind('click');
848
+ after_icon.click(function(e){
849
+ e.preventDefault();
850
+ if(window.matchMedia("(max-width: 782px)").matches || layout != 'horizontal'){
851
+ jQuery(this).closest('li').toggleClass('active-sub-menu');
852
+ }else{
853
+ jQuery(this).closest('li').removeClass('active-sub-menu');
854
+ }
855
+ });
856
+
857
+ }
858
+
859
+ // Search Form handler - Premium
860
+ function pagelayer_search_form(jEle){
861
+
862
+ // In full screen mode set auto complete offscreenBuffering
863
+ jEle.find('.pagelayer-search-full-screen form').attr('autocomplete', 'off');
864
+
865
+ jEle.find('.pagelayer-search-toggle').click(function(){
866
+ jEle.find('.pagelayer-search-fields').toggleClass('show');
867
+ });
868
+
869
+ jEle.find('.pagelayer-search-fields').click(function(e){
870
+ e = window.event || e;
871
+ if(this === e.target) {
872
+ jQuery(this).removeClass('show');
873
+ }
874
+ });
875
+ }
js/properties.js CHANGED
@@ -169,6 +169,7 @@ function pagelayer_elpd_setup(){
169
pagelayer.$('.pagelayer-elpd-header').hide();
170
pagelayer.$('.pagelayer-shortcodes').show();
171
pagelayer.$('.pagelayer-logo').show();
172
pagelayer.$('.pagelayer-elpd-body').removeAttr('pagelayer-element-id').empty();
173
pagelayer_active = {};
174
});
@@ -201,6 +202,9 @@ function pagelayer_elpd_setup(){
201
// Open the properties
202
function pagelayer_elpd_open(jEle){
203
204
// Set the position of the element and show
205
//pagelayer_elpd.css('left', pagelayer_elpd_pos[0]);
206
//pagelayer_elpd.css('top', pagelayer_elpd_pos[1]);
@@ -208,6 +212,7 @@ function pagelayer_elpd_open(jEle){
208
pagelayer.$('.pagelayer-elpd-header').show();
209
pagelayer.$('.pagelayer-logo').hide();
210
pagelayer.$('.pagelayer-shortcodes').hide();
211
212
// The property holder
213
var holder = pagelayer.$('.pagelayer-elpd-body');
@@ -221,6 +226,9 @@ function pagelayer_elpd_open(jEle){
221
// Set the header
222
pagelayer.$('.pagelayer-elpd-title').html('Edit '+pagelayer_shortcodes[el.tag]['name']);
223
224
};
225
226
// Show the properties window
@@ -1600,7 +1608,7 @@ function pagelayer_elp_icon(row, prop){
1600
1601
pagelayer_icons = $.map($.map(document.styleSheets, function(s){
1602
1603
- if(s.href && s.href.endsWith('font-awesome.min.css?ver='+pagelayer_ver)){
1604
return s;
1605
}
1606
return null;
@@ -1786,6 +1794,18 @@ function pagelayer_elp_group(row, prop){
1786
var label_param = prop['item_label']['param'] || '';
1787
var title = pagelayer_get_att(jEle, label_param) || prop['item_label']['default'];
1788
1789
// Create the HTML
1790
var holder = jQuery('<div class="pagelayer-elp-group-item" pagelayer-group-item-id="'+id+'">'+
1791
'<div class="pagelayer-elp-group-item-head">'+
@@ -2193,12 +2213,12 @@ function pagelayer_elp_typography(row, prop){
2193
val = prop.c['val'].split(',');
2194
}
2195
2196
- var select = { 'style' : ['', 'normal', 'italic', 'oblique'],
2197
'weight' : ['', '100', '200', '300', '400', '500', '600', '700', '800', '900'],
2198
- 'variant' : ['', 'normal', 'small-caps'],
2199
- 'deco-line' : ['', 'none', 'overline', 'line-through', 'underline', 'underline overline'],
2200
- 'deco-style' : ['solid', 'double', 'dotted', 'dashed', 'wavy'],
2201
- 'transform' : ['', 'capitalize', 'uppercase', 'lowercase'],
2202
'fonts' : ['', 'ABeeZee', 'Abel', 'Abhaya Libre', 'Abril Fatface', 'Aclonica', 'Acme', 'Actor', 'Adamina', 'Advent Pro', 'Aguafina Script', 'Akronim', 'Aladin', 'Aldrich', 'Alef', 'Alegreya', 'Alegreya SC', 'Alegreya Sans', 'Alegreya Sans SC', 'Aleo', 'Alex Brush', 'Alfa Slab One', 'Alice', 'Alike', 'Alike Angular', 'Allan', 'Allerta', 'Allerta Stencil', 'Allura', 'Almendra', 'Almendra Display', 'Almendra SC', 'Amarante', 'Amaranth', 'Amatic SC', 'Amethysta', 'Amiko', 'Amiri', 'Amita', 'Anaheim', 'Andada', 'Andika', 'Angkor', 'Annie Use Your Telescope', 'Anonymous Pro', 'Antic', 'Antic Didone', 'Antic Slab', 'Anton', 'Arapey', 'Arbutus', 'Arbutus Slab', 'Architects Daughter', 'Archivo', 'Archivo Black', 'Archivo Narrow', 'Aref Ruqaa', 'Arima Madurai', 'Arimo', 'Arizonia', 'Armata', 'Arsenal', 'Artifika', 'Arvo', 'Arya', 'Asap', 'Asap Condensed', 'Asar', 'Asset', 'Assistant', 'Astloch', 'Asul', 'Athiti', 'Atma', 'Atomic Age', 'Aubrey', 'Audiowide', 'Autour One', 'Average', 'Average Sans', 'Averia Gruesa Libre', 'Averia Libre', 'Averia Sans Libre', 'Averia Serif Libre', 'B612', 'B612 Mono', 'Bad Script', 'Bahiana', 'Bai Jamjuree', 'Baloo', 'Baloo Bhai', 'Baloo Bhaijaan', 'Baloo Bhaina', 'Baloo Chettan', 'Baloo Da', 'Baloo Paaji', 'Baloo Tamma', 'Baloo Tammudu', 'Baloo Thambi', 'Balthazar', 'Bangers', 'Barlow', 'Barlow Condensed', 'Barlow Semi Condensed', 'Barrio', 'Basic', 'Battambang', 'Baumans', 'Bayon', 'Belgrano', 'Bellefair', 'Belleza', 'BenchNine', 'Bentham', 'Berkshire Swash', 'Bevan', 'Bigelow Rules', 'Bigshot One', 'Bilbo', 'Bilbo Swash Caps', 'BioRhyme', 'BioRhyme Expanded', 'Biryani', 'Bitter', 'Black And White Picture', 'Black Han Sans', 'Black Ops One', 'Bokor', 'Bonbon', 'Boogaloo', 'Bowlby One', 'Bowlby One SC', 'Brawler', 'Bree Serif', 'Bubblegum Sans', 'Bubbler One', 'Buda', 'Buenard', 'Bungee', 'Bungee Hairline', 'Bungee Inline', 'Bungee Outline', 'Bungee Shade', 'Butcherman', 'Butterfly Kids', 'Cabin', 'Cabin Condensed', 'Cabin Sketch', 'Caesar Dressing', 'Cagliostro', 'Cairo', 'Calligraffitti', 'Cambay', 'Cambo', 'Candal', 'Cantarell', 'Cantata One', 'Cantora One', 'Capriola', 'Cardo', 'Carme', 'Carrois Gothic', 'Carrois Gothic SC', 'Carter One', 'Catamaran', 'Caudex', 'Caveat', 'Caveat Brush', 'Cedarville Cursive', 'Ceviche One', 'Chakra Petch', 'Changa', 'Changa One', 'Chango', 'Charm', 'Charmonman', 'Chathura', 'Chau Philomene One', 'Chela One', 'Chelsea Market', 'Chenla', 'Cherry Cream Soda', 'Cherry Swash', 'Chewy', 'Chicle', 'Chivo', 'Chonburi', 'Cinzel', 'Cinzel Decorative', 'Clicker Script', 'Coda', 'Coda Caption', 'Codystar', 'Coiny', 'Combo', 'Comfortaa', 'Coming Soon', 'Concert One', 'Condiment', 'Content', 'Contrail One', 'Convergence', 'Cookie', 'Copse', 'Corben', 'Cormorant', 'Cormorant Garamond', 'Cormorant Infant', 'Cormorant SC', 'Cormorant Unicase', 'Cormorant Upright', 'Courgette', 'Cousine', 'Coustard', 'Covered By Your Grace', 'Crafty Girls', 'Creepster', 'Crete Round', 'Crimson Text', 'Croissant One', 'Crushed', 'Cuprum', 'Cute Font', 'Cutive', 'Cutive Mono', 'Damion', 'Dancing Script', 'Dangrek', 'David Libre', 'Dawning of a New Day', 'Days One', 'Dekko', 'Delius', 'Delius Swash Caps', 'Delius Unicase', 'Della Respira', 'Denk One', 'Devonshire', 'Dhurjati', 'Didact Gothic', 'Diplomata', 'Diplomata SC', 'Do Hyeon', 'Dokdo', 'Domine', 'Donegal One', 'Doppio One', 'Dorsa', 'Dosis', 'Dr Sugiyama', 'Duru Sans', 'Dynalight', 'EB Garamond', 'Eagle Lake', 'East Sea Dokdo', 'Eater', 'Economica', 'Eczar', 'El Messiri', 'Electrolize', 'Elsie', 'Elsie Swash Caps', 'Emblema One', 'Emilys Candy', 'Encode Sans', 'Encode Sans Condensed', 'Encode Sans Expanded', 'Encode Sans Semi Condensed', 'Encode Sans Semi Expanded', 'Engagement', 'Englebert', 'Enriqueta', 'Erica One', 'Esteban', 'Euphoria Script', 'Ewert', 'Exo', 'Exo 2', 'Expletus Sans', 'Fahkwang', 'Fanwood Text', 'Farsan', 'Fascinate', 'Fascinate Inline', 'Faster One', 'Fasthand', 'Fauna One', 'Faustina', 'Federant', 'Federo', 'Felipa', 'Fenix', 'Finger Paint', 'Fira Mono', 'Fira Sans', 'Fira Sans Condensed', 'Fira Sans Extra Condensed', 'Fjalla One', 'Fjord One', 'Flamenco', 'Flavors', 'Fondamento', 'Fontdiner Swanky', 'Forum', 'Francois One', 'Frank Ruhl Libre', 'Freckle Face', 'Fredericka the Great', 'Fredoka One', 'Freehand', 'Fresca', 'Frijole', 'Fruktur', 'Fugaz One', 'GFS Didot', 'GFS Neohellenic', 'Gabriela', 'Gaegu', 'Gafata', 'Galada', 'Galdeano', 'Galindo', 'Gamja Flower', 'Gentium Basic', 'Gentium Book Basic', 'Geo', 'Geostar', 'Geostar Fill', 'Germania One', 'Gidugu', 'Gilda Display', 'Give You Glory', 'Glass Antiqua', 'Glegoo', 'Gloria Hallelujah', 'Goblin One', 'Gochi Hand', 'Gorditas', 'Gothic A1', 'Goudy Bookletter 1911', 'Graduate', 'Grand Hotel', 'Gravitas One', 'Great Vibes', 'Griffy', 'Gruppo', 'Gudea', 'Gugi', 'Gurajada', 'Habibi', 'Halant', 'Hammersmith One', 'Hanalei', 'Hanalei Fill', 'Handlee', 'Hanuman', 'Happy Monkey', 'Harmattan', 'Headland One', 'Heebo', 'Henny Penny', 'Herr Von Muellerhoff', 'Hi Melody', 'Hind', 'Hind Guntur', 'Hind Madurai', 'Hind Siliguri', 'Hind Vadodara', 'Holtwood One SC', 'Homemade Apple', 'Homenaje', 'IBM Plex Mono', 'IBM Plex Sans', 'IBM Plex Sans Condensed', 'IBM Plex Serif', 'IM Fell DW Pica', 'IM Fell DW Pica SC', 'IM Fell Double Pica', 'IM Fell Double Pica SC', 'IM Fell English', 'IM Fell English SC', 'IM Fell French Canon', 'IM Fell French Canon SC', 'IM Fell Great Primer', 'IM Fell Great Primer SC', 'Iceberg', 'Iceland', 'Imprima', 'Inconsolata', 'Inder', 'Indie Flower', 'Inika', 'Inknut Antiqua', 'Irish Grover', 'Istok Web', 'Italiana', 'Italianno', 'Itim', 'Jacques Francois', 'Jacques Francois Shadow', 'Jaldi', 'Jim Nightshade', 'Jockey One', 'Jolly Lodger', 'Jomhuria', 'Josefin Sans', 'Josefin Slab', 'Joti One', 'Jua', 'Judson', 'Julee', 'Julius Sans One', 'Junge', 'Jura', 'Just Another Hand', 'Just Me Again Down Here', 'K2D', 'Kadwa', 'Kalam', 'Kameron', 'Kanit', 'Kantumruy', 'Karla', 'Karma', 'Katibeh', 'Kaushan Script', 'Kavivanar', 'Kavoon', 'Kdam Thmor', 'Keania One', 'Kelly Slab', 'Kenia', 'Khand', 'Khmer', 'Khula', 'Kirang Haerang', 'Kite One', 'Knewave', 'KoHo', 'Kodchasan', 'Kosugi', 'Kosugi Maru', 'Kotta One', 'Koulen', 'Kranky', 'Kreon', 'Kristi', 'Krona One', 'Krub', 'Kumar One', 'Kumar One Outline', 'Kurale', 'La Belle Aurore', 'Laila', 'Lakki Reddy', 'Lalezar', 'Lancelot', 'Lateef', 'Lato', 'League Script', 'Leckerli One', 'Ledger', 'Lekton', 'Lemon', 'Lemonada', 'Libre Barcode 128', 'Libre Barcode 128 Text', 'Libre Barcode 39', 'Libre Barcode 39 Extended', 'Libre Barcode 39 Extended Text', 'Libre Barcode 39 Text', 'Libre Baskerville', 'Libre Franklin', 'Life Savers', 'Lilita One', 'Lily Script One', 'Limelight', 'Linden Hill', 'Lobster', 'Lobster Two', 'Londrina Outline', 'Londrina Shadow', 'Londrina Sketch', 'Londrina Solid', 'Lora', 'Love Ya Like A Sister', 'Loved by the King', 'Lovers Quarrel', 'Luckiest Guy', 'Lusitana', 'Lustria', 'M PLUS 1p', 'M PLUS Rounded 1c', 'Macondo', 'Macondo Swash Caps', 'Mada', 'Magra', 'Maiden Orange', 'Maitree', 'Major Mono Display', 'Mako', 'Mali', 'Mallanna', 'Mandali', 'Manuale', 'Marcellus', 'Marcellus SC', 'Marck Script', 'Margarine', 'Markazi Text', 'Marko One', 'Marmelad', 'Martel', 'Martel Sans', 'Marvel', 'Mate', 'Mate SC', 'Maven Pro', 'McLaren', 'Meddon', 'MedievalSharp', 'Medula One', 'Meera Inimai', 'Megrim', 'Meie Script', 'Merienda', 'Merienda One', 'Merriweather', 'Merriweather Sans', 'Metal', 'Metal Mania', 'Metamorphous', 'Metrophobic', 'Michroma', 'Milonga', 'Miltonian', 'Miltonian Tattoo', 'Mina', 'Miniver', 'Miriam Libre', 'Mirza', 'Miss Fajardose', 'Mitr', 'Modak', 'Modern Antiqua', 'Mogra', 'Molengo', 'Molle', 'Monda', 'Monofett', 'Monoton', 'Monsieur La Doulaise', 'Montaga', 'Montez', 'Montserrat', 'Montserrat Alternates', 'Montserrat Subrayada', 'Moul', 'Moulpali', 'Mountains of Christmas', 'Mouse Memoirs', 'Mr Bedfort', 'Mr Dafoe', 'Mr De Haviland', 'Mrs Saint Delafield', 'Mrs Sheppards', 'Mukta', 'Mukta Mahee', 'Mukta Malar', 'Mukta Vaani', 'Muli', 'Mystery Quest', 'NTR', 'Nanum Brush Script', 'Nanum Gothic', 'Nanum Gothic Coding', 'Nanum Myeongjo', 'Nanum Pen Script', 'Neucha', 'Neuton', 'New Rocker', 'News Cycle', 'Niconne', 'Niramit', 'Nixie One', 'Nobile', 'Nokora', 'Norican', 'Nosifer', 'Notable', 'Nothing You Could Do', 'Noticia Text', 'Noto Sans', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Serif', 'Noto Serif JP', 'Noto Serif KR', 'Noto Serif SC', 'Noto Serif TC', 'Nova Cut', 'Nova Flat', 'Nova Mono', 'Nova Oval', 'Nova Round', 'Nova Script', 'Nova Slim', 'Nova Square', 'Numans', 'Nunito', 'Nunito Sans', 'Odor Mean Chey', 'Offside', 'Old Standard TT', 'Oldenburg', 'Oleo Script', 'Oleo Script Swash Caps', 'Open Sans', 'Open Sans Condensed', 'Oranienbaum', 'Orbitron', 'Oregano', 'Orienta', 'Original Surfer', 'Oswald', 'Over the Rainbow', 'Overlock', 'Overlock SC', 'Overpass', 'Overpass Mono', 'Ovo', 'Oxygen', 'Oxygen Mono', 'PT Mono', 'PT Sans', 'PT Sans Caption', 'PT Sans Narrow', 'PT Serif', 'PT Serif Caption', 'Pacifico', 'Padauk', 'Palanquin', 'Palanquin Dark', 'Pangolin', 'Paprika', 'Parisienne', 'Passero One', 'Passion One', 'Pathway Gothic One', 'Patrick Hand', 'Patrick Hand SC', 'Pattaya', 'Patua One', 'Pavanam', 'Paytone One', 'Peddana', 'Peralta', 'Permanent Marker', 'Petit Formal Script', 'Petrona', 'Philosopher', 'Piedra', 'Pinyon Script', 'Pirata One', 'Plaster', 'Play', 'Playball', 'Playfair Display', 'Playfair Display SC', 'Podkova', 'Poiret One', 'Poller One', 'Poly', 'Pompiere', 'Pontano Sans', 'Poor Story', 'Poppins', 'Port Lligat Sans', 'Port Lligat Slab', 'Pragati Narrow', 'Prata', 'Preahvihear', 'Press Start 2P', 'Pridi', 'Princess Sofia', 'Prociono', 'Prompt', 'Prosto One', 'Proza Libre', 'Puritan', 'Purple Purse', 'Quando', 'Quantico', 'Quattrocento', 'Quattrocento Sans', 'Questrial', 'Quicksand', 'Quintessential', 'Qwigley', 'Racing Sans One', 'Radley', 'Rajdhani', 'Rakkas', 'Raleway', 'Raleway Dots', 'Ramabhadra', 'Ramaraja', 'Rambla', 'Rammetto One', 'Ranchers', 'Rancho', 'Ranga', 'Rasa', 'Rationale', 'Ravi Prakash', 'Redressed', 'Reem Kufi', 'Reenie Beanie', 'Revalia', 'Rhodium Libre', 'Ribeye', 'Ribeye Marrow', 'Righteous', 'Risque', 'Roboto', 'Roboto Condensed', 'Roboto Mono', 'Roboto Slab', 'Rochester', 'Rock Salt', 'Rokkitt', 'Romanesco', 'Ropa Sans', 'Rosario', 'Rosarivo', 'Rouge Script', 'Rozha One', 'Rubik', 'Rubik Mono One', 'Ruda', 'Rufina', 'Ruge Boogie', 'Ruluko', 'Rum Raisin', 'Ruslan Display', 'Russo One', 'Ruthie', 'Rye', 'Sacramento', 'Sahitya', 'Sail', 'Saira', 'Saira Condensed', 'Saira Extra Condensed', 'Saira Semi Condensed', 'Salsa', 'Sanchez', 'Sancreek', 'Sansita', 'Sarabun', 'Sarala', 'Sarina', 'Sarpanch', 'Satisfy', 'Sawarabi Gothic', 'Sawarabi Mincho', 'Scada', 'Scheherazade', 'Schoolbell', 'Scope One', 'Seaweed Script', 'Secular One', 'Sedgwick Ave', 'Sedgwick Ave Display', 'Sevillana', 'Seymour One', 'Shadows Into Light', 'Shadows Into Light Two', 'Shanti', 'Share', 'Share Tech', 'Share Tech Mono', 'Shojumaru', 'Short Stack', 'Shrikhand', 'Siemreap', 'Sigmar One', 'Signika', 'Signika Negative', 'Simonetta', 'Sintony', 'Sirin Stencil', 'Six Caps', 'Skranji', 'Slabo 13px', 'Slabo 27px', 'Slackey', 'Smokum', 'Smythe', 'Sniglet', 'Snippet', 'Snowburst One', 'Sofadi One', 'Sofia', 'Song Myung', 'Sonsie One', 'Sorts Mill Goudy', 'Source Code Pro', 'Source Sans Pro', 'Source Serif Pro', 'Space Mono', 'Special Elite', 'Spectral', 'Spectral SC', 'Spicy Rice', 'Spinnaker', 'Spirax', 'Squada One', 'Sree Krushnadevaraya', 'Sriracha', 'Srisakdi', 'Staatliches', 'Stalemate', 'Stalinist One', 'Stardos Stencil', 'Stint Ultra Condensed', 'Stint Ultra Expanded', 'Stoke', 'Strait', 'Stylish', 'Sue Ellen Francisco', 'Suez One', 'Sumana', 'Sunflower', 'Sunshiney', 'Supermercado One', 'Sura', 'Suranna', 'Suravaram', 'Suwannaphum', 'Swanky and Moo Moo', 'Syncopate', 'Tajawal', 'Tangerine', 'Taprom', 'Tauri', 'Taviraj', 'Teko', 'Telex', 'Tenali Ramakrishna', 'Tenor Sans', 'Text Me One', 'Thasadith', 'The Girl Next Door', 'Tienne', 'Tillana', 'Timmana', 'Tinos', 'Titan One', 'Titillium Web', 'Trade Winds', 'Trirong', 'Trocchi', 'Trochut', 'Trykker', 'Tulpen One', 'Ubuntu', 'Ubuntu Condensed', 'Ubuntu Mono', 'Ultra', 'Uncial Antiqua', 'Underdog', 'Unica One', 'UnifrakturCook', 'UnifrakturMaguntia', 'Unkempt', 'Unlock', 'Unna', 'VT323', 'Vampiro One', 'Varela', 'Varela Round', 'Vast Shadow', 'Vesper Libre', 'Vibur', 'Vidaloka', 'Viga', 'Voces', 'Volkhov', 'Vollkorn', 'Vollkorn SC', 'Voltaire', 'Waiting for the Sunrise', 'Wallpoet', 'Walter Turncoat', 'Warnes', 'Wellfleet', 'Wendy One', 'Wire One', 'Work Sans', 'Yanone Kaffeesatz', 'Yantramanav', 'Yatra One', 'Yellowtail', 'Yeon Sung', 'Yeseva One', 'Yesteryear', 'Yrsa', 'ZCOOL KuaiLe', 'ZCOOL QingKe HuangYou', 'ZCOOL XiaoWei', 'Zeyada', 'Zilla Slab', 'Zilla Slab Highlight']
2203
}
2204
169
pagelayer.$('.pagelayer-elpd-header').hide();
170
pagelayer.$('.pagelayer-shortcodes').show();
171
pagelayer.$('.pagelayer-logo').show();
172
+ pagelayer.$('.pagelayer-history').hide();
173
pagelayer.$('.pagelayer-elpd-body').removeAttr('pagelayer-element-id').empty();
174
pagelayer_active = {};
175
});
202
// Open the properties
203
function pagelayer_elpd_open(jEle){
204
205
+ // Set pagelayer history FALSE
206
+ pagelayer.history_action = false;
207
+
208
// Set the position of the element and show
209
//pagelayer_elpd.css('left', pagelayer_elpd_pos[0]);
210
//pagelayer_elpd.css('top', pagelayer_elpd_pos[1]);
212
pagelayer.$('.pagelayer-elpd-header').show();
213
pagelayer.$('.pagelayer-logo').hide();
214
pagelayer.$('.pagelayer-shortcodes').hide();
215
+ pagelayer.$('.pagelayer-history').hide();
216
217
// The property holder
218
var holder = pagelayer.$('.pagelayer-elpd-body');
226
// Set the header
227
pagelayer.$('.pagelayer-elpd-title').html('Edit '+pagelayer_shortcodes[el.tag]['name']);
228
229
+ // Set pagelayer history TRUE
230
+ pagelayer.history_action = true;
231
+
232
};
233
234
// Show the properties window
1608
1609
pagelayer_icons = $.map($.map(document.styleSheets, function(s){
1610
1611
+ if(s.href && s.href.match(/font\-awesome\.min\.css/)){
1612
return s;
1613
}
1614
return null;
1794
var label_param = prop['item_label']['param'] || '';
1795
var title = pagelayer_get_att(jEle, label_param) || prop['item_label']['default'];
1796
1797
+ // We need to get the correct value for select based params which are the label
1798
+ var child_props = pagelayer_shortcodes[prop.sc];
1799
+ for(var section in child_props){
1800
+ for(var _param in child_props[section]){
1801
+ if(child_props[section][_param]['type'] == 'select'){
1802
+ if(title in child_props[section][_param]['list']){
1803
+ title = child_props[section][_param]['list'][title];
1804
+ }
1805
+ }
1806
+ }
1807
+ }
1808
+
1809
// Create the HTML
1810
var holder = jQuery('<div class="pagelayer-elp-group-item" pagelayer-group-item-id="'+id+'">'+
1811
'<div class="pagelayer-elp-group-item-head">'+
2213
val = prop.c['val'].split(',');
2214
}
2215
2216
+ var select = { 'style' : ['', 'Normal', 'Italic', 'Oblique'],
2217
'weight' : ['', '100', '200', '300', '400', '500', '600', '700', '800', '900'],
2218
+ 'variant' : ['', 'Normal', 'Small-caps'],
2219
+ 'deco-line' : ['', 'None', 'Overline', 'Line-through', 'Underline', 'Underline Overline'],
2220
+ 'deco-style' : ['Solid', 'Double', 'Dotted', 'Dashed', 'Wavy'],
2221
+ 'transform' : ['', 'Capitalize', 'Uppercase', 'Lowercase'],
2222
'fonts' : ['', 'ABeeZee', 'Abel', 'Abhaya Libre', 'Abril Fatface', 'Aclonica', 'Acme', 'Actor', 'Adamina', 'Advent Pro', 'Aguafina Script', 'Akronim', 'Aladin', 'Aldrich', 'Alef', 'Alegreya', 'Alegreya SC', 'Alegreya Sans', 'Alegreya Sans SC', 'Aleo', 'Alex Brush', 'Alfa Slab One', 'Alice', 'Alike', 'Alike Angular', 'Allan', 'Allerta', 'Allerta Stencil', 'Allura', 'Almendra', 'Almendra Display', 'Almendra SC', 'Amarante', 'Amaranth', 'Amatic SC', 'Amethysta', 'Amiko', 'Amiri', 'Amita', 'Anaheim', 'Andada', 'Andika', 'Angkor', 'Annie Use Your Telescope', 'Anonymous Pro', 'Antic', 'Antic Didone', 'Antic Slab', 'Anton', 'Arapey', 'Arbutus', 'Arbutus Slab', 'Architects Daughter', 'Archivo', 'Archivo Black', 'Archivo Narrow', 'Aref Ruqaa', 'Arima Madurai', 'Arimo', 'Arizonia', 'Armata', 'Arsenal', 'Artifika', 'Arvo', 'Arya', 'Asap', 'Asap Condensed', 'Asar', 'Asset', 'Assistant', 'Astloch', 'Asul', 'Athiti', 'Atma', 'Atomic Age', 'Aubrey', 'Audiowide', 'Autour One', 'Average', 'Average Sans', 'Averia Gruesa Libre', 'Averia Libre', 'Averia Sans Libre', 'Averia Serif Libre', 'B612', 'B612 Mono', 'Bad Script', 'Bahiana', 'Bai Jamjuree', 'Baloo', 'Baloo Bhai', 'Baloo Bhaijaan', 'Baloo Bhaina', 'Baloo Chettan', 'Baloo Da', 'Baloo Paaji', 'Baloo Tamma', 'Baloo Tammudu', 'Baloo Thambi', 'Balthazar', 'Bangers', 'Barlow', 'Barlow Condensed', 'Barlow Semi Condensed', 'Barrio', 'Basic', 'Battambang', 'Baumans', 'Bayon', 'Belgrano', 'Bellefair', 'Belleza', 'BenchNine', 'Bentham', 'Berkshire Swash', 'Bevan', 'Bigelow Rules', 'Bigshot One', 'Bilbo', 'Bilbo Swash Caps', 'BioRhyme', 'BioRhyme Expanded', 'Biryani', 'Bitter', 'Black And White Picture', 'Black Han Sans', 'Black Ops One', 'Bokor', 'Bonbon', 'Boogaloo', 'Bowlby One', 'Bowlby One SC', 'Brawler', 'Bree Serif', 'Bubblegum Sans', 'Bubbler One', 'Buda', 'Buenard', 'Bungee', 'Bungee Hairline', 'Bungee Inline', 'Bungee Outline', 'Bungee Shade', 'Butcherman', 'Butterfly Kids', 'Cabin', 'Cabin Condensed', 'Cabin Sketch', 'Caesar Dressing', 'Cagliostro', 'Cairo', 'Calligraffitti', 'Cambay', 'Cambo', 'Candal', 'Cantarell', 'Cantata One', 'Cantora One', 'Capriola', 'Cardo', 'Carme', 'Carrois Gothic', 'Carrois Gothic SC', 'Carter One', 'Catamaran', 'Caudex', 'Caveat', 'Caveat Brush', 'Cedarville Cursive', 'Ceviche One', 'Chakra Petch', 'Changa', 'Changa One', 'Chango', 'Charm', 'Charmonman', 'Chathura', 'Chau Philomene One', 'Chela One', 'Chelsea Market', 'Chenla', 'Cherry Cream Soda', 'Cherry Swash', 'Chewy', 'Chicle', 'Chivo', 'Chonburi', 'Cinzel', 'Cinzel Decorative', 'Clicker Script', 'Coda', 'Coda Caption', 'Codystar', 'Coiny', 'Combo', 'Comfortaa', 'Coming Soon', 'Concert One', 'Condiment', 'Content', 'Contrail One', 'Convergence', 'Cookie', 'Copse', 'Corben', 'Cormorant', 'Cormorant Garamond', 'Cormorant Infant', 'Cormorant SC', 'Cormorant Unicase', 'Cormorant Upright', 'Courgette', 'Cousine', 'Coustard', 'Covered By Your Grace', 'Crafty Girls', 'Creepster', 'Crete Round', 'Crimson Text', 'Croissant One', 'Crushed', 'Cuprum', 'Cute Font', 'Cutive', 'Cutive Mono', 'Damion', 'Dancing Script', 'Dangrek', 'David Libre', 'Dawning of a New Day', 'Days One', 'Dekko', 'Delius', 'Delius Swash Caps', 'Delius Unicase', 'Della Respira', 'Denk One', 'Devonshire', 'Dhurjati', 'Didact Gothic', 'Diplomata', 'Diplomata SC', 'Do Hyeon', 'Dokdo', 'Domine', 'Donegal One', 'Doppio One', 'Dorsa', 'Dosis', 'Dr Sugiyama', 'Duru Sans', 'Dynalight', 'EB Garamond', 'Eagle Lake', 'East Sea Dokdo', 'Eater', 'Economica', 'Eczar', 'El Messiri', 'Electrolize', 'Elsie', 'Elsie Swash Caps', 'Emblema One', 'Emilys Candy', 'Encode Sans', 'Encode Sans Condensed', 'Encode Sans Expanded', 'Encode Sans Semi Condensed', 'Encode Sans Semi Expanded', 'Engagement', 'Englebert', 'Enriqueta', 'Erica One', 'Esteban', 'Euphoria Script', 'Ewert', 'Exo', 'Exo 2', 'Expletus Sans', 'Fahkwang', 'Fanwood Text', 'Farsan', 'Fascinate', 'Fascinate Inline', 'Faster One', 'Fasthand', 'Fauna One', 'Faustina', 'Federant', 'Federo', 'Felipa', 'Fenix', 'Finger Paint', 'Fira Mono', 'Fira Sans', 'Fira Sans Condensed', 'Fira Sans Extra Condensed', 'Fjalla One', 'Fjord One', 'Flamenco', 'Flavors', 'Fondamento', 'Fontdiner Swanky', 'Forum', 'Francois One', 'Frank Ruhl Libre', 'Freckle Face', 'Fredericka the Great', 'Fredoka One', 'Freehand', 'Fresca', 'Frijole', 'Fruktur', 'Fugaz One', 'GFS Didot', 'GFS Neohellenic', 'Gabriela', 'Gaegu', 'Gafata', 'Galada', 'Galdeano', 'Galindo', 'Gamja Flower', 'Gentium Basic', 'Gentium Book Basic', 'Geo', 'Geostar', 'Geostar Fill', 'Germania One', 'Gidugu', 'Gilda Display', 'Give You Glory', 'Glass Antiqua', 'Glegoo', 'Gloria Hallelujah', 'Goblin One', 'Gochi Hand', 'Gorditas', 'Gothic A1', 'Goudy Bookletter 1911', 'Graduate', 'Grand Hotel', 'Gravitas One', 'Great Vibes', 'Griffy', 'Gruppo', 'Gudea', 'Gugi', 'Gurajada', 'Habibi', 'Halant', 'Hammersmith One', 'Hanalei', 'Hanalei Fill', 'Handlee', 'Hanuman', 'Happy Monkey', 'Harmattan', 'Headland One', 'Heebo', 'Henny Penny', 'Herr Von Muellerhoff', 'Hi Melody', 'Hind', 'Hind Guntur', 'Hind Madurai', 'Hind Siliguri', 'Hind Vadodara', 'Holtwood One SC', 'Homemade Apple', 'Homenaje', 'IBM Plex Mono', 'IBM Plex Sans', 'IBM Plex Sans Condensed', 'IBM Plex Serif', 'IM Fell DW Pica', 'IM Fell DW Pica SC', 'IM Fell Double Pica', 'IM Fell Double Pica SC', 'IM Fell English', 'IM Fell English SC', 'IM Fell French Canon', 'IM Fell French Canon SC', 'IM Fell Great Primer', 'IM Fell Great Primer SC', 'Iceberg', 'Iceland', 'Imprima', 'Inconsolata', 'Inder', 'Indie Flower', 'Inika', 'Inknut Antiqua', 'Irish Grover', 'Istok Web', 'Italiana', 'Italianno', 'Itim', 'Jacques Francois', 'Jacques Francois Shadow', 'Jaldi', 'Jim Nightshade', 'Jockey One', 'Jolly Lodger', 'Jomhuria', 'Josefin Sans', 'Josefin Slab', 'Joti One', 'Jua', 'Judson', 'Julee', 'Julius Sans One', 'Junge', 'Jura', 'Just Another Hand', 'Just Me Again Down Here', 'K2D', 'Kadwa', 'Kalam', 'Kameron', 'Kanit', 'Kantumruy', 'Karla', 'Karma', 'Katibeh', 'Kaushan Script', 'Kavivanar', 'Kavoon', 'Kdam Thmor', 'Keania One', 'Kelly Slab', 'Kenia', 'Khand', 'Khmer', 'Khula', 'Kirang Haerang', 'Kite One', 'Knewave', 'KoHo', 'Kodchasan', 'Kosugi', 'Kosugi Maru', 'Kotta One', 'Koulen', 'Kranky', 'Kreon', 'Kristi', 'Krona One', 'Krub', 'Kumar One', 'Kumar One Outline', 'Kurale', 'La Belle Aurore', 'Laila', 'Lakki Reddy', 'Lalezar', 'Lancelot', 'Lateef', 'Lato', 'League Script', 'Leckerli One', 'Ledger', 'Lekton', 'Lemon', 'Lemonada', 'Libre Barcode 128', 'Libre Barcode 128 Text', 'Libre Barcode 39', 'Libre Barcode 39 Extended', 'Libre Barcode 39 Extended Text', 'Libre Barcode 39 Text', 'Libre Baskerville', 'Libre Franklin', 'Life Savers', 'Lilita One', 'Lily Script One', 'Limelight', 'Linden Hill', 'Lobster', 'Lobster Two', 'Londrina Outline', 'Londrina Shadow', 'Londrina Sketch', 'Londrina Solid', 'Lora', 'Love Ya Like A Sister', 'Loved by the King', 'Lovers Quarrel', 'Luckiest Guy', 'Lusitana', 'Lustria', 'M PLUS 1p', 'M PLUS Rounded 1c', 'Macondo', 'Macondo Swash Caps', 'Mada', 'Magra', 'Maiden Orange', 'Maitree', 'Major Mono Display', 'Mako', 'Mali', 'Mallanna', 'Mandali', 'Manuale', 'Marcellus', 'Marcellus SC', 'Marck Script', 'Margarine', 'Markazi Text', 'Marko One', 'Marmelad', 'Martel', 'Martel Sans', 'Marvel', 'Mate', 'Mate SC', 'Maven Pro', 'McLaren', 'Meddon', 'MedievalSharp', 'Medula One', 'Meera Inimai', 'Megrim', 'Meie Script', 'Merienda', 'Merienda One', 'Merriweather', 'Merriweather Sans', 'Metal', 'Metal Mania', 'Metamorphous', 'Metrophobic', 'Michroma', 'Milonga', 'Miltonian', 'Miltonian Tattoo', 'Mina', 'Miniver', 'Miriam Libre', 'Mirza', 'Miss Fajardose', 'Mitr', 'Modak', 'Modern Antiqua', 'Mogra', 'Molengo', 'Molle', 'Monda', 'Monofett', 'Monoton', 'Monsieur La Doulaise', 'Montaga', 'Montez', 'Montserrat', 'Montserrat Alternates', 'Montserrat Subrayada', 'Moul', 'Moulpali', 'Mountains of Christmas', 'Mouse Memoirs', 'Mr Bedfort', 'Mr Dafoe', 'Mr De Haviland', 'Mrs Saint Delafield', 'Mrs Sheppards', 'Mukta', 'Mukta Mahee', 'Mukta Malar', 'Mukta Vaani', 'Muli', 'Mystery Quest', 'NTR', 'Nanum Brush Script', 'Nanum Gothic', 'Nanum Gothic Coding', 'Nanum Myeongjo', 'Nanum Pen Script', 'Neucha', 'Neuton', 'New Rocker', 'News Cycle', 'Niconne', 'Niramit', 'Nixie One', 'Nobile', 'Nokora', 'Norican', 'Nosifer', 'Notable', 'Nothing You Could Do', 'Noticia Text', 'Noto Sans', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Serif', 'Noto Serif JP', 'Noto Serif KR', 'Noto Serif SC', 'Noto Serif TC', 'Nova Cut', 'Nova Flat', 'Nova Mono', 'Nova Oval', 'Nova Round', 'Nova Script', 'Nova Slim', 'Nova Square', 'Numans', 'Nunito', 'Nunito Sans', 'Odor Mean Chey', 'Offside', 'Old Standard TT', 'Oldenburg', 'Oleo Script', 'Oleo Script Swash Caps', 'Open Sans', 'Open Sans Condensed', 'Oranienbaum', 'Orbitron', 'Oregano', 'Orienta', 'Original Surfer', 'Oswald', 'Over the Rainbow', 'Overlock', 'Overlock SC', 'Overpass', 'Overpass Mono', 'Ovo', 'Oxygen', 'Oxygen Mono', 'PT Mono', 'PT Sans', 'PT Sans Caption', 'PT Sans Narrow', 'PT Serif', 'PT Serif Caption', 'Pacifico', 'Padauk', 'Palanquin', 'Palanquin Dark', 'Pangolin', 'Paprika', 'Parisienne', 'Passero One', 'Passion One', 'Pathway Gothic One', 'Patrick Hand', 'Patrick Hand SC', 'Pattaya', 'Patua One', 'Pavanam', 'Paytone One', 'Peddana', 'Peralta', 'Permanent Marker', 'Petit Formal Script', 'Petrona', 'Philosopher', 'Piedra', 'Pinyon Script', 'Pirata One', 'Plaster', 'Play', 'Playball', 'Playfair Display', 'Playfair Display SC', 'Podkova', 'Poiret One', 'Poller One', 'Poly', 'Pompiere', 'Pontano Sans', 'Poor Story', 'Poppins', 'Port Lligat Sans', 'Port Lligat Slab', 'Pragati Narrow', 'Prata', 'Preahvihear', 'Press Start 2P', 'Pridi', 'Princess Sofia', 'Prociono', 'Prompt', 'Prosto One', 'Proza Libre', 'Puritan', 'Purple Purse', 'Quando', 'Quantico', 'Quattrocento', 'Quattrocento Sans', 'Questrial', 'Quicksand', 'Quintessential', 'Qwigley', 'Racing Sans One', 'Radley', 'Rajdhani', 'Rakkas', 'Raleway', 'Raleway Dots', 'Ramabhadra', 'Ramaraja', 'Rambla', 'Rammetto One', 'Ranchers', 'Rancho', 'Ranga', 'Rasa', 'Rationale', 'Ravi Prakash', 'Redressed', 'Reem Kufi', 'Reenie Beanie', 'Revalia', 'Rhodium Libre', 'Ribeye', 'Ribeye Marrow', 'Righteous', 'Risque', 'Roboto', 'Roboto Condensed', 'Roboto Mono', 'Roboto Slab', 'Rochester', 'Rock Salt', 'Rokkitt', 'Romanesco', 'Ropa Sans', 'Rosario', 'Rosarivo', 'Rouge Script', 'Rozha One', 'Rubik', 'Rubik Mono One', 'Ruda', 'Rufina', 'Ruge Boogie', 'Ruluko', 'Rum Raisin', 'Ruslan Display', 'Russo One', 'Ruthie', 'Rye', 'Sacramento', 'Sahitya', 'Sail', 'Saira', 'Saira Condensed', 'Saira Extra Condensed', 'Saira Semi Condensed', 'Salsa', 'Sanchez', 'Sancreek', 'Sansita', 'Sarabun', 'Sarala', 'Sarina', 'Sarpanch', 'Satisfy', 'Sawarabi Gothic', 'Sawarabi Mincho', 'Scada', 'Scheherazade', 'Schoolbell', 'Scope One', 'Seaweed Script', 'Secular One', 'Sedgwick Ave', 'Sedgwick Ave Display', 'Sevillana', 'Seymour One', 'Shadows Into Light', 'Shadows Into Light Two', 'Shanti', 'Share', 'Share Tech', 'Share Tech Mono', 'Shojumaru', 'Short Stack', 'Shrikhand', 'Siemreap', 'Sigmar One', 'Signika', 'Signika Negative', 'Simonetta', 'Sintony', 'Sirin Stencil', 'Six Caps', 'Skranji', 'Slabo 13px', 'Slabo 27px', 'Slackey', 'Smokum', 'Smythe', 'Sniglet', 'Snippet', 'Snowburst One', 'Sofadi One', 'Sofia', 'Song Myung', 'Sonsie One', 'Sorts Mill Goudy', 'Source Code Pro', 'Source Sans Pro', 'Source Serif Pro', 'Space Mono', 'Special Elite', 'Spectral', 'Spectral SC', 'Spicy Rice', 'Spinnaker', 'Spirax', 'Squada One', 'Sree Krushnadevaraya', 'Sriracha', 'Srisakdi', 'Staatliches', 'Stalemate', 'Stalinist One', 'Stardos Stencil', 'Stint Ultra Condensed', 'Stint Ultra Expanded', 'Stoke', 'Strait', 'Stylish', 'Sue Ellen Francisco', 'Suez One', 'Sumana', 'Sunflower', 'Sunshiney', 'Supermercado One', 'Sura', 'Suranna', 'Suravaram', 'Suwannaphum', 'Swanky and Moo Moo', 'Syncopate', 'Tajawal', 'Tangerine', 'Taprom', 'Tauri', 'Taviraj', 'Teko', 'Telex', 'Tenali Ramakrishna', 'Tenor Sans', 'Text Me One', 'Thasadith', 'The Girl Next Door', 'Tienne', 'Tillana', 'Timmana', 'Tinos', 'Titan One', 'Titillium Web', 'Trade Winds', 'Trirong', 'Trocchi', 'Trochut', 'Trykker', 'Tulpen One', 'Ubuntu', 'Ubuntu Condensed', 'Ubuntu Mono', 'Ultra', 'Uncial Antiqua', 'Underdog', 'Unica One', 'UnifrakturCook', 'UnifrakturMaguntia', 'Unkempt', 'Unlock', 'Unna', 'VT323', 'Vampiro One', 'Varela', 'Varela Round', 'Vast Shadow', 'Vesper Libre', 'Vibur', 'Vidaloka', 'Viga', 'Voces', 'Volkhov', 'Vollkorn', 'Vollkorn SC', 'Voltaire', 'Waiting for the Sunrise', 'Wallpoet', 'Walter Turncoat', 'Warnes', 'Wellfleet', 'Wendy One', 'Wire One', 'Work Sans', 'Yanone Kaffeesatz', 'Yantramanav', 'Yatra One', 'Yellowtail', 'Yeon Sung', 'Yeseva One', 'Yesteryear', 'Yrsa', 'ZCOOL KuaiLe', 'ZCOOL QingKe HuangYou', 'ZCOOL XiaoWei', 'Zeyada', 'Zilla Slab', 'Zilla Slab Highlight']
2223
}
2224
languages/en.json CHANGED
@@ -236,11 +236,11 @@
236
"ribbon_text_color": "Color",
237
"currency_style": "Currency",
238
"price_style": "Price",
239
- "title_style": "Title",
240
"period_style": "Period",
241
"header_style": "Header",
242
"feature_style": "Feature",
243
- "button_style": "Button",
244
"ribbon_style": "Ribbon",
245
"label": "Label",
246
"customize_style_fields": "Customize Style for Fields",
@@ -882,7 +882,7 @@
882
"testimonial_cite_title_size_desc": "Enter Author Designation",
883
"testimonial_url_label": "Link",
884
"testimonial_url_desc": "Author URL",
885
- "image_position": "Position",
886
"aside": "Aside",
887
"testimonial_alignment_label": "Alignment",
888
"testimonial_border_color_label": "Color",
@@ -976,5 +976,87 @@
976
"content_pos" : "Content V-Align",
977
"color_hover" : "Color Hover",
978
"col_width" : "Column Width",
979
- "link_settings" : "Link"
980
}
236
"ribbon_text_color": "Color",
237
"currency_style": "Currency",
238
"price_style": "Price",
239
+ "title_style": "Title Style",
240
"period_style": "Period",
241
"header_style": "Header",
242
"feature_style": "Feature",
243
+ "button_style": "Button Style",
244
"ribbon_style": "Ribbon",
245
"label": "Label",
246
"customize_style_fields": "Customize Style for Fields",
882
"testimonial_cite_title_size_desc": "Enter Author Designation",
883
"testimonial_url_label": "Link",
884
"testimonial_url_desc": "Author URL",
885
+ "position": "Position",
886
"aside": "Aside",
887
"testimonial_alignment_label": "Alignment",
888
"testimonial_border_color_label": "Color",
976
"content_pos" : "Content V-Align",
977
"color_hover" : "Color Hover",
978
"col_width" : "Column Width",
979
+ "link_settings" : "Link",
980
+ "search_form" : "Search Form",
981
+ "form_type" : "Form Type",
982
+ "button_type" : "Button Type",
983
+ "button_text" : "Button Text",
984
+ "button_icon" : "Button Icon",
985
+ "font_size" : "Font Size",
986
+ "post_nav" : "Post Navigation",
987
+ "input_style" : "Input Style",
988
+ "prev_label" : "Previous Label",
989
+ "next_label" : "Next Label",
990
+ "arrows_list" : "Arrows List",
991
+ "in_same_term" : "Same Taxonomy Term",
992
+ "Post_taxonomy" : "Post Taxonomy",
993
+ "post_type" : "Post Type",
994
+ "post_commment" : "Post Comments",
995
+ "theme_commment" : "Theme Comments",
996
+ "post_info" : "Post Info",
997
+ "post_info_list" : "Post Info List",
998
+ "post_list" : "Post List",
999
+ "post_title" : "Post Title",
1000
+ "classic" : "Classic",
1001
+ "full_screen" : "Full Screen",
1002
+ "placeholder" : "Place Holder",
1003
+ "focus" : "Focus",
1004
+ "width" : "Width",
1005
+ "separator" : "Separator",
1006
+ "skin" : "Skin",
1007
+ "current" : "Current",
1008
+ "author" : "Author",
1009
+ "date" : "Date",
1010
+ "time" : "Time",
1011
+ "comments" : "Comments",
1012
+ "terms" : "Terms",
1013
+ "date_format" : "Date Format",
1014
+ "time_format" : "Time Format",
1015
+ "custom_date_format" : "Custom Date Format",
1016
+ "custom_time_format" : "Custom Time Format",
1017
+ "before" : "Before",
1018
+ "custom_link" : "Custom Link",
1019
+ "primary_menu" : "Primary Menu",
1020
+ "select_menu" : "Select Menu",
1021
+ "icon_list" : "Icon List",
1022
+ "dropdown" : "Dropdown",
1023
+ "pointer" : "Pointer",
1024
+ "underline" : "Underline",
1025
+ "overline" : "Overline",
1026
+ "double_line" : "Double Line",
1027
+ "toggle_style" : "Toggle Style",
1028
+ "submenu_style" : "Submenu Style",
1029
+ "menu_style" : "Menu Style",
1030
+ "left_margin" : "Left Margin",
1031
+ "vertical_padding" : "Vertical Padding",
1032
+ "horizontal_padding" : "Horizontal Padding",
1033
+ "plus" : "Plus",
1034
+ "arrow_down" : "Arrow Down",
1035
+ "caret_down" : "Caret Down",
1036
+ "sbmenu_indicator" : "Submenu Indicator",
1037
+ "lower_alpha" : "Lower Alpha",
1038
+ "lower_roman" : "Lower Roman",
1039
+ "upper_roman" : "Upper Roman",
1040
+ "upper_alpha" : "Upper Alpha",
1041
+ "inherit" : "Inherit",
1042
+ "decimal" : "Decimal",
1043
+ "list_style" : "List Style",
1044
+ "slide" : "Slide",
1045
+ "drop_in" : "Drop In",
1046
+ "label_style" : "Label Style",
1047
+ "separator_style" : "Separator Style",
1048
+ "theme_tamplate" : "Theme Template",
1049
+ "Drop_out" : "Drop Out",
1050
+ "no_tag" : "No Tag",
1051
+ "no_widget_class" : "No Widget Class",
1052
+ "invalid_post_id" : "Invalid post ID",
1053
+ "post_update_err" : "Unable to update the Post content for some reason",
1054
+ "post_update_success" : "Post Content was updated successfully!",
1055
+ "no_widget_area" : "No such Widget Area !",
1056
+ "invalid_revision" : "Invalid revision",
1057
+ "rev_load_error" : "Unable to load the Post revision content for some reason",
1058
+ "rev_load_success" : "Post revision was loaded successfully!",
1059
+ "access_denied" : "Access denied.",
1060
+ "delete_rev_error" : "Can't delete this revision.",
1061
+ "delete_rev_success" : "Revision was deleted Successfully"
1062
}
main/ajax.php ADDED
@@ -0,0 +1,529 @@