/*
* macrovis — plugin based on jQuery for platform SCAD7
*
* Copyright (c) 2019 Dobrynin P. Yu.
*
* Version: 1.0.0
*
* home page link:
* http://platforma.scad7.ru
*
* Плагин для раскрытия или свертывания таблицы
* $(‘#attach_2’).macrovis({visible: ‘true’});
* Уничтожить объект управления
* $(‘#attach_2’).macrovis(‘destroy’);
*/
(function( $ ){
var methods = {
init : function( options ) {
var settings =$.extend({
‘visible’ : ‘true’
, ajob : ‘:ajob’
}, options);
return this.each(function(){
var $this = $(this)
, ajob = settings.ajob
, data = $this.data(‘macrovis’)
, elemid = $(this).attr(‘id’)
, ctrlid = ‘ctrl’ + $(this).attr(‘id’)
, ctrltag = ‘
‘
$(this).before(ctrltag);
var ctrlobj = $(‘#’+ctrlid);
if ( ! data) {
$(this).data(‘macrovis’, {
target : $this
, ctrlobj : ctrlobj
});
}
/* по куки */
if ( GetCookie(ajob+elemid ) == ‘true’ ) {
//$(‘#’+ctrlid).css(‘background-image’,’url(img/154.gif)’);
//$(‘#’+ctrlid).css(‘background-repeat-x’,’no-repeat’);
$(‘#’+ctrlid).removeClass(‘macrovis_plus’);
$(‘#’+ctrlid).addClass(‘macrovis_minus’);
$(this).show();
} else if ( GetCookie(ajob+elemid ) == ‘false’ ) {
//$(‘#’+ctrlid).css(‘background-image’,’url(img/155.gif)’);
//$(‘#’+ctrlid).css(‘background-repeat-x’,’no-repeat’);
$(‘#’+ctrlid).removeClass(‘macrovis_minus’);
$(‘#’+ctrlid).addClass(‘macrovis_plus’);
$(this).hide();
} else {
/* по умолчанию */
if ( settings.visible == ‘true’ ) {
//$(‘#’+ctrlid).css(‘background-image’,’url(img/154.gif)’);
//$(‘#’+ctrlid).css(‘background-repeat-x’,’no-repeat’);
$(‘#’+ctrlid).removeClass(‘macrovis_plus’);
$(‘#’+ctrlid).addClass(‘macrovis_minus’);
$(this).show();
} else {
//$(‘#’+ctrlid).css(‘background-image’,’url(img/155.gif)’);
//$(‘#’+ctrlid).css(‘background-repeat-x’,’no-repeat’);
$(‘#’+ctrlid).removeClass(‘macrovis_minus’);
$(‘#’+ctrlid).addClass(‘macrovis_plus’);
$(this).hide();
};
};
/* по клику */
$(‘#’+ctrlid).click(function(){
$(‘#’+elemid).toggle();
if ( $(‘#’+elemid).is(‘:visible’) ) {
//$(‘#’+ctrlid).css(‘background-image’,’url(img/154.gif)’)
//$(‘#’+ctrlid).css(‘background-repeat-x’,’no-repeat’);
$(‘#’+ctrlid).removeClass(‘macrovis_plus’);
$(‘#’+ctrlid).addClass(‘macrovis_minus’);
} else {
//$(‘#’+ctrlid).css(‘background-image’,’url(img/155.gif)’);
//$(‘#’+ctrlid).css(‘background-repeat-x’,’no-repeat’);
$(‘#’+ctrlid).removeClass(‘macrovis_minus’);
$(‘#’+ctrlid).addClass(‘macrovis_plus’);
};
SetCookie(ajob+elemid, $(‘#’+elemid).is(‘:visible’) );
});
});
}
, destroy : function() {
return this.each(function(){
var $this = $(this), data = $this.data(‘macrovis’);
$(window).unbind(‘.macrovis’);
data.ctrlobj.remove();
$this.removeData(‘macrovis’);
})
}
, run : function run() {
return this.each(function() {
return this;
});
}
};
$.fn.macrovis = function( method ) {
if ( methods[method] ) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if ( typeof method === ‘object’ || ! method) {
return methods.init.apply( this, arguments );
} else {
$.error( ‘Метод с именем ‘ + method + ‘ не существует для jQuery.macrovis’ );
}
};
})( jQuery )