Fixed copy button
This commit is contained in:
parent
a78c47e700
commit
bd90ba8fc5
4 changed files with 40 additions and 34 deletions
10
public/dist/scripts/app-all.js
vendored
10
public/dist/scripts/app-all.js
vendored
|
@ -2404,16 +2404,18 @@ if(target){target=document.getElementById(target);}
|
||||||
button.addEventListener('click',function(){var clone=document.createElement(element.tagName);if(element.name){clone.name=element.name;}
|
button.addEventListener('click',function(){var clone=document.createElement(element.tagName);if(element.name){clone.name=element.name;}
|
||||||
clone.innerHTML=template;clone.className=element.className;view.render(clone);if(target){target.appendChild(clone);}
|
clone.innerHTML=template;clone.className=element.className;view.render(clone);if(target){target.appendChild(clone);}
|
||||||
else{button.parentNode.insertBefore(clone,button);}
|
else{button.parentNode.insertBefore(clone,button);}
|
||||||
clone.querySelector('input').focus();Array.prototype.slice.call(clone.querySelectorAll('[data-remove]')).map(function(obj){obj.addEventListener('click',function(){clone.parentNode.removeChild(clone);obj.scrollIntoView({behavior:'smooth'});});});Array.prototype.slice.call(clone.querySelectorAll('[data-up]')).map(function(obj){obj.addEventListener('click',function(){if(clone.previousElementSibling){clone.parentNode.insertBefore(clone,clone.previousElementSibling);obj.scrollIntoView({behavior:'smooth'});}});});Array.prototype.slice.call(clone.querySelectorAll('[data-down]')).map(function(obj){obj.addEventListener('click',function(){if(clone.nextElementSibling){clone.parentNode.insertBefore(clone.nextElementSibling,clone);obj.scrollIntoView({behavior:'smooth'});}});});});element.parentNode.insertBefore(button,element.nextSibling);element.parentNode.removeChild(element);if(first){button.click();}}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-code',controller:function(element,alerts){let lang=element.dataset['formsCode']||'json';let div=document.createElement('div');let pre=document.createElement('pre');let code=document.createElement('code');let copy=document.createElement('i');div.appendChild(pre);div.appendChild(copy);pre.appendChild(code);element.parentNode.appendChild(div);div.className='ide';pre.className='line-numbers';code.className='prism language-'+lang;copy.className='icon-docs copy';copy.title='Copy to Clipboard';copy.addEventListener('click',function(){window.getSelection().removeAllRanges();let range=document.createRange();range.selectNode(element);window.getSelection().addRange(range);try{document.execCommand('copy');alerts.add({text:'Copied to clipboard',class:''},3000);}catch(err){alerts.add({text:"Failed to copy text ",class:'error'},3000);}
|
clone.querySelector('input').focus();Array.prototype.slice.call(clone.querySelectorAll('[data-remove]')).map(function(obj){obj.addEventListener('click',function(){clone.parentNode.removeChild(clone);obj.scrollIntoView({behavior:'smooth'});});});Array.prototype.slice.call(clone.querySelectorAll('[data-up]')).map(function(obj){obj.addEventListener('click',function(){if(clone.previousElementSibling){clone.parentNode.insertBefore(clone,clone.previousElementSibling);obj.scrollIntoView({behavior:'smooth'});}});});Array.prototype.slice.call(clone.querySelectorAll('[data-down]')).map(function(obj){obj.addEventListener('click',function(){if(clone.nextElementSibling){clone.parentNode.insertBefore(clone.nextElementSibling,clone);obj.scrollIntoView({behavior:'smooth'});}});});});element.parentNode.insertBefore(button,element.nextSibling);element.parentNode.removeChild(element);if(first){button.click();}}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-code',controller:function(element,alerts){let lang=element.dataset['formsCode']||'json';let div=document.createElement('div');let pre=document.createElement('pre');let code=document.createElement('code');let copy=document.createElement('i');div.appendChild(pre);div.appendChild(copy);pre.appendChild(code);element.parentNode.appendChild(div);div.className='ide';pre.className='line-numbers';code.className='prism language-'+lang;copy.className='icon-docs copy';copy.title='Copy to Clipboard';copy.addEventListener('click',function(){element.disabled=false;element.focus();element.select();document.execCommand('Copy');if(document.selection){document.selection.empty();}
|
||||||
window.getSelection().removeAllRanges();});let check=function(){if(!element.value){return;}
|
else if(window.getSelection){window.getSelection().removeAllRanges();}
|
||||||
|
element.disabled=true;alerts.add({text:'Copied to clipboard',class:''},3000);});let check=function(){if(!element.value){return;}
|
||||||
let value=null;try{value=JSON.stringify(JSON.parse(element.value),null,4);}
|
let value=null;try{value=JSON.stringify(JSON.parse(element.value),null,4);}
|
||||||
catch(error){value=element.value;}
|
catch(error){value=element.value;}
|
||||||
code.innerHTML=value;Prism.highlightElement(code);div.scrollTop=0;}
|
code.innerHTML=value;Prism.highlightElement(code);div.scrollTop=0;}
|
||||||
element.addEventListener('change',check);check();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-color',controller:function(element){var preview=document.createElement('div');var picker=document.createElement('input');picker.type='color';preview.className='color-preview';preview.appendChild(picker);picker.addEventListener('change',syncA);picker.addEventListener('input',syncA);element.addEventListener('input',update);element.addEventListener('change',update);function update(){if(element.validity.valid){preview.style.background=element.value;syncB();}}
|
element.addEventListener('change',check);check();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-color',controller:function(element){var preview=document.createElement('div');var picker=document.createElement('input');picker.type='color';preview.className='color-preview';preview.appendChild(picker);picker.addEventListener('change',syncA);picker.addEventListener('input',syncA);element.addEventListener('input',update);element.addEventListener('change',update);function update(){if(element.validity.valid){preview.style.background=element.value;syncB();}}
|
||||||
function syncA(){element.value=picker.value;update();}
|
function syncA(){element.value=picker.value;update();}
|
||||||
function syncB(){picker.value=element.value;}
|
function syncB(){picker.value=element.value;}
|
||||||
element.parentNode.insertBefore(preview,element);update();syncB();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-copy',controller:function(element,alerts,document,window){var button=window.document.createElement('i');button.type='button';button.className='icon-docs note copy';button.style.cursor='pointer';element.parentNode.insertBefore(button,element.nextSibling);var copy=function(event){window.getSelection().removeAllRanges();var range=document.createRange();range.selectNode(element);window.getSelection().addRange(range);try{document.execCommand('copy');alerts.add({text:'Copied to clipboard',class:''},3000);}catch(err){alerts.add({text:"Failed to copy text ",class:'error'},3000);}
|
element.parentNode.insertBefore(preview,element);update();syncB();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-copy',controller:function(element,alerts,document,window){var button=window.document.createElement('i');button.type='button';button.className='icon-docs note copy';button.style.cursor='pointer';element.parentNode.insertBefore(button,element.nextSibling);var copy=function(event){element.disabled=false;element.focus();element.select();document.execCommand('Copy');if(document.selection){document.selection.empty();}
|
||||||
window.getSelection().removeAllRanges();};button.addEventListener('click',copy);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-forms-filter',controller:function(document,container,expression,element,form,di){let name=element.dataset['formsFilter']||'';let events=element.dataset['event']||'';let serialize=function(obj,prefix){let str=[],p;for(p in obj){if(obj.hasOwnProperty(p)){let k=prefix?prefix+"["+p+"]":p,v=obj[p];if(v===''){continue;}
|
else if(window.getSelection){window.getSelection().removeAllRanges();}
|
||||||
|
element.disabled=true;alerts.add({text:'Copied to clipboard',class:''},3000);};button.addEventListener('click',copy);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-forms-filter',controller:function(document,container,expression,element,form,di){let name=element.dataset['formsFilter']||'';let events=element.dataset['event']||'';let serialize=function(obj,prefix){let str=[],p;for(p in obj){if(obj.hasOwnProperty(p)){let k=prefix?prefix+"["+p+"]":p,v=obj[p];if(v===''){continue;}
|
||||||
str.push((v!==null&&typeof v==="object")?serialize(v,k):encodeURIComponent(k)+"="+encodeURIComponent(v));}}
|
str.push((v!==null&&typeof v==="object")?serialize(v,k):encodeURIComponent(k)+"="+encodeURIComponent(v));}}
|
||||||
return str.join("&");};let parse=function(filter){if(filter===''){return null;}
|
return str.join("&");};let parse=function(filter){if(filter===''){return null;}
|
||||||
let operatorsMap=["!=",">=","<=","=",">","<"];let operator=null;for(let key=0;key<operatorsMap.length;key++){if(filter.indexOf(operatorsMap[key])>-1){operator=operatorsMap[key];}}
|
let operatorsMap=["!=",">=","<=","=",">","<"];let operator=null;for(let key=0;key<operatorsMap.length;key++){if(filter.indexOf(operatorsMap[key])>-1){operator=operatorsMap[key];}}
|
||||||
|
|
10
public/dist/scripts/app.js
vendored
10
public/dist/scripts/app.js
vendored
|
@ -318,16 +318,18 @@ if(target){target=document.getElementById(target);}
|
||||||
button.addEventListener('click',function(){var clone=document.createElement(element.tagName);if(element.name){clone.name=element.name;}
|
button.addEventListener('click',function(){var clone=document.createElement(element.tagName);if(element.name){clone.name=element.name;}
|
||||||
clone.innerHTML=template;clone.className=element.className;view.render(clone);if(target){target.appendChild(clone);}
|
clone.innerHTML=template;clone.className=element.className;view.render(clone);if(target){target.appendChild(clone);}
|
||||||
else{button.parentNode.insertBefore(clone,button);}
|
else{button.parentNode.insertBefore(clone,button);}
|
||||||
clone.querySelector('input').focus();Array.prototype.slice.call(clone.querySelectorAll('[data-remove]')).map(function(obj){obj.addEventListener('click',function(){clone.parentNode.removeChild(clone);obj.scrollIntoView({behavior:'smooth'});});});Array.prototype.slice.call(clone.querySelectorAll('[data-up]')).map(function(obj){obj.addEventListener('click',function(){if(clone.previousElementSibling){clone.parentNode.insertBefore(clone,clone.previousElementSibling);obj.scrollIntoView({behavior:'smooth'});}});});Array.prototype.slice.call(clone.querySelectorAll('[data-down]')).map(function(obj){obj.addEventListener('click',function(){if(clone.nextElementSibling){clone.parentNode.insertBefore(clone.nextElementSibling,clone);obj.scrollIntoView({behavior:'smooth'});}});});});element.parentNode.insertBefore(button,element.nextSibling);element.parentNode.removeChild(element);if(first){button.click();}}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-code',controller:function(element,alerts){let lang=element.dataset['formsCode']||'json';let div=document.createElement('div');let pre=document.createElement('pre');let code=document.createElement('code');let copy=document.createElement('i');div.appendChild(pre);div.appendChild(copy);pre.appendChild(code);element.parentNode.appendChild(div);div.className='ide';pre.className='line-numbers';code.className='prism language-'+lang;copy.className='icon-docs copy';copy.title='Copy to Clipboard';copy.addEventListener('click',function(){window.getSelection().removeAllRanges();let range=document.createRange();range.selectNode(element);window.getSelection().addRange(range);try{document.execCommand('copy');alerts.add({text:'Copied to clipboard',class:''},3000);}catch(err){alerts.add({text:"Failed to copy text ",class:'error'},3000);}
|
clone.querySelector('input').focus();Array.prototype.slice.call(clone.querySelectorAll('[data-remove]')).map(function(obj){obj.addEventListener('click',function(){clone.parentNode.removeChild(clone);obj.scrollIntoView({behavior:'smooth'});});});Array.prototype.slice.call(clone.querySelectorAll('[data-up]')).map(function(obj){obj.addEventListener('click',function(){if(clone.previousElementSibling){clone.parentNode.insertBefore(clone,clone.previousElementSibling);obj.scrollIntoView({behavior:'smooth'});}});});Array.prototype.slice.call(clone.querySelectorAll('[data-down]')).map(function(obj){obj.addEventListener('click',function(){if(clone.nextElementSibling){clone.parentNode.insertBefore(clone.nextElementSibling,clone);obj.scrollIntoView({behavior:'smooth'});}});});});element.parentNode.insertBefore(button,element.nextSibling);element.parentNode.removeChild(element);if(first){button.click();}}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-code',controller:function(element,alerts){let lang=element.dataset['formsCode']||'json';let div=document.createElement('div');let pre=document.createElement('pre');let code=document.createElement('code');let copy=document.createElement('i');div.appendChild(pre);div.appendChild(copy);pre.appendChild(code);element.parentNode.appendChild(div);div.className='ide';pre.className='line-numbers';code.className='prism language-'+lang;copy.className='icon-docs copy';copy.title='Copy to Clipboard';copy.addEventListener('click',function(){element.disabled=false;element.focus();element.select();document.execCommand('Copy');if(document.selection){document.selection.empty();}
|
||||||
window.getSelection().removeAllRanges();});let check=function(){if(!element.value){return;}
|
else if(window.getSelection){window.getSelection().removeAllRanges();}
|
||||||
|
element.disabled=true;alerts.add({text:'Copied to clipboard',class:''},3000);});let check=function(){if(!element.value){return;}
|
||||||
let value=null;try{value=JSON.stringify(JSON.parse(element.value),null,4);}
|
let value=null;try{value=JSON.stringify(JSON.parse(element.value),null,4);}
|
||||||
catch(error){value=element.value;}
|
catch(error){value=element.value;}
|
||||||
code.innerHTML=value;Prism.highlightElement(code);div.scrollTop=0;}
|
code.innerHTML=value;Prism.highlightElement(code);div.scrollTop=0;}
|
||||||
element.addEventListener('change',check);check();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-color',controller:function(element){var preview=document.createElement('div');var picker=document.createElement('input');picker.type='color';preview.className='color-preview';preview.appendChild(picker);picker.addEventListener('change',syncA);picker.addEventListener('input',syncA);element.addEventListener('input',update);element.addEventListener('change',update);function update(){if(element.validity.valid){preview.style.background=element.value;syncB();}}
|
element.addEventListener('change',check);check();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-color',controller:function(element){var preview=document.createElement('div');var picker=document.createElement('input');picker.type='color';preview.className='color-preview';preview.appendChild(picker);picker.addEventListener('change',syncA);picker.addEventListener('input',syncA);element.addEventListener('input',update);element.addEventListener('change',update);function update(){if(element.validity.valid){preview.style.background=element.value;syncB();}}
|
||||||
function syncA(){element.value=picker.value;update();}
|
function syncA(){element.value=picker.value;update();}
|
||||||
function syncB(){picker.value=element.value;}
|
function syncB(){picker.value=element.value;}
|
||||||
element.parentNode.insertBefore(preview,element);update();syncB();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-copy',controller:function(element,alerts,document,window){var button=window.document.createElement('i');button.type='button';button.className='icon-docs note copy';button.style.cursor='pointer';element.parentNode.insertBefore(button,element.nextSibling);var copy=function(event){window.getSelection().removeAllRanges();var range=document.createRange();range.selectNode(element);window.getSelection().addRange(range);try{document.execCommand('copy');alerts.add({text:'Copied to clipboard',class:''},3000);}catch(err){alerts.add({text:"Failed to copy text ",class:'error'},3000);}
|
element.parentNode.insertBefore(preview,element);update();syncB();}});})(window);(function(window){"use strict";window.ls.container.get('view').add({selector:'data-forms-copy',controller:function(element,alerts,document,window){var button=window.document.createElement('i');button.type='button';button.className='icon-docs note copy';button.style.cursor='pointer';element.parentNode.insertBefore(button,element.nextSibling);var copy=function(event){element.disabled=false;element.focus();element.select();document.execCommand('Copy');if(document.selection){document.selection.empty();}
|
||||||
window.getSelection().removeAllRanges();};button.addEventListener('click',copy);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-forms-filter',controller:function(document,container,expression,element,form,di){let name=element.dataset['formsFilter']||'';let events=element.dataset['event']||'';let serialize=function(obj,prefix){let str=[],p;for(p in obj){if(obj.hasOwnProperty(p)){let k=prefix?prefix+"["+p+"]":p,v=obj[p];if(v===''){continue;}
|
else if(window.getSelection){window.getSelection().removeAllRanges();}
|
||||||
|
element.disabled=true;alerts.add({text:'Copied to clipboard',class:''},3000);};button.addEventListener('click',copy);}});})(window);(function(window){window.ls.container.get('view').add({selector:'data-forms-filter',controller:function(document,container,expression,element,form,di){let name=element.dataset['formsFilter']||'';let events=element.dataset['event']||'';let serialize=function(obj,prefix){let str=[],p;for(p in obj){if(obj.hasOwnProperty(p)){let k=prefix?prefix+"["+p+"]":p,v=obj[p];if(v===''){continue;}
|
||||||
str.push((v!==null&&typeof v==="object")?serialize(v,k):encodeURIComponent(k)+"="+encodeURIComponent(v));}}
|
str.push((v!==null&&typeof v==="object")?serialize(v,k):encodeURIComponent(k)+"="+encodeURIComponent(v));}}
|
||||||
return str.join("&");};let parse=function(filter){if(filter===''){return null;}
|
return str.join("&");};let parse=function(filter){if(filter===''){return null;}
|
||||||
let operatorsMap=["!=",">=","<=","=",">","<"];let operator=null;for(let key=0;key<operatorsMap.length;key++){if(filter.indexOf(operatorsMap[key])>-1){operator=operatorsMap[key];}}
|
let operatorsMap=["!=",">=","<=","=",">","<"];let operator=null;for(let key=0;key<operatorsMap.length;key++){if(filter.indexOf(operatorsMap[key])>-1){operator=operatorsMap[key];}}
|
||||||
|
|
|
@ -25,22 +25,23 @@
|
||||||
copy.title = 'Copy to Clipboard';
|
copy.title = 'Copy to Clipboard';
|
||||||
|
|
||||||
copy.addEventListener('click', function () {
|
copy.addEventListener('click', function () {
|
||||||
|
element.disabled = false;
|
||||||
|
|
||||||
|
element.focus();
|
||||||
|
element.select();
|
||||||
|
|
||||||
|
document.execCommand('Copy');
|
||||||
|
|
||||||
|
if (document.selection) {
|
||||||
|
document.selection.empty();
|
||||||
|
}
|
||||||
|
else if (window.getSelection) {
|
||||||
window.getSelection().removeAllRanges();
|
window.getSelection().removeAllRanges();
|
||||||
|
|
||||||
let range = document.createRange();
|
|
||||||
|
|
||||||
range.selectNode(element);
|
|
||||||
|
|
||||||
window.getSelection().addRange(range);
|
|
||||||
|
|
||||||
try {
|
|
||||||
document.execCommand('copy');
|
|
||||||
alerts.add({text: 'Copied to clipboard', class: ''}, 3000);
|
|
||||||
} catch (err) {
|
|
||||||
alerts.add({text: "Failed to copy text ", class: 'error'}, 3000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window.getSelection().removeAllRanges();
|
element.disabled = true;
|
||||||
|
|
||||||
|
alerts.add({text: 'Copied to clipboard', class: ''}, 3000);
|
||||||
});
|
});
|
||||||
|
|
||||||
let check = function() {
|
let check = function() {
|
||||||
|
|
|
@ -14,22 +14,23 @@
|
||||||
element.parentNode.insertBefore(button, element.nextSibling);
|
element.parentNode.insertBefore(button, element.nextSibling);
|
||||||
|
|
||||||
var copy = function(event) {
|
var copy = function(event) {
|
||||||
|
element.disabled = false;
|
||||||
|
|
||||||
|
element.focus();
|
||||||
|
element.select();
|
||||||
|
|
||||||
|
document.execCommand('Copy');
|
||||||
|
|
||||||
|
if (document.selection) {
|
||||||
|
document.selection.empty();
|
||||||
|
}
|
||||||
|
else if (window.getSelection) {
|
||||||
window.getSelection().removeAllRanges();
|
window.getSelection().removeAllRanges();
|
||||||
|
|
||||||
var range = document.createRange();
|
|
||||||
|
|
||||||
range.selectNode(element);
|
|
||||||
|
|
||||||
window.getSelection().addRange(range);
|
|
||||||
|
|
||||||
try {
|
|
||||||
document.execCommand('copy');
|
|
||||||
alerts.add({text: 'Copied to clipboard', class: ''}, 3000);
|
|
||||||
} catch (err) {
|
|
||||||
alerts.add({text: "Failed to copy text ", class: 'error'}, 3000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window.getSelection().removeAllRanges();
|
element.disabled = true;
|
||||||
|
|
||||||
|
alerts.add({text: 'Copied to clipboard', class: ''}, 3000);
|
||||||
};
|
};
|
||||||
|
|
||||||
button.addEventListener('click', copy);
|
button.addEventListener('click', copy);
|
||||||
|
|
Loading…
Reference in a new issue