フィールドの内容をクリップボードにコピーするボタンを作りたいです。
現在、
レコードデータコピー(メール転記)プラグイン(レコードデータコピー(メール転記)プラグイン | kintoneプラグイン | かりんこラボ)
を使用しています。
ただ、ポップアップが毎回表示されることと、1レコードに1つしかコピーボタンが設置できないため、JavaScriptでボタンを自作することにしました。
今回ボタンの作成はできましたが、コピーすると
aaaaa↵
↵ ←本来は1行なのに、2行空く
aaaaa
のように、改行が2行になってしまいます。
コピーしたい文章は、kintoneの「文字列(複数行)の設定」の初期値に設定したものです。
(function() {
"use strict";
// ボタンを設置
let addButton = function(event) {
let addCopyButton = document.createElement('button_ref');
addCopyButton.innerHTML = '本文コピー';
addCopyButton.id = 'add_soft_button';
addCopyButton.classList.add('kintoneplugin-button-dialog-ok');
// クリップボードにコピー
let mailContent = kintone.app.record.getFieldElement("content");
addCopyButton.addEventListener('click', function() {
const mailContentText = mailContent.innerText;
copytoClipboarad(mailContentText);
});
// コピーを実行
kintone.app.record.getSpaceElement('button_ref').appendChild(addCopyButton);
// コピー後の挙動
function copytoClipboarad(target) {
navigator.clipboard.writeText(target);
addCopyButton.innerHTML = 'コピーしました!';
addCopyButton.classList.add('kintoneplugin-button-dialog-cancel');
}
};
kintone.events.on(['app.record.detail.show', 'app.record.edit.show', 'app.record.create.show'], function(event) {
//ボタンの追加
addButton(event);
return event;
});
})();
どなたかなにかわかる方いらっしゃいませんでしょうか。
よろしくお願いします。