@@ -183,14 +183,27 @@ class AstroidAdmin {
183183 this . initSidebar = function ( ) {
184184 var _class = this ;
185185 $ ( '.sidebar-nav > li > a[data-toggle="tab"]' ) . on ( 'shown.bs.tab' , function ( e ) {
186+ $ ( 'body' ) . removeClass ( 'show-options' ) ;
187+ if ( $ ( 'body' ) . hasClass ( 'astroid-live-preview' ) ) {
188+ _class . refreshPreviewScrolls ( ) ;
189+ }
190+
191+ if ( $ ( e . target ) . attr ( 'data-target' ) == '#astroid-tab-astroid_layout' ) {
192+ $ ( 'body' ) . addClass ( 'astroid-layout-tab-selected' ) ;
193+ } else {
194+ $ ( 'body' ) . removeClass ( 'astroid-layout-tab-selected' ) ;
195+ }
196+
186197 $ . cookie ( "astroid-default-tab" , $ ( e . target ) . attr ( 'data-target' ) ) ;
187198 $ ( '.sidebar-submenu' ) . slideUp ( 500 ) ;
188199 $ ( e . target ) . siblings ( '.sidebar-submenu' ) . slideDown ( 500 ) ;
189200 setTimeout ( function ( ) {
190201 $ ( 'body, html' ) . animate ( {
191202 scrollTop : 0
192203 } , 0 ) ;
193- _class . refreshScroll ( ) ;
204+ if ( ! $ ( 'body' ) . hasClass ( 'astroid-live-preview' ) ) {
205+ _class . refreshScroll ( ) ;
206+ }
194207 } , 510 ) ;
195208 $ ( 'body, html' ) . animate ( {
196209 scrollTop : 2
@@ -256,6 +269,63 @@ class AstroidAdmin {
256269 } , 300 ) ;
257270 } ;
258271
272+ this . livePreview = function ( ) {
273+ $ ( 'body' ) . addClass ( 'astroid-live-preview' ) ;
274+ $ ( 'body' ) . addClass ( 'show-options' ) ;
275+ setTimeout ( function ( ) {
276+ Admin . livePreviewScrolls ( ) ;
277+ //Admin.refreshScroll();
278+ } , 220 ) ;
279+ Admin . hideAllTabs ( ) ;
280+ } ;
281+
282+ this . reloadPreview = function ( ) {
283+ if ( $ ( 'body' ) . hasClass ( 'astroid-live-preview' ) ) {
284+ var iframe = document . getElementById ( 'live-preview' ) ;
285+ iframe . src = iframe . src + '?ts=' + generateID ( ) ;
286+ }
287+ } ;
288+
289+ this . hideAllTabs = function ( ) {
290+ $ ( '#astroid-menu li a' ) . removeClass ( 'active' ) ;
291+ $ ( '#astroid-menu li a' ) . removeClass ( 'show' ) ;
292+ $ ( '#astroid-menu li a' ) . prop ( 'aria-selected' , false ) ;
293+ } ;
294+
295+ this . closeLivePreview = function ( ) {
296+ $ ( 'body' ) . removeClass ( 'astroid-live-preview' ) ;
297+ $ ( 'body' ) . removeClass ( 'show-options' ) ;
298+ setTimeout ( function ( ) {
299+ $ ( '#astroid-content-wrapper' ) . getNiceScroll ( ) . remove ( ) ;
300+ Admin . refreshScroll ( ) ;
301+ } , 220 ) ;
302+ } ;
303+
304+ this . livePreviewScrolls = function ( ) {
305+ $ ( '#astroid-content-wrapper' ) . niceScroll ( { autohidemode : 'leave' , cursoropacitymin : 0.4 , background : 'rgba(243,243,243,1)' , cursorcolor : '#4A5768' , cursorwidth : '7px' , cursorborderradius : 0 , cursorborder : 'none' } ) ;
306+ Admin . refreshPreviewScrolls ( ) ;
307+ } ;
308+
309+ this . setPreviewViewport = function ( _class , _obj ) {
310+ $ ( '#live-preview-viewport' ) . removeClass ( ) . addClass ( _class ) ;
311+ $ ( '.viewport-options' ) . find ( 'a' ) . removeClass ( 'active' ) ;
312+ $ ( _obj ) . addClass ( 'active' ) ;
313+ } ;
314+
315+ this . refreshPreviewScrolls = function ( ) {
316+ setTimeout ( function ( ) {
317+ $ ( '#astroid-content-wrapper' ) . getNiceScroll ( ) . resize ( ) ;
318+ $ ( "#astroid-sidebar-wrapper" ) . getNiceScroll ( ) . resize ( ) ;
319+ } , 50 ) ;
320+ } ;
321+
322+ this . showOptions = function ( ) {
323+ $ ( 'body' ) . addClass ( 'show-options' ) ;
324+ $ ( 'body' ) . removeClass ( 'astroid-layout-tab-selected' ) ;
325+ Admin . refreshPreviewScrolls ( ) ;
326+ Admin . hideAllTabs ( ) ;
327+ }
328+
259329 // form functions
260330 this . initForm = function ( ) {
261331 $ ( '#astroid-form' ) . parsley ( {
@@ -302,6 +372,7 @@ class AstroidAdmin {
302372 return false ;
303373 }
304374 Admin . saved = true ;
375+ Admin . reloadPreview ( ) ;
305376 if ( ! _export ) {
306377 Admin . notify ( 'Template Saved.' , 'success' ) ;
307378 } else {
@@ -373,6 +444,7 @@ class AstroidAdmin {
373444 Admin . notify ( response . message , 'error' ) ;
374445 } else {
375446 Admin . saved = true ;
447+ Admin . reloadPreview ( ) ;
376448 Admin . notify ( 'Settings Imported.' , 'success' ) ;
377449 }
378450 setTimeout ( function ( ) {
@@ -514,6 +586,14 @@ class AstroidAdmin {
514586 var _this = this ;
515587
516588 var _defaultTab = $ . cookie ( "astroid-default-tab" ) ;
589+
590+
591+ if ( _defaultTab == '#astroid-tab-astroid_layout' ) {
592+ $ ( 'body' ) . addClass ( 'astroid-layout-tab-selected' ) ;
593+ } else {
594+ $ ( 'body' ) . removeClass ( 'astroid-layout-tab-selected' ) ;
595+ }
596+
517597 if ( typeof _defaultTab == 'undefined' ) {
518598 $ ( '#astroid-menu li:first-child a' ) . tab ( 'show' ) ;
519599 } else {
@@ -523,10 +603,14 @@ class AstroidAdmin {
523603 $ ( '#astroid-menu li a[data-target="' + _defaultTab + '"]' ) . tab ( 'show' ) ;
524604 }
525605 }
526-
606+ //Admin.livePreview();
607+ setTimeout ( function ( ) {
608+ _this . loading ( false ) ;
609+ Admin . saved = true ;
610+ } , 150 ) ;
527611 setTimeout ( function ( ) {
528612 _this . loading ( false ) ;
529- } , 500 ) ;
613+ } , 300 ) ;
530614 this . initCodeArea ( ) ;
531615 } ;
532616
@@ -552,7 +636,6 @@ var Admin = new AstroidAdmin();
552636 Admin . init ( ) ;
553637 getGoogleFonts ( ) ;
554638 initAstroidUploader ( ) ;
555- initAstroidTypographyField ( ) ;
556639 $ ( '.astroid-code-editor-exit-fs' ) . click ( function ( ) {
557640 $ ( this ) . parent ( '.head' ) . parent ( '.astroid-code-editor' ) . removeClass ( 'full-screen' ) ;
558641 } ) ;
@@ -574,6 +657,7 @@ var Admin = new AstroidAdmin();
574657 $ ( this ) . parent ( 'div' ) . parent ( '.body' ) . parent ( '.astroid-preloaders-selector' ) . parent ( '.astroid-preloader-field' ) . children ( '.select-preloader' ) . html ( $ ( this ) . html ( ) ) ;
575658 $ ( this ) . parent ( 'div' ) . parent ( '.body' ) . parent ( '.astroid-preloaders-selector' ) . removeClass ( 'open' ) ;
576659 } ) ;
660+ initAstroidUnitPicker ( ) ;
577661 } ;
578662
579663 var initAstroidTypographyField = function ( ) {
@@ -648,6 +732,9 @@ var Admin = new AstroidAdmin();
648732 _preview . css ( _property , _value + _unit ) ;
649733 _field . change ( function ( ) {
650734 var _u = $ ( this ) . attr ( 'data-unit' ) ;
735+ if ( typeof _u == 'undefined' ) {
736+ _u = '' ;
737+ }
651738 var _value = _field . val ( ) ;
652739 _preview . css ( _property , _value + _u ) ;
653740 } ) ;
@@ -771,7 +858,15 @@ var Admin = new AstroidAdmin();
771858 Dropzone . autoDiscover = false ;
772859 } ;
773860
861+ var initAstroidUnitPicker = function ( ) {
862+ $ ( '.unit-picker' ) . children ( 'li' ) . children ( 'label' ) . children ( 'input[type=radio]' ) . change ( function ( ) {
863+ var _sliderid = $ ( this ) . data ( 'sid' ) ;
864+ $ ( '[data-slider-id="' + _sliderid + '"]' ) . attr ( 'data-unit' , $ ( this ) . val ( ) ) . trigger ( 'change' ) ;
865+ } ) ;
866+ } ;
867+
774868 var winLoad = function ( ) {
869+ initAstroidTypographyField ( ) ;
775870 Admin . load ( ) ;
776871 } ;
777872
0 commit comments