Browse Source

Change input type based on configuration type

Jovan Jovanovic 3 years ago
parent
commit
76595aa7bb

+ 1 - 1
app/Http/Controllers/Admin/ConfigurationController.php

@@ -112,7 +112,7 @@ class ConfigurationController extends Controller
 
 
         return datatables($query)
         return datatables($query)
             ->addColumn('actions', function (Configuration $configuration) {
             ->addColumn('actions', function (Configuration $configuration) {
-                return '<button data-content="Edit" data-toggle="popover" data-trigger="hover" data-placement="top" onclick="configuration.parse(\'' . $configuration->key . '\',\'' . $configuration->value . '\')" data-content="Edit" data-trigger="hover" data-toggle="tooltip" class="btn btn-sm btn-info mr-1"><i class="fas fa-pen"></i></button> ';
+                return '<button data-content="Edit" data-toggle="popover" data-trigger="hover" data-placement="top" onclick="configuration.parse(\'' . $configuration->key . '\',\'' . $configuration->value . '\',\'' . $configuration->type . '\')" data-content="Edit" data-trigger="hover" data-toggle="tooltip" class="btn btn-sm btn-info mr-1"><i class="fas fa-pen"></i></button> ';
             })
             })
             ->editColumn('created_at', function (Configuration $configuration) {
             ->editColumn('created_at', function (Configuration $configuration) {
                 return $configuration->created_at ? $configuration->created_at->diffForHumans() : '';
                 return $configuration->created_at ? $configuration->created_at->diffForHumans() : '';

+ 12 - 3
resources/views/admin/configurations/editModel.blade.php

@@ -22,7 +22,6 @@
                                     <i class="fa fa-cog"></i>
                                     <i class="fa fa-cog"></i>
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <input id="value" name="value" type="text" class="form-control" required="required">
                         </div>
                         </div>
                     </div>
                     </div>
 
 
@@ -37,16 +36,26 @@
                     <button type="submit" class="btn btn-primary">Save</button>
                     <button type="submit" class="btn btn-primary">Save</button>
                 </div>
                 </div>
             </form>
             </form>
-
         </div>
         </div>
     </div>
     </div>
 </div>
 </div>
 
 
 <script>
 <script>
     window.configuration = {
     window.configuration = {
-        parse(key, value){
+        parse(key, value, type) {
             $('#keyLabel').html(key)
             $('#keyLabel').html(key)
             $('#key').val(key)
             $('#key').val(key)
+            $('#value').remove();
+            if (type === 'integer') {
+                $('.input-group').append('<input id="value" name="value" type="number" class="form-control" required="required">')
+            } else if (type === 'boolean') {
+                $('.input-group').append('<select id="value" name="value" class="form-control" required=required>' +
+                    '<option value="true">true</option>' +
+                    '<option value="false">false</option>' +
+                    '</select>')
+            } else if (type === 'string') {
+                $('.input-group').append('<input id="value" name="value" type="text" class="form-control" required="required">')
+            }
             $('#value').val(value)
             $('#value').val(value)
             $('#editConfigurationModel').modal('show')
             $('#editConfigurationModel').modal('show')
         }
         }