From e030a4e62588fe8f7b4083eeb0bcd8e8b6010a75 Mon Sep 17 00:00:00 2001 From: "Mr. Wasim" <57211975+MrWasimAbbasi@users.noreply.github.com> Date: Wed, 7 Sep 2022 15:25:04 +0500 Subject: [PATCH] singularize checkbox click to generate model name again On model generator, if checkbox is clicked it will send a request to generator to generate model name again. --- src/assets/js/gii.js | 21 ++++++++++++++++++++- src/generators/model/form.php | 7 ++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/assets/js/gii.js b/src/assets/js/gii.js index c608b8371..c9aa70267 100644 --- a/src/assets/js/gii.js +++ b/src/assets/js/gii.js @@ -212,7 +212,26 @@ yii.gii = (function ($) { } $('.field-generator-caseinsensitive').toggle(!show); }).change(); - + $("#generator-singularize").click(function () { + var $this = $(this); + var $modelClass = $('#generator-modelclass'); + getModelClassName($this, $modelClass); + }) + + function getModelClassName($this, $modelClass) { + ajaxRequest = $.ajax({ + type: 'POST', + cache: false, + url: $this.data('action'), + data: $('#model-generator').serializeArray(), + success: function (response) { + $modelClass.val(response).blur(); + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + $modal.find('.modal-body').html('
' + XMLHttpRequest.responseText + '
'); + } + }); + } // model generator: translate table name to model class $('#model-generator #generator-tablename').on('blur', function () { var $this = $(this); diff --git a/src/generators/model/form.php b/src/generators/model/form.php index 18cc8ddc3..728e4d0ae 100644 --- a/src/generators/model/form.php +++ b/src/generators/model/form.php @@ -18,7 +18,12 @@ ] ]); echo $form->field($generator, 'standardizeCapitals')->checkbox(); -echo $form->field($generator, 'singularize')->checkbox(); +echo $form->field($generator, 'singularize')->checkbox([ + 'data' => [ + 'table-prefix' => $generator->getTablePrefix(), + 'action' => Url::to(['default/action', 'id' => 'model', 'name' => 'GenerateClassName']) + ] +]); echo $form->field($generator, 'modelClass'); echo $form->field($generator, 'ns'); echo $form->field($generator, 'baseClass');