Elementor Essential Addons - Version 4.9.5

Version Description

  • 28/10/2021 =

  • Fixed: EA Simple Menu | Active Page still showing on Responsive Devices

  • Fixed: EA Twitter Feed | Not pulling the feed when new Keys are inserted

  • Fixed: EA Advanced Data Table | Automatically copying data from another table

  • Fixed: EA Contact Form 7 | Field style not being editable

  • Improved: EA Woo Product Gallery | Added Responsive controls

  • Few minor bug fix & improvements

Download this release

Release Info

Developer wpdevteam
Plugin Icon 128x128 Elementor Essential Addons
Version 4.9.5
Comparing to
See all releases

Code changes from version 4.9.4 to 4.9.5

assets/front-end/css/view/simple-menu.css CHANGED
@@ -463,7 +463,7 @@
463
  }
464
  @media screen and (max-width: 991px) {
465
  .eael_simple_menu_hamburger_disable_selected_menu_hide .eael-simple-menu-toggle-text {
466
- display: none;
467
  }
468
  }
469
  .eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle-text {
463
  }
464
  @media screen and (max-width: 991px) {
465
  .eael_simple_menu_hamburger_disable_selected_menu_hide .eael-simple-menu-toggle-text {
466
+ display: none !important;
467
  }
468
  }
469
  .eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle-text {
assets/front-end/css/view/simple-menu.min.css CHANGED
@@ -1 +1 @@
1
- .eael-simple-menu-container{background-color:#54595f}@media screen and (max-width: 991px){.eael-simple-menu-container{min-height:50px;overflow:auto}}.eael-simple-menu-container .eael-simple-menu-toggle{position:absolute;top:0;right:0;height:100%;padding-top:0;padding-bottom:0;padding-left:15px;padding-right:15px;background-color:#000;color:#fff;border:none;border-radius:0;outline:none;display:block;border-color:#333}@media screen and (min-width: 992px){.eael-simple-menu-container .eael-simple-menu-toggle{display:none}}.eael-simple-menu-container .eael-simple-menu-toggle .eael-simple-menu-toggle-text{display:none}.eael-simple-menu-container .eael-simple-menu-toggle-text{position:absolute;top:0;left:20px;font-size:14px;line-height:50px !important;letter-spacing:0 !important;color:#fff}@media screen and (min-width: 992px){.eael-simple-menu-container .eael-simple-menu-toggle-text{display:none}}.eael-simple-menu-container .eael-simple-menu{margin:0;padding:0;list-style:none}.eael-simple-menu-container .eael-simple-menu:after{content:"";display:table;clear:both}.eael-simple-menu-container .eael-simple-menu a{text-decoration:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.eael-simple-menu-container .eael-simple-menu li a{font-size:14px;font-weight:400;line-height:50px;text-align:center;color:#fff;padding-left:20px;padding-right:20px;-webkit-transition:all 100ms;-o-transition:all 100ms;transition:all 100ms}.eael-simple-menu-container .eael-simple-menu li ul{margin:0;padding:0;list-style:none}.eael-simple-menu-container .eael-simple-menu li ul li a{font-size:13px;font-weight:400;line-height:40px;text-align:left;color:#000;padding-left:20px;padding-right:20px}.eael-simple-menu-container .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container .eael-simple-menu li ul li.current-menu-item>a{color:#ee355f;background-color:#fff}.eael-simple-menu-container .eael-simple-menu li:hover>a,.eael-simple-menu-container .eael-simple-menu li.current-menu-item>a{color:#fff}.eael-simple-menu-container .eael-simple-menu .eael-simple-menu-indicator{position:absolute;top:25px;right:10px;width:28px;height:28px;display:block;border:1px solid #ffffff80;border-radius:2px;text-align:center;cursor:pointer}.eael-simple-menu-container .eael-simple-menu .eael-simple-menu-indicator:before{display:block;font-weight:900;line-height:26px;color:#fff;-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;-o-transition:transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms}.eael-simple-menu-container .eael-simple-menu .eael-simple-menu-indicator.eael-simple-menu-indicator-open:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li{position:relative;float:left;display:inline-block;padding-top:0;padding-bottom:0}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a{display:inline-block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a span{position:relative;margin-left:5px}@media screen and (max-width: 991px){.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a span{display:none}}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul{position:absolute;top:100%;left:auto;width:220px;visibility:hidden;opacity:0;background-color:#fff;-webkit-box-shadow:1px 1px 5px #0000001a;box-shadow:1px 1px 5px #0000001a;z-index:1}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li{position:relative;float:none;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li a{display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li a span{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li:last-child>a{border-bottom-width:0}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li ul{top:0;left:100%}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li:hover>ul{visibility:visible;opacity:1}@media screen and (min-width: 992px){.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-fade li ul{-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-to-top li ul{-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-to-top li:hover>ul{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-in li ul{-webkit-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8);-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-in li:hover>ul{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-out li ul{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-out li:hover>ul{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal .eael-simple-menu-indicator{display:none}}@media screen and (max-width: 991px){.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal{position:absolute;top:50px;background-color:#54595f;width:100%;z-index:9;display:none}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li{float:none;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a{display:block;text-align:inherit}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul{position:relative;top:unset;left:unset;width:100%;-webkit-box-shadow:none;box-shadow:none;visibility:visible;opacity:1;display:none}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li{position:relative;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li .eael-simple-menu-indicator{border:1px solid #00000080}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li .eael-simple-menu-indicator:before{color:#000}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li ul{position:relative;width:100%;top:unset;left:unset}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li ul li:last-child>a{border-bottom-width:1px}}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li{position:relative}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li a{display:block;text-align:left}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul{display:none}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li{position:relative;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li a{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:transparent}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li:last-child>a{border-bottom-width:0}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li .eael-simple-menu-indicator{border:1px solid #00000080}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li .eael-simple-menu-indicator:before{color:#000}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li ul li:last-child>a{border-bottom-width:1px}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-center{text-align:center}}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-center .eael-simple-menu.eael-simple-menu-horizontal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media screen and (max-width: 991px){.eael-simple-menu-container.eael-simple-menu-align-center .eael-simple-menu>li>a{text-align:center}}.eael-simple-menu-container.eael-simple-menu-align-center .eael-simple-menu.eael-simple-menu-vertical>li>a{text-align:center}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-right{text-align:right}}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media screen and (max-width: 991px){.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal>li>a{text-align:right}}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal>li>.eael-simple-menu-indicator{right:initial;left:10px}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal>li:last-child a{border-right:none}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-vertical>li>a{text-align:right}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-vertical>li>.eael-simple-menu-indicator{right:initial;left:10px}.eael-simple-menu-container.eael-simple-menu-dropdown-align-center .eael-simple-menu li ul li a{text-align:center}.eael-simple-menu-container.eael-simple-menu-dropdown-align-right .eael-simple-menu li ul li a{text-align:right}.eael-simple-menu-container.eael-simple-menu-dropdown-align-right .eael-simple-menu li ul li>.eael-simple-menu-indicator{right:initial;left:10px}.eael-simple-menu-container.preset-1{background-color:#4e36a3}@media screen and (max-width: 991px){.eael-simple-menu-container.preset-1 .eael-simple-menu.eael-simple-menu-horizontal{background-color:#4e36a3}}.eael-simple-menu-container.preset-1 .eael-simple-menu li>a{color:#fff}.eael-simple-menu-container.preset-1 .eael-simple-menu li.current-menu-ancestor>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li:hover>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li.current-menu-item>a{background-color:#743eff}.eael-simple-menu-container.preset-1 .eael-simple-menu li ul{background-color:#743eff}.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li.current-menu-ancestor>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li.current-menu-item>a{background-color:#4e36a3}.eael-simple-menu-container.preset-3{background-color:#15dbd5}@media screen and (max-width: 991px){.eael-simple-menu-container.preset-3 .eael-simple-menu.eael-simple-menu-horizontal{background-color:#15dbd5}}.eael-simple-menu-container.preset-3 .eael-simple-menu li>a{color:#2a1a6c}.eael-simple-menu-container.preset-3 .eael-simple-menu li.current-menu-ancestor>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li:hover>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li.current-menu-item>a{color:#fff;background-color:#f72c8a}.eael-simple-menu-container.preset-3 .eael-simple-menu li ul{background-color:#f72c8a}.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li>a{color:#fff;border-bottom:1px solid #f72c8a}.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li.current-menu-ancestor>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li.current-menu-item>a{background-color:#f30875}.eael-simple-menu-container.preset-2{background-color:#fff;border:1px solid #1bc1ff}@media screen and (max-width: 991px){.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal{background-color:#1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal li.current-menu-ancestor>a,.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal li:hover>a,.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal li.current-menu-item>a{color:#fff}}.eael-simple-menu-container.preset-2 .eael-simple-menu li>a{color:#5d5e61}.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal:not(.eael-simple-menu-responsive)>li:first-child>a{border-left:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal:not(.eael-advanced-menu-responsive)>li>a{border-right:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li.current-menu-ancestor>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li:hover>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li.current-menu-item>a{color:#1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li ul{background-color:#fff;border:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li>a{color:#5f5d5d;border-bottom:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li.current-menu-ancestor>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li.current-menu-item>a{color:#1bc1ff}@media screen and (max-width: 991px){.eael_simple_menu_hamburger_disable_selected_menu_hide .eael-simple-menu-toggle-text{display:none}}.eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle-text{display:none}@media screen and (max-width: 991px){.eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle{top:0;left:0;right:auto}}.eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle .eael-simple-menu-toggle-text{display:block;left:calc(100% + 20px);white-space:nowrap}@media screen and (max-width: 991px){.eael-simple-menu-hamburger-align-center .eael-simple-menu-toggle{left:50%;right:auto;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}}.eael-simple-menu--stretch .eael-simple-menu.eael-simple-menu-responsive{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);transition:max-height .3s,transform .3s,-webkit-transform .3s;-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;overflow:auto;z-index:9999;max-height:100vh}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-center li .eael-simple-menu-indicator{left:initial !important;right:10px !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-center li a{text-align:center !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-left li .eael-simple-menu-indicator{left:initial !important;right:10px !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-left li a{text-align:left !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-right li .eael-simple-menu-indicator{right:initial !important;left:10px !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-right li a{text-align:right !important}
1
+ .eael-simple-menu-container{background-color:#54595f}@media screen and (max-width: 991px){.eael-simple-menu-container{min-height:50px;overflow:auto}}.eael-simple-menu-container .eael-simple-menu-toggle{position:absolute;top:0;right:0;height:100%;padding-top:0;padding-bottom:0;padding-left:15px;padding-right:15px;background-color:#000;color:#fff;border:none;border-radius:0;outline:none;display:block;border-color:#333}@media screen and (min-width: 992px){.eael-simple-menu-container .eael-simple-menu-toggle{display:none}}.eael-simple-menu-container .eael-simple-menu-toggle .eael-simple-menu-toggle-text{display:none}.eael-simple-menu-container .eael-simple-menu-toggle-text{position:absolute;top:0;left:20px;font-size:14px;line-height:50px !important;letter-spacing:0 !important;color:#fff}@media screen and (min-width: 992px){.eael-simple-menu-container .eael-simple-menu-toggle-text{display:none}}.eael-simple-menu-container .eael-simple-menu{margin:0;padding:0;list-style:none}.eael-simple-menu-container .eael-simple-menu:after{content:"";display:table;clear:both}.eael-simple-menu-container .eael-simple-menu a{text-decoration:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.eael-simple-menu-container .eael-simple-menu li a{font-size:14px;font-weight:400;line-height:50px;text-align:center;color:#fff;padding-left:20px;padding-right:20px;-webkit-transition:all 100ms;-o-transition:all 100ms;transition:all 100ms}.eael-simple-menu-container .eael-simple-menu li ul{margin:0;padding:0;list-style:none}.eael-simple-menu-container .eael-simple-menu li ul li a{font-size:13px;font-weight:400;line-height:40px;text-align:left;color:#000;padding-left:20px;padding-right:20px}.eael-simple-menu-container .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container .eael-simple-menu li ul li.current-menu-item>a{color:#ee355f;background-color:#fff}.eael-simple-menu-container .eael-simple-menu li:hover>a,.eael-simple-menu-container .eael-simple-menu li.current-menu-item>a{color:#fff}.eael-simple-menu-container .eael-simple-menu .eael-simple-menu-indicator{position:absolute;top:25px;right:10px;width:28px;height:28px;display:block;border:1px solid #ffffff80;border-radius:2px;text-align:center;cursor:pointer}.eael-simple-menu-container .eael-simple-menu .eael-simple-menu-indicator:before{display:block;font-weight:900;line-height:26px;color:#fff;-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;-o-transition:transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms}.eael-simple-menu-container .eael-simple-menu .eael-simple-menu-indicator.eael-simple-menu-indicator-open:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li{position:relative;float:left;display:inline-block;padding-top:0;padding-bottom:0}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a{display:inline-block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a span{position:relative;margin-left:5px}@media screen and (max-width: 991px){.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a span{display:none}}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul{position:absolute;top:100%;left:auto;width:220px;visibility:hidden;opacity:0;background-color:#fff;-webkit-box-shadow:1px 1px 5px #0000001a;box-shadow:1px 1px 5px #0000001a;z-index:1}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li{position:relative;float:none;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li a{display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li a span{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li:last-child>a{border-bottom-width:0}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li ul{top:0;left:100%}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li:hover>ul{visibility:visible;opacity:1}@media screen and (min-width: 992px){.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-fade li ul{-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-to-top li ul{-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-to-top li:hover>ul{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-in li ul{-webkit-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8);-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-in li:hover>ul{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-out li ul{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-zoom-out li:hover>ul{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal .eael-simple-menu-indicator{display:none}}@media screen and (max-width: 991px){.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal{position:absolute;top:50px;background-color:#54595f;width:100%;z-index:9;display:none}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li{float:none;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li a{display:block;text-align:inherit}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul{position:relative;top:unset;left:unset;width:100%;-webkit-box-shadow:none;box-shadow:none;visibility:visible;opacity:1;display:none}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li{position:relative;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li .eael-simple-menu-indicator{border:1px solid #00000080}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li .eael-simple-menu-indicator:before{color:#000}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li ul{position:relative;width:100%;top:unset;left:unset}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li ul li:last-child>a{border-bottom-width:1px}}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li{position:relative}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li a{display:block;text-align:left}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul{display:none}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li{position:relative;display:block}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li a{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:transparent}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li:last-child>a{border-bottom-width:0}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li .eael-simple-menu-indicator{border:1px solid #00000080}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li .eael-simple-menu-indicator:before{color:#000}.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-vertical li ul li ul li:last-child>a{border-bottom-width:1px}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-center{text-align:center}}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-center .eael-simple-menu.eael-simple-menu-horizontal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media screen and (max-width: 991px){.eael-simple-menu-container.eael-simple-menu-align-center .eael-simple-menu>li>a{text-align:center}}.eael-simple-menu-container.eael-simple-menu-align-center .eael-simple-menu.eael-simple-menu-vertical>li>a{text-align:center}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-right{text-align:right}}@media screen and (min-width: 992px){.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}@media screen and (max-width: 991px){.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal>li>a{text-align:right}}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal>li>.eael-simple-menu-indicator{right:initial;left:10px}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-horizontal>li:last-child a{border-right:none}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-vertical>li>a{text-align:right}.eael-simple-menu-container.eael-simple-menu-align-right .eael-simple-menu.eael-simple-menu-vertical>li>.eael-simple-menu-indicator{right:initial;left:10px}.eael-simple-menu-container.eael-simple-menu-dropdown-align-center .eael-simple-menu li ul li a{text-align:center}.eael-simple-menu-container.eael-simple-menu-dropdown-align-right .eael-simple-menu li ul li a{text-align:right}.eael-simple-menu-container.eael-simple-menu-dropdown-align-right .eael-simple-menu li ul li>.eael-simple-menu-indicator{right:initial;left:10px}.eael-simple-menu-container.preset-1{background-color:#4e36a3}@media screen and (max-width: 991px){.eael-simple-menu-container.preset-1 .eael-simple-menu.eael-simple-menu-horizontal{background-color:#4e36a3}}.eael-simple-menu-container.preset-1 .eael-simple-menu li>a{color:#fff}.eael-simple-menu-container.preset-1 .eael-simple-menu li.current-menu-ancestor>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li:hover>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li.current-menu-item>a{background-color:#743eff}.eael-simple-menu-container.preset-1 .eael-simple-menu li ul{background-color:#743eff}.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li.current-menu-ancestor>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li.current-menu-item>a{background-color:#4e36a3}.eael-simple-menu-container.preset-3{background-color:#15dbd5}@media screen and (max-width: 991px){.eael-simple-menu-container.preset-3 .eael-simple-menu.eael-simple-menu-horizontal{background-color:#15dbd5}}.eael-simple-menu-container.preset-3 .eael-simple-menu li>a{color:#2a1a6c}.eael-simple-menu-container.preset-3 .eael-simple-menu li.current-menu-ancestor>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li:hover>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li.current-menu-item>a{color:#fff;background-color:#f72c8a}.eael-simple-menu-container.preset-3 .eael-simple-menu li ul{background-color:#f72c8a}.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li>a{color:#fff;border-bottom:1px solid #f72c8a}.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li.current-menu-ancestor>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container.preset-3 .eael-simple-menu li ul li.current-menu-item>a{background-color:#f30875}.eael-simple-menu-container.preset-2{background-color:#fff;border:1px solid #1bc1ff}@media screen and (max-width: 991px){.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal{background-color:#1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal li.current-menu-ancestor>a,.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal li:hover>a,.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal li.current-menu-item>a{color:#fff}}.eael-simple-menu-container.preset-2 .eael-simple-menu li>a{color:#5d5e61}.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal:not(.eael-simple-menu-responsive)>li:first-child>a{border-left:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu.eael-simple-menu-horizontal:not(.eael-advanced-menu-responsive)>li>a{border-right:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li.current-menu-ancestor>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li:hover>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li.current-menu-item>a{color:#1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li ul{background-color:#fff;border:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li>a{color:#5f5d5d;border-bottom:1px solid #1bc1ff}.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li.current-menu-ancestor>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li:hover>a,.eael-simple-menu-container.preset-2 .eael-simple-menu li ul li.current-menu-item>a{color:#1bc1ff}@media screen and (max-width: 991px){.eael_simple_menu_hamburger_disable_selected_menu_hide .eael-simple-menu-toggle-text{display:none !important}}.eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle-text{display:none}@media screen and (max-width: 991px){.eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle{top:0;left:0;right:auto}}.eael-simple-menu-hamburger-align-left .eael-simple-menu-toggle .eael-simple-menu-toggle-text{display:block;left:calc(100% + 20px);white-space:nowrap}@media screen and (max-width: 991px){.eael-simple-menu-hamburger-align-center .eael-simple-menu-toggle{left:50%;right:auto;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}}.eael-simple-menu--stretch .eael-simple-menu.eael-simple-menu-responsive{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);transition:max-height .3s,transform .3s,-webkit-transform .3s;-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;overflow:auto;z-index:9999;max-height:100vh}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-center li .eael-simple-menu-indicator{left:initial !important;right:10px !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-center li a{text-align:center !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-left li .eael-simple-menu-indicator{left:initial !important;right:10px !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-left li a{text-align:left !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-right li .eael-simple-menu-indicator{right:initial !important;left:10px !important}.eael-simple-menu-container .eael-simple-menu-responsive.eael-hamburger-right li a{text-align:right !important}
assets/front-end/js/edit/advanced-data-table.js CHANGED
@@ -93,7 +93,7 @@
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
- eval("function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar advancedDataTableEdit = /*#__PURE__*/function () {\n function advancedDataTableEdit() {\n _classCallCheck(this, advancedDataTableEdit);\n\n // class props\n this.panel = null;\n this.model = null;\n this.view = null;\n this.table = null;\n this.tableInnerHTML = null;\n this.timeout = null;\n this.activeCell = null;\n this.dragStartX = null;\n this.dragStartWidth = null;\n this.dragEl = null;\n this.dragging = false; // register hooks\n\n ea.hooks.addFilter(\"advancedDataTable.getClassProps\", \"ea\", this.getClassProps.bind(this));\n ea.hooks.addFilter(\"advancedDataTable.setClassProps\", \"ea\", this.setClassProps.bind(this));\n ea.hooks.addFilter(\"advancedDataTable.parseHTML\", \"ea\", this.parseHTML);\n ea.hooks.addAction(\"advancedDataTable.initEditor\", \"ea\", this.initEditor.bind(this));\n ea.hooks.addAction(\"advancedDataTable.updateFromView\", \"ea\", this.updateFromView.bind(this));\n ea.hooks.addAction(\"advancedDataTable.initInlineEdit\", \"ea\", this.initInlineEdit.bind(this));\n ea.hooks.addAction(\"advancedDataTable.initPanelAction\", \"ea\", this.initPanelAction.bind(this));\n ea.hooks.addAction(\"advancedDataTable.triggerTextChange\", \"ea\", this.triggerTextChange.bind(this));\n elementor.hooks.addFilter(\"elements/widget/contextMenuGroups\", this.initContextMenu);\n elementor.hooks.addAction(\"panel/open_editor/widget/eael-advanced-data-table\", this.initPanel.bind(this));\n } // update model from view\n\n\n _createClass(advancedDataTableEdit, [{\n key: \"updateFromView\",\n value: function updateFromView(view, value) {\n var refresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var model = view.model; // disable elementor remote server render\n\n model.remoteRender = refresh;\n\n if (elementor.config.version > \"2.7.6\") {\n var container = view.getContainer();\n var settings = view.getContainer().settings.attributes;\n Object.keys(value).forEach(function (key) {\n settings[key] = value[key];\n });\n parent.window.$e.run(\"document/elements/settings\", {\n container: container,\n settings: settings,\n options: {\n external: refresh\n }\n });\n } else {\n // update backbone model\n Object.keys(value).forEach(function (key) {\n model.setSetting(key, value[key]);\n });\n } // enable elementor remote server render just after elementor throttle\n // ignore multiple assign\n\n\n this.timeout = setTimeout(function () {\n model.remoteRender = true;\n }, 1001);\n } // get class properties\n\n }, {\n key: \"getClassProps\",\n value: function getClassProps() {\n return {\n view: this.view,\n model: this.model,\n table: this.table,\n activeCell: this.activeCell\n };\n } // get class properties\n\n }, {\n key: \"setClassProps\",\n value: function setClassProps(props) {\n var _this = this;\n\n Object.keys(props).forEach(function (key) {\n _this[key] = props[key];\n });\n } // parse table html\n\n }, {\n key: \"parseHTML\",\n value: function parseHTML(tableHTML) {\n tableHTML.querySelectorAll(\"th, td\").forEach(function (el) {\n if (el.querySelector(\".inline-editor\") !== null) {\n el.innerHTML = decodeURI(el.dataset.quill || \"\");\n delete el.dataset.quill;\n }\n });\n return tableHTML;\n } // init editor\n\n }, {\n key: \"initEditor\",\n value: function initEditor(cell) {\n var _this2 = this;\n\n // init value\n cell.dataset.quill = encodeURI(cell.innerHTML); // insert editor dom\n\n cell.innerHTML = \"<div class=\\\"inline-editor\\\">\".concat(cell.innerHTML, \"</div>\"); // init quill\n\n var quill = new Quill(cell.querySelector(\".inline-editor\"), {\n theme: \"bubble\",\n modules: {\n toolbar: [\"bold\", \"italic\", \"underline\", \"strike\", \"link\", {\n list: \"ordered\"\n }, {\n list: \"bullet\"\n }]\n }\n }); // bind change\n\n quill.on(\"text-change\", function (delta, oldDelta, source) {\n clearTimeout(_this2.timeout); // update data\n\n cell.dataset.quill = encodeURI(quill.root.innerHTML); // parse table html\n\n var origTable = _this2.parseHTML(_this2.table.cloneNode(true));\n\n _this2.tableInnerHTML = origTable.innerHTML; // update table\n\n _this2.updateFromView(_this2.view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n });\n });\n } // init inline editing features\n\n }, {\n key: \"initInlineEdit\",\n value: function initInlineEdit() {\n var _this3 = this;\n\n var interval = setInterval(function () {\n if (_this3.view.el.querySelector(\".ea-advanced-data-table\")) {\n // init table\n if (_this3.table !== _this3.view.el.querySelector(\".ea-advanced-data-table\")) {\n _this3.table = _this3.view.el.querySelector(\".ea-advanced-data-table\"); // iniline editor\n\n if (_this3.table.classList.contains(\"ea-advanced-data-table-static\")) {\n _this3.table.querySelectorAll(\"th, td\").forEach(function (cell) {\n _this3.initEditor(cell);\n });\n } // mousedown\n\n\n _this3.table.addEventListener(\"mousedown\", function (e) {\n e.stopPropagation();\n\n if (e.target.tagName.toLowerCase() === \"th\") {\n _this3.dragging = true;\n _this3.dragEl = e.target;\n _this3.dragStartX = e.pageX;\n _this3.dragStartWidth = e.target.offsetWidth;\n }\n\n if (e.target.tagName.toLowerCase() === \"th\" || e.target.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target;\n } else if (e.target.parentNode.tagName.toLowerCase() === \"th\" || e.target.parentNode.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target.parentNode;\n } else if (e.target.parentNode.parentNode.tagName.toLowerCase() === \"th\" || e.target.parentNode.parentNode.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target.parentNode.parentNode;\n } else if (e.target.parentNode.parentNode.parentNode.tagName.toLowerCase() === \"th\" || e.target.parentNode.parentNode.parentNode.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target.parentNode.parentNode.parentNode;\n }\n }); // mousemove\n\n\n _this3.table.addEventListener(\"mousemove\", function (e) {\n if (_this3.dragging) {\n _this3.dragEl.style.width = \"\".concat(_this3.dragStartWidth + (event.pageX - _this3.dragStartX), \"px\");\n }\n }); // mouseup\n\n\n _this3.table.addEventListener(\"mouseup\", function (e) {\n if (_this3.dragging) {\n _this3.dragging = false;\n clearTimeout(_this3.timeout);\n\n if (_this3.table.classList.contains(\"ea-advanced-data-table-static\")) {\n // parse table html\n var origTable = _this3.parseHTML(_this3.table.cloneNode(true)); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n });\n } else {\n // th width store\n var widths = []; // collect width of th\n\n _this3.table.querySelectorAll(\"th\").forEach(function (el, index) {\n widths[index] = el.style.width;\n }); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_dynamic_th_width: widths\n });\n }\n }\n }); // clear style\n\n\n _this3.table.addEventListener(\"dblclick\", function (e) {\n if (e.target.tagName.toLowerCase() === \"th\") {\n e.stopPropagation();\n clearTimeout(_this3.timeout);\n\n if (_this3.table.classList.contains(\"ea-advanced-data-table-static\")) {\n // parse table html\n var origTable = _this3.parseHTML(_this3.table.cloneNode(true)); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n });\n } else {\n // th width store\n var widths = []; // collect width of th\n\n _this3.table.querySelectorAll(\"th\").forEach(function (el, index) {\n widths[index] = el.style.width;\n }); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_dynamic_th_width: widths\n });\n }\n }\n });\n }\n\n clearInterval(interval);\n }\n }, 500);\n } // panel action\n\n }, {\n key: \"initPanelAction\",\n value: function initPanelAction() {\n var _this4 = this;\n\n this.panel.content.el.onclick = function (event) {\n if (event.target.dataset.event == \"ea:advTable:export\") {\n // export\n var rows = _this4.table.querySelectorAll(\"table tr\");\n\n var csv = []; // generate csv\n\n for (var i = 0; i < rows.length; i++) {\n var row = [];\n\n var _cols = rows[i].querySelectorAll(\"th, td\");\n\n if (_this4.table.classList.contains(\"ea-advanced-data-table-static\")) {\n for (var j = 0; j < _cols.length; j++) {\n row.push(JSON.stringify(decodeURI(_cols[j].dataset.quill)));\n }\n } else {\n for (var _j = 0; _j < _cols.length; _j++) {\n row.push(JSON.stringify(_cols[_j].innerHTML.replace(/(\\r\\n|\\n|\\r)/gm, \" \").trim()));\n }\n }\n\n csv.push(row.join(\",\"));\n } // download\n\n\n var csv_file = new Blob([csv.join(\"\\n\")], {\n type: \"text/csv\"\n });\n var downloadLink = parent.document.createElement(\"a\");\n downloadLink.classList.add(\"ea-adv-data-table-download-\".concat(_this4.model.attributes.id));\n downloadLink.download = \"ea-adv-data-table-\".concat(_this4.model.attributes.id, \".csv\");\n downloadLink.href = window.URL.createObjectURL(csv_file);\n downloadLink.style.display = \"none\";\n parent.document.body.appendChild(downloadLink);\n downloadLink.click();\n parent.document.querySelector(\".ea-adv-data-table-download-\".concat(_this4.model.attributes.id)).remove();\n } else if (event.target.dataset.event == \"ea:advTable:import\") {\n // import\n var textarea = _this4.panel.content.el.querySelector(\".ea_adv_table_csv_string\");\n\n var enableHeader = _this4.panel.content.el.querySelector(\".ea_adv_table_csv_string_table\").checked;\n\n var csletr = textarea.value.split(\"\\n\");\n var header = \"\";\n var body = \"\";\n\n if (textarea.value.length > 0) {\n body += \"<tbody>\";\n csletr.forEach(function (row, index) {\n if (row.length > 0) {\n cols = row.match(/(\"(?:[^\"\\\\]|\\\\.)*\"|[^\",\"]+)/gm);\n\n if (cols.length > 0) {\n if (enableHeader && index == 0) {\n header += \"<thead><tr>\";\n cols.forEach(function (col) {\n if (col.match(/(^\"\")|(^\")|(\"$)|(\"\"$)/g)) {\n header += \"<th>\".concat(JSON.parse(col), \"</th>\");\n } else {\n header += \"<th>\".concat(col, \"</th>\");\n }\n });\n header += \"</tr></thead>\";\n } else {\n body += \"<tr>\";\n cols.forEach(function (col) {\n if (col.match(/(^\"\")|(^\")|(\"$)|(\"\"$)/g)) {\n body += \"<td>\".concat(JSON.parse(col), \"</td>\");\n } else {\n body += \"<td>\".concat(col, \"</td>\");\n }\n });\n body += \"</tr>\";\n }\n }\n }\n });\n body += \"</tbody>\";\n\n if (header.length > 0 || body.length > 0) {\n _this4.tableInnerHTML = header + body;\n\n _this4.updateFromView(_this4.view, {\n ea_adv_data_table_static_html: header + body\n }, true); // init inline edit\n\n\n var interval = setInterval(function () {\n if (_this4.view.el.querySelector(\".ea-advanced-data-table\").innerHTML == header + body) {\n clearInterval(interval);\n ea.hooks.doAction(\"advancedDataTable.initInlineEdit\");\n }\n }, 500);\n }\n }\n\n textarea.value = \"\";\n }\n\n ea.hooks.doAction(\"advancedDataTable.panelAction\", _this4.panel, _this4.model, _this4.view, event);\n };\n } // init panel\n\n }, {\n key: \"initPanel\",\n value: function initPanel(panel, model, view) {\n var _this5 = this;\n\n this.panel = panel;\n this.model = model;\n this.view = view; // init inline edit\n\n ea.hooks.doAction(\"advancedDataTable.initInlineEdit\"); // init panel action\n\n ea.hooks.doAction(\"advancedDataTable.initPanelAction\"); // after panel init hook\n\n ea.hooks.doAction(\"advancedDataTable.afterInitPanel\", panel, model, view);\n model.once(\"editor:close\", function () {\n // parse table html\n var origTable = _this5.parseHTML(_this5.table.cloneNode(true));\n\n if (_this5.tableInnerHTML == null) {\n _this5.tableInnerHTML = origTable.innerHTML;\n } // update table\n\n\n _this5.updateFromView(_this5.view, {\n ea_adv_data_table_static_html: _this5.tableInnerHTML\n }, true);\n });\n } // context menu\n\n }, {\n key: \"initContextMenu\",\n value: function initContextMenu(groups, element) {\n if (element.options.model.attributes.widgetType == \"eael-advanced-data-table\" && element.options.model.attributes.settings.attributes.ea_adv_data_table_source == \"static\") {\n groups.push({\n name: \"ea_advanced_data_table\",\n actions: [{\n name: \"add_row_above\",\n title: \"Add Row Above\",\n callback: function callback() {\n var _ea$hooks$applyFilter = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter.view,\n table = _ea$hooks$applyFilter.table,\n activeCell = _ea$hooks$applyFilter.activeCell;\n\n if (activeCell !== null && activeCell.tagName.toLowerCase() != \"th\") {\n var index = activeCell.parentNode.rowIndex;\n var row = table.insertRow(index); // insert cells in row\n\n for (var i = 0; i < table.rows[0].cells.length; i++) {\n var cell = row.insertCell(i); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"add_row_below\",\n title: \"Add Row Below\",\n callback: function callback() {\n var _ea$hooks$applyFilter2 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter2.view,\n table = _ea$hooks$applyFilter2.table,\n activeCell = _ea$hooks$applyFilter2.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.parentNode.rowIndex + 1;\n var row = table.insertRow(index);\n\n for (var i = 0; i < table.rows[0].cells.length; i++) {\n var cell = row.insertCell(i); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"add_column_left\",\n title: \"Add Column Left\",\n callback: function callback() {\n var _ea$hooks$applyFilter3 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter3.view,\n table = _ea$hooks$applyFilter3.table,\n activeCell = _ea$hooks$applyFilter3.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.cellIndex;\n\n for (var i = 0; i < table.rows.length; i++) {\n if (table.rows[i].cells[0].tagName.toLowerCase() == \"th\") {\n var cell = table.rows[i].insertBefore(document.createElement(\"th\"), table.rows[i].cells[index]); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } else {\n var _cell = table.rows[i].insertCell(index); // init inline editor\n\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", _cell);\n }\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"add_column_right\",\n title: \"Add Column Right\",\n callback: function callback() {\n var _ea$hooks$applyFilter4 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter4.view,\n table = _ea$hooks$applyFilter4.table,\n activeCell = _ea$hooks$applyFilter4.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.cellIndex + 1;\n\n for (var i = 0; i < table.rows.length; i++) {\n if (table.rows[i].cells[0].tagName.toLowerCase() == \"th\") {\n var cell = table.rows[i].insertBefore(document.createElement(\"th\"), table.rows[i].cells[index]); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } else {\n var _cell2 = table.rows[i].insertCell(index); // init inline editor\n\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", _cell2);\n }\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"delete_row\",\n title: \"Delete Row\",\n callback: function callback() {\n var _ea$hooks$applyFilter5 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter5.view,\n table = _ea$hooks$applyFilter5.table,\n activeCell = _ea$hooks$applyFilter5.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.parentNode.rowIndex; // delete row\n\n table.deleteRow(index); // remove active cell\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"delete_column\",\n title: \"Delete Column\",\n callback: function callback() {\n var _ea$hooks$applyFilter6 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter6.view,\n table = _ea$hooks$applyFilter6.table,\n activeCell = _ea$hooks$applyFilter6.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.cellIndex; // delete columns\n\n for (var i = 0; i < table.rows.length; i++) {\n table.rows[i].deleteCell(index);\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }]\n });\n }\n\n return groups;\n }\n }, {\n key: \"triggerTextChange\",\n value: function triggerTextChange(table) {\n if (table.classList.contains(\"ea-advanced-data-table-static\")) {\n var cellSelector = jQuery('thead tr:first-child th:first-child .ql-editor p', table),\n cellSelector = cellSelector.length ? cellSelector : jQuery('tbody tr:first-child td:first-child .ql-editor p', table),\n cellData = cellSelector.html();\n cellSelector.html(cellData + ' ');\n setTimeout(function () {\n cellSelector.html(cellData);\n }, 1100);\n }\n }\n }]);\n\n return advancedDataTableEdit;\n}();\n\nea.hooks.addAction(\"editMode.init\", \"ea\", function () {\n new advancedDataTableEdit();\n});\n\n//# sourceURL=webpack:///./src/js/edit/advanced-data-table.js?");
97
 
98
  /***/ })
99
 
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
+ eval("function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar advancedDataTableEdit = /*#__PURE__*/function () {\n function advancedDataTableEdit() {\n _classCallCheck(this, advancedDataTableEdit);\n\n // class props\n this.panel = null;\n this.model = null;\n this.view = null;\n this.table = null;\n this.tableInnerHTML = null;\n this.timeout = null;\n this.activeCell = null;\n this.dragStartX = null;\n this.dragStartWidth = null;\n this.dragEl = null;\n this.dragging = false; // register hooks\n\n ea.hooks.addFilter(\"advancedDataTable.getClassProps\", \"ea\", this.getClassProps.bind(this));\n ea.hooks.addFilter(\"advancedDataTable.setClassProps\", \"ea\", this.setClassProps.bind(this));\n ea.hooks.addFilter(\"advancedDataTable.parseHTML\", \"ea\", this.parseHTML);\n ea.hooks.addAction(\"advancedDataTable.initEditor\", \"ea\", this.initEditor.bind(this));\n ea.hooks.addAction(\"advancedDataTable.updateFromView\", \"ea\", this.updateFromView.bind(this));\n ea.hooks.addAction(\"advancedDataTable.initInlineEdit\", \"ea\", this.initInlineEdit.bind(this));\n ea.hooks.addAction(\"advancedDataTable.initPanelAction\", \"ea\", this.initPanelAction.bind(this));\n ea.hooks.addAction(\"advancedDataTable.triggerTextChange\", \"ea\", this.triggerTextChange.bind(this));\n elementor.hooks.addFilter(\"elements/widget/contextMenuGroups\", this.initContextMenu);\n elementor.hooks.addAction(\"panel/open_editor/widget/eael-advanced-data-table\", this.initPanel.bind(this));\n } // update model from view\n\n\n _createClass(advancedDataTableEdit, [{\n key: \"updateFromView\",\n value: function updateFromView(view, value) {\n var refresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var model = view.model; // disable elementor remote server render\n\n model.remoteRender = refresh;\n\n if (elementor.config.version > \"2.7.6\") {\n var container = view.getContainer();\n var settings = view.getContainer().settings.attributes;\n Object.keys(value).forEach(function (key) {\n settings[key] = value[key];\n });\n parent.window.$e.run(\"document/elements/settings\", {\n container: container,\n settings: settings,\n options: {\n external: refresh\n }\n });\n } else {\n // update backbone model\n Object.keys(value).forEach(function (key) {\n model.setSetting(key, value[key]);\n });\n } // enable elementor remote server render just after elementor throttle\n // ignore multiple assign\n\n\n this.timeout = setTimeout(function () {\n model.remoteRender = true;\n }, 1001);\n } // get class properties\n\n }, {\n key: \"getClassProps\",\n value: function getClassProps() {\n return {\n view: this.view,\n model: this.model,\n table: this.table,\n activeCell: this.activeCell\n };\n } // get class properties\n\n }, {\n key: \"setClassProps\",\n value: function setClassProps(props) {\n var _this = this;\n\n Object.keys(props).forEach(function (key) {\n _this[key] = props[key];\n });\n } // parse table html\n\n }, {\n key: \"parseHTML\",\n value: function parseHTML(tableHTML) {\n tableHTML.querySelectorAll(\"th, td\").forEach(function (el) {\n if (el.querySelector(\".inline-editor\") !== null) {\n el.innerHTML = decodeURI(el.dataset.quill || \"\");\n delete el.dataset.quill;\n }\n });\n return tableHTML;\n } // init editor\n\n }, {\n key: \"initEditor\",\n value: function initEditor(cell) {\n var _this2 = this;\n\n // init value\n cell.dataset.quill = encodeURI(cell.innerHTML); // insert editor dom\n\n cell.innerHTML = \"<div class=\\\"inline-editor\\\">\".concat(cell.innerHTML, \"</div>\"); // init quill\n\n var quill = new Quill(cell.querySelector(\".inline-editor\"), {\n theme: \"bubble\",\n modules: {\n toolbar: [\"bold\", \"italic\", \"underline\", \"strike\", \"link\", {\n list: \"ordered\"\n }, {\n list: \"bullet\"\n }]\n }\n }); // bind change\n\n quill.on(\"text-change\", function (delta, oldDelta, source) {\n clearTimeout(_this2.timeout); // update data\n\n cell.dataset.quill = encodeURI(quill.root.innerHTML); // parse table html\n\n var origTable = _this2.parseHTML(_this2.table.cloneNode(true));\n\n _this2.tableInnerHTML = origTable.innerHTML; // update table\n\n _this2.updateFromView(_this2.view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n });\n });\n } // init inline editing features\n\n }, {\n key: \"initInlineEdit\",\n value: function initInlineEdit() {\n var _this3 = this;\n\n var interval = setInterval(function () {\n if (_this3.view.el.querySelector(\".ea-advanced-data-table\")) {\n // init table\n if (_this3.table !== _this3.view.el.querySelector(\".ea-advanced-data-table\")) {\n _this3.table = _this3.view.el.querySelector(\".ea-advanced-data-table\"); // iniline editor\n\n if (_this3.table.classList.contains(\"ea-advanced-data-table-static\")) {\n _this3.table.querySelectorAll(\"th, td\").forEach(function (cell) {\n _this3.initEditor(cell);\n });\n } // mousedown\n\n\n _this3.table.addEventListener(\"mousedown\", function (e) {\n e.stopPropagation();\n\n if (e.target.tagName.toLowerCase() === \"th\") {\n _this3.dragging = true;\n _this3.dragEl = e.target;\n _this3.dragStartX = e.pageX;\n _this3.dragStartWidth = e.target.offsetWidth;\n }\n\n if (e.target.tagName.toLowerCase() === \"th\" || e.target.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target;\n } else if (e.target.parentNode.tagName.toLowerCase() === \"th\" || e.target.parentNode.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target.parentNode;\n } else if (e.target.parentNode.parentNode.tagName.toLowerCase() === \"th\" || e.target.parentNode.parentNode.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target.parentNode.parentNode;\n } else if (e.target.parentNode.parentNode.parentNode.tagName.toLowerCase() === \"th\" || e.target.parentNode.parentNode.parentNode.tagName.toLowerCase() === \"td\") {\n _this3.activeCell = e.target.parentNode.parentNode.parentNode;\n }\n }); // mousemove\n\n\n _this3.table.addEventListener(\"mousemove\", function (e) {\n if (_this3.dragging) {\n _this3.dragEl.style.width = \"\".concat(_this3.dragStartWidth + (event.pageX - _this3.dragStartX), \"px\");\n }\n }); // mouseup\n\n\n _this3.table.addEventListener(\"mouseup\", function (e) {\n if (_this3.dragging) {\n _this3.dragging = false;\n clearTimeout(_this3.timeout);\n\n if (_this3.table.classList.contains(\"ea-advanced-data-table-static\")) {\n // parse table html\n var origTable = _this3.parseHTML(_this3.table.cloneNode(true)); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n });\n } else {\n // th width store\n var widths = []; // collect width of th\n\n _this3.table.querySelectorAll(\"th\").forEach(function (el, index) {\n widths[index] = el.style.width;\n }); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_dynamic_th_width: widths\n });\n }\n }\n }); // clear style\n\n\n _this3.table.addEventListener(\"dblclick\", function (e) {\n if (e.target.tagName.toLowerCase() === \"th\") {\n e.stopPropagation();\n clearTimeout(_this3.timeout);\n\n if (_this3.table.classList.contains(\"ea-advanced-data-table-static\")) {\n // parse table html\n var origTable = _this3.parseHTML(_this3.table.cloneNode(true)); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n });\n } else {\n // th width store\n var widths = []; // collect width of th\n\n _this3.table.querySelectorAll(\"th\").forEach(function (el, index) {\n widths[index] = el.style.width;\n }); // update table\n\n\n _this3.updateFromView(_this3.view, {\n ea_adv_data_table_dynamic_th_width: widths\n });\n }\n }\n });\n }\n\n clearInterval(interval);\n }\n }, 500);\n } // panel action\n\n }, {\n key: \"initPanelAction\",\n value: function initPanelAction() {\n var _this4 = this;\n\n this.panel.content.el.onclick = function (event) {\n if (event.target.dataset.event == \"ea:advTable:export\") {\n // export\n var rows = _this4.table.querySelectorAll(\"table tr\");\n\n var csv = []; // generate csv\n\n for (var i = 0; i < rows.length; i++) {\n var row = [];\n\n var _cols = rows[i].querySelectorAll(\"th, td\");\n\n if (_this4.table.classList.contains(\"ea-advanced-data-table-static\")) {\n for (var j = 0; j < _cols.length; j++) {\n row.push(JSON.stringify(decodeURI(_cols[j].dataset.quill)));\n }\n } else {\n for (var _j = 0; _j < _cols.length; _j++) {\n row.push(JSON.stringify(_cols[_j].innerHTML.replace(/(\\r\\n|\\n|\\r)/gm, \" \").trim()));\n }\n }\n\n csv.push(row.join(\",\"));\n } // download\n\n\n var csv_file = new Blob([csv.join(\"\\n\")], {\n type: \"text/csv\"\n });\n var downloadLink = parent.document.createElement(\"a\");\n downloadLink.classList.add(\"ea-adv-data-table-download-\".concat(_this4.model.attributes.id));\n downloadLink.download = \"ea-adv-data-table-\".concat(_this4.model.attributes.id, \".csv\");\n downloadLink.href = window.URL.createObjectURL(csv_file);\n downloadLink.style.display = \"none\";\n parent.document.body.appendChild(downloadLink);\n downloadLink.click();\n parent.document.querySelector(\".ea-adv-data-table-download-\".concat(_this4.model.attributes.id)).remove();\n } else if (event.target.dataset.event == \"ea:advTable:import\") {\n // import\n var textarea = _this4.panel.content.el.querySelector(\".ea_adv_table_csv_string\");\n\n var enableHeader = _this4.panel.content.el.querySelector(\".ea_adv_table_csv_string_table\").checked;\n\n var csletr = textarea.value.split(\"\\n\");\n var header = \"\";\n var body = \"\";\n\n if (textarea.value.length > 0) {\n body += \"<tbody>\";\n csletr.forEach(function (row, index) {\n if (row.length > 0) {\n cols = row.match(/(\"(?:[^\"\\\\]|\\\\.)*\"|[^\",\"]+)/gm);\n\n if (cols.length > 0) {\n if (enableHeader && index == 0) {\n header += \"<thead><tr>\";\n cols.forEach(function (col) {\n if (col.match(/(^\"\")|(^\")|(\"$)|(\"\"$)/g)) {\n header += \"<th>\".concat(JSON.parse(col), \"</th>\");\n } else {\n header += \"<th>\".concat(col, \"</th>\");\n }\n });\n header += \"</tr></thead>\";\n } else {\n body += \"<tr>\";\n cols.forEach(function (col) {\n if (col.match(/(^\"\")|(^\")|(\"$)|(\"\"$)/g)) {\n body += \"<td>\".concat(JSON.parse(col), \"</td>\");\n } else {\n body += \"<td>\".concat(col, \"</td>\");\n }\n });\n body += \"</tr>\";\n }\n }\n }\n });\n body += \"</tbody>\";\n\n if (header.length > 0 || body.length > 0) {\n _this4.tableInnerHTML = header + body;\n\n _this4.updateFromView(_this4.view, {\n ea_adv_data_table_static_html: header + body\n }, true); // init inline edit\n\n\n var interval = setInterval(function () {\n if (_this4.view.el.querySelector(\".ea-advanced-data-table\").innerHTML == header + body) {\n clearInterval(interval);\n ea.hooks.doAction(\"advancedDataTable.initInlineEdit\");\n }\n }, 500);\n }\n }\n\n textarea.value = \"\";\n }\n\n ea.hooks.doAction(\"advancedDataTable.panelAction\", _this4.panel, _this4.model, _this4.view, event);\n };\n } // init panel\n\n }, {\n key: \"initPanel\",\n value: function initPanel(panel, model, view) {\n var _this5 = this;\n\n this.panel = panel;\n this.model = model;\n this.view = view;\n var elClass = \".ea-advanced-data-table-\".concat(this.view.container.args.id);\n var eaTable = this.view.el.querySelector(\".ea-advanced-data-table\" + elClass); // init inline edit\n\n ea.hooks.doAction(\"advancedDataTable.initInlineEdit\"); // init panel action\n\n ea.hooks.doAction(\"advancedDataTable.initPanelAction\"); // after panel init hook\n\n ea.hooks.doAction(\"advancedDataTable.afterInitPanel\", panel, model, view);\n model.once(\"editor:close\", function () {\n // parse table html\n var origTable = _this5.parseHTML(eaTable.cloneNode(true));\n\n _this5.tableInnerHTML = origTable.innerHTML; // update table\n\n _this5.updateFromView(_this5.view, {\n ea_adv_data_table_static_html: _this5.tableInnerHTML\n }, true);\n });\n } // context menu\n\n }, {\n key: \"initContextMenu\",\n value: function initContextMenu(groups, element) {\n if (element.options.model.attributes.widgetType == \"eael-advanced-data-table\" && element.options.model.attributes.settings.attributes.ea_adv_data_table_source == \"static\") {\n groups.push({\n name: \"ea_advanced_data_table\",\n actions: [{\n name: \"add_row_above\",\n title: \"Add Row Above\",\n callback: function callback() {\n var _ea$hooks$applyFilter = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter.view,\n table = _ea$hooks$applyFilter.table,\n activeCell = _ea$hooks$applyFilter.activeCell;\n\n if (activeCell !== null && activeCell.tagName.toLowerCase() != \"th\") {\n var index = activeCell.parentNode.rowIndex;\n var row = table.insertRow(index); // insert cells in row\n\n for (var i = 0; i < table.rows[0].cells.length; i++) {\n var cell = row.insertCell(i); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"add_row_below\",\n title: \"Add Row Below\",\n callback: function callback() {\n var _ea$hooks$applyFilter2 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter2.view,\n table = _ea$hooks$applyFilter2.table,\n activeCell = _ea$hooks$applyFilter2.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.parentNode.rowIndex + 1;\n var row = table.insertRow(index);\n\n for (var i = 0; i < table.rows[0].cells.length; i++) {\n var cell = row.insertCell(i); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"add_column_left\",\n title: \"Add Column Left\",\n callback: function callback() {\n var _ea$hooks$applyFilter3 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter3.view,\n table = _ea$hooks$applyFilter3.table,\n activeCell = _ea$hooks$applyFilter3.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.cellIndex;\n\n for (var i = 0; i < table.rows.length; i++) {\n if (table.rows[i].cells[0].tagName.toLowerCase() == \"th\") {\n var cell = table.rows[i].insertBefore(document.createElement(\"th\"), table.rows[i].cells[index]); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } else {\n var _cell = table.rows[i].insertCell(index); // init inline editor\n\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", _cell);\n }\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"add_column_right\",\n title: \"Add Column Right\",\n callback: function callback() {\n var _ea$hooks$applyFilter4 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter4.view,\n table = _ea$hooks$applyFilter4.table,\n activeCell = _ea$hooks$applyFilter4.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.cellIndex + 1;\n\n for (var i = 0; i < table.rows.length; i++) {\n if (table.rows[i].cells[0].tagName.toLowerCase() == \"th\") {\n var cell = table.rows[i].insertBefore(document.createElement(\"th\"), table.rows[i].cells[index]); // init inline editor\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", cell);\n } else {\n var _cell2 = table.rows[i].insertCell(index); // init inline editor\n\n\n ea.hooks.doAction(\"advancedDataTable.initEditor\", _cell2);\n }\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"delete_row\",\n title: \"Delete Row\",\n callback: function callback() {\n var _ea$hooks$applyFilter5 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter5.view,\n table = _ea$hooks$applyFilter5.table,\n activeCell = _ea$hooks$applyFilter5.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.parentNode.rowIndex; // delete row\n\n table.deleteRow(index); // remove active cell\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }, {\n name: \"delete_column\",\n title: \"Delete Column\",\n callback: function callback() {\n var _ea$hooks$applyFilter6 = ea.hooks.applyFilters(\"advancedDataTable.getClassProps\"),\n view = _ea$hooks$applyFilter6.view,\n table = _ea$hooks$applyFilter6.table,\n activeCell = _ea$hooks$applyFilter6.activeCell;\n\n if (activeCell !== null) {\n var index = activeCell.cellIndex; // delete columns\n\n for (var i = 0; i < table.rows.length; i++) {\n table.rows[i].deleteCell(index);\n } // remove active cell\n\n\n ea.hooks.applyFilters(\"advancedDataTable.setClassProps\", {\n activeCell: null\n }); // parse table html\n\n var origTable = ea.hooks.applyFilters(\"advancedDataTable.parseHTML\", table.cloneNode(true)); // update model\n\n ea.hooks.doAction(\"advancedDataTable.updateFromView\", view, {\n ea_adv_data_table_static_html: origTable.innerHTML\n }); // trigger text-change event\n\n ea.hooks.doAction(\"advancedDataTable.triggerTextChange\", table);\n }\n }\n }]\n });\n }\n\n return groups;\n }\n }, {\n key: \"triggerTextChange\",\n value: function triggerTextChange(table) {\n if (table.classList.contains(\"ea-advanced-data-table-static\")) {\n var cellSelector = jQuery('thead tr:first-child th:first-child .ql-editor p', table),\n cellSelector = cellSelector.length ? cellSelector : jQuery('tbody tr:first-child td:first-child .ql-editor p', table),\n cellData = cellSelector.html();\n cellSelector.html(cellData + ' ');\n setTimeout(function () {\n cellSelector.html(cellData);\n }, 1100);\n }\n }\n }]);\n\n return advancedDataTableEdit;\n}();\n\nea.hooks.addAction(\"editMode.init\", \"ea\", function () {\n new advancedDataTableEdit();\n});\n\n//# sourceURL=webpack:///./src/js/edit/advanced-data-table.js?");
97
 
98
  /***/ })
99
 
assets/front-end/js/edit/advanced-data-table.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var a={};function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var l in e)t.d(n,l,function(a){return e[a]}.bind(null,l));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=28)}({28:function(e,a){function t(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.panel=null,this.model=null,this.view=null,this.table=null,this.tableInnerHTML=null,this.timeout=null,this.activeCell=null,this.dragStartX=null,this.dragStartWidth=null,this.dragEl=null,this.dragging=!1,ea.hooks.addFilter("advancedDataTable.getClassProps","ea",this.getClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.setClassProps","ea",this.setClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.parseHTML","ea",this.parseHTML),ea.hooks.addAction("advancedDataTable.initEditor","ea",this.initEditor.bind(this)),ea.hooks.addAction("advancedDataTable.updateFromView","ea",this.updateFromView.bind(this)),ea.hooks.addAction("advancedDataTable.initInlineEdit","ea",this.initInlineEdit.bind(this)),ea.hooks.addAction("advancedDataTable.initPanelAction","ea",this.initPanelAction.bind(this)),ea.hooks.addAction("advancedDataTable.triggerTextChange","ea",this.triggerTextChange.bind(this)),elementor.hooks.addFilter("elements/widget/contextMenuGroups",this.initContextMenu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",this.initPanel.bind(this))}var a,n,l;return a=e,(n=[{key:"updateFromView",value:function(e,a){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.model;if(n.remoteRender=t,elementor.config.version>"2.7.6"){var l=e.getContainer(),o=e.getContainer().settings.attributes;Object.keys(a).forEach((function(e){o[e]=a[e]})),parent.window.$e.run("document/elements/settings",{container:l,settings:o,options:{external:t}})}else Object.keys(a).forEach((function(e){n.setSetting(e,a[e])}));this.timeout=setTimeout((function(){n.remoteRender=!0}),1001)}},{key:"getClassProps",value:function(){return{view:this.view,model:this.model,table:this.table,activeCell:this.activeCell}}},{key:"setClassProps",value:function(e){var a=this;Object.keys(e).forEach((function(t){a[t]=e[t]}))}},{key:"parseHTML",value:function(e){return e.querySelectorAll("th, td").forEach((function(e){null!==e.querySelector(".inline-editor")&&(e.innerHTML=decodeURI(e.dataset.quill||""),delete e.dataset.quill)})),e}},{key:"initEditor",value:function(e){var a=this;e.dataset.quill=encodeURI(e.innerHTML),e.innerHTML='<div class="inline-editor">'.concat(e.innerHTML,"</div>");var t=new Quill(e.querySelector(".inline-editor"),{theme:"bubble",modules:{toolbar:["bold","italic","underline","strike","link",{list:"ordered"},{list:"bullet"}]}});t.on("text-change",(function(n,l,o){clearTimeout(a.timeout),e.dataset.quill=encodeURI(t.root.innerHTML);var i=a.parseHTML(a.table.cloneNode(!0));a.tableInnerHTML=i.innerHTML,a.updateFromView(a.view,{ea_adv_data_table_static_html:i.innerHTML})}))}},{key:"initInlineEdit",value:function(){var e=this,a=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table")&&(e.table!==e.view.el.querySelector(".ea-advanced-data-table")&&(e.table=e.view.el.querySelector(".ea-advanced-data-table"),e.table.classList.contains("ea-advanced-data-table-static")&&e.table.querySelectorAll("th, td").forEach((function(a){e.initEditor(a)})),e.table.addEventListener("mousedown",(function(a){a.stopPropagation(),"th"===a.target.tagName.toLowerCase()&&(e.dragging=!0,e.dragEl=a.target,e.dragStartX=a.pageX,e.dragStartWidth=a.target.offsetWidth),"th"===a.target.tagName.toLowerCase()||"td"===a.target.tagName.toLowerCase()?e.activeCell=a.target:"th"===a.target.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode:"th"===a.target.parentNode.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode.parentNode:"th"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()&&"td"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()||(e.activeCell=a.target.parentNode.parentNode.parentNode)})),e.table.addEventListener("mousemove",(function(a){e.dragging&&(e.dragEl.style.width="".concat(e.dragStartWidth+(event.pageX-e.dragStartX),"px"))})),e.table.addEventListener("mouseup",(function(a){if(e.dragging)if(e.dragging=!1,clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}})),e.table.addEventListener("dblclick",(function(a){if("th"===a.target.tagName.toLowerCase())if(a.stopPropagation(),clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}}))),clearInterval(a))}),500)}},{key:"initPanelAction",value:function(){var e=this;this.panel.content.el.onclick=function(a){if("ea:advTable:export"==a.target.dataset.event){for(var t=e.table.querySelectorAll("table tr"),n=[],l=0;l<t.length;l++){var o=[],i=t[l].querySelectorAll("th, td");if(e.table.classList.contains("ea-advanced-data-table-static"))for(var r=0;r<i.length;r++)o.push(JSON.stringify(decodeURI(i[r].dataset.quill)));else for(var d=0;d<i.length;d++)o.push(JSON.stringify(i[d].innerHTML.replace(/(\r\n|\n|\r)/gm," ").trim()));n.push(o.join(","))}var s=new Blob([n.join("\n")],{type:"text/csv"}),c=parent.document.createElement("a");c.classList.add("ea-adv-data-table-download-".concat(e.model.attributes.id)),c.download="ea-adv-data-table-".concat(e.model.attributes.id,".csv"),c.href=window.URL.createObjectURL(s),c.style.display="none",parent.document.body.appendChild(c),c.click(),parent.document.querySelector(".ea-adv-data-table-download-".concat(e.model.attributes.id)).remove()}else if("ea:advTable:import"==a.target.dataset.event){var v=e.panel.content.el.querySelector(".ea_adv_table_csv_string"),u=e.panel.content.el.querySelector(".ea_adv_table_csv_string_table").checked,h=v.value.split("\n"),b="",p="";if(v.value.length>0&&(p+="<tbody>",h.forEach((function(e,a){e.length>0&&(cols=e.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm),cols.length>0&&(u&&0==a?(b+="<thead><tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?b+="<th>".concat(JSON.parse(e),"</th>"):b+="<th>".concat(e,"</th>")})),b+="</tr></thead>"):(p+="<tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?p+="<td>".concat(JSON.parse(e),"</td>"):p+="<td>".concat(e,"</td>")})),p+="</tr>")))})),p+="</tbody>",b.length>0||p.length>0)){e.tableInnerHTML=b+p,e.updateFromView(e.view,{ea_adv_data_table_static_html:b+p},!0);var g=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table").innerHTML==b+p&&(clearInterval(g),ea.hooks.doAction("advancedDataTable.initInlineEdit"))}),500)}v.value=""}ea.hooks.doAction("advancedDataTable.panelAction",e.panel,e.model,e.view,a)}}},{key:"initPanel",value:function(e,a,t){var n=this;this.panel=e,this.model=a,this.view=t,ea.hooks.doAction("advancedDataTable.initInlineEdit"),ea.hooks.doAction("advancedDataTable.initPanelAction"),ea.hooks.doAction("advancedDataTable.afterInitPanel",e,a,t),a.once("editor:close",(function(){var e=n.parseHTML(n.table.cloneNode(!0));null==n.tableInnerHTML&&(n.tableInnerHTML=e.innerHTML),n.updateFromView(n.view,{ea_adv_data_table_static_html:n.tableInnerHTML},!0)}))}},{key:"initContextMenu",value:function(e,a){return"eael-advanced-data-table"==a.options.model.attributes.widgetType&&"static"==a.options.model.attributes.settings.attributes.ea_adv_data_table_source&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n&&"th"!=n.tagName.toLowerCase()){for(var l=n.parentNode.rowIndex,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.parentNode.rowIndex+1,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex+1,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){var l=n.parentNode.rowIndex;t.deleteRow(l),ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var o=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:o.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)t.rows[o].deleteCell(l);ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var i=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:i.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}}]}),e}},{key:"triggerTextChange",value:function(e){if(e.classList.contains("ea-advanced-data-table-static")){var a,t=(a=(a=jQuery("thead tr:first-child th:first-child .ql-editor p",e)).length?a:jQuery("tbody tr:first-child td:first-child .ql-editor p",e)).html();a.html(t+" "),setTimeout((function(){a.html(t)}),1100)}}}])&&t(a.prototype,n),l&&t(a,l),e}();ea.hooks.addAction("editMode.init","ea",(function(){new n}))}});
1
+ !function(e){var a={};function t(n){if(a[n])return a[n].exports;var o=a[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var o in e)t.d(n,o,function(a){return e[a]}.bind(null,o));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=28)}({28:function(e,a){function t(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.panel=null,this.model=null,this.view=null,this.table=null,this.tableInnerHTML=null,this.timeout=null,this.activeCell=null,this.dragStartX=null,this.dragStartWidth=null,this.dragEl=null,this.dragging=!1,ea.hooks.addFilter("advancedDataTable.getClassProps","ea",this.getClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.setClassProps","ea",this.setClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.parseHTML","ea",this.parseHTML),ea.hooks.addAction("advancedDataTable.initEditor","ea",this.initEditor.bind(this)),ea.hooks.addAction("advancedDataTable.updateFromView","ea",this.updateFromView.bind(this)),ea.hooks.addAction("advancedDataTable.initInlineEdit","ea",this.initInlineEdit.bind(this)),ea.hooks.addAction("advancedDataTable.initPanelAction","ea",this.initPanelAction.bind(this)),ea.hooks.addAction("advancedDataTable.triggerTextChange","ea",this.triggerTextChange.bind(this)),elementor.hooks.addFilter("elements/widget/contextMenuGroups",this.initContextMenu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",this.initPanel.bind(this))}var a,n,o;return a=e,(n=[{key:"updateFromView",value:function(e,a){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.model;if(n.remoteRender=t,elementor.config.version>"2.7.6"){var o=e.getContainer(),l=e.getContainer().settings.attributes;Object.keys(a).forEach((function(e){l[e]=a[e]})),parent.window.$e.run("document/elements/settings",{container:o,settings:l,options:{external:t}})}else Object.keys(a).forEach((function(e){n.setSetting(e,a[e])}));this.timeout=setTimeout((function(){n.remoteRender=!0}),1001)}},{key:"getClassProps",value:function(){return{view:this.view,model:this.model,table:this.table,activeCell:this.activeCell}}},{key:"setClassProps",value:function(e){var a=this;Object.keys(e).forEach((function(t){a[t]=e[t]}))}},{key:"parseHTML",value:function(e){return e.querySelectorAll("th, td").forEach((function(e){null!==e.querySelector(".inline-editor")&&(e.innerHTML=decodeURI(e.dataset.quill||""),delete e.dataset.quill)})),e}},{key:"initEditor",value:function(e){var a=this;e.dataset.quill=encodeURI(e.innerHTML),e.innerHTML='<div class="inline-editor">'.concat(e.innerHTML,"</div>");var t=new Quill(e.querySelector(".inline-editor"),{theme:"bubble",modules:{toolbar:["bold","italic","underline","strike","link",{list:"ordered"},{list:"bullet"}]}});t.on("text-change",(function(n,o,l){clearTimeout(a.timeout),e.dataset.quill=encodeURI(t.root.innerHTML);var i=a.parseHTML(a.table.cloneNode(!0));a.tableInnerHTML=i.innerHTML,a.updateFromView(a.view,{ea_adv_data_table_static_html:i.innerHTML})}))}},{key:"initInlineEdit",value:function(){var e=this,a=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table")&&(e.table!==e.view.el.querySelector(".ea-advanced-data-table")&&(e.table=e.view.el.querySelector(".ea-advanced-data-table"),e.table.classList.contains("ea-advanced-data-table-static")&&e.table.querySelectorAll("th, td").forEach((function(a){e.initEditor(a)})),e.table.addEventListener("mousedown",(function(a){a.stopPropagation(),"th"===a.target.tagName.toLowerCase()&&(e.dragging=!0,e.dragEl=a.target,e.dragStartX=a.pageX,e.dragStartWidth=a.target.offsetWidth),"th"===a.target.tagName.toLowerCase()||"td"===a.target.tagName.toLowerCase()?e.activeCell=a.target:"th"===a.target.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode:"th"===a.target.parentNode.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode.parentNode:"th"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()&&"td"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()||(e.activeCell=a.target.parentNode.parentNode.parentNode)})),e.table.addEventListener("mousemove",(function(a){e.dragging&&(e.dragEl.style.width="".concat(e.dragStartWidth+(event.pageX-e.dragStartX),"px"))})),e.table.addEventListener("mouseup",(function(a){if(e.dragging)if(e.dragging=!1,clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}})),e.table.addEventListener("dblclick",(function(a){if("th"===a.target.tagName.toLowerCase())if(a.stopPropagation(),clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}}))),clearInterval(a))}),500)}},{key:"initPanelAction",value:function(){var e=this;this.panel.content.el.onclick=function(a){if("ea:advTable:export"==a.target.dataset.event){for(var t=e.table.querySelectorAll("table tr"),n=[],o=0;o<t.length;o++){var l=[],i=t[o].querySelectorAll("th, td");if(e.table.classList.contains("ea-advanced-data-table-static"))for(var r=0;r<i.length;r++)l.push(JSON.stringify(decodeURI(i[r].dataset.quill)));else for(var d=0;d<i.length;d++)l.push(JSON.stringify(i[d].innerHTML.replace(/(\r\n|\n|\r)/gm," ").trim()));n.push(l.join(","))}var s=new Blob([n.join("\n")],{type:"text/csv"}),c=parent.document.createElement("a");c.classList.add("ea-adv-data-table-download-".concat(e.model.attributes.id)),c.download="ea-adv-data-table-".concat(e.model.attributes.id,".csv"),c.href=window.URL.createObjectURL(s),c.style.display="none",parent.document.body.appendChild(c),c.click(),parent.document.querySelector(".ea-adv-data-table-download-".concat(e.model.attributes.id)).remove()}else if("ea:advTable:import"==a.target.dataset.event){var v=e.panel.content.el.querySelector(".ea_adv_table_csv_string"),u=e.panel.content.el.querySelector(".ea_adv_table_csv_string_table").checked,h=v.value.split("\n"),b="",p="";if(v.value.length>0&&(p+="<tbody>",h.forEach((function(e,a){e.length>0&&(cols=e.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm),cols.length>0&&(u&&0==a?(b+="<thead><tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?b+="<th>".concat(JSON.parse(e),"</th>"):b+="<th>".concat(e,"</th>")})),b+="</tr></thead>"):(p+="<tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?p+="<td>".concat(JSON.parse(e),"</td>"):p+="<td>".concat(e,"</td>")})),p+="</tr>")))})),p+="</tbody>",b.length>0||p.length>0)){e.tableInnerHTML=b+p,e.updateFromView(e.view,{ea_adv_data_table_static_html:b+p},!0);var g=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table").innerHTML==b+p&&(clearInterval(g),ea.hooks.doAction("advancedDataTable.initInlineEdit"))}),500)}v.value=""}ea.hooks.doAction("advancedDataTable.panelAction",e.panel,e.model,e.view,a)}}},{key:"initPanel",value:function(e,a,t){var n=this;this.panel=e,this.model=a,this.view=t;var o=".ea-advanced-data-table-".concat(this.view.container.args.id),l=this.view.el.querySelector(".ea-advanced-data-table"+o);ea.hooks.doAction("advancedDataTable.initInlineEdit"),ea.hooks.doAction("advancedDataTable.initPanelAction"),ea.hooks.doAction("advancedDataTable.afterInitPanel",e,a,t),a.once("editor:close",(function(){var e=n.parseHTML(l.cloneNode(!0));n.tableInnerHTML=e.innerHTML,n.updateFromView(n.view,{ea_adv_data_table_static_html:n.tableInnerHTML},!0)}))}},{key:"initContextMenu",value:function(e,a){return"eael-advanced-data-table"==a.options.model.attributes.widgetType&&"static"==a.options.model.attributes.settings.attributes.ea_adv_data_table_source&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n&&"th"!=n.tagName.toLowerCase()){for(var o=n.parentNode.rowIndex,l=t.insertRow(o),i=0;i<t.rows[0].cells.length;i++){var r=l.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var o=n.parentNode.rowIndex+1,l=t.insertRow(o),i=0;i<t.rows[0].cells.length;i++){var r=l.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var o=n.cellIndex,l=0;l<t.rows.length;l++)if("th"==t.rows[l].cells[0].tagName.toLowerCase()){var i=t.rows[l].insertBefore(document.createElement("th"),t.rows[l].cells[o]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[l].insertCell(o);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var o=n.cellIndex+1,l=0;l<t.rows.length;l++)if("th"==t.rows[l].cells[0].tagName.toLowerCase()){var i=t.rows[l].insertBefore(document.createElement("th"),t.rows[l].cells[o]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[l].insertCell(o);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){var o=n.parentNode.rowIndex;t.deleteRow(o),ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var l=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:l.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var o=n.cellIndex,l=0;l<t.rows.length;l++)t.rows[l].deleteCell(o);ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var i=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:i.innerHTML}),ea.hooks.doAction("advancedDataTable.triggerTextChange",t)}}}]}),e}},{key:"triggerTextChange",value:function(e){if(e.classList.contains("ea-advanced-data-table-static")){var a,t=(a=(a=jQuery("thead tr:first-child th:first-child .ql-editor p",e)).length?a:jQuery("tbody tr:first-child td:first-child .ql-editor p",e)).html();a.html(t+" "),setTimeout((function(){a.html(t)}),1100)}}}])&&t(a.prototype,n),o&&t(a,o),e}();ea.hooks.addAction("editMode.init","ea",(function(){new n}))}});
essential_adons_elementor.php CHANGED
@@ -4,14 +4,14 @@
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
- * Version: 4.9.4
8
  * Author URI: https://wpdeveloper.net/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
11
  *
12
- * WC tested up to: 5.7.1
13
- * Elementor tested up to: 3.4.4
14
- * Elementor Pro tested up to: 3.4.1
15
  */
16
 
17
  if (!defined('ABSPATH')) {
@@ -27,7 +27,7 @@ define('EAEL_PLUGIN_FILE', __FILE__);
27
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
28
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
29
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
30
- define('EAEL_PLUGIN_VERSION', '4.9.4');
31
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
32
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
33
  /**
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
+ * Version: 4.9.5
8
  * Author URI: https://wpdeveloper.net/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
11
  *
12
+ * WC tested up to: 5.8.0
13
+ * Elementor tested up to: 3.4.6
14
+ * Elementor Pro tested up to: 3.4.2
15
  */
16
 
17
  if (!defined('ABSPATH')) {
27
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
28
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
29
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
30
+ define('EAEL_PLUGIN_VERSION', '4.9.5');
31
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
32
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
33
  /**
includes/Elements/Woo_Product_Gallery.php CHANGED
@@ -183,7 +183,7 @@ class Woo_Product_Gallery extends Widget_Base {
183
  ]
184
  );
185
 
186
- $this->add_control(
187
  'eael_product_gallery_terms_horizontal_align',
188
  [
189
  'label' => __( 'Alignment', 'essential-addons-for-elementor-lite' ),
@@ -1200,7 +1200,7 @@ class Woo_Product_Gallery extends Widget_Base {
1200
  ]
1201
  );
1202
 
1203
- $this->add_control(
1204
  'eael_product_gallery_margin',
1205
  [
1206
  'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
@@ -1212,7 +1212,7 @@ class Woo_Product_Gallery extends Widget_Base {
1212
  ]
1213
  );
1214
 
1215
- $this->add_control(
1216
  'eael_product_gallery_padding',
1217
  [
1218
  'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
@@ -1224,7 +1224,7 @@ class Woo_Product_Gallery extends Widget_Base {
1224
  ]
1225
  );
1226
 
1227
- $this->add_control(
1228
  'eael_product_gallery_radius',
1229
  [
1230
  'label' => __( 'Radius', 'essential-addons-for-elementor-lite' ),
@@ -1262,7 +1262,7 @@ class Woo_Product_Gallery extends Widget_Base {
1262
  ]
1263
  );
1264
 
1265
- $this->add_control(
1266
  'eael_product_gallery_item_margin',
1267
  [
1268
  'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
@@ -1274,7 +1274,7 @@ class Woo_Product_Gallery extends Widget_Base {
1274
  ]
1275
  );
1276
 
1277
- $this->add_control(
1278
  'eael_product_gallery_item_padding',
1279
  [
1280
  'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
@@ -1286,7 +1286,7 @@ class Woo_Product_Gallery extends Widget_Base {
1286
  ]
1287
  );
1288
 
1289
- $this->add_control(
1290
  'eael_product_gallery_item_radius',
1291
  [
1292
  'label' => __( 'Radius', 'essential-addons-for-elementor-lite' ),
183
  ]
184
  );
185
 
186
+ $this->add_responsive_control(
187
  'eael_product_gallery_terms_horizontal_align',
188
  [
189
  'label' => __( 'Alignment', 'essential-addons-for-elementor-lite' ),
1200
  ]
1201
  );
1202
 
1203
+ $this->add_responsive_control(
1204
  'eael_product_gallery_margin',
1205
  [
1206
  'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
1212
  ]
1213
  );
1214
 
1215
+ $this->add_responsive_control(
1216
  'eael_product_gallery_padding',
1217
  [
1218
  'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
1224
  ]
1225
  );
1226
 
1227
+ $this->add_responsive_control(
1228
  'eael_product_gallery_radius',
1229
  [
1230
  'label' => __( 'Radius', 'essential-addons-for-elementor-lite' ),
1262
  ]
1263
  );
1264
 
1265
+ $this->add_responsive_control(
1266
  'eael_product_gallery_item_margin',
1267
  [
1268
  'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
1274
  ]
1275
  );
1276
 
1277
+ $this->add_responsive_control(
1278
  'eael_product_gallery_item_padding',
1279
  [
1280
  'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
1286
  ]
1287
  );
1288
 
1289
+ $this->add_responsive_control(
1290
  'eael_product_gallery_item_radius',
1291
  [
1292
  'label' => __( 'Radius', 'essential-addons-for-elementor-lite' ),
includes/Traits/Twitter_Feed.php CHANGED
@@ -67,9 +67,9 @@ trait Twitter_Feed
67
  ],
68
  ]);
69
 
70
- if (!is_wp_error($response)) {
71
- $items = json_decode(wp_remote_retrieve_body($response), true);
72
- set_transient( $cache_key, $items, $settings['eael_twitter_feed_data_cache_limit'] * MINUTE_IN_SECONDS);
73
  }
74
  }
75
 
67
  ],
68
  ]);
69
 
70
+ if(!empty($response['response']) && $response['response']['code']==200){
71
+ $items = json_decode(wp_remote_retrieve_body($response), true);
72
+ set_transient( $cache_key, $items, $settings['eael_twitter_feed_data_cache_limit'] * MINUTE_IN_SECONDS);
73
  }
74
  }
75
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: elementor, elements, addons, elementor addons, elementor widget, elementor
4
  Requires at least: 5.0
5
  Tested up to: 5.8
6
  Requires PHP: 5.6
7
- Stable tag: 4.9.4
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
@@ -225,6 +225,16 @@ Your existing elements/content will work with premium version. So you won't lose
225
 
226
  == Changelog ==
227
 
 
 
 
 
 
 
 
 
 
 
228
  = 4.9.4 - 11/10/2021 =
229
 
230
  - Improved: Asset Generator method for better performance
4
  Requires at least: 5.0
5
  Tested up to: 5.8
6
  Requires PHP: 5.6
7
+ Stable tag: 4.9.5
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
225
 
226
  == Changelog ==
227
 
228
+ = 4.9.5 - 28/10/2021 =
229
+
230
+ - Fixed: EA Simple Menu | Active Page still showing on Responsive Devices
231
+ - Fixed: EA Twitter Feed | Not pulling the feed when new Keys are inserted
232
+ - Fixed: EA Advanced Data Table | Automatically copying data from another table
233
+ - Fixed: EA Contact Form 7 | Field style not being editable
234
+ - Improved: EA Woo Product Gallery | Added Responsive controls
235
+ - Few minor bug fix & improvements
236
+
237
+
238
  = 4.9.4 - 11/10/2021 =
239
 
240
  - Improved: Asset Generator method for better performance