From 9d974cfe47f8de0e6c204f8a61fc88ac6a4cf712 Mon Sep 17 00:00:00 2001 From: Pravin_s Date: Wed, 20 Nov 2019 13:07:26 +0530 Subject: [PATCH] Task #208 chore: Changes made for tagInputs --- administrator/assets/js/tjlist.js | 14 +++++++++++--- administrator/assets/js/tjlist.min.js | 2 +- administrator/models/fields/tjlist.php | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/administrator/assets/js/tjlist.js b/administrator/assets/js/tjlist.js index fe59a766..477805f4 100644 --- a/administrator/assets/js/tjlist.js +++ b/administrator/assets/js/tjlist.js @@ -12,6 +12,12 @@ var tjlist = { setTimeout(function() { element.siblings('div.tjfieldTjListOtherText').children('.bootstrap-tagsinput').children().focus(); + + if (element.attr('multiple') == undefined) + { + element.siblings('div.tjfieldTjListOtherText').children().focus(); + } + }, 100); }, removeOtherOption: function (element) { @@ -22,11 +28,13 @@ var tjlist = { var inputName = element.attr('name'), inputId = element.attr('id'), isRequired = (element.attr('required') != undefined) ? 'required="required"' : '', - tagInput = (element.attr('multiple') != undefined) ? 'data-role="tagsinput"' : '', - requiredClass = (isRequired != '') ? 'required' : ''; - this.loadTagsinputjs(); + if (element.attr('multiple') != undefined) + { + this.loadTagsinputjs(); + var tagInput = (element.attr('multiple') != undefined) ? 'data-role="tagsinput"' : ''; + } return '

'; }, diff --git a/administrator/assets/js/tjlist.min.js b/administrator/assets/js/tjlist.min.js index 8cb8780b..8bb4a17d 100644 --- a/administrator/assets/js/tjlist.min.js +++ b/administrator/assets/js/tjlist.min.js @@ -1 +1 @@ -var tjlist={addOtherOption:function(element){jQuery(tjlist.getTextBox(element)).insertAfter(element.next(".chzn-container"));setTimeout(function(){element.siblings("div.tjfieldTjListOtherText").children(".bootstrap-tagsinput").children().focus()},100)},removeOtherOption:function(element){element.siblings("div.tjfieldTjListOtherText").remove()},getTextBox:function(element){var inputName=element.attr("name"),inputId=element.attr("id"),isRequired=element.attr("required")!=undefined?'required="required"':"",tagInput=element.attr("multiple")!=undefined?'data-role="tagsinput"':"",requiredClass=isRequired!=""?"required":"";this.loadTagsinputjs();return'

'},loadTagsinputjs:function(){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=Joomla.getOptions("system.paths").base+"/administrator/components/com_tjfields/assets/js/bootstrap-tagsinput.min.js";head.appendChild(script)}};jQuery(document).ready(function(){jQuery(document).on("change",".tjfieldTjList",function(){var selectedVal=jQuery(this).val();if(jQuery.inArray(Joomla.JText._("COM_TJFIELDS_TJLIST_OTHER_OPTION_VALUE"),selectedVal)!==-1||selectedVal==Joomla.JText._("COM_TJFIELDS_TJLIST_OTHER_OPTION_VALUE")){if(jQuery('input[name="'+jQuery(this).attr("name")+'"]').length==0){tjlist.addOtherOption(jQuery(this))}}else{tjlist.removeOtherOption(jQuery(this))}})}); +var tjlist={addOtherOption:function(element){jQuery(tjlist.getTextBox(element)).insertAfter(element.next(".chzn-container"));setTimeout(function(){element.siblings("div.tjfieldTjListOtherText").children(".bootstrap-tagsinput").children().focus();if(element.attr("multiple")==undefined){element.siblings("div.tjfieldTjListOtherText").children().focus()}},100)},removeOtherOption:function(element){element.siblings("div.tjfieldTjListOtherText").remove()},getTextBox:function(element){var inputName=element.attr("name"),inputId=element.attr("id"),isRequired=element.attr("required")!=undefined?'required="required"':"",requiredClass=isRequired!=""?"required":"";if(element.attr("multiple")!=undefined){this.loadTagsinputjs();var tagInput=element.attr("multiple")!=undefined?'data-role="tagsinput"':""}return'

'},loadTagsinputjs:function(){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=Joomla.getOptions("system.paths").base+"/administrator/components/com_tjfields/assets/js/bootstrap-tagsinput.min.js";head.appendChild(script)}};jQuery(document).ready(function(){jQuery(document).on("change",".tjfieldTjList",function(){var selectedVal=jQuery(this).val();if(jQuery.inArray(Joomla.JText._("COM_TJFIELDS_TJLIST_OTHER_OPTION_VALUE"),selectedVal)!==-1||selectedVal==Joomla.JText._("COM_TJFIELDS_TJLIST_OTHER_OPTION_VALUE")){if(jQuery('input[name="'+jQuery(this).attr("name")+'"]').length==0){tjlist.addOtherOption(jQuery(this))}}else{tjlist.removeOtherOption(jQuery(this))}})}); diff --git a/administrator/models/fields/tjlist.php b/administrator/models/fields/tjlist.php index ad1c3dd7..00cff908 100644 --- a/administrator/models/fields/tjlist.php +++ b/administrator/models/fields/tjlist.php @@ -107,10 +107,14 @@ protected function getInput() $html = parent::getInput(); $doc = Factory::getDocument(); - $doc->addStyleSheet(JUri::root() . 'administrator/components/com_tjfields/assets/css/bootstrap-tagsinput.css'); - $doc->addScript(JUri::root() . 'administrator/components/com_tjfields/assets/js/bootstrap-tagsinput.min.js'); $doc->addScript(JUri::root() . 'administrator/components/com_tjfields/assets/js/tjlist.min.js'); + if ($this->multiple) + { + $doc->addStyleSheet(JUri::root() . 'administrator/components/com_tjfields/assets/css/bootstrap-tagsinput.css'); + $doc->addScript(JUri::root() . 'administrator/components/com_tjfields/assets/js/bootstrap-tagsinput.min.js'); + } + $options = $this->getOptions(); if ($this->element['other'])