62 lines
2.2 KiB
JavaScript
62 lines
2.2 KiB
JavaScript
/**
|
|
* Copyright 2014 Openstack Foundation
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
**/
|
|
(function( $ ){
|
|
|
|
var form = null;
|
|
var settings = {};
|
|
|
|
var methods = {
|
|
init: function(options){
|
|
settings = $.extend({}, options );
|
|
form = $(this);
|
|
if(form.length>0){
|
|
var form_validator = form.validate({
|
|
onfocusout: false,
|
|
focusCleanup: true
|
|
});
|
|
}
|
|
},
|
|
serialize:function (){
|
|
var is_valid = form.valid();
|
|
if(!is_valid) return false;
|
|
var expertise_areas = [];
|
|
//iterate over collection
|
|
$(".expertise-area-checkbox:checked").each(function(){
|
|
var checkbox = $(this);
|
|
expertise_areas.push(parseInt(checkbox.attr('data-expertise-area-id')));
|
|
});
|
|
return expertise_areas;
|
|
},
|
|
load: function(expertise_areas) {
|
|
for(var i in expertise_areas){
|
|
var id = expertise_areas[i];
|
|
$('#expertise_area_'+id,form).prop('checked',true);
|
|
}
|
|
}
|
|
};
|
|
|
|
$.fn.expertise_areas = function(methodOrOptions) {
|
|
if ( methods[methodOrOptions] ) {
|
|
return methods[ methodOrOptions ].apply( this, Array.prototype.slice.call( arguments, 1 ));
|
|
} else if ( typeof methodOrOptions === 'object' || ! methodOrOptions ) {
|
|
// Default to "init"
|
|
return methods.init.apply( this, arguments );
|
|
} else {
|
|
$.error( 'Method ' + method + ' does not exist on jQuery.expertise_areas' );
|
|
}
|
|
};
|
|
//helper functions
|
|
// End of closure.
|
|
}( jQuery ));
|
|
|