Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / ui / new_ui / ui / javascripts / common.js @ fdd03619

History | View | Annotate | Download (12.8 kB)

1 5acf3fcf Olga Brani
/*
2 5acf3fcf Olga Brani
* Various functions that will be used throughout all templates
3 5acf3fcf Olga Brani
* are inside ui Object
4 5acf3fcf Olga Brani
*/
5 b3c1328b Olga Brani
6 5acf3fcf Olga Brani
ui = {};
7 9b6be833 Olga Brani
/*
8 9b6be833 Olga Brani
* ui.wizards get populated in vm-wizard.js
9 9b6be833 Olga Brani
* here is the declaration only
10 9b6be833 Olga Brani
*/
11 6bd1416f Athina Bekakou
ui.wizard = {};
12 98714f8a Olga Brani
13 5acf3fcf Olga Brani
/* when closeEl el is clicked, its parent with class divToCloseClass slidesUp */
14 98714f8a Olga Brani
ui.closeDiv = function(closeEl, divToCloseClass) {
15 d3bfabe8 Olga Brani
    closeEl.click(function(e){
16 d3bfabe8 Olga Brani
        e.preventDefault();
17 d3bfabe8 Olga Brani
        $(this).parents(divToCloseClass).slideUp('slow');
18 d3bfabe8 Olga Brani
    });
19 b3c1328b Olga Brani
}
20 b3c1328b Olga Brani
21 98714f8a Olga Brani
22 9569cdc8 Olga Brani
ui.trimChars = function( str, chars) {
23 9569cdc8 Olga Brani
    if ( str.length>chars){
24 5acf3fcf Olga Brani
        return $.trim(str).substring(0, chars)+ "...";
25 9569cdc8 Olga Brani
    } else {
26 9569cdc8 Olga Brani
        return str;
27 9569cdc8 Olga Brani
    }
28 9569cdc8 Olga Brani
}
29 9569cdc8 Olga Brani
30 5acf3fcf Olga Brani
/* sets lt-sidebar height. Useful for jscrollpane scrollbar */
31 98714f8a Olga Brani
ui.setSidebarHeight = function(){
32 d3bfabe8 Olga Brani
    var WindowHeight = $(window).height();
33 d3bfabe8 Olga Brani
    var h1= WindowHeight - $('.header').outerHeight();
34 5acf3fcf Olga Brani
    var h2= $('.main').outerHeight();
35 5acf3fcf Olga Brani
    $('.lt-sidebar').height((h2>h1) ? h2 : h1);
36 98714f8a Olga Brani
}
37 98714f8a Olga Brani
38 5acf3fcf Olga Brani
39 5acf3fcf Olga Brani
/* 
40 5acf3fcf Olga Brani
* Logic for Entities actions. Present in items_list pages
41 5acf3fcf Olga Brani
* Available categories are :
42 5acf3fcf Olga Brani
*  - both/single ( for multiple entities/single entities)
43 5acf3fcf Olga Brani
*  - running/stopped ( for running/stopped entities)
44 5acf3fcf Olga Brani
*  - permanent ( for entities always active )
45 5acf3fcf Olga Brani
*/
46 5acf3fcf Olga Brani
ui.entitiesActionsEnabled = function(){
47 8db75456 Athina Bekakou
    var all = $('.snf-checkbox-checked').length;
48 8db75456 Athina Bekakou
    var running = $('.snf-checkbox-checked').parents('.container').find('.running').length;
49 8db75456 Athina Bekakou
    var stopped = $('.snf-checkbox-checked').parents('.container').find('.stopped').length;
50 6e3d008c Olga Brani
    $('.header .main-actions li:not(.permanent) a').removeClass('active');  
51 5e62e9c1 Olga Brani
    if ( (running*stopped) > 0 ){          
52 e5c8c342 Olga Brani
         $('.main-actions li.both a').addClass('active');
53 e5c8c342 Olga Brani
         $('.main-actions li.single a').removeClass('active');
54 5e62e9c1 Olga Brani
    } else {
55 5e62e9c1 Olga Brani
        if (running > 0) {
56 e5c8c342 Olga Brani
            $('.main-actions li.both a').addClass('active');
57 e5c8c342 Olga Brani
            $('.main-actions li.running a').addClass('active');
58 5e62e9c1 Olga Brani
        } else if (stopped>0) {
59 e5c8c342 Olga Brani
            $('.main-actions li.both a').addClass('active');
60 e5c8c342 Olga Brani
            $('.main-actions li.stopped a').addClass('active');
61 5e62e9c1 Olga Brani
        }
62 5e62e9c1 Olga Brani
        if ( all > 1 ) {
63 e5c8c342 Olga Brani
            $('.main-actions li.single a').removeClass('active');
64 5e62e9c1 Olga Brani
        }
65 5e62e9c1 Olga Brani
    }
66 5e62e9c1 Olga Brani
}
67 a18bd0ed Olga Brani
68 788833c7 Olga Brani
ui.entitiesActionsInit = function(){
69 5e62e9c1 Olga Brani
70 fdd03619 Athina Bekakou
    // $('.entities li .container').mouseleave(
71 fdd03619 Athina Bekakou
    //     function(e){
72 fdd03619 Athina Bekakou
    //         $(this).find('.snf-checkbox-unchecked').parents('.check').removeClass('active');
73 fdd03619 Athina Bekakou
    //      }
74 fdd03619 Athina Bekakou
    // );
75 5e62e9c1 Olga Brani
76 fdd03619 Athina Bekakou
    // $('.entities .container .check').click(function(e){
77 62462e34 Athina Bekakou
        // e.preventDefault();
78 fdd03619 Athina Bekakou
        // var checkbox = $(this).find('.snf-checkbox-unchecked, .snf-checkbox-checked');
79 62462e34 Athina Bekakou
        // checkbox.toggleClass('snf-checkbox-unchecked');
80 62462e34 Athina Bekakou
        // checkbox.toggleClass('snf-checkbox-checked');
81 5e62e9c1 Olga Brani
        
82 fdd03619 Athina Bekakou
        // if(checkbox.hasClass('snf-checkbox-checked')){
83 fdd03619 Athina Bekakou
        //     $(this).parents('.container').addClass('set-bg');
84 fdd03619 Athina Bekakou
        //     $(this).addClass('active');
85 fdd03619 Athina Bekakou
        // }
86 fdd03619 Athina Bekakou
        // else{
87 fdd03619 Athina Bekakou
        //     $(this).parents('.container').removeClass('set-bg');
88 fdd03619 Athina Bekakou
        // }
89 fdd03619 Athina Bekakou
        // ui.entitiesActionsEnabled();
90 fdd03619 Athina Bekakou
    // })
91 fdd03619 Athina Bekakou
    $('.entities li.test1 .container .img-wrap').mouseenter(function(e) {
92 fdd03619 Athina Bekakou
        $(this).closest('.container').hide();
93 fdd03619 Athina Bekakou
        $(this).closest('.container').siblings('.overlap_options').fadeIn('slow');//stop().slideToggle(600);
94 fdd03619 Athina Bekakou
    });
95 fdd03619 Athina Bekakou
    $('.entities li.test1 .overlap_options').mouseleave(function(e) {
96 fdd03619 Athina Bekakou
        var self = this;
97 fdd03619 Athina Bekakou
        $(this).fadeOut('slow', function(){//stop().slideToggle(600, function(e) {
98 fdd03619 Athina Bekakou
             $(self).siblings('.container').fadeIn('fast');
99 fdd03619 Athina Bekakou
         });
100 fdd03619 Athina Bekakou
    });
101 fdd03619 Athina Bekakou
102 fdd03619 Athina Bekakou
    $('.entities li.test2 .container .img-wrap').mouseenter(function(e) {
103 fdd03619 Athina Bekakou
        $(this).closest('.container').hide();
104 fdd03619 Athina Bekakou
        $(this).closest('.container').siblings('.overlap_options').stop().slideToggle(600);
105 fdd03619 Athina Bekakou
    });
106 fdd03619 Athina Bekakou
    $('.entities li.test2 .overlap_options').mouseleave(function(e) {
107 fdd03619 Athina Bekakou
        var self = this;
108 fdd03619 Athina Bekakou
        $(this).stop().slideToggle(600, function(e) {
109 fdd03619 Athina Bekakou
             $(self).siblings('.container').fadeIn();
110 fdd03619 Athina Bekakou
        });
111 fdd03619 Athina Bekakou
    });
112 5e62e9c1 Olga Brani
}
113 01fa9e32 Olga Brani
114 5acf3fcf Olga Brani
/*
115 5acf3fcf Olga Brani
* In order for the editable value functionality to work, the html markup
116 5acf3fcf Olga Brani
* should be:
117 5acf3fcf Olga Brani
    <div class="editable">
118 5acf3fcf Olga Brani
        <span class="input-txt">editable value</span>
119 5acf3fcf Olga Brani
        <input type="text">
120 5acf3fcf Olga Brani
        <a href="#" class="edit">edit</a>
121 5acf3fcf Olga Brani
        <a href="#" class="save">save</a>
122 5acf3fcf Olga Brani
        <a href="#" class="cancel">cancel</a>
123 5acf3fcf Olga Brani
    </div>
124 5acf3fcf Olga Brani
*/
125 788833c7 Olga Brani
ui.editable = function(){
126 788833c7 Olga Brani
127 788833c7 Olga Brani
/*
128 5acf3fcf Olga Brani
* resetForm hides save and cancel buttons,
129 5acf3fcf Olga Brani
* text input and shows input-txt. resetForm does not alter
130 5acf3fcf Olga Brani
* input-txt content.
131 788833c7 Olga Brani
*/
132 788833c7 Olga Brani
133 788833c7 Olga Brani
    function resetForm(e, elem) {
134 788833c7 Olga Brani
        var el = elem.parents('.editable');
135 788833c7 Olga Brani
        el.find('input[type="text"]').hide();
136 788833c7 Olga Brani
        el.find('a.cancel, a.save').hide();
137 5acf3fcf Olga Brani
        el.find('a.edit, .input-txt').show();
138 788833c7 Olga Brani
    }
139 788833c7 Olga Brani
140 788833c7 Olga Brani
/* 
141 5acf3fcf Olga Brani
* showForm hides input-txt, shows save and cancel buttons and
142 5acf3fcf Olga Brani
* sets input value to input-txt content.
143 788833c7 Olga Brani
*/
144 788833c7 Olga Brani
    function showForm(e,elem) {
145 788833c7 Olga Brani
        e.stopPropagation(); 
146 788833c7 Olga Brani
        e.preventDefault();
147 788833c7 Olga Brani
        var el = elem.parents('.editable'); 
148 788833c7 Olga Brani
        el.find('input[type="text"]').val(el.find('.input-txt').html());
149 788833c7 Olga Brani
        el.find('input[type="text"]').show();
150 788833c7 Olga Brani
        el.find('a.cancel, a.save').show();
151 788833c7 Olga Brani
        elem.hide();
152 788833c7 Olga Brani
        el.find('.input-txt').hide();
153 788833c7 Olga Brani
154 788833c7 Olga Brani
    }
155 788833c7 Olga Brani
156 788833c7 Olga Brani
/*
157 788833c7 Olga Brani
setValue sets input-txt value to the input value.
158 788833c7 Olga Brani
Makes sure that the input value is not empty.
159 788833c7 Olga Brani
TODO:
160 788833c7 Olga Brani
Ajax request to submit form
161 788833c7 Olga Brani
*/
162 788833c7 Olga Brani
163 788833c7 Olga Brani
    function setValue(elem) {
164 788833c7 Olga Brani
        var el = elem.parents('.editable');
165 788833c7 Olga Brani
        if( el.find('input[type="text"]').val() ) {
166 788833c7 Olga Brani
            el.find('.input-txt').html(el.find('input[type="text"]').val());
167 788833c7 Olga Brani
        }
168 788833c7 Olga Brani
    }
169 788833c7 Olga Brani
170 788833c7 Olga Brani
171 788833c7 Olga Brani
    $('.editable .edit').click(function(e){
172 788833c7 Olga Brani
        showForm(e, $(this));
173 788833c7 Olga Brani
    })
174 788833c7 Olga Brani
175 788833c7 Olga Brani
    $('.editable .cancel').click(function(e){
176 788833c7 Olga Brani
        e.stopPropagation();
177 788833c7 Olga Brani
        e.preventDefault();
178 788833c7 Olga Brani
        resetForm(e, $(this));
179 788833c7 Olga Brani
    })
180 788833c7 Olga Brani
181 788833c7 Olga Brani
    $('.editable .save').click(function(e){
182 788833c7 Olga Brani
        e.stopPropagation();
183 788833c7 Olga Brani
        e.preventDefault();
184 788833c7 Olga Brani
        setValue($(this));
185 788833c7 Olga Brani
        resetForm(e, $(this));
186 788833c7 Olga Brani
187 788833c7 Olga Brani
    })
188 788833c7 Olga Brani
189 788833c7 Olga Brani
190 788833c7 Olga Brani
    $('.editable input[type="text"]').click(function(e){
191 788833c7 Olga Brani
        e.stopPropagation();
192 788833c7 Olga Brani
    })
193 788833c7 Olga Brani
194 788833c7 Olga Brani
    $('.editable input[type="text"]').keyup(function(e){
195 788833c7 Olga Brani
        if(e.keyCode == 13) { 
196 788833c7 Olga Brani
            setValue($(this));
197 788833c7 Olga Brani
            resetForm(e, $(this));
198 788833c7 Olga Brani
            
199 788833c7 Olga Brani
        }
200 788833c7 Olga Brani
    
201 788833c7 Olga Brani
    })
202 788833c7 Olga Brani
203 788833c7 Olga Brani
    $('html').click(function(e) {
204 788833c7 Olga Brani
        resetForm(e, $('.editable a.cancel'));
205 788833c7 Olga Brani
    });
206 788833c7 Olga Brani
207 9569cdc8 Olga Brani
}
208 9569cdc8 Olga Brani
209 5acf3fcf Olga Brani
/* TODO: better overlay functionality */
210 9569cdc8 Olga Brani
ui.overlay = function() {
211 9569cdc8 Olga Brani
    $('[data-overlay-id]').click(function(e){
212 9569cdc8 Olga Brani
        e.preventDefault();
213 9569cdc8 Olga Brani
        var el = $(this);
214 9569cdc8 Olga Brani
        // main-actions a need to be active to trigger overlay
215 9569cdc8 Olga Brani
        if ( (el.parents('.main-actions').find('li a.active').length == 0) && (el.parents('.main-actions').length > 0) ) {
216 9569cdc8 Olga Brani
            return false;
217 9569cdc8 Olga Brani
        }
218 9569cdc8 Olga Brani
        var id = el.data('overlay-id');
219 03bcb595 Olga Brani
220 bb8cc1dc Olga Brani
        $('.overlay-area').fadeIn(100);
221 bb8cc1dc Olga Brani
        $('body').addClass('with-overlay');
222 6fcab23b Olga Brani
        $(id).fadeIn('slow');
223 bdf1d2fd Olga Brani
        console.log(id);
224 bdf1d2fd Olga Brani
        if (id=='#network-wizard') {
225 bdf1d2fd Olga Brani
            $(id).find('input').first().focus();
226 bdf1d2fd Olga Brani
            return false;
227 bdf1d2fd Olga Brani
        }
228 9b6be833 Olga Brani
        $(id).find('a').first().focus();
229 9569cdc8 Olga Brani
    });
230 788833c7 Olga Brani
}
231 788833c7 Olga Brani
232 3820a3de Athina Bekakou
// when user moves a vm or network icon (list view)
233 3820a3de Athina Bekakou
ui.placementByUser = function() {
234 3820a3de Athina Bekakou
    if($('.sortable').length != 0) {
235 3820a3de Athina Bekakou
        $( ".sortable" ).sortable({
236 3820a3de Athina Bekakou
            items: "> li:not(:last)",
237 3820a3de Athina Bekakou
            stop: function(event, ui) {
238 3820a3de Athina Bekakou
                $.map($(this).find('li'), function(el) {
239 3820a3de Athina Bekakou
                            return $(el).attr('data-order', $(el).index());
240 3820a3de Athina Bekakou
                        });
241 3820a3de Athina Bekakou
            }
242 3820a3de Athina Bekakou
        });
243 3820a3de Athina Bekakou
244 3820a3de Athina Bekakou
        $( ".sortable" ).disableSelection(); //i think unnecessary
245 3820a3de Athina Bekakou
    }
246 3820a3de Athina Bekakou
}
247 3820a3de Athina Bekakou
248 5c4713f8 Olga Brani
function goToByScroll(id){
249 5c4713f8 Olga Brani
      // Remove "link" from the ID
250 5c4713f8 Olga Brani
    id = id.replace("link", "");
251 5c4713f8 Olga Brani
      // Scroll
252 5c4713f8 Olga Brani
    $('html,body').animate({
253 5c4713f8 Olga Brani
        scrollTop: $("#"+id).offset().top},
254 5c4713f8 Olga Brani
        'slow');
255 5c4713f8 Olga Brani
}
256 f5321878 Olga Brani
257 f5321878 Olga Brani
258 9b6be833 Olga Brani
/*
259 9b6be833 Olga Brani
* functions concerning checkboxes and radiobuttons links
260 9b6be833 Olga Brani
*/
261 9b6be833 Olga Brani
ui.changeCheckboxState =function(checkbox_link) {
262 9b6be833 Olga Brani
     $(checkbox_link).find('.snf-checkbox-unchecked, .snf-checkbox-checked').toggleClass('snf-checkbox-unchecked snf-checkbox-checked');
263 9b6be833 Olga Brani
}
264 9b6be833 Olga Brani
265 9b6be833 Olga Brani
ui.changeRadiobuttonState = function(radiobtn_link) {
266 9b6be833 Olga Brani
    $(radiobtn_link).find('span.snf-radio-unchecked, span.snf-radio-checked').toggleClass('snf-radio-unchecked snf-radio-checked');
267 9b6be833 Olga Brani
}
268 9b6be833 Olga Brani
269 9b6be833 Olga Brani
ui.checkOneRadioButton = function(radiobtn_link) {
270 9b6be833 Olga Brani
    $(radiobtn_link).closest('ul').find('span.snf-radio-checked').toggleClass('snf-radio-unchecked snf-radio-checked');
271 9b6be833 Olga Brani
}
272 9b6be833 Olga Brani
273 9b6be833 Olga Brani
274 937c0d49 Athina Bekakou
// toggle expand arrrow  and corresponding area
275 937c0d49 Athina Bekakou
// todo: one function for all the areas we reveal
276 937c0d49 Athina Bekakou
ui.expandDownArea = function(arrow_link, area) {
277 937c0d49 Athina Bekakou
    var arrow_link = $(arrow_link);
278 937c0d49 Athina Bekakou
    var area = $(area);
279 937c0d49 Athina Bekakou
            arrow_link.find('span.snf-arrow-up, span.snf-arrow-down').toggleClass('snf-arrow-up snf-arrow-down');
280 937c0d49 Athina Bekakou
            // $('.wizard-content').removeAttr('style');
281 937c0d49 Athina Bekakou
            area.stop().slideToggle(600, function() {
282 937c0d49 Athina Bekakou
                if (area.is(':visible').length != 0) {
283 937c0d49 Athina Bekakou
                    arrow_link.find('.snf-arrow-down .snf-arrow-up').removeClass('snf-arrow-down').addClass('snf-arrow-up');
284 937c0d49 Athina Bekakou
                } else {
285 937c0d49 Athina Bekakou
                    arrow_link.find('.snf-arrow-down .snf-arrow-up').addClass('snf-arrow-down');
286 937c0d49 Athina Bekakou
                }
287 937c0d49 Athina Bekakou
288 937c0d49 Athina Bekakou
            });
289 937c0d49 Athina Bekakou
}
290 9b6be833 Olga Brani
291 b3c1328b Olga Brani
$(document).ready(function(){
292 b3c1328b Olga Brani
293 5acf3fcf Olga Brani
    ui.setSidebarHeight();
294 d3bfabe8 Olga Brani
    ui.closeDiv($('.info .close'), '.info');
295 5acf3fcf Olga Brani
    ui.editable();
296 5acf3fcf Olga Brani
    ui.overlay();
297 4ff5dda5 Athina Bekakou
    ui.colorPickerVisible = 0;
298 d3bfabe8 Olga Brani
299 937c0d49 Athina Bekakou
    $("a.disabled").each(function() {
300 937c0d49 Athina Bekakou
        $(this).removeAttr('href');
301 937c0d49 Athina Bekakou
    });
302 937c0d49 Athina Bekakou
    
303 937c0d49 Athina Bekakou
    $("a.disabled").click(function(e) {
304 937c0d49 Athina Bekakou
        e.preventDefault();
305 937c0d49 Athina Bekakou
    });
306 937c0d49 Athina Bekakou
307 62462e34 Athina Bekakou
    // checkbox: basic reaction on click (checked, unchecked)
308 05205849 Athina Bekakou
    // see wizard
309 62462e34 Athina Bekakou
    $('.check').click(function(e){
310 62462e34 Athina Bekakou
        e.preventDefault();
311 62462e34 Athina Bekakou
        e.stopPropagation();
312 62462e34 Athina Bekakou
        ui.changeCheckboxState(this);
313 62462e34 Athina Bekakou
    });
314 62462e34 Athina Bekakou
315 937c0d49 Athina Bekakou
316 937c0d49 Athina Bekakou
    $('.with-checkbox').click(function(e){
317 937c0d49 Athina Bekakou
        e.preventDefault();
318 937c0d49 Athina Bekakou
        e.stopPropagation();
319 937c0d49 Athina Bekakou
        var checkbox = self.find('.check');
320 937c0d49 Athina Bekakou
        ui.changeCheckboxState(checkbox);
321 937c0d49 Athina Bekakou
    });
322 937c0d49 Athina Bekakou
323 937c0d49 Athina Bekakou
    $('.radio_btn').click(function(e) {
324 937c0d49 Athina Bekakou
        e.preventDefault();
325 937c0d49 Athina Bekakou
         var state = $(this).find('span');
326 937c0d49 Athina Bekakou
         if(state.hasClass('snf-radio-unchecked')) {
327 937c0d49 Athina Bekakou
            ui.checkOneRadioButton(this);
328 937c0d49 Athina Bekakou
            ui.changeRadiobuttonState(this);
329 937c0d49 Athina Bekakou
        }
330 937c0d49 Athina Bekakou
    })
331 937c0d49 Athina Bekakou
332 62462e34 Athina Bekakou
    ui.entitiesActionsInit();
333 d3bfabe8 Olga Brani
    
334 d3bfabe8 Olga Brani
    $('.new-btn a.current').click(function(e){
335 d3bfabe8 Olga Brani
        e.preventDefault();
336 d3bfabe8 Olga Brani
    })
337 d3bfabe8 Olga Brani
338 d3bfabe8 Olga Brani
    $('.main-actions li a').click(function(e){
339 d3bfabe8 Olga Brani
        if (!($(this).hasClass('active'))) {
340 d3bfabe8 Olga Brani
            e.preventDefault();
341 d3bfabe8 Olga Brani
        }
342 d3bfabe8 Olga Brani
    })
343 788833c7 Olga Brani
    $('.scroll-pane').jScrollPane();
344 f2126967 Olga Brani
345 9569cdc8 Olga Brani
    $('.main .items-list .title em').each(function(){
346 5acf3fcf Olga Brani
        $(this).html( ui.trimChars($(this).html(), 20) );
347 9569cdc8 Olga Brani
348 9569cdc8 Olga Brani
    })
349 9569cdc8 Olga Brani
350 f2126967 Olga Brani
    $('.main-actions li a').click(function(e){
351 f2126967 Olga Brani
        if (!($(this).hasClass('active'))) {
352 f2126967 Olga Brani
            e.preventDefault();
353 f2126967 Olga Brani
        }
354 f2126967 Olga Brani
    })
355 62462e34 Athina Bekakou
    $('.overlay-area').children('.close').click(function(e){
356 9569cdc8 Olga Brani
        e.preventDefault();
357 62462e34 Athina Bekakou
        e.stopPropagation();
358 9569cdc8 Olga Brani
        $(this).parents('.overlay-area').hide();
359 03bcb595 Olga Brani
        $(this).parents('.overlay-area').find($('.overlay-div')).hide();
360 bb8cc1dc Olga Brani
        $('body').removeClass('with-overlay');
361 9569cdc8 Olga Brani
    })
362 f2126967 Olga Brani
363 182f3fe2 Olga Brani
    $('.browse-files').click(function(e){
364 182f3fe2 Olga Brani
        e.preventDefault();
365 182f3fe2 Olga Brani
    })
366 182f3fe2 Olga Brani
367 846f5913 Olga Brani
    Dropzone.options.filesDropzone = {
368 182f3fe2 Olga Brani
        dictDefaultMessage:'',
369 182f3fe2 Olga Brani
        clickable: '.browse-files',
370 846f5913 Olga Brani
        previewsContainer: '.dropzone-files',
371 846f5913 Olga Brani
        createImageThumbnails: false,
372 846f5913 Olga Brani
        dictRemoveFile: "snf-Remove file",
373 182f3fe2 Olga Brani
    };
374 182f3fe2 Olga Brani
375 342fa48b Olga Brani
376 342fa48b Olga Brani
    $('.main .files').magnificPopup({
377 342fa48b Olga Brani
        delegate: 'a.show.image',
378 342fa48b Olga Brani
        type: 'image',
379 342fa48b Olga Brani
        tLoading: 'Loading image #%curr%...',
380 342fa48b Olga Brani
        mainClass: 'mfp-img-mobile',
381 342fa48b Olga Brani
        gallery: {
382 342fa48b Olga Brani
            enabled: true,
383 342fa48b Olga Brani
            navigateByImgClick: true,
384 342fa48b Olga Brani
            preload: [0,1] // Will preload 0 - before current, and 1 after the current image
385 342fa48b Olga Brani
        },
386 342fa48b Olga Brani
        image: {
387 bb8cc1dc Olga Brani
            tError: 'The image could not be loaded.',
388 342fa48b Olga Brani
            titleSrc: function(item) {
389 342fa48b Olga Brani
                return item.el.data('title');
390 342fa48b Olga Brani
            }
391 342fa48b Olga Brani
        }
392 342fa48b Olga Brani
    });
393 342fa48b Olga Brani
394 62462e34 Athina Bekakou
    ui.placementByUser();
395 62462e34 Athina Bekakou
396 62462e34 Athina Bekakou
    if($('#picker').length>0) {
397 62462e34 Athina Bekakou
        $('#picker').farbtastic('#color');
398 62462e34 Athina Bekakou
    };
399 f2380a69 Athina Bekakou
    if($('#sb-search').length>0) {
400 f2380a69 Athina Bekakou
        new UISearch( document.getElementById( 'sb-search' ) );
401 f2380a69 Athina Bekakou
    }
402 026edcbc Olga Brani
403 026edcbc Olga Brani
404 026edcbc Olga Brani
    /* grid/list view for items-list */
405 026edcbc Olga Brani
406 026edcbc Olga Brani
    $('.view-type .list').click(function(e){
407 026edcbc Olga Brani
        e.preventDefault();
408 026edcbc Olga Brani
        $('.view-type .grid span').removeClass('current');
409 026edcbc Olga Brani
        $(this).find('span').addClass('current');
410 026edcbc Olga Brani
        $('.items-list').removeClass('small-block-grid-2 large-block-grid-3');
411 026edcbc Olga Brani
        $('.items-list').addClass('list-view');
412 775d43ea Athina Bekakou
    });
413 026edcbc Olga Brani
414 026edcbc Olga Brani
     $('.view-type .grid').click(function(e){
415 026edcbc Olga Brani
        e.preventDefault();
416 026edcbc Olga Brani
        $('.view-type .list span').removeClass('current');
417 026edcbc Olga Brani
        $(this).find('span').addClass('current');
418 026edcbc Olga Brani
        $('.items-list').addClass('small-block-grid-2 large-block-grid-3');
419 026edcbc Olga Brani
        $('.items-list').removeClass('list-view');
420 775d43ea Athina Bekakou
    });
421 775d43ea Athina Bekakou
422 775d43ea Athina Bekakou
    // set filter visible
423 775d43ea Athina Bekakou
    $('.filter-menu .filter').click(function(e) {
424 775d43ea Athina Bekakou
        e.preventDefault();
425 775d43ea Athina Bekakou
        var self = this;
426 775d43ea Athina Bekakou
        $(self).parents('.filter-menu').toggleClass('current');
427 775d43ea Athina Bekakou
        // $(self).siblings('.options').stop().slideToggle(400, function() {
428 775d43ea Athina Bekakou
        //     if($(self).s)
429 775d43ea Athina Bekakou
        // });
430 026edcbc Olga Brani
    })
431 98714f8a Olga Brani
})
432 b3c1328b Olga Brani
433 9569cdc8 Olga Brani
434 98714f8a Olga Brani
$(window).resize(function(e){
435 d3bfabe8 Olga Brani
    ui.setSidebarHeight();
436 e106fc8f Olga Brani
    $('.scroll-pane').jScrollPane();
437 b3c1328b Olga Brani
})