Commit 3d2d9bd5db93393b42291a05411c2df40bb16de4
mergeMerge branch 'FixUserDeactivationDate' into AIA_Production
Showing
11 changed files
with
230 additions
and
57 deletions
400-SOURCECODE/AIAHTML5.ADMIN.API/Controllers/UserController.cs
... | ... | @@ -205,6 +205,13 @@ namespace AIAHTML5.ADMIN.API.Controllers |
205 | 205 | UserEntity.Password = jsonUserData["Password"].Value<string>(); |
206 | 206 | UserEntity.IsActive = jsonUserData["IsActive"].Value<bool>(); |
207 | 207 | UserEntity.CreatorId = jsonUserData["Modifiedby"].Value<int>(); |
208 | + | |
209 | + JToken typeToken= jsonUserData["DeactivationDate"]; | |
210 | + if (typeToken.Type != JTokenType.Null) | |
211 | + { | |
212 | + UserEntity.DeactivationDate = typeToken.Value<DateTime>(); | |
213 | + } | |
214 | + | |
208 | 215 | try |
209 | 216 | { |
210 | 217 | Status = UserModel.UpdateUser(dbContext, UserEntity); | ... | ... |
400-SOURCECODE/AIAHTML5.ADMIN.API/Entity/AIADBEntity.Context.cs
... | ... | @@ -3425,7 +3425,7 @@ namespace AIAHTML5.ADMIN.API.Entity |
3425 | 3425 | return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("usp_SaveLabExerciseAttempts", userIdParameter, labExerciseIdentifierParameter, lastQuestionParameter, totalQuestionsParameter); |
3426 | 3426 | } |
3427 | 3427 | |
3428 | - public virtual int usp_UpdateAIAUser(string sLoginId, string sPassword, string sFirstname, string sLastname, string sEmailId, Nullable<int> id, Nullable<int> iCreatorId, Nullable<byte> isActive, ObjectParameter status) | |
3428 | + public virtual int usp_UpdateAIAUser(string sLoginId, string sPassword, string sFirstname, string sLastname, string sEmailId, Nullable<int> id, Nullable<int> iCreatorId, Nullable<byte> isActive, Nullable<System.DateTime> deactivateDate, ObjectParameter status) | |
3429 | 3429 | { |
3430 | 3430 | var sLoginIdParameter = sLoginId != null ? |
3431 | 3431 | new ObjectParameter("sLoginId", sLoginId) : |
... | ... | @@ -3459,7 +3459,11 @@ namespace AIAHTML5.ADMIN.API.Entity |
3459 | 3459 | new ObjectParameter("isActive", isActive) : |
3460 | 3460 | new ObjectParameter("isActive", typeof(byte)); |
3461 | 3461 | |
3462 | - return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("usp_UpdateAIAUser", sLoginIdParameter, sPasswordParameter, sFirstnameParameter, sLastnameParameter, sEmailIdParameter, idParameter, iCreatorIdParameter, isActiveParameter, status); | |
3462 | + var deactivateDateParameter = deactivateDate.HasValue ? | |
3463 | + new ObjectParameter("deactivateDate", deactivateDate) : | |
3464 | + new ObjectParameter("deactivateDate", typeof(System.DateTime)); | |
3465 | + | |
3466 | + return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("usp_UpdateAIAUser", sLoginIdParameter, sPasswordParameter, sFirstnameParameter, sLastnameParameter, sEmailIdParameter, idParameter, iCreatorIdParameter, isActiveParameter, deactivateDateParameter, status); | |
3463 | 3467 | } |
3464 | 3468 | |
3465 | 3469 | public virtual int usp_UpdateblockedUser(Nullable<int> id, ObjectParameter status) | ... | ... |
400-SOURCECODE/AIAHTML5.ADMIN.API/Entity/AIADBEntity.Designer.cs
1 | -// T4 code generation is enabled for model 'F:\CB_Develop00-SOURCECODE\AIAHTML5.ADMIN.API\Entity\AIADBEntity.edmx'. | |
1 | +// T4 code generation is enabled for model 'E:\AIAProject00-SOURCECODE\AIAHTML5.ADMIN.API\Entity\AIADBEntity.edmx'. | |
2 | 2 | // To enable legacy code generation, change the value of the 'Code Generation Strategy' designer |
3 | 3 | // property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model |
4 | 4 | // is open in the designer. | ... | ... |
400-SOURCECODE/AIAHTML5.ADMIN.API/Entity/AIADBEntity.edmx
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | <edmx:Runtime> |
5 | 5 | <!-- SSDL content --> |
6 | 6 | <edmx:StorageModels> |
7 | - <Schema Namespace="AIADatabaseV5Model.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2008" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl"> | |
7 | + <Schema Namespace="AIADatabaseV5Model.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2008" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl"> | |
8 | 8 | <EntityType Name="AccountType"> |
9 | 9 | <Key> |
10 | 10 | <PropertyRef Name="Id" /> |
... | ... | @@ -1421,6 +1421,7 @@ |
1421 | 1421 | <Parameter Name="id" Type="int" Mode="In" /> |
1422 | 1422 | <Parameter Name="iCreatorId" Type="int" Mode="In" /> |
1423 | 1423 | <Parameter Name="isActive" Type="tinyint" Mode="In" /> |
1424 | + <Parameter Name="deactivateDate" Type="datetime" Mode="In" /> | |
1424 | 1425 | <Parameter Name="Status" Type="int" Mode="InOut" /> |
1425 | 1426 | </Function> |
1426 | 1427 | <Function Name="usp_UpdateAiaUserPassword" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> |
... | ... | @@ -2539,6 +2540,7 @@ |
2539 | 2540 | <Parameter Name="id" Mode="In" Type="Int32" /> |
2540 | 2541 | <Parameter Name="iCreatorId" Mode="In" Type="Int32" /> |
2541 | 2542 | <Parameter Name="isActive" Mode="In" Type="Byte" /> |
2543 | + <Parameter Name="deactivateDate" Mode="In" Type="DateTime" /> | |
2542 | 2544 | <Parameter Name="Status" Mode="InOut" Type="Int32" /> |
2543 | 2545 | </FunctionImport> |
2544 | 2546 | <FunctionImport Name="usp_UpdateblockedUser"> | ... | ... |
400-SOURCECODE/AIAHTML5.ADMIN.API/Models/UserModel.cs
... | ... | @@ -114,7 +114,7 @@ namespace AIAHTML5.ADMIN.API.Models |
114 | 114 | short EditionId = (short)UserEntity.EditionId; |
115 | 115 | try |
116 | 116 | { |
117 | - dbContext.usp_UpdateAIAUser(UserEntity.LoginId, UserEntity.Password, UserEntity.FirstName, UserEntity.LastName,UserEntity.EmailId,UserEntity.Id,UserEntity.CreatorId,(UserEntity.IsActive ? (byte)1 :(byte)0),spStatus); | |
117 | + dbContext.usp_UpdateAIAUser(UserEntity.LoginId, UserEntity.Password, UserEntity.FirstName, UserEntity.LastName,UserEntity.EmailId,UserEntity.Id,UserEntity.CreatorId,(UserEntity.IsActive ? (byte)1 :(byte)0),UserEntity.DeactivationDate,spStatus); | |
118 | 118 | return spStatus.Value.ToString(); |
119 | 119 | } |
120 | 120 | catch (Exception ex) | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
... | ... | @@ -315,6 +315,30 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
315 | 315 | $('#spinner').css('visibility', 'hidden'); |
316 | 316 | } |
317 | 317 | |
318 | + //fixing for mac os now | |
319 | + $scope.getOS = function () { | |
320 | + var userAgent = window.navigator.userAgent, | |
321 | + platform = window.navigator.platform, | |
322 | + macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'], | |
323 | + windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'], | |
324 | + iosPlatforms = ['iPhone', 'iPad', 'iPod'], | |
325 | + os = null; | |
326 | + | |
327 | + if (macosPlatforms.indexOf(platform) !== -1) { | |
328 | + os = 'MacOS'; | |
329 | + } else if (iosPlatforms.indexOf(platform) !== -1) { | |
330 | + os = 'iOS'; | |
331 | + } else if (windowsPlatforms.indexOf(platform) !== -1) { | |
332 | + os = 'Windows'; | |
333 | + } else if (/Android/.test(userAgent)) { | |
334 | + os = 'Android'; | |
335 | + } else if (!os && /Linux/.test(platform)) { | |
336 | + os = 'Linux'; | |
337 | + } | |
338 | + | |
339 | + return os; | |
340 | + } | |
341 | + | |
318 | 342 | $scope.openView = function ($event) { |
319 | 343 | |
320 | 344 | $rootScope.disableAnnotationTB = false; |
... | ... | @@ -1697,7 +1721,8 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
1697 | 1721 | $scope.isLayerChange = false; |
1698 | 1722 | } |
1699 | 1723 | |
1700 | - if (evt.ctrlKey) { | |
1724 | + // for mac os Command key use for multi selection | |
1725 | + if (evt.ctrlKey || evt.metaKey) { | |
1701 | 1726 | $rootScope.multiAnnotationIsON = true; |
1702 | 1727 | |
1703 | 1728 | //document.getElementById("btnZoom").setAttribute('disabled', 'disabled'); |
... | ... | @@ -1728,9 +1753,19 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
1728 | 1753 | |
1729 | 1754 | |
1730 | 1755 | var canvasDiv = document.getElementById('canvasDiv'); |
1731 | - var verticalScrollPosition = canvasDiv.scrollTop; | |
1732 | - var horizontlScrollPosition = canvasDiv.scrollLeft; | |
1733 | - | |
1756 | + //changing for mac os now | |
1757 | + var os=$scope.getOS(); | |
1758 | + if(os=='MacOS') | |
1759 | + { | |
1760 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-2; | |
1761 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-2; | |
1762 | + } | |
1763 | + else | |
1764 | + { | |
1765 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-1; | |
1766 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-1; | |
1767 | + } | |
1768 | + | |
1734 | 1769 | var distanceXOnMirrorImage = (parseInt(mirrorCanvasX) + parseInt(mirrorCanvasWidth)) - (parseInt(mousePos.x) + horizontlScrollPosition);// - 135); |
1735 | 1770 | |
1736 | 1771 | var mirrorXOnNormalImage = parseInt(maskCanvasContext.canvas.offsetLeft) + parseInt(distanceXOnMirrorImage); |
... | ... | @@ -2116,8 +2151,9 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
2116 | 2151 | if ($scope.isLayerChange == true) { |
2117 | 2152 | $scope.isLayerChange = false; |
2118 | 2153 | } |
2119 | - | |
2120 | - if (evt.ctrlKey) { | |
2154 | + //birendra | |
2155 | + // for mac os Command key use for multi selection | |
2156 | + if (evt.ctrlKey || evt.metaKey) { | |
2121 | 2157 | $rootScope.multiAnnotationIsON = true; |
2122 | 2158 | |
2123 | 2159 | //$("#btnZoom").addClass('disabled'); |
... | ... | @@ -2158,13 +2194,23 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
2158 | 2194 | // alert(mousePos.x + ',' + mousePos.y); |
2159 | 2195 | |
2160 | 2196 | var canvasDiv = document.getElementById('canvasDiv'); |
2161 | - var verticalScrollPosition = canvasDiv.scrollTop; | |
2162 | - var horizontlScrollPosition = canvasDiv.scrollLeft; | |
2163 | - | |
2197 | + //changing for mac os now | |
2198 | + var os=$scope.getOS(); | |
2199 | + if(os=='MacOS') | |
2200 | + { | |
2201 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-2; | |
2202 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-2; | |
2203 | + } | |
2204 | + else | |
2205 | + { | |
2206 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-1; | |
2207 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-1; | |
2208 | + } | |
2209 | + | |
2164 | 2210 | |
2165 | 2211 | //We substracted 135, as the difference between flex and html coordinates for same organ is 135 |
2166 | 2212 | var actulalX = mousePos.x + horizontlScrollPosition; |
2167 | - var actualY = mousePos.y + verticalScrollPosition; | |
2213 | + var actualY = mousePos.y + verticalScrollPosition; | |
2168 | 2214 | var RGBColor = $scope.GetRGBColor(maskCanvasContext, actulalX, actualY, x, y); |
2169 | 2215 | |
2170 | 2216 | |
... | ... | @@ -3870,7 +3916,7 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
3870 | 3916 | // we decide the size of speech bubble |
3871 | 3917 | //2. |
3872 | 3918 | |
3873 | - if (event.ctrlKey) { | |
3919 | + if (event.ctrlKey || event.metaKey) { | |
3874 | 3920 | console.log('ctrl pressed'); |
3875 | 3921 | $scope.multiAnnotationIsON = true; |
3876 | 3922 | //2.1 create unique speech bubbles |
... | ... | @@ -3939,7 +3985,7 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
3939 | 3985 | else { |
3940 | 3986 | $scope.longest_annotationT1 = $scope.annotationTextArrayT1.reduce(function (a, b) { return a.length > b.length ? a : b; }); |
3941 | 3987 | $scope.longest_annotationT2 = $scope.annotationTextArrayT2.reduce(function (a, b) { return a.length > b.length ? a : b; }); |
3942 | - if (event.ctrlKey) { | |
3988 | + if (event.ctrlKey || event.metaKey) { | |
3943 | 3989 | $scope.j = $scope.j + 1; |
3944 | 3990 | var sub_id_annotation = "black_annotation" + $scope.j; |
3945 | 3991 | var pointClicked_annotation = parseInt(x) + parseInt(y); |
... | ... | @@ -4030,7 +4076,15 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
4030 | 4076 | } |
4031 | 4077 | |
4032 | 4078 | $scope.createSpeechBubbleBasedOnAnnotationLength = function (pointClicked, x, y, id) { |
4033 | - var sppechBubbleHTML = "<div id ='" + pointClicked + "' class='com'><div style='z-index:60000;position:absolute;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);height:15px;width:35px;left:" + (x - 10) + "px;top:" + (y + 10) + "px;'' id='bubble" + $scope.speechBubbleCounter + "'></div><div data=" + $scope.speechBubbleCounter + " id=" + id + " class='appendDragg' style='z-index:60000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;font-weight:bold;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.speechBubbleCounter + " class='dynCross' style='width:18px' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:9000;' id='bord" + $scope.speechBubbleCounter + "'></div></div>"; | |
4079 | + var os=$scope.getOS(); | |
4080 | + if(os=='MacOS') | |
4081 | + { | |
4082 | + var sppechBubbleHTML = "<div id ='" + pointClicked + "' class='com'><div class='multiLineAnnotation' style='z-index:60000;left:" + (x - 3) + "px;top:" + (y + 10.5) + "px;'' id='bubble" + $scope.speechBubbleCounter + "'></div><div data=" + $scope.speechBubbleCounter + " id=" + id + " class='appendDragg' style='z-index:60000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;font-weight:bold;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.speechBubbleCounter + " class='dynCross' style='width:18px' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:9000;' id='bord" + $scope.speechBubbleCounter + "'></div></div>"; | |
4083 | + } | |
4084 | + else | |
4085 | + { | |
4086 | + var sppechBubbleHTML = "<div id ='" + pointClicked + "' class='com'><div class='multiLineAnnotation' style='z-index:60000;left:" + (x - 4) + "px;top:" + (y + 11.5) + "px;'' id='bubble" + $scope.speechBubbleCounter + "'></div><div data=" + $scope.speechBubbleCounter + " id=" + id + " class='appendDragg' style='z-index:60000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;font-weight:bold;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.speechBubbleCounter + " class='dynCross' style='width:18px' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:9000;' id='bord" + $scope.speechBubbleCounter + "'></div></div>"; | |
4087 | + } | |
4034 | 4088 | //Issue #7286 :Undefined annotation should not appear |
4035 | 4089 | for (var i = 0; i <= $scope.MultiLanguageAnnationArray.length - 1; i++) { |
4036 | 4090 | var annotation = $scope.MultiLanguageAnnationArray[i]; |
... | ... | @@ -4085,7 +4139,7 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
4085 | 4139 | |
4086 | 4140 | |
4087 | 4141 | |
4088 | - var sppechBubbleDotHTML = '<div id="dot" style="position:absolute;height:15px;width:35px;display:none;z-index:10000;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);"></div>' | |
4142 | + var sppechBubbleDotHTML = '<div id="dot" class="singleLineAnnotation" style="z-index:10000"></div>' | |
4089 | 4143 | + '<div id="sppeachBubble" style="height:auto!important;z-index:10000;margin-left:25px;border:1px solid #000;display:none;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size:12px;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;">' |
4090 | 4144 | + '<span style="position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;">' |
4091 | 4145 | + '<img class="crossDiv_temp" style="width:18px" src=' + $rootScope.path + '></span></div>' |
... | ... | @@ -4162,22 +4216,46 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
4162 | 4216 | } |
4163 | 4217 | var Globe = []; |
4164 | 4218 | Globe.push({ currentX: x, currentY: y }); |
4219 | + //changing for mac os now | |
4220 | + var os=$scope.getOS(); | |
4221 | + if(os=='MacOS') | |
4222 | + { | |
4223 | + document.getElementById('dot').style.display = 'block'; | |
4224 | + document.getElementById('dot').style.left = ((Globe[0].currentX) - 4) + 'px'; | |
4225 | + document.getElementById('dot').style.top = ((Globe[0].currentY) + 10.5) + 'px'; | |
4226 | + document.getElementById('bord').style.display = 'block'; | |
4227 | + document.getElementById('bord').style.left = ((Globe[0].currentX) + 0.5) + 'px'; | |
4228 | + document.getElementById('bord').style.top = ((Globe[0].currentY) + 0) + 'px'; | |
4229 | + document.getElementById('sppeachBubble').style.display = 'block'; | |
4230 | + document.getElementById('sppeachBubble').style.left = ((Globe[0].currentX) - 1) + 'px'; | |
4231 | + document.getElementById('sppeachBubble').style.top = ((Globe[0].currentY)+0) + 'px'; | |
4232 | + } | |
4233 | + else | |
4234 | + { | |
4165 | 4235 | document.getElementById('dot').style.display = 'block'; |
4166 | - document.getElementById('dot').style.left = ((Globe[0].currentX) - 10) + 'px'; | |
4167 | - document.getElementById('dot').style.top = ((Globe[0].currentY) + 10) + 'px'; | |
4236 | + document.getElementById('dot').style.left = ((Globe[0].currentX) - 4) + 'px'; | |
4237 | + document.getElementById('dot').style.top = ((Globe[0].currentY) + 11.5) + 'px'; | |
4168 | 4238 | document.getElementById('bord').style.display = 'block'; |
4169 | - document.getElementById('bord').style.left = ((Globe[0].currentX) - 2) + 'px'; | |
4239 | + document.getElementById('bord').style.left = ((Globe[0].currentX) + 0.5) + 'px'; | |
4170 | 4240 | document.getElementById('bord').style.top = ((Globe[0].currentY) + 1) + 'px'; |
4171 | 4241 | document.getElementById('sppeachBubble').style.display = 'block'; |
4172 | - document.getElementById('sppeachBubble').style.left = (Globe[0].currentX) + 'px'; | |
4173 | - document.getElementById('sppeachBubble').style.top = (Globe[0].currentY) + 'px'; | |
4174 | - | |
4175 | - | |
4242 | + document.getElementById('sppeachBubble').style.left = ((Globe[0].currentX) - 1) + 'px'; | |
4243 | + document.getElementById('sppeachBubble').style.top = ((Globe[0].currentY)-1) + 'px'; | |
4176 | 4244 | |
4245 | + } | |
4246 | + | |
4177 | 4247 | } |
4178 | 4248 | $scope.createSpeechBubbleBasedOnTransparencyWithCtrl = function (pointClicked_annotation, Exists_annotation, x, y, sub_id_annotation) { |
4179 | - | |
4180 | - var sppechBubbleHTML_annotation = "<div id ='" + pointClicked_annotation + "' class='com_anno'><div style='z-index:59000;position:absolute;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);height:15px;width:35px;left:" + (x - 10) + "px;top:" + (y + 10) + "px;'' id='bubble" + $scope.j + "'></div><div data=" + $scope.j + " id=" + sub_id_annotation + " class='appendDragg_annotation' style='z-index:60000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.j + " class='dynCross_anno' style='width:18px' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:59000;' id='bord_annotation" + $scope.j + "'></div></div>"; | |
4249 | + var os=$scope.getOS(); | |
4250 | + if(os=='MacOS') | |
4251 | + { | |
4252 | + var sppechBubbleHTML_annotation = "<div id ='" + pointClicked_annotation + "' class='com_anno'><div class='multiLineAnnotation' style='z-index:59000;left:" + (x - 3) + "px;top:" + (y + 10.5) + "px;'' id='bubble" + $scope.j + "'></div><div data=" + $scope.j + " id=" + sub_id_annotation + " class='appendDragg_annotation' style='z-index:60000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.j + " class='dynCross_anno' style='width:18px' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:59000;' id='bord_annotation" + $scope.j + "'></div></div>"; | |
4253 | + } | |
4254 | + else | |
4255 | + { | |
4256 | + var sppechBubbleHTML_annotation = "<div id ='" + pointClicked_annotation + "' class='com_anno'><div class='multiLineAnnotation' style='z-index:59000;left:" + (x - 4) + "px;top:" + (y + 11.5) + "px;'' id='bubble" + $scope.j + "'></div><div data=" + $scope.j + " id=" + sub_id_annotation + " class='appendDragg_annotation' style='z-index:60000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.j + " class='dynCross_anno' style='width:18px' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:59000;' id='bord_annotation" + $scope.j + "'></div></div>"; | |
4257 | + } | |
4258 | + | |
4181 | 4259 | if ($scope.longest_annotationT1.length > $scope.longest_annotationT2.length) { |
4182 | 4260 | if (Exists_annotation == 0) { |
4183 | 4261 | $("#canvasDiv").append(sppechBubbleHTML_annotation); |
... | ... | @@ -4272,7 +4350,7 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
4272 | 4350 | $("#bord_annotation").remove(); |
4273 | 4351 | $("#sppeachBubble_annotation").remove(); |
4274 | 4352 | $("#dot_annotation").remove(); |
4275 | - var sppechBubbleDotHTML_annotation = '<div id="dot_annotation" style="position:absolute;height:15px;width:35px;display:none;z-index:59000;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);"></div>' | |
4353 | + var sppechBubbleDotHTML_annotation = '<div id="dot_annotation" class="singleLineAnnotation" style="z-index:59000"></div>' | |
4276 | 4354 | + '<div id="sppeachBubble_annotation" style="height:auto!important;z-index:60000;margin-left:25px;border:1px solid #000;display:none;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size:12px;background-color:#19100e;font-weight:bold;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;">' |
4277 | 4355 | + '<span style="position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;">' |
4278 | 4356 | + '<img class="crossDiv_temp_annotation" style="width:18px" src=' + $rootScope.path + '></span></div>' |
... | ... | @@ -4363,15 +4441,34 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
4363 | 4441 | } |
4364 | 4442 | var Globe = []; |
4365 | 4443 | Globe.push({ currentX: x, currentY: y }); |
4366 | - document.getElementById('dot_annotation').style.display = 'block'; | |
4367 | - document.getElementById('dot_annotation').style.left = ((Globe[0].currentX) - 10) + 'px'; | |
4368 | - document.getElementById('dot_annotation').style.top = ((Globe[0].currentY) + 10) + 'px'; | |
4369 | - document.getElementById('bord_annotation').style.display = 'block'; | |
4370 | - document.getElementById('bord_annotation').style.left = ((Globe[0].currentX) - 2) + 'px'; | |
4371 | - document.getElementById('bord_annotation').style.top = ((Globe[0].currentY) + 1) + 'px'; | |
4372 | - document.getElementById('sppeachBubble_annotation').style.display = 'block'; | |
4373 | - document.getElementById('sppeachBubble_annotation').style.left = (Globe[0].currentX) + 'px'; | |
4374 | - document.getElementById('sppeachBubble_annotation').style.top = (Globe[0].currentY) + 'px'; | |
4444 | + //changing for mac os now | |
4445 | + var os=$scope.getOS(); | |
4446 | + if(os=='MacOS') | |
4447 | + { | |
4448 | + document.getElementById('dot_annotation').style.display = 'block'; | |
4449 | + document.getElementById('dot_annotation').style.left = ((Globe[0].currentX) - 4) + 'px'; | |
4450 | + document.getElementById('dot_annotation').style.top = ((Globe[0].currentY) + 10.5) + 'px'; | |
4451 | + document.getElementById('bord_annotation').style.display = 'block'; | |
4452 | + document.getElementById('bord_annotation').style.left = ((Globe[0].currentX) + 0.5) + 'px'; | |
4453 | + document.getElementById('bord_annotation').style.top = ((Globe[0].currentY) + 0) + 'px'; | |
4454 | + document.getElementById('sppeachBubble_annotation').style.display = 'block'; | |
4455 | + document.getElementById('sppeachBubble_annotation').style.left = (Globe[0].currentX - 1) + 'px'; | |
4456 | + document.getElementById('sppeachBubble_annotation').style.top = ((Globe[0].currentY) + 0) + 'px'; | |
4457 | + | |
4458 | + } | |
4459 | + else | |
4460 | + { | |
4461 | + document.getElementById('dot_annotation').style.display = 'block'; | |
4462 | + document.getElementById('dot_annotation').style.left = ((Globe[0].currentX) - 4) + 'px'; | |
4463 | + document.getElementById('dot_annotation').style.top = ((Globe[0].currentY) + 11.5) + 'px'; | |
4464 | + document.getElementById('bord_annotation').style.display = 'block'; | |
4465 | + document.getElementById('bord_annotation').style.left = ((Globe[0].currentX) + 0.5) + 'px'; | |
4466 | + document.getElementById('bord_annotation').style.top = ((Globe[0].currentY) + 1) + 'px'; | |
4467 | + document.getElementById('sppeachBubble_annotation').style.display = 'block'; | |
4468 | + document.getElementById('sppeachBubble_annotation').style.left = (Globe[0].currentX - 1) + 'px'; | |
4469 | + document.getElementById('sppeachBubble_annotation').style.top = ((Globe[0].currentY) - 1) + 'px'; | |
4470 | + | |
4471 | + } | |
4375 | 4472 | |
4376 | 4473 | } |
4377 | 4474 | |
... | ... | @@ -4746,6 +4843,7 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
4746 | 4843 | transparencyCanvas.addEventListener('click', TransparencyCanvasClickListener); |
4747 | 4844 | |
4748 | 4845 | $(".ui-wrapper").css("z-index", $rootScope.UIWrapperZIndex); |
4846 | + $(".ui-wrapper").css("left",$scope.startX-2+ 'px'); | |
4749 | 4847 | |
4750 | 4848 | } |
4751 | 4849 | if ($scope.TransparencyBoxStartX <= bodyRegionRight && value.X <= transparencyBoxRight && $scope.TransparencyBoxStartY <= bodyRegionBottom && value.Y <= transparencyBoxBottom) { |
... | ... | @@ -5967,6 +6065,7 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
5967 | 6065 | |
5968 | 6066 | $('#transparencyCanvas').resizable({ handles: "e,s,se,w,n,ne,nw,sw", stop: function (event, ui) { resizeTransparencyBox(); }, start: function (event, ui) { clearTransCanvas(); } }); |
5969 | 6067 | $(".ui-wrapper").css("z-index", $rootScope.UIWrapperZIndex); |
6068 | + $(".ui-wrapper").css("left",tCanvas.style.left.replace('px','')-2+ 'px'); | |
5970 | 6069 | |
5971 | 6070 | //bind click listener |
5972 | 6071 | transparencyCanvas.addEventListener('click', TransparencyCanvasClickListener); |
... | ... | @@ -6144,13 +6243,22 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
6144 | 6243 | // alert(mousePos.x + ',' + mousePos.y); |
6145 | 6244 | |
6146 | 6245 | var canvasDiv = document.getElementById('canvasDiv'); |
6147 | - var verticalScrollPosition = canvasDiv.scrollTop; | |
6148 | - var horizontlScrollPosition = canvasDiv.scrollLeft; | |
6149 | - | |
6246 | + //changing for mac os now | |
6247 | + var os=$scope.getOS(); | |
6248 | + if(os=='MacOS') | |
6249 | + { | |
6250 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-2; | |
6251 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-2; | |
6252 | + } | |
6253 | + else | |
6254 | + { | |
6255 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-1; | |
6256 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-1; | |
6257 | + } | |
6150 | 6258 | |
6151 | 6259 | //We substracted 135, as the difference between flex and html coordinates for same organ is 135 |
6152 | 6260 | var actulalX = mousePos.x + horizontlScrollPosition; |
6153 | - var actualY = mousePos.y + verticalScrollPosition //- 135; //+ tomenuBarheight + titleBarheight + searchComboheight; | |
6261 | + var actualY = mousePos.y + verticalScrollPosition; //- 135; //+ tomenuBarheight + titleBarheight + searchComboheight; | |
6154 | 6262 | var clickedBodyRegion; |
6155 | 6263 | var x; |
6156 | 6264 | var y; |
... | ... | @@ -6352,9 +6460,19 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
6352 | 6460 | var tCanvasTotalHeight = parseInt(tCanvasTopAftrSplit[0]) + parseInt(tCanvasHeightAftrSplit[0]); |
6353 | 6461 | var mousePos = $scope.getMousePos(evt); |
6354 | 6462 | var canvasDiv = document.getElementById('canvasDiv'); |
6355 | - var verticalScrollPosition = canvasDiv.scrollTop; | |
6356 | - var horizontlScrollPosition = canvasDiv.scrollLeft; | |
6357 | - | |
6463 | + //changing for mac os now | |
6464 | + var os=$scope.getOS(); | |
6465 | + if(os=='MacOS') | |
6466 | + { | |
6467 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-2; | |
6468 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-2; | |
6469 | + } | |
6470 | + else | |
6471 | + { | |
6472 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-1; | |
6473 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-1; | |
6474 | + } | |
6475 | + | |
6358 | 6476 | var actulalX = mousePos.x + horizontlScrollPosition; |
6359 | 6477 | var actualY = mousePos.y + verticalScrollPosition; |
6360 | 6478 | |
... | ... | @@ -6453,9 +6571,19 @@ AIA.controller("DAController", ["$scope", "$rootScope", "$compile", "$http", "$l |
6453 | 6571 | |
6454 | 6572 | function getAnnotationAndCraeteSpeechBubble(mirrorCanvasX, mirrorCanvasWidth, mousePos, maskCanvasContexttrans, clickedBodyRegion, x, y, evt) { |
6455 | 6573 | var canvasDiv = document.getElementById('canvasDiv'); |
6456 | - var verticalScrollPosition = canvasDiv.scrollTop; | |
6457 | - var horizontlScrollPosition = canvasDiv.scrollLeft; | |
6458 | - | |
6574 | + //changing for mac os now | |
6575 | + var os=$scope.getOS(); | |
6576 | + if(os=='MacOS') | |
6577 | + { | |
6578 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-2; | |
6579 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-2; | |
6580 | + } | |
6581 | + else | |
6582 | + { | |
6583 | + var verticalScrollPosition = Math.round(canvasDiv.scrollTop)-1; | |
6584 | + var horizontlScrollPosition = Math.round(canvasDiv.scrollLeft)-1; | |
6585 | + } | |
6586 | + | |
6459 | 6587 | var distanceXOnMirrorImage = (parseInt(mirrorCanvasX) + parseInt(mirrorCanvasWidth)) - (parseInt(mousePos.x) + horizontlScrollPosition);// - 135); |
6460 | 6588 | |
6461 | 6589 | var mirrorXOnNormalImage = parseInt(maskCanvasContexttrans.canvas.offsetLeft) + parseInt(distanceXOnMirrorImage); | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/TileViewListController.js
... | ... | @@ -1189,7 +1189,7 @@ function ($scope, $window, $rootScope, $compile, $http, $log, $location, $timeou |
1189 | 1189 | $scope.isAnnotationDivAlreadyPresent = true; |
1190 | 1190 | } |
1191 | 1191 | if ($scope.isAnnotationDivAlreadyPresent == true) { |
1192 | - var speechBubbleHTML = '<div id="speechBubbleLine' + PinId + '" style="position:absolute;height:15px;width:35px;display:none;z-index:13000;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);"></div>' | |
1192 | + var speechBubbleHTML = '<div id="speechBubbleLine' + PinId + '" class="singleLineAnnotation" style="z-index:13000"></div>' | |
1193 | 1193 | + '<div id="speechBubble' + PinId + '" class="common-drag" style="height:auto!important;z-index:13000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size:12px;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;">' |
1194 | 1194 | + '<span style="position:absolute;right:-3px;top:-4px;color:#ffffff;cursor:pointer;">' |
1195 | 1195 | + '<img id="closeBtn' + PinId + ' " class="crossDiv_temp" style="width:18px" src=' + $rootScope.closeBtnImgPath + '></span></div>' |
... | ... | @@ -1271,7 +1271,7 @@ function ($scope, $window, $rootScope, $compile, $http, $log, $location, $timeou |
1271 | 1271 | $rootScope.speechBubbleDimaensions.push({ "currentX": x, "currentY": y, "id": PinId }); |
1272 | 1272 | speechBubbleDims.push({ currentX: x, currentY: y }); |
1273 | 1273 | document.getElementById('speechBubbleLine' + PinId + '').style.display = 'block'; |
1274 | - document.getElementById('speechBubbleLine' + PinId + '').style.left = ((speechBubbleDims[0].currentX - 12)) + 'px'; | |
1274 | + document.getElementById('speechBubbleLine' + PinId + '').style.left = ((speechBubbleDims[0].currentX - 10)) + 'px'; | |
1275 | 1275 | if ($scope.sliderVal == 25) { |
1276 | 1276 | document.getElementById('speechBubbleLine' + PinId + '').style.top = ((speechBubbleDims[0].currentY + 5)) + 'px'; |
1277 | 1277 | } | ... | ... |
400-SOURCECODE/AIAHTML5.Web/themes/default/css/bootstrap/3.3.6/main.css
... | ... | @@ -1319,4 +1319,26 @@ footer .browserIcons |
1319 | 1319 | #emailToHelpBlock |
1320 | 1320 | { |
1321 | 1321 | display:none; |
1322 | +} | |
1323 | + | |
1324 | +.singleLineAnnotation { | |
1325 | + position:absolute; | |
1326 | + width:36px; | |
1327 | + display:none; | |
1328 | + border-top:2px solid #000; | |
1329 | + transform:rotate(40deg); | |
1330 | + -moz-transform:rotate(40deg); | |
1331 | + -o-transform:rotate(40deg); | |
1332 | + -ms-transform:rotate(40deg); | |
1333 | + -webkit-transform:rotate(40deg); | |
1334 | +} | |
1335 | +.multiLineAnnotation { | |
1336 | + position:absolute; | |
1337 | + width:35px; | |
1338 | + border-top:2px solid #000; | |
1339 | + transform:rotate(40deg); | |
1340 | + -moz-transform:rotate(40deg); | |
1341 | + -o-transform:rotate(40deg); | |
1342 | + -ms-transform:rotate(40deg); | |
1343 | + -webkit-transform:rotate(40deg); | |
1322 | 1344 | } |
1323 | 1345 | \ No newline at end of file | ... | ... |
400-SOURCECODE/Admin/src/app/components/UserEntity/user.service.ts
... | ... | @@ -97,7 +97,7 @@ export class UserService { |
97 | 97 | |
98 | 98 | UpdateUserEntity(obj: any) { |
99 | 99 | //let options = new RequestOptions({ headers: this.headers }); |
100 | - var jsonData = { 'id': obj.id, 'FirstName': obj.FirstName, 'LastName': obj.LastName, 'EmailId': obj.EmailId, 'UserName': obj.UserName, 'Password': obj.Password, 'Modifiedby': this.commonService.UserId, 'IsActive': obj.isActive}; | |
100 | + var jsonData = { 'id': obj.id, 'FirstName': obj.FirstName, 'LastName': obj.LastName, 'EmailId': obj.EmailId, 'UserName': obj.UserName, 'Password': obj.Password, 'Modifiedby': this.commonService.UserId, 'IsActive': obj.isActive,'DeactivationDate': obj.DeactivationDate}; | |
101 | 101 | console.log(obj); |
102 | 102 | var headers = new Headers({ |
103 | 103 | 'Content-Type': 'application/json' | ... | ... |
400-SOURCECODE/Admin/src/app/components/UserEntity/users.component.html
... | ... | @@ -301,8 +301,8 @@ |
301 | 301 | <div class="form-group"> |
302 | 302 | <label for="inputEmail3" class="col-sm-5 control-label">Deactivation Date :</label> |
303 | 303 | <div class="col-sm-7"> |
304 | - <input class="form-control input-sm" id="DeactivationDate" placeholder="" type="text" formControlName="DeactivationDate" [attr.disabled]="true"> | |
305 | - | |
304 | + <input class="form-control input-sm" id="DeactivationDate" placeholder="" type="text" formControlName="DeactivationDate"> | |
305 | + <!-- <div *ngIf="!adduserFrm.controls.DeactivationDate.valid && adduserFrm.controls.DeactivationDate.dirty" class="alert alert-danger" style="padding: 2px; margin-bottom: 2px;"></div> --> | |
306 | 306 | </div> |
307 | 307 | </div> |
308 | 308 | <div class="row"> | ... | ... |
400-SOURCECODE/Admin/src/app/components/UserEntity/users.component.ts
... | ... | @@ -53,6 +53,7 @@ export class UsersList implements OnInit, AfterViewChecked { |
53 | 53 | selectedId: number = 0; |
54 | 54 | divClass: string; |
55 | 55 | isActive: boolean; |
56 | + deaDateblank:boolean; | |
56 | 57 | NoRecord: string; |
57 | 58 | checkedRecords: Array<number>; |
58 | 59 | UncheckedRecords: Array<number>; |
... | ... | @@ -101,7 +102,7 @@ export class UsersList implements OnInit, AfterViewChecked { |
101 | 102 | ModifiedDate: [''], |
102 | 103 | Createdby: [''], |
103 | 104 | Modifiedby: [''], |
104 | - DeactivationDate: [''], | |
105 | + DeactivationDate: ['',this.noWhitespaceValidator], | |
105 | 106 | isActive: [false], |
106 | 107 | UserStatusActive: ['false'], |
107 | 108 | UserStatusInActive:[''] |
... | ... | @@ -400,12 +401,21 @@ export class UsersList implements OnInit, AfterViewChecked { |
400 | 401 | if (this.adduserFrm.value.FirstName == '') { |
401 | 402 | this.alerts += '</br><span>First Name is required.</span>'; |
402 | 403 | } |
403 | - if (this.adduserFrm.value.LastName == '') { | |
404 | - this.alerts += '</br><span>Last Name is required.</span>'; | |
404 | + this.deaDateblank=false; | |
405 | + if (this.adduserFrm.value.DeactivationDate == '' ||this.adduserFrm.value.DeactivationDate == null) { | |
406 | + this.deaDateblank=true; | |
407 | + //set date to pass from validation and later remove | |
408 | + this.adduserFrm.controls['DeactivationDate'].setValue('01/01/2020'); | |
405 | 409 | } |
410 | + | |
406 | 411 | |
407 | 412 | if (this.adduserFrm.valid && this.alerts == '') { |
408 | - this.adduserFrm.controls['isActive'].setValue(this.adduserFrm.value.UserStatusActive) | |
413 | + this.adduserFrm.controls['isActive'].setValue(this.adduserFrm.value.UserStatusActive) ; | |
414 | + | |
415 | + if(this.deaDateblank) | |
416 | + { | |
417 | + this.adduserFrm.controls['DeactivationDate'].setValue(null); | |
418 | + } | |
409 | 419 | |
410 | 420 | var Userobj = this.adduserFrm.value; |
411 | 421 | ... | ... |