Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Script from NETTUTS.com [by James Padolsey]
- * @requires jQuery($), jQuery UI & sortable/draggable UI modules
- */
- var iNettuts = {
- jQuery : $,
- settings : {
- columns : '.column',
- widgetSelector: '.widget',
- handleSelector: '.widget-head',
- contentSelector: '.widget-content-wrapper',
- widgetDefault : {
- movable: true,
- },
- widgetIndividual : {
- intro : {
- movable: false,
- }
- }
- },
- init : function () {
- this.makeSortable();
- },
- getWidgetSettings : function (id) {
- var $ = this.jQuery,
- settings = this.settings;
- return (id&&settings.widgetIndividual[id]) ? $.extend({},settings.widgetDefault,settings.widgetIndividual[id]) : settings.widgetDefault;
- },
- makeSortable : function () {
- var iNettuts = this,
- $ = this.jQuery,
- settings = this.settings,
- $sortableItems = (function () {
- var notSortable = '';
- $(settings.widgetSelector,$(settings.columns)).each(function (i) {
- if (!iNettuts.getWidgetSettings(this.id).movable) {
- if(!this.id) {
- this.id = 'widget-no-id-' + i;
- }
- notSortable += '#' + this.id + ',';
- }
- });
- if (notSortable.length > 0) {
- return $('> li:not(' + notSortable + ')', settings.columns);
- } else {
- return $('> li', settings.columns);
- }
- })();
- $sortableItems.find(settings.handleSelector).css({
- cursor: 'move'
- }).mousedown(function (e) {
- $sortableItems.css({width:''});
- $(this).parent().css({
- width: $(this).parent().width() + 'px'
- });
- }).mouseup(function () {
- if(!$(this).parent().hasClass('dragging')) {
- $(this).parent().css({width:''});
- } else {
- $(settings.columns).sortable('disable');
- }
- });
- $(settings.columns).sortable({
- items: $sortableItems,
- connectWith: $(settings.columns),
- handle: settings.handleSelector,
- placeholder: 'widget-placeholder',
- forcePlaceholderSize: true,
- revert: 300,
- delay: 100,
- opacity: 0.8,
- containment: 'document',
- start: function (e,ui) {
- $(ui.helper).addClass('dragging');
- },
- stop: function (e,ui) {
- $(ui.item).css({width:''}).removeClass('dragging');
- $(settings.columns).sortable('enable');
- }
- });
- }
- };
- iNettuts.init();
Advertisement
Add Comment
Please, Sign In to add comment