diff --git a/src/components/com_tjucm/media/js/ui/itemform.js b/src/components/com_tjucm/media/js/ui/itemform.js index 36c91ec2..4136cd2f 100644 --- a/src/components/com_tjucm/media/js/ui/itemform.js +++ b/src/components/com_tjucm/media/js/ui/itemform.js @@ -31,7 +31,18 @@ jQuery(window).load(function() jQuery("#item-form").on("change select", ":input", function(){ if (tjUcmCurrentAutoSaveState) { - tjUcmItemForm.onUcmFormChange(this); + // Call function if field name & value exist in request data + if (jQuery(this).attr('name') !='' && jQuery(this).attr('name') != undefined) + { + // If field is required and user tried to remove value then no need to call function + if ((jQuery(this).attr('required') == 'required' || jQuery(this).attr('required') == true) && jQuery.trim(jQuery(this).val()) =='') + { + + return false; + } + + tjUcmItemForm.onUcmFormChange(this); + } } }); @@ -39,7 +50,18 @@ jQuery(window).load(function() jQuery("#item-form .field-calendar input:text").blur(function(){ if (tjUcmCurrentAutoSaveState) { - tjUcmItemForm.onUcmFormChange(this); + // Call function if field name & value exist in request data + if (jQuery(this).attr('name') !='' && jQuery(this).attr('name') != undefined) + { + // If field is required and user tried to remove value then no need to call function + if ((jQuery(this).attr('required') == 'required' || jQuery(this).attr('required') == true) && jQuery.trim(jQuery(this).val()) =='') + { + + return false; + } + + tjUcmItemForm.onUcmFormChange(this); + } } }); diff --git a/src/components/com_tjucm/media/js/ui/itemform.min.js b/src/components/com_tjucm/media/js/ui/itemform.min.js index d90045e1..cda85c3e 100644 --- a/src/components/com_tjucm/media/js/ui/itemform.min.js +++ b/src/components/com_tjucm/media/js/ui/itemform.min.js @@ -1 +1 @@ -var tjucmRelatedFieldUpdatedOptions="",tjUcmTinyMCEFieldIds=new Array,tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0,tjUcmCurrentAutoSaveState=0,tjUcmFormFinalSave=0;jQuery(window).load(function(){if(1===Number(jQuery("#itemState").val())){if(1==jQuery("#item-form #tjucm-autosave").val()){tjUcmCurrentAutoSaveState=1,jQuery("#item-form").on("change select",":input",function(){tjUcmCurrentAutoSaveState&&tjUcmItemForm.onUcmFormChange(this)}),jQuery("#item-form .field-calendar input:text").blur(function(){tjUcmCurrentAutoSaveState&&tjUcmItemForm.onUcmFormChange(this)});var e=Joomla.getOptions("plg_editor_tinymce");null!=e&&(jQuery.each(e.tinyMCE,function(e,t){if(jQuery("#item-form #jform_"+e).length){var r=jQuery("#jform_"+e+"_ifr").contents().find("body").html();tjUcmTinyMCEFieldIds[e]=r}else if(0==jQuery("#item-form #jform_"+e).length&&"default"!=e){var a=jQuery("textarea[id$='__"+e+"']");a.length&&jQuery.each(a,function(e,t){var r=jQuery(t).attr("id"),a=jQuery("#"+r+"_ifr").contents().find("body").html(),i=r.replace("jform_","");tjUcmTinyMCEFieldIds[i]=a})}}),setInterval(function(){for(var e in tjUcmTinyMCEFieldIds)if(tjUcmTinyMCEFieldIds.hasOwnProperty(e)){var t=jQuery("#jform_"+e+"_ifr").contents().find("body").html();if(tjUcmTinyMCEFieldIds[e]!=t){var r=jQuery("#jform_"+e);r.length&&(r.val(t),tjUcmTinyMCEFieldIds[e]=t,tjUcmItemForm.onUcmFormChange(r))}}},7e3))}}else jQuery("#tjucm-auto-save-disabled-msg").show();jQuery("#tjucm_myTabTabs a").on("click",function(){jQuery(this).parent().next("li").length?jQuery("#next_button").attr("disabled",!1):jQuery("#next_button").attr("disabled",!0),jQuery(this).parent().prev("li").length?jQuery("#previous_button").attr("disabled",!1):jQuery("#previous_button").attr("disabled",!0)}),jQuery(document).on("subform-row-add",function(e,t){var r=jQuery(t).attr("data-group").replace(jQuery(t).attr("data-base-name"),"");if(jQuery(t).find(".js-editor-tinymce textarea")){var a=jQuery(t).find(".js-editor-tinymce textarea").attr("id");if(a){var i=jQuery("#"+a+"_ifr").contents().find("body").html();a=a.replace("jform_",""),tjUcmTinyMCEFieldIds[a]=i}}jQuery.each(tjucmRelatedFieldUpdatedOptions,function(e,a){if(a.templateId){var i=a.templateId.replace("XXX_XXX",r);jQuery(t).find("#"+i).html(""),jQuery.each(a.options,function(e,r){jQuery(t).find("#"+i).append('")}),jQuery(t).find("#"+i).trigger("liszt:updated")}})}),jQuery("#next_button, #previous_button").on("click",function(){if("next_button"==jQuery(this).attr("id")?tjUcmClickedOnNext=1:tjUcmClickedOnPrev=1,jQuery("#item-form").hasClass("dirty"))if(tjUcmCurrentAutoSaveState){var e=jQuery(jQuery("#tjucm_myTabTabs > .active a").attr("href")).find("input, textarea, select, fieldset");tjUcmItemForm.validateSection(e)?tjUcmItemForm.saveSectionData(jQuery("#tjucm_myTabTabs > .active a").attr("href")):(tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0)}else{e=jQuery(jQuery("#tjucm_myTabTabs > .active a").attr("href")).find("input, textarea, select, fieldset");tjUcmItemForm.validateSection(e)?(jQuery("#system-message-container").html(""),tjUcmClickedOnNext&&(tjUcmClickedOnNext=0,jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons()),tjUcmClickedOnPrev&&(tjUcmClickedOnPrev=0,jQuery("#tjucm_myTabTabs > .active").prev("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons())):(tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")}else{e=jQuery(jQuery("#tjucm_myTabTabs > .active a").attr("href")).find("input, textarea, select, fieldset");tjUcmItemForm.validateSection(e)?(jQuery("#system-message-container").html(""),tjUcmClickedOnNext&&(tjUcmClickedOnNext=0,jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons()),tjUcmClickedOnPrev&&(tjUcmClickedOnPrev=0,jQuery("#tjucm_myTabTabs > .active").prev("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons())):(tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")}})});var tjUcmItemForm={getUcmParentRecordId:function(e,t){var r=jQuery("#item-form").find("input[name='jform[client]']").val();new Promise(function(t,a){var i=jQuery("#item-form").find("input[name='jform[id]']").val();if(""==i){var n=new FormData;""!=r&&n.append("client",r),n.append(Joomla.getOptions("csrf.token"),1);n.append("draft",e),com_tjucm.Services.Item.create(n,function(e,r){if(r=JSON.parse(r),null==e)if(null!==r.data&&jQuery.isNumeric(r.data.id)){jQuery("#item-form").find("input[name='jform[id]']").val(r.data.id);var i=window.location.href.split("#")[0],n=-1===i.indexOf("?")?"?":"&",o="id="+r.data.id;i.indexOf(o)>=0||(i+=n+o),history.pushState(null,null,i),t(r.data.id)}else a(r)})}else jQuery.isNumeric(i)&&0!=i&&t(i)}).then(function(e){t(e)}).catch(function(e){return console.log(e),!1})},onUcmFormChange:function(e){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0),tjUcmItemForm.getUcmParentRecordId(1,function(t){var r=jQuery("#item-form").find("input[name='jform[client]']").val();tjUcmItemForm.initUcmFormFieldDataSave(e,r,t)})},initUcmFormFieldDataSave:function(e,t,r){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var a="",i=new FormData;if(i.append(Joomla.getOptions("csrf.token"),1),void 0!==jQuery(e).parent().parent().parent().attr("data-base-name")||void 0!==jQuery(e).parent().parent().parent().parent().attr("data-base-name")){var n=jQuery(e).parent().parent().parent().attr("data-base-name");null==n&&(n=jQuery(e).parent().parent().parent().parent().attr("data-base-name"));var o=jQuery(e).attr("id"),u="com_tjucm."+(a=o.replace(o.split("_").pop(),"contentid")).split("__").pop().replace("_contentid","").replace("com_tjucm_",""),m=jQuery("#"+a).val();if(""==m){i.append("parent_id",r),i.append("client",u),i.append("draft",1),com_tjucm.Services.Item.create(i,function(o,m){if(m=JSON.parse(m),null==o)return null!==m.data&&jQuery.isNumeric(m.data.id)&&jQuery("#"+a).val(m.data.id),i.append("jform["+n+"]",u),i.append("client",t),i.append("recordid",r),com_tjucm.Services.Item.saveFieldData(i,function(t,r){var a=jQuery(e).attr("name"),i="[]"==a.slice(-2)?"[]":"",n="jform["+jQuery(e).attr("id").split("__").pop()+"]"+i;"radio"==jQuery(e).attr("type")&&(n="jform["+jQuery(e).attr("name").split("][").pop()),jQuery(e).attr("name",n),tjUcmItemForm.saveUcmFormFieldData(u,m.data.id,e),jQuery(e).attr("name",a)}),!0})}else if(jQuery.isNumeric(m)&&0!=m){var l=jQuery(e).attr("name"),c="[]"==l.slice(-2)?"[]":"",d="jform["+jQuery(e).attr("id").split("__").pop()+"]"+c;if("radio"==jQuery(e).attr("type"))d="jform["+jQuery(e).attr("name").split("][").pop();return jQuery(e).attr("name",d),tjUcmItemForm.saveUcmFormFieldData(u,m,e),jQuery(e).attr("name",l),!0}return!1}return tjUcmItemForm.saveUcmFormFieldData(t,r,e),!0},saveUcmFormFieldData:function(e,t,r){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var a=new FormData;return a.append(Joomla.getOptions("csrf.token"),1),a.append("client",e),a.append("recordid",t),"checkbox"==jQuery(r).attr("type")?1==jQuery(r).prop("checked")?a.append(jQuery(r).attr("name"),1):a.append(jQuery(r).attr("name"),0):jQuery(r).hasClass("tjfieldTjList")?(""!=jQuery(r).val()&&null!=jQuery(r).val()&&a.append(jQuery(r).attr("name"),jQuery(r).val()),""!=jQuery("input#"+jQuery(r).attr("id")).val()&&null!=jQuery("input#"+jQuery(r).attr("id")).val()&&a.append(jQuery(r).attr("name"),jQuery("input#"+jQuery(r).attr("id")).val())):"tagsinput"==jQuery("input#"+jQuery(r).attr("id")).data("role")?(""!=jQuery("#"+jQuery(r).attr("id")).val()&&null!=jQuery("#"+jQuery(r).attr("id")).val()&&a.append(jQuery(r).attr("name"),jQuery("#"+jQuery(r).attr("id")).val()),""!=jQuery(r).val()&&null!=jQuery(r).val()&&a.append(jQuery(r).attr("name"),jQuery(r).val())):"file"!=jQuery(r).attr("type")?a.append(jQuery(r).attr("name"),jQuery(r).val()):a.append(jQuery(r).attr("name"),jQuery(r)[0].files[0]),""!=jQuery(r).attr("name")&&null!=jQuery(r).attr("name")&&com_tjucm.Services.Item.saveFieldData(a,tjUcmItemForm.afterDataSave),!0},afterDataSave:function(e,t){if(t=JSON.parse(t),jQuery("#item-form").removeClass("dirty"),null==t)return!1;if(jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),null!=t.data&&t.data.childContentIds&&jQuery.each(t.data.childContentIds,function(e,t){jQuery("#"+e).val(t)}),t.data&&tjUcmFormFinalSave&&(jQuery("#tjucm-auto-save-disabled-msg").show(),jQuery("#itemState").val(0),jQuery("#tjUcmSectionDraftSave").remove(),tjUcmCurrentAutoSaveState=0,tjUcmFormFinalSave=0),tjUcmClickedOnNext&&(tjUcmClickedOnNext=0,jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click")),tjUcmClickedOnPrev&&(tjUcmClickedOnPrev=0,jQuery("#tjucm_myTabTabs > .active").prev("li").find("a").trigger("click")),tjUcmItemForm.setVisibilityOfNavigationButtons(),t.data){var r=jQuery("#item-form").find("input[name='jform[client]']").val(),a=jQuery("#item-form").find("input[name='jform[id]']").val();tjUcmItemForm.updateRelatedFieldsOptions(r,a)}tjUcmItemForm.renderResponseMessages(t)},renderResponseMessages:function(e){null!=e&&(null!==e.message&&(e.data?Joomla.renderMessages({success:[e.message]}):Joomla.renderMessages({error:[e.message]}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")),null!==e.messages&&null!==e.messages.error&&(jQuery.each(e.messages.error,function(e,t){Joomla.renderMessages({error:[t]})}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")))},updateRelatedFieldsOptions:function(e,t){var r=new FormData;r.append("client",e),r.append("content_id",t),com_tjucm.Services.Item.getUpdatedRelatedFieldsOptions(r,function(e,t){if(t=JSON.parse(t),""==(tjucmRelatedFieldUpdatedOptions=t.data))return!1;jQuery.each(t.data,function(e,t){jQuery("#"+t.elementId).html(""),jQuery.each(t.options,function(e,r){var a="";"1"==r.selected&&(a=' selected="selected" '),jQuery("#"+t.elementId).append('")}),jQuery("#"+t.elementId).trigger("liszt:updated")})})},saveUcmFormData:function(){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var e=event.target.id,t=1;if("tjUcmSectionFinalSave"==e){if(!document.formvalidator.isValid(document.getElementById("item-form")))return tjUcmItemForm.setVisibilityOfNavigationButtons(),jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;if(!confirm(Joomla.JText._("COM_TJUCM_ITEMFORM_SUBMIT_ALERT")))return jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),!1;jQuery("#system-message-container").html(""),jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0),t=0}jQuery("#item-form .toggle-editor a").each(function(e){this.click()}),tjUcmItemForm.getUcmParentRecordId(t,function(){var t=document.getElementById("item-form"),r=new FormData(t);r.delete("task"),r.delete("option"),r.delete("view"),r.delete("layout");var a=jQuery("#item-form").find("input[name='jform[client]']").val(),i=jQuery("#item-form").find("input[name='jform[id]']").val();r.append(Joomla.getOptions("csrf.token"),1),r.append("client",a),r.append("recordid",i),"tjUcmSectionDraftSave"==e&&r.append("draft",1),"tjUcmSectionFinalSave"==e&&(tjUcmFormFinalSave=1),jQuery('input[type="checkbox"]').each(function(){1==jQuery(this).prop("checked")?r.append(jQuery(this).attr("name"),1):r.append(jQuery(this).attr("name"),0)}),com_tjucm.Services.Item.saveFormData(r,tjUcmItemForm.afterDataSave)}),jQuery("#item-form .toggle-editor a").each(function(e){this.click()})},saveSectionData:function(e){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var t=new FormData,r=jQuery(e).find("input, textarea, select, fieldset");if(!tjUcmItemForm.validateSection(r))return jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;jQuery("#system-message-container").html(""),jQuery("#item-form .toggle-editor a").each(function(e){this.click()}),r.length&&r.each(function(){"file"==jQuery(this).attr("type")?null!=jQuery(this)[0].files[0]&&t.append(jQuery(this).attr("name"),jQuery(this)[0].files[0]):"checkbox"==jQuery(this).attr("type")?1==jQuery(this).prop("checked")?jQuery(this).val(1):jQuery(this).val(0):null!=jQuery(this).val()&&t.append(jQuery(this).attr("name"),jQuery(this).val())}),jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0),tjUcmItemForm.getUcmParentRecordId(1,function(){t.delete("task"),t.delete("option"),t.delete("view"),t.delete("layout");var r=jQuery("#item-form").find("input[name='jform[client]']").val(),a=jQuery("#item-form").find("input[name='jform[id]']").val();t.append(Joomla.getOptions("csrf.token"),1),t.append("client",r),t.append("recordid",a),t.append("tjUcmFormSection",jQuery("a[href='"+e+"']").html()),com_tjucm.Services.Item.saveFormData(t,tjUcmItemForm.afterDataSave)})},validateSection:function(e){var t,r,a,i,n,o=!0,u=[];for(i=0,n=e.length;i0){for(t=Joomla.JText._("JLIB_FORM_FIELD_INVALID"),r={error:[]},i=u.length-1;i>=0;i--)(a=jQuery(u[i]).data("label"))&&r.error.push(t+a.text().replace("*",""));Joomla.renderMessages(r)}return o},setVisibilityOfNavigationButtons:function(){var e=jQuery("#tjucm_myTabTabs").find("li.active");jQuery(e).length&&(jQuery(e).next("li").length?jQuery("#next_button").attr("disabled",!1):jQuery("#next_button").attr("disabled",!0),jQuery(e).prev("li").length?jQuery("#previous_button").attr("disabled",!1):jQuery("#previous_button").attr("disabled",!0))}};function steppedFormSave(e,t,r){window.onbeforeunload=null,jQuery("#item-form .toggle-editor a").each(function(e){this.click()});var a=jQuery("#"+e),i=!1;if(jQuery("#form_status").val(t),"save"==t){if(!document.formvalidator.isValid("#item-form"))return jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;if(!confirm(Joomla.JText._("COM_TJUCM_ITEMFORM_SUBMIT_ALERT")))return jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;jQuery("#item-form").removeClass("dirty")}return a&&jQuery(a).ajaxSubmit({datatype:"JSON",async:!1,success:function(e){var a=JSON.parse(e);if(null!==a.messages&&null!==a.messages.error&&(jQuery.each(a.messages.error,function(e,t){Joomla.renderMessages({error:[t]})}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")),null!==a.message&&""!=a.message&&(Joomla.renderMessages({info:[a.message]}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")),null!==a.data){jQuery("#recordId").val(a.data.id),"save"==t?(jQuery("#tjUcmSectionFinalSave").attr("disabled","disabled"),Joomla.renderMessages({success:[Joomla.JText._("COM_TJUCM_MSG_ON_SAVED_FORM")]}),jQuery("html, body").animate({scrollTop:jQuery("#system-message-container").offset().top-40},"slow")):(i=!0,"1"===r&&(jQuery("#draft_msg").show(),setTimeout(function(){jQuery("#draft_msg").hide()},5e3)));var n=window.location.href.split("#")[0],o=-1===n.indexOf("?")?"?":"&",u="id="+a.data.id;jQuery.each(a.data.childContentIds,function(e,t){jQuery("input[name='"+t.elementName+"']").val(t.content_id)}),tjucmRelatedFieldUpdatedOptions=a.data.relatedFieldOptions,jQuery.each(a.data.relatedFieldOptions,function(e,t){jQuery("#"+t.elementId).html(""),jQuery.each(t.options,function(e,r){var a="";"1"==r.selected&&(a=' selected="selected" '),jQuery("#"+t.elementId).append('")}),jQuery("#"+t.elementId).trigger("liszt:updated")}),n.indexOf(u)>=0||(n+=o+u),history.pushState(null,null,n)}jQuery("#tjUcmSectionDraftSave").attr("disabled",!1),jQuery("#tjUcmSectionFinalSave").attr("disabled",!1),jQuery("#item-form .toggle-editor a").each(function(e){this.click()})}}),i}function itemformactions(e,t){var r=jQuery("ul#tjucm_myTabTabs").find("li.active a");null==jQuery(r).next("li")?jQuery("#previous_button").attr("disabled",!0):jQuery("#previous_button").attr("disabled",!1),null==jQuery(r).prev("li")?jQuery("#next_button").attr("disabled",!0):jQuery("#next_button").attr("disabled",!1),next?jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click"):jQuery("#tjucm_myTabTabs > .active").next("li").prev("a").trigger("click");var a=jQuery("ul#"+getTabId).find("li.active").next("li").children("a").attr("href"),i=jQuery("ul#"+getTabId).find("li.active").prev("li").children("a").attr("href");null==a?jQuery("#next_button").attr("disabled",!0):jQuery("#next_button").attr("disabled",!1),null==i?jQuery("#previous_button").attr("disabled",!0):jQuery("#previous_button").attr("disabled",!1),steppedFormSave("item-form","draft",1),"next"==t&&jQuery("#"+getTabId+" > .active").next("li").find("a").trigger("click"),"prev"==t&&jQuery("#"+getTabId+" > .active").prev("li").find("a").trigger("click")} \ No newline at end of file +var tjucmRelatedFieldUpdatedOptions="",tjUcmTinyMCEFieldIds=new Array,tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0,tjUcmCurrentAutoSaveState=0,tjUcmFormFinalSave=0;jQuery(window).load(function(){if(1===Number(jQuery("#itemState").val())){if(1==jQuery("#item-form #tjucm-autosave").val()){tjUcmCurrentAutoSaveState=1,jQuery("#item-form").on("change select",":input",function(){if(tjUcmCurrentAutoSaveState&&""!=jQuery(this).attr("name")&&null!=jQuery(this).attr("name")){if(("required"==jQuery(this).attr("required")||1==jQuery(this).attr("required"))&&""==jQuery.trim(jQuery(this).val()))return!1;tjUcmItemForm.onUcmFormChange(this)}}),jQuery("#item-form .field-calendar input:text").blur(function(){if(tjUcmCurrentAutoSaveState&&""!=jQuery(this).attr("name")&&null!=jQuery(this).attr("name")){if(("required"==jQuery(this).attr("required")||1==jQuery(this).attr("required"))&&""==jQuery.trim(jQuery(this).val()))return!1;tjUcmItemForm.onUcmFormChange(this)}});var e=Joomla.getOptions("plg_editor_tinymce");null!=e&&(jQuery.each(e.tinyMCE,function(e,t){if(jQuery("#item-form #jform_"+e).length){var r=jQuery("#jform_"+e+"_ifr").contents().find("body").html();tjUcmTinyMCEFieldIds[e]=r}else if(0==jQuery("#item-form #jform_"+e).length&&"default"!=e){var a=jQuery("textarea[id$='__"+e+"']");a.length&&jQuery.each(a,function(e,t){var r=jQuery(t).attr("id"),a=jQuery("#"+r+"_ifr").contents().find("body").html(),i=r.replace("jform_","");tjUcmTinyMCEFieldIds[i]=a})}}),setInterval(function(){for(var e in tjUcmTinyMCEFieldIds)if(tjUcmTinyMCEFieldIds.hasOwnProperty(e)){var t=jQuery("#jform_"+e+"_ifr").contents().find("body").html();if(tjUcmTinyMCEFieldIds[e]!=t){var r=jQuery("#jform_"+e);r.length&&(r.val(t),tjUcmTinyMCEFieldIds[e]=t,tjUcmItemForm.onUcmFormChange(r))}}},7e3))}}else jQuery("#tjucm-auto-save-disabled-msg").show();jQuery("#tjucm_myTabTabs a").on("click",function(){jQuery(this).parent().next("li").length?jQuery("#next_button").attr("disabled",!1):jQuery("#next_button").attr("disabled",!0),jQuery(this).parent().prev("li").length?jQuery("#previous_button").attr("disabled",!1):jQuery("#previous_button").attr("disabled",!0)}),jQuery(document).on("subform-row-add",function(e,t){var r=jQuery(t).attr("data-group").replace(jQuery(t).attr("data-base-name"),"");if(jQuery(t).find(".js-editor-tinymce textarea")){var a=jQuery(t).find(".js-editor-tinymce textarea").attr("id");if(a){var i=jQuery("#"+a+"_ifr").contents().find("body").html();a=a.replace("jform_",""),tjUcmTinyMCEFieldIds[a]=i}}jQuery.each(tjucmRelatedFieldUpdatedOptions,function(e,a){if(a.templateId){var i=a.templateId.replace("XXX_XXX",r);jQuery(t).find("#"+i).html(""),jQuery.each(a.options,function(e,r){jQuery(t).find("#"+i).append('")}),jQuery(t).find("#"+i).trigger("liszt:updated")}})}),jQuery("#next_button, #previous_button").on("click",function(){if("next_button"==jQuery(this).attr("id")?tjUcmClickedOnNext=1:tjUcmClickedOnPrev=1,jQuery("#item-form").hasClass("dirty"))if(tjUcmCurrentAutoSaveState){var e=jQuery(jQuery("#tjucm_myTabTabs > .active a").attr("href")).find("input, textarea, select, fieldset");tjUcmItemForm.validateSection(e)?tjUcmItemForm.saveSectionData(jQuery("#tjucm_myTabTabs > .active a").attr("href")):(tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0)}else{e=jQuery(jQuery("#tjucm_myTabTabs > .active a").attr("href")).find("input, textarea, select, fieldset");tjUcmItemForm.validateSection(e)?(jQuery("#system-message-container").html(""),tjUcmClickedOnNext&&(tjUcmClickedOnNext=0,jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons()),tjUcmClickedOnPrev&&(tjUcmClickedOnPrev=0,jQuery("#tjucm_myTabTabs > .active").prev("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons())):(tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")}else{e=jQuery(jQuery("#tjucm_myTabTabs > .active a").attr("href")).find("input, textarea, select, fieldset");tjUcmItemForm.validateSection(e)?(jQuery("#system-message-container").html(""),tjUcmClickedOnNext&&(tjUcmClickedOnNext=0,jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons()),tjUcmClickedOnPrev&&(tjUcmClickedOnPrev=0,jQuery("#tjucm_myTabTabs > .active").prev("li").find("a").trigger("click"),tjUcmItemForm.setVisibilityOfNavigationButtons())):(tjUcmClickedOnNext=0,tjUcmClickedOnPrev=0),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")}})});var tjUcmItemForm={getUcmParentRecordId:function(e,t){var r=jQuery("#item-form").find("input[name='jform[client]']").val();new Promise(function(t,a){var i=jQuery("#item-form").find("input[name='jform[id]']").val();if(""==i){var n=new FormData;""!=r&&n.append("client",r),n.append(Joomla.getOptions("csrf.token"),1);n.append("draft",e),com_tjucm.Services.Item.create(n,function(e,r){if(r=JSON.parse(r),null==e)if(null!==r.data&&jQuery.isNumeric(r.data.id)){jQuery("#item-form").find("input[name='jform[id]']").val(r.data.id);var i=window.location.href.split("#")[0],n=-1===i.indexOf("?")?"?":"&",o="id="+r.data.id;i.indexOf(o)>=0||(i+=n+o),history.pushState(null,null,i),t(r.data.id)}else a(r)})}else jQuery.isNumeric(i)&&0!=i&&t(i)}).then(function(e){t(e)}).catch(function(e){return console.log(e),!1})},onUcmFormChange:function(e){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0),tjUcmItemForm.getUcmParentRecordId(1,function(t){var r=jQuery("#item-form").find("input[name='jform[client]']").val();tjUcmItemForm.initUcmFormFieldDataSave(e,r,t)})},initUcmFormFieldDataSave:function(e,t,r){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var a="",i=new FormData;if(i.append(Joomla.getOptions("csrf.token"),1),void 0!==jQuery(e).parent().parent().parent().attr("data-base-name")||void 0!==jQuery(e).parent().parent().parent().parent().attr("data-base-name")){var n=jQuery(e).parent().parent().parent().attr("data-base-name");null==n&&(n=jQuery(e).parent().parent().parent().parent().attr("data-base-name"));var o=jQuery(e).attr("id"),u="com_tjucm."+(a=o.replace(o.split("_").pop(),"contentid")).split("__").pop().replace("_contentid","").replace("com_tjucm_",""),m=jQuery("#"+a).val();if(""==m){i.append("parent_id",r),i.append("client",u),i.append("draft",1),com_tjucm.Services.Item.create(i,function(o,m){if(m=JSON.parse(m),null==o)return null!==m.data&&jQuery.isNumeric(m.data.id)&&jQuery("#"+a).val(m.data.id),i.append("jform["+n+"]",u),i.append("client",t),i.append("recordid",r),com_tjucm.Services.Item.saveFieldData(i,function(t,r){var a=jQuery(e).attr("name"),i="[]"==a.slice(-2)?"[]":"",n="jform["+jQuery(e).attr("id").split("__").pop()+"]"+i;"radio"==jQuery(e).attr("type")&&(n="jform["+jQuery(e).attr("name").split("][").pop()),jQuery(e).attr("name",n),tjUcmItemForm.saveUcmFormFieldData(u,m.data.id,e),jQuery(e).attr("name",a)}),!0})}else if(jQuery.isNumeric(m)&&0!=m){var l=jQuery(e).attr("name"),c="[]"==l.slice(-2)?"[]":"",d="jform["+jQuery(e).attr("id").split("__").pop()+"]"+c;if("radio"==jQuery(e).attr("type"))d="jform["+jQuery(e).attr("name").split("][").pop();return jQuery(e).attr("name",d),tjUcmItemForm.saveUcmFormFieldData(u,m,e),jQuery(e).attr("name",l),!0}return!1}return tjUcmItemForm.saveUcmFormFieldData(t,r,e),!0},saveUcmFormFieldData:function(e,t,r){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var a=new FormData;return a.append(Joomla.getOptions("csrf.token"),1),a.append("client",e),a.append("recordid",t),"checkbox"==jQuery(r).attr("type")?1==jQuery(r).prop("checked")?a.append(jQuery(r).attr("name"),1):a.append(jQuery(r).attr("name"),0):jQuery(r).hasClass("tjfieldTjList")?(""!=jQuery(r).val()&&null!=jQuery(r).val()&&a.append(jQuery(r).attr("name"),jQuery(r).val()),""!=jQuery("input#"+jQuery(r).attr("id")).val()&&null!=jQuery("input#"+jQuery(r).attr("id")).val()&&a.append(jQuery(r).attr("name"),jQuery("input#"+jQuery(r).attr("id")).val())):"tagsinput"==jQuery("input#"+jQuery(r).attr("id")).data("role")?(""!=jQuery("#"+jQuery(r).attr("id")).val()&&null!=jQuery("#"+jQuery(r).attr("id")).val()&&a.append(jQuery(r).attr("name"),jQuery("#"+jQuery(r).attr("id")).val()),""!=jQuery(r).val()&&null!=jQuery(r).val()&&a.append(jQuery(r).attr("name"),jQuery(r).val())):"file"!=jQuery(r).attr("type")?a.append(jQuery(r).attr("name"),jQuery(r).val()):a.append(jQuery(r).attr("name"),jQuery(r)[0].files[0]),""!=jQuery(r).attr("name")&&null!=jQuery(r).attr("name")&&com_tjucm.Services.Item.saveFieldData(a,tjUcmItemForm.afterDataSave),!0},afterDataSave:function(e,t){if(t=JSON.parse(t),jQuery("#item-form").removeClass("dirty"),null==t)return!1;if(jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),null!=t.data&&t.data.childContentIds&&jQuery.each(t.data.childContentIds,function(e,t){jQuery("#"+e).val(t)}),t.data&&tjUcmFormFinalSave&&(jQuery("#tjucm-auto-save-disabled-msg").show(),jQuery("#itemState").val(0),jQuery("#tjUcmSectionDraftSave").remove(),tjUcmCurrentAutoSaveState=0,tjUcmFormFinalSave=0),tjUcmClickedOnNext&&(tjUcmClickedOnNext=0,jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click")),tjUcmClickedOnPrev&&(tjUcmClickedOnPrev=0,jQuery("#tjucm_myTabTabs > .active").prev("li").find("a").trigger("click")),tjUcmItemForm.setVisibilityOfNavigationButtons(),t.data){var r=jQuery("#item-form").find("input[name='jform[client]']").val(),a=jQuery("#item-form").find("input[name='jform[id]']").val();tjUcmItemForm.updateRelatedFieldsOptions(r,a)}tjUcmItemForm.renderResponseMessages(t)},renderResponseMessages:function(e){null!=e&&(null!==e.message&&(e.data?Joomla.renderMessages({success:[e.message]}):Joomla.renderMessages({error:[e.message]}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")),null!==e.messages&&null!==e.messages.error&&(jQuery.each(e.messages.error,function(e,t){Joomla.renderMessages({error:[t]})}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")))},updateRelatedFieldsOptions:function(e,t){var r=new FormData;r.append("client",e),r.append("content_id",t),com_tjucm.Services.Item.getUpdatedRelatedFieldsOptions(r,function(e,t){if(t=JSON.parse(t),""==(tjucmRelatedFieldUpdatedOptions=t.data))return!1;jQuery.each(t.data,function(e,t){jQuery("#"+t.elementId).html(""),jQuery.each(t.options,function(e,r){var a="";"1"==r.selected&&(a=' selected="selected" '),jQuery("#"+t.elementId).append('")}),jQuery("#"+t.elementId).trigger("liszt:updated")})})},saveUcmFormData:function(){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var e=event.target.id,t=1;if("tjUcmSectionFinalSave"==e){if(!document.formvalidator.isValid(document.getElementById("item-form")))return tjUcmItemForm.setVisibilityOfNavigationButtons(),jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;if(!confirm(Joomla.JText._("COM_TJUCM_ITEMFORM_SUBMIT_ALERT")))return jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),!1;jQuery("#system-message-container").html(""),jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0),t=0}jQuery("#item-form .toggle-editor a").each(function(e){this.click()}),tjUcmItemForm.getUcmParentRecordId(t,function(){var t=document.getElementById("item-form"),r=new FormData(t);r.delete("task"),r.delete("option"),r.delete("view"),r.delete("layout");var a=jQuery("#item-form").find("input[name='jform[client]']").val(),i=jQuery("#item-form").find("input[name='jform[id]']").val();r.append(Joomla.getOptions("csrf.token"),1),r.append("client",a),r.append("recordid",i),"tjUcmSectionDraftSave"==e&&r.append("draft",1),"tjUcmSectionFinalSave"==e&&(tjUcmFormFinalSave=1),jQuery('input[type="checkbox"]').each(function(){1==jQuery(this).prop("checked")?r.append(jQuery(this).attr("name"),1):r.append(jQuery(this).attr("name"),0)}),com_tjucm.Services.Item.saveFormData(r,tjUcmItemForm.afterDataSave)}),jQuery("#item-form .toggle-editor a").each(function(e){this.click()})},saveSectionData:function(e){jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0);var t=new FormData,r=jQuery(e).find("input, textarea, select, fieldset");if(!tjUcmItemForm.validateSection(r))return jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;jQuery("#system-message-container").html(""),jQuery("#item-form .toggle-editor a").each(function(e){this.click()}),r.length&&r.each(function(){"file"==jQuery(this).attr("type")?null!=jQuery(this)[0].files[0]&&t.append(jQuery(this).attr("name"),jQuery(this)[0].files[0]):"checkbox"==jQuery(this).attr("type")?1==jQuery(this).prop("checked")?jQuery(this).val(1):jQuery(this).val(0):null!=jQuery(this).val()&&t.append(jQuery(this).attr("name"),jQuery(this).val())}),jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!0),tjUcmItemForm.getUcmParentRecordId(1,function(){t.delete("task"),t.delete("option"),t.delete("view"),t.delete("layout");var r=jQuery("#item-form").find("input[name='jform[client]']").val(),a=jQuery("#item-form").find("input[name='jform[id]']").val();t.append(Joomla.getOptions("csrf.token"),1),t.append("client",r),t.append("recordid",a),t.append("tjUcmFormSection",jQuery("a[href='"+e+"']").html()),com_tjucm.Services.Item.saveFormData(t,tjUcmItemForm.afterDataSave)})},validateSection:function(e){var t,r,a,i,n,o=!0,u=[];for(i=0,n=e.length;i0){for(t=Joomla.JText._("JLIB_FORM_FIELD_INVALID"),r={error:[]},i=u.length-1;i>=0;i--)(a=jQuery(u[i]).data("label"))&&r.error.push(t+a.text().replace("*",""));Joomla.renderMessages(r)}return o},setVisibilityOfNavigationButtons:function(){var e=jQuery("#tjucm_myTabTabs").find("li.active");jQuery(e).length&&(jQuery(e).next("li").length?jQuery("#next_button").attr("disabled",!1):jQuery("#next_button").attr("disabled",!0),jQuery(e).prev("li").length?jQuery("#previous_button").attr("disabled",!1):jQuery("#previous_button").attr("disabled",!0))}};function steppedFormSave(e,t,r){window.onbeforeunload=null,jQuery("#item-form .toggle-editor a").each(function(e){this.click()});var a=jQuery("#"+e),i=!1;if(jQuery("#form_status").val(t),"save"==t){if(!document.formvalidator.isValid("#item-form"))return jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;if(!confirm(Joomla.JText._("COM_TJUCM_ITEMFORM_SUBMIT_ALERT")))return jQuery(".form-actions button[type='button'], .form-actions input[type='button']").attr("disabled",!1),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow"),!1;jQuery("#item-form").removeClass("dirty")}return a&&jQuery(a).ajaxSubmit({datatype:"JSON",async:!1,success:function(e){var a=JSON.parse(e);if(null!==a.messages&&null!==a.messages.error&&(jQuery.each(a.messages.error,function(e,t){Joomla.renderMessages({error:[t]})}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")),null!==a.message&&""!=a.message&&(Joomla.renderMessages({info:[a.message]}),jQuery("html, body").animate({scrollTop:jQuery("#item-form").position().top},"slow")),null!==a.data){jQuery("#recordId").val(a.data.id),"save"==t?(jQuery("#tjUcmSectionFinalSave").attr("disabled","disabled"),Joomla.renderMessages({success:[Joomla.JText._("COM_TJUCM_MSG_ON_SAVED_FORM")]}),jQuery("html, body").animate({scrollTop:jQuery("#system-message-container").offset().top-40},"slow")):(i=!0,"1"===r&&(jQuery("#draft_msg").show(),setTimeout(function(){jQuery("#draft_msg").hide()},5e3)));var n=window.location.href.split("#")[0],o=-1===n.indexOf("?")?"?":"&",u="id="+a.data.id;jQuery.each(a.data.childContentIds,function(e,t){jQuery("input[name='"+t.elementName+"']").val(t.content_id)}),tjucmRelatedFieldUpdatedOptions=a.data.relatedFieldOptions,jQuery.each(a.data.relatedFieldOptions,function(e,t){jQuery("#"+t.elementId).html(""),jQuery.each(t.options,function(e,r){var a="";"1"==r.selected&&(a=' selected="selected" '),jQuery("#"+t.elementId).append('")}),jQuery("#"+t.elementId).trigger("liszt:updated")}),n.indexOf(u)>=0||(n+=o+u),history.pushState(null,null,n)}jQuery("#tjUcmSectionDraftSave").attr("disabled",!1),jQuery("#tjUcmSectionFinalSave").attr("disabled",!1),jQuery("#item-form .toggle-editor a").each(function(e){this.click()})}}),i}function itemformactions(e,t){var r=jQuery("ul#tjucm_myTabTabs").find("li.active a");null==jQuery(r).next("li")?jQuery("#previous_button").attr("disabled",!0):jQuery("#previous_button").attr("disabled",!1),null==jQuery(r).prev("li")?jQuery("#next_button").attr("disabled",!0):jQuery("#next_button").attr("disabled",!1),next?jQuery("#tjucm_myTabTabs > .active").next("li").find("a").trigger("click"):jQuery("#tjucm_myTabTabs > .active").next("li").prev("a").trigger("click");var a=jQuery("ul#"+getTabId).find("li.active").next("li").children("a").attr("href"),i=jQuery("ul#"+getTabId).find("li.active").prev("li").children("a").attr("href");null==a?jQuery("#next_button").attr("disabled",!0):jQuery("#next_button").attr("disabled",!1),null==i?jQuery("#previous_button").attr("disabled",!0):jQuery("#previous_button").attr("disabled",!1),steppedFormSave("item-form","draft",1),"next"==t&&jQuery("#"+getTabId+" > .active").next("li").find("a").trigger("click"),"prev"==t&&jQuery("#"+getTabId+" > .active").prev("li").find("a").trigger("click")}