Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
malwaredllc
GitHub Repository: malwaredllc/byob
Path: blob/master/web-gui/buildyourownbotnet/assets/js/neon-api.js
1292 views
1
/*
2
Resuable Functions with Neon Theme
3
4
------
5
6
Theme by: Laborator - www.laborator.co
7
8
Developed by: Arlind Nushi
9
Designed by: Art Ramadani
10
*/
11
12
var public_vars = public_vars || {};
13
14
15
// ! Sidebar Menu Options
16
jQuery.extend(public_vars, {
17
sidebarCollapseClass: 'sidebar-collapsed',
18
sidebarOnTransitionClass: 'sidebar-is-busy',
19
sidebarOnHideTransitionClass: 'sidebar-is-collapsing',
20
sidebarOnShowTransitionClass: 'sidebar-is-showing',
21
sidebarTransitionTime: 700, // ms
22
isRightSidebar: false
23
});
24
25
function show_sidebar_menu(with_animation)
26
{
27
if(isxs())
28
return;
29
30
if( ! with_animation)
31
{
32
public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);
33
}
34
else
35
{
36
if(public_vars.$mainMenu.data('is-busy') || ! public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass))
37
return;
38
39
// Check
40
public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);
41
42
var duration = public_vars.sidebarTransitionTime,
43
expanded_width = public_vars.$sidebarMenu.width(),
44
$sidebar_inner = public_vars.$sidebarMenu.find('.sidebar-menu-inner'),
45
$span_elements = public_vars.$mainMenu.find('li a span'),
46
$submenus = public_vars.$mainMenu.find('.has-sub > ul'),
47
$search_input = public_vars.$mainMenu.find('#search .search-input'),
48
$search_button = public_vars.$mainMenu.find('#search button'),
49
$logo_env = public_vars.$sidebarMenu.find('.logo-env'),
50
$collapse_icon = $logo_env.find('.sidebar-collapse'),
51
$logo = $logo_env.find('.logo'),
52
$sidebar_ulink = public_vars.$sidebarUser.find('span, strong'),
53
54
logo_env_padding = parseInt($logo_env.css('padding'), 10);
55
56
// Check
57
public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);
58
59
public_vars.$sidebarMenu.add( $sidebar_inner ).transit({width: expanded_width}, public_vars.sidebarTransitionTime/2);
60
61
// Showing Class
62
setTimeout(function(){ public_vars.$pageContainer.addClass(public_vars.sidebarOnShowTransitionClass); }, 1);
63
64
// Start animation
65
public_vars.$mainMenu.data('is-busy', true);
66
67
public_vars.$pageContainer.addClass(public_vars.sidebarOnTransitionClass);
68
69
$logo_env.transit({padding: logo_env_padding}, public_vars.sidebarTransitionTime);
70
71
// Second Phase
72
setTimeout(function()
73
{
74
$logo.css({width: 'auto', height: 'auto'});
75
76
TweenMax.set($logo, {css: {scaleY: 0}});
77
78
TweenMax.to($logo, (public_vars.sidebarTransitionTime/2) / 1100, {css: {scaleY: 1}});
79
80
// Third Phase
81
setTimeout(function(){
82
83
public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);
84
85
$submenus.hide().filter('.visible').slideDown('normal', function()
86
{
87
$submenus.attr('style', '');
88
});
89
90
public_vars.$pageContainer.removeClass(public_vars.sidebarOnShowTransitionClass);
91
92
// Last Phase
93
setTimeout(function()
94
{
95
// Reset Vars
96
public_vars.$pageContainer
97
.add(public_vars.$sidebarMenu)
98
.add($sidebar_inner)
99
.add($logo_env)
100
.add($logo)
101
.add($span_elements)
102
.add($submenus)
103
.attr('style', '');
104
105
public_vars.$pageContainer.removeClass(public_vars.sidebarOnTransitionClass);
106
107
public_vars.$mainMenu.data('is-busy', false); // Transition End
108
109
}, public_vars.sidebarTransitionTime);
110
111
112
}, public_vars.sidebarTransitionTime/2);
113
114
}, public_vars.sidebarTransitionTime/2);
115
}
116
}
117
118
function hide_sidebar_menu(with_animation)
119
{
120
if(isxs())
121
return;
122
123
if( ! with_animation)
124
{
125
public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);
126
public_vars.$mainMenu.find('.has-sub > ul').attr('style', '');
127
}
128
else
129
{
130
if(public_vars.$mainMenu.data('is-busy') || public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass))
131
return;
132
133
// Check
134
public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);
135
136
var duration = public_vars.sidebarTransitionTime,
137
collapsed_width = public_vars.$sidebarMenu.width(),
138
$sidebar_inner = public_vars.$sidebarMenu.find('.sidebar-menu-inner'),
139
$span_elements = public_vars.$mainMenu.find('li a span'),
140
$user_link = public_vars.$sidebarMenu.find('.user-link *').not('img'),
141
$submenus = public_vars.$mainMenu.find('.has-sub > ul'),
142
$search_input = public_vars.$mainMenu.find('#search .search-input'),
143
$search_button = public_vars.$mainMenu.find('#search button'),
144
$logo_env = public_vars.$sidebarMenu.find('.logo-env'),
145
$collapse_icon = $logo_env.find('.sidebar-collapse'),
146
$logo = $logo_env.find('.logo'),
147
$sidebar_ulink = public_vars.$sidebarUser.find('span, strong'),
148
149
logo_env_padding = parseInt($logo_env.css('padding'), 10);
150
151
// Return to normal state
152
public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);
153
154
// Start animation (1)
155
public_vars.$mainMenu.data('is-busy', true);
156
157
158
$logo.transit({scale: [1, 0]}, duration / 5, '', function()
159
{
160
$logo.hide();
161
public_vars.$sidebarMenu.transit({width: collapsed_width});
162
163
if(public_vars.$sidebarMenu.hasClass('fixed'))
164
{
165
$sidebar_inner.transit({width: collapsed_width});
166
}
167
168
$span_elements.hide();
169
$user_link.hide();
170
});
171
172
// Add Classes & Hide Span Elements
173
public_vars.$pageContainer.addClass(public_vars.sidebarOnTransitionClass);
174
setTimeout(function(){ public_vars.$pageContainer.addClass(public_vars.sidebarOnHideTransitionClass); }, 1);
175
176
TweenMax.to($submenus, public_vars.sidebarTransitionTime / 1100, {css: {height: 0}});
177
178
$logo.transit({scale: [1,0], perspective: 300}, public_vars.sidebarTransitionTime/2);
179
$logo_env.transit({padding: logo_env_padding}, public_vars.sidebarTransitionTime);
180
181
setTimeout(function()
182
{
183
// In the end do some stuff
184
public_vars.$pageContainer
185
.add(public_vars.$sidebarMenu)
186
.add($sidebar_inner)
187
.add($search_input)
188
.add($search_button)
189
.add($user_link)
190
.add($logo_env)
191
.add($logo)
192
.add($span_elements)
193
.add($collapse_icon)
194
.add($submenus)
195
.add($sidebar_ulink)
196
.add(public_vars.$mainMenu)
197
.attr('style', '');
198
199
public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);
200
201
public_vars.$mainMenu.data('is-busy', false);
202
public_vars.$pageContainer.removeClass(public_vars.sidebarOnTransitionClass).removeClass(public_vars.sidebarOnHideTransitionClass);
203
204
$collapse_icon.css('style', '');
205
206
}, public_vars.sidebarTransitionTime);
207
}
208
}
209
210
function toggle_sidebar_menu(with_animation)
211
{
212
var open = public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass);
213
214
if(open)
215
{
216
show_sidebar_menu(with_animation);
217
ps_init();
218
}
219
else
220
{
221
hide_sidebar_menu(with_animation);
222
ps_destroy();
223
}
224
}
225
226
227
// Added on v1.5
228
function rtl() // checks whether the content is in RTL mode
229
{
230
if(typeof window.isRTL == 'boolean')
231
return window.isRTL;
232
233
window.isRTL = jQuery("html").get(0).dir == 'rtl' ? true : false;
234
235
return window.isRTL;
236
}
237
238
// Right to left Coeficient
239
function rtlc()
240
{
241
return rtl() ? -1 : 1;
242
}
243
244
245
// Perfect scroll bar functions by Arlind Nushi
246
function ps_update(destroy_init)
247
{
248
if(isxs())
249
return;
250
251
if(jQuery.isFunction(jQuery.fn.perfectScrollbar))
252
{
253
if(public_vars.$sidebarMenu.hasClass('collapsed'))
254
{
255
return;
256
}
257
258
public_vars.$sidebarMenu.find('.sidebar-menu-inner').perfectScrollbar('update');
259
260
if(destroy_init)
261
{
262
ps_destroy();
263
ps_init();
264
}
265
}
266
}
267
268
269
function ps_init()
270
{
271
if(isxs())
272
return;
273
274
if(jQuery.isFunction(jQuery.fn.perfectScrollbar))
275
{
276
if(public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass) || ! public_vars.$sidebarMenu.hasClass('fixed'))
277
{
278
return;
279
}
280
281
public_vars.$sidebarMenu.find('.sidebar-menu-inner').perfectScrollbar({
282
wheelSpeed: 1,
283
wheelPropagation: public_vars.wheelPropagation
284
});
285
}
286
}
287
288
function ps_destroy()
289
{
290
if(jQuery.isFunction(jQuery.fn.perfectScrollbar))
291
{
292
public_vars.$sidebarMenu.find('.sidebar-menu-inner').perfectScrollbar('destroy');
293
}
294
}
295