97 lines
3.0 KiB
JavaScript
97 lines
3.0 KiB
JavaScript
var CmsCountToClass = (function() {
|
|
|
|
function CmsCountToClass(){
|
|
var _this = this;
|
|
|
|
_this.oTable = new CTable("data");
|
|
_this.oTable.loadTableData();
|
|
}
|
|
|
|
CmsCountToClass.prototype.oValidator = {};
|
|
|
|
CTable.prototype.tableShowCallback = function(jqObj){
|
|
|
|
if(!CBase.jsModule.oValidator.length)
|
|
CBase.jsModule.oValidator = new Validator(CBase.dt.vcfg);
|
|
|
|
var jqCloneFrom = $("<div class='validate' style='display: none;'><input type='text' data-validator='count'/></div>");
|
|
jqObj.find("li.editable").click(function(){
|
|
|
|
if(!$(this).hasClass("active")){
|
|
$(this).addClass("active");
|
|
|
|
var jqDiv = $(this).find("> div"),
|
|
sField = jqDiv.attr("class"),
|
|
sVal = jqDiv.html().trim();
|
|
|
|
jqDiv.html('');
|
|
|
|
if(sField.length){
|
|
|
|
var jqClone = jqCloneFrom.clone(),
|
|
jqCloneInput = jqClone.find("> input");
|
|
jqCloneInput.attr({id : sField, name : sField});
|
|
jqDiv.append(jqClone.show());
|
|
jqCloneInput.focus();
|
|
jqCloneInput.val(sVal);
|
|
|
|
|
|
jqCloneInput.blur(function(){
|
|
CBase.jsModule.bindFieldActions($(this), sVal);
|
|
}).keyup(function (e) {
|
|
var iKeyCode = (e.keyCode ? e.keyCode : e.which);
|
|
if(iKeyCode == CBase.iKeys.ENTER || iKeyCode == CBase.iKeys.ESC)
|
|
CBase.jsModule.bindFieldActions($(this), sVal);
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
CmsCountToClass.prototype.bindFieldActions = function(jqObj, sOldVal){
|
|
var _this = this;
|
|
|
|
var jqLi = jqObj.closest("li"),
|
|
jqDiv = jqLi.find("> div"),
|
|
id = jqObj.closest("ul").attr("id"),
|
|
sVal = jqObj.val(),
|
|
oData = {};
|
|
|
|
oData[jqObj.attr("id")] = sVal;
|
|
|
|
if(sVal.length && sVal != sOldVal){
|
|
if(_this.oValidator.checkThis(jqObj)){
|
|
CBase.oTable.sendAjaxActionAdvanced({ action: "selfSave", id : id, field : oData }, function(d){
|
|
|
|
var sClass = (d && d.jsonok ? "saved" : "error");
|
|
var jqUl = jqLi.parent();
|
|
jqUl.addClass(sClass);
|
|
setTimeout( function() {
|
|
jqUl.addClass("row-effect-transition").removeClass(sClass);
|
|
setTimeout( function() {
|
|
jqUl.removeClass("row-effect-transition");
|
|
}, 400);
|
|
}, 300);
|
|
|
|
});
|
|
}else{
|
|
jqLi.find("div.validate").addClass("v-error");
|
|
return false;
|
|
}
|
|
}else
|
|
sVal = sOldVal;
|
|
|
|
|
|
jqLi.removeClass("active");
|
|
jqLi.find("div.validate").remove();
|
|
jqDiv.html(sVal);
|
|
|
|
};
|
|
|
|
return CmsCountToClass;
|
|
})();
|
|
|