Commit d0e38872f589034383ada603f19a4cbb936c257e

Authored by Nikita Kulshreshtha
2 parents 4105a5ca 44e22bfa

Merge branch 'labEx' into Develop

400-SOURCECODE/AIAHTML5.Web/app/controllers/LabExercController.js
... ... @@ -65,14 +65,12 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
65 65  
66 66 //to get all lab exercise modules from json files
67 67 $scope.getLabExerciseModules = function () {
68   - //debugger;
  68 +
69 69 $scope.LabExerciseModules1 = null;
70 70 var labExerciseModulePath = '~/../content/data/json/le/labexercise.json';
71 71  
72 72 DataService.getAnotherJson(labExerciseModulePath).then(
73 73 function (result) {
74   - //debugger;
75   - //alert(JSON.stringify(result));
76 74 $scope.LabExerciseModules1 = result;
77 75 },
78 76 function (error) {
... ... @@ -450,11 +448,20 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
450 448  
451 449 $scope.dragableId = $(this).attr("Id");
452 450 $scope.a = $scope.dragableId;
453   -
  451 +
454 452 console.log($scope.dragableId);
455 453 $scope.dragableText = $("#" + $scope.dragableId).text();
456   - // alert($("#" + $scope.dragableId).text());
457   -
  454 +
  455 + if ($scope.dragableId.split('-')[0] != 'block') {
  456 + $scope.draggableAttribute = $("#" + $scope.dragableId).attr("draggedattr");
  457 + $("#" + $scope.dragableId).removeAttr("draggedattr");
  458 + }
  459 + else
  460 + {
  461 +
  462 + $scope.draggableAttribute = '';
  463 + }
  464 +
458 465 //if user drag already selected answer from one blankbox to another than it gets id of blank box so need to get answer
459 466 if ($scope.dragableId.indexOf('T') != -1) {
460 467 var optionText = document.getElementById($scope.dragableId).innerHTML;
... ... @@ -498,8 +505,8 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
498 505 var x = $("#droppable").offset();
499 506  
500 507 var id = $(this).attr("id");
501   -
502   -
  508 +
  509 +
503 510 var keywords = $location.search();
504 511  
505 512 if ($.browser.msie) {
... ... @@ -528,13 +535,13 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
528 535 if ($scope.DraggedList != null) {
529 536 $.each($scope.DraggedList, function (inx1, value3) {
530 537 $scope.UserAttempt.push({ "BlankBoxName": id.split('-')[1], "OptionName": $scope.dragableId.split('-')[1] });
531   - if ($scope.DraggedList[inx1].id == $scope.a.split('-')[1]) {
532   - $scope.b = $scope.DraggedList[inx1].blockID;
533   - $scope.DraggedList.splice(inx1, 1);
534   - $('#' + $scope.b).css({ "display": "block", "color": "#000000!important" });
535   - $('#blockans-' + $scope.b.split('-')[1]).css("background-color", "transparent !important");
536   - // alert('removed from dropbox= '+'blockans-' + $scope.b.split('-')[1]);
537   - }
  538 + if ($scope.DraggedList[inx1].DraggedAttr == $scope.draggableAttribute) {
  539 + // $scope.b = $scope.DraggedList[inx1].blockID;
  540 + $scope.DraggedList.splice(inx1, 1);
  541 + $('#' + $scope.draggableAttribute).css({ "display": "block", "color": "#000000!important" });
  542 + $('#blockans-' + $scope.a.split('-')[1]).css("background-color", "transparent !important");
  543 + }
  544 +
538 545 });
539 546 }
540 547 }
... ... @@ -567,21 +574,13 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
567 574 $.each(Options, function (inx, value2) {
568 575 if (Options[inx].BoxName == id.split('-')[1]) {
569 576 if ($scope.DraggedList != null) {
570   - //$.each($scope.DraggedList, function (inx1, value3) {
571   - // if ($scope.DraggedList[inx1].Value == dataText) {
572   - // $scope.DraggedList.splice(inx1, 1);
573   - // }
574   - //});
575 577 for (var i = 0; i <= $scope.DraggedList.length - 1; i++) {
576   -
577 578 if ($scope.DraggedList[i].Value == undefined) {
578 579 i = 0;
579 580 continue;
580 581 }
581   -
582   -
583   - //if ($scope.DraggedList[i].Value == dataText) {
584   - if ($scope.DraggedList[i].id == id.split('-')[1]) {
  582 + if ($scope.DraggedList[i].DraggedAttr == $scope.draggableAttribute)
  583 + {
585 584 $scope.DraggedList.splice(i, 1);
586 585 }
587 586 }
... ... @@ -589,10 +588,29 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
589 588 // $scope.UserAttempt.push({ "BlankBoxName": id.split('-')[1], "OptionName": $scope.dragableId.split('-')[1] });
590 589 //$scope.UserAttempt.push({ balnkBox: +$scope.dragableId.split('-')[1] });
591 590 $scope.UserAttempt.push({ "BlankBoxName": id.split('-')[1], "OptionName": $scope.dragableId.split('-')[1] });
592   - $scope.DraggedList.push({ "blockID": $scope.dragableId, "id": id.split('-')[1], "optionName": id.split('-')[1], "Value": dataText, "topcoord": Options[inx].topcoord, "leftcoord": Options[inx].leftcoord });
  591 + if ($scope.dragableId.split('-')[0] == 'block') {
  592 + $scope.DraggedList.push({ "DraggedAttr": $scope.dragableId, "blockID": $scope.dragableId, "id": id.split('-')[1], "optionName": id.split('-')[1], "Value": dataText, "topcoord": Options[inx].topcoord, "leftcoord": Options[inx].leftcoord });
  593 + }
  594 + else
  595 + {
  596 + $scope.DraggedList.push({ "DraggedAttr": $scope.draggableAttribute, "blockID": $scope.dragableId, "id": id.split('-')[1], "optionName": id.split('-')[1], "Value": dataText, "topcoord": Options[inx].topcoord, "leftcoord": Options[inx].leftcoord });
  597 + }
593 598 $('#' + $scope.dragableId).css("display", "none");
594 599 $('#blockans-' + Options[inx].OptionNumber).css("background-color", "transparent !important");
  600 + if ($scope.dragableId.split('-')[0] == 'block') {
  601 + $timeout(function () {
  602 + $('#blockans-' + id.split('-')[1]).attr("draggedAttr", $scope.dragableId);
  603 + }, 350);
  604 + }
  605 + else
  606 + {
  607 + $timeout(function () {
  608 + $('#blockans-' + id.split('-')[1]).attr("draggedAttr", $scope.draggableAttribute);
  609 + }, 350);
  610 + }
  611 + console.log($scope.DraggedList);
595 612 $scope.a = $scope.dragableId;
  613 +
596 614 }
597 615 });
598 616 }
... ... @@ -759,6 +777,8 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
759 777 $("#messageModal").modal('show');
760 778 }
761 779 )
  780 +
  781 +
762 782 };
763 783  
764 784 $scope.usersCorrectQuestData = [];
... ... @@ -1071,21 +1091,33 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
1071 1091 $('#' + blocks[j].id).css("display", "none");
1072 1092 break;
1073 1093 }
1074   -
  1094 +
1075 1095 };
1076   -
  1096 +
1077 1097 }
1078 1098  
1079 1099 }
1080 1100 }
1081 1101  
1082   - else {
1083   - var dragList = lastQuestionDetails[0].DragList;
1084   - angular.forEach(dragList, function (v, k) {
1085   - $('#' + v.blockID).css("display", "none");
1086   - })
1087   - }
  1102 + }
  1103 + if (lastQuestionDetails != undefined && lastQuestionDetails.length > 0 && !isFromDB) {
  1104 + var dragList = lastQuestionDetails[0].DragList;
  1105 + var blocks = $("div[id*='block-']");
  1106 + angular.forEach(dragList, function (v, k) {
  1107 +
  1108 + for (var j = 0; j < blocks.length; j++) {
  1109 +
  1110 + if ((blocks[j].innerHTML).toString() == v.Value) {
  1111 + if ($('#' + blocks[j].id).css('display').toLowerCase() == 'block') {
  1112 + $('#' + blocks[j].id).css("display", "none");
  1113 + break;
  1114 + }
  1115 +
  1116 + };
1088 1117  
  1118 + }
  1119 + //$('#' + v.blockID).css("display", "none");
  1120 + })
1089 1121 }
1090 1122 var labQuestionData = new jinqJs()
1091 1123 .from($scope.LabExData.LabExercise[0].Questions)
... ... @@ -1104,13 +1136,14 @@ function ($scope, $rootScope, pages, log, $http, $timeout, DataService, $filter,
1104 1136 .where('OptionTitle == ' + value.text)
1105 1137 .select();
1106 1138  
1107   -
  1139 +
1108 1140 var blockId = 'block-' + OptionList[0].OptionNumber;
1109 1141 if (OptionList != undefined && OptionList.length > 1 && blockIds.indexOf(blockId) != -1) {
1110 1142 blockId = 'block-' + OptionList[1].OptionNumber;
1111 1143 }
1112 1144 blockIds.push(blockId);
1113   - $scope.DraggedList.push({ "blockID": blockId, "id": value.blockbox, "optionName": value.blockbox, "Value": value.text, "topcoord": questionOptionBox[0].topcoord, "leftcoord": questionOptionBox[0].leftcoord });
  1145 + console.log($scope.draggedIDArray);
  1146 + $scope.DraggedList.push({ "DraggedAttr": blockId, "blockID": blockId, "id": value.blockbox, "optionName": value.blockbox, "Value": value.text, "topcoord": questionOptionBox[0].topcoord, "leftcoord": questionOptionBox[0].leftcoord });
1114 1147  
1115 1148  
1116 1149 // $scope.DraggedList.push({ "id": value.blockbox, "optionName": value.blockbox, "Value": value.text, "topcoord": questionOptionBox[0].topcoord, "leftcoord": questionOptionBox[0].leftcoord });
... ...
400-SOURCECODE/AIAHTML5.Web/app/views/LabExerc/lab-exercises-detail.html
... ... @@ -52,7 +52,7 @@
52 52 </div>
53 53  
54 54 <div ng-show="IsVisible" ng-repeat="optionbox in LabExerciseModules.OptionBox" droppable="true" class="droppable ui-droppable options" id="blockbox-{{optionbox.BoxName}}" ng-style="{'top':{{optionbox.topcoord}}, 'left':{{optionbox.leftcoord}},'position': 'absolute', 'width': '155px', 'height':'30px', 'border':'0px solid #333', 'background': '#E8E8E8' }">{{optionbox.Answervalue}}</div>
55   - <div draggable="true" ng-repeat="ans in DraggedList" droppable="true" class="droppable ui-droppable answerdroppable" id="blockans-{{ans.id}}" ng-style="{'top':{{ans.topcoord}}, 'left':{{ans.leftcoord}},'position': 'absolute', 'width': '158px', 'height':'30px', 'border':'0px solid #333', 'background': 'transparent','font-size': '12px','border-color':'#FF0000','padding-top':'4px','line-height':'1'}">{{ans.Value}}</div>
  55 + <div draggable="true" ng-repeat="ans in DraggedList" droppable="true" class="droppable ui-droppable answerdroppable" id="blockans-{{ans.id}}" draggedattr="{{ans.DraggedAttr}}" ng-style="{'top':{{ans.topcoord}}, 'left':{{ans.leftcoord}},'position': 'absolute', 'width': '158px', 'height':'30px', 'border':'0px solid #333', 'background': 'transparent','font-size': '12px','border-color':'#FF0000','padding-top':'4px','line-height':'1'}">{{ans.Value}}</div>
56 56 </div>
57 57  
58 58 <div class="col-sm-12" style=" margin-top: 20px; min-height:100px;" id="divoptions" droppable="true">
... ...