Sfoglia il codice sorgente

Stat tree UI/logic updates

Vijayakrishnan 3 anni fa
parent
commit
ad2581d4ef

+ 17 - 14
app/Http/Controllers/StatTreeController.php

@@ -81,6 +81,7 @@ class StatTreeController extends Controller
         $statTree->model = $request->input('model');
         $statTree->slug = $request->input('slug');
         $statTree->is_template = (bool)$request->input('isTemplate');
+        $statTree->pro_id = NULL;
         if($request->input('proUid')) {
             $pro = Pro::where('uid', $request->input('proUid'))->first();
             if($pro) {
@@ -207,7 +208,7 @@ class StatTreeController extends Controller
                         $statTreeLineClauseArg->clause_arg_id = $clauseArg->id;
                         $statTreeLineClauseArg->access_level = 'ADMIN';
                         $statTreeLineClauseArg->stat_tree_id = $statTree->id;
-                        $statTreeLineClauseArg->default_value = null;
+                        $statTreeLineClauseArg->value = null;
 
                         // TODO: need to copy clause arg values from parent node for all except last clause
 
@@ -278,7 +279,7 @@ class StatTreeController extends Controller
             $children = [];
 
             // clause text child
-            $children[] = [
+            /*$children[] = [
                 "text" => $clause->clause_text,
                 "icon" => "fa fa-laptop-code text-primary text-sm",
                 "state" => [
@@ -295,7 +296,7 @@ class StatTreeController extends Controller
                 "data" => [
                     "type" => "clause_text"
                 ]
-            ];
+            ];*/
 
             // clause arg children
             $argsSystem = [];
@@ -304,7 +305,7 @@ class StatTreeController extends Controller
                     "text" => $clauseArg->arg_text . '<span class="text-secondary text-sm ml-2">' . $clauseArg->field_type . '</span>',
                     "icon" => "fa fa-cubes text-info",
                     "state" => [
-                        "opened" => false,
+                        "opened" => true,
                         "disabled" => false,
                         "selected" => false,
                     ],
@@ -320,7 +321,7 @@ class StatTreeController extends Controller
                 $argsSystem[] = [
                     "arg_text" => $clauseArg->arg_text,
                     "field_type" => $clauseArg->field_type,
-                    "default_value" => null,
+                    "value" => null,
                     "access_level" => null
                 ];
             }
@@ -376,7 +377,7 @@ class StatTreeController extends Controller
                 $value = null;
                 foreach ($lineClause->lineClauseArgs as $lineClauseArg) {
                     if($lineClauseArg->clause_arg_id === $clauseArg->id) {
-                        $value = $lineClauseArg->default_value;
+                        $value = $lineClauseArg->value;
                     }
                 }
 
@@ -388,10 +389,11 @@ class StatTreeController extends Controller
                 }
             }
 
-            $isValid = $this->cleanupClause($clauseText);
-            if ($isValid) {
+            //dump($clauseText);
+            /*$isValid = $this->cleanupClause($clauseText);
+            if ($isValid) {*/
                 array_push($clauses, $clauseText);
-            }
+            //}
         }
 
         // if stat tree bound to a pro, apply pro_scope_clause
@@ -410,6 +412,7 @@ class StatTreeController extends Controller
 
         $query = 'SELECT COUNT(*) FROM '.$model.' WHERE '. implode(" AND ", $clauses);
         try {
+            //dump($query);
             $result = DB::select($query);
         }
         catch (\Exception $ex) {
@@ -479,10 +482,10 @@ class StatTreeController extends Controller
                 $args[] = [
                     "arg_text" => $stlcArg->clauseArg->arg_text,
                     "field_type" => $stlcArg->clauseArg->field_type,
-                    "default_value" => $stlcArg->default_value,
+                    "value" => $stlcArg->value,
                     "access_level" => $stlcArg->access_level
                 ];
-                $argsLabel[] = $stlcArg->clauseArg->arg_text . ': ' . $stlcArg->default_value;
+                $argsLabel[] = $stlcArg->clauseArg->arg_text . ': ' . $stlcArg->value;
             }
         }
         $clause = [
@@ -598,7 +601,7 @@ class StatTreeController extends Controller
                     $statTreeLineClauseArg->id = $nextId[0]->nextval;
                     $statTreeLineClauseArg->stat_tree_line_clause_id = $statTreeLineClause->id; // this line cause
                     $statTreeLineClauseArg->clause_arg_id = $parentLineClauseArg->clause_arg_id;
-                    $statTreeLineClauseArg->default_value = $parentLineClauseArg->default_value;
+                    $statTreeLineClauseArg->value = $parentLineClauseArg->value;
                     $statTreeLineClauseArg->access_level = $parentLineClauseArg->access_level;
                     $statTreeLineClauseArg->stat_tree_id = $statTree->id;
                     $statTreeLineClauseArg->save();
@@ -629,12 +632,12 @@ class StatTreeController extends Controller
             $statTreeLineClauseArg->id = $nextId[0]->nextval;
             $statTreeLineClauseArg->stat_tree_line_clause_id = $statTreeLineClause->id;
             $statTreeLineClauseArg->clause_arg_id = $clauseArg->id;
-            $statTreeLineClauseArg->default_value = null;
+            $statTreeLineClauseArg->value = null;
             $statTreeLineClauseArg->access_level = 'ADMIN';
             for ($j=0; $j<count($line->clause->args); $j++) { // find the arg matching text and type from line->args and use that
                 if($line->clause->args[$j]->arg_text === $clauseArg->arg_text &&
                     $line->clause->args[$j]->field_type === $clauseArg->field_type) {
-                    $statTreeLineClauseArg->default_value = $line->clause->args[$j]->default_value;
+                    $statTreeLineClauseArg->value = $line->clause->args[$j]->value;
                     $statTreeLineClauseArg->access_level = $line->clause->args[$j]->access_level;
                     break;
                 }

+ 3 - 5
app/Http/Controllers/StatTreeLineController.php

@@ -174,7 +174,7 @@ class StatTreeLineController extends Controller
                 $value = null;
                 foreach ($lineClause->lineClauseArgs as $lineClauseArg) {
                     if($lineClauseArg->clause_arg_id === $clauseArg->id) {
-                        $value = $lineClauseArg->default_value;
+                        $value = $lineClauseArg->value;
                     }
                 }
 
@@ -186,10 +186,8 @@ class StatTreeLineController extends Controller
                 }
             }
 
-            $isValid = $this->cleanupClause($clauseText);
-            if ($isValid) {
-                array_push($clauses, $clauseText);
-            }
+            array_push($clauses, $clauseText);
+
         }
 
         // if stat tree bound to a pro, apply pro_scope_clause

+ 2 - 2
app/Models/StatTreeLine.php

@@ -72,7 +72,7 @@ class StatTreeLine extends Model
                     "uid" => $stlcArg->uid,
                     "arg_text" => $stlcArg->clauseArg->arg_text,
                     "field_type" => $stlcArg->clauseArg->field_type,
-                    "default_value" => $stlcArg->default_value,
+                    "value" => $stlcArg->value,
                     "access_level" => $stlcArg->access_level,
                 ];
             }
@@ -114,7 +114,7 @@ class StatTreeLine extends Model
                 $newStatTreeLineClauseArg->clause_arg_id = $srcLineClauseArg->clause_arg_id;
                 $newStatTreeLineClauseArg->access_level = $srcLineClauseArg->access_level;
                 $newStatTreeLineClauseArg->stat_tree_id = $newStatTree->id;
-                $newStatTreeLineClauseArg->default_value = $srcLineClauseArg->default_value;
+                $newStatTreeLineClauseArg->value = $srcLineClauseArg->value;
                 $newStatTreeLineClauseArg->save();
             }
         }

+ 1 - 1
config/app.php

@@ -65,7 +65,7 @@ return [
 
     'hrm2_url' => env('HRM2_URL'),
 
-    'asset_version' => 45,
+    'asset_version' => 46,
 
     'temp_dir' => env('TEMP_DIR'),
 

+ 15 - 6
js-dev/pro-suggest.js

@@ -18,14 +18,23 @@
     var lastTerm = '';
     var returnedFunction = debounce(function (elem) {
         var term = elem.val();
-        if (!!term && lastTerm !== term) {
-            $.get('/pro-suggest?term=' + $.trim(term) + '&type=' + elem.attr('provider-type'), function (_data) {
-                suggestionsOuter.html(_data).removeClass('d-none');
-            });
-            lastTerm = term;
-        } else {
+        if(term === '') {
+            let select = suggestionsOuter.closest('.position-relative')
+                .prev('.pro-suggest-input')
+                .prev('select[provider-search]');
+            select.empty().val('').append($('<option value="" selected/>').text('')).trigger('change');
             suggestionsOuter.addClass('d-none');
         }
+        else {
+            if (!!term && lastTerm !== term) {
+                $.get('/pro-suggest?term=' + $.trim(term) + '&type=' + elem.attr('provider-type'), function (_data) {
+                    suggestionsOuter.html(_data).removeClass('d-none');
+                });
+                lastTerm = term;
+            } else {
+                suggestionsOuter.addClass('d-none');
+            }
+        }
     }, 250);
 
     function handleKeydown(elem, e) {

+ 1 - 1
resources/views/app/stat-tree/stat-tree-lines/view-data.blade.php

@@ -18,7 +18,7 @@
                             <?php
                             $argsLabel = [];
                             foreach($lineClause->lineClauseArgs as $lineClauseArg) {
-                                $argLabel = $lineClauseArg->clauseArg->arg_text . ': ' . $lineClauseArg->default_value;
+                                $argLabel = $lineClauseArg->clauseArg->arg_text . ': ' . $lineClauseArg->value;
                                 $argsLabel[] = $argLabel;
                             }
                             ?>

+ 24 - 9
resources/views/app/stat-tree/stat-trees/sub/edit.blade.php

@@ -96,7 +96,7 @@
                 <div id="statTreeEdit-{{$statTree->id}}" class="row m-0 h-100 stat-tree {{$multiProView ? 'multi-pro-view' : ''}}">
 
                     <!-- clauses -->
-                    <div class="col-3 p-0 h-100 clauses-column">
+                    <div class="col-3 p-0 h-100 clauses-column overflow-auto">
 
                         <div class="d-flex flex-column h-100">
                             <div class="d-flex align-items-center pl-2 height-35px border-bottom bg-light">
@@ -266,7 +266,7 @@
 
 
                     <!-- tree -->
-                    <div class="col-9 p-0 h-100 border-left tree-column">
+                    <div class="col-9 p-0 h-100 border-left tree-column overflow-auto">
                         <div class="row m-0 h-100">
                             <div class="{{$multiProView ? 'col-12' : 'col-6'}} tree-lhs-column border-right h-100 p-0">
                                 <div class="d-flex flex-column h-100">
@@ -302,7 +302,7 @@
                                             <div class="stat-tree-view overflow-auto min-height-300px" id="stat-tree-edit-{{$statTree->id}}"></div>
                                         @else
                                             <div class="d-flex align-items-start">
-                                                <div class="mv-tree">
+                                                <div class="mv-tree overflow-auto">
                                                     <div class="multi-pro-view-stat-label">Stat</div>
                                                     <div class="stat-tree-view overflow-auto" id="stat-tree-edit-{{$statTree->id}}"></div>
                                                 </div>
@@ -596,7 +596,7 @@
                                                                     "action": function (obj) {
                                                                         openDynamicStagPopup('/practice-management/stat-tree-lines/view-data/' + node.data.uid,
                                                                             null,
-                                                                            node.data.extendedLabel,
+                                                                            'View Data',
                                                                             false,
                                                                             'medium');
                                                                     },
@@ -762,7 +762,7 @@
                                         let stateNode = JSON.parse(JSON.stringify(node));
                                         for (let j = 0; j < stateNode.data.clause.args.length; j++) {
                                             if(stateNode.data.clause.args[j].arg_text === 'state' && stateNode.data.clause.args[j].field_type === 'text') {
-                                                stateNode.data.clause.args[j].default_value = states[i];
+                                                stateNode.data.clause.args[j].value = states[i];
                                             }
                                         }
                                         stateNode.text = stateNode.text.replace(/state:\s[A-Z]{2}/g, 'state: ' + states[i]);
@@ -1134,7 +1134,7 @@
                                                     )
                                                     .append(
                                                         $('<td/>')
-                                                            .text(args[i].default_value)
+                                                            .text(args[i].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(
@@ -1156,7 +1156,7 @@
                                             $('<tr/>')
                                                 .append($('<td/>').text(i + 1))
                                                 .append($('<td/>').text(columns[i].label).append('<a href="#" class="edit-column-label ml-2" data-index="' + i + '"><i class="fa fa-edit text-primary text-sm on-hover-opaque"></i></a>'))
-                                                .append($('<td/>').text(columns[i].display_key))
+                                                .append($('<td/>').text(columns[i].display_key).append('<a href="#" class="edit-column-column ml-2" data-index="' + i + '"><i class="fa fa-edit text-primary text-sm on-hover-opaque"></i></a>'))
                                                 .append($('<td/>').text(columns[i].type))
                                                 .append(
                                                     $('<td/>')
@@ -1237,9 +1237,9 @@
                                 .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 || '');
+                                    let value = window.prompt('New value:', args[+($(this).attr('data-index'))].value || '');
                                     if(value !== null) {
-                                        args[+($(this).attr('data-index'))].default_value = value;
+                                        args[+($(this).attr('data-index'))].value = value;
                                         StatTree.onSelected();
                                         StatTree.setDirty();
                                     }
@@ -1274,6 +1274,21 @@
                                     return false;
                                 });
 
+                            $(document)
+                                .off('click', '.edit-column-column')
+                                .on('click', '.edit-column-column', function() {
+                                    let columns = StatTree.getSelectedNodeColumns();
+                                    let index = +($(this).attr('data-index'));
+                                    let value = window.prompt('New column:', columns[+($(this).attr('data-index'))].display_key || '');
+                                    if(value !== null) {
+                                        columns[index].display_key = value;
+                                        StatTree.setSelectedNodeColumns(columns);
+                                        StatTree.onSelected();
+                                        StatTree.setDirty();
+                                    }
+                                    return false;
+                                });
+
                             $(document)
                                 .off('click', '.clause-expand-all')
                                 .on('click', '.clause-expand-all', function() {