1var style = new function () { 2 var base = this; 3 this.fonts = (typeof FONTS != 'undefined') ? FONTS : []; 4 var getPropertyValue = function(k,v) { 5 var checkRootPadding = style.checkBlockRootCSS('block-padding'); 6 var checkRootBackground = style.checkBlockRootCSS('block-background'); 7 8 switch(k) { 9 case 'background': 10 base.property.bg = v; 11 var colorRegex = /#[0-9A-Fa-f]{3,8}|rgba?\([^)]+\)/; 12 var match = v.match(colorRegex); 13 if(match) { 14 for (var i = 0; i < match.length; i++) { 15 if (match[i] !== 'transparent') { 16 base.property.bgColor = match[i]; 17 break; 18 } 19 } 20 } 21 break; 22 case 'background-color': 23 base.property.bgColor = v; 24 break; 25 case 'background-image': 26 base.property.bgUrl = v; 27 if( (v == '' || v == 'none') 28 && $(base.selector).length > 0 29 && typeof $(base.selector).css('background-image') != 'undefined' && $(base.selector).css('background-image') != 'none' 30 ) { 31 base.property.bgUrl = $(base.selector).css('background-image'); 32 } 33 break; 34 case 'background-repeat': 35 // base.property.bgRepeat = (!base.property.bgRepeat) ? 'no-repeat' : $(base.selector).css('background-repeat'); 36 if($(base.selector).attr('data-aosinfo')=="false" && $(base.selector).attr('data-parallax')=="true" && typeof v !='undefined' && v) base.property.bgRepeat = v; 37 else base.property.bgRepeat = $(base.selector).css('background-repeat'); 38 break; 39 case 'background-position': 40 // base.property.bgPosition = (!base.property.bgPosition || base.property.bgPosition=='0% 0%') ? 'center center' : $(base.selector).css('background-position'); 41 42 /* parallax on-off ê¸°ë¥ ì¶ê° ::: bootstrap-override.cssì [data-parallax="false"] css ì ì©ë¨ì ë°ë¼ ìì ë¨ ******/ 43 if($(base.selector).attr('data-aosinfo')=="false" && $(base.selector).attr('data-parallax')=="true" && typeof v !='undefined' && v) _bgposition = v; 44 else _bgposition = $(base.selector).css('background-position'); 45 //var _bgposition = (typeof v !='undefined' && v) ? v : $(base.selector).css('background-position'); 46 /*************************************************************************************************************/ 47 48 if( $.inArray(_bgposition,['left top','0% 0%','0% 0','0 0%','0px 0','0 0px','0px 0%','0% 0px','0% 0px','0px 0%','0px 0px','0 0']) > -1) _bgposition = 'left top'; 49 else if($.inArray(_bgposition,['center top','50% 0%','50% 0px','50% 0','top','center 0%','center 0px','center 0']) > -1) _bgposition = 'center top'; 50 else if($.inArray(_bgposition,['right top','100% 0%','100% 0px','100% 0']) > -1) _bgposition = 'right top'; 51 else if($.inArray(_bgposition,['left center','center left','left','0 50%','0px 50%','0% 50%','0% center','0px center','0 center','left 50%']) > -1) _bgposition = 'left center'; 52 else if($.inArray(_bgposition,['center center','center','50% 50%','center 50%','50% center','50%']) > -1) _bgposition = 'center center'; 53 else if($.inArray(_bgposition,['right center','center right','right','100% 50%','100% center','right 50%']) > -1) _bgposition = 'right center'; 54 else if($.inArray(_bgposition,['left bottom','bottom left','0% 100%','0px 100%','0 100%','left 100%','0% bottom','0px bottom','0 bottom']) > -1) _bgposition = 'left bottom'; 55 else if($.inArray(_bgposition,['center bottom','bottom center','bottom','50% 100%','center 100%','50% bottom']) > -1) _bgposition = 'center bottom'; 56 else if($.inArray(_bgposition,['right bottom','bottom right','100% 100%','right 100%','100% bottom']) > -1) _bgposition = 'right bottom'; 57 58 base.property.bgPosition = _bgposition; 59 break; 60 case 'background-attach': 61 base.property.bgAttach = $(base.selector).css('background-attach'); 62 break; 63 case 'background-size': 64 // base.property.bgSize = (!base.property.bgSize) ? 'cover' : $(base.selector).css('background-size'); 65 if($(base.selector).attr('data-aosinfo')=="false" && $(base.selector).attr('data-parallax')=="true" && typeof v !='undefined' && v) base.property.bgSize = v; 66 else base.property.bgSize = $(base.selector).css('background-size'); 67 //base.property.bgSize = (typeof v !='undefined' && v) ? v : $(base.selector).css('background-size'); 68 break; 69 // case 'background-attachment': 70 // base.property.bgAttachment = (base.property.bgSize == 'cover') ? 'fixed' : 'scroll'; 71 // break; 72 case 'fill': 73 base.property.fill = v; 74 break; 75 case 'color': 76 var _txcolor = Coloris.getColorInfo(v); 77 base.property.txColor = (_txcolor) ? _txcolor : ''; 78 break; 79 80 case 'padding': case 'padding-left': case 'padding-right': case 'padding-top': case 'padding-bottom': 81 if(!checkRootPadding) { 82 base.property.pdTop = ($(base.selector).css('padding-top')!=null) ? $(base.selector).css('padding-top').replace('px','') : ''; 83 base.property.pdBottom = ($(base.selector).css('padding-bottom')!=null) ? $(base.selector).css('padding-bottom').replace('px','') : ''; 84 base.property.pdLeft = ($(base.selector).css('padding-left')!=null) ? $(base.selector).css('padding-left').replace('px','') : ''; 85 base.property.pdRight = ($(base.selector).css('padding-right')!=null) ? $(base.selector).css('padding-right').replace('px','') : ''; 86 } 87 break; 88 89 case 'font-size': 90 var _txSize = $(base.selector).css('font-size'); 91 base.property.txSize = (_txSize!=null) ? $(base.selector).css('font-size').replace('px','') : (v ? v.replace('px','') : 0); 92 break; 93 94 case 'font-family': 95 if($(base.selector).length > 0 && typeof $(base.selector).css('font-family') != 'undefined') { 96 base.property.txName = ($(base.selector).css('font-family')!=null) ? $(base.selector).css('font-family').replace(/\'/gi,'').replace(/\"/gi,'') : ''; 97 } else { 98 base.property.txName = v.replace(/\'/gi,'').replace(/\"/gi,''); 99 } 100 break; 101 102 case 'text-align': 103 base.property.txAlign = (v) ? v : ''; 104 break; 105 106 case 'width': 107 base.property.width = (v == 'auto') ? v : parseInt(v); 108 break; 109 case 'height': 110 base.property.height = (v == 'auto') ? v : parseInt(v); 111 break; 112 113 case 'font-weight': 114 base.property.txWeight = /^(bold|normal|\d{3})$/.test(v) ? v : ''; 115 break; 116 case 'font-style': 117 base.property.txStyle = /^(normal|italic)$/.test(v) ? v : ''; 118 break; 119 case 'text-decoration': 120 base.property.txDecoration = /^(none|underline|overline|line-through)$/.test(v) ? v : ''; 121 break; 122 123 case 'font-weight': 124 base.property.txWeight = /^(bold|normal|\d{3})$/.test(v) ? v : ''; 125 break; 126 case 'font-style': 127 base.property.txStyle = /^(normal|italic)$/.test(v) ? v : ''; 128 break; 129 case 'text-decoration': 130 base.property.txDecoration = /^(none|underline|overline|line-through)$/.test(v) ? v : ''; 131 break; 132 133 case 'width': 134 base.property.width = (v == 'auto') ? v : parseInt(v); 135 break; 136 case 'height': 137 var _height = v; 138 base.property.height = (v == 'auto') ? v : parseInt(v); 139 break; 140 141 case 'border-width': 142 base.property.borderWidth = v; 143 break; 144 case 'border-style': 145 base.property.borderStyle = v; 146 break; 147 case 'border-color': 148 base.property.borderColor = v; 149 break; 150 151 case 'border': 152 case 'border-top': 153 case 'border-bottom': 154 case 'border-right': 155 case 'border-left': 156 var border_color = Coloris.getColorInfo(v,'org'); 157 if(Coloris.getColorRegex().exec(border_color) != null) { 158 base.property.borderColor = border_color; 159 160 if(typeof v != 'string') v = v.pop(); 161 var style_tmp = v.match(/\b(?:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)\b/); 162 base.property.borderStyle = (style_tmp && typeof style_tmp[0] != 'undefined' && style_tmp[0]) ? style_tmp[0] : 'none'; 163 164 // var style_tmp = v.match(/\b(\d+(?:\.\d+)?(px|em|rem|%)|thin|medium|thick)\b/); 165 var width_tmp = v.match(/\b(\d+(?:\.\d+)?(px)|thin|medium|thick)\b/), 166 width_tmp2 = (width_tmp && typeof width_tmp[0] != 'undefined' && width_tmp[0]) ? width_tmp[0] : '0px'; 167 base.property.borderWidth = (width_tmp2.indexOf('px')) ? width_tmp2.replace('px','') * 1 : width_tmp2; 168 } 169 break; 170 171 case 'border-radius': 172 base.property.borderRadius = v; 173 break; 174 175 default: 176 // root css 177 if(k.match(/^\-\-/) !== null) { 178 var _key = k.replace(/\-/gi,'_'); 179 base.property[_key] = v; 180 } 181 break; 182 183 } 184 185 }; 186 187 var getPropertyValueCustom = function(k,v,selector) { 188 if(typeof v == 'undefined') return; 189 190 switch(k) { 191 case 'line-height': 192 var _txlineheight = v, 193 _txfontsize = $(selector).css('font-size'); 194 _txfontsize = parseInt(_txfontsize.replace('px','')); 195 196 if(_txlineheight.indexOf('%') > -1) _txlineheight = _txlineheight.replace('%',''); 197 else if(_txlineheight.indexOf('px') > -1) _txlineheight = (parseFloat(Number(_txlineheight.replace('px','')).toFixed(3)) / _txfontsize) * 100; 198 else if(_txlineheight.indexOf('.') > -1) _txlineheight = parseFloat(Number(_txlineheight)) * 100; 199 200 base.property.txLineheight = parseInt(Number(_txlineheight)); 201 break; 202 case 'fill': 203 var _fill = v; 204 base.property.fill = _fill; 205 break; 206 default: 207 break; 208 } 209 }; 210 211 212 this.get = function(j,selector) { 213 this.property = { 214 undefined: true, 215 216 bg: '', 217 bgColor : '', 218 bgPosition : '', 219 bgRepeat : '', 220 bgUrl : '', 221 bgAttach : '', 222 bgSize : '', 223 bgAttachment: '', 224 225 borderColor: '', 226 borderWidth: 0, 227 borderStyle: 'none', 228 229 fill: '', 230 txColor : '', 231 txSize : 0, 232 txName : '', 233 txAlign: '', 234 235 pdTop : 0, 236 pdBottom : 0, 237 pdLeft : 0, 238 pdRight : 0 239 }; 240 if(typeof selector == 'undefined') return base.property; 241 242 selector = (selector[0] == '.') ? selector : '.' + selector; 243 this.selector = $(selector); 244 245 var bg_set = ['center center', 'no-repeat', 'cover']; 246 if(this.selector.find('.cl-menu-option').length > 0) bg_set[0] = 'center top'; 247 if(typeof j == 'undefined') return base.property; 248 if(typeof j['children'] == 'undefined') return base.property; 249 if(typeof j['children'][selector] != 'undefined') { 250 this.property.undefined = false;
251 252 var c = j['children'][selector]['attributes']; 253 $.each(c,function(k,v) { 254 getPropertyValue(k,v); 255 }); 256 257 if(!this.property.bgPosition) this.property.bgPosition = bg_set[0]; 258 if(!this.property.bgRepeat) this.property.bgRepeat = bg_set[1]; 259 if(!this.property.bgSize) this.property.bgSize = bg_set[2]; 260 if(!this.property.bgAttachment) this.property.bgAttachment = 'scroll'; 261 if(selector.indexOf('.figure.like > svg') > -1) { 262 getPropertyValueCustom('fill', j['children'][selector]['attributes']['fill'], selector); 263 } 264 } else { 265 this.property.undefined = true; 266 } 267 268 var checkMenu = (typeof selectEL != 'undefined' && selectEL == 'el-menu') ? true : false; 269 var checkFooter = (typeof selectEL != 'undefined' && selectEL == 'el-footer') ? true : false; 270 271 if(checkMenu || checkFooter) { 272 273 var checkSidebar = (checkMenu) ? $(selector).closest('header.navbar').hasClass('sidebar') : false; 274 var checkNavLineHeight = (checkMenu && selector == '.menu-'+SID+' ul.navbar-nav > li > a') ? true : false; 275 var checkLogoLineHeight = (checkMenu && selector == '.menu-'+SID+' #tpl-logo-text') ? true : false; 276 var checkLogoPadding = (checkMenu && selector == '.menu-'+SID+' .navbar-header') ? true : false; 277 278 var checkFLogoLineHeight= (checkFooter && selector == '.footer-'+SID+' #tpl-logo-text-footer') ? true : false; 279 280 if(checkLogoLineHeight || checkFLogoLineHeight) { 281 getPropertyValueCustom('line-height', j['children'][selector]['attributes']['line-height'], selector); 282 283 } else if(checkNavLineHeight || checkLogoPadding) { 284 285 if( typeof j["children"]['@media (min-width: 769px)'] != 'undefined' && 286 typeof j["children"]['@media (min-width: 769px)']["children"][selector] != 'undefined' 287 ) { 288 var children_c = j['children']['@media (min-width: 769px)']['children'][selector]['attributes']; 289 290 if(checkNavLineHeight) { 291 if(checkSidebar) { 292 if(typeof children_c['padding'] != 'undefined' && children_c['padding']) { 293 var nav_pd = {'top':0,'bottom':0,'left':0,'right':0}; 294 $.each(children_c,function(c_k,c_v) { 295 if(c_k == 'padding-top') nav_pd['top'] = c_v; 296 if(c_k == 'padding-bottom') nav_pd['bottom'] = c_v; 297 if(c_k == 'padding-left') nav_pd['left'] = c_v; 298 if(c_k == 'padding-right') nav_pd['right'] = c_v; 299 if(c_k == 'padding') { 300 var pd_arr = c_v.replace(/px/gi,'').split(' '); 301 nav_pd['top'] = (typeof pd_arr[0] != 'undefined' && pd_arr[0]) ? pd_arr[0] : 0; 302 nav_pd['right'] = (typeof pd_arr[1] != 'undefined' && pd_arr[1]) ? pd_arr[1] : nav_pd['top']; 303 nav_pd['bottom']= (typeof pd_arr[2] != 'undefined' && pd_arr[2]) ? pd_arr[2] : nav_pd['top']; 304 nav_pd['left'] = (typeof pd_arr[3] != 'undefined' && pd_arr[3]) ? pd_arr[3] : nav_pd['right']; 305 } 306 }); 307 308 var nav_f_s = $('.menu-'+SID+' ul.navbar-nav:not("#fixed-menu") > li > a').css('font-size'); 309 nav_f_s = parseInt(nav_f_s.replace('px','')); 310 311 var nav_f_h = nav_f_s * 1.6, 312 nav_pdTopBottom = parseInt(nav_pd['top']) + parseInt(nav_pd['bottom']), 313 nav_li_val = parseInt((nav_f_h + nav_pdTopBottom) / nav_f_s * 100); 314 315 this.property.pdTop = nav_pd['top']; 316 this.property.pdBottom = nav_pd['bottom']; 317 this.property.pdLeft = nav_pd['left']; 318 this.property.pdRight = nav_pd['right']; 319 this.property.txLineheight = nav_li_val; 320 } 321 } else { 322 if(typeof children_c['line-height'] != 'undefined' && children_c['line-height']) { 323 var li_val = children_c['line-height']; 324 if(li_val.indexOf('%') > -1) li_val.replace('%',''); 325 else if(li_val.indexOf('px') > -1) li_val.replace('px',''); 326 else if(li_val.indexOf('.') > -1) parseInt(li_val) * 100; 327 328 this.property.txLineheight = parseInt(li_val); 329 } 330 } 331 } 332 333 if(checkLogoPadding) { 334 $.each(children_c,function(c_k,c_v) { 335 getPropertyValue(c_k,c_v); 336 }); 337 } 338 } 339 340 341 } else { 342 var check_el = (checkMenu) ? '.menu-'+SID : '.footer-'+SID; 343 this.property.pdTop = parseInt($(check_el).css('padding-top')); 344 this.property.pdBottom = parseInt($(check_el).css('padding-bottom')); 345 } 346 } 347 348 // return this.property; 349 return base.property; 350 }; 351 352 this.set = function(j,o,selector,key,val,path) { 353 selector = (selector[0] == '.') ? selector : '.' + selector; 354 355 var checkMenu = (selectEL == 'el-menu') ? true : false;
356 var checkFooter = (selectEL == 'el-footer') ? true : false; 357 358 var checkSidebar = (checkMenu) ? $(selector).closest('header.navbar').hasClass('sidebar') : false; 359 var checkNavLineHeight = (checkMenu && key.indexOf('line-height') > -1 && selector == '.menu-'+SID+' ul.navbar-nav > li > a') ? true : false; 360 var checkLogoLineHeight = (checkMenu && key == 'line-height' && selector == '.menu-'+SID+' #tpl-logo-text') ? true : false; 361 var checkLogoPadding = (checkMenu && key.indexOf('padding') > -1 && selector == '.menu-'+SID+' .navbar-header') ? true : false; 362 var checkHeaderPadding = (checkMenu && key.indexOf('padding') > -1 && selector == '.el-menu') ? true : false; 363 364 var checkFLogoLineHeight= (checkFooter && key == 'line-height' && selector == '.footer-'+SID+' #tpl-logo-text-footer') ? true : false; 365 var checkGalleryProject = (selector.indexOf('galProjectBg') > -1) ? true : false; 366 367 var checkElRoot = (key.match(/^\-\-/) !== null) ? true : false; 368 var checkRootPadding = style.checkBlockRootCSS('block-padding'); 369 var checkRootBackground = style.checkBlockRootCSS('block-background'); 370 371 if(!checkNavLineHeight && !checkLogoPadding) { 372 var r = initObject(j,selector); 373 } 374 375 switch(key) { 376 case 'background-color-all': 377 case 'background-color': 378 o.bgColor = style.getColorORTransparent(val); 379 380 if(selectEL == 'el-menu') { 381 style.setCssProperty(j,selector,key,o.bgColor); 382 } 383 break; 384 case 'background-position': 385 o.bgPosition = (!o.bgPosition || o.bgPosition=='0% 0%') ? 'center center' : o.bgPosition; 386 break; 387 case 'background-image': 388 //o.bgUrl = 'url(' + p + '/1200/' + val + ')'; 389 // val = encodeURIComponent(val); 390 var src = getServeImage(val,'0',path); 391 o.bgUrl = (val!='none') ? "url('" + src + "')" : val; 392 if(selectEL=='el-menu') { 393 var version = ($('.'+selectEL).find('header').hasClass('navbar-simple')) ? 'simple' : 'default'; 394 if($('.'+selectEL).find('.cl-nav').length > 0) version = 'clnav'; 395 else if($('.'+selectEL).find('.cl-menu-option').length > 0) version = 'moption'; 396 if(version == 'moption') { 397 var moptionEL = $('.'+selectEL).find('.cl-menu-option'); 398 if(moptionEL.length > 0) { 399 } else { 400 var init_bgcolor = j["children"][selector]["attributes"]['background-color'], 401 root_bgcolor = (val == 'none') ? init_bgcolor : 'transparent'; 402 j["children"][selector]["attributes"]['--menu-bgcolor'] = root_bgcolor; 403 j["children"][selector]["attributes"]['--menu-bgcolor-hover'] = root_bgcolor; 404 j["children"][selector]["attributes"]['--menu-bgcolor-active'] = root_bgcolor; 405 } 406 } else { 407 var selector_set = getMenuCssSelector(key,selector,version); 408 409 if(!$.isEmptyObject(selector_set.delete)) { 410 $.each(selector_set.delete, function(k,v) { 411 style.deleteCssProperty(j,v); 412 }); 413 } 414 415 if(!$.isEmptyObject(selector_set.set)) { 416 $.each(selector_set.set, function(k,v) { 417 if(k.match(/^media\_/gi) != null) return true; 418 419 v = (v.indexOf('âµ') > -1) ? v.replace(/âµ/gi, '\n') : v; 420 v = v.replace(/\, /gi,'\,'); 421 422 if(typeof j["children"][v] == "undefined") initObject(j,v); 423 if(val == 'none') { 424 var bg_color = $('.bg-picker-el-menu').css('background-color'); 425 j["children"][v]["attributes"]['background-color'] = bg_color; 426 } else { 427 if(k.match(/main/gi) !== null) j["children"][v]["attributes"]['background-color'] = 'transparent'; 428 } 429 }); 430 } 431 } 432 433 } 434 break; 435 // case 'background-attachment': 436 // o.bgAttachment = (o.bgSize == 'cover') ? 'fixed' : 'scroll'; 437 // break; 438 case 'background-repeat': 439 o.bgRepeat = (!o.bgRepeat) ? 'no-repeat' : o.bgRepeat; 440 break; 441 case 'background-size': 442 o.bgSize = (!o.bgSize) ? 'cover' : o.bgSize; 443 break; 444 case 'color': o.txColor = val; break; 445 case 'padding': 446 if(checkNavLineHeight) return false; 447 o.pdTop = this.selector.css('padding-top').replace('px',''); 448 o.pdBottom = this.selector.css('padding-bottom').replace('px',''); 449 o.pdLeft = this.selector.css('padding-left').replace('px',''); 450 o.pdRight = this.selector.css('padding-right').replace('px',''); 451 break; 452 453 default: 454 // root css 455 if(checkElRoot) { 456 var _key = key.replace(/\-/gi,'_'); 457 o[_key] = val; 458 459 if($(this.selector).is('[data-gjs="fixedscroll4"]') && key == '--cursor-color') { 460 var gseq = this.selector.attr('data-id'), 461 gcss = { 'fixedscroll4' : $('#gCSS_fixedscroll4_'+gseq).outerHTML() }; 462 $('#gCSS_fixedscroll4_'+gseq).replaceWith(gcss.fixedscroll4.replace(/ fill\=\'\%23[a-zA-Z0-9]*\' /gi,' fill=\'' + val.replace(/^\#/,'\%23') + '\' ') 463 .replace(/ stroke\=\'\%23[a-zA-Z0-9]*\' /gi,' stroke=\'' + val.replace(/^\#/,'\%23') + '\' ')); 464 } 465 } 466 break; 467 } 468 469 if(checkNavLineHeight || checkLogoPadding) { 470 // MENU NAV > line-hieght or MENU(sidebar) LOGO > padding 471 if( typeof j["children"]['@media (min-width: 769px)'] == "undefined" ) { 472 j["children"]['@media (min-width: 769px)'] = {}; 473 j["children"]['@media (min-width: 769px)']["children"] = {}; 474 j["children"]['@media (min-width: 769px)']["attributes"] = {}; 475 } 476 if( typeof j["children"]['@media (min-width: 769px)']["children"][selector] == "undefined" ) { 477 j["children"]['@media (min-width: 769px)']["children"][selector] = {}; 478 j["children"]['@media (min-width: 769px)']["children"][selector]["children"] = {}; 479 j["children"]['@media (min-width: 769px)']["children"][selector]["attributes"] = {}; 480 } 481 482 if(checkSidebar && checkNavLineHeight) { 483 if(typeof j["children"]['@media (min-width: 769px)']["children"]['.menu-'+SID+' ul.dropdown-menu > li > a'] == "undefined") { 484 j["children"]['@media (min-width: 769px)']["children"]['.menu-'+SID+' ul.dropdown-menu > li > a'] = {}; 485 j["children"]['@media (min-width: 769px)']["children"]['.menu-'+SID+' ul.dropdown-menu > li > a']["children"] = {}; 486 j["children"]['@media (min-width: 769px)']["children"]['.menu-'+SID+' ul.dropdown-menu > li > a']["attributes"] = {}; 487 } 488 489 var nav_val = val.split(','); 490 key = 'padding'; 491 val = nav_val[0]; 492 j["children"]['@media (min-width: 769px)']["children"]['.menu-'+SID+' ul.dropdown-menu > li > a']["attributes"][key] = nav_val[1]; 493 494 if(typeof j["children"]['@media (min-width: 769px)']["children"]['.menu-'+SID+' ul.navbar-nav:not(#fixed-menu) > li.dropdown > ul.dropdown-menu'] != "undefined") { 495 var nav_pd = val.replace(/px/gi,'').split(' '), 496 sub_nav_mgTop = parseInt(parseInt(nav_pd[0]) * 0.4); 497 j["children"]['@media (min-width: 769px)']["children"]['.menu-'+SID+' ul.navbar-nav:not(#fixed-menu) > li.dropdown > ul.dropdown-menu']["attributes"]['margin-top'] = -sub_nav_mgTop + 'px'; 498 } 499 } 500 501 j["children"]['@media (min-width: 769px)']["children"][selector]["attributes"][key] = val; 502 503 } else if(checkLogoLineHeight || checkFLogoLineHeight) { 504 // MENU LOGO > line-hieght 505 j["children"][selector]["attributes"]["line-height"] = val; 506 507 } else if(checkHeaderPadding) { 508 delete j["children"]['.menu-'+SID]["attributes"]["padding-left"]; 509 delete j["children"]['.menu-'+SID]["attributes"]["padding-right"]; 510 delete j["children"]['.menu-'+SID]["attributes"]["padding-top"]; 511 delete j["children"]['.menu-'+SID]["attributes"]["padding-bottom"]; 512 513 j["children"]['.menu-'+SID]["attributes"]["padding"] = o.pdTop + 'px ' + o.pdRight + 'px ' + o.pdBottom + 'px ' + o.pdLeft + 'px'; 514 } else { 515 516 // BLOCK (default) 517 if(!checkRootPadding) { 518 delete j["children"][selector]["attributes"]["padding-top"]; 519 delete j["children"][selector]["attributes"]["padding-bottom"]; 520 delete j["children"][selector]["attributes"]["padding-left"]; 521 delete j["children"][selector]["attributes"]["padding-right"]; 522 } 523 524 if(!style.checkBlockRootCSS('block-bgcolor')) j["children"][selector]["attributes"]["background-color"] = o.bgColor; 525 j["children"][selector]["attributes"]["background-image"] = o.bgUrl; 526 // if($(selector).attr('data-parallax') == "true") { 527 // j["children"][selector]["attributes"]["background-attachment"] = 'fixed'; 528 // } 529 /* 530 j["children"][selector]["attributes"]["background-repeat"] = (!j["children"][selector]["attributes"]["background-repeat"]) ? "no-repeat" : this.selector.css('background-repeat'); 531 j["children"][selector]["attributes"]["background-position"] = (!j["children"][selector]["attributes"]["background-position"]) ? "center center" : this.selector.css('background-position'); 532 j["children"][selector]["attributes"]["background-size"] = (!j["children"][selector]["attributes"]["background-size"]) ? "cover" : this.selector.css('background-size'); 533 */ 534 j["children"][selector]["attributes"]["background-repeat"] = o.bgRepeat; 535 j["children"][selector]["attributes"]["background-position"] = o.bgPosition; 536 j["children"][selector]["attributes"]["background-size"] = o.bgSize; 537 // j["children"][selector]["attributes"]["background-attachment"] = o.bgAttachment; 538 539 if(!checkGalleryProject) { 540 if(!checkRootPadding) j["children"][selector]["attributes"]["padding"] = o.pdTop+'px ' + o.pdRight+'px ' + o.pdBottom+'px ' + o.pdLeft+'px'; 541 if(/\s/.test(selector)) { 542 if(o.txColor) j["children"][selector]["attributes"]["color"] = o.txColor; 543 j["children"][selector]["attributes"]["font-family"] = (typeof this.selector.css('font-family')!='undefined' && this.selector.css('font-family')) ? this.selector.css('font-family') : ''; 544 j["children"][selector]["attributes"]["font-size"] = (typeof this.selector.css('font-size')!='undefined' && this.selector.css('font-size')) ? this.selector.css('font-size') : ''; 545 } 546 } 547 548 if(checkElRoot) { 549 var _key = key.replace(/\-/gi,'_'), 550 _val = o[_key]; 551 j["children"][selector]["attributes"][key] = _val; 552 } 553 554 } 555 556 return j; 557 } 558 559 560 var getMenuCssSelector = function(key, selector, version) { 561 if($.inArray(version, ['moption','clnav']) > -1) return {'delete': {}, 'set': {}}; 562 563 var str = '', 564 user = '.menu-' + SID, 565 simple_user = (selector.indexOf('menu-temp-')>-1) ? '.menu-temp-' + SID : user, 566 default_selector = { 567 "color" : { 568 "default" : user + " ul.navbar-nav > li > a,\n" 569 + user + " ul.navbar-nav > li > a:active,\n" 570 + user + " ul.navbar-nav > li > a:focus,\n" 571 + user + " .dropdown-menu > li > a,\n" 572 + user + " .dropdown-menu > li > a:active,\n" 573 + user + " .dropdown-menu > li > a:focus", 574 "hover" : user + ".navbar-default .navbar-nav > li > a:hover,\n" 575 + user + ".navbar-default .navbar-nav > li:hover > a,\n" 576 + user + ".navbar-default .navbar-nav > li:hover > a:focus,\n" 577 + user + ".navbar-default .navbar-nav > li:hover > a:active,\n" 578 + user + ".navbar-default .navbar-nav > li.active > a,\n" 579 + user + ".navbar-default .navbar-nav > li.active > a:focus,\n" 580 + user + ".navbar-default .navbar-nav > li.active > a:active,\n" 581 + user + ".navbar-default .navbar-nav > li.active > a:hover,\n" 582 + user + ".navbar-default .dropdown-menu > li > a:hover,\n" 583 + user + ".navbar-default .dropdown-menu > li:hover > a,\n" 584 + user + ".navbar-default .dropdown-menu > li:hover > a:focus,\n" 585 + user + ".navbar-default .dropdown-menu > li:hover > a:active,\n" 586 + user + ".navbar-default .dropdown-menu > li.active > a,\n" 587 + user + ".navbar-default .dropdown-menu > li.active > a:focus,\n" 588 + user + ".navbar-default .dropdown-menu > li.active > a:active,\n" 589 + user + ".navbar-default .dropdown-menu > li.active > a:hover", 590 }, 591 "background-color" : { 592 "default" : user + " .navbar-nav#tpl-menu .dropdown .dropdown-menu,\n" 593 + user + " .navbar-nav#tpl-menu", 594 "init" : user + " ul.navbar-nav > li > a,\n" 595 + user + " ul.navbar-nav > li > a:active,\n" 596 + user + " ul.navbar-nav > li > a:focus,\n" 597 + user + " .dropdown-menu > li > a,\n" 598 + user + " .dropdown-menu > li > a:active,\n" 599 + user + " .dropdown-menu > li > a:focus,\n" 600 + user + ".navbar-default .navbar-nav > li > a,\n" 601 + user + ".navbar-default .navbar-nav > li > a:focus,\n" 602 + user + ".navbar-default .navbar-nav > li > a:hover,\n" 603 + user + ".navbar-default .navbar-nav > li:hover > a,\n" 604 + user + ".navbar-default .navbar-nav > li:hover > a:focus,\n" 605 + user + ".navbar-default .navbar-nav > li:hover > a:active,\n" 606 + user + ".navbar-default .navbar-nav > li.active > a,\n" 607 + user + ".navbar-default .navbar-nav > li.active > a:focus,\n" 608 + user + ".navbar-default .navbar-nav > li.active > a:active,\n" 609 + user + ".navbar-default .navbar-nav > li.active > a:hover,\n" 610 + user + ".navbar-default .dropdown-menu > li > a:hover,\n" 611 + user + ".navbar-default .dropdown-menu > li:hover > a,\n" 612 + user + ".navbar-default .dropdown-menu > li:hover > a:focus,\n" 613 + user + ".navbar-default .dropdown-menu > li:hover > a:active,\n" 614 + user + ".navbar-default .dropdown-menu > li.active > a,\n" 615 + user + ".navbar-default .dropdown-menu > li.active > a:focus,\n" 616 + user + ".navbar-default .dropdown-menu > li.active > a:active,\n" 617 + user + ".navbar-default .dropdown-menu > li.active > a:hover", 618 }, 619 "background-color-all" : { 620 "default" : user + " .navbar-nav#tpl-menu .dropdown .dropdown-menu,\n" 621 + user + " .navbar-nav#tpl-menu", 622 }, 623 "background-image" : { 624 "default" : user + " .navbar-nav#tpl-menu .dropdown .dropdown-menu", 625 }, 626 "border-color" : { 627 "default" : "", 628 }, 629 "font-size" : { 630 "default" : user + " ul.navbar-nav > li > a,\n" 631 + user + " ul.navbar-nav > li > a:focus,\n" 632 + user + " .dropdown-menu > li > a,\n" 633 + user + " .dropdown-menu > li > a:focus", 634 }, 635 "font-family" : { 636 "default" : user + " ul.navbar-nav > li > a,\n" 637 + user + " .dropdown-menu > li > a", 638 }, 639 640 }, 641 simple_selector = { 642 "color" : { 643 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 644 + simple_user + " ul.navbar-nav > li > a:focus", 645 "main_hover" : simple_user + " ul.navbar-nav > li > a:hover,\n" 646 + simple_user + " ul.navbar-nav > li:hover > a", 647 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 648 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 649 + simple_user + " ul.navbar-nav > li.active > a:hover", 650 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 651 + simple_user + " ul.dropdown-menu > li > a:focus", 652 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 653 + simple_user + " ul.dropdown-menu > li:hover > a", 654 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 655 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 656 + simple_user + " ul.dropdown-menu > li.active > a:hover", 657 }, 658 "background-color" : { 659 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 660 + simple_user + " ul.navbar-nav > li > a:focus", 661 "main_hover" : simple_user + " ul.navbar-nav > li > a:hover,\n" 662 + simple_user + " ul.navbar-nav > li:hover > a", 663 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 664 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 665 + simple_user + " ul.navbar-nav > li.active > a:hover", 666 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 667 + simple_user + " ul.dropdown-menu > li > a:focus", 668 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 669 + simple_user + " ul.dropdown-menu > li:hover > a", 670 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 671 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 672 + simple_user + " ul.dropdown-menu > li.active > a:hover", 673 }, 674 "background-color-all" : { 675 "menublock" : simple_user, 676 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 677 + simple_user + " ul.navbar-nav > li > a:focus", 678 "main_hover" : simple_user + " ul.navbar-nav > li > a:hover,
678\n" 679 + simple_user + " ul.navbar-nav > li:hover > a", 680 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 681 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 682 + simple_user + " ul.navbar-nav > li.active > a:hover", 683 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 684 + simple_user + " ul.dropdown-menu > li > a:focus", 685 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 686 + simple_user + " ul.dropdown-menu > li:hover > a", 687 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 688 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 689 + simple_user + " ul.dropdown-menu > li.active > a:hover", 690 }, 691 "background-image" : { 692 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 693 + simple_user + " ul.navbar-nav > li > a:focus", 694 "main_hover" : simple_user + " ul.navbar-nav > li > a:hover,\n" 695 + simple_user + " ul.navbar-nav > li:hover > a", 696 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 697 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 698 + simple_user + " ul.navbar-nav > li.active > a:hover", 699 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 700 + simple_user + " ul.dropdown-menu > li > a:focus", 701 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 702 + simple_user + " ul.dropdown-menu > li:hover > a", 703 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 704 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 705 + simple_user + " ul.dropdown-menu > li.active > a:hover", 706 }, 707 "border-color" : { 708 "main_default" : " ", 709 "main_hover" : " ", 710 "main_active" : " ", 711 "sub_default" : " ", 712 "sub_hover" : " ", 713 "sub_active" : " ", 714 }, 715 "font-size" : { 716 "main_default" : user + " ul.navbar-nav > li > a" , 717 "sub_default" : user + " ul.dropdown-menu > li > a", 718 }, 719 "font-family" : { 720 "main_default" : user + " ul.navbar-nav > li > a" , 721 "sub_default" : user + " ul.dropdown-menu > li > a", 722 }, 723 "logo-color" : { 724 "color" : simple_user + " #mini-home", 725 }, 726 }, 727 fheader_selector = { 728 "color" : { 729 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 730 + simple_user + " ul.navbar-nav > li > a:focus", 731 "main_hover" : simple_user + " ul.navbar-nav:not(#fixed-menu) > li > a:hover,\n" 732 + simple_user + " ul.navbar-nav:not(#fixed-menu) > li:hover > a", 733 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 734 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 735 + simple_user + " ul.navbar-nav > li.active > a:hover", 736 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 737 + simple_user + " ul.dropdown-menu > li > a:focus", 738 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 739 + simple_user + " ul.dropdown-menu > li:hover > a", 740 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 741 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 742 + simple_user + " ul.dropdown-menu > li.active > a:hover", 743 }, 744 "background-color" : { 745 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 746 + simple_user + " ul.navbar-nav > li > a:focus", 747 "main_hover" : simple_user + " ul.navbar-nav:not(#fixed-menu) > li > a:hover,\n" 748 + simple_user + " ul.navbar-nav:not(#fixed-menu) > li:hover > a", 749 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 750 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 751 + simple_user + " ul.navbar-nav > li.active > a:hover", 752 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 753 + simple_user + " ul.dropdown-menu > li > a:focus", 754 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 755 + simple_user + " ul.dropdown-menu > li:hover > a", 756 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 757 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 758 + simple_user + " ul.dropdown-menu > li.active > a:hover", 759 }, 760 "background-color-all" : { 761 "menublock" : simple_user, 762 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 763 + simple_user + " ul.navbar-nav > li > a:focus", 764 "main_hover" : simple_user + " ul.navbar-nav:not(#fixed-menu) > li > a:hover,\n" 765 + simple_user + " ul.navbar-nav:not(#fixed-menu) > li:hover > a", 766 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 767 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 768 + simple_user + " ul.navbar-nav > li.active > a:hover", 769 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 770 + simple_user + " ul.dropdown-menu > li > a:focus", 771 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 772 + simple_user + " ul.dropdown-menu > li:hover > a", 773 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 774 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 775 + simple_user + " ul.dropdown-menu > li.active > a:hover", 776 }, 777 "background-image" : { 778 "main_default" : simple_user + " ul.navbar-nav > li > a,\n" 779 + simple_user + " ul.navbar-nav > li > a:focus", 780 "main_hover" : simple_user + " ul.navbar-nav:not(#fixed-menu) > li > a:hover,\n" 781 + simple_user + " ul.navbar-nav:not(#fixed-menu) > li:hover > a", 782 "main_active" : simple_user + " ul.navbar-nav > li.active > a,\n" 783 + simple_user + " ul.navbar-nav > li.active > a:focus,\n" 784 + simple_user + " ul.navbar-nav > li.active > a:hover", 785 "sub_default" : simple_user + " ul.dropdown-menu > li > a,\n" 786 + simple_user + " ul.dropdown-menu > li > a:focus", 787 "sub_hover" : simple_user + " ul.dropdown-menu > li > a:hover,\n" 788 + simple_user + " ul.dropdown-menu > li:hover > a", 789 "sub_active" : simple_user + " ul.dropdown-menu > li.active > a,\n" 790 + simple_user + " ul.dropdown-menu > li.active > a:focus,\n" 791 + simple_user + " ul.dropdown-menu > li.active > a:hover", 792 }, 793 "border-color" : { 794 "main_default" : " ", 795 "main_hover" : " ", 796 "main_active" : " ", 797 "sub_default" : " ", 798 "sub_hover" : " ", 799 "sub_active" : " ", 800 }, 801 "font-size" : { 802 "main_default" : user + " ul.navbar-nav > li > a" , 803 "sub_default" : user + " ul.dropdown-menu > li > a", 804 }, 805 "font-family" : { 806 "main_default" : user + " ul.navbar-nav > li > a" , 807 "sub_default" : user + " ul.dropdown-menu > li > a", 808 }, 809 "logo-color" : { 810 "color" : simple_user + " #mini-home", 811 }, 812 }; 813 814 815 if(version == 'mnormalsidebar') { 816 var tmp_del = (typeof default_selector[key] != 'undefined') ? default_selector[key] : {}; 817 818 switch(key) { 819 case 'background-color': 820 tmp_del = Object.assign(tmp_del, fheader_selector[key]); 821 break; 822
823 case '--menu-color': 824 if(typeof tmp_del['media_max_768'] == 'undefined') tmp_del['media_max_768'] = []; 825 var tmp_add = ['.el-menu .siteCART.micon', '#mobile-nav.mobile-design-clear .mobilenav_top a', '#mobile-nav.mobile-design-clear .mobilenav_top svg','#mobile-nav.mobile-design-clear #tpl-menu li.menu-has-children i, #mobile-nav.mobile-design-clear #tpl-menu li.menu-has-children i:focus','#mobile-nav.mobile-design-clear #tpl-menu li.menu-has-children.active i'], 826 tmp_sum = tmp_del['media_max_768'].concat(tmp_add); 827 tmp_del['media_max_768'] = tmp_sum.filter((s, v) => tmp_sum.indexOf(s) === v); 828 break; 829 830 case '--menu-fname': 831 case '--sub-menu-fname': 832 if(typeof tmp_del['media_max_768'] == 'undefined') tmp_del['media_max_768'] = []; 833 var tmp_add = ['#mobile-nav','#mobile-nav'], 834 tmp_sum = tmp_del['media_max_768'].concat(tmp_add); 835 tmp_del['media_max_768'] = tmp_sum.filter((s, v) => tmp_sum.indexOf(s) === v); 836 break; 837 838 default: 839 break; 840 } 841 842 str = {'delete': tmp_del, 'set': {}}; 843 } else if(version == 'fheader') { 844 str = { "set" : fheader_selector[key] } ; 845 } else if(version == 'simple') { 846 str = { "delete" : default_selector[key], "set" : simple_selector[key] } ; 847 } else { 848 str = { "delete" : {}, "set" : default_selector[key] }; 849 } 850 851 return str; 852 } 853 854 var setFlogoCssSelector = function(key, selector, version) { 855 var str = '', 856 user = '.footer-' + SID, 857 fheader_selector = { 858 'logo-color' : { 859 'color' : user + ' #mini-home-footer', 860 }, 861 }; 862 863 if(version == 'footerlogo') { 864 str = { 'set' : fheader_selector[key] } ; 865 } 866 867 return str; 868 } 869 870 871 this.setCssProperty = function(j,selector,key,val) { 872 selector = (selector.indexOf('âµ') > -1) ? selector.replace(/âµ/gi, '\n') : selector; 873 selector = selector.replace(/\, /gi,'\,'); 874 if(selector == '.dsgn-body') selectEL = ''; 875 876 if(typeof j['children'][selector] == 'undefined') j = initObject(j,selector); 877 var isfooterAttach = false; 878 if(selectEL == 'el-footer') { 879 isfooterAttach = typeof $('.'+selectEL+' .footer-brand img').attr('data-footer-attach') == 'undefined' ? false : $('.'+selectEL+' .footer-brand img').attr('data-footer-attach'); 880 } 881 882 if(selectEL == 'el-menu') { 883 var selectorKey = (key == 'color' && selector == '.menu-'+SID+' #tpl-logo-text') ? 'logo-color' : key, 884 version = ($('.'+selectEL).find('header').hasClass('navbar-simple')) ? 'simple' : 'default'; 885 if($('.'+selectEL).find('.cl-nav').length > 0) version = 'clnav'; 886 else if($('.'+selectEL).find('[class*=cl-menu-]').length > 0) version = ($('.'+selectEL).find('.cl-menu-option').length > 0) ? 'moption' : 'mnormalsidebar'; 887 else if($('.'+selectEL).find('header').hasClass('navbar-fheader')) version = 'fheader'; 888 889 var selector_set = getMenuCssSelector(key,selector,version); 890 if(!$.isEmptyObject(selector_set.delete)) { 891 $.each(selector_set.delete, function(k,v) { 892 if(k.match(/^media\_/gi) != null) style.deleteMediaCssProperty(j,v,k); 893 else style.deleteCssProperty(j,v); 894 }); 895 } 896 897 if(key == 'background-color-all') key = 'background-color'; //menu block - all background color change 898 if(!$.isEmptyObject(selector_set.set)) { 899 if( selector == '.menu-'+SID+' ul#tpl-menu > li > a' || selector == '.menu-' + SID || selector == '.menu-temp-' + SID ) { 900 if(selector == '.menu-'+SID+' ul#tpl-menu > li > a') style.deleteCssProperty(j,selector); 901 902 var color = (key == 'color') ? this.setStyle(j,hex2rgb(val),'el-menu') : []; 903 904 $.each(selector_set.set, function(k,v) { 905 if(k.match(/^media\_/gi) != null) return true; 906 907 v = (v.indexOf('âµ') > -1) ? v.replace(/âµ/gi, '\n') : v; 908 v = v.replace(/\, /gi,'\,'); 909 910 var value = (color.length== 0) ? val : ((k.match(/default/gi) !== null) ? color[0] : color[1]); 911 if(typeof j['children'][v] == 'undefined') initObject(j,v); 912 913 if( key == 'background-color' && value.indexOf('transparent') == -1 && value.indexOf('rgba(0,0,0,0)') == -1 ) { 914 var menu_bg_img = (typeof $('.'+selectEL).find('header').css('background-image') != 'undefined') ? $('.'+selectEL).find('header').css('background-image') : ''; 915 if(menu_bg_img && menu_bg_img!='none' && menu_bg_img!='initial' && menu_bg_img!='inherit') {
916 // [MENU BLOCK] used Background-Image, ==> main menu bg : transparent, sub menu bg : color 917 if(k.match(/main/gi) !== null ) value ='transparent'; 918 } 919 } 920 921 if( key == 'font-size' && k.match(/sub/gi) !== null ) { //Sub Menu Font size 922 var f_size = parseInt(value.replace('px','')); 923 value = (f_size - 2 ) + 'px'; 924 } 925 926 if( key == 'color' && (version == 'simple' || version == 'fheader') && k == 'main_default' ) { //Menu text color Change ==> Mobile Toggle bar color 927 var block_selector = (selector.indexOf('menu-temp-')>-1) ? '.menu-temp-' + SID : '.menu-' + SID, 928 toggle_bar_selector = block_selector + ' .navbar-toggle .icon-bar'; 929 930 if(typeof j['children'][toggle_bar_selector] == 'undefined') initObject(j,toggle_bar_selector); 931 j['children'][toggle_bar_selector]['attributes']['background-color'] = value; 932 } 933 934 j['children'][v]['attributes'][key] = value; 935 }); 936 937 } else { 938 939 if(selectorKey == 'logo-color') { //logo text color Change ==> Logo Top btn color width Change 940 var menu_btn_set = getMenuCssSelector(selectorKey,selector,version); 941 if(typeof menu_btn_set.set != 'undefined' && menu_btn_set.set) { 942 $.each(menu_btn_set.set, function(k,v) { 943 if(k.match(/^media\_/gi) != null) return true; 944 945 if(typeof j['children'][v] == 'undefined') initObject(j,v); 946 j['children'][v]['attributes'][k] = val; 947 }); 948 } 949 } 950 j['children'][selector]['attributes'][key] = val; 951 } 952 } else { 953 j['children'][selector]['attributes'][key] = val; 954 955 if($.inArray(version, ['moption', 'mnormalsidebar']) > -1) { 956 switch(key) { 957 case 'background-color': 958 j['children'][selector]['attributes']['--block-bgcolor'] = val; 959 j['children'][selector]['attributes']['--menu-bgcolor'] = val; 960 j['children'][selector]['attributes']['--menu-bgcolor-hover'] = val; 961 j['children'][selector]['attributes']['--menu-bgcolor-active'] = val; 962 j['children'][selector]['attributes']['--sub-menu-bgcolor'] = val; 963 j['children'][selector]['attributes']['--sub-menu-bgcolor-hover'] = val; 964 j['children'][selector]['attributes']['--sub-menu-bgcolor-active'] = val; 965 break; 966 967 case '--block-bgcolor': 968 j['children'][selector]['attributes']['background-color'] = val; 969 break; 970 971 default: 972 break; 973 } 974 } 975 } 976 977 } else if(selectEL=='el-footer' && isfooterAttach) { 978 979 var selectorKey = (key == 'color' && selector == '.footer-'+SID+' #tpl-logo-text-footer') ? 'logo-color' : key; 980 981 if(selectorKey == 'logo-color') { 982 var footer_logo_set = setFlogoCssSelector(selectorKey, '' ,'footerlogo'); 983 if(typeof footer_logo_set.set != 'undefined' && footer_logo_set.set) { 984 $.each(footer_logo_set.set, function(k,v) { 985 if(typeof j['children'][v] == 'undefined') initObject(j,v); 986 j['children'][v]['attributes'][k] = val; 987 }); 988 } 989 } 990 991 j['children'][selector]['attributes'][key] = val; 992 } else { 993 994 if(selector.indexOf('.figure.like') > -1) { 995 if(selector.indexOf('.figure-like-cnt') == -1 && selector.indexOf('svg') == -1) { 996 style.deleteCssProperty(j, selector); 997 if(j['children'][selector+' > svg'] === undefined) initObject(j,selector+' > svg'); 998 if(j['children'][selector + ' .figure-like-cnt'] === undefined) initObject(j,selector+' .figure-like-cnt'); 999 1000 if(selector.indexOf('.active') > -1) { 1001 style.deleteCssProperty(j, selector+' > svg'); 1002 if(j['children'][selector+' > svg,\n'+selector+' > svg > path:first-child'] === undefined) initObject(j,selector+' > svg,\n'+selector+' > svg > path:first-child'); 1003 j['children'][selector+' > svg,\n'+selector+' > svg > path:first-child']['attributes']['fill'] = val; 1004 } else { 1005 j['children'][selector+' > svg']['attributes']['fill'] = val; 1006 } 1007 1008 j['children'][selector + ' .figure-like-cnt']['attributes']['color'] = val; 1009 } else { 1010 if(selector.indexOf('svg') > -1) { 1011 j['children'][selector]['attributes']['fill'] = val; 1012 } 1013 if(selector.indexOf('.figure-like-cnt') > -1) j['children'][selector]['attributes']['color'] = val; 1014 } 1015 } else { 1016 if(key == 'font-hover-color') { //forum block - list hover color change 1017 key = 'color'; 1018 j['children'][selector]['attributes']['fill'] = val; 1019 val = val + ' !important'; 1020 } 1021 if(key == 'fmap-point-color') { 1022 // if(j['children'][selector]) return true; 1023 j['children'][selector + ' .form-group .dropdown-toggle:focus,\n' + selector + ' .form-group input[type="text"]:focus']['attributes']['border-color'] = val; 1024 1025 if(j['children'][selector + ' .btn.map-search-btn']['attributes']['fill'] != undefined) { 1026 j['children'][selector + ' .btn.map-search-btn']['attributes']['fill'] = val; 1027 } else { 1028 j['children'][selector + ' .btn.map-search-btn']['attributes']['background-color'] = val; 1029 } 1030 1031 if(j['children'][selector + ' .map-search-wrap']['attributes']['background-color'] != undefined && $(selector + ' .map-search-wrap').hasClass('fm-pcolor-background')) { 1032 let opacity = Coloris.getColorInfo(j['children'][selector + ' .map-search-wrap']['attributes']['background-color'], 'alpha'); 1033 let bgColor = getRgbaValArray(val, opacity); 1034 j['children'][selector + ' .map-search-wrap']['attributes']['background-color'] = bgColor.rgba_txt; 1035 } 1036 1037 if(j['children'][selector + ' .map-item-list .item:hover'] != undefined) { 1038 if(j['children'][selector + ' .map-item-list .item:hover']['attributes']['border-color'] != undefined) { 1039 let opacity = Coloris.getColorInfo(j['children'][selector + ' .map-item-list .item:hover']['attributes']['border-color'], 'alpha'); 1040 let borderHoverColor = getRgbaValArray(val, opacity); 1041 1042 key = 'border-color'; 1043 j['children'][selector + ' .map-item-list .item:hover']['attributes']['border-color'] = borderHoverColor.rgba_txt; 1044 } 1045 if(j['children'][selector + ' .map-item-list .item:hover']['attributes']['background-color'] != undefined) { 1046 let opacity_selected = Coloris.getColorInfo(j['children'][selector + ' .map-item-list .item.selected']['attributes']['background-color'], 'alpha'); 1047 let opacity_hover = Coloris.getColorInfo(j['children'][selector + ' .map-item-list .item:hover']['attributes']['background-color'], 'alpha'); 1048 let bgSelectedColor = getRgbaValArray(val, opacity_selected); 1049 let bgHoverColor = getRgbaValArray(val, opacity_hover); 1050 key = 'background-color'; 1051 val = bgSelectedColor.rgba_txt; 1052 j['children'][selector + ' .map-item-list .item:hover']['attributes']['background-color'] = bgHoverColor.rgba_txt; 1053 } 1054 } 1055 1056 if(j['children'][selector + ' .map-item-list .item:hover .overlay'] != undefined && $(selector + ' .map-item-list .item .overlay').hasClass('fm-pcolor-background')) { 1057 let opacity_selected = Coloris.getColorInfo(j['children'][selector + ' .map-item-list .item.selected .overlay']['attributes']['background-color'], 'alpha'); 1058 let opacity_hover = Coloris.getColorInfo(j['children'][selector + ' .map-item-list .item:hover .overlay']['attributes']['background-color'], 'alpha'); 1059 let bgSelectedColor = getRgbaValArray(val, opacity_selected); 1060 let bgHoverColor = getRgbaValArray(val, opacity_hover); 1061 key = 'background-color'; 1062 val = bgSelectedColor.rgba_txt; 1063 j['children'][selector + ' .map-item-list .item:hover .overlay']['attributes']['background-color'] = bgHoverColor.rgba_txt; 1064 1065 selector = selector + ' .map-item-list .item.selected .overlay'; 1066 } else { 1067 key = 'border-color'; 1068 selector = selector + ' .map-item-list .item.selected'; 1069 } 1070 console.log('key', key); 1071 } 1072 if(selector.indexOf('p.figure') > -1 && key=='color'){ 1073 j['children'][selector]['attributes']['fill'] = val; 1074 } 1075 if(selector.indexOf('.figure.like') > -1 && selector.indexOf('.active') == -1) { 1076 j['children'][selector+' > svg']['attributes']['fill'] = val; 1077 selector = selector + ' .figure-like-cnt'; 1078 } 1079 if(selector.indexOf('.figure.like.active') > -1) { 1080 j['children'][selector+' > svg,\n'+selector+' > svg > path:first-child']['attributes']['fill'] = val; 1081 selector = selector + ' .figure-like-cnt'; 1082 } 1083 // before version (forum faq icon) 1084 if(selector.indexOf('.tpl-forum-list-icon') > -1) { 1085 if(j['children'][selector+' > svg'] === undefined) initObject(j,selector+' > svg'); 1086 if(val.indexOf('px') > -1) { 1087 j['children'][selector+' > svg']['attributes']['width'] = val; 1088 j['children'][selector+' > svg']['attributes']['height'] = val; 1089 } else { 1090 if(key == 'color') j['children'][selector+' > svg']['attributes']['fill'] = val; 1091 } 1092 } 1093 if(selector.indexOf('.gallery-sort-nav') > -1 || selector.indexOf('.review-sort-nav') > -1) { 1094 if(key == 'color') j['children'][selector]['attributes']['fill'] = val; 1095 } 1096 1097 j['children'][selector]['attributes'][key] = val; 1098 //Media Query Cssë ë³ê²½ 1099 $.each(j['children'],function(i,v){ 1100 if(i.indexOf('@media') > -1 && typeof j['children'][i]['children'][selector] != 'undefined') { 1101 if(typeof j['children'][i]['children'][selector]['attributes'][key] != 'undefined') j['children'][i]['children'][selector]['attributes'][key] = val; 1102 } 1103 }); 1104 } 1105 1106 1107 } 1108 1109 return j; 1110 } 1111 1112 this.getCssProperty = function(j,selector,key) { 1113 if(typeof j['children'][selector] == 'undefined') j = initObject(j,selector); 1114 if(typeof j['children'][selector]['attributes'][key] == 'undefined') { 1115 var tmp_v = 'initial'; 1116 if(key == 'border-color') { 1117 var colorRegex = Coloris.getColorRegex(), 1118 tmp_color = (typeof j['children'][selector]['attributes']['border'] != 'undefined') ? j['children'][selector]['attributes']['border'] : '', 1119 tmp_matches = tmp_color.match(colorRegex); 1120 1121 if(tmp_matches != null) tmp_v = tmp_matches.pop(); 1122 } 1123 1124 j['children'][selector]['attributes'][key] = tmp_v; 1125 } 1126 return j['children'][selector]['attributes'][key]; 1127 } 1128 1129 this.deleteMediaCssProperty = function(j,selector,media,key) { 1130 if(typeof key == 'undefined') key = ''; 1131 1132 var tmp = media.split('_'), 1133 tmp_media_minmax = tmp[1], 1134 tmp_media_size = tmp[2],
1135 tmp_media_size_selector = []; 1136 1137 switch(tmp_media_size) { 1138 case '767': 1139 tmp_media_size_selector.push('@media (max-width: 767px)'); 1140 tmp_media_size_selector.push('@media only screen and (max-width:767px)'); 1141 break; 1142 case '768': 1143 tmp_media_size_selector.push('@media (max-width: 768px)'); 1144 tmp_media_size_selector.push('@media only screen and (max-width:768px)'); 1145 break; 1146 case '991': 1147 tmp_media_size_selector.push('@media (max-width: 991px)'); 1148 tmp_media_size_selector.push('@media only screen and (max-width:991px)'); 1149 break; 1150 default: 1151 break; 1152 } 1153 1154 $.each(tmp_media_size_selector, function(tmp_idx, tmp_selector) { 1155 if( typeof j['children'][tmp_selector] != 'undefined' && 1156 typeof j['children'][tmp_selector]['children'] != 'undefined' 1157 ) { 1158 1159 $.each(selector, function(tmp_idx2, tmp_selector2) { 1160 if(typeof j['children'][tmp_selector]['children'][tmp_selector2] != 'undefined') { 1161 if(key == '') { 1162 delete j['children'][tmp_selector]['children'][tmp_selector2]; 1163 } else { 1164 if(typeof j['children'][tmp_selector]['children'][tmp_selector2]['attributes'] != 'undefined' && typeof j['children'][tmp_selector]['children'][tmp_selector2]['attributes'][key] != 'undefined') { 1165 delete j['children'][tmp_selector]['children'][tmp_selector2]['attributes'][key]; 1166 } 1167 if(JSON.stringify(j['children'][tmp_selector]['children'][tmp_selector2]['attributes']) === '{}') delete j['children'][tmp_selector]['children'][tmp_selector2]; 1168 } 1169 } 1170 }); 1171 } 1172 }); 1173 return j; 1174 } 1175 this.deleteCssProperty = function(j,selector,key) { 1176 if(typeof key == 'undefined') key = []; 1177 else if(typeof key == 'string') key = key.split(','); 1178 1179 if(typeof j['children'][selector] == 'undefined') j = initObject(j,selector); 1180 1181 if(key.length == 0) { 1182 delete j['children'][selector]; 1183 } else { 1184 $.each(key, function(i,k) { 1185 if(typeof j['children'][selector]['attributes'] != 'undefined' && typeof j['children'][selector]['attributes'][k] != 'undefined') { 1186 delete j['children'][selector]['attributes'][k]; 1187 } 1188 }); 1189 if(JSON.stringify(j['children'][selector]['attributes']) === '{}') delete j['children'][selector]; 1190 } 1191 return j; 1192 } 1193 this.deleteRootCssProperty = function(j,selector,key) { 1194 if(typeof key == 'undefined') key = []; 1195 else if(typeof key == 'string') key = key.split(','); 1196 1197 if(typeof j['children'][selector] === 'undefined') j = initObject(j,selector); 1198 1199 const $targetEle = document.querySelectorAll(selector); 1200 1201 if(key.length == 0) { 1202 delete j['children'][selector]; 1203 } else { 1204 $.each(key, function(i,k) { 1205 var checkRootkeyAll = (/-$/.test(k)) ? true : false; 1206 var regex = new RegExp('^' + k); 1207 1208 if(typeof j['children'][selector]['attributes'] != 'undefined') { 1209 if(checkRootkeyAll) { 1210 $.each(j['children'][selector]['attributes'], function(root_key,root_val) { 1211 if(regex.test(root_key)) delete j['children'][selector]['attributes'][root_key]; 1212 $targetEle.forEach(el => el.style.removeProperty(root_key)); 1213 }); 1214 } else if(typeof j['children'][selector]['attributes'][k] != 'undefined') { 1215 delete j['children'][selector]['attributes'][k]; 1216 $targetEle.forEach(el => el.style.removeProperty(k)); 1217 } 1218 } 1219 }); 1220 if(JSON.stringify(j['children'][selector]['attributes']) === '{}') delete j['children'][selector]; 1221 } 1222 return j; 1223 } 1224 this.setRootCssProperty = function (j, selector, attributes, setProperty) { 1225 if (typeof attributes === 'undefined' || attributes === null) return j; 1226 if (typeof setProperty === 'undefined') setProperty = false; 1227 1228 if (typeof j['children'][selector] === 'undefined') { 1229 j = initObject(j, selector); 1230 } 1231 1232 if (typeof j['children'][selector]['attributes'] === 'undefined') { 1233 j['children'][selector]['attributes'] = {}; 1234 } 1235 1236 const $targetEle = document.querySelectorAll(selector); 1237 1238 $.each(attributes, function (k, v) { 1239 j['children'][selector]['attributes'][k] = v; 1240 1241 if(setProperty) { 1242 $targetEle.forEach(el => { 1243 el.style.setProperty(k, v); 1244 }); 1245 } 1246 }); 1247 1248 return j; 1249 } 1250 1251 1252 1253 this.replaceCss = function(j,change) { 1254 if(typeof j == 'undefined') return {}; 1255 if(typeof change == 'undefined') return j; 1256 1257 var return_type = typeof j, 1258 tmp_j = (return_type == 'object') ? CSSJSON.toCSS(j) : j; 1259 1260 function repalceEscapeRegExp(str) { 1261 return str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); 1262 } 1263 1264 $.each(change, function(i,tmp_o) { 1265 if(typeof tmp_o.before === 'undefined' 1266 || typeof tmp_o.after === 'undefined' 1267 ) { 1268 return true; 1269 } 1270 1271 var tmp_escaped_before = repalceEscapeRegExp(tmp_o.before), 1272 tmp_regex = new RegExp(tmp_escaped_before, 'g'); 1273 tmp_j = tmp_j.replace(tmp_regex, tmp_o.after); 1274 }) 1275 1276 return (return_type == 'string') ? tmp_j : CSSJSON.toJSON(htmlspecialchars_decode(tmp_j)); 1277 } 1278 1279 this.find = function(j,selector) { 1280 for(var key in j.children) { 1281 // if(key.indexOf(selector)>-1) return j.children[key].attributes['background-image'].trim().replace(/^url\(['"]?/,'').replace(/['"]?\)$/,''); 1282 if(key.indexOf(selector)>-1) { 1283 var r = (typeof j.children[key].attributes['background-image'] != 'undefined' && j.children[key].attributes['background-image']) ? j.children[key].attributes['background-image'].trim() : ''; 1284 if(r.length > 0 && r.match(/url\((.*?)\)/) !== null) r = r.match(/url\((.*?)\)/)[1].replace(/('|")/g,''); 1285 1286 return (r) ? r : ''; 1287 } 1288 } 1289 } 1290
1291 this.setTargetBackground = function(j,selector,val,p) { 1292 val = encodeURIComponent(val); 1293 for(var key in j.children) { 1294 if(key.indexOf(selector)>-1) { 1295 val = encodeURIComponent(val); 1296 j.children[key].attributes['background-image'] = "url(" + p + '/' + val + ")"; 1297 } 1298 } 1299 return j; 1300 } 1301 1302 this.getHex = function(rgb) { 1303 if(rgb == 'transparent') return rgb; 1304 1305 var rgb = this.getRGBobject(rgb), 1306 r = parseInt(rgb.r, 10).toString(16), 1307 g = parseInt(rgb.g, 10).toString(16), 1308 b = parseInt(rgb.b, 10).toString(16); 1309 1310 return '#'+ ( 1311 (r.length == 1 ? '0'+ r : r) + 1312 (g.length == 1 ? '0'+ g : g) + 1313 (b.length == 1 ? '0'+ b : b) 1314 ); 1315 } 1316 1317 this.getRGBobject = function(rgb) { 1318 if(typeof rgb == 'undefined') rgb = 'rgb(255,255,255)'; 1319 rgb = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); 1320 var r = []; 1321 1322 r.r = rgb[1], r.g = rgb[2], r.b = rgb[3]; 1323 return r; 1324 } 1325 1326 this.getRgbaAlpha = function(rgba) { 1327 if(typeof rgba != 'undefined' && rgba && rgba.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i) != null) { 1328 var rgba = rgba.split(','); 1329 return rgba[3].replace(/\)/,''); 1330 } else { 1331 return ''; 1332 } 1333 } 1334 1335 function cutHex(h) {return (h.charAt(0)=='#') ? h.substring(1,7):h} 1336 1337 this.setStyle = function(j,rgb,el) { 1338 var r = parseInt(rgb.r), g = parseInt(rgb.g), b = parseInt(rgb.b), 1339 r1 = (r + 50 < 256) ? r + 50 : 255, 1340 g1 = (g + 50 < 256) ? g + 50 : 255, 1341 b1 = (b + 50 < 256) ? b + 50 : 255, 1342 r2 = (r - 50 > -1 ) ? r - 50 : 0, 1343 g2 = (g - 50 > -1 ) ? g - 50 : 0, 1344 b2 = (b - 50 > -1 ) ? b - 50 : 0,
1345 r3 = (r + 100 < 256 ) ? r + 100 : 255, 1346 g3 = (g + 100 < 256 ) ? g + 100 : 255, 1347 b3 = (b + 100 < 256 ) ? b + 100 : 255; 1348 1349 var c1 = rgb2hex(r,g,b), 1350 c2 = rgb2hex(r1,g1,b1), 1351 c3 = rgb2hex(r2,g2,b2), 1352 c4 = rgb2hex(r3,g3,b3); 1353 1354 if(el == 'el-menu') { 1355 return [c1,c2]; 1356 } else if (el =='rolling-index') { 1357 if(r<80 && g<80 && b<80) return [c1,c4]; 1358 else if (r<150 && g<150 && b<150) return [c1,c2]; 1359 else return [c1,c3]; 1360 } else { 1361 return setStyleValue(j,c1,c2,c3); 1362 } 1363 1364 } 1365 1366 var setStyleValue = function(j,c1,c2,c3) { 1367 $.each(j.children, function(k,v) { 1368 switch(k) { 1369 // color 1370 case '.dsgn-body h3,\n.dsgn-body h4,\n.dsgn-body h5' : 1371 case '.dsgn-body a': 1372 case '.dsgn-body .alternative-font': 1373 case '.dsgn-body div.tabs ul.nav-tabs a,\n.dsgn-body div.tabs ul.nav-tabs a:hover': 1374 v.attributes['color'] = c1; 1375 break; 1376 1377 case '.dsgn-body header ul.nav-main > li:hover > a,\n.dsgn-body header ul.nav-main li.active > a,\n.dsgn-body header ul.nav-main li.active > a:hover,\n.dsgn-body header ul.nav-main li.active > a:focus,\n.dsgn-body header ul.nav-main li.active i.icon-caret-down': 1378 v.attributes['color'] = c1 + ' !important'; 1379 break; 1380 1381 case '.dsgn-body a:hover': 1382 v.attributes['color'] = c2; 1383 break; 1384 1385 case '.dsgn-body a:active': 1386 v.attributes['color'] = c3; 1387 break; 1388 1389 // background-color 1390 case '.dsgn-body .text-bg': 1391 case '.dsgn-body .pagination > .active > a,\n.dsgn-body .pagination > .active > span,\n.dsgn-body .pagination > .active > a:hover,\n.dsgn-body .pagination > .active > span:hover,\n.dsgn-body .pagination > .active > a:focus,\n.dsgn-body .pagination > .active > span:focus': 1392 case '.dsgn-body .label-primary': 1393 v.attributes['background-color'] = c1 + ' !important'; 1394 break; 1395 1396 // background-color + border-color 1397 case '.dsgn-body .btn-primary,\n.dsgn-body .pagination > .active > a,\n.dsgn-body ul.nav-pills > li.active > a': 1398 v.attributes['background-color'] = c1; 1399 v.attributes['border-color'] = '#006da3'; 1400 break; 1401 /*
1402 case '.dsgn-body .btn-primary:hover,\n.dsgn-body .pagination > .active > a:hover,\n.dsgn-body ul.nav-pills > li.active > a:hover': 1403 v.attributes['background-color'] = '#008fd6'; 1404 v.attributes['border-color'] = '#0074ad'; 1405 break; 1406 */ 1407 case '.dsgn-body .btn-primary:focus,\n.dsgn-body .pagination > .active > a:focus,\n.dsgn-body ul.nav-pills > li.active > a:focus': 1408 v.attributes['background-color'] = '#007ab8'; 1409 v.attributes['border-color'] = '#007ab8'; 1410 break; 1411 1412 case '.dsgn-body .btn-default,\n.dsgn-body .btn-default.btn-lg,\n.dsgn-body .btn-default.btn-sm,\n.dsgn-body .btn-default.btn-xs': 1413 case '.dsgn-body .label-default': 1414 v.attributes['border-color'] = c1; 1415 v.attributes['background-color'] = 'transparent'; 1416 v.attributes['color'] = c1; 1417 break; 1418 1419 case '.dsgn-body .btn-default:hover,\n.dsgn-body .btn-default.btn-lg:hover,\n.dsgn-body .btn-default.btn-sm:hover,\n.dsgn-body .btn-default.btn-xs:hover': 1420 v.attributes['border-color'] = c2; 1421 v.attributes['background-color'] = '#0D0D0D'; 1422 v.attributes['color'] = c2; 1423 break; 1424 1425 case '.dsgn-body .btn-default:focus,\n.dsgn-body .btn-default.btn-lg:focus,\n.dsgn-body .btn-default.btn-sm:focus,\n.dsgn-body .btn-default.btn-xs:focus': 1426 v.attributes['border-color'] = c3; 1427 v.attributes['background-color'] = '#000000'; 1428 v.attributes['color'] = c3; 1429 break; 1430 1431 case '.dsgn-body div.tabs ul.nav-tabs a:hover': 1432 v.attributes['border-top-color'] = c1; 1433 break; 1434 1435 case '.dsgn-body div.tabs ul.nav-tabs li.active a': 1436 v.attributes['border-top-color'] = c1; 1437 v.attributes['color'] = c1; 1438 break; 1439 } 1440 }); 1441 return j; 1442 } 1443 1444 this.selectFontForm = function(cls,fn,font) { 1445 if(typeof font=='undefined' || !font) { 1446 // console.log('undefined font-family'); 1447 return false; 1448 } 1449 var tf = font.split(','); 1450 fn = tf[0].replace(/'/g,'').replace(/"/g,'').replace('-',' ').trim(); 1451 var str = ''; 1452 1453 str = '<div class="' + cls + '">'; 1454 for(i=0;i<this.fonts.length;i++) { 1455 fonts_check = (fn==this.fonts[i]) ? 'class="active"' : ''; 1456 var font_tmp = this.fonts[i].replace(/ /g,'-'), 1457 font_name = (font_tmp in $.lang[LANG]) ? $.lang[LANG][font_tmp] : this.fonts[i]; 1458 1459 if(font_name.substring(0,1) != '@') 1460 str = str + '<div value="' + this.fonts[i] + '" ' + fonts_check + ' data-font-family="' + this.fonts[i] + '" style="font-family:' + this.fonts[i] + ';">' + font_name + '</div>'; 1461 else 1462 str = str + '<hr />'; 1463 } 1464 str = str + '</div>'; 1465 return str; 1466 } 1467 1468 this.rgbahex = function(rgb) { 1469 var rgb = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); 1470 return (rgb && rgb.length === 4) ? '#' + 1471 ('0' + parseInt(rgb[1],10).toString(16)).slice(-2) + 1472 ('0' + parseInt(rgb[2],10).toString(16)).slice(-2) + 1473 ('0' + parseInt(rgb[3],10).toString(16)).slice(-2) : ''; 1474 } 1475 1476 this.selectTabsCategoryColorSetForm = function(cls,fn,el,elname,colortype,tab_case) { 1477 var now_palette_html = '', 1478 now_palette_arr = {}, 1479 pn = '', 1480 selector = { 1481 'default': '.'+elname+' .tab', 1482 'active': '.'+elname+' .tab.active', 1483 'hover' : '.'+elname+' .tab.hover,.'+elname+' .tab.active' 1484 }, 1485 default_color = ($('.'+elname).css('color') != 'undefined') ? $('.'+elname).css('color') : $('.dsgn-body').css('color'), 1486 isborder = ($('.'+elname).attr('tab-borderchk') != 'undefined') ? $('.'+elname).attr('tab-borderchk') : 'false', 1487 borderchk = (isborder == 'false') ? 'disabled' : '', 1488 isbackground = ($('.'+elname).attr('tab-backgroundchk') != 'undefined') ? $('.'+elname).attr('tab-backgroundchk') : 'false', 1489 backgroundchk = (isbackground == 'false') ? 'disabled' : ''; 1490 1491 $.each(fn, function(i,v) { 1492 var checkColor = true, 1493 color = v, 1494 tmp_pn = i.match(/gc_color_(.*?)(?:_active|_hover|$)/)[1], 1495 tmp_status = (i.match(/\_active$/) != null) ? 'active' : (i.match(/\_hover$/) != null)? 'hover' : 'default'; 1496 if(tmp_status == 'active') return true; 1497 if(checkColor) { 1498 pn += ((pn != '') ? ',' : '') + i; 1499 } 1500 1501 if(typeof now_palette_arr[tmp_pn] == 'undefined') now_palette_arr[tmp_pn] = []; 1502 var gc_state = (tmp_pn != 'font') ? 'data-gc-state="'+checkColor+'"' : '',
1503 clr_pn = (tmp_pn == 'font') ? 'color' : tmp_pn+'-color', 1504 clr_picker = ''; 1505 1506 if(tab_case == 'tab6') { 1507 if(tmp_pn == 'border') { 1508 if(tmp_status == 'hover') { 1509 clr_picker = getColorisHtml(color,'gcconfig',{'pn':'--tab-bg-hover,--tab-bg-active', 'el':selectEL, 'selector': '.'+elname},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsBorder'}); 1510 } else if(tmp_status == 'active') { 1511 clr_picker = getColorisHtml(color,'gcconfig',{'pn':'--tab-bg-active', 'el':selectEL, 'selector': '.'+elname},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsBorder'}); 1512 } else { 1513 clr_picker = getColorisHtml(color,'gcconfig',{'pn':'--tab-bg-default', 'el':selectEL, 'selector': '.'+elname},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsBorder'}); 1514 } 1515 1516 } else if(tmp_pn == 'background') clr_picker = getColorisHtml(color,'gcconfig',{'pn':clr_pn, 'el':selectEL, 'selector':selector[tmp_status]},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsBackground'}); 1517 else clr_picker = getColorisHtml(color,'gcconfig',{'pn':clr_pn, 'el':selectEL, 'selector':selector[tmp_status]},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsColor'}); 1518 } else { 1519 if(tmp_pn == 'border') clr_picker = getColorisHtml(color,'gcconfig',{'pn':clr_pn, 'el':selectEL, 'selector':selector[tmp_status]},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsBorder'}); 1520 else if(tmp_pn == 'background') clr_picker = getColorisHtml(color,'gcconfig',{'pn':clr_pn, 'el':selectEL, 'selector':selector[tmp_status]},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsBackground'}); 1521 else clr_picker = getColorisHtml(color,'gcconfig',{'pn':clr_pn, 'el':selectEL, 'selector':selector[tmp_status]},'thumbnail',true,{'input':'clr-alpha clr-tooltipoff tabsColor'}); 1522 } 1523 1524 if(tmp_pn == 'border') { 1525 now_palette_arr[tmp_pn].push(` 1526 <div class="${tmp_status}-color ${borderchk}" ${gc_state}> 1527 ${clr_picker} 1528 </div> 1529 `); 1530 } else if(tmp_pn == 'background') { 1531 now_palette_arr[tmp_pn].push(` 1532 <div class="${tmp_status}-color ${backgroundchk}" ${gc_state}> 1533 ${clr_picker} 1534 </div> 1535 `); 1536 } else { 1537 now_palette_arr[tmp_pn].push(` 1538 <div class="${tmp_status}-color 11" ${gc_state}> 1539 ${clr_picker} 1540 </div> 1541 `); 1542 } 1543 }); 1544 1545 $.each(now_palette_arr, function(i, arr) { 1546 if((i == 'border' && isborder == 'true') || (i == 'background' && isbackground == 'true')) var chkbox = '<input type="checkbox" name="chk" class="'+ i +'chk" value="" checked>'; 1547 else var chkbox = '<input type="checkbox" name="chk" class="'+ i +'chk" value="">'; 1548 1549 if(tab_case == 'tab6' || tab_case == 'tab7') { if(i == 'border') i = 'line'; } 1550 if(arr.length == 0 || arr[0].match(/data\-gc\-state\=\"false\"/) != null && arr[1].match(/data\-gc\-state\=\"false\"/) != null) return; 1551 now_palette_html += '\ 1552 <div class="color-line tabs'+ i +'">\ 1553 '; 1554 if(i == 'border' || i == 'line' || i == 'background') now_palette_html += chkbox + '<div class="option_name" lang="'+ LANG +'">'+ $.lang[LANG]['editor.tab.category.'+i] +'</div>'; 1555 else now_palette_html += '<div class="option_name" lang="'+ LANG +'">'+ $.lang[LANG]['editor.tab.category.'+i] +'</div>'; 1556 1557 if(i == 'border' || i == 'line') { 1558 if(tab_case == 'tab6' || tab_case == 'tab7') { 1559 now_palette_html += '\ 1560 <div class="default_color '+ borderchk +'">'+ $.lang[LANG]["bc.tp.block-tab-color.default"] +'</div>'+ arr[0] +'\ 1561 </div>\ 1562 '; 1563 } else { 1564 now_palette_html += '\ 1565 <div class="default_color '+ borderchk +'">'+ $.lang[LANG]["bc.tp.block-tab-color.default"] +'</div>'+ arr[0] +'\ 1566 <div class="hover_color '+ borderchk +'">'+ $.lang[LANG]["bc.tp.block-tab-color.rollover-active"] +'</div>'+ arr[1] +'\ 1567 </div>\ 1568 '; 1569 } 1570 } else if(i == 'background') { 1571 now_palette_html += '\ 1572 <div class="default_color '+ backgroundchk +'">'+ $.lang[LANG]["bc.tp.block-tab-color.default"] +'</div>'+ arr[0] +'\ 1573 <div class="hover_color '+ backgroundchk +'">'+ $.lang[LANG]["bc.tp.block-tab-color.rollover-active"] +'</div>'+ arr[1] +'\ 1574 </div>\ 1575 '; 1576 } else { 1577 now_palette_html += '\ 1578 <div class="default_color">'+ $.lang[LANG]["bc.tp.block-tab-color.default"] +'</div>'+ arr[0] +'\ 1579 <div class="hover_color">'+ $.lang[LANG]["bc.tp.block-tab-color.rollover-active"] +'</div>'+ arr[1] +'\ 1580 </div>\ 1581 '; 1582 } 1583 1584 }); 1585 1586 var colorset = ['black', 'gray', 'white', '']; 1587 $.each(colorset, function(i, v) { 1588 colorset[i] = (v == colortype) ? 'active' : ''; 1589 }); 1590 1591 var str = '\ 1592 <div class="btn-group btn-group-sm">\ 1593 <div class="btn-color-mode ' + colorset[0] + '">\ 1594 <button type="button" class="ctrl-tabs-color" data-type="black" data-elname="' + elname + '" data-pn="' + pn + '"></button>\ 1595 </div>\ 1596 <div class="btn-color-mode ' + colorset[1] + '">\ 1597 <button type="button" class="ctrl-tabs-color" data-type="gray" data-elname="' + elname + '" data-pn="' + pn + '"></button>\ 1598 </div>\ 1599 <div class="btn-color-mode ' + colorset[2] + '">\ 1600 <button type="button" class="ctrl-tabs-color" data-type="white" data-elname="' + elname + '" data-pn="' + pn + '" data-toggle="tooltip" data-placement="top" data-html="true" data-original-title="'+ $.lang[LANG]["bc.tp.block-tab-color.white.info"] +'"></button>\ 1601 </div>\ 1602 <div class="btn-color-mode btn-group now-color-palette ' + colorset[3] + '">\ 1603 <button type="button" class="ctrl-tabs-color" data-type="custom">
1603'+ initSVGIcon('cog_15','bc-svg-config')+ '</button>\ 1604 <div class="dropdown-menu tabDrop '+ LANG +'">\ 1605 <div class="color-picker-wrap">\ 1606 ' + now_palette_html + '\ 1607 </div>\ 1608 </div>\ 1609 </div>\ 1610 </div>\ 1611 '; 1612 1613 return str; 1614 } 1615 1616 this.selectTabsNaviColorSetForm = function(cls,fn,el,elname,colortype,tab_case) { 1617 var now_palette_html = '', 1618 clr_picker = '', 1619 pn = 'fill', 1620 selector = '.'+elname+'[navigation-use=\'1\'] .left-arrow .before, .'+elname+'[navigation-use=\'1\'] .right-arrow .after', 1621 color = fn; 1622 1623 clr_picker = getColorisHtml(color,'tabsconfig',{'pn':pn, 'el':selectEL, 'selector':selector},'thumbnail',true,{'input':'clr-alphaoff clr-tooltipoff arrowColor'}); 1624 now_palette_html += ` 1625 <div class="arrow-color"> 1626 ${clr_picker} 1627 </div> 1628 `; 1629 1630 var str = '\ 1631 <div class="btn-group btn-group-sm">\ 1632 <div class="color-picker-wrap">\ 1633 ' + now_palette_html + '\ 1634 </div>\ 1635 </div>\ 1636 '; 1637 1638 return str; 1639 } 1640 1641 this.selectCalendarLine = function(cls,fn,elname) { 1642 var now_palette_html = '', 1643 clr_picker = '', 1644 pn = '--fc-border-color', 1645 selector = '.'+elname+' .fc', 1646 color = fn; 1647 1648 clr_picker = getColorisHtml(color,'calendarconfig',{'pn':pn, 'el':selectEL, 'selector':selector},'thumbnail',true,{'input':'clr-alphaoff clr-tooltipoff'}); 1649 now_palette_html += ` 1650 <div class="calendar-line-color"> 1651 ${clr_picker} 1652 </div> 1653 `; 1654 1655 var str = '\ 1656 <div class="btn-group btn-group-sm">\ 1657 <div class="color-picker-wrap">\ 1658 ' + now_palette_html + '\ 1659 </div>\ 1660 </div>\ 1661 '; 1662 1663 return str; 1664 } 1665 1666 this.selectGoogleCalendarSync = function(cls,fn,elname) { 1667 var now_palette_html = '', 1668 clr_picker = '', 1669 pn = '--google-sync-color', 1670 selector = '.'+elname+' .fc', 1671 color = fn; 1672 1673 clr_picker = getColorisHtml(color,'googlecalendarsync',{'pn':pn, 'el':selectEL, 'selector':selector},'thumbnail',true,{'input':'clr-alphaoff clr-tooltipoff'}); 1674 now_palette_html += ` 1675 <div class="calendar-line-color"> 1676 ${clr_picker} 1677 </div> 1678 `; 1679 1680 var str = '\ 1681 <div class="btn-group btn-group-sm">\ 1682 <div class="color-picker-wrap">\ 1683 ' + now_palette_html + '\ 1684 </div>\ 1685 </div>\ 1686 '; 1687 1688 return str; 1689 } 1690 1691 this.selectModooCalendarSetForm = function(fn, elname) { 1692 var now_palette_html = '', 1693 clr_picker = '', 1694 pn = '--site-theme-color', 1695 selector = '.'+elname, 1696 color = fn; 1697 1698 clr_picker = getColorisHtml(color,'modooCalendar',{'pn':pn, 'el':selectEL, 'selector':selector},'thumbnail',true,{'input':'clr-alphaoff clr-tooltipoff'}); 1699 now_palette_html += ` 1700 <div class="arrow-color"> 1701 ${clr_picker} 1702 </div> 1703 `; 1704 1705 var str = '\ 1706 <div class="btn-group btn-group-sm">\ 1707 <div class="color-picker-wrap">\ 1708 ' + now_palette_html + '\ 1709 </div>\ 1710 </div>\ 1711 '; 1712 1713 return str; 1714 } 1715 1716 this.selectTextAlignForm = function(cls,fn,elname) { 1717 elname = (elname=='none' || typeof elname=='undefined') ? '.dsgn-body' : elname; 1718 var text_align_undefined = ['start', '-webkit-auto']; 1719 1720 var ta = ($(elname).css('text-align') && $.inArray($(elname).css('text-align'),text_align_undefined)==-1) ? $(elname).css('text-align') : 'left', 1721 ta_l = (ta == 'left') ? 'active' : '', 1722 ta_c = (ta == 'center') ? 'active' : '', 1723 ta_r = (ta == 'right') ? 'active' : ''; 1724 1725 var str = ''; 1726 1727 str = '\ 1728 <div class="btn-group btn-group-sm" data-toggle="buttons" role="group" aria-label="gallery category align">\ 1729 <label class="ctrl-text-align-el btn btn-default '+ta_l+'" data-text-align="left" data-elname="'+elname+'" data-toggle="tooltip" data-placement="bottom" data-original-title="'+ $.lang[LANG]['bc.canvas.img.align.left'] +'"><input type="radio" name="gcalign" id="gcAlignLeft" autocomplete="off" /><img class="fa" src="https://storage.googleapis.com/i.addblock.net/icon-align-left.gif" alt="gallery category align left" /><img class="fa on" src="https://storage.googleapis.com/i.addblock.net/icon/icon-align-left_on.gif" alt="gallery category align left" /></label>\ 1730 <label class="ctrl-text-align-el btn btn-default '+ta_c+'" data-text-align="center" data-elname="'+elname+'" data-toggle="tooltip" data-placement="bottom" data-original-title="'+ $.lang[LANG]['bc.canvas.img.align.center'] +'"><input type="radio" name="gcalign" id="gcAlignCenter" autocomplete="off" /><img class="fa" src="https://storage.googleapis.com/i.addblock.net/icon-align-center.gif" alt="gallery category align center" /><img class="fa on" src="https://storage.googleapis.com/i.addblock.net/icon/icon-align-center_on.gif" alt="gallery category align center" /></label>\ 1731 <label class="ctrl-text-align-el btn btn-default '+ta_r+'" data-text-align="right" data-elname="'+elname+'" data-toggle="tooltip" data-placement="bottom" data-original-title="'+ $.lang[LANG]['bc.canvas.img.align.right'] +'"><input type="radio" name="gcalign" id="gcAlignRight" autocomplete="off" /><img class="fa" src="https://storage.googleapis.com/i.addblock.net/icon-align-right.gif" alt="gallery category align right" /><img class="fa on" src="https://storage.googleapis.com/i.addblock.net/icon/icon-align-right_on.gif" alt="gallery category align right" /></label>\ 1732 </div>\ 1733 '; 1734 return str; 1735 } 1736 1737 this.selectTabAlignForm = function(cls,fn,elname) { 1738 elname = (elname=='none' || typeof elname=='undefined') ? '.dsgn-body' : elname; 1739 1740 var ta = ($(elname).css('justify-content')) ? $(elname).css('justify-content') : 'center', 1741 ta_l = (ta == 'flex-start') ? 'checked' : '', 1742 ta_c = (ta == 'center') ? 'checked' : '', 1743 ta_r = (ta == 'flex-end') ? 'checked' : ''; 1744 1745 var str = ''; 1746 1747 str = '\ 1748 <div class="btn-group btn-group-sm" data-toggle="buttons" role="group" aria-label="gallery category align">\ 1749 <label class="ctrl-tab-align-el '+LANG+'" data-tab-align="flex-start" data-elname="'+elname+'"><input type="radio" name="gcalign" value="left" id="gcAlignLeft" '+ta_l+' />
1749<span>'+ $.lang[LANG]['config.label.align.left'] +'</span></label>\ 1750 <label class="ctrl-tab-align-el '+LANG+'" data-tab-align="center" data-elname="'+elname+'"><input type="radio" name="gcalign" value="center" id="gcAlignCenter" '+ta_c+' /><span>'+ $.lang[LANG]['config.label.align.center'] +'</span></label>\ 1751 <label class="ctrl-tab-align-el '+LANG+'" data-tab-align="flex-end" data-elname="'+elname+'"><input type="radio" name="gcalign" value="right" id="gcAlignRight" '+ta_r+' /><span>'+ $.lang[LANG]['config.label.align.right'] +'</span></label>\ 1752 </div>\ 1753 '; 1754 return str; 1755 } 1756 1757 1758 this.getRootLineheight = function(v,fsize) { 1759 var _txlineheight = v, 1760 _txfontsize = fsize; 1761 _txfontsize = parseInt(_txfontsize.replace('px','')); 1762 1763 if(_txlineheight.indexOf('%') > -1) _txlineheight = _txlineheight.replace('%',''); 1764 else if(_txlineheight.indexOf('px') > -1) _txlineheight = (parseFloat(_txlineheight.replace('px','').toFixed(3)) / _txfontsize) * 100; 1765 else if(_txlineheight.indexOf('.') > -1) _txlineheight = parseFloat(_txlineheight) * 100; 1766 1767 return parseInt(_txlineheight); 1768 } 1769 this.selectRootFontForm = function(fel,fselector,fname,froot) { 1770 if(FONTS != this.fonts) { 1771 this.fonts = FONTS ; 1772 } 1773 1774 if(typeof fel == 'undefined' || fel == '' || $('.'+fel).length == 0) fel = 'dsgn-body'; 1775 if(typeof fselector == 'undefined' || fselector == '' || $('.'+fselector).length == 0) fselector = fel; 1776 1777 var tf = (fselector == 'dsgn-body') ? $('.'+fselector).css('font-family') : fname; 1778 if(tf==null) { 1779 alert('Block config error : ' + elname + '\r\nstyle.js line: 306'); 1780 return false; 1781 } 1782 tf = explode(",",tf); 1783 1784 var fn_name = tf[0], 1785 str = ''; 1786 for(i=0;i<this.fonts.length;i++) { 1787 var fonts_check = '', 1788 font_tmp = this.fonts[i].replace(/ /g,'-'), 1789 font_name = (font_tmp in $.lang[LANG]) ? $.lang[LANG][font_tmp] : this.fonts[i]; 1790 1791 if(fname == this.fonts[i]) { 1792 fonts_check = 'active'; 1793 fn_name = font_name; 1794 } 1795 1796 if(font_name.substring(0,1) != '@') 1797 str = str + '<li class="el-root-font ' + fonts_check + '" el="' + fel + '" selector=".' + fselector + '" data-root="' + froot + '" data-val="' + this.fonts[i] + '" style="font-family:\'' + this.fonts[i] + '\';"><a href="javascript:;">' + font_name + '</a></li>'; 1798 else 1799 str = str + '<li class="dividers"><hr /></li>'; 1800 } 1801 1802 return '\ 1803 <div class="btn-group">\ 1804 <button type="button" class="btn btn-default dropdown-toggle font-preview" data-toggle="dropdown"><span class="el-root-font-active" data-root="' + froot + '" style="font-family:\'' + fname + '\'">' + fn_name + '</span> <svg viewBox="0 0 13 13" width="13" height="13"><g><path d="m6.5 9.55-4.7-4.7 1.4-1.4 3.3 3.3 3.3-3.3 1.4 1.4-4.7 4.7z"/></path></g></svg></button>\ 1805 <ul class="dropdown-menu scrollable-menu" role="menu">\ 1806 ' + str + '\ 1807 </ul>\ 1808 <div class="default-language-box"><span class="btn-default-language"><img src="https://storage.googleapis.com/i.addblock.net/icon/fa_plus_icon_b.png" alt="" /> '+ $.lang[LANG]['editor.languages-support'] +'</span></div>\ 1809 </div>\ 1810 '; 1811 } 1812 1813 1814 this.selectFontSizeForm = function(cls,elselector,fs,max_fs) { 1815 fs = (typeof fs != 'undefined' && /^[0-9]+$/.test(fs)) ? Number(fs) : 0; 1816 max_fs = (typeof max_fs != 'undefined' && /^[0-9]+$/.test(max_fs)) ? Number(max_fs) : 80; 1817 1818 var fs_li = ''; 1819 for (var i = 10; i <= max_fs; i++){ 1820 fs_li += `<li class="${(i == fs) ? 'active' : ''}" data-fontselect="${i}"><a>${i}</a></li>`; 1821 } 1822 1823 return ` 1824 <div class="btn-group"> 1825 <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 1826 <span class="${cls} " pn="font-size" data-slider-max="${max_fs}" selector="${elselector}">${fs}</span> 1827 <svg viewBox="0 0 13 13" width="13" height="13"><g><path d="m6.5 9.55-4.7-4.7 1.4-1.4 3.3 3.3 3.3-3.3 1.4 1.4-4.7 4.7z"/></path></g></svg> 1828 </button> 1829 <ul class="dropdown-menu scrollable-menu">${fs_li}</ul> 1830 </div> 1831 `; 1832 } 1833 1834 this.selectLatestFontSizeTitle = function(cls,elselector,fs,max_fs) { 1835 fs = (typeof fs != 'undefined' && /^[0-9]+$/.test(fs)) ? Number(fs) : 0; 1836 max_fs = (typeof max_fs != 'undefined' && /^[0-9]+$/.test(max_fs)) ? Number(max_fs) : 80; 1837 1838 var fs_li = ''; 1839 for (var i = 10; i <= max_fs; i++){ 1840 fs_li += `<li class="${(i == fs) ? 'active' : ''} ${cls}" data-elname="${elselector} .latest-table-header .lt-header" data-fontselect="${i}"><a>${i}</a></li>`; 1841 } 1842 1843 return ` 1844 <div class="btn-group"> 1845 <button type="button" class="btn btn-default dropdown-toggle font-preview-size" data-toggle="dropdown"> 1846 <span class="ctrl-title-font-size-el-active " pn="font-size" data-sli
1846der-max="${max_fs}" selector="${elselector}">${fs}</span> 1847 <svg viewBox="0 0 13 13" width="13" height="13"><g><path d="m6.5 9.55-4.7-4.7 1.4-1.4 3.3 3.3 3.3-3.3 1.4 1.4-4.7 4.7z"/></path></g></svg> 1848 </button> 1849 <ul class="dropdown-menu scrollable-menu">${fs_li}</ul> 1850 </div> 1851 `; 1852 } 1853 1854 this.selectLatestFontSize = function(cls,elselector,fs,max_fs) { 1855 fs = (typeof fs != 'undefined' && /^[0-9]+$/.test(fs)) ? Number(fs) : 0; 1856 max_fs = (typeof max_fs != 'undefined' && /^[0-9]+$/.test(max_fs)) ? Number(max_fs) : 80; 1857 1858 var fs_li = ''; 1859 for (var i = 10; i <= max_fs; i++){ 1860 fs_li += `<li class="${(i == fs) ? 'active' : ''} ${cls}" data-elname="${elselector} .latest-post-list-title" data-eldate="${elselector} .latest-post-list-date" data-fontselect="${i}"><a>${i}</a></li>`; 1861 } 1862 1863 return ` 1864 <div class="btn-group"> 1865 <button type="button" class="btn btn-default dropdown-toggle font-preview-size" data-toggle="dropdown"> 1866 <span class="ctrl-font-size-el-active " pn="font-size" data-slider-max="${max_fs}" selector="${elselector}">${fs}</span> 1867 <svg viewBox="0 0 13 13" width="13" height="13"><g><path d="m6.5 9.55-4.7-4.7 1.4-1.4 3.3 3.3 3.3-3.3 1.4 1.4-4.7 4.7z"/></path></g></svg> 1868 </button> 1869 <ul class="dropdown-menu scrollable-menu">${fs_li}</ul> 1870 </div> 1871 `; 1872 } 1873 1874 this.selectFontSelectForm = function(cls,fn,elname) { 1875 1876 if(FONTS != this.fonts) { 1877 this.fonts = FONTS ; 1878 } 1879 elname = (elname=='none' || typeof elname=='undefined') ? '.dsgn-body' : elname; 1880 var tf = $(elname).css('font-family'); 1881 1882 if(cls=='ctrl-font-family-el') tf = fn; 1883 1884 if(tf==null) { 1885 alert('Block config error : ' + elname + '\r\nstyle.js line: 306'); 1886 return false; 1887 } 1888 tf = explode(",",tf); 1889 1890 var fn_name = fn.replace(/\"/gi, ""), 1891 str = ''; 1892 for(i=0;i<this.fonts.length;i++) { 1893 var fonts_check = '', 1894 font_tmp = this.fonts[i].replace(/ /g,'-'), 1895 font_name = (font_tmp in $.lang[LANG]) ? $.lang[LANG][font_tmp] : this.fonts[i]; 1896 1897 if(fn==this.fonts[i]) { 1898 fonts_check = 'active'; 1899 fn_name = font_name; 1900 } 1901 1902 if(font_name.substring(0,1) != '@') 1903 str = str + '<li class="' + cls + ' ' + fonts_check + '" data-elname="' + elname + '" data-font-family="' + this.fonts[i] + '" style="font-family:\'' + this.fonts[i] + '\';"><a href="javascript:;">' + font_name + '</a></li>'; 1904 else 1905 str = str + '<li class="dividers"><hr /></li>'; 1906 } 1907 1908 return '\ 1909 <div class="btn-group">\ 1910 <button type="button" class="btn btn-default dropdown-toggle font-preview font-preview-family" data-toggle="dropdown"><span class="' + cls + '-active" style="font-family:\'' + fn + '\'">' + fn_name + '</span> <svg viewBox="0 0 13 13" width="13" height="13"><g><path d="m6.5 9.55-4.7-4.7 1.4-1.4 3.3 3.3 3.3-3.3 1.4 1.4-4.7 4.7z"/></path></g></svg></button>\ 1911 <ul class="dropdown-menu scrollable-menu" role="menu">\ 1912 ' + str + '\ 1913 </ul>\ 1914 <div class="default-language-box"><span class="btn-default-language"><img src="https://storage.googleapis.com/i.addblock.net/icon/fa_plus_icon_b.png" alt="" /> '+ $.lang[LANG]['editor.languages-support'] +'</span></div>\ 1915 </div>\ 1916 '; 1917 } 1918 1919 this.selectBackgroundSelectForm = function(type,id,val,elname,ctrl_class) { 1920 // var position = ['left top','left center','left bottom','center top','center center','center bottom','right top','right center','right bottom'], 1921 var position = ['left top','center top','right top','left center','center center','right center','left bottom','center bottom','right bottom'], 1922 repeat = ['repeat','repeat-x','repeat-y','no-repeat'], 1923 bgsize = ['auto','cover','contain'], 1924 property = []; 1925 1926 elname = (typeof elname == 'undefined') ? '' : elname; 1927 ctrl_class = (typeof ctrl_class == 'undefined') ? '' : ctrl_class; 1928 langCtrl = ''; 1929 switch(type) { 1930 case 'position' : 1931 property = position; 1932 langCtrl = type; 1933 1934 var position_center = ['initial', '50% 50%', '50%', 'center']; 1935 val = ($.inArray(val, position_center) > -1) ? 'center center' : val; 1936 1937 var position_svg = '<svg viewBox="0 0 22 22" width="22" height="22">\ 1938 <rect width="6" height="6" class="bp-left-top" />\ 1939 <rect width="6" height="6" class="bp-center-top" x="8" />\ 1940 <rect width="6" height="6" class="bp-right-top" x="16" />\ 1941 <rect width="6" height="6" class="bp-left-center" y="8" />\ 1942 <rect width="6" height="6" class="bp-center-center" x="8" y="8" />\ 1943 <rect width="6" height="6" class="bp-right-center" x="16" y="8" />\ 1944 <rect width="6" height="6" class="bp-left-bottom" y="16" />\ 1945 <rect width="6" height="6" class="bp-center-bottom" x="8" y="16" />\ 1946 <rect width="6" height="6" class="bp-right-bottom" x="16" y="16" />\ 1947 </svg>', 1948 position_icon = '<span class="bc-bp-icon bc-svg" data-bp="' + val + '">' + position_svg + '</span>', 1949 position_str = '' 1950 position_html = ''; 1951
1952 for(i=0;i<property.length;i++) { 1953 var check = (property[i]==val) ? 'selected' : '', 1954 strlang = 'editor.background.' + langCtrl + '.' + property[i].replace(' ','-'); 1955 if(check) position_str = $.lang[LANG][strlang]; 1956 1957 position_html += '\ 1958 <li data-value="' + property[i] + '" data-name="' + $.lang[LANG][strlang] + '"><span></span></li>\ 1959 '; 1960 } 1961 1962 var bp_idx = $('#el-blockConfig').find('.dropdown-toggle[id^=bcBackgroundPosition]').length, 1963 str = '\ 1964 <a class="bc-bp-select btn dropdown-toggle" href="#" role="button" id="bcBackgroundPosition' + bp_idx + '" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">' + position_icon + ' <span class="bc-bp-active">' + ((!position_str) ? val : position_str) + '</span></a>\ 1965 <div class="bc-bp-option dropdown-menu" aria-labelledby="bcBackgroundPosition' + bp_idx + '">\ 1966 <ul data-bp="' + val + '" data-id="' + id + '" data-elname="' + elname + '" >\ 1967 ' + position_html + '\ 1968 </ul>\ 1969 <p class="bc-bp-active">' + position_str + '</p>\ 1970 </div>\ 1971 '; 1972 1973 return str; 1974 break; 1975 1976 case 'repeat' : 1977 property = repeat; 1978 langCtrl = type; 1979 val = (val=='initial') ? 'no-repeat' : val; 1980 break; 1981 1982 case 'bgsize' : 1983 property = bgsize; 1984 langCtrl = 'size'; 1985 val = (val=='initial') ? 'cover' : val; 1986 break; 1987 } 1988 1989 // var str = '<select class="form-control property-form ' + ctrl_class + '" id="' + id + '" data-elname="' + elname + '">'; 1990 // for(i=0;i<property.length;i++) { 1991 // check = (property[i]==val) ? 'selected' : ''; 1992 // var strlang = 'editor.background.' + langCtrl + '.' + property[i].replace(' ','-'); 1993 // str = str + '<option value="' + property[i] + '" ' + check + '>' + $.lang[LANG][strlang] + '</option>'; 1994 // } 1995 // str = str + '</select>'; 1996 1997 var dropdown_html = ''; 1998 for(i=0;i<property.length;i++) { 1999 check = (property[i]==val) ? 'selected' : ''; 2000 var strlang = 'editor.background.' + langCtrl + '.' + property[i].replace(' ','-'); 2001 if(check) check_str = $.lang[LANG][strlang]; 2002 2003 dropdown_html += '<li data-name="' + $.lang[LANG][strlang] + '" data-value="' + property[i] + '" ' + check + '>' + $.lang[LANG][strlang] + '</li>'; 2004 } 2005 2006 var str = '\ 2007 <a class="bc-bg-select btn dropdown-toggle ' + ctrl_class + '" href="#" role="button" id="' + id + '" data-elname="' + elname + '" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\ 2008 <span class="bc-bg-active">' + ((!check_str) ? val : check_str) + '</span>\ 2009 </a>\ 2010 <div class="bc-bg-option dropdown-menu" aria-labelledby="' + id + '">\ 2011 <ul data-id="' + id + '" data-elname="' + elname + '" >\ 2012 ' + dropdown_html + '\ 2013 </ul>\ 2014 </div>\ 2015 '; 2016 2017 return str; 2018 } 2019 2020 var hex2rgb = function(hex) { 2021 if (hex.lastIndexOf('#') > -1) { 2022 hex = hex.replace(/#/, '0x'); 2023 } else { 2024 hex = '0x' + hex; 2025 } 2026 var r = hex >> 16; 2027 var g = (hex & 0x00FF00) >> 8; 2028 var b = hex & 0x0000FF; 2029 return rgb = { r : r, g : g, b : b}; 2030 } 2031 2032 var rgb2hex = function(r,g,b) { 2033 return '#' + 2034 ('0' + parseInt(r,10).toString(16)).slice(-2) + 2035 ('0' + parseInt(g,10).toString(16)).slice(-2) + 2036 ('0' + parseInt(b,10).toString(16)).slice(-2); 2037 } 2038 2039 var initObject = function(j,selector) { 2040 if(typeof j['children'][selector] == 'undefined') { 2041 j['children'][selector] = {}; 2042 j['children'][selector]['attributes'] = {}; 2043 } 2044 return j; 2045 } 2046 2047 var trim = function(str) { 2048 return str.replace(/^\s+|\s+$/g, ''); 2049 } 2050 2051 this.getBorderColor = function(selector) { 2052 var is_indicator = (selector.indexOf('carousel-indicators li') != -1 && $(selector).parents('.carousel-indicators').attr('data-indicator')=='background') ? true : false, 2053 rgbExp = /rgb\(\d{1,3}\,\s?\d{1,3}\,\s?\d{1,3}\)\s*/, 2054 rgbExp = /^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/, 2055 color = (is_indicator) ? $(selector).css('background-color') : $(selector).css('border-top-color'); 2056 2057 if(!is_indicator) { 2058 var checkBorder = { 2059 all : ($(selector).css('border-width') != '0px') ? true : false, 2060 top : ($(selector).css('border-top-width') != '0px' && $(selector).css('border-top-color') != 'rgba(0, 0, 0, 0)') ? true : false, 2061 right : ($(selector).css('border-right-width') != '0px' && $(selector).css('border-right-color') != 'rgba(0, 0, 0, 0)') ? true : false, 2062 bottom : ($(selector).css('border-bottom-width') != '0px'&& $(selector).css('border-bottom-color') != 'rgba(0, 0, 0, 0)') ? true : false, 2063 left : ($(selector).css('border-left-width') != '0px' && $(selector).css('border-left-color') != 'rgba(0, 0, 0, 0)') ? true : false, 2064 } 2065 if(!checkBorder.all) return ''; 2066 else if(!checkBorder.top) { 2067 if(checkBorder.right) color = $(selector).css('border-right-color'); 2068 else if(checkBorder.bottom) color = $(selector).css('border-bottom-color'); 2069 else if(checkBorder.left) color = $(selector).css('border-left-color'); 2070 } 2071 } 2072 2073 if($(selector).length == 0) color = 'rgb(0,0,0)'; 2074 2075 var colorMatch = color.match(rgbExp); 2076 2077 if(colorMatch == null) return ''; 2078 else { 2079 var colorHex = this.getHex(colorMatch[0].trim()); 2080 return colorHex; 2081 } 2082 } 2083 2084 this.getAttributesMoreBtnColor = function(j,selector,key,hover) { 2085 if(!j['children'][selector]) { 2086 $.each(j['children'], function(s,o) { 2087 if(s.indexOf(selector) > -1) j['children'][selector] = o; 2088 }); 2089 } 2090 var selector_ori = (hover) ? selector.substring(0,selector.indexOf(':hover')) : '', 2091 color_val = '', 2092 opacity_val = ''; 2093 switch(key) { 2094 case 'color' : 2095 color_val = (j['children'][selector]) ? j['children'][selector]['attributes'][key] : ''; 2096 if(!color_val && hover) { 2097 color_val = (j['children'][selector_ori]) ? j['children'][selector_ori]['attributes'][key] : ''; 2098 } 2099 if(color_val == 'inherit') color_val = '#aaa'; 2100 if(!color_val) { 2101 if(hover) color_val = '#fff'; else color_val = '#aaa'; 2102 } 2103 break; 2104 2105 case 'background-color' : 2106 color_val = (j['children'][selector] && j['children'][selector]['attributes'][key]) ? j['children'][selector]['attributes'][key] : ''; 2107 2108 if(color_val.indexOf('#')>-1) { 2109 opacity_val = (j['children'][selector]) ? ((typeof j['children'][selector]['attributes']['opacity']!='undefined' && j['children'][selector]['attributes']['opacity']) ? j['children'][selector]['attributes']['opacity'] : j['children'][selector]['attributes']['opacity_re']) : ''; 2110 } 2111 2112 if(!color_val && hover) { 2113 color_val = (j['children'][selector_ori]) ? j['children'][selector_ori]['attributes'][key] : ''; 2114 } 2115 2116 if(!color_val) { 2117 if(hover) color_val = '#000'; else color_val = '#E5E5E5'; 2118 } 2119 break; 2120 2121 case 'border-color' : 2122 if(j['children'][selector]) { 2123 key = (typeof j['children'][selector]['attributes']['border-color'] != 'undefined') ? 'border-color' : 'border'; 2124 color_val = j['children'][selector]['attributes'][key]; 2125 } else { 2126 key = 'border'; 2127 color_val = ''; 2128 } 2129 2130 var regexRgba = /(rgb(a)?)(\([0-999]*\,[0-999]*\,[0-999]*(\,\d*[.]?\d{1,2})?)\)|(#[0-9a-f]{3,6})|(transparent)|(none)/gi; 2131 2132 if(!color_val) { 2133 border_css = (j['children'][selector]) ? j['children'][selector]['attributes']['border'] : ''; 2134 if(hover && !border_css) { 2135 color_val = (j['children'][selector_ori]) ? j['children'][selector_ori]['attributes'][key] : ''; 2136 color_val = (color_val) ? ((color_val.match(regexRgba)) ? color_val.match(regexRgba)[0] : 'rgba(255,255,255,1)') : ''; 2137 if(!color_val) border_css = (j['children'][selector_ori]) ? j['children'][selector_ori]['attributes']['border'] : ''; 2138 } 2139 if(border_css) { 2140 border_arry = border_css.toString().split(" "); 2141 $.each(border_arry, function(i,v){ 2142 if(v.indexOf('#') > -1 || v.indexOf('transparent') > -1 || v.indexOf('none') > -1) color_val = v; 2143 }); 2144 } 2145 } else { 2146 color_val = (color_val.match(regexRgba)) ? color_val.match(regexRgba)[0] : ((color_val.indexOf('none')>-1) ? 'rgba(255,255,255,0)' : 'rgba(255,255,255,1)'); 2147 } 2148 2149 if(!color_val) color_val = ''; 2150 break; 2151 } 2152 2153 var setbg_color_array = [], 2154 bg_array = [], 2155 bg_info = {}; 2156 2157 bg_array = getRgbaValArray(color_val,opacity_val); 2158 bg_info = getColorAndOpacity('','','',bg_array); 2159 2160 return bg_info; 2161 } 2162 2163 this.getMenuNavbarStyle = function(sid,css,obj) { 2164 var m_reg = new RegExp('.menu-'+sid+'[a-zA-Z. -]+(.navbar-nav[\> ]+li[\> ]+a)','gi'); 2165 m_property = { 2166 txColor : '', 2167 txSize : 0, 2168 txName : '', 2169 }; 2170 2171 $.each(css['children'], function(s,o) { 2172 var checkMenuNavbar = m_reg.test(s); 2173 if(checkMenuNavbar) { 2174 if(typeof o['attributes']['font-family'] != 'undefined' && o['attributes']['font-family']) m_property.txName = o['attributes']['font-family'].replace(/'/g,'').replace(/"/g,''); 2175 if(typeof o['attributes']['font-size'] != 'undefined' && o['attributes']['font-size']) m_property.txSize = o['attributes']['font-size'].replace('px',''); 2176 if(typeof o['attributes']['color'] != 'undefined' && o['attributes']['color']) m_property.txColor = o['attributes']['color']; 2177 } 2178 }); 2179 2180 return m_property; 2181 } 2182 2183 this.getMenuClFixbtnStyle = function(sid,css) { 2184 var fixbtn_color = {'selector' : '','pn':''}; 2185 $.each(css['children'], function(key,value) { 2186 if(key.match(/cl-fixbtn|mobilenav_top/gi)!=null) { 2187 if(key.match(/:hover/gi)!=null || key.match(/cart-active/gi)!=null) return; 2188 var pn_array = ['color','background-color','border-color','fill'], 2189 c = value['attributes'], 2190 pn_val = '', 2191 pns_cssopt = [], 2192 change_obj = []; 2193 2194 $.each(c,function(pn,val){ 2195 if($.inArray(pn,pn_array)>-1) { 2196 pns_cssopt.push(pn); 2197 pn_val = val; 2198 } 2199 }); 2200 2201 var check_str = (fixbtn_color['selector']!='') ? ',' : ''; 2202 fixbtn_color = {'selector' : fixbtn_color['selector'] + check_str + key +'('+pns_cssopt.join('/')+')'}; 2203 2204 } 2205 }); 2206 2207 return fixbtn_color; 2208 } 2209 2210 this.getPadding = function(j,selector) { 2211 var padding = { 2212 top : 0, 2213 bottom : 0, 2214 left : 0, 2215 right : 0 2216 2217 } 2218 selector = '.' + selector; 2219 j = initObject(j,selector); 2220 2221 $.each(j['children'][selector]['attributes'], function(k,v) { 2222 if(v == '' || v == 'initial') v = 0; 2223 switch(k) { 2224 case 'padding-top': 2225 v = v.replace(/px/g,''); 2226 padding.top = v; 2227 break; 2228 case 'padding-bottom': 2229 v = v.replace(/px/g,''); 2230 padding.bottom = v; 2231 break; 2232 case 'padding': 2233 v = v.replace(/px/g,''); 2234 var p = v.split(' '); 2235 2236 switch(p.length) { 2237 case 1: 2238 padding.top = p[0]; 2239 padding.right = p[0]; 2240 padding.bottom = p[0]; 2241 padding.left = p[0]; 2242 break; 2243 case 2: 2244 padding.top = p[0]; 2245 padding.right = p[1]; 2246 padding.bottom = p[0]; 2247 padding.left = p[1]; 2248 break; 2249 case 3: 2250 padding.top = p[0]; 2251 padding.right = p[1]; 2252 padding.bottom = p[2]; 2253 padding.left = p[1]; 2254 break; 2255 case 4: 2256 padding.top = p[0]; 2257 padding.right = p[1]; 2258 padding.bottom = p[2]; 2259 padding.left = p[3]; 2260 break; 2261 } 2262 break; 2263 } 2264 }); 2265 return padding; 2266 } 2267 this.getUserFontsArr = function(cls,fn) { 2268 if(FONTS != this.fonts) { 2269 this.fonts = FONTS ; 2270 } 2271 2272 var arr = {}; 2273 2274 for(i=0;i<this.fonts.length;i++) { 2275 var font_tmp = this.fonts[i].replace(/ /g,'-'), 2276 font_name = (font_tmp in $.lang[LANG]) ? $.lang[LANG][font_tmp] : this.fonts[i]; 2277 2278 if(font_name.substring(0,1) != '@') 2279 // str = str + "<li class='" + cls + " " + fonts_check + "' data-elname='" + elname + "' data-font-family='" + this.fonts[i] + "' style=\"font-family:'" + this.fonts[i] + "'\"><a href='javascript:;'>" + font_name + "</a></li>"; 2280 arr[this.fonts[i]] = font_name 2281 } 2282 return arr; 2283 } 2284 this.getFontcss = function(fonts) { 2285 fonts = fonts.replace(/'/g,'').replace(/"/g,''); 2286 var arr = fonts.split(','), 2287 r = arr[0]; 2288 return r.trim(); 2289 } 2290 2291 this.getColorORTransparent = function(color) { 2292 if(typeof color == 'undefined') return 'transparent'; 2293 2294 color = color.replace(/ /gi,'').replace(/!important/gi,''); 2295 var color_16 = /#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?/,
2296 color_regexp = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))$/i, 2297 check_regexp = ( color_16.test(color) || color_regexp.test(color) ) ? true : false, 2298 check_not_tp = ( color!='rgba(0,0,0,0)' && color.indexOf('transparent')==-1 ) ? true : false; 2299 2300 return (check_regexp && check_not_tp) ? color : 'transparent'; 2301 } 2302 2303 2304 this.menuColorSetForm = function(j,selector) { 2305 var checkMenuFheader = ($('header.'+selector).hasClass('navbar-fheader')) ? true : false, 2306 tpl_selector = { 2307 'main_default' : 'ul.navbar-nav li:not(.active) a ', 2308 'main_hover' : 'ul.navbar-nav li:not(.active) a:hover ', 2309 'main_active' : 'ul.navbar-nav li.active a ', 2310 'sub_default' : 'ul.dropdown-menu li:not(.active) a ', 2311 'sub_hover' : 'ul.dropdown-menu li:not(.active) a:hover ', 2312 'sub_active' : 'ul.dropdown-menu li.active a ', 2313 'fixbtn_default_font': 'ul#fixed-menu .cl-fixbtn a:not(.cl-langlist) ', 2314 'fixbtnlang_default_bdColor' : 'ul#fixed-menu .cl-fixbtn.siteLANG .cl-lang ', 2315 'fixbtn_default_svg' : 'ul#fixed-menu .cl-fixbtn a:not(.cl-langlist):hover svg ', 2316 'fixbtn_default_after' : 'ul#fixed-menu li.cl-fixbtn:not(:last-child):after ', 2317 'fixbtn_hover_font' : 'ul#fixed-menu .cl-fixbtn a:not(.cl-langlist):hover ', 2318 'fixbtn_hover_svg' : 'ul#fixed-menu .cl-fixbtn a:not(.cl-langlist):hover svg ', 2319 'cart_default' : 'ul#fixed-menu .cl-fixbtn .cart-active ', 2320 }, 2321 user = '.menu-edit-' + SID, 2322 main_hover_selector = (checkMenuFheader) ? user + ' ul.navbar-nav:not(#fixed-menu) > li > a:hover,\n '+ user + ' ul.navbar-nav:not(#fixed-menu) > li:hover > a ' : user + ' ul.navbar-nav > li > a:hover,\n '+ user + ' ul.navbar-nav > li:hover > a ', 2323 init_selector = { 2324 'main_default' : user + ' ul.navbar-nav > li > a,\n '+ user + ' ul.navbar-nav > li > a:focus ', 2325 'main_hover' : main_hover_selector , 2326 'main_active' : user + ' ul.navbar-nav > li.active > a,\n '+ user + ' ul.navbar-nav > li.active > a:focus,\n'+ user + ' ul.navbar-nav > li.active > a:hover ', 2327 'sub_default' : user + ' ul.dropdown-menu > li > a,\n '+ user + ' ul.dropdown-menu > li > a:focus ', 2328 'sub_hover' : user + ' ul.dropdown-menu > li > a:hover,\n '+ user + ' ul.dropdown-menu > li:hover > a ', 2329 'sub_active' : user + ' ul.dropdown-menu > li.active > a,\n '+ user + ' ul.dropdown-menu > li.active > a:focus,\n'+ user + ' ul.dropdown-menu > li.active > a:hover ', 2330 }, 2331 tpl_color_state = { 2332 'main_default_font' : false, 2333 'main_hover_font' : false, 2334 'main_active_font' : false, 2335 'main_default_bg' : false, 2336 'main_hover_bg' : false, 2337 'main_active_bg' : false, 2338 'sub_default_font' : false, 2339 'sub_hover_font' : false, 2340 'sub_active_font' : false, 2341 'sub_default_bg' : false, 2342 'sub_hover_bg' : false, 2343 'sub_active_bg' : false, 2344 'fixbtn_default_font': false, 2345 'fixbtnlang_default_bdColor' : false, 2346 'fixbtn_default_svg' : false, 2347 'fixbtn_default_after' : false, 2348 'fixbtn_hover_font' : false, 2349 'fixbtn_hover_svg' : false, 2350 'cart_default_font' : false, 2351 'cart_default_bg' : false, 2352 }, 2353 tpl_color_set = { 2354 'main_default_font' : '', 2355 'main_hover_font' : '', 2356 'main_active_font' : '', 2357 'main_default_bg' : '', 2358 'main_hover_bg' : '', 2359 'main_active_bg' : '', 2360 'sub_default_font' : '', 2361 'sub_hover_font' : '', 2362 'sub_active_font' : '', 2363 'sub_default_bg' : '', 2364 'sub_hover_bg' : '', 2365 'sub_active_bg' : '', 2366 'fixbtn_default_font' : '', 2367 'fixbtnlang_default_bdColor' : '', 2368 'fixbtn_hover_font' : '', 2369 'cart_default_font' : '', 2370 'cart_default_bg' : '', 2371 }, 2372 tpl_color_hex = new Object(), 2373 tpl_color_opacity = new Object(), 2374 tpl_color_selector = new Object(), 2375 tpl_etc_list = new Object(); 2376 tpl_fixbtn_color = new Object(); 2377 2378 $.each(j['children'], function(key,value) { 2379 var tpl_key = key.replace(/ /gi,''), 2380 check_nav = (tpl_key.match(/ul.navbar-nav>li/gi) !== null || tpl_key.match(/ul.navbar-nav:not\(#fixed-menu\)>li/gi) !== null) ? true : false, 2381 check_subnav = (tpl_key.match(/ul.dropdown-menu>li/gi) !== null) ? true : false, 2382 check_fixbtnnav = (tpl_key.match(/.cl-fixbtn/gi) !== null) ? true : false;
2383 2384 if(!check_nav && !check_subnav && !check_fixbtnnav) return; 2385 2386 var c = value['attributes'], 2387 key_mode = (key.match(/hover/gi)!=null) ? 'hover' : 'default', 2388 main_hover_str1 = (checkMenuFheader) ? /ul.navbar-nav:not\(#fixed-menu\)>li>a:hover/gi : /ul.navbar-nav>li>a:hover/gi, 2389 main_hover_str2 = (checkMenuFheader) ? /ul.navbar-nav:not\(#fixed-menu\)>li:hover>a/gi : /ul.navbar-nav>li:hover>a/gi, 2390 check = { 2391 'main_default' : (tpl_key.match(/ul.navbar-nav>li>a/gi) !== null) ? true : false, 2392 'main_hover' : (tpl_key.match(/.cl-fixbtn/gi) == null && (tpl_key.match(main_hover_str1) !== null || tpl_key.match(main_hover_str2) !== null)) ? true : false, 2393 'main_active' : (tpl_key.match(/.cl-fixbtn/gi) == null && tpl_key.match(/ul.navbar-nav>li.active>a/gi) !== null) ? true : false, 2394 'main_after' : (tpl_key.match(/.cl-fixbtn/gi) == null && tpl_key.match(/:after/gi) !== null) ? true : false, 2395 'main_before' : (tpl_key.match(/.cl-fixbtn/gi) == null && tpl_key.match(/:before/gi) !== null) ? true : false, 2396 'sub_default' : (tpl_key.match(/.cl-fixbtn/gi) == null && tpl_key.match(/ul.dropdown-menu>li>a/gi) !== null) ? true : false, 2397 'sub_hover' : (tpl_key.match(/.cl-fixbtn/gi) == null && (tpl_key.match(/ul.dropdown-menu>li>a:hover/gi) !== null || tpl_key.match(/ul.dropdown-menu>li:hover>a/gi) !== null)) ? true : false, 2398 'sub_active' : (tpl_key.match(/.cl-fixbtn/gi) == null && tpl_key.match(/ul.dropdown-menu>li.active>a/gi) !== null) ? true : false, 2399 'sub_after' : (tpl_key.match(/.cl-fixbtn/gi) == null && tpl_key.match(/:after/gi) !== null) ? true : false, 2400 'sub_before' : (tpl_key.match(/.cl-fixbtn/gi) == null && tpl_key.match(/:before/gi) !== null ) ? true : false, 2401 }, 2402 check_etc = { 2403 'main_default_before' : (tpl_key.match(/ul.navbar-nav>li>a:before/gi) !== null || tpl_key.match(/ul.navbar-nav>li:before/gi) !== null) ? true : false, 2404 'main_hover_before' : (tpl_key.match(/ul.navbar-nav>li>a:hover:before/gi) !== null || tpl_key.match(/ul.navbar-nav>li:hover:before/gi) !== null) ? true : false, 2405 'main_active_before' : (tpl_key.match(/ul.navbar-nav>li.active>a:before/gi) !== null || tpl_key.match(/ul.navbar-nav>li.active:before/gi) !== null) ? true : false, 2406 'main_default_after' : (tpl_key.match(/ul.navbar-nav>li>a:after/gi) !== null || tpl_key.match(/ul.navbar-nav>li:after/gi) !== null) ? true : false, 2407 'main_hover_after' : (tpl_key.match(/ul.navbar-nav>li>a:hover:after/gi) !== null || tpl_key.match(/ul.navbar-nav>li:hover:after/gi) !== null) ? true : false, 2408 'main_active_after' : (tpl_key.match(/ul.navbar-nav>li.active>a:after/gi) !== null || tpl_key.match(/ul.navbar-nav>li.active:after/gi) !== null) ? true : false, 2409 'sub_default_before' : (tpl_key.match(/ul.dropdown-menu>li>a:before/gi) !== null || tpl_key.match(/ul.dropdown-menu>li:before/gi) !== null) ? true : false, 2410 'sub_hover_before' : (tpl_key.match(/ul.dropdown-menu>li>a:hover:before/gi) !== null || tpl_key.match(/ul.dropdown-menu>li:hover:before/gi) !== null) ? true : false, 2411 'sub_active_before' : (tpl_key.match(/ul.dropdown-menu>li.active>a:before/gi) !== null || tpl_key.match(/ul.dropdown-menu>li.active:before/gi) !== null) ? true : false, 2412 'sub_default_after' : (tpl_key.match(/ul.dropdown-menu>li>a:after/gi) !== null || tpl_key.match(/ul.dropdown-menu>li:after/gi) !== null) ? true : false, 2413 'sub_hover_after' : (tpl_key.match(/ul.dropdown-menu>li>a:hover:after/gi) !== null || tpl_key.match(/ul.dropdown-menu>li:hover:after/gi) !== null) ? true : false, 2414 'sub_active_after' : (tpl_key.match(/ul.dropdown-menu>li.active>a:after/gi) !== null || tpl_key.match(/ul.dropdown-menu>li.active:after/gi) !== null) ? true : false, 2415 }; 2416 2417 2418 var type = (tpl_key.match(/ul.navbar-nav>li/gi) != null || tpl_key.match(/ul.navbar-nav:not\(#fixed-menu\)>li/gi) != null) ? 'main' : 'sub', 2419 mode = ''; 2420 2421 type = (tpl_key.match(/.cl-fixbtn/gi) != null) ? ((tpl_key.match(/.cl-fixbtn.siteLANG/gi) != null) ? 'fixbtnlang' : 'fixbtn') : type; 2422 type = (tpl_key.match(/cart-active/gi) != null) ? 'cart' : type; 2423 2424 if(check[type+'_default'] && !check[type+'_hover'] && !check[type+'_after'] && !check[type+'_before'] ) { 2425 mode = 'default'; 2426 } else if ( check[type+'_hover'] && !check[type+'_after'] && !check[type+'_before']) { 2427 mode = 'hover'; 2428 } else if ( check[type+'_active'] && !check[type+'_after'] && !check[type+'_before'] ) { 2429 mode = 'active'; 2430 } 2431 2432 var used_menu_etc = Object.keys(check_etc).map(function(key) { 2433 return check_etc[key]; 2434 }); 2435 if($.inArray(true,used_menu_etc) > -1) { 2436 2437 $.each(check_etc, function(k,check) { 2438 if(check) { 2439 var etc_ctype = (typeof c['color'] != 'undefined') ? 'color' : ( (typeof c['border-color'] != 'undefined') ? 'border-color' : 'background-color'), 2440 used_etc_effect = true; 2441 2442 etc_ctype = (typeof c['fill'] != 'undefined') ? 'fill' : etc_ctype; 2443 2444 if(typeof c['opacity'] != 'undefined' && c['opacity'] == 0) { used_etc_effect = false; } 2445 if(typeof c['display'] != 'undefined' && c['opacity'] == 'none') { used_etc_effect = false; } 2446 if(typeof c['width'] != 'undefined' && c['width'] == '0px') { used_etc_effect = false; } 2447 if(typeof c['height'] != 'undefined' && c['height'] == '0px') { used_etc_effect = false; } 2448
2449 if(style.getColorORTransparent(c[etc_ctype]) == 'transparent') { used_etc_effect = false; } 2450 2451 if(used_etc_effect) { 2452 tpl_etc_list[k] = { 2453 'selector' : key, 2454 'css_type' : etc_ctype 2455 }; 2456 } 2457 2458 } 2459 }); 2460 } 2461 2462 if(mode) { 2463 tpl_color_selector[type+'_'+mode] = key; 2464 2465 if( typeof c['color'] != 'undefined' ) tpl_color_set[type+'_'+mode+'_font'] = c['color']; 2466 if( typeof c['background-color'] != 'undefined' ) tpl_color_set[type+'_'+mode+'_bg'] = c['background-color']; 2467 2468 if(typeof c['opacity'] != 'undefined' && typeof tpl_color_set[type+'_'+mode+'_bg']) tpl_color_opacity[type+'_'+mode+'_bg'] = c['opacity']; 2469 } 2470 2471 if(key.match(/cl-fixbtn/gi)!=null) { 2472 var pn_array = ['color','background-color','border-color','fill'], 2473 pn_val = '', 2474 pns_cssopt = [], 2475 change_obj = [], 2476 check_cart = (key.match(/cart-active/gi)!=null) ? 'cart' : 'fixbtn', 2477 fixbtnTypeKey = check_cart+'_'+key_mode; 2478 2479 $.each(c,function(pn,val){ 2480 if($.inArray(pn,pn_array)>-1) { 2481 pns_cssopt.push(pn); 2482 pn_val = val; 2483 } 2484 }); 2485 2486 if(tpl_fixbtn_color[fixbtnTypeKey]) { 2487 var check_str = (tpl_fixbtn_color[fixbtnTypeKey]['selector']!='') ? ',' : ''; 2488 tpl_fixbtn_color[fixbtnTypeKey] = {'selector' : tpl_fixbtn_color[fixbtnTypeKey]['selector'] + check_str + key+'('+pns_cssopt.join('/')+')'}; 2489 } else { 2490 tpl_fixbtn_color[fixbtnTypeKey] = {'selector' : key} 2491 tpl_fixbtn_color[fixbtnTypeKey]['selector'] = tpl_fixbtn_color[fixbtnTypeKey]['selector']+'('+pns_cssopt.join('/')+')'; 2492 } 2493 2494 if(!tpl_fixbtn_color[fixbtnTypeKey]['colorVal']) { 2495 if(pn_val.indexOf('rgba')>-1) { 2496 var rgba_color = getRgbaValArray(pn_val); 2497 pn_val = rgba_color['val']; 2498 } 2499 tpl_fixbtn_color[fixbtnTypeKey]['colorVal'] = (typeof pn_val!='undefined' && pn_val) ? pn_val : 'transparent'; 2500 } 2501 } 2502 2503 }); 2504 2505 var default_font = ( typeof $('.'+selector).css('color') != 'undefined' ) ? style.getColorORTransparent($('.'+selector).css('color')) : style.getColorORTransparent($('.dsgn-body').css('color')), 2506 default_bg = ( typeof $('.'+selector).css('background-color') != 'undefined' ) ? style.getColorORTransparent($('.'+selector).css('background-color')) : style.getColorORTransparent($('.dsgn-body').css('background-color')); 2507 2508 $.each(tpl_color_set, function(k,v) { 2509 var type = (k.indexOf('main_') > -1) ? 'main' : 'sub', 2510 mode = k.substr(k.indexOf('_')+1, (k.lastIndexOf('_')-(k.indexOf('_')+1))), 2511 fn = (k.indexOf('font') > -1) ? 'font' : 'bg'; 2512 2513 if(v.indexOf('important') > -1) { v = v.trim().replace('!important',''); } 2514 2515 if(!v) { 2516 var color = (fn == 'font') ? $('.'+selector).find(tpl_selector[type+'_'+mode]).css('color') : $('.'+selector).find(tpl_selector[type+'_'+mode]).css('background-color'); 2517 color = (style.getColorORTransparent(color) != 'transparent') ? style.getColorORTransparent(color) : style.getColorORTransparent(eval('default_' + fn)); 2518 2519 if(color != 'transparent') v = color; 2520 else if( mode != 'default') { 2521 var sub_key = (mode == 'hover') ? type+'_active_'+fn : type+'_hover_'+fn; 2522 2523 if(tpl_color_set[sub_key]) v = tpl_color_set[sub_key]; 2524 else v = tpl_color_set[type+'_default_'+fn]; 2525 } 2526 2527 tpl_color_opacity[k] = (v) ? 1 : 0; 2528 if(v) { 2529 tpl_color_state[k] = true; 2530 tpl_color_set[k] = v; 2531 } 2532 2533 } else { 2534 v = style.getColorORTransparent(v); 2535 tpl_color_state[k] = true; 2536 } 2537 2538 if(typeof tpl_color_opacity[k] == 'undefined') { 2539 var opacity_val = (v == 'transparent' || !tpl_color_set[k]) ? 0 : 1; 2540 tpl_color_opacity[k] = (v.indexOf('rgba') > -1) ? v.substr((v.lastIndexOf(',')+1),(v.lastIndexOf(')')- (v.lastIndexOf(',')+1))).trim() : opacity_val; 2541 } 2542 2543 tpl_color_hex[k] = (v.indexOf('#') > -1 ) ? v : style.rgbahex(v); 2544 2545 }); 2546 2547 2548 var getColorBox = function(menu_type, css_type, color_set) { 2549 var pn = (css_type == 'font') ? 'color' : 'background-color', 2550 // menu_el = 'el-menu', 2551 menu_selector = '.menu-' + SID, 2552 menu_css = MCSS, 2553 menu_s = style.get(menu_css,menu_selector), 2554 menu_bgpicker = $('#bc-default-background .coloris[data-clr="elconfig"][pn="background-color"][selector=".menu-'+SID+'"]'); 2555 menu_bgcolor = (menu_bgpicker.length > 0) ? menu_bgpicker.val() : Coloris.getChangeColorVal(menu_s.bgColor,'a',1), 2556 menu_bgimg = (menu_bgpicker.closest('.panel-item').next('.panel-item').find('.attach-thumb').length > 0) ? true : false, 2557 menu_bgtransparent = ( (menu_bgpicker.length > 0 && menu_bgpicker.closest('.coloris-picker').hasClass('clr-transparent')) || 2558 (menu_bgpicker.lenght == 0 && Coloris.getColorInfo(menu_s.bgColor,'alpha') == 0) 2559 ) ? 'clr-transparent' : '', 2560 menu_bgtooltip = ''; 2561 2562 if(pn == 'background-color') { 2563 if(menu_bgimg) menu_bgtooltip = $.lang[LANG]['editor.menu.color.transparent.edit.info2']; 2564 else if(menu_bgtransparent != '') menu_bgtooltip = $.lang[LANG]['editor.menu.color.transparent.edit.info']; 2565 } 2566 2567 if(menu_type == 'menublock') { 2568 return '\ 2569 <div class="menu-bg color-box ' + menu_bgtransparent.replace('clr-','checked-') + '" data-ctype="bg" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + menu_bgtooltip + '">\ 2570 ' + getColorisHtml(menu_bgcolor,'menuconfig',{'pn':'background-color-all', 'el':'el-menu', 'selector':'.menu-temp-' + SID},'thumbnail',true,{'wrap':menu_bgtransparent, 'input':'clr-alphaoff clr-tooltipoff'}) + '\ 2571 </div>\ 2572 '; 2573 } else { 2574 var mode = ['default','hover','active'], 2575 this_html = '', 2576 check_return = false;
2577 2578 var this_transparent = ''; 2579 if(pn == 'background-color') { 2580 this_transparent = ( menu_bgtransparent == 'clr-transparent' && 2581 Coloris.getColorInfo($(menu_selector).find('ul.navbar-nav > li > a').css('background-color'),'alpha') == 0 && 2582 Coloris.getColorInfo($(menu_selector).find('ul.dropdown-menu > li > a').css('background-color'),'alpha') == 0 2583 ) ? 'clr-transparent' : ''; 2584 } 2585 2586 mode.forEach(function(i,v) { 2587 var checkTypeFixedIcon = ($.inArray(menu_type, ['fixbtn','cart']) > -1) ? true : false, 2588 checkEtc = (typeof tpl_etc_list[menu_type+'_'+i+'_before'] != 'undefined' || typeof tpl_etc_list[menu_type+'_'+i+'_after'] != 'undefined') ? true : false, 2589 this_opacity = (tpl_color_opacity[menu_type+'_'+i+'_'+css_type] == 0 || checkTypeFixedIcon && v < 2 || this_transparent == 'clr-transparent') ? 'transparent' : '', 2590 this_colorbox = '', 2591 this_tooltip = '', 2592 this_etc_html = ''; 2593 2594 if(css_type == 'bg') { 2595 if(menu_bgtooltip != '') this_tooltip = menu_bgtooltip; 2596 else if(this_opacity != '') this_tooltip = $.lang[LANG]['editor.menu.color.transparent.edit.info']; 2597 2598 this_colorbox = this_opacity + ((menu_bgimg) ? ' used-bg' : ''); 2599 } 2600 2601 if(pn == 'color' && checkEtc) { 2602 if(typeof tpl_etc_list[menu_type+'_'+i+'_before'] != 'undefined') { 2603 this_etc_html += '<input type="hidden" class="menu-etc" value="' + tpl_etc_list[menu_type+'_'+i+'_before']['css_type'] + '" data-selector="' + tpl_etc_list[menu_type+'_'+i+'_before']['selector'] + '"/>'; 2604 } 2605 if(typeof tpl_etc_list[menu_type+'_'+i+'_after'] != 'undefined') { 2606 this_etc_html += '<input type="hidden" class="menu-etc" value="' + tpl_etc_list[menu_type+'_'+i+'_after']['css_type'] + '" data-selector="' + tpl_etc_list[menu_type+'_'+i+'_after']['selector'] + '"/>'; 2607 } 2608 } 2609 2610 if(menu_type == 'main' && css_type == 'font' && v == 0) { //Menu Color Settings - Menu text color Change ==> Mobile Toggle bar color 2611 var this_selector = (selector.indexOf('menu-temp-')>-1) ? '.menu-temp-' + SID : '.menu-' + SID; 2612 this_etc_html += '<input type="hidden" class="menu-etc" value="background-color" data-selector="' + this_selector + ' .navbar-toggle .icon-bar" />'; 2613 } 2614 2615 if(checkTypeFixedIcon && typeof tpl_fixbtn_color[css_type+'_'+i]=='undefined') { 2616 check_return = true; 2617 return this_html; 2618 } 2619 2620 var tpl_cstate = (checkTypeFixedIcon && v < 2) ? 'true' : tpl_color_state[menu_type+'_'+i+'_'+css_type], 2621 // tpl_opacity = (checkTypeFixedIcon && v < 2) ? 'true' : tpl_color_opacity[menu_type+'_'+i+'_'+css_type], 2622 tpl_color = (checkTypeFixedIcon && v < 2) ? tpl_fixbtn_color[css_type+'_'+i]['colorVal'] : tpl_color_hex[menu_type+'_'+i+'_'+css_type], 2623 tpl_selector = (checkTypeFixedIcon && v < 2) ? tpl_fixbtn_color[css_type+'_'+i]['selector'] : tpl_color_selector[menu_type+'_'+i], 2624 tpl_pn = (checkTypeFixedIcon && v < 2) ? 'fixbtn' : pn; 2625 2626 2627 this_html += '\ 2628 <div class="color-box ' + this_colorbox + '" data-type="' + menu_type + '" data-mode="' + i + '" data-ctype="' + css_type + '" data-cstate="' + tpl_cstate + '" data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="' + this_tooltip + '">\ 2629 ' + getColorisHtml(tpl_color,'menuconfig',{'pn':tpl_pn, 'el':'elmenu-color-edit', 'selector':tpl_selector},'thumbnail',true,{'wrap':this_transparent, 'input':'clr-alphaoff clr-tooltipoff'}) + '\ 2630 ' + this_etc_html + '\ 2631 </div>\ 2632 '; 2633 if(v == 2) check_return = true; 2634 }); 2635 2636 if(check_return) return this_html; 2637 } 2638 } 2639 2640 var fixbtn_str = '', cart_str = ''; 2641 if($('.el-menu .cl-fixbtn.cl-visible').length > 0 && VALIDTYPE) { 2642 fixbtn_str = '\ 2643 <div class="clearfix"></div>\ 2644 <hr/>\ 2645 \ 2646 <div class="col-xs-3 col-sm-3 col-md-3">\ 2647 <h6 style="margin-top: 9px">' + $.lang[LANG]["editor.menu.color.fixbtn"] + '</h6>\ 2648 </div>\ 2649 <div class="col-xs-9 col-sm-9 col-md-9 no-padding">\ 2650 <div class="btn-group btn-group-sm">\ 2651 <div class="btn-color-mode btn-group color-palette">\ 2652 <div class="color-picker-wrap">\ 2653 <div class="color-line">\ 2654 <div class="option_name"></div>\ 2655 ' + getColorBox('fixbtn','fixbtn',tpl_fixbtn_color) + '\ 2656 </div>\ 2657 </div>\ 2658 </div>\ 2659 </div>\ 2660 </div>\ 2661 ' 2662 } 2663
2664 if($('.el-menu .cl-fixbtn.siteCART').is(':visible') && VALIDTYPE == 'SM') { 2665 cart_str = '\ 2666 <div class="clearfix"></div>\ 2667 <hr/>\ 2668 \ 2669 <div class="col-xs-3 col-sm-3 col-md-4">\ 2670 <h6 style="margin-top: 9px">' + $.lang[LANG]["editor.menu.color.cart"] + '</h6>\ 2671 </div>\ 2672 <div class="col-xs-9 col-sm-9 col-md-8 no-padding">\ 2673 <div class="btn-group btn-group-sm">\ 2674 <div class="btn-color-mode btn-group color-palette">\ 2675 <div class="color-picker-wrap">\ 2676 <div class="color-line cart_palette">\ 2677 <div class="option_name"></div>\ 2678 ' + getColorBox('cart','cart',tpl_fixbtn_color) + '\ 2679 </div>\ 2680 </div>\ 2681 </div>\ 2682 </div>\ 2683 </div>\ 2684 ' 2685 } 2686 2687 var str = '\ 2688 <div class="elmenu-color-sidebar bc-style">\ 2689 <h5 class="text-center">' + $.lang[LANG]["editor.menu.color-edit"] + '</h5>\ 2690 <div class="row">\ 2691 <div class="col-xs-9 col-sm-9 col-md-9 col-xs-offset-3 col-sm-offset-3 col-md-offset-3 clearfix">\ 2692 <div class="header-line">\ 2693 <div class="mode_name default_color">' + $.lang[LANG]["editor.menu.color.default"] + '</div>\ 2694 <div class="mode_name hover_color">' + $.lang[LANG]["editor.menu.color.hover"] + '</div>\ 2695 <div class="mode_name active_color">' + $.lang[LANG]["editor.menu.color.active"] + '</div>\ 2696 </div>\ 2697 </div>\ 2698 \ 2699 <div class="col-xs-3 col-sm-3 col-md-3">\ 2700 <h6>' + $.lang[LANG]["editor.menu.color.menu"] + '</h6>\ 2701 </div>\ 2702 <div class="col-xs-9 col-sm-9 col-md-9 no-padding">\ 2703 <div class="btn-group btn-group-sm">\ 2704 <div class="btn-color-mode btn-group color-palette">\ 2705 <div class="color-picker-wrap">\ 2706 <div class="color-line">\ 2707 <div class="option_name">' + $.lang[LANG]["editor.menu.color.font"] + '</div>\ 2708 ' + getColorBox('main','font',tpl_color_set) + '\ 2709 </div>\ 2710 <div class="color-line">\ 2711 <div class="option_name">' + $.lang[LANG]["editor.menu.color.bg"] + '</div>\ 2712 ' + getColorBox('main','bg',tpl_color_set) + '\ 2713 </div>\ 2714 </div>\ 2715 </div>\ 2716 </div>\ 2717 </div>\ 2718 \ 2719 <div class="clearfix"></div>\ 2720 <hr/>\ 2721 \ 2722 <div class="col-xs-3 col-sm-3 col-md-3">\ 2723 <h6>' + $.lang[LANG]["editor.menu.color.submenu"] + '</h6>\ 2724 </div>\ 2725 <div class="col-xs-9 col-sm-9 col-md-9 no-padding">\ 2726 <div class="btn-group btn-group-sm">\ 2727 <div class="btn-color-mode btn-group color-palette">\ 2728 <div class="color-picker-wrap">\ 2729 <div class="color-line">\ 2730 <div class="option_name">' + $.lang[LANG]["editor.menu.color.font"] + '</div>\ 2731 ' + getColorBox('sub','font',tpl_color_set) + '\ 2732 </div>\ 2733 <div class="color-line">\ 2734 <div class="option_name">' + $.lang[LANG]["editor.menu.color.bg"] + '</div>\ 2735 ' + getColorBox('sub','bg',tpl_color_set) + '\ 2736 </div>\ 2737 </div>\ 2738 </div>\ 2739 </div>\ 2740 </div>\ 2741 ' + fixbtn_str + '\ 2742 ' + cart_str + '\ 2743 <div class="clearfix"></div>\ 2744 <hr/>\ 2745 \ 2746 <div class="col-xs-3 col-sm-3 col-md-3">\ 2747 <h6 style="' + ((LANG == 'en') ? 'margin-top: 0;' : 'margin-top: 9px') + '">' + $.lang[LANG]["editor.menu.color.menublock"] + '</h6>\ 2748 </div>\ 2749 <div class="no-padding '+ ((LANG == 'en') ? 'col-xs-8 col-sm-8 col-md-8 col-xs-offset-1 col-sm-offset-1 col-md-offset-1' : 'col-xs-9 col-sm-9 col-md-9') + '">\ 2750 <div class="btn-group btn-group-sm">\ 2751 <div class="btn-color-mode btn-group color-palette">\ 2752 <div class="color-picker-wrap">\ 2753 <div class="color-line">\ 2754 ' + getColorBox('menublock','bg',tpl_color_set) + '\ 2755 </div>\ 2756 </div>\ 2757 </div>\ 2758 </div>\ 2759 </div>\ 2760 \ 2761 <div class="clearfix"></div>\ 2762 <div class="btn-wrap">\ 2763 <div class="btn btn-default btn-sm close-btn-menuColorSet">' + $.lang[LANG]["config.cancel"] + '</div>\ 2764 <div class="btn btn-primary btn-sm save-btn-menuColorSet">' + $.lang[LANG]["config.save"] + '</div>\ 2765 </div>\ 2766 </div>\ 2767 </div>\ 2768 '; 2769 2770 return str; 2771 2772 } 2773 2774 this.menuRootColorSetForm = function(j,selector) { 2775 var checkMenuFheader = ($('header.'+selector).hasClass('navbar-fheader')) ? true : false, 2776 checkMenuBgcolorHide = ($('header.'+selector).find('.cl-menu-option').length > 0) ? true : false, 2777 j_s = style.get(j, selector); 2778 2779 /* 2780 MENU Root CSS 2781 ë©ì¸ë©ë´ í°í¸ --menu-color / --menu-color-hover / --menu-color-active 2782 ë°°ê²½ --menu-bgcolor / --menu-bgcolor-hover / --menu-bgcolor-active 2783 2784 ìë¸ë©ë´ í°í¸ --sub-menu-color / --sub-menu-color-hover / --sub-menu-color-active 2785 ë°°ê²½ --sub-menu-bgcolor / --sub-menu-bgcolor-hover / --sub-menu-bgcolor-active 2786 2787 íì¥ê¸°ë¥ --fixed-menu-color (--fixed-menu-color2) / --fi
2787xed-menu-color-hover (--fixed-menu-color-hover2) 2788 ì¥ë°êµ¬ë ìë --fixed-menu-point 2789 2790 ì ì²´ë°°ê²½ --block-bgcolor 2791 í¼ì¹¨ë©ë´ ë°°ê²½ --moption-bgcolor 2792 */ 2793 2794 var getRootColorBox = function(root_selector,root_style,root_key) { 2795 if(typeof root_key == 'undefined' || root_key == '') return ''; 2796 2797 var root_group = [root_key]; 2798 var checkHover = (root_key.match(/^\_\_(sub\_)?menu\_/i) != null || root_key == '__fixed_menu_color') ? true : false; 2799 var checkActive = (root_key.match(/^\_\_(sub\_)?menu\_/i) != null) ? true : false; 2800 2801 if(checkHover) root_group.push(root_key+'_hover'); 2802 if(checkActive) root_group.push(root_key+'_active'); 2803 2804 var init_color = (root_key.indexOf('_bgcolor') > -1) ? root_style.bgColor : root_style.txColor; 2805 var init_key = (root_key.indexOf('_bgcolor') > -1) ? '--block-bgcolor' : '--block-color'; 2806 var init_check = true; 2807 var root_str = ''; 2808 $.each(root_group, function(i, r_k) { 2809 var r_v = root_style[r_k]; 2810 var r_v_empty = (typeof r_v == 'undefined' || r_v == '') ? true : false; 2811 if(r_v_empty) { 2812 r_v = init_color; 2813 } else { 2814 if(init_check) { 2815 init_color = r_v; 2816 init_key = r_k.replace(/\_/gi,'-'); 2817 init_check = false; 2818 } 2819 } 2820 2821 var r_v_transparent = (style.getColorORTransparent(r_v) == 'transparent') ? ' transparent' : ''; 2822 var r_v_block_transparent = (root_style.bgColor == 'transparent') ? ' bg-transparent' : ''; 2823 var r_v_block_bgurl = (root_style.bgUrl != 'none') ? ' bg-url' : ''; 2824 var color_tooltip = ''; 2825 2826 if(r_v_transparent != '' && r_v_block_bgurl != '') color_tooltip = $.lang[LANG]['editor.menu.color.transparent.edit.info2']; 2827 else if(r_v_transparent != '') color_tooltip = $.lang[LANG]['editor.menu.color.transparent.edit.info']; 2828 var color_box_tooltip = (color_tooltip != '') ? 'data-toggle="tooltip" data-placement="bottom" data-html="true" data-original-title="'+color_tooltip + '"' : ''; 2829 root_str += '\ 2830 <div class="color-box rv ' + r_v_transparent + r_v_block_transparent + r_v_block_bgurl + '" ' + color_box_tooltip + '>\ 2831 ' + getColorisHtml(r_v,'elconfig',{'data-root':r_k.replace(/\_/gi,'-'), 'el':selectEL, 'selector':'.'+root_selector, 'data-init':((r_v_empty) ? init_key : '')},'thumbnail',true,{'input':'clr-alphaoff'}) + '\ 2832 </div>\ 2833 '; 2834 }); 2835 2836 return root_str; 2837 } 2838 2839 var fixedmenu_str = ''; 2840 if(typeof VALIDPLAN != 'undefined' && VALIDPLAN) { 2841 2842 if($('.el-menu .cl-fixbtn.cl-visible').length > 0) { 2843 fixedmenu_str += '\ 2844 <div class="clearfix"></div>\ 2845 <hr/>\ 2846 \ 2847 <div class="col-xs-3 col-sm-3 col-md-4">\ 2848 <h6 style="margin-top: 9px">' + $.lang[LANG]["editor.menu.color.fixbtn"] + '</h6>\ 2849 </div>\ 2850 <div class="col-xs-9 col-sm-9 col-md-8 no-padding" style="padding-left: 22px;">\ 2851 <div class="btn-group btn-group-sm">\ 2852 <div class="btn-color-mode btn-group color-palette">\ 2853 <div class="color-picker-wrap">\ 2854 <div class="color-line">\ 2855 ' + getRootColorBox(selector,j_s,'__fixed_menu_color') + '\ 2856 </div>\ 2857 </div>\ 2858 </div>\ 2859 </div>\ 2860 </div>\ 2861 '; 2862 } 2863 2864 if($('.el-menu .cl-fixbtn.siteCART').is(':visible') && VALIDTYPE == 'SM') { 2865 fixedmenu_str += '\ 2866 <div class="clearfix"></div>\ 2867 <hr/>\ 2868 \ 2869 <div class="col-xs-3 col-sm-3 col-md-4">\ 2870 <h6 style="margin-top: 9px">' + $.lang[LANG]["editor.menu.color.cart"] + '</h6>\ 2871 </div>\ 2872 <div class="col-xs-9 col-sm-9 col-md-8 no-padding" style="padding-left: 22px;">\ 2873 <div class="btn-group btn-group-sm">\ 2874 <div class="btn-color-mode btn-group color-palette">\ 2875 <div class="color-picker-wrap">\ 2876 <div class="color-line">\ 2877 ' + getRootColorBox(selector,j_s,'__fixed_menu_point') + '\ 2878 </div>\ 2879 </div>\ 2880 </div>\ 2881 </div>\ 2882 </div>\ 2883 '; 2884 } 2885 } 2886 2887 2888 2889 var tmp_str = (checkMenuBgcolorHide) ? ['4','style="margin-top: 9px"','8',' style="padding-left: 22px;"','',$.lang[LANG]['editor.menu.color.blockbgcolor']] : ['3','','9','','<div class="option_name">' + $.lang[LANG]["editor.menu.color.font"] + '</div>',$.lang[LANG]['editor.menu.color.menublock']], 2890 str = '\ 2891 <div class="elmenu-color-sidebar bc-style">\ 2892 <h5 class="text-center">' + $.lang[LANG]["editor.menu.color-edit"] + '</h5>\ 2893 <div class="row">\ 2894 <div class="col-xs-9 col-sm-9 col-md-9 col-xs-offset-3 col-sm-offset-3 col-md-offset-3 clearfix">\ 2895 <div class="header-line" ' + ((LANG == 'en') ? 'style="padding-right: 20px;"' : '') + '>\ 2896 <div class="mode_name default_color">' + $.lang[LANG]["editor.menu.color.default"] + '</div>\ 2897 <div class="mode_name hover_color">' + $.lang[LANG]["editor.menu.color.hover"] + '</div>\ 2898 <div class="mode_name active_color">' + $.lang[LANG]["editor.menu.color.active"] + '</div>\ 2899 </div>\ 2900 </div>\ 2901 \ 2902 <div class="col-xs-3 col-sm-3 col-md-'+tmp_str[0]+'">\ 2903 <h6 '+tmp_str[1]+'>' + $.lang[LANG]["editor.menu.color.menu"] + '</h6>\ 2904 </div>\ 2905 <div class="col-xs-9 col-sm-9 col-md-'+tmp_str[2]+' no-padding" '+tmp_str[3]+'>\ 2906 <div class="btn-group btn-group-sm">\ 2907 <div class="btn-color-mode btn-group color-palette">\ 2908 <div class="color-picker-wrap">\ 2909 <div class="color-line">\ 2910 '+tmp_str[4]+'\ 2911 ' + getRootColorBox(selector,j_s,'__menu_color') + '\ 2912 </div>\ 2913 '; 2914 if(!checkMenuBgcolorHide) str += '\ 2915 <div class="color-line">\ 2916 <div class="option_name">' + $.lang[LANG]["editor.menu.color.bg"] + '</div>\ 2917 ' + getRootColorBox(selector,j_s,'__menu_bgcolor') + '\ 2918 </div>\ 2919 '; 2920 str += '\ 2921 </div>\ 2922 </div>\ 2923 </div>\ 2924 </div>\ 2925 \ 2926 <div class="clearfix"></div>\ 2927 <hr/>\ 2928 \ 2929 <div class="col-xs-3 col-sm-3 col-md-'+tmp_str[0]+'">\ 2930 <h6 '+tmp_str[1]+'>' + $.lang[LANG]["editor.menu.color.submenu"] + '</h6>\ 2931 </div>\ 2932 <div class="col-xs-9 col-sm-9 col-md-'+tmp_str[2]+' no-padding" '+tmp_str[3]+'>\ 2933 <div class="btn-group btn-group-sm">\ 2934 <div class="btn-color-mode btn-group color-palette">\ 2935 <div class="color-picker-wrap">\ 2936 <div class="color-line">\ 2937 '+tmp_str[4]+'\ 2938 ' + getRootColorBox(selector,j_s,'__sub_menu_color') + '\ 2939 </div>\ 2940 '; 2941 if(!checkMenuBgcolorHide) str += '\ 2942 <div class="color-line">\ 2943 <div class="option_name">' + $.lang[LANG]["editor.menu.color.bg"] + '</div>\ 2944 ' + getRootColorBox(selector,j_s,'__sub_menu_bgcolor') + '\ 2945 </div>\ 2946 '; 2947 str += '\ 2948 </div>\ 2949 </div>\ 2950 </div>\ 2951 </div>\ 2952 \ 2953 ' + fixedmenu_str + '\ 2954 \ 2955 <div class="clearfix"></div>\ 2956 <hr/>\ 2957 \ 2958 <div class="col-xs-3 col-sm-3 col-md-4">\ 2959 <h6 style="' + ((LANG == 'en') ? 'margin-top: 0;' : 'margin-top: 9px') + '">' + tmp_str[5] + '</h6>\ 2960 </div>\ 2961 <div class="col-xs-9 col-sm-9 col-md-8 no-padding" style="padding-left: 22px;">\ 2962 <div class="btn-group btn-group-sm">\ 2963 <div class="btn-color-mode btn-group color-palette">\ 2964 <div class="color-picker-wrap">\ 2965 <div class="color-line">\ 2966 ' + getRootColorBox(selector,j_s,'__block_bgcolor') + '\ 2967 </div>\ 2968 </div>\ 2969 </div>\ 2970 </div>\ 2971 </div>\ 2972 \ 2973 '; 2974 if(checkMenuBgcolorHide) { 2975 str += '\ 2976 <div class="clearfix"></div>\ 2977 <hr/>\ 2978 \ 2979 <div class="col-xs-3 col-sm-3 col-md-4">\ 2980 <h6 style="' + ((LANG == 'en') ? 'margin-top: 0;' : 'margin-top: 9px') + '">' + $.lang[LANG]['editor.menu.color.moptionblock'] + '</h6>\ 2981 </div>\ 2982 <div class="col-xs-9 col-sm-9 col-md-8 no-padding" style="padding-left: 22px;">\ 2983 <div class="btn-group btn-group-sm">\ 2984 <div class="btn-color-mode btn-group color-palette">\ 2985 <div class="color-picker-wrap">\ 2986 <div class="color-line">\ 2987 ' + getRootColorBox(selector,j_s,'__moption_bgcolor') + '\ 2988 </div>\ 2989 </div>\ 2990 </div>\ 2991 </div>\ 2992 </div>\ 2993 \ 2994 '; 2995 } 2996 str += '\ 2997 <div class="clearfix"></div>\ 2998 <div class="btn-wrap">\ 2999 <div class="btn btn-default btn-sm close-btn-menuColorSet">' + $.lang[LANG]["config.cancel"] + '</div>\ 3000 <div class="btn btn-primary btn-sm save-btn-menuColorSet">' + $.lang[LANG]["config.save"] + '</div>\ 3001 </div>\ 3002 </div>\ 3003 </div>\ 3004 '; 3005 3006 return str; 3007 } 3008 3009 3010 this.checkBlockRootCSS = function(tp) { 3011 if(typeof $.bcModal =='undefined' || typeof $.bcModal.select_el == 'undefined' || !$.bcModal.select_el) return false;
3012 3013 var this_el = $.bcModal.select_el; 3014 var this_target = ($.bcModal.data.checkMenu) ? document.querySelector(`.${this_el} header`) : document.querySelector(`.${this_el}`); 3015 if(!this_target) return false; 3016 3017 var this_elstyle = window.getComputedStyle(this_target); 3018 var check_properties = []; 3019 var onoff = false; 3020 3021 switch(tp) { 3022 case 'block-background': 3023 check_properties.push('--block-bgcolor','--block-bgblur','--block-bgimg','--block-bgimg-size','--block-bgimg-position','--block-bgimg-repeat'); 3024 break; 3025 3026 case 'block-padding': 3027 check_properties.push('--block-padding-top','--block-padding-bottom','--block-padding-left','--block-padding-right','--ratio-padding-top','--ratio-padding-bottom'); 3028 break; 3029 3030 case 'block-layout': 3031 check_properties.push('--layout-gap-col','--layout-gap-row','--layout-col-p','--layout-imgh'); 3032 break; 3033 3034 case 'swiper-option': 3035 check_properties.push('--swiper-view','--swiper-space','--swiper-height'); 3036 break; 3037 3038 case 'sync-dataview': 3039 check_properties.push('--sync-page-unit'); 3040 break; 3041 3042 case 'slick-config': 3043 check_properties.push('--slick-speed','--slick-autoplay','--slick-autoplay-speed'); 3044 break; 3045 3046 case 'slick-option': 3047 check_properties.push('--slick-view','--slick-space','--slick-height'); 3048 break; 3049 3050 case 'root-btn-color': 3051 check_properties.push('--btn-color','--btn-bgcolor','--btn-line','--btn-color-hover','--btn-bgcolor-hover','--btn-line-hover'); 3052 break; 3053 3054 case 'ctrl-root-border': 3055 check_properties.push('--block-line-color','--block-outline-color','--block-boxline-color'); 3056 break; 3057 3058 case 'ctrl-root-svg': 3059 check_properties.push('--block-svg-color'); 3060 break; 3061 3062 case 'ratio-padding': 3063 check_properties.push('--ratio-padding-top','--ratio-padding-bottom'); 3064 break; 3065 3066 case 'pagination-color': 3067 check_properties.push('--pagination-btn-color','--pagination-btn-bgcolor','--pagination-dot-color','--slick-arrow-color','--slick-dot-color'); 3068 break; 3069 3070 case 'tab-color': 3071 check_properties.push('--tab-color','--tab-line-color','--tab-bgcolor'); 3072 break; 3073 3074 case 'rollover-color': 3075 check_properties.push('--rollover-color','--rollover-bgcolor','--rollover-line'); 3076 break; 3077 3078 default: 3079 check_properties.push('default'); 3080 break; 3081 } 3082 3083 if(check_properties[0] == 'default') { 3084 if(typeof tp != 'undefined' && tp) { 3085 if(!/^--/.test(tp)) tp = '--'+tp; 3086 if(typeof this_elstyle.getPropertyValue(tp) != 'undefined' && this_elstyle.getPropertyValue(tp)) onoff = true; 3087 } 3088 } else { 3089 onoff = check_properties.some(prop => this_elstyle.getPropertyValue(prop)); 3090 } 3091 3092 return onoff; 3093 } 3094} 3095 3096
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.