yii2-multiple-input icon indicating copy to clipboard operation
yii2-multiple-input copied to clipboard

Yii2 advanced template and Bootstrap 5

Open numitec opened this issue 2 years ago • 1 comments

Hello there,

just a question about the Bootstrap requirements: I've installed a vanilla Yii2 advanced template and now it comes with BS5; is there a version of Multiple Input compatible?

I've tried with latest 2.7.0 and TabularInput.php uses:

use yii\bootstrap\Widget;

Thank you and really appreciate your work.

S.

numitec avatar Nov 01 '22 20:11 numitec

In order to use it, albeit in a untidy and lazy way, I've changed TableRenderer:

    private function renderAddButton()
    {
		$pathOptions = [
			'd' => 'M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z'
		];

		$svgOptions = [
			'xmlns' => 'http://www.w3.org/2000/svg',
			'width' => 24,
			'height' => 24,
			'fill' => 'green',
			'class' => 'bi bi-plus-circle-fill multiple-input-list__btn js-input-plus',
			'viewBox' => '0 0 16 16'
		];

		$html = Html::beginTag( 'a', [ 'href' => '#' ] );
		$html.= Html::beginTag( 'svg', $svgOptions );
		$html.= Html::tag( 'path', Null, $pathOptions );
		$html.= Html::endTag( 'svg' );
		$html.= Html::endTag( 'a' );

		return $html;
    }
    private function renderRemoveButton()
    {
		$pathOptions = [
			'd' => 'M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z'
		];

		$svgOptions = [
			'xmlns' => 'http://www.w3.org/2000/svg',
			'width' => 24,
			'height' => 24,
			'fill' => 'red',
			'class' => 'bi-x-circle-fill multiple-input-list__btn js-input-remove',
			'viewBox' => '0 0 16 16'
		];

		$html = Html::beginTag( 'a', [ 'href' => '#' ] );
		$html.= Html::beginTag( 'svg', $svgOptions );
		$html.= Html::tag( 'path', Null, $pathOptions );
		$html.= Html::endTag( 'svg' );
		$html.= Html::endTag( 'a' );

		return $html;
    }

It works but sorry the messy code...

numitec avatar Nov 03 '22 15:11 numitec