Passare Il Count Di Una $Data->Field All 'onclick' Dell'icona Cancella

Situazione

Tipologie [N <-> 1] Causali

Nella vista index delle tipologie (CausalTypes) ho questa colonna




array(

	          'name' => 'activeCauals',

	          'value' => 'count($data->causalsObj)

 ),



praticamente mi dice quante causali ci sono legate a quella tipologia. E funziona, semplicemente grazie alla relation.

Tenete conto che questa colonna dovrà sparire

Quello che ho bisogno di fare è far si che l’icona ‘Cancella’ mi chieda ‘Vuoi davvero cancellare questa tiplogia’ se NON ci sono di causali attive di questo tipo, mentre deve chiedere ‘Sei davvero sicuro … perchè ci sono ‘n’ causali attive di questo tipo…’

Ho customizzato la columnbutton in modo che prenda il mio elenco di buttons come array, e a sua volta sto cercando di passare all’evento onclick ( proprietà click ) del deleteButton, il valore di count($data->causalsObj), ma ovviamente non funziona.

Vi chiedevo se c’è una Yii-way o comunque una strada sensata anche completamente diversa per ottenere questa funzionalità.

Un collega h a proposto una chiamata ajax ad una action che conta le causali attive, e restituisce il numero e quindi la funzione fa un window.confirm con un testo diverso a seconda … ma … insomma … non mi soddisfa.

Ultimo tentativo: usata gli attributi data- dell’html5




$buttonsArray = array(

			'update' => array(

					'label'=>Yii::t('general','Modifica'),

					'imageUrl'=> Yii::app()->request->baseUrl.'/css/icons/16/edit.png',

			),

			'delete' => array(

					'label'=>Yii::t('general','Cancella'),

					'imageUrl'=> Yii::app()->request->baseUrl.'/css/icons/16/cross.png',

			        'click' => "function() {return customDelConfirm(this); }",

			        'visible'=>'$data->isActive',

			        'options' => array('data-activeCausals' => "count($data->causalObj)" ),

			),

		);



ma non ha funzionato… ottengo questo




<a data-activeCausals="count()" ...



Usando (per prova)




'options' => array('data-activeCausals' => '$data->isActive' ),



ottengo

[ccode]

data-activeCausals="$data->isActive"

[/code]

per cui deduco che non viene eseguito l’eval nelle options.

stavo provando a fare la stessa cosa direttamente nel click, ma anche li finisce male…

A voi l’ardua sentenza