1+ ( function ( $ ) {
2+
3+ function saveAddons ( ) {
4+ $ . ajax ( {
5+ url : settings . ajaxurl ,
6+ type : 'post' ,
7+ data : {
8+ action : 'save_mighty_addons_settings' ,
9+ security : settings . nonce ,
10+ fields : $ ( 'form#mighty-settings' ) . serialize ( ) ,
11+ } ,
12+ success : function ( response ) {
13+ console . log ( 'successfully saved!' ) ;
14+ } ,
15+ error : function ( ) {
16+ console . log ( '#212 Something went wrong!' ) ;
17+ }
18+ } ) ;
19+ }
20+
21+ function tabsStatus ( tab , source , obj ) {
22+ $ ( '.ma-tabs li' ) . removeClass ( 'active' ) ;
23+ $ ( '#toplevel_page_mighty-addons-home .wp-submenu li' ) . removeClass ( 'current' ) ;
24+ // Modifies Tab active status
25+ if ( source == "sidebar" ) {
26+ $ ( '.ma-tabs li a[href="' + tab + '"]' ) . parent ( 'li' ) . addClass ( 'active' ) ;
27+ $ ( obj ) . parent ( 'li' ) . addClass ( 'current' ) ;
28+ } else {
29+ var url = tab == "#general" ? 'admin.php?page=mighty-addons-home' : 'admin.php?page=mighty-addons-home' + tab ;
30+ $ ( '#toplevel_page_mighty-addons-home .wp-submenu li a[href="' + url + '"]' ) . parent ( 'li' ) . addClass ( 'current' ) ;
31+ $ ( obj ) . addClass ( 'active' ) ;
32+ }
33+ $ ( '.ma-tabs-content' ) . hide ( ) ;
34+ }
35+
36+ // Tabs Setting
37+ $ ( '.ma-tabs li:last-child' ) . addClass ( 'active' ) ;
38+ $ ( '.ma-tabs-content' ) . hide ( ) ;
39+ $ ( '.ma-tabs-content:first' ) . show ( ) ;
40+
41+ // Tabs Events
42+ $ ( '.ma-tabs li' ) . click ( function ( ) {
43+ var activeTab = $ ( this ) . find ( 'a' ) . attr ( 'href' ) ;
44+ tabsStatus ( activeTab , 'topbar' , this ) ;
45+ $ ( activeTab ) . show ( ) ;
46+ return false ;
47+ } ) ;
48+
49+ // Sidebar Events
50+ $ ( "#toplevel_page_mighty-addons-home .wp-submenu li a" ) . click ( function ( ) {
51+ var activeTab = $ ( this ) . attr ( "href" ) . substr ( $ ( this ) . attr ( "href" ) . indexOf ( "#" ) ) ;
52+ activeTab = activeTab === "e" ? "#general" : activeTab ;
53+ tabsStatus ( activeTab , 'sidebar' , this ) ;
54+ $ ( activeTab ) . show ( ) ;
55+ return false ;
56+ } ) ;
57+
58+ // Submit event - Form button
59+ $ ( 'form#mighty-settings' ) . on ( 'submit' , function ( e ) {
60+ e . preventDefault ( ) ;
61+ saveAddons ( settings ) ;
62+
63+ $ ( '.ma-settings-header-bar .ma-save-button' ) . html ( '<span class="updated-widgets dashicons dashicons-yes-alt"></span> Updated' ) ;
64+ $ ( '#mighty-settings .ma-save-button' ) . html ( '<span class="updated-widgets dashicons dashicons-yes-alt"></span> Updated' ) ;
65+
66+ setTimeout ( function ( ) {
67+ $ ( '.ma-settings-header-bar .ma-save-button' ) . text ( 'Save Settings' ) ;
68+ $ ( '#mighty-settings .ma-save-button' ) . text ( 'Save Settings' ) ;
69+ } , 2000 ) ;
70+
71+ // Disable after save
72+ $ ( '.ma-settings-header-bar .ma-save-button' ) . attr ( 'disabled' , 'disabled' ) ; // Header Button
73+ $ ( '#mighty-settings .ma-save-button' ) . attr ( 'disabled' , 'disabled' ) ; // Form's Button
74+ } ) ;
75+
76+ // Click event - Header Button
77+ $ ( '.ma-settings-header-bar .ma-save-button' ) . on ( 'click' , function ( ) {
78+ $ ( "form#mighty-settings .ma-save-button" ) . trigger ( 'click' ) ;
79+ } ) ;
80+
81+ // Enable all button
82+ $ ( '.ma-gl-cnt-right #enable-all' ) . on ( 'click' , function ( ) {
83+ $ ( ".switch-input" ) . attr ( 'checked' , 'checked' ) ;
84+ } ) ;
85+
86+ // Disable all button
87+ $ ( '.ma-gl-cnt-right #disable-all' ) . on ( 'click' , function ( ) {
88+ $ ( ".switch-input" ) . removeAttr ( 'checked' ) ;
89+ } ) ;
90+
91+ // Detecting changes (Switch)
92+ $ ( '#mighty-settings .switch' ) . off ( 'click' ) . on ( 'click' , function ( ) {
93+ $ ( '.ma-settings-header-bar .ma-save-button' ) . removeAttr ( 'disabled' ) ; // Header Button
94+ $ ( '#mighty-settings .ma-save-button' ) . removeAttr ( 'disabled' ) ; // Form's Button
95+ } ) ;
96+
97+ // Detecting changes (Enable/Disable All)
98+ $ ( '#widgets .ma-btn-action' ) . on ( 'click' , function ( ) {
99+ $ ( '.ma-settings-header-bar .ma-save-button' ) . removeAttr ( 'disabled' ) ; // Header Button
100+ $ ( '#mighty-settings .ma-save-button' ) . removeAttr ( 'disabled' ) ; // Form's Button
101+ } ) ;
102+
103+ } ) ( jQuery ) ;
0 commit comments