1// Fabrx Add And Remove JavaScript 2toggleItem(document.querySelectorAll('.fabrx-like')); 3function toggleItem(fabrxLike) { 4 for (var i = 0; i < fabrxLike.length; i++) { 5 fabrxLike[i].addEventListener('click', function(e) { 6 var current = this; 7 for (var i = 0; i < fabrxLike.length; i++) { 8 if (current != fabrxLike[i]) { 9 fabrxLike[i].classList.remove('active'); 10 } else if (current.classList.contains('active') === true) { 11 current.classList.remove('active'); 12 } else { 13 current.classList.add('active') 14 } 15 } 16 e.preventDefault(); 17 }); 18 }; 19}; 20 21// Fabrx Masonry JavaScript 22document.querySelectorAll('.fabrx-masonry').forEach(FabrxMasonry => { 23 var FabrxISO = new Isotope(FabrxMasonry, { 24 itemSelector: '.masonry-item', 25 layoutMode: 'packery', 26 percentPosition: true, 27 isFitWidth: true, 28 }); 29}); 30 31// Fabrx Swiper Brand Slider JavaScript 32/*var swiper = new Swiper('.brand-slider', { 33 slidesPerView: 6, 34 spaceBetween: 6, 35 pagination: { 36 el: '.swiper-pagination', 37 clickable: true, 38 type: "bullets", 39 }, 40 breakpoints: { 41 0: { 42 slidesPerView: 2, 43 }, 44 460: { 45 slidesPerView: 4, 46 }, 47 575: { 48 slidesPerView: 4, 49 }, 50 768: { 51 slidesPerView: 4, 52 }, 53 1024: { 54 slidesPerView: 6, 55 }, 56 } 57}); 58 59// Fabrx Single Swiper Slider JavaScript 60var swiper = new Swiper('.single-swiper', { 61 loop: true, 62 pagination: { 63 el: '.swiper-pagination', 64 clickable: true, 65 type: "bullets", 66 }, 67 navigation: { 68 nextEl: '.swiper-button-next', 69 prevEl: '.swiper-button-prev', 70 }, 71}); 72 73// Fabrx Number Swiper Slider JavaScript 74var swiper = new Swiper('.number-swiper', { 75 loop: true, 76 pagination: { 77 el: '.swiper-pagination', 78 clickable: true, 79 type: "fraction", 80 }, 81 navigation: { 82 nextEl: '.swiper-button-next', 83 prevEl: '.swiper-button-prev', 84 }, 85}); 86 87// Fabrx Swiper Threecol Slider JavaScript 88var swiper = new Swiper('.swiper-threecol', { 89 slidesPerView: 3, 90 spaceBetween: 30, 91 pagination: { 92 el: '.swiper-pagination', 93 clickable: true, 94 type: "bullets", 95 }, 96 breakpoints: { 97 0: { 98 slidesPerView: 2, 99 spaceBetween: 15, 100 }, 101 575: { 102 slidesPerView: 2, 103 }, 104 768: { 105 slidesPerView: 2, 106 }, 107 1024: { 108 slidesPerView: 3, 109 }, 110 } 111}); 112 113// Fabrx Swiper Twohalf Slider JavaScript 114var swiper = new Swiper('.swiper-twohalf', { 115 slidesPerView: 2.5, 116 spaceBetween: 30, 117 pagination: { 118 el: '.swiper-pagination', 119 clickable: true, 120 type: "bullets", 121 }, 122 breakpoints: { 123 0: { 124 slidesPerView: 1.5, 125 spaceBetween: 15, 126 }, 127 575: { 128 slidesPerView: 1.5, 129 }, 130 768: { 131 slidesPerView: 1.5, 132 }, 133 1024: { 134 slidesPerView: 2.5, 135 }, 136 } 137}); 138 139// Fabrx Swiper Two Slider JavaScript 140var swiper = new Swiper('.swiper-two', { 141 slidesPerView: 2, 142 spaceBetween: 0, 143 pagination: { 144 el: '.swiper-slider-box .swiper-pagination', 145 clickable: true, 146 type: "bullets", 147 }, 148 breakpoints: { 149 0: { 150 slidesPerView: 1, 151 }, 152 575: { 153 slidesPerView: 1, 154 }, 155 768: { 156 slidesPerView: 2, 157 }, 158 1024: { 159 slidesPerView: 2, 160 }, 161 } 162}); 163 164// Fabrx Swiper Thumbs Slider JavaScript 165var swiper = new Swiper(".mySwiper", { 166 spaceBetween: 15, 167 slidesPerView: 4, 168 freeMode: true, 169 watchSlidesVisibility: true, 170 watchSlidesProgress: true, 171}); 172var swiper2 = new Swiper(".mySwiper2", { 173 spaceBetween: 15, 174 navigation: { 175 nextEl: ".swiper-button-next", 176 prevEl: ".swiper-button-prev", 177 }, 178 thumbs: { 179 swiper: swiper, 180 }, 181});*/ 182/* 183//Fabrx Datepicker JavaScript 184flatpickr('.fabrx-datepicker', { 185 locale: { 186 weekdays: { 187 shorthand: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], 188 longhand: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] 189 }, 190 }, 191}); 192 193//Fabrx Date Rangepicker JavaScript 194flatpickr('.fabrx-date-rangepicker', { 195 mode: 'range', 196 locale: { 197 weekdays: { 198 shorthand: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], 199 longhand: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] 200 }, 201 }, 202}); 203 204//Fabrx Multidate Rangepicker JavaScript 205flatpickr('.fabrx-multidate-rangepicker', { 206 mode: 'range', 207 showMonths: 2, 208 locale: { 209 weekdays: { 210 shorthand: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], 211 longhand: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] 212 }, 213 }, 214});*/ 215 216//Fabrx Range Slider JavaScript 217document.querySelectorAll('input[type="range"]').forEach(FabrxRange => { 218 var slider = new Slider(FabrxRange, { 219 formatter: function(value) { 220 return 'Current value: ' + value; 221 } 222 }); 223}); 224 225// Fabrx Toggle JavaScript 226document.querySelectorAll('.aside-toggle').forEach(fabrxToggle => { 227 fabrxToggle.addEventListener('click', ({target}) => { 228 target.closest('body').classList.toggle('manage-page'); 229 target.closest('.fabrx-sidebar').classList.toggle('aside-open'); 230 }); 231}); 232 233document.querySelectorAll('.search-icon').forEach(fabrxToggle => { 234 fabrxToggle.addEventListener('click', ({target}) => { 235 target.closest('body').classList.toggle('search-open'); 236 }); 237}); 238 239//Fabrx Header Toggle Class JavaScript 240document.querySelectorAll('.header-aside-toggle').forEach(fabrxToggle => { 241 fabrxToggle.addEventListener('click', ({target}) => { 242 target.closest('body').classList.toggle('has-sidebar-body'); 243 target.closest('.fabrx-documentation').classList.toggle('aside-main-open'); 244 }); 245}); 246 247 248 249//Fabrx Smooth Scroll JavaScript 250var scroll = new SmoothScroll('.menu-scroll li a', { 251 speed: 100, 252 offset: 120, 253}); 254 255//Fabrx Sticky JavaScript 256// var sticky = new Sticky('.fabrx-sticky', { 257// stickyClass: 'sticky', 258// wrap: true, 259// }); 260 261//Fabrx Attract Data Value And Apply Inline CSS JavaScript 262var dataSize = document.querySelectorAll('[data-size]'); 263dataSize.forEach(sizeValue => { 264 sizeValue.style.width = sizeValue.getAttribute('data-size') + 'px'; 265 sizeValue.style.height = sizeValue.getAttribute('data-size') + 'px'; 266}); 267 268//Fabrx custom JavaScript 269function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 270 271function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 272 273function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 274 275function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
275 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 276 277function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 278 279//Fabrx Utils Javascript 280var docReady = function docReady(fn) { 281 if (document.readyState === 'loading') { 282 document.addEventListener('DOMContentLoaded', fn); 283 } else { 284 setTimeout(fn, 1); 285 } 286}; 287 288var resize = function resize(fn) { 289 return window.addEventListener('resize', fn); 290}; 291 292var getData = function getData(el, data) { 293 try { 294 return JSON.parse(el.dataset[data]); 295 } catch (e) { 296 return el.dataset[data]; 297 } 298}; 299 300var hasClass = function hasClass(el, className) { 301 !el && false; 302 return el.classList.value.includes(className); 303}; 304 305var addClass = function addClass(el, className) { 306 el.classList.add(className); 307}; 308 309var utils = { 310 docReady: docReady, 311 resize: resize, 312 getData: getData, 313 hasClass: hasClass, 314 addClass: addClass, 315}; 316 317var copyLink = function copyLink() { 318 var copyLinkModal = document.getElementById('copyLinkModal'); 319 copyLinkModal && copyLinkModal.addEventListener('shown.bs.modal', function () { 320 var invitationLink = document.querySelector('.invitation-link'); 321 invitationLink.select(); 322 }); 323}; 324 325//Fabrx Dropzone Javascript 326/* window.Dropzone ? window.Dropzone.autoDiscover = false : ''; 327var dropzoneInit = function dropzoneInit() { 328 var merge = window._.merge; 329 var Selector = { 330 DROPZONE: '[data-dropzone]', 331 DZ_ERROR_MESSAGE: '.dz-error-message', 332 DZ_PREVIEW: '.dz-preview', 333 DZ_PROGRESS: '.dz-preview .dz-preview-cover .dz-progress', 334 DZ_PREVIEW_COVER: '.dz-preview .dz-preview-cover' 335 }; 336 var ClassName = { 337 DZ_FILE_PROCESSING: 'dz-file-processing', 338 DZ_FILE_COMPLETE: 'dz-file-complete', 339 DZ_COMPLETE: 'dz-complete', 340 DZ_PROCESSING: 'dz-processing' 341 }; 342 var DATA_KEY = { 343 OPTIONS: 'options' 344 }; 345 var Events = { 346 ADDED_FILE: 'addedfile', 347 COMPLETE: 'complete' 348 }; 349 var dropzones = document.querySelectorAll(Selector.DROPZONE); 350 !!dropzones.length && dropzones.forEach(function (item) { 351 // const element = item; 352 // const $this = $(element); 353 var userOptions = utils.getData(item, DATA_KEY.OPTIONS); 354 userOptions = userOptions || {}; 355 var data = userOptions.data ? userOptions.data : {}; 356 var options = merge({ 357 addRemoveLinks: false, 358 previewsContainer: item.querySelector(Selector.DZ_PREVIEW), 359 previewTemplate: item.querySelector(Selector.DZ_PREVIEW).innerHTML, 360 thumbnailWidth: null, 361 thumbnailHeight: null, 362 maxFilesize: 20, 363 filesizeBase: 1000, 364 init: function init() { 365 var thisDropzone = this; 366 367 if (data.length) { 368 data.forEach(function (v) { 369 var mockFile = { 370 name: v.name, 371 size: v.size 372 }; 373 thisDropzone.options.addedfile.call(thisDropzone, mockFile); 374 thisDropzone.options.thumbnail.call(thisDropzone, mockFile, "".concat(v.url, "/").concat(v.name)); 375 }); 376 } 377 378 thisDropzone.on(Events.ADDED_FILE, function addedfile() { 379 console.log(item.querySelectorAll(Selector.DZ_PREVIEW_COVER)); 380 381 if ('maxFiles' in userOptions) { 382 if (userOptions.maxFiles === 1 && item.querySelectorAll(Selector.DZ_PREVIEW_COVER).length > 1) { 383 item.querySelector(Selector.DZ_PREVIEW_COVER).remove(); 384 } 385 386 if (userOptions.maxFiles === 1 && this.files.length > 1) { 387 this.removeFile(this.files[0]); 388 } 389 } 390 }); 391 } 392 }, userOptions); // eslint-disable-next-line 393 394 item.querySelector(Selector.DZ_PREVIEW).innerHTML = ""; 395 var dropzone = new window.Dropzone(item, options); 396 dropzone.on(Events.ADDED_FILE, function () { 397 if (item.querySelector(Selector.DZ_PREVIEW_COVER)) { 398 item.querySelector(Selector.DZ_PREVIEW_COVER).classList.remove(ClassName.DZ_FILE_COMPLETE); 399 } 400 401 item.classList.add(ClassName.DZ_FILE_PROCESSING); 402 }); 403 dropzone.on(Events.COMPLETE, function () { 404 if (item.querySelector(Selector.DZ_PREVIEW_COVER)) { 405 item.querySelector(Selector.DZ_PREVIEW_COVER).classList.remove(ClassName.DZ_PROCESSING); 406 } 407 408 item.classList.add(ClassName.DZ_FILE_COMPLETE); 409 }); 410 }); 411};*/ 412 413//Fabrx Popover Javascript 414var popoverInit = function popoverInit() { 415 var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-toggle="popover"]')); 416 popoverTriggerList.map(function (popoverTriggerEl) { 417 return new window.bootstrap.Popover(popoverTriggerEl, { 418 trigger: 'focus' 419 }); 420 }); 421}; 422 423//Fabrx Progress Circle Javascript 424/*var progressBar = function progressBar() { 425 var merge = window._.merge; 426 427 var progresCircle = document.querySelectorAll('.progress-circle'); 428 429 if (progresCircle.length) { 430 progresCircle.forEach(function (item) { 431 var userOptions = utils.getData(item, 'options'); 432 var defaultOptions = { 433 strokeWidth: 2, 434 trailWidth: 2, 435 trailColor: utils.grays['100'], 436 easing: 'easeInOut', 437 duration: 3000, 438 svgStyle: { 439 'stroke-linecap': 'round', 440 display: 'block', 441 width: '100%' 442 }, 443 text: { 444 autoStyleContainer: false 445 },
446 // Set default step function for all animate calls 447 step: function step(state, circle) { 448 var percentage = Math.round(circle.value() * 100); 449 circle.setText("<span class='value'>".concat(percentage, "<b>%</b></span> <span>").concat(userOptions.text || '', "</span>")); 450 } 451 }; 452 var options = merge(defaultOptions, userOptions); 453 var bar = new ProgressBar.Circle(item, options); 454 var linearGradient = "<defs>\n <linearGradient id=\"gradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0%\" stop-color='#1970e2' />\n <stop offset=\"100%\" stop-color='#4695ff' />\n </linearGradient>\n </defs>"; 455 bar.svg.insertAdjacentHTML('beforeEnd', linearGradient); 456 var playProgressTriggered = false; 457 458 var progressCircleAnimation = function progressCircleAnimation() { 459 if (!playProgressTriggered) { 460 if (utils.isScrolledIntoView(item).partial) { 461 bar.animate(options.progress / 100); 462 playProgressTriggered = true; 463 } 464 } 465 466 return playProgressTriggered; 467 }; 468 469 progressCircleAnimation(); 470 window.addEventListener('scroll', function () { 471 progressCircleAnimation(); 472 }); 473 }); 474 } 475};*/ 476 477//Fabrx Tooltip Javascript 478var tooltipInit = function tooltipInit() { 479 var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); 480 tooltipTriggerList.map(function (tooltipTriggerEl) { 481 return new window.bootstrap.Tooltip(tooltipTriggerEl); 482 }); 483}; 484 485// docReady(progressBar); 486docReady(tooltipInit); 487docReady(popoverInit); 488// docReady(dropzoneInit); 489docReady(copyLink); 490 491//Fabrx Get Selected Radio Button ID By Name Javascript 492var getSelectedRadio = function getSelectedRadio(radioName) { 493 var ele = document.getElementsByName(radioName); 494 var value = ''; 495 for(i = 0; i < ele.length; i++) { 496 if(ele[i].checked) { 497 value = ele[i].id; 498 break; 499 } 500 } 501 return value; 502} 503 504//Fabrx Custom JavaScript 505function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } 506 507function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } 508 509function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 510 511function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 512 513function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 514 515//Fabrx Resize JavaScript 516var resize = function resize(fn) { 517 return window.addEventListener('resize', fn); 518}; 519 520//Fabrx Getdata JavaScript 521var getData = function getData(el, data) { 522 try { 523 return JSON.parse(el.dataset[data]); 524 } catch (e) { 525 return el.dataset[data]; 526 } 527}; 528 529var isScrolledIntoView = function isScrolledIntoView(el) { 530 var top = el.offsetTop; 531 var left = el.offsetLeft; 532 var width = el.offsetWidth; 533 var height = el.offsetHeight; 534 535 while (el.offsetParent) { 536 el = el.offsetParent; 537 top += el.offsetTop; 538 left += el.offsetLeft; 539 } 540 541 return { 542 all: top >= window.pageYOffset && left >= window.pageXOffset && top + height <= window.pageYOffset + window.innerHeight && left + width <= window.pageXOffset + window.innerWidth, 543 partial: top < window.pageYOffset + window.innerHeight && left < window.pageXOffset + window.innerWidth && top + height > window.pageYOffset && left + width > window.pageXOffset 544 }; 545}; 546 547//Fabrx On Window Load Customizer JavaScript 548var getSelectedRadioValue = function getSelectedRadioValue(radioName) { 549 var ele = document.getElementsByName(radioName); 550 var value = ''; 551 for(i = 0; i < ele.length; i++) { 552 if(ele[i].checked) { 553 value = ele[i].value; 554 break; 555 } 556 } 557 return value; 558} 559 560window.onload = function() { 561 // document.querySelector('body').style.opacity = '1'; 562 // var skinStorage = localStorage.getItem('selectedSkin'); 563 // if(skinStorage != '' && skinStorage != null) { 564 // document.getElementById(skinStorage).checked = true; 565 // } 566 // var skinValue = getSelectedRadioValue('FabrxSkins'); 567 // localStorage.setItem('skins', skinValue); 568 // var rtlMode = document.getElementById('RTLMode'); 569 // if(rtlMode?.checked) { 570 // localStorage.setItem('rtlModeValue', rtlMode.value); 571 // initRTLMode(); 572 // } 573 // else { 574 // localStorage.removeItem('rtlModeValue'); 575 // var customizerBody = document.querySelector('body').classList.remove(localStorage.getItem('rtlModeValue')); 576 // } 577 // customizerBody = document.querySelector('body').classList.add(localStorage.getItem('skins'), localStorage.getItem('rtlModeValue')); 578} 579 580//Fabrx Onhover Get Inline CSS JavaScript 581var fabrxNavItem = document.querySelectorAll('.menu-category li').forEach((fabrxNavItem) => { 582 fabrxNavItem.addEventListener('mouseover', (e) => { 583 var fabrxPosition = fabrxNavItem.getBoundingClientRect(); 584 fabrxNavItem.style.top = fabrxPosition.top + 'px'; 585 }); 586}); 587 588//Fabrx Dropdown Stop Propagation JavaScript 589document.querySelectorAll('.dropdown-menu, .dropdown-toggle').forEach(dropdownMenu => { 590 dropdownMenu.addEventListener('click', (e) => { 591 e.stopPropagation(); 592 }); 593}); 594 595//Fabrx Toggle Class JavaScript 596document.querySelectorAll('.back-arrow').forEach(fabrxSidebarSwitcher => { 597 fabrxSidebarSwitcher.addEventListener('click', (e) => { 598 if (document.body.className.match('sidebar-compact')) { 599 document.querySelector('body').classList.toggle('sidebar-compact'); 600 document.querySelector('body').classList.add('previous-compact'); 601 } 602 else if (document.body.className.match('previous-compact')) { 603 document.querySelector('body').classList.toggle('sidebar-compact'); 604 } 605 else { 606 document.querySelector('body').classList.toggle('sidebar-icons'); 607 } 608 }); 609}); 610document.querySelectorAll('.fabrx-hamburger').forEach(fabrxHamburger => { 611 fabrxHamburger.addEventListener('click', (e) => { 612 document.querySelector('body').classList.toggle('sidebar-menu'); 613 }); 614}); 615document.querySelectorAll('body').forEach(fabrxHamburger => { 616 fabrxHamburger.addEventListener('click', (e) => { 617 document.querySelector('body').classList.remove('customize-box'); 618 }); 619}); 620document.querySelectorAll('.customize-btn, .customize-close').forEach(fabrxCustomizerToggle => { 621 fabrxCustomizerToggle.addEventListener('click', (e) => { 622 e.stopPropagation(); 623 document.querySelector('body').classList.toggle('customize-box'); 624 }); 625}); 626document.querySelectorAll('.fabrx-search').forEach(fabrxSearch => { 627 fabrxSearch.addEventListener('click', (e) => { 628 document.querySelector('body').classList.toggle('search-open'); 629 }); 630}); 631document.querySelectorAll('.customize-sidebar').forEach(fabrxSearch => { 632 fabrxSearch.addEventListener('click', (e) => { 633 e.stopPropagation(); 634 }); 635}); 636 637//Fabrx Set Item Value By Local Storage JavaScript 638document.querySelectorAll('[name="FabrxSkins"]').forEach(skins => { 639 skins.addEventListener('change', (e) => { 640 localStorage.setItem('skins', skins.value); 641 }); 642}); 643 644//Fabrx RTL Selected, And Dselect JavaScript 645if (localStorage.getItem('rtlModeCheck') == 'true') { 646 initRTLMode(); 647} 648else if (localStorage.getItem('rtlModeCheck') == 'false') { 649 var rtlMode = document.getElementById('RTLMode').removeAttribute('checked'); 650 var customizerBody = document.querySelector('body').classList.remove(localStorage.getItem('rtlModeValue')); 651} 652function initRTLMode() { 653 document.getElementById('RTLMode').checked = true; 654 var customizerHtml = document.querySelector('html').setAttribute('dir','rtl'); 655 var customizerBody = document.querySelector('body').classList.add(localStorage.getItem('rtlModeValue')); 656 var rtlCss = document.createElement('link'); 657 rtlCss.href = '../assets/css/bootstrap.rtl.min.css'; 658 rtlCss.rel = 'stylesheet'; 659 rtlCss.type = 'text/css'; 660 rtlCss.media = 'all'; 661 document.getElementsByTagName('head')[0].prepend(rtlCss); 662} 663if (localStorage.getItem('DarkModeCheck') == 'true') { 664 var darkImage = document.getElementsByTagName('img'); 665 for (var i=0; i<darkImage.length; i++) { 666 if(darkImage[i].getAttribute('data-src')) { 667 darkImage[i].setAttribute('src',darkImage[i].getAttribute('data-src')); 668 } 669 }; 670} 671 672//Fabrx Reload Page And Set item By LocalStorage JavaScript 673// document.querySelector('#CustomizerPreview').addEventListener('click', event => { 674// var skin = getSelectedRadio('FabrxSkins'); 675// localStorage.setItem('selectedSkin', skin); 676// var skinValue = getSelectedRadioValue('FabrxSkins'); 677// localStorage.setItem('skins', skinValue); 678// var rtlMode = document.getElementById('RTLMode'); 679// localStorage.setItem('rtlModeCheck', rtlMode.checked); 680// var darkMode = document.getElementById('DarkMode'); 681// localStorage.setItem('DarkModeCheck', darkMode.checked); 682// if(rtlMode.checked) { 683// localStorage.setItem('rtlModeValue', rtlMode.value); 684// } 685// else { 686// localStorage.removeItem('rtlModeValue'); 687// var customizerBody = document.querySelector('body').classList.remove(localStorage.getItem('rtlModeValue')); 688// } 689// window.location.reload(); 690// }); 691 692//Fabrx Remove Local Storage And Reload Page JavaScript 693// document.querySelector('#ResetCustomizer').addEventListener('click', event => { 694// localStorage.removeItem('skins'); 695// localStorage.removeItem('DarkModeCheck'); 696// localStorage.removeItem('rtlModeCheck'); 697// localStorage.removeItem('rtlModeValue'); 698// localStorage.removeItem('headerStyle'); 699// localStorage.removeItem('selectedSkin'); 700// window.location.reload(); 701// }); 702// customizerBody = document.querySelector('body').classList.add(localStorage.getItem('skins'), localStorage.getItem('rtlModeValue'));
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.