You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

78 lines
2.1 KiB

/**
* @deprecated Verwendet die ebenfalls deprecated function document.execCommand('copy')
* @param {*} triggerElement
*/
function copyFieldToClipboard2(triggerElement) {
var copyText = document.getElementById("myText");
copyText.select();
copyText.setSelectionRange(0, 99999); // For mobile devices
// Copy the text inside the textarea
document.execCommand("copy");
let valuecontainer = triggerElement.parent
.querySelector('.valuecontainer');
let fieldvalue = valuecontainer.value;
navigator.clipboard.writeText(fieldvalue);
// Optional: Alert the copied text
alert("Copied: " + copyText.value);
}
function copyFieldToClipboard(triggerElement) {
let valcon = triggerElement.closest('.value-to-clipboard-field')
.querySelector('.valuecontainer');
navigator.clipboard.writeText(valcon.value)
}
/**
*
* @param {string} value
* @param {number} index
* @param {Array<string>} arr
* @param {boolean} hideCopy
* @param {string} [type="text"] Falls ein anderer typ gebraucht wird
* @returns {Component}
*/
function fieldForValueCopy(
value,
index,
arr,
hideCopy = true,
type="text",
setName = "field-" + (index + 3)
) {
return builder.div()
.addStyleClass("value-to-clipboard-field")
.childContext([
builder.input(type)
.readonly()
.addStyleClass("valuecontainer")
.text(value)
.name(setName)
.modifier(
new Modifier()
.padding(0)
.border(0)
,
".inputfield-border-none"
)
,
builder.extensions.iconMIO(ICONS.CONTENT_COPY)
.hiddenByCondition(hideCopy)
.modifier(
new Modifier()
.setStyleRule("cursor", "pointer")
.setStyleRule("visibility", "hidden")
)
.setAttribute(
"onclick",
"copyFieldToClipboard(this)"
)
])
}