'use strict'; AIA.controller("HomeController", ["$rootScope", "$scope", "Modules", "$log", "$location", "$compile", "$timeout", "DataService", "AuthenticationService", "ConfigurationService", "LoginConstants", "UserModules", "LoginMessageConstants", "AdminService", "$http", "AdminConstants", "UserTypeConstants", "AIAConstants","ModuleService","$window","Idle", "Keepalive", "$interval", function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, DataService, AuthenticationService, ConfigurationService, LoginConstants, UserModules, LoginMessageConstants, AdminService, $http, AdminConstants, UserTypeConstants, AIAConstants, ModuleService,$window,Idle, Keepalive, $interval) { $rootScope.MULTI_VIEW_ID = 401; $rootScope.pageToOpen = 'app/widget/MainMenu.html'; $rootScope.currentBodyViewId; $rootScope.currentActiveModuleTitle = 'Welcome to A.D.A.M. Interactive Anatomy';//Modules[0].Name; $rootScope.currentActiveViewTitle; $rootScope.cuurentActiveModuleId; $rootScope.openModules = []; $rootScope.openViews = []; $rootScope.currentSlug; $rootScope.jsPanelTitle; $rootScope.ViewTitle; $rootScope.isLoading = false; $rootScope.isAnnotationWindowOpen = false; $rootScope.isDrawingToolSelected = false; $rootScope.isIdetifyClicked = true; $rootScope.paint = false; $rootScope.clickX = new Array(); $rootScope.clickY = new Array(); $rootScope.clickDrag = new Array(); $rootScope.isLineDrawSelecyed = false; $rootScope.isAnnotationWindowClose = false; $rootScope.setListManagerZindex = false; $rootScope.lastX; $rootScope.lastY; $rootScope.CommonData; $rootScope.shapeType; $rootScope.canvasLayerNameCollection=[]; $rootScope.islaxicanlanguageChange=false; // on refersh this variable will also get null that is why we are only checking this variable on initialize that if it is null that means page gets refershed. $rootScope.refreshcheck = null; var isCommingSoonModel = true; $rootScope.isCloseSettingClicked = false; $rootScope.isModestyOn; $rootScope.isModestyOff; $rootScope.SetSettingActiveTab; $("#annotationButton").addClass("disableMenuoption"); $("#Menuoptionid").addClass("disableMenuoption"); $rootScope.menuLabExer; $rootScope.menuLabExer = 0; $rootScope.TextPropertyArray = []; $rootScope.modifySavedText = []; $rootScope.TextRectangleArr = []; $rootScope.rectDimension = []; $rootScope.textDimension=[]; $rootScope.isMousedownOnPaintCanvas = false; //opacity code $rootScope.shapestyleOpacity = 1; $rootScope.shapestyleFillColor = "#fff"; $rootScope.shapestyleborderColor = "black"; $rootScope.shapestyleborderWidth = 3; $rootScope.shapestyleborderStyles = "solid"; $("#fileMenuAnchor").addClass("disableFileMenu"); $rootScope.userLicenseInfo = { userLicenseId: 0, licenseeAccountNumber: null }; $rootScope.userData; $rootScope.userModules; $rootScope.passwordMismatchMessage; $rootScope.isVisibleLogin; $rootScope.haveRoleAdmin; $rootScope.checked = false; var isfilloptionChecked = ""; var isOutlineOptionChecked = ""; $rootScope.OpenMyPicture = function () { $rootScope.CloseListManager(); $rootScope.CloseAnnotationTool(); // close list if opened in DA var searchedTermListPopUp = $("#HomeContainerDiv").find("div[id*='searchedTermListPopUp']"); for (var i = 0 ; i < searchedTermListPopUp.length; i++) { var windowviewid = (searchedTermListPopUp[i].id).split('_')[1]; $('#searchedTermListPopUp_' + windowviewid).css('display', 'none'); $('#searchedTermListPopUp_' + windowviewid).css("visibility", "hidden"); $('#searchTermListUl_' + windowviewid).empty(); } var fileupload = document.getElementById("myPictureFile"); $timeout(function () { $(fileupload).trigger('click'); }, 300); $(fileupload).val('');//old file path fileupload.onchange = function (e) { var fileId, file, objFileRead; if (typeof window.FileReader !== 'function') { $('#errorMessage').text(AIAConstants.File_API_Not_Supported); $("#messageModal").modal('show'); return; } fileId = document.getElementById('myPictureFile'); if (!fileId) { $('#errorMessage').text(AIAConstants.File_No_Content_Found); $("#messageModal").modal('show'); } else if (!fileId.files) { $('#errorMessage').text(AIAConstants.Browser_Not_Supported); $("#messageModal").modal('show'); } else if (!fileId.files[0]) { $('#errorMessage').text(AIAConstants.Select_File); $("#messageModal").modal('show'); } else { file = fileId.files[0]; var extensionType = (file.name.split(".")[1]).toUpperCase(); if (extensionType == "JPG" || extensionType == "JPEG" || extensionType == "PNG" ||file.type=="image/png"||file.type=="image/jpg"||file.type=="image/jpeg") { var reader = new FileReader(); reader.onloadend = function () { //set default module data var PicOpenData = { "mType": 'MY_PICTURES', "imageSource":reader.result, "windowTitle": file.name.split(".")[0], "size": { height: 600, width: 900 }, "position": { x: 1, y: 30 } }; AIAModuleOpenResourceInfo(PicOpenData); } if (file) { reader.readAsDataURL(file); } } else { $('#errorMessage').text(AIAConstants.Image_File_Format_Not_Supported); $("#messageModal").modal('show'); return; } } }; } $rootScope.OpenMyAnimation = function () { $rootScope.CloseListManager(); $rootScope.CloseAnnotationTool(); // close list if opened in DA var searchedTermListPopUp = $("#HomeContainerDiv").find("div[id*='searchedTermListPopUp']"); for (var i = 0 ; i < searchedTermListPopUp.length; i++) { var windowviewid = (searchedTermListPopUp[i].id).split('_')[1]; $('#searchedTermListPopUp_' + windowviewid).css('display', 'none'); $('#searchedTermListPopUp_' + windowviewid).css("visibility", "hidden"); $('#searchTermListUl_' + windowviewid).empty(); } var fileupload = document.getElementById("myAnimationFile"); $timeout(function () { $(fileupload).trigger('click'); }, 300); $(fileupload).val('');//old file path fileupload.onchange = function (e) { var fileId, file; if (typeof window.FileReader !== 'function') { $('#errorMessage').text(AIAConstants.File_API_Not_Supported); $("#messageModal").modal('show'); return; } fileId = document.getElementById('myAnimationFile'); if (!fileId) { $('#errorMessage').text(AIAConstants.File_No_Content_Found); $("#messageModal").modal('show'); } else if (!fileId.files) { $('#errorMessage').text(AIAConstants.Browser_Not_Supported); $("#messageModal").modal('show'); } else if (!fileId.files[0]) { $('#errorMessage').text(AIAConstants.Select_File); $("#messageModal").modal('show'); } else { file = fileId.files[0]; var extensionType = (file.name.split(".")[1]).toUpperCase(); if (extensionType == "MP4" || file.type=="video/mp4") { if (file.size <= $rootScope.MaxOneFileSize) { var reader = new FileReader(); reader.onloadend = function () { var date = new Date(); var animationId = date.getTime(); //set default module data var AniOpenData = { "mType": 'MY_ANIMATIONS', "id":animationId,//user for identify resource until save or export cb "videoSource":reader.result, "windowTitle": file.name.split(".")[0], "size": { height: 500, width: 900 }, "position": { x: 1, y: 30 } }; AIAModuleOpenResourceInfo(AniOpenData); } if (file) { reader.readAsDataURL(file); } } else { $('#errorMessage').text(AIAConstants.Animation_File_Size_Exceeded); $("#messageModal").modal('show'); } } else { $('#errorMessage').text(AIAConstants.Animation_File_Format_Not_Supported); $("#messageModal").modal('show'); return; } } }; } $rootScope.openResource = function () { $rootScope.CloseListManager(); $rootScope.CloseAnnotationTool(); // close list if opened in DA var searchedTermListPopUp = $("#HomeContainerDiv").find("div[id*='searchedTermListPopUp']"); for (var i = 0 ; i < searchedTermListPopUp.length; i++) { var windowviewid = (searchedTermListPopUp[i].id).split('_')[1]; $('#searchedTermListPopUp_' + windowviewid).css('display', 'none'); $('#searchedTermListPopUp_' + windowviewid).css("visibility", "hidden"); $('#searchTermListUl_' + windowviewid).empty(); } $('#dvOpenResoucePanel').css('display', 'block'); // var homepath = $location.protocol() + "//" + $location.host() + ":" + $location.port() + "/"; var homepath = $rootScope.homeURL; $("#HomeContainerDiv").css({ "display": "none", "pointer-events": "none", "opacity": ".5" }); // if any panel in minimized mode $("#jsPanel-min-container").css({"display":"none"}); var parentslag = ""; var openNewlink = ""; if ($location.url() == "/curriculum-builder") { parentslag = "curriculum-builder"; openNewlink = "curriculum-builder"; } else if ($location.url() == "/curriculum-builder-detail") { parentslag = "curriculum-builder-detail" openNewlink = "curriculum-builder"; } else if (($location.url() == "/da-body-view")) { parentslag = "da-body-view"; openNewlink = "da-view-list"; } else if ($location.url() == "/clinical-illustrations-detail") { parentslag = "clinical-illustrations-detail" openNewlink = "clinical-illustrations"; } else if ($location.url() == "/module-item-view") { parentslag = "module-item-view"; openNewlink = "tile-view-list"; } else if ($location.url() == "/clinical-animations-detail") { parentslag = "clinical-animations-detail"; openNewlink = "clinical-animations"; } else if ($location.url() == "/adam-images-detail") { parentslag = "adam-images-detail"; openNewlink = "ADAM-images"; } else if ($location.url() == "/3d-anatomy-details") { parentslag = "3d-anatomy-details"; openNewlink = "3d-anatomy-list"; } else if ($location.url() == "/lab-exercise-view") { parentslag = "lab-exercise-view"; openNewlink = "lab-exercises"; } var newpanelWidth=0; var newpanelHeight=0; var newpanelLeft=0; var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { newpanelWidth=screen.width; newpanelHeight=screen.height; } else{ newpanelWidth=screen.width-10; newpanelHeight=screen.height-185; } $.jsPanel({ id: 'dvOpenResourcePanel', selector: '#dvOpenResoucePanel', theme: 'success', currentController: 'HomeController', parentSlug: parentslag, content: '
' + '', title: "", position: { top: 1, left: 0 }, controls: { buttons: 'closeonly' }, draggable: "disabled", size: { width: newpanelWidth, height: newpanelHeight }, }); } $scope.OpenResourcePanel = function (iframe) { var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; var head = $(innerDoc).contents().find("head"); //hide menu link var css = ''; // var storefunc = ''; $(head).append(css); // $(head).append(storefunc); var canvasDIvHeight = $("#dvOpenResourcePanel .jsPanel-content").height(); $('#OpenModuleInCB').css('height', canvasDIvHeight); $timeout(function () { console.log('frame content loding delayed......'); $scope.loadopenresourceContent(head, iframe); if (head != undefined && head != null) { $scope.loadopenresourceContent(head, iframe); } }, 100); } $scope.loadopenresourceContent = function (header, iframe) { $timeout(function () { sessionStorage.setItem('isModuleOpenByOpenResource', 'true'); sessionStorage.removeItem('ExitsCBFileDetail'); // OpenDefaultModule(iframe); }, 500); } $scope.AIAModuleOpenResourceInfo = function (newWindowData) { $timeout(function () { if(newWindowData.mType=="cbFileData") { // when override exist cb $rootScope.isCallFromOtherModule = false; sessionStorage.setItem("ExitsCBFileDetail", JSON.stringify(newWindowData)); $location.url('/curriculum-builder'); return; } $rootScope.isCallFromOtherModule = true; if ($location.url() != "/curriculum-builder-detail") { var newwindowNo = 0; var ExistData = ModuleService.getModuleData(newWindowData.mType); if (ExistData != undefined && ExistData.length > 0) { newwindowNo = newwindowNo + ExistData.length; // clear module type data before open new module ModuleService.ClearWinDataByModule(newWindowData.mType); } ModuleService.setModuleData(newWindowData, newwindowNo); } if ($location.url() == "/curriculum-builder-detail") { window.parent.AIAModuleOpenResoureInCB(newWindowData); } else if (($location.url() == "/da-body-view")) { $scope.loadOpenResourceWindow(newWindowData.mType, '#daparentcustomDiv'); } else if ($location.url() == "/clinical-illustrations-detail") { $scope.loadOpenResourceWindow(newWindowData.mType, '#ciparentcustomDiv'); } else if ($location.url() == "/module-item-view") { $scope.loadOpenResourceWindow(newWindowData.mType, '#aaparentcustomDiv'); } else if ($location.url() == "/clinical-animations-detail") { $scope.loadOpenResourceWindow(newWindowData.mType, '#caparentcustomDiv'); } else if ($location.url() == "/adam-images-detail") { $scope.loadOpenResourceWindow(newWindowData.mType, '#aiparentcustomDiv'); } else if ($location.url() == "/3d-anatomy-details") { $scope.loadOpenResourceWindow(newWindowData.mType, '#tdparentcustomDiv'); } else if ($location.url() == "/lab-exercise-view") { $scope.loadOpenResourceWindow(newWindowData.mType, '#labparentcustomDiv'); } }, 500); } $scope.loadOpenResourceWindow = function (moduleName,BasemoduleDivId) { switch (moduleName) { case "DISSECTIBLE_ANATOMY": var daSectionExist = document.getElementById('daCustomModuleDiv'); if (daSectionExist == null && BasemoduleDivId != "#daparentcustomDiv") { $(BasemoduleDivId).append($('
')); var html = $('#daCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another DA module $rootScope.openDABodyViewMain(); } break; case "ATLAS_ANATOMY": var aaSectionExist = document.getElementById('aaCustomModuleDiv'); if (aaSectionExist == null && BasemoduleDivId != "#aaparentcustomDiv") { $(BasemoduleDivId).append($('
')); var html = $('#aaCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another AA module $rootScope.openAAModuleItemMain(); } break; case "CLINICAL_ILLUSTRATIONS": var ciSectionExist = document.getElementById('ciCustomModuleDiv'); if (ciSectionExist == null && BasemoduleDivId != "#ciparentcustomDiv") { $(BasemoduleDivId).append($('
')); var html = $('#ciCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another CI module $rootScope.openCIBodyViewMain(); } break; case "ADAM_IMAGES": var aiSectionExist = document.getElementById('aiCustomModuleDiv'); if (aiSectionExist == null && BasemoduleDivId != "#aiparentcustomDiv") { $(BasemoduleDivId).append($('
')); var html = $('#aiCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another AI module $rootScope.OpenAdamImageViewMain(); } break; case "CLINICAL_ANIMATIONS": var caSectionExist = document.getElementById('caCustomModuleDiv'); if (caSectionExist == null && BasemoduleDivId != "#caparentcustomDiv") { $(BasemoduleDivId).append($('
')); var html = $('#caCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another CA module $rootScope.openCABodyViewMain(); } break; case "THREE_D_ANATOMY": var threeDSectionExist = document.getElementById('theeDCustomModuleDiv'); if (threeDSectionExist == null && BasemoduleDivId != "#tdparentcustomDiv") { $(BasemoduleDivId).append($('
')); var html = $('#theeDCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another 3d module $rootScope.Open3DModelBodyMain(); } break; case "LAB_EXERCISE": var labSectionExist = document.getElementById('labCustomModuleDiv'); if (labSectionExist == null && BasemoduleDivId != "#labparentcustomDiv") { $(BasemoduleDivId).append($('
')); var html = $('#labCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another 3d module $rootScope.InitializeLabExerciseMain(); } break; case "MY_PICTURES": var picSectionExist = document.getElementById('picCustomModuleDiv'); if (picSectionExist == null ||picSectionExist==undefined) { $(BasemoduleDivId).append($('
')); var html = $('#picCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another picture $rootScope.OpenMyPictureViewMain(); } break; case "MY_ANIMATIONS": var vidSectionExist = document.getElementById('vidCustomModuleDiv'); if (vidSectionExist == null ||vidSectionExist==undefined) { $(BasemoduleDivId).append($('
')); var html = $('#vidCustomModuleDiv').append(""); $compile(html)($scope); } else { // open another Animation $rootScope.OpenMyAnimationViewMain(); } break; } } $rootScope.forgotPwdModalShow = function () { document.getElementById("forgetPwdForm").reset() $("#forgotPwdModal").modal("show"); $(".modal-backdrop").css("opacity", ".5"); $("body.modal-open").css("padding-right", "0px"); } $rootScope.forgotUserModalShow = function () { document.getElementById("forgetUSerIdForm").reset(); $("#forgotUserModal").modal("show"); $(".modal-backdrop").css("opacity", ".5"); $("body.modal-open").css("padding-right", "0px"); } $rootScope.promptUserForCookies = function () { $('#errorMessage').text(AIAConstants.COOKIES_MESSAGE); $("#messageModal").modal('show'); } $scope.helpTopicLink = function () { var x = $location.absUrl(); var pos = x.lastIndexOf($location.url()); $rootScope.homeURL =x.substring(0,pos+1); var hTopicUrl = $rootScope.homeURL + "content/help/index.html"; var aboutADAM = $rootScope.homeURL + "content/help/about/Adam_Credits_AIA5.html"; $("#helplinkId").append("
  • Help Topics
  • "); $("#helplinkId").append("
  • Customer Support
  • "); $("#helplinkId").append(""); $("#helplinkId").append("
  • About A.D.A.M.
  • "); } $scope.DisableDemoAccountOption=function() { //enable export image for instructors edition and for superadmin .disable for demo/test user if ((($rootScope.userData.EditionId == 1) || ($rootScope.userData.EditionId == 2) || ($rootScope.userData.EditionId == 0)) && ($rootScope.userData.UserTypeId != 8)) { } else { //disable for demo user $('#exportImageAnchor').addClass('exportImage'); $('#newCurriculumid').addClass('newCurriculum'); $("#printAVAnchor").addClass("PrintViewer"); $("#printAllAVAnchor").addClass("PrintViewer"); $("#printPreviewAnchor").addClass("PrintPreview"); } } $rootScope.initializeAIA = function () { var url = $location.url(); //some time value not remove then reload sessionStorage.removeItem('ExitsCBFileDetail'); sessionStorage.removeItem('isModuleOpenByOpenResource'); $('#login').css('visibility', 'visible'); $rootScope.lexiconData(); $rootScope.checkRefreshButtonClick = 1; var date = new Date(); $rootScope.userInfo = { username: null, password: null, emailId: null, newPassword: null, confirmPassword: null, userMessage: null, unblockUser: false, isMailForForgotPassword: false, SessionId:date.getTime() }; $rootScope.siteUrlInfo = { siteIP: null, remoteIPAddress: null, status: null, accountNumber: null, edition: null, urlReferer: null, calsCreds: null, userId: null, password: null, mtype:null, id:null, SessionId:date.getTime() } if (params != null && params != undefined && params != "") { $scope.ValidateClientSiteUrl(); } else { if (navigator.cookieEnabled) { $rootScope.isLoading = false; $rootScope.isLoginLoading = false; //unblock user if (url.indexOf('?unb:') != -1) { $rootScope.isVisibleLogin = true; $rootScope.UnblockUser(); } else if (url.indexOf('?em:') != -1) { $rootScope.isVisibleLogin = false; $rootScope.isVisibleResetPass = true; } else { $rootScope.isVisibleLogin = true; $rootScope.isVisibleResetPass = false; //get user is already loggedin or not $scope.currentUserDetails = $rootScope.getLocalStorageValue('loggedInUserDetails'); if ($scope.currentUserDetails != undefined) { $rootScope.isVisibleLogin = false; $location.url('/'); ConfigurationService.getCofigValue() .then( function (configresult) { $rootScope.current_year = configresult.current_year; $rootScope.aiaIdleTime = configresult.idleTime; $rootScope.aiaIdleTimeOut = configresult.idelTimeOut; $rootScope.aiaPingInterval = configresult.pingInterval; $rootScope.aiaAnimationPath = configresult.serverPath; $rootScope.MaxOneFileSize = configresult.fileSize; $rootScope.aodDomainName = configresult.aodSiteUrl; var loggedInUser = JSON.parse($scope.currentUserDetails); //incase site user login userid is 0 so then using license id //logout site user while reload url without parameter var userId=loggedInUser.Id==0?loggedInUser.LicenseId:loggedInUser.Id; //licenseId would be zero for admin/gernal admin var isadminType=loggedInUser.LicenseId==0?true:false; $scope.checkuserstatus = { userId: userId, tagName: loggedInUser.Id==0?'logout':'update', SessionId:loggedInUser.SessionId, isSiteUser:loggedInUser.isSiteUser, isAdmin:isadminType } // this case found when browser closed by user after login. after long time (after 20 min) open site again // loggedInUserDetails contain user detail so user auto login but it is logout by // 1.by agent job 2. or by admin section from db // so check user session again before auto login AuthenticationService.ManageUserLoginStatus($scope.checkuserstatus) .then( function (loginStatus) { if(loginStatus!=null) { if(loginStatus=='False') { $rootScope.LogoutUserSession(); } else { AuthenticateAlreadyLoggedInUser(); } } }), function (error) { console.log(' Error in user login status = ' + error.statusText); $('#errorMessage').text(error); $("#messageModal").modal('show'); } }); } var isRememberChecked = $rootScope.getLocalStorageValue('isRememberMeChecked'); if ($rootScope.getLocalStorageValue('isRememberMeChecked') != "" && sessionStorage.getItem("loginSession") == null) { sessionStorage.setItem("loginSession", "true"); } if (isRememberChecked == "true" && sessionStorage.getItem("loginSession") == "true" && $rootScope.isVisibleLogin == true) { $timeout(function () { $rootScope.userInfo = { username: $rootScope.getLocalStorageValue('RememberMeLoginId'), password: $rootScope.getLocalStorageValue('RememberMePassword'), rememberChk: true }; }, 800); } } } else { $rootScope.isVisibleLogin = true; $rootScope.promptUserForCookies(); } $scope.currentUserDetails = $rootScope.getLocalStorageValue('loggedInUserDetails'); if ($scope.currentUserDetails == undefined) { $rootScope.getConfigurationValues(); } } $timeout(function () { $scope.helpTopicLink(); }, 2000); } $rootScope.lexiconData = function () { $rootScope.lexiconAllLanguage = []; $rootScope.lexiconLanguageArray = []; $.ajax({ url: '~/../content/data/json/da/uc_dat_default.json', dataType: "json", success: function (result) { var plId=result.root.uc.pl.lx._id; var plText=result.root.uc.pl.lx._tl; $rootScope.lexiconAllLanguage.push({ _id: plId, _tl: plText }); $(result.root.uc.al.lx).each(function (key, value) { $rootScope.lexiconAllLanguage.push({ _id: this._id, _tl: this._tl }); }); } }); $('#lexiconLangDropdown').change(function () { $rootScope.isLexiconLanguageClicked = true; $('#laxiconLangAdd').removeAttr('disabled'); $('#laxicanlanguageChagne').removeAttr('disabled'); $rootScope.selectedId = $("#lexiconLangDropdown option:selected").attr('val'); $rootScope.selectedText = $("#lexiconLangDropdown option:selected").text(); }); $('#laxiconLangAdd').click(function () { if ($rootScope.isLexiconLanguageClicked == true) { $rootScope.isLexiconLanguageClicked = false; $("#lexiconLangDropdown :selected").remove(); $('#secondLax').append(''); $rootScope.lexiconLanguageArray.push({ id: $rootScope.selectedId, language: $rootScope.selectedText }); $rootScope.islaxicanlanguageChange=true; $('#laxiconLangAdd').attr('disabled', 'disabled'); $('#laxicanlanguageChagne').attr('disabled', 'disabled'); $timeout(function () { $('#lexiconLangDropdown').html($('#lexiconLangDropdown').find('option').sort(function (x, y) { return $(x).text() > $(y).text() ? 1 : -1 })); }, 100); } }); $('#secondLax').change(function () { $rootScope.isActiveLexiconLanguageClicked = true; $rootScope.secondlaxdid = $("#secondLax option:selected").attr('val'); $rootScope.secondlaxtext = $("#secondLax option:selected").text(); $('#laxiconLangRemove').removeAttr('disabled'); }); $("#laxiconLangRemove").click(function () { if ($rootScope.isActiveLexiconLanguageClicked == true) { $rootScope.isActiveLexiconLanguageClicked = false; $("#secondLax :selected").remove(); $('#lexiconLangDropdown').append(''); // $rootScope.lexiconLanguageArray.splice($rootScope.secondlaxtext, 1); $rootScope.lexiconLanguageArray = []; $("#secondLax > option").each(function () { $rootScope.lexiconLanguageArray.push({ id: $(this).attr("val"), language: this.value }); }); $rootScope.lexiconLanguageArray.unshift({ id: $("#primarylaxican").attr("name"), language: $("#primarylaxican").val() }); $rootScope.islaxicanlanguageChange=true; $timeout(function () { $('#lexiconLangDropdown').html($('#lexiconLangDropdown').find('option').sort(function (x, y) { return $(x).text() > $(y).text() ? 1 : -1 })); $('#laxiconLangRemove').attr('disabled', 'disabled'); $("#secondLax > option").each(function () { $('#laxiconLangRemove').removeAttr('disabled'); }); }, 100); } }); $("#laxicanlanguageChagne").click(function () { if ($rootScope.isLexiconLanguageClicked == true) { $rootScope.isLexiconLanguageClicked = false; var primarylaxiid = $("#lexiconLangDropdown option:selected").attr('val'); var primarylaxicantext = $("#lexiconLangDropdown option:selected").text(); $("#lexiconLangDropdown :selected").remove(); $('#lexiconLangDropdown').append(''); $('#primarylaxican').val(primarylaxicantext); $('#primarylaxican').attr("name", primarylaxiid); $rootScope.lexiconLanguageArray[0].id = primarylaxiid; $rootScope.lexiconLanguageArray[0].language = primarylaxicantext; $('#laxicanlanguageChagne').attr('disabled', 'disabled'); $('#laxiconLangAdd').attr('disabled', 'disabled'); $rootScope.islaxicanlanguageChange=true; $timeout(function () { $('#lexiconLangDropdown').html($('#lexiconLangDropdown').find('option').sort(function (x, y) { return $(x).text() > $(y).text() ? 1 : -1 })); }, 100); } }); } $rootScope.InitiateLexicon = function (primaryId,secondryIds) { var secondLng=[]; secondLng=secondryIds.split(','); var primaryLang = new jinqJs() .from( $rootScope.lexiconAllLanguage) .where('_id == ' + primaryId) .select()[0]; var secondLang = new jinqJs() .from( $rootScope.lexiconAllLanguage) .in(secondLng, '_id') .orderBy([{ field: '_tl', sort: 'asc' }]) .select(); $rootScope.lexiconLanguageArray.push({ id: primaryLang._id, language: primaryLang._tl }); $("#primarylaxican").val(primaryLang._tl); $('#primarylaxican').attr("name", primaryLang._id); secondLng.push(primaryId); var restLanguage = new jinqJs() .from( $rootScope.lexiconAllLanguage) .not() .in(secondLng, '_id') .orderBy([{ field: '_tl', sort: 'asc' }]) .select(); angular.forEach(restLanguage, function (value, key) { $('#lexiconLangDropdown').append(''); }); angular.forEach(secondLang, function (value, key) { $('#secondLax').append(''); $rootScope.lexiconLanguageArray.push({ id: value._id, language: value._tl }); }); } $rootScope.getConfigurationValues = function () { ConfigurationService.getCofigValue() .then( function (configresult) { $rootScope.current_year = configresult.current_year; $rootScope.aiaIdleTime = configresult.idleTime; $rootScope.aiaIdleTimeOut = configresult.idelTimeOut; $rootScope.aiaPingInterval = configresult.pingInterval; $rootScope.aiaAnimationPath = configresult.serverPath; $rootScope.MaxOneFileSize = configresult.fileSize; $rootScope.aodDomainName = configresult.aodSiteUrl; }); } $rootScope.LoginEnableUI=function() { $rootScope.isLoginLoading = false; $('#spinnerLogin').css('visibility', 'hidden'); $('.loginPanel').css('pointer-events', 'auto'); $('.loginPanel').css('opacity', '1'); $rootScope.isLoading = false; $('#spinner').css('visibility', 'hidden'); $('#HomeContainerDiv').css('pointer-events', 'auto'); $('#HomeContainerDiv').css('opacity', '1'); } $rootScope.LoginDisableUI=function() { $rootScope.isLoginLoading = true; $('#spinnerLogin').css('visibility', 'visible'); $('.loginPanel').css('pointer-events', 'none'); $('.loginPanel').css('opacity', '0.7'); $rootScope.isLoading = true; $('#spinner').css('visibility', 'visible'); $('#HomeContainerDiv').css('pointer-events', 'none'); $('#HomeContainerDiv').css('opacity', '0.7'); } $rootScope.AuthenticateUser = function (userInfo) { if (navigator.cookieEnabled) { $('#errorMessage').text(""); if (userInfo.username == "" || userInfo.username == null || userInfo.username == undefined || userInfo.password == "" || userInfo.password == null || userInfo.password == undefined) { $('#errorMessage').text(LoginMessageConstants.USER_CREDENTIALS_MISSING); $("#messageModal").modal('show'); } else { $rootScope.LoginDisableUI(); AuthenticationService.authenticateUser(userInfo) .then( function (result) { if (result == LoginConstants.USER_NOT_FOUND) { $rootScope.LoginEnableUI(); $rootScope.isVisibleLogin = true; $('#errorMessage').text(LoginMessageConstants.INVALID_USER); $("#messageModal").modal('show'); } else { // birendra// initialize exp img detail object $rootScope.initializeUserForExportImage(result.Id); // update result with session detail result.aiaIdleTime=$rootScope.aiaIdleTime; result.aiaIdleTimeOut=$rootScope.aiaIdleTimeOut; result.aiaPingInterval=$rootScope.aiaPingInterval; result.SessionId=userInfo.SessionId; //display user name $rootScope.userName=result.FirstName+" "+result.LastName; //code for modesty setting if (result.LicenseInfo != null) { if (result.userselectedModesty == undefined || result.userselectedModesty == null || result.userSelectedSkintone == undefined || result.userSelectedSkintone == null) { if (result.IsModestyOn) { $rootScope.isModestyOn = true; $rootScope.isModestyOff = false; localStorage.setItem("globalModesty", "Y"); $rootScope.formsetting = { ethnicity: "W", modesty: "Y" } $rootScope.UpdateSetting($rootScope.formsetting) } else { $rootScope.isModestyOn = false; $rootScope.isModestyOff = true; localStorage.setItem("globalModesty", "N"); $rootScope.formsetting = { ethnicity: "W", modesty: "N" } $rootScope.UpdateSetting($rootScope.formsetting) } } else { localStorage.setItem("globalModesty", result.userselectedModesty); localStorage.setItem("globalEthnicity", result.userSelectedSkintone); $rootScope.formsetting = { ethnicity: result.userSelectedSkintone, modesty: result.userselectedModesty } $rootScope.UpdateSetting($rootScope.formsetting); } //under graduate if(result.EditionId==2 || result.EditionId==4 ) { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"2", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } else { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"1", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } $rootScope.InitiateLexicon( $rootScope.lexicons.primaryid, $rootScope.lexicons.secondryids) } else { if (result.userselectedModesty == undefined || result.userselectedModesty == null || result.userSelectedSkintone == undefined || result.userSelectedSkintone == null) { $rootScope.isModestyOn = true; $rootScope.isModestyOff = false; localStorage.setItem("globalModesty", "Y"); $rootScope.formsetting = { ethnicity: "W", modesty: "Y" } $rootScope.UpdateSetting($rootScope.formsetting); } else { localStorage.setItem("globalModesty", result.userselectedModesty); localStorage.setItem("globalEthnicity", result.userSelectedSkintone); $rootScope.formsetting = { ethnicity: result.userSelectedSkintone, modesty: result.userselectedModesty } $rootScope.UpdateSetting($rootScope.formsetting) } //under graduate if(result.EditionId==2 || result.EditionId==4 ) { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"2", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } else { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"1", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } $rootScope.InitiateLexicon( $rootScope.lexicons.primaryid, $rootScope.lexicons.secondryids) } //code for modesty setting $rootScope.aiaModesty = $rootScope.formsetting.modesty; if (typeof result.LoginId != undefined || result.LoginId != "" || result.LoginId != null) { if ($("#messageModal").length > 0) { $("#messageModal").modal('hide'); } if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_PASSWORD_NOT_MATCH) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.INVALID_PASSWORD); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_USER_ID_BLOCKED_24_HRS) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.USER_BLOCKED); $("#messageModal").modal('show'); } else if ((result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_USER_NOT_ACTIVE) && (result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (result.LicenseInfo.IsActive) && result.IsSubscriptionExpired) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); var expmsg = LoginMessageConstants.SUBSCRIPTION_EXPIRATION_MESSAGE + result.SubscriptionExpirationDate + '.'; $('#errorMessage').text(expmsg + ' ' + LoginMessageConstants.USER_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else if ((result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_USER_NOT_ACTIVE) && (result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (!result.LicenseInfo.IsActive) && result.IsSubscriptionExpired) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); var expmsg = LoginMessageConstants.SUBSCRIPTION_EXPIRATION_MESSAGE + result.SubscriptionExpirationDate + '.'; $('#errorMessage').text(expmsg + ' ' + LoginMessageConstants.LICENSE_INACTIVE_MESSAGE + ' ' + LoginMessageConstants.USER_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else if ((result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_USER_NOT_ACTIVE) && (result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (!result.LicenseInfo.IsActive) && result.IsSubscriptionExpired) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); var expmsg = LoginMessageConstants.SUBSCRIPTION_EXPIRATION_MESSAGE + result.SubscriptionExpirationDate + '.'; $('#errorMessage').text(expmsg + ' ' + LoginMessageConstants.LICENSE_INACTIVE_MESSAGE + ' ' + LoginMessageConstants.USER_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else if ((result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_USER_NOT_ACTIVE) && (result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (!result.LicenseInfo.IsActive) && (!result.IsSubscriptionExpired)) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.LICENSE_INACTIVE_MESSAGE + ' ' + LoginMessageConstants.USER_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_USER_NOT_ACTIVE) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.USER_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else if ((result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (!result.LicenseInfo.IsActive) && (result.IsSubscriptionExpired)) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); var expmsg = LoginMessageConstants.SUBSCRIPTION_EXPIRATION_MESSAGE + result.SubscriptionExpirationDate + '.'; $('#errorMessage').text(expmsg + ' ' + LoginMessageConstants.LICENSE_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else if ((result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (result.LicenseInfo.IsActive) && (result.IsSubscriptionExpired)) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.SUBSCRIPTION_EXPIRATION_MESSAGE + result.SubscriptionExpirationDate + '.'); $("#messageModal").modal('show'); } else if ((result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (result.LicenseInfo.IsActive) && (result.IsSubscriptionNotStart)) { // validation for new license which license start date is future date . $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.SUBSCRIPTION_NOT_START_MESSAGE + result.SubscriptionStartDate + '.'); $("#messageModal").modal('show'); } else if ((result.LicenseInfo != null) && (result.LicenseInfo != undefined) && (!result.LicenseInfo.IsActive) && (!result.IsSubscriptionExpired)) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.LICENSE_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else { //LicenseId would be zero for admin that is why we set the haveRoleAdmin = true if (result.LicenseId == 0 && result.IsActive) { // set license id -1 for admin $scope.UpdateUserExportImageData(result.Id, 'LicenseId', -1) // set enable export image for admin $scope.UpdateUserExportImageData(result.Id, 'isExportImage', true); $rootScope.haveRoleAdmin = true; $rootScope.userData = result; $rootScope.userModules = result.Modules; localStorage.setItem('loggedInUserDetails', JSON.stringify(result)); if (isCommingSoonModel == true) { // ShowAssignedModulesPopup(result.Modules); if (userInfo.rememberChk) { $scope.saveRemeberMeDetails(result, userInfo); } sessionStorage.setItem("loginSession", "true"); localStorage.setItem('isCommingSoonModel', false); $rootScope.isVisibleLogin = false; } $location.path('/'); $timeout(function () { $rootScope.LoginEnableUI(); $scope.RedirectToModule(); }, 100); } else { //1. set haveRoleAdmin = false because LicenseInfo is not null if (result.LicenseTypeId != 5) { $rootScope.haveRoleAdmin = true; } if (result.UserTypeId == 8) { $rootScope.haveRoleAdmin = false; } if (result.LicenseInfo != null) { // set license id $scope.UpdateUserExportImageData(result.Id, 'LicenseId', result.LicenseId) // set license type :note 5 for demo/test license $scope.UpdateUserExportImageData(result.Id, 'LicenseTypeId', result.LicenseInfo.LicenseTypeId); if (result.UserExportImageDetail != null) { // set already export image count $scope.UpdateUserExportImageData(result.Id, 'CountExportImage', result.UserExportImageDetail.CountExportedImage); // set Image limit $scope.UpdateUserExportImageData(result.Id, 'ExptImageLimit', result.UserExportImageDetail.ExptImageLimit); // set is enable for export image $scope.UpdateUserExportImageData(result.Id, 'isExportImage', result.UserExportImageDetail.isExportImage); } if (result.LicenseInfo.IsTermAccepted) { //0. $rootScope.userData = result; $rootScope.userModules = result.Modules; //only instructor allowed to change modesty //concurrent user of non-instructor if( result.UserTypeId == 6 && result.EditionId!=1 && result.EditionId!=2) { $("#modestyDiv").css("pointer-events", "none"); $("#modestyDiv").css("opacity", 0.5); $("#modestyDiv").find("*").prop('disabled', true); } localStorage.setItem('loggedInUserDetails', JSON.stringify(result)); // 3.ShowAssignedModulesPopup //isCommingSoonModel =true only when user comes first time on application and login if (isCommingSoonModel == true) { // ShowAssignedModulesPopup(result.Modules); } //4. if ($scope.rememberChk) { $scope.saveRemeberMeDetails(result, userInfo); } //5. sessionStorage.setItem("loginSession", "true"); $rootScope.isVisibleLogin = false; //6. reset the isCommingSoonModel to false in local storage so that upcomming module pop up would not show again to the user after firts time localStorage.setItem('isCommingSoonModel', false); // for reseller type user first need to update profile if (result.UserTypeId == 7 && (result.FirstName == "" || result.EmailId == "" || result.LastName == "")) { $rootScope.LoginEnableUI(); $('#updateprofile').html(LoginMessageConstants.USER_UPDATE_PROFILE); $("#profileUpdateModal").modal('show'); $(".modal-backdrop").css("opacity", ".5"); } else { $location.path('/'); $timeout(function () { $rootScope.LoginEnableUI(); $scope.RedirectToModule(); }, 100); } } else { if ($('#dvTerms').length > 0) { $('#dvTerms').html(result.TermsAndConditionsText); } $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#dvTermCondition').fadeIn(); $rootScope.userData = result; localStorage.setItem('loggedInUserDetails', JSON.stringify(result)); $location.path('/'); } } } // set user session time $rootScope.loadUserSession(); $rootScope.LoginEnableUI(); } } } }), function (error) { console.log(' Error in authentication = ' + error.statusText); $rootScope.LoginEnableUI(); $rootScope.isVisibleLogin = true; $('#errorMessage').text(error); $("#messageModal").modal('show'); } } } else { $rootScope.promptUserForCookies(); } } $scope.RedirectToModule = function () { if($rootScope.siteUrlInfo.mtype!=null) { if($rootScope.siteUrlInfo.mtype.toLowerCase()=='ca') { $('#clinical-animations').trigger('click'); } } if ((localStorage.getItem("daDataObject")) != '') { //$rootScope.cernerIntegrationActive=true; // $('#da-view-list').trigger('click'); } } $scope.ValidateClientSiteUrl = function () { $rootScope.isCallFromSite = true; var siteInfo = params.split('&'); for (var i = 0; i < siteInfo.length; i++) { if (isCalsCredantialForSIte.toLowerCase() == "true") { $rootScope.IsCalsCred = true; } if (isCalsCredantialForSIte == "True") { var paramInfo = siteInfo[i].split('='); //added by birendra direct open CA module if(paramInfo[0].toLowerCase() == 'mtype') { $rootScope.siteUrlInfo.mtype = paramInfo[1]; console.log("$rootScope.siteUrlInfo.mtype" + $rootScope.siteUrlInfo.mtype); } else if (paramInfo[0].toLowerCase() == 'id') { $rootScope.siteUrlInfo.id = paramInfo[1]; console.log("$rootScope.siteUrlInfo.id" + $rootScope.siteUrlInfo.id); } else if (paramInfo[0].toLowerCase() == 'username') { $rootScope.siteUrlInfo.userId = paramInfo[1]; console.log("$rootScope.siteUrlInfo.username" + $rootScope.siteUrlInfo.userId); } else if (paramInfo[0].toLowerCase() == 'accountnumber') { $rootScope.siteUrlInfo.accountNumber = paramInfo[1]; console.log("$rootScope.siteUrlInfo.accountNumber" + $rootScope.siteUrlInfo.accountNumber); } // if (paramInfo[0] == 'calsCredantial') { // $rootScope.siteUrlInfo.calsCreds = paramInfo[1]; // console.log("$rootScope.siteUrlInfo.calsCreds" + $rootScope.siteUrlInfo.calsCreds); // } // else if (paramInfo[0] == 'username') { // $rootScope.siteUrlInfo.username = paramInfo[1]; // console.log("$rootScope.siteUrlInfo.username" + $rootScope.siteUrlInfo.username); // } // else if (paramInfo[0] == 'password') { // $rootScope.siteUrlInfo.password = paramInfo[1]; // console.log("$rootScope.siteUrlInfo.password " + $rootScope.siteUrlInfo.password); // } //$rootScope.userInfo.username = $rootScope.siteUrlInfo.userId; //$rootScope.userInfo.password = $rootScope.siteUrlInfo.password; } else { var paramInfo = siteInfo[i].split('='); if (paramInfo[0] == 'siteIP') { $rootScope.siteUrlInfo.siteIP = paramInfo[1]; console.log("$rootScope.siteUrlInfo.siteIP=" + $rootScope.siteUrlInfo.siteIP); } else if (paramInfo[0] == 'accountNumber') { $rootScope.siteUrlInfo.accountNumber = paramInfo[1]; console.log("$rootScope.siteUrlInfo.accountNumber=" + $rootScope.siteUrlInfo.accountNumber); } else if (paramInfo[0] == 'edition') { $rootScope.siteUrlInfo.edition = paramInfo[1]; console.log("$rootScope.siteUrlInfo.siteIP=" + $rootScope.siteUrlInfo.siteIP); } else if (paramInfo[0] == 'urlReferer') { $rootScope.siteUrlInfo.urlReferer = paramInfo[1]; console.log("$rootScope.siteUrlInfo.urlReferer" + $rootScope.siteUrlInfo.urlReferer); } else if (paramInfo[0] == 'remoteIPAddress') { $rootScope.siteUrlInfo.remoteIPAddress = paramInfo[1]; console.log("$rootScope.siteUrlInfo.remoteIPAddress" + $rootScope.siteUrlInfo.remoteIPAddress); } localStorage.setItem("siteUrlInfo", JSON.stringify($rootScope.siteUrlInfo)); } } if (isCalsCredantialForSIte == "True") { if($rootScope.siteUrlInfo.mtype!=null && $rootScope.siteUrlInfo.mtype.toLowerCase()=='ca' && $rootScope.siteUrlInfo.userId!=null && $rootScope.siteUrlInfo.accountNumber!=null) { $rootScope.LoginDisableUI(); var userInfo=$rootScope.userInfo;//also get session id AuthenticationService.ByPassLoginToOpenModule($rootScope.siteUrlInfo) .then( function (result) { if(result!=null) { $scope.currentUserDetails = $rootScope.getLocalStorageValue('loggedInUserDetails'); ConfigurationService.getCofigValue() .then( function (configresult) { $rootScope.current_year = configresult.current_year; $rootScope.aiaIdleTime = configresult.idleTime; $rootScope.aiaIdleTimeOut = configresult.idelTimeOut; $rootScope.aiaPingInterval = configresult.pingInterval; $rootScope.aiaAnimationPath = configresult.serverPath; $rootScope.MaxOneFileSize = configresult.fileSize; $rootScope.aodDomainName = configresult.aodSiteUrl; userInfo.username = result.LoginId; userInfo.password = result.Password; var loggedInUser = JSON.parse($scope.currentUserDetails); if(loggedInUser!==null && loggedInUser.LoginId==result.LoginId) { //using old session id userInfo.SessionId = loggedInUser.SessionId; $rootScope.AuthenticateUser(userInfo); } else { //using new sessionid $rootScope.AuthenticateUser(userInfo); } }); } }), function (error) { console.log(' Error in bypass login = ' + error.statusText); $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(error); $("#messageModal").modal('show'); } } else { console.log(' invalid detail in bypass login'); $rootScope.isVisibleLogin = true; $('#errorMessage').text("authentication is not allowed due to invalid details format .\nPlease pass the correct details again!"); $("#messageModal").modal('show'); } } else { console.log($rootScope.siteUrlInfo); $rootScope.LoginDisableUI(); $scope.currentUserDetails = $rootScope.getLocalStorageValue('loggedInUserDetails'); var sitedetail=$rootScope.siteUrlInfo; ConfigurationService.getCofigValue() .then( function (configresult) { $rootScope.current_year = configresult.current_year; $rootScope.aiaIdleTime = configresult.idleTime; $rootScope.aiaIdleTimeOut = configresult.idelTimeOut; $rootScope.aiaPingInterval = configresult.pingInterval; $rootScope.aiaAnimationPath = configresult.serverPath; $rootScope.MaxOneFileSize = configresult.fileSize; $rootScope.aodDomainName = configresult.aodSiteUrl; var loggedInUser = JSON.parse($scope.currentUserDetails); //check already login by account number bcz no login id for site login //maintain user session by licenseid of site login if(loggedInUser!==null && loggedInUser.AccountNumber==sitedetail.accountNumber) { //using old session id sitedetail.SessionId = loggedInUser.SessionId; $rootScope.AuthenticateClientSiteUser(sitedetail); } else { //using new sessionid $rootScope.AuthenticateClientSiteUser(sitedetail); } }); } } $rootScope.AuthenticateClientSiteUser = function (siteInfo) { $rootScope.LoginDisableUI(); AuthenticationService.validateClientSite(siteInfo) .then( function (result) { console.log(result); if (result != null) { console.log(result); if (result == LoginConstants.INVALID_CLIENT) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginConstants.INVALID_CLIENT); $("#messageModal").modal('show'); } else if (result == LoginConstants.MSG_NOT_AUTHORIZE_SITE_USER) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginConstants.MSG_NOT_AUTHORIZE_SITE_USER); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_ACCOUNT_NUMBER_NOT_NULL) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.E_ACCOUNT_NUMBER_NOT_NULL); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_EDITION_ID_NOT_NULL) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.E_EDITION_ID_NOT_NULL); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.E_EDITION_NOT_LINKED_WITH_SITE) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.E_EDITION_NOT_LINKED_WITH_SITE); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.LICENSE_INACTIVE) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.LICENSE_INACTIVE_MESSAGE); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.SITELICENSE_EXPIRED) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.SUBSCRIPTION_EXPIRATION_MESSAGE + result.SubscriptionExpirationDate + '.'); $("#messageModal").modal('show'); } else if (result.LoginFailureCauseId != undefined && result.LoginFailureCauseId.toString() == LoginConstants.SITELICENSE_NOTSTARTED) { $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#errorMessage').text(LoginMessageConstants.SUBSCRIPTION_NOT_START_MESSAGE + result.SubscriptionStartDate + '.'); $("#messageModal").modal('show'); } else { // update result with session detail result.aiaIdleTime=$rootScope.aiaIdleTime; result.aiaIdleTimeOut=$rootScope.aiaIdleTimeOut; result.aiaPingInterval=$rootScope.aiaPingInterval; result.SessionId=siteInfo.SessionId; //display user name $rootScope.userName=result.FirstName+" "+result.LastName; if (typeof result.FirstName != undefined || result.FirstName != "" || result.FirstName != null) { //code for modesty setting if (result.LicenseInfo != null) { if (result.userselectedModesty == undefined || result.userselectedModesty == null || result.userSelectedSkintone == undefined || result.userSelectedSkintone == null) { if (result.Modesty) { $rootScope.isModestyOn = true; $rootScope.isModestyOff = false; localStorage.setItem("globalModesty", "Y"); $rootScope.formsetting = { ethnicity: "W", modesty: "Y" } $rootScope.UpdateSetting($rootScope.formsetting) } else { $rootScope.isModestyOn = false; $rootScope.isModestyOff = true; localStorage.setItem("globalModesty", "N"); $rootScope.formsetting = { ethnicity: "W", modesty: "N" } $rootScope.UpdateSetting($rootScope.formsetting) } } else { localStorage.setItem("globalModesty", result.userselectedModesty); localStorage.setItem("globalEthnicity", result.userSelectedSkintone); $rootScope.formsetting = { ethnicity: result.userSelectedSkintone, modesty: result.userselectedModesty } $rootScope.UpdateSetting($rootScope.formsetting); } //under graduate if(result.EditionId==2 || result.EditionId==4 ) { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"2", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } else { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"1", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } $rootScope.InitiateLexicon( $rootScope.lexicons.primaryid, $rootScope.lexicons.secondryids) } else { if (result.userselectedModesty == undefined || result.userselectedModesty == null || result.userSelectedSkintone == undefined || result.userSelectedSkintone == null) { $rootScope.isModestyOn = true; $rootScope.isModestyOff = false; localStorage.setItem("globalModesty", "Y"); $rootScope.formsetting = { ethnicity: "W", modesty: "Y" } $rootScope.UpdateSetting($rootScope.formsetting); } else { localStorage.setItem("globalModesty", result.userselectedModesty); localStorage.setItem("globalEthnicity", result.userSelectedSkintone); $rootScope.formsetting = { ethnicity: result.userSelectedSkintone, modesty: result.userselectedModesty } $rootScope.UpdateSetting($rootScope.formsetting) } //under graduate if(result.EditionId==2 || result.EditionId==4 ) { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"2", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } else { $rootScope.lexicons = { primaryid:result.userLexicon!=null && result.userLexicon.primaryid!=""?result.userLexicon.primaryid:"1", secondryids:result.userLexicon!=null && result.userLexicon.secondryids!="" ?result.userLexicon.secondryids:"" }; } $rootScope.InitiateLexicon( $rootScope.lexicons.primaryid, $rootScope.lexicons.secondryids) } //code for modesty setting $rootScope.aiaModesty = $rootScope.formsetting.modesty; $rootScope.siteId = result.siteId; // birendra// initialize exp img detail object $rootScope.initializeUserForExportImage(result.Id); //LicenseId would be zero for admin that is why we set the haveRoleAdmin = true if (result.LicenseId == 0) { $rootScope.haveRoleAdmin = true; // set license id -1 for admin $scope.UpdateUserExportImageData(result.Id,'LicenseId',-1) // set enable export image for admin $scope.UpdateUserExportImageData(result.Id,'isExportImage',true); $rootScope.userData = result; $rootScope.userModules = result.Modules; localStorage.setItem('loggedInUserDetails', JSON.stringify(result)); if (isCommingSoonModel == true) { ShowAssignedModulesPopup(result.Modules); sessionStorage.setItem("loginSession", "true"); localStorage.setItem('isCommingSoonModel', false); $rootScope.isVisibleLogin = false; } $location.path('/'); } else { if (result.LicenseInfo != null ) { //only site instructor allowed to change modesty if(result.EditionId!=1 && result.EditionId!=2) { $("#modestyDiv").css("pointer-events", "none"); $("#modestyDiv").css("opacity", 0.5); $("#modestyDiv").find("*").prop('disabled', true); } // set license id $scope.UpdateUserExportImageData(result.Id, 'LicenseId', result.LicenseId) // set license type :note 5 for demo/test license $scope.UpdateUserExportImageData(result.Id, 'LicenseTypeId', result.LicenseInfo.LicenseTypeId); if(result.UserExportImageDetail!=null) { // set already export image count $scope.UpdateUserExportImageData(result.Id,'CountExportImage',result.UserExportImageDetail.CountExportedImage); // set Image limit $scope.UpdateUserExportImageData(result.Id,'ExptImageLimit',result.UserExportImageDetail.ExptImageLimit); // set is enable for export image $scope.UpdateUserExportImageData(result.Id,'isExportImage',result.UserExportImageDetail.isExportImage); } $rootScope.userData = result; $rootScope.userModules = result.Modules; //1. set haveRoleAdmin = false because LicenseInfo is not null $rootScope.haveRoleAdmin = false; //2. localStorage.setItem('loggedInUserDetails', JSON.stringify(result)); //5. sessionStorage.setItem("loginSession", "true"); $rootScope.isVisibleLogin = false; //6. reset the isCommingSoonModel to false in local storage so that upcomming module pop up would not show again to the user after firts time // localStorage.setItem('isCommingSoonModel', false); $location.path('/'); } else { if ($('#dvTerms').length > 0) { $('#dvTerms').html(result.TermsAndConditionsText); } $rootScope.isVisibleLogin = true; $rootScope.LoginEnableUI(); $('#dvTermCondition').fadeIn(); $rootScope.userData = result; $rootScope.haveRoleAdmin = false; localStorage.setItem('loggedInUserDetails', JSON.stringify(result)); $location.path('/'); } } $rootScope.loadUserSession(); $rootScope.LoginEnableUI(); } } } }, function (error) { console.log(' Error in authentication = ' + error.statusText); $rootScope.LoginEnableUI(); $rootScope.isVisibleLogin = true; $('#errorMessage').text(error); $("#messageModal").modal('show'); } ) } $scope.saveRemeberMeDetails = function (result, userInfo) { localStorage.setItem('RememberMeLoginId', result.LoginId); localStorage.setItem('RememberMePassword', result.Password); localStorage.setItem("isRememberMeChecked", userInfo.rememberChk); } function ShowAssignedModulesPopup(userModules) { var allModules = Modules; var arrPendingModules = []; if ($('#dvPendingModules').length > 0) { $('#dvPending').hide(); } for (var module = 1; module <= allModules.length; module++) { $('#moduleDiv' + module).hide(); } if (('#moduleDiv1017').length > 0) { $('#moduleDiv1017').hide(); } for (var count = 0; count < userModules.length; count++) { for (var module = 0; module < allModules.length; module++) { if (userModules[count].id == allModules[module].Id) { $('#moduleDiv' + userModules[count].id).show(); break; } if (userModules[count].id == 7) arrPendingModules.push(userModules[count].id); if (userModules[count].id == 8) arrPendingModules.push(userModules[count].id); if (userModules[count].id == 10) arrPendingModules.push(userModules[count].id); } } if (userModules.length > 0) { $('#dvUserModulesInfo').modal('show'); } if (arrPendingModules.length > 0) { $('#dvPendingModules').show(); } } $rootScope.UpdateLicenseTermStatus = function () { $('#dvTermCondition').fadeOut(); var currentUserDetails = $rootScope.getLocalStorageValue('loggedInUserDetails'); if (currentUserDetails) { var userInfo = JSON.parse(currentUserDetails); } if (userInfo.LicenseInfo.AccountNumber != null && userInfo.LicenseInfo.Id != 0) { $rootScope.userLicenseInfo.userLicenseId = userInfo.LicenseInfo.Id; $rootScope.userLicenseInfo.licenseeAccountNumber = userInfo.LicenseInfo.AccountNumber; AuthenticationService.UpdateLicenseTerm($rootScope.userLicenseInfo) .then(function (result) { if (result.Modules !== "" && result.Modules !== null) { // LoginMessageConstants.LICENSE_TERM_CONDITION_UPDATE_SUCCESS) { console.log(' Term and Condition acceptance status updated successfully.'); if (currentUserDetails) { var userInfo = JSON.parse(currentUserDetails); userInfo.Modules = result.Modules; if (userInfo.LoginId != undefined || userInfo.LoginId != "" || userInfo.LoginId != null) { $rootScope.isVisibleLogin = false; $rootScope.userData = userInfo; $rootScope.userModules = userInfo.Modules; // ShowAssignedModulesPopup(userInfo.Modules);; // for reseller type user first need to update profile if (userInfo.UserTypeId == 7 && (userInfo.FirstName == "" || userInfo.EmailId == "" || userInfo.LastName == "")) { $('#updateprofile').html(LoginMessageConstants.USER_UPDATE_PROFILE); $("#profileUpdateModal").modal('show'); $(".modal-backdrop").css("opacity", ".5"); } else { $location.path('/'); } } } } else if (result = LoginConstants.LICENSE_TERM_CONDITION_UPDATE_FAILED) { console.log(result); $rootScope.isVisibleLogin = true; $('#dvTermCondition').fadeIn(); $('#errorMessage').text(LoginConstants.LICENSE_TERM_CONDITION_UPDATE_FAILED); $("#messageModal").modal('show'); $("#messageModal").css("z-index", 111112); localStorage.removeItem("loggedInUserDetails"); } }, function (error) { console.log(' Error in Term and Condition acceptance status update = ' + error);//.statusText $rootScope.isVisibleLogin = true; $rootScope.isVisibleLogin = true; $('#errorMessage').text(error); $("#messageModal").modal('show'); $('#dvTermCondition').fadeIn(); }); } }; $rootScope.RememberMe = function (isRememberMeChecked) { if (localStorage.getItem('isRememberMeChecked') != null) { localStorage.removeItem('loggedInUserDetails'); localStorage.removeItem('isRememberMeChecked'); localStorage.removeItem('RememberMeLoginId'); localStorage.removeItem('RememberMePassword'); } } $rootScope.loadUserSession = function () { //update session config from API Idle.setIdle($rootScope.aiaIdleTime); Idle.setTimeout($rootScope.aiaIdleTimeOut); Keepalive.setInterval($rootScope.aiaPingInterval); Idle.watch();// start the session $rootScope.isSessionTimeout=false; $rootScope.isRedirectToAdmin=false; $rootScope.userStatus = { userId: null, tagName: null, SessionId:null, isSiteUser:false, isAdmin:false } console.log('user session start'); $rootScope.CheckUserSession('insert'); $rootScope.$on('IdleStart', function() { // this event fire when idle time finish and time out start // config set in AIA.js -:IdleProvider.idle(1*30);; }); $rootScope.$on('IdleEnd', function() { // this event fires by user activity during timeout period // it reset idle time and timeout // config set in AIA.js -:IdleProvider.interrupt('keydown wheel mousedown touchstart touchmove scroll'); }); $rootScope.$on('IdleTimeout', function() { // this event fire when idle time finished and time out also finished // config set in AIA.js -:IdleProvider.timeout(15); $rootScope.isSessionTimeout=true; console.log('session is timeout'); $rootScope.CheckUserSession('logout'); }); $rootScope.$on('Keepalive', function() { // it watch the session on perticular time interval during idle time period // config set in AIA.js -: KeepaliveProvider.interval(10); //we will use it to recieve request from databse if user logout from admin activity // console.log('ping user session'); $rootScope.CheckUserSession('update'); }); $window.onbeforeunload = function (e) { var confirmation = {}; // if($location.url()!= "/") { if ($rootScope.isSessionTimeout==false && $rootScope.isRedirectToAdmin==false) { var event = $rootScope.$broadcast('onBeforeUnload', confirmation); if (event.defaultPrevented) { return confirmation.message; } } // } }; } $rootScope.$on('onBeforeUnload', function (e, confirmation) { confirmation.message = "All data willl be lost."; e.preventDefault(); }); $rootScope.LogoutUser = function () { $rootScope.isSessionTimeout=true; localStorage.removeItem('loggedInUserDetails'); localStorage.clear(); $rootScope.CheckUserSession('logout'); $timeout(function(){ document.location = '/'; $rootScope.isVisibleLogin = true; },50); } $rootScope.LogoutUserSession = function () { $rootScope.isSessionTimeout=true; localStorage.removeItem('loggedInUserDetails'); sessionStorage.removeItem('isModuleOpenByOpenResource'); sessionStorage.removeItem('ExitsCBFileDetail'); localStorage.clear(); document.location = '/'; $rootScope.isVisibleLogin = true; } $rootScope.CheckUserSession = function (tagName) { //console.log('user login id: '+$rootScope.userData.Id); //console.log('user login activity tag: '+tagName); if($rootScope.userData==undefined) return; //incase site user login userid is 0 so then using license id $rootScope.userStatus.userId=$rootScope.userData.Id==0?$rootScope.userData.LicenseId:$rootScope.userData.Id; $rootScope.userStatus.tagName=tagName; $rootScope.userStatus.SessionId=$rootScope.userData.SessionId; $rootScope.userStatus.isSiteUser=$rootScope.userData.isSiteUser; //licenseId would be zero for admin/gernal admin $rootScope.userStatus.isAdmin=$rootScope.userData.LicenseId==0?true:false; AuthenticationService.ManageUserLoginStatus($rootScope.userStatus) .then( function (loginStatus) { if(loginStatus!=null) { if(loginStatus=='False') { $rootScope.LogoutUserSession(); } } }), function (error) { console.log(' Error in user login status = ' + error.statusText); $('#errorMessage').text(error); $("#messageModal").modal('show'); } } function AuthenticateAlreadyLoggedInUser() { isCommingSoonModel = $rootScope.getLocalStorageValue('isCommingSoonModel'); try { var userInfo = JSON.parse($scope.currentUserDetails); if (userInfo.LoginId != undefined || userInfo.LoginId != "" || userInfo.LoginId != null) { userInfo["username"] = userInfo.LoginId; userInfo["password"] = userInfo.Password; $rootScope.AuthenticateUser(userInfo); } } catch (e) { localStorage.removeItem('loggedInUserDetails'); } } $rootScope.SendMailToUser = function (userInfo, isMailForForgotPassword) { // if ((userInfo.emailId != null) && (userInfo.emailId != '')) { if (validateEmail(userInfo.emailId)) { if (isMailForForgotPassword) { var selectedOption = $("input[name='inlineRadioOptions']:checked").val(); if (selectedOption == LoginMessageConstants.UNBLOCK_SELECTED) { userInfo.unblockUser = true; userInfo.isMailForForgotPassword = true; } else if (selectedOption == LoginMessageConstants.FORGOT_PASSWORD_SELECTED) { userInfo.unblockUser = false; userInfo.isMailForForgotPassword = true; } } else userInfo.isMailForForgotPassword = false; AuthenticationService.SendMailToUser(userInfo) .then(function (result) { if (result == LoginConstants.USER_NOT_FOUND) { removeEmailPopUp(); $('#errorMessage').text(LoginMessageConstants.INCORRECT_EMAIL_ID); $("#messageModal").modal('show'); } else if (result == LoginConstants.MAIL_NOT_SENT) { removeEmailPopUp(); $('#errorMessage').text(LoginMessageConstants.MAIL_NOT_SENT); $("#messageModal").modal('show'); } else { if (result == LoginMessageConstants.MAIL_SENT) { var message; removeEmailPopUp(); if (isMailForForgotPassword) { if (userInfo.unblockUser) message = LoginMessageConstants.USER_UNBLOCK_LINK_IN_EMAIL; else message = LoginMessageConstants.RESET_PASSWORD; } else message = LoginMessageConstants.USERID_SENT_IN_EMAIL $('#errorMessage').text(message); $("#messageModal").modal('show'); } } }, function (error) { console.log(' Error in authentication = ' + error.statusText); removeEmailPopUp(); $('#errorMessage').text( error); $("#messageModal").modal('show'); }); } else { removeEmailPopUp(); $('#errorMessage').text(LoginMessageConstants.INCORRECT_EMAIL_ID); $("#messageModal").modal('show'); } } else { removeEmailPopUp(); $('#errorMessage').text(LoginMessageConstants.BLANK_EMAIL_ID); $("#messageModal").modal('show'); } }; function removeEmailPopUp() { if ($('#forgotUserModal').length > 0) { $('#forgotUserModal').fadeOut(); $('#forgotUserModal').modal('hide'); } if ($('#forgotPwdModal').length > 0) { $('#forgotPwdModal').fadeOut(); $('#forgotPwdModal').modal('hide'); } } function validateEmail(email) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); } $rootScope.ResetUserPassword = function (userInfo) { var url = $location.url(); if (url.indexOf('?em:') != -1) { var split = url.split('?em:'); userInfo.emailId = split[1]; } if (userInfo.newPassword != null) { if (userInfo.newPassword === userInfo.confirmPassword) { $rootScope.passwordMismatchMessage = null; AuthenticationService.ResetUserPassword(userInfo) .then( function (result) { if (result == LoginConstants.USER_NOT_FOUND) { $('#errorMessage').text(LoginMessageConstants.USER_NOT_FOUND); $("#messageModal").modal('show'); } else if (result == LoginConstants.EXCEPTION_OCCURED) { $('#errorMessage').text(LoginConstants.ERROR_IN_FECTHING_DETAILS); $("#messageModal").modal('show'); } else if (result == LoginConstants.SQL_CONNECTION_ERROR) { $('#errorMessage').text(LoginConstants.SQL_CONNECTION_ERROR_MESSAGE); $("#messageModal").modal('show'); } else { //if ((result.IsAcknowledged == true) && (result.IsModifiedCountAvailable == true)) { if (result == LoginMessageConstants.PASSWORD_UPDATE_SUCCESS) { $('#errorMessage').text(LoginMessageConstants.PASSWORD_RESET_MESSAGE); $("#messageModal").modal('show'); $rootScope.isVisibleLogin = true; $rootScope.isVisibleResetPass = false; $location.url("/"); } else { $('#errorMessage').text(LoginMessageConstants.PASSWORD_RESET_FAILURE); $("#messageModal").modal('show'); $rootScope.isVisibleLogin = true; $rootScope.isVisibleResetPass = false; $location.url("/"); } } }, function (error) { console.log(' Error in authentication = ' + error.statusText); $('#errorMessage').text(error); $("#messageModal").modal('show'); }); } else { $('#errorMessage').text(LoginMessageConstants.NEW_AND_OLD_PASSWORD_DONOT_MATCH); $("#messageModal").modal('show'); } } else { $('#errorMessage').text(LoginMessageConstants.NEW_PASSWORD_FIELD_IS_EMPTY); $("#messageModal").modal('show'); } } $rootScope.UnblockUser = function () { var userEmailId = ''; var url = $location.url(); var split = url.split('?unb:'); userEmailId = split[1]; AuthenticationService.UnblockUser(userEmailId) .then( function (result) { if (result == LoginMessageConstants.USER_UNBLOCK_SUCCESS) { $rootScope.sucessMessage = LoginMessageConstants.USER_UNBLOCK_SUCCESS_MESSAGE; $("#successMessageModal").modal('show'); $rootScope.isVisibleLogin = true; $location.url("/"); } else { $('#errorMessage').text(LoginMessageConstants.UNABLE_TO_UNBLOCK); $("#messageModal").modal('show'); $rootScope.isVisibleLogin = true; $location.url("/"); } }, function (error) { console.log(' Error in UnblockUser = ' + error.statusText); $('#errorMessage').text(error); $("#messageModal").modal('show'); } ); } $rootScope.AllPanelStoreObject=[]; $rootScope.AllPanelObject=function(panelno,panelObject) { var windata={ 'winid': panelno, 'panelObject': panelObject, }; $rootScope.AllPanelStoreObject.push(windata); $(".jsPanel").draggable({ containment : [0,55,5000,4000]//[left,top,right,bottom] }); } $rootScope.orientationchangeToMax=function(windowviewid) { for (var x = 0 ; x < $rootScope.AllPanelStoreObject.length; x++) { if ($rootScope.AllPanelStoreObject[x].winid == windowviewid) { var obj=$rootScope.AllPanelStoreObject[x]['panelObject']; obj.maximize(); break; } } } $rootScope.orientationchangeToNormal=function(windowviewid) { for (var x = 0 ; x < $rootScope.AllPanelStoreObject.length; x++) { if ($rootScope.AllPanelStoreObject[x].winid == windowviewid) { var obj=$rootScope.AllPanelStoreObject[x]['panelObject']; obj.normalize(); break; } } } $(document).ready(function () { var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { $('#arragePannel .dropdown-content').css("display","block"); } $(window).unbind('resize'); window.addEventListener("resize", orientationchange); function orientationchange() { if($location.url()!= "/curriculum-builder-detail") { var moduleImagePanel = $("div[id*='ImagePanel']"); if (moduleImagePanel.length > 0) { for (var j = 0; j < moduleImagePanel.length; j++) { var paneld=moduleImagePanel[j].id; var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; //first set to normal and then to set max mode while browser resize or iPad orientation change $rootScope.orientationchangeToNormal(MultiWinId); $rootScope.orientationchangeToMax(MultiWinId); } } } }; $(function () { var colpick = $('.demo').each(function () { $(this).minicolors({ control: $(this).attr('data-control') || 'hue', inline: $(this).attr('data-inline') === 'true', letterCase: 'lowercase', opacity: false, change: function (hex, opacity) { $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").removeClass("ActiveDefaultColorAnnotation"); if (!hex) return; if (opacity) hex += ', ' + opacity; try { console.log(hex); $("#text_area").css("color", hex); } catch (e) { } $(this).select(); }, theme: 'bootstrap' }); }); var $inlinehex = $('#inlinecolorhex h3 small'); $('#inlinecolors').minicolors({ inline: true, theme: 'bootstrap', change: function (hex) { if (!hex) return; $inlinehex.html(hex); } }); }); $(function () { var colpick = $('.drawTextBG').each(function () { $(this).minicolors({ control: $(this).attr('data-control') || 'hue', inline: $(this).attr('data-inline') === 'true', letterCase: 'lowercase', opacity: false, change: function (hex, opacity) { $("#drawTextBGColorpicker .minicolors .minicolors-swatch .minicolors-swatch-color").removeClass("ActiveDefaultColorAnnotation"); if (!hex) return; if (opacity) hex += ', ' + opacity; try { console.log(hex); $("#text_area").css("background-color", hex); } catch (e) { } $(this).select(); }, theme: 'bootstrap' }); }); var $inlinehex = $('#inlinecolorhex h3 small'); $('#inlinecolors').minicolors({ inline: true, theme: 'bootstrap', change: function (hex) { if (!hex) return; $inlinehex.html(hex); } }); }); $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#000000" }); $("#drawTextBGColorpicker .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#ffffff" }); }); $rootScope.$on("$locationChangeSuccess", function () { $rootScope.HightLightModuleSelection = function (moduleUrl) { var currentRoute = $location.path().substring(1); return moduleUrl === currentRoute ? 'active' : ''; } var userInformation = $rootScope.userData; if (($location.url() == "/da-body-view")) { $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#labExPdfOption").addClass("disableSubMenu"); $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $rootScope.ConvertCurriculum = "newCurriculum"; $("#newCurriculumid").addClass("newCurriculum"); $rootScope.openCurriculum = "openCurriculum"; $rootScope.saveCurriculam = "saveCurriculam"; $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $("#exportImageAnchor").removeClass("exportImage"); } else if ($location.url() == "/clinical-illustrations-detail") { $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#labExPdfOption").addClass("disableSubMenu"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $("#optionsListManagerTab").addClass("disableSubMenu"); $("#optiontSetting").addClass("disableSubMenu"); $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#newCurriculumid").addClass("newCurriculum"); $rootScope.ConvertCurriculum = "newCurriculum"; $rootScope.openCurriculum = "openCurriculum"; $rootScope.saveCurriculam = "saveCurriculam"; $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $("#exportImageAnchor").removeClass("exportImage"); } else if ($location.url() == "/module-item-view") { $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#optiontSetting").addClass("disableSubMenu"); $("#labExPdfOption").addClass("disableSubMenu"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#newCurriculumid").addClass("newCurriculum"); $rootScope.ConvertCurriculum = "newCurriculum"; $rootScope.openCurriculum = "openCurriculum"; $rootScope.saveCurriculam = "saveCurriculam"; $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $("#exportImageAnchor").removeClass("exportImage"); } else if ($location.url() == "/clinical-animations-detail") { $("#annotationButton").addClass("disableMenuoption"); $("#Menuoptionid").addClass("disableMenuoption"); $("#labExPdfOption").addClass("disableSubMenu"); $("#annotationToolBarOptions").addClass("disableSubMenu"); $("#optionsListManagerTab").addClass("disableSubMenu"); $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#newCurriculumid").addClass("newCurriculum"); $rootScope.ConvertCurriculum = "newCurriculum"; $rootScope.openCurriculum = "openCurriculum"; $rootScope.saveCurriculam = "saveCurriculam"; $("#printAVAnchor").addClass("PrintViewer"); $("#printAllAVAnchor").addClass("PrintViewer"); $("#printPreviewAnchor").addClass("PrintPreview"); $("#exportImageAnchor").addClass("exportImage"); } else if ($location.url() == "/curriculum-builder") { $("#openResourceId").addClass("openResources"); $("#annotationButton").addClass("disableMenuoption"); $("#Menuoptionid").addClass("disableMenuoption"); $("#newCurriculumid").removeClass("newCurriculum"); $rootScope.ConvertCurriculum = ""; $rootScope.openCurriculum = ""; $rootScope.saveCurriculam = "saveCurriculam"; $("#labExPdfOption").addClass("disableSubMenu"); $("#openPictureId").addClass("OpenPitures"); $("#openAnimationId").addClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#printAVAnchor").addClass("PrintViewer"); $("#printAllAVAnchor").addClass("PrintViewer"); $("#printPreviewAnchor").addClass("PrintPreview"); $("#exportImageAnchor").addClass("exportImage"); //close while back from cb $rootScope.CloseAnnotationTool(); $rootScope.CloseListManager(); $scope.DisableDemoAccountOption(); } else if ($location.url() == "/curriculum-builder-detail") { $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#Menuoptionid").addClass("disableMenuoption"); $("#newCurriculumid").removeClass("newCurriculum"); $rootScope.ConvertCurriculum = ""; $rootScope.openCurriculum = ""; $rootScope.saveCurriculam = ""; $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#printAVAnchor").addClass("PrintViewer"); $("#printAllAVAnchor").addClass("PrintViewer"); $("#printPreviewAnchor").addClass("PrintPreview"); $("#exportImageAnchor").addClass("exportImage"); $scope.DisableDemoAccountOption(); } else if ($location.url() == "/adam-images-detail") { $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#labExPdfOption").addClass("disableSubMenu"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $("#optionsListManagerTab").addClass("disableSubMenu"); $("#optiontSetting").addClass("disableSubMenu"); $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#newCurriculumid").addClass("newCurriculum"); $rootScope.ConvertCurriculum = "newCurriculum"; $rootScope.openCurriculum = "openCurriculum"; $rootScope.saveCurriculam = "saveCurriculam"; $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $("#exportImageAnchor").removeClass("exportImage"); } else if ($location.url() == "/3d-anatomy-details") { $("#annotationButton").addClass("disableMenuoption"); $("#Menuoptionid").addClass("disableMenuoption"); $("#labExPdfOption").addClass("disableSubMenu"); $("#annotationToolBarOptions").addClass("disableSubMenu"); $("#optionsListManagerTab").addClass("disableSubMenu"); $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#newCurriculumid").addClass("newCurriculum"); $rootScope.ConvertCurriculum = "newCurriculum"; $rootScope.openCurriculum = "openCurriculum"; $rootScope.saveCurriculam = "saveCurriculam"; $("#printAVAnchor").addClass("PrintViewer"); $("#printAllAVAnchor").addClass("PrintViewer"); $("#printPreviewAnchor").addClass("PrintPreview"); $("#exportImageAnchor").addClass("exportImage"); } else if ($location.url() == "/lab-exercise-view") { $("#annotationButton").addClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#labExPdfOption").removeClass("disableSubMenu"); $("#annotationToolBarOptions").addClass("disableSubMenu"); $("#optionsListManagerTab").addClass("disableSubMenu"); $("#fileMenuAnchor").removeClass("disableFileMenu"); $("#openResourceId").removeClass("openResources"); $("#openPictureId").removeClass("OpenPitures"); $("#openAnimationId").removeClass("OpenPitures"); $rootScope.disableMenuoption = "disableMenuoption"; $("#newCurriculumid").addClass("newCurriculum"); $rootScope.ConvertCurriculum = "newCurriculum"; $rootScope.openCurriculum = "openCurriculum"; $rootScope.saveCurriculam = "saveCurriculam"; $("#printAVAnchor").addClass("PrintViewer"); $("#printAllAVAnchor").addClass("PrintViewer"); $("#printPreviewAnchor").addClass("PrintPreview"); $("#exportImageAnchor").addClass("exportImage"); } else { $("#fileMenuAnchor").addClass("disableFileMenu"); $("#annotationButton").addClass("disableMenuoption"); $("#Menuoptionid").addClass("disableMenuoption"); $rootScope.CloseAnnotationTool(); $rootScope.CloseListManager(); angular.element('#modal-settings').css('display', 'none'); } }); //jspanel functionality.. $rootScope.getModuleScrollPosition = function () { $rootScope.refreshcheck = "check"; $('.mCSB_container ul li').click(function () { $rootScope.scrollTopPosition = $(this).position().top; }); setTimeout(function () { $(".sidebar").mCustomScrollbar("scrollTo", $rootScope.scrollTopPosition + "px"); }, 300); } $rootScope.arrangeCascadePanel = function () { //cascade view var pTop = 55; var pLeft = 1; var resetWidth=0; if($location.url()== "/curriculum-builder-detail") { pTop = 30; pLeft = 0; } var moduleImagePanel = $("div[id*='ImagePanel']"); if (moduleImagePanel.length > 0) { var resetWidth=($(window).innerWidth()-30)/2; for (var j = 0; j < moduleImagePanel.length; j++) { var paneld=moduleImagePanel[j].id; var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; $rootScope.orientationchangeToNormal(MultiWinId); if(j>0) { pTop = pTop+30; pLeft = pLeft+30; } $("#"+paneld).css('top',pTop); $("#"+paneld).css('left',pLeft); $("#"+paneld+" .jsPanel-hdr .jsPanel-title").css('width','300px'); $("#"+paneld).css('width',resetWidth); $("#"+paneld+' .jsPanel-content').css('width',resetWidth); $("#"+paneld).css('z-index',j+1000); $scope.resetPanelPosition(MultiWinId,paneld,resetWidth,pTop,pLeft); } } } $rootScope.arrangeTiledPanel = function () { //tiled view var pTop = 55; var pLeft = 1; var resetWidth=0; var countreset=0; if($location.url()== "/curriculum-builder-detail") { pTop = 30; pLeft = 0; } var countnumber=0; var moduleImagePanel = $("div[id*='ImagePanel']"); if (moduleImagePanel.length > 0) { if(moduleImagePanel.length<=2) { resetWidth=($(window).innerWidth()-30)/2; if($location.url()== "/curriculum-builder-detail") { resetWidth=($(window).innerWidth()-60)/2; } } else if(moduleImagePanel.length>=3) { resetWidth=($(window).innerWidth()-30)/3; if($location.url()== "/curriculum-builder-detail") { resetWidth=($(window).innerWidth()-65)/3; } } for (var j = 0; j < moduleImagePanel.length; j++) { countnumber=countnumber+1; var paneld=moduleImagePanel[j].id; var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; $rootScope.orientationchangeToNormal(MultiWinId); //set max tiles 3 on screen width if(countnumber>1 && countnumber<4) { pLeft = pLeft+resetWidth+5; } else if(countnumber>=4) { countreset=countreset+1; countnumber=1; pTop = 55+5+countreset*520; pLeft = 1; if($location.url()== "/curriculum-builder-detail") { pTop = 35+5+countreset*520; pLeft = 1; } } $("#"+paneld+" .jsPanel-hdr .jsPanel-title").css('width','300px');// remove extra tile width $("#"+paneld).css('width',resetWidth); $("#"+paneld+' .jsPanel-content').css('width',resetWidth); $("#"+paneld).css('top',pTop); $("#"+paneld).css('left',pLeft); $("#"+paneld).css('z-index',j+1000); $scope.resetPanelPosition(MultiWinId,paneld,resetWidth,pTop,pLeft); } } } $scope.resetPanelPosition=function(MultiWinId,paneld,resetWidth,pTop,pLeft) { $rootScope.UnsaveCurriculum = true; if(paneld.match("daImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#canvasDivDA_' + MultiWinId).css('height', '440'); $rootScope.SetDAwindowData(MultiWinId,'width',resetWidth); $rootScope.SetDAwindowData(MultiWinId,'height',520); $rootScope.SetDAwindowData(MultiWinId,'y',pTop); $rootScope.SetDAwindowData(MultiWinId,'x',pLeft); } else if(paneld.match("AAImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#canvasAADiv_' + MultiWinId).css('height', '440'); $rootScope.SetAAwindowData(MultiWinId,'width',resetWidth); $rootScope.SetAAwindowData(MultiWinId,'height',520); $rootScope.SetAAwindowData(MultiWinId,'y',pTop); $rootScope.SetAAwindowData(MultiWinId,'x',pLeft); } else if(paneld.match("ciImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#canvasDivCI_' + MultiWinId).css('height', '490'); $rootScope.SetCIwindowData(MultiWinId,'width',resetWidth); $rootScope.SetCIwindowData(MultiWinId,'height',520); $rootScope.SetCIwindowData(MultiWinId,'y',pTop); $rootScope.SetCIwindowData(MultiWinId,'x',pLeft); } else if(paneld.match("aiImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#canvasDivAI_' + MultiWinId).css('height', '485'); $rootScope.SetAIwindowData(MultiWinId,'width',resetWidth); $rootScope.SetAIwindowData(MultiWinId,'height',520); $rootScope.SetAIwindowData(MultiWinId,'y',pTop); $rootScope.SetAIwindowData(MultiWinId,'x',pLeft); } else if(paneld.match("picImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#canvasDivPIC_' + MultiWinId).css('height', '485'); $rootScope.SetPICwindowData(MultiWinId,'width',resetWidth); $rootScope.SetPICwindowData(MultiWinId,'height',520); $rootScope.SetPICwindowData(MultiWinId,'y',pTop); $rootScope.SetPICwindowData(MultiWinId,'x',pLeft); } else if(paneld.match("ThreeDImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#thContentDiv_'+ MultiWinId ).css("height",'490'); $rootScope.Set3DwindowData(MultiWinId,'width',resetWidth); $rootScope.Set3DwindowData(MultiWinId,'height',520); $rootScope.Set3DwindowData(MultiWinId,'y',pTop); $rootScope.Set3DwindowData(MultiWinId,'x',pLeft); } else if(paneld.match("caImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#playerinlineVideo_'+ MultiWinId ).css("height",370 ); $rootScope.SetCAwindowData(MultiWinId,'width',resetWidth); $rootScope.SetCAwindowData(MultiWinId,'height',520); $rootScope.SetCAwindowData(MultiWinId,'y',pTop); $rootScope.SetCAwindowData(MultiWinId,'x',pLeft); } else if(paneld.match("vidImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#playerinlineVideo_'+ MultiWinId ).css("height",490 ); $rootScope.SetVideowindowData(MultiWinId,'width',resetWidth); $rootScope.SetVideowindowData(MultiWinId,'height',520); $rootScope.SetVideowindowData(MultiWinId,'y',pTop); $rootScope.SetVideowindowData(MultiWinId,'x',pLeft); } else if(paneld.match("labImagePanel")) { $("#"+paneld).css('height','520'); $("#"+paneld+' .jsPanel-content').css('height','490'); $('#LabView_' + MultiWinId).css('height', 505); $('#panelbodyDiv_' + MultiWinId).css("height",380); $rootScope.SetLabwindowData(MultiWinId,'width',resetWidth); $rootScope.SetLabwindowData(MultiWinId,'height',520); $rootScope.SetLabwindowData(MultiWinId,'y',pTop); $rootScope.SetLabwindowData(MultiWinId,'x',pLeft); } } $rootScope.disableTopMenuOption=function() { $("#annotationButton").addClass("disableMenuoption"); $("#Menuoptionid").addClass("disableMenuoption"); $("#optionsListManagerTab").addClass("disableSubMenu"); $("#annotationToolBarOptions").addClass("disableSubMenu"); // $("#optionsCurriculum").addClass("disableSubMenu"); $("#optiontSetting").addClass("disableSubMenu"); $("#labExPdfOption").addClass("disableSubMenu"); $("#printAVAnchor").addClass("PrintViewer"); $("#printAllAVAnchor").addClass("PrintViewer"); $("#printPreviewAnchor").addClass("PrintPreview"); $("#exportImageAnchor").addClass("exportImage"); //disble option popup $("#listManagerBody *").prop('disabled',true); } $rootScope.enableTopMenuOption=function(paneld) { if(paneld.match('daImagePanel')) { $("#optionsListManagerTab").removeClass("disableSubMenu"); $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $("#optiontSetting").removeClass("disableSubMenu"); $("#listManagerBody *").prop('disabled',false); $('#exportImageAnchor').removeClass('exportImage'); $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $rootScope.panelNameWithCb = paneld; $scope.DisableDemoAccountOption(); } else if(paneld.match('AAImagePanel')) { $("#optionsListManagerTab").removeClass("disableSubMenu"); $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $("#listManagerBody *").prop('disabled',false); $('#exportImageAnchor').removeClass('exportImage'); $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $rootScope.panelNameWithCb = paneld; $scope.DisableDemoAccountOption(); } else if(paneld.match('aiImagePanel')) { $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $('#exportImageAnchor').removeClass('exportImage'); $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $rootScope.panelNameWithCb = paneld; $scope.DisableDemoAccountOption(); } else if(paneld.match('picImagePanel')) { $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $('#exportImageAnchor').removeClass('exportImage'); $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $rootScope.panelNameWithCb = paneld; $scope.DisableDemoAccountOption(); } else if(paneld.match('ciImagePanel')) { $("#annotationButton").removeClass("disableMenuoption"); $("#Menuoptionid").removeClass("disableMenuoption"); $("#annotationToolBarOptions").removeClass("disableSubMenu"); $('#exportImageAnchor').removeClass('exportImage'); $("#printAVAnchor").removeClass("PrintViewer"); $("#printAllAVAnchor").removeClass("PrintViewer"); $("#printPreviewAnchor").removeClass("PrintPreview"); $rootScope.panelNameWithCb = paneld; $scope.DisableDemoAccountOption(); } else if(paneld.match('caImagePanel')) { //disable all option } else if(paneld.match('labImagePanel')) { $("#Menuoptionid").removeClass("disableMenuoption"); $("#labExPdfOption").removeClass("disableSubMenu"); } else if(paneld.match('ThreeDImagePanel')) { //disable all option } } //reset option when load $rootScope.resetMenuOption = function () { $timeout(function () { $rootScope.panelNameWithCb=""; $rootScope.disableTopMenuOption(); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; $rootScope.enableTopMenuOption(paneld); } } }, 500); } // enable/disable option Panel click $rootScope.resetMenuOptionOnClick = function (moduleName) { $rootScope.panelNameWithCb=""; $rootScope.disableTopMenuOption(); $rootScope.enableTopMenuOption(moduleName); $rootScope.panelNameWithCb = moduleName; } // CB: reset panel top position when if any module closed $rootScope.resetjsPanelTop = function (panelName) { $timeout(function () { var firsttopPosition = 70; if ($location.url() == "/curriculum-builder-detail") { firsttopPosition = 680; } $rootScope.disableTopMenuOption(); var moduleImagePanel = $("div[id*='ImagePanel']"); if (moduleImagePanel.length > 0) { for (var index = 0; index < moduleImagePanel.length; index++) { if (index == 0) { var panel1 = document.getElementById(moduleImagePanel[index].id); if (!$(panel1).hasClass("jsPanel-state-minimized")) { $("#" + panel1.id).css("top", firsttopPosition + 'px'); } } else { var prevpanel = document.getElementById(moduleImagePanel[index - 1].id); var lastTop = prevpanel.offsetTop + prevpanel.offsetHeight + 10; var lastpanel = document.getElementById(moduleImagePanel[index].id); if (!$(lastpanel).hasClass("jsPanel-state-minimized")) { $("#" + lastpanel.id).css("top", lastTop + 'px'); } } //Reset menu option like list manager,annotation when close module var moduleName = moduleImagePanel[index].id; $rootScope.enableTopMenuOption(moduleName); } } // list manger already open then refresh it or close if($('#listManager').css('display') == 'block') { $scope.updateListManagerView(panelName); } }, 500); } $rootScope.openParent = function (slug,actionController) { if ($('#jsPanel-1').length > 0) { } else { var openViews = $rootScope.openViews; if (openViews.length > 0) { $rootScope.openViews.splice(openViews.length - 1); } if (openViews.length > 0) { var lastOpenMoudle = $rootScope.openViews[openViews.length - 1]; } // $('#daImagePanel').remove(); if ($('#jsPanel-1').length > 0) $('#jsPanel-1').remove(); if ($('#3DImagePanel').length > 0) $('#3DImagePanel').remove(); if ($('#ciImagePanel').length > 0) $('#ciImagePanel').remove(); if ($('#aiImagePanel').length > 0) $('#aiImagePanel').remove(); //if ($('#caVideoPanel').length > 0) // $('#caVideoPanel').remove(); if ($('#caImagePanel').length > 0) $('#caImagePanel').remove(); if ($('#ImagePanel').length > 0) $('#ImagePanel').remove(); if ($location.url() == "/curriculum-builder-detail") { if(actionController=='CurrBuildController') { if($rootScope.UnsaveCurriculum == true) { $("#confirmCurriculumModal").modal('show'); $(".modal-backdrop").css("opacity", ".5"); } else{ //clear cb content data $rootScope.saveConfirmNo(); } } } else { // find all panel in HomeContainerDiv and outside(while minimize); var modulePanel = $(document).find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { //if only one module left if(modulePanel.length==1) $location.url('/' + slug); } } } } //called on jsanel minimize $rootScope.setState = function (state, title) { var alreadyOpenThisView = new jinqJs() .from($rootScope.openViews) .where("body-views == " + title) .select(); var k = 0; if (alreadyOpenThisView != null) { for (var i = 0; i < $rootScope.openViews.length; i++) { k++; //if ($rootScope.openViews[i].body - views == title) { if ($rootScope.openViews[i].bodyView == title) { $rootScope.openViews.splice((k - 1), 1); $rootScope.openViews.push( { "module": $rootScope.currentActiveModuleTitle, "bodyView": title, "state": state, "BodyViewId": $rootScope.currentBodyViewId, "slug": $rootScope.currentSlug } ); } } } if (state == 'max') { $('#daBodyview').css('width', '100%') } } $rootScope.ClearIframe = function () { if ($('#daImagePanel') != null) $('#daImagePanel').remove(); if ($('#jsPanel-1').length > 0) $('#jsPanel-1').remove(); $rootScope.hideScrollbar(); } //ends $rootScope.hideScrollbar = function () { $(".sidebar").mCustomScrollbar({ autoHideScrollbar: true, //theme:"rounded" }); } $rootScope.isFontFamilyLoaded = false; //annotation tool custom events $rootScope.ShowAnnotationWindow = function () { var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; $rootScope.isAnnotatiomToolBarPopupActive = true; $rootScope.isAnnotatiomToolBarPopupClosed = false; $rootScope.isAnnotaionToolBarDrawingModeActive = false; if ($rootScope.disableAnnotationtoolOnListManager == true) { $('#AnnotaionPopupDiv').find('a,input, textarea, button, select,img,div').attr('disabled', 'disabled'); $('#slider-range-min-2').slider('disable'); $("#annotationpaintbrushsize").attr('disabled', 'disabled'); $("#annotationpainteraser").attr('disabled', 'disabled'); } else { $('#AnnotaionPopupDiv').find('input, textarea, button, select,img,div').removeAttr('disabled', 'disabled'); $('#slider-range-min-2').slider('enable'); $("#annotationpaintbrushsize").removeAttr('disabled', 'disabled'); $("#annotationpainteraser").removeAttr('disabled', 'disabled'); } $("#annotationpainteraser").removeAttr('disabled', 'disabled'); $("#OnIdentify").addClass("annotationtoolbartab"); $rootScope.isAnnotationWindowOpen = true; if(paneld.match("daImagePanel")) { $rootScope.daAnnotationToolEvent(MultiWinId); if ($("#transparencyScale_" + MultiWinId).css("display") == "block") { $rootScope.switchToTransparencycanvas(paneld); } $rootScope.SetPaintZindexforDA(MultiWinId); } if(paneld.match("AAImagePanel")) { $rootScope.aaAnnotationToolEvent(MultiWinId); var canvasZIndex = $("#canvasAA_" + MultiWinId).css("z-index"); var canvasPaintZIndex = $("#canvasPaintAA_" + MultiWinId).css("z-index"); if (parseInt(canvasZIndex) < parseInt(canvasPaintZIndex)) { canvasPaintZIndex = parseInt(canvasPaintZIndex) + 1; $('#aaDetailViewCanvas_' + MultiWinId).css("z-index", canvasPaintZIndex); } else { canvasZIndex = parseInt(canvasZIndex) + 1; $('#aaDetailViewCanvas_' + MultiWinId).css("z-index", canvasZIndex); } } if(paneld.match("ciImagePanel")) { $rootScope.ciAnnotationToolEvent(MultiWinId); $rootScope.SetPaintZindexforCI(MultiWinId); } if(paneld.match("aiImagePanel")) { $rootScope.aiAnnotationToolEvent(MultiWinId); $rootScope.SetPaintZindexforAI(MultiWinId); } if(paneld.match("picImagePanel")) { $rootScope.picAnnotationToolEvent(MultiWinId); $rootScope.SetPaintZindexforPIC(MultiWinId); } var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; //work on desktop screen to clear seleted shape $("#" + canvasElement.id).on("mouseup",$rootScope.RemoveSelectedShape); } } $("#annotationTollbar").modal('show'); $(".modal-backdrop").css("z-index", "0"); } var FontFamilyJson = '~/../content/data/json/settings/fontstyle.json'; if ($rootScope.isFontFamilyLoaded == false) { DataService.getJson(FontFamilyJson) .then( function (result) { $rootScope.AnnotationFontFamily = result; for (var i = 0; i <= $rootScope.AnnotationFontFamily.FontFamily.length - 1; i++) { var fontName = $rootScope.AnnotationFontFamily.FontFamily[i].FontName; if (/\s/g.test(fontName)) { //Check if white-space exists in between strings fontName = fontName.replace(" ", "_"); // replace white-space with an underscore } //$rootScope.AnnotationFontFamily.FontFamily[i].FontName $("#selected-font-family").append(""); } $rootScope.isFontFamilyLoaded = true; }, function (error) { console.log(error.statusText) } )} } // keep on top paint Canvas zindex on top $rootScope.SetPaintZindexforDA = function (MultiWinId) { // set highest z-index to paint canvas for touch devices // DA has problem to click annotation by canvasDivDA on body after draw shape.so clicking by paint canvas var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { var drawCanvasZindex = parseInt($("#canvasDA_" + MultiWinId).css("z-index")); var paintCanvasZindex = parseInt($("#canvasPaintDA_" + MultiWinId).css("z-index")); if (drawCanvasZindex > paintCanvasZindex) { paintCanvasZindex = drawCanvasZindex + 1; } else { paintCanvasZindex = paintCanvasZindex + 1; } $("#canvasPaintDA_" + MultiWinId).css("z-index", paintCanvasZindex); if ($("#transparencyScale_" + MultiWinId).css("display") == "block") { //$(".ui-wrapper").css("z-index", paintCanvasZindex); } } } // keep on top paint Canvas zindex on top $rootScope.SetPaintZindexforAI = function (MultiWinId) { //scroll issue in iPad var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { var drawCanvasZindex = parseInt($("#canvasAI_" + MultiWinId).css("z-index")); var paintCanvasZindex = parseInt($("#canvasPaintAI_" + MultiWinId).css("z-index")); if (drawCanvasZindex > paintCanvasZindex) { paintCanvasZindex = drawCanvasZindex + 1; } else { paintCanvasZindex = paintCanvasZindex + 1; } $("#canvasPaintAI_" + MultiWinId).css("z-index", paintCanvasZindex); } } // keep on top paint Canvas zindex on top $rootScope.SetPaintZindexforPIC = function (MultiWinId) { //scroll issue in iPad var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { var drawCanvasZindex = parseInt($("#canvasPIC_" + MultiWinId).css("z-index")); var paintCanvasZindex = parseInt($("#canvasPaintPIC_" + MultiWinId).css("z-index")); if (drawCanvasZindex > paintCanvasZindex) { paintCanvasZindex = drawCanvasZindex + 1; } else { paintCanvasZindex = paintCanvasZindex + 1; } $("#canvasPaintPIC_" + MultiWinId).css("z-index", paintCanvasZindex); } } // keep on top paint Canvas zindex on top $rootScope.SetPaintZindexforCI = function (MultiWinId) { var drawCanvasZindex = parseInt($("#canvasCI_" + MultiWinId).css("z-index")); var paintCanvasZindex = parseInt($("#canvasPaintCI_" + MultiWinId).css("z-index")); if (drawCanvasZindex > paintCanvasZindex) { paintCanvasZindex = drawCanvasZindex + 1; } else { paintCanvasZindex = paintCanvasZindex + 1; } //scroll issue in iPad var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { $("#canvasPaintCI_" + MultiWinId).css("z-index", paintCanvasZindex); } $('#summary_' + MultiWinId).css("z-index", paintCanvasZindex+1); } $rootScope.CloseAnnotationTool = function () { console.log('close'); //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $rootScope.isAnnotatiomToolBarPopupActive = false; $rootScope.isAnnotatiomToolBarPopupClosed = true; $("#OnIdentify").removeClass("annotationtoolbartab"); $("#DrawMode").removeClass("annotationtoolbartab"); $('.btnCursor').removeClass('activebtncolor'); //$(".annotationTollbar").css("display", "none"); $("#annotationTollbar").modal('hide'); $rootScope.isAnnotationWindowClose = true; $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $rootScope.isAnnotaionToolBarDrawingModeActive = false; var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; // remove event listener var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; $scope.removeOnDrawingCanvas(canvasElement); $rootScope.switchCanvas(paneld); if (paneld.match("daImagePanel")) { if ($("#transparencyScale_" + MultiWinId).css("display") == "block") { $rootScope.switchToTransparencycanvas(paneld); } // set highest z-index to paint canvas for touch devices // DA has problem to click annotation by canvasDivDA on body after draw shape.so clicking by paint canvas $rootScope.SetPaintZindexforDA(MultiWinId); } $rootScope.shapeType = ''; if (paneld.match("AAImagePanel")) { var canvasId="#canvasAA_" + MultiWinId; var canvasZIndex = $("#canvasAA_" + MultiWinId).css("z-index"); var canvasPaintZIndex = $("#canvasPaintAA_" + MultiWinId).css("z-index"); if (parseInt(canvasZIndex) < parseInt(canvasPaintZIndex)) { canvasPaintZIndex = parseInt(canvasPaintZIndex) + 1; $('#aaDetailViewCanvas_' + MultiWinId).css("z-index", canvasPaintZIndex); } else { canvasZIndex = parseInt(canvasZIndex) + 1; $('#aaDetailViewCanvas_' + MultiWinId).css("z-index", canvasZIndex); } var aaPinDataArray=$rootScope.GetAAwindowData(MultiWinId,'aaPinData'); for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if ($rootScope.jcanvasObjectArray[i].panelCanvasId == canvasId) { for (var j = 0; j <= aaPinDataArray.length - 1; j++) { if (($rootScope.jcanvasObjectArray[i].x <= parseInt(aaPinDataArray[j]._HeadX) && $rootScope.jcanvasObjectArray[i].y <= parseInt(aaPinDataArray[j]._HeadY)) && (($rootScope.jcanvasObjectArray[i].x + $rootScope.jcanvasObjectArray[i].width) >= parseInt(aaPinDataArray[j]._HeadX) && ($rootScope.jcanvasObjectArray[i].y + $rootScope.jcanvasObjectArray[i].height) >= parseInt(aaPinDataArray[j]._HeadY)) || ($rootScope.jcanvasObjectArray[i].x <= parseInt(aaPinDataArray[j]._PinX) && $rootScope.jcanvasObjectArray[i].y <= parseInt(aaPinDataArray[j]._PinY)) && (($rootScope.jcanvasObjectArray[i].x + $rootScope.jcanvasObjectArray[i].width) >= parseInt(aaPinDataArray[j]._PinX) && ($rootScope.jcanvasObjectArray[i].y + $rootScope.jcanvasObjectArray[i].height) >= parseInt(aaPinDataArray[j]._PinY))) { var pinName = 'Pin_' + aaPinDataArray[j]._PinId; var pinArcName = 'PinArc_' + aaPinDataArray[j]._PinId; $('#aaDetailViewCanvas_' + MultiWinId).setLayer(pinName, { visible: false // set to true instead to show the layer again }).drawLayers(); $('#aaDetailViewCanvas_' + MultiWinId).setLayer(pinArcName, { visible: false // set to true instead to show the layer again }).drawLayers(); } } } } } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } if(paneld.match("aiImagePanel")) { $rootScope.SetPaintZindexforAI(MultiWinId); } if(paneld.match("picImagePanel")) { $rootScope.SetPaintZindexforPIC(MultiWinId); } } } } } $rootScope.CIAnotationIdentifyModeOff = false; $rootScope.OnIdentifyClick = function () { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $rootScope.shapeType = ""; $(".btn-annotation").removeClass("activebtncolor"); $("#OnIdentify").addClass("annotationtoolbartab"); $("#DrawMode").removeClass("annotationtoolbartab"); if ($rootScope.CIAnotationIdentifyModeOff == true) { $('.btnCursor').removeClass('activebtncolor'); } else { $('.btnCursor').removeClass('activebtncolor'); } $("#annotationpaintbrushsize").removeClass("activebtncolor"); $("#annotationpainteraser").removeClass("activebtncolor"); $rootScope.isAnnotaionToolBarDrawingModeActive = false; var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; $rootScope.switchCanvas(paneld); if (paneld.match("daImagePanel")) { if ($("#transparencyScale_" + MultiWinId).css("display") == "block") { $rootScope.switchToTransparencycanvas(paneld); } // set highest z-index to paint canvas for touch devices // DA has problem to click annotation by canvasDivDA on body after draw shape.so clicking by paint canvas $rootScope.SetPaintZindexforDA(MultiWinId); } if (paneld.match("AAImagePanel")) { var canvasId="#canvasAA_" + MultiWinId; var canvasZIndex = $("#canvasAA_" + MultiWinId).css("z-index"); var canvasPaintZIndex = $("#canvasPaintAA_" + MultiWinId).css("z-index"); if (parseInt(canvasZIndex) < parseInt(canvasPaintZIndex)) { canvasPaintZIndex = parseInt(canvasPaintZIndex) + 1; $('#aaDetailViewCanvas_' + MultiWinId).css("z-index", canvasPaintZIndex); } else { canvasZIndex = parseInt(canvasZIndex) + 1; $('#aaDetailViewCanvas_' + MultiWinId).css("z-index", canvasZIndex); } var aaPinDataArray=$rootScope.GetAAwindowData(MultiWinId,'aaPinData'); for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if ($rootScope.jcanvasObjectArray[i].panelCanvasId == canvasId) { for (var j = 0; j <= aaPinDataArray.length - 1; j++) { if (($rootScope.jcanvasObjectArray[i].x <= parseInt(aaPinDataArray[j]._HeadX) && $rootScope.jcanvasObjectArray[i].y <= parseInt(aaPinDataArray[j]._HeadY)) && (($rootScope.jcanvasObjectArray[i].x + $rootScope.jcanvasObjectArray[i].width) >= parseInt(aaPinDataArray[j]._HeadX) && ($rootScope.jcanvasObjectArray[i].y + $rootScope.jcanvasObjectArray[i].height) >= parseInt(aaPinDataArray[j]._HeadY)) || ($rootScope.jcanvasObjectArray[i].x <= parseInt(aaPinDataArray[j]._PinX) && $rootScope.jcanvasObjectArray[i].y <= parseInt(aaPinDataArray[j]._PinY)) && (($rootScope.jcanvasObjectArray[i].x + $rootScope.jcanvasObjectArray[i].width) >= parseInt(aaPinDataArray[j]._PinX) && ($rootScope.jcanvasObjectArray[i].y + $rootScope.jcanvasObjectArray[i].height) >= parseInt(aaPinDataArray[j]._PinY))) { var pinName = 'Pin_' + aaPinDataArray[j]._PinId; var pinArcName = 'PinArc_' + aaPinDataArray[j]._PinId; $('#aaDetailViewCanvas_' + MultiWinId).setLayer(pinName, { visible: false // set to true instead to show the layer again }).drawLayers(); $('#aaDetailViewCanvas_' + MultiWinId).setLayer(pinArcName, { visible: false // set to true instead to show the layer again }).drawLayers(); } } } } } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } if(paneld.match("aiImagePanel")) { $rootScope.SetPaintZindexforAI(MultiWinId); } if(paneld.match("picImagePanel")) { $rootScope.SetPaintZindexforPIC(MultiWinId); } // remove event listener var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; $scope.removeOnDrawingCanvas(canvasElement); } } } } $rootScope.switchToTransparencycanvas = function (paneld) { var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == undefined) return; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; var drawCanvasZindex = $("#" + canvasId).css("z-index"); var paintCanvasZindex = $("#" + canvasPaintId).css("z-index"); drawCanvasZindex = parseInt(drawCanvasZindex) + 1; paintCanvasZindex = parseInt(paintCanvasZindex) + 1; if (drawCanvasZindex > paintCanvasZindex) { //$(".ui-wrapper").css("z-index", drawCanvasZindex); $("#" + canvasId).css("z-index", drawCanvasZindex); $rootScope.UIWrapperZIndex = drawCanvasZindex; } else { //$(".ui-wrapper").css("z-index", paintCanvasZindex); $("#" + canvasId).css("z-index", paintCanvasZindex); $rootScope.UIWrapperZIndex = paintCanvasZindex; } } $rootScope.DrawingMode = function () { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); //Annotation History $rootScope.isAnnotaionToolBarDrawingModeActive = true; $("#OnIdentify").removeClass("annotationtoolbartab"); $("#DrawMode").addClass("annotationtoolbartab"); $('.btnCursor').addClass('activebtncolor'); $("#annotationpaintbrushsize").removeClass("activebtncolor"); $("#annotationpainteraser").removeClass("activebtncolor"); $rootScope.isEraseToolSelected = false; var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { $rootScope.switchCanvas(paneld); if(paneld.match("AAImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var canvasId="#canvasAA_" + MultiWinId; $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); var aaPinDataArray=$rootScope.GetAAwindowData(MultiWinId,'aaPinData'); for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if ($rootScope.jcanvasObjectArray[i].panelCanvasId == canvasId) { for (var j = 0; j <= aaPinDataArray.length - 1; j++) { if (($rootScope.jcanvasObjectArray[i].x <= parseInt(aaPinDataArray[j]._HeadX) && $rootScope.jcanvasObjectArray[i].y <= parseInt(aaPinDataArray[j]._HeadY)) && (($rootScope.jcanvasObjectArray[i].x + $rootScope.jcanvasObjectArray[i].width) >= parseInt(aaPinDataArray[j]._HeadX) && ($rootScope.jcanvasObjectArray[i].y + $rootScope.jcanvasObjectArray[i].height) >= parseInt(aaPinDataArray[j]._HeadY)) || ($rootScope.jcanvasObjectArray[i].x <= parseInt(aaPinDataArray[j]._PinX) && $rootScope.jcanvasObjectArray[i].y <= parseInt(aaPinDataArray[j]._PinY)) && (($rootScope.jcanvasObjectArray[i].x + $rootScope.jcanvasObjectArray[i].width) >= parseInt(aaPinDataArray[j]._PinX) && ($rootScope.jcanvasObjectArray[i].y + $rootScope.jcanvasObjectArray[i].height) >= parseInt(aaPinDataArray[j]._PinY))) { var pinName = 'Pin_' + aaPinDataArray[j]._PinId; var pinArcName = 'PinArc_' + aaPinDataArray[j]._PinId; $('#aaDetailViewCanvas_' + MultiWinId).setLayer(pinName, { visible: true // set to true instead to show the layer again }).drawLayers(); $('#aaDetailViewCanvas_' + MultiWinId).setLayer(pinArcName, { visible: true // set to true instead to show the layer again }).drawLayers(); } } } } } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } // remove event listener var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; $scope.removeOnDrawingCanvas(canvasElement); } } } } // Dissectible Anatomy > Settings should be disable if Annotation is Open. $rootScope.ShowSettingWindow = function () { if ($("#annotationTollbar").css("display") == "block") { $('#modal-settings').css("display", "none"); $("#modelsettingsbackground").css("display", "none"); } else { $('#modelsettingsbackground').css('z-index', '12000000'); $('#modal-settings').css("display", "block"); $("#modelsettingsbackground").css("display", "block"); } $rootScope.lexiconLanguageArrayLength = $rootScope.lexiconLanguageArray.length; $rootScope.lexiconPrimaryLanguage = $("#primarylaxican").val(); $rootScope.primaryLangID = $('#primarylaxican').attr("name"); } //----Annotation Toolbar: Jcanvas----- $rootScope.DrawLine = function (e) { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-line").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $rootScope.setListManagerZindex = true; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); $rootScope.switchCanvas(paneld); $rootScope.shapeType = "Line"; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if(paneld.match("AAImagePanel")) { $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $scope.onDrawingCanvasOnModule(canvasElement); } } } } $rootScope.switchToAnnotationCanvas = function (paneld,MultiWinId) { var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) return; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; var aaViewCanvasZIndex = $('#aaDetailViewCanvas_' + MultiWinId).css("z-index"); var canvasPaintZIndex = $("#" + canvasPaintId).css("z-index"); if (parseInt(aaViewCanvasZIndex) < parseInt(canvasPaintZIndex)) { canvasPaintZIndex = parseInt(canvasPaintZIndex) + 1; $("#" + canvasId).css("z-index", canvasPaintZIndex); } else { aaViewCanvasZIndex = parseInt(aaViewCanvasZIndex) + 1; $("#" + canvasId).css("z-index", aaViewCanvasZIndex); } } $rootScope.DrawPin = function (e) { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-pin").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); $rootScope.switchCanvas(paneld); $rootScope.setListManagerZindex = true; $rootScope.shapeType = "Pin"; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if (paneld.match("AAImagePanel")) { $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $scope.onDrawingCanvasOnModule(canvasElement); } } } } $rootScope.Cursor = function (event) { //clear sketch js event for paint and erase $.sketch = { tools: {}}; if(event.isTrigger==undefined) { $rootScope.RemoveSelectedShape(); } $rootScope.shapeType = "cursor"; $(".btn-annotation").removeClass("activebtncolor"); // $("#" + e.currentTarget.id).removeClass("activebtncolor"); $('.btnCursor').addClass('activebtncolor'); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); $rootScope.isAnnotaionToolBarDrawingModeActive = true; //get only AAmodule var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { $rootScope.switchCanvas(paneld); if(paneld.match("AAImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } // remove event listener var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; $scope.removeOnDrawingCanvas(canvasElement); } } } } $rootScope.DrawRectangle = function (e) { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-rectangle").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $rootScope.setListManagerZindex = true; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); $rootScope.switchCanvas(paneld); $rootScope.shapeType = "Rectangle"; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if(paneld.match("AAImagePanel")) { $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $scope.onDrawingCanvasOnModule(canvasElement); } } } $rootScope.paintBrush = function () { $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-brush").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); $rootScope.RemoveSelectedShape(); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if ($rootScope.disableAnnotationtoolOnListManager == true) { $rootScope.switchCanvas(paneld); var canvasPaintZindex = $("#" + canvasPaintId).css("z-index"); //x var canvasZindex = $("#" + canvasId).css("z-index"); //y var listManagerZindex = $('#listManager').css("z-index"); //z if (canvasPaintZindex > canvasZindex) { $('#listManager').css("z-index", canvasPaintZindex); } else { $('#listManager').css("z-index", canvasZindex); } } else { $rootScope.setListManagerZindex = true; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); if ((document.getElementById('fill-option').checked == false) && ($rootScope.isShapeSyleOkBtnClicked == true)) { $rootScope.switchCanvas(paneld); } else if (($("#editstylebackgroundcolor span.minicolors-swatch-color").css('background-color') == "transparent") || ($("#editstylebackgroundcolor span.minicolors-swatch-color").css('background-color') == "rgba(0, 0, 0, 0)")) { // we are switching canvas from paint to draw to prevent paint because it does not take transparent color and we need control default black color for the case where user has unchecked fill option from Edit Shape Style window $rootScope.switchCanvas(paneld); } else { $rootScope.switchCanvasToPaintCanvas(paneld); } $rootScope.shapeType = "FreeStylePaint"; $("#annotationpaintbrushsize").attr("data-size", parseInt($("#btnBrushSize").val())); $("#annotationpaintbrushsize").attr("data-color", $rootScope.shapestyleColorWithOpacity); if (parseInt($("#btnBrushSize").val()) <1) { $("#" + canvasPaintId).sketch({ defaultSize: 1}); } else { $("#" + canvasPaintId).sketch(); } $scope.PaintEraseEvent(); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } // remove event listener $scope.removeOnDrawingCanvas(canvasElement); } } } $rootScope.EraseDrawing = function () { $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-erase").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); $rootScope.RemoveSelectedShape(); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasElement; var canvasPaintId = canvasPaintElement.id; $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.switchCanvasToPaintCanvas(paneld); if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $('#' + canvasPaintId).sketch(); $("#annotationpainteraser").attr("data-size", parseInt($("#btnBrushSize").val())); $scope.PaintEraseEvent(); // remove event listener $scope.removeOnDrawingCanvas(canvasElement); } } } } $scope.PaintEraseEvent=function() { $.sketch.tools.marker = { onEvent: function(e) { switch (e.type) { case 'mousedown': case 'touchstart': if (this.painting) { this.stopPainting(); } this.color= $rootScope.shapestyleColorWithOpacity!=undefined ? $rootScope.shapestyleColorWithOpacity : "#fff"; this.size= parseInt($("#btnBrushSize").val()); if ($("#annotationpaintbrushsize").hasClass("activebtncolor")) { this.tool='marker'; this.startPainting(); } else if ($("#annotationpainteraser").hasClass("activebtncolor")) { this.tool='eraser'; this.size=parseInt($("#btnBrushSize").val())>5?parseInt($("#btnBrushSize").val()):5; this.startPainting(); } else { this.stopPainting(); } break; case 'mouseup': $rootScope.UnsaveCurriculum = true; this.stopPainting(); $scope.savePaintAnnotation(this.el.id,this.actions); break; case 'touchend': $rootScope.UnsaveCurriculum = true; this.stopPainting(); $scope.savePaintAnnotation(this.el.id,this.actions); break; case 'mouseout': case 'mouseleave': case 'touchcancel': this.stopPainting(); } if (this.painting) { this.action.events.push({ x: e.pageX - this.canvas.offset().left, y: e.pageY - this.canvas.offset().top, event: e.type }); return this.redraw(); } }, draw: function(action) { var event, previous, _i, _len, _ref; this.context.lineJoin = "round"; this.context.lineCap = "round"; this.context.beginPath(); this.context.moveTo(action.events[0].x, action.events[0].y); _ref = action.events; for (_i = 0, _len = _ref.length; _i < _len; _i++) { event = _ref[_i]; this.context.lineTo(event.x, event.y); previous = event; } this.context.strokeStyle = action.color; this.context.lineWidth = action.size; return this.context.stroke(); } }; $.sketch.tools.eraser = { onEvent: function (e) { return $.sketch.tools.marker.onEvent.call(this, e); }, draw: function (action) { var oldcomposite; oldcomposite = this.context.globalCompositeOperation; this.context.globalCompositeOperation = "destination-out"; action.color = "#000000"; $.sketch.tools.marker.draw.call(this, action); return this.context.globalCompositeOperation = oldcomposite; } } } $rootScope.switchCanvasToPaintCanvas = function (paneld) { var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null) return; var canvasPaintElement =PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; var canvasPaint_zIndex = $("#" + canvasPaintId).css("z-index"); var canvas_zIndex = $("#" + canvasId).css("z-index"); if (canvas_zIndex > canvasPaint_zIndex) { canvasPaint_zIndex = parseInt(canvas_zIndex) + 2; } else { canvasPaint_zIndex = parseInt(canvasPaint_zIndex) + 2; } $("#" + canvasPaintId).css("z-index", canvasPaint_zIndex); } $rootScope.DrawCircle = function (e) { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-circle").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $rootScope.setListManagerZindex = true; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); $rootScope.switchCanvas(paneld); $rootScope.shapeType = "Circle"; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if(paneld.match("AAImagePanel")) { $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $scope.onDrawingCanvasOnModule(canvasElement); } } } } $rootScope.DrawArrow = function (e) { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-arrow").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $rootScope.setListManagerZindex = true; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); $rootScope.switchCanvas(paneld); $rootScope.shapeType = "Arrow"; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if(paneld.match("AAImagePanel")) { $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $scope.onDrawingCanvasOnModule(canvasElement); } } } } $rootScope.DrawText = function () { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $('.btnCursor').removeClass('activebtncolor'); $(".btn-annotation").removeClass("activebtncolor"); $(".btn-annotation-Text").addClass("activebtncolor"); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $rootScope.setListManagerZindex = true; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); $rootScope.switchCanvas(paneld); $rootScope.shapeType = "TextArea"; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if(paneld.match("AAImagePanel")) { $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $scope.onDrawingCanvasOnModule(canvasElement); } } } } $rootScope.DrawPolygon = function () { //clear sketch js event for paint and erase $.sketch = { tools: {}}; $rootScope.RemoveSelectedShape(); $("#OnIdentify").removeClass('annotationtoolbartab'); $("#DrawMode").addClass('annotationtoolbartab'); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasPaintElement = PanelElement.canvasPaintElement; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; $rootScope.setListManagerZindex = true; $("#" + canvasPaintId).css("display", "block"); $("#" + canvasId).css("display", "block"); $rootScope.switchCanvas(paneld); $rootScope.shapeType = "DrawPolygon"; $rootScope.isAnnotaionToolBarDrawingModeActive = true; if(paneld.match("AAImagePanel")) { $rootScope.switchToAnnotationCanvas(paneld,MultiWinId); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } $scope.onDrawingCanvasOnModule(canvasElement); } } } } $rootScope.switchCanvas = function (paneld) { var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; var canvasPaintElement = PanelElement.canvasPaintElement; if (canvasElement == null) return; var canvasId = canvasElement.id; var canvasPaintId = canvasPaintElement.id; var drawCanvasZindex = $("#" + canvasId).css("z-index"); var paintCanvasZindex = $("#" + canvasPaintId).css("z-index"); if (drawCanvasZindex > paintCanvasZindex) { paintCanvasZindex = parseInt(drawCanvasZindex) + 1; } else { paintCanvasZindex = parseInt(paintCanvasZindex) + 1; } $("#" + canvasId).css("z-index", paintCanvasZindex); } //birendra //new method to get panel element $scope.GetPanelElement = function (paneld) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement={}; if (paneld.match("daImagePanel")) { PanelElement.canvasElement=document.getElementById('canvasDA_' + MultiWinId); PanelElement.canvasPaintElement = document.getElementById('canvasPaintDA_' + MultiWinId); PanelElement.canvasDivElement = document.getElementById('canvasDivDA_' + MultiWinId); } else if (paneld.match("AAImagePanel")) { PanelElement.canvasElement=document.getElementById('canvasAA_' + MultiWinId); PanelElement.canvasPaintElement = document.getElementById('canvasPaintAA_' + MultiWinId); PanelElement.canvasDivElement = document.getElementById('canvasAADiv_' + MultiWinId); } else if (paneld.match("ciImagePanel")) { PanelElement.canvasElement=document.getElementById('canvasCI_' + MultiWinId); PanelElement.canvasPaintElement = document.getElementById('canvasPaintCI_' + MultiWinId); PanelElement.canvasDivElement = document.getElementById('canvasDivCI_' + MultiWinId); } else if (paneld.match("aiImagePanel")) { PanelElement.canvasElement=document.getElementById('canvasAI_' + MultiWinId); PanelElement.canvasPaintElement = document.getElementById('canvasPaintAI_' + MultiWinId); PanelElement.canvasDivElement = document.getElementById('canvasDivAI_' + MultiWinId); } else if (paneld.match("picImagePanel")) { PanelElement.canvasElement=document.getElementById('canvasPIC_' + MultiWinId); PanelElement.canvasPaintElement = document.getElementById('canvasPaintPIC_' + MultiWinId); PanelElement.canvasDivElement = document.getElementById('canvasDivPIC_' + MultiWinId); } return PanelElement; } $rootScope.isShapeSyleOkBtnClicked = false; $rootScope.setPropertiesForShapes = function (id) { isfilloptionChecked = document.getElementById('fill-option').checked; isOutlineOptionChecked = document.getElementById('Outline-Option').checked; $rootScope.isShapeSyleOkBtnClicked = true; var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; if ($("#annotationpaintbrushsize").hasClass('activebtncolor')) { $("#annotationpaintbrushsize").removeClass('activebtncolor') $rootScope.switchCanvas(paneld); } if ($("#annotationpainteraser").hasClass('activebtncolor')) { $("#annotationpainteraser").removeClass('activebtncolor') $rootScope.switchCanvas(paneld); } if(paneld.match("ciImagePanel")) { $rootScope.SetPaintZindexforCI(MultiWinId); } } } } if ((document.getElementById('fill-option').checked == false) && (document.getElementById('Outline-Option').checked == false)) { // $('#btnShapeStyle').attr('disabled', 'disabled'); } else { document.getElementById('modelbackground').style.display = "none"; document.getElementById('modeleditstyle').style.display = "none"; $rootScope.shapestyleOpacity = $("#" + id).css('opacity'); $("#shapeStyleDiv").parent().css("opacity", $rootScope.shapestyleOpacity); $rootScope.shapestyleFillColor = $("#" + id).css('background-color'); $rootScope.shapeStyleColorRGBA = $rootScope.shapestyleFillColor.replace("rgb", "rgba"); $rootScope.shapestyleColorWithOpacity = $rootScope.shapeStyleColorRGBA.substring(0, $rootScope.shapeStyleColorRGBA.length - 1) + " " + "," + $rootScope.shapestyleOpacity + ")"; $("#shapeStyleDiv").css("background-color", $rootScope.shapestyleFillColor); $rootScope.shapestyleborderColor = $("#" + id).parent().css("border-top-color"); $rootScope.borderDimensions = $("#" + id).parent().css("border-top-width"); document.getElementById("shapeStyleDiv").parentNode.style.border = $rootScope.borderDimensions + " " + "solid" + " " + $rootScope.shapestyleborderColor; var borderDimensions = $rootScope.borderDimensions; var borderDimensionSplitArray = borderDimensions.split("p"); $rootScope.shapestyleborderWidth = Math.round(borderDimensionSplitArray[0]); $rootScope.shapestyleborderStyles = "solid"; $('#editshapestyle').modal('hide'); //Edit Shape Style popup should open at it's default position $("#modeleditstyle").css({ "left": "40%", "right": "0", "top": "70px" }); // change selected shape style $rootScope.ReCreateshape(); } } $rootScope.changeWidthManager = function () { var borderWidth = 3; var borderColor = "#000"; borderWidth = $("#borderWidthCanvasElement option:selected").val(); $rootScope.shapestyleborderWidth = Math.round(borderWidth); borderColor = $('#outlineColor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color"); if (borderColor != null) { document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor; //$("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid" + borderColor); } else { // $("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid"); document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor; } } $rootScope.enableAnnotationToolBar = function () { if ($rootScope.disableAnnotationTB == true) { document.getElementById('modelbackground').style.display = "none"; document.getElementById('modeleditstyle').style.display = "none"; } else { document.getElementById('modelbackground').style.display = "block"; document.getElementById('modeleditstyle').style.display = "block"; $("#borderWidthCanvasElement").val($rootScope.shapestyleborderWidth).change(); $('#editstylebackgroundcolor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color", document.getElementById('imgOpacity').style.backgroundColor); $('#outlineColor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color", document.getElementById('outlinedivId').style.border); if ($('#modeleditstyle').css("display") == "block") { //Check if the modal is already showing var previewOpacity = $('#imgOpacity').css("opacity"); $('#slider-range-min-4 div.ui-slider-range-min').css("width", (previewOpacity * 100) + "%"); $('#slider-range-min-4 span.ui-slider-handle').css("left", (previewOpacity * 100) + "%"); }; } $timeout(function(){ $('.btnCursor').trigger('click'); $(".btn-annotation").removeClass("activebtncolor"); $('.btnCursor').addClass('activebtncolor'); },100) } $rootScope.enableEditShapeTooltip = function () { $("#edit-block").addClass("custom-tooltip-annotation"); $(".custom-tooltip-annotation").css('display', 'block'); } $rootScope.disableEditShapeTooltip = function () { $(".custom-tooltip-annotation").css('display', 'none'); $("#edit-block").removeClass("custom-tooltip-annotation"); } $rootScope.disableAnnotationToolBar = function () { if ($rootScope.isShapeSyleOkBtnClicked == false) { $('#editstylebackgroundcolor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color", "rgb(255,255,255)"); $('#outlineColor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color", "rgb(0,0,0)"); var previewBorderColor = $("#outlineColor span.minicolors-swatch-color").css('background-color'); $(".marginTopBtm10 div.outlinediv").css("border-color", previewBorderColor); var previewBgColor = $("#editstylebackgroundcolor span.minicolors-swatch-color").css('background-color'); $("#imgOpacity").css("background-color", previewBgColor); $('#borderWidthCanvasElement').val(3); $('.marginTopBtm10 div.outlinediv').css("border-width", 1); $("#imgOpacity").css("opacity", 1); $(".marginTopBtm10 div.outlinediv").css("opacity", 1); document.getElementById("editStyleForm").reset(); isOutlineOptionChecked = document.getElementById('Outline-Option').checked; isfilloptionChecked = document.getElementById('fill-option').checked; if (isOutlineOptionChecked == true) { $(".setEnableDisableForEditShapeStyle").css({ "opacity": "1" }); $("#borderWidthCanvasElement").css({ "pointer-events": "auto" }); $("#outlineColor").css({ "pointer-events": "auto" }); } else { $(".setEnableDisableForEditShapeStyle").css({ "opacity": ".5" }); $("#borderWidthCanvasElement").css({ "pointer-events": "none" }); $("#outlineColor").css({ "pointer-events": "none" }); } if (isfilloptionChecked == true) { $(".enableDisableOpacity label").css({ "cursor": "pointer" }); $(".enableDisableOpacity").css({ "opacity": "1" }); $("#edit-slider-3").css({ "pointer-events": "auto" }); $("#edit-slider-4").css({ "pointer-events": "auto" }); $("#editstylebackgroundcolor").css({ "pointer-events": "auto" }); } else { $(".enableDisableOpacity label").css({ "cursor": "pointer" }); $(".enableDisableOpacity").css({ "opacity": ".5" }); $("#edit-slider-3").css({ "pointer-events": "none" }); $("#edit-slider-4").css({ "pointer-events": "none" }); $("#editstylebackgroundcolor").css({ "pointer-events": "none" }); } } else { document.getElementById('fill-option').checked = isfilloptionChecked; document.getElementById('Outline-Option').checked = isOutlineOptionChecked; if (isfilloptionChecked == true) { $(".enableDisableOpacity label").css({ "cursor": "pointer" }); $(".enableDisableOpacity").css({ "opacity": "1" }); $("#edit-slider-3").css({ "pointer-events": "auto" }); $("#edit-slider-4").css({ "pointer-events": "auto" }); $("#editstylebackgroundcolor").css({ "pointer-events": "auto" }); } else { $(".enableDisableOpacity label").css({ "cursor": "pointer" }); $(".enableDisableOpacity").css({ "opacity": ".5" }); $("#edit-slider-3").css({ "pointer-events": "none" }); $("#edit-slider-4").css({ "pointer-events": "none" }); $("#editstylebackgroundcolor").css({ "pointer-events": "none" }); } if (isOutlineOptionChecked == true) { $(".setEnableDisableForEditShapeStyle").css({ "opacity": "1" }); $("#borderWidthCanvasElement").css({ "pointer-events": "auto" }); $("#outlineColor").css({ "pointer-events": "auto" }); } else { $(".setEnableDisableForEditShapeStyle").css({ "opacity": ".5" }); $("#borderWidthCanvasElement").css({ "pointer-events": "none" }); $("#outlineColor").css({ "pointer-events": "none" }); } if ((isfilloptionChecked == false) && (isOutlineOptionChecked == false)) { $(".setEnableDisableForEditShapeStyle").css({ "opacity": "1" }); $("#borderWidthCanvasElement").css({ "pointer-events": "auto" }); $("#outlineColor").css({ "pointer-events": "auto" }); $(".enableDisableOpacity label").css({ "cursor": "pointer" }); $(".enableDisableOpacity").css({ "opacity": "1" }); $("#edit-slider-3").css({ "pointer-events": "auto" }); $("#edit-slider-4").css({ "pointer-events": "auto" }); $("#editstylebackgroundcolor").css({ "pointer-events": "auto" }); document.getElementById("editStyleForm").reset(); } var previewBgColor = $("#shapeStyleDiv").css('background-color'); var previewBorderColor = $('#previewBorder').css('border-top-color'); var previewBorderWidth = $('#previewBorder').css('border-top-width'); var previewOpacity = $('#previewBorder').css('opacity'); $('#editstylebackgroundcolor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color", previewBgColor); $("#imgOpacity").css("background-color", previewBgColor); $('#outlineColor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color", previewBorderColor); $(".marginTopBtm10 div.outlinediv").css("border-color", previewBorderColor); $('.marginTopBtm10 div.outlinediv').css("border-width", previewBorderWidth); $('#borderWidthCanvasElement').val(previewBorderWidth.split("px")); $("#imgOpacity").css("opacity", previewOpacity); $(".marginTopBtm10 div.outlinediv").css("opacity", previewOpacity); } document.getElementById('modelbackground').style.display = "none"; document.getElementById('modeleditstyle').style.display = "none"; //Edit Shape Style popup should open at it's default position $("#modeleditstyle").css({ "left": "40%", "right": "0", "top": "70px" }); } $rootScope.LoadCBSavedAnnotation = function (canvasId,canvasPaintId,annotationData) { var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; if(paneld.match("daImagePanel")) { $rootScope.daAnnotationToolEvent(MultiWinId); } else if(paneld.match("AAImagePanel")) { $rootScope.aaAnnotationToolEvent(MultiWinId); } else if(paneld.match("ciImagePanel")) { $rootScope.ciAnnotationToolEvent(MultiWinId); } else if(paneld.match("aiImagePanel")) { $rootScope.aiAnnotationToolEvent(MultiWinId); } else if(paneld.match("picImagePanel")) { $rootScope.picAnnotationToolEvent(MultiWinId); } } } } $timeout(function () { var shapeStates=annotationData.shapeStates; var paintCanvasState=annotationData.paintCanvasState; for(var shapeindx=0;shapeindx0) { if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { //for paint brush $rootScope.switchCanvasToPaintCanvas(paneld); } } } var drawingPoints=paintCanvasState //auto save last cb paint $scope.PaintEraseEvent(); $scope.savePaintAnnotation(canvasPaintId,drawingPoints); $("#" + canvasPaintId).sketch({drawAction:drawingPoints}); //clear sketch js event for paint and erase $.sketch = { tools: {}}; } $rootScope.CloseAnnotationTool(); }, 500); } $scope.savePaintAnnotation=function(canvasPaintId,drawingPoints) { var len = (canvasPaintId).split("_").length; var MultiWinId = (canvasPaintId).split("_")[len - 1]; //var modifiiedannotationData= {shapeStates:[],paintCanvasState:[]}; if (canvasPaintId.match("canvasPaintDA")) { var annotationData=$rootScope.GetDAwindowData(MultiWinId,'annotationData'); annotationData.paintCanvasState=drawingPoints; $rootScope.SetDAwindowData(MultiWinId,'annotationData',annotationData); } else if (canvasPaintId.match("canvasPaintAA")) { var annotationData=$rootScope.GetAAwindowData(MultiWinId,'annotationData'); annotationData.paintCanvasState=drawingPoints; $rootScope.SetAAwindowData(MultiWinId,'annotationData',annotationData); } else if (canvasPaintId.match("canvasPaintCI")) { var annotationData=$rootScope.GetCIwindowData(MultiWinId,'annotationData'); annotationData.paintCanvasState=drawingPoints; $rootScope.SetCIwindowData(MultiWinId,'annotationData',annotationData); } else if (canvasPaintId.match("canvasPaintAI")) { var annotationData=$rootScope.GetAIwindowData(MultiWinId,'annotationData'); annotationData.paintCanvasState=drawingPoints; $rootScope.SetAIwindowData(MultiWinId,'annotationData',annotationData); } else if (canvasPaintId.match("canvasPaintPIC")) { var annotationData=$rootScope.GetPICwindowData(MultiWinId,'annotationData'); annotationData.paintCanvasState=drawingPoints; $rootScope.SetPICwindowData(MultiWinId,'annotationData',annotationData); } } $rootScope.AutoDrawShapeByData = function(canvasId,shapeData) { switch (shapeData.shapeType) { case "line": $rootScope.LineNumber = $rootScope.ObjectIndex++; $rootScope.isLinePreviewCompleted = true; $rootScope.DrawLineOnModuleItem(canvasId, $rootScope.LineNumber, shapeData.style.color, shapeData.style.thickness, shapeData.x1, shapeData.y1, shapeData.x2, shapeData.y2); break; case "Arrow": $rootScope.ArrowNumber = $rootScope.ObjectIndex++; $rootScope.isArrowPreviewCompleted = true; $rootScope.DrawArrowOnModuleItem(canvasId, $rootScope.ArrowNumber, shapeData.style.color, shapeData.style.thickness, shapeData.x1, shapeData.y1, shapeData.x2, shapeData.y2); break; case "Pin": $rootScope.PinNumber = $rootScope.PinObjectIndex++; $rootScope.isPinPreviewCompleted = true; $rootScope.DrawPinOnModuleItem(canvasId, $rootScope.PinNumber, shapeData.style.color, shapeData.style.thickness, shapeData.x1, shapeData.y1, shapeData.x2, shapeData.y2); break; case "rectangle": $rootScope.rectNumber = $rootScope.ObjectIndex++; $rootScope.isRectanglePreviewCompleted = true; $rootScope.DrawRectangleOnModuleItem(canvasId, $rootScope.rectNumber, shapeData.style.fillStyle, shapeData.style.color, shapeData.style.opacity, shapeData.style.thickness, shapeData.x, shapeData.y, shapeData.size.width, shapeData.size.height); break; case "ellipse": $rootScope.CircleNumber = $rootScope.ObjectIndex++; $rootScope.isCirclePreviewCompleted = true; $rootScope.DrawCircleOnModuleItem(canvasId, $rootScope.CircleNumber, shapeData.style.opacity, shapeData.style.color, shapeData.style.thickness, shapeData.style.fillStyle, shapeData.x, shapeData.y, shapeData.size.width, shapeData.size.height); break; case "textArea": $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.IsTextAlreadySave = false; $rootScope.TextNumber = $rootScope.ObjectIndex++; $rootScope.isTextAreaPreviewCompleted = true; $rootScope.TextEditorFunctionality(canvasId, $rootScope.TextNumber,shapeData.text,shapeData.shapestyle,shapeData.textstyle, shapeData.x, shapeData.y, shapeData.size.width, shapeData.size.height); break; } } //--Save Annotation activity in panel ------ $scope.SaveAnnotation=function(panelCanvasId,shapetype,layerName,drawingPoints) { var len = (panelCanvasId).split("_").length; var MultiWinId = (panelCanvasId).split("_")[len - 1]; var modifiiedannotationData= {shapeStates:[],paintCanvasState:""}; if (panelCanvasId.match("canvasDA")) { var annotationData=$rootScope.GetDAwindowData(MultiWinId,'annotationData'); modifiiedannotationData= $scope.UpdateShapeData(shapetype,layerName,drawingPoints,annotationData); $rootScope.SetDAwindowData(MultiWinId,'annotationData',modifiiedannotationData); } else if (panelCanvasId.match("canvasAA")) { var annotationData=$rootScope.GetAAwindowData(MultiWinId,'annotationData'); modifiiedannotationData= $scope.UpdateShapeData(shapetype,layerName,drawingPoints,annotationData); $rootScope.SetAAwindowData(MultiWinId,'annotationData',modifiiedannotationData); } else if (panelCanvasId.match("canvasCI")) { var annotationData=$rootScope.GetCIwindowData(MultiWinId,'annotationData'); modifiiedannotationData= $scope.UpdateShapeData(shapetype,layerName,drawingPoints,annotationData); $rootScope.SetCIwindowData(MultiWinId,'annotationData',modifiiedannotationData); } else if (panelCanvasId.match("canvasAI")) { var annotationData=$rootScope.GetAIwindowData(MultiWinId,'annotationData'); modifiiedannotationData= $scope.UpdateShapeData(shapetype,layerName,drawingPoints,annotationData); $rootScope.SetAIwindowData(MultiWinId,'annotationData',modifiiedannotationData); } else if (panelCanvasId.match("canvasPIC")) { var annotationData=$rootScope.GetPICwindowData(MultiWinId,'annotationData'); modifiiedannotationData= $scope.UpdateShapeData(shapetype,layerName,drawingPoints,annotationData); $rootScope.SetPICwindowData(MultiWinId,'annotationData',modifiiedannotationData); } } $scope.UpdateShapeData=function(shapetype,layerName,drawingPoints,annotationData) { var shapeStates = new jinqJs() .from(annotationData.shapeStates) .where('layerName == ' + layerName) .select(); if(shapeStates.length>0) { if(shapetype=="line"||shapetype=="Arrow"||shapetype=="Pin") { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .update(function (coll, index) { coll[index].x1= drawingPoints.x1; coll[index].y1 = drawingPoints.y1; coll[index].x2 = drawingPoints.x2; coll[index].y2 = drawingPoints.y2; coll[index].style = drawingPoints.style; }) .at('layerName == ' + layerName) .select(); } else if(shapetype=="rectangle"||shapetype=="ellipse") { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .update(function (coll, index) { coll[index].x= drawingPoints.x; coll[index].y = drawingPoints.y; coll[index].size = drawingPoints.size; coll[index].style = drawingPoints.style; }) .at('layerName == ' + layerName) .select(); } else if(shapetype=="textArea") { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .update(function (coll, index) { coll[index].x= drawingPoints.x; coll[index].y = drawingPoints.y; coll[index].size = drawingPoints.size; coll[index].text = drawingPoints.text; coll[index].shapestyle = drawingPoints.shapestyle; coll[index].textstyle = drawingPoints.textstyle; }) .at('layerName == ' + layerName) .select(); } } else { annotationData.shapeStates.push(drawingPoints); } return annotationData; } //resize/color for drawing shape $rootScope.ReCreateshape = function() { $timeout(function () { for (var i = 0; i <= $rootScope.canvasLayerNameCollection.length - 1; i++) { var layerName=$rootScope.canvasLayerNameCollection[i].name; var layerType=$rootScope.canvasLayerNameCollection[i].type; var panelCanvasId=$rootScope.canvasLayerNameCollection[i].panelCanvasId; var len = (panelCanvasId).split("_").length; var MultiWinId = (panelCanvasId).split("_")[len - 1]; if (panelCanvasId.match("canvasDA")) { var annotationData=$rootScope.GetDAwindowData(MultiWinId,'annotationData'); } else if (panelCanvasId.match("canvasAA")) { var annotationData=$rootScope.GetAAwindowData(MultiWinId,'annotationData'); } else if (panelCanvasId.match("canvasCI")) { var annotationData=$rootScope.GetCIwindowData(MultiWinId,'annotationData'); } else if (panelCanvasId.match("canvasAI")) { var annotationData=$rootScope.GetAIwindowData(MultiWinId,'annotationData'); } else if (panelCanvasId.match("canvasPIC")) { var annotationData=$rootScope.GetPICwindowData(MultiWinId,'annotationData'); } var shapeDataOld = new jinqJs() .from(annotationData.shapeStates) .where('layerName == ' + layerName) .select(); if(shapeDataOld.length>0) { var shapeData=shapeDataOld[0]; $rootScope.DeleteSelectedShape(); $timeout(function () { if(shapeData.shapeType=="line"||shapeData.shapeType=="Arrow"||shapeData.shapeType=="Pin") { shapeData.style.color=$rootScope.shapestyleborderColor; shapeData.style.thickness=$rootScope.shapestyleborderWidth; $rootScope.AutoDrawShapeByData(panelCanvasId,shapeData); } else if(shapeData.shapeType=="rectangle"||shapeData.shapeType=="ellipse") { shapeData.style.fillStyle=$rootScope.shapestyleFillColor; shapeData.style.color=$rootScope.shapestyleborderColor; shapeData.style.opacity=$rootScope.shapestyleOpacity; shapeData.style.thickness=$rootScope.shapestyleborderWidth; $rootScope.AutoDrawShapeByData(panelCanvasId,shapeData); } else if(shapeData.shapeType=="textArea") { var shapestyle={thickness:$rootScope.shapestyleborderWidth,color:$rootScope.shapestyleborderColor,opacity:$rootScope.shapestyleOpacity,fillStyle:$rootScope.shapestyleFillColor}; shapeData.shapestyle=shapestyle; $rootScope.AutoDrawShapeByData(panelCanvasId,shapeData); } }, 100); } break; } }, 200); } //remove selected layer on shape $rootScope.RemoveSelectedShape = function() { for (var i = 0; i <= $rootScope.canvasLayerNameCollection.length - 1; i++) { var layername=$rootScope.canvasLayerNameCollection[i].name; var layerType=$rootScope.canvasLayerNameCollection[i].type; var panelCanvasId=$rootScope.canvasLayerNameCollection[i].panelCanvasId; if ((layerType == 'rectangle')||(layerType == 'textArea')) { $("#"+panelCanvasId).setLayer(layername, { handle: { type: 'rectangle', fillStyle: 'pink', strokeStyle: 'yellow', strokeWidth: 0, width: 0, height: 0, cornerRadius: 0, } }).drawLayers(); } else if((layerType == 'line')||(layerType == 'Arrow')||(layerType == 'Pin')||(layerType == 'ellipse')) { $("#"+panelCanvasId).setLayer(layername, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } } $rootScope.canvasLayerNameCollection=[]; } //--Common code of Annotation Toolbar for CI and DA------- $rootScope.DrawLineOnModuleItem = function (canvasId, LineNumber, shapestyleborderColor, shapestyleborderWidth, offsetX1, offsetY1, x, y) { if ($rootScope.isLinePreviewCompleted == true) { $rootScope.isLinePreviewCompleted = false; $("#"+canvasId).addLayer({ panelCanvasId:canvasId, name: 'Line_' + LineNumber, layer: true, type: 'line', draggable: true, strokeStyle: shapestyleborderColor, strokeWidth: shapestyleborderWidth, rounded: true, x1: offsetX1, y1: offsetY1, x2: x, y2: y, // Show pointer cursor on hover cursors: { // Show pointer on hover mouseover: 'pointer', // // Show 'move' cursor on mousedown mousedown: 'move', // // Revert cursor on mouseup mouseup: 'pointer' }, add: function (layer) { var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x1": Math.round(layer.x1), "y1": Math.round(layer.y1), "x2": Math.round(layer.x2), "y2": Math.round(layer.y2), "style":{thickness:layer.strokeWidth,color:layer.strokeStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); }, dragstop:function(layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //add new event for save aanotation data // layer.draggable = false; var move_x=Math.round(layer.x); var move_y=Math.round(layer.y); var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x1": Math.round(layer.x1)+move_x, "y1": Math.round(layer.y1)+move_y, "x2": Math.round(layer.x2)+move_x, "y2": Math.round(layer.y2)+move_y, "style":{thickness:layer.strokeWidth,color:layer.strokeStyle} // "size": { height: 600, width: 900 } } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); } }, handlestop:function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //add new event for resize line layer.draggable = false; var move_x=Math.round(layer.x); var move_y=Math.round(layer.y); var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x1": Math.round(layer.x1)+move_x, "y1": Math.round(layer.y1)+move_y, "x2": Math.round(layer.x2)+move_x, "y2": Math.round(layer.y2)+move_y, "style":{thickness:layer.strokeWidth,color:layer.strokeStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); //remove arc $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } }, mouseout: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; if((navigator.userAgent.match(/(iPod|iPhone|iPad|android)/i))) { //equation of line // (x-x1)/(x2-x1) = (y-y1)/(y2-y1) var nearestX1=Math.abs(layer.eventX-layer.x1); var nearestY1=Math.abs(layer.eventY-layer.y1); var nearestX2=Math.abs(layer.eventX-layer.x2); var nearestY2=Math.abs(layer.eventY-layer.y2); if((nearestX1>30 || nearestY1>30 )&&(nearestX2>30 || nearestY2>30)) { $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } } } else { //jcanvas property layer.draggable = false; } }, touchstart: function (layer) { // work on touch pad device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, "name": layer.name,"type":layer.type}); } $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, click: function (layer) { // work on destop device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, "name": layer.name,"type":layer.type}); } $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } } }).drawLayers(); } $('.btnCursor').trigger('click'); $(".btn-annotation").removeClass("activebtncolor"); $('.btnCursor').addClass('activebtncolor'); } $rootScope.jcanvasObjectArray = []; $rootScope.DrawRectangleOnModuleItem = function (canvasId, RectNumber, shapestyleFillColor, shapestyleborderColor, shapestyleOpacity, shapestyleborderWidth, offsetX1, offsetY1, width, height) { if ($rootScope.isRectanglePreviewCompleted == true) { if(width<30) width=30 ; if(height<30) height=30; $rootScope.isRectanglePreviewCompleted = false; $("#"+canvasId).addLayer({ panelCanvasId:canvasId, layer: true, name: 'Rect_' + RectNumber, fillStyle: shapestyleFillColor, type: 'rectangle', draggable: true, strokeStyle: shapestyleborderColor, opacity: shapestyleOpacity, strokeWidth: shapestyleborderWidth, fromCenter: false, x: offsetX1, y: offsetY1, width: width, height: height, minWidth:30, minHeight:30, resizeFromCenter: false, handlePlacement: 'both', //Show pointer cursor on hover cursors: { // Show pointer on hover mouseover: 'pointer', // Show 'move' cursor on mousedown mousedown: 'pointer', // Revert cursor on mouseup mouseup: 'pointer' }, add: function (layer) { var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x": Math.round(layer.x), "y": Math.round(layer.y), "size": {width:layer.width,height:layer.height}, "style":{thickness:layer.strokeWidth,color:layer.strokeStyle,opacity:layer.opacity,fillStyle:layer.fillStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); if ((layer.panelCanvasId).match("canvasAA")) { $rootScope.jcanvasObjectArray.push({"panelCanvasId":layer.panelCanvasId, "name": layer.name, "x": layer.x, "y": layer.y, "width": layer.width, "height": layer.height }); } }, dragstop: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { if ((layer.panelCanvasId).match("canvasAA")) { for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if ($rootScope.jcanvasObjectArray[i].panelCanvasId == layer.panelCanvasId) { if ($rootScope.jcanvasObjectArray[i].name == layer.name) { $rootScope.jcanvasObjectArray[i].x = layer.x; $rootScope.jcanvasObjectArray[i].y = layer.y; $rootScope.jcanvasObjectArray[i].width = layer.width; $rootScope.jcanvasObjectArray[i].height = layer.height; } } } } var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x": Math.round(layer.x), "y": Math.round(layer.y), "size": {width:layer.width,height:layer.height}, "style":{thickness:layer.strokeWidth,color:layer.strokeStyle,opacity:layer.opacity,fillStyle:layer.fillStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); } }, handlestop:function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //add new event for resize line layer.draggable = false; if ((layer.panelCanvasId).match("canvasAA")) { for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if ($rootScope.jcanvasObjectArray[i].panelCanvasId == layer.panelCanvasId) { if ($rootScope.jcanvasObjectArray[i].name == layer.name) { $rootScope.jcanvasObjectArray[i].x = layer.x; $rootScope.jcanvasObjectArray[i].y = layer.y; $rootScope.jcanvasObjectArray[i].width = layer.width; $rootScope.jcanvasObjectArray[i].height = layer.height; } } } } var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x": Math.round(layer.x), "y": Math.round(layer.y), "size": {width:layer.width,height:layer.height}, "style":{thickness:layer.strokeWidth,color:layer.strokeStyle,opacity:layer.opacity,fillStyle:layer.fillStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'rectangle', fillStyle: 'pink', strokeStyle: 'yellow', strokeWidth: 0, width: 0, height: 0, cornerRadius: 0, } }).drawLayers(); } }, mouseout: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; if((navigator.userAgent.match(/(iPod|iPhone|iPad|android)/i))) { if((layer.eventX>(layer.x+layer.width+10) ||layer.eventX(layer.y+layer.height+10) || layer.eventY(layer.x+layer.width+10) ||layer.eventX(layer.y+layer.height+10) || layer.eventY20 || nearestY1>20 )&&(nearestX2>20 || nearestY2>20)) { $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } } } else { //jcanvas property layer.draggable = false; } }, touchstart: function (layer) { // work on touch pad device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, "name": layer.name,"type":layer.type}); } $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, click: function (layer) { // work on destop device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, "name": layer.name,"type":layer.type}); } $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } } }); } $('.btnCursor').trigger('click'); $(".btn-annotation").removeClass("activebtncolor"); $('.btnCursor').addClass('activebtncolor'); } $rootScope.DrawPinOnModuleItem = function (canvasId, PinNumber,shapestyleborderColor, shapestyleborderWidth, offsetX1, offsetY1, x, y) { if ($rootScope.isPinPreviewCompleted == true) { $rootScope.isPinPreviewCompleted = false; var radial = $("#"+canvasId).createGradient({ x1: 50, y1: 50, x2: 50, y2: 50, r1: 10, r2: 30, c1: 'rgba(100, 50, 0,0)', c2: 'grey' }); $("#"+canvasId).drawLine({ panelCanvasId:canvasId, draggable: true, layer: true, type:'Pin', name: "Pin_" + PinNumber, groups: ["Pin_" + PinNumber], dragGroups: ["Pin_" + PinNumber], strokeStyle:shapestyleborderColor,// 'black', strokeWidth: shapestyleborderWidth, x1: offsetX1, y1: offsetY1, x2: x, y2: y, // Show pointer cursor on hover cursors: { // Show pointer on hover mouseover: 'pointer', // // Show 'move' cursor on mousedown mousedown: 'move', // // Revert cursor on mouseup mouseup: 'pointer' }, add: function (layer) { var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x1": Math.round(layer.x1), "y1": Math.round(layer.y1), "x2": Math.round(layer.x2), "y2": Math.round(layer.y2), "style":{thickness:layer.strokeWidth,color:layer.strokeStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); }, dragstop:function(layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //add new event for save aanotation data //layer.draggable = false; var move_x=Math.round(layer.x); var move_y=Math.round(layer.y); var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x1": Math.round(layer.x1)+move_x, "y1": Math.round(layer.y1)+move_y, "x2": Math.round(layer.x2)+move_x, "y2": Math.round(layer.y2)+move_y, "style":{thickness:layer.strokeWidth,color:layer.strokeStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); } }, handlestop:function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //add new event for resize line layer.draggable = false; var move_x=Math.round(layer.x); var move_y=Math.round(layer.y); var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x1": Math.round(layer.x1)+move_x, "y1": Math.round(layer.y1)+move_y, "x2": Math.round(layer.x2)+move_x, "y2": Math.round(layer.y2)+move_y, "style":{thickness:layer.strokeWidth,color:layer.strokeStyle} } $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); //remove arc $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } }, mouseout: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; if((navigator.userAgent.match(/(iPod|iPhone|iPad|android)/i))) { //equation of line // (x-x1)/(x2-x1) = (y-y1)/(y2-y1) var nearestX1=Math.abs(layer.eventX-layer.x1); var nearestY1=Math.abs(layer.eventY-layer.y1); var nearestX2=Math.abs(layer.eventX-layer.x2); var nearestY2=Math.abs(layer.eventY-layer.y2); if((nearestX1>20 || nearestY1>20 )&&(nearestX2>20 || nearestY2>20)) { $rootScope.shapeTypePin = ""; $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } } } else { //jcanvas property layer.draggable = false; } }, touchstart: function (layer) { // work on touch pad device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.shapeTypePin = "Pin"; var pinLine_layer = layer.name; var pinLine_layer_split = pinLine_layer.split("_"); var pinArcName = "ArcPin_"; var pinResult = pinArcName.concat(pinLine_layer_split[1]); $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, name: layer.name, ArcName: pinResult,"type":layer.type }); } $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, click: function (layer) { // work on destop device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.shapeTypePin = "Pin"; var pinLine_layer = layer.name; var pinLine_layer_split = pinLine_layer.split("_"); var pinArcName = "ArcPin_"; var pinResult = pinArcName.concat(pinLine_layer_split[1]); $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, name: layer.name, ArcName: pinResult,"type":layer.type }); } $("#"+layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, handlemove: function(layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { var pinLine_layer = layer.name; var pinLine_layer_split = pinLine_layer.split("_"); var pinArc = "ArcPin_"; var pinArcName = pinArc.concat(pinLine_layer_split[1]); $("#" + layer.panelCanvasId).removeLayer(pinArcName).drawLayers(); $("#" + layer.panelCanvasId).drawArc({ panelCanvasId:layer.panelCanvasId, layer: true, draggable: true, name: pinArcName, groups: [layer.groups], dragGroups: [layer.dragGroups], strokeStyle: 'grey', strokeWidth: layer.strokeWidth, fillStyle: radial, x: layer.x2+layer.x, y: layer.y2+layer.y, radius: 5, cursors: { // Show pointer on hover mouseover: 'pointer', // // Show 'move' cursor on mousedown mousedown: 'move', // // Revert cursor on mouseup mouseup: 'pointer' }, add: function (layer) { layer.draggable = false; }, mouseout: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property if((navigator.userAgent.match(/(iPod|iPhone|iPad|android)/i))) { layer.draggable = false; var pinlayer = layer.name; var pinLine_layer_split = pinlayer.split("_"); var pin = "Pin_"; var pinName = pin.concat(pinLine_layer_split[1]); $rootScope.shapeTypePin = ""; $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "ArcName == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(pinName, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } } else { //jcanvas property layer.draggable = false; } }, click: function (layer) { // work on destop device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = false; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "ArcName == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.shapeTypePin = "Pin"; var pinlayer = layer.name; var pinLine_layer_split = pinlayer.split("_"); var pin = "Pin_"; var pinName = pin.concat(pinLine_layer_split[1]); $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, name: pinName, ArcName: layer.name,"type":'Pin' }); } $("#"+layer.panelCanvasId).setLayer(pinName, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, touchstart: function (layer) { // work on touch pad device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = false; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "ArcName == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.shapeTypePin = "Pin"; var pinlayer = layer.name; var pinLine_layer_split = pinlayer.split("_"); var pin = "Pin_"; var pinName = pin.concat(pinLine_layer_split[1]); $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, name: pinName, ArcName: layer.name,"type":'Pin' }); } $("#"+layer.panelCanvasId).setLayer(pinName, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } } }); } }, }).drawArc({ draggable: true, panelCanvasId:canvasId, name: "ArcPin_" + PinNumber, layer: true, groups: ["Pin_" + PinNumber], dragGroups: ["Pin_" + PinNumber], strokeStyle: 'grey', strokeWidth: shapestyleborderWidth, fillStyle: radial, x: x, y: y, radius: 5, cursors: { // Show pointer on hover mouseover: 'pointer', // // Show 'move' cursor on mousedown mousedown: 'move', // // Revert cursor on mouseup mouseup: 'pointer' }, add: function (layer) { layer.draggable = false; }, mouseout: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property if((navigator.userAgent.match(/(iPod|iPhone|iPad|android)/i))) { layer.draggable = false; var pinlayer = layer.name; var pinLine_layer_split = pinlayer.split("_"); var pin = "Pin_"; var pinName = pin.concat(pinLine_layer_split[1]); $rootScope.shapeTypePin = ""; $rootScope.canvasLayerNameCollection = new jinqJs() .from($rootScope.canvasLayerNameCollection) .delete().at("panelCanvasId == " + layer.panelCanvasId, "ArcName == " + layer.name).select(); $("#"+layer.panelCanvasId).setLayer(pinName, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 0, radius: 0 } }).drawLayers(); } } else { //jcanvas property layer.draggable = false; } }, click: function (layer) { // work on destop device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = false; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "ArcName == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.shapeTypePin = "Pin"; var pinlayer = layer.name; var pinLine_layer_split = pinlayer.split("_"); var pin = "Pin_"; var pinName = pin.concat(pinLine_layer_split[1]); $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, name: pinName, ArcName: layer.name,"type":'Pin' }); } $("#"+layer.panelCanvasId).setLayer(pinName, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, touchstart: function (layer) { // work on touch pad device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = false; var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "ArcName == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.shapeTypePin = "Pin"; var pinlayer = layer.name; var pinLine_layer_split = pinlayer.split("_"); var pin = "Pin_"; var pinName = pin.concat(pinLine_layer_split[1]); $rootScope.canvasLayerNameCollection.push({"panelCanvasId":layer.panelCanvasId, name: pinName, ArcName: layer.name,"type":'Pin' }); } $("#"+layer.panelCanvasId).setLayer(pinName, { handle: { type: 'arc', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: layer.strokeWidth<=4?4:layer.strokeWidth-1, radius: layer.strokeWidth<=4?4:layer.strokeWidth-1, } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } } }).drawLayers(); } $('.btnCursor').trigger('click'); $(".btn-annotation").removeClass("activebtncolor"); $('.btnCursor').addClass('activebtncolor'); } $rootScope.textWidth = []; var isDoubleTouchSaveText = null; $rootScope.TextEditorFunctionality = function (canvasId, TextNumber,stringText, shapestyle,textstyle, offsetX1, offsetY1,width, height) { if ($rootScope.isTextAreaPreviewCompleted == true) { $rootScope.isTextAreaPreviewCompleted = false; $scope.emptydraw=true; $scope.selectedCanvasId=canvasId; $scope.selectedTextRect="TextRect_" + TextNumber; $scope.selectedTextArea='TextArea_' + TextNumber; var newGroupName='TextRectArea_' + TextNumber; $rootScope.rectDimension.push({panelCanvasId:canvasId,name: $scope.selectedTextRect, groupName:newGroupName, width: width, height: height, x: offsetX1, y: offsetY1,shapestyle:shapestyle }); if(textstyle=="") { // add empty text style textstyle={fontSize:"",fontWeight:"",fontStyle:"",textAlignmt:"",fontColor:"", fontFamily:""}; $rootScope.textDimension.push({panelCanvasId:canvasId,name: $scope.selectedTextArea, stringText:stringText,textstyle:textstyle}); // Annotation: Edit Text option is missing. $("#annotationTextModal").css("padding-right", "0px"); $("#annotationTextModal").modal("toggle"); document.getElementById('modelbackground').style.display = "block"; $("#annotationTextModal").draggable('disable'); $scope.resetTextarea(shapestyle.fillStyle); } else { $rootScope.textDimension.push({panelCanvasId:canvasId,name: $scope.selectedTextArea, stringText:stringText,textstyle:textstyle}); $rootScope.TextEditorDrawText($scope.selectedCanvasId,$scope.selectedTextRect,$scope.selectedTextArea); } } } $scope.resetTextarea=function(shapefillcolor) { $('.btnCursor').trigger('click'); $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#000000" }); $("#drawTextBGColorpicker span.minicolors-swatch-color").css('background-color', shapefillcolor); $("#text_area").css("color", "#000000"); $("#text_area").css("background-color", shapefillcolor); $("#text_area").val(''); $("#text_area").css({ "font-family": "Arial", "font-size": "14px", "font-weight": "normal", "font-style": "normal", "color": "#000", "text-align": "left", "text-decoration": "none" }); $("#selected-font-family option:eq(0)").prop('selected', true); $("#selected-font-size option:eq(0)").prop('selected', true); $("#text-italic").removeClass("ActiveFormattingButtonClass"); $("#text-bold").removeClass("ActiveFormattingButtonClass"); $("#text-underline").removeClass("ActiveFormattingButtonClass"); $("#text-left").removeClass("ActiveFormattingButtonClass"); $("#text-right").removeClass("ActiveFormattingButtonClass"); $("#text-center").removeClass("ActiveFormattingButtonClass"); $(".btn-annotation").removeClass("activebtncolor"); $('.btnCursor').addClass('activebtncolor'); $('#text_area').focus(); } $scope.GetTextEditorStyle=function(canvasId,selectedTextRect,selectedTextArea) { // getting textarea style properties $rootScope.rectDimension = new jinqJs() .from($rootScope.rectDimension) .update(function (coll, index) { coll[index].shapestyle.fillStyle = $("#text_area").css("background-color"); }) .at('panelCanvasId == ' + canvasId,'name == ' + selectedTextRect) .select(); $rootScope.textDimension = new jinqJs() .from($rootScope.textDimension) .update(function (coll, index) { coll[index].textstyle.textAlignmt = $("#text_area").css("text-align"); coll[index].textstyle.fontColor = $("#text_area").css("color"); coll[index].textstyle.fontSize = $("#text_area").css("font-size"); coll[index].textstyle.fontWeight = $("#text_area").css("font-weight"); coll[index].textstyle.fontStyle = $("#text_area").css("font-style"); coll[index].textstyle.fontFamily = $("#text_area").css("font-family"); }) .at('panelCanvasId == ' + canvasId,'name == ' + selectedTextArea) .select(); } $rootScope.saveText = function () { $rootScope.IsTextAlreadySave = false; $scope.emptydraw=false; var canvasId = $scope.selectedCanvasId ; if (canvasId == null) return; var selectedTextRect = $scope.selectedTextRect; var selectedTextArea = $scope.selectedTextArea; $scope.GetTextEditorStyle(canvasId,selectedTextRect,selectedTextArea); var areaText = $("#text_area").val(); $rootScope.TextEditorDrawText(canvasId,selectedTextRect,selectedTextArea,areaText); } $rootScope.closeModal = function () { if( $scope.emptydraw==true) { var canvasId = $scope.selectedCanvasId ; if (canvasId == null) return; var selectedTextRect = $scope.selectedTextRect; var selectedTextArea = $scope.selectedTextArea; $("#text_area").val(''); var areaText = $("#text_area").val(); $("#drawTextBGColorpicker span.minicolors-swatch-color").css('background-color', "rgb(255, 255, 255)"); $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#000000" }); $("#text_area").css("color", "#000000"); $("#text_area").css("background-color", "rgb(255, 255, 255)"); $scope.GetTextEditorStyle(canvasId,selectedTextRect,selectedTextArea); $rootScope.TextEditorDrawText(canvasId,selectedTextRect,selectedTextArea,areaText); } document.getElementById('modelbackground').style.display = "none"; } $scope.UpdateTextEditor=function(TextPropertyArray,fillStyle) { if (TextPropertyArray.length>0) { var TextEditorstyle=TextPropertyArray[0].textstyle; var textArrVal = TextPropertyArray[0].stringText; // this line of code replace the line breaks and convert into a single line. textArrVal = textArrVal.replace(/(\n)/gm, ""); $("#text_area").val(textArrVal); $("#drawTextBGColorpicker span.minicolors-swatch-color").css('background-color', fillStyle); $("#text_area").css("background-color", fillStyle); $("#text_area").css("font-size", TextEditorstyle.fontSize); $("#text_area").css("font-weight", TextEditorstyle.fontWeight); $("#text_area").css("font-style", TextEditorstyle.fontStyle); $("#text_area").css("text-align", TextEditorstyle.textAlignmt); $("#text_area").css("color", TextEditorstyle.fontColor); $("#text_area").css("font-family", TextEditorstyle.fontFamily); //$("#text_area").css("text-decoration", TextEditorstyle.TextDecoration); $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": TextEditorstyle.fontColor }); var CurrentFontFamily = TextEditorstyle.fontFamily; var CurrentFontSize = parseInt(CurrentFontFamily.fontSize); $("#selected-font-family option[value=" + CurrentFontFamily + "]").prop('selected', true); $("#selected-font-size option[value=" + CurrentFontSize + "]").prop('selected', true); //adding text font weight active class in text edit pop-up if (TextEditorstyle.fontWeight == 700) { $("#text-bold").addClass("ActiveFormattingButtonClass"); } else { $("#text-bold").removeClass("ActiveFormattingButtonClass"); } //adding text font style active class in text edit pop-up if (TextEditorstyle.fontStyle == "italic") { $("#text-italic").addClass("ActiveFormattingButtonClass"); } else { $("#text-italic").removeClass("ActiveFormattingButtonClass"); } //adding text alignment active class in text edit pop-up if (CurrentFontFamily.Align == "left") { $("#text-right").removeClass("ActiveFormattingButtonClass"); $("#text-center").removeClass("ActiveFormattingButtonClass") $("#text-left").addClass("ActiveFormattingButtonClass"); } else if (CurrentFontFamily.Align == "right") { $("#text-center").removeClass("ActiveFormattingButtonClass") $("#text-left").removeClass("ActiveFormattingButtonClass"); $("#text-right").addClass("ActiveFormattingButtonClass"); } else if (CurrentFontFamily.Align == "center") { $("#text-left").removeClass("ActiveFormattingButtonClass"); $("#text-right").removeClass("ActiveFormattingButtonClass"); $("#text-center").addClass("ActiveFormattingButtonClass"); } } textArrVal = ''; $("#annotationTextModal").css("padding-right", "0px"); document.getElementById('modelbackground').style.display = "block"; $("#annotationTextModal").modal("toggle"); $("#annotationTextModal").draggable('disable'); $('#text_area').focus(); } $rootScope.TextEditorDrawText=function(canvasId,selectedTextRect,selectedTextArea,areaText) { document.getElementById('modelbackground').style.display = "none"; // this part will work first time when save button will be clicked if ($rootScope.IsTextAlreadySave == false) { if(areaText!=undefined) { //not use while open from CB $rootScope.textDimension = new jinqJs() .from($rootScope.textDimension) .update(function (coll, index) { coll[index].stringText = areaText; }) .at('panelCanvasId == ' + canvasId,'name == ' + selectedTextArea) .select(); } var rectDimension = new jinqJs() .from($rootScope.rectDimension) .where('panelCanvasId == ' + canvasId,'name == ' + selectedTextRect) .select(); var textDimension = new jinqJs() .from($rootScope.textDimension) .where('panelCanvasId == ' + canvasId,'name == ' + selectedTextArea) .select(); // code for horizonatl text going out // deleting previous text area $("#" + canvasId).removeLayer(textDimension[0].name).drawLayers();// remove text $("#" + canvasId).removeLayer(rectDimension[0].name).drawLayers();//remove rect if ((canvasId).match("canvasAA")) { for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if ($rootScope.jcanvasObjectArray[i].panelCanvasId == canvasId) { if ($rootScope.jcanvasObjectArray[i].name == $rootScope.initialTextAreaName) { $rootScope.jcanvasObjectArray.splice(i, 1); $rootScope.initialTextAreaName = ''; } } } } $("#" + canvasId).drawText({ panelCanvasId:canvasId, layer: true, name: 'temptext',//use for intially adjust height and width of text for rectangle fillStyle:textDimension[0].textstyle.fontColor, fontStyle: textDimension[0].textstyle.fontWeight + " " + textDimension[0].textstyle.fontStyle, fontSize: textDimension[0].textstyle.fontSize, fromCenter: false, fontFamily: textDimension[0].textstyle.fontFamily, align: textDimension[0].textstyle.textAlignmt, strokeWidth: 0, text: textDimension[0].stringText, x: rectDimension[0].x, y: rectDimension[0].y, maxWidth:rectDimension[0].width, add: function (layer) { // internal use // use to calculate minwidth of rectangle by longest word with applied css var str=layer.text; var splittext=str.split(" "); var longtext= longest_string(splittext)[0]; var test = document.getElementById("atTextDiv"); test.style.fontSize = layer.fontSize; test.style.fontFamily = layer.fontFamily; test.style.fontWeight = layer.fontStyle.split(" ")[0]; test.style.fontStyle = layer.fontStyle.split(" ")[1]; $('#atTextDiv').html(longtext); }, }).drawRect({ panelCanvasId:canvasId, name: rectDimension[0].name, groups: [rectDimension[0].groupName], dragGroups: [rectDimension[0].groupName], layer: true, draggable: true, type:'textArea', opacity: rectDimension[0].shapestyle.opacity, strokeStyle: rectDimension[0].shapestyle.color, strokeWidth: rectDimension[0].shapestyle.thickness, fillStyle: rectDimension[0].shapestyle.fillStyle, fromCenter: false, x: rectDimension[0].x, y: rectDimension[0].y, width: $("#" + canvasId).measureText('temptext').width>20?$("#" + canvasId).measureText('temptext').width+10:40, height:$("#" + canvasId).measureText('temptext').height>20?$("#" + canvasId).measureText('temptext').height+10:40, minWidth:document.getElementById("atTextDiv").clientWidth>20?document.getElementById("atTextDiv").clientWidth+10:40, minHeight:$("#" + canvasId).measureText('temptext').height>20?$("#" + canvasId).measureText('temptext').height:40, resizeFromCenter: false, handlePlacement: 'both', //Show pointer cursor on hover cursors: { // Show pointer on hover mouseover: 'pointer', // Show 'move' cursor on mousedown mousedown: 'pointer', // Revert cursor on mouseup mouseup: 'pointer' }, add: function (layer) { var drawingPoints={ "layerName": layer.name,//for internal use "shapeType":layer.type, "x": Math.round(layer.x), "y": Math.round(layer.y), "size": {width:layer.width,height:layer.height}, "text":textDimension[0].stringText, "shapestyle":rectDimension[0].shapestyle, "textstyle":textDimension[0].textstyle } $rootScope.shapeTypeText = "textAreaRect"; $scope.SaveAnnotation(layer.panelCanvasId,layer.type,layer.name,drawingPoints); if ((layer.panelCanvasId).match("canvasAA")) { $rootScope.initialTextAreaName = layer.name; $rootScope.jcanvasObjectArray.push({"panelCanvasId":layer.panelCanvasId, "name": layer.name, "x": layer.x, "y": layer.y, "width": layer.width, "height": layer.height }); } }, dragstop: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { layer.draggable = true; $rootScope.shapeTypeText = "textAreaRect"; var rectName=layer.name; var txtnumber=(layer.name).split('_')[1]; var textareaName="TextArea_" +txtnumber; var positionX=layer.x; var positionY=layer.y; $scope.dragstopEvent(layer.panelCanvasId,rectName,textareaName,positionX,positionY); } else { //jcanvas property layer.draggable = false; } }, dblclick: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { layer.draggable = true; var rectName=layer.name; var txtnumber=(layer.name).split('_')[1]; var textareaName="TextArea_" +txtnumber; $scope.dblclickEvent(layer.panelCanvasId,rectName,textareaName); } else { //jcanvas property layer.draggable = false; } }, click: function (layer) { // work on destop device if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; $rootScope.shapeTypeText = "textAreaRect"; var txtnumber=(layer.name).split('_')[1]; var textareaName="TextArea_" +txtnumber; var concatinateResult = textareaName;// text area name var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.canvasLayerNameCollection.push({panelCanvasId:layer.panelCanvasId, name: layer.name, textareaString: concatinateResult,"type":layer.type }); } $("#" + layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'rectangle', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 4, width: 8, height: 8, cornerRadius: 3 } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, touchstart: function (layer) { if (isDoubleTouchSaveText == null) { isDoubleTouchSaveText = setTimeout(function () { isDoubleTouchSaveText = null; if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; $rootScope.shapeTypeText = "textAreaRect"; var txtnumber=(layer.name).split('_')[1]; var textareaName="TextArea_" +txtnumber; var concatinateResult = textareaName;// text area name var matchdata = new jinqJs() .from($rootScope.canvasLayerNameCollection) .where("panelCanvasId == " + layer.panelCanvasId, "name == " + layer.name) .select(); if (matchdata.length < 1) { $rootScope.canvasLayerNameCollection.push({panelCanvasId:layer.panelCanvasId, name: layer.name, textareaString: concatinateResult,"type":layer.type }); } $("#" + layer.panelCanvasId).setLayer(layer.name, { handle: { type: 'rectangle', fillStyle: '#fff', strokeStyle: '#c33', strokeWidth: 4, width: 8, height: 8, cornerRadius: 3 } }).drawLayers(); } else { //jcanvas property layer.draggable = false; } }, 300) } else { // clearTimeout(isDoubleTouchSaveText); isDoubleTouchSaveText = null; if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { var rectName=layer.name; var txtnumber=(layer.name).split('_')[1]; var textareaName="TextArea_" +txtnumber; $scope.dblclickEvent(layer.panelCanvasId,rectName,textareaName); } else { //jcanvas property layer.draggable = false; } } }, mouseout: function (layer) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == true) { //jcanvas property layer.draggable = true; if((navigator.userAgent.match(/(iPod|iPhone|iPad|android)/i))) { if((layer.eventX>(layer.x+layer.width+10) ||layer.eventX(layer.y+layer.height+10) || layer.eventY(layer.x+layer.width+15) ||layer.eventX(layer.y+layer.height+15) || layer.eventY(layer.x+layer.width+15) ||layer.eventX(layer.y+layer.height+15) || layer.eventY max = Math.max(max, v.length)); //var result = str_ara.filter(v => v.length == max); return result; } $scope.dragstopEvent=function(panelCanvasId,rectName,textareaName,positionX,positionY) { if ((panelCanvasId).match("canvasAA")) { for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if ($rootScope.jcanvasObjectArray[i].panelCanvasId == panelCanvasId) { if ($rootScope.jcanvasObjectArray[i].name == rectName) { $rootScope.jcanvasObjectArray[i].x = positionX; $rootScope.jcanvasObjectArray[i].y = positionY; } } } } $rootScope.rectDimension = new jinqJs() .from($rootScope.rectDimension) .update(function (coll, index) { coll[index].x = Math.round(positionX); coll[index].y = Math.round(positionY); }) .at('panelCanvasId == ' + panelCanvasId,'name == ' + rectName) .select(); var rectDimension = new jinqJs() .from($rootScope.rectDimension) .where('panelCanvasId == ' + panelCanvasId,'name == ' + rectName) .select(); var textDimension = new jinqJs() .from($rootScope.textDimension) .where('panelCanvasId == ' + panelCanvasId,'name == ' + textareaName) .select(); var drawingPoints={ "layerName": rectName,//for internal use "shapeType":'textArea', "x": Math.round(positionX), "y": Math.round(positionY), "size": {width:rectDimension[0].width,height:rectDimension[0].height}, "text":textDimension[0].stringText, "shapestyle":rectDimension[0].shapestyle, "textstyle":textDimension[0].textstyle } $scope.SaveAnnotation(panelCanvasId,'textArea',rectName,drawingPoints); } $scope.dblclickEvent=function(panelCanvasId,rectName,textareaName) { $rootScope.IsTextAlreadySave = true; $scope.selectedCanvasId=panelCanvasId; $scope.selectedTextRect=rectName; $scope.selectedTextArea=textareaName; var TextPropertyArray = new jinqJs() .from($rootScope.textDimension) .where('panelCanvasId == ' + panelCanvasId,'name == ' + textareaName) .select(); var rectDimension = new jinqJs() .from($rootScope.rectDimension) .where('panelCanvasId == ' + panelCanvasId,'name == ' + rectName) .select(); $scope.UpdateTextEditor(TextPropertyArray,rectDimension[0].shapestyle.fillStyle); } $rootScope.clicked = false; $rootScope.offsetX1 = 0; $rootScope.offsetY1 = 0; $rootScope.x = 0; $rootScope.y = 0; $rootScope.mousePressed = false; $rootScope.lastX; $rootScope.lastY; $rootScope.rectNumber = 0; $rootScope.LineNumber = 0; $rootScope.CircleNumber = 0; $rootScope.ArrowNumber = 0; $rootScope.PinNumber = 0; $rootScope.ObjectIndex = 0; $rootScope.PinObjectIndex = 0; $rootScope.TextNumber = 0; $rootScope.resetTextSave = 0; $rootScope.ObjectIndexSave = 0; $rootScope.isLinePreviewCompleted = false; $rootScope.isArrowPreviewCompleted = false; $rootScope.isPinPreviewCompleted = false; $rootScope.isCirclePreviewCompleted = false; $rootScope.isRectanglePreviewCompleted = false; $rootScope.isTextAreaPreviewCompleted = false; var arrayRect = {}; var storeLine = ''; //---- var isDrawing = false; var currentCanvasId = ''; $scope.onDrawingCanvasOnModule = function (annotationCanvas) { //remove old event listener //event code modified .work of only DA,AA,CI,AI,PIC annotationCanvas.removeEventListener("mousedown", $rootScope.OnPaintCanvasMouseDown); annotationCanvas.removeEventListener("touchstart", $rootScope.OnPaintCanvasMouseDown); annotationCanvas.removeEventListener("mouseup", $rootScope.OnPaintCanvasMouseUp); annotationCanvas.removeEventListener("touchend", $rootScope.OnPaintCanvasMouseUp); if (annotationCanvas != null || annotationCanvas != undefined) { annotationCanvas.addEventListener('mousedown', $rootScope.OnPaintCanvasMouseDown); annotationCanvas.addEventListener("touchstart", $rootScope.OnPaintCanvasMouseDown); window.addEventListener('mouseup', $rootScope.OnPaintCanvasMouseUp); window.addEventListener("touchend", $rootScope.OnPaintCanvasMouseUp); } } $scope.removeOnDrawingCanvas = function (annotationCanvas) { if (annotationCanvas != null || annotationCanvas != undefined) { //remove old event listener //event code modified .work of only DA,AA,CI,AI,PIC annotationCanvas.removeEventListener("mousedown", $rootScope.OnPaintCanvasMouseDown); annotationCanvas.removeEventListener("touchstart", $rootScope.OnPaintCanvasMouseDown); annotationCanvas.removeEventListener("mouseup", $rootScope.OnPaintCanvasMouseUp); annotationCanvas.removeEventListener("touchend", $rootScope.OnPaintCanvasMouseUp); window.removeEventListener('mouseup', $rootScope.OnPaintCanvasMouseUp); window.removeEventListener("touchend", $rootScope.OnPaintCanvasMouseUp); } } //Birendra updated due to some issue $rootScope.OnPaintCanvasMouseDown = function (event) { event.preventDefault(); if ($rootScope.isAnnotatiomToolBarPopupClosed == false) { if ($rootScope.shapeType==undefined || $rootScope.shapeType=='cursor'||$rootScope.shapeType=="") { return; } var canvasElement=event.target; if (canvasElement!= null || canvasElement != undefined) { var canvasId = canvasElement.id; if (canvasId != null ||canvasId != undefined) { if(canvasId.match("canvasDA")||canvasId.match("canvasAA")||canvasId.match("canvasCI")||canvasId.match("canvasAI")||canvasId.match("canvasPIC")) { var canvasDiv = (event.target.parentElement); var canvasDivId = canvasDiv.id; $rootScope.clicked = true; canvasElement.removeEventListener("mousemove", $rootScope.OnPaintCanvasMouseMove); canvasElement.removeEventListener("touchstart", $rootScope.OnPaintCanvasMouseMove); // var ctx = canvasElement.getContext("2d"); $rootScope.offsetX1 = 0; $rootScope.offsetY1 = 0; var verticalScrollPosition = canvasDiv.scrollTop; var horizontlScrollPosition = canvasDiv.scrollLeft; var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { if(event.type == 'touchstart' || event.type == 'touchmove' || event.type == 'touchend' || event.type == 'touchcancel'){ // var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; var touch = event.touches[0] || event.changedTouches[0]; $rootScope.offsetX1 = touch.pageX + horizontlScrollPosition - $('#' + canvasDivId).offset().left; $rootScope.offsetY1 = touch.pageY + verticalScrollPosition - $('#' + canvasDivId).offset().top; } else { $rootScope.offsetX1 = event.offsetX ; $rootScope.offsetY1 = event.offsetY ; } } else { $rootScope.offsetX1 = event.offsetX ; $rootScope.offsetY1 = event.offsetY ; } // ctx.clearRect(0, 0, 2277, 3248); canvasElement.addEventListener('mousemove', $rootScope.OnPaintCanvasMouseMove,false); canvasElement.addEventListener("touchmove", $rootScope.OnPaintCanvasMouseMove,false); } } } } } //Birendra updated due to some issue $rootScope.OnPaintCanvasMouseUp = function (event) { event.preventDefault(); if ($rootScope.isAnnotatiomToolBarPopupClosed == false) { if ($rootScope.shapeType==undefined || $rootScope.shapeType=='cursor'||$rootScope.shapeType=="") { return; } $rootScope.clicked=false; if (isDrawing === true) { isDrawing = false; $(".line").remove(); $(".arrow").remove(); $(".pin").remove(); $(".circle").remove(); $(".rectangle").remove(); $(".textarea").remove(); $rootScope.x = 0; $rootScope.y = 0; var canvasElement=event.target; if (canvasElement != null ||canvasElement != undefined) { var canvasId = canvasElement.id; if(canvasId=="") { canvasElement=document.getElementById(currentCanvasId); canvasId= currentCanvasId; } if (canvasId != null ||canvasId != undefined) { if(canvasId.match("canvasDA")||canvasId.match("canvasAA")||canvasId.match("canvasCI")||canvasId.match("canvasAI")||canvasId.match("canvasPIC")) { var canvasDiv = (canvasElement.parentElement); var canvasDivId = canvasDiv.id; // var canvasPaintElement = event.target.previousElementSibling; canvasElement.removeEventListener('mousemove', $rootScope.OnPaintCanvasMouseMove, false); canvasElement.removeEventListener("touchmove", $rootScope.OnPaintCanvasMouseMove, false); var verticalScrollPosition = canvasDiv.scrollTop; var horizontlScrollPosition = canvasDiv.scrollLeft; var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { if(event.type == 'touchstart' || event.type == 'touchmove' || event.type == 'touchend' || event.type == 'touchcancel'){ // var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; var touch = event.touches[0] || event.changedTouches[0]; $rootScope.x = touch.pageX + horizontlScrollPosition - $('#' + canvasDivId).offset().left; $rootScope.y = touch.pageY + verticalScrollPosition - $('#' + canvasDivId).offset().top; } else { $rootScope.x =Math.round(event.pageX + horizontlScrollPosition - $('#' + canvasDivId).offset().left); $rootScope.y =Math.round(event.pageY + verticalScrollPosition - $('#' + canvasDivId).offset().top); } } else { $rootScope.x =Math.round(event.pageX + horizontlScrollPosition - $('#' + canvasDivId).offset().left); $rootScope.y =Math.round(event.pageY + verticalScrollPosition - $('#' + canvasDivId).offset().top); } if($rootScope.shapeType=="Rectangle"|| $rootScope.shapeType=="Circle"|| $rootScope.shapeType=="TextArea") { //birendra // change cordinate when draw in reverse direction var RectHeight = $rootScope.y - $rootScope.offsetY1; var RectWidth = $rootScope.x - $rootScope.offsetX1; var tempx=0; var tempy=0; if(RectWidth<0) { //swap value tempx=$rootScope.offsetX1; $rootScope.offsetX1=$rootScope.x; $rootScope.x=tempx; RectWidth = $rootScope.x - $rootScope.offsetX1; } if(RectHeight<0) { //swap value tempy=$rootScope.offsetY1; $rootScope.offsetY1=$rootScope.y; $rootScope.y=tempy; RectHeight = $rootScope.y - $rootScope.offsetY1; } } // var ctx = canvasElement.getContext("2d"); // var PaintCanvasctx = canvasPaintElement.getContext("2d"); // activate for unsave curriculum $rootScope.UnsaveCurriculum = true; switch ($rootScope.shapeType) { case "cursor": // ctx.beginPath(); // PaintCanvasctx.beginPath(); break; case "Line": $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.LineNumber = $rootScope.ObjectIndex++; // $rootScope.isLinePreviewCompleted = true; $rootScope.DrawLineOnModuleItem(canvasId, $rootScope.LineNumber, $rootScope.shapestyleborderColor, $rootScope.shapestyleborderWidth, $rootScope.offsetX1, $rootScope.offsetY1, $rootScope.x, $rootScope.y) break; case "Rectangle": $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.rectNumber = $rootScope.ObjectIndex++; $rootScope.DrawRectangleOnModuleItem(canvasId, $rootScope.rectNumber, $rootScope.shapestyleFillColor, $rootScope.shapestyleborderColor, $rootScope.shapestyleOpacity, $rootScope.shapestyleborderWidth, $rootScope.offsetX1, $rootScope.offsetY1, RectWidth, RectHeight); break; case "Circle": $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.CircleNumber = $rootScope.ObjectIndex++; $rootScope.DrawCircleOnModuleItem(canvasId, $rootScope.CircleNumber, $rootScope.shapestyleOpacity, $rootScope.shapestyleborderColor, $rootScope.shapestyleborderWidth, $rootScope.shapestyleFillColor, $rootScope.offsetX1, $rootScope.offsetY1, RectWidth, RectHeight); break; case "Arrow": $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.ArrowNumber = $rootScope.ObjectIndex++; $rootScope.DrawArrowOnModuleItem(canvasId, $rootScope.ArrowNumber, $rootScope.shapestyleborderColor, $rootScope.shapestyleborderWidth, $rootScope.offsetX1, $rootScope.offsetY1, $rootScope.x, $rootScope.y); break; case "Pin": $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.PinNumber = $rootScope.PinObjectIndex++; $rootScope.DrawPinOnModuleItem(canvasId, $rootScope.PinNumber,$rootScope.shapestyleborderColor, $rootScope.shapestyleborderWidth, $rootScope.offsetX1, $rootScope.offsetY1, $rootScope.x, $rootScope.y); break; case "TextArea": $rootScope.isAnnotaionToolBarDrawingModeActive = true; $rootScope.IsTextAlreadySave = false; $("#text_area").val(''); // Draw text $rootScope.TextNumber = $rootScope.ObjectIndex++; var shapestyle={thickness:$rootScope.shapestyleborderWidth,color:$rootScope.shapestyleborderColor,opacity:$rootScope.shapestyleOpacity,fillStyle:$rootScope.shapestyleFillColor}; var textstyle=""; var stringText=""; $rootScope.TextEditorFunctionality(canvasId, $rootScope.TextNumber,stringText,shapestyle,textstyle, $rootScope.offsetX1, $rootScope.offsetY1, RectWidth, RectHeight); break; case "DrawPolygon": break; } } } } } } } //Birendra updated due to some issue $rootScope.OnPaintCanvasMouseMove = function (event) { event.preventDefault(); isDrawing = false; currentCanvasId=''; if(!$rootScope.clicked) return; if ($rootScope.isAnnotatiomToolBarPopupClosed == false) { if ($rootScope.shapeType==undefined || $rootScope.shapeType=='cursor'||$rootScope.shapeType=="") { return; } if ($rootScope.clicked == true) { var canvasElement=event.target; if (canvasElement!= null || canvasElement != undefined) { var canvasId = canvasElement.id; if (canvasId != null ||canvasId != undefined) { if(canvasId.match("canvasDA")||canvasId.match("canvasAA")||canvasId.match("canvasCI")||canvasId.match("canvasAI")||canvasId.match("canvasPIC")) { var canvasDiv = (event.target.parentElement); var canvasDivId = canvasDiv.id; isDrawing = true; currentCanvasId=canvasId; var verticalScrollPosition = canvasDiv.scrollTop; var horizontlScrollPosition = canvasDiv.scrollLeft; var MaxZindexVal=12001; if(canvasId.match("canvasDA")) { var drawCanvasZindex = $("#" + canvasId).css("z-index"); var dpaintCanvasZindex = $("#" + canvasId).css("z-index"); var tpboxZindex = $(".ui-wrapper").css("z-index"); MaxZindexVal = Math.max(drawCanvasZindex, dpaintCanvasZindex); if(tpboxZindex!=undefined) MaxZindexVal = Math.max(MaxZindexVal, tpboxZindex); MaxZindexVal = parseInt(MaxZindexVal + 1); } var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { if(event.type == 'touchstart' || event.type == 'touchmove' || event.type == 'touchend' || event.type == 'touchcancel'){ // var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; var touch = event.touches[0] || event.changedTouches[0]; $rootScope.MouseMoveXAxis = touch.pageX + horizontlScrollPosition - $('#' + canvasDivId).offset().left; $rootScope.MouseMoveYAxis = touch.pageY + verticalScrollPosition - $('#' + canvasDivId).offset().top; } else { $rootScope.MouseMoveXAxis = event.pageX + horizontlScrollPosition - $('#' + canvasDivId).offset().left; $rootScope.MouseMoveYAxis = event.pageY + verticalScrollPosition - $('#' + canvasDivId).offset().top; } } else { $rootScope.MouseMoveXAxis = event.pageX + horizontlScrollPosition - $('#' + canvasDivId).offset().left; $rootScope.MouseMoveYAxis = event.pageY + verticalScrollPosition - $('#' + canvasDivId).offset().top; } switch ($rootScope.shapeType) { case "Line": $(".line").remove(); $rootScope.isLinePreviewCompleted = true; $("#" + canvasDivId).append("
    "); $rootScope.Annotationangle(); break; case "Arrow": $(".arrow").remove(); $rootScope.isArrowPreviewCompleted = true; $("#" + canvasDivId).append("
    "); $rootScope.Annotationangle(); break; case "Pin": $(".pin").remove(); $rootScope.isPinPreviewCompleted = true; $("#" + canvasDivId).append("
    "); $rootScope.Annotationangle(); break; case "Circle": $(".circle").remove(); $rootScope.isCirclePreviewCompleted = true; $("#" + canvasDivId).append("
    "); //updated in reverse direction $rootScope.Annotationangle(); break; case "Rectangle": $(".rectangle").remove(); $rootScope.isRectanglePreviewCompleted = true; $("#" + canvasDivId).append("
    "); //updated in reverse direction $rootScope.Annotationangle(); break; case "TextArea": $(".textarea").remove(); $rootScope.isTextAreaPreviewCompleted = true; $("#" + canvasDivId).append("
    "); //updated in reverse direction $rootScope.Annotationangle(); break; } } } } } } } $rootScope.Annotationangle = function (event) { var dy = $rootScope.MouseMoveYAxis - $rootScope.offsetY1; var dx = $rootScope.MouseMoveXAxis - $rootScope.offsetX1; if($rootScope.shapeType=="Line" ||$rootScope.shapeType=="Arrow" || $rootScope.shapeType=="Pin") { var theta = 0; if (dx < 0) { theta = Math.atan(dy / dx) * (180 / Math.PI); theta = theta + 180; } else if (dy < 0) { theta = Math.atan(dy / dx) * (180 / Math.PI); theta = theta + 360; } else { theta = Math.atan(dy / dx) * (180 / Math.PI); } var dottedLineWidth = Math.sqrt(($rootScope.offsetX1 - $rootScope.MouseMoveXAxis) * ($rootScope.offsetX1 - $rootScope.MouseMoveXAxis) + ($rootScope.offsetY1 - $rootScope.MouseMoveYAxis) * ($rootScope.offsetY1 - $rootScope.MouseMoveYAxis)); } switch ($rootScope.shapeType) { case "Line": $('.line').css({ 'transform': 'rotate(' + theta + 'deg)', '-moz-transform': 'rotate(' + theta + 'deg)', '-webkit-transform': 'rotate(' + theta + 'deg)', 'transform-origin': '0% 0%', 'width': dottedLineWidth + 'px' }); break; case "Arrow": $('.arrow').css({ 'transform': 'rotate(' + theta + 'deg)', '-moz-transform': 'rotate(' + theta + 'deg)', '-webkit-transform': 'rotate(' + theta + 'deg)', 'transform-origin': '0% 0%', 'width': dottedLineWidth + 'px' }); $('.arrowPoint').css({ 'left': dottedLineWidth + 'px' }); break; case "Pin": $('.pin').css({ 'transform': 'rotate(' + theta + 'deg)', '-moz-transform': 'rotate(' + theta + 'deg)', '-webkit-transform': 'rotate(' + theta + 'deg)', 'transform-origin': '0% 0%', 'width': dottedLineWidth + 'px' }); $('.pinPoint').css({ 'left': dottedLineWidth + 'px' }); break; case "Circle": var classname=".circle" var absheight = Math.abs($rootScope.MouseMoveYAxis - $rootScope.offsetY1); var abswidth = Math.abs($rootScope.MouseMoveXAxis - $rootScope.offsetX1); $scope.DrawReverseShape(dx,dy,classname,abswidth,absheight); break; case "Rectangle": var classname=".rectangle" var absheight = Math.abs($rootScope.MouseMoveYAxis - $rootScope.offsetY1); var abswidth = Math.abs($rootScope.MouseMoveXAxis - $rootScope.offsetX1); $scope.DrawReverseShape(dx,dy,classname,abswidth,absheight); break; case "TextArea": var classname=".textarea" var absheight = Math.abs($rootScope.MouseMoveYAxis - $rootScope.offsetY1); var abswidth = Math.abs($rootScope.MouseMoveXAxis - $rootScope.offsetX1); $scope.DrawReverseShape(dx,dy,classname,abswidth,absheight); break; } } $scope.DrawReverseShape = function (dx,dy,classname,abswidth,absheight){ if(dy < 0 && dx < 0) { $(classname).css({'transform': 'rotateZ(' + 180 + 'deg)', '-moz-transform': 'rotateZ(' + 180 + 'deg)', '-webkit-transform': 'rotateZ(' + 180 + 'deg)', 'transform-origin': '0% 0%', 'width': abswidth + 'px','height': absheight + 'px' }); } else if( dy > 0 && dx > 0) { $(classname).css({'transform': 'rotateY(' + 0 + 'deg)', '-moz-transform': 'rotateY(' + 0 + 'deg)', '-webkit-transform': 'rotateY(' + 0 + 'deg)', 'transform-origin': '0% 0%', 'width': abswidth + 'px','height': absheight + 'px' }); } else if( dx < 0) { $(classname).css({'transform': 'rotateY(' + 180 + 'deg)', '-moz-transform': 'rotateY(' + 180 + 'deg)', '-webkit-transform': 'rotateY(' + 180 + 'deg)', 'transform-origin': '0% 0%', 'width': abswidth + 'px','height': absheight + 'px' }); } else if( dy < 0) { $(classname).css({'transform': 'rotateX(' + 180 + 'deg)', '-moz-transform': 'rotateX(' + 180 + 'deg)', '-webkit-transform': 'rotateX(' + 180 + 'deg)', 'transform-origin': '0% 0%', 'width': abswidth + 'px','height': absheight + 'px' }); } } $rootScope.onDrawingCanvasClick = function (event) { if (event != undefined && (event.target.id).match("canvasDA")) { if ($rootScope.isAnnotaionToolBarDrawingModeActive == false) { $rootScope.getAnnotationTextBasedOnSelectedBodyRegion(event); } } }; $(document).keydown(function (event) { // predefined function for detecting keyboard key if (event.which == 46) { $rootScope.DeleteSelectedShape(); } }); $rootScope.DeleteSelectedShape=function() { var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasElement = PanelElement.canvasElement; if (canvasElement == null || canvasElement == undefined) continue; var canvasId = canvasElement.id; if ($rootScope.shapeTypePin == "Pin") { if($rootScope.canvasLayerNameCollection.length>0) { if(canvasId==$rootScope.canvasLayerNameCollection[0].panelCanvasId) { var shapeName=$rootScope.canvasLayerNameCollection[0].name; $("#" + canvasId).removeLayer(shapeName).drawLayers(); $("#" + canvasId).removeLayer($rootScope.canvasLayerNameCollection[0].ArcName).drawLayers(); $rootScope.shapeTypePin = ""; $rootScope.DeleteShapeWindowData(canvasId,MultiWinId,shapeName); $rootScope.canvasLayerNameCollection=[]; } } } else if ($rootScope.shapeTypeText == "textAreaRect") { if($rootScope.canvasLayerNameCollection.length>0) { if(canvasId==$rootScope.canvasLayerNameCollection[0].panelCanvasId){ var shapeName=$rootScope.canvasLayerNameCollection[0].name; $("#" + canvasId).removeLayer(shapeName).drawLayers(); $("#" + canvasId).removeLayer($rootScope.canvasLayerNameCollection[0].textareaString).drawLayers(); $rootScope.shapeTypeText = ""; if (canvasId.match("canvasAA")) { for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if(canvasId==$rootScope.jcanvasObjectArray[i].panelCanvasId){ if (shapeName == $rootScope.jcanvasObjectArray[i].name) { $rootScope.jcanvasObjectArray.splice(i, 1); } } } } for (var i = 0; i <= $rootScope.rectDimension.length - 1; i++) { if(canvasId==$rootScope.rectDimension[i].panelCanvasId){ if (shapeName == $rootScope.rectDimension[i].name) { $rootScope.rectDimension.splice(i, 1); $rootScope.textDimension.splice(i, 1); } } } $rootScope.DeleteShapeWindowData(canvasId,MultiWinId,shapeName); $rootScope.canvasLayerNameCollection=[]; } } } else { if($rootScope.canvasLayerNameCollection.length>0) { var shapeName=$rootScope.canvasLayerNameCollection[0].name; if(canvasId==$rootScope.canvasLayerNameCollection[0].panelCanvasId) { $("#" + canvasId).removeLayer(shapeName).drawLayers(); if (canvasId.match("canvasAA")) { for (var i = 0; i <= $rootScope.jcanvasObjectArray.length - 1; i++) { if(canvasId==$rootScope.jcanvasObjectArray[i].panelCanvasId) { if (shapeName == $rootScope.jcanvasObjectArray[i].name) { $rootScope.jcanvasObjectArray.splice(i, 1); } } } } $rootScope.DeleteShapeWindowData(canvasId,MultiWinId,shapeName); $rootScope.canvasLayerNameCollection=[]; } } } } } } } $rootScope.DeleteShapeWindowData=function(panelCanvasId,MultiWinId,shapeName) { if (panelCanvasId.match("canvasDA")) { var annotationData=$rootScope.GetDAwindowData(MultiWinId,'annotationData'); if(annotationData.shapeStates.length>0) { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .delete().at("layerName == " + shapeName).select(); $rootScope.SetDAwindowData(MultiWinId, 'annotationData', annotationData); } } else if (panelCanvasId.match("canvasAA")) { var annotationData=$rootScope.GetAAwindowData(MultiWinId,'annotationData'); if(annotationData.shapeStates.length>0) { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .delete().at("layerName == " + shapeName).select(); $rootScope.SetAAwindowData(MultiWinId, 'annotationData', annotationData); } } else if (panelCanvasId.match("canvasCI")) { var annotationData=$rootScope.GetCIwindowData(MultiWinId,'annotationData'); if(annotationData.shapeStates.length>0) { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .delete().at("layerName == " + shapeName).select(); $rootScope.SetCIwindowData(MultiWinId, 'annotationData', annotationData); } } else if (panelCanvasId.match("canvasAI")) { var annotationData=$rootScope.GetAIwindowData(MultiWinId,'annotationData'); if(annotationData.shapeStates.length>0) { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .delete().at("layerName == " + shapeName).select(); $rootScope.SetAIwindowData(MultiWinId, 'annotationData', annotationData); } } else if (panelCanvasId.match("canvasPIC")) { var annotationData=$rootScope.GetPICwindowData(MultiWinId,'annotationData'); if(annotationData.shapeStates.length>0) { annotationData.shapeStates = new jinqJs() .from(annotationData.shapeStates) .delete().at("layerName == " + shapeName).select(); $rootScope.SetPICwindowData(MultiWinId, 'annotationData', annotationData); } } } //-- End ---------------------------- $rootScope.AddClick = function (x, y, dragging) { $rootScope.clickX.push(x); $rootScope.clickY.push(y); $rootScope.clickDrag.push(dragging); } $rootScope.disableAnnotationTB = false; $rootScope.disableAnnotationTBFn = function () { $rootScope.disableAnnotationTB = true; } $scope.updateListManagerView = function (panelName) { $("#listManagerBody *").prop('disabled',false); $("#listManagerContent *").prop('disabled',true); $('#AABodySystems').empty(); $('#bodySystems').empty(); $('#termList').empty(); $('#viewName').empty(); $("#langaugeDivLm").css("display", "none"); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']").not("div[id*='caImagePanel']").not("div[id*='ThreeDImagePanel']").not("div[id*='ciImagePanel']").not("div[id*='aiImagePanel']").not("div[id*='picImagePanel']").not("div[id*='vidImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var i = 0 ; i < modulePanel.length; i++) { var paneld = modulePanel[i].id; var panelTitle = document.getElementById(paneld).childNodes[0].innerText; $('#viewName').append(''); } $("#viewName").val(modulePanel[0].id).change(); } else { $rootScope.CloseListManager(); } } $rootScope.disableAnnotationtoolOnListManager = false; $rootScope.ShowListManager = function () { $("#listManagerContent *").prop('disabled',true); $('#AABodySystems').empty(); $('#bodySystems').empty(); $('#termList').empty(); $('#viewName').empty(); $("#langaugeDivLm").css("display", "none"); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']").not("div[id*='caImagePanel']").not("div[id*='ThreeDImagePanel']").not("div[id*='ciImagePanel']").not("div[id*='aiImagePanel']").not("div[id*='labImagePanel']").not("div[id*='picImagePanel']").not("div[id*='vidImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; var panelTitle = document.getElementById(paneld).childNodes[0].innerText; $('#viewName').append(''); } } $('#listManager').css('display', 'block'); $("#listManager").css("visibility", "visible"); // register event for search list manager $(document).on("mouseover", "#termList option", function (e) { $('#termList option[selected="selected"]').attr("selected", false); $(this).attr("selected", true); }); $("#termList").unbind('keyup'); $("#termList").on('keyup', function (event) { $('#termList option[selected="selected"]').attr("selected", false); $(this.selectedOptions[0]).attr("selected", true); }); $("#termList").unbind('keypress'); $("#termList").on('keypress', function (e) { if ($('#termList option[selected="selected"]').attr("id") == "undefined") { return false; } else { if ($('#termList option[selected="selected"]').attr("id")) { if (e.keyCode == 13) { var selectedPanel = $("#viewName option:selected").val(); if(selectedPanel.match("daImagePanel")) { onListManagerTermSelection($('#termList option[selected="selected"]').attr("id"),true); } else if(selectedPanel.match("AAImagePanel")) { onSearchItemSelection($('#termList option[selected="selected"]').attr("id")); } } } } }); if(modulePanel.length>0) { $("#viewName").val(modulePanel[0].id).change(); } } $rootScope.changeListManager = function () { $rootScope.isLoading = true; $('#spinner').css('visibility', 'visible'); $('#AABodySystems').empty(); $('#bodySystems').empty(); $('#termList').empty(); $timeout(function () { var selectedPanel = $("#viewName option:selected").val(); if(selectedPanel!="0" && selectedPanel!=undefined) { $rootScope.loadViewListManager(selectedPanel); } },100); } $rootScope.loadViewListManager = function (selectedPanel) { var windowviewid=selectedPanel.split('_')[1]; $("#listManagerContent *").prop('disabled',false); $("#annotationpaintbrushsize").attr("href", "#"); $("#annotationpainteraser").attr("href", "#"); // console.log('ShowListManager') $rootScope.disableAnnotationtoolOnListManager = true; $('#AnnotaionPopupDiv').find('a,input, textarea, button, select,img,div').attr('disabled', 'disabled'); $('#slider-range-min-2').slider('disable'); $("#annotationpaintbrushsize").attr('disabled', 'disabled'); $("#annotationpainteraser").attr('disabled', 'disabled'); $("#annotationpaintbrushsize").css('pointer-events', 'none'); $("#annotationpainteraser").css('pointer-events', 'none'); if(selectedPanel.match("daImagePanel")) { $("#langaugeDivLm").css("display", "block"); $rootScope.dalistManagerEvent(windowviewid); $("#termList").attr("onclick", "if (typeof(this.selectedIndex) != 'undefined') onListManagerTermSelection(this.options[this.selectedIndex].id, true)"); } else if(selectedPanel.match("AAImagePanel")) { $("#langaugeDivLm").css("display", "none"); $rootScope.aalistManagerEvent(windowviewid); $("#termList").attr("onclick", "if (typeof(this.selectedIndex) != 'undefined') onSearchItemSelection(this.options[this.selectedIndex].id)"); } var modulePanel = $("#HomeContainerDiv").find("div[id*='daImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")) { $rootScope.switchCanvas(paneld); } } } } $rootScope.CloseListManager = function () { $('#listManager').css('display', 'none'); $("#listManager").css("visibility", "hidden"); var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")||paneld.match("AAImagePanel")||paneld.match("ciImagePanel")||paneld.match("aiImagePanel")||paneld.match("picImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; var PanelElement= $scope.GetPanelElement(paneld); var canvasPaintElement = PanelElement.canvasPaintElement; if (canvasPaintElement == null || canvasPaintElement == undefined) continue; var canvasPaintId = canvasPaintElement.id; if (paneld.match("daImagePanel")) { $("#btnTranparency_" + MultiWinId).removeAttr('disabled', 'disabled'); } $rootScope.isListManagerMenuSelected = false; console.log('listManager closed'); $rootScope.disableAnnotationtoolOnListManager = false; if (paneld.match("daImagePanel") || paneld.match("AAImagePanel")) { if ($rootScope.disableAnnotationtoolOnListManager == false) { $('#AnnotaionPopupDiv').find('a,input, textarea, button, select,img,div').removeAttr('disabled', 'disabled'); $('#slider-range-min-2').slider('enable'); $("#annotationpaintbrushsize").removeAttr('disabled', 'disabled'); $("#annotationpainteraser").removeAttr('disabled', 'disabled'); $("#annotationpaintbrushsize").css('pointer-events', 'auto'); $("#annotationpainteraser").css('pointer-events', 'auto'); if ($("#annotationTollbar").css("display") == "block") { $rootScope.switchCanvasToPaintCanvas(paneld); } } } } } } $rootScope.isLoading = false; $('#spinner').css('visibility', 'hidden'); } $rootScope.changeLanguageLmList = function () { var selectedPanel = $("#viewName option:selected").val(); if(selectedPanel.match("daImagePanel")) { var windowviewid=selectedPanel.split('_')[1]; $rootScope.changeLanguageLmEvent(windowviewid); } } $rootScope.LoadMoreLm = function () { var selectedPanel = $("#viewName option:selected").val(); if(selectedPanel.match("daImagePanel")) { var windowviewid=selectedPanel.split('_')[1]; $rootScope.LoadMoreLmEvent(windowviewid); } } function fillListManagerTerms() { var len = $rootScope.openModules.length; var openViewLen = $rootScope.openViews.length; var currentOpenModuleId = $rootScope.openModules[len - 1].ModuleId; var currentOpenViewId = $rootScope.openViews[openViewLen - 1].BodyViewId; if (currentOpenModuleId == 1) { } } //setrtings $rootScope.SetSettingActiveTab = function (tabToSet) { $rootScope.SettingsTab = tabToSet; if (navigator.userAgent.match(/(iPod|iPhone|iPad|android)/i)) { $("#modal-settings").draggable('disable'); } }; $rootScope.loadsettings = function () { //applcation reload blank these value after assign $rootScope.globalSetting = { ethnicity: 'W', modesty: 'Y', }; $rootScope.formsetting = { ethnicity: null, modesty: null }; $rootScope.lexicons = { primaryid:1, secondryids:[] }; //1. For now we are by default opening DA settings tab $rootScope.SettingsTab = 3; //2. var curentEthnicity = $rootScope.getLocalStorageValue("globalEthnicity"); if (typeof (curentEthnicity) !== "undefined" && curentEthnicity !== null) { $rootScope.globalSetting.ethnicity = curentEthnicity; } else { localStorage.setItem("globalEthnicity", $rootScope.globalSetting.ethnicity); } var curentmodesty = $rootScope.getLocalStorageValue("globalModesty"); if (typeof (curentmodesty) !== "undefined" && curentmodesty !== null) { $rootScope.globalSetting.modesty = curentmodesty } else { localStorage.setItem("globalModesty", $rootScope.globalSetting.modesty); } //3. $rootScope.setModestySettings($rootScope.globalSetting.modesty); //4. $rootScope.setEthncitySettings($rootScope.globalSetting.ethnicity); }; $rootScope.setModestySettings = function (currentmodsetting) { if (currentmodsetting == 'Y') { $rootScope.isModestyOn = true; $rootScope.isModestyOff = false; $("#modon").prop("checked", true); $("#modoff").prop("checked", false); } else { $rootScope.isModestyOn = false; $rootScope.isModestyOff = true; $("#modon").prop("checked", false); $("#modoff").prop("checked", true); } } $rootScope.setEthncitySettings = function (currentEthncitysetting) { // this code is used for maintaing the currently selected Ethencity. if (currentEthncitysetting == 'L') { $("#btnEthnicA").addClass("skindefault"); if ($("#btnEthnicB").hasClass("skindefault")) { $("#btnEthnicB").removeClass("skindefault"); } if ($("#btnEthnicL").hasClass("skindefault")) { $("#btnEthnicL").removeClass("skindefault"); } if ($("#btnEthnicW").hasClass("skindefault")) { $("#btnEthnicW").removeClass("skindefault"); } } if (currentEthncitysetting == 'B') { $("#btnEthnicB").addClass("skindefault"); if ($("#btnEthnicL").hasClass("skindefault")) { $("#btnEthnicL").removeClass("skindefault"); } if ($("#btnEthnicW").hasClass("skindefault")) { $("#btnEthnicW").removeClass("skindefault"); } if ($("#btnEthnicA").hasClass("skindefault")) { $("#btnEthnicA").removeClass("skindefault"); } } if (currentEthncitysetting == 'A') { $("#btnEthnicL").addClass("skindefault"); if ($("#btnEthnicB").hasClass("skindefault")) { $("#btnEthnicB").removeClass("skindefault"); } if ($("#btnEthnicW").hasClass("skindefault")) { $("#btnEthnicW").removeClass("skindefault"); } if ($("#btnEthnicA").hasClass("skindefault")) { $("#btnEthnicA").removeClass("skindefault"); } } if (currentEthncitysetting == 'W') { $("#btnEthnicW").addClass("skindefault"); if ($("#btnEthnicB").hasClass("skindefault")) { $("#btnEthnicB").removeClass("skindefault"); } if ($("#btnEthnicL").hasClass("skindefault")) { $("#btnEthnicL").removeClass("skindefault"); } if ($("#btnEthnicA").hasClass("skindefault")) { $("#btnEthnicA").removeClass("skindefault"); } } } $rootScope.ChangeEthnicity = function (formsetting, skintone) { if ($rootScope.isCloseSettingClicked == true) { formsetting.ethnicity = localStorage.getItem("globalEthnicity"); $rootScope.isCloseSettingClicked = false; } else { formsetting.ethnicity = skintone; } $rootScope.setEthncitySettings(formsetting.ethnicity); } $rootScope.ChangeModesty = function (modestyValue) { //formsetting.modesty = modestyValue; $rootScope.setModestySettings(modestyValue); //code for modesty setting $rootScope.formsetting.modesty = modestyValue; $rootScope.aiaModesty = $rootScope.formsetting.modesty; } $rootScope.CancelSetting = function () { $rootScope.isCloseSettingClicked = true; $rootScope.islaxicanlanguageChange=false; $rootScope.setEthncitySettings($rootScope.globalSetting.ethnicity); $rootScope.setModestySettings($rootScope.globalSetting.modesty); $rootScope.deSelectLanguageOptions(); $('#modal-settings').css("display", "none"); $("#modelsettingsbackground").css("display", "none"); } $rootScope.UpdateAndCloseSetting = function (Formatsetting) { $timeout(function () { $('#setting-spinner').css('visibility', 'visible'); $('#modelsettingsbackground').css('z-index', '12000005'); }, 100); $rootScope.lexiconLanguageArrayLength = $rootScope.lexiconLanguageArray.length; var setting={}; setting.modesty =Formatsetting.modesty ; setting.skintone = Formatsetting.ethnicity; if($rootScope.userData.isSiteUser) { // send as user id setting.userId = $rootScope.userData.siteId; } else { setting.userId = $rootScope.userData.Id; } var secondLan=[] $("#secondLax > option").each(function () { secondLan.push($(this).attr("val")); }); setting.primaryid = $('#primarylaxican').attr("name"); setting.secondryids = secondLan.join(","); setting.isSiteUser=$rootScope.userData.isSiteUser; setting.LicenseEditionId=$rootScope.userData.LicenseEditionId; AuthenticationService.saveSetings(setting) .then( function (result) { if(result==1) { $timeout(function () { $('#setting-spinner').css('visibility', 'hidden'); $('#modal-settings').css("display", "none"); $('#modelsettingsbackground').css('z-index', '12000000'); $("#modelsettingsbackground").css("display", "none"); $rootScope.UpdateSetting(Formatsetting); }, 500); } else { $('#errorMessage').text(AIAConstants.SETTING_SAVE_ERROR); $("#messageModal").modal('show'); } }), function (error) { console.log(' Error in Saving settings = ' + error.statusText); $rootScope.isVisibleLogin = true; $('#setting-spinner').css('visibility', 'hidden'); $('#modal-settings').css("display", "none"); $('#modelsettingsbackground').css('z-index', '12000000'); $("#modelsettingsbackground").css("display", "none"); $('#errorMessage').text(error); $("#messageModal").modal('show'); } }; $rootScope.deSelectLanguageOptions = function () { var languageDifference = ($rootScope.lexiconLanguageArrayLength) - ($rootScope.lexiconLanguageArray.length); languageDifference = parseInt(languageDifference); if (languageDifference > 0) { for (var i = 0; i <= $rootScope.lexiconRemovedLanguage.length - 1; i++) { $("#lexiconLangDropdown option").each(function () { if ($rootScope.lexiconRemovedLanguage[i].language == $(this).val()) { $(this).remove(); $('#secondLax').append(''); $rootScope.lexiconLanguageArray.push({ "id": $rootScope.lexiconRemovedLanguage[i].id, "language": $rootScope.lexiconRemovedLanguage[i].language }); } }); if ($rootScope.lexiconRemovedLanguage[i].language == $("#primarylaxican").val()) { $rootScope.lexiconLanguageArray[0].id = $rootScope.primaryLangID; $rootScope.lexiconLanguageArray[0].language = $rootScope.lexiconPrimaryLanguage; $("#primarylaxican").val($rootScope.lexiconPrimaryLanguage); $('#primarylaxican').attr("name", $rootScope.primaryLangID); $('#secondLax').append(''); $rootScope.lexiconLanguageArray.push({ "id": $rootScope.lexiconRemovedLanguage[i].id, "language": $rootScope.lexiconRemovedLanguage[i].language }); $("#lexiconLangDropdown option").each(function () { if ($rootScope.lexiconPrimaryLanguage == $(this).val()) { $(this).remove(); } }); } } } else if (languageDifference < 0) { languageDifference = Math.abs(languageDifference); for (var i = 1; i <= languageDifference; i++) { var lexiconArrayLength = $rootScope.lexiconLanguageArray.length; $("#secondLax option").each(function () { if ($rootScope.lexiconLanguageArray[lexiconArrayLength - 1].language == $(this).val()) { $(this).remove(); } }) $('#lexiconLangDropdown').append(''); $rootScope.lexiconLanguageArray.pop(); } if ($rootScope.lexiconPrimaryLanguage == $("#primarylaxican").val()) { } else { $rootScope.lexiconLanguageArray[0].id = $rootScope.primaryLangID; $rootScope.lexiconLanguageArray[0].language = $rootScope.lexiconPrimaryLanguage; $("#lexiconLangDropdown option").each(function () { if ($rootScope.lexiconPrimaryLanguage == $(this).val()) { $(this).remove(); } }) $('#lexiconLangDropdown').append(''); $("#primarylaxican").val($rootScope.lexiconPrimaryLanguage); $('#primarylaxican').attr("name", $rootScope.primaryLangID); } } else if (languageDifference == 0) { if ($rootScope.lexiconPrimaryLanguage == $("#primarylaxican").val()) { } else { $rootScope.lexiconLanguageArray[0].id = $rootScope.primaryLangID; $rootScope.lexiconLanguageArray[0].language = $rootScope.lexiconPrimaryLanguage; $("#lexiconLangDropdown option").each(function () { if ($rootScope.lexiconPrimaryLanguage == $(this).val()) { $(this).remove(); } }) $('#lexiconLangDropdown').append(''); $("#primarylaxican").val($rootScope.lexiconPrimaryLanguage); $('#primarylaxican').attr("name", $rootScope.primaryLangID); } } $('#lexiconLangDropdown').html($('#lexiconLangDropdown').find('option').sort(function (x, y) { return $(x).text() > $(y).text() ? 1 : -1 })); } $rootScope.UpdateSetting = function (setting) { $rootScope.isCallFromOtherModule = undefined; var isReloadingViewRequired = false; //1. if (typeof (setting.ethnicity) !== "undefined" && setting.ethnicity !== null) { $rootScope.ChangeEthnicity(setting, setting.ethnicity); } if (typeof (setting.modesty) !== "undefined" && setting.modesty !== null) { $rootScope.ChangeModesty(setting.modesty); } //2. if ((setting.ethnicity != null && setting.ethnicity != $rootScope.globalSetting.ethnicity) && (setting.modesty != null && setting.modesty != $rootScope.globalSetting.modesty)) { $rootScope.globalSetting.ethnicity = setting.ethnicity; localStorage.setItem("globalEthnicity", $rootScope.globalSetting.ethnicity); $rootScope.globalSetting.modesty = setting.modesty; localStorage.setItem("globalModesty", setting.modesty); isReloadingViewRequired = true; } else if (setting.ethnicity != null && setting.ethnicity != $rootScope.globalSetting.ethnicity) { $rootScope.globalSetting.ethnicity = setting.ethnicity; localStorage.setItem("globalEthnicity", $rootScope.globalSetting.ethnicity); $rootScope.globalSetting.modesty = $rootScope.getLocalStorageValue("globalModesty"); isReloadingViewRequired = true; } else if (setting.modesty != null && setting.modesty != $rootScope.globalSetting.modesty) { $rootScope.globalSetting.modesty = setting.modesty; localStorage.setItem("globalModesty", $rootScope.globalSetting.modesty); $rootScope.globalSetting.ethnicity = $rootScope.getLocalStorageValue("globalEthnicity"); // change DA setting for single/multiple panel var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; if ($('.modestyImg_' + MultiWinId) != null) { if (($rootScope.globalSetting.modesty == 'Y')) { $('.modestyImg_' + MultiWinId).css('visibility', 'visible'); } else { $('.modestyImg_' + MultiWinId).css('visibility', 'hidden'); } } if ($('.transModestyImg_' + MultiWinId) != null) { if (($rootScope.globalSetting.modesty == 'Y')) { $('.transModestyImg_' + MultiWinId).css('visibility', 'visible'); } else { $('.transModestyImg_' + MultiWinId).css('visibility', 'hidden'); } } if ($rootScope.isLayerLessSeven == true) { if (($rootScope.globalSetting.modesty == 'Y')) { $('.modestyImg_' + MultiWinId).css('visibility', 'visible'); } } else { $('.modestyImg_' + MultiWinId).css('visibility', 'hidden'); } if ($rootScope.isTBLayerLessSeven == true) { if (($rootScope.globalSetting.modesty == 'Y')) { $('.transModestyImg_' + MultiWinId).css('visibility', 'visible'); } } else { $('.transModestyImg_' + MultiWinId).css('visibility', 'hidden'); } $rootScope.changeNavigatorModesty(MultiWinId); } } } } if (isReloadingViewRequired == true || $rootScope.islaxicanlanguageChange) { $rootScope.reloadChildController($rootScope.islaxicanlanguageChange); } $rootScope.lexiconRemovedLanguage = []; $("#secondLax option").each(function () { $rootScope.lexiconRemovedLanguage.push({ "id": $(this).attr("val"), "language": $(this).val() }); }); $rootScope.islaxicanlanguageChange=false; }; $rootScope.reloadChildController = function (isLexiconChange) { // change DA setting for single/multiple panel var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']"); if (modulePanel != undefined && modulePanel.length>0) { for (var index = 0 ; index < modulePanel.length; index++) { var paneld = modulePanel[index].id; if(paneld.match("daImagePanel")) { var len = (paneld).split("_").length; var MultiWinId = (paneld).split("_")[len - 1]; $rootScope.isSettingEventAlredayDispachted = true; var currentOpenViewId=$rootScope.GetDAwindowData(MultiWinId,"voId"); $rootScope.reloadDABodyViewEvent(currentOpenViewId,isLexiconChange,MultiWinId); } } } }; $rootScope.changeNavigatorModesty = function (MultiWinId) { var currentOpenViewId=$rootScope.GetDAwindowData(MultiWinId,"voId"); $rootScope.changeNavigatorModestyEvent(currentOpenViewId,MultiWinId); }; $rootScope.ShowExportImageWindow = function () { var userid = $rootScope.userData.Id; var isExportedImage = $scope.GetUserExportImageData(userid, 'isExportImage'); if (isExportedImage) { var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) { $(".export-image-ipad").modal("show").draggable({ handle: ".modal-header" }); $(".modal-backdrop").css("opacity", ".5"); $(".modal-backdrop").css("z-index", "1200001"); } else { $(".export-image").modal("show").draggable({ handle: ".modal-header" }); $(".modal-backdrop").css("opacity", ".5"); $(".modal-backdrop").css("z-index", "1200001"); } } else { var exptAlertMessage = $scope.GetUserExportImageData(userid, 'LimitOverMessage'); $(".export-image-message").modal("show").draggable({ handle: ".modal-header" }); $(".modal-backdrop").css("opacity", ".5"); $(".modal-backdrop").css("z-index", "1200001"); document.getElementById("expMessage").innerHTML = exptAlertMessage; } }; $rootScope.ShowPrintWindow = function () { // Print Active Viewer $scope.Totalpage=0; $scope.pageCount=0; if ($('#printDivContent').html() != "") { $('#printDivContent').empty(); } var PanelElement= $scope.GetPanelElement($rootScope.panelNameWithCb); // selected panel var panelTitle = document.getElementById($rootScope.panelNameWithCb).childNodes[0].innerText; var canvasDivElement = PanelElement.canvasDivElement; if (canvasDivElement == null || canvasDivElement == undefined) return; var canvasDivId = canvasDivElement.id; $scope.Totalpage=1; CollectPrintData(canvasDivId, 1, panelTitle); }; $rootScope.ShowAllPrintWindow = function () { if ($('#printDivContent').html() != "") { $('#printDivContent').empty(); } var multiprint = function (canvasId, page, title, delaytime) { $timeout(function () { CollectPrintData(canvasId, page, title) }, delaytime); }; var pageno = 0; $scope.Totalpage=0; $scope.pageCount=0; // select all open module div. var modulePanel = $("#HomeContainerDiv").find("div[id*='ImagePanel']").not("div[id*='caImagePanel']").not("div[id*='ThreeDImagePanel']").not("div[id*='labImagePanel']").not("div[id*='vidImagePanel']"); $scope.Totalpage=modulePanel.length; for (var i = 0 ; i < $scope.Totalpage; i++) { var paneld = modulePanel[i].id; var PanelElement= $scope.GetPanelElement(paneld); var canvasDivElement = PanelElement.canvasDivElement; if (canvasDivElement == null || canvasDivElement == undefined) return; var canvasDivId = canvasDivElement.id; var panelTitle = document.getElementById(paneld).childNodes[0].innerText; pageno = pageno + 1; var timeintrval = pageno * 200; multiprint(canvasDivId, pageno, panelTitle,timeintrval); } } function CollectPrintData(canvasDivId, pageno, panelTitle) { // Birendra // create page to store print image data for all devices html2canvas($("#" + canvasDivId), { onrendered: function (canvas) { var dataURL = canvas.toDataURL("image/jpeg"); if (canvas.id.match("canvasDivDA")) { var curModule = 'DISSECTIBLE_ANATOMY'; } else if (canvas.id.match("canvasAADiv")) { var curModule = 'ATLAS_ANATOMY'; } else if (canvas.id.match("canvasDivCI")) { var curModule = 'CLINICAL_ILLUSTRATIONS'; } else if (canvas.id.match("canvasDivAI")) { var curModule = 'ADAM_IMAGES'; } else if (canvas.id.match("canvasDivPIC")) { var curModule = 'MY_PICTURES'; } $scope.pageCount= $scope.pageCount+1; if (pageno == 1) { $('#printDivContent').append("
    "); } else { $('#printDivContent').append("
    "); } $('#dvPortrait' + pageno).append("
    "); $('#image_preview' + pageno).append("
    "); // var getHeader = "
    "+curModule+"
    "+panelTitle+"
    "; $('#image_Header' + pageno).append(getHeader); if (canvas.height < 825) { if (canvas.width < 600) { $('#image_preview' + pageno).append(""); } else{ $('#image_preview' + pageno).append(""); } } else { $('#image_preview' + pageno).append(""); } $('#snipImage' + pageno).attr('src', dataURL); $('#image_preview' + pageno).append("
    "); var getfooter = document.getElementById('printFooter').innerHTML; $('#image_Footer' + pageno).append(getfooter); if($scope.Totalpage==$scope.pageCount) { $timeout(function () { SetFrameToPrint(); }, 300); } } }); } function SetFrameToPrint() { var contents = document.getElementById("printBox").innerHTML; var frame1 = $('