mirror of
https://github.com/lubuntu-team/lubuntu.me.git
synced 2025-02-22 15:51:08 +00:00
169 lines
4.8 KiB
JavaScript
169 lines
4.8 KiB
JavaScript
/* globals jQuery, soWidgetsAdmin */
|
|
|
|
jQuery( function( $ ){
|
|
|
|
$('.so-widget-toggle-active button').click( function(){
|
|
var $$ = $(this),
|
|
s = $$.data('status'),
|
|
$w = $$.closest('.so-widget');
|
|
|
|
if(s) {
|
|
$w.addClass('so-widget-is-active').removeClass('so-widget-is-inactive');
|
|
}
|
|
else {
|
|
$w.removeClass('so-widget-is-active').addClass('so-widget-is-inactive');
|
|
}
|
|
|
|
// Lets send an ajax request.
|
|
$.post(
|
|
soWidgetsAdmin.toggleUrl,
|
|
{
|
|
'widget' : $w.data('id'),
|
|
'active' : s
|
|
},
|
|
function(data){
|
|
// $sw.find('.dashicons-yes').clearQueue().fadeIn('fast').delay(750).fadeOut('fast');
|
|
}
|
|
);
|
|
|
|
} );
|
|
|
|
// Fill in the missing header images
|
|
$('.so-widget-banner').each( function(){
|
|
var $$ = $(this),
|
|
$img = $$.find('img');
|
|
|
|
if( !$img.length ) {
|
|
// Create an SVG image as a placeholder icon
|
|
var pattern = Trianglify({
|
|
width: 128,
|
|
height: 128,
|
|
variance : 1,
|
|
cell_size: 32,
|
|
seed: $$.data('seed')
|
|
});
|
|
|
|
$$.append( pattern.svg() );
|
|
}
|
|
else {
|
|
if( $img.width() > 128 ) {
|
|
// Deal with wide banner images
|
|
$img.css('margin-left', -($img.width()-128)/2 );
|
|
}
|
|
}
|
|
} );
|
|
|
|
// Lets implement the search
|
|
var widgetSearch = function(){
|
|
var q = $(this).val().toLowerCase();
|
|
|
|
if( q === '' ) {
|
|
$('.so-widget-wrap').show();
|
|
}
|
|
else {
|
|
$('.so-widget').each( function(){
|
|
var $$ = $(this);
|
|
|
|
if( $$.find('h3').html().toLowerCase().indexOf(q) > -1 ) {
|
|
$$.parent().show();
|
|
}
|
|
else {
|
|
$$.parent().hide();
|
|
}
|
|
} );
|
|
}
|
|
};
|
|
$('#sow-widget-search input').on( {
|
|
keyup: widgetSearch,
|
|
search: widgetSearch
|
|
});
|
|
|
|
$(window).resize(function() {
|
|
var $descriptions = $('.so-widget-text').css('height', 'auto');
|
|
var largestHeight = 0;
|
|
|
|
$descriptions.each(function () {
|
|
largestHeight = Math.max(largestHeight, $(this).height() );
|
|
});
|
|
|
|
$descriptions.each(function () {
|
|
$(this).css('height', largestHeight);
|
|
});
|
|
|
|
}).resize();
|
|
|
|
// Handle the tabs
|
|
$('#sow-widgets-page .page-nav a').click(function(e){
|
|
e.preventDefault();
|
|
var $$ = $(this);
|
|
var href = $$.attr('href');
|
|
|
|
var $li = $$.closest('li');
|
|
$('#sow-widgets-page .page-nav li').not($li).removeClass('active');
|
|
$li.addClass('active');
|
|
|
|
switch( href ) {
|
|
case '#all' :
|
|
$('.so-widget-wrap').show();
|
|
break;
|
|
|
|
case '#enabled' :
|
|
$('.so-widget-wrap').hide();
|
|
$('.so-widget-wrap .so-widget-is-active').each(function(){ $(this).closest('.so-widget-wrap').show(); });
|
|
$('.so-widget-wrap .so-widget-is-inactive').each(function(){ $(this).closest('.so-widget-wrap').hide(); });
|
|
break;
|
|
|
|
case '#disabled' :
|
|
$('.so-widget-wrap .so-widget-is-active').each(function(){ $(this).closest('.so-widget-wrap').hide(); });
|
|
$('.so-widget-wrap .so-widget-is-inactive').each(function(){ $(this).closest('.so-widget-wrap').show(); });
|
|
break;
|
|
}
|
|
|
|
$(window).resize();
|
|
});
|
|
|
|
// Enable css3 animations on the widgets list
|
|
$('#widgets-list').addClass('so-animated');
|
|
|
|
// Handle the dialog
|
|
var dialog = $('#sow-settings-dialog');
|
|
|
|
$( '#widgets-list .so-widget-settings' ).click( function( e ){
|
|
var $$ = $(this);
|
|
e.preventDefault();
|
|
|
|
dialog.find('.so-content')
|
|
.empty()
|
|
.addClass('so-loading')
|
|
.load( $$.data('form-url'), function(){
|
|
$(this).removeClass('so-loading');
|
|
} );
|
|
|
|
dialog.show();
|
|
} );
|
|
|
|
dialog.find('.so-close').click( function( e ){
|
|
e.preventDefault();
|
|
dialog.hide();
|
|
} );
|
|
|
|
dialog.find('.so-save').click( function( e ){
|
|
e.preventDefault();
|
|
|
|
var $$ = $(this);
|
|
$$.prop('disabled', true);
|
|
$( '#widgets-list .so-widget-settings' ).prop('disabled', true);
|
|
|
|
dialog.find( 'form' ).submit( function( ){
|
|
$$.prop('disabled', false);
|
|
dialog.hide();
|
|
} ).submit();
|
|
} );
|
|
|
|
// Enable all widget settings button after the save iframe has loaded.
|
|
$('#so-widget-settings-save').load( function(){
|
|
$( '#widgets-list .so-widget-settings' ).prop('disabled', false);
|
|
} );
|
|
|
|
} );
|