I used such a long class name so it would easily be know what it is used by extension and for which action, and to avoid class collisions.
For starters you should remove
'deleteConfirmation' => true
or set it to false, because you are using a view for delete confirmation. Otherwise Yii might decide to add extra code to show delete confirmation through JavaScript, which might break extension and default Yii deletion through JavaScript will stop working without JavaScript.
Second, you don’t need to use a class for delete or update button which are inside grid view (plus you are using wrong class). You need that class for create model links for jQuery so it can attach click events to them.
So in short:
-
Remove or set ‘deleteConfirmation’ to false (just in case)
-
Update and delete buttons which are in grid view only needs ‘click’ property set
-
Model action links which are not in grid view needs a class for jQuery to set the click event
I haven’t tested this but it should be possible to use update/delete model with links which aren’t inside grid view (only data refresh won’t work, as I only implemented that for grid view for now). In example (not tested), links can be created like:
<?php echo CHtml::link( 'Add new location', array( 'create' ), array(
'class' => 'update-dialog-create' ) ); ?>
<?php echo CHtml::link( 'Update location', array( 'update' ), array(
'class' => 'update-dialog-update' ) ); ?>
<?php echo CHtml::link( 'Delete location', array( 'delete' ), array(
'class' => 'update-dialog-delete' ) ); ?>
You can use different classes for links, but remember that you will need to update eUpdateDialog.js to use those classes for selector.
And then you will need to update eUpdateDialog.js file with this code (I added here the create code, but it is already inside extensions JavaScript file, so you need only add code for update and delete):
jQuery( function($){
$( 'a.update-dialog-create' ).bind( 'click', updateDialogCreate );
});
jQuery( function($){
$( 'a.update-dialog-update' ).bind( 'click', updateDialogUpdate );
});
jQuery( function($){
$( 'a.update-dialog-delete' ).bind( 'click', updateDialogDelete );
});
If it still not working like it should, try to use http://getfirebug.com/ add-on. Just enable NET panel and using console panel just that is being requested and send.
I’m attaching one of my admin view files which uses this extension, so you can compare it with yours to help you out.