', {'class':'alert shadow rounded alert-'+(sClass=='error'?'danger':sClass), role:'alert'})
.append(sMsg)
.appendTo($Box)
.slideDown('fast')
.delay(5000)
.slideUp('fast', function(){$(this).remove();});
}
};
function emptyBox(element, text)
{
//var textarea = $('#thoughts_form textarea[name="thoughts"]');
if(element.value == text)
{
element.value = '';
}
else if(element.value == '')
{
element.value = text;
}
}
function setHeight(element)
{
var padtext = element.value;
var height = Math.max(300, 130 + Math.round((padtext.length / 85 + padtext.split("\n").length) * 20));
//alert(height);
element.style.height = height+'px';
}
function addInput(form, name, type, value)
{
var registerInput = document.createElement('input');
registerInput.setAttribute('type', type);
registerInput.setAttribute('name', name);
registerInput.setAttribute('value', value);
document.forms[form].appendChild(registerInput);
}
function getInfo(action, fOnSuccess, vars, fOnError, sType/*, bProcessIcon*/)
{
if(!vars) vars = {};
sType = sType || 'GET';
//bProcessIcon = bProcessIcon || false;
//if(bProcessIcon) self.addBufferIcon();
vars['a'] = action;
$.ajax(
{
url: oCATC.consts.context.process_page,
type:sType,
data: vars,
dataType: 'json'
})
.done(function(oData)
{
if(oData.result==oCATC.consts.error)
{
if(!fOnError) console.log(oData.desc);
else fOnError(oData.desc);
}
else
{
//if(bProcessIcon) self.resetIcon();
fOnSuccess(oData.desc, oData.data);
}
})
.fail(function(jqXHR, textStatus, errorThrown)
{
//if(bProcessIcon) self.resetIcon();
if(!fOnError) console.log(textStatus+' '+errorThrown);
else fOnError(textStatus);
});
}
function feedback(sClass, sMsg, $Box)
{
$Box = $Box || $('#feedback');
sMsg = sMsg || '';
if(sClass=='error' && sMsg=='') sMsg = 'Oops ! An unknown error occured';
$('
', {'class':'alert shadow rounded alert-'+(sClass=='error'?'danger':sClass), role:'alert'})
//.append($('
', {'class':'fa fa-standalone fa-'+sClass}))
.append(addPunctuation(sMsg))
.appendTo($Box)
.slideDown('fast')
.delay(5000)
.slideUp('fast', function(){$(this).remove();});
};
function addPunctuation(sMsg)
{
var asPunctuations = ['?', '!', '.', ',', ':', ';', '-', '/'];
return sMsg+($.inArray(sMsg.slice(-1), asPunctuations)==-1?'.':'');
};
function copyArray(asArray)
{
return asArray.slice(0); //trick to copy array
}
$.prototype.addSearch = function(sSection)
{
$(this)
.autocomplete({
autoFocus: true,
delay: 0,
section:sSection,
source: function(oRequest, fResponse) {
var sTerm = removeDiacritics(oRequest.term);
var rMatcher = new RegExp($.ui.autocomplete.escapeRegex(sTerm), 'i');
var asResults = [];
var asData = self.vars('lov-'+this.options.section);
$.each(asData, function(iDefId, oItem) {
var oTitleMatch = oItem.safe_title.match(rMatcher);
var oLabelMatch = oItem.safe_label.match(rMatcher);
if(oTitleMatch) {
oItem.index = parseInt(oTitleMatch.index, 10);
oItem.size = oTitleMatch[0].length;
oItem.field = 'title';
asResults.push(oItem);
}
else if(oLabelMatch) {
oItem.index = parseInt(oLabelMatch.index, 10);
oItem.size = oLabelMatch[0].length;
oItem.field = 'label';
asResults.push(oItem);
}
oItem.id = iDefId;
});
$('#add_def')
.toggleClass('btn-outline-primary', (asResults.length > 0))
.toggleClass('btn-primary', (asResults.length == 0));
fResponse(asResults);
}
}
)
.data("ui-autocomplete")._renderItem = function(ul, item) {
var fGetHighLightedContent = function(sContent, iIndex, iSize){
return $('')
.append(sContent.substr(0, iIndex))
.append($('', {'class':'highlight text-secondary'}).text(sContent.substr(iIndex, iSize)))
.append(sContent.substr(iIndex + iSize));
};
var $Title = $('', {'class':'title text-break text-capitalize font-weight-bold text-primary'});
var $Desc = $('
', {'class':'desc text-break'});
if(item.field=='title') {
$Title.append(fGetHighLightedContent(item.title, item.index, item.size));
$Desc.text(item.label);
}
else {
$Title.text(item.title);
$Desc.append(fGetHighLightedContent(item.label, item.index, item.size));
}
return $('
', {'class':'list-group-item shadow'})
.css('width', $('#search').outerWidth())
.data("item.autocomplete", item)
.append($('', {'class':'row'})
.append($('
', {'class':'col'})
.append($Title)
.append($Desc)
)
.append($('
', {'class':'col-auto d-flex align-items-center'}).append($('