Ver código fonte

Stat tree edit (wip)

Vijayakrishnan 3 anos atrás
pai
commit
d497f2a6f7

+ 43 - 5
resources/views/app/stat-tree/stat-trees/sub/edit.blade.php

@@ -561,10 +561,10 @@
                         return false;
                     },
 
-                    getSelectedNodeArgs: function() {
+                    getSelectedNodeClauseArgs: function() {
                         let selected = this.selectedNode();
                         if(selected) {
-                            return selected.data.args;
+                            return selected.data.clause.args;
                         }
                         return [];
                     },
@@ -615,9 +615,21 @@
                                 for (let i = 0; i < args.length; i++) {
                                     $('<tr/>')
                                         .addClass(edit ? '' : 'opacity-60 parent-arg')
-                                        .append($('<td/>').addClass('pl-3').html(args[i].arg_text + ' <span class="text-secondary text-sm">(' + args[i].field_type + ')</span>'))
-                                        .append($('<td/>').text(args[i].default_value).append(edit ? '<a href="#" class="edit-arg-value ml-2" data-uid="' + args[i].uid + '"><i class="fa fa-edit text-primary text-sm on-hover-opaque"></i></a>': ''))
-                                        .append($('<td/>').text(args[i].access_level).append(edit ? '<a href="#" class="edit-arg-access-level ml-2" data-uid="' + args[i].uid + '"><i class="fa fa-edit text-primary text-sm on-hover-opaque"></i></a>': ''))
+                                        .append(
+                                            $('<td/>')
+                                                .addClass('pl-3')
+                                                .html(args[i].arg_text + ' <span class="text-secondary text-sm">(' + args[i].field_type + ')</span>')
+                                        )
+                                        .append(
+                                            $('<td/>')
+                                                .text(args[i].default_value)
+                                                .append(edit ? '<a href="#" class="edit-arg-value ml-2" data-index="' + i + '"><i class="fa fa-edit text-primary text-sm on-hover-opaque"></i></a>': '')
+                                        )
+                                        .append(
+                                            $('<td/>')
+                                                .text(args[i].access_level)
+                                                .append(edit ? '<a href="#" class="edit-arg-access-level ml-2" data-index="' + i + '"><i class="fa fa-edit text-primary text-sm on-hover-opaque"></i></a>': '')
+                                        )
                                         .appendTo(tbody);
                                 }
                             }
@@ -705,6 +717,32 @@
                         return false;
                     });
 
+                $(document)
+                    .off('click', '.edit-arg-value')
+                    .on('click', '.edit-arg-value', function() {
+                        let args = StatTree.getSelectedNodeClauseArgs();
+                        let value = window.prompt('New value:', args[+($(this).attr('data-index'))].default_value || '');
+                        if(value !== null) {
+                            args[+($(this).attr('data-index'))].default_value = value;
+                            StatTree.onSelected();
+                            StatTree.setDirty();
+                        }
+                        return false;
+                    });
+
+                $(document)
+                    .off('click', '.edit-arg-access-level')
+                    .on('click', '.edit-arg-access-level', function() {
+                        let args = StatTree.getSelectedNodeClauseArgs();
+                        let accessLevel = window.prompt('New access level (USER, PRO or ADMIN):', args[+($(this).attr('data-index'))].access_level || '');
+                        if(accessLevel !== null) {
+                            args[+($(this).attr('data-index'))].access_level = accessLevel;
+                            StatTree.onSelected();
+                            StatTree.setDirty();
+                        }
+                        return false;
+                    });
+
                 $(document)
                     .off('click', '.clause-expand-all')
                     .on('click', '.clause-expand-all', function() {