diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index b9135a1048..a6cf84b230 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -352,7 +352,7 @@ function setTextareaScrolling(element) { var editor = null; var editorTimeout = null; -var lastJSONString=null; +var lastJSONString = null; function createJSONEditor() { var container = document.getElementById("userdata-editor"); @@ -368,12 +368,10 @@ function createJSONEditor() { alert('JSON editor:' + e) }, onChange: function() { - console.log('changed') - if(currentJSONString==='{"":""}'){ - console.log('its empty') + if (currentJSONString === '{"":""}') { return; } - $('#userdata-save').attr('disabled',false) + $('#userdata-save').attr('disabled', false) var currentJSONString = editor.getText(); @@ -440,6 +438,7 @@ function getEditorJSON() { function deleteJSONEditor() { if (editor !== null) { editor.destroy(); + editor = null; } }; @@ -448,20 +447,29 @@ var savedJSONTimer = null; function saveJSONUserData() { setUserDataFromEditor(); $('#userdata-saved').show(); + $('#userdata-save').attr('disabled', true) if (savedJSONTimer !== null) { clearTimeout(savedJSONTimer); } savedJSONTimer = setTimeout(function() { $('#userdata-saved').hide(); - $('#userdata-save').attr('disabled',true) + }, 1500) } -function bindAllNonJSONEditorElements(){ +function bindAllNonJSONEditorElements() { var inputs = $('input'); var i; - for(i=0;i 1) { + deleteJSONEditor(); var selections = data.selections; var ids = []; @@ -787,7 +800,6 @@ function loaded() { FIXME: See FIXME for property-script-url. elScriptTimestamp.value = properties.scriptTimestamp; */ - //deleteJSONEditor(); hideUserDataTextArea(); var json = null; try { @@ -798,7 +810,6 @@ function loaded() { } if (editor === null) { createJSONEditor(); - console.log('CREATING NEW EDITOR') } setEditorJSON(json); @@ -974,7 +985,7 @@ function loaded() { elLocked.removeAttribute('disabled'); } else { enableProperties(); - elSaveUserData.disabled=true; + elSaveUserData.disabled = true; } var activeElement = document.activeElement; @@ -1115,9 +1126,7 @@ function loaded() { }); elUserData.addEventListener('change', createEmitTextPropertyUpdateFunction('userData')); - // elJSONEditor.addEventListener('mouseleave',function(){ - // saveJSONUserData(); - // }); + elNewJSONEditor.addEventListener('click', function() { deleteJSONEditor(); createJSONEditor(); @@ -1387,7 +1396,7 @@ function loaded() { clicked = true; }; } - bindMouseLeaveForJSONEditor(); + bindAllNonJSONEditorElements(); }); // Collapsible sections