\supplyhog\ClipboardJs\ClipboardJsWidget
一見正常に動作する拡張機能をインストールしました
。
しかし、グリッドビューで機能させるのに苦労しています。
拡張機能のコードは既にウィジェットを使用しており、グリッドビュー自体がウィジェットであるため、競合していると思います。
gridview 以外の推奨コードは次のとおりです。
//Button to copy text
<?= \supplyhog\ClipboardJs\ClipboardJsWidget::widget([
'text' => "Hello World",
// 'label' => 'Copy to clipboard',
// 'htmlOptions' => ['class' => 'btn'],
// 'tag' => 'button',
]) ?>
//Button to copy text from input id
<?= \supplyhog\ClipboardJs\ClipboardJsWidget::widget([
'inputId' => "#input-url",
// 'cut' => false, // Cut the text out of the input instead of copy?
// 'label' => 'Copy to clipboard',
// 'htmlOptions' => ['class' => 'btn'],
// 'tag' => 'button',
]) ?>
これをGridviewに統合するにはどうすればよいですか?
例 -
次のように表示されます - 3 番目のセルはクリップボード コードの結果です。
テキストが非表示になる例
@Omer の助けを借りて、次のようにコードを変更しようとしました。
.mycopy{
position:absolute;
right:-10px;
top:-10px;
}
.mycopy .btn{
padding:2px !important;
}
[
'attribute' => 'title',
'format' => 'raw',
'value' => function($model){
$button=\supplyhog\ClipboardJs\ClipboardJsWidget::widget([
'text' => $model->title,
'label' =>'<i class="far fa-copy" aria-hidden="true"></i>',
]);
return "<div style='position:relative'><div style='margin-right:10px;'>".$model->title."</div><div class='mycopy'>".$button."</div></div>";
}
],
結果は次のようになります。