491 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			491 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| // Retrieve the initial data
 | |
| function temporary() {
 | |
| 	attributesArray.length = 0;
 | |
| 	$('.attributes').each(function() {
 | |
| 		var attributesData = {},
 | |
| 			$selectType = $('.dataType').data().type;
 | |
| 
 | |
| 		// Capture "attributes-body" within the input[type = "text"] val
 | |
| 		$(this).find('.attributes-body').find('input[type="text"]').each(function(i) {
 | |
| 			var $type = $(this).data().type;
 | |
| 			attributesData[$type] = $(this).val();
 | |
| 		});
 | |
| 
 | |
| 		// Capture "attributes-body" within the input[type = "radio"] checked
 | |
| 		$(this).find('.attributes-body').find('input[type="radio"]').each(function(i) {
 | |
| 			var $type = $(this).data().type;
 | |
| 			attributesData[$type] = $(this).prop("checked");
 | |
| 		});
 | |
| 
 | |
| 		// Capture "attributes-body" within the dataType selected
 | |
| 		$(this).find('.attributes-body').find('.dataType').children("option:selected").each(function () {
 | |
| 			attributesData[$selectType] = {};
 | |
| 			attributesData[$selectType].index = $(this).index();
 | |
| 			attributesData[$selectType].name = $(this).attr('ref');
 | |
| 			if($(this).attr('ref') == 'typeB' || $(this).attr('ref') == 'typeE' || $(this).attr('ref') == 'typeF') {
 | |
| 				attributesData[$selectType].option = [];
 | |
| 			}
 | |
| 		});
 | |
| 
 | |
| 		// Capture "field-type" within the input[type = "text"] val
 | |
| 		$(this).find('.field-type').find('input[type="text"]').each(function(i) {
 | |
| 			var $type = $(this).data().type;
 | |
| 			if(!$type.match('option_lang')) {
 | |
| 				attributesData[$selectType][$type] = $(this).val();
 | |
| 			}
 | |
| 		});
 | |
| 
 | |
| 		$(this).find('.field-type .add-target').find('.input-append').each(function() {
 | |
| 			var append = []
 | |
| 			$(this).children('input[type="text"]').each(function() {
 | |
| 				var val = $(this).val();
 | |
| 				append.push(val);
 | |
| 			});
 | |
| 			attributesData[$selectType].option.push(append);
 | |
| 		})
 | |
| 
 | |
| 		// Capture "field-type" within the input[type = "checkbox"] checked
 | |
| 		$(this).find('.field-type').find('input[type="checkbox"]').each(function() {
 | |
| 			var $type = $(this).data().type;
 | |
| 			attributesData[$selectType][$type] = $(this).prop("checked");
 | |
| 		});
 | |
| 
 | |
| 		// Capture "field-type" within the input[type = "radio"] checked
 | |
| 		$(this).find('.field-type').find('input[type="radio"]').each(function() {
 | |
| 			var $type = $(this).data().type;
 | |
| 			attributesData[$selectType][$type] = $(this).prop("checked");
 | |
| 		});
 | |
| 
 | |
| 		// Capture "field-type" within the dataType selected
 | |
| 		$(this).find('.field-type').find('select').children("option:selected").each(function () {
 | |
| 			attributesData[$selectType].dateFormat = $(this).index();
 | |
| 		});
 | |
| 
 | |
| 		attributesArray.push(attributesData);
 | |
| 	});
 | |
| };
 | |
| 
 | |
| // Determine the Append input length
 | |
| function inputAppendLength() {
 | |
| 	$('.add-target').each(function(i) {
 | |
| 		if($(this).children('.input-append:not(:hidden)').length == 1 || $(this).children('.input-append').length == 1) {
 | |
| 			$(this).children('.input-append').each(function() {
 | |
| 				if($(this).children('div').hasClass('tab-content')) {
 | |
| 					var btnLength = $(this).children('.btn').length;
 | |
| 					$(this).find('.btn').eq(btnLength-2).addClass('last');
 | |
| 					$(this).find('.remove-input').addClass('hide');
 | |
| 				} else {
 | |
| 					var mediumLength = $(this).children('.input-medium').length;
 | |
| 					$(this).children('.input-medium').eq(mediumLength-1).addClass('last');
 | |
| 					$(this).children('.remove-input').addClass('hide');
 | |
| 				}
 | |
| 			});
 | |
| 		} else {
 | |
| 			$(this).children('.input-append').each(function() {
 | |
| 				if($(this).children('div').hasClass('tab-content')) {
 | |
| 					$(this).find('.btn').removeClass('last');
 | |
| 					$(this).find('.remove-input').removeClass('hide');
 | |
| 				} else {
 | |
| 					$(this).children('.input-medium').removeClass('last');
 | |
| 					$(this).children('.remove-input').removeClass('hide');
 | |
| 				}
 | |
| 			});
 | |
| 		}
 | |
| 	});
 | |
| };
 | |
| 
 | |
| // Role Attribute Template Data
 | |
| function setData(l, type, ol) {
 | |
| 	var fields = $('#info').length ? "info[attribute_fields]" : $('#sub_role').length ? "sub_role[attribute_fields]" : "role[attribute_fields]",
 | |
| 		data = {
 | |
| 			_add_more:				["add_more_"			+l, fields+"["+l+"]["+type+"][add_more]"],
 | |
| 			_calendar:				["calendar_"			+l, fields+"["+l+"]["+type+"][calendar]"],
 | |
| 			_cross_lang:			["cross_lang_"			+l, fields+"["+l+"]["+type+"][cross_lang]"],
 | |
| 			_disabled:				["disabled_"			+l, fields+"["+l+"][disabled]"],
 | |
| 			_format:				["format_"				+l, fields+"["+l+"]["+type+"][format]"],
 | |
| 			_initial:				["initial_"				+l, fields+"["+l+"]["+type+"][initial]"],
 | |
| 			_is_range:				["is_range_"			+l, fields+"["+l+"]["+type+"][is_range]"],
 | |
| 			_key:					["key_"					+l, fields+"["+l+"][key]"],
 | |
| 			_markup:				fields+"["+l+"][markup]",
 | |
| 			_option_list:			["option_list_"+l+"_"+ol, fields+"["+l+"]["+type+"][option_list]["+ol+"]", "option_list_"+ol],
 | |
| 			_placeholder:			["placeholder_"			+l, fields+"["+l+"]["+type+"][placeholder]"],
 | |
| 			_title_translations:	["title_translations_"	+l, fields+"["+l+"][title_translations]"],
 | |
| 			_to_delete:				["to_delete_"			+l, fields+"["+l+"][to_delete]"],
 | |
| 			_to_search:				["to_search_"			+l, fields+"["+l+"][to_search]"],
 | |
| 		};
 | |
| 	return data;
 | |
| }
 | |
| 
 | |
| // Get Default Address Form
 | |
| function getAddressForm(trigger, element, decide) {
 | |
| 	if(decide) {
 | |
| 		addressVal.length = addressArray.length = 0;
 | |
| 		var addressAllVal = [];
 | |
| 		var inputNameArray = [];
 | |
| 		trigger.closest('.input-append').find('.tab-pane').each(function() {
 | |
| 			var adderssText = $(this).children('input[type="text"]').val(),
 | |
| 				addersshidden = '',
 | |
| 				addressData = {},
 | |
| 				inputName = [];
 | |
| 			$(this).children('input:not(:first)').each(function(j) {
 | |
| 				var name = $(this).attr('name'),
 | |
| 					val = $(this).val();
 | |
| 				addersshidden += val;
 | |
| 				addressData[name] = val;
 | |
| 				inputName.push(name);
 | |
| 			});
 | |
| 			addressArray.push(addressData);
 | |
| 			addressAllVal.push(adderssText);
 | |
| 			inputNameArray.push(inputName);
 | |
| 			if(adderssText != addersshidden) {
 | |
| 				addressVal.push(false);
 | |
| 			} else {
 | |
| 				addressVal.push(true);
 | |
| 			}
 | |
| 		});
 | |
| 		element.find('.tab-pane').each(function(i) {
 | |
| 			$(this).find('textarea, input[type="text"]').each(function(j) {
 | |
| 				$(this).attr('name',inputNameArray[i][j]);
 | |
| 			});
 | |
| 			if(addressVal[i]) {
 | |
| 				$(this).find('textarea, input[type="text"]').each(function(j) {
 | |
| 					$(this).val(addressArray[i][$(this).attr('name')]);
 | |
| 				});
 | |
| 			} else {
 | |
| 				$(this).find('textarea').val(addressAllVal[i]);
 | |
| 				$(this).find('input[type="text"]').each(function(j) {
 | |
| 					$(this).val('');
 | |
| 				});
 | |
| 			}
 | |
| 		});
 | |
| 	};
 | |
| 	element.off('show');
 | |
| };
 | |
| 
 | |
| // Return Address Form
 | |
| function returnAddressForm(element, decide) {
 | |
| 	if(decide) {
 | |
| 		addressArray.length = 0;
 | |
| 		element.find('.tab-pane').each(function(i) {
 | |
| 			var addressData = {};
 | |
| 			$(this).find('textarea, input[type="text"]').each(function(j) {
 | |
| 				var name = $(this).attr('name'),
 | |
| 					val = $(this).val();
 | |
| 				addressData[name] = val;
 | |
| 			});
 | |
| 			addressArray.push(addressData);
 | |
| 		});
 | |
| 		$.map(addressInputId, function(n, i) {
 | |
| 			var v = '';
 | |
| 			$('#'+n).find('input[type="hidden"]').each(function() {
 | |
| 				$(this).val(addressArray[i][$(this).attr('name')]);
 | |
| 				v += addressArray[i][$(this).attr('name')]
 | |
| 			});
 | |
| 			$('#'+n).find('input[type="text"]').each(function() {
 | |
| 				$(this).val(v);
 | |
| 			});
 | |
| 		});
 | |
| 	};
 | |
| 	returnDecide = false;
 | |
| };
 | |
| 
 | |
| $(function() {
 | |
| 	appendIndex = null;
 | |
| 	if($('#user-forms').length) {
 | |
| 		addressVal = [];
 | |
| 		addressArray = [];
 | |
| 		addressInputId = [];
 | |
| 		roleType = null;
 | |
| 		returnDecide = false;
 | |
| 		$('.attributes').each(function() {
 | |
| 			if($(this).find('.toggle-check').attr('value') == "true") {
 | |
| 				$(this).addClass('disabled').children('.attributes-body').hide();
 | |
| 			}
 | |
| 		});
 | |
| 		$('.returnDecide').on(clickEvent, function() {
 | |
| 			returnDecide = true;
 | |
| 		})
 | |
| 		$('#address-field').on('hidden', function () {
 | |
| 			$('.btn[data-toggle="modal"]').removeClass('active').blur();
 | |
| 			$(this).find('.nav-tabs > li').removeClass('active').eq(0).addClass('active');
 | |
| 			$(this).find('.tab-content > .tab-pane').removeClass('active in').eq(0).addClass('active in');
 | |
| 			$(this).on('show', getAddressForm(null, $(this), false));
 | |
| 			returnAddressForm($(this), returnDecide)
 | |
| 		});
 | |
| 		$('.control-group').delegate('.btn[data-toggle="modal"]', 'click', function() {
 | |
| 			var $trigger = $(this);
 | |
| 			addressInputId.length = 0;
 | |
| 			$(this).closest('.input-append').find('.tab-pane').each(function() {
 | |
| 				addressInputId.push($(this).attr('id'));
 | |
| 			});
 | |
| 			$('#address-field').on('show', getAddressForm($trigger, $('#address-field'), true));
 | |
| 		});
 | |
| 		$('#user-forms').delegate('.togglebox, .delete, .trigger, .remove-input', clickEvent, function(event) {
 | |
| 			if($(this).hasClass('togglebox')) {
 | |
| 				if($(this).hasClass('disabled')) {
 | |
| 					$(this).find('.toggle-check')
 | |
| 						   .attr('value', 'false')
 | |
| 						   .closest('.attributes')
 | |
| 						   .removeClass('disabled')
 | |
| 						   .children('.attributes-body')
 | |
| 						   .fadeIn(300);
 | |
| 				} else {
 | |
| 					$(this).find('.toggle-check')
 | |
| 						   .attr('value', 'true')
 | |
| 						   .closest('.attributes')
 | |
| 						   .addClass('disabled')
 | |
| 						   .children('.attributes-body')
 | |
| 						   .fadeOut(300);
 | |
| 				}
 | |
| 				$(this).toggleClass('disabled');
 | |
| 			};
 | |
| 			if($(this).hasClass('remove-input')) {
 | |
| 				$(this).closest('.input-append').fadeOut(300, function() {
 | |
| 					$(this).remove();
 | |
| 					inputAppendLength();
 | |
| 				});
 | |
| 			};
 | |
| 			if($(this).hasClass('trigger')) {
 | |
| 				appendIndex = $(this).closest('.controls').find('.input-append').length;
 | |
| 				nameNumber = $(this).closest('.controls').find('.input-append:eq(0)').find('input').eq(0).attr('name');
 | |
| 				nameNumber = nameNumber.match(/[^[\D\]]+(?=])/g)[0];
 | |
| 				roleType = $(this).data('roles')
 | |
| 				if($(this).hasClass('textInput')) {
 | |
| 					$("#template-text").tmpl().appendTo($(this).closest('.controls').find('.add-target'));
 | |
| 				} else if ($(this).hasClass('textLengInput')) {
 | |
| 					$("#template-text-language").tmpl().appendTo($(this).closest('.controls').find('.add-target'));
 | |
| 				} else if ($(this).hasClass('address')) {
 | |
| 					$("#template-address").tmpl().appendTo($(this).closest('.controls').find('.add-target'));
 | |
| 				} 
 | |
| 				inputAppendLength();
 | |
| 			};
 | |
| 			event.preventDefault();
 | |
| 		});
 | |
| 		inputAppendLength();
 | |
| 	} else {
 | |
| 		attributesArray = [];
 | |
| 		attributesHeaderLength = null;
 | |
| 		templateType = null;
 | |
| 		attributeIndex = null;
 | |
| 		if($('.add-target').length) {
 | |
| 			inputAppendLength();
 | |
| 		}
 | |
| 		if(!$('.attributes').length) {
 | |
| 			$('#attributes-area').addClass('clickHere');
 | |
| 		} else {
 | |
| 			temporary();
 | |
| 		};
 | |
| 
 | |
| 		$('.add-attributes').on(clickEvent, function() {
 | |
| 			if($('#attributes-area').hasClass('clickHere')) {
 | |
| 				$('#attributes-area').removeClass('clickHere');
 | |
| 			};
 | |
| 		    attributesHeaderLength = $('.attributes:not(:hidden)').length+1;
 | |
| 		    attributesLength = $('#attributes-area .attributes').length;
 | |
| 		    $("#template-attributes").tmpl(setData(attributesLength, templateType, appendIndex)).appendTo( "#attributes-area" );
 | |
| 		    $('.toggle-check').togglebox();
 | |
| 		});
 | |
| 
 | |
| 
 | |
| 
 | |
| 		$('.attributes.default').each(function(i) {
 | |
| 			$(this).children('.field-type').not('.default').hide();
 | |
| 			$(this).find('input[type="text"]').on('keyup', function() {
 | |
| 				$(this).trigger("checking");
 | |
| 			});
 | |
| 			$(this).find('input[type="radio"], input[type="checkbox"], select').change(function() {
 | |
| 				$(this).trigger("checking");
 | |
| 			});
 | |
| 			$(this).delegate('input[type="text"], input[type="radio"], input[type="checkbox"], select', 'checking', function(e) {
 | |
| 				var e = e.target.type,
 | |
| 					$data = $(this).data().type;
 | |
| 				switch(e) {
 | |
| 					case 'text':
 | |
| 						var val = $(this).val();
 | |
| 						if(!$(this).closest('.field-type').length) {
 | |
| 							$data = attributesArray[i][$data];
 | |
| 						} else if(!$(this).closest('.add-target').length) {
 | |
| 							$data = attributesArray[i].select[$data];
 | |
| 						} else {
 | |
| 							appendIndex = $(this).parent('.input-append').index()
 | |
| 							optionIndex = $(this).index()
 | |
| 							$data = attributesArray[i].select.option[appendIndex][optionIndex];
 | |
| 						}
 | |
| 						if(val != $data) {
 | |
| 							$(this).closest('.attributes').find('.reply').removeClass('hide');
 | |
| 						}
 | |
| 						break;
 | |
| 					case 'radio':
 | |
| 						var checked = $(this).prop("checked");
 | |
| 						$data = attributesArray[i][$data];
 | |
| 						if(checked != $data) {
 | |
| 							$(this).closest('.attributes').find('.reply').removeClass('hide');
 | |
| 						}
 | |
| 						break;
 | |
| 					case 'checkbox':
 | |
| 						var checked = $(this).prop("checked");
 | |
| 						$data = attributesArray[i].select[$data];
 | |
| 						if(checked != $data) {
 | |
| 							$(this).closest('.attributes').find('.reply').removeClass('hide');
 | |
| 						}
 | |
| 						break;
 | |
| 					case 'select-one':
 | |
| 						var ref,
 | |
| 							$data = attributesArray[i].select.name;
 | |
| 						$(this).children("option:selected").each(function() {
 | |
| 							ref = $(this).attr('ref');
 | |
| 						});
 | |
| 						if(ref != $data) {
 | |
| 							$(this).closest('.attributes').find('.reply').removeClass('hide');
 | |
| 						}
 | |
| 						break;
 | |
| 				};
 | |
| 			});
 | |
| 			$(this).delegate('.reply', clickEvent, function() {
 | |
| 				var $bodyText = $(this).parent('.attributes-header').siblings('.attributes-body').find('input[type="text"]'),
 | |
| 					$bodyRadio = $(this).parent('.attributes-header').siblings('.attributes-body').find('input[type="radio"]'),
 | |
| 					$bodySelected = $(this).parent('.attributes-header').siblings('.attributes-body').find('.dataType').children("option"),
 | |
| 					$fieldTypeO = $(this).parent('.attributes-header').siblings('.field-type.default'),
 | |
| 					$fieldTypeN = $(this).parent('.attributes-header').siblings('.field-type').not('.default');
 | |
| 				$bodyText.each(function() {
 | |
| 					var $type = $(this).data().type;
 | |
| 					$(this).val(attributesArray[i][$type]);
 | |
| 				});
 | |
| 				$bodyRadio.each(function() {
 | |
| 					var $type = $(this).data().type;
 | |
| 					$(this).prop("checked", attributesArray[i][$type])
 | |
| 				});
 | |
| 				$fieldTypeO.find('input[type="text"]').each(function() {
 | |
| 					var $type = $(this).data().type;
 | |
| 					if(!$type.match('option_lang')) {
 | |
| 						$(this).val(attributesArray[i].select[$type]);
 | |
| 					}
 | |
| 				});
 | |
| 				$fieldTypeO.find('.add-target').find('.input-append').each(function(k) {
 | |
| 					$(this).children('input[type="text"]').each(function(j) {
 | |
| 						$(this).val(attributesArray[i].select.option[k][j]);
 | |
| 						// var val = $(this).val();
 | |
| 						// append.push(val);
 | |
| 					});
 | |
| 				})
 | |
| 				$fieldTypeO.find('input[type="checkbox"], input[type="radio"]').each(function() {
 | |
| 					var $type = $(this).data().type;
 | |
| 					$(this).prop("checked", attributesArray[i].select[$type]);
 | |
| 				});
 | |
| 				$fieldTypeO.find('select').children("option").eq(attributesArray[i].select.dateFormat).prop('selected',true);
 | |
| 				$bodySelected.eq(attributesArray[i].select.index).prop('selected',true);
 | |
| 				$fieldTypeO.show();
 | |
| 				$fieldTypeN.empty().hide();
 | |
| 				$(this).addClass('hide')
 | |
| 				return false
 | |
| 			})
 | |
| 		});
 | |
| 		$('#attributes-area').delegate('.togglebox, .delete, .trigger, .remove-input', clickEvent, function(event) {
 | |
| 			if($(this).hasClass('togglebox')) {
 | |
| 				if($(this).hasClass('disabled')) {
 | |
| 					$(this).find('.toggle-check')
 | |
| 						   .attr('value', 'false')
 | |
| 						   .closest('.attributes')
 | |
| 						   .removeClass('disabled')
 | |
| 						   .find('input, select')
 | |
| 						   .removeAttr('disabled')
 | |
| 						   .end('.attributes')
 | |
| 						   .find('.btn-group .btn')
 | |
| 						   .removeClass('disabled')
 | |
| 						   .end().find('.attribute_field_disabled').attr('value', 'false');
 | |
| 					if($(this).closest('.attributes').find('.dataType').children("option:selected").attr('ref')) {
 | |
| 						$(this).closest('.attributes').find('.field-type').addClass('in').find('.control-group').delay(150).fadeIn(300);
 | |
| 					}
 | |
| 				} else {
 | |
| 					$(this).find('.toggle-check')
 | |
| 						   .attr('value', 'true')
 | |
| 						   .closest('.attributes')
 | |
| 						   .addClass('disabled')
 | |
| 						   .find('.attributes-body input, .attributes-body select')
 | |
| 						   .attr({'disabled': 'disabled'})
 | |
| 						   .end('.attributes')
 | |
| 						   .find('.btn-group .btn')
 | |
| 						   .addClass('disabled')
 | |
| 						   .end().find('.attribute_field_disabled').attr('value', 'true')
 | |
| 						   .end().find('.field-type .control-group').fadeOut(300, function() {
 | |
| 						    	$(this).parent('.field-type').removeClass('in');
 | |
| 						   });
 | |
| 				}
 | |
| 				$(this).toggleClass('disabled');
 | |
| 			};
 | |
| 			if($(this).hasClass('delete')) {
 | |
| 				$(this).closest('.attributes').fadeOut(300, function() {
 | |
| 					$('.attributes:not(:hidden)').each(function(i) {
 | |
| 						$(this).find('.attributes-header h4 span').text(i+1);
 | |
| 					});
 | |
| 					attributesHeaderLength = $('.attributes:not(:hidden)').length+1;
 | |
| 					if(!$('.attributes:not(:hidden)').length) {
 | |
| 						$('#attributes-area').addClass('clickHere');
 | |
| 					};
 | |
| 				}).find('.attribute_field_to_delete').attr('value', 'true');;
 | |
| 			};
 | |
| 			if($(this).hasClass('trigger')) {
 | |
| 				// appendIndex = $(this).closest('.controls').find('.input-append').length;
 | |
| 				appendIndex = $(this).closest('.controls').find('.input-append:last-child').children('input:first-child').attr('name');
 | |
| 				// appendIndex = appendIndex.split("][");
 | |
| 				// appendIndex = parseInt(appendIndex[appendIndex.length-2])+1;
 | |
| 				appendIndex = parseInt(appendIndex.match(/[^[\D\]]+(?=])/g)[1])+1;
 | |
| 				console.log(appendIndex)
 | |
| 				attributeIndex = $(this).closest('.attributes').index();
 | |
| 				templateType = $(this).closest('.attributes').find('.dataType').children("option:selected").attr('ref');
 | |
| 				$("#template-input-append").tmpl(setData(attributeIndex, templateType, appendIndex)).appendTo($(this).closest('.controls').find('.add-target'));
 | |
| 				inputAppendLength();
 | |
| 			};
 | |
| 			if($(this).hasClass('remove-input')) {
 | |
| 				$(this).parent('.input-append').fadeOut(300, function() {
 | |
| 					$(this).remove()
 | |
| 					inputAppendLength();
 | |
| 				});
 | |
| 
 | |
| 			}
 | |
| 			event.preventDefault();
 | |
| 		});
 | |
| 		$('#attributes-area').delegate('.dataType', 'change', function() {
 | |
| 	        $(this).children("option:selected").each(function () {
 | |
| 	        	var target = $(this).closest('.attributes').find('.field-type').not('.default');
 | |
| 	    		attributeIndex = $(this).closest('.attributes').index();
 | |
| 	        	appendIndex = 0
 | |
| 	        	// $(this).closest('.attributes').find('.add-target').find('.input-append').length;
 | |
| 	        	if($(this).closest('.attributes').hasClass('default')){
 | |
| 	        		var i = $(this).closest('.attributes').index()
 | |
| 	        		if($(this).attr('ref') == attributesArray[i].select.name) {
 | |
| 	        			$(this).closest('.attributes').find('.field-type.default').show()
 | |
| 	        			target.empty().hide();
 | |
| 	        		} else {
 | |
| 	        			$(this).closest('.attributes').find('.field-type.default').hide()
 | |
| 			        	if($(this).attr('ref')) {
 | |
| 			        		templateType = $(this).attr('ref');
 | |
| 				        	target.removeAttr('class').addClass('field-type fade in ' + templateType).empty();
 | |
| 				        	$("#template-type").tmpl(setData(attributeIndex, templateType, appendIndex)).appendTo(target);
 | |
| 				        	if(templateType == 'typeB' || templateType == 'typeE' || templateType == 'typeF') {
 | |
| 				        		inputAppendLength();
 | |
| 				        	}
 | |
| 			        	} else {
 | |
| 			        		target.removeAttr('class').addClass('field-type fade')
 | |
| 			        		target.empty();
 | |
| 			        	};
 | |
| 			        	target.show();
 | |
| 	        		}
 | |
| 	        	} else {
 | |
| 		        	if($(this).attr('ref')) {
 | |
| 		        		templateType = $(this).attr('ref');
 | |
| 			        	target.removeAttr('class').addClass('field-type fade in ' + templateType).empty();
 | |
| 			        	$("#template-type").tmpl(setData(attributeIndex, templateType, appendIndex)).appendTo(target);
 | |
| 			        	if(templateType == 'typeB' || templateType == 'typeE' || templateType == 'typeF') {
 | |
| 			        		inputAppendLength();
 | |
| 			        	}
 | |
| 		        	} else {
 | |
| 		        		target.removeAttr('class').addClass('field-type fade')
 | |
| 		        		target.empty();
 | |
| 		        	};
 | |
| 	        	}
 | |
| 	        });
 | |
| 		});
 | |
| 	}
 | |
| });
 |