{"version":3,"file":"site.min.js","names":["handleMultiSelectClick","otherOption","checked","closest","addClass","attr","removeClass","removeAttr","iframeResize","container","targetIFrame","find","length","constrainByHeight","toLowerCase","constrainByWidth","width","windowHeight","$","window","height","iFrameWidth","iFrameHeight","css","getBaseURL","url","baseUrl","pathArray","split","protocol","dayjs","extend","dayjs_plugin_utc","dayjs_plugin_timezone","dayjs_plugin_localizedFormat","dayjs_plugin_advancedFormat","dayjs_plugin_customParseFormat","swipe","swipeLeft","event","direction","distance","duration","fingerCount","carousel","swipeRight","threshold","fn","carouselHeights","tallest","items","this","heights","normalizeHeights","each","push","Math","max","apply","topMargin","on","jQuery","document","ready","e","stopImmediatePropagation","slide","link","first","destination","open","location","href","clickHandler","target","siblings","is","hasClass","parents","body","off","parent","message","data","globalModal","GlobalModal","openGlobalModal","origin","ajax","method","done","textStatus","request","undefined","closeGlobalModal","globalThis","gage","HandleAjaxFail","menuItem","submenuItem","accomodateHeader","innerHeight","headerHeight","outerHeight","hide","parentEl","toggleClass","children","slideToggle","debounce","momDate","val","format","innerText","isValid","NZProfileFields","constructor","widget","_widget","initialize","_widgetId","parseInt","bindControls","me","currentTarget","text","pathname","otherRow","otherField","isPostalAddressSameasPhysicalAddress","el","county","zipCode","postalAddressCountry","postalAddressStateProvince","postalAddressZipPostal","empty","params","countryID","countryType","type","dataType","contentType","zipCodeRegexMessage","zipCodeRegex","results","value","key","append","mobilephone","businessphone","phoneRegexMessage","phoneRegex","form","removeData","validator","unobtrusive","parse","preventDefault","remove","setPostalAddress","valid","companyName","otherCompanyName","after","RegExp","test","validationCheckBox","otherTextBox","imageOne","imageTwo","uploadProfileImage","trigger","index","item","Quiz","isQuizCompleted","isPassed","canTryAgain","submittingAnswer","StartQuiz","$quizWrapper","stopTimer","quizID","score","response","success","status","errorHeadline","errorText","modal","rID","identifier","elapsedSeconds","totalSeconds","questionsAlreadyAnswered","i","startTimer","SelectQuizAnswer","SelectQuizMatch","proceed","SubmitAnswer","$quizQuestion","quizLanguageID","questionID","answerID","answers","ItemId","MatchedItemId","timedOut","dto","QuizLanguageID","QuestionID","AnswerID","Answers","TimedOut","JSON","stringify","processData","headers","RequestVerificationToken","getAntiForgeryToken","isCorrect","mustAnswerCorrect","currentQuestionNumber","allowRetry","isCompleted","html","title","NextQuestion","TrackWidget","completedWithNext","interval","quiz","autoStart","second","totalMinutes","minute","hour","floor","hours","timer2","setInterval","timer","clearInterval","minutes","seconds","reload","log","menuopt","bodyClickHandler","buttonText","trim","originalLength","substring","match","matchId","questionContainer","complete","CatalogProductList","LoadMore","button","buildParams","ViewType","categoryIds","map","get","join","ItemCategory","toString","when","submitAjaxRequest","_pageIndex","getResponseHeader","_totalPages","showMobileFilter","options","content","_globalModal","hideMobileFilter","_categoryIdentifier","_take","_sortBy","sortBy","applySort","host","urlQueryString","search","removeRegex","replace","history","replaceState","applyFilter","values","enablesmultipledownload","prop","array","pcaIdentfiers","assigmentIdentfiers","eq","xScreenPos","screenX","yScreenPos","screenY","productContainer","xLocation","pageX","offset","left","yLocation","pageY","top","outerWidth","customizationcontainer","norecordscontainer","Identifier","Take","PageIndex","SortBy","show","compareArrays","array1","array2","difference","inArray","getParameterByName","name","exec","decodeURIComponent","ShoppingCartList","UpdateItem","cartItemId","quantity","Id","Quantity","deleteItem","deleteCartImageItem","imageId","ImageId","shoppingcarturl","deleteCartStaplesItem","productId","clientProductId","deleteCartAdobeItem","deleteCartAdobeCommerceItem","adobeCommerceProductId","cartrow","participantInfo","noItemsInforow","GetParticipantInfo","UpdateCart","cartItemCount","updateCartItemCount","deleteItemOnly","cancelText","removeAllText","removeCartOnlyText","removeCartTitleText","removeCartContinueText","removeCartOkText","bootbox","confirm","buttons","label","className","cancel","callback","result","dialog","removecartonly","removeall","listContainer","removeCartImageItemText","updateCartButton","ValidateCart","checkOutCartUrl","midQuantityAllowedMessage","minQuantityAllowedMessage","maxQuantityAllowedMessage","proceed1","proceed2","minQuantityAllowed","maxQuantityAllowed","alert","shoppingCartUrl","pleaseWaitMessageForCart","CartID","Price","TotalPrice","formatColumn","Delete","itemQuantity","waitingDialog","CatalogProductDetail","FinalizeItem","ValidateItemQuantity","CheckAttribute","fadeIn","setTimeout","fadeOut","OrderNow","limited","currentCartItemCount","maxQuantityAllowedEverMessage","productNotAvailableMessage","redirectUrl","orderedCount","availableCount","newCount","addressId","participantOrderId","detailLink","refreshCartCount","cartUrl","AddItemToCart","CheckSkuExists","selectedQuantity","attributes","selectedSku","Attributes","updatedCartId","productskusincart","skuItems","confirmText","updateButton","addButton","cancelButton","size","update","add","attributeCount","GetItemFromAttributes","formattedPrice","price","bypassCheckoutProcessForZeroCostOrders","isInventoryEnabled","quantityInHand","skuName","min","minPerOrder","maxPerOrder","GetCustomizedItemFromAttributes","_identifier","ProductId","_productId","ProductCustomizationId","_quantity","dropDown","textarea","assetLibraryType","oldValue","mismatchValueForAssetLibrary","mismatchValue","valueToDisplay","setEmailInformation","setMicrositeInformation","setMicrositeLookupUrl","setSocialPostInformation","setDirectMailInformation","setApproximateCostContainer","numberOfContacts","formattedNumberOfContacts","totalPrice","appxroximateCostCopy","openDirectMailUploadedListRecipients","OpenDirectMailUploadModal","self","SetNames","isScheduled","appendWithLaunchName","appendWithArchiveDate","utc","Date","toISOString","microsoftFriendlyName","contactListName","GlobalPopulateTimeZones","itemId","ReloadForCustomizationAndOrder","ConfigureDatePicker","ConfigureTimePicker","bindLocalizedTime","openEmailUploadedListRecipients","verifyEmailContainer","linkFromConfirmationEmailContainer","senderIdentity","CheckIsEmailInVerifiedDomain","verifiedMessage","sendGridConfirmationLinkDTO","isVerified","exceptionErrors","SendCreateRequest","OpenUploadModal","recipentlist","email","fail","errorThrown","originalList","appendTo","assignmentIdentifier","locale","GetDirectMailUploadModal","classes","confirmContainer","fileUploadContainer","tableBody","uploadType","noSelectedFileMessage","fileNameRequired","formData","FormData","element","getElementById","file","files","errorMessage","numberOfEntries","contactListId","dropdown","dropdownContainer","directMailListSelectorButton","emailSendDetailsContainer","appendToName","local","GetUploadModal","mapFieldNameLabel","fileHeaderNames","isDefault","headerName","hasMismatchedColumnNames","missingFieldsCount","entriesWithMissingData","entriesWithInvalidEmailData","dropdownclone","emailListSelectorButton","contactLists","id","isReposted","fromEmail","IsValidFromEmailAddress","verifiedDomainList","restrictToVerifiedDomainsOnly","isValidDomainForEmail","domain","verifiedDomainListArray","indexOf","caller","fromAddress","verifyFromAddressAft","cache","traditional","userExists","SetVerificationData","OpenSendGridConfirmationLinkModal","submitContainer","nickName","from_Email","from_Name","reply_To","address","city","country","isNewUserCreated","userCreated","verified","error","errors","field","canSendRequestAgain","getSenderInformationFormAft","existingUser","emailAddress","getConfirmationLinkFormaft","buttonId","table","DataTable","pageLength","searching","dom","click","localDate","DisplayDateInLocalFormat","Checkout","canProceedToSubmit","AddOrder","btn","addressRequiredMessage","OrderNotesRequired","OrderNotes","firstName","lastName","FirstName","LastName","GetDistributorAddresses","GetAddressForm","showNames","ShowAddressForm","mode","action","sourceButton","responseMessage","ValidateShippingAddress","address2","state","phoneNumber","addressName","AddParticipantAddress","_a","_b","_c","_d","_e","_f","validators","emailValidator","zipValidator","phoneValidator","postal","phone","countryId","found","ShowAddressSelector","distributorCompanyAddressId","AddShippingAddress","RefreshCheckout","pleaseWaitMessageForcheckout","saveAddressButton","selectedAddressId","DeleteAddress","deleteAddress","cartCount","getStorageCartItemCount","userToken","localStorageIsAvailable","setStorageCartItemCount","itemKey","localStorage","setItem","sessionStorage","getItem","initCartCountMonitor","myCartCount","globalCartCount","cartWidget","addCommas","str","parts","main","len","output","charAt","formatted","decimalPlaces","currency","toFixed","toLocaleString","Search","SortAscending","Skip","PerformSearch","Title","Description","SuppressTypeColumn","SearchType","SearchTerm","SortField","trackSearchLink","encodeURIComponent","replaceWith","insertBefore","hash","viewCompletionList","s","o","r","a","m","analyticField","q","arguments","l","createElement","getElementsByTagName","async","src","parentNode","ga","hitType","page","copyToClipboardFunction","dataset","for","input","style","marginLeft","nextSibling","focus","select","execCommand","currentNumberDisplayed","ApplyGageToolTip","AccountTransaction","parseFloat","ShowHideFilter","SelectDeselectFacet","_sortAscending","LoadData","participantOrderLineItemId","relatedTarget","showDetail","ShowPager","newHeader","oldHeader","ApplyFilter","SendCompositionEmail","expand","widgetContainer","parentContainer","next","detailContainer","icon","actionid","source","transactiontype","participantactivityid","showaccount","showdepositsource","activityname","isadmin","suppressViewLink","GetOrderDetail","slideDown","prompt","inputType","Download","transactionType","actionId","participantActivityId","activityName","showAccount","showDepositSource","isAdmin","SetPager","twbsPagination","initiateStartPageClick","totalPages","startPage","onPageClick","filterClose","BuildParams","list","filterType","$dropdown","$indicator","dropdownIsClosed","$facetIndicator","contentWidgetID","filterID","UpdateFilter","ceil","contentWidgetId","$transactiontypeFilter","arrayTypes","Array","transactionTypes","TransactionTypes","orderHeaderStatus","orderLineItemStatus","AccountTransactionFielo","htmlContentToUpdate","filterContentToUpdate","fields","additionalFieldsList","GetTransactions","viewmorebutton","viewMore","BindDataTable","currentOffSet","nextOffSet","GetTransactionLineItems","fielofieldToRetrieve","attempt","renew","take","fieldName","updateTransactionsUI","errorCode","transactionHTML","filterHTML","bindAdditionalFields","transactionidentifier","childRow","json","parentRow","panelHeader","jsonobj","obj","insertAfter","updateTransactionLineItemsUI","blengthChange","bPaginate","bInfo","order","columnDefs","orderable","searchable","targets","close","AgentMarketingPlan","_widgetContainer","charCode","which","keyCode","ViewCompletionList","thisWidget","totalNumberOfCompletions","skip","start","Categories","Tags","ContentTypes","completionsTable","numberOfItems","GenerateTranscript","participantId","token","$completionsTable","selectedCourses","selectedCurriculums","row","currentRow","closeButton","Token","ParticipantId","WidgetId","ContentIds","CurriculumIds","btoa","ViewContentList","$list","totalNumberOftiles","$listItems","getFiltersDto","totalTiles","$contentList","updateFilter","ClearFilter","numberOfItemsToShow","$filterUpdates","$categories","$filter","ID","NumberOfItems","$contenttypes","$tags","$completionStatuses","not","$categoriesFilter","$tagsFilter","$contentTypesFilter","$completionStatusesFilter","categories","tags","contentTypes","completionStatuses","EntityItemTypes","CompletionStatuses","viewContentList","controlId","EmailConfiguration","uploadRecipients","campaignIdentifier","campaignItemScheduleId","isSeedContact","emailListContainer","selectedOptions","campaignId","campaignItemId","details","startDate","seedStartDate","timeZone","seedTimeZone","errorcontainer","dateString","date","tz","newDate","startDateTime","seedStartDateTime","populateTimeZonesOnly","productCustomizationIdentifier","reset","datetimepicker","useCurrent","setTime","setSeedTime","addEmailId","testHtml","productCustomizations","elem","productCustomizationIdentifiers","productCustomization","customizationIdentifier","replaceAction","GetTimeZoneNameList","then","timeZones","FillTimeZoneDropDown","guess","populateTimeZones","EmailManagement","console","catalogAssignmentIdentifier","customizationExistsMessage","productDetailUrl","okText","updateSchedule","FieloBadgesList","statusToRetrieve","GetEarnedBadges","GetUnEarnedBadges","strarray","GetExpiredBadges","updateEarnedUI","badgeHTML","SetViewMore","GetBadgePopDetail","viewMoreContainer","pageSize","totalRecords","clickHandlerFieloBadge","updateUnEarnedUI","updateExpiredUI","FieloLeaderBoardList","GetLeaderBoard","destroy","isPageLoad","isReset","fromDate","toDate","missionRequested","MissionsDisplayRequested","FromDate","ToDate","Renew","LimitToSpecificMissions","MaximumLeaderboardsToReturn","MissionsToDisplay","MaximumNumberofEntriesToDisplayPerLeaderboard","LeaderboardType","LeaderboardScope","LeaderboardStatus","LeaderboardOrder","ParticipantIdentificationOptions","RelatedOrganizationNamesDisplayAsAnonymous","SuppressProfilePhoto","SuppressScore","AllowParticipantToConstrainByDate","IsPageLoad","InitialAllLeaderboards","updateLeaderboardUI","memberListHTML","BindDatePickers","BindFilterButtons","pickers","filter","FieloProfile","_dateFormat","GetFieloSessionStatus","updateSessionCheck","membersRequests","memberRequest","callType","pointValue","placeHolderToUpdate","fieloField","GetCommmonMember","memberRequests","updateCommmonMemberUI","responseData","memberResponseObject","formattedData","InProgressCustomization","loadData","removeButton","customizationidentifier","deleteButton","confirmed","showPager","setPager","LeaderBoard","ListPromotions","BindTooltips","ResetFilters","origText","altTextHolder","multiselect","numberDisplayed","tooltip","isShowFutureSelected","showFuture","selectedActivityTypes","activityTypes","isBonusSelected","isBonus","searchText","ActivityTypes","ShowFuture","IsBonus","SearchText","MyProject","selectDeselectFacet","delete","updateStatus","openDirectMailListRecipients","contactListIdentifier","orderLineItemDetailIdentifier","openMicrositeListRecipients","openContactActivityList","progressBar","uniqueId","pollingStop","progressWrapper","getStatus","finalUrl","getUniqueGuid","updateProgressStatus","stopPropagation","openMicrositeActivityList","download","parentrowIdentifier","parentrow","sendCompositionEmail","orderidentifier","resubmitOrderItem","displayPopup","orderLineItemId","orderIdentifier","openFaceBookPost","child","readyState","URL","accessToken","contents","pages","submitButton","requiredMessage","postedText","pageIds","errorHeader","columnErrorHeader","columnPageNameHeader","postSuccessfulSubHeading","pageId","postError","v","statusCode","faceBookPostURL","postName","closed","resetFaceBookPermissions","successMessage","AccessToken","checkCompositionFileStatus","showModal","orderItemId","detailrow","expandbutton","fileStatus","openCancelCampaignMessage","yesText","noText","overwriteMessage","sendSequenceNumber","seedSequenceNumber","cancelledStatusText","SendSequenceNumber","SeedSequenceNumber","OrderLineItemId","IsAdmin","openCancelSocialPostMessage","orderLineItemDetailId","openCancelMicrositeMessage","OrderLineItemDetailId","modifyCampaignDates","lineItemDetailId","refreshContainer","SetModifiedDatesForCustomization","recipientSendDateRequired","seedSendDateRequired","recipientSendTimeRequired","seedSendTimeRequired","recipientSendDateGreaterThanToday","seedSendDateGreaterThanToday","seedSendDateGreaterThanSendDate","sendDateString","currentDate","GetISODate","seedDateString","campaignDatesDtO","sendDate","sendTimeZone","seedSendDate","seedSendTimeZone","responseJSON","modifyMicrositeDates","launchDateRequired","launchTimeRequired","archiveTimeZone","launchDateString","launchDate","archiveDateString","archiveDate","micrositeDatesDtO","launchTimeZone","modifySocialPostDates","socialPostDatesDtO","Intl","supportedValuesOf","statusButton","getOrderDetail","$statustypeFilter","statusTypes","StatusTypes","emailRegex","OrderDetail","downloadPdf","sendListBasedEmail","invalidEmailErroMessage","postMessage","orderDetailId","serialize","showAlert","templateIdentifier","productIdentifier","ParticipantActivityList","datarequiredtext","dataattributerequiredtext","activityType","_searchActivityTypeId","_searchText","activitydate","activityTypeId","activityId","activityItem","multiplier","GetParticipantActivityDetail","activityDate","updatedactivityItem","$activitytypeFilter","SearchAttributeTypeId","Points","isFielo","fielocustomfield","GetMemberCall","updateUI","TeamLeaderTeamDetail","FilterValues","FilterTrackedValues","getValidationDiv","validationDiv","validationDivTemp","isArray","activeTab","getUrlVars","bootstrap","Tab","getOrCreateInstance","querySelector","getTeamContentCompletionForParticipant","saveTeam","getContentSelector","getEditAssignmentsSelector","removeContentAssignment","contentid","parentCurriculumId","currButton","animate","scrollTop","alreadyAdded","numberOfAssginments","contentitemname","contentname","displayvalue","contenttype","contentidentifier","rawStartDate","rawEndDate","formattedRawStartDate","formattedRawEndDate","DisplayDateInTimeZoneFormat","ContentName","ContentItemName","ContentIdentifier","ContentId","DisplayValue","ContentType","StartDate","EndDate","startDateEl","endDateEl","initializeDatePickerForAddContentAssignment","addMsg","removeMsg","saveTeamContent","saveEditAssignments","getCourseDetail","removeMember","changeRole","saveCourseDetail","getParticipantCompletionsForCourse","currentState","setAssignmentDataTable","setMemberDataTable","bindTeamDatePickers","setDefaultDatesForDatePicker","copyToClipBoard","textContent","appendChild","selection","getSelection","range","createRange","selectNode","removeAllRanges","addRange","removeChild","originalTimeZone","formattedStartDate","formattedEndDate","startPicker","endDatePicker","BindDatePickerEvents","drawCallback","settings","clone","setAssignmentContentListDataTable","visible","ogtable","availCoursesCount","rows","every","addColumn","node","addAllButton","clonedBtn","tgtFilter","tagIds","columns","draw","widgetcontainer","confirmationMessage","teamIdentifier","teamContentId","TeamIdentifier","globalWindow","selectedPageTypes","selectedCategories","selectedTags","showContent","showCurriculum","defaultFilterType","saveButton","widgetId","teamidentifier","allowcontentnameselection","defaultassignmentsource","endDate","teamInfo","rawDate","startEl","loop","datetimepicker1","tempusDominus","TempusDominus","localization","display","viewMode","keepOpen","components","calendar","month","year","decades","clock","datetimepicker2","subscribe","updateOptions","restrictions","minDate","teamSingleContentAssignmentDtos","isRequired","teamSingleContentAssignmentDto","contentId","formattedRawendDate","maxDate","initializeDatePickerForEditContentAssignment","datagroups","OwnerParticipantID","GroupsCollection","availabledate","duedate","isrequired","dateHeader","makeDate","contentIdentifier","formattedTeamStartDate","formattedTeamEndDate","bindDatePickers","anyTime","filterTable","filterDataTable","filterColumn","slice","SetTime","availableDate","dueDate","errorContainer","getValidationErrorMessage","selected","sDate","dDate","contentDetails","ApplyGagePopOverParticipant","compareDates","dateTimeA","dateTimeB","momentA","momentB","currentPageUrl","itemStatusId","assignmentSortOrder","removeattr","teamName","teamAssignmentSortOrder","teamSaved","overRide","vars","TeamLeaderTeamList","setUpDataTable","getTeamOptionsForExistingTeam","getTeamOptionsFromOTherTeam","removeTeam","reinstateTeam","copyCode","IncludeDeleted","IncludeExpired","setLocalTimes","contentClone","contentHtml","globalContainer","dueDateRow","keeprequiredAssignmentRow","resetSettings","copyOptions","timezonerequired","teamnamerequired","teamcopyoptionrequired","copyTeamCommon","joinCode","now","localOffset","utcOffset","diffInMinutes","TeamJoinCode","TeamName","TimeZone","TimeZoneDiffMinutes","CopyOption","CopyDates","KeepRequiredAssigmentSetting","uri","clean_uri","Override","isnew","validateCode","teamcoderequired","code","dateToCheck","helpText","detailUrl","TeamMemberContentAssignmentDueList","showPast","TeamMemberContentAssigmentList","leaveTeam","TeamMemberTeamList","joinTeam","selectTeamsTojoin","promobox","joinconfirmationtext","includeExpired","PostBackData","setUpClassTable","memberListUrl","notFoundMessage","responseText","identity","UserStatusFielo","disabled","fileProgress","fileInput","originalFilename","fileUpload","FileUpload","onProgressChangeCallback","percentText","onCompleteCallback","queryStart","cdnUrl","substr","usePortalUploadPath","enforceFileTypes","uploadFile","emailErrorMessage","addMethod","optional","validate","resetForm","CurriculumTeamContentListWidget","panelAlignment","trackableWidgets","dataCompletedWidgetCount","urlParameters","DSODashboard","showTransactions","showLocations","Children","modalHeading","htmlSource","noTransactionsMsg","showTransactionDetail","isaAmin","Locations","DSOSetup","findDSO","showDistributors","topHierarchyLevelParticipantId","validateInput","saveAddPractice","errorpanel","successpanel","successmessage","successcontainer","bodycontainer","fileObject","SendIndividualEmail","showChildren","selectFileToImport","removePracticeLocation","template","Template","SendGroupEmail","model","midHierarchyLevelGroupId","locations","CompanyName","Email","PhoneNumber","Country","Language","JobTitle","KerrPreferredNumberOfOperatories","NPINumber","PreferredLocationTypeId","Tophierarchylevel","Midhierarchylevel","TopHierarchyLevelParticipantId","PreferredLocationType","errormessage","SetDistributorCompanyAddressesForParticipant","clientId","DistributorCompanyDto","Addresses","ParticipantID","PointMatchingField","processingModalTitle","processingModalBody","box","td","Distributors","dataTable","GetDistributorCompanies","isDataTable","processing","language","loadingRecords","serverSide","paging","ordering","info","lengthChange","scrollY","dataSrc","api","nodes","last","column","group","before","render","full","meta","addButtonText","ownerLabel","claimedLabel","IsParticipantAddressOwner","Claimed","DistributorCompanyClientID","DistributorCompanyName","pagingType","initComplete","$searchButton","parentId","searchCriteria","topHierarchyLevelGroupId","dsoSetup","FileWidget","MarkAsCompleted","getHeroImageSize","imageSource","img","Image","heroWidgets","init","overlayHeight","imageHeight","PromotionCodeWidget","submitPromotionCode","Code","ContentWidgetId","removeProp","QuestionaireForm","onUploadFailCallback","uploader","ResourceListViewWidget","AllLinksHaveBeenTracked","UserCurriculumProgressWidget","fullId","defaultDisplay","n","lastIndexOf","hideDetailsText","showDetailsText","showAdditionalElectivesText","hideAdditionalElectivesText","txt","bindEvents","BindUserLevelProgress","$toggleButton","$toggleText","processScrubbingControls","videoID","video","hideVideoScrubbingBar","getAttribute","disableForwardScrubbing","previousTime","ontimeupdate","currentTime","onseeking","addEventListener","renderVideoPlayButton","videoWrapper","vw","formatVideoPlayButton","videoPlayButton","hideVideoPlayButton","play","classList","setAttribute"],"sources":["wwwroot/lib/js/site.js"],"mappings":"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","sourcesContent":["/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/jquery.validation.d.ts\" />\n/// <reference path=\"../lib/jquery.validation.unobtrusive.d.ts\" />\n/// <reference path=\"../lib/bootbox.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/waitingdialog.d.ts\" />\n/// <reference path=\"../../node_modules/dayjs/index.d.ts\" />\n/// <reference path=\"../../node_modules/dayjs/plugin/localeData.d.ts\" />\n/// <reference path=\"../../node_modules/dayjs/plugin/customParseFormat.d.ts\" />\n/// <reference path=\"../../node_modules/dayjs/plugin/localizedFormat.d.ts\" />\n/// <reference path=\"../../node_modules/dayjs/plugin/timezone.d.ts\" />\n//var waitingDialog = new globalThis.waitingDialogHelper ();\n// step 0\n// step 1 combind ts files\n// step 2 commented out \"/* js */\" lines only between IMPORT START and IMPORT END\n// step 3 compile ts\n// step 4 comment out \"/* ts */\" lines only between IMPORT START and IMPORT END\n// step 5 uncomment out \"/* js */\" lines only between IMPORT START and IMPORT END\n// IMPORT START\n/////*x* ts */ import dayjs from \"../../wwwroot/lib/dayjs1.11.10/dayjs.min.js\";\n/////*x* ts */ import utc from \"../../wwwroot/lib/dayjs1.11.10/plugin/utc\";\n/////*x* ts */ import timezone from \"../../wwwroot/lib/dayjs1.11.10/plugin/timezone\";\n/////*x* ts */ import localizedFormat from \"../../wwwroot/lib/dayjs1.11.10/plugin/localizedFormat\";\n/////*x* ts */ import { GlobalModal } from \"../lib/GlobalModal\";\n/////*x* ts */ import { FileUpload } from \"../standaloneComponents/FileUpload\";\n// timezone\n/*x* js */ dayjs.extend(dayjs_plugin_utc);\n/*x* js */ dayjs.extend(dayjs_plugin_timezone);\n/*x* js */ dayjs.extend(dayjs_plugin_localizedFormat);\n/*x* js */ dayjs.extend(dayjs_plugin_advancedFormat);\n/*x* js */ dayjs.extend(dayjs_plugin_customParseFormat);\n/////*x* ts */ dayjs.extend(utc);\n/////*x* ts */ dayjs.extend(timezone);\n/////*x* ts */ dayjs.extend(localizedFormat);\n//var tzAbbr = function (dateInput:Date = null) {\n// var dateObject = dateInput || new Date(),\n// dateString = dateObject + \"\",\n// tzAbbr: any = (\n// dateString.match(/\\(([^\\)]+)\\)$/) ||\n// dateString.match(/([A-Z]+) [\\d]{4}$/)\n// );\n// if (tzAbbr) {\n// tzAbbr = tzAbbr[1].match(/[A-Z]/g).join(\"\");\n// }\n// if (!tzAbbr && /(GMT\\W*\\d{4})/.test(dateString)) {\n// return RegExp.$1;\n// }\n// return tzAbbr;\n//};\n// moved to helper.admin.js\n//function debounce(func, wait, immediate) {\n// var timeout;\n// return function () {\n// var context = this, args = arguments;\n// var later = function () {\n// timeout = null;\n// if (!immediate) func.apply(context, args);\n// };\n// var callNow = immediate && !timeout;\n// clearTimeout(timeout);\n// timeout = setTimeout(later, wait);\n// if (callNow) func.apply(context, args);\n// };\n//};\nfunction handleMultiSelectClick(otherOption, checked) {\n if (checked) {\n otherOption.closest(\"li\").addClass(\"disabled\");\n otherOption.attr(\"disabled\", \"true\");\n }\n else {\n otherOption.closest(\"li\").removeClass(\"disabled\");\n otherOption.removeAttr(\"disabled\");\n }\n}\nfunction iframeResize(container) {\n var targetIFrame = container.find(\"iframe\");\n if (targetIFrame.length === 1) {\n var constrainByHeight = targetIFrame.attr(\"data-constrain-width-by-height\");\n constrainByHeight = constrainByHeight.toLowerCase();\n var constrainByWidth = targetIFrame.attr(\"data-constrain-height-by-width\");\n constrainByWidth = constrainByWidth.toLowerCase();\n var width = targetIFrame.closest('div.container').width();\n var height = width * 0.75;\n var windowHeight = $(window).height();\n var iFrameWidth = width;\n var iFrameHeight = windowHeight;\n if (constrainByHeight == \"true\" || constrainByWidth == \"true\") {\n if (constrainByHeight == \"true\") {\n if (width > windowHeight) {\n iFrameWidth = windowHeight;\n }\n }\n if (constrainByWidth == \"true\") {\n if (windowHeight > width) {\n iFrameHeight = width;\n }\n }\n }\n else {\n iFrameHeight = iFrameWidth * (9 / 16);\n }\n targetIFrame.css('height', iFrameHeight + 'px');\n targetIFrame.css('width', iFrameWidth + 'px');\n targetIFrame.attr('width', iFrameWidth);\n targetIFrame.attr('height', iFrameHeight);\n }\n}\n;\nfunction getBaseURL(url) {\n var baseUrl = \"\";\n if (url) {\n var pathArray = url.split('/');\n if (pathArray.length > 3) {\n var protocol = pathArray[0];\n if (protocol === \"http:\" || protocol === \"https:\") {\n var host = pathArray[2];\n baseUrl = protocol + '//' + host;\n }\n }\n }\n return baseUrl;\n}\n;\n(function ($) {\n //Enable swiping...\n $(\".carousel-inner .item\").swipe({\n //Generic swipe handler for all directions\n //swipe: function (event, direction, distance, duration, fingerCount, fingerData) {\n // gage.log(\"You swiped \" + direction);\n //},\n swipeLeft: function (event, direction, distance, duration, fingerCount) {\n $('.carousel').carousel('next');\n },\n swipeRight: function (event, direction, distance, duration, fingerCount) {\n $('.carousel').carousel('prev');\n },\n //Default is 75px, set to 0 for demo so any distance triggers swipe\n threshold: 0\n });\n // Normalize Carousel Heights - pass in Bootstrap Carousel items.\n $.fn.carouselHeights = function () {\n var items = $(this), //grab all slides\n heights = [], //create empty array to store height values\n tallest; //create variable to make note of the tallest slide\n var normalizeHeights = function () {\n items.each(function () {\n heights.push($(this).height());\n });\n tallest = Math.max.apply(null, heights); //cache largest value\n items.each(function () {\n var topMargin = (tallest - $(this).height()) / 2;\n $(this).css('min-height', tallest + 'px');\n $(this).find('img').css('padding-top', topMargin + 'px');\n $(this).find('.carousel-caption').css({ 'margin-bottom': topMargin + 'px', 'margin-top': topMargin + 'px' });\n });\n };\n normalizeHeights();\n $(window).on('resize orientationchange', function () {\n //reset vars\n tallest = 0;\n heights.length = 0;\n items.each(function () {\n $(this).css('min-height', '0'); //reset min-height\n });\n normalizeHeights(); //run it again \n });\n };\n jQuery(function ($) {\n $(window).on('load', function () {\n $.each($('.widget.carousel'), function () {\n $(this).find('.item').carouselHeights();\n });\n });\n });\n $(document).ready(function () {\n $(\".js-overlay-link a\").on(\"click\", function (e) {\n e.stopImmediatePropagation();\n });\n $(\".js-overlay-link\").on(\"click\", function (e) {\n var slide = $(this).closest(\".item.active\");\n var link = $(slide).find(\"a\").first();\n var destination = $(link).attr(\"href\");\n var target = $(link).attr(\"target\");\n if (target == \"_blank\") {\n window.open(destination);\n }\n else {\n window.location.href = destination;\n }\n });\n });\n})(jQuery);\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/*\n$('.display-entitlement-info').on('click', function () {\n\r\n var loadurl = $(this).data('load-url');\n var entitlementID = $(this).data('entitlement-id');\n $('#entitlement-detail-modal').find('.modal-body').empty();\n\r\n $('#entitlement-detail-modal').modal('show').find('.modal-body').load(loadurl);\n //$(\".entitlement-data-\" + entitlementID).show();\n //$(\".entitlement-data-\" + entitlementID).load(loadurl);\n return false;\n});\n*/\n// entitlement badges - click to expand\n(function () {\n var clickHandler = function (e) {\n if (!$(e.target).siblings(\".widget-entitlement-info\").is(\":visible\")) {\n if ($(e.target).hasClass('widget-entitlement-info') || $(e.target).parents('.widget-entitlement-info').length) {\n // User clicked inside open modal\n // Check if they clicked close button, otherwise ignore\n if ($(e.target).hasClass('close')) {\n $(document.body).off(\"click\", clickHandler);\n $(\".widget-entitlement-info\").addClass('hidden');\n }\n }\n else {\n // If click is outside of modal, simply close\n $(document.body).off(\"click\", clickHandler);\n $(\".widget-entitlement-info\").addClass('hidden');\n }\n }\n };\n $(\".btn-entitlement-download\").on(\"click\", function () {\n var parent = $(this);\n var message = $(this).closest(\".widget-entitlement-wrapper\").data(\"generating-message\");\n parent.attr(\"disabled\", \"disabled\");\n var globalModal = new GlobalModal(\"entitlement-\" + parent.data(\"peid\"));\n globalModal.openGlobalModal(message, \"modal\", { origin: $(this) });\n $.ajax({\n method: \"GET\",\n url: '/API/Entitlement/DownloadEntitlementFile/' + parent.data(\"peid\")\n })\n .done(function (data, textStatus, request) {\n if (data.url !== undefined) {\n globalModal.closeGlobalModal();\n parent.removeAttr(\"disabled\");\n window.location = data.url;\n }\n else {\n globalThis.gage.HandleAjaxFail(request);\n }\n });\n });\n $(\".js-entitlement-img\").on(\"click\", function (e) {\n // Explicitly hide all entitlement panels, we do not allow more\n // than one to be open at a time.\n $(\".widget-entitlement-info\").addClass('hidden');\n // Show only the active info panel\n $(this).siblings(\".widget-entitlement-info\").removeClass('hidden');\n $(document.body).off(\"click\", clickHandler);\n $(document.body).on(\"click\", clickHandler);\n });\n})();\n// Global Navigation\n$(document).ready(function () {\n var menuItem = $('.dropdown-submenu .dropdown-toggle');\n var submenuItem = $('.dropdown-submenu ul');\n $(submenuItem).hide();\n $(menuItem).on('click', function () {\n var parentEl = $(this).parent('.dropdown-submenu');\n parentEl.toggleClass('nav-open');\n parentEl.children('ul').slideToggle();\n if ($(this).attr('aria-expanded') == 'false' || $(this).attr('aria-expanded') == undefined) {\n $(this).attr('aria-expanded', 'true');\n }\n else {\n $(this).attr('aria-expanded', 'false');\n }\n return false;\n });\n $(\".primary-navigation, .mobile-navigation, .secondary-navigation\").on(\"show.bs.dropdown\", \".js-top-level-nav\", function (e) {\n $(this).closest(\"li.dropdown\").addClass(\"open\");\n });\n $(\".primary-navigation, .mobile-navigation, .secondary-navigation\").on(\"hide.bs.dropdown\", \".js-top-level-nav\", function (e) {\n $(this).closest(\"li.dropdown\").removeClass(\"open\");\n });\n //$(\".mobile-navigation\").on(\"show.bs.dropdown\", \".js-top-level-nav\", function (e) {\n // $(this).closest(\"li.dropdown\").addClass(\"open\");\n //});\n //$(\".mobile-navigation\").on(\"hide.bs.dropdown\", \".js-top-level-nav\", function (e) {\n // $(this).closest(\"li.dropdown\").removeClass(\"open\");\n //});\n $('.navbar-toggler').on('click', function () {\n if ($('body').hasClass(\"mobile-nav-open\")) {\n $('body').removeClass(\"mobile-nav-open\");\n $('.js-navbar-scroll').height('auto');\n }\n else {\n var windowHeight = window.innerHeight;\n var headerHeight = $('#globalHeader').outerHeight(true);\n $('body').addClass(\"mobile-nav-open\");\n $('.js-navbar-scroll').height(windowHeight - headerHeight);\n }\n });\n function accomodateHeader() {\n if ($('body').hasClass(\"mobile-nav-open\")) {\n if ($('body').css('overflow') === \"hidden\") {\n var windowHeight = window.innerHeight;\n var headerHeight = $('#globalHeader').outerHeight(true);\n $('.js-navbar-scroll').height(windowHeight - headerHeight);\n }\n else {\n $('body').removeClass(\"mobile-nav-open\");\n $('.js-navbar-scroll').height('auto');\n $('.navbar-nav-container').removeClass('in');\n }\n }\n if ($('body').hasClass(\"sticky-menu\")) {\n var headerHeight = $('header').outerHeight(true);\n var pageWrapperMargin = $('.page-wrapper').css('margin-top');\n if (pageWrapperMargin != \"0px\") {\n $('body.sticky-menu').find('.page-wrapper').css('margin-top', headerHeight);\n }\n }\n }\n ;\n $(window).on(\"resize\", debounce(accomodateHeader, 250, false));\n // $(window).resize(debounce(accomodateHeader, 250, false));\n accomodateHeader();\n});\n$(document).ready(function () {\n $('.momentUtcDate').each(function () {\n if ($(this).is('input')) {\n var momDate = dayjs($(this).val() + ' +0000', 'M/D/YY hh:mm:ss Z');\n $(this).val(momDate.format('l'));\n }\n else {\n var momDate = dayjs(this.innerText + ' +0000', 'M/D/YY hh:mm:ss Z');\n if (momDate.isValid())\n this.innerText = momDate.format('l');\n }\n });\n $('.momentUtcDateTime').each(function () {\n var momDate = dayjs(this.innerText + ' +0000', 'M/D/YY hh:mm:ss Z');\n if (momDate.isValid())\n this.innerText = momDate.format('l LT');\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/jquery.validation.unobtrusive.d.ts\" />\n/// <reference path=\"profile.d.ts\"/>\nclass NZProfileFields {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var me = this;\n if ($(this._widget).find(\".js-mode\").val() == \"ProfileEdit\") {\n $(this._widget).find(\".js-Market\").closest(\".profile-group\").addClass(\"hide\");\n }\n $(this._widget).find(\".span-Market\").closest(\".profile-group\").addClass(\"hide\");\n $(this._widget).find(\".js-Market\").on(\"change\", function (e) {\n if ($(e.currentTarget).find(\"option:selected\").text() == \"Australia\") {\n window.location.href = window.location.pathname + \"?market=b3783eaa94fb5b196a39ba7e300bAU\";\n }\n else if ($(e.currentTarget).find(\"option:selected\").text() == \"United States/Canada\") {\n window.location.href = window.location.pathname + \"?market=c2daff463a1241e6a1833be7040USA\";\n }\n else if ($(e.currentTarget).find(\"option:selected\").text() == \"United Kingdom\") {\n window.location.href = window.location.pathname + \"?market=87da1754c1124a3a9d459d4c365UK\";\n }\n else if ($(e.currentTarget).find(\"option:selected\").text() == \"India\") {\n window.location.href = window.location.pathname + \"?market=f60f436ff42142779d697b0692227d6eIN\";\n }\n else if ($(e.currentTarget).find(\"option:selected\").text() == \"South East Asia\") {\n window.location.href = window.location.pathname + \"?market=7252d824047d48dfb78c32e7f61ca058SG\";\n }\n else if ($(e.currentTarget).find(\"option:selected\").text() == \"Business Events\") {\n window.location.href = window.location.pathname + \"?market=3a94f9a1ec2742238c8a80e499383881BE\";\n }\n else {\n window.location.href = window.location.pathname + \"?market=\";\n }\n });\n $(this._widget).find(\".js-JobRole\").on(\"change\", function (e) {\n var otherRow = \".\" + $(e.currentTarget).attr(\"data-other-field-id\") + \"-row\";\n var otherField = \".\" + $(e.currentTarget).attr(\"data-other-field-id\");\n $(otherField).val(\"\");\n $(otherRow).addClass(\"hide\");\n if ($(e.currentTarget).val() == \"9999\") {\n $(otherRow).removeClass(\"hide\");\n }\n });\n $(this._widget).find(\".js-CompanyName\").on(\"change\", function (e) {\n var otherRow = \".\" + $(e.currentTarget).attr(\"data-other-field-id\") + \"-row\";\n var otherField = \".\" + $(e.currentTarget).attr(\"data-other-field-id\");\n $(otherField).val(\"\");\n $(otherRow).addClass(\"hide\");\n if ($(e.currentTarget).val() == \"9999\") {\n $(otherRow).removeClass(\"hide\");\n }\n });\n //$(this._widget).find(\".js-ABTA_TTANumber\").on(\"keyup\", function () {\n // $(this).val($(this).val().replace(/[^0-9\\.]/g, ''));\n //});\n //$(this._widget).find(\".js-IATANumber\").on(\"keyup\", function () {\n // $(this).val($(this).val().replace(/[^0-9\\.]/g, ''));\n //});\n //$(this._widget).find(\".js-IATANumber\").attr(\"maxlength\", 8);\n //$(this._widget).find(\".js-ABTA_TTANumber\").attr(\"maxlength\", 7);\n //if ($(this._widget).find(\".js-PhysicalAddressCountry\").val() == \"9999\") {\n // $(this._widget).find(\".js-PhysicalAddressStateProvince\").closest(\".form-group\").addClass(\"hide\");\n //}\n //if ($(this._widget).find(\".js-PostalAddressCountry\").val() == \"9999\") {\n // $(this._widget).find(\".js-PostalAddressStateProvince\").closest(\".form-group\").addClass(\"hide\");\n //}\n $(this._widget).find(\"#sameasphysicaladdress\").on(\"click\", function (e) {\n var container = $(e.currentTarget).closest(\".widget-nz-profile-fields\");\n if ($(container).find(\"#sameasphysicaladdress\").is(\":checked\")) {\n $(container).find(\".js-postaladdressgroup\").addClass(\"hide\");\n }\n else {\n $(container).find(\".js-postaladdressgroup\").removeClass(\"hide\");\n }\n });\n $(this._widget).find(\".js-PhysicalAddressCountry\").on(\"change\", function (e) {\n var otherRow = \".\" + $(e.currentTarget).attr(\"data-other-field-id\") + \"-row\";\n var otherField = \".\" + $(e.currentTarget).attr(\"data-other-field-id\");\n $(otherField).val(\"\");\n $(otherRow).addClass(\"hide\");\n var container = $(e.currentTarget).closest(\".widget-nz-profile-fields\");\n var isPostalAddressSameasPhysicalAddress = $(container).find(\"#sameasphysicaladdress\").is(\":checked\");\n var el = $(container).find(\".js-PhysicalAddressStateProvince\");\n var county = $(container).find(\".js-County\");\n var zipCode = $(container).find(\".js-PhysicalAddressZipPostal\");\n var postalAddressCountry = $(container).find(\".PostalAddressCountry\");\n var postalAddressStateProvince = $(container).find(\".js-PostalAddressStateProvince\");\n var postalAddressZipPostal = $(container).find(\".js-PostalAddressZipPostal\");\n $(el).empty();\n $(county).empty();\n if ($(e.currentTarget).val() == \"9999\") {\n var x = 1;\n //$(otherRow).removeClass(\"hide\");\n //$(zipCode).attr(\"data-val-regex\", \"\");\n //$(zipCode).attr(\"data-val-regex-pattern\", \"\");\n //$(zipCode).attr('data-val', 'false');\n //$(el).closest(\".form-group\").addClass(\"hide\");\n //$(el).attr(\"data-val-regex\", \"\");\n //$(el).attr(\"data-val-regex-pattern\", \"\");\n //$(el).attr('data-val', 'false');\n //var form = $(\".form-horizontal\")\n // .removeData(\"validator\") /* added by the raw jquery.validate plugin */\n // .removeData(\"unobtrusiveValidation\");\n //$.validator.unobtrusive.parse(form);\n }\n else {\n $(el).closest(\".form-group\").removeClass(\"hide\");\n var params = {\n countryID: $(e.currentTarget).val(),\n countryType: \"PhysicalAddressCountry\"\n };\n $.ajax({\n url: (\"/Profile/GetStateProvinces\"),\n type: \"GET\",\n data: params,\n dataType: 'json',\n contentType: 'application/x-www-form-urlencoded; charset=UTF-8'\n }).done(function (data) {\n if (data != null) {\n $(zipCode).attr(\"data-val-regex\", data.zipCodeRegexMessage);\n $(zipCode).attr(\"data-val-regex-pattern\", data.zipCodeRegex);\n $.each(data.results, function (value, key) {\n $(el).append('<option value=\"' + key.value + '\">' + key.text + '</option>');\n });\n if (isPostalAddressSameasPhysicalAddress) {\n $(postalAddressCountry).val($(e.currentTarget).val());\n $(postalAddressStateProvince).empty();\n $.each(data.results, function (value, key) {\n $(postalAddressStateProvince).append('<option value=\"' + key.value + '\">' + key.text + '</option>');\n });\n $(postalAddressZipPostal).attr(\"data-val-regex\", data.zipCodeRegexMessage);\n $(postalAddressZipPostal).attr(\"data-val-regex-pattern\", data.zipCodeRegex);\n }\n var mobilephone = $(container).find(\".js-MobilePhoneNumber\");\n var businessphone = $(container).find(\".js-BusinessPhoneNumber\");\n if ($(container).find(\".js-Market :selected\").text() == \"Business Events\" || $(container).find(\".js-market-value\").val() == \"Business Events\") {\n }\n else {\n $(mobilephone).attr(\"data-val-regex\", data.phoneRegexMessage);\n $(mobilephone).attr(\"data-val-regex-pattern\", data.phoneRegex);\n $(businessphone).attr(\"data-val-regex\", data.phoneRegexMessage);\n $(businessphone).attr(\"data-val-regex-pattern\", data.phoneRegex);\n }\n var form = $(\".form-horizontal\")\n .removeData(\"validator\") /* added by the raw jquery.validate plugin */\n .removeData(\"unobtrusiveValidation\");\n // @ts-ignore\n $.validator.unobtrusive.parse(form);\n }\n });\n if ($(e.currentTarget).val() == \"1237\" || $(e.currentTarget).val() == \"1110\" || $(e.currentTarget).val() == \"1254\") {\n $.ajax({\n url: (\"/Profile/GetCounties\"),\n type: \"GET\",\n data: params,\n dataType: 'json',\n contentType: 'application/x-www-form-urlencoded; charset=UTF-8'\n }).done(function (data) {\n if (data != null) {\n $.each(data.results, function (value, key) {\n $(county).append('<option value=\"' + key.value + '\">' + key.text + '</option>');\n });\n }\n });\n }\n }\n });\n $(this._widget).find(\".js-PostalAddressCountry\").on(\"change\", function (e) {\n var otherRow = \".\" + $(e.currentTarget).attr(\"data-other-field-id\") + \"-row\";\n var otherField = \".\" + $(e.currentTarget).attr(\"data-other-field-id\");\n $(otherField).val(\"\");\n $(otherRow).addClass(\"hide\");\n var container = $(e.currentTarget).closest(\".widget-nz-profile-fields\");\n var el = $(container).find(\".js-PostalAddressStateProvince\");\n var zipCode = $(container).find(\".js-PostalAddressZipPostal\");\n $(el).empty();\n if ($(e.currentTarget).val() == \"9999\") {\n var x = 1;\n //$(otherRow).removeClass(\"hide\");\n //$(zipCode).attr(\"data-val-regex\", \"\");\n //$(zipCode).attr(\"data-val-regex-pattern\", \"\");\n //$(zipCode).attr('data-val', 'false');\n //$(el).closest(\".form-group\").addClass(\"hide\");\n //$(el).attr(\"data-val-regex\", \"\");\n //$(el).attr(\"data-val-regex-pattern\", \"\");\n //$(el).attr('data-val', 'false');\n //var form = $(\".form-horizontal\")\n // .removeData(\"validator\") /* added by the raw jquery.validate plugin */\n // .removeData(\"unobtrusiveValidation\");\n //$.validator.unobtrusive.parse(form);\n }\n else {\n $(el).closest(\".form-group\").removeClass(\"hide\");\n var params = {\n countryID: $(e.currentTarget).val(),\n countryType: \"PostalAddressCountry\"\n };\n $.ajax({\n url: (\"/Profile/GetStateProvinces\"),\n type: \"GET\",\n data: params,\n dataType: 'json',\n contentType: 'application/x-www-form-urlencoded; charset=UTF-8'\n }).done(function (data) {\n if (data != null) {\n $(zipCode).attr(\"data-val-regex\", data.zipCodeRegexMessage);\n $(zipCode).attr(\"data-val-regex-pattern\", data.zipCodeRegex);\n var mobilephone = $(container).find(\".js-MobilePhoneNumber\");\n var businessphone = $(container).find(\".js-BusinessPhoneNumber\");\n var form = $(\".form-horizontal\")\n .removeData(\"validator\") /* added by the raw jquery.validate plugin */\n .removeData(\"unobtrusiveValidation\");\n // @ts-ignore\n $.validator.unobtrusive.parse(form);\n $.each(data.results, function (value, key) {\n $(el).append('<option value=\"' + key.value + '\">' + key.text + '</option>');\n });\n }\n });\n }\n });\n $(this._widget).find(\"#profile-registration\").on(\"click\", function (e) {\n // upload images\n e.preventDefault();\n var container = $(e.currentTarget).closest(\".widget-nz-profile-fields\");\n $(container).find(\".Profile-Other-JobRole-span\").remove();\n $(container).find(\".Profile-Other-PhysicalAddressCountry-span\").remove();\n $(container).find(\".Profile-Other-PostalAddressCountry-span\").remove();\n $(container).find(\".Profile-TermsAndConditions-div\").remove();\n $(container).find(\".Profile-IATANumber-div\").remove();\n $(container).find(\".Profile-CompanyName-Other-div\").remove();\n $(container).find(\".Profile-MobilePhoneNumber-div\").remove();\n $(container).find(\".Profile-BusinessPhoneNumber-div\").remove();\n if ($(container).find(\"#sameasphysicaladdress\").is(\":checked\")) {\n me.setPostalAddress(container);\n }\n var isValid = true;\n var form = $(container).find(\"form\");\n if (form.valid()) {\n if ($(container).find(\".js-CompanyName\").length > 0) {\n if ($(container).find(\".js-CompanyName\").val() === \"9999\") {\n if ($(container).find(\".Profile-Other-CompanyName\").val() == \"\") {\n var companyName = $(container).find(\".js-CompanyName\");\n var otherCompanyName = $(container).find(\".Profile-Other-CompanyName\");\n var data = \"<div class='text-danger field-validation-error Profile-CompanyName-Other-div'>\" + $(companyName).attr(\"data-val-required\") + \"</div>\";\n $(container).find(\".Profile-CompanyName-Other-div\").remove();\n $(otherCompanyName).after(data);\n isValid = false;\n }\n }\n }\n //if ($(container).find(\".js-IATANumber\").length > 0) {\n // if ($(container).find(\".js-IATANumber\").val() !== \"\" && $(container).find(\".js-IATANumber\").val().length < 7) {\n // var validationCheckBox = $(container).find(\".js-IATANumber\");\n // var data = \"<div class='text-danger field-validation-error Profile-IATANumber-div'>\" + $(validationCheckBox).attr(\"data-val-regex\") + \"</div>\";\n // $(container).find(\".Profile-IATANumber-div\").remove();\n // $(validationCheckBox).after(data);\n // isValid = false;\n // }\n //}\n //if ($(container).find(\".js-ABTA_TTANumber\").length > 0) {\n // if ($(container).find(\".js-ABTA_TTANumber \").val() !== \"\") {\n // var abtanummberRegex = new RegExp($(container).find(\".js-ABTA_TTANumber\").attr(\"data-val-regex-pattern\"));\n // if (!abtanummberRegex.test($(container).find(\".js-ABTA_TTANumber\").val())) {\n // var validationCheckBox = $(container).find(\".js-ABTA_TTANumber \");\n // var data = \"<div class='text-danger field-validation-error Profile-ABTA_TTANumber-div'>\" + $(validationCheckBox).attr(\"data-val-regex\") + \"</div>\";\n // $(container).find(\".Profile-ABTA_TTANumber-div\").remove();\n // $(validationCheckBox).after(data);\n // isValid = false;\n // }\n // }\n //}\n if ($(container).find(\".js-MobilePhoneNumber\").length > 0) {\n if ($(container).find(\".js-MobilePhoneNumber\").val() !== \"\") {\n if ($(container).find(\".js-Market :selected\").text() == \"Business Events\" || $(container).find(\".js-market-value\").val() == \"Business Events\") {\n isValid = true;\n }\n else {\n var phoneRegex = new RegExp($(container).find(\".js-MobilePhoneNumber\").attr(\"data-val-regex-pattern\"));\n if (!phoneRegex.test($(container).find(\".js-MobilePhoneNumber\").val() + \"\")) {\n var validationCheckBox = $(container).find(\".js-MobilePhoneNumber\");\n var attr = $(validationCheckBox).attr(\"data-val-regex\");\n if (typeof attr !== 'undefined') {\n var data = \"<div class='text-danger field-validation-error Profile-MobilePhoneNumber-div'>\" + $(validationCheckBox).attr(\"data-val-regex\") + \"</div>\";\n $(container).find(\".Profile-MobilePhoneNumber-div\").remove();\n $(container).find(\".helptext-MobilePhoneNumber\").after(data);\n isValid = false;\n }\n }\n }\n }\n }\n if ($(container).find(\".js-BusinessPhoneNumber\").length > 0) {\n if ($(container).find(\".js-BusinessPhoneNumber\").val() !== \"\") {\n if ($(container).find(\".js-Market :selected\").text() == \"Business Events\" || $(container).find(\".js-market-value\").val() == \"Business Events\") {\n isValid = true;\n }\n else {\n var phoneRegex = new RegExp($(container).find(\".js-BusinessPhoneNumber\").attr(\"data-val-regex-pattern\"));\n if (!phoneRegex.test($(container).find(\".js-BusinessPhoneNumber\").val() + \"\")) {\n var validationCheckBox = $(container).find(\".js-BusinessPhoneNumber\");\n $(container).find(\".Profile-BusinessPhoneNumber-div\").remove();\n var data = \"<div class='text-danger field-validation-error Profile-BusinessPhoneNumber-div'>\" + $(validationCheckBox).attr(\"data-val-regex\") + \"</div>\";\n $(container).find(\".Profile-BusinessPhoneNumber-div\").remove();\n $(container).find(\".helptext-BusinessPhoneNumber\").after(data);\n isValid = false;\n }\n else if ($(container).find(\".js-BusinessPhoneNumber\").attr(\"asp-nzprofilefield-country-id\") === \"1237\" ||\n $(container).find(\".js-BusinessPhoneNumber\").attr(\"asp-nzprofilefield-country-id\") === \"1110\" ||\n $(container).find(\".js-BusinessPhoneNumber\").attr(\"asp-nzprofilefield-country-id\") === \"1254\") {\n if ($(container).find(\".js-BusinessPhoneNumber\").val() !== \"\" && $(container).find(\".js-BusinessPhoneNumber\").val().length < 10 || $(container).find(\".js-BusinessPhoneNumber\").val().length > 15) {\n var attr = $(validationCheckBox).attr(\"data-val-regex\");\n if (typeof attr !== 'undefined') {\n var validationCheckBox = $(container).find(\".js-BusinessPhoneNumber\");\n $(container).find(\".Profile-BusinessPhoneNumber-div\").remove();\n var data = \"<div class='text-danger field-validation-error Profile-BusinessPhoneNumber-div'>\" + $(validationCheckBox).attr(\"data-val-regex\") + \"</div>\";\n $(container).find(\".Profile-BusinessPhoneNumber-div\").remove();\n $(container).find(\".helptext-BusinessPhoneNumber\").after(data);\n isValid = false;\n }\n }\n }\n }\n }\n }\n if ($(container).find(\".js-TermsAndConditions\").length > 0) {\n if (!$(container).find(\".js-TermsAndConditions\").is(\":checked\")) {\n var validationCheckBox = $(container).find(\".js-TermsAndConditions\");\n var data = \"<div class='text-danger field-validation-error Profile-TermsAndConditions-div'>\" + $(validationCheckBox).attr(\"data-val-required\") + \"</div>\";\n $(container).find(\".Profile-TermsAndConditions-div\").remove();\n $(container.find(\".checkbox-other-TermsAndConditions\")).after(data);\n isValid = false;\n }\n }\n if ($(container).find(\".js-JobRole\").val() === \"9999\" && $(container).find(\".Profile-Other-JobRole\").val() === \"\") {\n $(container).find(\".Profile-Other-JobRole\").addClass(\"input-validation-error\");\n var otherTextBox = $(container).find(\".Profile-Other-JobRole\");\n var data = \"<span class='text-danger field-validation-error Profile-Other-JobRole-span'>\" + $(otherTextBox).attr(\"data-required-message\") + \"</span>\";\n $(container).find(\".Profile-Other-JobRole-span\").remove();\n $(otherTextBox).after(data);\n isValid = false;\n }\n else {\n $(container).find(\".Profile-Other-JobRole\").removeClass(\"input-validation-error\");\n }\n //if ($(container).find(\".js-PhysicalAddressCountry\").val() === \"9999\" && $(container).find(\".Profile-Other-PhysicalAddressCountry\").val() === \"\") {\n // $(container).find(\".Profile-Other-PhysicalAddressCountry\").addClass(\"input-validation-error\");\n // var otherTextBox = $(container).find(\".Profile-Other-PhysicalAddressCountry\");\n // var data = \"<span class='text-danger field-validation-error Profile-Other-PhysicalAddressCountry-span'>\" + $(otherTextBox).attr(\"data-required-message\") + \"</span>\";\n // $(container).find(\".Profile-Other-PhysicalAddressCountry-span\").remove();\n // $(otherTextBox).after(data);\n // isValid = false;\n //}\n //else {\n // $(container).find(\".Profile-Other-PhysicalAddressCountry\").removeClass(\"input-validation-error\")\n //}\n //if ($(container).find(\".js-PostalAddressCountry\").val() === \"9999\" && $(container).find(\".Profile-Other-PostalAddressCountry\").val() === \"\") {\n // $(container).find(\".Profile-Other-PostalAddressCountry\").addClass(\"input-validation-error\");\n // var otherTextBox = $(container).find(\".Profile-Other-PostalAddressCountry\");\n // var data = \"<span class='text-danger field-validation-error Profile-Other-PostalAddressCountry-span'>\" + $(otherTextBox).attr(\"data-required-message\") + \"</span>\";\n // $(container).find(\".Profile-Other-PostalAddressCountry-span\").remove();\n // $(otherTextBox).after(data);\n // isValid = false;\n //}\n //{\n // $(container).find(\".Profile-Other-PostalAddressCountry\").remove(\"input-validation-error\");\n //}\n if (isValid) {\n var imageOne = $(\".js-image-upload-container\")[0];\n var imageTwo = $(\".js-image-upload-container\")[1];\n if (imageOne != undefined) {\n uploadProfileImage(imageOne, function () {\n if (imageTwo != undefined) {\n uploadProfileImage(imageTwo, function () {\n form.trigger(\"submit\");\n });\n }\n else {\n form.trigger(\"submit\");\n }\n });\n }\n else {\n form.trigger(\"submit\");\n }\n }\n }\n else {\n return false;\n }\n });\n }\n setPostalAddress(container) {\n $(container).find(\".js-PostalAddressStreet1\").val($(container).find(\".js-PhysicalAddressStreet1\").val());\n $(container).find(\".js-PostalAddressStreet2\").val($(container).find(\".js-PhysicalAddressStreet2\").val());\n $(container).find(\".js-PostalAddressStateProvince\").val($(container).find(\".js-PhysicalAddressStateProvince\").val());\n $(container).find(\".js-PostalAddressSuburb\").val($(container).find(\".js-PhysicalAddressSuburb\").val());\n $(container).find(\".js-PostalAddressCity\").val($(container).find(\".js-PhysicalAddressCity\").val());\n $(container).find(\".js-PostalAddressCountry\").val($(container).find(\".js-PhysicalAddressCountry\").val());\n $(container).find(\".js-PostalAddressStateProvince\").val($(container).find(\".js-PhysicalAddressStateProvince\").val());\n //var el = $(container).find(\".js-PostalAddressStateProvince\");\n //$(el).empty();\n //if ($(container).find(\".js-PhysicalAddressCountry\").val() !== \"9999\") {\n // var params = {\n // countryID: $(container).find(\".js-PostalAddressCountry\").val(),\n // countryType: \"PhysicalAddressCountry\"\n // };\n // $.ajax({\n // url: (\"/Profile/GetStateProvinces\"),\n // type: \"GET\",\n // data: params,\n // dataType: 'json',\n // contentType: 'application/x-www-form-urlencoded; charset=UTF-8'\n // }).done(function (data) {\n // if (data != null) {\n // $.each(data.results,\n // function (value, key) {\n // $(el).append('<option value=\"' + key.value + '\">' + key.text + '</option>');\n // });\n // $(el).val($(container).find(\".js-PhysicalAddressStateProvince\").val());\n // }\n // });\n //}\n //else {\n // $(container).find(\".js-PostalAddressStateProvince\").val($(container).find(\".js-PhysicalAddressStateProvince\").val());\n //}\n $(container).find(\".js-PostalAddressZipPostal\").val($(container).find(\".js-PhysicalAddressZipPostal\").val());\n $(container).find(\".Profile-Other-PostalAddressCountry\").val($(container).find(\".Profile-Other-PhysicalAddressCountry\").val());\n }\n}\n$(function () {\n // locate all product list widgets on page\n $(\".widget-nz-profile-fields\").each(function (index, item) {\n $(item).data(\"manager\", new NZProfileFields(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass Quiz {\n constructor() {\n this.isQuizCompleted = false;\n this.isPassed = false;\n this.canTryAgain = false;\n this.submittingAnswer = false;\n }\n StartQuiz(el) {\n this.$quizWrapper = $(el).closest(\".widget-quiz-wrapper\");\n if (this.$quizWrapper.find('#quizTimedQuiz').val() === \"true\")\n stopTimer(el);\n var quizID = parseInt(this.$quizWrapper.attr(\"data-quizid\"));\n var parent = this;\n parent.isQuizCompleted = false;\n parent.isPassed = false;\n parent.canTryAgain = false;\n parent.score = 0;\n $(\".widget-quiz-retry\").addClass(\"hide\");\n $(\".widget-quiz-summary-fail\").addClass(\"hide\");\n $.ajax({\n contentType: \"application/json\",\n method: \"GET\",\n url: '/API/Content/QuizStart/' + quizID\n }).done(function (response) {\n if (response.success == true) {\n switch (response.data.status) {\n case 1:\n // New Session\n break;\n case 2:\n // Existing Session\n break;\n case 3: // Already attempted max times\n case 4: // Access Denied\n case 5: // Retry Lockout\n $(\"#general-message-headline\").text(response.data.errorHeadline);\n $(\"#general-message-text\").text(response.data.errorText);\n $(\"#general-message-modal\").modal();\n return;\n }\n var rID = response.data.identifier;\n var elapsedSeconds = response.data.elapsedSeconds;\n var totalSeconds = parent.$quizWrapper.find('#quizSeconds').val() - elapsedSeconds;\n parent.$quizWrapper.find('#quizSeconds').val(totalSeconds);\n parent.$quizWrapper.attr(\"data-rid\", rID);\n $(response.data.questionsAlreadyAnswered).each(function (i, e) {\n parent.$quizWrapper.find(\".widget-quiz-question[data-questionid='\" + e + \"']\").remove();\n });\n parent.$quizWrapper.find(\".widget-quiz-intro\").addClass(\"hide\");\n parent.$quizWrapper.find(\".widget-quiz-question:first\").removeClass(\"hide\");\n parent.$quizWrapper.attr(\"data-currentquestionnumber\", parent.$quizWrapper.find('#quizFirstQuestion').val());\n if (parent.$quizWrapper.find('#quizTimedQuiz').val() === \"true\") {\n startTimer(el);\n }\n }\n });\n }\n SelectQuizAnswer(el) {\n $(el).closest(\".widget-quiz-question-answers\").find(\".widget-quiz-question-selected\").removeClass(\"widget-quiz-question-selected\");\n $(el).parent().addClass(\"widget-quiz-question-selected\");\n $(el).closest(\".widget-quiz-question\").find(\".widget-quiz-question-submit\").removeClass(\"disabled\");\n }\n SelectQuizMatch(el) {\n var proceed = true;\n $(\".widget-quiz-answer-match\").each(function (i, e) {\n var selected = $(e).val();\n if (selected == \"\") {\n proceed = false;\n }\n });\n if (proceed) {\n $(el).closest(\".widget-quiz-question-answers\").find(\".widget-quiz-question-selected\").removeClass(\"widget-quiz-question-selected\");\n $(el).parent().addClass(\"widget-quiz-question-selected\");\n $(el).closest(\".widget-quiz-question\").find(\".widget-quiz-question-submit\").removeClass(\"disabled\");\n }\n }\n SubmitAnswer(el) {\n this.$quizWrapper = $(el).closest(\".widget-quiz-wrapper\");\n var $quizQuestion = $(el).closest(\".widget-quiz-question\");\n var quizID = parseInt(this.$quizWrapper.attr(\"data-quizid\"));\n var quizLanguageID = parseInt(this.$quizWrapper.attr(\"data-quizlanguageid\"));\n var questionID = parseInt($quizQuestion.attr(\"data-questionid\"));\n var answerID = parseInt($quizQuestion.find(\".widget-quiz-question-selected\").attr(\"data-aid\"));\n // or\n var answers = [];\n $quizQuestion.find(\".widget-quiz-answer-match\").each(function (i, e) {\n answers.push({\n ItemId: parseInt($(e).attr(\"data-answernumber\")),\n MatchedItemId: $(e).val()\n });\n });\n var timedOut = this.$quizWrapper.find('#quizTimedOut').val();\n var dto = {\n QuizLanguageID: quizLanguageID,\n QuestionID: questionID,\n AnswerID: answerID,\n Answers: answers,\n TimedOut: timedOut\n };\n var parent = this;\n $(el).addClass(\"disabled\");\n $.ajax({\n data: JSON.stringify(dto),\n contentType: \"application/json; charset=utf-8\",\n processData: true,\n method: \"POST\",\n url: '/API/Content/QuizSubmitAnswer/' + this.$quizWrapper.attr(\"data-rid\"),\n headers: {\n 'RequestVerificationToken': getAntiForgeryToken()\n }\n }).done(function (response) {\n if (response.success == true) {\n if ((response.data.isCorrect == true) || (response.data.isCorrect == false && response.data.mustAnswerCorrect == false)) {\n var currentQuestionNumber = parseInt($quizQuestion.attr(\"data-questionnumber\"));\n parent.$quizWrapper.attr(\"data-currentquestionnumber\", currentQuestionNumber + 1);\n }\n $quizQuestion.addClass(\"hide\");\n parent.canTryAgain = response.data.allowRetry;\n if (response.data.isCompleted == true) {\n parent.isQuizCompleted = true;\n parent.isPassed = response.data.isPassed;\n parent.score = response.data.score;\n if (parent.isPassed) {\n if (parent.$quizWrapper.find('#quizTimedQuiz').val() === \"true\")\n stopTimer(el);\n // Check if a Level Up has occurred\n $.ajax({\n contentType: \"application/json\",\n method: \"GET\",\n url: '/API/Notification/GetNotifications'\n }).done(function (response) {\n if (response.length > 0) {\n $(\"#notification-container\").html(response);\n }\n });\n }\n }\n if ((response.data.title !== undefined && response.data.title.length > 0) || (response.data.text !== undefined && response.data.text.length > 0)) {\n $(\".widget-quiz-answer-result-title\").html(response.data.title);\n $(\".widget-quiz-answer-result-text\").html(response.data.text);\n $(\".widget-quiz-answer-result\").removeClass(\"hide\");\n }\n else {\n if (parent.isQuizCompleted == true) {\n if (parent.isPassed == true) {\n parent.$quizWrapper.find(\".widget-quiz-summary-success\").removeClass(\"hide\");\n }\n else {\n if (parent.canTryAgain == true) {\n $(\".widget-quiz-retry\").removeClass(\"hide\");\n }\n stopTimer(el);\n parent.$quizWrapper.find(\".widget-quiz-summary-fail\").removeClass(\"hide\");\n }\n }\n else {\n parent.NextQuestion(el);\n }\n }\n if (parent.isQuizCompleted == true) {\n if (parent.isPassed == true) {\n globalThis.gage.TrackWidget(parent.$quizWrapper);\n }\n }\n }\n parent.submittingAnswer = false;\n });\n }\n NextQuestion(el) {\n var $quizWrapper = $(el).closest(\".widget-quiz-wrapper\");\n var $quizQuestion = $(el).closest(\".widget-quiz-question\");\n var currentQuestionNumber = parseInt($quizWrapper.attr(\"data-currentquestionnumber\"));\n $(\".widget-quiz-answer-result\").addClass(\"hide\");\n var completedWithNext = $quizWrapper.find(\".widget-quiz-question[data-questionnumber='\" + currentQuestionNumber + \"']\").text().length < 1;\n if (this.isQuizCompleted == true || completedWithNext) {\n if (this.isPassed == true) {\n $quizWrapper.find(\".widget-quiz-summary-success\").removeClass(\"hide\");\n }\n else {\n if (this.canTryAgain == true) {\n $(\".widget-quiz-retry\").removeClass(\"hide\");\n }\n stopTimer(el);\n $quizWrapper.find(\".widget-quiz-summary-fail\").removeClass(\"hide\");\n }\n }\n else {\n $quizWrapper.find(\".widget-quiz-question-selected\").removeClass(\"widget-quiz-question-selected\");\n $quizWrapper.find(\".widget-quiz-question[data-questionnumber='\" + currentQuestionNumber + \"']\").removeClass(\"hide\");\n }\n }\n}\nvar quiz = new Quiz();\n$(document).ready(function () {\n $(\"body\").on(\"click\", \".widget-quiz-question-start\", function () {\n quiz.StartQuiz(this);\n });\n $(\"body\").on(\"click\", \".widget-quiz-retry\", function () {\n location.reload();\n });\n $(\"body\").on(\"click\", \".widget-quiz-answer-selection\", function () {\n quiz.SelectQuizAnswer(this);\n });\n $(\"body\").on(\"change\", \".widget-quiz-answer-match\", function () {\n quiz.SelectQuizMatch(this);\n });\n $(\"body\").on(\"click\", \".widget-quiz-question-submit\", function () {\n if (quiz.submittingAnswer === false) {\n globalThis.gage.log(\"Clicked from \" + $(this).attr(\"data-questionid\"));\n quiz.SubmitAnswer(this);\n }\n });\n $(\"body\").on(\"click\", \".widget-quiz-question-next\", function () { quiz.NextQuestion(this); });\n $(\".widget-quiz-wrapper\").each(function () { autoStart(this); });\n $(\".widget-quiz-matches-dropdown, .js-widget-quiz-selection\").on(\"click\", function (e) {\n $(e.target).closest(\".widget-quiz-answer-box-a\").find(\".widget-quiz-selection\").addClass(\"hide\");\n var menuopt = $(this).attr(\"data-controls\");\n if ($(\"#\" + menuopt).hasClass(\"hide\")) {\n $(\"#\" + menuopt).removeClass(\"hide\");\n }\n else {\n $(\"#\" + menuopt).addClass(\"hide\");\n }\n var bodyClickHandler = function (e) {\n if ($(e.target).closest(\".widget-quiz-matches\").length > -1) {\n if (!$(e.target).hasClass(\"widget-quiz-matches-dropdown\") && $(e.target).closest(\".widget-quiz-matches-dropdown\").length == 0) {\n if (!$(e.target).hasClass(\"js-widget-quiz-selection\") && $(e.target).closest(\".js-widget-quiz-selection\").length == 0) {\n $(\"#\" + menuopt).addClass(\"hide\");\n $.each($(\".widget-quiz-selection\"), function (i, e) {\n if ($(this).html() === \"\") {\n $(this).addClass(\"hide\");\n }\n else {\n $(this).removeClass(\"hide\");\n }\n });\n $(\"body\").off(\"click\", bodyClickHandler);\n }\n }\n }\n };\n $(\"body\").on(\"click\", bodyClickHandler);\n });\n $(\".widget-quiz-match-box\").on(\"click\", function (e) {\n var parentEl = $(e.target).closest(\".widget-quiz-answer-box-a\");\n if (parentEl.length > -1) {\n var buttonText = $(this).find(\".widget-quiz-match-box-text\").text();\n buttonText = buttonText.trim();\n if (buttonText.length > 0) {\n var originalLength = buttonText.length;\n var buttonText = buttonText.substring(0, 69);\n if (originalLength > 70) {\n buttonText += \"...\";\n }\n $(parentEl).find(\".widget-quiz-matches-dropdown .js-btn-text\").text(buttonText);\n }\n var match = $(e.target).closest(\".widget-quiz-match-box\");\n var matchId = $(match).attr(\"data-quizquestionanswerid\");\n $(parentEl).find(\".widget-quiz-answer-match\").val(matchId);\n var html = match.html();\n $(parentEl).find(\".widget-quiz-selection\").html(\"<div class='widget-quiz-match-box clearfix'>\" + html + \"</div>\");\n $(\".widget-quiz-selection\").removeClass(\"hide\");\n }\n var questionContainer = $(e.target).closest(\".widget-quiz-question\");\n var answers = $(questionContainer).find(\".widget-quiz-answer-match\");\n var complete = true;\n $.each(answers, function (i, e) {\n if ($(e).val() == \"\") {\n complete = false;\n }\n });\n if (complete) {\n $(questionContainer).find(\".widget-quiz-question-submit\").removeClass(\"disabled\");\n }\n });\n});\nfunction autoStart(el) {\n var $quizWrapper = $(el).closest(\".widget-quiz-wrapper\");\n if ($quizWrapper.find('#quizFreshStart').val() === \"false\") {\n quiz.StartQuiz(el);\n }\n}\nvar interval;\nfunction startTimer(el) {\n var $quizWrapper = $(el).closest(\".widget-quiz-wrapper\");\n var second = $quizWrapper.find('#quizSeconds').val() % 60;\n var totalMinutes = $quizWrapper.find('#quizSeconds').val() / 60;\n var minute = totalMinutes % 60;\n var hour = Math.floor(totalMinutes / 60);\n var hours = hour < 10 ? '0' + hour : hour;\n var minutes = minute < 10 ? '0' + minute : minute;\n var seconds = second < 10 ? '0' + second : second;\n var timer2 = hours + \":\" + minutes + \":\" + seconds;\n interval = setInterval(function () {\n var timer = timer2.split(':');\n var hour = parseInt(timer[0], 10);\n var minute = parseInt(timer[1], 10);\n var second = parseInt(timer[2], 10);\n --second;\n if (second < 0) {\n --minute;\n second = 59;\n }\n if (minute < 0) {\n --hour;\n minute = 59;\n }\n if (hour < 0) {\n second = 0;\n minute = 0;\n hour = 0;\n clearInterval(interval);\n $quizWrapper.find('#quizTimedOut').val(true);\n }\n var minutes = (minute < 10) ? '0' + minute : minute;\n var seconds = (second < 10) ? '0' + second : second;\n $quizWrapper.find('.quiz-countdown').html(hours + \":\" + minutes + ':' + seconds);\n timer2 = hours + \":\" + minutes + ':' + seconds;\n }, 1000);\n}\nfunction stopTimer(el) {\n var $quizWrapper = $(el).closest(\".widget-quiz-wrapper\");\n clearInterval(interval);\n $quizWrapper.find('#quizTimedOut').val(false);\n}\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/bootbox.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\nexport class CatalogProductList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n LoadMore(button) {\n var params = this.buildParams();\n params.ViewType = $(button).attr(\"data-view-type\");\n if (params.ViewType == \"viewall\") {\n $(button).addClass(\"disabled\");\n }\n var me = this;\n var categoryIds = $(button).closest(\".catalog-product-list\").find(\".js-catalog-filter\").find(\".js-child-item-category:checked\").map(function () {\n return $(this).attr(\"data-identifier\");\n }).get().join(\",\");\n params.ItemCategory = categoryIds;\n var url = '/Content/RenderProductList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseInt(request.getResponseHeader(\"X-TotalPages\"));\n $(me._widget).find(\".js-product-list\").append(data);\n if ((me._totalPages == (me._pageIndex + 1)) || (params.ViewType != \"viewall\" && params.ViewType != \"viewmore\")) {\n $(me._widget).find(\".btn-view-more\").addClass(\"hidden\");\n }\n }));\n }\n showMobileFilter(e) {\n var options = {\n content: \"panel-product-list\",\n origin: $(e)\n };\n var content = $(this._widget).find('.catalog-filter').html();\n this._globalModal.openGlobalModal(content, \"panel\", options);\n }\n hideMobileFilter() {\n this._globalModal.closeGlobalModal();\n }\n initialize() {\n this._pageIndex = 0;\n this._categoryIdentifier = $(this._widget).attr(\"data-category-identifier\");\n this._totalPages = parseInt($(this._widget).attr(\"data-total-pages\"));\n this._take = parseInt($(this._widget).attr(\"data-take\"));\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._sortBy = $(this._widget).attr(\"data-sort-by\");\n this._globalModal = new GlobalModal(this._widgetId);\n this.bindControls();\n }\n bindControls() {\n // VB lives on\n var me = this;\n $(this._widget).find(\".btn-view-more\").on(\"click\", function () {\n me.LoadMore(this);\n });\n $(this._widget).find(\".js-accordion-parent\").on(\"click\", function (e) {\n e.preventDefault();\n $(e.currentTarget).find('i').toggleClass('fa-plus fa-minus');\n });\n $(this._widget).find(\".js-product-sorting\").on(\"click\", function (e) {\n e.preventDefault();\n var value = \"\";\n var sortBy = $(e.currentTarget).attr(\"data-sortby\");\n $(e.currentTarget).closest(\".results-filter\").find(\".sorting\").remove();\n if (sortBy === \"points\") {\n if ($(e.currentTarget).attr(\"data-sorttype\") !== \"asc\") {\n $(e.currentTarget).attr(\"data-sorttype\", \"asc\");\n value = \"pointsascending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-up-long\\\"> </span>\");\n }\n else {\n $(e.currentTarget).attr(\"data-sorttype\", \"desc\");\n value = \"pointsdescending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-down-long\\\"> </span>\");\n }\n }\n else if (sortBy === \"name\") {\n if ($(e.currentTarget).attr(\"data-sorttype\") !== \"asc\") {\n $(e.currentTarget).attr(\"data-sorttype\", \"asc\");\n value = \"alphabeticascending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-up-long\\\"> </span>\");\n }\n else {\n $(e.currentTarget).attr(\"data-sorttype\", \"desc\");\n value = \"alphabeticdescending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-down-long\\\"> </span>\");\n }\n }\n else if (sortBy === \"recent\") {\n if ($(e.currentTarget).attr(\"data-sorttype\") !== \"asc\") {\n $(e.currentTarget).attr(\"data-sorttype\", \"asc\");\n value = \"recentascending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-up-long\\\"> </span>\");\n }\n else {\n $(e.currentTarget).attr(\"data-sorttype\", \"desc\");\n value = \"recentdescending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-down-long\\\"> </span>\");\n }\n }\n else if (sortBy === \"publish\") {\n if ($(e.currentTarget).attr(\"data-sorttype\") !== \"asc\") {\n $(e.currentTarget).attr(\"data-sorttype\", \"asc\");\n value = \"publishascending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-up-long\\\"> </span>\");\n }\n else {\n $(e.currentTarget).attr(\"data-sorttype\", \"desc\");\n value = \"publishdescending\";\n $(e.currentTarget).append(\"<span class=\\\"pull-right sorting fa-solid fa-down-long\\\"> </span>\");\n }\n }\n $(me._widget).attr(\"data-sort-by\", value);\n me._sortBy = value;\n me.applySort($(e.currentTarget));\n //me.applySorting(value);\n });\n $(this._widget).find('.js-mobile-filter').on('click', function () {\n me.showMobileFilter(this);\n });\n $(this._widget).find(\".js-clear-product-filter\").on('click', function (e) {\n e.preventDefault();\n var baseUrl = [location.protocol, '//', location.host, location.pathname].join(''), urlQueryString = document.location.search;\n if (urlQueryString) {\n var key = \"itemcategory\";\n var params = \"\";\n var removeRegex = new RegExp('([\\?&])' + key + '=[^&;]+[&;]?');\n params = urlQueryString.replace(removeRegex, \"$1\");\n params = params.replace(/[&;]$/, \"\");\n window.history.replaceState({}, \"\", baseUrl + params);\n window.location.href = baseUrl + params;\n }\n // window.location.href = baseUrl;\n });\n $(this._widget).find('.js-apply-product-filter').on('click', function (e) {\n e.preventDefault();\n me.applyFilter($(e.currentTarget));\n //var categoryIds = $(e.currentTarget).closest(\".js-catalog-filter\").find(\".js-child-item-category:checked\").map(function () {\n // return $(this).attr(\"data-identifier\");\n //}).get().join(\",\");\n //var key = \"itemcategory\";\n //var value = categoryIds;\n //var baseUrl = [location.protocol, '//', location.host, location.pathname].join(''),\n // urlQueryString = location.search,\n // newParam = key + '=' + categoryIds,\n // params = '?' + newParam;\n //// If the \"search\" string exists, then build params from it\n //if (urlQueryString) {\n // var updateRegex = new RegExp('([\\?&])' + key + '[^&]*');\n // var removeRegex = new RegExp('([\\?&])' + key + '=[^&;]+[&;]?');\n // if (typeof value == 'undefined' || value == null || value === '') { // Remove param if value is empty\n // params = urlQueryString.replace(removeRegex, \"$1\");\n // params = params.replace(/[&;]$/, \"\");\n // } else if (urlQueryString.match(updateRegex) !== null) { // If param exists already, update it\n // var oldValue = me.getParameterByName(key);\n // var urlValue = \"\";\n // var remove = me.compareArrays(oldValue.split(\",\"), value.split(\",\"));\n // var add = me.compareArrays(value.split(\",\"), oldValue.split(\",\"));\n // var modifiedArray = oldValue.split(\",\").filter(el => remove.indexOf(el) < 0);\n // modifiedArray = modifiedArray.concat(add);\n // var newValue = modifiedArray.join(\",\");\n // if (urlQueryString.indexOf(key + \"=\") !== -1) {\n // urlValue = urlQueryString.replace('&' + key + '=' + oldValue, '&' + key + '=' + newValue);\n // }\n // else {\n // urlValue = urlQueryString.replace(key + '=' + oldValue, '?' + key + '=' + value);\n // }\n // params = urlValue;\n // } else { // Otherwise, add it to end of query string\n // params = urlQueryString + '&' + newParam;\n // }\n //}\n //history.pushState({ state: 1, rand: Math.random() }, '', urlValue);\n //window.location.href = baseUrl + params;\n });\n if ($(\"input[name=bundle]:checked\").length) {\n $(\"input[name=bundle]:checked\").each(function (i, el) {\n $(el).closest(\".overlay-triangle\").addClass(\"red-triangle\");\n });\n $(\".js-customize-multiple\").removeAttr(\"disabled\");\n }\n $(\"body\").on(\"click\", \"input[name=bundle]\", function () {\n var values = [];\n var enablesmultipledownload = [];\n $(\"input[name=bundle]\").closest(\".overlay-triangle\").removeClass(\"red-triangle\");\n $(\"input[name=bundle]:checked\").each(function (i, el) {\n values.push($(el).val());\n if ($(el).attr(\"data-enables-multipledownload\") === \"True\") {\n enablesmultipledownload.push($(el).val());\n }\n $(el).closest(\".overlay-triangle\").addClass(\"red-triangle\");\n });\n if (values.length) {\n $(\".js-customize-multiple\").removeAttr(\"disabled\");\n }\n else {\n $(\".js-customize-multiple\").attr(\"disabled\", \"true\");\n }\n if (enablesmultipledownload.length) {\n $(\".js-download-multiple\").removeAttr(\"disabled\");\n }\n else {\n $(\".js-download-multiple\").attr(\"disabled\", \"true\");\n }\n });\n $(\"body\").on(\"click\", \".js-unselect-all\", function () {\n $(\"input[name=bundle]\").closest(\".overlay-triangle\").removeClass(\"red-triangle\");\n $(\".js-customize-multiple\").attr(\"disabled\", \"true\");\n $(\".js-download-multiple\").attr(\"disabled\", \"true\");\n $(\"input[name=bundle]:checked\").each(function (i, el) {\n $(el).prop(\"checked\", false);\n });\n });\n $(\"body\").on(\"click\", \".js-select-all\", function () {\n $(\"input[name=bundle]\").closest(\".overlay-triangle\").addClass(\"red-triangle\");\n $(\".js-customize-multiple\").removeAttr(\"disabled\");\n $(\".js-download-multiple\").removeAttr(\"disabled\");\n $(\"input[name=bundle]\").each(function (i, el) {\n $(el).prop(\"checked\", true);\n });\n });\n $(\"body\").on(\"click\", \".js-download-multiple\", function (e) {\n e.preventDefault();\n var array = [];\n $(\"input[name=bundle]\").each(function (i, el) {\n if ($(el).prop(\"checked\") === true) {\n array.push($(el).closest(\".catalog-item\").attr(\"data-product-catalog-assignment\"));\n }\n });\n var pcaIdentfiers = array.join(\",\");\n var params = { pcaIdentifiers: \"\" };\n params.pcaIdentifiers = array.join(\",\");\n var url = \"/Catalog/Product/DownloadAllFiles?languageId=1001&pcaIdentifiers=\" + pcaIdentfiers;\n window.location.href = url;\n });\n $(\"body\").on(\"click\", \".js-customize-multiple\", function (e) {\n e.preventDefault();\n var array = [];\n var url = $(e.currentTarget).closest(\".widget.catalog-product-list\").attr(\"data-productdetail-url\");\n $(\"input[name=bundle]\").each(function (i, el) {\n if ($(el).prop(\"checked\") === true) {\n array.push($(el).closest(\".catalog-item\").attr(\"data-product-catalog-assignment\"));\n }\n });\n var assigmentIdentfiers = array.join(\",\");\n document.location.href = url + \"?product-id=\" + assigmentIdentfiers;\n });\n if ($(this._widget).find('#defaultfilterexpand').val() == \"expandfirst\") {\n $('.accordion .accordion-group .accordion-heading a').eq(0).trigger('click');\n }\n else if (($(this._widget).find('#defaultfilterexpand').val() == \"expandall\")) {\n $('.accordion .accordion-group .accordion-heading a').trigger('click');\n }\n /* Handle product overlay click */\n $(\".js-download-menu-overlay\").on(\"click\", function (event) {\n var xScreenPos = event.screenX;\n var yScreenPos = event.screenY;\n var productContainer = $(this).closest(\"li\");\n if (xScreenPos != 0 && yScreenPos != 0) {\n var xLocation = event.pageX - $(this).offset().left;\n var yLocation = event.pageY - $(this).offset().top;\n if ($(productContainer).hasClass(\"product-list-view-item\")) {\n var imageColumnWidth = $(productContainer).find(\".product-list-image-wrapper\").outerWidth();\n xLocation = xLocation - imageColumnWidth;\n }\n $(productContainer).find(\".dropdown-menu\").css({\n \"top\": yLocation,\n \"left\": xLocation\n });\n }\n else {\n $(productContainer).find(\".dropdown-menu\").css({\n \"top\": \"100%\",\n \"left\": \"0\"\n });\n }\n });\n /* Handle mouseover of customization multiselect checkbox */\n //$(\".js-overlay-triangle\").trigger(\"hover\", (\n // function () {\n // $(this).closest(\"li.catalog-item.product\").find(\".js-product-tile-overlay\").addClass(\"hover\");\n // }, function () {\n // $(this).closest(\"li.catalog-item.product\").find(\".js-product-tile-overlay\").removeClass(\"hover\");\n // }\n //);\n $(\".js-overlay-triangle\").on(\"mouseenter\", function () {\n $(this).closest(\"li.catalog-item.product\").find(\".js-product-tile-overlay\").addClass(\"hover\");\n }, function () {\n $(this).closest(\"li.catalog-item.product\").find(\".js-product-tile-overlay\").removeClass(\"hover\");\n }).on(\"mouseleave\", function () {\n $(this).closest(\"li.catalog-item.product\").find(\".js-product-tile-overlay\").removeClass(\"hover\");\n }, function () {\n $(this).closest(\"li.catalog-item.product\").find(\".js-product-tile-overlay\").addClass(\"hover\");\n });\n }\n applyFilter(button) {\n this._pageIndex = 0;\n var customizationcontainer = $(this._widget).find(\".js-customization-container\");\n var norecordscontainer = $(this._widget).find(\".no-data-container\");\n $(norecordscontainer).addClass(\"hide\");\n var categoryIds = $(button).closest(\".js-catalog-filter\").find(\".js-child-item-category:checked\").map(function () {\n return $(this).attr(\"data-identifier\");\n }).get().join(\",\");\n var params = {\n Identifier: this._categoryIdentifier,\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n ViewType: \"\",\n ItemCategory: categoryIds\n };\n var me = this;\n var url = '/Content/RenderProductList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseInt(request.getResponseHeader(\"X-TotalPages\"));\n $(customizationcontainer).show();\n if (me._totalPages === 0) {\n $(customizationcontainer).hide();\n $(norecordscontainer).removeClass(\"hide\");\n }\n $(me._widget).find(\".js-product-list\").html(data);\n $(me._widget).find(\".btn-view-more\").show();\n $(me._widget).find(\".btn-view-more\").removeClass(\"hide\");\n if (me._totalPages === (me._pageIndex + 1)) {\n $(me._widget).find(\".btn-view-more\").hide();\n }\n }));\n }\n applySort(button) {\n var categoryIds = $(button).closest(\".js-catalog-filter\").find(\".js-child-item-category:checked\").map(function () {\n return $(this).attr(\"data-identifier\");\n }).get().join(\",\");\n var params = {\n Identifier: this._categoryIdentifier,\n Take: this._take,\n PageIndex: 0,\n SortBy: this._sortBy,\n ViewType: \"\",\n ItemCategory: categoryIds\n };\n var me = this;\n var url = '/Content/RenderProductList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseInt(request.getResponseHeader(\"X-TotalPages\"));\n $(me._widget).find(\".js-product-list\").html(data);\n $(me._widget).find(\".btn-view-more\").show();\n if (me._totalPages === (me._pageIndex + 1)) {\n $(me._widget).find(\".btn-view-more\").hide();\n }\n }));\n }\n //private applySorting(value) {\n // var me = this;\n // var key = \"sortby\";\n // var baseUrl = [location.protocol, '//', location.host, location.pathname].join(''),\n // urlQueryString = location.search,\n // newParam = key + '=' + value;\n // var urlValue = \"\";\n // var params = \"\";\n // if (urlQueryString) {\n // var updateRegex = new RegExp('([\\?&])' + key + '[^&]*');\n // var oldValue = me.getParameterByName(key);\n // if (urlQueryString.match(updateRegex) !== null) { // If param exists already, update it\n // if (urlQueryString.indexOf(key + \"=\") !== -1) {\n // urlValue = urlQueryString.replace('&' + key + '=' + oldValue, '&' + key + '=' + value);\n // }\n // else {\n // urlValue = urlQueryString.replace(key + '=' + oldValue, '?' + key + '=' + value);\n // }\n // params = urlValue;\n // } else { // Otherwise, add it to end of query string\n // params = urlQueryString + '&' + newParam;\n // }\n // history.pushState({ state: 1, rand: Math.random() }, '', urlValue);\n // window.location.href = baseUrl + params;\n // }\n //}\n compareArrays(array1, array2) {\n var difference = [];\n for (var i = 0; i < array1.length; i++) {\n if ($.inArray(array1[i], array2) == -1) {\n difference.push(array1[i]);\n }\n }\n return difference;\n }\n getParameterByName(name) {\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"), results = regex.exec(location.search);\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n }\n buildParams() {\n if (this._totalPages > this._pageIndex) {\n this._pageIndex++;\n }\n var params = {\n ItemCategory: \"\",\n Identifier: this._categoryIdentifier,\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n ViewType: \"\"\n };\n return params;\n }\n}\nclass ShoppingCartList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n UpdateItem(cartItemId, quantity) {\n if (quantity < 0) {\n return;\n }\n if (quantity == 0) {\n this.deleteItem(cartItemId, \"\");\n return;\n }\n var params = { \"Id\": cartItemId, \"Quantity\": quantity };\n var me = this;\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n var url = '/Api/ShoppingCart/UpdateItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n if ($(me._widget).find(\".cart-item-row\").length === 0) {\n $(me._widget).find(\".js-panel-noitems-incart\").remove();\n }\n }));\n }\n deleteCartImageItem(cartItemId, imageId) {\n var me = this;\n var params = { \"Id\": cartItemId, \"ImageId\": imageId };\n var cartrow = $(me._widget).find(\".cart-item-row[data-row-cartid='\" + cartItemId + \"']\");\n var participantInfo = $(me._widget).find(\".cart-participant-info\");\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n var noItemsInforow = $(me._widget).find(\".shoppingcart-notiemsincart\");\n var url = '/Api/ShoppingCart/DeleteShutterStockItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n window.location.href = shoppingcarturl;\n }));\n }\n deleteCartStaplesItem(cartItemId, productId) {\n var me = this;\n var params = { \"Id\": cartItemId, \"clientProductId\": productId };\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n var url = '/Api/ShoppingCart/DeleteStaplesItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n window.location.href = shoppingcarturl;\n }));\n }\n deleteCartAdobeItem(cartItemId, productId) {\n var me = this;\n var params = { \"Id\": cartItemId, \"clientProductId\": productId };\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n var url = '/Api/ShoppingCart/DeleteAdobeItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n window.location.href = shoppingcarturl;\n }));\n }\n deleteCartAdobeCommerceItem(cartItemId, adobeCommerceProductId) {\n var me = this;\n var params = { \"Id\": cartItemId, \"clientProductId\": adobeCommerceProductId };\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n var url = '/Api/ShoppingCart/DeleteAdobeCommerceItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n window.location.href = shoppingcarturl;\n }));\n }\n deleteItem(cartItemId, shoppingcarturl) {\n var me = this;\n var params = { \"Id\": cartItemId };\n var cartrow = $(me._widget).find(\".cart-item-row[data-row-cartid='\" + cartItemId + \"']\");\n var participantInfo = $(me._widget).find(\".cart-participant-info\");\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n var noItemsInforow = $(me._widget).find(\".shoppingcart-notiemsincart\");\n var url = '/Api/ShoppingCart/DeleteItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n $.when(me.GetParticipantInfo().done(function (data, textStatus, response) {\n $(participantInfo).html(data);\n $(me._widget).find(\".btn-updatecart\").on(\"click\", function (e) {\n me.UpdateCart(e.currentTarget);\n });\n var cartItemCount = \"0\";\n if ($(participantInfo).find(\"#cartItemCount\").val() === \"0\" || $(participantInfo).find(\"#cartItemCount\").val() === \"\") {\n $(noItemsInforow).removeClass(\"hide\");\n }\n else {\n cartItemCount = $(participantInfo).find(\"#cartItemCount\").val();\n }\n updateCartItemCount(cartItemCount);\n $(me._widget).find(\".btn-checkout\").attr(\"href\", $(me._widget).data(\"checkouturl\"));\n if (shoppingcarturl != \"\") {\n window.location.href = shoppingcarturl;\n }\n }));\n $(cartrow).remove();\n if ($(me._widget).find(\".cart-item-row\").length === 0) {\n updateCartItemCount(null);\n $(me._widget).find(\".js-panel-noitems-incart\").remove();\n }\n }));\n }\n deleteItemOnly(cartItemId, shoppingcarturl) {\n var me = this;\n var params = { \"Id\": cartItemId };\n var cartrow = $(me._widget).find(\".cart-item-row[data-row-cartid='\" + cartItemId + \"']\");\n var participantInfo = $(me._widget).find(\".cart-participant-info\");\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n var noItemsInforow = $(me._widget).find(\".shoppingcart-notiemsincart\");\n var url = '/Api/ShoppingCart/DeleteItemOnly';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n $.when(me.GetParticipantInfo().done(function (data, textStatus, response) {\n $(participantInfo).html(data);\n $(me._widget).find(\".btn-updatecart\").on(\"click\", function (e) {\n me.UpdateCart(e.currentTarget);\n });\n var cartItemCount = \"0\";\n if ($(participantInfo).find(\"#cartItemCount\").val() === \"0\" || $(participantInfo).find(\"#cartItemCount\").val() === \"\") {\n $(noItemsInforow).removeClass(\"hide\");\n }\n else {\n cartItemCount = $(participantInfo).find(\"#cartItemCount\").val();\n }\n updateCartItemCount(cartItemCount);\n $(me._widget).find(\".btn-checkout\").attr(\"href\", $(me._widget).data(\"checkouturl\"));\n if (shoppingcarturl != \"\") {\n window.location.href = shoppingcarturl;\n }\n }));\n $(cartrow).remove();\n if ($(me._widget).find(\".cart-item-row\").length === 0) {\n updateCartItemCount(null);\n $(me._widget).find(\".js-panel-noitems-incart\").remove();\n }\n }));\n }\n GetParticipantInfo() {\n return $.ajax({\n //contentType: \"application/json\",\n method: \"GET\",\n url: '/Api/ShoppingCart/GetItemsDetailsInCart'\n });\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n $(this._widget).find(\".btn-checkout\").attr(\"href\", $(this._widget).data(\"checkouturl\"));\n this.bindControls();\n }\n bindControls() {\n // VB lives on\n var me = this;\n $(me._widget).find(\".js-remove-shopping-cart-item\").on(\"click\", function (e) {\n var cancelText = $(e.currentTarget).attr(\"data-cancel-text\");\n var removeAllText = $(e.currentTarget).attr(\"data-removeall-text\");\n var removeCartOnlyText = $(e.currentTarget).attr(\"data-cartonly-text\");\n var removeCartTitleText = $(e.currentTarget).attr(\"data-removecart-title-text\");\n var removeCartContinueText = $(e.currentTarget).attr(\"data-remove-continue-text\");\n var removeCartOkText = $(e.currentTarget).attr(\"data-remove-ok-text\");\n if ($(e.currentTarget).attr(\"data-iscustomizable\") === \"false\") {\n bootbox.confirm({\n title: removeCartTitleText,\n message: \"<p>\" + removeCartContinueText + \"</p>\",\n buttons: {\n confirm: {\n label: removeCartOkText,\n className: 'btn-success'\n },\n cancel: {\n label: cancelText,\n className: 'btn-danger'\n }\n },\n callback(result) {\n if (result) {\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n me.deleteItem(parseInt($(e.currentTarget).attr(\"data-cartid\")), shoppingcarturl);\n return true;\n }\n }\n });\n }\n else {\n var dialog = bootbox.dialog({\n title: removeCartTitleText,\n message: \"<p>\" + removeCartContinueText + \"</p>\",\n buttons: {\n cancel: {\n label: cancelText,\n className: 'btn-danger',\n callback() {\n return true;\n }\n },\n removecartonly: {\n label: removeCartOnlyText,\n className: 'btn-success',\n callback() {\n var shoppingcarturl = $(me._widget).attr(\"data-shoppingcarturl\");\n me.deleteItemOnly(parseInt($(e.currentTarget).attr(\"data-cartid\")), shoppingcarturl);\n return true;\n }\n },\n removeall: {\n label: removeAllText,\n className: 'btn-success',\n callback() {\n me.deleteItem(parseInt($(e.currentTarget).attr(\"data-cartid\")), \"\");\n return true;\n }\n }\n }\n });\n }\n });\n $(me._widget).find(\".remove-shopping-cart-image-item\").on(\"click\", function (e) {\n var listContainer = $(e.currentTarget).closest(\".js-shopping-cart-item-list-container\");\n var cancelText = $(listContainer).attr(\"data-cancel-text\");\n var removeCartOkText = $(listContainer).attr(\"data-remove-ok-text\");\n var removeCartImageItemText = $(listContainer).attr(\"data-remove-shutter-stock-cart-image-text\");\n var cartItemId = $(listContainer).attr(\"data-cart-item-id\");\n var imageId = $(e.currentTarget).attr(\"data-image-id\");\n bootbox.confirm({\n title: \"\",\n message: \"<p>\" + removeCartImageItemText + \"</p>\",\n buttons: {\n confirm: {\n label: removeCartOkText,\n className: 'btn-success'\n },\n cancel: {\n label: cancelText,\n className: 'btn-danger'\n }\n },\n callback(result) {\n if (result) {\n me.deleteCartImageItem(cartItemId, imageId);\n return true;\n }\n }\n });\n });\n $(me._widget).find(\".js-remove-selected-adobecommerce-product-from-cart\").on(\"click\", function (e) {\n var listContainer = $(e.currentTarget).closest(\".js-adobecommerce-selected-products-list-cpntainer\");\n var cancelText = $(listContainer).attr(\"data-cancel-text\");\n var removeCartOkText = $(listContainer).attr(\"data-remove-ok-text\");\n var removeCartImageItemText = $(listContainer).attr(\"data-remove-product-from-cart-text\");\n var cartItemId = $(listContainer).attr(\"data-cart-item-id\");\n var productId = $(e.currentTarget).attr(\"data-product-id\");\n bootbox.confirm({\n title: \"\",\n message: \"<p>\" + removeCartImageItemText + \"</p>\",\n buttons: {\n confirm: {\n label: removeCartOkText,\n className: 'btn-success'\n },\n cancel: {\n label: cancelText,\n className: 'btn-danger'\n }\n },\n callback(result) {\n if (result) {\n me.deleteCartAdobeCommerceItem(cartItemId, productId);\n return true;\n }\n }\n });\n });\n $(me._widget).find(\".js-remove-selected-staples-product-from-cart\").on(\"click\", function (e) {\n var listContainer = $(e.currentTarget).closest(\".js-staples-selected-products-list-cpntainer\");\n var cancelText = $(listContainer).attr(\"data-cancel-text\");\n var removeCartOkText = $(listContainer).attr(\"data-remove-ok-text\");\n var removeCartImageItemText = $(listContainer).attr(\"data-remove-product-from-cart-text\");\n var cartItemId = $(listContainer).attr(\"data-cart-item-id\");\n var productId = $(e.currentTarget).attr(\"data-product-id\");\n bootbox.confirm({\n title: \"\",\n message: \"<p>\" + removeCartImageItemText + \"</p>\",\n buttons: {\n confirm: {\n label: removeCartOkText,\n className: 'btn-success'\n },\n cancel: {\n label: cancelText,\n className: 'btn-danger'\n }\n },\n callback(result) {\n if (result) {\n me.deleteCartStaplesItem(cartItemId, productId);\n return true;\n }\n }\n });\n });\n $(me._widget).find(\".js-remove-shopping-cart-item-only\").on(\"click\", function (e) {\n me.deleteItemOnly(parseInt($(e.currentTarget).attr(\"data-cartid\")), \"\");\n });\n $(me._widget).find(\".btn-updatecart\").on(\"click\", function (e) {\n me.UpdateCart($(e.currentTarget));\n });\n $(me._widget).find(\".quantitytext\").on(\"change\", function () {\n var updateCartButton = $(me._widget).find(\".btn-updatecart\");\n me.UpdateCart($(updateCartButton));\n });\n $(me._widget).find(\".btn-checkout\").on(\"click\", function (e) {\n e.preventDefault();\n me.ValidateCart($(e.currentTarget));\n });\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n }\n ValidateCart(button) {\n var me = this;\n var checkOutCartUrl = ($(me._widget).data(\"checkouturl\"));\n var midQuantityAllowedMessage = $(button).attr(\"data-mid-quantity-allowed-for-cart-message\");\n var minQuantityAllowedMessage = $(button).attr(\"data-min-quantity-allowed-for-cart-message\");\n var maxQuantityAllowedMessage = $(button).attr(\"data-max-quantity-allowed-for-cart-message\");\n var proceed1 = true;\n var proceed2 = true;\n if ($(me._widget).find(\"#cartItemCount\").val() !== \"0\" || $(me._widget).find(\"#cartItemCount\").val() !== \"\") {\n var items = [];\n $(me._widget).find(\".cart-item-row\").each(function () {\n var item = {\n Quantity: $(this).find(\".quantitytext\").val()\n };\n var minQuantityAllowed = $(this).attr(\"data-min-quantity-per-order\");\n var maxQuantityAllowed = $(this).attr(\"data-max-quantity-per-order\");\n if (item.Quantity < parseInt(minQuantityAllowed)) {\n $('#ItemQuantity').val(Math.max(parseInt(minQuantityAllowed), 1));\n proceed1 = false;\n }\n if (item.Quantity > parseInt(maxQuantityAllowed) && parseInt(maxQuantityAllowed) != -1) {\n $('#ItemQuantity').val(Math.max(parseInt(maxQuantityAllowed), 0));\n proceed2 = false;\n }\n if (!(item.Quantity < parseInt(minQuantityAllowed)) &&\n !(item.Quantity > parseInt(maxQuantityAllowed) && parseInt(maxQuantityAllowed) != -1)) {\n items.push(item);\n }\n });\n if (!proceed1 && !proceed2) {\n alert(midQuantityAllowedMessage);\n return false;\n }\n else if (!proceed1) {\n alert(minQuantityAllowedMessage);\n return false;\n }\n else if (!proceed2) {\n alert(maxQuantityAllowedMessage);\n return false;\n }\n //alert(checkOutCartUrl);\n window.location.href = checkOutCartUrl;\n }\n }\n UpdateCart(button) {\n var me = this;\n var participantInfo = $(me._widget).find(\".cart-participant-info\");\n var noItemsInforow = $(me._widget).find(\".shoppingcart-notiemsincart\");\n var shoppingCartUrl = $(button).attr(\"data-shopping-cart-url\");\n var midQuantityAllowedMessage = $(button).attr(\"data-mid-quantity-allowed-for-cart-message\");\n var minQuantityAllowedMessage = $(button).attr(\"data-min-quantity-allowed-for-cart-message\");\n var maxQuantityAllowedMessage = $(button).attr(\"data-max-quantity-allowed-for-cart-message\");\n var pleaseWaitMessageForCart = $(button).attr(\"data-please-wait-message\");\n var proceed1 = true;\n var proceed2 = true;\n if ($(me._widget).find(\"#cartItemCount\").val() !== \"0\" || $(me._widget).find(\"#cartItemCount\").val() !== \"\") {\n var items = [];\n $(me._widget).find(\".cart-item-row\").each(function () {\n var format = $(this).data(\"item-format\");\n var item = {\n CartID: $(this).data(\"row-cartid\"),\n Quantity: $(this).find(\".quantitytext\").val(),\n Price: $(this).data(\"item-price\"),\n TotalPrice: formatColumn(($(this).find(\".quantitytext\").val() * $(this).data(\"item-price\")), format),\n Delete: false\n };\n //item.TotalPrice = addCommas($(this).find(\".quantitytext\").val() * item.Price);\n var minQuantityAllowed = $(this).attr(\"data-min-quantity-per-order\");\n var maxQuantityAllowed = $(this).attr(\"data-max-quantity-per-order\");\n if (item.Quantity == 0) {\n item.Delete = true;\n }\n else {\n item.Delete = false;\n }\n var itemQuantity = item.Quantity;\n if (itemQuantity < parseInt(minQuantityAllowed)) {\n $('#ItemQuantity').val(Math.max(parseInt(minQuantityAllowed), 1));\n $(this).find(\".quantitytext\").val(Math.max(parseInt(minQuantityAllowed), 1));\n item.Quantity = Math.max(parseInt(minQuantityAllowed), 1);\n proceed1 = false;\n }\n if (itemQuantity > parseInt(maxQuantityAllowed) && parseInt(maxQuantityAllowed) != -1) {\n $('#ItemQuantity').val(Math.max(parseInt(maxQuantityAllowed), 0));\n $(this).find(\".quantitytext\").val(Math.max(parseInt(maxQuantityAllowed), 0));\n item.Quantity = Math.max(parseInt(maxQuantityAllowed), 0);\n proceed2 = false;\n }\n items.push(item);\n });\n if (!proceed1 && !proceed2) {\n alert(midQuantityAllowedMessage);\n waitingDialog.hide();\n }\n else if (!proceed1) {\n alert(minQuantityAllowedMessage);\n waitingDialog.hide();\n }\n else if (!proceed2) {\n alert(maxQuantityAllowedMessage);\n waitingDialog.hide();\n }\n waitingDialog.show(pleaseWaitMessageForCart);\n var url = '/Api/ShoppingCart/UpdateCart';\n $.when(submitAjaxRequest(items, url, \"POST\").done(function (data, textStatus, request) {\n window.location.href = shoppingCartUrl;\n }));\n }\n }\n}\nclass CatalogProductDetail {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n FinalizeItem(button) {\n var me = this;\n if (me.ValidateItemQuantity(button)) {\n var params = this.buildParams();\n var me = this;\n if (!me.CheckAttribute()) {\n $(me._widget).find(\".cart-notification-error\").fadeIn(400);\n window.setTimeout(function () {\n $(me._widget).find(\".cart-notification-error\").fadeOut(1000);\n }, 2000);\n $(me._widget).find(\".btn-finalize\").button(\"reset\");\n return;\n }\n ;\n params.OrderNow = 1;\n $('.ajax-loader-container').show();\n var url = '/Api/ShoppingCart/AddItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n updateCartItemCount(data.cartItemCount);\n if (data.limited) {\n if (data.currentCartItemCount == 0) {\n $('.ajax-loader-container').hide();\n var maxQuantityAllowedEverMessage = $(button).attr(\"data-max-quantity-allowed-ever-message\");\n alert(maxQuantityAllowedEverMessage);\n return;\n }\n else {\n $('.ajax-loader-container').hide();\n alert(data.productNotAvailableMessage);\n if ($(\".quantity-input\").length > 0) {\n $(\".quantity-input\").val(data.currentCartItemCount);\n }\n return;\n }\n }\n else {\n if (data.redirectUrl !== \"\") {\n window.location.href = data.redirectUrl;\n }\n // animate or show notification that the item was added\n $(me._widget).find(\".cart-notification-final\").fadeIn(400);\n window.setTimeout(function () {\n $(me._widget).find(\".cart-notification-final\").fadeOut(1500);\n }, 2000);\n }\n var maxQuantityAllowed = $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\");\n if (parseInt(maxQuantityAllowed) != -1) {\n var orderedCount = parseInt($(me._widget).find(\".quantity-input\").val());\n var availableCount = $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\");\n var newCount = parseInt(availableCount) - orderedCount;\n if (newCount < 1) {\n newCount = 0;\n $(me._widget).find(\".quantity-input\").val(newCount);\n }\n $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\", newCount);\n $(me._widget).find(\".quantity-input\").attr(\"max\", newCount);\n }\n $(me._widget).find(\".btn-finalize\").button(\"reset\");\n //ajax for addOrder here to automatically run\n var params = { \"addressId\": 0 };\n var url = '/Api/ParticipantOrder/AddOrder';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n $('.ajax-loader-container').hide();\n if (data.status == \"OK\" && data.participantOrderId > 0) {\n $(me._widget).find(\".panel-thankyou\").removeClass(\"hide\");\n $(me._widget).find(\".panel-thankyou\").find(\".order-number\").html(data.participantOrderId);\n var detailLink = $(me._widget).find(\".panel-thankyou\").find(\".order-detail-link\").attr(\"href\");\n detailLink += data.identifier;\n $(me._widget).find(\".panel-thankyou\").find(\".order-detail-link\").attr(\"href\", detailLink);\n $(me._widget).find(\".panel-thankyou\").find(\".btn-viewdetail\").attr(\"href\", detailLink);\n $(me._widget).find(\".js-finalize-button\").attr('disabled', 'disabled');\n refreshCartCount(true);\n }\n else {\n alert(data.status);\n if (data.cartUrl != undefined)\n window.location.href = data.cartUrl;\n }\n }));\n }));\n }\n }\n AddItemToCart(button) {\n var me = this;\n if (me.ValidateItemQuantity(button)) {\n var params = this.buildParams();\n if ($(button).attr(\"data-check-sku-exist\") !== \"\") {\n params.CheckSkuExists = $(button).attr(\"data-check-sku-exist\") == \"true\" ? true : false;\n }\n var me = this;\n if (!me.CheckAttribute()) {\n $(me._widget).find(\".cart-notification-error\").fadeIn(400);\n window.setTimeout(function () {\n $(me._widget).find(\".cart-notification-error\").fadeOut(1000);\n }, 2000);\n $(me._widget).find(\".btn-add-to-cart\").button(\"reset\");\n $(me._widget).find(\".js-addtocart-button\").button(\"reset\");\n return;\n }\n ;\n var url = '/Api/ShoppingCart/AddItem';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n updateCartItemCount(data.cartItemCount);\n if (data.limited) {\n if (data.currentCartItemCount == 0) {\n $('.ajax-loader-container').hide();\n var maxQuantityAllowedEverMessage = $(button).attr(\"data-max-quantity-allowed-ever-message\");\n alert(maxQuantityAllowedEverMessage);\n return;\n }\n else {\n $(me._widget).find(\".cart-notification-partial\").fadeIn(400);\n window.setTimeout(function () { $(me._widget).find(\".cart-notification-partial\").fadeOut(1000); }, 2000);\n }\n }\n else {\n if (data.redirectUrl !== \"\") {\n window.location.href = data.redirectUrl;\n }\n // animate or show notification that the item was added\n $(me._widget).find(\".cart-notification\").fadeIn(400);\n window.setTimeout(function () {\n $(me._widget).find(\".cart-notification\").fadeOut(1000);\n }, 2000);\n }\n var maxQuantityAllowed = $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\");\n if (parseInt(maxQuantityAllowed) != -1) {\n var orderedCount = parseInt($(me._widget).find(\".quantity-input\").val());\n var availableCount = $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\");\n var newCount = parseInt(availableCount) - orderedCount;\n if (newCount < 1) {\n newCount = 0;\n $(me._widget).find(\".quantity-input\").val(newCount);\n }\n $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\", newCount);\n $(me._widget).find(\".quantity-input\").attr(\"max\", newCount);\n }\n $(me._widget).find(\".btn-add-to-cart\").button(\"reset\");\n $(me._widget).find(\".js-addtocart-button\").button(\"reset\");\n }));\n }\n }\n ValidateItemQuantity(button) {\n var me = this;\n var midQuantityAllowedMessage = $(button).attr(\"data-mid-quantity-allowed-for-cart-message\");\n var minQuantityAllowedMessage = $(button).attr(\"data-min-quantity-allowed-for-cart-message\");\n var maxQuantityAllowedMessage = $(button).attr(\"data-max-quantity-allowed-for-cart-message\");\n var minQuantityAllowed = $(me._widget).find(\".quantity-input\").attr(\"data-min-quantity-per-order\");\n var maxQuantityAllowed = $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\");\n var selectedQuantity = $(this._widget).find(\".quantity-input\").val();\n if (parseInt(maxQuantityAllowed) != -1 && parseInt(maxQuantityAllowed) < parseInt(minQuantityAllowed)) {\n //$('#ItemQuantity').val(Math.max(parseInt(maxQuantityAllowed), 1));\n alert(midQuantityAllowedMessage);\n return false;\n }\n if (parseInt(selectedQuantity) < parseInt(minQuantityAllowed)) {\n $('#ItemQuantity').val(Math.max(parseInt(minQuantityAllowed), 1));\n alert(minQuantityAllowedMessage);\n return false;\n }\n if (parseInt(selectedQuantity) > parseInt(maxQuantityAllowed) && parseInt(maxQuantityAllowed) != -1) {\n $('#ItemQuantity').val(Math.max(parseInt(maxQuantityAllowed), 0));\n alert(maxQuantityAllowedMessage);\n return false;\n }\n return true;\n }\n UpdateCart(button) {\n var me = this;\n if (!me.CheckAttribute()) {\n $(me._widget).find(\".cart-notification-error\").fadeIn(400);\n window.setTimeout(function () {\n $(me._widget).find(\".cart-notification-error\").fadeOut(1000);\n }, 2000);\n $(me._widget).find(\".btn-update-cart\").button(\"reset\");\n return;\n }\n ;\n var midQuantityAllowedMessage = $(button).attr(\"data-min-quantity-allowed-for-cart-message\");\n var minQuantityAllowedMessage = $(button).attr(\"data-min-quantity-allowed-for-cart-message\");\n var maxQuantityAllowedMessage = $(button).attr(\"data-max-quantity-allowed-for-cart-message\");\n var minQuantityAllowed = $(me._widget).find(\".quantity-input\").attr(\"data-min-quantity-per-order\");\n var maxQuantityAllowed = $(me._widget).find(\".quantity-input\").attr(\"data-max-quantity-per-order\");\n if (parseInt(maxQuantityAllowed) != -1 && parseInt(maxQuantityAllowed) < parseInt(minQuantityAllowed)) {\n alert(midQuantityAllowedMessage);\n }\n if ($(this._widget).find(\".quantity-input\").val() < parseInt(minQuantityAllowed)) {\n $('#ItemQuantity').val(Math.max(parseInt(minQuantityAllowed), 1));\n alert(minQuantityAllowedMessage);\n }\n if ($(this._widget).find(\".quantity-input\").val() > parseInt(maxQuantityAllowed) && parseInt(maxQuantityAllowed) != -1) {\n $('#ItemQuantity').val(Math.max(parseInt(maxQuantityAllowed), 0));\n alert(maxQuantityAllowedMessage);\n }\n var attributes = [];\n var selectedSku = \"\";\n if ($(me._widget).find(\".attribute-selector\").length > 0) {\n $.each($(this._widget).find(\".attribute-selector\"), function (index, item) {\n if ($(item).find(\":selected\").val() !== \"\") {\n attributes.push($(item).find(\":selected\").val());\n selectedSku = $(item).find(\":selected\").attr(\"data-product-sku-id\");\n }\n });\n }\n else {\n selectedSku = $(button).attr(\"data-sku-in-cart\");\n }\n var item = {\n \"Id\": null,\n \"Quantity\": 0,\n \"Attributes\": null\n };\n item.Id = $(button).attr(\"data-cart-item-id\");\n item.Quantity = $(this._widget).find(\".quantity-input\").val();\n var updatedCartId = \"\";\n if (attributes.length > 0) {\n item.Attributes = attributes;\n }\n var productskusincart = $(me._widget).find(\".js-product-detail-container\").attr(\"data-product-skus-in-cart\");\n if (productskusincart !== \"\") {\n var items = productskusincart.split(\",\");\n if (items.length > 0) {\n for (var i = 0; i < items.length; i++) {\n var skuItems = items[i].split(\"|\");\n if (skuItems.length > 0) {\n if (skuItems[1] == selectedSku) {\n updatedCartId = skuItems[0];\n item.Id = updatedCartId;\n break;\n }\n }\n }\n }\n }\n /* if item is not in cart and you add it*/\n if (updatedCartId == \"\") {\n $(button).attr(\"data-check-sku-exist\", \"false\");\n me.AddItemToCart(button);\n }\n else {\n var cartUrl = $(me._widget).find(\".js-product-detail-container\").attr(\"data-cart-url\");\n if (updatedCartId !== \"\" && $(me._widget).find(\".js-product-detail-container\").find(\".js-product-template-form\").attr(\"data-is-product-customizeable\") == \"True\") {\n var title = $(me._widget).find(\".js-product-detail-container\").attr(\"data-cart-confirm-text-title\");\n var confirmText = $(me._widget).find(\".js-product-detail-container\").attr(\"data-cart-confirm-text\");\n var updateButton = $(me._widget).find(\".js-product-detail-container\").attr(\"data-update-text\");\n var addButton = $(me._widget).find(\".js-product-detail-container\").attr(\"data-add-text\");\n var cancelButton = $(me._widget).find(\".js-product-detail-container\").attr(\"data-cancel-text\");\n var dialog = bootbox.dialog({\n title: title,\n message: confirmText,\n size: 'large',\n buttons: {\n update: {\n label: updateButton,\n className: 'btn-warning',\n callback: function () {\n var params = item;\n var url = '/Api/ShoppingCart/UpdateItem';\n $.when(submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n updateCartItemCount(data.cartItemCount);\n window.location.href = cartUrl;\n }));\n }\n },\n add: {\n label: addButton,\n className: 'btn-info',\n callback: function () {\n $(button).attr(\"data-check-sku-exist\", \"false\");\n me.AddItemToCart(button);\n }\n },\n cancel: {\n label: cancelButton,\n className: 'btn-danger'\n },\n }\n });\n }\n else {\n var params = item;\n var url = '/Api/ShoppingCart/UpdateItem';\n $.when(submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n updateCartItemCount(data.cartItemCount);\n window.location.href = cartUrl;\n }));\n }\n }\n }\n CheckAttribute() {\n var me = this;\n if ($(this._widget).find(\".attribute-selector\").length > 0) {\n var attributes = [];\n var attributeCount = 0;\n $.each($(this._widget).find(\".attribute-selector\"), function (index, item) {\n if ($(item).find(\":selected\").val() !== \"\") {\n attributes.push($(item).find(\":selected\").val());\n }\n attributeCount += 1;\n });\n if (attributes.length === 0 || attributeCount !== attributes.length) {\n return false;\n }\n }\n return true;\n }\n GetItemFromAttributes() {\n var params = this.buildParams();\n var me = this;\n $(me._widget).find(\".panel-thankyou\").addClass(\"hide\");\n var attribSelected = $(me._widget).find(\".attribute-selector\").find(\":selected\").val();\n if (attribSelected == \"\") {\n $(me._widget).find('#ItemQuantity').html(\"\");\n $(me._widget).find('#ItemQuantity').val(\"\");\n $(me._widget).find('#ItemQuantity').attr('min', '1');\n $(me._widget).find('#ItemQuantity').attr('data-min-quantity-per-order', '1');\n $(me._widget).find('#ItemQuantity').attr('max', '0');\n $(me._widget).find('#ItemQuantity').attr('max-length', 1);\n $(me._widget).find('#ItemQuantity').attr('data-max-quantity-per-order', '0');\n return false;\n }\n var url = '/Api/ShoppingCart/GetItemPrice';\n $.when(submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n if (data.status == \"OK\") {\n $(me._widget).find(\".points-value\").text(data.formattedPrice);\n $(me._widget).find(\".points-value\").attr(\"data-price\", data.price);\n if ($(me._widget).find(\".js-download-action-button\").length > 0) {\n if (data.price > 0) {\n $(me._widget).find(\".js-download-action-button\").addClass(\"hide\");\n $(me._widget).find(\".btn-add-to-cart\").removeAttr('disabled');\n $(me._widget).find(\".btn-add-to-cart\").removeClass(\"hide\");\n $(me._widget).find(\".js-addtocart-button\").removeAttr('disabled');\n $(me._widget).find(\".js-addtocart-button\").removeClass(\"hide\");\n $(me._widget).find(\".js-quantity-container\").removeClass(\"hide\");\n }\n else {\n $(me._widget).find(\".js-download-action-button\").removeClass(\"hide\");\n $(me._widget).find(\".js-download-action-button\").removeAttr('disabled');\n $(me._widget).find(\".js-quantity-container\").addClass(\"hide\");\n $(me._widget).find(\".btn-add-to-cart\").addClass(\"hide\");\n $(me._widget).find(\".js-addtocart-button\").addClass(\"hide\");\n }\n }\n if (data.bypassCheckoutProcessForZeroCostOrders) {\n $(me._widget).find(\".btn-finalize\").removeClass(\"hide\");\n $(me._widget).find(\".btn-add-to-cart\").addClass(\"hide\");\n $(me._widget).find(\".js-addtocart-button\").addClass(\"hide\");\n }\n else {\n $(me._widget).find(\".btn-add-to-cart\").removeClass(\"hide\");\n $(me._widget).find(\".js-addtocart-button\").removeClass(\"hide\");\n $(me._widget).find(\".btn-finalize\").addClass(\"hide\");\n }\n if (data.isInventoryEnabled == true) {\n if (data.quantityInHand > 0) {\n $(me._widget).find(\".btn-add-to-cart\").prop('disabled', false);\n $(me._widget).find(\".js-addtocart-button\").prop('disabled', false);\n $(me._widget).find(\".btn-add-to-cart\").html($(me._widget).find(\".btn-add-to-cart\").attr(\"data-button-text\"));\n $(me._widget).find(\".js-addtocart-button\").html($(me._widget).find(\".js-addtocart-button\").attr(\"data-button-text\"));\n $(me._widget).find(\".quantity-input\").removeAttr(\"disabled\");\n $(me._widget).find(\".btn-finalize\").prop('disabled', false);\n $(me._widget).find(\".btn-finalize\").html($(me._widget).find(\".btn-finalize\").attr(\"data-button-text\"));\n }\n else {\n $(me._widget).find(\".btn-add-to-cart\").html($(me._widget).find(\".btn-add-to-cart\").attr(\"data-out-of-stock\"));\n $(me._widget).find(\".btn-add-to-cart\").prop('disabled', true);\n $(me._widget).find(\".js-addtocart-button\").html($(me._widget).find(\".js-addtocart-button\").attr(\"data-out-of-stock\"));\n $(me._widget).find(\".js-addtocart-button\").prop('disabled', true);\n $(me._widget).find(\".quantity-input\").prop(\"disabled\", true);\n $(me._widget).find(\".btn-finalize\").html($(me._widget).find(\".btn-finalize\").attr(\"data-out-of-stock\"));\n $(me._widget).find(\".btn-finalize\").prop('disabled', true);\n }\n }\n //else {\n // $(me._widget).find(\".btn-finalize\").prop('disabled', false);\n // $(me._widget).find(\".btn-add-to-cart\").prop('disabled', false);\n //}\n $(me._widget).find(\".js-sku-name\").html(data.skuName);\n $(me._widget).find(\".js-sku-name\").parent(\"div\").removeClass(\"hidden\");\n var min = parseInt(data.minPerOrder);\n var max = parseInt(data.maxPerOrder);\n if (max == -1) {\n max = 99999;\n }\n //$(me._widget).find('#ItemQuantity').html(max.toString());\n //$(me._widget).find('#ItemQuantity').val(max.toString()); \n if ($(this._widget).find(\".js-product-template-form\").find(\"#ItemQuantity\").val() == \"\") {\n $(me._widget).find('#ItemQuantity').html(min.toString());\n $(me._widget).find('#ItemQuantity').val(min.toString());\n }\n $(me._widget).find('#ItemQuantity').attr('min', min);\n $(me._widget).find('#ItemQuantity').attr('data-min-quantity-per-order', min);\n $(me._widget).find('#ItemQuantity').val(min.toString());\n $(me._widget).find('#ItemQuantity').attr('max', max);\n $(me._widget).find('#ItemQuantity').attr('max-length', max.toString().length);\n $(me._widget).find('#ItemQuantity').attr('data-max-quantity-per-order', max);\n }\n }));\n }\n GetCustomizedItemFromAttributes() {\n var params = {\n Identifier: this._identifier,\n ProductId: this._productId,\n Quantity: $(this._widget).find(\".quantity-input\").val(),\n Attributes: [],\n ProductCustomizationId: null\n };\n var me = this;\n $.each($(this._widget).find(\".customized-attribute-selector\"), function (index, item) {\n if ($(this).find(\":selected\").val() !== \"\") {\n params.Attributes.push($(this).find(\":selected\").val());\n }\n });\n var me = this;\n var url = '/Api/ShoppingCart/GetItemPrice';\n $.when(submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n if (data.status == \"OK\") {\n $(me._widget).find(\".points-value\").text(data.formattedPrice);\n $(me._widget).find(\".points-value\").attr(\"data-price\", data.price);\n if (data.bypassCheckoutProcessForZeroCostOrders) {\n $(me._widget).find(\".btn-finalize\").removeClass('hide');\n $(me._widget).find(\".js-addtocart-button\").addClass('hide');\n }\n else {\n $(me._widget).find(\".js-addtocart-button\").removeClass('hide');\n $(me._widget).find(\".btn-finalize\").addClass('hide');\n }\n if (data.isInventoryEnabled == true) {\n if (data.quantityInHand > 0) {\n $(me._widget).find(\".js-addtocart-button\").prop('disabled', false);\n $(me._widget).find(\".js-addtocart-button\").html($(me._widget).find(\".js-addtocart-button\").attr(\"data-button-text\"));\n $(me._widget).find(\".quantity-input\").removeAttr(\"disabled\");\n $(me._widget).find(\".btn-finalize\").prop('disabled', false);\n $(me._widget).find(\".btn-finalize\").html($(me._widget).find(\".js-addtocart-button\").attr(\"data-button-text\"));\n }\n else {\n $(me._widget).find(\".js-addtocart-button\").html($(me._widget).find(\".js-addtocart-button\").attr(\"data-out-of-stock\"));\n $(me._widget).find(\".js-addtocart-button\").prop('disabled', true);\n $(me._widget).find(\".quantity-input\").prop(\"disabled\", true);\n $(me._widget).find(\".btn-finalize\").html($(me._widget).find(\".js-addtocart-button\").attr(\"data-out-of-stock\"));\n $(me._widget).find(\".btn-finalize\").prop('disabled', true);\n }\n }\n //else {\n // $(me._widget).find(\".btn-finalize\").prop('disabled', false);\n // $(me._widget).find(\".js-addtocart-button\").prop('disabled', false);\n //}\n $(me._widget).find(\".js-quantity-row\").removeClass(\"hide\");\n if (parseInt($(me._widget).find(\".points-value\").attr(\"data-price\")) <= 0) {\n $(me._widget).find(\".js-quantity-row\").addClass(\"hide\");\n }\n $(me._widget).find(\".js-sku-name\").html(data.skuName);\n $(me._widget).find(\".js-sku-name\").parent(\"div\").removeClass(\"hidden\");\n }\n }));\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._identifier = $(this._widget).find(\".js-product-template-form\").attr(\"data-product-catalog-identifier\");\n this._productId = parseInt($(this._widget).find(\".js-product-template-form\").attr(\"data-product-id\"));\n if ($(this._widget).find(\".js-product-template-form\").find(\"#ItemQuantity\").val() == \"\") {\n this._quantity = 1;\n }\n this._globalModal = new GlobalModal(this._widgetId);\n this.bindControls();\n }\n bindControls() {\n // VB lives on\n var me = this;\n $(this._widget).find(\".js-finalize-button\").on(\"click\", function (e) {\n me.FinalizeItem($(e.currentTarget));\n });\n $(this._widget).find(\".btn-add-to-cart\").on(\"click\", function (e) {\n me.AddItemToCart($(e.currentTarget));\n });\n $(me._widget).find(\".btn-update-cart\").on(\"click\", function (e) {\n me.UpdateCart($(e.currentTarget));\n });\n $(this._widget).find(\".quantity-input\").on(\"keyup\", function () {\n me._quantity = parseInt($(this).val());\n });\n $(this._widget).find('.js-product-download-by-language').on('change', function (e) {\n e.preventDefault();\n $(me._widget).find(\".js-download-action-button\").removeAttr(\"disabled\");\n if ($(e.currentTarget).val() !== \"\") {\n var baseUrl = [location.protocol, '//', location.host, location.pathname].join(''), urlQueryString = document.location.search;\n if (urlQueryString) {\n var key = \"selected-locale\";\n var params = \"\";\n var removeRegex = new RegExp('([\\?&])' + key + '=[^&;]+[&;]?');\n params = urlQueryString.replace(removeRegex, \"$1\");\n params = params.replace(/[&;]$/, \"\");\n window.history.replaceState({}, \"\", baseUrl + params);\n window.location.href = baseUrl + params + \"&selected-locale=\" + $(e.currentTarget).val();\n }\n }\n else {\n $(me._widget).find(\".js-download-action-button\").attr(\"disabled\", \"disabled\");\n $(me._widget).find(\".js-download-action-button\").removeAttr(\"href\");\n }\n });\n $(this._widget).find(\".attribute-selector\").on(\"change\", function () {\n $(me._widget).find(\".btn-add-to-cart\").removeAttr(\"disabled\");\n $(me._widget).find(\".js-addtocart-button\").removeAttr(\"disabled\");\n if (!me.CheckAttribute()) {\n $(me._widget).find(\".btn-add-to-cart\").prop(\"disabled\", true);\n $(me._widget).find(\".btn-add-to-cart\").addClass(\"hide\");\n $(me._widget).find(\".js-addtocart-button\").prop(\"disabled\", true);\n $(me._widget).find(\".js-addtocart-button\").addClass(\"hide\");\n if ($(me._widget).find(\".js-download-action-button\").length > 0) {\n $(me._widget).find(\".js-download-action-button\").prop(\"disabled\", true);\n $(me._widget).find(\".js-download-action-button\").addClass(\"hide\");\n }\n }\n me.GetItemFromAttributes();\n });\n $.each($(this._widget).find(\".js-product-customization-field-type-dropdown\"), function (i, e) {\n var dropDown = this;\n if ($(dropDown).length === 1) {\n var textarea = $(dropDown).closest(\".js-product-customization-field-type-dropdown-container\")\n .find(\".js-product-customization-field-type-text-area\");\n $(textarea).on(\"change\", function (e) {\n var assetLibraryType = $(dropDown).attr(\"data-asset-library-type\");\n if ($(dropDown).attr(\"data-allow-user-to-change-selection\") === \"True\" && (assetLibraryType === \"Text\" || assetLibraryType === \"\")) {\n var oldValue = $(dropDown).val();\n var mismatchValueForAssetLibrary = $(dropDown).attr(\"data-value-mismatch-asset-library\");\n var mismatchValue = $(dropDown).attr(\"data-value-mismatch\");\n var valueToDisplay = mismatchValueForAssetLibrary;\n if (assetLibraryType == \"Text\") {\n valueToDisplay = valueToDisplay.replace(\"##typetoreplace##\", assetLibraryType);\n }\n else {\n valueToDisplay = mismatchValue;\n }\n if ($(textarea).val() !== \"\" && $(textarea).val() !== $(textarea).attr(\"data-original-value\")) {\n if (!window.confirm(valueToDisplay)) {\n $(e.currentTarget).val(oldValue);\n return false;\n }\n }\n $(dropDown).attr(\"data-selected-value\", $(dropDown).val());\n $(textarea).removeClass(\"hide\");\n $(textarea).val($(e.currentTarget).val());\n $(textarea).attr(\"data-field-name\", $(dropDown).attr(\"data-original-field-name\"));\n $(textarea).attr(\"data-original-value\", $(dropDown).val());\n $(dropDown).removeAttr(\"data-field-name\");\n }\n else {\n $(textarea).addClass(\"hide\");\n $(textarea).val(\"\");\n $(textarea).removeAttr(\"data-field-name\");\n $(dropDown).attr(\"data-field-name\", $(dropDown).attr(\"data-original-field-name\"));\n }\n });\n }\n });\n $(this._widget).find(\".js-product-customization-field-type-dropdown\").on(\"change\", function (e) {\n e.preventDefault();\n var textarea = $(e.currentTarget).closest(\".js-product-customization-field-type-dropdown-container\")\n .find(\".js-product-customization-field-type-text-area\");\n var assetLibraryType = $(e.currentTarget).attr(\"data-asset-library-type\");\n if ($(e.currentTarget).attr(\"data-allow-user-to-change-selection\") === \"True\" && (assetLibraryType === \"Text\" || assetLibraryType === \"\")) {\n var oldValue = $(e.currentTarget).attr(\"data-selected-value\");\n var mismatchValueForAssetLibrary = $(e.currentTarget).attr(\"data-value-mismatch-asset-library\");\n var mismatchValue = $(e.currentTarget).attr(\"data-value-mismatch\");\n var valueToDisplay = mismatchValueForAssetLibrary;\n if (assetLibraryType == \"Text\") {\n valueToDisplay = valueToDisplay.replace(\"##typetoreplace##\", assetLibraryType);\n }\n else {\n valueToDisplay = mismatchValue;\n }\n if ($(textarea).val() !== \"\" && $(textarea).val() !== $(textarea).attr(\"data-original-value\")) {\n if (!window.confirm(valueToDisplay)) {\n $(e.currentTarget).val(oldValue);\n return false;\n }\n }\n $(e.currentTarget).attr(\"data-selected-value\", $(e.currentTarget).val());\n $(textarea).removeClass(\"hide\");\n $(textarea).val($(e.currentTarget).val());\n $(textarea).attr(\"data-field-name\", $(e.currentTarget).attr(\"data-original-field-name\"));\n $(textarea).attr(\"data-original-value\", $(e.currentTarget).val());\n $(e.currentTarget).removeAttr(\"data-field-name\");\n }\n else {\n $(textarea).addClass(\"hide\");\n $(textarea).val(\"\");\n $(textarea).removeAttr(\"data-field-name\");\n $(e.currentTarget).attr(\"data-field-name\", $(e.currentTarget).attr(\"data-original-field-name\"));\n }\n });\n //$(this._widget).find(\".attribute-selector\").change();\n $(me._widget).find(\".btn-add-to-cart\").removeAttr(\"disabled\");\n $(me._widget).find(\".js-addtocart-button\").removeAttr(\"disabled\");\n if (!me.CheckAttribute()) {\n $(me._widget).find(\".btn-add-to-cart\").prop(\"disabled\", true);\n $(me._widget).find(\".btn-add-to-cart\").addClass(\"hide\");\n $(me._widget).find(\".js-addtocart-button\").prop(\"disabled\", true);\n $(me._widget).find(\".js-addtocart-button\").addClass(\"hide\");\n if ($(me._widget).find(\".js-download-action-button\").length > 0) {\n $(me._widget).find(\".js-download-action-button\").prop(\"disabled\", true);\n $(me._widget).find(\".js-download-action-button\").addClass(\"hide\");\n }\n }\n me.GetItemFromAttributes();\n //$(this._widget).find(\".customized-attribute-selector\").on(\"change\", function () {\n // $(me._widget).find(\".btn-add-to-cart\").removeAttr(\"disabled\");\n // if (!me.CheckAttribute()) {\n // $(me._widget).find(\".btn-add-to-cart\").attr(\"disabled\", \"disabled\");\n // }\n // me.GetCustomizedItemFromAttributes();\n //});\n if (!me.CheckAttribute()) {\n $(me._widget).find(\".btn-add-to-cart\").attr(\"disabled\", \"disabled\");\n $(me._widget).find(\".js-addtocart-button\").attr(\"disabled\", \"disabled\");\n }\n $.each($(me._widget).find(\".js-product-template-form\"), function (i, e) {\n if ($(e).attr(\"data-is-listbased-email\") === \"True\") {\n me.setEmailInformation($(e));\n }\n if ($(e).attr(\"data-microsite-based\") === \"True\") {\n me.setMicrositeInformation($(e), me);\n }\n me.setMicrositeLookupUrl($(e), me);\n if ($(e).attr(\"data-social-post-based\") === \"True\") {\n me.setSocialPostInformation($(e));\n }\n if ($(e).attr(\"data-direct-mail-based\") === \"True\") {\n me.setDirectMailInformation($(e));\n }\n });\n }\n setApproximateCostContainer(button) {\n var container = $(button).closest(\".js-direct-mail-configuration-container\");\n $(container).find(\".js-direct-mail-list-selector\").addClass(\"hide\");\n $(container).find(\".js-direct-mail-list-selector button\").removeAttr(\"data-contact-list-id\");\n $(container).find(\".js-direct-mail-list-cost-container\").addClass(\"hide\");\n if ($(button).val() != \"\" && $(button).find(':selected').attr('data-number-contacts') !== \"0\") {\n var numberOfContacts = $(button).find(':selected').attr('data-number-contacts');\n var formattedNumberOfContacts = $(button).find(':selected').attr('data-formatted-number-of-contacts');\n var totalPrice = $(button).find(':selected').attr('data-total-price');\n if (numberOfContacts !== \"0\") {\n $(container).find(\".js-direct-mail-list-selector\").removeClass(\"hide\");\n $(container).find(\".js-direct-mail-list-selector button\").attr(\"data-contact-list-id\", $(button).val());\n $(container).find(\".js-direct-mail-list-cost-container\").removeClass(\"hide\");\n var appxroximateCostCopy = $(container).find(\".js-direct-mail-list-cost-container\").find(\".js-approximatcostcopy\").attr(\"data-approximate-cost-copy\");\n $(container).find(\".js-direct-mail-list-cost-container\").find(\".js-approximatcostcopy\").html(appxroximateCostCopy.replace(\"{0}\", formattedNumberOfContacts).replace(\"{1}\", totalPrice));\n }\n }\n }\n setDirectMailInformation(item) {\n var me = this;\n $(item).find(\".js-direct-mail-list-selector button\").on(\"click\", function (e) {\n if ($(e.currentTarget).attr(\"data-contact-list-id\") !== \"\") {\n me.openDirectMailUploadedListRecipients($(e.currentTarget));\n }\n });\n $(item).find(\".js-upload-direct-mail-list\").on(\"click\", function (e) {\n e.preventDefault();\n me.OpenDirectMailUploadModal($(e.currentTarget));\n });\n $(item).find(\".js-direct-mail-list-container\").on(\"change\", function (e) {\n me.setApproximateCostContainer(this);\n });\n }\n setMicrositeLookupUrl(item, self) {\n $.each($(item).find(\".js-microsite-url-lookup-container\"), function (i, e) {\n var itemId = \"-\" + $(e).attr(\"data-field-identifier\");\n $(item).find(\".js-microsite-lookup-url-selector\").on(\"change\", function (e) {\n if ($(this).val() === \"custom\") {\n $(this).closest(\".js-microsite-url-lookup-container\").find(\".js-enter-microsite-url-row\").removeClass(\"hidden\");\n $(this).closest(\".js-microsite-url-lookup-container\").find(\".js-enter-microsite-url-row\").find(\".js-enter-microsite-url\").removeClass(\"hidden\");\n $(this).closest(\".js-microsite-url-lookup-container\").find(\".js-microsite-url-value\").val(\"\");\n $(this).closest(\".js-microsite-url-lookup-container\").find(\".js-enter-microsite-url-row\").find(\".js-enter-microsite-url\").val(\"\");\n }\n else {\n $(this).closest(\".js-microsite-url-lookup-container\").find(\".js-enter-microsite-url-row\").addClass(\"hidden\");\n $(this).closest(\".js-microsite-url-lookup-container\").find(\".js-enter-microsite-url-row\").find(\".js-enter-microsite-url\").addClass(\"hidden\");\n $(this).closest(\".js-microsite-url-lookup-container\").find(\".js-microsite-url-value\").val($(this).closest(\".js-microsite-url-lookup-container\").find(\".js-microsite-lookup-url-selector\").val());\n }\n });\n $(item).find(\".js-enter-microsite-url\").on(\"blur\", function (e) {\n $(this).closest(\".js-microsite-url-lookup-container\")\n .find(\".js-microsite-url-value\").val($(this).closest(\".js-microsite-url-lookup-container\")\n .find(\".js-enter-microsite-url-row\").find(\".js-enter-microsite-url\").val());\n });\n });\n }\n SetNames(container, isScheduled) {\n var appendWithLaunchName = \"\";\n var appendWithArchiveDate = \"\";\n if (isScheduled) {\n if ($(container).find(\"#launch-date\").val() !== \"\") {\n appendWithLaunchName = dayjs.utc($(container).find(\"#launch-date\").val()).format('MM/DD/YYYY').toString();\n }\n }\n else {\n appendWithLaunchName = dayjs.utc((new Date()).toISOString()).format('MM/DD/YYYY').toString();\n }\n if ($(container).find(\"#archive-date\").val() !== \"\") {\n appendWithArchiveDate = dayjs.utc($(container).find(\"#archive-date\").val()).format('MM/DD/YYYY').toString();\n }\n var microsoftFriendlyName = $(container).find(\".js-microsite-friendly-name\").attr(\"data-microsite-friendly-name\") + \" \" + (appendWithLaunchName !== \"\" ? appendWithLaunchName + \" - \" + appendWithArchiveDate : appendWithArchiveDate);\n var contactListName = $(container).find(\".js-contact-list-name\").attr(\"data-contact-list-name\") + \" \" + (appendWithLaunchName !== \"\" ? appendWithLaunchName + \" - \" + appendWithArchiveDate : appendWithArchiveDate);\n $(container).find(\".js-microsite-friendly-name\").val(microsoftFriendlyName);\n $(container).find(\".js-contact-list-name\").val(contactListName);\n }\n setMicrositeInformation(item, self) {\n var me = this;\n GlobalPopulateTimeZones($(item).find(\".time-zone\"));\n $(item).find('#launch-date').on(\"change\", function (e) {\n var container = $(this).closest(\".js-microsite-launch-details-container\");\n var itemId = \"-\" + $(container).attr(\"data-field-identifier\");\n if ($(container).find(\"input[name=launch\" + itemId + \"]:checked\").val() === \"schedule\") {\n self.SetNames(container, true);\n }\n else {\n self.SetNames(container, false);\n }\n });\n $(item).find('#archive-date').on(\"change\", function (e) {\n var container = $(this).closest(\".js-microsite-launch-details-container\");\n self.SetNames(container, true);\n });\n if ($(item).find(\".js-launch-time-zone-data\").val() !== \"\" && $(item).find(\".js-launch-time-zone-data\").val() !== undefined) {\n $(\".js-launch-time-zone\").val($(\".js-launch-time-zone-data\").val());\n }\n if ($(item).find(\".js-archive-time-zone-data\").val() !== \"\" && $(item).find(\".js-archive-time-zone-data\").val() !== undefined) {\n $(item).find(\".js-archive-time-zone\").val($(\".js-archive-time-zone-data\").val());\n }\n if ($(item).find(\"#launch-date-full\").val() !== \"\") {\n ReloadForCustomizationAndOrder($(item).find('#launch-date-full').val(), $(item).find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val(), $(item).find('#launch-time'), $(item).find('#launch-date'));\n }\n if ($(item).find(\"#archive-date-full\").val() !== \"\") {\n ReloadForCustomizationAndOrder($(item).find('#archive-date-full').val(), $(item).find(\".js-schedule-archive-config\").find(\".js-archive-time-zone\").val(), $(item).find('#archive-time'), $(item).find('#archive-date'));\n }\n var launchDateEl = $(item).find('#launch-date-picker').get(0);\n var launchTimeEl = $(item).find('#launch-time-picker').get(0);\n var archiveDateEl = $(item).find('#archive-date-picker').get(0);\n var archiveTimeEl = $(item).find('#archive-time-picker').get(0);\n ConfigureDatePicker($(item).find('#launch-date-picker'));\n ConfigureDatePicker($(item).find('#archive-date-picker'));\n ConfigureTimePicker($(item).find('#launch-time-picker'));\n ConfigureTimePicker($(item).find('#archive-time-picker'));\n //InitializeDatePickerForOrder(launchDateEl, launchTimeEl, archiveDateEl, archiveTimeEl);\n me.bindLocalizedTime();\n $.each($(item).find(\".js-microsite-launch-details-container\"), function (i, e) {\n var itemId = \"-\" + $(e).attr(\"data-field-identifier\");\n $(item).find(\"input[name=launch\" + itemId + \"]\").on(\"change\", function (e) {\n var me = this;\n if ($(this).val() === \"schedule\") {\n $(this).closest(\".js-microsite-launch-details-container\").find(\".js-schedule-launch-config\").removeClass(\"hidden\");\n var container = $(this).closest(\".js-microsite-launch-details-container\");\n self.SetNames(container, true);\n }\n else {\n $(this).closest(\".js-microsite-launch-details-container\").find(\".js-schedule-launch-config\").addClass(\"hidden\");\n var container = $(this).closest(\".js-microsite-launch-details-container\");\n self.SetNames(container, false);\n }\n });\n $(item).find(\"input[name=archive\" + itemId + \"]\").on(\"change\", function (e) {\n if ($(this).val() === \"archive\") {\n $(this).closest(\".js-microsite-launch-details-container\").find(\".js-archive-list-schedule\").removeClass(\"hidden\");\n }\n else {\n $(this).closest(\".js-microsite-launch-details-container\").find(\".js-archive-list-schedule\").addClass(\"hidden\");\n }\n });\n });\n }\n setSocialPostInformation(item) {\n var me = this;\n }\n setEmailInformation(item) {\n var me = this;\n GlobalPopulateTimeZones($(item).find(\".time-zone\"));\n $(item).find(\".js-email-recipient-list-selector button\").on(\"click\", function (e) {\n if ($(e.currentTarget).attr(\"data-contact-list-id\") !== \"\") {\n me.openEmailUploadedListRecipients($(e.currentTarget));\n }\n });\n $(item).find(\".js-email-seed-list-selector button\").on(\"click\", function (e) {\n if ($(e.currentTarget).attr(\"data-contact-list-id\") !== \"\") {\n me.openEmailUploadedListRecipients($(e.currentTarget));\n }\n });\n $(item).find(\".js-resend-verification-email\").on(\"click\", function (e) {\n e.preventDefault();\n var verifyEmailContainer = $(e.currentTarget).closest(\".js-verify-email-container\");\n var linkFromConfirmationEmailContainer = $(verifyEmailContainer).find(\".js-link-from-confirmation-email-container\");\n var message = $(e.currentTarget).attr(\"data-confirmation-email-send-out\");\n $.ajax({\n method: \"GET\",\n url: \"/SendGridVerification/ResendVerificationEmail/\" + $(e.currentTarget).attr(\"data-sender-identity\")\n }).done(function (data) {\n if (data != null) {\n if (data) {\n $(linkFromConfirmationEmailContainer).removeClass(\"hide\");\n $(linkFromConfirmationEmailContainer).find(\"js-resend-verification-email\").attr(\"data-sender-identity\", data.senderIdentity);\n alert(message);\n }\n }\n });\n });\n $(item).find(\".js-custom-sender-field\").on(\"blur\", function (e) {\n var restrictToVerifiedDomainsOnly = $(e.currentTarget).attr(\"data-restrict-to-verified-domains-only\");\n //if (restrictToVerifiedDomainsOnly == \"true\") {\n me.CheckIsEmailInVerifiedDomain($(e.currentTarget), item, false);\n //}\n });\n $(item).find(\".js-verify-confirmation-link\").on(\"click\", function (e) {\n e.preventDefault();\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"false\");\n var verifyEmailContainer = $(e.currentTarget).closest(\".js-verify-email-container\");\n var linkFromConfirmationEmailContainer = $(verifyEmailContainer).find(\".js-link-from-confirmation-email-container\");\n var verifiedMessage = $(e.currentTarget).attr(\"data-confirm-message\");\n var sendGridConfirmationLinkDTO = {\n url: $(linkFromConfirmationEmailContainer).find(\".js-link-from-confirmation-email\").val()\n };\n $(verifyEmailContainer).find(\".js-verify-sender\").removeAttr(\"disabled\");\n $(verifyEmailContainer).find(\".js-verify-sender\").removeClass(\"hide\");\n $(verifyEmailContainer).find(\".js-view-sender-list\").removeClass(\"hide\");\n var url = \"/SendGridVerification/VerifySenderRequest\";\n $.when(submitAjaxRequest(sendGridConfirmationLinkDTO, url, \"POST\").done(function (data) {\n waitingDialog.hide();\n if (data != null) {\n if (data.isVerified) {\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"true\");\n $(linkFromConfirmationEmailContainer).find(\".js-link-from-confirmation-email\").val(\"\");\n $(linkFromConfirmationEmailContainer).addClass(\"hide\");\n $(linkFromConfirmationEmailContainer).find(\"js-resend-verification-email\").attr(\"data-sender-identity\", \"\");\n $(verifyEmailContainer).find(\".js-verified-icon\").removeClass(\"hide\");\n $(verifyEmailContainer).find(\".js-custom-sender-field\").attr(\"readonly\", \"true\");\n alert(verifiedMessage);\n }\n else if (data.exceptionErrors != \"\") {\n alert(data.exceptionErrors);\n $(linkFromConfirmationEmailContainer).find(\".js-link-from-confirmation-email\").val(\"\");\n $(linkFromConfirmationEmailContainer).addClass(\"hide\");\n $(linkFromConfirmationEmailContainer).find(\"js-resend-verification-email\").attr(\"data-sender-identity\", \"\");\n $(verifyEmailContainer).find(\".js-verified-icon\").addClass(\"hide\");\n waitingDialog.hide();\n }\n }\n else {\n waitingDialog.hide();\n }\n }));\n });\n $(item).find(\".js-verify-sender\").on(\"click\", function (e) {\n e.preventDefault();\n me.SendCreateRequest($(e.currentTarget), item, false);\n });\n $(item).find(\".js-send-recipient-list\").on(\"change\", function (e) {\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector\").addClass(\"hide\");\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector button\").removeAttr(\"data-contact-list-id\");\n if ($(e.currentTarget).val() != \"\" && $(e.currentTarget).attr(\"data-number-contacts\") !== \"0\") {\n var numberOfContacts = $(item).find(\".js-send-recipient-list\").find(':selected').attr('data-number-contacts');\n if (numberOfContacts !== \"0\") {\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector\").removeClass(\"hide\");\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector button\").attr(\"data-contact-list-id\", $(e.currentTarget).val());\n }\n }\n });\n $(item).find(\".js-send-seed-list\").on(\"change\", function (e) {\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-seed-list-selector\").addClass(\"hide\");\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-seed-list-selector button\").removeAttr(\"data-contact-list-id\");\n if ($(e.currentTarget).val() != \"\" && $(e.currentTarget).attr(\"data-number-contacts\") !== \"0\") {\n var numberOfContacts = $(item).find(\".js-send-seed-list\").find(':selected').attr('data-number-contacts');\n if (numberOfContacts !== \"0\") {\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-seed-list-selector\").removeClass(\"hide\");\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-seed-list-selector button\").attr(\"data-contact-list-id\", $(e.currentTarget).val());\n }\n }\n });\n if ($(item).find(\".js-send-time-zone-data\").val() !== \"\" && $(item).find(\".js-send-time-zone-data\").val() !== undefined) {\n $(\".js-send-time-zone\").val($(\".js-send-time-zone-data\").val());\n }\n if ($(item).find(\".js-seed-send-time-zone-data\").val() !== \"\" && $(item).find(\".js-seed-send-time-zone-data\").val() !== undefined) {\n $(item).find(\".js-seed-send-time-zone\").val($(\".js-seed-send-time-zone-data\").val());\n }\n if ($(item).find(\"#send-date-full\").val() !== \"\") {\n ReloadForCustomizationAndOrder($(item).find('#send-date-full').val(), $(item).find(\".js-schedule-send-config\").find(\".js-send-time-zone\").val(), $(item).find('#send-time'), $(item).find('#send-date'));\n }\n if ($(item).find(\"#seed-send-date-full\").val() !== \"\") {\n ReloadForCustomizationAndOrder($(item).find('#seed-send-date-full').val(), $(item).find(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val(), $(item).find('#seed-send-time'), $(item).find('#seed-send-date'));\n }\n var sendDateEl = $(item).find('#send-date-picker').get(0);\n var sendTimeEl = $(item).find('#send-time-picker').get(0);\n var seedDateEl = $(item).find('#seed-send-date-picker').get(0);\n var seedTimeEl = $(item).find('#seed-send-time-picker').get(0);\n ConfigureDatePicker($(item).find('#send-date-picker'));\n ConfigureDatePicker($(item).find('#seed-send-date-picker'));\n ConfigureTimePicker($(item).find('#send-time-picker'));\n ConfigureTimePicker($(item).find('#seed-send-time-picker'));\n //InitializeDatePickerForOrder(sendDateEl, sendTimeEl, seedDateEl, seedTimeEl);\n $(item).find(\".js-upload-recipient-list\").on(\"click\", function (e) {\n e.preventDefault();\n me.OpenUploadModal($(e.currentTarget));\n });\n $(item).find(\".js-search-list-by-email\").on(\"click\", function (e) {\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector\").addClass(\"hide\");\n var recipentlist = $(item).find(\".js-send-recipient-list\");\n e.preventDefault();\n var email = $(item).find(\".js-email-to-search\").val();\n if (email != \"\") {\n $('#ajax-loading').modal();\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetContactListByEmailAddress/\" + email\n }).done(function (data) {\n $(\"#ajax-loading\").modal(\"hide\");\n if (data != null) {\n if (data.length == 1) {\n $(recipentlist).find(\"option\").each(function () {\n if ($(this).val() != data && $(this).val() != \"\") {\n this.remove();\n }\n });\n }\n }\n }).fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n });\n }\n });\n $(item).find(\".js-search-list-by-email-reset\").on(\"click\", function (e) {\n $(e.currentTarget).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector\").addClass(\"hide\");\n $(item).find(\".js-email-to-search\").val(\"\");\n var originalList = $(item).find(\".js-send-recipient-list-clone\");\n var recipentlist = $(item).find(\".js-send-recipient-list\");\n $(recipentlist).empty();\n e.preventDefault();\n $(originalList).find(\"option\").each(function () {\n $('<option>').val($(this).val()).text($(this).text()).attr('data-number-contacts', $(this).attr(\"data-number-contacts\")).appendTo($(recipentlist));\n });\n });\n $(item).find(\".js-upload-seed-list\").on(\"click\", function (e) {\n e.preventDefault();\n me.OpenUploadModal($(e.currentTarget));\n });\n me.bindLocalizedTime();\n $.each($(item).find(\".js-email-send-details-container\"), function (i, e) {\n var itemId = \"-\" + $(e).attr(\"data-field-identifier\");\n $(item).find(\"input[name=listSend\" + itemId + \"]\").on(\"change\", function (e) {\n if ($(this).val() === \"schedule\") {\n $(this).closest(\".js-email-send-details-container\").find(\".js-schedule-send-config\").removeClass(\"hidden\");\n }\n else {\n $(this).closest(\".js-email-send-details-container\").find(\".js-schedule-send-config\").addClass(\"hidden\");\n }\n });\n $(item).find(\"input[name=seedListSend\" + itemId + \"]\").on(\"change\", function (e) {\n if ($(this).val() === \"seperate\") {\n $(this).closest(\".js-email-send-details-container\").find(\".js-seed-list-schedule\").removeClass(\"hidden\");\n }\n else {\n $(this).closest(\".js-email-send-details-container\").find(\".js-seed-list-schedule\").addClass(\"hidden\");\n }\n });\n });\n $.each($(item).find(\".js-fromaddress-container\"), function (i, e) {\n $(item).find(\"input[name=fromname]\").on(\"change\", function (e) {\n if ($(this).val() === \"defaultSender\") {\n $(this).closest(\".js-fromaddress-container\").find(\".js-default-sender-field\").attr(\"data-field-name\", \"EmailFrom\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-custom-sender-field\").removeAttr(\"data-field-name\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-default-sender-field\").removeClass(\"hide\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-verify-email-container\").addClass(\"hide\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-verify-email-container\").find(\".js-custom-sender-field\").val(\"\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-default-sender-field\").attr(\"data-isrequired\", \"True\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-verify-email-container\").find(\".js-custom-sender-field\").removeAttr(\"data-isrequired\");\n }\n else {\n $(this).closest(\".js-fromaddress-container\").find(\".js-default-sender-field\").removeAttr(\"data-field-name\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-custom-sender-field\").attr(\"data-field-name\", \"EmailFrom\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-default-sender-field\").addClass(\"hide\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-verify-email-container\").removeClass(\"hide\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-default-sender-field\").removeAttr(\"data-isrequired\");\n $(this).closest(\".js-fromaddress-container\").find(\".js-verify-email-container\").find(\".js-custom-sender-field\").attr(\"data-isrequired\", \"True\");\n }\n });\n });\n $(document).on(\"change\", \".js-send-separate-seed-email\", function (e) {\n if ($(this).is(\":checked\")) {\n $(this).closest(\".js-email-send-details-container\").find(\".js-schedule-seed-send-config\").removeClass(\"hidden\");\n }\n else {\n $(this).closest(\".js-email-send-details-container\").find(\".js-schedule-seed-send-config\").addClass(\"hidden\");\n }\n });\n }\n OpenDirectMailUploadModal(button) {\n waitingDialog.show(\"\");\n var me = this;\n var assignmentIdentifier = $(button).attr(\"data-product-catalogassignment-identifier\");\n var locale = $(button).attr(\"data-locale\");\n var emailDirectMailDetailsContainer = $(button).closest(\".js-direct-mail-configuration-container\");\n var appendToName = \"\";\n $.when(me.GetDirectMailUploadModal(assignmentIdentifier, locale).done(function (data, textStatus, response) {\n var options = {\n classes: \"configure-send-modal\",\n origin: $(button)\n };\n me._globalModal.openGlobalModal(data, \"panel\", options);\n var confirmContainer = $(\".global-modal\").find(\".js-confirm-direct-mail-file-container\");\n var fileUploadContainer = $(\".global-modal\").find(\".js-direct-mail-file-upload-container\");\n var tableBody = $(\".global-modal\").find(\".js-response-items-body\");\n if (appendToName !== \"\") {\n $(\".global-modal\").find(\".js-list-name\").attr(\"value\", $(\".global-modal\").find(\".js-list-name\").attr(\"value\") + \" - \" + appendToName);\n }\n waitingDialog.hide();\n $(\".global-modal\").find(\".js-chose-new-file\").on('click', function (e) {\n e.preventDefault();\n $(tableBody).empty();\n $(\".global-modal\").find(\".js-confirm-file\").prop(\"disabled\", false);\n $(confirmContainer).addClass(\"hide\");\n $(fileUploadContainer).removeClass(\"hide\");\n });\n $(\".global-modal\").find(\".js-upload-direct-mail-list\").on('click', function (e) {\n var assignmentIdentifier = $(e.currentTarget).attr(\"data-product-catalog-assignment-identifier\");\n var uploadType = $(e.currentTarget).attr(\"data-upload-type\");\n var noSelectedFileMessage = $(e.currentTarget).attr(\"data-no-file-selected-message\");\n var mapFieldNameLabel = $(e.currentTarget).attr(\"data-map-field-names-label\");\n var fileNameRequired = $(e.currentTarget).attr(\"data-list-name-required\");\n var parentContainer = $(e.currentTarget).closest(\".js-upload-direct-mail-recipient-container\");\n e.preventDefault();\n if ($(\".global-modal\").find(\".js-list-name\").val() == \"\") {\n alert(fileNameRequired);\n return false;\n }\n var formData = new FormData();\n var element = document.getElementById(\"uploadDirectMailList\");\n var file = element.files[0];\n if (element.files.length > 0) {\n formData.append('file', file);\n formData.append('assignmentIdentifier', assignmentIdentifier);\n formData.append('uploadType', uploadType);\n formData.append('listName', $(\".global-modal\").find(\".js-list-name\").val());\n formData.append('confirm', \"false\");\n waitingDialog.show(\"\");\n var url = (\"/DirectMail/UploadDirectMailRecipients\");\n $.when(submitAjaxRequest(undefined, url, \"POST\", undefined, undefined, undefined, formData).done(function (data) {\n waitingDialog.hide();\n if (data != null) {\n $(fileUploadContainer).addClass(\"hide\");\n $(confirmContainer).removeClass(\"hide\");\n var result = \"\";\n $(tableBody).empty();\n if (data.errorMessage.length == 0) {\n result += \"<tr>\";\n result += \"<td>\" + data.numberOfEntries + \" </td>\";\n result += \"<td>\" + $(confirmContainer).attr(\"data-list-number-of-entries\") + \" </td>\";\n result += \"</tr>\";\n }\n else {\n $(confirmContainer).find(\".js-confirm-file\").addClass(\"hide\");\n result += \"<tr>\";\n result += \"<td colspan='2'>\" + data.errorMessage + \"</td>\";\n result += \"</tr>\";\n }\n $(tableBody).html(result);\n }\n }));\n }\n else {\n waitingDialog.hide();\n bootbox.alert(noSelectedFileMessage);\n return false;\n }\n });\n $(\".global-modal\").find(\".js-confirm-direct-mail-file\").on('click', function (e) {\n e.preventDefault();\n var assignmentIdentifier = $(e.currentTarget).attr(\"data-product-catalog-assignment-identifier\");\n var uploadType = $(e.currentTarget).attr(\"data-upload-type\");\n var noSelectedFileMessage = $(e.currentTarget).attr(\"data-no-file-selected-message\");\n var fileNameRequired = $(e.currentTarget).attr(\"data-list-name-required\");\n if ($(\".global-modal\").find(\".js-list-name\").val() == \"\") {\n alert(fileNameRequired);\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n return false;\n }\n e.preventDefault();\n var formData = new FormData();\n var element = document.getElementById(\"uploadDirectMailList\");\n var file = element.files[0];\n if (element.files.length > 0) {\n $(e.currentTarget).prop(\"disabled\", true);\n waitingDialog.show(\"\");\n formData.append('file', file);\n formData.append('assignmentIdentifier', assignmentIdentifier);\n formData.append('uploadType', uploadType);\n formData.append('listName', $(\".global-modal\").find(\".js-list-name\").val());\n formData.append('confirm', \"true\");\n var url = (\"/DirectMail/UploadDirectMailRecipients\");\n $.when(submitAjaxRequest(undefined, url, \"POST\", undefined, undefined, undefined, formData).done(function (data) {\n if (data != null) {\n var result = \"\";\n $(tableBody).empty();\n if (data.errorMessage.length != 0) {\n $(confirmContainer).find(\".js-confirm-file\").addClass(\"hide\");\n result += \"<tr>\";\n result += \"<td colspan='2'>\" + data.errorMessage + \"</td>\";\n result += \"</tr>\";\n $(tableBody).html(result);\n $(\".global-modal\").find(\".js-confirm-direct-mail-file\").removeAttr(\"disabled\");\n waitingDialog.hide();\n return false;\n }\n else {\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n $(button).attr(\"data-contact-list-id\", data.contactListId);\n $(button).attr(\"data-contact-list-name\", data.contactListName);\n var dropdown = $(button).closest(\".form-group\").find(\".js-direct-mail-list-container\");\n var dropdownContainer = $(dropdown).closest(\".js-direct-mail-contact-list-container\");\n var dropdownclone = $(button).closest(\".form-group\").find(\".js-direct-mail-list-container-clone\");\n var directMailListSelector = $(button).closest(\".form-group\").find(\".js-direct-mail-list-selector\").removeClass(\"hide\");\n var directMailListSelectorButton = $(button).closest(\".form-group\").find(\".js-direct-mail-list-selector button\");\n $(directMailListSelectorButton).removeAttr(\"data-contact-list-id\");\n $(directMailListSelectorButton).attr(\"data-contact-list-id\", data.contactListId);\n var contactListId = data.contactListId;\n $.ajax({\n method: \"GET\",\n url: \"/DirectMail/GetDirectMailContactLists/\" + assignmentIdentifier\n }).done(function (data) {\n waitingDialog.hide();\n if (data != null) {\n $(dropdownContainer).html(data);\n $(dropdownContainer).find(\".js-direct-mail-list-container\").val(contactListId);\n //$(dropDown).val(contactListId);\n me.setApproximateCostContainer($(dropdownContainer).find(\".js-direct-mail-list-container\"));\n $($(dropdownContainer).find(\".js-direct-mail-list-container\")).on(\"change\", function (e) {\n me.setApproximateCostContainer(this);\n });\n //var container = $(dropDown).closest(\".js-direct-mail-configuration-container\");\n //$(container).find(\".js-direct-mail-list-selector\").addClass(\"hide\");\n //$(container).find(\".js-direct-mail-list-selector button\").removeAttr(\"data-contact-list-id\");\n //$(container).find(\".js-direct-mail-list-cost-container\").addClass(\"hide\");\n //if ($(dropDown).val() != \"\" && $(dropDown).find(':selected').attr('data-number-contacts') !== \"0\") {\n // var numberOfContacts = $(dropDown).find(':selected').attr('data-number-contacts')\n // var formattedNumberOfContacts = $(dropDown).find(':selected').attr('data-formatted-number-of-contacts');\n // var totalPrice = $(dropDown).find(':selected').attr('data-total-price');\n // if (numberOfContacts !== \"0\") {\n // $(container).find(\".js-direct-mail-list-selector\").removeClass(\"hide\");\n // $(container).find(\".js-direct-mail-list-selector button\").attr(\"data-contact-list-id\", $(button).val());\n // $(container).find(\".js-direct-mail-list-cost-container\").removeClass(\"hide\");\n // var appxroximateCostCopy = $(container).find(\".js-direct-mail-list-cost-container\").find(\".js-approximatcostcopy\").attr(\"data-approximate-cost-copy\");\n // $(container).find(\".js-direct-mail-list-cost-container\").find(\".js-approximatcostcopy\").html(appxroximateCostCopy.replace(\"{0}\", formattedNumberOfContacts).replace(\"{1}\", totalPrice));\n // }\n //}\n me._globalModal.closeGlobalModal();\n }\n });\n }\n }\n else {\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n }\n }));\n }\n else {\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n bootbox.alert(noSelectedFileMessage);\n return false;\n }\n });\n }));\n }\n OpenUploadModal(button) {\n waitingDialog.show(\"\");\n var me = this;\n var uploadType = $(button).attr(\"data-upload-type\");\n var assignmentIdentifier = $(button).attr(\"data-product-catalogassignment-identifier\");\n var locale = $(button).attr(\"data-locale\");\n var emailSendDetailsContainer = $(button).closest(\".js-email-send-details-container\");\n var appendToName = \"\";\n if ($(emailSendDetailsContainer).find(\"input:radio[name='listSend']:checked\").val() === \"immediately\") {\n appendToName = dayjs.utc((new Date()).toISOString()).local().format('MM/DD/YYYY').toString();\n }\n if ($(emailSendDetailsContainer).find(\"input:radio[name='listSend']:checked\").val() === \"immediately\") {\n appendToName = dayjs.utc((new Date()).toISOString()).local().format('MM/DD/YYYY').toString();\n }\n if ($(emailSendDetailsContainer).find(\".js-send-separate-seed-email\").is(\":checked\") &&\n $(emailSendDetailsContainer).find(\"input:radio[name='seedListSend']:checked\").val() === \"seperate\") {\n appendToName = \"\";\n }\n $.when(me.GetUploadModal(uploadType, assignmentIdentifier, locale).done(function (data, textStatus, response) {\n var options = {\n classes: \"configure-send-modal\",\n origin: $(button)\n };\n me._globalModal.openGlobalModal(data, \"panel\", options);\n var confirmContainer = $(\".global-modal\").find(\".js-confirm-file-container\");\n var fileUploadContainer = $(\".global-modal\").find(\".js-file-upload-container\");\n var tableBody = $(\".global-modal\").find(\".js-response-items-body\");\n if (appendToName !== \"\") {\n $(\".global-modal\").find(\".js-list-name\").attr(\"value\", $(\".global-modal\").find(\".js-list-name\").attr(\"value\") + \" - \" + appendToName);\n }\n waitingDialog.hide();\n $(\".global-modal\").find(\".js-chose-new-file\").on('click', function (e) {\n e.preventDefault();\n $(tableBody).empty();\n $(\".global-modal\").find(\".js-confirm-file\").prop(\"disabled\", false);\n $(confirmContainer).addClass(\"hide\");\n $(fileUploadContainer).removeClass(\"hide\");\n });\n $(\".global-modal\").find(\".js-upload-email-list\").on('click', function (e) {\n var assignmentIdentifier = $(e.currentTarget).attr(\"data-product-catalog-assignment-identifier\");\n var uploadType = $(e.currentTarget).attr(\"data-upload-type\");\n var noSelectedFileMessage = $(e.currentTarget).attr(\"data-no-file-selected-message\");\n var mapFieldNameLabel = $(e.currentTarget).attr(\"data-map-field-names-label\");\n var fileNameRequired = $(e.currentTarget).attr(\"data-list-name-required\");\n var parentContainer = $(e.currentTarget).closest(\".js-upload-email-recipient-container\");\n e.preventDefault();\n if ($(\".global-modal\").find(\".js-list-name\").val() == \"\") {\n alert(fileNameRequired);\n return false;\n }\n var formData = new FormData();\n var element = document.getElementById(\"uploadRecipientList\");\n var file = element.files[0];\n if (element.files.length > 0) {\n formData.append('file', file);\n formData.append('assignmentIdentifier', assignmentIdentifier);\n formData.append('uploadType', uploadType);\n formData.append('listName', $(\".global-modal\").find(\".js-list-name\").val());\n formData.append('confirm', \"false\");\n waitingDialog.show(\"\");\n var url = (\"/EmailCampaign/UploadEmailRecipients\");\n $.when(submitAjaxRequest(undefined, url, \"POST\", undefined, undefined, undefined, formData).done(function (data) {\n waitingDialog.hide();\n if (data != null) {\n $(fileUploadContainer).addClass(\"hide\");\n $(confirmContainer).removeClass(\"hide\");\n $(confirmContainer).find(\".js-confirm-file\").removeClass(\"hide\");\n $(confirmContainer).find(\"#mismatchedFieldNameMessage\").addClass(\"hide\");\n var result = \"\";\n $(tableBody).empty();\n if (data.fileHeaderNames != null && data.fileHeaderNames.length > 0) {\n result += \"<tr>\";\n result += \"<td>\" + mapFieldNameLabel + \": </td>\";\n result += \"<td>\" + \"<select class='js-mapped-field-name'>\";\n jQuery.each(data.fileHeaderNames, function (index, item) {\n if (item.isDefault == false) {\n result += \"<option value='\" + item.headerName + \"'>\" + item.headerName + \"</option>\";\n }\n else {\n result += \"<option value='\" + item.headerName + \"' selected =selected'>\" + item.headerName + \"</option>\";\n }\n });\n result += \"</select>\";\n result += \"</tr>\";\n $(confirmContainer).find(\".js-map-email-file\").removeClass(\"hide\");\n $(confirmContainer).find(\".js-confirm-file\").addClass(\"hide\");\n }\n else if (data.hasMismatchedColumnNames == true) {\n $(confirmContainer).find(\"#mismatchedFieldNameMessage\").removeClass(\"hide\");\n $(confirmContainer).find(\".js-confirm-file\").remove();\n }\n else if (data.errorMessage.length == 0) {\n result += \"<tr>\";\n result += \"<td>\" + data.numberOfEntries + \" </td>\";\n result += \"<td>\" + $(confirmContainer).attr(\"data-list-number-of-entries\") + \" </td>\";\n result += \"</tr>\";\n if (data.missingFieldsCount > 0) {\n result += \"<tr>\";\n result += \"<td>\" + data.missingFieldsCount + \" </td>\";\n result += \"<td>\" +\n $(confirmContainer).attr(\"data-list-number-of-entries-with-missing-field\") +\n \" </td>\";\n result += \"</tr>\";\n }\n if (data.entriesWithMissingData > 0) {\n result += \"<tr>\";\n result += \"<td>\" + data.entriesWithMissingData + \" </td>\";\n result += \"<td>\" +\n $(confirmContainer).attr(\"data-list-number-of-entries-with-missing-data\") +\n \" </td>\";\n result += \"</tr>\";\n }\n if (data.entriesWithInvalidEmailData) {\n result += \"<tr>\";\n result += \"<td>\" + data.entriesWithInvalidEmailData + \" </td>\";\n result += \"<td>\" +\n $(confirmContainer).attr(\"data-list-number-of-entries-with-invalid-email\") +\n \" </td>\";\n result += \"</tr>\";\n }\n }\n else {\n $(confirmContainer).find(\".js-confirm-file\").addClass(\"hide\");\n result += \"<tr>\";\n result += \"<td colspan='2'>\" + data.errorMessage + \"</td>\";\n result += \"</tr>\";\n }\n $(tableBody).html(result);\n }\n }));\n }\n else {\n waitingDialog.hide();\n bootbox.alert(noSelectedFileMessage);\n return false;\n }\n });\n $(\".global-modal\").find(\".js-map-email-file\").on('click', function (e) {\n waitingDialog.show(\"\");\n var assignmentIdentifier = $(e.currentTarget).attr(\"data-product-catalog-assignment-identifier\");\n var uploadType = $(e.currentTarget).attr(\"data-upload-type\");\n var noSelectedFileMessage = $(e.currentTarget).attr(\"data-no-file-selected-message\");\n var mapFieldNameLabel = $(e.currentTarget).attr(\"data-map-field-names-label\");\n var fileNameRequired = $(e.currentTarget).attr(\"data-list-name-required\");\n if ($(\".global-modal\").find(\".js-list-name\").val() === \"\") {\n alert(fileNameRequired);\n return false;\n }\n e.preventDefault();\n var formData = new FormData();\n var element = document.getElementById(\"uploadRecipientList\");\n var file = element.files[0];\n if (element.files.length > 0) {\n formData.append('file', file);\n formData.append('assignmentIdentifier', assignmentIdentifier);\n formData.append('uploadType', uploadType);\n formData.append('listName', $(\".global-modal\").find(\".js-list-name\").val());\n if ($(\".global-modal\").find(\".js-mapped-field-name\").length > 0 || $(\".global-modal\").find(\"#mappedfieldname\").val() !== \"\") {\n if ($(\".global-modal\").find(\".js-mapped-field-name\").length > 0) {\n formData.append('emailFieldName', $(\".global-modal\").find(\".js-mapped-field-name\").val());\n $(\".global-modal\").find(\"#mappedfieldname\").val($(\".global-modal\").find(\".js-mapped-field-name\").val());\n }\n else {\n formData.append('emailFieldName', $(\".global-modal\").find(\"#mappedfieldname\").val());\n }\n if ($(\".global-modal\").find(\"#mappedfieldname\").val() !== \"\") {\n formData.append('confirm', \"map\");\n }\n else {\n formData.append('confirm', \"true\");\n }\n }\n else {\n formData.append('confirm', \"true\");\n }\n var url = (\"/EmailCampaign/UploadEmailRecipients\");\n $.when(submitAjaxRequest(undefined, url, \"POST\", undefined, undefined, undefined, formData).done(function (data) {\n waitingDialog.hide();\n if (data != null) {\n var result = \"\";\n $(tableBody).empty();\n if (data.errorMessage.length != 0) {\n $(confirmContainer).find(\".js-confirm-file\").addClass(\"hide\");\n result += \"<tr>\";\n result += \"<td colspan='2'>\" + data.errorMessage + \"</td>\";\n result += \"</tr>\";\n }\n else {\n $(fileUploadContainer).addClass(\"hide\");\n $(confirmContainer).removeClass(\"hide\");\n $(confirmContainer).find(\".js-confirm-file\").removeClass(\"hide\");\n $(confirmContainer).find(\".js-map-email-file\").addClass(\"hide\");\n result += \"<tr>\";\n result += \"<td>\" + data.numberOfEntries + \" </td>\";\n result += \"<td>\" + $(confirmContainer).attr(\"data-list-number-of-entries\") + \" </td>\";\n result += \"</tr>\";\n if (data.missingFieldsCount > 0) {\n result += \"<tr>\";\n result += \"<td>\" + data.missingFieldsCount + \" </td>\";\n result += \"<td>\" +\n $(confirmContainer).attr(\"data-list-number-of-entries-with-missing-field\") +\n \" </td>\";\n result += \"</tr>\";\n }\n if (data.entriesWithMissingData > 0) {\n result += \"<tr>\";\n result += \"<td>\" + data.entriesWithMissingData + \" </td>\";\n result += \"<td>\" +\n $(confirmContainer).attr(\"data-list-number-of-entries-with-missing-data\") +\n \" </td>\";\n result += \"</tr>\";\n }\n if (data.entriesWithInvalidEmailData) {\n result += \"<tr>\";\n result += \"<td>\" + data.entriesWithInvalidEmailData + \" </td>\";\n result += \"<td>\" +\n $(confirmContainer).attr(\"data-list-number-of-entries-with-invalid-email\") +\n \" </td>\";\n result += \"</tr>\";\n }\n }\n $(tableBody).html(result);\n }\n }));\n }\n else {\n waitingDialog.hide();\n bootbox.alert(noSelectedFileMessage);\n return false;\n }\n });\n $(\".global-modal\").find(\".js-confirm-file\").on('click', function (e) {\n e.preventDefault();\n var assignmentIdentifier = $(e.currentTarget).attr(\"data-product-catalog-assignment-identifier\");\n var uploadType = $(e.currentTarget).attr(\"data-upload-type\");\n var noSelectedFileMessage = $(e.currentTarget).attr(\"data-no-file-selected-message\");\n var fileNameRequired = $(e.currentTarget).attr(\"data-list-name-required\");\n if ($(\".global-modal\").find(\".js-list-name\").val() == \"\") {\n alert(fileNameRequired);\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n return false;\n }\n e.preventDefault();\n var formData = new FormData();\n var element = document.getElementById(\"uploadRecipientList\");\n var file = element.files[0];\n if (element.files.length > 0) {\n $(e.currentTarget).prop(\"disabled\", true);\n waitingDialog.show(\"\");\n formData.append('file', file);\n formData.append('assignmentIdentifier', assignmentIdentifier);\n formData.append('uploadType', uploadType);\n formData.append('listName', $(\".global-modal\").find(\".js-list-name\").val());\n if ($(\".global-modal\").find(\".js-mapped-field-name\").length > 0 || $(\".global-modal\").find(\"#mappedfieldname\").val() !== \"\") {\n if ($(\".global-modal\").find(\".js-mapped-field-name\").length > 0) {\n formData.append('emailFieldName', $(\".global-modal\").find(\".js-mapped-field-name\").val());\n $(\".global-modal\").find(\"#mappedfieldname\").val($(\".global-modal\").find(\".js-mapped-field-name\").val());\n }\n else {\n formData.append('emailFieldName', $(\".global-modal\").find(\"#mappedfieldname\").val());\n }\n formData.append('confirm', \"true\");\n }\n else {\n formData.append('confirm', \"true\");\n }\n var url = (\"/EmailCampaign/UploadEmailRecipients\");\n $.when(submitAjaxRequest(undefined, url, \"POST\", undefined, undefined, undefined, formData).done(function (data) {\n if (data != null) {\n var result = \"\";\n $(tableBody).empty();\n if (data.errorMessage.length != 0) {\n $(confirmContainer).find(\".js-confirm-file\").addClass(\"hide\");\n result += \"<tr>\";\n result += \"<td colspan='2'>\" + data.errorMessage + \"</td>\";\n result += \"</tr>\";\n $(tableBody).html(result);\n waitingDialog.hide();\n return false;\n }\n else {\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n $(button).attr(\"data-contact-list-id\", data.contactListId);\n $(button).attr(\"data-contact-list-name\", data.contactListName);\n var dropdown = uploadType === \"seed\" ? $(button).closest(\".js-email-send-details-container\").find(\".js-send-seed-list\") : (button).closest(\".js-email-send-details-container\").find(\".js-send-recipient-list\");\n var dropdownclone = uploadType === \"seed\" ? $(button).closest(\".js-email-send-details-container\").find(\".js-send-seed-list-clone\") : (button).closest(\".js-email-send-details-container\").find(\".js-send-recipient-list-clone\");\n var emailListSelector = uploadType === \"seed\" ? $(button).closest(\".js-email-send-details-container\").find(\".js-email-seed-list-selector\").removeClass(\"hide\") : $(button).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector\").removeClass(\"hide\");\n var emailListSelectorButton = uploadType === \"seed\" ? $(button).closest(\".js-email-send-details-container\").find(\".js-email-seed-list-selector button\") : $(button).closest(\".js-email-send-details-container\").find(\".js-email-recipient-list-selector button\");\n $(emailListSelectorButton).removeAttr(\"data-contact-list-id\");\n $(emailListSelectorButton).attr(\"data-contact-list-id\", data.contactListId);\n if ($(dropdown).length > 0) {\n $(dropdown).empty();\n $(dropdown).append($(\"<option />\").val(\"\").text(\"\"));\n $.each(data.contactLists, function () {\n $('<option>').val(this.id).text(this.name.split(\"|\")[0]).attr('data-number-contacts', this.numberOfContacts).appendTo($(dropdown));\n });\n $(dropdown).val(data.contactListId);\n }\n if ($(dropdownclone).length > 0) {\n $(dropdownclone).empty();\n $(dropdownclone).append($(\"<option />\").val(\"\").text(\"\"));\n $.each(data.contactLists, function () {\n $('<option>').val(this.id).text(this.name.split(\"|\")[0]).attr('data-number-contacts', this.numberOfContacts).appendTo($(dropdownclone));\n });\n $(dropdownclone).val(data.contactListId);\n }\n //$(dropdown).on(\"click\", function (e) {\n //\te.preventDefault();\n //\tif ($(e.currentTarget).attr(\"data-contact-list-id\") !== \"\") {\n //\t\tme.openEmailUploadedListRecipients($(e.currentTarget));\n //\t}\n //});\n me._globalModal.closeGlobalModal();\n }\n }\n else {\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n }\n }));\n }\n else {\n $(e.currentTarget).prop(\"disabled\", false);\n waitingDialog.hide();\n bootbox.alert(noSelectedFileMessage);\n return false;\n }\n });\n }));\n }\n CheckIsEmailInVerifiedDomain(text, item, isReposted) {\n waitingDialog.show(\"\");\n var me = this;\n var verifyEmailContainer = $(text).closest(\".js-verify-email-container\");\n $(verifyEmailContainer).find(\".js-verified-icon\").addClass(\"hide\");\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"false\");\n var linkFromConfirmationEmailContainer = $(verifyEmailContainer).find(\".js-link-from-confirmation-email-container\");\n var fromEmail = $(item).find(\".js-custom-sender-field\").val() !== \"\" ? $.trim((item).find(\".js-custom-sender-field\").val()).toLowerCase() : \"\";\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"false\");\n var verifiedMessage = $(text).attr(\"data-confirm-message\");\n var invalidEmailMessage = $(item).find(\".js-custom-sender-field\").attr(\"data-invalid-email-message\");\n if (fromEmail === \"\") {\n bootbox.alert($(item).find(\".js-custom-sender-field\").attr(\"data-required-message\"));\n waitingDialog.hide();\n return false;\n }\n if (!me.IsValidFromEmailAddress(fromEmail)) {\n bootbox.alert($(item).find(\".js-custom-sender-field\").attr(\"data-invalid-email-message\"));\n waitingDialog.hide();\n return false;\n }\n var verifiedDomainList = $(text).attr(\"data-verified-domain-list\");\n if (verifiedDomainList != \"\") {\n var restrictToVerifiedDomainsOnly = $(text).attr(\"data-restrict-to-verified-domains-only\");\n var isValidDomainForEmail = false;\n var domain = fromEmail.split(\"@\")[1];\n if (verifiedDomainList != \"\") {\n var verifiedDomainListArray = verifiedDomainList.split(',');\n if (verifiedDomainListArray.length > 0 && verifiedDomainListArray.indexOf(domain) !== -1) {\n isValidDomainForEmail = true;\n waitingDialog.hide();\n //bootbox.alert(verifiedMessage);\n $(verifyEmailContainer).find(\".js-verified-icon\").removeClass(\"hide\");\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"true\");\n return false;\n }\n if (!isValidDomainForEmail && restrictToVerifiedDomainsOnly == 'true') {\n bootbox.alert($(text).attr(\"data-domain-mismatch-message\"));\n waitingDialog.hide();\n return false;\n }\n }\n }\n }\n SendCreateRequest(button, item, isReposted) {\n waitingDialog.show(\"\");\n var me = this;\n var verifyEmailContainer = $(button).closest(\".js-verify-email-container\");\n var linkFromConfirmationEmailContainer = $(verifyEmailContainer).find(\".js-link-from-confirmation-email-container\");\n var fromEmail = $(item).find(\".js-custom-sender-field\").val() !== \"\" ? $.trim((item).find(\".js-custom-sender-field\").val()).toLowerCase() : \"\";\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"false\");\n var verifiedMessage = $(button).attr(\"data-confirm-message\");\n var invalidEmailMessage = $(item).find(\".js-custom-sender-field\").attr(\"data-invalid-email-message\");\n if (fromEmail === \"\") {\n bootbox.alert($(item).find(\".js-custom-sender-field\").attr(\"data-required-message\"));\n waitingDialog.hide();\n return;\n }\n if (!me.IsValidFromEmailAddress(fromEmail)) {\n bootbox.alert($(item).find(\".js-custom-sender-field\").attr(\"data-invalid-email-message\"));\n waitingDialog.hide();\n return;\n }\n var verifiedDomainList = $(button).attr(\"data-verified-domain-list\");\n var restrictToVerifiedDomainsOnly = $(button).attr(\"data-restrict-to-verified-domains-only\");\n if (verifiedDomainList != \"\") {\n var isValidDomainForEmail = false;\n var domain = fromEmail.split(\"@\")[1];\n var verifiedDomainListArray = verifiedDomainList.split(',');\n if (verifiedDomainListArray.length > 0 && verifiedDomainListArray.indexOf(domain) !== -1) {\n isValidDomainForEmail = true;\n waitingDialog.hide();\n bootbox.alert(verifiedMessage);\n $(verifyEmailContainer).find(\".js-verified-icon\").removeClass(\"hide\");\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"true\");\n return false;\n }\n if (!isValidDomainForEmail && restrictToVerifiedDomainsOnly == 'true') {\n bootbox.alert($(button).attr(\"data-domain-mismatch-message\"));\n waitingDialog.hide();\n return false;\n }\n }\n var caller = $(button).attr(\"data-button-identifier\");\n $(verifyEmailContainer).find(\".js-verify-sender\").removeAttr(\"disabled\");\n var fromAddress = $(item).find(\".js-custom-sender-field\").val();\n var sendGridConfirmationLinkDTO = {\n fromAddress: fromAddress\n };\n var verifyFromAddressAft = getAntiForgeryToken();\n $.ajax({\n method: \"POST\",\n url: \"/SendGridVerification/VerifyFromAddress\",\n data: JSON.stringify(sendGridConfirmationLinkDTO),\n cache: false,\n traditional: true,\n contentType: \"application/json; charset=utf-8\",\n headers: {\n 'RequestVerificationToken': verifyFromAddressAft\n }\n }).done(function (data) {\n if (data != null) {\n if (data.userExists) {\n if (data.isVerified) {\n alert(verifiedMessage);\n me.SetVerificationData(verifyEmailContainer, data);\n waitingDialog.hide();\n }\n else {\n me.OpenSendGridConfirmationLinkModal(caller, fromAddress);\n waitingDialog.hide();\n }\n }\n else {\n if (isReposted) {\n var submitContainer = $(\".global-modal\").find(\".submit-sender-information-container\");\n var dto = {\n nickName: $(submitContainer).find(\"#nickname\").val(),\n from_Email: $(submitContainer).find(\"#fromemail\").val(),\n from_Name: $(submitContainer).find(\"#displayname\").val(),\n reply_To: $(submitContainer).find(\"#replyto\").val(),\n address: $(submitContainer).find(\"#address\").val(),\n city: $(submitContainer).find(\"#city\").val(),\n country: $(submitContainer).find(\"#country\").val(),\n };\n var url = '/SendGridVerification/CreateVerifiedSenderRequest';\n $.when(submitAjaxRequest(dto, url, \"POST\").done(function (data) {\n me._globalModal.closeGlobalModal();\n if (data != null) {\n if (data.isNewUserCreated) {\n if (data.userCreated.verified == false) {\n me.OpenSendGridConfirmationLinkModal(caller, fromAddress);\n waitingDialog.hide();\n }\n else {\n me.SetVerificationData(verifyEmailContainer, data);\n waitingDialog.hide();\n }\n }\n else {\n if (data.error != null) {\n if (data.error.errors.length > 0) {\n if (data.error.errors[0].field != null) {\n bootbox.alert(data.error.errors[0].field + \" \" + data.error.errors[0].message);\n }\n else {\n bootbox.alert(data.error.errors[0].message);\n }\n waitingDialog.hide();\n return;\n }\n }\n if (data.exceptionErrors !== \"\") {\n bootbox.alert(data.exceptionErrors);\n $(verifyEmailContainer).find(\".js-verified-icon\").addClass(\"hide\");\n waitingDialog.hide();\n return;\n }\n if (data.canSendRequestAgain) {\n me.SendCreateRequest(button, item, true);\n }\n }\n }\n }));\n }\n else {\n var sendGridConfirmationLinkDTO = {\n fromAddress: fromAddress\n };\n var getSenderInformationFormAft = getAntiForgeryToken();\n $.ajax({\n method: \"POST\",\n url: \"/SendGridVerification/GetSenderInformationForm\",\n data: JSON.stringify(sendGridConfirmationLinkDTO),\n cache: false,\n traditional: true,\n contentType: \"application/json; charset=utf-8\",\n headers: {\n 'RequestVerificationToken': getSenderInformationFormAft\n }\n }).done(function (data) {\n waitingDialog.hide();\n if (data != null) {\n var options = {\n classes: \"configure-sender-information-modal \",\n };\n me._globalModal.openGlobalModal(data, \"panel\", options);\n $(\".global-modal\").find(\".js-submit-sender-information\").attr(\"caller\", caller);\n $(\".global-modal\").find(\".js-submit-sender-information\").on(\"click\", function (e) {\n var submitContainer = $(\".global-modal\").find(\".submit-sender-information-container\");\n var errorMessage = \"\";\n if ($(submitContainer).find(\"#nickname\").val() === \"\") {\n errorMessage += $(submitContainer).attr(\"data-nickname-required-message\") + \"</br>\";\n }\n if ($(submitContainer).find(\"#replyTo\").val() === \"\") {\n errorMessage += $(submitContainer).attr(\"data-replyto-required-message\") + \"</br>\";\n }\n if ($(submitContainer).find(\"#displayname\").val() === \"\") {\n errorMessage += $(submitContainer).attr(\"data-displayname-required-message\") + \"</br>\";\n }\n if ($(submitContainer).find(\"#address\").val() === \"\") {\n errorMessage += $(submitContainer).attr(\"data-address-required-message\") + \"</br/>\";\n }\n if ($(submitContainer).find(\"#city\").val() === \"\") {\n errorMessage += $(submitContainer).attr(\"data-city-required-message\") + \"</br>\";\n }\n if ($(submitContainer).find(\"#country\").val() === \"\") {\n errorMessage += $(submitContainer).attr(\"data-country-required-message\") + \"</br>\";\n }\n if (errorMessage !== \"\") {\n bootbox.alert(errorMessage);\n waitingDialog.hide();\n return;\n }\n else {\n var dto = {\n nickName: $(submitContainer).find(\"#nickname\").val(),\n from_Email: $(submitContainer).find(\"#fromemail\").val(),\n from_Name: $(submitContainer).find(\"#displayname\").val(),\n reply_To: $(submitContainer).find(\"#replyto\").val(),\n address: $(submitContainer).find(\"#address\").val(),\n city: $(submitContainer).find(\"#city\").val(),\n country: $(submitContainer).find(\"#country\").val(),\n };\n var url = '/SendGridVerification/CreateVerifiedSenderRequest';\n $.when(submitAjaxRequest(dto, url, \"POST\").done(function (data) {\n if (data != null) {\n if (data.isNewUserCreated) {\n if (data.userCreated.verified == false) {\n me.OpenSendGridConfirmationLinkModal(caller, fromAddress);\n waitingDialog.hide();\n }\n else {\n me.SetVerificationData(verifyEmailContainer, data);\n waitingDialog.hide();\n }\n me._globalModal.closeGlobalModal();\n }\n else {\n if (data.error != null) {\n if (data.error.errors.length > 0) {\n if (data.error.errors[0].field != null) {\n bootbox.alert(data.error.errors[0].field + \" \" + data.error.errors[0].message);\n }\n else {\n bootbox.alert(data.error.errors[0].message);\n }\n me._globalModal.closeGlobalModal();\n waitingDialog.hide();\n return;\n }\n }\n if (data.exceptionErrors != \"\") {\n bootbox.alert(data.exceptionErrors);\n $(verifyEmailContainer).find(\".js-verified-icon\").addClass(\"hide\");\n waitingDialog.hide();\n me._globalModal.closeGlobalModal();\n return;\n }\n if (data.canSendRequestAgain) {\n me.SendCreateRequest(button, item, true);\n }\n }\n }\n }));\n }\n });\n }\n });\n }\n }\n }\n });\n }\n SetVerificationData(verifyEmailContainer, data) {\n $(verifyEmailContainer).find(\".js-verified-icon\").removeClass(\"hide\");\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"true\");\n if (data.isNewUserCreated) {\n $(verifyEmailContainer).closest(\".js-email-configuration-container\").find(\".js-reply-to\").val(data.userCreated.reply_To);\n $(verifyEmailContainer).closest(\".js-email-configuration-container\").find(\".js-from-name\").val(data.userCreated.from_Name);\n }\n else if (data.existingUser != null) {\n $(verifyEmailContainer).closest(\".js-email-configuration-container\").find(\".js-reply-to\").val(data.existingUser.reply_To);\n $(verifyEmailContainer).closest(\".js-email-configuration-container\").find(\".js-from-name\").val(data.existingUser.from_Name);\n }\n }\n IsValidFromEmailAddress(emailAddress) {\n var pattern = /^([a-z\\d!#$%&'*+\\-\\/=?^_`{|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+(\\.[a-z\\d!#$%&'*+\\-\\/=?^_`{|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+)*|\"((([ \\t]*\\r\\n)?[ \\t]+)?([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*(([ \\t]*\\r\\n)?[ \\t]+)?\")@(([a-z\\d\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|[a-z\\d\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF][a-z\\d\\-._~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]*[a-z\\d\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])\\.)+([a-z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|[a-z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF][a-z\\d\\-._~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]*[a-z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])\\.?$/i;\n return pattern.test(emailAddress);\n }\n OpenSendGridConfirmationLinkModal(caller, fromAddress) {\n waitingDialog.hide();\n var me = this;\n var sendGridConfirmationLinkDTO = {\n fromAddress: fromAddress\n };\n var getConfirmationLinkFormaft = getAntiForgeryToken();\n $.ajax({\n method: \"POST\",\n url: \"/SendGridVerification/GetConfirmationLinkForm\",\n data: JSON.stringify(sendGridConfirmationLinkDTO),\n cache: false,\n traditional: true,\n contentType: \"application/json; charset=utf-8\",\n headers: {\n 'RequestVerificationToken': getConfirmationLinkFormaft\n }\n }).done(function (data) {\n if (data != null) {\n var options = {\n classes: \"configure-sender-confirmation-modal\",\n };\n me._globalModal.openGlobalModal(data, \"panel\", options);\n $(\".global-modal\").find(\".js-verify-confirmation-link\").attr(\"caller\", caller);\n $(\".global-modal\").find(\".js-verify-confirmation-link\").on(\"click\", function (e) {\n e.preventDefault();\n var buttonId = $(e.currentTarget).attr(\"caller\");\n var verifyEmailContainer = $(\"[data-button-identifier=\" + buttonId + \"]\").closest(\".js-verify-email-container\");\n var verifiedMessage = $(\".global-modal\").find(\".submit-confirmation-link-container\").attr(\"data-confirm-message\");\n var errorMessage = $(\".global-modal\").find(\".submit-confirmation-link-container\").attr(\"data-confirm-error-message\");\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"false\");\n var fromEmail = $(e.currentTarget).attr(\"data-from-email-address\");\n var sendGridConfirmationLinkDTO = {\n url: $(\".global-modal\").find(\".js-link-from-confirmation-email\").val(),\n fromEmail: fromEmail\n };\n var url = \"/SendGridVerification/VerifySenderRequest\";\n $.when(submitAjaxRequest(sendGridConfirmationLinkDTO, url, \"POST\").done(function (data) {\n if (data != null) {\n if (data.isVerified) {\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"true\");\n $(verifyEmailContainer).find(\".js-verified-icon\").removeClass(\"hide\");\n me._globalModal.closeGlobalModal();\n $(\".global-modal\").find(\".js-link-from-confirmation-email\").val(\"\");\n me.SetVerificationData(verifyEmailContainer, data);\n alert(verifiedMessage);\n }\n else if (!data.isVerified) {\n bootbox.alert(errorMessage);\n $(verifyEmailContainer).find(\".js-verified-icon\").addClass(\"hide\");\n $(verifyEmailContainer).attr(\"data-sender-verified\", \"false\");\n $(\".global-modal\").find(\".js-link-from-confirmation-email\").val(\"\");\n }\n else if (data.exceptionErrors != \"\") {\n bootbox.alert(data.exceptionErrors);\n $(verifyEmailContainer).find(\".js-verified-icon\").addClass(\"hide\");\n }\n }\n else {\n }\n }));\n });\n }\n else {\n }\n });\n }\n openDirectMailUploadedListRecipients(button) {\n var me = this;\n var contactListId = $(button).attr(\"data-contact-list-id\");\n waitingDialog.show(\"\");\n $.ajax({\n method: \"GET\",\n url: \"/DirectMail/GetDirectMailUploadedListRecipientsByContactId/\" + contactListId\n }).done(function (data, textStatus, request) {\n waitingDialog.hide();\n if (data) {\n var globalModal = new GlobalModal(contactListId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-uploaded-list-recipients\").attr(\"data-contact-list-id\", contactListId);\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-uploaded-list-recipients\").click(function (e) {\n var contactListId = $(e.currentTarget).attr(\"data-contact-list-id\");\n window.location.href = \"/Catalog/ProductCustomization/DownloadDirectMailUploadedListRecipientsByContactId/\" + contactListId + \"/\" + $(\".global-modal-inner-container\").find(\".js-directmailuploadedlistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n waitingDialog.hide();\n }\n });\n waitingDialog.hide();\n }\n openEmailUploadedListRecipients(button) {\n var me = this;\n var contactListId = $(button).attr(\"data-contact-list-id\");\n waitingDialog.show(\"\");\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetEmailUploadedListRecipientsByContactId/\" + contactListId\n }).done(function (data, textStatus, request) {\n waitingDialog.hide();\n if (data) {\n var globalModal = new GlobalModal(contactListId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").attr(\"data-contact-list-id\", contactListId);\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").click(function (e) {\n var contactListId = $(e.currentTarget).attr(\"data-contact-list-id\");\n window.location.href = \"/EmailCampaign/DownloadEmailUploadedListRecipientsByContactId/\" + contactListId + \"/\" + $(\".global-modal-inner-container\").find(\".js-emailuploadedlistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n waitingDialog.hide();\n }\n });\n waitingDialog.hide();\n }\n GetUploadModal(uploadType, assignmentIdentifier, locale) {\n return $.ajax({\n method: \"GET\",\n url: '/EmailCampaign/GetListUpload/' + uploadType + \"/\" + assignmentIdentifier + \"/\" + locale,\n });\n }\n GetDirectMailUploadModal(assignmentIdentifier, locale) {\n return $.ajax({\n method: \"GET\",\n url: '/DirectMail/GetDirectMailListUpload/' + assignmentIdentifier + \"/\" + locale,\n });\n }\n bindLocalizedTime() {\n var me = this;\n $.each($(me._widget).find(\".localized-time-email-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <div><small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small></div>\");\n });\n }\n buildParams() {\n var params = {\n Identifier: this._identifier,\n ProductId: this._productId,\n Quantity: $(this._widget).find(\".quantity-input\").val(),\n Attributes: [],\n OrderNow: 0,\n CheckSkuExists: true\n };\n var me = this;\n $.each($(this._widget).find(\".attribute-selector\"), function (index, item) {\n if ($(this).find(\":selected\").val() !== \"\") {\n params.Attributes.push($(this).find(\":selected\").val());\n }\n });\n return params;\n }\n}\nclass Checkout {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n GetParticipantInfo() {\n return $.ajax({\n //contentType: \"application/json\",\n method: \"GET\",\n url: '/Api/ShoppingCart/GetItemsDetailsInCart'\n });\n }\n canProceedToSubmit(button) {\n var me = this;\n var participantInfo = $(me._widget).find(\".cart-participant-info\");\n var noItemsInforow = $(me._widget).find(\".shoppingcart-notiemsincart\");\n var shoppingCartUrl = $(button).attr(\"data-shopping-cart-url\");\n var midQuantityAllowedMessage = $(button).attr(\"data-mid-quantity-allowed-for-cart-message\");\n var minQuantityAllowedMessage = $(button).attr(\"data-min-quantity-allowed-for-cart-message\");\n var maxQuantityAllowedMessage = $(button).attr(\"data-max-quantity-allowed-for-cart-message\");\n var minQuantityAllowed = $(button).attr(\"data-min-quantity-per-order\");\n var maxQuantityAllowed = $(button).attr(\"data-max-quantity-per-order\");\n var proceed1 = true;\n var proceed2 = true;\n if ($(me._widget).find(\"#cartItemCount\").val() !== \"0\" || $(me._widget).find(\"#cartItemCount\").val() !== \"\") {\n var items = [];\n $(me._widget).find(\".checkout-item-row\").each(function () {\n var item = {\n Quantity: parseInt($(this).find(\".quantitytext\").html())\n };\n if (item.Quantity < parseInt(minQuantityAllowed)) {\n proceed1 = false;\n }\n if (item.Quantity > parseInt(maxQuantityAllowed) && parseInt(maxQuantityAllowed) != -1) {\n proceed2 = false;\n }\n });\n if (!proceed1 && !proceed2) {\n $('#ItemQuantity').val(Math.max(parseInt(minQuantityAllowed), 1));\n alert(midQuantityAllowedMessage);\n return false;\n }\n else if (!proceed1) {\n $('#ItemQuantity').val(Math.max(parseInt(minQuantityAllowed), 1));\n alert(minQuantityAllowedMessage);\n return false;\n }\n else if (!proceed2) {\n $('#ItemQuantity').val(Math.max(parseInt(maxQuantityAllowed), 0));\n alert(maxQuantityAllowedMessage);\n return false;\n }\n }\n return true;\n }\n AddOrder(btn) {\n var me = this;\n if (!me.canProceedToSubmit(btn)) {\n return false;\n }\n var addressId = $(me._widget).find(\"#address-list\").val() != null ? parseInt($(me._widget).find(\"#address-list\").val()) : 0;\n if (addressId === 0 && $(btn).attr(\"data-should-check-address\") == \"True\") {\n var addressRequiredMessage = $(btn).attr(\"data-address-required-message\");\n bootbox.alert(addressRequiredMessage);\n $(btn).removeAttr('disabled');\n btn.button('reset');\n return;\n }\n var OrderNotesRequired = $(me._widget).find(\"#shopping-cart-order-notes-required\").val() === \"true\";\n var OrderNotes = $(me._widget).find(\"#OrderNotes\").val();\n if (OrderNotes == undefined)\n OrderNotes = \"\";\n if (OrderNotesRequired && OrderNotes.trim() === \"\") {\n alert(\"Order Notes are required\");\n $(btn).removeAttr('disabled');\n btn.button('reset');\n return;\n }\n var cartUrl = $(btn).attr(\"data-cart-url\");\n var orderUrl = $(btn).attr(\"data-order-detail-url\");\n var firstName = $(me._widget).find(\"#hidden-first-name\").val();\n var lastName = $(me._widget).find(\"#hidden-last-name\").val();\n $(\".btn-submitorder\").attr('disabled', 'disabled');\n if ($(btn).attr(\"data-should-check-address\") == \"False\") {\n addressId = 0;\n }\n var params = {\n \"addressId\": addressId, \"OrderNotes\": OrderNotes, \"FirstName\": firstName, \"LastName\": lastName\n };\n var url = '/Api/ParticipantOrder/AddOrder';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data) {\n $(\".btn-submitorder\").removeAttr('disabled');\n if (data.status == \"OK\" && data.participantOrderId > 0) {\n $(me._widget).find(\".js-checkout-order-notes\").hide();\n var detailLink = $(me._widget).find(\".panel-thankyou\").find(\".order-detail-link\").attr(\"href\");\n detailLink += data.identifier;\n window.location.href = detailLink;\n btn.button('reset');\n }\n else {\n alert(data.status);\n btn.button('reset');\n if (data.cartUrl != undefined)\n window.location.href = data.cartUrl;\n }\n }));\n }\n GetDistributorAddresses() {\n return $.ajax({\n method: \"GET\",\n url: '/Api/Checkout/GetDistributorAddress'\n });\n }\n GetAddressForm(addressId, showNames) {\n return $.ajax({\n method: \"GET\",\n url: '/Api/Checkout/GetAddressForm',\n data: { addressId: addressId, showNames: showNames }\n });\n }\n ShowAddressForm(btn, container, mode, action) {\n var me = this;\n var sourceButton = btn;\n var addressId = \"\";\n if (mode == \"edit\") {\n addressId = $(container).find(\"#address-list\").val();\n }\n if ((addressId == \"\" || addressId == \"0\") && mode == \"edit\") {\n bootbox.alert($(btn).attr(\"data-select-address-to-edit-message\"));\n return false;\n }\n var showNames = $(btn).data('display-names');\n $.when(me.GetAddressForm(addressId, showNames).done(function (data, textStatus, response) {\n if (data) {\n var options = {\n classes: \"checkout-address-modal\",\n origin: $(sourceButton)\n };\n me._globalModal.openGlobalModal(data.responseMessage, \"modal\", options);\n $(\".global-modal\").find(\".js-add-new-shippingaddress\").on('click', function (e) {\n e.preventDefault();\n if (me.ValidateShippingAddress()) {\n var address = $(\".global-modal\").find(\"#address\").val();\n var address2 = $(\".global-modal\").find(\"#address2\").val();\n var city = $(\".global-modal\").find(\"#city\").val();\n var state = $(\".global-modal\").find(\"#state\").val().substring(5);\n var zipCode = $(\".global-modal\").find(\"#zipCode\").val();\n var country = $(\".global-modal\").find(\"#country\").val().substring(0, 4);\n var phoneNumber = $(\".global-modal\").find(\"#phonenumber\").val();\n var addressId = $(\".global-modal\").find(\"#addressId\").val();\n var addressName = $(\".global-modal\").find(\"#addressName\").val();\n var companyName = $(\".global-modal\").find(\"#companyName\").val();\n var firstName = $(\".global-modal\").find(\"#firstName\").val();\n var lastName = $(\".global-modal\").find(\"#lastName\").val();\n var email = $(\".global-modal\").find(\"#email\").val();\n var saveAddressButton = this;\n me.AddParticipantAddress(addressId, firstName, lastName, companyName, addressName, address, address2, city, state, zipCode, country, phoneNumber, saveAddressButton, me._widget, action, email);\n }\n });\n }\n }));\n }\n ValidateShippingAddress() {\n var _a, _b, _c, _d, _e, _f;\n var isValid = true;\n var message = \"\";\n // validators \n var validators = $(\".global-modal\").find(\"#country option:selected\").data('validators');\n var emailValidator = \"[\\\\u00C0\\\\u00C2\\\\u00C4\\\\u00C7\\\\u00C8\\\\u00C9\\\\u00CA\\\\u00CB\\\\u00CE\\\\u00CF\\\\u00D4\\\\u00DA\\\\u00DB\\\\u00E0\\\\u00E2\\\\u00E4\\\\u00E7\\\\u00E8\\\\u00E9\\\\u00EA\\\\u00EB\\\\u00EE\\\\u00EF\\\\u00F4\\\\u00FA\\\\u00FBa-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\";\n var zipValidator = \"\";\n var phoneValidator = \"\";\n if (validators != undefined && validators != null && validators != \"\") {\n emailValidator = (_b = (_a = validators === null || validators === void 0 ? void 0 : validators.email) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : \"[\\\\u00C0\\\\u00C2\\\\u00C4\\\\u00C7\\\\u00C8\\\\u00C9\\\\u00CA\\\\u00CB\\\\u00CE\\\\u00CF\\\\u00D4\\\\u00DA\\\\u00DB\\\\u00E0\\\\u00E2\\\\u00E4\\\\u00E7\\\\u00E8\\\\u00E9\\\\u00EA\\\\u00EB\\\\u00EE\\\\u00EF\\\\u00F4\\\\u00FA\\\\u00FBa-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\";\n zipValidator = (_d = (_c = validators === null || validators === void 0 ? void 0 : validators.postal) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : \"\";\n phoneValidator = (_f = (_e = validators === null || validators === void 0 ? void 0 : validators.phone) === null || _e === void 0 ? void 0 : _e.toString()) !== null && _f !== void 0 ? _f : \"\";\n }\n // required and validation\n if ($(\".global-modal\").find(\"#address\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\" && $(\".global-modal\").find(\"#address\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#address\").val() == \"\") {\n message += $(\".global-modal\").find(\"#address\").data(\"required\");\n isValid = false;\n }\n }\n if ($(\".global-modal\").find(\"#address2\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\" && $(\".global-modal\").find(\"#address\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#address2\").val() == \"\") {\n message += \"\\n\" + $(\".global-modal\").find(\"#address2\").data(\"required\");\n isValid = false;\n }\n }\n if ($(\".global-modal\").find(\"#city\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\" && $(\".global-modal\").find(\"#city\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#city\").val() == \"\") {\n message += \"\\n\" + $(\".global-modal\").find(\"#city\").data(\"required\");\n isValid = false;\n }\n }\n if ($(\".global-modal\").find(\"#state\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\" && $(\".global-modal\").find(\"#state\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#state\").val() == \"\") {\n var countryId = $(\".global-modal #country\").val().substring(0, 4);\n var found = false;\n $('.global-modal').find('#state > option').each(function () {\n if (this.value.substring(0, 4) === countryId && this.value !== \"\") {\n found = true;\n }\n });\n if (found) {\n message += \"\\n\" + $(\".global-modal\").find(\"#state\").data(\"required\");\n isValid = false;\n }\n }\n }\n if ($(\".global-modal\").find(\"#zipCode\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#zipCode\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\") {\n if ($(\".global-modal\").find(\"#zipCode\").val() == \"\") {\n message += \"\\n\" + $(\".global-modal\").find(\"#zipCode\").data(\"required\");\n isValid = false;\n }\n if ($(\".global-modal\").find(\"#zipCode\").val() !== \"\" && zipValidator != \"\") {\n var regex = new RegExp(zipValidator);\n if (regex.test($(\".global-modal\").find(\"#zipCode\").val())) {\n //valid\n }\n else {\n message += \"\\n\" + $(\".global-modal\").find(\"#zipCode\").data(\"invalid\");\n isValid = false;\n }\n }\n }\n else if ($(\".global-modal\").find(\"#zipCode\").attr(\"data-attribute-required-to-save\") == \"OPTIONAL\") {\n if ($(\".global-modal\").find(\"#zipCode\").val() !== \"\" && zipValidator != \"\") {\n var regex = new RegExp(zipValidator);\n if (regex.test($(\".global-modal\").find(\"#zipCode\").val())) {\n //valid\n }\n else {\n message += \"\\n\" + $(\".global-modal\").find(\"#zipCode\").data(\"invalid\");\n isValid = false;\n }\n }\n }\n }\n if ($(\".global-modal\").find(\"#country\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\" && $(\".global-modal\").find(\"#country\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#country\").val() == \"\") {\n message += \"\\n\" + $(\".global-modal\").find(\"#country\").data(\"required\");\n isValid = false;\n }\n }\n if ($(\".global-modal\").find(\"#email\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#email\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\") {\n if ($(\".global-modal\").find(\"#email\").val() == \"\") {\n message += \"\\n\" + $(\".global-modal\").find(\"#email\").data(\"required\");\n isValid = false;\n }\n if ($(\".global-modal\").find(\"#email\").val() !== \"\" && emailValidator != \"\") {\n var regex = new RegExp(emailValidator);\n if (regex.test($(\".global-modal\").find(\"#email\").val())) {\n //valid\n }\n else {\n message += \"\\n\" + $(\".global-modal\").find(\"#email\").data(\"invalid\");\n isValid = false;\n }\n }\n }\n else if ($(\".global-modal\").find(\"#email\").attr(\"data-attribute-required-to-save\") == \"OPTIONAL\") {\n if ($(\".global-modal\").find(\"#email\").val() !== \"\" && emailValidator != \"\") {\n var regex = new RegExp(emailValidator);\n if (regex.test($(\".global-modal\").find(\"#email\").val())) {\n //valid\n }\n else {\n message += \"\\n\" + $(\".global-modal\").find(\"#email\").data(\"invalid\");\n isValid = false;\n }\n }\n }\n }\n if ($(\".global-modal\").find(\"#phonenumber\").is(\":visible\")) {\n if ($(\".global-modal\").find(\"#phonenumber\").attr(\"data-attribute-required-to-save\") == \"REQUIRED\") {\n if ($(\".global-modal\").find(\"#phonenumber\").val() == \"\") {\n message += \"\\n\" + $(\".global-modal\").find(\"#phonenumber\").data(\"required\");\n isValid = false;\n }\n if ($(\".global-modal\").find(\"#phonenumber\").val() !== \"\" && phoneValidator != \"\") {\n var regex = new RegExp(phoneValidator);\n if (regex.test($(\".global-modal\").find(\"#phonenumber\").val())) {\n //valid\n }\n else {\n message += \"\\n\" + $(\".global-modal\").find(\"#phonenumber\").data(\"invalid\");\n isValid = false;\n }\n }\n }\n else if ($(\".global-modal\").find(\"#phonenumber\").attr(\"data-attribute-required-to-save\") == \"OPTIONAL\") {\n if ($(\".global-modal\").find(\"#phonenumber\").val() !== \"\" && phoneValidator != \"\") {\n var regex = new RegExp(phoneValidator);\n if (regex.test($(\".global-modal\").find(\"#phonenumber\").val())) {\n //valid\n }\n else {\n message += \"\\n\" + $(\".global-modal\").find(\"#phonenumber\").data(\"invalid\");\n isValid = false;\n }\n }\n }\n }\n //var shippingInputs = [];\n //$(\".global-modal\").find(\".js-address-group\").each(function (index, elem) {\n // if ($(this).attr(\"data-attribute-required-to-save\") == \"OPTIONAL\" && $(this).val() !== \"\") {\n // shippingInputs.push(jQuery(this).attr(\"id\"));\n // isValid = false;\n // }\n //});\n //if (shippingInputs.length > 0) {\n // $(\".global-modal\").find(\".js-address-group\").each(function (index, elem) {\n // if ($(this).attr(\"data-attribute-required-to-save\") == \"OPTIONAL\" && $(this).val() === \"\" && $(this).data(\"required\").length > 0) {\n // message += \"\\n\" + $(this).data(\"required\");\n // }\n // });\n //}\n if (message !== \"\") {\n alert(message);\n }\n return isValid;\n }\n ShowAddressSelector(btn) {\n var me = this;\n var sourceButton = btn;\n var container = $(me._widget).find(\".js-addressselector-container\");\n $.when(me.GetDistributorAddresses().done(function (data, textStatus, response) {\n if (data.responseMessage) {\n var options = {\n origin: $(sourceButton)\n };\n me._globalModal.openGlobalModal(data.responseMessage, \"modal\", options);\n sourceButton.button('reset');\n $(\".global-modal\").find(\".btn-saveshippingaddress\").on('click', function (e) {\n var saveAddressButton = this;\n var dropDown = $(\".global-modal\").find(\"#shippingaddress-list\");\n var distributorCompanyAddressId = $(dropDown).val();\n e.preventDefault();\n me.AddShippingAddress(distributorCompanyAddressId, saveAddressButton, me._widget);\n });\n }\n }));\n }\n // the submit is required because paypal won't allow you to use ajax to modify the amount dynamically\n // changing the amount due to shipping changes can't be done cleanly using ajax.\n // make this call anytime the checkout might change the amount to bill\n RefreshCheckout(me, addressId) {\n var pleaseWaitMessageForcheckout = $(me._widget).find(\"#checkout-wait-message\").val();\n waitingDialog.show(pleaseWaitMessageForcheckout);\n //me._globalModal.closeGlobalModal(); \n $(me._widget).find(\".js-selectedAddressid\").val(addressId);\n $(me._widget).find(\".widget-checkout-form\").trigger(\"submit\");\n }\n ;\n AddShippingAddress(distributorCompanyAddressId, saveAddressButton, container) {\n var me = this;\n var modalDialog = $(container).find(\"#customaddressselector-modal\");\n var sourceButton = saveAddressButton;\n var sourceDropDown = $(container).find(\"#address-list\");\n var params = { \"distributorCompanyAddressId\": parseInt(distributorCompanyAddressId) };\n var url = '/Api/Checkout/SaveParticipantAddressFromDistributor';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data) {\n if (data.status == \"OK\") {\n me.RefreshCheckout(me, data.selectedAddressId);\n }\n else {\n waitingDialog.hide();\n alert(data.status);\n }\n }));\n }\n AddParticipantAddress(addressId, firstName, lastName, companyName, addressName, address, address2, city, state, zipCode, country, phoneNumber, saveAddressButton, container, action, email) {\n var me = this;\n var editingAddressId = addressId;\n var editAddress = $(container).find(\".js-edit-address\");\n var deleteAddress = $(container).find(\".js-delete-address\");\n var noshippinglabel = $(container).find(\".js-noshipping-label\");\n var sourceButton = saveAddressButton;\n var sourceDropDown = $(container).find(\"#address-list\");\n var params = {\n \"addressId\": addressId,\n \"companyName\": companyName,\n \"addressName\": addressName,\n \"address\": address,\n \"address2\": address2,\n \"city\": city,\n \"state\": state,\n \"zipCode\": zipCode,\n \"country\": country,\n \"phoneNumber\": phoneNumber,\n \"email\": email,\n \"firstName\": firstName,\n \"lastName\": lastName,\n };\n var url = '/Api/Checkout/SaveParticipantAddress';\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data) {\n if (data.status == \"OK\") {\n me.RefreshCheckout(me, data.selectedAddressId);\n }\n else {\n waitingDialog.hide();\n alert(data.status);\n }\n }));\n }\n DeleteAddress(container, button) {\n var me = this;\n var sourceDropDown = $(container).find(\"#address-list\");\n var editAddress = $(container).find(\".js-edit-address\");\n var deleteAddress = $(container).find(\".js-delete-address\");\n var noshippinglabel = $(container).find(\".js-noshipping-label\");\n var addressId = $(container).find(\"#address-list\").val();\n if (addressId === \"\" || addressId === null || addressId == undefined || addressId == \"0\") {\n bootbox.alert($(button).attr(\"data-select-address-to-delete-message\"));\n return false;\n }\n if (addressId !== \"\" || addressId !== null || addressId !== undefined || addressId !== \"0\") {\n if (confirm($(deleteAddress).data(\"message\"))) {\n var params = {\n \"addressId\": addressId\n };\n var url = '/Api/Checkout/DeleteParticipantAddress';\n $.when(submitAjaxRequest(params, url, \"DELETE\").done(function (data) {\n if (data.status == \"OK\") {\n me.RefreshCheckout(me, data.selectedAddressId);\n }\n else {\n waitingDialog.hide();\n alert(data.status);\n }\n }));\n }\n }\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n this._globalModal = new GlobalModal(this._widgetId);\n }\n bindControls() {\n var me = this;\n me._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n $(me._widget).find(\".btn-submitorder\").on(\"click\", function (e) {\n var btn = $(this);\n if (me.canProceedToSubmit) {\n btn.button('loading');\n if ($(me._widget).find(\".js-addressRequired\").val() === \"True\") {\n e.preventDefault();\n var address = $(me._widget).find(\"#address-list\");\n if ($(address).children('option').length == 0) {\n bootbox.alert($(btn).attr(\"data-add-new-address-required-message\"));\n return false;\n }\n else {\n me.AddOrder(btn);\n }\n }\n else {\n me.AddOrder(btn);\n }\n }\n });\n var container = $(me._widget).find(\".js-addressselector-container\");\n $(me._widget).find(\".btn-addnewaddress\").on(\"click\", function (e) {\n e.preventDefault();\n var btn = $(this);\n //btn.button('loading')\n me.ShowAddressSelector(btn);\n });\n $(me._widget).find(\".js-add-new-address\").on(\"click\", function (e) {\n e.preventDefault();\n me.ShowAddressForm($(this), me._widget, \"add\", \"normal\");\n });\n $(me._widget).find(\".js-add-new-address_hidden\").on(\"click\", function (e) {\n e.preventDefault();\n me.ShowAddressForm($(this), me._widget, \"add\", \"silent\");\n });\n $(me._widget).find(\".js-address-list\").on(\"change\", function (e) {\n var addressId = $(me._widget).find(\"#address-list\").val();\n me.RefreshCheckout(me, addressId);\n });\n $(me._widget).find(\".js-edit-address\").on(\"click\", function (e) {\n e.preventDefault();\n me.ShowAddressForm($(this), me._widget, \"edit\", \"normal\");\n });\n $(me._widget).find(\".js-delete-address\").on(\"click\", function (e) {\n e.preventDefault();\n me.DeleteAddress(me._widget, this);\n });\n }\n}\nfunction refreshCartCount(reload) {\n var cartCount = getStorageCartItemCount();\n if (!reload && cartCount != null) {\n updateCartItemCount(cartCount);\n return;\n }\n var url = '/Api/ShoppingCart/GetCartItems';\n $.when(submitAjaxRequest(undefined, url, \"GET\").done(function (data) {\n updateCartItemCount(data.cartItemCount);\n }));\n}\nfunction updateCartItemCount(cartCount) {\n if (cartCount !== undefined && cartCount !== null) {\n var userToken = $(\".cart-count-indicator\").attr(\"data-user-identifier\");\n if (localStorageIsAvailable() && userToken != null && userToken.length > 0) {\n setStorageCartItemCount(cartCount, userToken);\n }\n }\n $(\".cart-count-indicator\").html(cartCount);\n}\nfunction localStorageIsAvailable() {\n return (typeof (Storage) != \"undefined\");\n}\nfunction setStorageCartItemCount(cartItemCount, userToken) {\n var itemKey = userToken + \"_\" + cartItemCount;\n localStorage.setItem(itemKey, cartItemCount);\n sessionStorage.setItem(itemKey, cartItemCount);\n}\nfunction getStorageCartItemCount() {\n var cartCount = null;\n var userToken = $(\".cart-count-indicator\").attr(\"data-user-identifier\");\n if (localStorageIsAvailable() && userToken != null && userToken.length > 0) {\n cartCount = localStorage.getItem(userToken + \"_cartCount\");\n }\n return cartCount;\n}\nfunction initCartCountMonitor() {\n // update if multiple browsers tabs are open\n window.setInterval(function () {\n var myCartCount = sessionStorage.getItem(\"cartCount\");\n var globalCartCount = getStorageCartItemCount();\n var cartWidget = $(\".widget.catalog-shoppingcart-list\");\n if (myCartCount != globalCartCount && cartWidget.length > 0) {\n window.location.reload();\n }\n else {\n updateCartItemCount(null);\n }\n }, 60000);\n}\nfunction addCommas(str) {\n var parts = (str + \"\").split(\".\"), main = parts[0], len = main.length, output = \"\", i = len - 1;\n while (i >= 0) {\n output = main.charAt(i) + output;\n if ((len - i) % 3 === 0 && i > 0) {\n output = \",\" + output;\n }\n --i;\n }\n // put decimal part back\n if (parts.length > 1) {\n output += \".\" + parts[1];\n }\n return output;\n}\nfunction formatColumn(val, format) {\n var formatted = \"\";\n var decimalPlaces = format.split('.').length > 1 ? format.split('.')[1].length : 0;\n if (decimalPlaces > 0) {\n var currency = format.substring(0, 1);\n if (val < 0)\n formatted = \"-\" + currency + (-1 * val).toFixed(decimalPlaces).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n else\n formatted = currency + (val).toFixed(decimalPlaces).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n }\n else\n formatted = val.toLocaleString();\n return formatted;\n}\n$(function () {\n // locate all product list widgets on page\n $(\".widget.catalog-product-list\").each(function (index, item) {\n $(item).data(\"manager\", new CatalogProductList(item));\n });\n $(\".widget.catalog-product-detail\").each(function (index, item) {\n $(item).data(\"manager\", new CatalogProductDetail(item));\n });\n $(\".widget.catalog-shoppingcart-list\").each(function (index, item) {\n $(item).data(\"manager\", new ShoppingCartList(item));\n });\n $(\".widget.checkout-container\").each(function (index, item) {\n $(item).data(\"manager\", new Checkout(item));\n });\n if ($(\"html\").data(\"rewards\") !== \"False\") {\n refreshCartCount(getStorageCartItemCount() == null);\n }\n // initCartCountMonitor();\n});\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass Search {\n constructor() {\n this.SortAscending = false;\n this.Skip = 0;\n this.Take = 9;\n }\n PerformSearch() {\n $(\"#ajax-loading\").show();\n var dto = {\n Title: $(\"#search-results-title\").val(),\n Description: $(\"#search-results-description\").val(),\n SuppressTypeColumn: $(\"#search-results-suppresstypecolumn\").is(\":checked\"),\n SearchType: $(\"#search-type\").val(),\n SearchTerm: this.SearchTerm,\n SortAscending: this.SortAscending,\n SortField: this.SortField,\n Take: this.Take,\n Skip: this.Skip\n };\n var parent = this;\n trackSearchLink(window.location.pathname + '?q=' + encodeURIComponent(dto.SearchTerm));\n var url = '/Content/SearchContent';\n $.when(submitAjaxRequest(dto, url, \"POST\").done(function (data) {\n $(\"button.search-results-view-more\").attr(\"data-startat\", parseInt($(\"button.search-results-view-more\").attr(\"data-startat\")) + parent.Take);\n if (parent.Skip === 0) {\n $(\"#search-results\").replaceWith(data);\n }\n else {\n // It's a Load More request, need to only update specific areas\n $(data).insertBefore(\"div.load-more\");\n if (parseInt($(\"button.search-results-view-more\").attr(\"data-startat\")) >= parseInt($(\"#search-results\").attr(\"data-total-results\"))) {\n $(\"div.load-more\").hide();\n }\n }\n $(\"#ajax-loading\").hide();\n }));\n window.location.hash = this.SearchTerm;\n }\n}\nvar search = new Search();\n$(document).ready(function () {\n if (window.location.hash.length > 0 && $(\"#search-query\").length > 0) {\n search.SearchTerm = window.location.hash.substring(1);\n search.PerformSearch();\n }\n $(\"body\").on(\"click\", \"#search-button\", function (e) {\n e.preventDefault();\n search.Skip = 0;\n search.SearchTerm = $(\"#search-query\").val();\n search.PerformSearch();\n });\n $(\"#nav-search\").on(\"click\", function (e) {\n if ($(\"#nav-search-overlay\").hasClass(\"hide\")) {\n $(\"#nav-search-overlay\").removeClass(\"hide\");\n }\n else {\n }\n });\n $(\"body\").on(\"click\", \"div[data-action='sort']\", function (e) {\n var field = $(this).attr(\"data-field\");\n if (search.SortField === field) {\n search.SortAscending = search.SortAscending ? false : true;\n }\n $(\"button.search-results-view-more\").attr(\"data-startat\", \"0\");\n search.Skip = 0;\n search.SortField = field;\n search.SearchTerm = $(\"#search-query\").val();\n search.PerformSearch();\n });\n $(\"body\").on(\"click\", \".search-results-view-more\", function (e) {\n var currentNumberDisplayed = parseInt($(this).attr(\"data-startat\"));\n search.Skip = currentNumberDisplayed;\n search.SearchTerm = $(\"#search-query\").val();\n search.PerformSearch();\n });\n $(\"body\").on(\"click\", \"#nav-search-cancel\", function () {\n $(\"#nav-search-overlay\").addClass(\"hide\");\n });\n});\nfunction trackSearchLink(action) {\n var analyticField = $(\"html\").data(\"ga-code\");\n if (analyticField != null && analyticField.length > 0) {\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n i[r] = i[r] ||\n function () {\n (i[r].q = i[r].q || []).push(arguments);\n //@ts-ignore\n }, i[r].l = 1 * new Date();\n a = s.createElement(o),\n m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\n //@ts-ignore\n ga('create', analyticField, 'auto');\n //ga('send', 'pageview');\n //@ts-ignore\n ga('send', {\n hitType: 'pageview',\n page: action\n });\n }\n}\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.thirdParty.d.ts\" />\n$(document).ready(function () {\n //$('body').tooltip({\n // selector: '[data-toggle=\"tooltip\"]'\n //});\n ApplyGageToolTip($('[data-toggle=\"tooltip\"]'));\n ApplyGageToolTip($('[data-bs-toggle=\"tooltip\"]'));\n});\n/* Copy Text To Clipboard */\nfunction copyToClipboardFunction(el, e) {\n e.preventDefault();\n var id = el.dataset.for;\n var text = \"\";\n var target = document.getElementById(id);\n if (target) {\n text = target.innerText;\n }\n // @ts-ignore\n const input = document.createElement('textarea');\n input.style.marginLeft = \"-10000px\";\n // document.body.appendChild(input);\n target.parentNode.insertBefore(input, target.nextSibling);\n input.value = text;\n // @ts-ignore\n input.focus();\n // @ts-ignore\n input.select();\n document.execCommand('Copy');\n input.remove();\n el.trigger(\"focus\"); // not sure if this method is used - for this to work, el must be a jQuery object.\n}\n;\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass AccountTransaction {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._pageIndex = 0;\n this._totalPages = parseFloat($(this._widget).attr(\"data-total-pages\"));\n this._take = parseInt($(this._widget).find(\"#uxAccountTransactionListPageSize\").val());\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._sortBy = $(this._widget).attr(\"data-sort-by\");\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\".filter-text, .filter-close\").on(\"click\", function () {\n me.ShowHideFilter(this);\n });\n $(me._widget).find(\".filter-facet\").on(\"click\", function () {\n me.SelectDeselectFacet(this);\n });\n $(me._widget).find(\"#uxAccountTransactionListPageSize\").on(\"change\", function () {\n me._sortBy = \"datecreated\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me._take = $(this).val();\n me.LoadData(false);\n });\n $(me._widget).find(\"#order-history-modal\").on('show.bs.modal', function (event) {\n var self = this;\n var orderlineItemId = $(event.relatedTarget).attr(\"data-order-line-item-id\");\n var params = {\n \"participantOrderLineItemId\": orderlineItemId,\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/Manage/ParticipantOrder/GetParticipantOrderHistory\"\n }).done(function (data, textStatus, request) {\n $(\"#order-history-modal\").find(\".modal-body\").html(data);\n }).fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n });\n });\n $(me._widget).find(\".js-vieworderdetail\").on('click', function () {\n var expand = this;\n me.showDetail(expand);\n });\n me.ShowPager();\n $(me._widget).find(\".accounttransactionListHeading\").click(function () {\n var newHeader = $(this);\n var oldHeader = $(\".dataTable\").find(\".sorting_asc,.sorting_desc\");\n if (newHeader.data(\"sort-field\") === oldHeader.data(\"sort-field\")) // change direction\n {\n if ($(\".accounttransactionListHeading.sorting_asc\").length > 0) {\n //change from ASC to DESC\n oldHeader.removeClass(\"sorting_asc\");\n newHeader.addClass(\"sorting_desc\");\n me._sortAscending = \"false\";\n }\n else {\n //change from DESC to ASC\n oldHeader.removeClass(\"sorting_desc\");\n newHeader.addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n }\n else // change sort column\n {\n oldHeader.removeClass(\"sorting_asc\").removeClass(\"sorting_desc\").addClass(\"sorting\");\n newHeader.removeClass(\"sorting\").addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n $(me._widget).find(\"#list-items\").html();\n me._sortBy = newHeader.data(\"sort-field\");\n me._pageIndex = 0;\n me.LoadData(false);\n });\n $(me._widget).find(\".button.filter-facet-apply\").on(\"click\", function () {\n me.ApplyFilter(this);\n });\n }\n SendCompositionEmail(button) {\n var params = {\n id: parseInt($(button).attr(\"data-order-line-item-id\")),\n emailAddress: $(button).attr(\"data-email-address\"),\n };\n var url = \"/Api/ParticipantOrder/SendCompositionEmail\";\n $.when(submitAjaxRequest(params, url, \"POST\").done((data, textStatus, request) => {\n if (data.success) {\n bootbox.alert($(button).attr(\"data-post-email-body\"));\n }\n }));\n }\n showDetail(expand) {\n var me = this;\n var widgetContainer = $('.widget-accounttransaction-list');\n var parentContainer = $(expand).parent().closest('tr').next('tr');\n var detailContainer = $(parentContainer).find(\".detail-\" + $(expand).data(\"identifier\"));\n var icon = $(expand).find('span');\n if ($(icon).hasClass('fa-chevron-down')) {\n if ($(detailContainer).hasClass(\"js-data-loaded\")) {\n $(parentContainer).removeClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n }\n else {\n $(widgetContainer).find('.js-vieworderdetail').attr('disabled', 'true');\n var identifier = $(expand).data(\"identifier\");\n var actionid = $(expand).data(\"actionid\");\n var source = $(expand).data(\"source\");\n var transactiontype = $(expand).data(\"transactiontype\");\n var participantactivityid = $(expand).data(\"participantactivityid\");\n var showaccount = $(expand).data(\"showaccount\");\n var showdepositsource = $(expand).data(\"showdepositsource\");\n var activityname = $(expand).data(\"activityname\");\n var isadmin = $(expand).data(\"isadmin\");\n var suppressViewLink = $(widgetContainer).find('.dataTable').attr(\"suppress-view-link\");\n $.when(me.GetOrderDetail(identifier, actionid, source, transactiontype, participantactivityid, activityname, showaccount, showdepositsource, isadmin, suppressViewLink).done(function (data, textStatus, response) {\n $(parentContainer).removeClass('hide');\n $(parentContainer).slideDown(1000);\n detailContainer.html($(this).data(\"identifier\"));\n detailContainer.addClass(\"js-data-loaded\");\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n detailContainer.html(data);\n $(widgetContainer).find('.js-vieworderdetail').removeAttr('disabled');\n $(widgetContainer).find(\".js-order-send-email\").on(\"click\", function (e) {\n e.preventDefault();\n var button = $(e.currentTarget);\n bootbox.prompt({\n title: $(button).attr(\"data-email-address-header\"),\n inputType: 'email',\n value: $(button).attr(\"data-email-address\"),\n callback: function (result) {\n if (result != null) {\n $(button).attr(\"data-email-address\", result);\n me.SendCompositionEmail(button);\n }\n }\n });\n });\n $(widgetContainer).find(\".js-download-action\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.Download(button);\n });\n }));\n }\n }\n else {\n $(parentContainer).addClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n }\n }\n GetOrderDetail(identifier, actionid, source, transactiontype, participantactivityid, activityname, showaccount, showdepositsource, isadmin, suppressViewLink) {\n var params = {\n \"source\": source,\n \"transactionType\": transactiontype,\n \"identifier\": identifier,\n \"actionId\": actionid,\n \"participantActivityId\": participantactivityid,\n \"activityName\": activityname,\n \"showAccount\": showaccount,\n \"showDepositSource\": showdepositsource,\n \"isAdmin\": isadmin,\n \"suppressViewLink\": suppressViewLink\n };\n return $.ajax({\n data: params,\n method: \"GET\",\n url: '/Api/AccountTransaction/GetTransactionDetail'\n });\n }\n SetPager() {\n var me = this;\n var defaultOpts = {};\n if (me._totalPages !== 0) {\n $(me._widget).find('#accounttransaction-list-pagination').html('');\n $(me._widget).find('#accounttransaction-list-pagination').html('<ul id=\"pagination\" class=\"pagination-sm\"></ul>');\n $(me._widget).find('#accounttransaction-list-pagination').find('#pagination').twbsPagination({\n initiateStartPageClick: false,\n totalPages: me._totalPages,\n startPage: (me._pageIndex === 0 ? 1 : (me._pageIndex + 1)),\n onPageClick: function (event, page) {\n me._pageIndex = (page - 1);\n me.LoadData(false);\n }\n });\n }\n else {\n $(me._widget).find('#accounttransaction-list-pagination').html('');\n }\n }\n LoadData(filterClose) {\n var me = this;\n var params = me.BuildParams(me._widgetId);\n var url = '/Content/RenderAccountTransactionList/' + me._widgetId.toString();\n //var url = '/Widgets/AccountTransaction/RenderAccountTransactionList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"POST\").done((data, textStatus, request) => {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseFloat(request.getResponseHeader(\"X-TotalPages\"));\n $(me._widget).find(\"#list-items\").html(data);\n me.ShowPager();\n if (filterClose) {\n $(\"#ajax-loading\").modal(\"hide\");\n $(me._widget).find(\".filter-close\").click();\n }\n $(me._widget).find(\".js-vieworderdetail\").on('click', function () {\n var expand = this;\n me.showDetail(expand);\n });\n }));\n }\n ShowHideFilter(el) {\n var me = this;\n var list = $(el).parent(\".widget-accounttransactionlist\").attr(\"id\");\n var filterType = $(el).attr(\"data-filtertype\");\n var $dropdown = $(me._widget).find(\"div[id='\" + list + \"'] .filter-drop-down[data-filtertype='\" + filterType + \"']\");\n var $indicator = $(me._widget).find(\".filter-indicator\");\n var dropdownIsClosed = $dropdown.hasClass(\"hide\");\n $(me._widget).find(\".filter-drop-down\").addClass(\"hide\");\n $(me._widget).find(\".filter-indicator\").removeClass(\"fa-caret-up\").addClass(\"fa-caret-down\");\n if (dropdownIsClosed) {\n $dropdown.removeClass(\"hide\");\n $indicator.removeClass(\"fa-caret-down\").addClass(\"fa-caret-up\");\n }\n }\n SelectDeselectFacet(el) {\n var me = this;\n if ($(el).hasClass(\"disabled\")) {\n return;\n }\n var $facetIndicator = $(el).find(\".filter-facet-indicator\");\n var $accountTransactionList = $(el).closest(\".accounttransaction-list\");\n $facetIndicator.toggleClass(\"fa-check\");\n var contentWidgetID = me._widgetId;\n if ($facetIndicator.hasClass(\"fa-check\")) {\n $facetIndicator.removeClass(\"hidden\");\n $(me._widget).find(\"#widget-accounttransactionlist-appliedfilters-\" + contentWidgetID).append(\"<button class='pull-left btn btn-color1 accounttransaction-list-remove-filter' data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"' data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"'><span class='fa-solid fa-check'></span> \" + $(el).attr(\"data-name\") + \" | <span class='remove'>x</span></button>\");\n $(me._widget).find(\".accounttransaction-list-remove-filter\").off(\"click\");\n $(me._widget).find(\".accounttransaction-list-remove-filter\").on(\"click\", function () {\n var filterID = parseInt($(this).attr(\"data-filter-id\"));\n var filterType = $(this).attr(\"data-filter-type\");\n me.SelectDeselectFacet($(\"button.filter-facet[data-filter-type='\" + filterType + \"'][data-filter-id='\" + filterID + \"']\"));\n });\n }\n else {\n $facetIndicator.addClass(\"hidden\");\n $(me._widget).find(\"#widget-accounttransactionlist-appliedfilters-\" + contentWidgetID).find(\"button[data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"'][data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"']\").remove();\n }\n me.UpdateFilter(contentWidgetID);\n }\n ApplyFilter(el) {\n var me = this;\n this.UpdateFilter(me._widgetId);\n }\n UpdateFilter(contentWidgetID) {\n var me = this;\n $('#ajax-loading').modal();\n me._sortBy = \"datecreated\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me.LoadData(true);\n }\n ShowPager() {\n var me = this;\n if (me._totalPages > 0) {\n if (me._totalPages < 1) {\n me._totalPages = 0;\n }\n else {\n me._totalPages = Math.ceil(me._totalPages);\n }\n me.SetPager();\n }\n }\n BuildParams(contentWidgetId) {\n var $transactiontypeFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] div.filter-drop-down[data-filtertype='TransactionTypes']\");\n var arrayTypes = new Array;\n $transactiontypeFilter.find(\"span.fa-check\").each(function (i, e) {\n arrayTypes.push(parseInt($(e).attr(\"data-id\")));\n });\n var transactionTypes = arrayTypes.join(\",\");\n var params = {\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n SortAscending: this._sortAscending,\n Skip: 0,\n TransactionTypes: transactionTypes\n };\n return params;\n }\n Download(button) {\n var params = {\n \"id\": parseInt($(button).attr(\"data-order-line-item-id\")),\n };\n var url = \"/Api/ParticipantOrder/DownloadAction\";\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n if (data.success) {\n // parentrow status description \n $(button).closest(\".orderdetail-container\").find(\".js-header-orderstatus\").html(data.data.orderHeaderStatus);\n ;\n $(button).closest(\".orderdetail-item-row\").find(\".js-order-status\").html(data.data.orderLineItemStatus);\n location.href = $(button).attr(\"data-href\");\n }\n }));\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-accounttransaction-list\").each(function (index, item) {\n $(item).data(\"manager\", new AccountTransaction(item));\n });\n});\nclass AccountTransactionFielo {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this.bindControls();\n }\n bindControls() {\n var me = this;\n var take = 50;\n var offset = parseInt($(me._widget).find(\".fielo-account-transaction-view-more\").attr(\"data-offset\"));\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n var htmlContentToUpdate = $(me._widget).find(\"#accounttransactionfielolist-items\");\n var filterContentToUpdate = $(me._widget).find(\".accounttransactionfilter-list\");\n var fields = $(htmlContentToUpdate).attr(\"data-fielo-fields-list\");\n var additionalFieldsList = $(htmlContentToUpdate).attr(\"data-fielo-additional-fields\");\n if ($(me._widget).attr(\"data-is-edit-mode\") !== \"true\" && fields != \"\") {\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n me.GetTransactions(fields, 0, false, htmlContentToUpdate, filterContentToUpdate, additionalFieldsList, take, 0);\n }\n }\n $(me._widget).find(\".fielo-account-transaction-view-more\").on(\"click\", function (e) {\n var viewmorebutton = $(e.currentTarget);\n me.viewMore(viewmorebutton, $(this).attr(\"data-offset\"));\n });\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n this.BindDataTable();\n }\n }\n viewMore(viewmorebutton, offset) {\n var me = this;\n var take = 50;\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n var transactionTypes = me.BuildParams(me._widgetId);\n var htmlContentToUpdate = $(me._widget).find(\"#accounttransactionfielolist-items\");\n var filterContentToUpdate = $(me._widget).find(\".accounttransactionfilter-list\");\n var fields = $(htmlContentToUpdate).attr(\"data-fielo-fields-list\");\n var additionalFieldsList = $(htmlContentToUpdate).attr(\"data-fielo-additional-fields\");\n if ($(me._widget).attr(\"data-is-edit-mode\") !== \"true\" && fields != \"\") {\n var currentOffSet = $(viewmorebutton).attr(\"data-offset\");\n if (currentOffSet != undefined) {\n var nextOffSet = parseInt(currentOffSet) + 1;\n $(viewmorebutton).attr(\"data-offset\", nextOffSet);\n }\n me.GetTransactionLineItems(fields, transactionTypes, 1, false, htmlContentToUpdate, filterContentToUpdate, additionalFieldsList, take, offset);\n }\n }\n GetTransactions(fielofieldToRetrieve, attempt, renew, htmlContentToUpdate, filterContentToUpdate, additionalFieldsList, take, offset) {\n $('#ajax-loading').modal();\n var url = \"/Fielo/GetTransactionsWithAdditional/\" + fielofieldToRetrieve + \"/\" + renew + \"/\" + additionalFieldsList + \"/\" + take + \"/\" + offset;\n if (additionalFieldsList == \"\") {\n url = \"/Fielo/GetTransactionsNoAdditional/\" + fielofieldToRetrieve + \"/\" + renew + \"/\" + take + \"/\" + offset;\n }\n var me = this;\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: url,\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.fieldName = fielofieldToRetrieve;\n data.result.attempt = attempt + 1;\n data.result.htmlContentToUpdate = htmlContentToUpdate;\n data.result.filterContentToUpdate = filterContentToUpdate;\n me.updateTransactionsUI(data.result, take, offset);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n return;\n }\n }\n updateTransactionsUI(data, take, offset) {\n var me = this;\n $(\"#ajax-loading\").modal(\"hide\");\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetTransactions(data.fieldName, data.attempt, true, data.htmlContentToUpdate, data.filterContentToUpdate, data.additionalFieldsList, take, offset);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n return;\n }\n else {\n $(data.htmlContentToUpdate).html(data.transactionHTML);\n $(data.filterContentToUpdate).html(data.filterHTML);\n $(me._widget).find(\".filter-text, .filter-close\").on(\"click\", function () {\n me.ShowHideFilter(this, false);\n });\n $(me._widget).find(\".filter-facet\").on(\"click\", function () {\n me.SelectDeselectFacet(this);\n });\n $(data.htmlContentToUpdate).find(\".js-account-transaction-additional-fields\").on(\"click\", function (e) {\n me.bindAdditionalFields($(e.currentTarget));\n });\n }\n }\n }\n bindAdditionalFields(button) {\n var transactionidentifier = $(button).attr(\"data-transaction-identifier\");\n var childRow = $(button).closest(\"#accounttransactionfielolist-items\").find(\".js-child-row-\" + transactionidentifier);\n if ($(childRow).length > 0) {\n childRow.remove();\n return;\n }\n var json = $(button).attr(\"data-additional-fields-json\");\n var parentRow = $(button).closest(\"#accounttransactionfielolist-items\").find(\".js-parent-row-\" + transactionidentifier);\n var panelHeader = $(button).closest(\"#accounttransactionfielolist-items\").attr(\"data-panel-header\");\n if (json !== \"\") {\n var jsonobj = JSON.parse(json);\n var container = \"<tr class='js-child-row-\" + transactionidentifier + \"'><td colspan='5'><div class='panel-group' ><div class='panel panel-primary' >\" +\n \"<div class='panel-heading'><h4 class='panel-title' >\" + panelHeader + \"</h4></div>\" +\n \"<div class='panel-body' >\";\n $.each(jsonobj, function (i, obj) {\n container = container + \"<div class= 'row' > \" +\n \"<div class='col-xs-2' > <label>\" + obj[\"ApiFieldLabel\"] + \"</label></div> \" +\n \"<div class='col-xs-10' > <label>\" + obj[\"ApiFieldValue\"] + \"</label></div > \" +\n \"</div>\";\n });\n container = container + \"</div></div></div></td></tr>\";\n $(container).insertAfter(parentRow);\n }\n }\n SelectDeselectFacet(el) {\n var me = this;\n var contentWidgetID = me._widgetId;\n if ($(el).hasClass(\"disabled\")) {\n return;\n }\n var $facetIndicator = $(el).find(\".filter-facet-indicator\");\n var $accountTransactionList = $(el).closest(\".accounttransactionfilter-list\");\n $(el).find(\".filter-facet-indicator\").toggleClass(\"fa-check\");\n if ($facetIndicator.hasClass(\"fa-check\")) {\n $facetIndicator.removeClass(\"hidden\");\n $(me._widget).find(\"#widget-accounttransactionfilter-appliedfilters-\" + contentWidgetID).append(\"<button class='pull-left btn btn-color1 accounttransactionfilter-list-remove-filter' data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"' data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"'><span class='fa-solid fa-check'></span> \" + $(el).attr(\"data-name\") + \" | <span class='remove'>x</span></button>\");\n $(me._widget).find(\".accounttransactionfilter-list-remove-filter\").off(\"click\");\n $(me._widget).find(\".accounttransactionfilter-list-remove-filter\").on(\"click\", function () {\n var filterID = $(this).attr(\"data-filter-id\");\n var filterType = $(this).attr(\"data-filter-type\");\n me.SelectDeselectFacet($(\"button.filter-facet[data-filter-type='\" + filterType + \"'][data-filter-id='\" + filterID + \"']\"));\n });\n }\n else {\n $facetIndicator.addClass(\"hidden\");\n $(me._widget).find(\"#widget-accounttransactionfilter-appliedfilters-\" + contentWidgetID).find(\"button[data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"'][data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"']\").remove();\n }\n me.UpdateFilter(contentWidgetID);\n }\n ApplyFilter(el) {\n var me = this;\n this.UpdateFilter(me._widgetId);\n }\n UpdateFilter(contentWidgetID) {\n var me = this;\n $('#ajax-loading').modal();\n me.LoadData(true);\n }\n LoadData(filterClose) {\n var me = this;\n var transactionTypes = me.BuildParams(me._widgetId);\n var htmlContentToUpdate = $(me._widget).find(\"#accounttransactionfielolist-items\");\n var filterContentToUpdate = $(me._widget).find(\".accounttransactionfilter-list\");\n var fielofieldToRetrieve = $(htmlContentToUpdate).attr(\"data-fielo-fields-list\");\n var additionalFieldsList = $(htmlContentToUpdate).attr(\"data-fielo-additional-fields\");\n var me = this;\n var attempt = 1;\n //$(me._widget).find(\".fielo-account-transaction-view-more\").attr(\"data-offset\", \"0\")\n var offset = parseInt($(me._widget).find(\".fielo-account-transaction-view-more\").attr(\"data-offset\"));\n offset = offset - 1;\n me.GetTransactionLineItems(fielofieldToRetrieve, transactionTypes, attempt, false, htmlContentToUpdate, filterContentToUpdate, additionalFieldsList, 50, offset);\n }\n GetTransactionLineItems(fielofieldToRetrieve, transactionType, attempt, renew, htmlContentToUpdate, filterContentToUpdate, additionalFieldsList, take, offset) {\n var me = this;\n if (transactionType == \"\") {\n transactionType = \"ALL\";\n }\n var url = \"\";\n if (additionalFieldsList == \"\") {\n url = \"/Fielo/GetTransactionLineItemsNoAdditionalFields/\" + fielofieldToRetrieve + \"/\" + transactionType + \"/\" + false + \"/\" + take + \"/\" + offset;\n }\n else {\n url = \"/Fielo/GetTransactionLineItemsWithAdditionalFields/\" + fielofieldToRetrieve + \"/\" + transactionType + \"/\" + false + \"/\" + additionalFieldsList + \"/\" + take + \"/\" + offset;\n }\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: url\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.fieldName = fielofieldToRetrieve;\n data.result.attempt = attempt + 1;\n data.result.htmlContentToUpdate = htmlContentToUpdate;\n data.result.filterContentToUpdate = filterContentToUpdate;\n me.updateTransactionLineItemsUI(data.result, take, offset);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n return;\n }\n }\n BindDataTable() {\n var me = this;\n var table = $(me._widget).find(\"#accounttransactionfielo-\" + me._widgetId);\n $(table).DataTable({\n searching: false,\n blengthChange: true,\n bPaginate: false,\n bInfo: false,\n order: [],\n \"columnDefs\": [\n { type: 'date', \"orderable\": false, \"searchable\": false, \"targets\": 2 },\n { \"targets\": 0, \"orderable\": false },\n { \"targets\": 1, \"orderable\": false },\n { \"targets\": 3, \"orderable\": false },\n { \"targets\": 4, \"orderable\": false },\n { \"targets\": 5, \"orderable\": false },\n ]\n });\n }\n updateTransactionLineItemsUI(data, take, offset) {\n var me = this;\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetTransactionLineItems(data.fieldName, data.transactionType, data.attempt, true, data.htmlContentToUpdate, data.filterContentToUpdate, data.additionalFieldsList, take, offset);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n $(\"#ajax-loading\").modal(\"hide\");\n me.ShowHideFilter($(me._widget).find(\".filter-text\"), true);\n //me.SelectDeselectFacet($(me._widget).find(\".filter-text, .filter-close\"));\n return;\n }\n else {\n //var table = $(me._widget).find(\"#accounttransactionfielo-\" + me._widgetId);\n //$(table).DataTable().destroy();\n $(data.htmlContentToUpdate).empty();\n $(data.htmlContentToUpdate).html(data.transactionHTML);\n $(data.filterContentToUpdate).html(data.filterHTML);\n //me.BindDataTable();\n $(me._widget).find(\".filter-text, .filter-close\").on(\"click\", function () {\n me.ShowHideFilter(this, false);\n });\n $(me._widget).find(\".filter-facet\").on(\"click\", function () {\n me.SelectDeselectFacet(this);\n });\n $(data.htmlContentToUpdate).find(\".js-account-transaction-additional-fields\").on(\"click\", function (e) {\n me.bindAdditionalFields($(e.currentTarget));\n });\n me.ShowHideFilter($(me._widget).find(\".filter-text\"), true);\n $(\"#ajax-loading\").modal(\"hide\");\n }\n }\n }\n BuildParams(contentWidgetId) {\n var $transactiontypeFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] div.filter-drop-down[data-filtertype='TransactionTypes']\");\n var arrayTypes = new Array;\n $transactiontypeFilter.find(\"span.fa-check\").each(function (i, e) {\n arrayTypes.push($(e).attr(\"data-id\"));\n });\n var transactionTypes = arrayTypes.join(\",\");\n if (transactionTypes == \"\") {\n transactionTypes = \"All\";\n }\n return transactionTypes;\n }\n ShowHideFilter(el, close) {\n var me = this;\n var filterType = $(el).attr(\"data-filtertype\");\n var $dropdown = $(me._widget).find(\"div[id='accounttransactionfilter-list'] .filter-drop-down[data-filtertype='\" + filterType + \"']\");\n var $indicator = $(me._widget).find(\".filter-indicator\");\n var dropdownIsClosed = $dropdown.hasClass(\"hide\");\n if (close) {\n dropdownIsClosed = false;\n }\n $(me._widget).find(\".filter-drop-down\").addClass(\"hide\");\n $(me._widget).find(\".filter-indicator\").removeClass(\"fa-caret-up\").addClass(\"fa-caret-down\");\n if (dropdownIsClosed) {\n $dropdown.removeClass(\"hide\");\n $indicator.removeClass(\"fa-caret-down\").addClass(\"fa-caret-up\");\n }\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-accounttransactionfielo\").each(function (index, item) {\n $(item).data(\"manager\", new AccountTransactionFielo(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass AgentMarketingPlan {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._widgetContainer = \"widget-teamleader-team-detail-container-\" + this._widgetId;\n this._globalModal = new GlobalModal(this._widgetId);\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $('.js-agent-marketing-plan-form-numeric').on('keypress', function (event) {\n var charCode = (event.which) ? event.which : event.keyCode;\n if (charCode == 101 || charCode == 69 || charCode == 45 || charCode == 43 || charCode == 46) {\n return false;\n }\n this.value = this.value.replace(/[^0-9\\.]/g, '');\n });\n }\n}\n$(document).ready(function () {\n $(\".widget-agent-marketing-plan\").each(function (index, item) {\n $(item).data(\"manager\", new AgentMarketingPlan(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass ViewCompletionList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._sortBy = $(this._widget).attr(\"data-sort-by\");\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\".coursecompletionsListHeading\")\n .click(function () {\n var newHeader = $(this);\n var oldHeader = $(me._widget).find(\".dataTable\").find(\".sorting_asc,.sorting_desc\");\n if (newHeader.data(\"sort-field\") === oldHeader.data(\"sort-field\")) // change direction\n {\n if (oldHeader.hasClass(\"sorting_asc\")) {\n //change from ASC to DESC\n oldHeader.removeClass(\"sorting_asc\");\n newHeader.addClass(\"sorting_desc\");\n me._sortAscending = \"false\";\n }\n else {\n //change from DESC to ASC\n oldHeader.removeClass(\"sorting_desc\");\n newHeader.addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n }\n else // change sort column\n {\n oldHeader.removeClass(\"sorting_asc\").removeClass(\"sorting_desc\").addClass(\"sorting\");\n newHeader.removeClass(\"sorting\").addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n //$(me._widget).find(\"#list-items\").html();\n $(me._widget).find(\".completion-list-view-more\").removeAttr(\"disabled\");\n me._sortBy = newHeader.data(\"sort-field\");\n $(me._widget).find(\"#data-startat\").val(0);\n me.LoadMore(me._widget);\n });\n }\n LoadMore(el) {\n var thisWidget = $(el).closest('.widget-coursecompletions');\n var contentWidgetId = parseInt(thisWidget.find(\"#data-contentwidgetid\").val());\n var totalNumberOfCompletions = parseInt(thisWidget.find(\"#data-totalitem\").val());\n var skip = parseInt(thisWidget.find(\"#data-skip\").val());\n var start = parseInt(thisWidget.find(\"#data-startat\").val());\n var dto = {\n Categories: null,\n Tags: null,\n ContentTypes: null,\n Skip: skip,\n Take: start,\n SortField: this._sortBy,\n SortAscending: this._sortAscending\n };\n var url = '/Content/RenderCompletionsList/' + contentWidgetId;\n $.when(submitAjaxRequest(dto, url, \"POST\", function () {\n $(\"#ajax-loading\").modal();\n }).done(function (data, textStatus, request) {\n $(\"#ajax-loading\").modal(\"hide\");\n var completionsTable = '#usercompletions-completed-' + contentWidgetId;\n if (start === 0) {\n $(completionsTable).find('tbody').empty();\n $(completionsTable).find('tbody').append(data);\n }\n else {\n $(completionsTable + ' tr:last').after(data);\n }\n var numberOfItems = request.getResponseHeader('X-StartAt');\n thisWidget.find(\"#data-startat\").val(numberOfItems);\n if (numberOfItems >= totalNumberOfCompletions)\n $(el).attr(\"disabled\", \"disabled\");\n }));\n }\n GenerateTranscript(el) {\n var contentWidgetId = parseInt($(el).attr(\"data-contentwidgetid\"));\n var participantId = parseInt($(el).attr(\"data-participant-id\"));\n var token = $(el).attr(\"data-token\");\n var $completionsTable = $(\"#usercompletions-completed-\" + contentWidgetId);\n var dto = null;\n var selectedCourses = [];\n var selectedCurriculums = [];\n $completionsTable.find('input[type=\"checkbox\"]:checked').each(function (index, row) {\n var currentRow = $(this).closest(\"tr\");\n var itemId = parseInt(currentRow.find(\"td:eq(0)\").attr(\"data-filter-id\"));\n switch (currentRow.data(\"type\")) {\n case \"content\":\n selectedCourses.push(itemId);\n break;\n case \"curriculum\":\n selectedCurriculums.push(itemId);\n break;\n }\n });\n if (selectedCourses.length === 0 && selectedCurriculums.length === 0) {\n bootbox.alert({\n title: '<span class=\"fa-solid fa-circle-exclamation\"></span> Transcript Generation',\n message: 'Please select a course for transcript generation.',\n closeButton: true\n });\n }\n else {\n dto = {\n Token: token,\n ParticipantId: participantId,\n WidgetId: contentWidgetId,\n ContentIds: selectedCourses,\n CurriculumIds: selectedCurriculums\n };\n var url = '/Content/DownLoadEntitlementFile?' + btoa(JSON.stringify(dto));\n window.open(url, '_blank');\n }\n }\n}\nvar viewCompletionList;\n$(document).ready(function () {\n $(\".widget-coursecompletions\").each(function (index, item) {\n viewCompletionList = new ViewCompletionList(item);\n });\n $(\"body\").on(\"click\", \".completion-list-view-more\", function () {\n viewCompletionList.LoadMore(this);\n });\n $(\"body\")\n .on(\"click\", \".completion-list-generatetranscript\", function () {\n viewCompletionList\n .GenerateTranscript(this);\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass ViewContentList {\n LoadMore(el) {\n var $list = $(\"#\" + $(el).attr(\"data-contentlist-id\"));\n var totalNumberOftiles = parseInt($list.attr(\"data-numberoftiles\"));\n var contentWidgetId = parseInt($list.attr(\"data-contentwidgetid\"));\n var $listItems = $(\"#content-list-\" + contentWidgetId + \"-items\");\n var dto = this.getFiltersDto(contentWidgetId);\n dto.Skip = parseInt($(el).attr(\"data-startat\"));\n // disable the view more button (will be enabled after successful ajax call)\n $(el).prop(\"disabled\", true);\n // remove the outline on mouse click so that there isn't a lingering outline\n $(el).on(\"mousedown\", function () {\n $(this).css(\"outline\", \"none\");\n });\n var url = '/Content/RenderContentList/' + contentWidgetId;\n $.when(submitAjaxRequest(dto, url, \"POST\").done(function (response) {\n // view more button enabled\n $(\"[data-contentlist-id='content-list-\" + contentWidgetId + \"']\").prop(\"disabled\", false);\n }).done(function (data) {\n $listItems.append(data);\n var totalTiles = $list.find(\".list-item:not(.spacer)\").length;\n if (totalTiles == 0) { // list, not tiles\n totalTiles = $list.find(\".content-list-result\").length;\n }\n if (totalTiles >= totalNumberOftiles) {\n $list.find(\".view-more-container\").hide();\n }\n $(el).attr(\"data-startat\", totalTiles);\n }));\n globalThis.gage.log(\"[data-contentlist-id='content-list-\" + contentWidgetId + \"']\");\n }\n ShowHideFilter(el) {\n var list = $(el).parent(\".widget-contentlist\").attr(\"id\");\n var filterType = $(el).attr(\"data-filtertype\");\n var $dropdown = $(\"div[id='\" + list + \"'] .filter-drop-down[data-filtertype='\" + filterType + \"']\");\n var $indicator = $(el).find(\".filter-indicator\");\n var dropdownIsClosed = $dropdown.hasClass(\"hide\");\n $(\".filter-drop-down\").addClass(\"hide\");\n $(\".filter-indicator\").removeClass(\"fa-caret-up\").addClass(\"fa-caret-down\");\n if (dropdownIsClosed) {\n $dropdown.removeClass(\"hide\");\n $indicator.removeClass(\"fa-caret-down\").addClass(\"fa-caret-up\");\n }\n }\n SelectDeselectFacet(el) {\n if ($(el).hasClass(\"disabled\")) {\n return;\n }\n var $contentList = $(el).closest(\".content-list\");\n var $filterParent = $(el).closest(\"li\");\n var $facetIndicator = $filterParent.find(\".filter-facet-indicator\");\n $facetIndicator.toggleClass(\"fa-check\");\n var contentWidgetID = parseInt($contentList.attr(\"data-contentwidgetid\"));\n var filterType = $(el).attr(\"data-filter-type\");\n if ($(el).attr(\"data-selected\") === \"false\") {\n $(el).attr(\"data-selected\", \"true\");\n }\n else {\n $(el).attr(\"data-selected\", \"false\");\n }\n if ($facetIndicator.hasClass(\"fa-check\")) {\n $facetIndicator.removeClass(\"hidden\");\n $(\"#widget-contentlist-appliedfilters-\" + contentWidgetID).append(\"<button class='pull-left btn btn-color1 content-list-remove-filter' data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"' data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"'><span class='fa-solid fa-check'></span> \" + $(el).attr(\"data-name\") + \" | <span class='remove'>x</span></button>\");\n }\n else {\n $facetIndicator.addClass(\"hidden\");\n $(\"#widget-contentlist-appliedfilters-\" + contentWidgetID).find(\"button[data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"'][data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"']\").remove();\n }\n this.updateFilter(contentWidgetID);\n }\n ApplyFilter(el) {\n this.updateFilter(parseInt($(el).closest(\".content-list\").attr(\"data-contentwidgetid\")));\n }\n ClearFilter(el) {\n var contentWidgetID = parseInt($(el).closest(\".content-list\").attr(\"data-contentwidgetid\"));\n $(\"div[data-contentwidgetid='\" + contentWidgetID + \"'] ul.js-filter-drop-down\").find(\"input[type=checkbox]\").prop(\"checked\", false);\n this.updateFilter(contentWidgetID);\n }\n updateFilter(contentWidgetID) {\n $('#ajax-loading').modal();\n var $list = $(\"#content-list-\" + contentWidgetID);\n var $listItems = $(\"#content-list-\" + contentWidgetID + \"-items\");\n var dto = this.getFiltersDto(contentWidgetID);\n var url = '/Content/RenderContentList/' + contentWidgetID;\n $.when(submitAjaxRequest(dto, url, \"POST\").done(function (data, textStatus, request) {\n var numberOfItems = parseInt(request.getResponseHeader(\"X-NumberOfListItems\"));\n var numberOfItemsToShow = parseInt(request.getResponseHeader(\"X-NumberOfItemsToShow\"));\n $list.find(\".btn-view-more\").attr(\"data-startat\", numberOfItemsToShow);\n if (numberOfItems <= numberOfItemsToShow) {\n $list.find(\".view-more-container\").hide();\n }\n else {\n $list.find(\".view-more-container\").show();\n }\n $list.attr(\"data-numberoftiles\", numberOfItems);\n $listItems.html(data);\n $(\".filter-facet\").removeClass(\"processed\").removeClass(\"disabled\");\n //var $filterUpdates: JQuery = $listItems.find(\"#content-list-\" + contentWidgetID + \"-filter-update\");\n var $filterUpdates = $(\"#content-list-\" + contentWidgetID);\n var $categories = JSON.parse($filterUpdates.attr(\"data-filters-categories\"));\n $($categories).each(function (i, e) {\n var $filter = $(\"#content-list-filter-category-\" + e.ID);\n $filter.addClass(\"processed\");\n if (e.NumberOfItems > 0) {\n $filter.find(\".content-list-filter-count\").text(\"(\" + e.NumberOfItems + \")\");\n }\n });\n var $contenttypes = JSON.parse($filterUpdates.attr(\"data-filters-contenttypes\"));\n $($contenttypes).each(function (i, e) {\n var $filter = $(\"#content-list-filter-contenttype-\" + e.ID);\n $filter.addClass(\"processed\");\n if (e.NumberOfItems > 0) {\n $filter.find(\".content-list-filter-count\").text(\"(\" + e.NumberOfItems + \")\");\n }\n });\n var $tags = JSON.parse($filterUpdates.attr(\"data-filters-tags\"));\n $($tags).each(function (i, e) {\n var $filter = $(\"#content-list-filter-tag-\" + e.ID);\n $filter.addClass(\"processed\");\n if (e.NumberOfItems > 0) {\n $filter.find(\".content-list-filter-count\").text(\"(\" + e.NumberOfItems + \")\");\n }\n });\n var $completionStatuses = JSON.parse($filterUpdates.attr(\"data-filters-completionstatus\"));\n $($completionStatuses).each(function (i, e) {\n var $filter = $(\"#content-list-filter-completionstatus-\" + e.ID);\n $filter.addClass(\"processed\");\n if (e.NumberOfItems > 0) {\n $filter.find(\".content-list-filter-count\").text(\"(\" + e.NumberOfItems + \")\");\n }\n });\n $(\".filter-facet\").not(\".processed\").each(function (i, e) {\n $(e).addClass(\"disabled\");\n $(e).find(\".content-list-filter-count\").text(\"(0)\");\n });\n $(\"#ajax-loading\").modal(\"hide\");\n $(\".filter-close\").click();\n }));\n }\n getFiltersDto(contentWidgetId) {\n var $categoriesFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] ul.js-filter-drop-down[data-filtertype='Categories']\");\n var $tagsFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] ul.js-filter-drop-down[data-filtertype='Tags']\");\n var $contentTypesFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] ul.js-filter-drop-down[data-filtertype='ContentTypes']\");\n var $completionStatusesFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] ul.js-filter-drop-down[data-filtertype='CompletionStatus']\");\n var categories = new Array;\n var tags = new Array;\n var contentTypes = new Array;\n var completionStatuses = new Array;\n $categoriesFilter.find(\"input[type=checkbox]:checked, button.filter-facet[data-selected=true]\").each(function (i, e) {\n categories.push(parseInt($(e).attr(\"data-id\")));\n });\n $tagsFilter.find(\"input[type=checkbox]:checked, button.filter-facet[data-selected=true]\").each(function (i, e) {\n tags.push(parseInt($(e).attr(\"data-id\")));\n });\n $contentTypesFilter.find(\"input[type=checkbox]:checked, button.filter-facet[data-selected=true]\").each(function (i, e) {\n contentTypes.push(parseInt($(e).attr(\"data-id\")));\n });\n $completionStatusesFilter.find(\"input[type=checkbox]:checked, button.filter-facet[data-selected=true]\").each(function (i, e) {\n completionStatuses.push(parseInt($(e).attr(\"data-id\")));\n });\n var dto = {\n Categories: categories,\n Tags: tags,\n ContentTypes: contentTypes,\n EntityItemTypes: contentTypes,\n CompletionStatuses: completionStatuses,\n Skip: 0\n };\n return dto;\n }\n}\nvar viewContentList = new ViewContentList();\n$(document).ready(function () {\n $(\"body\").on(\"click\", \".content-list-view-more\", function () {\n viewContentList.LoadMore(this);\n // $(this).css(\"outline-color\", \"none\");\n });\n $(\"body\").on(\"click\", \".content-list .filter-text, .content-list .filter-close\", function () {\n viewContentList.ShowHideFilter(this);\n });\n $(\"body\").on(\"click\", \".content-list .filter-facet\", function () {\n viewContentList.SelectDeselectFacet(this);\n });\n $(\"body\").on(\"click\", \".js-filter-clear\", function () {\n viewContentList.ClearFilter(this);\n });\n $(\".js-content-list-side-filter\").on(\"click\", \".js-content-list-filter-apply\", function () {\n viewContentList.ApplyFilter(this);\n });\n $(\".js-content-list-side-filter\").on(\"click\", \".js-expand-filter-section\", function (e) {\n var controlId = $(this).attr(\"aria-controls\");\n var exState = $(this).attr(\"aria-expanded\");\n if (exState == \"false\") {\n $(\"#\" + controlId).removeClass(\"hidden\");\n $(this).attr(\"aria-expanded\", \"true\");\n $(this).find(\"span.fa-solid\").removeClass(\"fa-plus\");\n $(this).find(\"span.fa-solid\").addClass(\"fa-minus\");\n }\n else {\n $(\"#\" + controlId).addClass(\"hidden\");\n $(this).attr(\"aria-expanded\", \"false\");\n $(this).find(\"span.fa-solid\").removeClass(\"fa-minus\");\n $(this).find(\"span.fa-solid\").addClass(\"fa-plus\");\n }\n });\n $(\"body\").on(\"click\", \".content-list .content-list-remove-filter\", function () {\n var filterID = parseInt($(this).attr(\"data-filter-id\"));\n var filterType = $(this).attr(\"data-filter-type\");\n viewContentList.SelectDeselectFacet($(\"button.filter-facet[data-filter-type='\" + filterType + \"'][data-filter-id='\" + filterID + \"']\"));\n });\n $(\"body\").on(\"click\", \".content-list button.filter-facet-apply\", function () {\n viewContentList.ApplyFilter(this);\n });\n});\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass EmailConfiguration {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n const me = this;\n // me.bindLocalizedTime();\n $(\"body\").on(\"click\", \".js-remove-list\", function () {\n $(this).next(\".js-remove-list-confirm\").removeClass(\"hidden\");\n });\n $(\"body\").on(\"click\", \".js-replace-add-list\", function (e) {\n $(this).next(\".js-replace-list-confirm\").removeClass(\"hidden\");\n });\n $(\"body\").on(\"click\", \".js-replace-list-confirm button\", function () {\n $(this).closest(\".js-replace-list-confirm\").addClass(\"hidden\");\n });\n $(\"body\").on(\"click\", \".js-remove-list-confirm button\", function () {\n $(this).closest(\".js-remove-list-confirm\").addClass(\"hidden\");\n });\n $(\"body\").on(\"click\", \".js-replace-campaign-recipient-list\", function (e) {\n $(\".js-global-modal\").find(\"#uploadList\").attr(\"data-replace-list-action\", \"replace\");\n if ($(e.currentTarget).attr(\"data-is-seed-list-type\") == \"True\") {\n $(\".js-global-modal\").find(\"#emailListType\").val(\"Seed\");\n }\n else {\n $(\".js-global-modal\").find(\"#emailListType\").val(\"Recipient\");\n }\n $(\".js-global-modal #listTab\").trigger(\"click\");\n });\n $(\"body\").on(\"click\", \".js-upload-recipient-replace-action\", function (e) {\n e.preventDefault();\n $(this).closest(\".js-upload-recipient-replace-list-confirm\").addClass(\"hidden\");\n me.uploadRecipients();\n });\n $(\"body\").on(\"click\", \".js-upload-recipient-add-action\", function (e) {\n e.preventDefault();\n $(this).closest(\".js-upload-recipient-replace-list-confirm\").addClass(\"hidden\");\n $(\"#uploadList\").attr(\"data-replace-list-action\", \"\");\n me.uploadRecipients();\n });\n $(\"body\").on(\"click\", \".js-upload-recipient-replace-cancel-action\", function (e) {\n e.preventDefault();\n $(\"#uploadList\").attr(\"data-replace-list-action\", \"\");\n $(this).closest(\".js-upload-recipient-replace-list-confirm\").addClass(\"hidden\");\n });\n $(\"body\").on(\"click\", \".js-remove-campaign-recipient-list\", function (e) {\n e.preventDefault();\n var campaignIdentifier = $(e.currentTarget).closest(\".js-send-details\").attr(\"data-campaign-identifier\");\n var campaignItemScheduleId = $(e.currentTarget).closest(\".js-send-details\").attr('data-campaign-item-schedule-id');\n var isSeedContact = $(e.currentTarget).attr(\"data-is-seed-list-type\") === \"True\";\n var emailListContainer = $(\".js-global-modal\").find(\".js-email-list-recipient-container\");\n var url = (\"/EmailCampaign/DeleteContactCampaignItemSchedules/\" + campaignIdentifier + \"/\" + campaignItemScheduleId + \"/\" + isSeedContact);\n // TODO: Endpoint doesn't exist.\n $.when(submitAjaxRequest(undefined, url, \"DELETE\").done(function (data) {\n if (data !== null) {\n if (data.errorMessage !== null && data.errorMessage.length > 0) {\n }\n else {\n const url = \"/EmailCampaign/GetEmailLists/\" + $(e.currentTarget).closest(\".js-send-details\").attr(\"data-campaign-identifier\") + \"/\" + campaignItemScheduleId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(emailListContainer).html(data);\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n }\n }\n }));\n });\n $(\"input[name=productSelecter]\").on(\"click\", function (el) {\n const selectedOptions = [];\n $(\"input:checkbox[name=productSelecter]:checked\").each(function () {\n selectedOptions.push($(this).val());\n });\n if (selectedOptions.length > 0) {\n $(\".js-configure-send\").prop('disabled', false);\n }\n else {\n $(\".js-configure-send\").prop('disabled', true);\n }\n });\n $(\".js-global-modal\").on(\"change\", \"input[name=seedListSend]\", function (e) {\n if ($(this).val() === \"seperate\") {\n $(\".js-seed-list-schedule\").removeClass(\"hidden\");\n }\n else {\n $(\".js-seed-list-schedule\").addClass(\"hidden\");\n }\n });\n $(\".js-global-modal\").on(\"change\", \"input[name=listSend]\", function (e) {\n if ($(this).val() === \"schedule\") {\n $(\".js-schedule-send-config\").removeClass(\"hidden\");\n }\n else {\n $(\".js-schedule-send-config\").addClass(\"hidden\");\n }\n });\n $(\".js-configure-send\").on(\"click\", function (e) {\n e.preventDefault();\n const id = $(e.currentTarget).attr('data-customization-identifier');\n const campaignId = $(e.currentTarget).attr('data-campaign-id');\n const campaignIdentifier = $(e.currentTarget).attr('data-campaign-identifier');\n const campaignItemId = $(e.currentTarget).attr('data-campaign-item-id');\n const campaignItemScheduleId = $(e.currentTarget).attr('data-campaign-item-schedule-id');\n const url = \"/EmailCampaign/GetEmailProductCustomization/\" + id + \"/\" + campaignIdentifier + \"/\" + campaignItemScheduleId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n var html = data;\n var globalModal = new GlobalModal(id);\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-send-modal' });\n const details = $(\".js-global-modal\").find(\".js-send-details\");\n details.attr(\"data-campaign-id\", campaignId);\n details.attr(\"data-campaign-item-id\", campaignItemId);\n details.attr(\"data-campaign-identifier\", campaignIdentifier);\n details.attr(\"data-campaign-item-schedule-id\", campaignItemScheduleId);\n details.find(\".js-campaignidentifier\").val(campaignIdentifier);\n details.find(\".js-campaign-item-schedule-id\").val(campaignItemScheduleId);\n details.attr(\"data-customization-identifier\", id);\n $(\".js-schedule-email\").on(\"click\", function (e) {\n e.preventDefault();\n let startDate = null;\n let seedStartDate = null;\n //const campaignId = details.attr(\"data-campaign-id\");\n //const campaignItemId = details.attr(\"data-campaign-item-id\");\n const campaignItemScheduleId = details.attr(\"data-campaign-item-schedule-id\");\n let timeZone = $(\".js-schedule-send-config\").find(\".js-send-time-zone\").val();\n let seedTimeZone = $(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val();\n const errorcontainer = $(\".js-global-modal\").find(\".js-error-schedule-container\");\n $(errorcontainer).empty();\n $(errorcontainer).addClass(\"hide\");\n if ($(\"input:radio[name='listSend']:checked\").val() === \"schedule\" || ($(\"input:radio[name='seedListSend']:checked\").val() === \"same\" && $(\"input:radio[name='listSend']:checked\").val() === \"schedule\")) {\n if ($(\".js-schedule-send-config\").find(\"#send-date\").val() === \"\") {\n alert(\"Please select a date\");\n return false;\n }\n if ($(\".js-schedule-send-config\").find(\"#send-time\").val() === \"\") {\n alert(\"Please select a time\");\n return false;\n }\n const dateString = $('#send-date-picker').data(\"DateTimePicker\").date().format(\"YYYY-MM-DD\") +\n \" \" +\n $('#send-time-picker').data(\"DateTimePicker\").date().format(\"HH:mm:ss\");\n const timeZoneDate = dayjs.tz(dateString, timeZone);\n startDate = timeZoneDate.utc().format();\n seedStartDate = startDate;\n timeZone = $(\".js-schedule-send-config\").find(\".js-send-time-zone\").val();\n seedTimeZone = timeZone;\n }\n if ($(e.currentTarget).closest(\"#schedule\").find(\"#sendName\").val() === \"\") {\n alert(\"Please enter a name\");\n return false;\n }\n if ($(\"input:radio[name='seedListSend']:checked\").val() === \"seperate\") {\n if ($(\".js-schedule-seed-send-config\").find(\"#seed-send-date\").val() === \"\") {\n alert(\"Please select a seed start date\");\n return false;\n }\n if ($(\".js-schedule-seed-send-config\").find(\"#seed-send-time\").val() === \"\") {\n alert(\"Please select a seed send time\");\n return false;\n }\n const dateString = $('#seed-send-date-picker').data(\"DateTimePicker\").date().format(\"YYYY-MM-DD\") +\n \" \" +\n $('#seed-send-time-picker').data(\"DateTimePicker\").date().format(\"HH:mm:ss\");\n const newDate = new Date(dateString);\n const utcDate = dayjs.utc(newDate.toString()).tz(timeZone);\n seedStartDate = utcDate.utc().format('YYYY-MM-DD HH:mm:ss');\n seedTimeZone = $(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val();\n }\n var url = \"/EmailCampaign/AddCampaignSchedule\";\n var params = {\n \"campaignItemScheduleId\": campaignItemScheduleId,\n \"campaignIdentifier\": $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-identifier\"),\n \"campaignItemId\": parseInt($(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-item-id\")),\n \"name\": $(e.currentTarget).closest(\"#schedule\").find(\"#sendName\").val(),\n \"startDateTime\": startDate,\n \"timeZone\": timeZone,\n \"seedStartDateTime\": seedStartDate,\n \"seedTimeZone\": seedTimeZone\n };\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n if (data.success == true) {\n window.location.reload();\n //$(errorcontainer).html($(errorcontainer).attr(\"data-success-message\"));\n //$(errorcontainer).removeClass(\"hide\");\n }\n else {\n alert(data.errorMessage);\n }\n }).fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n });\n me.populateTimeZonesOnly($(\".time-zone\"));\n $(\"#uploadList\").on(\"click\", function (e) {\n if ($(e.currentTarget).attr(\"data-replace-list-action\") === \"replace\") {\n $(this).next(\".js-upload-recipient-replace-list-confirm\").removeClass(\"hidden\");\n }\n else {\n me.uploadRecipients();\n }\n });\n // TODO: this should be removed, there are no enpoints for AddEmailRecipient\n // there are components in cshtml that still reference this that wouldn't work.\n $(\".js-upload-single-recipient\").on(\"click\", function (e) {\n var emailListContainer = $(\".js-global-modal\").find(\".js-email-list-recipient-container\");\n var errorcontainer = $(\".js-upload-single-recipient-container\").find(\".js-error-single-recipient-container\");\n var campaignIdentifier = $(e.currentTarget).closest(\".js-send-details\").attr(\"data-campaign-identifier\");\n var campaignItemScheduleId = $(e.currentTarget).closest(\".js-send-details\").attr('data-campaign-item-schedule-id');\n e.preventDefault();\n var url = (\"/EmailCampaign/AddEmailRecipient\");\n //TODO: ANTI - was needs fixup due to how this worked - data: $(\"#form-single-recipient\").serialize()\n //TODO XXX$.ajax({\n // type: \"POST\",\n // data: $(\"#form-single-recipient\").serialize(),\n // dataType: 'json',\n // contentType: 'application/x-www-form-urlencoded; charset=UTF-8',\n // headers: {\n // 'RequestVerificationToken': rvaftoValue\n // }\n $.when(submitAjaxRequest(undefined, url, \"POST\").done(function (data) {\n if (data != null) {\n if (data.errorMessage != null && data.errorMessage.length > 0) {\n $(errorcontainer).html(data.errorMessage);\n $(errorcontainer).removeClass(\"hide\");\n }\n else {\n var url = \"/EmailCampaign/GetEmailLists/\" + campaignIdentifier + \"/\" + campaignItemScheduleId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(emailListContainer).html(data);\n $(errorcontainer).html($(errorcontainer).attr(\"data-success-message\"));\n $(errorcontainer).removeClass(\"hide\");\n $(\".js-single-recipient-reset\").click();\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n }\n }\n }));\n });\n $(\".js-single-recipient-reset\").on(\"click\", function (e) {\n e.preventDefault();\n var campaignIdentifier = $(\".js-global-modal\").find(\".js-send-details\").find(\".js-campaignidentifier\").val();\n var campaignItemScheduleId = $(\".js-global-modal\").find(\".js-send-details\").find(\".js-campaign-item-schedule-id\").val();\n var productCustomizationIdentifier = $(\".js-global-modal\").find(\".js-send-details\").find(\".js-product-customization-identifier\").val();\n var item = $(\"#form-single-recipient\")[0];\n item.reset();\n $(\".js-global-modal\").find(\".js-send-details\").find(\".js-campaignidentifier\").val(campaignIdentifier);\n $(\".js-global-modal\").find(\".js-send-details\").find(\".js-campaign-item-schedule-id\").val(campaignItemScheduleId);\n $(\".js-global-modal\").find(\".js-send-details\").find(\".js-product-customization-identifier\").val(productCustomizationIdentifier);\n });\n $(\".js-cancel-schedule\").on(\"click\", function (e) {\n window.location.reload();\n //globalModal.closeGlobalModal();\n });\n $(\".js-close-modal-overlay\").on(\"click\", function (e) {\n window.location.reload();\n //globalModal.closeGlobalModal();\n });\n $(\"#send-data-picker-full\").datetimepicker();\n $(\"#seed-send-data-picker-full\").datetimepicker();\n $('#seed-send-date-picker').datetimepicker({\n useCurrent: false,\n format: 'MM/DD/YYYY'\n });\n $('#send-time-picker').datetimepicker({\n format: 'LT'\n });\n $('#seed-send-time-picker').datetimepicker({\n format: 'LT'\n });\n $('#send-date-picker').datetimepicker({\n useCurrent: false,\n format: 'MM/DD/YYYY'\n });\n if ($(\".js-send-time-zone-data\").val() !== \"\" && $(\".js-send-time-zone-data\").val() !== undefined) {\n $(\".js-send-time-zone\").val($(\".js-send-time-zone-data\").val());\n }\n if ($(\".js-seed-send-time-zone-data\").val() !== \"\" && $(\".js-seed-send-time-zone-data\").val() !== undefined) {\n $(\".js-seed-send-time-zone\").val($(\".js-seed-send-time-zone-data\").val());\n }\n if ($(\"#send-date-full\").val() !== \"\") {\n const setTime = dayjs.utc($('#send-date-full').val()).tz($(\".js-schedule-send-config\").find(\".js-send-time-zone\").val()).format(\"hh:mm A\");\n $('#send-time-picker').data(\"DateTimePicker\").date(setTime);\n }\n if ($(\"#seed-send-date-full\").val() !== \"\") {\n const setSeedTime = dayjs.utc($('#seed-send-date-full').val()).tz($(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val()).format(\"hh:mm A\");\n $('#seed-send-time-picker').data(\"DateTimePicker\").date(setSeedTime);\n }\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n });\n $(\".js-delete-send\").on(\"click\", function (e) {\n const campaignIdentifier = $(e.currentTarget).attr('data-campaign-identifier');\n const campaignItemId = $(e.currentTarget).attr('data-campaign-item-id');\n const campaignItemScheduleId = $(e.currentTarget).attr('data-campaign-item-schedule-id');\n e.preventDefault();\n const addEmailId = \"add-\" + $(e).attr(\"data-campaign-item-schedule-id\");\n const testHtml = $(\".js-delete-confirm-content-schedule-single-schedule\").html();\n const globalModal = new GlobalModal(addEmailId);\n globalModal.openGlobalModal(testHtml, \"modal\", { origin: $(this), classes: 'delete-modal' });\n $(\".js-global-modal\").find(\".js-delete-campaign-schedule\").attr(\"data-campaign-identifier\", campaignIdentifier);\n $(\".js-global-modal\").find(\".js-delete-campaign-schedule\").attr(\"data-campaign-item-id\", campaignItemId);\n $(\".js-global-modal\").find(\".js-delete-campaign-schedule\").attr(\"data-campaign-item-schedule-id\", campaignItemScheduleId);\n $(\".js-global-modal\").find(\".js-cancel-confirm\").on(\"click\", function () {\n globalModal.closeGlobalModal();\n });\n // TODO: this should be removed, there are no enpoints for RemoveCampaignItemSchedule\n // there are components in cshtml that still reference this that wouldn't work.\n $(\".js-delete-campaign-schedule\").on(\"click\", function (e) {\n var campaignIdentifier = $(e.currentTarget).attr(\"data-campaign-identifier\");\n var campaignItemScheduleId = $(e.currentTarget).attr('data-campaign-item-schedule-id');\n var url = (\"/EmailCampaign/RemoveCampaignItemSchedule/\" + campaignIdentifier + \"/\" + campaignItemScheduleId);\n // TODO: need to pass a model!!!\n // url: (\"/EmailCampaign/RemoveCampaignItemSchedule/\" + campaignIdentifier + \"/\" + campaignItemScheduleId),\n // type: \"DELETE\",\n $.when(submitAjaxRequest(undefined, url, \"DELETE\").done(function (data) {\n if (data != null) {\n if (data.errorMessage != null && data.errorMessage.length > 0) {\n }\n else {\n window.location.reload();\n }\n }\n }));\n });\n });\n $(\".js-review-order\").on(\"click\", function (e) {\n event.preventDefault();\n const addEmailId = \"add-\" + $(e).attr(\"id\");\n const testHtml = $(\".js-confirm-campaign-order\").html();\n const globalModal = new GlobalModal(addEmailId);\n globalModal.openGlobalModal(testHtml, \"modal\", { origin: $(this), classes: 'delete-modal' });\n const productCustomizations = [];\n $.each($(e.currentTarget).closest(\".js-email-configuration-container\").find(\"#campaign-schedule-items\").find(\".js-configure-send\"), function (index, elem) {\n productCustomizations.push($(elem).attr(\"data-customization-identifier\") + \"|\" + $(elem).attr(\"data-campaign-item-schedule-id\"));\n });\n $(\".js-global-modal\").find(\".js-confirm-campaign-order-continue\").attr(\"identifiers\", productCustomizations.join(\",\"));\n $(\".js-close-modal, .js-cancel-confirm\").on(\"click\", function () {\n globalModal.closeGlobalModal();\n });\n $(\".js-confirm-campaign-order-continue\").on(\"click\", function (e) {\n e.preventDefault();\n const array = $(e.currentTarget).attr(\"identifiers\").split(',');\n const productCustomizationIdentifiers = [];\n $.each(array, function (index, elem) {\n const productCustomization = {\n \"identifier\": elem.split(\"|\")[0],\n \"campaignItemScheduleId\": elem.split(\"|\")[1]\n };\n productCustomizationIdentifiers.push(productCustomization);\n });\n var url = \"/Api/ProductCustomization/CreateOrder\";\n // TODO make sure that serialization worked and content type is correct\n // XXX$.ajax({\n // data: JSON.stringify(productCustomizationIdentifiers),\n // method: \"POST\",\n // url: \"/Api/ProductCustomization/CreateOrder\",\n // contentType: \"application/json; charset=utf-8\",\n //})\n $.when(submitAjaxRequest(productCustomizationIdentifiers, url, \"POST\").done(function (data, textStatus, request) {\n if (data !== null && data.redirectUrl != null) {\n window.location.href = data.redirectUrl;\n return;\n }\n }).fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n });\n });\n }\n uploadRecipients() {\n var me = this;\n var btn = $(\"#uploadList\");\n var campaignIdentifier = $(btn).closest(\".js-send-details\").attr(\"data-campaign-identifier\");\n var campaignItemScheduleId = $(btn).closest(\".js-send-details\").attr('data-campaign-item-schedule-id');\n var customizationIdentifier = $(btn).attr(\"data-customization-identifier\");\n var replaceAction = $(btn).attr(\"data-replace-list-action\");\n var formData = new FormData();\n var element = document.getElementById(\"uploadRecipientList\");\n var file = element.files[0];\n var emailListContainer = $(\".js-global-modal\").find(\".js-email-list-recipient-container\");\n formData.append('file', file);\n formData.append('id', customizationIdentifier);\n formData.append('contactType', $(btn).closest(\".js-upload-recipient-container\").find(\"#emailListType\").val());\n formData.append('campaignId', $(btn).closest(\".js-send-details\").attr(\"data-campaign-id\"));\n formData.append('campaignIdentifier', campaignIdentifier);\n formData.append('campaignItemScheduleId', campaignItemScheduleId);\n formData.append('campaignItemScheduleId', campaignItemScheduleId);\n formData.append('replaceAction', replaceAction);\n var errorcontainer = $(\".js-upload-recipient-container\").find(\".js-error-recipient-container\");\n $(errorcontainer).empty();\n $(errorcontainer).addClass(\"hide\");\n var url = (\"/EmailCampaign/UploadEmailRecipients\");\n $.when(submitAjaxRequest(undefined, url, \"POST\", undefined, undefined, undefined, formData).done(function (data) {\n if (data != null) {\n if (data.errorMessage != null && data.errorMessage.length > 0) {\n $(errorcontainer).html(data.errorMessage);\n $(errorcontainer).removeClass(\"hide\");\n }\n else {\n var url = \"/EmailCampaign/GetEmailLists/\" + campaignIdentifier + \"/\" + campaignItemScheduleId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(emailListContainer).html(data);\n $(errorcontainer).html($(errorcontainer).attr(\"data-success-message\"));\n $(errorcontainer).removeClass(\"hide\");\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n }\n }\n }));\n }\n populateTimeZonesOnly(el) {\n GetTimeZoneNameList().then(function (timeZones) {\n FillTimeZoneDropDown($(el), timeZones, dayjs.tz.guess());\n });\n }\n populateTimeZones(el) {\n GetTimeZoneNameList().then(function (timeZones) {\n FillTimeZoneDropDown($(el), timeZones, dayjs.tz.guess());\n });\n }\n bindLocalizedTime() {\n $.each($(\".localized-time-email-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY') + \" <div><small>\" + dayjs.utc(localDate).local().format('hh:mm a') + \"</small></div>\");\n });\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-email-configuration-list\").each(function (index, item) {\n $(item).data(\"manager\", new EmailConfiguration(item));\n });\n});\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n///// <reference path=\"../../node_modules/dayjs/plugin/utc.d.ts\" />\n///// <reference path=\"../../node_modules/dayjs/plugin/timezone.d.ts\" />\n///// <reference path=\"../../node_modules/dayjs/plugin/localeData.d.ts\" />\n///// <reference path=\"../../node_modules/dayjs/plugin/localizedFormat.d.ts\" />\n///// <reference path=\"../../node_modules/dayjs/index.d.ts\" />\n//import dayjs = require('../../node_modules/dayjs/index');\n//import utc = require(\"../../node_modules/dayjs/plugin/utc\");\n//import timezone = require(\"../../node_modules/dayjs/plugin/timezone\");\n//import localizedFormat = require(\"../../node_modules/dayjs/plugin/localizedFormat\");\n//import localeData = require(\"../../node_modules/dayjs/plugin/localeData\");\n//dayjs.extend(utc);\n//dayjs.extend(timezone);\n//dayjs.extend(localizedFormat);\n//dayjs.extend(localeData);\nclass EmailManagement {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var me = this;\n me.bindLocalizedTime();\n $(\"body\").on(\"click\", \".js-remove-list\", function () {\n $(this).next(\".js-remove-list-confirm\").removeClass(\"hidden\");\n });\n $(\"body\").on(\"click\", \".js-remove-list-confirm button\", function () {\n $(this).closest(\".js-remove-list-confirm\").addClass(\"hidden\");\n });\n $(\"body\").on(\"click\", \".js-remove-campaign-recipient-list\", function (e) {\n e.preventDefault();\n var campaignIdentifier = $(e.currentTarget).closest(\".js-send-details\").attr(\"data-campaign-identifier\");\n var campaignItemScheduleId = $(e.currentTarget).closest(\".js-send-details\").attr('data-campaign-item-schedule-id');\n var isSeedContact = $(e.currentTarget).attr(\"data-is-seed-list-type\") === \"True\";\n var emailListContainer = $(\".js-global-modal\").find(\".js-email-list-recipient-container\");\n var url = (\"/EmailCampaign/DeleteContactCampaignItemSchedules/\" + campaignIdentifier + \"/\" + campaignItemScheduleId + \"/\" + isSeedContact);\n // TODO: This endpoint doesn't exist in CS code.\n // url: (\"/EmailCampaign/DeleteContactCampaignItemSchedules/\" + campaignIdentifier + \"/\" + campaignItemScheduleId + \"/\" + isSeedContact),\n // type: \"DELETE\",\n $.when(submitAjaxRequest(undefined, url, \"DELETE\").done(function (data) {\n if (data != null) {\n if (data.errorMessage != null && data.errorMessage.length > 0) {\n }\n else {\n var url = \"/EmailCampaign/GetEmailLists/\" + $(e.currentTarget).closest(\".js-send-details\").attr(\"data-campaign-identifier\") + \"/\" + campaignItemScheduleId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(emailListContainer).html(data);\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n }\n }\n }));\n });\n try {\n $(\"#email-schedules\").DataTable({\n pageLength: 50,\n searching: false,\n \"order\": [[1, \"asc\"]],\n \"columnDefs\": [\n {\n orderable: false,\n targets: [6]\n }\n ]\n });\n }\n catch (error) {\n console.log(error);\n }\n $(\".js-clone-email-schedule\").on(\"click\", function (e) {\n e.preventDefault();\n var catalogAssignmentIdentifier = $(e.currentTarget).attr('data-catalog-assignment-identifier');\n var customizationExistsMessage = $(e.currentTarget).attr(\"data-customization-exist-message\");\n var productDetailUrl = $(e.currentTarget).attr(\"data-product-detail-url\");\n var id = $(e.currentTarget).attr('data-customization-identifier');\n var url = \"/EmailCampaign/CloneSchedule/\" + id;\n var cancelText = $(e.currentTarget).attr(\"data-cancel-text\");\n var okText = $(e.currentTarget).attr(\"data-ok-text\");\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n if (data.success) {\n var redirectUrl = productDetailUrl + \"?product-id=\" + catalogAssignmentIdentifier + \"&customization-identifier=\" + data.data;\n window.location.href = redirectUrl;\n }\n else {\n if (data.errorMessage == \"InProgress\") {\n bootbox.confirm({\n message: \"<p>\" + customizationExistsMessage + \"</p>\",\n buttons: {\n confirm: {\n label: okText,\n className: 'btn-success'\n },\n cancel: {\n label: cancelText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n window.location.href = productDetailUrl + \"?product-id=\" + catalogAssignmentIdentifier + \"&customization-identifier=\" + id;\n ;\n }\n }\n });\n }\n else {\n alert(data.errorMessage);\n }\n }\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n });\n $(\".js-edit-email-schedule\").on(\"click\", function (e) {\n e.preventDefault();\n var id = $(e.currentTarget).attr('data-customization-identifier');\n var campaignId = $(e.currentTarget).attr('data-campaign-id');\n var campaignIdentifier = $(e.currentTarget).attr('data-campaign-identifier');\n var campaignItemId = $(e.currentTarget).attr('data-campaign-item-id');\n var campaignItemScheduleId = $(e.currentTarget).attr('data-campaign-item-schedule-id');\n var url = \"/EmailCampaign/GetEmailSchedule/\" + id + \"/\" + campaignIdentifier + \"/\" + campaignItemScheduleId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n var html = data;\n var globalModal = new GlobalModal(id);\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-send-modal' });\n $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-id\", campaignId);\n $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-item-id\", campaignItemId);\n $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-identifier\", campaignIdentifier);\n $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-item-schedule-id\", campaignItemScheduleId);\n $(\".js-global-modal\").find(\".js-send-details\").find(\".js-campaign-item-schedule-id\").val(campaignItemScheduleId);\n $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-customization-identifier\", id);\n me.populateTimeZones($(\".time-zone\"));\n $(\"#send-data-picker-full\").datetimepicker();\n $('#send-time-picker').datetimepicker({\n format: 'LT'\n });\n $('#send-date-picker').datetimepicker({\n useCurrent: false,\n format: 'MM/DD/YYYY'\n });\n if ($(\"#send-date-full\").val() !== \"\") {\n var setTime = dayjs($('#send-data-picker-full').data(\"DateTimePicker\").date().format(\"MM/DD/YYYY h:mm A\"));\n $('#send-time-picker').data(\"DateTimePicker\").date(setTime);\n }\n if ($(\".js-send-time-zone-data\").val() !== \"\" && $(\".js-send-time-zone-data\").val() != undefined) {\n $(\".js-send-time-zone\").val($(\".js-send-time-zone-data\").val());\n }\n me.bindLocalizedTime();\n $(\"#uploadList\").on(\"click\", function (e) {\n e.preventDefault();\n me.uploadRecipients();\n });\n $(\".js-update-email\").on(\"click\", function (e) {\n e.preventDefault();\n me.updateSchedule(this);\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n });\n $(\".js-cancel-email\").on(\"click\", function (e) {\n var campaignIdentifier = $(e.currentTarget).attr('data-campaign-identifier');\n var campaignItemId = $(e.currentTarget).attr('data-campaign-item-id');\n var campaignItemScheduleId = $(e.currentTarget).attr('data-campaign-item-schedule-id');\n e.preventDefault();\n var addEmailId = \"add-\" + $(e).attr(\"data-campaign-item-schedule-id\");\n var testHtml = $(\".js-delete-confirm-content-schedule-single-schedule\").html();\n var globalModal = new GlobalModal(addEmailId);\n globalModal.openGlobalModal(testHtml, \"modal\", { origin: $(this), classes: 'delete-modal' });\n $(\".js-global-modal\").find(\".js-delete-campaign-schedule\").attr(\"data-campaign-identifier\", campaignIdentifier);\n $(\".js-global-modal\").find(\".js-delete-campaign-schedule\").attr(\"data-campaign-item-id\", campaignItemId);\n $(\".js-global-modal\").find(\".js-delete-campaign-schedule\").attr(\"data-campaign-item-schedule-id\", campaignItemScheduleId);\n $(\".js-global-modal\").find(\".js-cancel-confirm\").on(\"click\", function () {\n globalModal.closeGlobalModal();\n });\n $(\".js-delete-campaign-schedule\").on(\"click\", function (e) {\n var campaignIdentifier = $(e.currentTarget).attr(\"data-campaign-identifier\");\n var campaignItemScheduleId = $(e.currentTarget).attr('data-campaign-item-schedule-id');\n // TODO: Endpoint doesn't exist in CS.\n var url = (\"/EmailCampaign/RemoveCampaignItemSchedule/\" + campaignIdentifier + \"/\" + campaignItemScheduleId);\n $.when(submitAjaxRequest(undefined, url, \"DELETE\").done(function (data) {\n if (data != null) {\n if (data.errorMessage != null && data.errorMessage.length > 0) {\n alert(data.errorMessage);\n }\n else {\n window.location.reload();\n }\n }\n }));\n });\n });\n }\n updateSchedule(btn) {\n var startDate = null;\n var campaignItemScheduleId = $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-item-schedule-id\");\n var timeZone = $(\".js-schedule-send-config\").find(\".js-send-time-zone\").val();\n var errorcontainer = $(\".js-global-modal\").find(\".js-error-schedule-container\");\n $(errorcontainer).empty();\n $(errorcontainer).addClass(\"hide\");\n if ($(\".js-schedule-send-config\").find(\"#send-date\").val() === \"\") {\n alert(\"Please select a date\");\n return false;\n }\n if ($(\".js-schedule-send-config\").find(\"#send-time\").val() === \"\") {\n alert(\"Please select a time\");\n return false;\n }\n var dateString = $('#send-date-picker').data(\"DateTimePicker\").date().format(\"YYYY-MM-DD\") +\n \" \" +\n $('#send-time-picker').data(\"DateTimePicker\").date().format(\"HH:mm:ss\");\n var newDate = new Date(dateString);\n var utcDate = dayjs.utc(newDate.toString()).tz(timeZone);\n startDate = utcDate.utc().format('YYYY-MM-DD HH:mm:ss');\n timeZone = $(\".js-schedule-send-config\").find(\".js-send-time-zone\").val();\n if ($(btn).closest(\"#schedule\").find(\"#sendName\").val() === \"\") {\n alert(\"Please enter a name\");\n return false;\n }\n var url = \"/EmailCampaign/UpdateCampaignSchedule\";\n var params = {\n \"campaignItemScheduleId\": campaignItemScheduleId,\n \"campaignIdentifier\": $(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-identifier\"),\n \"campaignItemId\": parseInt($(\".js-global-modal\").find(\".js-send-details\").attr(\"data-campaign-item-id\")),\n \"name\": $(btn).closest(\"#schedule\").find(\"#sendName\").val(),\n \"startDateTime\": startDate,\n \"timeZone\": timeZone\n };\n $.when(submitAjaxRequest(params, url, \"post\").done(function (data, textStatus, request) {\n if (data.success == true) {\n $(errorcontainer).html($(errorcontainer).attr(\"data-success-message\"));\n $(errorcontainer).removeClass(\"hide\");\n }\n else {\n alert(data.errorMessage);\n }\n }).fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n }\n uploadRecipients() {\n var me = this;\n var btn = $(\"#uploadList\");\n var campaignIdentifier = $(btn).closest(\".js-send-details\").attr(\"data-campaign-identifier\");\n var campaignItemScheduleId = $(btn).closest(\".js-send-details\").attr('data-campaign-item-schedule-id');\n var customizationIdentifier = $(btn).attr(\"data-customization-identifier\");\n var formData = new FormData();\n var element = document.getElementById(\"uploadRecipientList\");\n var file = element.files[0];\n var emailListContainer = $(\".js-global-modal\").find(\".js-email-list-recipient-container\");\n formData.append('file', file);\n formData.append('id', customizationIdentifier);\n formData.append('contactType', $(btn).closest(\".js-upload-recipient-container\").find(\"#emailListType\").val());\n formData.append('campaignId', $(btn).closest(\".js-send-details\").attr(\"data-campaign-id\"));\n formData.append('campaignIdentifier', campaignIdentifier);\n formData.append('campaignItemScheduleId', campaignItemScheduleId);\n formData.append('campaignItemScheduleId', campaignItemScheduleId);\n formData.append('replaceAction', \"\");\n var errorcontainer = $(\".js-upload-recipient-container\").find(\".js-error-recipient-container\");\n $(errorcontainer).empty();\n $(errorcontainer).addClass(\"hide\");\n var url = \"/EmailCampaign/UploadEmailRecipients\";\n $.when(submitAjaxRequest(undefined, url, \"post\", undefined, undefined, undefined, formData).done(function (data) {\n if (data != null) {\n if (data.errorMessage != null && data.errorMessage.length > 0) {\n $(errorcontainer).html(data.errorMessage);\n $(errorcontainer).removeClass(\"hide\");\n }\n else {\n var url = \"/EmailCampaign/GetEmailLists/\" + campaignIdentifier + \"/\" + campaignItemScheduleId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(emailListContainer).html(data);\n $(errorcontainer).html($(errorcontainer).attr(\"data-success-message\"));\n $(errorcontainer).removeClass(\"hide\");\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n }\n }\n }));\n }\n populateTimeZones(el) {\n GetTimeZoneNameList().then(function (timeZones) {\n FillTimeZoneDropDown($(el), timeZones, dayjs.tz.guess());\n });\n }\n bindLocalizedTime() {\n $.each($(\".localized-time-email-configuration\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY') + \" <div><small>\" + dayjs.utc(localDate).local().format('hh:mm a') + \"</small></div>\");\n });\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-email-management-list\").each(function (index, item) {\n $(item).data(\"manager\", new EmailManagement(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/*import timezone = require(\"../../wwwroot/lib/dayjs1.11.10/plugin/timezone\");*/\n//import dayjs, { Dayjs } from '../../node_modules/dayjs/index';\n//import utc from \"../../node_modules/dayjs/plugin/utc\";\n//import timezone from \"../../node_modules/dayjs/plugin/timezone\";\n//import localizedFormat from \"../../node_modules/dayjs/plugin/localizedFormat\";\n//import localeData from \"../../node_modules/dayjs/plugin/localeData\";\n//import timezones from \"../../node_modules/timezones-list/dist/index\";\n//dayjs.extend(utc);\n//dayjs.extend(timezone);\n//dayjs.extend(localizedFormat);\n//dayjs.extend(localeData);\n/* ///// <reference path=\"../lib/moment.d.ts\" /> */\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.thirdParty.d.ts\" />\nclass FieloBadgesList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n var me = this;\n this.bindControls();\n }\n bindControls() {\n var me = this;\n var me = this;\n var take = $(me._widget).find(\"#pageSize\").val();\n var offset = 0;\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n var statusToRetrieve = $(me._widget).find(\"#fieloBadgesStatusTypesToRetrieve\").val();\n $(me._widget).find(\".js-view-more\").on(\"click\", function (e) {\n var attempt = $(e.currentTarget).attr(\"data-attempt\");\n var offset = $(e.currentTarget).attr(\"data-offset\");\n if ($(e.currentTarget).attr(\"data-badge-status-type\") == \"Earned\") {\n me.GetEarnedBadges(\"Earned\", attempt, false, take, offset);\n }\n else if ($(e.currentTarget).attr(\"data-badge-status-type\") == \"Achievables\") {\n me.GetUnEarnedBadges(\"Achievables\", attempt, false, take, offset);\n }\n else if ($(e.currentTarget).attr(\"data-badge-status-type\") == \"Expired\") {\n me.GetUnEarnedBadges(\"Expired\", attempt, false, take, offset);\n }\n });\n if ($(me._widget).attr(\"data-is-edit-mode\") !== \"true\" && statusToRetrieve != \"\") {\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n var strarray = statusToRetrieve.split(',');\n for (var i = 0; i < strarray.length; i++) {\n if (strarray[i] == \"Earned\") {\n me.GetEarnedBadges(\"Earned\", 0, false, take, offset);\n }\n if (strarray[i] == \"Achievables\") {\n me.GetUnEarnedBadges(\"Achievables\", 0, false, take, offset);\n }\n if (strarray[i] == \"Expired\") {\n me.GetExpiredBadges(\"Expired\", 0, false, take, offset);\n }\n }\n }\n ;\n }\n }\n GetEarnedBadges(statusToRetrieve, attempt, renew, take, offset) {\n $(\"#earned-ajax-loading\").show();\n var url = \"/Fielo/GetBadges/\" + statusToRetrieve + \"/\" + renew + \"/\" + take + \"/\" + offset;\n var me = this;\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: url,\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.fieldName = statusToRetrieve;\n data.result.attempt = parseInt(attempt) + 1;\n me.updateEarnedUI(data.result, take, offset);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n $(\"#earned-ajax-loading\").hide();\n return;\n }\n }\n updateEarnedUI(data, take, offset) {\n var me = this;\n $(\"#earned-ajax-loading\").hide();\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetEarnedBadges(data.fieldName, data.attempt, true, take, offset);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n $(\"#earned-ajax-loading\").hide();\n return;\n }\n else {\n $(\".js-earned-card\").find(\".card-body\").find(\".js-card-body-row\").append(data.badgeHTML);\n var container = $(\".js-earned-card\").find(\".card-body\").find(\".js-card-body-row\");\n var currentOffSet = $(\".js-earned-card\").find(\".js-view-more\").attr(\"data-offset\");\n $(me._widget).find(\".js-earned-card\").find(\".btn-view-more\").removeClass(\"hide\");\n me.SetViewMore(currentOffSet, data, $(me._widget).find(\".view-more-earned-container\"), $(me._widget).find(\"#pageSize\").val());\n me.GetBadgePopDetail(container);\n }\n }\n }\n SetViewMore(currentOffSet, data, viewMoreContainer, pageSize) {\n if (currentOffSet != undefined) {\n var nextOffSet = parseInt(currentOffSet) + parseInt(pageSize);\n if (data.totalRecords != undefined) {\n if (parseInt(data.totalRecords) <= (parseInt(currentOffSet) + parseInt(pageSize))) {\n $(viewMoreContainer).remove();\n }\n else {\n $(viewMoreContainer).find(\".js-view-more\").attr(\"data-offset\", nextOffSet);\n $(viewMoreContainer).find(\".js-view-more\").attr(\"data-attempt\", 1);\n }\n }\n }\n }\n GetBadgePopDetail(container) {\n var me = this;\n $(container).find(\".js-fielobadge-img\").each(function (e) {\n $(this).on(\"click\", function (e) {\n // Explicitly hide all entitlement panels, we do not allow more\n // than one to be open at a time.\n $(\".widget-entitlement-info\").addClass('hidden');\n // Show only the active info panel\n $(this).siblings(\".widget-entitlement-info\").removeClass('hidden');\n $(document.body).off(\"click\", me.clickHandlerFieloBadge);\n $(document.body).on(\"click\", me.clickHandlerFieloBadge);\n });\n });\n }\n GetUnEarnedBadges(statusToRetrieve, attempt, renew, take, offset) {\n $(\"#unearned-ajax-loading\").show();\n var url = \"/Fielo/GetBadges/\" + statusToRetrieve + \"/\" + renew + \"/\" + take + \"/\" + offset;\n var me = this;\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: url,\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.fieldName = statusToRetrieve;\n data.result.attempt = parseInt(attempt) + 1;\n me.updateUnEarnedUI(data.result, take, offset);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n $(\"#unearned-ajax-loading\").hide();\n return;\n }\n }\n updateUnEarnedUI(data, take, offset) {\n var me = this;\n $(\"#unearned-ajax-loading\").hide();\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetUnEarnedBadges(data.fieldName, data.attempt, true, take, offset);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n return;\n }\n else {\n $(\".js-unearned-card\").find(\".card-body\").find(\".js-card-body-row\").append(data.badgeHTML);\n var container = $(\".js-unearned-card\").find(\".card-body\").find(\".js-card-body-row\");\n var currentOffSet = $(\".js-unearned-card\").find(\".js-view-more\").attr(\"data-offset\");\n $(me._widget).find(\".js-unearned-card\").find(\".btn-view-more\").removeClass(\"hide\");\n me.SetViewMore(currentOffSet, data, $(me._widget).find(\".view-more-unearned-container\"), $(me._widget).find(\"#pageSize\").val());\n me.GetBadgePopDetail(container);\n }\n }\n }\n GetExpiredBadges(statusToRetrieve, attempt, renew, take, offset) {\n $(\"#expired-ajax-loading\").show();\n var url = \"/Fielo/GetBadges/\" + statusToRetrieve + \"/\" + renew + \"/\" + take + \"/\" + offset;\n var me = this;\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: url,\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.fieldName = statusToRetrieve;\n data.result.attempt = parseInt(attempt) + 1;\n me.updateExpiredUI(data.result, take, offset);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n $(\"#expired-ajax-loading\").hide();\n return;\n }\n }\n updateExpiredUI(data, take, offset) {\n var me = this;\n $(\"#expired-ajax-loading\").hide();\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetExpiredBadges(data.fieldName, data.attempt, true, take, offset);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n return;\n }\n else {\n $(\".js-expired-card\").find(\".card-body\").find(\".js-card-body-row\").append(data.badgeHTML);\n var container = $(\".js-expired-card\").find(\".card-body\").find(\".js-card-body-row\");\n var currentOffSet = $(\".js-expired-card\").find(\".js-view-more\").attr(\"data-offset\");\n $(me._widget).find(\".js-expired-card\").find(\".btn-view-more\").removeClass(\"hide\");\n me.SetViewMore(currentOffSet, data, $(me._widget).find(\".view-more-expired-container\"), $(me._widget).find(\"#pageSize\").val());\n me.GetBadgePopDetail(container);\n }\n }\n }\n clickHandlerFieloBadge(e) {\n if (!$(e.target).siblings(\".widget-entitlement-info\").is(\":visible\")) {\n var me = this;\n if ($(e.target).hasClass('widget-entitlement-info') || $(e.target).parents('.widget-entitlement-info').length) {\n // User clicked inside open modal\n // Check if they clicked close button, otherwise ignore\n if ($(e.target).hasClass('close')) {\n $(document.body).off(\"click\", me.clickHandlerFieloBadge);\n $(\".widget-entitlement-info\").addClass('hidden');\n }\n }\n else {\n // If click is outside of modal, simply close\n $(document.body).off(\"click\", me.clickHandlerFieloBadge);\n $(\".widget-entitlement-info\").addClass('hidden');\n }\n }\n }\n ;\n}\n;\n$(document).ready(function () {\n $(\".widget-fielobadges-list\").each(function (index, item) {\n $(item).data(\"manager\", new FieloBadgesList(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/*import timezone = require(\"../../wwwroot/lib/dayjs1.11.10/plugin/timezone\");*/\n//import dayjs, { Dayjs } from '../../node_modules/dayjs/index';\n//import utc from \"../../node_modules/dayjs/plugin/utc\";\n//import timezone from \"../../node_modules/dayjs/plugin/timezone\";\n//import localizedFormat from \"../../node_modules/dayjs/plugin/localizedFormat\";\n//import localeData from \"../../node_modules/dayjs/plugin/localeData\";\n//import timezones from \"../../node_modules/timezones-list/dist/index\";\n//dayjs.extend(utc);\n//dayjs.extend(timezone);\n//dayjs.extend(localizedFormat);\n//dayjs.extend(localeData);\n/* ///// <reference path=\"../lib/moment.d.ts\" /> */\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.thirdParty.d.ts\" />\nclass FieloLeaderBoardList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n var me = this;\n this.bindControls();\n }\n bindControls() {\n var me = this;\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n //me.BindDataTable();\n }\n $(me._widget).find(\".js-fielo-leaderboard-card-footer\").addClass(\"hide\");\n if ($(me._widget).attr(\"data-is-edit-mode\") !== \"true\") {\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n me.GetLeaderBoard(0, false, true, false);\n $(me._widget).on(\"change\", \"#leaderboards\", function (e) {\n e.preventDefault();\n $(me._widget).find(\"#leaderboardfielo-\" + me._widgetId).DataTable().destroy();\n me.GetLeaderBoard(1, false, false, false);\n });\n }\n }\n ;\n }\n GetLeaderBoard(attempt, renew, isPageLoad, isReset) {\n var me = this;\n $(\"#leaderboard-ajax-loading\").show();\n var fromDate = \"\";\n var toDate = \"\";\n if ($(me._widget).find(\"#start-date\").length > 0) {\n fromDate = $(me._widget).find(\"#start-date\").val();\n toDate = $(me._widget).find(\"#end-date\").val();\n }\n var missionRequested = $(me._widget).find(\"#leaderboards\").val();\n if (isReset) {\n fromDate = \"\";\n toDate = \"\";\n missionRequested = \"\";\n }\n var params = {\n MissionsDisplayRequested: missionRequested,\n FromDate: fromDate,\n ToDate: toDate,\n Renew: renew,\n LimitToSpecificMissions: $(me._widget).attr(\"data-fielo-limittospecificmissions\") == \"True\" ? true : false,\n MaximumLeaderboardsToReturn: $(me._widget).attr(\"data-fielo-maximumleaderboardstoreturn\") == \"\" ? null : parseInt($(me._widget).attr(\"data-fielo-maximumleaderboardstoreturn\")),\n MissionsToDisplay: $(me._widget).attr(\"data-fielo-missionstodisplay\"),\n MaximumNumberofEntriesToDisplayPerLeaderboard: $(me._widget).attr(\"data-fielo-maximumnumberofentriestodisplayperleaderboard\") == \"\" ? null : parseInt($(me._widget).attr(\"data-fielo-maximumnumberofentriestodisplayperleaderboard\")),\n LeaderboardType: $(me._widget).attr(\"data-fielo-leaderboardtype\"),\n LeaderboardScope: $(me._widget).attr(\"data-fielo-leaderboardscope\"),\n LeaderboardStatus: $(me._widget).attr(\"data-fielo-leaderboardstatus\"),\n LeaderboardOrder: $(me._widget).attr(\"data-fielo-leaderboardorder\"),\n ParticipantIdentificationOptions: $(me._widget).attr(\"data-fielo-participantIdentificationOptions\"),\n RelatedOrganizationNamesDisplayAsAnonymous: $(me._widget).attr(\"data-fielo-relatedorganizationnamesdisplayasanonymous\") == \"True\" ? true : false,\n SuppressProfilePhoto: $(me._widget).attr(\"data-fielo-suppressprofilephoto\") == \"True\" ? true : false,\n SuppressScore: $(me._widget).attr(\"data-fielo-SuppressScore\") == \"True\" ? true : false,\n AllowParticipantToConstrainByDate: $(me._widget).attr(\"data-fielo-allowparticipanttoconstrainbydate\") == \"True\" ? true : false,\n IsPageLoad: isPageLoad,\n InitialAllLeaderboards: $(me._widget).find(\"#initialAllLeaderboards\").val()\n };\n var url = \"/Fielo/GetLeaderboard/\";\n var me = this;\n if (attempt < 5) {\n $.when(submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.attempt = attempt + 1;\n me.updateLeaderboardUI(data.result, isPageLoad, isReset);\n }\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(\"too many attempts\");\n $(\"#leaderboard-ajax-loading\").hide();\n return;\n }));\n }\n else {\n alert(\"too many attempts\");\n $(\"#leaderboard-ajax-loading\").hide();\n return;\n }\n }\n updateLeaderboardUI(data, isPageLoad, isReset) {\n var me = this;\n $(\"#leaderboard-ajax-loading\").hide();\n $(me._widget).find(\".js-fielo-leaderboard-card-footer\").addClass(\"hide\");\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetLeaderBoard(data.attempt, true, isPageLoad, isReset);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n $(\"#leaderboard-ajax-loading\").hide();\n return;\n }\n else if (data.errorMessage == \"NORECORDS\") {\n $(me._widget).find(\".leaderboardfielolist-items\").empty();\n $(me._widget).find(\".js-fielo-leaderboard-card-footer\").removeClass(\"hide\");\n }\n else {\n $(me._widget).find(\".js-leaderboard-filter-container\").html(data.filterHTML);\n $(me._widget).find(\".leaderboardfielolist-items\").html(data.memberListHTML);\n me.BindDatePickers();\n me.BindFilterButtons();\n me.BindDataTable();\n }\n }\n }\n BindFilterButtons() {\n var me = this;\n if ($(me._widget).find(\".js-refresh-button\").length > 0) {\n $(me._widget).find(\".js-refresh-button\").click(function (e) {\n e.preventDefault();\n $(me._widget).find(\".js-fielo-leaderboard-card-footer\").addClass(\"hide\");\n $(me._widget).find(\"#leaderboardfielo-\" + me._widgetId).DataTable().destroy();\n me.GetLeaderBoard(0, false, false, false);\n });\n $(me._widget).find(\".js-reset-button\").click(function (e) {\n $(me._widget).find(\".js-fielo-leaderboard-card-footer\").addClass(\"hide\");\n e.preventDefault();\n $(me._widget).find(\"#leaderboardfielo-\" + me._widgetId).DataTable().destroy();\n me.GetLeaderBoard(0, false, false, true);\n });\n }\n }\n BindDatePickers() {\n var me = this;\n if ($(me._widget).find(\"#start-date\").length > 0) {\n var pickers = ConfigureDatePicker($('.trigger-date'), \"MM/dd/yyyy\");\n var startPicker = pickers.filter(function (element) { return element[0] == \"startdatepicker\"; })[0][1];\n var endDatePicker = pickers.filter(function (element) { return element[0] == \"enddatepicker\"; })[0][1];\n //BindDatePickerEvents(startPicker, endDatePicker, document.getElementById(\"startdatepicker\"), document.getElementById(\"enddatepicker\"));\n }\n }\n BindDataTable() {\n var me = this;\n var table = $(me._widget).find(\"#leaderboardfielo-\" + me._widgetId);\n $(table).DataTable({\n searching: false,\n blengthChange: false,\n bPaginate: false,\n bInfo: false,\n order: [[0, \"asc\"]]\n });\n }\n}\n$(document).ready(function () {\n $(\".widget-fieloleaderboard-list\").each(function (index, item) {\n $(item).data(\"manager\", new FieloLeaderBoardList(item));\n });\n});\nexport class FieloProfile {\n constructor(widget) {\n this._widget = widget;\n this._dateFormat = $(widget).attr(\"data-date-format\");\n this.initialize();\n }\n initialize() {\n var me = this;\n if ($(me._widget).attr(\"data-is-edit-mode\") !== \"true\") {\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n me.GetFieloSessionStatus(0, false);\n }\n }\n }\n GetFieloSessionStatus(attempt, renew) {\n var me = this;\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: \"/Fielo/GetFieloSessionStatus\" + \"/\" + renew,\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.attempt = attempt + 1;\n me.updateSessionCheck(data.result);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n return;\n }\n }\n updateSessionCheck(data) {\n var me = this;\n if (data != null) {\n if (!data.success) {\n me.GetFieloSessionStatus(data.attempt, true);\n }\n else if (data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetFieloSessionStatus(data.attempt, true);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n return;\n }\n else {\n if (data.success) {\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n me.bindControls();\n }\n }\n }\n }\n }\n }\n bindControls() {\n var me = this;\n var membersRequests = [];\n var memberRequest = {\n \"dataType\": null,\n \"callType\": null,\n \"pointValue\": null,\n \"fieldName\": \"\",\n \"renew\": false,\n \"placeHolderToUpdate\": \"\"\n };\n if ($(me._widget).find(\"#FieloProfile-Name-Field\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#FieloProfile-Name-Field\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#FieloProfile-Name-Field\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#FieloProfile-Name-Field\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetMemberName\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n if ($(me._widget).find(\"#FieloProfile-Email-Field\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#FieloProfile-Email-Field\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#FieloProfile-Email-Field\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#FieloProfile-Email-Field\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetMemberEmail\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n if ($(me._widget).find(\"#FieloProfile-JoinDate-Field\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#FieloProfile-JoinDate-Field\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#FieloProfile-JoinDate-Field\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#FieloProfile-JoinDate-Field\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetMemberJoinDate\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n if ($(me._widget).find(\"#FieloProfile-AccountName-Field\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#FieloProfile-AccountName-Field\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#FieloProfile-AccountName-Field\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#FieloProfile-AccountName-Field\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetMemberAccountName\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n if ($(me._widget).find(\"#FieloProfile-ProfilePicture-Field\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#FieloProfile-ProfilePicture-Field\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#FieloProfile-ProfilePicture-Field\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#FieloProfile-ProfilePicture-Field\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetMemberProfilePicture\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n // Handle custom fields\n $(me._widget).find(\".fieloprofile-custom-field\").each(function (index, elem) {\n var placeHolderToUpdate = $(elem).attr(\"Id\");\n var fieloField = $(elem).attr(\"data-fielo-field\");\n var dataType = $(elem).attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetMemberCustomField\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n });\n me.GetCommmonMember(0, membersRequests);\n }\n GetCommmonMember(attempt, membersRequests) {\n var me = this;\n if (attempt < 5) {\n $.when(submitAjaxRequest(membersRequests, \"/Fielo/GetCommonMember\", \"POST\").done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.attempt = attempt + 1;\n data.result.memberRequests = membersRequests;\n me.updateCommmonMemberUI(data.result);\n }\n }));\n }\n else {\n alert(\"too many attempts\");\n return;\n }\n }\n updateCommmonMemberUI(data) {\n var me = this;\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetCommmonMember(data.attempt, data.membersRequests);\n }\n else if (data.errorCode != \"\") {\n data.attempt = data.attempt + 1;\n me.GetCommmonMember(data.attempt, data.membersRequests);\n return;\n }\n else {\n if (data.responseData != null && data.responseData != undefined && data.responseData.memberResponseObject != null && data.responseData.memberResponseObject !== undefined) {\n $.each(data.responseData.memberResponseObject, function (index, value) {\n if (value.callType == \"GetMemberProfilePicture\") {\n $(\"#\" + value.placeHolderToUpdate).attr(\"src\", value.formattedData);\n }\n else {\n $(\"#\" + value.placeHolderToUpdate).html(value.formattedData);\n }\n });\n }\n }\n }\n }\n}\n$(document).ready(function () {\n $(\".widget-fieloprofile\").each(function (index, item) {\n $(item).data(\"manager\", new FieloProfile(item));\n });\n});\nwindow[\"FieloProfile\"] = FieloProfile;\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass InProgressCustomization {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._pageIndex = 0;\n this._totalPages = parseFloat($(this._widget).attr(\"data-total-pages\"));\n this._take = parseInt($(this._widget).find(\"#uxInProgressCustomizationListPageSize\").val());\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._sortBy = $(this._widget).attr(\"data-sort-by\");\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\"#uxInProgressCustomizationListPageSize\").on(\"change\", function () {\n me._sortBy = \"datecreated\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me._take = $(this).val();\n me.loadData(false);\n });\n $(me._widget).find(\".js-delete-inprogresscustomization\").on(\"click\", function (e) {\n var button = $(e.currentTarget);\n var title = $(button).attr(\"data-delete-title\");\n var body = $(button).attr(\"data-delete-message\");\n var cancelButton = $(button).attr(\"data-cancel-button\");\n var removeButton = $(button).attr(\"data-ok-button\");\n var customizationidentifier = $(button).attr(\"data-customization-Identifier\");\n var deleteButton = button;\n bootbox.confirm({\n title: title,\n message: body,\n buttons: {\n 'cancel': { label: cancelButton },\n 'confirm': { label: removeButton }\n },\n callback(confirmed) {\n if (confirmed) {\n var params = {\n Identifier: customizationidentifier\n };\n var url = \"/Api/ProductCustomization/DeleteCustomization\";\n $.when(submitAjaxRequest(params, url, \"DELETE\")\n .done(function (data, textStatus, request) {\n $(deleteButton).closest('tr').remove();\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n }\n });\n });\n me.showPager();\n $(me._widget).find(\".InProgressCustomizationListHeading\").click(function (e) {\n var newHeader = $(e.currentTarget);\n ;\n var oldHeader = $(\".dataTable\").find(\".sorting_asc,.sorting_desc\");\n if (newHeader.data(\"sort-field\") === oldHeader.data(\"sort-field\")) // change direction\n {\n if ($(\".InProgressCustomizationListHeading.sorting_asc\").length > 0) {\n //change from ASC to DESC\n oldHeader.removeClass(\"sorting_asc\");\n newHeader.addClass(\"sorting_desc\");\n me._sortAscending = \"false\";\n }\n else {\n //change from DESC to ASC\n oldHeader.removeClass(\"sorting_desc\");\n newHeader.addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n }\n else // change sort column\n {\n oldHeader.removeClass(\"sorting_asc\").removeClass(\"sorting_desc\").addClass(\"sorting\");\n newHeader.removeClass(\"sorting\").addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n $(me._widget).find(\"#list-items\").html();\n me._sortBy = newHeader.data(\"sort-field\");\n me._pageIndex = 0;\n me.loadData(false);\n });\n }\n setPager() {\n var me = this;\n var defaultOpts = {};\n if (me._totalPages !== 0) {\n $(me._widget).find('#inprogresscustomization-list-pagination').html('');\n $(me._widget).find('#inprogresscustomization-list-pagination').html('<ul id=\"pagination\" class=\"pagination-sm\"></ul>');\n $(me._widget).find('#inprogresscustomization-list-pagination').find('#pagination').twbsPagination({\n initiateStartPageClick: false,\n totalPages: me._totalPages,\n startPage: (me._pageIndex === 0 ? 1 : (me._pageIndex + 1)),\n onPageClick: function (event, page) {\n me._pageIndex = (page - 1);\n me.loadData(false);\n }\n });\n }\n else {\n $(me._widget).find('#inprogresscustomization-list-pagination').html('');\n }\n }\n loadData(filterClose) {\n var me = this;\n var params = me.buildParams(me._widgetId);\n var url = '/Content/RenderInProgressCustomizationList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"post\").done(function (data, textStatus, request) {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseFloat(request.getResponseHeader(\"X-TotalPages\"));\n $(me._widget).find(\"#list-items\").html(data);\n me.showPager();\n }));\n }\n showPager() {\n var me = this;\n if (me._totalPages > 0) {\n if (me._totalPages < 1) {\n me._totalPages = 0;\n }\n else {\n me._totalPages = Math.ceil(me._totalPages);\n }\n me.setPager();\n }\n }\n buildParams(contentWidgetId) {\n return {\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n SortAscending: this._sortAscending,\n Skip: 0,\n };\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-inprogresscustomization-list\").each(function (index, item) {\n $(item).data(\"manager\", new InProgressCustomization(item));\n });\n});\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass LeaderBoard {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._pageIndex = 0;\n this._totalPages = parseFloat($(this._widget).attr(\"data-total-pages\"));\n this._take = parseInt($(this._widget).attr(\"data-take\"));\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n // this._sortBy = $(this._widget).attr(\"data-sort-by\");\n this.bindControls();\n }\n bindControls() {\n var me = this;\n me.ShowPager();\n $(me._widget).find(\".leaderboardListHeading\").click(function () {\n var newHeader = $(this);\n var oldHeader = $(\".dataTable\").find(\".sorting_asc,.sorting_desc\");\n if (newHeader.data(\"sort-field\") === oldHeader.data(\"sort-field\")) // change direction\n {\n if ($(\".leaderboardListHeading.sorting_asc\").length > 0) {\n //change from ASC to DESC\n oldHeader.removeClass(\"sorting_asc\");\n newHeader.addClass(\"sorting_desc\");\n me._sortAscending = \"false\";\n }\n else {\n //change from DESC to ASC\n oldHeader.removeClass(\"sorting_desc\");\n newHeader.addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n }\n else // change sort column\n {\n oldHeader.removeClass(\"sorting_asc\").removeClass(\"sorting_desc\").addClass(\"sorting\");\n newHeader.removeClass(\"sorting\").addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n $(me._widget).find(\"#list-items\").html();\n me._sortBy = newHeader.data(\"sort-field\");\n me._pageIndex = 0;\n me.LoadData(false);\n });\n }\n SetPager() {\n var me = this;\n var defaultOpts = {};\n if (me._totalPages !== 0) {\n $(me._widget).find('#leaderboard-list-pagination').html('');\n $(me._widget).find('#leaderboard-list-pagination').html('<ul id=\"pagination\" class=\"pagination-sm\"></ul>');\n $(me._widget).find('#leaderboard-list-pagination').find('#pagination').twbsPagination({\n initiateStartPageClick: false,\n totalPages: me._totalPages,\n startPage: (me._pageIndex === 0 ? 1 : (me._pageIndex + 1)),\n onPageClick: function (event, page) {\n me._pageIndex = (page - 1);\n me.LoadData(false);\n }\n });\n }\n else {\n $(me._widget).find('#leaderboard-list-pagination').html('');\n }\n }\n LoadData(filterClose) {\n var me = this;\n var params = me.BuildParams(me._widgetId);\n var url = '/Content/RenderLeaderBoardList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"post\")\n .done(function (data, textStatus, request) {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseFloat(request.getResponseHeader(\"X-TotalPages\"));\n $(me._widget).find(\"#list-items\").html(data);\n me.ShowPager();\n }));\n }\n ShowPager() {\n var me = this;\n if (me._totalPages > 0) {\n if (me._totalPages < 1) {\n me._totalPages = 0;\n }\n else {\n me._totalPages = Math.ceil(me._totalPages);\n }\n me.SetPager();\n }\n }\n BuildParams(contentWidgetId) {\n var $transactiontypeFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] div.filter-drop-down[data-filtertype='TransactionTypes']\");\n var arrayTypes = new Array;\n $transactiontypeFilter.find(\"span.fa-check\").each(function (i, e) {\n arrayTypes.push(parseInt($(e).attr(\"data-id\")));\n });\n var transactionTypes = arrayTypes.join(\",\");\n var params = {\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n SortAscending: this._sortAscending,\n Skip: 0,\n TransactionTypes: transactionTypes\n };\n return params;\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-leaderboard-list\").each(function (index, item) {\n $(item).data(\"manager\", new LeaderBoard(item));\n });\n});\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass ListPromotions {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._pageIndex = 0;\n this._totalPages = parseFloat($(this._widget).attr(\"data-total-pages\"));\n this._take = parseInt($(this._widget).find(\".js-listpromotions-pagesize\").val());\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._sortBy = $(this._widget).attr(\"data-sort-by\");\n this.bindControls();\n }\n bindControls() {\n var me = this;\n me.BindTooltips();\n $(me._widget).find(\".js-listpromotions-pagesize\").on(\"change\", function () {\n me._sortBy = \"begindate\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me._take = $(this).val();\n me.LoadData();\n });\n me.ShowPager();\n $(me._widget).find(\".js-listpromotions-sortby\").on(\"change\", function () {\n me._sortAscending = $(this).find(':selected').data(\"sortasc\");\n me._sortBy = $(this).val();\n $(me._widget).find(\"#list-items\").html();\n me._pageIndex = 0;\n me.LoadData();\n });\n $(me._widget).find(\".js-resetfilters\").on(\"click\", function () {\n me.ResetFilters();\n me.LoadData();\n });\n $(me._widget).find(\"#SearchButton\").on(\"click\", function () {\n me._pageIndex = 0;\n me.LoadData();\n });\n $(me._widget).find(\".js-toggle-filters\").on(\"click\", function () {\n var origText = $(this).html();\n var altTextHolder = $(me._widget).find(\".js-filter-alt-text\");\n $(this).html(altTextHolder.html());\n altTextHolder.html(origText);\n if ($(me._widget).find(\"#filterFieldset\").hasClass(\"collapse\")) {\n $(me._widget).find(\"#filterFieldset\").removeClass(\"collapse\");\n }\n else {\n $(me._widget).find(\"#filterFieldset\").addClass(\"collapse\");\n }\n });\n //$(me._widget).find(\"#IsBonus\").on(\"click\", function () {\n // me._pageIndex = 0;\n // me.LoadData();\n //});\n //$(me._widget).find(\"#ShowFuture\").on(\"click\", function () {\n // me._pageIndex = 0;\n // me.LoadData();\n //});\n $(me._widget).find(\"#FilterActivityTypes\").multiselect({ numberDisplayed: 0 });\n }\n BindTooltips() {\n $(this._widget).find('.participant-activity-tooltip').tooltip();\n }\n SetPager() {\n var me = this;\n var defaultOpts = {};\n if (me._totalPages !== 0) {\n $(me._widget).find('#listpromotions-pagination').html('');\n $(me._widget).find('#listpromotions-pagination').html('<ul id=\"pagination\" class=\"pagination-sm\"></ul>');\n $(me._widget).find('#listpromotions-pagination').find('#pagination').twbsPagination({\n initiateStartPageClick: false,\n totalPages: me._totalPages,\n startPage: (me._pageIndex === 0 ? 1 : (me._pageIndex + 1)),\n onPageClick: function (event, page) {\n me._pageIndex = (page - 1);\n me.LoadData();\n }\n });\n }\n else {\n $(me._widget).find('#listpromotions-pagination').html('');\n }\n }\n LoadData() {\n var me = this;\n var params = me.BuildParams(me._widgetId);\n // Show loading indicator\n $(this._widget).find('.js-loading-overlay').removeClass('hidden');\n var url = '/Content/RenderActivityCriteriaList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"post\")\n .done(function (data, textStatus, request) {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseFloat(request.getResponseHeader(\"X-TotalPages\"));\n $(me._widget).find(\"#list-items\").html(data);\n me.ShowPager();\n me.BindTooltips();\n // Hide loading indicator\n $(me._widget).find('.js-loading-overlay').addClass('hidden');\n }));\n }\n ShowPager() {\n var me = this;\n if (me._totalPages > 0) {\n if (me._totalPages < 1) {\n me._totalPages = 0;\n }\n else {\n me._totalPages = Math.ceil(me._totalPages);\n }\n }\n me.SetPager();\n }\n BuildParams(contentWidgetId) {\n var me = this;\n var isShowFutureSelected = $(me._widget).find(\"#ShowFuture\").is(\":checked\");\n var showFuture = isShowFutureSelected !== null ? isShowFutureSelected : false;\n var selectedActivityTypes = $(me._widget).find(\"#FilterActivityTypes\").val();\n var activityTypes = selectedActivityTypes != null ? selectedActivityTypes.join(\",\") : null;\n var isBonusSelected = $(me._widget).find(\"#IsBonus\").is(\":checked\");\n var isBonus = isBonusSelected !== null ? isBonusSelected : false;\n var searchText = $(me._widget).find(\"#SearchText\").val();\n var params = {\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n SortAscending: this._sortAscending,\n ActivityTypes: activityTypes,\n ShowFuture: showFuture,\n IsBonus: isBonus,\n SearchText: searchText\n };\n return params;\n }\n ResetFilters() {\n $(this._widget).find(\"#ShowFuture\").prop('checked', false);\n $(this._widget).find(\"#IsBonus\").prop('checked', false);\n $(this._widget).find(\"#SearchText\").val(\"\");\n $(this._widget).find(\"#FilterActivityTypes\").val(\"\");\n $(this._widget).find(\"#FilterActivityTypes\").multiselect('refresh');\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-listpromotion\").each(function (index, item) {\n $(item).data(\"manager\", new ListPromotions(item));\n });\n});\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\nclass MyProject {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._pageIndex = 0;\n this._totalPages = parseFloat($(this._widget).attr(\"data-total-pages\"));\n this._take = parseInt($(this._widget).find(\"#uxMyProjectListPageSize\").val());\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\".filter-text, .filter-close\").on(\"click\", function () {\n me.ShowHideFilter(this);\n });\n $(me._widget).find(\".filter-facet\").on(\"click\", function () {\n me.selectDeselectFacet(this);\n });\n $(me._widget).find(\"#uxMyProjectListPageSize\").on(\"change\", function () {\n me._sortBy = \"datecreated\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me._take = $(this).val();\n me.loadData(false);\n });\n $(me._widget).find(\".js-delete-order\").on(\"click\", function (e) {\n me.delete($(e.currentTarget));\n });\n $(me._widget).find(\".js-vieworderdetail\").on('click', function () {\n var expand = this;\n me.showDetail(expand);\n });\n me.showPager();\n $(me._widget).find(\".js-order-send-email\").on(\"click\", function (e) {\n e.preventDefault();\n var button = $(e.currentTarget);\n bootbox.prompt({\n title: $(button).attr(\"data-email-address-header\"),\n inputType: 'email',\n value: $(button).attr(\"data-email-address\"),\n callback: function (result) {\n if (result != null) {\n $(button).attr(\"data-email-address\", result);\n me.SendCompositionEmail(button);\n }\n }\n });\n });\n $(me._widget).find(\".myProjectListHeading\").click(function () {\n var newHeader = $(this);\n var oldHeader = $(\".dataTable\").find(\".sorting_asc,.sorting_desc\");\n if (newHeader.data(\"sort-field\") === oldHeader.data(\"sort-field\")) // change direction\n {\n if ($(\".myProjectListHeading.sorting_asc\").length > 0) {\n //change from ASC to DESC\n oldHeader.removeClass(\"sorting_asc\");\n newHeader.addClass(\"sorting_desc\");\n me._sortAscending = \"false\";\n }\n else {\n //change from DESC to ASC\n oldHeader.removeClass(\"sorting_desc\");\n newHeader.addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n }\n else // change sort column\n {\n oldHeader.removeClass(\"sorting_asc\").removeClass(\"sorting_desc\").addClass(\"sorting\");\n newHeader.removeClass(\"sorting\").addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n $(me._widget).find(\"#list-items\").html();\n me._sortBy = newHeader.data(\"sort-field\");\n me._pageIndex = 0;\n me.loadData(false);\n });\n $(me._widget).find(\".button.filter-facet-apply\").on(\"click\", function () {\n me.applyFilter(this);\n });\n $(me._widget).find(\"#order-history-modal\").on('show.bs.modal', function (event) {\n var self = this;\n var orderlineItemId = $(event.relatedTarget).attr(\"data-order-line-item-id\");\n var params = {\n \"participantOrderLineItemId\": orderlineItemId,\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/Manage/ParticipantOrder/GetParticipantOrderHistory\"\n }).done(function (data, textStatus, request) {\n $(\"#order-history-modal\").find(\".modal-body\").html(data);\n });\n });\n }\n SendCompositionEmail(button) {\n var params = {\n id: parseInt($(button).attr(\"data-order-line-item-id\")),\n emailAddress: $(button).attr(\"data-email-address\"),\n \"updateStatus\": true\n };\n var url = \"/Api/ParticipantOrder/SendCompositionEmail\";\n $.when(submitAjaxRequest(params, url, \"post\")\n .done((data, textStatus, request) => {\n if (data.success) {\n $(button).closest(\".orderdetail-container\").find(\".js-header-orderstatus\").html(data.data.orderHeaderStatus);\n $(button).closest(\".orderdetail-item-row\").find(\".js-order-status\").html(data.data.orderLineItemStatus);\n bootbox.alert($(button).attr(\"data-post-email-body\"));\n }\n }));\n }\n openDirectMailListRecipients(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/DirectMail/GetDirectMailListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-list-recipients\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-list-recipients\").attr(\"data-item-detail-identifier\", orderLineItemDetailIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-list-recipients\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(e.currentTarget).attr(\"data-item-detail-identifier\");\n window.location.href = \"/DirectMail/DownloadDirectMailListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier + \"/\" + $(\".global-modal-inner-container\").find(\".js-direct-maillistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n openEmailUploadedListRecipients(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetEmailUploadedListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").attr(\"data-item-detail-identifier\", orderLineItemDetailIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(e.currentTarget).attr(\"data-item-detail-identifier\");\n window.location.href = \"/EmailCampaign/DownloadEmailUploadedListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier + \"/\" + $(\".global-modal-inner-container\").find(\".js-emailuploadedlistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n openMicrositeListRecipients(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetMicrositeListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-microsite-list-recipients\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-microsite-list-recipients\").attr(\"data-item-detail-identifier\", orderLineItemDetailIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-microsite-list-recipients\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(e.currentTarget).attr(\"data-item-detail-identifier\");\n window.location.href = \"/EmailCampaign/DownloadMicrositeListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier + \"/\" + $(\".global-modal-inner-container\").find(\".js-micrositelistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n openContactActivityList(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetActivitySummaryListLimited/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n $(\".global-modal-inner-container\").find(\".js-download-activity-list\").click(function (e) {\n var dataType = $(e.currentTarget).attr(\"data-type\");\n var searchText = $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val();\n var title = $(e.currentTarget).attr(\"data-title\");\n var body = $(e.currentTarget).attr(\"data-body\");\n // @ts-ignore\n var uniqueId = 'EmailOrderDownload-' + getUniqueGuid();\n var url = \"/EmailCampaign/DownloadActivitySummaryList\" +\n \"?orderLineItemDetailIdentifier=\" + orderLineItemDetailIdentifier +\n \"&contactListIdentifier=\" + contactListIdentifier +\n \"&fileType=\" + dataType +\n \"&uniqueId=\" + uniqueId +\n \"&searchText=\" + searchText;\n e.preventDefault();\n // @ts-ignore\n bootbox.dialog({\n title: title,\n message: body +\n '<div id=\"progress-wrapper-upload\">' +\n '<div class=\"progress-wrapper\">' +\n '<div class=\"progress-indicator text-center\">' +\n '</div></div></div>',\n closeButton: false\n });\n // move box to front\n $(\".bootbox.modal.bootbox\").css({ \"z-index\": \"10006\" });\n // initialize process status row, and return to call loop\n // @ts-ignore\n updateProgressStatus(uniqueId, '/API/Manage/ProcessStatus/AddProgress/', function () { progressBar(url, uniqueId); });\n });\n // @ts-ignore\n function progressBar(url, uniqueId) {\n $.when(submitAjaxRequest(null, url, \"GET\")\n .done(function (data, textStatus, request) {\n // tell process it is done\n $('#loadupload-loop').val('1');\n // swallow success since I will handle it with the ProgressStatus\n })\n .fail(function (response, textStatus, errorThrown) {\n // swallow timeout error since I will handle it with the ProgressStatus\n }));\n var pollingStop = $('#loadupload-loop'); // used for a quick exit from the loop if applicable\n var progressWrapper = $('#progress-wrapper-upload');\n // getStatus is a recursive process which waits for 0% or 100%. When found, run the passed function, which is in the helper.\n getStatus(uniqueId, '/API/Manage/ProcessStatus/GetCurrentProgress/', pollingStop, progressWrapper, \n // @ts-ignore\n function () {\n // done, reset and get the file\n $('#loadupload-loop').val('0');\n var finalUrl = '/EmailCampaign/GetDownLoadFile?UniqueId=' + uniqueId;\n // @ts-ignore\n window.location = finalUrl;\n // remove the process status row\n //updateProgressStatus(uniqueId, '/API/Manage/ProcessStatus/RemoveProgress/');\n });\n }\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-button-reset\").click(function (e) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n var me = this;\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val(\"\");\n var searchText = $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val();\n var params = {\n \"searchText\": searchText\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/EmailCampaign/GetActivitySummaryListLimitedDataOnly/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filtered-table\").html(data);\n }\n });\n });\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-button\").click(function (e) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n var me = this;\n var searchText = $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val();\n var params = {\n \"searchText\": searchText\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/EmailCampaign/GetActivitySummaryListLimitedDataOnly/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filtered-table\").html(data);\n }\n });\n });\n }\n else {\n }\n });\n }\n openMicrositeActivityList(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/Microsite/GetActivitySummaryList/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n $(\".global-modal-inner-container\").find(\".js-download-activity-list\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-activity-list\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n window.location.href = \"/Microsite/DownloadActivitySummaryList/\" +\n contactListIdentifier +\n \"/\" +\n $(\".global-modal-inner-container\").find(\".js-micrositedownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n download(button) {\n var params = {\n \"id\": parseInt($(button).attr(\"data-order-line-item-id\")),\n };\n var url = \"/Api/ParticipantOrder/DownloadAction\";\n $.when(submitAjaxRequest(params, url, \"post\").done(function (data, textStatus, request) {\n if (data.success) {\n // parentrow status description \n var parentrowIdentifier = $(button).attr(\"data-transaction-identifier\");\n var parentrow = $(button).closest(\"#list-items\").find(\".js-row-parent-\" + parentrowIdentifier);\n $(parentrow).find(\".js-order-status\").html(data.data.orderHeaderStatus);\n // header status description in my project\n var orderdetailrow = $(button).closest(\"#list-items\")\n .find(\".detail-\" + parentrowIdentifier)\n .find(\".js-header-orderstatus\")\n .html(data.data.orderHeaderStatus);\n $(button).closest(\".orderdetail-item-row\").find(\".js-order-status\").html(data.data.orderLineItemStatus);\n location.href = $(button).attr(\"data-href\");\n }\n }));\n }\n sendCompositionEmail(button) {\n var params = {\n \"id\": parseInt($(button).attr(\"data-order-line-item-id\")),\n \"emailAddress\": $(button).attr(\"data-email-address\"),\n \"updateStatus\": true\n };\n var url = \"/Api/ParticipantOrder/SendCompositionEmail\";\n $.when(submitAjaxRequest(params, url, \"post\").done(function (data, textStatus, request) {\n // TODO XXX$.ajax({\n if (data.success) {\n // parentrow status description \n var parentrowIdentifier = $(button).attr(\"data-transaction-identifier\");\n var parentrow = $(button).closest(\"#list-items\").find(\".js-row-parent-\" + parentrowIdentifier);\n $(parentrow).find(\".js-order-status\").html(data.data.orderHeaderStatus);\n // header status description in my project\n var orderdetailrow = $(button).closest(\"#list-items\")\n .find(\".detail-\" + parentrowIdentifier)\n .find(\".js-header-orderstatus\")\n .html(data.data.orderHeaderStatus);\n // detail status description \n $(button).closest(\".orderdetail-item-row\").find(\".js-order-status\").html(data.data.orderLineItemStatus);\n bootbox.alert($(button).attr(\"data-post-email-body\"));\n }\n }));\n }\n delete(button) {\n var title = $(button).attr(\"data-delete-title\");\n var body = $(button).attr(\"data-delete-message\");\n var cancelButton = $(button).attr(\"data-cancel-button\");\n var removeButton = $(button).attr(\"data-ok-button\");\n var orderidentifier = $(button).attr(\"data-order-identifier\");\n bootbox.confirm({\n title: title,\n message: body,\n buttons: {\n 'cancel': {\n label: cancelButton\n },\n 'confirm': {\n label: removeButton\n }\n },\n callback: function (confirmed) {\n if (confirmed) {\n var params = {\n identifier: orderidentifier\n };\n var url = \"/Api/ParticipantOrder/ArchiveOrder\";\n $.when(submitAjaxRequest(params, url, \"post\").done(function (data, textStatus, request) {\n // TODO XXX$.ajax({\n var parentRow = $(button).parent().closest('tr');\n var detailRow = $(parentRow).next('tr').remove();\n $(parentRow).remove();\n bootbox.alert(\"done\");\n }));\n }\n }\n });\n }\n resubmitOrderItem(button, displayPopup) {\n var params = {\n \"orderLineItemId\": parseInt($(button).attr(\"data-order-line-item-id\")),\n \"orderIdentifier\": $(button).attr(\"data-order-identifier\")\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/Api/ParticipantOrder/ResubmitOrderItem\"\n }).done(function (data, textStatus, request) {\n if (data.success) {\n $(button).addClass(\"hide\");\n $(button).closest(\".orderdetail-item-row\").find(\".js-check-status\").removeClass(\"hide\");\n }\n else {\n if (displayPopup) {\n alert(data.errorMessage);\n }\n }\n });\n }\n openFaceBookPost(button) {\n var me = this;\n var orderLineItemId = $(button).attr(\"data-order-line-item-id\");\n var child = window.open(\"/SocialPost/GetFaceBookUserToken\", 'self', 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no');\n var leftDomain = false;\n var interval = setInterval(function () {\n try {\n if (child.document.domain === document.domain) {\n if (child.document.readyState === \"complete\") {\n // we're here when the child window returned to our domain\n var child_url = child.document.URL;\n if (child_url.indexOf(\"code=\") !== -1) {\n var accessToken = $(child.document).contents().find(\"body pre\").html();\n $(button).attr(\"facebook-access-token\", accessToken);\n clearInterval(interval);\n child.close();\n var dto = {\n \"accessToken\": accessToken,\n \"orderLineItemId\": orderLineItemId\n };\n if (accessToken !== \"\") {\n var url = \"/SocialPost/GetAccountLists/\" + accessToken + \"/\" + orderLineItemId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n var globalModal = new GlobalModal(accessToken);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-facebook-post-information--modal' });\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-heading\").html(\"\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").html(\"\");\n $(\".global-modal-inner-container\").find(\".js-submit-facebook-post\").attr(\"data-order-line-item-id\", orderLineItemId);\n $(\".global-modal-inner-container\").find(\"#imageurl\").attr(\"src\", $(button).attr(\"data-image-url\"));\n var pages = $(\".global-modal-inner-container\").find(\".js-facebook-post-pages\");\n $(pages).multiselect({ numberDisplayed: 0 });\n $(pages).multiselect();\n $(\".global-modal-inner-container\").find(\".js-submit-facebook-post\").click(function (e) {\n var submitButton = $(e.currentTarget);\n $(submitButton).attr(\"disabled\", \"disabled\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").addClass(\"hide\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-heading\").html(\"\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").html(\"\");\n var requiredMessage = $(e.currentTarget).attr(\"data-required-error-message\");\n var postedMessage = $(e.currentTarget).attr(\"data-post-submitted-message\");\n var postedText = $(submitButton).attr(\"data-posted-text\");\n if ($(pages).length > 0 && ($(pages).val() == \"\" || $(pages).val() == null)) {\n alert(requiredMessage);\n return false;\n }\n else {\n var pageIds = $(pages).val().toString();\n var errorHeader = $(e.currentTarget).attr(\"data-error-header\");\n var columnErrorHeader = $(e.currentTarget).attr(\"data-error-header-error\");\n var columnPageNameHeader = $(e.currentTarget).attr(\"data-error-header-page-name\");\n var postSuccessfulSubHeading = $(e.currentTarget).attr(\"data-post-sucessful-subheading\");\n var dto = {\n \"pageId\": pageIds,\n \"orderLineItemId\": orderLineItemId\n };\n var url = \"/SocialPost/PostPhoto\";\n var notSubmittedMessage = \"\";\n var postError = false;\n $.when(globalThis.gage.submitAjaxRequest(dto, url, \"POST\")\n .done(function (data, status, request) {\n $(submitButton).removeAttr(\"disabled\");\n var table = \"<table class='table table-responsive'><thead><tr><th>\" + columnPageNameHeader + \"</th><th>\" + columnErrorHeader + \"</th></tr></thead>\";\n $.each(data.result, function (i, v) {\n var statusCode = v.statusCode;\n if (statusCode == \"OK\") {\n statusCode = postedText;\n }\n if (v.statusCode != \"OK\") {\n postError = true;\n }\n if (v.faceBookPostURL !== \"\") {\n table += \"<tr><td> <a target='_blank' href='\" + v.faceBookPostURL + \"'>\" + v.postName + \"</a></td><td>\" + statusCode + \"</td></tr>\";\n }\n else {\n table += \"<tr><td>\" + v.postName + \"</td><td>\" + statusCode + \"</td></tr>\";\n }\n });\n table += \"</table>\";\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-heading\").html(errorHeader);\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").html(\"<p class='alert alert-info' >\" + postSuccessfulSubHeading + \" </p>\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").append(table);\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").removeClass(\"hide\");\n if (postError) {\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".js-messagecontainer-reset-permission-container\").removeClass(\"hide\");\n }\n else {\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".js-messagecontainer-reset-permission-container\").addClass(\"hide\");\n }\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-managed-facebook-pages-container\").remove();\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-submit-facebook-post\").remove();\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-cancel-confirmation-link\").addClass(\"hide\");\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-close-confirmation-link\").removeClass(\"hide\");\n //$(button).closest(\".js-action-container\").find(\".js-post-social-network-revoke\").click();\n })\n .fail(function (response, textStatus, errorThrown) {\n globalModal.closeGlobalModal();\n alert(errorThrown);\n $(submitButton).removeAttr(\"disabled\");\n }));\n }\n });\n $(\".global-modal-inner-container\").find(\".js-reset-permission\").click(function (e) {\n globalModal.closeGlobalModal();\n $(\".js-facebook-reset-permission\").click();\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n }\n }\n }\n else {\n // this code should never be reached, \n // as the x-site security check throws\n // but just in case\n leftDomain = true;\n }\n }\n catch (e) {\n // we're here when the child window has been navigated away or closed\n if (child.closed) {\n clearInterval(interval);\n return;\n }\n // navigated to another domain \n leftDomain = true;\n }\n }, 500);\n }\n resetFaceBookPermissions(button) {\n $(button).attr(\"disabled\", \"disabled\");\n var child = window.open(\"/SocialPost/GetFaceBookUserToken\", 'self', 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no');\n var successMessage = $(button).attr(\"data-reset-permission-success-message\");\n var leftDomain = false;\n var interval = setInterval(function () {\n try {\n if (child.document.domain === document.domain) {\n if (child.document.readyState === \"complete\") {\n // we're here when the child window returned to our domain\n var child_url = child.document.URL;\n if (child_url.indexOf(\"code=\") !== -1) {\n var accessToken = $(child.document).contents().find(\"body pre\").html();\n clearInterval(interval);\n child.close();\n if (accessToken !== \"\") {\n var params = {\n AccessToken: accessToken\n };\n $.when(globalThis.gage.submitAjaxRequest(params, \"/SocialPost/DeletePermission/\", \"DELETE\")\n .done(function (data, status, request) {\n if (data != null && data.result == 200) {\n bootbox.alert(successMessage);\n $(button).removeAttr(\"disabled\");\n }\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n $(button).removeAttr(\"disabled\");\n }));\n }\n }\n }\n }\n else {\n // this code should never be reached, \n // as the x-site security check throws\n // but just in case\n leftDomain = true;\n }\n }\n catch (e) {\n // we're here when the child window has been navigated away or closed\n if (child.closed) {\n clearInterval(interval);\n return;\n }\n // navigated to another domain \n leftDomain = true;\n }\n }, 500);\n }\n checkCompositionFileStatus(button, showModal) {\n waitingDialog.show($(button).attr(\"data-wait-message\"));\n var me = this;\n var params = {\n \"orderItemId\": parseInt($(button).attr(\"data-order-line-item-id\")),\n };\n var uri = \"/Api/ParticipantOrder/CheckCompositionFileStatus\";\n $.ajax({\n data: params,\n method: \"GET\",\n url: uri\n }).done(function (data, textStatus, request) {\n waitingDialog.hide();\n if (data.success) {\n var transactionidentifier = $(button).attr(\"data-transaction-identifier\");\n var parentrow = $(button).closest(\"#list-items\").find(\".js-row-parent-\" + transactionidentifier);\n var detailrow = $(button).closest(\"#list-items\").find(\".detail-\" + transactionidentifier);\n var expandbutton = $(parentrow).find(\".js-vieworderdetail\");\n var icon = $(expandbutton).find('span');\n $(icon).toggleClass('fa-chevron-up fa-chevron-down');\n $(detailrow).removeClass(\"js-data-loaded\");\n $(parentrow).find(\".js-order-status\").html(data.orderHeaderStatus);\n me.showDetail(expandbutton);\n }\n else {\n if (data.fileStatus == \"None\") {\n $(button).addClass(\"hide\");\n $(button).closest(\".orderdetail-item-row\").find(\".js-resubmit-order-item\").removeClass(\"hide\");\n bootbox.alert($(button).attr(\"data-customization-error-none-instruction\"));\n }\n //if (data.fileStatus !== \"None\") {\n // if (showModal) {\n // bootbox.alert(data.errorMessage);\n // }\n //}\n }\n });\n }\n openCancelCampaignMessage(button) {\n var yesText = $(button).attr(\"data-yes-text\");\n var noText = $(button).attr(\"data-no-text\");\n var overwriteMessage = $(button).attr(\"data-campaign-cancel-message\");\n var sendSequenceNumber = $(button).closest(\".js-order-detail-row\").attr(\"data-send-sequence-number\") === \"\" ? 0 : $(button).closest(\".js-order-detail-row\").attr(\"data-send-sequence-number\");\n var seedSequenceNumber = $(button).closest(\".js-order-detail-row\").attr(\"data-seed-sequence-number\") === \"\" ? 0 : $(button).closest(\".js-order-detail-row\").attr(\"data-seed-sequence-number\");\n var orderLineItemId = $(button).closest(\".js-order-detail-row\").attr(\"data-order-line-item-id\");\n var cancelledStatusText = $(button).attr(\"data-cancelled-status-text\");\n bootbox.confirm({\n message: \"<p>\" + overwriteMessage + \"</p>\",\n buttons: {\n confirm: {\n label: yesText,\n className: 'btn-success'\n },\n cancel: {\n label: noText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n var params = {\n SendSequenceNumber: sendSequenceNumber,\n SeedSequenceNumber: seedSequenceNumber,\n OrderLineItemId: orderLineItemId,\n IsAdmin: false\n };\n var url = \"/EmailCampaign/CancelCampaign\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"PUT\")\n .done(function (data, textStatus, request) {\n $(button).closest(\".js-order-detail-row\").find(\".js-order-status-row\").html(cancelledStatusText);\n $(button).closest(\".js-order-detail-row\").find(\".localized-time-email-configuration\").remove();\n $(button).closest(\".js-order-detail-row\").find(\".js-campaign-action-row\").remove();\n })\n .fail(function (response, textStatus, errorThrown) {\n var x = 1;\n }));\n return true;\n }\n }\n });\n }\n openCancelSocialPostMessage(button) {\n var yesText = $(button).attr(\"data-yes-text\");\n var noText = $(button).attr(\"data-no-text\");\n var overwriteMessage = $(button).attr(\"data-campaign-cancel-message\");\n var orderLineItemId = $(button).closest(\".js-order-detail-row\").attr(\"data-order-line-item-id\");\n var orderLineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var cancelledStatusText = $(button).attr(\"data-cancelled-status-text\");\n bootbox.confirm({\n message: \"<p>\" + overwriteMessage + \"</p>\",\n buttons: {\n confirm: {\n label: yesText,\n className: 'btn-success'\n },\n cancel: {\n label: noText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n var url = \"/SocialPost/CancelSocialPost/\" + orderLineItemId + \"/\" + orderLineItemDetailId + \"/false\";\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"PUT\")\n .done(function (data, textStatus, request) {\n $(button).closest(\".js-order-detail-row\").find(\".js-order-status-row\").html(cancelledStatusText);\n $(button).closest(\".js-order-detail-row\").find(\".js-social-post-action-row\").remove();\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n return true;\n }\n }\n });\n }\n openCancelMicrositeMessage(button) {\n var yesText = $(button).attr(\"data-yes-text\");\n var noText = $(button).attr(\"data-no-text\");\n var overwriteMessage = $(button).attr(\"data-campaign-cancel-message\");\n var orderLineItemId = $(button).closest(\".js-order-detail-row\").attr(\"data-order-line-item-id\");\n var orderLineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var cancelledStatusText = $(button).attr(\"data-cancelled-status-text\");\n bootbox.confirm({\n message: \"<p>\" + overwriteMessage + \"</p>\",\n buttons: {\n confirm: {\n label: yesText,\n className: 'btn-success'\n },\n cancel: {\n label: noText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n var params = {\n OrderLineItemId: orderLineItemId,\n OrderLineItemDetailId: orderLineItemDetailId,\n IsAdmin: false\n };\n var url = \"/Microsite/CancelMicrosite/\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"PUT\")\n .done(function (data, textStatus, request) {\n $(button).closest(\".js-order-detail-row\").find(\".js-order-status-row\").html(cancelledStatusText);\n $(button).closest(\".js-order-detail-row\").find(\".localized-time-microsite-launch-date-configuration\").remove();\n $(button).closest(\".js-order-detail-row\").find(\".localized-time-microsite-archive-date-configuration\").remove();\n $(button).closest(\".js-order-detail-row\").find(\".js-microsite-action-row\").remove();\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n return true;\n }\n }\n });\n }\n modifyCampaignDates(button) {\n var me = this;\n var lineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var suppressViewLink = $(button).attr(\"data-suppress-view-link\") == \"False\" ? false : true;\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetParticipantOrderDetail/\" + lineItemDetailId\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(lineItemDetailId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-send-modal' });\n var refreshContainer = $(button).closest(\".js-order-detail-row\");\n GlobalPopulateTimeZones($(\".js-global-modal\").find(\".time-zone\"));\n if ($(\".js-global-modal\").find(\".js-send-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-send-time-zone-data\").val() !== undefined) {\n $(\".js-send-time-zone\").val($(\".js-send-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\".js-seed-send-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-seed-send-time-zone-data\").val() !== undefined) {\n $(\".js-global-modal\").find(\".js-seed-send-time-zone\").val($(\".js-seed-send-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\"#send-date-full\").val() !== \"\") {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#send-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-send-config\").find(\".js-send-time-zone\").val(), $(\".js-global-modal\").find('#send-time'), $(\".js-global-modal\").find('#send-date-picker'), $(\".js-global-modal\").find('#send-date'));\n }\n if ($(\".js-global-modal\").find(\"#seed-send-date-full\").val() !== \"\" && $(\".js-global-modal\").find(\"#seed-send-date-full\").val() !== undefined) {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#seed-send-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val(), $(\".js-global-modal\").find('#seed-send-time'), $(\".js-global-modal\").find('#seed-send-date-picker'), $(\".js-global-modal\").find('#seed-send-date'));\n }\n var sendDateEl = $(\".js-global-modal\").find('#send-date-picker').get(0);\n var sendDateTimeEl = $(\".js-global-modal\").find('#send-time-picker').get(0);\n var seedSendDateEl = $(\".js-global-modal\").find('#seed-send-date-picker').get(0);\n var seedSendDateTimeEl = $(\".js-global-modal\").find('#seed-send-time-picker').get(0);\n ConfigureDatePicker($(\".js-global-modal\").find('#send-date-picker'));\n ConfigureDatePicker($(\".js-global-modal\").find('#seed-send-date-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#send-time-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#seed-send-time-picker'));\n //InitializeDatePickerForOrder(sendDateEl, sendDateTimeEl, seedSendDateEl, seedSendDateTimeEl);\n $(\".js-global-modal\").find(\".js-change-campaign-dates\").attr(\"data-order-line-item-detail-id\", lineItemDetailId);\n $(\".js-global-modal\").find(\".js-change-campaign-dates\").on(\"click\", function (e) {\n var errorMessage = \"\";\n var recipientSendDateRequired = $(e.currentTarget).attr(\"data-recipient-send-date-required\");\n var seedSendDateRequired = $(e.currentTarget).attr(\"data-seed-send-date-required\");\n var recipientSendTimeRequired = $(e.currentTarget).attr(\"data-recipient-send-time-required\");\n var seedSendTimeRequired = $(e.currentTarget).attr(\"data-seed-send-time-required\");\n var recipientSendDateGreaterThanToday = $(e.currentTarget).attr(\"data-recipient-send-date-greater-than-today\");\n var seedSendDateGreaterThanToday = $(e.currentTarget).attr(\"data-seed-send-date-greater-than-today\");\n var timeZone = $(\".js-global-modal\").find(\".js-schedule-send-config\").find(\".js-send-time-zone\").val();\n var seedTimeZone = $(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val();\n var seedSendDateGreaterThanSendDate = $(e.currentTarget).attr(\"data-seed-send-date-greater-than-send-date\");\n if ($(\".js-global-modal\").find(\".js-schedule-send-config\").find(\"#send-date\").val() === \"\") {\n errorMessage += recipientSendDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-send-config\").find(\"#send-time\").val() === \"\") {\n errorMessage += recipientSendTimeRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").length > 0) {\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\"#seed-send-date\").val() === \"\") {\n errorMessage += seedSendDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\"#seed-send-time\").val() === \"\") {\n errorMessage += seedSendTimeRequired + \"<br/>\";\n }\n }\n if (errorMessage === \"\") {\n var sendDateString = $(\".js-global-modal\").find('#send-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#send-time').val();\n var currentDate = new Date().toISOString();\n var startDate = GetISODate(dayjs(sendDateString), timeZone, \"MM/DD/YYYY hh:mm:s a\");\n if (startDate < currentDate) {\n errorMessage += recipientSendDateGreaterThanToday + \"<br/>\";\n }\n var seedDateString = null;\n var seedStartDate = null;\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").length > 0) {\n if ($(\".js-global-modal\").find('#seed-send-date').val() != \"\") {\n seedDateString = $(\".js-global-modal\").find('#seed-send-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#seed-send-time').val();\n var seedStartDate = GetISODate(dayjs(seedDateString), seedTimeZone, \"MM/DD/YYYY hh:mm:s a\");\n if (seedStartDate < currentDate) {\n errorMessage += seedSendDateGreaterThanToday + \"<br/>\";\n }\n if (seedStartDate > startDate) {\n errorMessage += seedSendDateGreaterThanSendDate + \"<br/>\";\n }\n }\n }\n if (errorMessage === \"\") {\n if (seedDateString == null) {\n seedTimeZone = null;\n }\n var campaignDatesDtO = {\n \"orderLineItemDetailId\": lineItemDetailId,\n \"sendDate\": startDate,\n \"sendTimeZone\": timeZone,\n \"seedSendDate\": seedStartDate,\n \"seedSendTimeZone\": seedTimeZone\n };\n var url = \"/EmailCampaign/UpdateCampaignOrderLineItemDetail\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(campaignDatesDtO, url, \"PUT\")\n .done(function (data, textStatus, request) {\n globalModal.closeGlobalModal();\n var url = \"/EmailCampaign/GetParticipantOrderDetailForDisplay\" + \"/\" + lineItemDetailId + \"/\" + suppressViewLink;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(refreshContainer).html(data);\n $(refreshContainer).find(\".js-modify-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyCampaignDates(button);\n });\n $(refreshContainer).find(\".js-download-action\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.download(button);\n });\n $(refreshContainer).find(\".js-remove-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelCampaignMessage(button);\n });\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n bootbox.alert(response.responseJSON.errorMessage);\n return false;\n }));\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n });\n }\n else {\n }\n });\n }\n modifyMicrositeDates(button) {\n var me = this;\n var lineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var suppressViewLink = $(button).attr(\"data-suppress-view-link\") == \"False\" ? false : true;\n $.ajax({\n method: \"GET\",\n url: \"/Microsite/GetParticipantOrderDetail/\" + lineItemDetailId\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(lineItemDetailId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var refreshContainer = $(button).closest(\".js-order-detail-row\");\n GlobalPopulateTimeZones($(\".js-global-modal\").find(\".time-zone\"));\n if ($(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== undefined) {\n $(\".js-launch-time-zone\").val($(\".js-launch-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\".js-archive-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-archive-time-zone-data\").val() !== undefined) {\n $(\".js-global-modal\").find(\".js-archive-time-zone\").val($(\".js-archive-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\"#launch-date-full\").val() !== \"\") {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#launch-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val(), $(\".js-global-modal\").find('#launch-time'), $(\".js-global-modal\").find('#launch-date-picker'), $(\".js-global-modal\").find(\"#launch-date\"));\n }\n if ($(\".js-global-modal\").find(\"#archive-date-full\").val() !== \"\" && $(\".js-global-modal\").find(\"#archive-date-full\").val() !== undefined) {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#archive-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-archive-config\").find(\".js-archive-time-zone\").val(), $(\".js-global-modal\").find('#archive-time'), $(\".js-global-modal\").find('#archive-date-picker'), $(\".js-global-modal\").find(\"#archive-date\"));\n }\n var launchDateEl = $(\".js-global-modal\").find('#launch-date-picker').get(0);\n var archiveDateEl = $(\".js-global-modal\").find('#archive-date-picker').get(0);\n var launchTimeEl = $(\".js-global-modal\").find('#launch-time-picker').get(0);\n var archiveTimeEl = $(\".js-global-modal\").find('#archive-time-picker').get(0);\n ConfigureDatePicker($(\".js-global-modal\").find('#launch-date-picker'));\n ConfigureDatePicker($(\".js-global-modal\").find('#archive-date-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#launch-time-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#archive-time-picker'));\n //InitializeDatePickerForOrder(launchDateEl, launchTimeEl, archiveDateEl, archiveTimeEl);\n // me.bindLocalizedTime();\n $(\".js-global-modal\").find(\".js-change-microsite-dates\").attr(\"data-order-line-item-detail-id\", lineItemDetailId);\n $(\".js-global-modal\").find(\".js-change-microsite-dates\").on(\"click\", function (e) {\n var errorMessage = \"\";\n var launchDateRequired = $(e.currentTarget).attr(\"data-launch-date-required\");\n var archiveDateRequired = $(e.currentTarget).attr(\"data-archive-date-required\");\n var launchTimeRequired = $(e.currentTarget).attr(\"data-launch-time-required\");\n var archiveTimeRequired = $(e.currentTarget).attr(\"data-archive-time-required\");\n var timeZone = $(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val();\n var archiveTimeZone = $(\".js-global-modal\").find(\".js-schedule-archive-config\").find(\".js-archive-time-zone\").val();\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-date\").val() === \"\") {\n errorMessage += launchDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-time\").val() === \"\") {\n errorMessage += launchTimeRequired + \"<br/>\";\n }\n if (errorMessage === \"\") {\n var launchDateString = $(\".js-global-modal\").find('#launch-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#launch-time').val();\n var launchDate = GetISODate(dayjs(launchDateString), timeZone, \"MM/DD/YYYY hh:mm:s a\");\n var archiveDateString = null;\n var archiveDate = null;\n if ($(\".js-global-modal\").find(\".js-schedule-archive-config\").length > 0) {\n if ($(\".js-global-modal\").find('#archive-date').val() != \"\") {\n archiveDateString =\n $(\".js-global-modal\").find('#archive-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#archive-time').val();\n archiveDate = GetISODate(dayjs(archiveDateString), archiveTimeZone, \"MM/DD/YYYY hh:mm:s a\");\n }\n }\n if (errorMessage === \"\") {\n if (archiveDateString == null) {\n archiveTimeZone = null;\n }\n var micrositeDatesDtO = {\n \"orderLineItemDetailId\": lineItemDetailId,\n \"launchDate\": launchDate,\n \"launchTimeZone\": timeZone,\n \"archiveDate\": archiveDate,\n \"archiveTimeZone\": archiveTimeZone\n };\n var url = \"/Microsite/UpdateMicrositeOrderLineItemDetail\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(micrositeDatesDtO, url, \"PUT\")\n .done(function (data, textStatus, request) {\n globalModal.closeGlobalModal();\n var url = \"/Microsite/GetParticipantOrderDetailForDisplay\" + \"/\" + lineItemDetailId + \"/\" + suppressViewLink;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(refreshContainer).html(data);\n $(refreshContainer).find(\".js-modify-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyMicrositeDates(button);\n });\n $(refreshContainer).find(\".js-remove-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelMicrositeMessage(button);\n });\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n bootbox.alert(response.responseJSON.errorMessage);\n return false;\n }));\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n });\n }\n else {\n }\n });\n }\n modifySocialPostDates(button) {\n var me = this;\n var lineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n $.ajax({\n method: \"GET\",\n url: \"/SocialPost/GetParticipantOrderDetail/\" + lineItemDetailId\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(lineItemDetailId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var refreshContainer = $(button).closest(\".js-order-detail-row\");\n $(\".js-global-modal\").find(\"#launch-data-picker-full\").datetimepicker();\n me.populateTimeZonesOnly($(\".js-global-modal\").find(\".time-zone\"));\n $(\".js-global-modal\").find('#launch-time-picker').datetimepicker({\n format: 'LT'\n });\n $(\".js-global-modal\").find('#launch-date-picker').datetimepicker({\n useCurrent: false,\n format: 'MM/DD/YYYY'\n });\n if ($(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== undefined) {\n $(\".js-launch-time-zone\").val($(\".js-launch-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\"#launch-date-full\").val() !== \"\") {\n const setTime = dayjs.utc($(\".js-global-modal\").find('#launch-date-full').val()).tz($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val()).format(\"hh:mm A\");\n $(\".js-global-modal\").find('#launch-time-picker').data(\"DateTimePicker\").date(setTime);\n var localDate = dayjs.utc($(\".js-global-modal\").find('#launch-date-full').val())\n .tz($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val()).local()\n .format('MM/DD/YYYY');\n $(\".js-global-modal\").find('#launch-date').val(localDate);\n $(\".js-global-modal\").find(\"#launch-date\").attr(\"value\", (localDate + \" \" + setTime));\n $(\".js-global-modal\").find('#launch-date-picker').data(\"DateTimePicker\").date($(\".js-global-modal\").find(\"#launch-date\").attr(\"value\"));\n }\n // me.bindLocalizedTime();\n $(\".js-global-modal\").find(\".js-change-social-post-dates\").attr(\"data-order-line-item-detail-id\", lineItemDetailId);\n $(\".js-global-modal\").find(\".js-change-social-post-dates\").on(\"click\", function (e) {\n var errorMessage = \"\";\n var launchDateRequired = $(e.currentTarget).attr(\"data-launch-date-required\");\n var launchTimeRequired = $(e.currentTarget).attr(\"data-launch-time-required\");\n var timeZone = $(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val();\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-date\").val() === \"\") {\n errorMessage += launchDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-time\").val() === \"\") {\n errorMessage += launchTimeRequired + \"<br/>\";\n }\n if (errorMessage === \"\") {\n var launchDateString = $(\".js-global-modal\").find('#launch-date-picker').data(\"DateTimePicker\").date()\n .format(\"YYYY-MM-DD\") +\n \" \" +\n $(\".js-global-modal\").find('#launch-time-picker').data(\"DateTimePicker\").date()\n .format(\"HH:mm:ss\");\n var timeZoneDate = dayjs.tz(launchDateString, timeZone);\n var launchDate = timeZoneDate.utc().format();\n if (errorMessage === \"\") {\n var socialPostDatesDtO = {\n \"orderLineItemDetailId\": lineItemDetailId,\n \"launchDate\": launchDate,\n \"launchTimeZone\": timeZone,\n };\n var url = \"/SocialPost/UpdateMicrositeOrderLineItemDetail\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(socialPostDatesDtO, url, \"PUT\")\n .done(function (data, textStatus, request) {\n globalModal.closeGlobalModal();\n var url = \"/SocialPost/GetParticipantOrderDetailForDisplay\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(refreshContainer).html(data);\n $(refreshContainer).find(\".js-modify-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifySocialPostDates(button);\n });\n $(refreshContainer).find(\".js-remove-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelSocialPostMessage(button);\n });\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n bootbox.alert(response.responseJSON.errorMessage);\n return false;\n }));\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n });\n }\n else {\n }\n });\n }\n populateTimeZonesOnly(el) {\n var timeZones = Intl.supportedValuesOf(\"timeZone\");\n $(el).append(\"<option value='UTC'>UTC</option>\");\n $.each(timeZones, function (i, v) {\n $(el).append(\"<option value='\" + v + \"'>\" + v + \"</option>\");\n });\n // Set default time zone based on their location\n $(el).find(\"option[value='\" + dayjs.tz.guess() + \"']\").attr('selected', \"true\");\n }\n populateTimeZones(el) {\n var timeZones = Intl.supportedValuesOf(\"timeZone\");\n $(el).append(\"<option value='UTC'>UTC</option>\");\n $.each(timeZones, function (i, v) {\n $(el).append(\"<option value='\" + v + \"'>\" + v + \"</option>\");\n });\n // Set default time zone based on their location\n $(el).find(\"option[value='\" + dayjs.tz.guess() + \"']\").attr('selected', \"true\");\n }\n bindLocalizedTime() {\n var me = this;\n $.each($(me._widget).find(\".localized-time-email-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <div><small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small></div>\");\n });\n $.each($(me._widget).find(\".localized-time-microsite-launch-date-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <div><small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small></div>\");\n });\n $.each($(me._widget).find(\".localized-time-microsite-archive-date-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <div><small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small></div>\");\n });\n }\n showDetail(expand) {\n var me = this;\n var widgetContainer = $('.widget-myproject-list');\n var parentContainer = $(expand).parent().closest('tr').next('tr');\n var detailContainer = $(parentContainer).find(\".detail-\" + $(expand).data(\"identifier\"));\n var icon = $(expand).find('span');\n if ($(icon).hasClass('fa-chevron-down')) {\n if ($(detailContainer).hasClass(\"js-data-loaded\")) {\n $(parentContainer).removeClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n if ($(detailContainer).find(\".js-check-status\").length > 0) {\n var statusButton = $(detailContainer).find(\".js-check-status\");\n me.checkCompositionFileStatus(statusButton, true);\n }\n if ($(detailContainer).find(\".js-post-social-network-action\").length > 0) {\n $(detailContainer).find(\".js-post-social-network-action\").on('click', function () {\n var expand = this;\n me.openFaceBookPost(expand);\n });\n }\n if ($(detailContainer).find(\".js-facebook-reset-permission\").length > 0) {\n $(detailContainer).find(\".js-facebook-reset-permission\").on('click', function () {\n var expand = this;\n me.resetFaceBookPermissions(expand);\n });\n }\n }\n else {\n $(widgetContainer).find('.js-vieworderdetail').attr('disabled', 'true');\n var identifier = $(expand).data(\"identifier\");\n var source = \"order\";\n var suppressViewLink = $(widgetContainer).find('.dataTable').attr(\"suppress-view-link\");\n $.when(me.getOrderDetail(identifier, source, suppressViewLink).done(function (data, textStatus, response) {\n $(parentContainer).removeClass('hide');\n $(parentContainer).slideDown(1000);\n detailContainer.html($(this).data(\"identifier\"));\n detailContainer.addClass(\"js-data-loaded\");\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n detailContainer.html(data);\n $(widgetContainer).find('.js-vieworderdetail').removeAttr('disabled');\n $(widgetContainer).find(\".js-download-action\").on('click', function () {\n var expand = this;\n me.download(expand);\n });\n if ($(detailContainer).find(\".js-check-status\").length > 0) {\n var statusButton = $(detailContainer).find(\".js-check-status\");\n //me.checkCompositionFileStatus(statusButton, true);\n $(detailContainer).find(\".js-check-status\").on('click', function () {\n var expand = this;\n me.checkCompositionFileStatus(expand, true);\n });\n }\n if ($(detailContainer).find(\".js-post-social-network-action\").length > 0) {\n $(detailContainer).find(\".js-post-social-network-action\").on('click', function () {\n var expand = this;\n me.openFaceBookPost(expand);\n });\n }\n if ($(detailContainer).find(\".js-resubmit-order-item\").length > 0) {\n $(detailContainer).find(\".js-resubmit-order-item\").on('click', function () {\n var expand = this;\n me.resubmitOrderItem(expand, false);\n });\n }\n if ($(detailContainer).find(\".js-order-send-email\").length > 0) {\n $(detailContainer).find(\".js-order-send-email\").on(\"click\", function (e) {\n e.preventDefault();\n var button = $(e.currentTarget);\n bootbox.prompt({\n title: $(button).attr(\"data-email-address-header\"),\n inputType: 'email',\n value: $(button).attr(\"data-email-address\"),\n callback: function (result) {\n if (result != null) {\n $(button).attr(\"data-email-address\", result);\n me.SendCompositionEmail(button);\n }\n }\n });\n });\n }\n me.bindLocalizedTime();\n if ($(detailContainer).find(\".js-modify-campaign\").length > 0) {\n $(detailContainer).find(\".js-modify-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyCampaignDates(button);\n });\n }\n if ($(detailContainer).find(\".js-remove-campaign\").length > 0) {\n $(detailContainer).find(\".js-remove-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelCampaignMessage(button);\n });\n }\n if ($(detailContainer).find(\".js-microsite-activity-list\").length > 0) {\n $(detailContainer).find(\".js-microsite-activity-list\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openMicrositeActivityList(button);\n });\n }\n $(detailContainer).find(\".js-direct-mail-list-recipients\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openDirectMailListRecipients(button);\n });\n $(detailContainer).find(\".js-email-uploaded-list-recipients\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openEmailUploadedListRecipients(button);\n });\n $(detailContainer).find(\".js-microsite-list-recipients\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openMicrositeListRecipients(button);\n });\n if ($(detailContainer).find(\".js-contact-activity-list\").length > 0) {\n $(detailContainer).find(\".js-contact-activity-list\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openContactActivityList(button);\n });\n }\n if ($(detailContainer).find(\".js-modify-microsite\").length > 0) {\n $(detailContainer).find(\".js-modify-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyMicrositeDates(button);\n });\n }\n if ($(detailContainer).find(\".js-modify-social-post\").length > 0) {\n $(detailContainer).find(\".js-modify-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifySocialPostDates(button);\n });\n }\n if ($(detailContainer).find(\".js-remove-microsite\").length > 0) {\n $(detailContainer).find(\".js-remove-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelMicrositeMessage(button);\n });\n }\n if ($(detailContainer).find(\".js-remove-social-post\").length > 0) {\n $(detailContainer).find(\".js-remove-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelSocialPostMessage(button);\n });\n }\n }));\n }\n }\n else {\n $(parentContainer).addClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n }\n }\n getOrderDetail(identifier, source, suppressViewLink) {\n var params = {\n \"source\": source,\n \"identifier\": identifier,\n \"suppressViewLink\": suppressViewLink\n };\n return $.ajax({\n data: params,\n method: \"GET\",\n url: '/Api/AccountTransaction/GetTransactionDetail'\n });\n }\n setPager() {\n var me = this;\n var defaultOpts = {};\n if (me._totalPages !== 0) {\n $(me._widget).find('#myproject-list-pagination').html('');\n $(me._widget).find('#myproject-list-pagination').html('<ul id=\"pagination\" class=\"pagination-sm\"></ul>');\n $(me._widget).find('#myproject-list-pagination').find('#pagination').twbsPagination({\n initiateStartPageClick: false,\n totalPages: me._totalPages,\n startPage: (me._pageIndex === 0 ? 1 : (me._pageIndex + 1)),\n onPageClick: function (event, page) {\n me._pageIndex = (page - 1);\n me.loadData(false);\n }\n });\n }\n else {\n $(me._widget).find('#myproject-list-pagination').html('');\n }\n }\n loadData(filterClose) {\n var me = this;\n var params = me.buildParams(me._widgetId);\n var url = '/Content/RenderOrderList/' + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n me._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n me._totalPages = parseFloat(request.getResponseHeader(\"X-TotalPages\"));\n $(me._widget).find(\"#list-items\").html(data);\n me.showPager();\n if (filterClose) {\n $(\"#ajax-loading\").modal(\"hide\");\n $(me._widget).find(\".filter-close\").click();\n }\n $(me._widget).find(\".js-vieworderdetail\").on('click', function (e) {\n me.showDetail($(e.currentTarget));\n });\n $(me._widget).find(\".js-delete-order\").on('click', function (e) {\n me.delete($(e.currentTarget));\n });\n }));\n }\n ShowHideFilter(el) {\n var me = this;\n var list = $(el).parent(\".widget-myprojectlist\").attr(\"id\");\n var filterType = $(el).attr(\"data-filtertype\");\n var $dropdown = $(me._widget).find(\"div[id='\" + list + \"'] .filter-drop-down[data-filtertype='\" + filterType + \"']\");\n var $indicator = $(me._widget).find(\".filter-indicator\");\n var dropdownIsClosed = $dropdown.hasClass(\"hide\");\n $(me._widget).find(\".filter-drop-down\").addClass(\"hide\");\n $(me._widget).find(\".filter-indicator\").removeClass(\"fa-caret-up\").addClass(\"fa-caret-down\");\n if (dropdownIsClosed) {\n $dropdown.removeClass(\"hide\");\n $indicator.removeClass(\"fa-caret-down\").addClass(\"fa-caret-up\");\n }\n }\n selectDeselectFacet(el) {\n var me = this;\n if ($(el).hasClass(\"disabled\")) {\n return;\n }\n var $facetIndicator = $(el).find(\".filter-facet-indicator\");\n var $accountTransactionList = $(el).closest(\".accounttransaction-list\");\n $facetIndicator.toggleClass(\"fa-check\");\n var contentWidgetID = me._widgetId;\n if ($facetIndicator.hasClass(\"fa-check\")) {\n $facetIndicator.removeClass(\"hidden\");\n $(me._widget).find(\"#widget-myprojectlist-appliedfilters-\" + contentWidgetID).append(\"<button class='pull-left btn btn-color1 myproject-list-remove-filter' data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"' data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"'><span class='fa-solid fa-check'></span> \" + $(el).attr(\"data-name\") + \" | <span class='remove'>x</span></button>\");\n $(me._widget).find(\".myproject-list-remove-filter\").off(\"click\");\n $(me._widget).find(\".myproject-list-remove-filter\").on(\"click\", function () {\n var filterID = parseInt($(this).attr(\"data-filter-id\"));\n var filterType = $(this).attr(\"data-filter-type\");\n me.selectDeselectFacet($(\"button.filter-facet[data-filter-type='\" + filterType + \"'][data-filter-id='\" + filterID + \"']\"));\n });\n }\n else {\n $facetIndicator.addClass(\"hidden\");\n $(me._widget).find(\"#widget-myprojectlist-appliedfilters-\" + contentWidgetID).find(\"button[data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"'][data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"']\").remove();\n }\n me.UpdateFilter(contentWidgetID);\n }\n applyFilter(el) {\n var me = this;\n this.UpdateFilter(me._widgetId);\n }\n UpdateFilter(contentWidgetID) {\n var me = this;\n $('#ajax-loading').modal();\n me._sortBy = \"datecreated\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me.loadData(true);\n }\n showPager() {\n var me = this;\n if (me._totalPages > 0) {\n if (me._totalPages < 1) {\n me._totalPages = 0;\n }\n else {\n me._totalPages = Math.ceil(me._totalPages);\n }\n me.setPager();\n }\n }\n buildParams(contentWidgetId) {\n var $statustypeFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] div.filter-drop-down[data-filtertype='StatusTypes']\");\n var arrayTypes = new Array;\n $statustypeFilter.find(\"span.fa-check\").each(function (i, e) {\n arrayTypes.push(parseInt($(e).attr(\"data-id\")));\n });\n var statusTypes = arrayTypes.join(\",\");\n var params = {\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n SortAscending: this._sortAscending,\n Skip: 0,\n StatusTypes: statusTypes\n };\n return params;\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-myproject-list\").each(function (index, item) {\n $(item).data(\"manager\", new MyProject(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\nvar emailRegex = /^(([^<>()[\\]\\\\.,;:\\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,}))$/;\nclass OrderDetail {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this.bindControls();\n }\n bindControls() {\n var me = this;\n window.setTimeout(function () {\n $(me._widget).find(\".orderdetail-item-row\").each(function (i, obj) {\n if ($(obj).find(\".js-check-status\").length > 0) {\n var statusButton = $(obj).find(\".js-check-status\");\n if ($(statusButton).attr(\"data-product-type-id\") !== \"10\") {\n me.checkCompositionFileStatus(statusButton, false);\n }\n }\n });\n }, 150000);\n $(me._widget).find(\".js-download-pdf\").on(\"click\", function (e) {\n me.downloadPdf($(e.currentTarget));\n });\n $(me._widget).find(\".js-send-list-based-email\").on(\"click\", function (e) {\n me.sendListBasedEmail(e);\n });\n $(me._widget).find(\".orderdetail-item-row\").each(function (i, obj) {\n if ($(obj).find(\".js-check-status\").length > 0) {\n var statusButton = $(obj).find(\".js-check-status\");\n if ($(statusButton).attr(\"data-product-type-id\") !== \"10\") {\n me.checkCompositionFileStatus(statusButton, false);\n }\n }\n });\n $(me._widget).find(\".js-order-send-email\").on(\"click\", function (e) {\n e.preventDefault();\n var button = $(e.currentTarget);\n bootbox.prompt({\n title: $(button).attr(\"data-email-address-header\"),\n inputType: 'email',\n value: $(button).attr(\"data-email-address\"),\n callback: function (result) {\n if (result != null) {\n var validEmail = emailRegex.test(result);\n if (!validEmail) {\n var invalidEmailErroMessage = $(button).attr(\"data-invalid-email-message\");\n bootbox.alert(invalidEmailErroMessage);\n $(\".bootbox.modal.bootbox-alert\").css({ \"z-index\": \"10006\" });\n return false;\n }\n $(button).attr(\"data-email-address\", result);\n me.SendCompositionEmail(button);\n }\n }\n });\n });\n $(me._widget).find(\"#order-history-modal\").on('show.bs.modal', function (event) {\n var self = this;\n var orderlineItemId = $(event.relatedTarget).attr(\"data-order-line-item-id\");\n var params = {\n \"participantOrderLineItemId\": orderlineItemId,\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/Manage/ParticipantOrder/GetParticipantOrderHistory\"\n }).done(function (data, textStatus, request) {\n $(\"#order-history-modal\").find(\".modal-body\").html(data);\n });\n });\n $(me._widget).find(\".js-download-action\").on('click', function () {\n var expand = this;\n me.download(expand);\n });\n $(me._widget).find(\".js-post-social-network-action\").on('click', function () {\n var button = this;\n me.openFaceBookPost(button);\n });\n $(me._widget).find(\".js-facebook-reset-permission\").on('click', function (e) {\n var button = this;\n me.resetFaceBookPermissions(button);\n });\n $(me._widget).find(\".js-check-status\").on('click', function () {\n var expand = this;\n me.checkCompositionFileStatus(expand, true);\n });\n $(me._widget).find(\".js-resubmit-order-item\").on('click', function () {\n var expand = this;\n me.resubmitOrderItem(expand, false);\n });\n $(me._widget).find(\".js-modify-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyCampaignDates(button);\n });\n $(me._widget).find(\".js-contact-activity-list\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openContactActivityList(button);\n });\n $(me._widget).find(\".js-email-uploaded-list-recipients\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openEmailUploadedListRecipients(button);\n });\n $(me._widget).find(\".js-microsite-list-recipients\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openMicrositeListRecipients(button);\n });\n $(me._widget).find(\".js-direct-mail-list-recipients\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openDirectMailListRecipients(button);\n });\n $(me._widget).find(\".js-microsite-activity-list\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openMicrositeActivityList(button);\n });\n $(me._widget).find(\".js-modify-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyMicrositeDates(button);\n });\n $(me._widget).find(\".js-modify-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifySocialPostDates(button);\n });\n $(me._widget).find(\".js-remove-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelCampaignMessage(button);\n });\n $(me._widget).find(\".js-remove-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelMicrositeMessage(button);\n });\n $(me._widget).find(\".js-remove-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelSocialPostMessage(button);\n });\n me.bindLocalizedTime();\n }\n openMicrositeActivityList(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/Microsite/GetActivitySummaryList/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n $(\".global-modal-inner-container\").find(\".js-download-activity-list\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-activity-list\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n window.location.href = \"/Microsite/DownloadActivitySummaryList/\" +\n contactListIdentifier +\n \"/\" +\n $(\".global-modal-inner-container\").find(\".js-micrositedownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n openEmailUploadedListRecipients(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetEmailUploadedListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").attr(\"data-item-detail-identifier\", orderLineItemDetailIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-email-uploaded-list-recipients\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(e.currentTarget).attr(\"data-item-detail-identifier\");\n window.location.href = \"/EmailCampaign/DownloadEmailUploadedListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier + \"/\" + $(\".global-modal-inner-container\").find(\".js-emailuploadedlistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n openDirectMailListRecipients(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/DirectMail/GetDirectMailListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-list-recipients\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-list-recipients\").attr(\"data-item-detail-identifier\", orderLineItemDetailIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-direct-mail-list-recipients\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(e.currentTarget).attr(\"data-item-detail-identifier\");\n window.location.href = \"/DirectMail/DownloadDirectMailListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier + \"/\" + $(\".global-modal-inner-container\").find(\".js-direct-maillistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n openMicrositeListRecipients(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetMicrositeListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var table = $(\".global-modal-inner-container\").find(\".dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": false,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">'\n });\n $(\".global-modal-inner-container\").find(\".js-download-microsite-list-recipients\").attr(\"data-contact-list-identifier\", contactListIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-microsite-list-recipients\").attr(\"data-item-detail-identifier\", orderLineItemDetailIdentifier);\n $(\".global-modal-inner-container\").find(\".js-download-microsite-list-recipients\").click(function (e) {\n var contactListIdentifier = $(e.currentTarget).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(e.currentTarget).attr(\"data-item-detail-identifier\");\n window.location.href = \"/EmailCampaign/DownloadMicrositeListRecipients/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier + \"/\" + $(\".global-modal-inner-container\").find(\".js-micrositelistrecipientsdownloadfiletype\").val();\n });\n }\n else {\n }\n });\n }\n openContactActivityList(button) {\n var me = this;\n var contactListIdentifier = $(button).attr(\"data-contact-list-identifier\");\n var orderLineItemDetailIdentifier = $(button).attr(\"data-item-detail-identifier\");\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetActivitySummaryListLimited/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(contactListIdentifier);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n $(\".global-modal-inner-container\").find(\".js-download-activity-list\").click(function (e) {\n var dataType = $(e.currentTarget).attr(\"data-type\");\n var searchText = $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val();\n var title = $(e.currentTarget).attr(\"data-title\");\n var body = $(e.currentTarget).attr(\"data-body\");\n // handles big files without timing out\n // @ts-ignore\n var uniqueId = 'EmailOrderDownload-' + getUniqueGuid();\n var url = \"/EmailCampaign/DownloadActivitySummaryList\" +\n \"?orderLineItemDetailIdentifier=\" + orderLineItemDetailIdentifier +\n \"&contactListIdentifier=\" + contactListIdentifier +\n \"&fileType=\" + dataType +\n \"&uniqueId=\" + uniqueId +\n \"&searchText=\" + searchText;\n e.preventDefault();\n // @ts-ignore\n bootbox.dialog({\n title: title,\n message: body +\n '<div id=\"progress-wrapper-upload\">' +\n '<div class=\"progress-wrapper\">' +\n '<div class=\"progress-indicator text-center\">' +\n '</div></div></div>',\n closeButton: false\n });\n // move box to front\n $(\".bootbox.modal.bootbox\").css({ \"z-index\": \"10006\" });\n // initialize process status row, and return to call loop\n // @ts-ignore\n updateProgressStatus(uniqueId, '/API/Manage/ProcessStatus/AddProgress/', function () { progressBar(url, uniqueId); });\n });\n // @ts-ignore\n function progressBar(url, uniqueId) {\n $.when(submitAjaxRequest(null, url, \"GET\")\n .done(function (data, textStatus, request) {\n // tell process it is done\n $('#loadupload-loop').val('1');\n // swallow success since I will handle it with the ProgressStatus\n })\n .fail(function (response, textStatus, errorThrown) {\n // swallow timeout error since I will handle it with the ProgressStatus\n }));\n var pollingStop = $('#loadupload-loop'); // used for a quick exit from the loop if applicable\n var progressWrapper = $('#progress-wrapper-upload');\n // getStatus is a recursive process which waits for 0% or 100%. When found, run the passed function, which is in the helper.\n getStatus(uniqueId, '/API/Manage/ProcessStatus/GetCurrentProgress/', pollingStop, progressWrapper, \n // @ts-ignore\n function () {\n // done, reset and get the file\n $('#loadupload-loop').val('0');\n var finalUrl = '/EmailCampaign/GetDownLoadFile?UniqueId=' + uniqueId;\n // @ts-ignore\n window.location = finalUrl;\n // remove the process status row\n //updateProgressStatus(uniqueId, '/API/Manage/ProcessStatus/RemoveProgress/');\n });\n }\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-button-reset\").click(function (e) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n var me = this;\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val(\"\");\n var searchText = $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val();\n var params = {\n \"searchText\": searchText\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/EmailCampaign/GetActivitySummaryListLimitedDataOnly/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filtered-table\").html(data);\n }\n });\n });\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-button\").click(function (e) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n var me = this;\n var searchText = $(\".global-modal-inner-container\").find(\".js-campaign-list-filter-text\").val();\n var params = {\n \"searchText\": searchText\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/EmailCampaign/GetActivitySummaryListLimitedDataOnly/\" + orderLineItemDetailIdentifier + \"/\" + contactListIdentifier\n }).done(function (data, textStatus, request) {\n if (data) {\n $(\".global-modal-inner-container\").find(\".js-campaign-list-filtered-table\").html(data);\n }\n });\n });\n }\n else {\n }\n });\n }\n modifyCampaignDates(button) {\n var me = this;\n var lineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var suppressViewLink = $(button).attr(\"data-suppress-view-link\") == \"False\" ? false : true;\n $.ajax({\n method: \"GET\",\n url: \"/EmailCampaign/GetParticipantOrderDetail/\" + lineItemDetailId\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(lineItemDetailId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-send-modal' });\n var refreshContainer = $(button).closest(\".js-order-detail-row\");\n GlobalPopulateTimeZones($(\".js-global-modal\").find(\".time-zone\"));\n if ($(\".js-global-modal\").find(\".js-send-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-send-time-zone-data\").val() !== undefined) {\n $(\".js-send-time-zone\").val($(\".js-send-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\".js-seed-send-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-seed-send-time-zone-data\").val() !== undefined) {\n $(\".js-global-modal\").find(\".js-seed-send-time-zone\").val($(\".js-seed-send-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\"#send-date-full\").val() !== \"\") {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#send-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-send-config\").find(\".js-send-time-zone\").val(), $(\".js-global-modal\").find('#send-time'), $(\".js-global-modal\").find('#send-date-picker'), $(\".js-global-modal\").find('#send-date'));\n }\n if ($(\".js-global-modal\").find(\"#seed-send-date-full\").val() !== \"\" && $(\".js-global-modal\").find(\"#seed-send-date-full\").val() !== undefined) {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#seed-send-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val(), $(\".js-global-modal\").find('#seed-send-time'), $(\".js-global-modal\").find('#seed-send-date-picker'), $(\".js-global-modal\").find('#seed-send-date'));\n }\n var sendDateEl = $(\".js-global-modal\").find('#send-date-picker').get(0);\n var sendDateTimeEl = $(\".js-global-modal\").find('#send-time-picker').get(0);\n var seedSendDateEl = $(\".js-global-modal\").find('#seed-send-date-picker').get(0);\n var seedSendDateTimeEl = $(\".js-global-modal\").find('#seed-send-time-picker').get(0);\n ConfigureDatePicker($(\".js-global-modal\").find('#send-date-picker'));\n ConfigureDatePicker($(\".js-global-modal\").find('#seed-send-date-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#send-time-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#seed-send-time-picker'));\n //InitializeDatePickerForOrder(sendDateEl, sendDateTimeEl, seedSendDateEl, seedSendDateTimeEl);\n $(\".js-global-modal\").find(\".js-change-campaign-dates\").attr(\"data-order-line-item-detail-id\", lineItemDetailId);\n $(\".js-global-modal\").find(\".js-change-campaign-dates\").on(\"click\", function (e) {\n var errorMessage = \"\";\n var recipientSendDateRequired = $(e.currentTarget).attr(\"data-recipient-send-date-required\");\n var seedSendDateRequired = $(e.currentTarget).attr(\"data-seed-send-date-required\");\n var recipientSendTimeRequired = $(e.currentTarget).attr(\"data-recipient-send-time-required\");\n var seedSendTimeRequired = $(e.currentTarget).attr(\"data-seed-send-time-required\");\n var recipientSendDateGreaterThanToday = $(e.currentTarget).attr(\"data-recipient-send-date-greater-than-today\");\n var seedSendDateGreaterThanToday = $(e.currentTarget).attr(\"data-seed-send-date-greater-than-today\");\n var timeZone = $(\".js-global-modal\").find(\".js-schedule-send-config\").find(\".js-send-time-zone\").val();\n var seedTimeZone = $(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\".js-seed-send-time-zone\").val();\n var seedSendDateGreaterThanSendDate = $(e.currentTarget).attr(\"data-seed-send-date-greater-than-send-date\");\n if ($(\".js-global-modal\").find(\".js-schedule-send-config\").find(\"#send-date\").val() === \"\") {\n errorMessage += recipientSendDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-send-config\").find(\"#send-time\").val() === \"\") {\n errorMessage += recipientSendTimeRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").length > 0) {\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\"#seed-send-date\").val() === \"\") {\n errorMessage += seedSendDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").find(\"#seed-send-time\").val() === \"\") {\n errorMessage += seedSendTimeRequired + \"<br/>\";\n }\n }\n if (errorMessage === \"\") {\n var sendDateString = $(\".js-global-modal\").find('#send-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#send-time').val();\n var currentDate = new Date().toISOString();\n var startDate = GetISODate(dayjs(sendDateString), timeZone, \"MM/DD/YYYY hh:mm:s a\");\n if (startDate < currentDate) {\n errorMessage += recipientSendDateGreaterThanToday + \"<br/>\";\n }\n var seedDateString = null;\n var seedStartDate = null;\n if ($(\".js-global-modal\").find(\".js-schedule-seed-send-config\").length > 0) {\n if ($(\".js-global-modal\").find('#seed-send-date').val() != \"\") {\n seedDateString = $(\".js-global-modal\").find('#seed-send-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#seed-send-time').val();\n var seedStartDate = GetISODate(dayjs(seedDateString), seedTimeZone, \"MM/DD/YYYY hh:mm:s a\");\n if (seedStartDate < currentDate) {\n errorMessage += seedSendDateGreaterThanToday + \"<br/>\";\n }\n if (seedStartDate > startDate) {\n errorMessage += seedSendDateGreaterThanSendDate + \"<br/>\";\n }\n }\n }\n if (errorMessage === \"\") {\n if (seedDateString == null) {\n seedTimeZone = null;\n }\n var campaignDatesDtO = {\n \"orderLineItemDetailId\": lineItemDetailId,\n \"sendDate\": startDate,\n \"sendTimeZone\": timeZone,\n \"seedSendDate\": seedStartDate,\n \"seedSendTimeZone\": seedTimeZone\n };\n var url = \"/EmailCampaign/UpdateCampaignOrderLineItemDetail\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(campaignDatesDtO, url, \"PUT\")\n .done(function (data, textStatus, request) {\n globalModal.closeGlobalModal();\n var url = \"/EmailCampaign/GetParticipantOrderDetailForDisplay\" + \"/\" + lineItemDetailId + \"/\" + suppressViewLink;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(refreshContainer).html(data);\n $(refreshContainer).find(\".js-modify-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyCampaignDates(button);\n });\n $(refreshContainer).find(\".js-download-action\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.download(button);\n });\n $(refreshContainer).find(\".js-remove-campaign\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelCampaignMessage(button);\n });\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n bootbox.alert(response.responseJSON.errorMessage);\n return false;\n }));\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n });\n }\n else {\n }\n });\n }\n modifyMicrositeDates(button) {\n var me = this;\n var lineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var suppressViewLink = $(button).attr(\"data-suppress-view-link\") == \"False\" ? false : true;\n $.ajax({\n method: \"GET\",\n url: \"/Microsite/GetParticipantOrderDetail/\" + lineItemDetailId\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(lineItemDetailId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var refreshContainer = $(button).closest(\".js-order-detail-row\");\n GlobalPopulateTimeZones($(\".js-global-modal\").find(\".time-zone\"));\n if ($(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== undefined) {\n $(\".js-launch-time-zone\").val($(\".js-launch-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\".js-archive-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-archive-time-zone-data\").val() !== undefined) {\n $(\".js-global-modal\").find(\".js-archive-time-zone\").val($(\".js-archive-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\"#launch-date-full\").val() !== \"\") {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#launch-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val(), $(\".js-global-modal\").find('#launch-time'), $(\".js-global-modal\").find('#launch-date-picker'), $(\".js-global-modal\").find(\"#launch-date\"));\n }\n if ($(\".js-global-modal\").find(\"#archive-date-full\").val() !== \"\" && $(\".js-global-modal\").find(\"#archive-date-full\").val() !== undefined) {\n SetModifiedDatesForCustomization($(\".js-global-modal\").find('#archive-date-full').val(), $(\".js-global-modal\").find(\".js-schedule-archive-config\").find(\".js-archive-time-zone\").val(), $(\".js-global-modal\").find('#archive-time'), $(\".js-global-modal\").find('#archive-date-picker'), $(\".js-global-modal\").find(\"#archive-date\"));\n }\n var launchDateEl = $(\".js-global-modal\").find('#launch-date-picker').get(0);\n var archiveDateEl = $(\".js-global-modal\").find('#archive-date-picker').get(0);\n var launchTimeEl = $(\".js-global-modal\").find('#launch-time-picker').get(0);\n var archiveTimeEl = $(\".js-global-modal\").find('#archive-time-picker').get(0);\n ConfigureDatePicker($(\".js-global-modal\").find('#launch-date-picker'));\n ConfigureDatePicker($(\".js-global-modal\").find('#archive-date-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#launch-time-picker'));\n ConfigureTimePicker($(\".js-global-modal\").find('#archive-time-picker'));\n //InitializeDatePickerForOrder(launchDateEl, launchTimeEl, archiveDateEl, archiveTimeEl);\n // me.bindLocalizedTime();\n $(\".js-global-modal\").find(\".js-change-microsite-dates\").attr(\"data-order-line-item-detail-id\", lineItemDetailId);\n $(\".js-global-modal\").find(\".js-change-microsite-dates\").on(\"click\", function (e) {\n var errorMessage = \"\";\n var launchDateRequired = $(e.currentTarget).attr(\"data-launch-date-required\");\n var archiveDateRequired = $(e.currentTarget).attr(\"data-archive-date-required\");\n var launchTimeRequired = $(e.currentTarget).attr(\"data-launch-time-required\");\n var archiveTimeRequired = $(e.currentTarget).attr(\"data-archive-time-required\");\n var timeZone = $(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val();\n var archiveTimeZone = $(\".js-global-modal\").find(\".js-schedule-archive-config\").find(\".js-archive-time-zone\").val();\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-date\").val() === \"\") {\n errorMessage += launchDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-time\").val() === \"\") {\n errorMessage += launchTimeRequired + \"<br/>\";\n }\n if (errorMessage === \"\") {\n var launchDateString = $(\".js-global-modal\").find('#launch-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#launch-time').val();\n var launchDate = GetISODate(dayjs(launchDateString), timeZone, \"MM/DD/YYYY hh:mm:s a\");\n var archiveDateString = null;\n var archiveDate = null;\n if ($(\".js-global-modal\").find(\".js-schedule-archive-config\").length > 0) {\n if ($(\".js-global-modal\").find('#archive-date').val() != \"\") {\n archiveDateString =\n $(\".js-global-modal\").find('#archive-date').val() +\n \" \" +\n $(\".js-global-modal\").find('#archive-time').val();\n archiveDate = GetISODate(dayjs(archiveDateString), archiveTimeZone, \"MM/DD/YYYY hh:mm:s a\");\n }\n }\n if (errorMessage === \"\") {\n if (archiveDateString == null) {\n archiveTimeZone = null;\n }\n var micrositeDatesDtO = {\n \"orderLineItemDetailId\": lineItemDetailId,\n \"launchDate\": launchDate,\n \"launchTimeZone\": timeZone,\n \"archiveDate\": archiveDate,\n \"archiveTimeZone\": archiveTimeZone\n };\n var url = \"/Microsite/UpdateMicrositeOrderLineItemDetail\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(micrositeDatesDtO, url, \"PUT\")\n .done(function (data, textStatus, request) {\n globalModal.closeGlobalModal();\n var url = \"/Microsite/GetParticipantOrderDetailForDisplay\" + \"/\" + lineItemDetailId + \"/\" + suppressViewLink;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(refreshContainer).html(data);\n $(refreshContainer).find(\".js-modify-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifyMicrositeDates(button);\n });\n $(refreshContainer).find(\".js-remove-microsite\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelMicrositeMessage(button);\n });\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n bootbox.alert(response.responseJSON.errorMessage);\n return false;\n }));\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n });\n }\n else {\n }\n });\n }\n modifySocialPostDates(button) {\n var me = this;\n var lineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n $.ajax({\n method: \"GET\",\n url: \"/SocialPost/GetParticipantOrderDetail/\" + lineItemDetailId\n }).done(function (data, textStatus, request) {\n if (data) {\n var globalModal = new GlobalModal(lineItemDetailId);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-launch-modal' });\n var refreshContainer = $(button).closest(\".js-order-detail-row\");\n $(\".js-global-modal\").find(\"#launch-data-picker-full\").datetimepicker();\n GlobalPopulateTimeZones($(\".js-global-modal\").find(\".time-zone\"));\n $(\".js-global-modal\").find('#launch-time-picker').datetimepicker({\n format: 'LT'\n });\n $(\".js-global-modal\").find('#launch-date-picker').datetimepicker({\n useCurrent: false,\n format: 'MM/DD/YYYY'\n });\n if ($(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== \"\" && $(\".js-global-modal\").find(\".js-launch-time-zone-data\").val() !== undefined) {\n $(\".js-launch-time-zone\").val($(\".js-launch-time-zone-data\").val());\n }\n if ($(\".js-global-modal\").find(\"#launch-date-full\").val() !== \"\") {\n const setTime = dayjs.utc($(\".js-global-modal\").find('#launch-date-full').val()).tz($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val()).format(\"hh:mm A\");\n $(\".js-global-modal\").find('#launch-time-picker').data(\"DateTimePicker\").date(setTime);\n var localDate = dayjs.utc($(\".js-global-modal\").find('#launch-date-full').val())\n .tz($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val()).local()\n .format('MM/DD/YYYY');\n $(\".js-global-modal\").find('#launch-date').val(localDate);\n $(\".js-global-modal\").find(\"#launch-date\").attr(\"value\", (localDate + \" \" + setTime));\n $(\".js-global-modal\").find('#launch-date-picker').data(\"DateTimePicker\").date($(\".js-global-modal\").find(\"#launch-date\").attr(\"value\"));\n }\n // me.bindLocalizedTime();\n $(\".js-global-modal\").find(\".js-change-social-post-dates\").attr(\"data-order-line-item-detail-id\", lineItemDetailId);\n $(\".js-global-modal\").find(\".js-change-social-post-dates\").on(\"click\", function (e) {\n var errorMessage = \"\";\n var launchDateRequired = $(e.currentTarget).attr(\"data-launch-date-required\");\n var launchTimeRequired = $(e.currentTarget).attr(\"data-launch-time-required\");\n var timeZone = $(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\".js-launch-time-zone\").val();\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-date\").val() === \"\") {\n errorMessage += launchDateRequired + \"<br/>\";\n }\n if ($(\".js-global-modal\").find(\".js-schedule-launch-config\").find(\"#launch-time\").val() === \"\") {\n errorMessage += launchTimeRequired + \"<br/>\";\n }\n if (errorMessage === \"\") {\n var launchDateString = $(\".js-global-modal\").find('#launch-date-picker').data(\"DateTimePicker\").date()\n .format(\"YYYY-MM-DD\") +\n \" \" +\n $(\".js-global-modal\").find('#launch-time-picker').data(\"DateTimePicker\").date()\n .format(\"HH:mm:ss\");\n var timeZoneDate = dayjs.tz(launchDateString, timeZone);\n var launchDate = timeZoneDate.utc().format();\n if (errorMessage === \"\") {\n var socialPostDatesDtO = {\n \"orderLineItemDetailId\": lineItemDetailId,\n \"launchDate\": launchDate,\n \"launchTimeZone\": timeZone,\n };\n var url = \"/SocialPost/UpdateMicrositeOrderLineItemDetail\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(socialPostDatesDtO, url, \"PUT\")\n .done(function (data, textStatus, request) {\n globalModal.closeGlobalModal();\n var url = \"/SocialPost/GetParticipantOrderDetailForDisplay\" + \"/\" + lineItemDetailId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n $(refreshContainer).html(data);\n $(refreshContainer).find(\".js-modify-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.modifySocialPostDates(button);\n });\n $(refreshContainer).find(\".js-remove-social-post\").on('click', function (e) {\n var button = $(e.currentTarget);\n me.openCancelSocialPostMessage(button);\n });\n me.bindLocalizedTime();\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n bootbox.alert(response.responseJSON.errorMessage);\n return false;\n }));\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n }\n else {\n bootbox.alert(errorMessage);\n return false;\n }\n });\n }\n else {\n }\n });\n }\n bindLocalizedTime() {\n var me = this;\n $.each($(me._widget).find(\".localized-time-email-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <div><small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small></div>\");\n //$(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY') + \" <div><small>\" + dayjs.utc(localDate).local().format('hh:mm a') + \"</small></div>\");\n });\n $.each($(me._widget).find(\".localized-time-microsite-launch-date-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <div><small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small></div>\");\n //$(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY') + \" <div><small>\" + dayjs.utc(localDate).local().format('hh:mm a') + \"</small></div>\");\n });\n $.each($(me._widget).find(\".localized-time-microsite-archive-date-configuration\"), function (i, e) {\n const localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <div><small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small></div>\");\n });\n }\n openCancelSocialPostMessage(button) {\n var yesText = $(button).attr(\"data-yes-text\");\n var noText = $(button).attr(\"data-no-text\");\n var overwriteMessage = $(button).attr(\"data-campaign-cancel-message\");\n var orderLineItemId = $(button).closest(\".js-order-detail-row\").attr(\"data-order-line-item-id\");\n var orderLineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var cancelledStatusText = $(button).attr(\"data-cancelled-status-text\");\n bootbox.confirm({\n message: \"<p>\" + overwriteMessage + \"</p>\",\n buttons: {\n confirm: {\n label: yesText,\n className: 'btn-success'\n },\n cancel: {\n label: noText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n var url = \"/SocialPost/CancelSocialPost/\" + orderLineItemId + \"/\" + orderLineItemDetailId + \"/false\";\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"PUT\")\n .done(function (data, textStatus, request) {\n $(button).closest(\".js-order-detail-row\").find(\".js-order-status-row\").html(cancelledStatusText);\n $(button).closest(\".js-order-detail-row\").find(\".js-social-post-action-row\").remove();\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n return true;\n }\n }\n });\n }\n openCancelMicrositeMessage(button) {\n var yesText = $(button).attr(\"data-yes-text\");\n var noText = $(button).attr(\"data-no-text\");\n var overwriteMessage = $(button).attr(\"data-campaign-cancel-message\");\n var orderLineItemId = $(button).closest(\".js-order-detail-row\").attr(\"data-order-line-item-id\");\n var orderLineItemDetailId = $(button).attr(\"data-order-line-item-detail-id\");\n var cancelledStatusText = $(button).attr(\"data-cancelled-status-text\");\n bootbox.confirm({\n message: \"<p>\" + overwriteMessage + \"</p>\",\n buttons: {\n confirm: {\n label: yesText,\n className: 'btn-success'\n },\n cancel: {\n label: noText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n var params = {\n OrderLineItemId: orderLineItemId,\n OrderLineItemDetailId: orderLineItemDetailId,\n IsAdmin: false\n };\n var url = \"/Microsite/CancelMicrosite/\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"PUT\")\n .done(function (data, textStatus, request) {\n $(button).closest(\".js-order-detail-row\").find(\".js-order-status-row\").html(cancelledStatusText);\n $(button).closest(\".js-order-detail-row\").find(\".localized-time-microsite-launch-date-configuration\").remove();\n $(button).closest(\".js-order-detail-row\").find(\".localized-time-microsite-archive-date-configuration\").remove();\n $(button).closest(\".js-order-detail-row\").find(\".js-microsite-action-row\").remove();\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n return true;\n }\n }\n });\n }\n openCancelCampaignMessage(button) {\n var yesText = $(button).attr(\"data-yes-text\");\n var noText = $(button).attr(\"data-no-text\");\n var overwriteMessage = $(button).attr(\"data-campaign-cancel-message\");\n var sendSequenceNumber = $(button).closest(\".js-order-detail-row\").attr(\"data-send-sequence-number\") === \"\" ? 0 : $(button).closest(\".js-order-detail-row\").attr(\"data-send-sequence-number\");\n var seedSequenceNumber = $(button).closest(\".js-order-detail-row\").attr(\"data-seed-sequence-number\") === \"\" ? 0 : $(button).closest(\".js-order-detail-row\").attr(\"data-seed-sequence-number\");\n var orderLineItemId = $(button).closest(\".js-order-detail-row\").attr(\"data-order-line-item-id\");\n var cancelledStatusText = $(button).attr(\"data-cancelled-status-text\");\n bootbox.confirm({\n message: \"<p>\" + overwriteMessage + \"</p>\",\n buttons: {\n confirm: {\n label: yesText,\n className: 'btn-success'\n },\n cancel: {\n label: noText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n var params = {\n SendSequenceNumber: sendSequenceNumber,\n SeedSequenceNumber: seedSequenceNumber,\n OrderLineItemId: orderLineItemId,\n IsAdmin: false\n };\n var url = \"/EmailCampaign/CancelCampaign/\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"PUT\")\n .done(function (data, textStatus, request) {\n $(button).closest(\".js-order-detail-row\").find(\".js-order-status-row\")\n .html(cancelledStatusText);\n $(button).closest(\".js-order-detail-row\").find(\".localized-time-email-configuration\").remove();\n $(button).closest(\".js-order-detail-row\").find(\".js-campaign-action-row\").remove();\n })\n .fail(function (response, textStatus, errorThrown) {\n var x = 1;\n }));\n return true;\n }\n }\n });\n }\n sendListBasedEmail(e) {\n e.preventDefault();\n var id = $(e.currentTarget).attr('data-product-catalog-assignment-identifier');\n var postMessage = $(e.currentTarget).attr('data-post-email-body');\n var orderDetailId = $(e.currentTarget).attr('data-order-line-item-id');\n var url = \"/EmailCampaign/GetListBasedEmailFields/\" + id + \"/\";\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n var globalModal = new GlobalModal(id);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-send-modal' });\n $(\".js-global-modal\").find(\".js-send-details\").find(\".js-order-detail-id\").val(orderDetailId);\n $(\".js-send-test-list-based-email\").on(\"click\", function (e) {\n e.preventDefault();\n var url = \"/Api/ParticipantOrder/SendListBasedEmail\";\n var params = $(\"#form-list-email-fields\").serialize();\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n if (data != null) {\n bootbox.alert(postMessage);\n globalModal.closeGlobalModal();\n }\n }));\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n }));\n }\n SendCompositionEmail(button) {\n var params = {\n id: parseInt($(button).attr(\"data-order-line-item-id\")),\n emailAddress: $(button).attr(\"data-email-address\"),\n \"updateStatus\": true\n };\n var url = \"/Api/ParticipantOrder/SendCompositionEmail\";\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n if (data.success) {\n $(button).closest(\".orderdetail-container\").find(\".js-header-orderstatus\").html(data.data.orderHeaderStatus);\n $(button).closest(\".orderdetail-item-row\").find(\".js-order-status\").html(data.data.orderLineItemStatus);\n bootbox.alert($(button).attr(\"data-post-email-body\"));\n }\n }));\n }\n resubmitOrderItem(button, displayPopup) {\n waitingDialog.show($(button).attr(\"data-wait-message\"));\n var params = {\n \"orderLineItemId\": parseInt($(button).attr(\"data-order-line-item-id\")),\n \"orderIdentifier\": $(button).attr(\"data-order-identifier\")\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: \"/Api/ParticipantOrder/ResubmitOrderItem\"\n }).done(function (data, textStatus, request) {\n waitingDialog.hide();\n if (data.success) {\n location.reload();\n }\n else {\n if (displayPopup) {\n alert(data.errorMessage);\n }\n }\n });\n }\n checkCompositionFileStatus(button, showAlert) {\n waitingDialog.show($(button).attr(\"data-wait-message\"));\n var params = {\n \"orderItemId\": parseInt($(button).attr(\"data-order-line-item-id\")),\n };\n var uri = \"/Api/ParticipantOrder/CheckCompositionFileStatus\";\n $.ajax({\n data: params,\n method: \"GET\",\n url: uri\n }).done(function (data, textStatus, request) {\n waitingDialog.hide();\n if (data.success) {\n if (data.orderHeaderStatus == \"Complete\") {\n location.reload();\n }\n }\n else {\n waitingDialog.hide();\n if (data.fileStatus == \"None\") {\n $(button).addClass(\"hide\");\n $(button).closest(\".orderdetail-item-row\").find(\".js-resubmit-order-item\").removeClass(\"hide\");\n bootbox.alert($(button).attr(\"data-customization-error-none-instruction\"));\n }\n //if (data.fileStatus !== \"None\") {\n // if (showAlert) {\n // bootbox.alert(data.errorMessage);\n // }\n //}\n }\n });\n }\n download(button) {\n var params = {\n \"id\": parseInt($(button).attr(\"data-order-line-item-id\")),\n };\n var url = \"/Api/ParticipantOrder/DownloadAction\";\n $.when(submitAjaxRequest(params, url, \"POST\").done(function (data, textStatus, request) {\n if (data.success) {\n // parentrow status description \n $(button).closest(\".orderdetail-container\").find(\".js-header-orderstatus\").html(data.data.orderHeaderStatus);\n ;\n $(button).closest(\".orderdetail-item-row\").find(\".js-order-status\").html(data.data.orderLineItemStatus);\n location.href = $(button).attr(\"data-href\");\n }\n }));\n }\n openFaceBookPost(button) {\n var me = this;\n var orderLineItemId = $(button).attr(\"data-order-line-item-id\");\n var child = window.open(\"/SocialPost/GetFaceBookUserToken\", 'self', 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no');\n var leftDomain = false;\n var interval = setInterval(function () {\n try {\n if (child.document.domain === document.domain) {\n if (child.document.readyState === \"complete\") {\n // we're here when the child window returned to our domain\n var child_url = child.document.URL;\n if (child_url.indexOf(\"code=\") !== -1) {\n var accessToken = $(child.document).contents().find(\"body pre\").html();\n $(button).attr(\"facebook-access-token\", accessToken);\n clearInterval(interval);\n child.close();\n if (accessToken !== \"\") {\n var dto = {\n \"accessToken\": accessToken,\n \"orderLineItemId\": orderLineItemId\n };\n var url = \"/SocialPost/GetAccountLists/\" + accessToken + \"/\" + orderLineItemId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, status, request) {\n var globalModal = new GlobalModal(accessToken);\n var html = data;\n globalModal.openGlobalModal(html, \"panel\", { origin: $(this), classes: 'configure-facebook-post-information--modal' });\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-heading\").html(\"\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").html(\"\");\n $(\".global-modal-inner-container\").find(\".js-submit-facebook-post\").attr(\"data-order-line-item-id\", orderLineItemId);\n $(\".global-modal-inner-container\").find(\"#imageurl\").attr(\"src\", $(button).attr(\"data-image-url\"));\n var pages = $(\".global-modal-inner-container\").find(\".js-facebook-post-pages\");\n $(pages).multiselect({ numberDisplayed: 0 });\n $(pages).multiselect();\n $(\".global-modal-inner-container\").find(\".js-submit-facebook-post\").click(function (e) {\n var submitButton = $(e.currentTarget);\n $(submitButton).attr(\"disabled\", \"disabled\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").addClass(\"hide\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-heading\").html(\"\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").html(\"\");\n var requiredMessage = $(submitButton).attr(\"data-required-error-message\");\n var postedMessage = $(submitButton).attr(\"data-post-submitted-message\");\n var postedText = $(submitButton).attr(\"data-posted-text\");\n if ($(pages).length > 0 && ($(pages).val() == \"\" || $(pages).val() == null)) {\n alert(requiredMessage);\n return false;\n }\n else {\n var pageIds = $(pages).val().toString();\n var errorHeader = $(e.currentTarget).attr(\"data-error-header\");\n var columnErrorHeader = $(e.currentTarget).attr(\"data-error-header-error\");\n var columnPageNameHeader = $(e.currentTarget).attr(\"data-error-header-page-name\");\n var postSuccessfulSubHeading = $(e.currentTarget).attr(\"data-post-sucessful-subheading\");\n var dto = {\n \"pageId\": pageIds,\n \"orderLineItemId\": orderLineItemId\n };\n var url = \"/SocialPost/PostPhoto\";\n var notSubmittedMessage = \"\";\n var postError = false;\n $.when(globalThis.gage.submitAjaxRequest(dto, url, \"POST\")\n .done(function (data, status, request) {\n $(submitButton).removeAttr(\"disabled\");\n var table = \"<table class='table table-responsive'><thead><tr><th>\" + columnPageNameHeader + \"</th><th>\" + columnErrorHeader + \"</th></tr></thead>\";\n $.each(data.result, function (i, v) {\n var statusCode = v.statusCode;\n if (statusCode == \"OK\") {\n statusCode = postedText;\n }\n if (v.statusCode != \"OK\") {\n postError = true;\n }\n if (v.faceBookPostURL !== \"\") {\n table += \"<tr><td> <a target='_blank' href='\" + v.faceBookPostURL + \"'>\" + v.postName + \"</a></td><td>\" + statusCode + \"</td></tr>\";\n }\n else {\n table += \"<tr><td>\" + v.postName + \"</td><td>\" + statusCode + \"</td></tr>\";\n }\n });\n table += \"</table>\";\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-heading\").html(errorHeader);\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").html(\"<p class='alert alert-info' >\" + postSuccessfulSubHeading + \" </p>\");\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".panel-body\").append(table);\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").removeClass(\"hide\");\n if (postError) {\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".js-messagecontainer-reset-permission-container\").removeClass(\"hide\");\n }\n else {\n $(\".global-modal-inner-container\").find(\".js-messagecontainer\").find(\".js-messagecontainer-reset-permission-container\").addClass(\"hide\");\n }\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-managed-facebook-pages-container\").remove();\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-submit-facebook-post\").remove();\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-cancel-confirmation-link\").addClass(\"hide\");\n $(\".global-modal-inner-container\").find(\".submit-facebook-post-container\").find(\".js-close-confirmation-link\").removeClass(\"hide\");\n //$(button).closest(\".js-action-container\").find(\".js-post-social-network-revoke\").click();\n })\n .fail(function (response, textStatus, errorThrown) {\n globalModal.closeGlobalModal();\n alert(errorThrown);\n $(submitButton).removeAttr(\"disabled\");\n }));\n }\n });\n $(\".global-modal-inner-container\").find(\".js-reset-permission\").click(function (e) {\n globalModal.closeGlobalModal();\n $(\".js-facebook-reset-permission\").click();\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n }\n }\n }\n else {\n // this code should never be reached, \n // as the x-site security check throws\n // but just in case\n leftDomain = true;\n }\n }\n catch (e) {\n // we're here when the child window has been navigated away or closed\n if (child.closed) {\n clearInterval(interval);\n return;\n }\n // navigated to another domain \n leftDomain = true;\n }\n }, 500);\n }\n resetFaceBookPermissions(button) {\n $(button).attr(\"disabled\", \"disabled\");\n var child = window.open(\"/SocialPost/GetFaceBookUserToken\", 'self', 'toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no');\n var successMessage = $(button).attr(\"data-reset-permission-success-message\");\n var leftDomain = false;\n var interval = setInterval(function () {\n try {\n if (child.document.domain === document.domain) {\n if (child.document.readyState === \"complete\") {\n // we're here when the child window returned to our domain\n var child_url = child.document.URL;\n if (child_url.indexOf(\"code=\") !== -1) {\n var accessToken = $(child.document).contents().find(\"body pre\").html();\n clearInterval(interval);\n child.close();\n if (accessToken !== \"\") {\n var params = {\n AccessToken: accessToken\n };\n $.when(globalThis.gage.submitAjaxRequest(params, \"/SocialPost/DeletePermission/\", \"DELETE\")\n .done(function (data, status, request) {\n if (data != null && data.result == 200) {\n bootbox.alert(successMessage);\n $(button).removeAttr(\"disabled\");\n }\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(errorThrown);\n $(button).removeAttr(\"disabled\");\n }));\n }\n }\n }\n }\n else {\n // this code should never be reached, \n // as the x-site security check throws\n // but just in case\n leftDomain = true;\n }\n }\n catch (e) {\n // we're here when the child window has been navigated away or closed\n if (child.closed) {\n clearInterval(interval);\n return;\n }\n // navigated to another domain \n leftDomain = true;\n }\n }, 500);\n }\n downloadPdf(dropDown) {\n var me = this;\n var lineItemId = $(dropDown).attr(\"data-order-line-item-id\");\n var templateIdentifier = lineItemId + \"-\" + $(dropDown).attr(\"data-template-name\");\n var productIdentifier = $(dropDown).attr(\"data-product-identifier\");\n window.location.href = \"/Api/ParticipantOrder/DownloadPdf?id=\" + productIdentifier + \"&templateIdentifier=\" + templateIdentifier;\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-orderdetail\").each(function (index, item) {\n $(item).data(\"manager\", new OrderDetail(item));\n });\n});\n/// <reference path=\"../lib/twbs-pagination.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass ParticipantActivityList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._pageIndex = 0;\n this._totalPages = parseFloat($(this._widget).attr(\"data-total-pages\"));\n this._take = parseInt($(this._widget).find(\"#uxParticipantActivityListPageSize\").val());\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._sortBy = $(this._widget).attr(\"data-sort-by\");\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\".filter-text, .filter-close\").on(\"click\", function () {\n me.ShowHideFilter(this);\n });\n $(me._widget).find(\".filter-facet\").on(\"click\", function () {\n me.SelectDeselectFacet(this);\n });\n $(me._widget).find(\"#uxParticipantActivityListPageSize\").on(\"change\", function () {\n me._sortBy = \"activitydate\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me._take = $(this).val();\n me.LoadData(false, null);\n });\n $(me._widget).find(\".js-viewparticipantactivitylistdetail\").on(\"click\", function () {\n var expand = this;\n me.showDetail(expand);\n });\n $(me._widget).find(\".js-participantactivity-list-search-filter\").on(\"click\", function (e) {\n var datarequiredtext = $(this).data(\"requiredtext\");\n var dataattributerequiredtext = $(this).data(\"attributerequiredtext\");\n var btn = $(this);\n e.preventDefault();\n var searchText = $(me._widget).find(\".js-participantactivity-list-search-text\").val();\n var activityType = $(me._widget).find(\".js-participantactivitysearchactivitytype\").val();\n var errorMessage = \"\";\n if (searchText === \"\") {\n errorMessage = datarequiredtext;\n }\n if (activityType === \"\") {\n errorMessage += \"\\n\" + dataattributerequiredtext;\n }\n if (errorMessage !== \"\") {\n alert(errorMessage);\n return false;\n }\n me._searchActivityTypeId = activityType;\n me._searchText = searchText;\n btn.prop('disabled', true);\n me.LoadData(false, btn);\n });\n $(me._widget).find(\".js-reset-participantactivity-list-search-filter\").on(\"click\", function (e) {\n var btn = $(this);\n $(me._widget).find(\".js-participantactivity-list-search-text\").val(\"\");\n $(me._widget).find(\".js-participantactivitysearchactivitytype\").val(\"\");\n me._searchText = \"\";\n me._searchActivityTypeId = \"\";\n btn.prop('disabled', true);\n me.LoadData(false, btn);\n });\n me.ShowPager();\n $(me._widget).find(\".participantactivityListHeading\").click(function () {\n var newHeader = $(this);\n var oldHeader = $(\".dataTable\").find(\".sorting_asc,.sorting_desc\");\n if (newHeader.data(\"sort-field\") === oldHeader.data(\"sort-field\")) // change direction\n {\n if ($(\".participantactivityListHeading.sorting_asc\").length > 0) {\n //change from ASC to DESC\n oldHeader.removeClass(\"sorting_asc\");\n newHeader.addClass(\"sorting_desc\");\n me._sortAscending = \"false\";\n }\n else {\n //change from DESC to ASC\n oldHeader.removeClass(\"sorting_desc\");\n newHeader.addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n }\n else // change sort column\n {\n oldHeader.removeClass(\"sorting_asc\").removeClass(\"sorting_desc\").addClass(\"sorting\");\n newHeader.removeClass(\"sorting\").addClass(\"sorting_asc\");\n me._sortAscending = \"true\";\n }\n $(me._widget).find(\"#list-items\").html();\n me._sortBy = newHeader.data(\"sort-field\");\n me._pageIndex = 0;\n me.LoadData(false, null);\n });\n $(me._widget).find(\".button.filter-facet-apply\").on(\"click\", function () {\n me.ApplyFilter(this);\n });\n }\n showDetail(expand) {\n var me = this;\n var widgetContainer = $(\".widget-participantactivitylist\");\n var parentContainer = $(expand).parent().closest(\"tr\").next(\"tr\");\n var detailContainer = $(parentContainer).find(\".detail-\" + $(expand).data(\"activityid\"));\n var icon = $(expand).find(\"span\");\n if ($(icon).hasClass(\"fa-chevron-down\")) {\n if ($(detailContainer).hasClass(\"js-data-loaded\")) {\n $(parentContainer).removeClass(\"hide\");\n $(icon).toggleClass(\"fa-chevron-down fa-chevron-up\");\n }\n else {\n $(widgetContainer).find(\".js-viewparticipantactivitylistdetail\").attr(\"disabled\", \"true\");\n var activitydate = $(expand).data(\"activitydate\");\n var activityTypeId = $(expand).data(\"activitytypeid\");\n var activityId = $(expand).data(\"activityid\");\n var activityItem = $(expand).data(\"activityitem\");\n var participantId = $(expand).data(\"participantid\");\n var multiplier = $(expand).data(\"multiplier\");\n $.when(me.GetParticipantActivityDetail(participantId, activityTypeId, activityId, activityItem, activitydate, multiplier).done(function (data, textStatus, response) {\n $(parentContainer).removeClass(\"hide\");\n $(parentContainer).slideDown(1000);\n detailContainer.html($(this).data(\"identifier\"));\n detailContainer.addClass(\"js-data-loaded\");\n $(icon).toggleClass(\"fa-chevron-down fa-chevron-up\");\n detailContainer.html(data);\n $(widgetContainer).find(\".js-viewparticipantactivitylistdetail\").removeAttr(\"disabled\");\n }));\n }\n }\n else {\n $(parentContainer).addClass(\"hide\");\n $(icon).toggleClass(\"fa-chevron-down fa-chevron-up\");\n }\n }\n GetParticipantActivityDetail(participantId, activityTypeId, activityId, activityItem, activityDate, multiplier) {\n var updatedactivityItem = activityItem;\n if (activityItem !== \"\") {\n updatedactivityItem = JSON.stringify(activityItem);\n }\n var params = {\n \"participantId\": participantId,\n \"activityTypeId\": activityTypeId,\n \"activityId\": activityId,\n \"activityItem\": updatedactivityItem,\n \"activityDate\": activityDate,\n \"multiplier\": multiplier\n };\n return $.ajax({\n method: \"GET\",\n url: \"/Api/Participant/GetParticipantActivityDetail\",\n data: params,\n });\n }\n SetPager() {\n var me = this;\n var defaultOpts = {};\n if (me._totalPages !== 0) {\n $(me._widget).find(\"#participantactivity-list-pagination\").html(\"\");\n $(me._widget).find(\"#participantactivity-list-pagination\").html('<ul id=\"pagination\" class=\"pagination-sm\"></ul>');\n $(me._widget).find(\"#participantactivity-list-pagination\").find(\"#pagination\").twbsPagination({\n initiateStartPageClick: false,\n totalPages: me._totalPages,\n startPage: (me._pageIndex === 0 ? 1 : (me._pageIndex + 1)),\n onPageClick: function (event, page) {\n me._pageIndex = (page - 1);\n me.LoadData(false, null);\n }\n });\n }\n else {\n $(me._widget).find(\"#participantactivity-list-pagination\").html(\"\");\n }\n }\n LoadData(filterClose, btn) {\n var me = this;\n var params = me.BuildParams(me._widgetId);\n var url = \"/Content/RenderParticipantActivityList/\" + me._widgetId.toString();\n $.when(submitAjaxRequest(params, url, \"POST\").done((data, textStatus, request) => {\n this._pageIndex = parseInt(request.getResponseHeader(\"X-PageIndex\"));\n this._totalPages = parseFloat(request.getResponseHeader(\"X-TotalPages\"));\n $(this._widget).find(\"#list-items\").html(data);\n this.ShowPager();\n if (filterClose) {\n $(\"#ajax-loading\").modal(\"hide\");\n $(this._widget).find(\".filter-close\").click();\n }\n $(this._widget).find(\".js-viewparticipantactivitylistdetail\").on(\"click\", function () {\n var expand = this;\n me.showDetail(expand);\n });\n if (btn != null) {\n btn.prop('disabled', false);\n }\n }));\n }\n ShowHideFilter(el) {\n var me = this;\n var list = $(el).parent(\".widget-participantactivitylist\").attr(\"id\");\n var filterType = $(el).attr(\"data-filtertype\");\n var $dropdown = $(me._widget).find(\"div[id='\" + list + \"'] .filter-drop-down[data-filtertype='\" + filterType + \"']\");\n var $indicator = $(me._widget).find(\".filter-indicator\");\n var dropdownIsClosed = $dropdown.hasClass(\"hide\");\n $(me._widget).find(\".filter-drop-down\").addClass(\"hide\");\n $(me._widget).find(\".filter-indicator\").removeClass(\"fa-caret-up\").addClass(\"fa-caret-down\");\n if (dropdownIsClosed) {\n $dropdown.removeClass(\"hide\");\n $indicator.removeClass(\"fa-caret-down\").addClass(\"fa-caret-up\");\n }\n }\n SelectDeselectFacet(el) {\n var me = this;\n if ($(el).hasClass(\"disabled\")) {\n return;\n }\n var $facetIndicator = $(el).find(\".filter-facet-indicator\");\n var $accountTransactionList = $(el).closest(\".participantactivity-list\");\n $facetIndicator.toggleClass(\"fa-check\");\n var contentWidgetID = me._widgetId;\n if ($facetIndicator.hasClass(\"fa-check\")) {\n $facetIndicator.removeClass(\"hidden\");\n $(me._widget).find(\"#widget-participantactivitylist-appliedfilters-\" + contentWidgetID).append(\"<button class='pull-left btn btn-color1 participantactivity-list-remove-filter' data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"' data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"'><span class='fa-solid fa-check'></span> \" + $(el).attr(\"data-name\") + \" | <span class='remove'>x</span></button>\");\n $(me._widget).find(\".participantactivity-list-remove-filter\").off(\"click\");\n $(me._widget).find(\".participantactivity-list-remove-filter\").on(\"click\", function () {\n var filterID = parseInt($(this).attr(\"data-filter-id\"));\n var filterType = $(this).attr(\"data-filter-type\");\n me.SelectDeselectFacet($(\"button.filter-facet[data-filter-type='\" + filterType + \"'][data-filter-id='\" + filterID + \"']\"));\n });\n }\n else {\n $facetIndicator.addClass(\"hidden\");\n $(me._widget).find(\"#widget-participantactivitylist-appliedfilters-\" + contentWidgetID).find(\"button[data-filter-type='\" + $(el).attr(\"data-filter-type\") + \"'][data-filter-id='\" + $(el).attr(\"data-filter-id\") + \"']\").remove();\n }\n me.UpdateFilter(contentWidgetID);\n }\n ApplyFilter(el) {\n var me = this;\n this.UpdateFilter(me._widgetId);\n }\n UpdateFilter(contentWidgetID) {\n var me = this;\n $(\"#ajax-loading\").modal();\n me._sortBy = \"activitydate\";\n me._pageIndex = 0;\n me._sortAscending = \"false\";\n me.LoadData(true, null);\n }\n ShowPager() {\n var me = this;\n if (me._totalPages >= 0) {\n if (me._totalPages < 1) {\n me._totalPages = 0;\n }\n else {\n me._totalPages = Math.ceil(me._totalPages);\n }\n me.SetPager();\n }\n }\n BuildParams(contentWidgetId) {\n var $activitytypeFilter = $(\"div[data-contentwidgetid='\" + contentWidgetId + \"'] div.filter-drop-down[data-filtertype='ActivityTypes']\");\n var arrayTypes = new Array;\n $activitytypeFilter.find(\"span.fa-check\").each(function (i, e) {\n arrayTypes.push(parseInt($(e).attr(\"data-id\")));\n });\n var activityTypes = arrayTypes.join(\",\");\n var params = {\n Take: this._take,\n PageIndex: this._pageIndex,\n SortBy: this._sortBy,\n SortAscending: this._sortAscending,\n Skip: 0,\n ActivityTypes: activityTypes,\n SearchText: this._searchText,\n SearchAttributeTypeId: this._searchActivityTypeId\n };\n return params;\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-participantactivity-list\").each(function (index, item) {\n $(item).data(\"manager\", new ParticipantActivityList(item));\n });\n});\nclass Points {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this.bindControls();\n }\n bindControls() {\n var me = this;\n var isFielo = $(me._widget).find(\".participant-points\").attr(\"data-is-fielo\");\n var htmlContentToUpdate = $(me._widget).find(\"#formatted-points\");\n if (isFielo == \"True\" && $(me._widget).find(\".participant-points\").attr(\"data-fielo-member-id\") != \"\") {\n var fielocustomfield = $(me._widget).find(\".participant-points\").attr(\"data-fielo-custom-field\");\n me.GetMemberCall(fielocustomfield, 0, false, htmlContentToUpdate);\n }\n }\n GetMemberCall(fielocustomfield, attempt, renew, htmlContentToUpdate) {\n var me = this;\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: \"/Fielo/GetMember/\" + fielocustomfield + \"/\" + renew,\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null && data.result != undefined) {\n data.result.fieldName = fielocustomfield;\n data.result.attempt = attempt + 1;\n data.result.htmlContentToUpdate = htmlContentToUpdate;\n me.updateUI(data.result);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n return;\n }\n }\n updateUI(data) {\n var me = this;\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetMemberCall(data.fieldName, data.attempt, true, data.htmlContentToUpdate);\n }\n else if (data.errorCode != \"\") {\n data.result.attempt = data.result.attempt + 1;\n me.GetMemberCall(data.fieldName, data.attempt, true, data.htmlContentToUpdate);\n return;\n }\n else {\n $(data.htmlContentToUpdate).html(data.responseData.formattedData);\n }\n }\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-points\").each(function (index, item) {\n $(item).data(\"manager\", new Points(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\n/// <reference path=\"../lib/helper.thirdParty.d.ts\" />\nclass TeamLeaderTeamDetail {\n constructor(widget) {\n this.FilterValues = [];\n this.FilterTrackedValues = [];\n this._widget = widget;\n this.initialize();\n }\n getValidationDiv(className) {\n var validationDiv;\n var validationDivTemp = $(\".js-global-modal\").find(className);\n var isArray = $.isArray(validationDiv);\n if (isArray) {\n validationDiv = $(validationDivTemp[0]);\n }\n return validationDiv;\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._widgetContainer = \"widget-teamleader-team-detail-container-\" + this._widgetId;\n this._globalModal = new GlobalModal(this._widgetId);\n GlobalPopulateTimeZones($(\"#time-zone\"));\n this.bindControls();\n }\n bindControls() {\n var me = this;\n //$(this._widget).find('.copy-link').tooltip({\n // trigger: 'click',\n // placement: 'bottom'\n //});\n ApplyGageToolTip($(this._widget).find('.copy-link'));\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Student List\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n var activeTab = me.getUrlVars()[\"activeTab\"];\n if (activeTab) {\n //$(\".\" + me._widgetContainer).find('.nav-tabs a[href=\"#' + activeTab + '\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#' + activeTab + '-tab')).show();\n }\n $(\".\" + me._widgetContainer).on(\"click\", \".js-member-completion\", function (e) {\n e.preventDefault();\n me.getTeamContentCompletionForParticipant($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-save-team-detail\", function (e) {\n e.preventDefault();\n me.saveTeam($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-add-assignment\", function (e) {\n e.preventDefault();\n me.getContentSelector($(e.currentTarget));\n });\n // Bulk edit start and end dates for assignments\n $(\".\" + me._widgetContainer).on(\"click\", \".js-edit-assignments\", function (e) {\n me.getEditAssignmentsSelector($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-remove-content-assignment\", function (e) {\n e.preventDefault();\n me.removeContentAssignment($(e.currentTarget));\n });\n //$('body').tooltip({\n // selector: '[data-toggle=tooltip]'\n //});\n ApplyGageToolTip($('[data-toggle=\"tooltip\"]'));\n ApplyGageToolTip($('[data-bs-toggle=\"tooltip\"]'));\n $(\".js-global-modal\").on(\"click\", \".js-show-system-names\", function (e) {\n var source = $(\".js-global-modal\").find(\".js-course-selection\");\n if ($(e.currentTarget).is(\":checked\")) {\n $.each(source, function (index, element) {\n $(element).attr(\"data-display-value\", $(element).attr(\"data-content-name\"));\n $(element).closest(\".js-selected-course-row\").find(\"#contentname\").html($(element).attr(\"data-content-name\"));\n $(element).find(\"td\").find(\"#contentname\").html($(element).attr(\"data-content-name\"));\n });\n }\n else {\n $.each(source, function (index, element) {\n $(element).attr(\"data-display-value\", $(element).attr(\"data-content-item-name\"));\n $(element).closest(\".js-selected-course-row\").find(\"#contentname\").html($(element).attr(\"data-content-item-name\"));\n $(element).find(\"td\").find(\"#contentname\").html($(element).attr(\"data-content-item-name\"));\n });\n }\n });\n $(\".js-global-modal\").on(\"click\", \".js-remove-course\", function () {\n var contentid = $(this).attr(\"data-content-id\");\n $(this).closest(\"tr\").remove();\n var buttons = $(\".content-id-\" + contentid).find(\"button.js-course-selection\");\n buttons.removeAttr(\"disabled\");\n //buttons.find(\"span.fa-solid\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n buttons.find(\"span.fas\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n buttons.attr(\"data-selected\", \"false\");\n // Show any curriclum rows that were previoulsy hidden\n var parentCurriculumId = null;\n $(\".content-id-\" + contentid + \" button.js-course-selection\").each(function (i, e) {\n if ($(e).attr('data-parent') != \"\") {\n parentCurriculumId = $(e).attr('data-parent');\n }\n });\n if ($(\"button.js-course-selection[data-parent=\" + parentCurriculumId + \"]:not(:disabled)\").length > 0) {\n var currButton = $(\"tr.curriculum-id-\" + parentCurriculumId).find(\"button.js-curriculum-selection\");\n currButton.removeAttr(\"disabled\");\n //currButton.find(\"span.fa-solid\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n currButton.find(\"span.fas\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n }\n if ($(\".js-assignments-list\").find(\".js-assigned-course\").length == 0) {\n $(\".js-assignments-list\").addClass(\"hidden\");\n $(\".js-no-assignments\").removeClass(\"hidden\");\n }\n });\n $(\".js-global-modal\").on(\"click\", \".set-up-assignments\", function () {\n $(\".global-modal-container\").animate({\n scrollTop: $(\"#setupAssignments\").offset().top\n }, 2000);\n });\n $(\".js-global-modal\").on(\"click\", \".js-curriculum-selection\", function (e) {\n var alreadyAdded = $(this).attr(\"data-selected\");\n if (alreadyAdded === \"false\") {\n $(this).attr(\"data-selected\", \"true\");\n //$(this).find(\"span.fa-solid\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n $(this).find(\"span.fas\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n }\n else {\n $(this).attr(\"data-selected\", \"false\");\n //$(this).find(\"span.fa-solid\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n $(this).find(\"span.fas\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n }\n var fieldName = $(this).attr('data-field-name');\n $(\".js-global-modal .js-assignments-list\").removeClass('hidden');\n $(\".js-global-modal .js-no-assignments\").addClass(\"hidden\");\n $.each($('.js-global-modal .js-course-selection[data-parent=' + fieldName + ']'), function (i, e) {\n if (alreadyAdded === \"false\") {\n if ($(e).attr(\"data-selected\") === \"false\") {\n $(e).trigger('click');\n }\n }\n else {\n if ($(e).attr(\"data-selected\") === \"true\") {\n $(e).trigger('click');\n }\n }\n });\n });\n $(\".js-global-modal\").on(\"click\", \".js-course-selection\", function (e) {\n var alreadyAdded = $(this).attr(\"data-selected\");\n var contentid = $(this).attr(\"data-content-id\");\n var buttons = $(\".content-id-\" + contentid).find(\"button.js-course-selection\");\n var numberOfAssginments = 0;\n var contentitemname = $(this).attr('data-content-item-name');\n if (alreadyAdded === \"false\") {\n var contentname = $(this).attr('data-content-name');\n //var contentitemname = $(this).attr('data-content-item-name');\n var displayvalue = $(this).attr('data-display-value');\n var contenttype = $(this).attr('data-content-type');\n var contentidentifier = $(this).attr('data-content-identifier');\n var timeZone = $(\"#time-zone\").val();\n var rawStartDate = $(\".js-global-modal\").attr(\"data-team-start-date\");\n var rawEndDate = $(\".js-global-modal\").attr(\"data-team-end-date\");\n var formattedRawStartDate = \"\";\n var formattedRawEndDate = \"\";\n if (rawStartDate != \"\") {\n formattedRawStartDate = DisplayDateInTimeZoneFormat(rawStartDate, \"MM/DD/YYYY\", timeZone);\n }\n if (rawEndDate != \"\") {\n formattedRawEndDate = DisplayDateInTimeZoneFormat(rawEndDate, \"MM/DD/YYYY\", timeZone);\n }\n buttons.attr(\"data-selected\", \"true\");\n //buttons.find(\"span.fa-solid\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n buttons.find(\"span.fas\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n $(\".js-global-modal .js-assignments-list\").removeClass('hidden');\n $(\".js-global-modal .js-no-assignments\").addClass(\"hidden\");\n if ($('.js-global-modal .js-assignments-list .js-course-selection[data-content-identifier=' + contentidentifier + ']').length === 0) {\n var params = {\n ContentName: contentname,\n ContentItemName: contentitemname,\n ContentIdentifier: contentidentifier,\n ContentId: contentid,\n DisplayValue: displayvalue,\n ContentType: contenttype,\n StartDate: formattedRawStartDate,\n EndDate: formattedRawEndDate\n };\n $.when(globalThis.gage.submitAjaxRequest(params, \"/Team/GetSingleTeamContentAssignment\", \"GET\")\n .done(function (data, textStatus, request) {\n $(\".js-global-modal .js-assignments-list tbody\").append(data);\n var startDateEl = $('#selected-course-start-datepicker-' + contentid).get(0);\n var endDateEl = $('#selected-course-end-datepicker-' + contentid).get(0);\n // @ts-ignore\n me.initializeDatePickerForAddContentAssignment(startDateEl, endDateEl, formattedRawStartDate, formattedRawEndDate, false);\n numberOfAssginments = $(\".js-selected-courses tbody tr\").length;\n $(\".js-assignments-counter\").text(numberOfAssginments);\n if (numberOfAssginments > 0) {\n $(\".js-items-added-summary\").removeClass(\"hidden\");\n }\n else {\n $(\".js-items-added-summary\").addClass(\"hidden\");\n }\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n // Hide any curriculums that have no visible courses under them remaining \n var parentCurriculumId = null;\n $(\".content-id-\" + contentid + \" button.js-course-selection\").each(function (i, e) {\n if ($(e).attr('data-parent') != \"\") {\n parentCurriculumId = $(e).attr('data-parent');\n }\n });\n if ($(\"button.js-course-selection[data-parent=\" + parentCurriculumId + \"]:not(:disabled)\").length == 0) {\n var currButton = $(\"tr.curriculum-id-\" + parentCurriculumId).find(\"button.js-curriculum-selection\");\n currButton.attr(\"disabled\", \"disabled\");\n //currButton.find(\"span.fa-solid\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n currButton.find(\"span.fas\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n }\n var addMsg = $(\".js-add-message\").text();\n addMsg = addMsg.replace(\"{assignmentName}\", contentitemname);\n $(\".js-last-action-msg\").text(addMsg);\n }\n else {\n buttons.attr(\"data-selected\", \"false\");\n //buttons.find(\"span.fa-solid\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n buttons.find(\"span.fas\").removeClass(\"fa-check\").addClass(\"fa-plus\");\n $(\"tr.js-assigned-course[data-content-id=\" + contentid + \"]\").remove();\n if ($(\"tr.js-assigned-course\").length === 0) {\n $(\".js-global-modal .js-assignments-list\").addClass('hidden');\n $(\".js-global-modal .js-no-assignments\").removeClass(\"hidden\");\n }\n var removeMsg = $(\".js-remove-message\").text();\n removeMsg = removeMsg.replace(\"{assignmentName}\", contentitemname);\n $(\".js-last-action-msg\").text(removeMsg);\n numberOfAssginments = $(\".js-selected-courses tbody tr\").length;\n $(\".js-assignments-counter\").text(numberOfAssginments);\n if (numberOfAssginments > 0) {\n $(\".js-items-added-summary\").removeClass(\"hidden\");\n }\n else {\n $(\".js-items-added-summary\").addClass(\"hidden\");\n }\n }\n });\n $(\".js-global-modal\").on(\"click\", \".js-save-course-assignment\", function (e) {\n e.preventDefault();\n me.saveTeamContent($(e.currentTarget));\n });\n /* Save Edit Course Assginment Dates */\n $(\".js-global-modal\").on(\"click\", \".js-save-edit-assignments\", function (e) {\n e.preventDefault();\n me.saveEditAssignments($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-edit-course-details\", function (e) {\n e.preventDefault();\n me.getCourseDetail($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-remove-member\", function (e) {\n e.preventDefault();\n me.removeMember($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-promote-member, .js-demote-member\", function (e) {\n e.preventDefault();\n me.changeRole($(e.currentTarget));\n });\n $(\".js-global-modal\").on(\"click\", \".js-save-course-detail\", function (e) {\n e.preventDefault();\n me.saveCourseDetail($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-completions-for-course\", function (e) {\n e.preventDefault();\n me.getParticipantCompletionsForCourse($(e.currentTarget));\n });\n $(\".js-global-modal\").on(\"click\", \".js-toggle-courses\", function () {\n var currentState = $(this).attr(\"data-state\");\n var identifier = $(this).closest(\"tr\").attr(\"id\");\n if (currentState == \"collapsed\") {\n $(this).attr('data-state', 'expanded');\n $(\".js-curriculum-list-table\").find(\"tr[data-parent=\" + identifier + \"]\").removeClass(\"hidden\");\n //$(this).find(\"span.fa-solid\").removeClass(\"fa-caret-right\").addClass(\"fa-caret-down\");\n $(this).find(\"span.fas\").removeClass(\"fa-caret-right\").addClass(\"fa-caret-down\");\n }\n else {\n $(this).attr('data-state', 'collapsed');\n $(\".js-curriculum-list-table\").find(\"tr[data-parent=\" + identifier + \"]\").addClass(\"hidden\");\n //$(this).find(\"span.fa-solid\").removeClass(\"fa-caret-down\").addClass(\"fa-caret-right\");\n $(this).find(\"span.fas\").removeClass(\"fa-caret-down\").addClass(\"fa-caret-right\");\n }\n });\n $(\".js-global-modal\").on(\"click\", \".js-show-set-start-dates\", function () {\n if ($(this).attr(\"aria-expanded\") == \"false\") {\n $(this).attr(\"aria-expanded\", \"true\");\n $(\".js-global-modal\").find(\".js-set-start-dates-container\").removeClass(\"hidden\");\n }\n else {\n $(this).attr(\"aria-expanded\", \"false\");\n $(\".js-global-modal\").find(\".js-set-start-dates-container\").addClass(\"hidden\");\n }\n });\n $(\".js-global-modal\").on(\"click\", \".js-show-set-end-dates\", function () {\n if ($(this).attr(\"aria-expanded\") == \"false\") {\n $(this).attr(\"aria-expanded\", \"true\");\n $(\".js-global-modal\").find(\".js-set-end-dates-container\").removeClass(\"hidden\");\n }\n else {\n $(this).attr(\"aria-expanded\", \"false\");\n $(\".js-global-modal\").find(\".js-set-end-dates-container\").addClass(\"hidden\");\n }\n });\n $(\".js-global-modal\").on(\"click\", \".js-show-set-end-dates\", function () {\n });\n me.setAssignmentDataTable();\n me.setMemberDataTable();\n me.bindTeamDatePickers();\n }\n setDefaultDatesForDatePicker() {\n return dayjs().format(\"MM/DD/YYYY hh:mm A\");\n }\n copyToClipBoard() {\n var me = this;\n var textarea = document.createElement('textarea');\n textarea.textContent = $.trim($(\".\" + me._widgetContainer).find(\".js-copy-link-label\").text());\n document.body.appendChild(textarea);\n var selection = document.getSelection();\n var range = document.createRange();\n range.selectNode(textarea);\n selection.removeAllRanges();\n selection.addRange(range);\n console.log('copy success', document.execCommand('copy'));\n selection.removeAllRanges();\n document.body.removeChild(textarea);\n }\n bindTeamDatePickers() {\n var originalTimeZone = $(\"#time-zone\").attr(\"data-time-zone\");\n if (originalTimeZone != \"\") {\n $(\"#time-zone\").val(originalTimeZone);\n }\n var tz = $(\"#time-zone\").val();\n if ($(\"#start-date\").attr(\"data-start-date\") != \"\") {\n var formattedStartDate = DisplayDateInTimeZoneFormat($(\"#start-date\").attr(\"data-start-date\"), \"MM/DD/YYYY\", tz);\n $('#start-date').val(formattedStartDate);\n }\n if ($(\"#end-date\").attr(\"data-end-date\") != \"\") {\n var formattedEndDate = DisplayDateInTimeZoneFormat($(\"#end-date\").attr(\"data-end-date\"), \"MM/DD/YYYY\", tz);\n $('#end-date').val(formattedEndDate);\n }\n var pickers = ConfigureDatePicker($('.trigger-date'));\n var startPicker = pickers.filter(function (element) { return element[0] == \"startdatepicker\"; })[0][1];\n var endDatePicker = pickers.filter(function (element) { return element[0] == \"enddatepicker\"; })[0][1];\n BindDatePickerEvents(startPicker, endDatePicker, document.getElementById(\"startdatepicker\"), document.getElementById(\"enddatepicker\"));\n }\n setAssignmentDataTable() {\n var me = this;\n var table = $(\".\" + me._widgetContainer).find(\".table.assignment-dataTable\");\n var sortable = $(\".\" + me._widgetContainer).find(\".js-add-sortable\").val();\n if (sortable === \"\") {\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": true,\n \"dom\": '<\"top\"<\"left jsLeftFilter\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">',\n order: [],\n \"columnDefs\": [\n { type: 'date', \"targets\": 1 },\n { type: 'date', \"targets\": 2 },\n { \"targets\": 3, \"searchable\": false, \"orderable\": false },\n { \"targets\": 4, \"searchable\": false, \"orderable\": false },\n { \"targets\": 5, \"searjs-curriculum-selectionchable\": false, \"orderable\": false },\n { \"targets\": 6, \"searchable\": false, \"orderable\": false }\n ],\n \"drawCallback\": function (settings) {\n if ($(\".jsLeftFilter\").find(\".js-filter-table\").length === 0) {\n var aFilters = $(\".js-filter-table\").clone();\n $(\".js-filter-table\").appendTo(\".jsLeftFilter\");\n }\n }\n });\n }\n else {\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": true,\n \"dom\": '<\"top\"<\"left jsLeftFilter\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">',\n order: [],\n \"columnDefs\": [\n { \"targets\": 0, \"searchable\": false, \"orderable\": false },\n { type: 'date', \"targets\": 2 },\n { type: 'date', \"targets\": 3 },\n { \"targets\": 4, \"searchable\": false, \"orderable\": false },\n { \"targets\": 5, \"searchable\": false, \"orderable\": false },\n { \"targets\": 6, \"searjs-curriculum-selectionchable\": false, \"orderable\": false },\n { \"targets\": 7, \"searchable\": false, \"orderable\": false }\n ],\n \"drawCallback\": function (settings) {\n if ($(\".jsLeftFilter\").find(\".js-filter-table\").length === 0) {\n var aFilters = $(\".js-filter-table\").clone();\n $(\".js-filter-table\").appendTo(\".jsLeftFilter\");\n }\n }\n });\n }\n }\n setAssignmentContentListDataTable() {\n var me = this;\n var table = $(\".js-global-modal\").find(\".table.content-list-dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": true,\n \"dom\": '<\"top\"<\"left\"><\"left js-add-all-content\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">',\n \"columnDefs\": [\n { \"targets\": 1, \"searchable\": false, \"orderable\": false },\n { \"targets\": 3, \"searchable\": true, \"orderable\": false, \"visible\": false },\n { \"targets\": 4, \"searchable\": false, \"orderable\": false },\n { \"targets\": 5, \"searchable\": false, \"orderable\": false }\n ],\n \"drawCallback\": function (settings) {\n var ogtable = $(\".content-list-dataTable\").DataTable();\n var availCoursesCount = 0;\n ogtable.rows({ filter: 'applied' }).every(function (index, element) {\n var row = $(this.node());\n var addColumn = row.find('td').eq(4);\n var addButton = $(addColumn).find(\"button.js-course-selection\");\n if ($(addButton).length > 0) {\n availCoursesCount++;\n }\n });\n $(\".js-add-all-content\").find(\".js-add-all-button\").remove();\n var btn = $(\".js-add-all-button\").clone();\n $(\".js-add-all-content\").append(btn);\n var addAllButton = $(\".js-add-all-content\").find(\".js-add-all-button\");\n addAllButton.removeClass(\"hidden\");\n addAllButton.text(addAllButton.text().replace(\"0\", availCoursesCount.toString()));\n $(\".js-add-all-content .js-add-all-button\").on(\"click\", function () {\n var table = $(\".content-list-dataTable\").DataTable();\n table.rows({ filter: 'applied' }).every(function (index, element) {\n var row = $(this.node());\n var addColumn = row.find('td').eq(4);\n var addButton = $(addColumn).find(\"button.js-course-selection\");\n if ($(addButton).attr(\"data-selected\") === \"false\") {\n if ($(addButton).is(\":visible\")) {\n $(addButton).trigger(\"click\");\n }\n else {\n var clonedBtn = $(addButton).clone();\n $(\".js-add-btn-wrapper button\").replaceWith($(clonedBtn));\n $(\".js-add-btn-wrapper button\").trigger(\"click\");\n $(addButton).attr(\"data-selected\", \"true\");\n //$(addButton).find(\"span.fa-solid\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n $(addButton).find(\"span.fas\").removeClass(\"fa-plus\").addClass(\"fa-check\");\n }\n }\n });\n });\n $(\".js-toggle-add-content-filter\").on(\"click\", function (e) {\n var tgtFilter = $(this).attr(\"aria-controls\");\n var tgtState = $(this).attr(\"aria-expanded\");\n if (tgtState === \"false\") {\n $(\"#\" + tgtFilter).removeClass(\"hidden\");\n $(this).attr(\"aria-expanded\", \"true\");\n $(this).find(\"span\").removeClass(\"fa-plus\");\n $(this).find(\"span\").addClass(\"fa-minus\");\n }\n else {\n $(\"#\" + tgtFilter).addClass(\"hidden\");\n $(this).attr(\"aria-expanded\", \"false\");\n $(this).find(\"span\").removeClass(\"fa-minus\");\n $(this).find(\"span\").addClass(\"fa-plus\");\n }\n });\n }\n });\n $(\".js-tag-filter\").on(\"click\", function () {\n var tagIds = \"\";\n $(\".js-tag-filter:checked\").each(function (i, e) {\n if (tagIds != \"\") {\n tagIds += \"|\";\n }\n tagIds += $(e).val();\n });\n var table = $(\".js-global-modal\").find(\".table.content-list-dataTable\").DataTable();\n table.columns(3).search(tagIds, true, false).draw();\n });\n }\n setMemberDataTable() {\n var me = this;\n var table = $(\".\" + me._widgetContainer).find(\".table.member-dataTable\");\n $(table).DataTable({\n \"pageLength\": 25,\n \"searching\": true,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">',\n \"columnDefs\": [\n { type: 'date', \"targets\": 2 },\n { \"targets\": 1, \"searchable\": false, \"orderable\": false },\n { \"targets\": 4, \"searchable\": false, \"orderable\": false },\n ]\n });\n }\n removeContentAssignment(button) {\n var me = this;\n var widgetcontainer = $(button).closest(\".js-content-assignment-row\").attr(\"data-widget-container\");\n var confirmationMessage = $(button).attr(\"data-confirmation-message\");\n var cancelText = $(button).attr(\"data-cancel-text\");\n var okText = $(button).attr(\"data-ok-text\");\n var teamIdentifier = $(button).attr(\"data-team-identifier\");\n var teamContentId = $(button).attr(\"data-team-content-id\");\n var params = {\n TeamIdentifier: teamIdentifier,\n Id: teamContentId\n };\n var url = \"/Api/Manage/TeamContent/Delete/\";\n bootbox.confirm({\n message: confirmationMessage,\n buttons: {\n 'cancel': { label: cancelText },\n 'confirm': { label: okText, className: 'btn-success' }\n },\n callback: function (confirmed) {\n if (confirmed) {\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"DELETE\")\n .done(function (data, textStatus, request) {\n url = \"/Team/RenderTeamLeaderTeamDetail/\" + me._widgetId;\n var params = {\n teamIdentifier: teamIdentifier,\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n //$(\".\" + widgetcontainer).find('.nav-tabs a[href=\"#assignments\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#assignments-tab')).show();\n GlobalPopulateTimeZones($(\"#time-zone\"));\n me.bindTeamDatePickers();\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Student List\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n //@ts-ignore\n waitingDialog.hide();\n }));\n }\n }\n });\n }\n getContentSelector(button) {\n var me = this;\n //@ts-ignore\n waitingDialog.show();\n var globalWindow = this._globalModal;\n var params = {\n selectedPageTypes: $(button).attr(\"data-selected-page-types\"),\n selectedCategories: $(button).attr(\"data-selected-categories\"),\n selectedTags: $(button).attr(\"data-selected-tags\"),\n showContent: $(button).closest('#assignments').find('.js-show-content').val(),\n showCurriculum: $(button).closest('#assignments').find('.js-show-curriculum').val(),\n defaultFilterType: $(button).closest('#assignments').find('.js-default-filter-type').val(),\n teamIdentifier: $(button).attr(\"data-team-identifier\")\n };\n $.when(globalThis.gage.submitAjaxRequest(params, \"/Team/GetContentSelector\", \"POST\")\n .done(function (data, textStatus, request) {\n //@ts-ignore\n waitingDialog.hide();\n var content = data;\n globalWindow.openGlobalModal(content, \"panel\", { classes: \"add-assignment-modal\" });\n var saveButton = $(\".js-global-modal\").find(\".js-save-course-assignment\");\n me.setAssignmentContentListDataTable();\n var widgetId = $(button).attr(\"data-widget-id\");\n var teamidentifier = $(button).attr(\"data-team-identifier\");\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n var allowcontentnameselection = $(button).attr(\"data-allow-content-name-selection\");\n var defaultassignmentsource = $(button).attr(\"data-default-assignment-source\");\n $(saveButton).attr(\"data-widget-id\", widgetId);\n $(saveButton).attr(\"data-team-identifier\", teamidentifier);\n $(saveButton).attr(\"data-widget-container\", widgetcontainer);\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var teamInfo = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-info\");\n var formattedRawStartDate = \"\";\n var formattedRawEndDate = \"\";\n if (startDate != \"\") {\n formattedRawStartDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", timeZone);\n }\n if (endDate != \"\") {\n formattedRawEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", timeZone);\n }\n $(\".js-global-modal\").attr(\"data-team-start-date\", startDate);\n $(\".js-global-modal\").attr(\"data-team-end-date\", endDate);\n $(\".js-global-modal\").find(\"#data-team-info\").html(teamInfo);\n $(\".js-global-modal\").find(\".js-assignment-tz\").text($(\"#time-zone\").val());\n // Localize Date/Times\n $.each($(\".js-display-date\"), function (i, e) {\n var rawDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(rawDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(rawDate, \"hh:mm a\") + \"</small>\");\n });\n if (allowcontentnameselection !== \"True\") {\n $(\".js-global-modal\").find(\".showsystemnames-container\").remove();\n }\n $.each($(content).find(\".tab-pane\"), function (i, v) {\n var id = $(v).attr('data-id');\n $(\".js-global-modal\").find(\".tab-pane[data-id=\" + id + \"]\").attr('id', id);\n });\n if (defaultassignmentsource === \"Curriculum\") {\n //$(\".js-global-modal\").find('.js-assignments-tabs a[href=\"#curriculumview\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#curriculumview-tab')).show();\n }\n else {\n //$(\".js-global-modal\").find('.js-assignments-tabs a[href=\"#allview\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#allview-tab')).show();\n }\n $(\".js-add-assignment-content\").on(\"click\", \".js-reset-content-filters\", function (e) {\n -$(\"#contentFilter\").trigger(\"reset\");\n var table = $(\".js-global-modal\").find(\".table.content-list-dataTable\").DataTable();\n table.columns(3).search(\"\", true, false).draw();\n });\n var timeZone = $(\"#time-zone\").val();\n if (startDate != \"\") {\n $(\".js-global-modal\").find('#setStartDates').val(DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY hh:mm A\", timeZone));\n }\n if (endDate != \"\") {\n $(\".js-global-modal\").find('#endStartDates').val(DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY hh:mm A\", timeZone));\n }\n var startDateEl = $('#startDatesPicker').get(0);\n var endDateEl = $('#endDatesPicker').get(0);\n // @ts-ignore\n me.initializeDatePickerForAddContentAssignment(startDateEl, endDateEl, formattedRawStartDate, formattedRawEndDate, true);\n /* var showContent = $(\".js-show-content\").val();\n var showCurriculum = $(\".js-show-curriculum\").val();\n var defaultFilterType = $(\".js-default-filter-type\").val();\n \r\n if (showContent === \"false\") {\n $(\".js-content-data\").addClass(\"hidden\").removeClass(\"active\");\n if ($(\".js-curriculum.data\").val() === \"true\") {\n $(\".js-curriculum.data\").addClass(\"active\");\n }\n } else if (showContent === \"true\" && showCurriculum === \"false\") {\n $(\".js-content-data\").addClass(\"active\");\n }\n \r\n if (showCurriculum === \"false\") {\n $(\".js-curriculum-data\").addClass(\"hidden\").removeClass(\"active\");\n if ($(\".js-content-data\").val() === \"true\") {\n $(\".js-content-data\").addClass(\"active\");\n }\n } else if (showCurriculum === \"true\" && showContent === \"false\") {\n $(\".js-curriculum-data\").addClass(\"active\");\n } */\n })\n .fail(function (response, textStatus, errorThrown) {\n //@ts-ignore\n waitingDialog.hide();\n }));\n }\n initializeDatePickerForAddContentAssignment(startEl, endDateEl, startDate, endDate, loop) {\n var me = this;\n // @ts-ignore\n var datetimepicker1 = new tempusDominus.TempusDominus(startEl, {\n useCurrent: false,\n localization: {\n locale: 'en-US',\n format: 'MM/dd/yyyy',\n },\n display: {\n viewMode: 'calendar',\n keepOpen: false,\n buttons: {\n close: false,\n },\n components: {\n calendar: true,\n date: true,\n month: true,\n year: true,\n decades: true,\n clock: true,\n hours: false,\n minutes: false,\n seconds: false,\n }\n },\n });\n // @ts-ignore\n var datetimepicker2 = new tempusDominus.TempusDominus(endDateEl, {\n useCurrent: false,\n localization: {\n locale: 'en-US',\n format: 'MM/dd/yyyy',\n },\n display: {\n viewMode: 'calendar',\n keepOpen: false,\n buttons: {\n close: false,\n },\n components: {\n calendar: true,\n date: true,\n month: true,\n year: true,\n decades: true,\n clock: true,\n hours: false,\n minutes: false,\n seconds: false,\n }\n },\n });\n const subscriptionStart = datetimepicker1.subscribe(\"change.td\", (e) => {\n datetimepicker2.updateOptions({\n restrictions: {\n minDate: e.date,\n },\n });\n });\n if (loop) {\n const subscriptionLoopForStartDate = datetimepicker1.subscribe(\"change.td\", (e) => {\n var teamSingleContentAssignmentDtos = [];\n $(\".js-global-modal .js-course-start-date\").each(function (i, el) {\n var parent = $(el).closest(\".js-assigned-course\");\n var endDate = $(parent).find(\".js-course-end-date\").val();\n var isRequired = $(parent).find(\"#selected-course-is-required\").is(\":checked\");\n var teamSingleContentAssignmentDto = {\n contentname: $(parent).attr('data-content-name'),\n contentitemname: $(parent).attr('data-content-item-name'),\n displayvalue: $(parent).attr('data-display-value'),\n contenttype: $(parent).attr('data-content-type'),\n contentidentifier: $(parent).attr('data-content-identifier'),\n startDate: dayjs(e.date).format(\"MM/DD/YYYY\"),\n endDate: endDate,\n contentId: $(parent).attr(\"data-content-id\"),\n isRequired: isRequired\n };\n teamSingleContentAssignmentDtos.push(teamSingleContentAssignmentDto);\n });\n if (teamSingleContentAssignmentDtos.length > 0) {\n var params = {\n dto: teamSingleContentAssignmentDtos\n };\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var teamInfo = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-info\");\n var timeZone = $(\"#time-zone\").val();\n var formattedRawStartDate = \"\";\n var formattedRawEndDate = \"\";\n if (startDate != \"\") {\n formattedRawStartDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", timeZone);\n }\n if (endDate != \"\") {\n formattedRawEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", timeZone);\n }\n $.when(globalThis.gage.submitAjaxRequest(teamSingleContentAssignmentDtos, \"/Team/ReloadTeamContentAssignment\", \"POST\")\n .done(function (data, textStatus, request) {\n $(\".js-global-modal .js-assignments-list tbody\").html(data);\n $(\".js-global-modal .js-course-start-date\").each(function (i, el) {\n var startDateEl = $(\"#selected-course-start-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n var endDateEl = $(\"#selected-course-end-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n me.initializeDatePickerForAddContentAssignment(startDateEl, endDateEl, formattedRawStartDate, formattedRawEndDate, false);\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n });\n const subscriptionLoopForEndDate = datetimepicker2.subscribe(\"change.td\", (e) => {\n var teamSingleContentAssignmentDtos = [];\n $(\".js-global-modal .js-course-end-date\").each(function (i, el) {\n var parent = $(el).closest(\".js-assigned-course\");\n var startDate = $(parent).find(\".js-course-start-date\").val();\n var isRequired = $(parent).find(\"#selected-course-is-required\").is(\":checked\");\n var teamSingleContentAssignmentDto = {\n contentname: $(parent).attr('data-content-name'),\n contentitemname: $(parent).attr('data-content-item-name'),\n displayvalue: $(parent).attr('data-display-value'),\n contenttype: $(parent).attr('data-content-type'),\n contentidentifier: $(parent).attr('data-content-identifier'),\n startDate: startDate,\n endDate: dayjs(e.date).format(\"MM/DD/YYYY\"),\n contentId: $(parent).attr(\"data-content-id\"),\n isRequired: isRequired\n };\n teamSingleContentAssignmentDtos.push(teamSingleContentAssignmentDto);\n });\n if (teamSingleContentAssignmentDtos.length > 0) {\n var params = {\n dto: teamSingleContentAssignmentDtos\n };\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var teamInfo = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-info\");\n var timeZone = $(\"#time-zone\").val();\n var formattedRawendDate = \"\";\n var formattedRawEndDate = \"\";\n if (startDate != \"\") {\n formattedRawendDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", timeZone);\n }\n if (endDate != \"\") {\n formattedRawEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", timeZone);\n }\n $.when(globalThis.gage.submitAjaxRequest(teamSingleContentAssignmentDtos, \"/Team/ReloadTeamContentAssignment\", \"POST\")\n .done(function (data, textStatus, request) {\n $(\".js-global-modal .js-assignments-list tbody\").html(data);\n $(\".js-global-modal .js-course-end-date\").each(function (i, el) {\n var startDateEl = $(\"#selected-course-start-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n var endDateEl = $(\"#selected-course-end-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n me.initializeDatePickerForAddContentAssignment(startDateEl, endDateEl, formattedRawendDate, formattedRawEndDate, false);\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n });\n }\n //using subscribe method\n const subscription = datetimepicker2.subscribe(\"change.td\", (e) => {\n datetimepicker1.updateOptions({\n restrictions: {\n maxDate: e.date,\n },\n });\n });\n if (startDate) {\n datetimepicker1.updateOptions({\n restrictions: {\n minDate: dayjs(startDate).toDate()\n }\n });\n }\n if (endDate) {\n datetimepicker1.updateOptions({\n restrictions: {\n maxDate: dayjs(endDate).toDate()\n }\n });\n datetimepicker2.updateOptions({\n restrictions: {\n maxDate: dayjs(endDate).toDate(),\n minDate: dayjs().toDate()\n }\n });\n }\n }\n initializeDatePickerForEditContentAssignment(startEl, endDateEl, startDate, endDate, loop) {\n var me = this;\n // @ts-ignore\n var datetimepicker1 = new tempusDominus.TempusDominus(startEl, {\n useCurrent: false,\n localization: {\n locale: 'en-US',\n format: 'MM/dd/yyyy',\n },\n display: {\n viewMode: 'calendar',\n keepOpen: false,\n buttons: {\n close: false,\n },\n components: {\n calendar: true,\n date: true,\n month: true,\n year: true,\n decades: true,\n clock: true,\n hours: false,\n minutes: false,\n seconds: false,\n }\n },\n });\n // @ts-ignore\n var datetimepicker2 = new tempusDominus.TempusDominus(endDateEl, {\n useCurrent: false,\n localization: {\n locale: 'en-US',\n format: 'MM/dd/yyyy',\n },\n display: {\n viewMode: 'calendar',\n keepOpen: false,\n buttons: {\n close: false,\n },\n components: {\n calendar: true,\n date: true,\n month: true,\n year: true,\n decades: true,\n clock: true,\n hours: false,\n minutes: false,\n seconds: false,\n }\n },\n });\n const subscriptionStart = datetimepicker1.subscribe(\"change.td\", (e) => {\n datetimepicker2.updateOptions({\n restrictions: {\n minDate: e.date,\n },\n });\n });\n if (loop) {\n const subscriptionLoopForStartDate = datetimepicker1.subscribe(\"change.td\", (e) => {\n var teamSingleContentAssignmentDtos = [];\n $(\".js-global-modal .js-course-start-date\").each(function (i, el) {\n var parent = $(el).closest(\".js-assigned-course\");\n var endDate = $(parent).find(\".js-course-end-date\").val();\n var teamSingleContentAssignmentDto = {\n contentname: $(parent).attr('data-content-name'),\n contentitemname: $(parent).attr('data-content-item-name'),\n contentidentifier: $(parent).attr('data-content-identifier'),\n startDate: dayjs(e.date).format(\"MM/DD/YYYY\"),\n endDate: endDate,\n contentId: $(parent).attr(\"data-content-id\"),\n contentType: $(parent).attr(\"data-content-type\"),\n title: $(parent).attr('data-content-item-name')\n };\n teamSingleContentAssignmentDtos.push(teamSingleContentAssignmentDto);\n });\n if (teamSingleContentAssignmentDtos.length > 0) {\n var params = {\n dto: teamSingleContentAssignmentDtos\n };\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var teamInfo = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-info\");\n var timeZone = $(\"#time-zone\").val();\n var formattedRawStartDate = \"\";\n var formattedRawEndDate = \"\";\n if (startDate != \"\") {\n formattedRawStartDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", timeZone);\n }\n if (endDate != \"\") {\n formattedRawEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", timeZone);\n }\n $.when(globalThis.gage.submitAjaxRequest(teamSingleContentAssignmentDtos, \"/Team/ReloadEditTeamContentAssignment\", \"POST\")\n .done(function (data, textStatus, request) {\n $(\".js-global-modal .js-edit-assignments-list tbody\").html(data);\n $(\".js-global-modal .js-course-start-date\").each(function (i, el) {\n var startDateEl = $(\"#edit-course-start-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n var endDateEl = $(\"#edit-course-start-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n me.initializeDatePickerForEditContentAssignment(startDateEl, endDateEl, formattedRawStartDate, formattedRawEndDate, false);\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n });\n const subscriptionLoopForEndDate = datetimepicker2.subscribe(\"change.td\", (e) => {\n var teamSingleContentAssignmentDtos = [];\n $(\".js-global-modal .js-course-end-date\").each(function (i, el) {\n var parent = $(el).closest(\".js-assigned-course\");\n var startDate = $(parent).find(\".js-course-start-date\").val();\n var isRequired = $(parent).find(\"#selected-course-is-required\").is(\":checked\");\n var teamSingleContentAssignmentDto = {\n contentname: $(parent).attr('data-content-name'),\n contentitemname: $(parent).attr('data-content-item-name'),\n contentidentifier: $(parent).attr('data-content-identifier'),\n startDate: startDate,\n endDate: dayjs(e.date).format(\"MM/DD/YYYY\"),\n contentId: $(parent).attr(\"data-content-id\"),\n contentType: $(parent).attr(\"data-content-type\"),\n title: $(parent).attr('data-content-item-name')\n };\n teamSingleContentAssignmentDtos.push(teamSingleContentAssignmentDto);\n });\n if (teamSingleContentAssignmentDtos.length > 0) {\n var params = {\n dto: teamSingleContentAssignmentDtos\n };\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var teamInfo = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-info\");\n var timeZone = $(\"#time-zone\").val();\n var formattedRawendDate = \"\";\n var formattedRawEndDate = \"\";\n if (startDate != \"\") {\n formattedRawendDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", timeZone);\n }\n if (endDate != \"\") {\n formattedRawEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", timeZone);\n }\n $.when(globalThis.gage.submitAjaxRequest(teamSingleContentAssignmentDtos, \"/Team/ReloadEditTeamContentAssignment\", \"POST\")\n .done(function (data, textStatus, request) {\n $(\".js-global-modal .js-edit-assignments-list tbody\").html(data);\n $(\".js-global-modal .js-course-end-date\").each(function (i, el) {\n var startDateEl = $(\"#edit-course-start-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n var endDateEl = $(\"#edit-course-start-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n me.initializeDatePickerForEditContentAssignment(startDateEl, endDateEl, formattedRawendDate, formattedRawEndDate, false);\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n });\n }\n //using subscribe method\n const subscription = datetimepicker2.subscribe(\"change.td\", (e) => {\n datetimepicker1.updateOptions({\n restrictions: {\n maxDate: e.date,\n },\n });\n });\n if (startDate) {\n datetimepicker1.updateOptions({\n restrictions: {\n minDate: dayjs(startDate).toDate()\n }\n });\n }\n if (endDate) {\n datetimepicker1.updateOptions({\n restrictions: {\n maxDate: dayjs(endDate).toDate()\n }\n });\n datetimepicker2.updateOptions({\n restrictions: {\n maxDate: dayjs(endDate).toDate(),\n minDate: dayjs().toDate()\n }\n });\n }\n }\n /* Bulk edit assignments start and end dates */\n getEditAssignmentsSelector(button) {\n var me = this;\n // @ts-ignore\n waitingDialog.show(\"\");\n var globalWindow = this._globalModal;\n var params = {\n selectedPageTypes: $(button).attr(\"data-selected-page-types\"),\n selectedCategories: $(button).attr(\"data-selected-categories\"),\n selectedTags: $(button).attr(\"data-selected-tags\"),\n showContent: $(button).closest('#assignments').find('.js-show-content').val(),\n showCurriculum: $(button).closest('#assignments').find('.js-show-curriculum').val(),\n defaultFilterType: $(button).closest('#assignments').find('.js-default-filter-type').val(),\n teamIdentifier: $(button).attr(\"data-team-identifier\")\n };\n $.when(globalThis.gage.submitAjaxRequest(params, \"/Team/GetEditAssignmentsSelector\", \"POST\")\n .done(function (data, textStatus, request) {\n // @ts-ignore\n waitingDialog.hide();\n var content = data;\n globalWindow.openGlobalModal(content, \"panel\", { classes: \"edit-assignment-modal\" });\n var saveButton = $(\".js-global-modal\").find(\".js-save-edit-assignments\");\n var widgetId = $(button).attr(\"data-widget-id\");\n var teamidentifier = $(button).attr(\"data-team-identifier\");\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n $(saveButton).attr(\"data-widget-id\", widgetId);\n $(saveButton).attr(\"data-team-identifier\", teamidentifier);\n $(saveButton).attr(\"data-widget-container\", widgetcontainer);\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var teamInfo = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-info\");\n var timeZone = $(\"#time-zone\").val();\n var formattedRawStartDate = \"\";\n var formattedRawEndDate = \"\";\n if (startDate != \"\") {\n formattedRawStartDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", timeZone);\n }\n if (endDate != \"\") {\n formattedRawEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", timeZone);\n }\n $(\".js-global-modal\").attr(\"data-team-start-date\", startDate);\n $(\".js-global-modal\").attr(\"data-team-end-date\", endDate);\n $(\".js-global-modal\").find(\"#data-team-info\").html(teamInfo);\n $(\".js-global-modal\").find(\".js-assignment-tz\").text($(\"#time-zone\").val());\n // Localize Date/Times\n $.each($(\".js-display-date\"), function (i, e) {\n var rawDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(rawDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(rawDate, \"hh:mm a\") + \"</small>\");\n });\n var startDateEl = $('#startDatesPicker').get(0);\n var endDateEl = $('#endDatesPicker').get(0);\n // @ts-ignore\n me.initializeDatePickerForEditContentAssignment(startDateEl, endDateEl, formattedRawStartDate, formattedRawEndDate, true);\n $(\".js-global-modal .js-course-start-date\").each(function (i, el) {\n if ($(\"#edit-course-start-date-\" + $(el).attr(\"data-id\")).val() != \"\") {\n var formattedStartDate = DisplayDateInTimeZoneFormat($(\"#edit-course-start-date-\" + $(el).attr(\"data-id\")).val(), \"MM/DD/YYYY\", timeZone);\n $(\"#edit-course-start-date-\" + $(el).attr(\"data-id\")).val(formattedStartDate);\n }\n if ($(\"#edit-course-end-date-\" + $(el).attr(\"data-id\")).val() != \"\") {\n var formattedEndDate = DisplayDateInTimeZoneFormat($(\"#edit-course-end-date-\" + $(el).attr(\"data-id\")).val(), \"MM/DD/YYYY\", timeZone);\n $(\"#edit-course-end-date-\" + $(el).attr(\"data-id\")).val(formattedEndDate);\n }\n var startDateEl = $(\"#edit-course-start-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n var endDateEl = $(\"#edit-course-end-datepicker-\" + $(el).attr(\"data-id\")).get(0);\n me.initializeDatePickerForEditContentAssignment(startDateEl, endDateEl, formattedRawStartDate, formattedRawEndDate, false);\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n // @ts-ignore\n waitingDialog.hide();\n }));\n }\n changeRole(button) {\n var me = this;\n var widgetcontainer = $(button).closest(\".js-member-detail-row\").attr(\"data-widget-container\");\n var widgetId = $(button).closest(\".js-member-detail-row\").attr(\"data-widget-Id\");\n var teamIdentifier = $(button).closest(\".js-member-detail-row\").attr(\"data-team-identifier\");\n var participantId = $(button).closest(\".js-member-detail-row\").attr(\"data-participant-id\");\n var action = $(button).attr(\"data-action\");\n var confirmationMessage = $(button).attr(\"data-confirmation-message\");\n var cancelText = $(button).attr(\"data-cancel-text\");\n var okText = $(button).attr(\"data-ok-text\");\n var datagroups = $(button).attr(\"data-groups\");\n var url = \"\";\n if (action === \"promote\") {\n /*url = \"/API/Manage/Team/Promote/\" + teamIdentifier + \"/\" + participantId + \"/\" + datagroups;*/\n url = \"/API/Manage/Team/Promote\";\n }\n else {\n url = \"/API/Manage/Team/Demote/\";\n }\n var dto = {\n Identifier: teamIdentifier,\n OwnerParticipantID: participantId,\n GroupsCollection: datagroups\n };\n bootbox.confirm({\n message: confirmationMessage,\n buttons: {\n 'cancel': { label: cancelText },\n 'confirm': { label: okText, className: 'btn-success' }\n },\n callback: function (confirmed) {\n if (confirmed) {\n $.when(globalThis.gage.submitAjaxRequest(dto, url, \"POST\")\n .done(function (data, textStatus, request) {\n var params = {\n teamIdentifier: teamIdentifier,\n };\n url = \"/Team/RenderTeamLeaderTeamDetail/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n //$(\".\" + widgetcontainer).find('.nav-tabs a[href=\"#members\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#members-tab')).show();\n me.bindTeamDatePickers();\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Students\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n }\n });\n }\n removeMember(button) {\n var me = this;\n var widgetcontainer = $(button).closest(\".js-member-detail-row\").attr(\"data-widget-container\");\n var widgetId = $(button).closest(\".js-member-detail-row\").attr(\"data-widget-Id\");\n var teamIdentifier = $(button).closest(\".js-member-detail-row\").attr(\"data-team-identifier\");\n var participantId = $(button).closest(\".js-member-detail-row\").attr(\"data-participant-id\");\n var params = {\n Id: teamIdentifier,\n ParticipantId: participantId\n };\n var url = \"/API/Manage/Team/RemoveMember/\";\n var confirmationMessage = $(button).attr(\"data-confirmation-message\");\n var cancelText = $(button).attr(\"data-cancel-text\");\n var okText = $(button).attr(\"data-ok-text\");\n bootbox.confirm({\n message: confirmationMessage,\n buttons: {\n 'cancel': { label: cancelText },\n 'confirm': { label: okText, className: 'btn-success' }\n },\n callback: function (confirmed) {\n if (confirmed) {\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n var params = {\n teamIdentifier: teamIdentifier,\n };\n url = \"/Team/RenderTeamLeaderTeamDetail/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n //$(\".\" + widgetcontainer).find('.nav-tabs a[href=\"#members\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#members-tab')).show();\n me.bindTeamDatePickers();\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Students\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n }\n });\n }\n getCourseDetail(button) {\n var me = this;\n var saveButton = $(\".js-edit-course-detail-container\").find(\".js-save-course-detail\");\n var availabledate = $(button).attr(\"data-teamcontent-availabledate\") === \"\"\n ? \"\"\n : $(button).attr(\"data-teamcontent-availabledate\");\n var duedate = $(button).attr(\"data-teamcontent-duedate\") === \"\"\n ? \"\"\n : $(button).attr(\"data-teamcontent-duedate\");\n $(\".js-unformatted-startdate\").text(availabledate + \" UTC\");\n $(\".js-unformatted-duedate\").text(duedate + \" UTC\");\n var isrequired = $(button).attr(\"data-teamcontent-isrequired\");\n var contentname = $(button).attr(\"data-teamcontent-coursename\");\n var tz = $(\"#time-zone\").val();\n var dateHeader = me.makeDate($(button).attr(\"data-anytime-text\"));\n $(\".js-edit-course-detail-container\").find(\".js-edit-course-name\").html(contentname);\n $(\".js-edit-course-detail-container\").find(\".js-edit-team-dates\").html(dateHeader);\n $(\".js-edit-course-detail-container\").find(\".js-edit-course-isrequired\").removeAttr(\"checked\");\n if (isrequired === \"True\") {\n $(\".js-edit-course-detail-container\").find(\".js-edit-course-isrequired\").attr(\"checked\", \"checked\");\n }\n var widgetId = $(button).closest(\".widget-teamleader-team-detail\").attr(\"data-contentwidgetid\");\n var teamContentId = $(button).attr(\"data-teamcontent-id\");\n var contentIdentifier = $(button).attr(\"data-content-identifier\");\n var teamidentifier = $(button).attr(\"data-team-identifier\");\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n $(saveButton).attr(\"team-content-id\", teamContentId);\n $(saveButton).attr(\"data-widget-id\", widgetId);\n $(saveButton).attr(\"data-content-identifier\", contentIdentifier);\n $(saveButton).attr(\"data-team-identifier\", teamidentifier);\n $(saveButton).attr(\"data-widget-container\", widgetcontainer);\n var content = $(\".js-edit-course-detail-container\").html();\n content = content.replace(new RegExp(\"copy-\", \"g\"), \"\");\n var globalWindow = this._globalModal;\n globalWindow.openGlobalModal(content, \"panel\", { classes: \"edit-course-modal\" });\n var formattedStartDate = \"\";\n if (availabledate != \"\") {\n formattedStartDate = DisplayDateInTimeZoneFormat(availabledate, \"MM/DD/YYYY\", tz);\n $(\".js-global-modal\").find(\".js-edit-course-availabledate\").val(formattedStartDate);\n }\n var formattedEndDate = \"\";\n if ((duedate != \"\") && (duedate != \"\" && dayjs.utc(duedate).local() > dayjs())) {\n formattedEndDate = DisplayDateInTimeZoneFormat(duedate, \"MM/DD/YYYY\", tz);\n $(\".js-global-modal\").find(\".js-edit-course-duedate\").val(formattedEndDate);\n }\n $(\".js-global-modal\").find(\".js-editassignment-tz\").text($(\"#time-zone\").val());\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var formattedTeamStartDate = \"\";\n var formattedTeamEndDate = \"\";\n if (startDate != \"\") {\n formattedTeamStartDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", tz);\n }\n if (endDate != \"\") {\n formattedTeamEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", tz);\n }\n var startEl = $(\"#coursestartdatepicker\").get(0);\n var endDateEl = $(\"#duedatepicker\").get(0);\n me.bindDatePickers(startEl, endDateEl, formattedTeamStartDate, formattedTeamEndDate);\n }\n makeDate(anyTime) {\n var me = this;\n var startDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-start-date\");\n var endDate = $(\".\" + me._widgetContainer).find(\".widget-teamleader-team-detail\").attr(\"data-team-end-date\");\n var dateHeader = \"\";\n if (startDate !== \"\") {\n dateHeader = \"(\" + dayjs.utc(startDate).local().format('MM/DD/YYYY') + \" <small>\" + dayjs.utc(startDate).local().format('hh:mm a') + \"</small>\" + \"<span class=\\\"hidden\\\">\" + startDate + \" UTC</span>\";\n }\n else {\n dateHeader = \"(\" + anyTime;\n }\n if (endDate) {\n dateHeader += \" - \" + dayjs.utc(endDate).local().format('MM/DD/YYYY') + \" <small>\" + dayjs.utc(endDate).local().format('hh:mm a') + \"</small>\" + \"<span class=\\\"hidden\\\">\" + endDate + \" UTC</span>\";\n }\n else {\n dateHeader += \" - \" + endDate;\n }\n dateHeader += \")\";\n return dateHeader;\n }\n bindDatePickers(startEl, endDateEl, startDate, endDate) {\n var me = this;\n // @ts-ignore\n var datetimepicker1 = new tempusDominus.TempusDominus(startEl, {\n useCurrent: false,\n localization: {\n locale: 'en-US',\n format: 'MM/dd/yyyy',\n },\n display: {\n viewMode: 'calendar',\n keepOpen: false,\n buttons: {\n close: false,\n },\n components: {\n calendar: true,\n date: true,\n month: true,\n year: true,\n decades: true,\n clock: true,\n hours: false,\n minutes: false,\n seconds: false,\n }\n },\n });\n // @ts-ignore\n var datetimepicker2 = new tempusDominus.TempusDominus(endDateEl, {\n useCurrent: false,\n localization: {\n locale: 'en-US',\n format: 'MM/dd/yyyy',\n },\n display: {\n viewMode: 'calendar',\n keepOpen: false,\n buttons: {\n close: false,\n },\n components: {\n calendar: true,\n date: true,\n month: true,\n year: true,\n decades: true,\n clock: true,\n hours: false,\n minutes: false,\n seconds: false,\n }\n },\n });\n const subscriptionStart = datetimepicker1.subscribe(\"change.td\", (e) => {\n datetimepicker2.updateOptions({\n restrictions: {\n minDate: e.date,\n },\n });\n });\n //using subscribe method\n const subscription = datetimepicker2.subscribe(\"change.td\", (e) => {\n datetimepicker1.updateOptions({\n restrictions: {\n maxDate: e.date,\n },\n });\n });\n if (startDate) {\n datetimepicker1.updateOptions({\n restrictions: {\n minDate: dayjs(startDate).toDate()\n }\n });\n }\n if (endDate) {\n datetimepicker1.updateOptions({\n restrictions: {\n maxDate: dayjs(endDate).toDate()\n }\n });\n datetimepicker2.updateOptions({\n restrictions: {\n maxDate: dayjs(endDate).toDate(),\n minDate: dayjs().toDate()\n }\n });\n }\n }\n getParticipantCompletionsForCourse(button) {\n var me = this;\n var globalWindow = this._globalModal;\n var identifier = $(button).attr(\"data-team-identifier\");\n var contentidentifier = $(button).attr('data-content-identifier');\n var url = \"/Team/GetParticipantCompletionsForContent/\" + identifier + \"/\" + contentidentifier;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, textStatus, request) {\n globalWindow.openGlobalModal(data, \"panel\", { classes: \"team-detail-panel\" });\n var table = $(\".js-global-modal\").find(\".table.dataTable\");\n $(table).DataTable({\n \"searching\": true,\n \"columnDefs\": [\n {\n \"targets\": 2,\n \"searchable\": false\n }\n ],\n });\n var filterTable = $(\".js-global-modal\").find(\".datatableFilter\");\n $(filterTable).on(\"change\", function () {\n me.filterDataTable(me.FilterValues, this);\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n filterDataTable(FilterValues, e) {\n try {\n var table = $(\".js-global-modal\").find(\".table.dataTable\");\n var filterType = $(e).data(\"filter-type\");\n var filterColumn = $(e).data(\"filter-column\");\n FilterValues[filterType] = \"\";\n if ($(e).is(\":checked\") && $(e).data('filter-type') === filterType) {\n var val = $(e).val();\n if (val !== \"all\") {\n val = \"^\" + val + \"$\";\n FilterValues[filterType] = FilterValues[filterType] + val + \"|\";\n FilterValues[filterType] = FilterValues[filterType].slice(0, -1);\n $(table).DataTable().columns(filterColumn).search(FilterValues[filterType], true, false).draw();\n }\n else {\n $(table).DataTable().search('').columns().search('').draw();\n }\n }\n }\n catch (e) {\n alert(e.message);\n }\n }\n saveCourseDetail(button) {\n var me = this;\n var globalWindow = this._globalModal;\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n var widgetId = $(button).attr(\"data-widget-Id\");\n var identifier = $(button).attr(\"data-team-identifier\");\n var contentidentifier = $(button).attr('data-content-identifier');\n var url = \"/Api/Manage/TeamContent/\";\n var availabledate = $(\"#availableDate\").val();\n var tz = $(me._widget).find(\"#time-zone\").val();\n if (availabledate != \"\") {\n availabledate = SetTime(availabledate, '00', '00', '00');\n availabledate = GetISODate(availabledate, tz, \"MM/DD/YYYY hh:mm:ss a\");\n }\n var duedate = $('#dueDate').val();\n if (duedate != \"\") {\n duedate = SetTime(duedate, '23', '59', '59');\n duedate = GetISODate(duedate, tz, \"MM/DD/YYYY hh:mm:s a\");\n }\n var params = {};\n params = {\n teamIdentifier: identifier,\n contentIdentifier: contentidentifier,\n availableDate: availabledate,\n dueDate: duedate,\n isRequired: $(\".js-global-modal\").find(\".js-edit-course-isrequired\").is(\":checked\")\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"PUT\")\n .done(function (data, textStatus, request) {\n params = {\n teamIdentifier: identifier,\n };\n url = \"/Team/RenderTeamLeaderTeamDetail/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n GlobalPopulateTimeZones($(\".\" + widgetcontainer).find(\"#time-zone\"));\n me.bindTeamDatePickers();\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Students\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n //$(\".\" + widgetcontainer).find('.nav-tabs a[href=\"#assignments\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#assignments-tab')).show();\n globalWindow.closeGlobalModal();\n me.setAssignmentDataTable();\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n var errorContainer = me.getValidationDiv(\".js-validation-container\");\n /*var errorContainer = $(\".js-global-modal\").find(\".js-validation-container\");*/\n $(errorContainer).removeClass(\"col-lg-offset-2\");\n globalThis.gage.getValidationErrorMessage(errorContainer, response);\n }));\n }\n saveTeamContent(button) {\n var me = this;\n $(button).attr(\"disabled\", \"true\");\n $(\".js-wait-add-assignment\").removeClass(\"hidden\");\n var globalWindow = this._globalModal;\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n var timeZone = $(\"#time-zone\").val();\n var widgetId = $(button).attr(\"data-widget-Id\");\n var contentId = $(\".js-global-modal .js-assignments-list\").find(\".js-course-selection\")\n .map(function () {\n return $(this).attr(\"data-content-identifier\");\n }).get().join();\n var identifier = $(button).attr(\"data-team-identifier\");\n var result = [];\n var selected = $(\".js-global-modal .js-assignments-list\").find(\".js-assigned-course\");\n $.each(selected, function (index, item) {\n var field = {\n \"contentIdentifier\": null,\n \"contentId\": null,\n \"availableDate\": null,\n \"dueDate\": null,\n \"isRequired\": false\n };\n field.contentIdentifier = $(this).attr(\"data-content-identifier\");\n field.contentId = $(this).attr(\"data-content-id\");\n var sDate = $(\"#selected-course-start-date-\" + field.contentId).val();\n var dDate = $(\"#selected-course-end-date-\" + field.contentId).val();\n if (sDate != \"\") {\n sDate = SetTime(sDate, '00', '00', '00');\n sDate = GetISODate(sDate, timeZone, \"MM/DD/YYYY hh:mm:ss a\");\n }\n if (dDate != \"\") {\n dDate = SetTime(dDate, '23', '59', '59');\n dDate = GetISODate(dDate, timeZone, \"MM/DD/YYYY hh:mm:s a\");\n }\n field.availableDate = sDate == null ? null : sDate;\n field.dueDate = dDate == null ? null : dDate;\n field.isRequired = $(this).find(\"#selected-course-is-required\").is(\":checked\");\n result.push(field);\n });\n var params = {};\n params = {\n teamIdentifier: identifier,\n contentDetails: result,\n };\n var url = \"/Api/Manage/TeamContent\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n params = {\n teamIdentifier: identifier,\n };\n url = \"/Team/RenderTeamLeaderTeamDetail/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n //$(\".\" + widgetcontainer).find('.nav-tabs a[href=\"#assignments\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#assignments-tab')).show();\n GlobalPopulateTimeZones($(\"#time-zone\"));\n me.bindTeamDatePickers();\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Students\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n globalWindow.closeGlobalModal();\n me.setAssignmentDataTable();\n $(button).attr(\"disabled\", \"false\");\n $(\".js-wait-add-assignment\").addClass(\"hidden\");\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n $(button).attr(\"disabled\", \"false\");\n $(\".js-wait-add-assignment\").addClass(\"hidden\");\n var errorContainer = me.getValidationDiv(\".js-validation-container\");\n /*var errorContainer = $(\".js-global-modal\").find(\".js-validation-container\");*/\n $(errorContainer).removeClass(\"col-lg-offset-2\");\n globalThis.gage.getValidationErrorMessage(errorContainer, response);\n }));\n }\n saveEditAssignments(button) {\n var me = this;\n $(button).attr(\"disabled\", \"true\");\n $(\".js-wait-edit-assignment\").removeClass(\"hidden\");\n var globalWindow = this._globalModal;\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n var timeZone = $(\"#time-zone\").val();\n var widgetId = $(button).attr(\"data-widget-Id\");\n /* var contentId = $(\".js-global-modal .js-assignments-list\").find(\".js-course-selection\")\n .map(function () {\n return $(this).attr(\"data-content-identifier\");\n }).get().join(); */\n var identifier = $(button).attr(\"data-team-identifier\");\n var result = [];\n var selected = $(\".js-global-modal .js-edit-assignments-list\").find(\".js-assigned-course\");\n $.each(selected, function (index, item) {\n var field = {\n \"contentIdentifier\": null,\n \"contentId\": null,\n \"availableDate\": null,\n \"dueDate\": null,\n \"isRequired\": false\n };\n field.contentIdentifier = $(this).attr(\"data-content-identifier\");\n field.contentId = $(this).attr(\"data-content-id\");\n var sDate = $(\"#edit-course-start-date-\" + field.contentId).val();\n var dDate = $(\"#edit-course-end-date-\" + field.contentId).val();\n if (sDate != \"\") {\n sDate = SetTime(sDate, '00', '00', '00');\n sDate = GetISODate(sDate, timeZone, \"MM/DD/YYYY hh:mm:ss a\");\n }\n if (dDate != \"\") {\n dDate = SetTime(dDate, '23', '59', '59');\n dDate = GetISODate(dDate, timeZone, \"MM/DD/YYYY hh:mm:s a\");\n }\n field.availableDate = sDate == null ? null : sDate;\n field.dueDate = dDate == null ? null : dDate;\n field.isRequired = $(this).find(\"#selected-course-is-required\").is(\":checked\");\n result.push(field);\n });\n var params = {};\n params = {\n teamIdentifier: identifier,\n contentDetails: result,\n };\n /* Need to hook-up to endpoint */\n var url = \"/Api/Manage/TeamContent/UpdateTeamContentAssignments\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n params = {\n teamIdentifier: identifier,\n };\n url = \"/Team/RenderTeamLeaderTeamDetail/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n //$(\".\" + widgetcontainer).find('.nav-tabs a[href=\"#assignments\"]').tab('show');\n // @ts-ignore\n bootstrap.Tab.getOrCreateInstance(document.querySelector('#assignments-tab')).show();\n GlobalPopulateTimeZones($(\"#time-zone\"));\n me.bindTeamDatePickers();\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Students\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n globalWindow.closeGlobalModal();\n me.setAssignmentDataTable();\n $(button).attr(\"disabled\", \"false\");\n $(\".js-wait-add-assignment\").addClass(\"hidden\");\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n $(button).attr(\"disabled\", \"false\");\n $(\".js-wait-add-assignment\").addClass(\"hidden\");\n /*var errorContainer = $(\".js-global-modal\").find(\".js-validation-container\");*/\n var errorContainer = me.getValidationDiv(\".js-validation-container\");\n $(errorContainer).removeClass(\"col-lg-offset-2\");\n globalThis.gage.getValidationErrorMessage(errorContainer, response);\n }));\n }\n getTeamContentCompletionForParticipant(button) {\n var me = this;\n var identifier = $(button).closest(\".widget-teamleader-team-detail\").attr(\"data-team-identifier\");\n var participantId = $(button).attr(\"data-participant-id\");\n var params = {\n teamIdentifier: identifier,\n participantId: participantId\n };\n $.when(globalThis.gage.submitAjaxRequest(params, \"/Team/GetTeamContentCompletionForParticipant\", \"GET\")\n .done(function (data, textStatus, request) {\n var options = {\n classes: \"member-detail-panel\"\n };\n me._globalModal.openGlobalModal(data, \"panel\", options);\n ApplyGagePopOverParticipant($('[data-bs-toggle=\"popover\"]'));\n $.each($(\".localized-time2\"), function (i, e) {\n var localDate = $(e).text();\n $(e).text(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n }));\n }\n compareDates(dateTimeA, dateTimeB) {\n var momentA = new Date(dateTimeA);\n var momentB = new Date(dateTimeB);\n if (momentA > momentB)\n return 1;\n else if (momentA < momentB)\n return -1;\n else\n return 0;\n }\n saveTeam(button) {\n $(\".js-save-team-detail\").attr(\"disabled\", \"true\");\n $(\".js-wait-team-properties\").removeClass(\"hidden\");\n var currentPageUrl = $(button).attr(\"data-current-page-url\");\n var widgetId = $(button).attr(\"data-widgetId\");\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n var identifier = $(button).closest(\".widget-teamleader-team-detail\").attr(\"data-team-identifier\");\n var url = \"/Api/Manage/Team/Update/\" + identifier;\n var method = \"PUT\";\n if (identifier == undefined || identifier.trim().length == 0) {\n url = \"/Api/Manage/Team/Create\";\n method = \"POST\";\n }\n var me = this;\n var overwriteMessage = $(button).attr(\"data-overwrite-message\");\n var startDate = $('#start-date').val();\n var endDate = $('#end-date').val();\n var tz = $(me._widget).find(\"#time-zone\").val();\n var itemStatusId = parseInt($(me._widget).find(\"#item-status\").val());\n var assignmentSortOrder = $(me._widget).find(\".js-assignment-sort-order\").val();\n if (startDate != \"\") {\n startDate = SetTime(startDate, '00', '00', '00');\n startDate = GetISODate(startDate, tz, \"MM/DD/YYYY hh:mm:ss a\");\n }\n if (endDate != \"\") {\n endDate = SetTime(endDate, '23', '59', '59');\n endDate = GetISODate(endDate, tz, \"MM/DD/YYYY hh:mm:s a\");\n }\n if (startDate !== null || endDate !== null) {\n if (tz == null || tz == undefined) {\n alert(\"TimeZone must be selected\");\n $(\".js-save-team-detail\").attr(\"disabled\", \"false\");\n $(\".js-wait-team-properties\").addClass(\"hidden\");\n $(\".js-save-team-detail\").removeattr(\"disabled\");\n return false;\n }\n }\n if (startDate !== null && endDate !== null) {\n if (me.compareDates(endDate, startDate) < 0) {\n alert(\"End Date must be greater then Start Date\");\n $(\".js-save-team-detail\").attr(\"disabled\", \"false\");\n $(\".js-wait-team-properties\").addClass(\"hidden\");\n $(\".js-save-team-detail\").removeattr(\"disabled\");\n return false;\n }\n }\n var params = {};\n params = {\n teamName: $(me._widget).find(\"#team-name\").val(),\n startDate: startDate ? startDate : null,\n endDate: endDate ? endDate : null,\n itemStatusId: itemStatusId,\n teamAssignmentSortOrder: assignmentSortOrder,\n timeZone: tz\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, method)\n .done(function (data, textStatus, request) {\n params = {\n id: widgetId,\n teamIdentifier: identifier,\n teamSaved: true\n };\n url = '/Team/RenderTeamLeaderTeamDetail/' + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n window.location.href = currentPageUrl;\n $(\".js-save-team-detail\").removeAttr(\"disabled\");\n $(\".\" + widgetcontainer).html(data);\n $(\".js-wait-team-properties\").addClass(\"hidden\");\n GlobalPopulateTimeZones($(\"#time-zone\"));\n me.bindTeamDatePickers();\n // Localize Date/Times for Assignments\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n // Localize Date/Times for Students\n $.each($(\".localized-time-joined\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n me.setAssignmentDataTable();\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n $(\".js-save-team-detail\").removeAttr(\"disabled\");\n $(\".js-wait-team-properties\").addClass(\"hidden\");\n if (response.responseJSON !== undefined && response.responseJSON.data != undefined && response.responseJSON.data == \"duplicate\") {\n if (confirm(overwriteMessage)) {\n //params = {\n //\tteamName: $(me._widget).find(\"#team-name\").val(),\n //\tstartDate: $(me._widget).find(\"#start-date\").val() !== \"\" ? $(me._widget).find(\"#start-date\").val() : null,\n //\tendDate: $(me._widget).find(\"#end-date\").val() !== \"\" ? $(me._widget).find(\"#end-date\").val() : null,\n //\tTimeZone: $(\"#time-zone\").val(),\n //\titemStatusId: itemStatusId,\n //\tteamAssignmentSortOrder: $(me._widget).find(\".js-assignment-sort-order\").val(),\n //\toverRide: true\n //};\n params = {\n teamName: $(me._widget).find(\"#team-name\").val(),\n startDate: startDate ? startDate : null,\n endDate: endDate ? endDate : null,\n itemStatusId: itemStatusId,\n teamAssignmentSortOrder: assignmentSortOrder,\n timeZone: tz,\n overRide: true\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"PUT\")\n .done(function (data, textStatus, request) {\n params = {\n id: widgetId,\n teamIdentifier: identifier,\n teamSaved: true\n };\n url = '/Team/RenderTeamLeaderTeamDetail/' + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n location.reload();\n //$(\".\" + widgetcontainer).html(data);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n var errorContainer = $(\".\" + widgetcontainer).find(\".js-validation-container\");\n errorContainer.removeClass(\"col-lg-offset-2\");\n getValidationErrorMessage(errorContainer, response);\n }));\n }\n }\n else {\n var errorContainer = $(\".\" + widgetcontainer).find(\".js-validation-container\");\n errorContainer.removeClass(\"col-lg-offset-2\");\n getValidationErrorMessage(errorContainer, response);\n }\n }));\n }\n getUrlVars() {\n var vars = {};\n var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {\n vars[key] = value;\n return \"\";\n });\n return vars;\n }\n}\n;\n$(document).ready(function () {\n ApplyGagePopOverParticipant($('[data-bs-toggle=\"popover\"]'));\n $(\".widget-teamleader-team-detail\").each(function (index, item) {\n $(item).data(\"manager\", new TeamLeaderTeamDetail(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/*import timezone = require(\"../../wwwroot/lib/dayjs1.11.10/plugin/timezone\");*/\n//import dayjs, { Dayjs } from '../../node_modules/dayjs/index';\n//import utc from \"../../node_modules/dayjs/plugin/utc\";\n//import timezone from \"../../node_modules/dayjs/plugin/timezone\";\n//import localizedFormat from \"../../node_modules/dayjs/plugin/localizedFormat\";\n//import localeData from \"../../node_modules/dayjs/plugin/localeData\";\n//import timezones from \"../../node_modules/timezones-list/dist/index\";\n//dayjs.extend(utc);\n//dayjs.extend(timezone);\n//dayjs.extend(localizedFormat);\n//dayjs.extend(localeData);\n/* ///// <reference path=\"../lib/moment.d.ts\" /> */\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.thirdParty.d.ts\" />\nclass TeamLeaderTeamList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._globalModal = new GlobalModal(this._widgetId);\n this._widgetContainer = \"widget-teamleader-team-list-container-\" + this._widgetId;\n this.bindControls();\n var x = 1;\n }\n bindControls() {\n var me = this;\n // Localize Date/Times\n $.each($(\".localized-time-team-list\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-create-new-team\", function (e) {\n e.preventDefault();\n var content = $(\".js-new-team-content\").html();\n var options = {\n classes: \"new-team-panel\"\n };\n content = content.replace(new RegExp(\"new-startdatepicker\", \"g\"), \"startdatepicker\");\n content = content.replace(new RegExp(\"new-start-date\", \"g\"), \"start-date\");\n content = content.replace(new RegExp(\"new-enddatepicker\", \"g\"), \"enddatepicker\");\n content = content.replace(new RegExp(\"new-end-date\", \"g\"), \"end-date\");\n content = content.replace(new RegExp(\"new-time-zone\", \"g\"), \"time-zone\");\n me._globalModal.openGlobalModal(content, \"panel\", options);\n $(\".js-global-modal\").find(\"#end-date\").attr(\"min\", dayjs(new Date()).format(\"YYYY-MM-DD\"));\n var pickers = ConfigureDatePicker($(\".js-global-modal\").find('.trigger-date'));\n var startPicker = pickers.filter(function (element) { return element[0] == \"startdatepicker\"; })[0][1];\n var endDatePicker = pickers.filter(function (element) { return element[0] == \"enddatepicker\"; })[0][1];\n BindDatePickerEvents(startPicker, endDatePicker, document.getElementById(\"startdatepicker\"), document.getElementById(\"enddatepicker\"));\n GlobalPopulateTimeZones($(\"#time-zone\"));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \"#includeDeletedTeam\", function (e) {\n me.applyFilter($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \"#includeExpiredTeam\", function (e) {\n me.applyFilter($(e.currentTarget));\n });\n $(\".js-global-modal\").on(\"click\", \".js-save-team\", function (e) {\n e.preventDefault();\n me.saveTeam($(e.currentTarget));\n });\n me.setUpDataTable();\n $(\".\" + me._widgetContainer).on(\"click\", \".js-copy-team\", function (e) {\n e.preventDefault();\n me.getTeamOptionsForExistingTeam($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-copy-team-from-other-team\", function (e) {\n e.preventDefault();\n $(e.currentTarget).attr(\"is-new\", \"true\");\n me.getTeamOptionsFromOTherTeam($(e.currentTarget));\n GlobalPopulateTimeZones($(\"#time-zone\"));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-remove-team\", function (e) {\n e.preventDefault();\n if (confirm($(e.currentTarget).attr(\"data-confirmation-message\"))) {\n me.removeTeam($(e.currentTarget));\n }\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-reinstate-team\", function (e) {\n e.preventDefault();\n if (confirm($(e.currentTarget).attr(\"data-confirmation-message\"))) {\n me.reinstateTeam($(e.currentTarget));\n }\n });\n if ($(\".\" + me._widgetContainer).find(\".js-querystring-copy-code\").val() !== \"\") {\n var copyCode = $(\".\" + me._widgetContainer).find(\".js-querystring-copy-code\").val();\n var button = $(\".\" + me._widgetContainer).find(\".js-copy-team-from-other-team\");\n $(button).attr(\"data-querystring-copy-code\", copyCode);\n $(button).attr(\"is-new\", \"false\");\n me.getTeamOptionsFromOTherTeam(button);\n GlobalPopulateTimeZones($(\"#time-zone\"));\n }\n }\n populateTimeZones(el) {\n var timeZones = Intl.supportedValuesOf(\"timeZone\");\n $(el).append(\"<option value='UTC'>UTC</option>\");\n $.each(timeZones, function (i, v) {\n $(el).append(\"<option value='\" + v + \"'>\" + v + \"</option>\");\n });\n // Set default time zone based on their location\n $(el).find(\"option[value='\" + dayjs.tz.guess() + \"']\").attr('selected', \"true\");\n }\n setUpDataTable() {\n var me = this;\n var table = $(\".\" + me._widgetContainer).find(\".table.dataTable\");\n $(table).DataTable({\n \"pageLength\": 10,\n \"searching\": true,\n \"dom\": '<\"top\"<\"left jsLeftFilter\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">',\n order: [],\n \"columnDefs\": [\n { type: 'date', \"targets\": 1 },\n { type: 'date', \"targets\": 2 },\n { \"targets\": 4, \"searchable\": false },\n { \"targets\": 5, \"searchable\": false, \"orderable\": false }\n ],\n \"drawCallback\": function (settings) {\n if ($(\".jsLeftFilter\").find(\".js-filter-table\").length === 0) {\n var aFilters = $(\".js-filter-table\").clone();\n $(\".js-filter-table\").appendTo(\".jsLeftFilter\");\n }\n }\n });\n }\n removeTeam(button) {\n var me = this;\n var teamidentifier = $(button).closest(\".js-team-row\").attr(\"data-team-identifier\");\n /*var url = \"/API/Manage/Team/Delete/\" + teamidentifier;*/\n var url = \"/API/Manage/Team/Delete\";\n var params = {\n Identifier: teamidentifier\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"DELETE\")\n .done(function (data, textStatus, request) {\n url = \"/Team/RenderTeamLeaderTeamList/\" + me._widgetId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + me._widgetContainer).html(data);\n // Localize Date/Times\n $.each($(\".localized-time-team-list\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n reinstateTeam(button) {\n var me = this;\n var teamidentifier = $(button).closest(\".js-team-row\").attr(\"data-team-identifier\");\n /*var url = \"/API/Manage/Team/Reinstate/\" + teamidentifier;*/\n var url = \"/API/Manage/Team/Reinstate\";\n var params = {\n Identifier: teamidentifier\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n url = \"/Team/RenderTeamLeaderTeamList/\" + me._widgetId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + me._widgetContainer).html(data);\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n applyFilter(button) {\n var me = this;\n waitingDialog.show(\"\");\n var includeDeleted = $(button).closest(\".widget-teamleader-team-list\").find(\"#includeDeletedTeam\").length > 0 ? $(button).closest(\".widget-teamleader-team-list\").find(\"#includeDeletedTeam\").is(\":checked\") : false;\n var includeExpired = $(button).closest(\".widget-teamleader-team-list\").find(\"#includeExpiredTeam\").length > 0 ? $(button).closest(\".widget-teamleader-team-list\").find(\"#includeExpiredTeam\").is(\":checked\") : false;\n var params = {\n IncludeDeleted: includeDeleted,\n IncludeExpired: includeExpired\n };\n var url = \"/Team/RenderTeamLeaderTeamList/\" + me._widgetId;\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n waitingDialog.hide();\n $(\".\" + me._widgetContainer).html(data);\n me.setUpDataTable();\n me.setLocalTimes();\n })\n .fail(function (response, textStatus, errorThrown) {\n waitingDialog.hide();\n me.setLocalTimes();\n }));\n }\n setLocalTimes() {\n $.each($(\".localized-time-team-list\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n //DisplayDateInLocalFormat(localDate, \"hh:mm a\")\n });\n }\n getTeamOptionsForExistingTeam(button) {\n var me = this;\n var widgetId = $(button).closest(\".widget-teamleader-team-list\").attr(\"data-contentwidgetid\");\n var widgetcontainer = me._widgetContainer;\n var teamidentifier = $(button).closest(\".js-team-row\").attr(\"data-team-identifier\");\n var teamName = $(button).closest(\".js-team-row\").attr(\"data-team-name\");\n var originalTimeZone = $(button).closest(\".js-team-row\").attr(\"data-team-tz\");\n var startDate = $(button).attr(\"data-start-date\") === \"\"\n ? \"\"\n : $(button).attr(\"data-start-date\");\n var endDate = $(button).attr(\"data-end-date\") === \"\"\n ? \"\"\n : $(button).attr(\"data-end-date\");\n var showFuture = $(button).attr(\"data-show-future\");\n var contentClone = $(button).closest(\".widget-teamleader-team-list\").find(\".js-copy-team-container\").clone();\n $(contentClone).find(\".js-copy-team-promocode-row\").remove();\n var globalWindow = this._globalModal;\n var contentHtml = $(contentClone).html();\n contentHtml = contentHtml.replace(RegExp(\"copy-startdatepicker\", \"g\"), \"startdatepicker\");\n contentHtml = contentHtml.replace(new RegExp(\"copy-start-date\", \"g\"), \"start-date\");\n contentHtml = contentHtml.replace(new RegExp(\"copy-team-name\", \"g\"), \"team-name\");\n contentHtml = contentHtml.replace(\"copy-enddatepicker\", \"enddatepicker\");\n contentHtml = contentHtml.replace(new RegExp(\"copy-end-date\", \"g\"), \"end-date\");\n contentHtml = contentHtml.replace(new RegExp(\"copy-time-zone\", \"g\"), \"time-zone\");\n contentHtml = contentHtml.replace(new RegExp(\"copy-original-time-zone\", \"g\"), \"original-time-zone\");\n globalWindow.openGlobalModal(contentHtml, \"panel\", { classes: \"copy-team-modal\" });\n GlobalPopulateTimeZones($(\"#time-zone\"));\n $(\"#original-time-zone\").val(originalTimeZone);\n var globalContainer = $(\".js-global-modal\");\n $(globalContainer).find(\"#team-name\").val(teamName);\n if (startDate != \"\") {\n $(\".js-unformatted-sdate\").text(startDate + \" UTC\");\n var formattedStartDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY\", originalTimeZone);\n //var formattedStartDate = DisplayDateInTimeZoneFormat(startDate, \"MM/DD/YYYY 12:00:01 AM\", originalTimeZone);\n $('#start-date').val(formattedStartDate);\n }\n if ((startDate != \"\") && (endDate != \"\" && dayjs.utc(endDate).local() > dayjs())) {\n $(\".js-unformatted-edate\").text(endDate + \" UTC\");\n var formattedEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY\", originalTimeZone);\n //var formattedEndDate = DisplayDateInTimeZoneFormat(endDate, \"MM/DD/YYYY 12:00:00 AM\", originalTimeZone);\n $('#end-date').val(formattedEndDate);\n }\n var pickers = ConfigureDatePicker($(globalContainer).find('.trigger-date'));\n var startPicker = pickers.filter(function (element) { return element[0] == \"startdatepicker\"; })[0][1];\n var endDatePicker = pickers.filter(function (element) { return element[0] == \"enddatepicker\"; })[0][1];\n BindDatePickerEvents(startPicker, endDatePicker, document.getElementById(\"startdatepicker\"), document.getElementById(\"enddatepicker\"));\n /*\n var currentStartDatePicker = pickers.filter(function (element) { return element[0] == \"startdatepicker\"; });\n var startPicker = currentStartDatePicker[0][1];\n var currentEndDatePicker = pickers.filter(function (element) { return element[0] == \"enddatepicker\"; });\n var endDatePicker = currentEndDatePicker[0][1];\n\r\n const startPickerElement = document.getElementById(\"startdatepicker\");\n startPickerElement.addEventListener(\"change.td\", (e) => {\n // @ts-ignore\n endDatePicker.updateOptions({ restrictions: { minDate: e.detail.date } });\n });\n\r\n //using subscribe method\n const endDatePickerElement = document.getElementById(\"enddatepicker\");\n\r\n endDatePickerElement.addEventListener(\"change.td\", (e) => {\n // @ts-ignore\n startPicker.updateOptions({ restrictions: { maxD: e.detail.date } });\n });\n\r\n\r\n */\n if (originalTimeZone != \"\") {\n $(\"#time-zone\").find(\"option[value='\" + originalTimeZone + \"']\").attr('selected', \"true\");\n }\n $(globalContainer).find(\"#team-name\").val(teamName);\n $(globalContainer).find(\".js-copy-team-options\").attr(\"data-show-future\", showFuture);\n $(globalContainer).find(\".js-copy-team-button\").attr(\"data-team-identifier\", teamidentifier);\n $(globalContainer).find(\".js-copy-team-button\").attr(\"data-widgetId\", widgetId);\n $(globalContainer).find(\".js-copy-team-button\").attr(\"data-widget-container\", widgetcontainer);\n var dueDateRow = $(globalContainer).find(\".js-copy-team-due-date-row\");\n var keeprequiredAssignmentRow = $(globalContainer).find(\".js-copy-team-keep-required-assignment-row\");\n me.resetSettings(globalContainer);\n $(globalContainer).find(\".js-copy-team-options\").on(\"change\", function (e) {\n $(keeprequiredAssignmentRow).addClass(\"hide\");\n if ($(e.currentTarget).val() === \"AssignmentsOnly\" || $(e.currentTarget).val() === \"MembersAndAssignments\") {\n $(keeprequiredAssignmentRow).removeClass(\"hide\");\n if ($(e.currentTarget).attr(\"data-show-future\") === \"True\") {\n $(dueDateRow).removeClass(\"hide\");\n }\n }\n });\n $(globalContainer).find(\".js-copy-team-button\").on(\"click\", function (e) {\n widgetcontainer = $(e.currentTarget).attr(\"data-widget-container\");\n widgetId = $(e.currentTarget).attr(\"data-widgetId\");\n teamidentifier = $(e.currentTarget).attr(\"data-team-identifier\");\n var overwriteMessage = $(e.currentTarget).attr(\"data-overwrite-message\");\n var copyOptions = $(globalContainer).find(\".js-copy-team-options\");\n var timezonerequired = $(e.currentTarget).attr(\"data-timezone-required\");\n var teamnamerequired = $(e.currentTarget).attr(\"data-teamname-required\");\n var teamcopyoptionrequired = $(e.currentTarget).attr(\"data-teamcopyoption-required\");\n var timeZone = $(\".js-global-modal \").find(\"#time-zone\").val();\n var originalTimeZone = $(\".js-global-modal \").find(\"#original-time-zone\").val();\n if (!timeZone) {\n alert(timezonerequired);\n return false;\n }\n if ($(globalContainer).find(\"#team-name\").val() === \"\") {\n alert(teamnamerequired);\n return false;\n }\n if ($(copyOptions).val() === \"\") {\n alert(teamcopyoptionrequired);\n return false;\n }\n var params = {};\n var startDate = $('#start-date').val();\n var endDate = $('#end-date').val();\n if (startDate != \"\") {\n startDate = SetTime(startDate, '00', '00', '00');\n startDate = GetISODate(startDate, timeZone, \"MM/DD/YYYY hh:mm:ss a\");\n }\n if (endDate != \"\") {\n endDate = SetTime(endDate, '23', '59', '59');\n endDate = GetISODate(endDate, timeZone, \"MM/DD/YYYY hh:mm:s a\");\n }\n if (startDate != null && endDate != null) {\n if (me.compareDates(endDate, startDate) < 0) {\n alert(\"End Date must be greater than Start Date\");\n return false;\n }\n }\n me.copyTeamCommon(globalWindow, globalContainer, widgetId, widgetcontainer, overwriteMessage, copyOptions, startDate, endDate, timeZone, originalTimeZone, $(e.currentTarget).attr(\"data-team-identifier\"), null);\n });\n }\n copyTeamCommon(globalWindow, globalContainer, widgetId, widgetcontainer, overwriteMessage, copyOptions, startDate, endDate, timeZone, originalTimeZone, teamIdentifier, joinCode) {\n var me = this;\n $(globalContainer).find(\".js-copy-team-button\").attr(\"disabled\", \"true\");\n $(\".js-wait-copy-team\").removeClass(\"hidden\");\n var now = dayjs().tz(originalTimeZone);\n var localOffset = now.utcOffset();\n now.tz(timeZone);\n var centralOffset = now.utcOffset();\n var diffInMinutes = localOffset - centralOffset;\n var teamName = $(globalContainer).find(\"#team-name\").val();\n if (teamName === undefined) {\n teamName = $(globalContainer).find(\"#copy-team-name\").val();\n }\n if (teamName === undefined) {\n teamName = \"\";\n }\n var params = {};\n params =\n {\n \"TeamJoinCode\": joinCode,\n \"TeamName\": teamName,\n \"StartDate\": startDate,\n \"EndDate\": endDate,\n \"TimeZone\": timeZone,\n \"TimeZoneDiffMinutes\": diffInMinutes,\n \"CopyOption\": $(copyOptions).val(),\n \"TeamIdentifier\": teamIdentifier,\n \"CopyDates\": $(globalContainer).find(\".js-copy-team-duedate\").is(\":checked\"),\n \"KeepRequiredAssigmentSetting\": $(globalContainer).find(\".js-copy-team-keep-required-assignment\").is(\":checked\")\n };\n var url = \"/Api/Manage/Team/Copy\";\n // this may be incorrect widgetcontainer needs to be the actual container object and not a selector!!!\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n var url = \"/Team/RenderTeamLeaderTeamList/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n globalWindow.closeGlobalModal();\n // Localize Date/Times\n $.each($(\".localized-time-team-list\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n $(globalContainer).find(\".js-copy-team-button\").removeAttr(\"disabled\");\n $(\".js-wait-copy-team\").addClass(\"hidden\");\n var uri = window.location.toString();\n if (uri.indexOf(\"?\") > 0) {\n var clean_uri = uri.substring(0, uri.indexOf(\"?\"));\n window.history.replaceState({}, document.title, clean_uri);\n }\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n $(globalContainer).find(\".js-copy-team-button\").removeAttr(\"disabled\");\n $(\".js-wait-copy-team\").addClass(\"hidden\");\n if (response.responseJSON.data == \"duplicate\") {\n if (confirm(overwriteMessage)) {\n params = {\n \"TeamJoinCode\": joinCode,\n \"TeamName\": $(globalContainer).find(\"#team-name\").val(),\n \"StartDate\": startDate,\n \"EndDate\": endDate,\n \"TimeZone\": timeZone,\n \"TimeZoneDiffMinutes\": diffInMinutes,\n \"CopyOption\": $(copyOptions).val(),\n \"TeamIdentifier\": teamIdentifier,\n \"CopyDates\": $(globalContainer).find(\".js-copy-team-duedate\").is(\":checked\"),\n \"KeepRequiredAssigmentSetting\": $(globalContainer).find(\".js-copy-team-keep-required-assignment\").is(\":checked\"),\n \"Override\": true\n };\n url = \"/Api/Manage/Team/Copy\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n var url = \"/Team/RenderTeamLeaderTeamList/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n globalWindow.closeGlobalModal();\n // Localize Date/Times\n $.each($(\".localized-time-team-list\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n }));\n var uri = window.location.toString();\n if (uri.indexOf(\"?\") > 0) {\n var clean_uri = uri.substring(0, uri.indexOf(\"?\"));\n window.history.replaceState({}, document.title, clean_uri);\n }\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(response.responseJSON.errorMessage);\n }));\n }\n else {\n return false;\n }\n }\n else {\n alert(response.responseJSON.errorMessage);\n }\n }));\n }\n getTeamOptionsFromOTherTeam(button) {\n var me = this;\n var widgetId = $(button).closest(\".widget-teamleader-team-list\").attr(\"data-contentwidgetid\");\n var content = $(button).closest(\".widget-teamleader-team-list\").find(\".js-copy-team-container\").html();\n var copyCode = $(button).attr(\"data-querystring-copy-code\");\n var isnew = $(button).attr(\"is-new\");\n var widgetcontainer = me._widgetContainer;\n var globalWindow = this._globalModal;\n content = content.replace(new RegExp(\"copy-team-name\", \"g\"), \"team-name\");\n content = content.replace(new RegExp(\"copy-teamjoincode\", \"g\"), \"teamjoincode\");\n content = content.replace(\"copy-startdatepicker\", \"startdatepicker\");\n content = content.replace(new RegExp(\"copy-start-date\", \"g\"), \"start-date\");\n content = content.replace(\"copy-enddatepicker\", \"enddatepicker\");\n content = content.replace(new RegExp(\"copy-end-date\", \"g\"), \"end-date\");\n content = content.replace(new RegExp(\"copy-time-zone\", \"g\"), \"time-zone\");\n content = content.replace(new RegExp(\"copy-original-time-zone\", \"g\"), \"original-time-zone\");\n globalWindow.openGlobalModal(content, \"panel\", { classes: \"copy-team-modal\" });\n var showFuture = $(button).attr(\"data-show-future\");\n var globalContainer = $(\".js-global-modal\");\n $(globalContainer).find(\".js-copy-team-button\").attr(\"data-widgetId\", widgetId);\n $(globalContainer).find(\".js-copy-team-button\").attr(\"data-widget-container\", widgetcontainer);\n var dueDateRow = $(globalContainer).find(\".js-copy-team-due-date-row\");\n var keeprequiredAssignmentRow = $(globalContainer).find(\".js-copy-team-keep-required-assignment-row\");\n me.resetSettings(globalContainer);\n $(globalContainer).find(\".js-copy-team-joincode\").val(copyCode);\n if (isnew === \"false\") {\n $(globalContainer).find(\".js-copy-code-validation\").val(\"True\");\n }\n else {\n (globalContainer).find(\".js-copy-team-joincode\").val(\"\");\n }\n $(globalContainer).find(\".js-copy-team-options\").on(\"change\", function (e) {\n $(keeprequiredAssignmentRow).addClass(\"hide\");\n if ($(e.currentTarget).val() === \"AssignmentsOnly\" || $(e.currentTarget).val() === \"MembersAndAssignments\") {\n $(keeprequiredAssignmentRow).removeClass(\"hide\");\n if ($(e.currentTarget).attr(\"data-show-future\") == \"True\") {\n $(dueDateRow).removeClass(\"hide\");\n }\n }\n });\n $(globalContainer).find(\".js-validate-code\").on(\"click\", function (e) {\n e.preventDefault();\n me.validateCode(globalContainer);\n });\n $(globalContainer).find(\".js-copy-team-button\").on(\"click\", function (e) {\n widgetcontainer = $(e.currentTarget).attr(\"data-widget-container\");\n widgetId = $(e.currentTarget).attr(\"data-widgetId\");\n var overwriteMessage = $(e.currentTarget).attr(\"data-overwrite-message\");\n var timeZone = $(\".js-global-modal \").find(\"#time-zone\").val();\n var originalTimeZone = $(\".js-global-modal \").find(\"#original-time-zone\").val();\n var timezonerequired = $(e.currentTarget).attr(\"data-timezone-required\");\n var teamnamerequired = $(e.currentTarget).attr(\"data-teamname-required\");\n var teamcoderequired = $(e.currentTarget).attr(\"data-teamcode-required\");\n var teamcopyoptionrequired = $(e.currentTarget).attr(\"data-teamcopyoption-required\");\n if (!timeZone) {\n alert(timezonerequired);\n return false;\n }\n var copyOptions = $(globalContainer).find(\".js-copy-team-options\");\n if ($(globalContainer).find(\".js-copy-team-joincode\").val() == \"\") {\n alert(teamnamerequired);\n return false;\n }\n if ($(globalContainer).find(\"#team-name\").val() === \"\") {\n alert(teamcoderequired);\n return false;\n }\n if ($(copyOptions).val() === \"\") {\n alert(teamcopyoptionrequired);\n return false;\n }\n var params = {};\n var startDate = $('#start-date').val();\n var endDate = $('#end-date').val();\n if (startDate != \"\") {\n startDate = SetTime(startDate, '00', '00', '00');\n startDate = GetISODate(startDate, timeZone, \"MM/DD/YYYY hh:mm:ss a\");\n }\n if (endDate != \"\") {\n endDate = SetTime(endDate, '23', '59', '59');\n endDate = GetISODate(endDate, timeZone, \"MM/DD/YYYY hh:mm:s a\");\n }\n if (startDate !== null && endDate !== null) {\n if (me.compareDates(endDate, startDate) < 0) {\n alert(\"End Date must be greater than Start Date\");\n return false;\n }\n }\n me.copyTeamCommon(globalWindow, globalContainer, widgetId, widgetcontainer, overwriteMessage, copyOptions, startDate, endDate, timeZone, originalTimeZone, null, $(globalContainer).find(\".js-copy-team-joincode\").val());\n });\n if (isnew === \"false\") {\n $(globalContainer).find(\".js-validate-code\").click();\n }\n }\n validateCode(globalContainer) {\n var me = this;\n me.resetSettings(globalContainer);\n var code = $(globalContainer).find(\".js-copy-team-joincode\").val();\n if (code === \"\") {\n alert(\"Please enter code to validate\");\n return false;\n }\n var params = {};\n var url = \"/Api/Manage/Team/ValidateTeamCode/\" + code;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, textStatus, request) {\n if (data.endDate === undefined) {\n $(globalContainer).find(\".js-copy-team-options\").attr(\"data-show-future\", \"True\");\n $(globalContainer).find(\"#start-date\").val(\"\");\n $(globalContainer).find(\"#end-date\").val(\"\");\n $(globalContainer).find(\"#team-name\").val(data.teamName);\n $(globalContainer).find(\"#original-time-zone\").val(data.timeZone);\n }\n else {\n var dateToCheck = data.endDate;\n var currentDate = new Date();\n dateToCheck = new Date(dateToCheck);\n if (dateToCheck > currentDate) {\n $(globalContainer).find(\".js-copy-team-options\").attr(\"data-show-future\", \"True\");\n var startDate;\n var endDate;\n if (data.startDate !== undefined) {\n $(\".js-unformatted-sdate\").text(data.startDate + \" UTC\");\n var formattedStartDate = DisplayDateInTimeZoneFormat(data.startDate, \"MM/DD/YYYY\", data.timeZone);\n $('#start-date').val(formattedStartDate);\n }\n if (data.endDate !== undefined) {\n $(\".js-unformatted-edate\").text(data.endDate + \" UTC\");\n endDate = dayjs.utc(data.endDate).tz(data.timeZone);\n if (endDate > dayjs()) {\n var formattedStartDate = DisplayDateInTimeZoneFormat(data.startDate, \"MM/DD/YYYY\", data.timeZone);\n var formattedEndDate = DisplayDateInTimeZoneFormat(data.endDate, \"MM/DD/YYYY\", data.timeZone);\n $('#end-date').val(formattedEndDate);\n $('#start-date').val(formattedStartDate);\n }\n }\n var pickers = ConfigureDatePicker($(globalContainer).find('.trigger-date'));\n var startPicker = pickers.filter(function (element) { return element[0] == \"startdatepicker\"; })[0][1];\n var endDatePicker = pickers.filter(function (element) { return element[0] == \"enddatepicker\"; })[0][1];\n BindDatePickerEvents(startPicker, endDatePicker, document.getElementById(\"startdatepicker\"), document.getElementById(\"enddatepicker\"));\n var teamName = data.teamName;\n $(globalContainer).find(\"#team-name\").val(teamName);\n $(globalContainer).find(\"#original-time-zone\").val(data.timeZone);\n $(globalContainer).find(\"#time-zone\").val(data.timeZone);\n }\n else {\n $(globalContainer).find(\".js-copy-team-options\").attr(\"data-show-future\", \"False\");\n }\n }\n })\n .fail(function (response, textStatus, errorThrown) {\n $(globalContainer).find(\".js-validate-error-container\").html(response.responseJSON.errorMessage);\n }));\n }\n compareDates(dateTimeA, dateTimeB) {\n var momentA = new Date(dateTimeA);\n var momentB = new Date(dateTimeB);\n if (momentA > momentB)\n return 1;\n else if (momentA < momentB)\n return -1;\n else\n return 0;\n }\n resetSettings(globalContainer) {\n var dueDateRow = $(globalContainer).find(\".js-copy-team-due-date-row\");\n var keeprequiredAssignmentRow = $(globalContainer).find(\".js-copy-team-keep-required-assignment-row\");\n $(dueDateRow).addClass(\"hide\");\n $(dueDateRow).find(\".js-copy-team-duedate\").attr(\"checked\", \"false\");\n $(keeprequiredAssignmentRow).addClass(\"hide\");\n $(keeprequiredAssignmentRow).find(\".js-copy-team-keep-required-assignment\").attr(\"checked\", \"false\");\n }\n saveTeam(button) {\n var me = this;\n $(button).attr(\"disabled\", \"true\");\n $(\".js-please-wait\").removeClass(\"hidden\");\n var helpText = $(\".js-please-wait\").text();\n $(\".js-please-wait-a11y\").text(helpText);\n var url = \"/Api/Manage/Team/Create\";\n var widgetId = $(button).attr(\"data-widgetId\");\n var widgetcontainer = $(button).attr(\"data-widget-container\");\n var globalWindow = this._globalModal;\n var timeZone = $(\".js-global-modal \").find(\"#time-zone\").val();\n if (!timeZone) {\n alert(\"Time Zone must be selected\");\n return false;\n }\n var overwriteMessage = $(button).attr(\"data-overwrite-message\");\n var detailUrl = $(button).attr(\"data-detail-page-url\");\n var startDate = $('#start-date').val();\n if (startDate != \"\") {\n startDate = SetTime(startDate, '00', '00', '00');\n startDate = GetISODate(startDate, timeZone, \"MM/DD/YYYY hh:mm:ss a\");\n }\n var endDate = $(\"#end-date\").val();\n if (endDate != \"\") {\n endDate = SetTime(endDate, '23', '59', '59');\n endDate = GetISODate(endDate, timeZone, \"MM/DD/YYYY hh:mm:s a\");\n }\n if (startDate !== \"\" && endDate !== \"\") {\n if (me.compareDates(endDate, startDate) < 0) {\n alert(\"End Date must be greater then Start Date\");\n return false;\n }\n }\n var params = {};\n params = {\n teamName: $(\".js-global-modal\").find(\"#team-name\").val(),\n startDate: startDate ? startDate : null,\n endDate: endDate ? endDate : null,\n teamAssignmentSortOrder: $(\".js-global-modal\").find(\"#new-assignment-sort-order\").val(),\n timeZone: timeZone,\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".js-please-wait-a11y\").text(\"\");\n window.location.href = detailUrl + \"?identifier=\" + data.identifier + \"&activeTab=assignments\";\n })\n .fail(function (response, textStatus, errorThrown) {\n $(\".js-please-wait-a11y\").text(\"\");\n $(button).attr(\"disabled\", \"false\");\n $(\".js-please-wait\").addClass(\"hidden\");\n var errorContainer = $(\".js-global-modal \").find(\".js-validation-container\");\n if (response.responseJSON.data == \"duplicate\") {\n if (confirm(overwriteMessage)) {\n params = {\n teamName: $(\".js-global-modal \").find(\"#team-name\").val(),\n startDate: startDate ? startDate : null,\n endDate: endDate ? endDate : null,\n timeZone: timeZone,\n overRide: true\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n var url = \"/Team/RenderTeamLeaderTeamList/\" + widgetId;\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + widgetcontainer).html(data);\n globalWindow.closeGlobalModal();\n me.setUpDataTable();\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n $(errorContainer).removeClass(\"col-lg-offset-2\");\n globalThis.gage.getValidationErrorMessage(errorContainer, response);\n }));\n }\n }\n else {\n $(errorContainer).removeClass(\"col-lg-offset-2\");\n globalThis.gage.getValidationErrorMessage(errorContainer, response);\n }\n }));\n }\n}\n;\n$(document).ready(function () {\n ApplyGagePopOverParticipant($('[data-toggle=\"popover\"]'));\n $(\".widget-teamleader-team-list\").each(function (index, item) {\n $(item).data(\"manager\", new TeamLeaderTeamList(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\nclass TeamMemberContentAssignmentDueList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._globalModal = new GlobalModal(this._widgetId);\n this._widgetContainer = \"widget-teammember-content-assignment-due-list-container-\" + this._widgetId;\n this.bindControls();\n }\n bindControls() {\n var me = this;\n // Localize Date/Times\n $.each($(\".js-localized-date\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-show-past\", function (e) {\n e.preventDefault();\n if (confirm($(e.currentTarget).attr(\"data-confirmation-message\"))) {\n me.showPast($(e.currentTarget));\n }\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-assignments-expand\", function (e) {\n if ($(this).attr(\"aria-expanded\") === \"false\") {\n $(this).attr(\"aria-expanded\", \"true\");\n $(\".\" + me._widgetContainer).find(\".js-my-assignments\").removeClass(\"hidden\");\n $(this).find(\".js-assignments-icon\").text(\"-\");\n }\n else {\n $(this).attr(\"aria-expanded\", \"false\");\n $(\".\" + me._widgetContainer).find(\".js-my-assignments\").addClass(\"hidden\");\n $(this).find(\".js-assignments-icon\").text(\"+\");\n }\n });\n }\n showPast(button) {\n var me = this;\n var url = \"/Api/Manage/Team/LeaveTeam/\" + $(button).attr(\"data-team-identifier\");\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-teammember-content-assignment-due-list\").each(function (index, item) {\n $(item).data(\"manager\", new TeamMemberContentAssignmentDueList(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\nclass TeamMemberContentAssigmentList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._globalModal = new GlobalModal(this._widgetId);\n this._widgetContainer = \"widget-teammember-content-assignment-list-container-\" + this._widgetId;\n this.bindControls();\n }\n bindControls() {\n var me = this;\n // Localize Date/Times\n $.each($(\".localized-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n var table = $(\".\" + me._widgetContainer).find(\".table.dataTable\");\n $(table).DataTable({\n order: [],\n \"pageLength\": 25,\n \"searching\": true,\n \"dom\": '<\"top\"<\"left\"><\"right\"f><\"clearfix\">>rt<\"bottom\"<\"left\"l><\"right\"p>><\"clearfix\">',\n \"columnDefs\": [\n { type: 'date', \"targets\": 1, \"searchable\": false },\n { type: 'date', \"targets\": 2, \"searchable\": false },\n { \"targets\": 3, \"orderable\": false },\n { \"targets\": 4, \"orderable\": false },\n { \"targets\": 5, \"searchable\": false }\n ]\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-leave-team\", function (e) {\n e.preventDefault();\n if (confirm($(e.currentTarget).attr(\"data-confirmation-message\"))) {\n me.leaveTeam($(e.currentTarget));\n }\n });\n }\n leaveTeam(button) {\n var me = this;\n /*var url = \"/Api/Manage/Team/LeaveTeam/\" + $(button).attr(\"data-team-identifier\");*/\n var url = \"/Api/Manage/Team/LeaveTeam\";\n var redirectUrl = $(button).attr(\"data-team-member-list-page-url\");\n var widgetId = me._widgetId;\n var widgetcontainer = me._widgetContainer;\n var dto = {\n Identifier: $(button).attr(\"data-team-identifier\")\n };\n $.when(globalThis.gage.submitAjaxRequest(dto, url, \"POST\")\n .done(function (data, textStatus, request) {\n var url = \"/Team/RenderTeamMemberList/\" + widgetId;\n var params = {\n teamIdentifier: $(button).attr(\"data-team-identifier\")\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n window.location.href = redirectUrl;\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n }));\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-teammember-content-assignment-list\").each(function (index, item) {\n $(item).data(\"manager\", new TeamMemberContentAssigmentList(item));\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/gage.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\n/// <reference path=\"../lib/helper.timezones.d.ts\" />\n/// <reference path=\"../lib/helper.orders.d.ts\" />\nclass TeamMemberTeamList {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this._globalModal = new GlobalModal(this._widgetId);\n this._widgetContainer = \"widget-teammember-team-list-container-\" + this._widgetId;\n this.bindControls();\n }\n bindControls() {\n var me = this;\n // Localize Date/Times\n $.each($(\".local-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n $(\".\" + me._widgetContainer).on(\"click\", \"#join-team\", function (e) {\n e.preventDefault();\n me.joinTeam($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \".js-select-team-to-join\", function (e) {\n e.preventDefault();\n me.selectTeamsTojoin($(e.currentTarget));\n });\n $(\".\" + me._widgetContainer).on(\"click\", \"#includeExpired\", function (e) {\n me.applyFilter($(e.currentTarget));\n });\n if ($(\".\" + me._widgetContainer).find(\"#showteamjoinmodal\").val() === \"True\") {\n var promobox = $(\".\" + me._widgetContainer).find(\"#join-code\");\n var joinbutton = $(\".\" + me._widgetContainer).find(\"#join-team\");\n var cancelText = $(\".\" + me._widgetContainer).find(\"#canceltext\").val();\n var okText = $(\".\" + me._widgetContainer).find(\"#ok\").val();\n ;\n var joinconfirmationtext = $(\".\" + me._widgetContainer).find(\"#joinconfirmationtext\").val();\n bootbox.confirm({\n message: \"<p>\" + joinconfirmationtext + \"</p>\",\n buttons: {\n confirm: {\n label: okText,\n className: 'btn-success'\n },\n cancel: {\n label: cancelText,\n className: 'btn-danger'\n }\n },\n callback: function (result) {\n if (result) {\n $(\".\" + me._widgetContainer).find(\"#join-team\").click();\n return true;\n }\n else {\n $(promobox).val(\"\");\n }\n }\n });\n }\n }\n applyFilter(button) {\n var me = this;\n waitingDialog.show(\"\");\n var includeExpired = $(button).closest(\".widget-teammember-team-list\").find(\"#includeExpired\").length > 0 ? $(button).closest(\".widget-teammember-team-list\").find(\"#includeExpired\").is(\":checked\") : false;\n var params = {\n Id: me._widgetId,\n PostBackData: \"{ 'IncludeExpired': '\" + includeExpired + \"'}\"\n /*IncludeExpired: includeExpired*/\n };\n var url = \"/Team/RenderTeamMemberTeamList/\"; /* + me._widgetId;*/\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n waitingDialog.hide();\n $(\".\" + me._widgetContainer).html(data);\n me.setLocalTimes();\n me.setUpClassTable();\n })\n .fail(function (response, textStatus, errorThrown) {\n waitingDialog.hide();\n }));\n }\n setLocalTimes() {\n $.each($(\".local-time\"), function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n $(e).text(dayjs.utc(localDate).local().format('MM/DD/YYYY'));\n });\n }\n joinTeam(button) {\n var me = this;\n var memberListUrl = $(button).attr(\"data-team-member-team-list-pageurl\");\n var joinCode = $(\".\" + me._widgetContainer).find(\"#join-code\").val();\n if (joinCode === \"\") {\n alert($(button).attr(\"data-required-message\"));\n return false;\n }\n var notFoundMessage = $(button).attr(\"data-not-found-message\");\n /*var url = \"/API/Manage/Team/AddMember/\" + joinCode;*/\n var params = {\n Identifier: joinCode\n };\n var url = \"/API/Manage/Team/AddMember\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n window.location.href = memberListUrl;\n })\n .fail(function (response, textStatus, errorThrown) {\n if (response.status == \"404\") {\n alert(notFoundMessage);\n }\n else if (response.responseJSON !== undefined) {\n alert(response.responseJSON.errorMessage);\n }\n else {\n alert(response.responseText);\n }\n }));\n }\n setUpClassTable() {\n var me = this;\n var table = $(\".\" + me._widgetContainer).find(\".dataTable\");\n $(table).DataTable({\n \"searching\": true,\n \"columnDefs\": [\n { type: 'date', \"targets\": 1 },\n { type: 'date', \"targets\": 2 },\n { \"targets\": 3, \"searchable\": false, \"orderable\": false }\n ]\n });\n }\n selectTeamsTojoin(button) {\n var me = this;\n var url = \"/Team/TeamsToJoin/\";\n $.when(globalThis.gage.submitAjaxRequest(null, url, \"GET\")\n .done(function (data, textStatus, request) {\n me._globalModal.openGlobalModal(data, \"panel\", { classes: \"team-join-modal panel-lg\" });\n var globalContainer = $(\".js-global-modal\");\n var table = $(globalContainer).find(\".dataTable\");\n $(table).DataTable({\n \"searching\": true,\n \"columnDefs\": [\n { type: 'date', \"targets\": 1 },\n { type: 'date', \"targets\": 2 },\n { \"targets\": 3, \"searchable\": false, \"orderable\": false }\n ]\n });\n $(globalContainer).find(\".js-team-popup-header\").html($(button).attr(\"data-join-popup-header\"));\n $(globalContainer).find(\".js-join-selected-team\").html($(button).attr(\"data-join-button-text\"));\n $(globalContainer).on(\"click\", \".js-join-selected-team\", function (e) {\n $(e.currentTarget).attr(\"disabled\", \"true\");\n var identity = $(e.currentTarget).attr(\"data-team-identifier\");\n $(\".js-wait-join-team[data-wait-for='\" + identity + \"']\").removeClass(\"hidden\");\n var participantId = $(\"#participant-id\").val();\n var teamIdentifier = $(e.currentTarget).attr(\"data-team-identifier\");\n /*var url = \"/API/Manage/Team/JoinTeam/\" + teamIdentifier;*/\n var params = {\n Identifier: teamIdentifier\n };\n var url = \"/API/Manage/Team/JoinTeam/\";\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n url = \"/Team/RenderTeamMemberTeamList/\"; /* + me._widgetId;*/\n var params = {\n Id: me._widgetId,\n PostBackData: null\n /*IncludeExpired: includeExpired*/\n };\n $.when(globalThis.gage.submitAjaxRequest(params, url, \"POST\")\n .done(function (data, textStatus, request) {\n $(\".\" + me._widgetContainer).html(data);\n $(\".js-wait-join-team[data-wait-for='\" + identity + \"']\").addClass(\"hidden\");\n }));\n })\n .fail(function (response, textStatus, errorThrown) {\n $(e.currentTarget).attr(\"disabled\", \"false\");\n $(\".js-wait-join-team[data-wait-for='\" + identity + \"']\").addClass(\"hidden\");\n alert(response.responseJSON.errorMessage);\n }));\n });\n })\n .fail(function (response, textStatus, errorThrown) {\n alert(response.responseJSON.errorMessage);\n }));\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-teammember-team-list\").each(function (index, item) {\n $(item).data(\"manager\", new TeamMemberTeamList(item));\n });\n});\nclass UserStatusFielo {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n var me = this;\n //this.bindControls();\n if ($(me._widget).attr(\"data-is-edit-mode\") !== \"true\") {\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n me.GetFieloSessionStatus(0, false);\n }\n }\n }\n GetFieloSessionStatus(attempt, renew) {\n var me = this;\n if (attempt < 5) {\n $.ajax({\n method: \"GET\",\n url: \"/Fielo/GetFieloSessionStatus\" + \"/\" + renew,\n }).done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.attempt = attempt + 1;\n me.updateSessionCheck(data.result);\n }\n });\n }\n else {\n alert(\"too many attempts\");\n return;\n }\n }\n updateSessionCheck(data) {\n var me = this;\n if (data != null) {\n if (!data.success) {\n me.GetFieloSessionStatus(data.attempt, true);\n }\n else if (data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetFieloSessionStatus(data.attempt, true);\n }\n else if (data.errorCode != \"\") {\n alert(data.errorMessage);\n return;\n }\n else {\n if (data.success) {\n if ($(me._widget).attr(\"data-fielo-member-id\") != \"\") {\n me.bindControls();\n }\n }\n }\n }\n }\n }\n bindControls() {\n var me = this;\n var membersRequests = [];\n var memberRequest = {\n \"dataType\": null,\n \"callType\": null,\n \"pointValue\": null,\n \"fieldName\": \"\",\n \"renew\": false,\n \"placeHolderToUpdate\": \"\"\n };\n if ($(me._widget).find(\"#js-current-point-balance\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#js-current-point-balance\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#js-current-point-balance\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#js-current-point-balance\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetPointBalance\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n if ($(me._widget).find(\"#js-custom-field\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#js-custom-field\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#js-custom-field\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#js-custom-field\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetCustomFieloField\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n if ($(me._widget).find(\"#js-point-value\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#js-point-value\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#js-point-value\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#js-point-value\").attr(\"data-type\");\n var pointValue = $(me._widget).find(\"#js-point-value\").attr(\"data-point-value\") !== \"\"\n ? parseFloat($(me._widget).find(\"#js-point-value\").attr(\"data-point-value\"))\n : 1;\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetPointValue\",\n \"pointValue\": pointValue,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n if ($(me._widget).find(\"#js-current-level\").length > 0) {\n var placeHolderToUpdate = $(me._widget).find(\"#js-current-level\").attr(\"Id\");\n var fieloField = $(me._widget).find(\"#js-current-level\").attr(\"data-fielo-field\");\n var dataType = $(me._widget).find(\"#js-current-level\").attr(\"data-type\");\n memberRequest = {\n \"dataType\": dataType,\n \"callType\": \"GetMemberLevel\",\n \"pointValue\": 1,\n \"fieldName\": fieloField,\n \"renew\": false,\n \"placeHolderToUpdate\": placeHolderToUpdate\n };\n membersRequests.push(memberRequest);\n }\n me.GetCommmonMember(0, membersRequests);\n }\n GetCommmonMember(attempt, membersRequests) {\n var me = this;\n if (attempt < 5) {\n $.when(submitAjaxRequest(membersRequests, \"/Fielo/GetCommonMember\", \"POST\").done(function (data, textStatus, request) {\n if (data != null && data.result != null) {\n data.result.attempt = attempt + 1;\n data.result.memberRequests = membersRequests;\n me.updateCommmonMemberUI(data.result);\n }\n }));\n }\n else {\n alert(\"too many attempts\");\n return;\n }\n }\n updateCommmonMemberUI(data) {\n var me = this;\n if (data != null && data.errorCode != undefined) {\n if (data.errorCode == \"INVALID_SESSION_ID\") {\n me.GetCommmonMember(data.attempt, data.membersRequests);\n }\n else if (data.errorCode != \"\") {\n data.attempt = data.attempt + 1;\n me.GetCommmonMember(data.attempt, data.membersRequests);\n return;\n }\n else {\n if (data.responseData != null && data.responseData != undefined && data.responseData.memberResponseObject != null && data.responseData.memberResponseObject !== undefined) {\n $.each(data.responseData.memberResponseObject, function (index, value) {\n $(\"#\" + value.placeHolderToUpdate).html(value.formattedData);\n });\n }\n }\n }\n }\n}\n;\n$(document).ready(function () {\n $(\".widget-userstatusfielo\").each(function (index, item) {\n $(item).data(\"manager\", new UserStatusFielo(item));\n });\n});\n/// <reference path=\"../standaloneComponents/FileUpload.ts\" />\n$(document).ready(function () {\n //function UploadImage(fileField, $hiddenField) {\n // if (fileField.files[0] != null) {\n // var formData = new FormData();\n // formData.append('file', fileField.files[0]);\n // $.ajax({\n // url: (\"/API/Content/UploadFile\"),\n // type: \"POST\",\n // data: formData,\n // processData: false,\n // cache: false,\n // contentType: false\n // }).done(function (data) {\n // gage.log(data.data.fileName);\n // $hiddenField.attr(\"data-url\", data.data.url);\n // $hiddenField.text(data.data.fileName);\n // $hiddenField.removeClass(\"hide\");\n // });\n // }\n //}\n //$('input[type=\"file\"]').change(function () {\n // UploadImage(this, $(this).parent().find(\"div.filename\"));\n //});\n var showRecaptcha = $('#showRecaptcha').val();\n if (showRecaptcha) {\n var element = document.getElementById(\"submit-contact-button\");\n if (element != undefined) {\n element.disabled = true;\n }\n }\n $(document).on(\"change\", \".widget-contact-form input[type='file']\", function (e) {\n var container = $(this).parent();\n var fileProgress = $(container).find(\".file-progress\");\n var fileInput = $(container).find(\"input[type='file']\");\n var file = e.target.files[0];\n var originalFilename = file.name;\n var fileUpload = new FileUpload(file, null);\n $(fileInput).hide();\n $(container).find(\".js-change-image-button\").hide();\n $(fileProgress).find(\".progress-wrapper\").show();\n fileUpload.onProgressChangeCallback = function (value) {\n var percentText = value.toString() + '%';\n $(fileProgress).find(\".progress-wrapper .progress-indicator\").text(percentText);\n $(fileProgress).find(\".progress-wrapper .progress-indicator\").width(percentText);\n };\n fileUpload.onCompleteCallback = function () {\n var queryStart = fileUpload.url.indexOf(\"?\");\n var cdnUrl = fileUpload.url.substr(0, queryStart);\n $(container).find(\".filename\").text(originalFilename);\n $(container).find(\".CdnUrl\").val(cdnUrl);\n $(container).find(\".js-change-image-button\").show();\n $(fileProgress).find(\".progress-wrapper .progress-indicator\").text(\"0\");\n $(fileProgress).find(\".progress-wrapper .progress-indicator\").width(\"0%\");\n $(fileProgress).find(\".progress-wrapper\").hide();\n };\n fileUpload.usePortalUploadPath = true;\n fileUpload.enforceFileTypes = true;\n fileUpload.uploadFile();\n });\n $(\"body\").on(\"click\", \"#submit-contact-button\", function (e) {\n e.preventDefault();\n var id = \"#\" + $(this).data(\"id\");\n var emailErrorMessage = $('#submit-contact-button').attr(\"data-invalid-email\");\n if (emailErrorMessage == undefined) {\n emailErrorMessage = \"Please enter a valid email address.\";\n }\n $.validator.addMethod(\"contact-form-email\", function (value, element) {\n return this.optional(element) || /^(([^<>()[\\]\\\\.,;:\\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,}))$/.test(value);\n }, emailErrorMessage);\n var validator = $(id).validate();\n if (validator.form()) {\n if ($(\"#ContactFormOperationComplete\").val() == 'False') {\n bootbox.dialog({\n title: '<span class=\"fa-solid fa-floppy-disk\"></span> ' + $('#savingContactTitle').val(),\n message: $('#savingContactMessage').val(),\n closeButton: false\n });\n $(id).trigger(\"submit\");\n setTimeout(function () {\n validator.resetForm();\n }, 100);\n }\n }\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\nclass CurriculumTeamContentListWidget {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var self = this;\n try {\n var html = $(\".js-course-content\").html();\n var globalModal = new GlobalModal(\"content-assignment-list\");\n if ($(self._widget).find(\"#FlyoutInitialDisplayBehavior\").val() == \"Open\") {\n if ($(\"body.client-theme\").length) {\n globalModal.openGlobalModal(html, \"panel\", { classes: \"content-assignment-list\", panelAlignment: \"left\", animate: true });\n }\n }\n if ($(self._widget).find(\"#FlyoutInitialDisplayBehavior\").val() == \"OpenCloseAfter\") {\n if ($(\"body.client-theme\").length) {\n globalModal.openGlobalModal(html, \"panel\", { classes: \"content-assignment-list\", panelAlignment: \"left\", animate: true });\n }\n setTimeout(function () {\n globalModal.closeGlobalModal();\n }, 2000);\n }\n $(self._widget).find(\".js-open-class-list\").on(\"click\", function (e) {\n globalModal.openGlobalModal(html, \"panel\", { classes: \"content-assignment-list\", panelAlignment: \"left\", animate: true });\n $(\"#globalmodal-content-assignment-list\").find(\".localized-time\").each(function (i, e) {\n var localDate = $(e).text();\n $(e).html(DisplayDateInLocalFormat(localDate, \"MM/DD/YYYY\") + \" <small>\" + DisplayDateInLocalFormat(localDate, \"hh:mm a\") + \"</small>\");\n });\n });\n }\n catch (error) {\n console.error(error);\n }\n $(document).on('OnContentCompetionWidgetCompletionCheck', function () {\n var trackableWidgets = $(\"[data-trackable='true']\");\n var dataCompletedWidgetCount = 0;\n $(\"[data-trackable='true']\").each(function (index, elem) {\n if ($(elem).attr(\"data-participant-completed\") == \"true\") {\n dataCompletedWidgetCount += 1;\n }\n });\n if (dataCompletedWidgetCount == trackableWidgets.length) {\n var urlParameters = window.location.href.slice(window.location.href.indexOf('?') + 1);\n var params = {\n \"id\": self._widgetId.toString(),\n \"source\": urlParameters\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: '/Content/RenderCurriculumTeamContentList',\n success: function (data) {\n $(self._widget).find(\".user-curriculumteamcontentlist-inner\").html(data);\n if ($(self._widget).find(\"#IsWidgetVisible\").val() === \"True\") {\n $(self._widget).find(\".js-open-class-list\").on(\"click\", function (e) {\n globalModal.openGlobalModal(html, \"panel\", { classes: \"content-assignment-list\", panelAlignment: \"left\", animate: true });\n });\n if ($(self._widget).find(\"#FlyoutCompletionDisplayBehavior\").val() == \"Open\") {\n if ($(\"body.client-theme\").length) {\n globalModal.openGlobalModal(html, \"panel\", { classes: \"content-assignment-list\", panelAlignment: \"left\", animate: true });\n }\n }\n }\n }\n });\n }\n });\n }\n}\n$(function () {\n // locate all product list widgets on page\n $(\".user-curriculumteamcontentlist\").each(function (index, item) {\n $(item).data(\"manager\", new CurriculumTeamContentListWidget(item));\n });\n});\nwindow[\"CurriculumTeamContentListWidget\"] = CurriculumTeamContentListWidget;\n/// <reference path=\"../lib/jquery.d.ts\" />\nclass DSODashboard {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\".js-children-transactions\").on('click', function () {\n var expand = this;\n me.showTransactions(expand, this);\n });\n $(me._widget).find(\".js-children-locations\").on('click', function () {\n var expand = this;\n me.showLocations(expand, this);\n });\n }\n showTransactions(expand, origin) {\n var me = this;\n var parentContainer = $(me._widget).find(\"#list-items\").find('.js-row-transactions-' + $(expand).data(\"participantid\"));\n var detailContainer = $(parentContainer).find(\".js-transactions-\" + $(expand).data(\"participantid\"));\n $(detailContainer).find('.js-chidren-transactions').attr('disabled', 'true');\n var identifier = $(expand).data(\"participantid\");\n $.when(me.Children(identifier).done(function (data, textStatus, response) {\n var modalHeading = $(\".js-transactions-heading\").text();\n var htmlSource = $(\"<div><h1 class='h2'>\" + modalHeading + \"</h1>\" + $(parentContainer).html() + \"</div>\");\n if (data.trim() === \"\") {\n $(htmlSource).find(\"table\").remove();\n var noTransactionsMsg = $(\".js-no-transactions\").text();\n $(htmlSource).append(\"<i>\" + noTransactionsMsg + \"</i>\");\n }\n else {\n $(htmlSource).find(\"tbody\").append(data);\n }\n $(htmlSource).find(\".accounttransactionListHeading\").removeClass(\"sorting\").removeClass(\"sorting_desc\");\n $(htmlSource).find(\".dataTable\").removeClass(\"table-striped\");\n var globalModal = new GlobalModal(\"dso-locations\");\n globalModal.openGlobalModal($(htmlSource).html(), \"panel\", { origin: $(origin), classes: \"dso-modal\" });\n $(\".dso-modal\").find(\".js-vieworderdetail\").on('click', function () {\n var expand = this;\n me.showTransactionDetail(expand);\n });\n }));\n }\n showTransactionDetail(expand) {\n var me = this;\n var widgetContainer = $('.widget-accounttransaction-list');\n var parentContainer = $(expand).parent().closest('tr').next('tr');\n var detailContainer = $(parentContainer).find(\".detail-\" + $(expand).data(\"identifier\"));\n var icon = $(expand).find('span');\n if ($(icon).hasClass('fa-chevron-down')) {\n if ($(detailContainer).hasClass(\"js-data-loaded\")) {\n $(parentContainer).removeClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n }\n else {\n $(widgetContainer).find('.js-vieworderdetail').attr('disabled', 'true');\n var identifier = $(expand).data(\"identifier\");\n var actionid = $(expand).data(\"actionid\");\n var source = $(expand).data(\"source\");\n var transactiontype = $(expand).data(\"transactiontype\");\n var participantactivityid = $(expand).data(\"participantactivityid\");\n var showaccount = $(expand).data(\"showaccount\");\n var showdepositsource = $(expand).data(\"showdepositsource\");\n var activityname = $(expand).data(\"activityname\");\n var isadmin = $(expand).data(\"isadmin\");\n $.when(me.GetOrderDetail(identifier, actionid, source, transactiontype, participantactivityid, activityname, showaccount, showdepositsource, isadmin).done(function (data, textStatus, response) {\n $(parentContainer).removeClass('hide');\n $(parentContainer).slideDown(1000);\n detailContainer.html($(this).data(\"identifier\"));\n detailContainer.addClass(\"js-data-loaded\");\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n detailContainer.html(data);\n $(detailContainer).find(\".dataTable\").removeClass(\"table-striped\");\n }));\n }\n }\n else {\n $(parentContainer).addClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n }\n }\n GetOrderDetail(identifier, actionid, source, transactiontype, participantactivityid, activityname, showaccount, showdepositsource, isadmin) {\n var params = {\n \"source\": source,\n \"transactionType\": transactiontype,\n \"identifier\": identifier,\n \"actionId\": actionid,\n \"participantActivityId\": participantactivityid,\n \"activityName\": activityname,\n \"showAccount\": showaccount,\n \"showDepositSource\": showdepositsource,\n \"isaAmin\": isadmin\n };\n return $.ajax({\n data: params,\n method: \"GET\",\n url: '/Api/AccountTransaction/GetTransactionDetail'\n });\n }\n Children(participantId) {\n var me = this;\n var params = {\n \"participantId\": null\n };\n params.participantId = participantId;\n return $.ajax({\n data: params,\n method: \"GET\",\n url: '/Distributor/GetTransactions',\n cache: false,\n traditional: true\n });\n }\n showLocations(expand, origin) {\n var me = this;\n var identifier = $(expand).data(\"participantid\");\n $.when(me.Locations(identifier).done(function (data, textStatus, response) {\n var modalHeading = $(\".js-locations-heading\").text();\n data = \"<h1 class='h2'>\" + modalHeading + \"</h2>\" + data;\n var globalModal = new GlobalModal(\"dso-locations\");\n globalModal.openGlobalModal(data, \"panel\", { origin: $(origin), classes: \"dso-modal\" });\n }));\n }\n Locations(participantId) {\n var me = this;\n var params = {\n \"participantId\": null\n };\n params.participantId = participantId;\n return $.ajax({\n data: params,\n method: \"GET\",\n url: '/Distributor/GetLocations',\n cache: false,\n traditional: true\n });\n }\n}\n$(document).ready(function () {\n $(\".widget_dsodashboard\").each(function (index, item) {\n $(item).data(\"manager\", new DSODashboard(item));\n });\n});\nwindow[\"DSODashboard\"] = DSODashboard;\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nexport class DSOSetup {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\".js-reset-dso-button\").click(function (e) {\n var table = $(me._widget).find(\".js-participants\");\n $(this).closest(\".panel-body\").find(\".js-dsosearchtext\").val(\"\");\n $(table).addClass('hidden');\n });\n $(me._widget).find(\".js-find-dso-button\").click(function (e) {\n e.preventDefault();\n if ($(me._widget).find(\".js-dsosearchtext\").val() === \"\") {\n alert($(this).data(\"required-text\"));\n return false;\n }\n me.findDSO();\n });\n $(me._widget).on('click', '.js-distributors', function () {\n var expand = this;\n me.showDistributors(expand, this);\n });\n $(me._widget).find(\".js-dsosearchtext\").on(\"keypress\", function (e) {\n if (e.keyCode == 13)\n $(me._widget).find(\".js-find-dso-button\").click();\n });\n $(me._widget).find(\".js-shownewhierarchypanel\").click(function (e) {\n e.preventDefault();\n $(me._widget).find(\".js-panel-search\").addClass(\"hidden\");\n $(me._widget).find(\".js-participants\").addClass(\"hidden\");\n $(me._widget).find(\".js-panel-create\").removeClass(\"hidden\");\n });\n $(me._widget).find(\".js-button-save-practice\").on('click', function (e) {\n e.preventDefault();\n var topHierarchyLevelParticipantId = $(this).data(\"parent-identifier\");\n if (me.validateInput()) {\n me.saveAddPractice(topHierarchyLevelParticipantId);\n }\n });\n $(me._widget).find(\".js-addnew-hierarchy\").click(function (e) {\n e.preventDefault();\n var errorpanel = $(me._widget).find(\".js-panel-error\");\n var successpanel = $(me._widget).find(\".js-panel-success\");\n var successmessage = $(successpanel).data(\"fileupload-success-message\");\n $(errorpanel).addClass(\"hidden\");\n $(successpanel).addClass(\"hidden\");\n var errorcontainer = $(errorpanel).find(\".js-panel-errorcontainer\");\n var successcontainer = $(successpanel).find(\".js-panel-successcontainer\");\n var bodycontainer = $(me._widget).find(\".js-participants #list-items\");\n var fileObject = $(me._widget).find(\"#file\");\n var file = document.getElementById($(fileObject).attr(\"id\"));\n var form = $(file).closest(\"form\")[0];\n var formData = new FormData(form);\n formData.append('tophierarchylevel', $(me._widget).find(\".js-tophierarchyleveltext\").val());\n formData.append('midhierarchylevel', $(me._widget).find(\".js-midhierarchyleveltext\").val());\n formData.append('pointssplit', $(me._widget).find(\".js-pointssplit\").val());\n var url = (\"/Distributor/ImportHierarchy\");\n $.when(submitAjaxRequest(undefined, url, \"post\", undefined, undefined, undefined, formData)\n .done(function (data, textStatus, request) {\n if (data != null) {\n if (data.success == false && data.response.data != null && data.response.data.length > 0) {\n var html = '<ul class=\"list-group\">';\n $(data.response.data).each(function (index, value) {\n html += '<li class=\"list-group-item\">' + value + '</li>';\n });\n $(errorcontainer).html(html);\n $(errorpanel).removeClass(\"hidden\");\n }\n else if (data.success == true && data.response.data != null) {\n if (data.response.data.length > 0) {\n var html = '<ul class=\"list-group\">';\n $(data.response.data).each(function (index, value) {\n html += '<li class=\"list-group-item\">' + value + '</li>';\n });\n $(successcontainer).html(html);\n $(successpanel).find(\".panel-heading\").html(successmessage);\n $(me._widget).find(\".js-invite-tophierarchy-member\").on('click', function (e) {\n e.preventDefault();\n var errorMessage = $(this).data(\"errormessage\");\n var successMessage = $(this).data(\"successmessage\");\n me.SendIndividualEmail(0, $(this).attr(\"data-identifier\"), successMessage, errorMessage);\n });\n }\n $(successpanel).removeClass(\"hidden\");\n if (data.response.output !== \"\") {\n $(bodycontainer).html(data.response.output);\n $(bodycontainer).find(\".js-group-row\").addClass(\"success\");\n var table = $(me._widget).find(\".js-participants\");\n $(me._widget).find(\".js-panel-search\").removeClass(\"hidden\");\n $(me._widget).find(\".js-panel-create\").addClass(\"hidden\");\n $(me._widget).find(\".js-children\").on('click', function () {\n var expand = this;\n me.showChildren(expand);\n });\n $(table).removeClass(\"hidden\");\n }\n }\n }\n }));\n });\n $(me._widget).find(\"#file\").on(\"change\", function (e) {\n me.selectFileToImport(this);\n });\n me.removePracticeLocation();\n $(me._widget).find(\".js-button-add-location\").on('click', function (e) {\n e.preventDefault();\n });\n $(me._widget).find(\".js-close-createnew\").on(\"click\", function (e) {\n e.preventDefault();\n $(me._widget).find(\".js-panel-search\").removeClass(\"hidden\");\n $(me._widget).find(\".js-panel-create\").addClass(\"hidden\");\n $(me._widget).find(\".js-panel-search\").removeClass(\"hidden\");\n $(me._widget).find(\".js-file-upload-summary\").addClass(\"hidden\").text(\"\");\n $(me._widget).find(\".js-panel-successcontainer\").html(\"\");\n $(me._widget).find(\".js-panel-errorcontainer\").html(\"\");\n $(me._widget).find(\".js-panel-error\").addClass(\"hidden\");\n $(me._widget).find(\".js-panel-success\").addClass(\"hidden\");\n $(me._widget).find(\"#file\").val(\"\");\n $(me._widget).find(\".js-file-upload-summary\").text(\"\");\n });\n }\n removePracticeLocation() {\n var me = this;\n $(me._widget).find(\".btn-remove-practice-location-type\").on(\"click\", function (e) {\n e.preventDefault();\n $(this).closest(\".js-location-type-parent\").remove();\n if ($(me._widget).find(\".js-location-type-container .js-practice-location-type\").length == 1) {\n $(me._widget).find(\".js-location-type-container .btn-remove-practice-location-type\").addClass(\"hidden\");\n }\n else {\n $(me._widget).find(\".js-location-type-container .btn-remove-practice-location-type\").removeClass(\"hidden\");\n }\n });\n }\n SendIndividualEmail(participantId, template, successMessage, errorMessage) {\n var me = this;\n var params = {\n ParticipantId: participantId,\n Template: template\n };\n /*var url = \"/Distributor/SendIndividualEmail?participantId=\" + participantId + \"&template=\" + template;*/\n var url = \"/Distributor/SendIndividualEmail\";\n $.when(submitAjaxRequest(params, url, \"post\", function () { $(\"#ajax-loading\").modal(); })\n .done(function (data, textStatus, request) {\n $(\"#ajax-loading\").modal(\"hide\");\n if (data != null) {\n if (data.success === true) {\n alert(successMessage);\n }\n else {\n alert(errorMessage);\n }\n }\n }));\n }\n SendGroupEmail(participantId, successMessage, errorMessage) {\n var me = this;\n var model = {\n participantId: participantId,\n midHierarchyLevelGroupId: $(me._widget).find(\".js-midhierarchyleveltext\").val()\n };\n var url = \"/Distributor/SendInvitationEmailByParent\";\n $.when(submitAjaxRequest(model, url, \"post\", function () { $(\"#ajax-loading\").modal(); })\n .done((data, textStatus, request) => {\n $(\"#ajax-loading\").modal(\"hide\");\n if (data != null) {\n if (data.success === true) {\n alert(successMessage);\n }\n else {\n alert(errorMessage);\n }\n }\n }));\n }\n saveAddPractice(topHierarchyLevelParticipantId) {\n var me = this;\n var errorpanel = $(me._widget).find(\".js-panel-location-error\");\n var successpanel = $(me._widget).find(\".js-panel-success\");\n $(errorpanel).addClass(\"hidden\");\n $(successpanel).addClass(\"hidden\");\n var successmessage = $(successpanel).data(\"record-success-message\");\n var errorcontainer = $(errorpanel).find(\".js-panel-location-error-container\");\n var successcontainer = $(successpanel).find(\".js-panel-successcontainer\");\n var bodycontainer = $(me._widget).find(\".js-participants #list-items\");\n var model = {\n CompanyName: null,\n FirstName: null,\n LastName: null,\n Email: null,\n PhoneNumber: null,\n Country: null,\n Language: null,\n JobTitle: null,\n KerrPreferredNumberOfOperatories: null,\n NPINumber: null,\n PreferredLocationTypeId: 2,\n Locations: null,\n Tophierarchylevel: $(me._widget).find(\".js-tophierarchyleveltext\").val(),\n Midhierarchylevel: $(me._widget).find(\".js-midhierarchyleveltext\").val(),\n TopHierarchyLevelParticipantId: topHierarchyLevelParticipantId,\n PreferredLocationType: $(me._widget).find(\".js-preferredlocationtype\").val()\n };\n var locations = null;\n model.CompanyName = $(\".js-practice-companyname\").val() == \"\" ? null : $(\".js-practice-companyname\").val();\n model.FirstName = $(\".js-practice-firstname\").val() == \"\" ? null : $(\".js-practice-firstname\").val();\n model.LastName = $(\".js-practice-lastname\").val() == \"\" ? null : $(\".js-practice-lastname\").val();\n model.Email = $(\".js-practice-email\").val() == \"\" ? null : $(\".js-practice-email\").val();\n model.PhoneNumber = $(\".js-practice-phonenumber\").val() == \"\" ? null : $(\".js-practice-phonenumber\").val();\n model.Country = $(\".js-practice-country\").val();\n model.Language = $(\".js-practice-language\").val();\n model.JobTitle = $(\".js-practice-jobtitle\").val() == \"\" ? null : $(\".js-practice-jobtitle\").val();\n model.NPINumber = $(\".js-practice-npinumber\").val() == \"\" ? null : $(\".js-practice-npinumber\").val();\n model.KerrPreferredNumberOfOperatories = $(\".js-practice-operatories\").val() == \"\" ? null : $(\".js-practice-operatories\").val();\n locations = $(me._widget).find(\".js-location-container .js-practice-location\").map(function () {\n if (this.value != \"\") {\n return this.value;\n }\n }).get().join(',');\n model.Locations = locations;\n var url = \"/Distributor/AddHierarchy\";\n $.when(submitAjaxRequest(model, url, \"post\")\n .done(function (data, textStatus, request) {\n if (data != null) {\n if (data.success == false && data.response.data != null && data.response.data.length > 0) {\n var html = '<ul class=\"list-group\">';\n $(data.response.data).each(function (index, value) {\n ;\n html += '<li class=\"list-group-item\">' + value + '</li>';\n });\n $(errorcontainer).html(html);\n $(errorpanel).removeClass(\"hidden\");\n $(\"#practiceModalError\").modal();\n }\n else if (data.success == true && data.response.data != null) {\n if (data.response.data.length > 0) {\n var html = '<ul class=\"list-group\">';\n $(data.response.data).each(function (index, value) {\n html += '<li class=\"list-group-item\">' + value + '</li>';\n });\n $(successcontainer).html(html);\n $(successpanel).find(\".panel-heading\").html(successmessage);\n }\n $(successpanel).removeClass(\"hidden\");\n if (data.response.output !== \"\") {\n $(bodycontainer).html(data.response.output);\n $(bodycontainer).find(\".js-group-row\").addClass(\"success\");\n var table = $(me._widget).find(\".js-participants\");\n $(me._widget).find(\".js-panel-search\").removeClass(\"hidden\");\n $(me._widget).find(\".js-panel-create\").addClass(\"hidden\");\n $(me._widget).find(\".js-children\").on('click', function () {\n var expand = this;\n me.showChildren(expand);\n });\n $(table).removeClass(\"hidden\");\n $(me._widget).find(\"#practiceModal\").modal(\"hide\");\n $(me._widget).find(\"#practiceModal\").find(\"input\").val(\"\");\n $(me._widget).find(\"#practiceModal\").find('select option:first-child').attr(\"selected\", \"selected\");\n }\n }\n }\n }));\n }\n validateInput() {\n var me = this;\n var errormessage = \"\";\n if ($(me._widget).find(\".js-practice-firstname\").val() == \"\") {\n errormessage = \"First Name is required\\n\";\n }\n if ($(me._widget).find(\".js-practice-lastname\").val() == \"\") {\n errormessage += \"Last Name is required\\n\";\n }\n if ($(me._widget).find(\".js-practice-email\").val() == \"\") {\n errormessage += \"Email is required\\n\";\n }\n if ($(me._widget).find(\".js-practice-email\").val() != \"\") {\n var email_regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/i;\n if (!email_regex.test($(me._widget).find(\".js-practice-email\").val())) {\n errormessage += \"Email is invalid\\n\";\n }\n }\n if ($(me._widget).find(\".js-practice-phonenumber\").val() == \"\") {\n errormessage += \"Phone number is required\\n\";\n }\n if ($(me._widget).find(\".js-practice-operatories\").val() == \"\") {\n errormessage += \"Operatories Name is required\\n\";\n }\n if (errormessage == \"\") {\n return true;\n }\n alert(errormessage);\n return false;\n }\n selectFileToImport(input) {\n if (input.files.length) {\n $(\".js-file-upload-summary\").removeClass(\"hidden\").text(input.files[0].name);\n }\n else {\n $(\".js-file-upload-summary\").addClass(\"hidden\").text(\"\");\n }\n }\n findDSO() {\n var me = this;\n var table = $(me._widget).find(\".js-participants\");\n var bodycontainer = $(me._widget).find(\".js-participants #list-items\");\n var norecordscontainer = $(me._widget).find(\".js-norecordsfound\");\n $(me._widget).find(\".js-panel-success\").addClass(\"hidden\");\n $(me._widget).find(\".js-dso-loader\").removeClass(\"hidden\");\n $(bodycontainer).html(\"\");\n $.when(me.Search($(me._widget).find(\".js-dsosearchtext\").val()).done((data, textStatus, response) => {\n $(me._widget).find(\".js-dso-loader\").addClass(\"hidden\");\n $(table).addClass(\"hidden\");\n $(norecordscontainer).addClass(\"hidden\");\n if ($.trim(data) === \"\") {\n $(norecordscontainer).removeClass(\"hidden\");\n }\n else {\n $(bodycontainer).html(data);\n $(bodycontainer).find(\".js-group-row\").addClass(\"success\");\n $(this._widget).find(\".js-children\").on('click', function () {\n var expand = this;\n me.showChildren(expand);\n });\n $(table).removeClass(\"hidden\");\n $(this._widget).find(\".js-invite-tophierarchy-member\").on('click', function (e) {\n e.preventDefault();\n var errorMessage = $(this).data(\"errormessage\");\n var successMessage = $(this).data(\"successmessage\");\n me.SendIndividualEmail($(this).attr(\"data-identifier\"), \"parent\", successMessage, errorMessage);\n });\n $(me._widget).find(\".js-invite-all-primary-members\").on('click', function (e) {\n e.preventDefault();\n var errorMessage = $(this).data(\"errormessage\");\n var successMessage = $(this).data(\"successmessage\");\n me.SendGroupEmail($(this).attr(\"data-identifier\"), successMessage, errorMessage);\n });\n }\n }));\n }\n SetDistributorCompanyAddressesForParticipant(participantId, addressId, clientId) {\n var me = this;\n var dto = {\n ParticipantId: participantId,\n DistributorCompanyDto: {\n Addresses: [{\n ParticipantID: participantId,\n ID: addressId,\n //DistributorCompanyClientID: clientId\n PointMatchingField: clientId\n }]\n }\n };\n //var params = { id: null, addressQueue: null };\n //params.id = participantId;\n //params.addressQueue = JSON.stringify(dto);\n //console.log(params.addressQueue);\n var processingModalTitle = $(\"#adding-practice-modal-processing-title\").val();\n var processingModalBody = $(\"#adding-practice-modal-processing-message\").val();\n var box = bootbox.dialog({\n show: false,\n title: '<span class=\"fa-solid fa-floppy-disk\"></span> ' + processingModalTitle,\n message: \"<i class=\\\"fa fa-refresh fa-spin\\\"></i> \" + processingModalBody,\n closeButton: false\n });\n var url = \"/Manage/User/SetDistributorCompanyAddressesForDSOParticipant\";\n $.when(submitAjaxRequest(dto, url, \"post\", function () {\n box.modal('hide');\n }).done(function (data) {\n box.modal(\"hide\");\n $(me._widget).find(\"#distributor-company-search-modal\").modal(\"hide\");\n var td = $(me._widget).find(\".js-participants #list-items\").find(\"[data-parent-identifier='\" + $(\"#globalmodal-dso-detail\").find(\".js-parentparticipantid\").val() + \"']\");\n $(td).removeClass(\"js-data-loaded\");\n $(td).closest(\".js-row-\" + $(\"#globalmodal-dso-detail\").find(\".js-parentparticipantid\").val()).addClass(\"hide\");\n var parentrow = $(td).closest(\".dataTable\").find(\".js-parentrow-\" + $(\"#globalmodal-dso-detail\").find(\".js-parentparticipantid\").val());\n var icon = $(parentrow).find(\".js-children span\");\n $(icon).removeClass('fa-chevron-up');\n $(icon).addClass(\"fa-chevron-down\");\n $.when(me.Distributors(participantId).done((data, textStatus, response) => {\n $(\"#globalmodal-dso-detail\").find(\".global-modal-inner-container\").html(data);\n $(\"#globalmodal-dso-detail\").find(\".distributor-company-search-trigger\").click(function (e) {\n e.preventDefault();\n var participantId = $(this).attr(\"data-participantid\");\n var dataTable = $(me._widget).find(\"#distributor-company-search-data-table\");\n me.GetDistributorCompanies(participantId, dataTable);\n });\n }));\n }));\n }\n GetDistributorCompanies(participantId, dataTable) {\n var me = this;\n if (!$.fn.DataTable.isDataTable(dataTable)) {\n $(dataTable).DataTable({\n \"pageLength\": 10,\n \"processing\": true,\n \"language\": {\n 'loadingRecords': 'Loading',\n 'processing': '<strong>Processing</strong>'\n },\n \"serverSide\": true,\n //\"deferLoading\": 0,\n \"paging\": true,\n \"ordering\": false,\n \"searching\": true,\n \"info\": true,\n \"lengthChange\": false,\n \"dom\": '<\"top\"fl>rt<\"bottom\"ip><\"clear\">',\n \"scrollY\": '600px',\n \"ajax\": {\n \"url\": \"/Manage/User/GetDistributorCompanies\",\n \"type\": \"GET\",\n \"data\": function (data) {\n data.id = participantId;\n },\n \"dataSrc\": function (json) {\n return json.data;\n }\n },\n \"drawCallback\": function () {\n var api = this.api();\n var rows = api.rows({ page: \"current\" }).nodes();\n var last = null;\n api.column(3, { page: \"current\" }).data().each(function (group, i) {\n if (last !== group) {\n $(rows).eq(i).before('<tr><td colspan=\"4\" style=\\\"background-color:#fafafa;border-top:1px solid #A9A9A9;\\\" class=\\\"text-left\\\"><h4>' + group + '</h4></td></tr>');\n last = group;\n }\n });\n },\n \"columnDefs\": [\n {\n \"targets\": 0,\n \"searchable\": false,\n \"orderable\": false,\n \"className\": \"text-center\",\n \"render\": function (data, type, full, meta) {\n var addButtonText = $(me._widget).find(\"#distributor-company-search-modal-add-practice-button\").val();\n var ownerLabel = $(me._widget).find(\"#distributor-company-search-modal-address-owner-label\").val();\n var claimedLabel = $(me._widget).find(\"#distributor-company-search-modal-address-claimed-label\").val();\n var htm = \"\";\n if (full.IsParticipantAddressOwner === true) {\n htm = \"<span class=\\\"label label-success\\\">\" + ownerLabel + \"</span>\";\n }\n else if (full.Claimed === true) {\n htm = \"<span class=\\\"label label-danger\\\">\" + claimedLabel + \"</span>\";\n }\n else {\n htm = \"<button class=\\\"btn btn-primary add-address\\\" \" + \"data-id=\\\"\" + full.ID + \"\\\"\" + \"data-distributorcompanyclientid=\\\"\" + full.DistributorCompanyClientID + \"\\\" \" + \"data-pointmatchingfield=\\\"\" + full.PointMatchingField + \"\\\"><i class=\\\"fa fa-plus\\\"></i> \" + addButtonText + \"</button>\";\n }\n return htm;\n }\n },\n {\n \"targets\": 1,\n \"searchable\": false,\n \"orderable\": false,\n \"render\": function (data, type, full) {\n var htm = \"<strong>\" + full.DistributorCompanyName + \"</strong>\";\n return htm;\n }\n },\n { \"targets\": 2, \"searchable\": false, \"orderable\": false, \"data\": \"Address\" },\n //{ \"targets\": 3, \"searchable\": false, \"orderable\": false, \"data\": \"DistributorCompanyClientID\", \"visible\": false }\n { \"targets\": 3, \"searchable\": false, \"orderable\": false, \"data\": \"SelectionGroup\", \"visible\": false }\n ],\n \"pagingType\": \"full\",\n \"initComplete\": function () {\n var input = $(\"#distributor-company-search-modal .dataTables_filter input\").off();\n var self = this.api();\n var $searchButton = $(\"<button class=\\\"btn btn-primary\\\">\").text(\"Search\").click(function () {\n self.search(input.val()).draw();\n });\n $(\".dataTables_filter\").append($searchButton);\n }\n });\n }\n else {\n $(dataTable).DataTable().search(\"\").columns().search(\"\").draw();\n }\n // bring processing message to the front\n $(me._widget).find('#distributor-company-search-data-table_processing').css('z-index', '99999');\n $(me._widget).find(\"#distributor-company-search-modal\").attr(\"data-participantid\", participantId);\n $(me._widget).find(\"#distributor-company-search-modal\").modal(\"show\");\n }\n showDistributors(expand, origin) {\n var me = this;\n var identifier = $(expand).data(\"identifier\");\n $(\"#ajax-loading\").modal();\n $.when(me.Distributors(identifier).done((data, textStatus, response) => {\n $(\"#ajax-loading\").modal(\"hide\");\n var globalModal = new GlobalModal(\"dso-detail\");\n globalModal.openGlobalModal(data, \"panel\", { origin: $(origin), classes: \"dso-modal\" });\n $(\"#globalmodal-dso-detail\").find(\".distributor-company-search-trigger\").click(function (e) {\n e.preventDefault();\n var participantId = $(this).attr(\"data-participantid\");\n var dataTable = $(me._widget).find(\"#distributor-company-search-data-table\");\n me.GetDistributorCompanies(participantId, dataTable);\n });\n }));\n }\n showChildren(expand) {\n var me = this;\n var bodycontainer = $(me._widget).find(\".js-participants #list-items\");\n var parentContainer = $(expand).parent().closest(\"tr\").next(\"tr\");\n var detailContainer = $(parentContainer).find(\".detail-\" + $(expand).data(\"identifier\"));\n var icon = $(expand).find(\"span\");\n if ($(icon).hasClass('fa-chevron-down')) {\n $(\".js-children\").not(expand).find(\".fa-chevron-up\").removeClass('fa-chevron-up').addClass('fa-chevron-down');\n $(\".js-children\").not(expand).parent().closest('tr').next('tr').addClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n if ($(detailContainer).hasClass(\"js-data-loaded\")) {\n $(parentContainer).removeClass('hide');\n // $(icon).switchClass('fa-chevron-down fa-chevron-up', '1000', \"easeInOutQuad\");\n }\n else {\n $(bodycontainer).find('.js-chidren').attr('disabled', 'true');\n var identifier = $(expand).data(\"identifier\");\n $.when(me.children(identifier).done(function (data, textStatus, response) {\n $(parentContainer).removeClass('hide');\n $(parentContainer).slideDown(1000);\n detailContainer.html($(this).data(\"identifier\"));\n detailContainer.addClass(\"js-data-loaded\");\n detailContainer.html(data);\n detailContainer.find(\".js-group-row\").addClass(\"info\");\n $(bodycontainer).find(\".js-vieworderdetail\").removeAttr(\"disabled\");\n $(me._widget).find(\".js-add-new-pratice\").on('click', function (e) {\n $(me._widget).find(\"#practiceModal\").find(\".js-button-save-practice\").attr(\"data-parent-identifier\", $(this).closest(\".dso-mid-level-wrapper\").data(\"parent-identifier\"));\n $(me._widget).find(\"#practiceModal\").modal();\n });\n $(me._widget).find(\".js-invite-primary-members\").on('click', function (e) {\n e.preventDefault();\n var errorMessage = $(this).data(\"errormessage\");\n var successMessage = $(this).data(\"successmessage\");\n me.SendIndividualEmail($(this).attr(\"data-identifier\"), \"child\", successMessage, errorMessage);\n });\n }));\n }\n }\n else {\n $(parentContainer).addClass('hide');\n $(icon).toggleClass('fa-chevron-down fa-chevron-up');\n }\n }\n children(parentId) {\n var me = this;\n var params = {\n \"searchCriteria\": \"\",\n \"topHierarchyLevelGroupId\": parseInt($(this._widget).attr(\"data-tophierarchylevelgroup\")),\n \"midHierarchyLevelGroupId\": parseInt($(this._widget).attr(\"data-midhierarchylevelgroup\")),\n \"parentId\": null\n };\n params.searchCriteria = $(me._widget).find(\".js-dsosearchtext\").val();\n params.topHierarchyLevelGroupId = parseInt($(this._widget).attr(\"data-tophierarchylevelgroup\"));\n params.midHierarchyLevelGroupId = parseInt($(this._widget).attr(\"data-midhierarchylevelgroup\"));\n params.parentId = parentId;\n return $.ajax({\n data: params,\n method: \"GET\",\n url: \"/Distributor/GetParticipantByHierarchy\",\n cache: false,\n traditional: true\n });\n }\n Distributors(parentId) {\n var me = this;\n var params = {\n \"parentId\": null\n };\n params.parentId = parentId;\n return $.ajax({\n data: params,\n method: \"GET\",\n url: '/Distributor/GetDistributorAddressByParent',\n cache: false,\n traditional: true\n });\n }\n Search(searchCriteria) {\n var me = this;\n var params = {\n \"searchCriteria\": \"\",\n \"topHierarchyLevelGroupId\": parseInt($(this._widget).attr(\"data-tophierarchylevelgroup\")),\n \"midHierarchyLevelGroupId\": parseInt($(this._widget).attr(\"data-midhierarchylevelgroup\")),\n \"parentId\": null\n };\n params.searchCriteria = searchCriteria;\n params.topHierarchyLevelGroupId = parseInt($(this._widget).attr(\"data-tophierarchylevelgroup\"));\n params.midHierarchyLevelGroupId = parseInt($(this._widget).attr(\"data-midhierarchylevelgroup\"));\n return $.ajax({\n data: params,\n method: \"GET\",\n url: '/Distributor/GetParticipantByHierarchy',\n cache: false,\n traditional: true\n });\n }\n}\n$(document).ready(() => {\n $(\".widget_dsosetup\").each((index, item) => {\n var dsoSetup = new DSOSetup(item);\n $(item).data(\"manager\", dsoSetup);\n $(\"body\").on(\"click\", \".add-address\", function (e) {\n e.preventDefault();\n var addressId = $(this).data(\"id\");\n var participantId = $(this).closest(\"#distributor-company-search-modal\").attr(\"data-participantid\");\n var clientId = $(this).data(\"pointmatchingfield\");\n dsoSetup.SetDistributorCompanyAddressesForParticipant(participantId, addressId, clientId);\n });\n });\n});\nwindow[\"DSOSetup\"] = DSOSetup;\n/// <reference path=\"../lib/jquery.d.ts\" />\nclass FileWidget {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var self = this;\n $(this._widget).find(\".download-link\").click(function () {\n self.MarkAsCompleted();\n });\n }\n MarkAsCompleted() {\n var self = this;\n if ($(self._widget).data(\"tracking-complete\") == \"true\") {\n $(self._widget).data(\"tracking-complete\", \"true\");\n return;\n }\n globalThis.gage.TrackWidget($(this._widget), function () {\n $(self._widget).data(\"tracking-complete\", \"true\");\n $(self._widget).data(\"data-participant-completed\", \"true\");\n });\n }\n}\n$(function () {\n // locate all product list widgets on page\n $(\".widget-file\").each(function (index, item) {\n $(item).data(\"manager\", new FileWidget(item));\n });\n});\nwindow[\"FileWidget\"] = FileWidget;\nfunction getHeroImageSize(imageSource) {\n var img = new Image();\n img.src = imageSource;\n globalThis.gage.log(img.width + 'x' + img.height);\n}\nvar heroWidgets = {\n getHeroImageSize: {\n init: function (imageSource) {\n $(document).ready(function () {\n var img = new Image();\n img.src = imageSource;\n globalThis.gage.log(img.width + 'x' + img.height);\n });\n }\n }\n};\n$(window).on(\"load\", function () {\n var overlayHeight, imageHeight = 0;\n $.each($('.widget-with-overlay').find('.widget-overlay'), function () {\n overlayHeight = $(this).height();\n imageHeight = $(this).parent().find('img').height();\n if (imageHeight > overlayHeight) {\n $(this).closest('.widget-with-overlay').height(imageHeight);\n }\n else {\n $(this).closest('.widget-with-overlay').height(overlayHeight);\n }\n });\n});\n$(document).ready(function () {\n $('#login-form').on(\"keydown\", function (e) {\n var key = e.which;\n if (key === 13) {\n $(\"#login-form\").trigger(\"submit\");\n }\n });\n});\n/// <reference path=\"../lib/jquery.d.ts\" />\n/// <reference path=\"../lib/helper.admin.d.ts\" />\nclass PromotionCodeWidget {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n $(this._widget).find(\".promotion-code-success-message,.promotion-code-failed-message\").hide();\n this.bindControls();\n }\n bindControls() {\n var self = this;\n $(this._widget).find(\".promotion-code-submit\").on(\"click\", function () {\n var code = $(self._widget).find(\".promotion-code-input\").val();\n if (code.length > 0) {\n self.submitPromotionCode(code);\n }\n });\n }\n submitPromotionCode(code) {\n var self = this;\n $(self._widget).find(\".promotion-code-success-message\").hide();\n $(self._widget).find(\".promotion-code-failed-message\").hide();\n $(self._widget).find(\".promotion-code-button\").prop(\"disabled\", true);\n var contentWidgetId = $(self._widget).attr(\"data-contentwidgetid\");\n var dto = {\n Code: code,\n ContentWidgetId: contentWidgetId\n };\n var url = '/API/Content/SubmitPromotionCode';\n $.when(submitAjaxRequest(dto, url, \"POST\").done(function (data) {\n $(self._widget).find(\".promotion-code-button\").removeProp(\"disabled\");\n if (data.success) {\n $(self._widget).find(\".promotion-code-success-message\").show();\n }\n else {\n $(self._widget).find(\".promotion-code-failed-message\").show();\n }\n }));\n }\n}\n$(function () {\n // locate all widgets on page\n $(\".widget-promotion-code\").each(function (index, item) {\n $(item).data(\"manager\", new PromotionCodeWidget(item));\n });\n});\nwindow[\"PromotionCodeWidget\"] = PromotionCodeWidget;\n/// <reference path=\"../lib/bootbox.d.ts\" />\n/// <reference path=\"../lib/jquery.d.ts\" />\nclass QuestionaireForm {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var me = this;\n $(me._widget).find(\".submit-questionaireform-button\").click(function (e) {\n e.preventDefault();\n var id = \"#\" + $(this).data(\"id\");\n var validator = $(id).validate();\n if (validator.form()) {\n if ($(me._widget).find(\"#QuestionaireFormOperationComplete\").val() == 'False') {\n bootbox.dialog({\n title: '<span class=\"fa-solid fa-floppy-disk\"></span> ' + $('#savingContactTitle').val(),\n message: $('#savingContactMessage').val(),\n closeButton: false\n });\n $(me._widget).find(\"#QuestionaireIdentifier\").val(me._widgetId);\n $(id).trigger(\"submit\");\n setTimeout(function () {\n validator.resetForm();\n }, 100);\n }\n }\n });\n $(me._widget).find(\"input[type='file']\").on(\"change\", function (e) {\n var file = e.target.files[0];\n var fileUpload = new FileUpload(file, null, true);\n $(me._widget).find(\".file-progress .progress-wrapper\").show();\n fileUpload.onProgressChangeCallback = function (value) {\n var percentText = value.toString() + '%';\n $(me._widget).find(\".file-progress .progress-wrapper .progress-indicator\").text(percentText);\n $(me._widget).find(\".file-progress .progress-wrapper .progress-indicator\").width(percentText);\n };\n fileUpload.onCompleteCallback = function () {\n $(me._widget).find(\"#FileUploadUrl\").attr(\"value\", fileUpload.url);\n };\n fileUpload.uploadFile();\n fileUpload.onUploadFailCallback = function (message, uploader) {\n alert(message);\n };\n });\n }\n}\n$(document).ready(function () {\n $(\".widget_questionaire-form\").each(function (index, item) {\n $(item).data(\"manager\", new QuestionaireForm(item));\n });\n});\nwindow[\"QuestionaireForm\"] = QuestionaireForm;\n/// <reference path=\"../lib/jquery.d.ts\" />\nclass ResourceListViewWidget {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var self = this;\n $(this._widget).find(\".download-link\").click(function () {\n $(this).attr(\"data-tracking-complete\", \"true\");\n if (self.AllLinksHaveBeenTracked()) {\n self.MarkAsCompleted();\n }\n });\n }\n AllLinksHaveBeenTracked() {\n return $(this._widget).find(\".download-link[data-tracking-complete='false']\").length == 0;\n }\n MarkAsCompleted() {\n var self = this;\n if ($(self._widget).attr(\"data-tracking-complete\") == \"true\") {\n $(self._widget).data(\"tracking-complete\", \"true\");\n return;\n }\n globalThis.gage.TrackWidget($(this._widget), function () {\n $(self._widget).data(\"data-participant-completed\", \"true\");\n $(self._widget).data(\"tracking-complete\", \"true\");\n });\n }\n}\n$(function () {\n // locate all product list widgets on page\n $(\".widget-resource-list\").each(function (index, item) {\n $(item).data(\"manager\", new ResourceListViewWidget(item));\n });\n});\nwindow[\"ResourceListViewWidget\"] = ResourceListViewWidget;\n/// <reference path=\"../lib/jquery.d.ts\" />\nclass UserCurriculumProgressWidget {\n constructor(widget) {\n this._widget = widget;\n this.initialize();\n }\n initialize() {\n this._widgetId = parseInt($(this._widget).attr(\"data-contentwidgetid\"));\n this.bindControls();\n }\n bindControls() {\n var self = this;\n $(\"div .w-ucp-container\").each(function () {\n var fullId = $(this).attr(\"id\");\n var defaultDisplay = $(this).data(\"default-display\");\n var n = fullId.lastIndexOf(\"-\");\n var id = fullId.substring(n + 1);\n var hideDetailsText = $(self._widget).find(\"#hide-details-\" + id).val();\n var showDetailsText = $(self._widget).find(\"#show-details-\" + id).val();\n var showAdditionalElectivesText = $(self._widget).find(\"#show-additional-electives-\" + id).val();\n var hideAdditionalElectivesText = $(self._widget).find(\"#hide-additional-electives-\" + id).val();\n if (defaultDisplay === \"Detail\") {\n // $(\"#body-\" + id).addClass(\"show\");\n $(\"#detail-toggle-\" + id).text(hideDetailsText);\n }\n else {\n // $(\"#body-\" + id).removeClass(\"show\");\n $(\"#header-\" + id).removeClass(\"fang\");\n $(\"#detail-toggle-\" + id).text(showDetailsText);\n }\n $(self._widget).find(\"#detail-toggle-\" + id).on(\"click\", function () {\n $(this).text(function (i, txt) {\n return txt === showDetailsText ? hideDetailsText : showDetailsText;\n });\n });\n $(self._widget).find(\"#additional-courses-toggle-\" + id).on(\"click\", function () {\n $(self._widget).find(\"#additional-courses-toggle-\" + id + \" span\").text(function (i, txt) {\n return txt === showAdditionalElectivesText ? hideAdditionalElectivesText : showAdditionalElectivesText;\n });\n });\n });\n $(document).on('OnContentCompetionWidgetCompletionCheck', function () {\n var trackableWidgets = $(\"[data-trackable='true']\");\n var dataCompletedWidgetCount = 0;\n $(\"[data-trackable='true']\").each(function (index, elem) {\n if ($(elem).attr(\"data-participant-completed\") == \"true\") {\n dataCompletedWidgetCount += 1;\n }\n });\n if (dataCompletedWidgetCount == trackableWidgets.length) {\n var params = {\n \"id\": self._widgetId.toString(),\n };\n $.ajax({\n data: params,\n method: \"GET\",\n url: '/Content/RenderUserCurriculumProgressList',\n success: function (data) {\n $(self._widget).find(\".user-curriculum-inner\").html(data);\n var container = $(self._widget).find(\".user-curriculum-inner\").closest(\".user-curriculum \");\n bindEvents(container);\n }\n });\n }\n });\n function bindEvents(container) {\n var fullId = $(container).attr(\"id\");\n var defaultDisplay = $(container).data(\"default-display\");\n var n = fullId.lastIndexOf(\"-\");\n var id = fullId.substring(n + 1);\n var hideDetailsText = $(self._widget).find(\"#hide-details-\" + id).val();\n var showDetailsText = $(self._widget).find(\"#show-details-\" + id).val();\n var showAdditionalElectivesText = $(self._widget).find(\"#show-additional-electives-\" + id).val();\n var hideAdditionalElectivesText = $(self._widget).find(\"#hide-additional-electives-\" + id).val();\n if (defaultDisplay === \"Detail\") {\n // $(\"#body-\" + id).addClass(\"show\");\n $(\"#detail-toggle-\" + id).text(hideDetailsText);\n }\n else {\n // $(\"#body-\" + id).removeClass(\"show\");\n $(\"#header-\" + id).removeClass(\"fang\");\n $(\"#detail-toggle-\" + id).text(showDetailsText);\n }\n $(self._widget).find(\"#detail-toggle-\" + id).on(\"click\", function () {\n $(this).text(function (i, txt) {\n return txt === showDetailsText ? hideDetailsText : showDetailsText;\n });\n });\n $(self._widget).find(\"#additional-courses-toggle-\" + id).on(\"click\", function () {\n $(self._widget).find(\"#additional-courses-toggle-\" + id + \" span\").text(function (i, txt) {\n return txt === showAdditionalElectivesText ? hideAdditionalElectivesText : showAdditionalElectivesText;\n });\n });\n }\n }\n}\n$(function () {\n // locate all product list widgets on page\n $(\".user-curriculum\").each(function (index, item) {\n $(item).data(\"manager\", new UserCurriculumProgressWidget(item));\n });\n});\nwindow[\"UserCurriculumProgressWidget\"] = UserCurriculumProgressWidget;\nfunction BindUserLevelProgress() {\n $(\"div .widget-user-level-progress-container\").each(function () {\n var container = this;\n var fullId = $(this).attr(\"id\");\n var n = fullId.lastIndexOf(\"-\");\n var id = fullId.substring(n + 1);\n var defaultDisplay = $(\"#default-display-\" + id).val();\n var hideDetailsText = $(\"#hide-details-\" + id).val();\n var showDetailsText = $(\"#show-details-\" + id).val();\n var $toggleButton = $(\"#toggle-level-criteria-button-\" + id);\n var $toggleText = $(\"#toggle-level-criteria-text-\" + id);\n if (defaultDisplay === \"Detail\") {\n $(container).find(\".ca\").addClass(\"collapse\").addClass(\"show\");\n $toggleButton.removeClass(\"fa-solid fa-chevron-down\").addClass(\"fa-solid fa-chevron-up\");\n $toggleText.text(hideDetailsText);\n }\n else {\n $toggleButton.removeClass(\"fa-solid fa-chevron-up\").addClass(\"fa-solid fa-chevron-down\");\n $toggleText.text(showDetailsText);\n }\n $(\"#toggle-level-criteria-container-\" + id).on(\"click\", function (e) {\n $toggleButton.toggleClass(\"fa-solid fa-chevron-down\").toggleClass(\"fa-solid fa-chevron-up\");\n if ($toggleText.text() === showDetailsText) {\n $toggleText.text(hideDetailsText);\n }\n else {\n $toggleText.text(showDetailsText);\n }\n });\n });\n}\n$(document).ready(function () {\n BindUserLevelProgress();\n});\nvar processScrubbingControls = function () {\n var videoIDs = $(\".video-ids\");\n videoIDs.each(function (index) {\n var videoID = $(this).val();\n var video = document.querySelector(\"#video-element_\" + videoID);\n if (video == null || video == undefined) {\n return;\n }\n var hideVideoScrubbingBar = video.getAttribute(\"hide-video-scrubbing-bar\") == \"True\";\n var disableForwardScrubbing = video.getAttribute(\"disable-forward-scrubbing\") == \"True\";\n if (!hideVideoScrubbingBar && disableForwardScrubbing) {\n var previousTime = 0;\n video.ontimeupdate = function () {\n setTimeout(function () {\n previousTime = video.currentTime;\n }, 1000);\n };\n video.onseeking = function () {\n if (video.currentTime > previousTime) {\n video.currentTime = previousTime;\n }\n };\n }\n if (hideVideoScrubbingBar) {\n $(\"#video-element_\" + videoID).addClass(\"widget-video-hide_scrubber\");\n }\n else {\n $(\"#video-element_\" + videoID).removeClass(\"widget-video-hide_scrubber\");\n }\n });\n};\n$(function () {\n $(\".widget-video-player\").each(function (i, e) {\n var trackingType = parseInt($(e).data(\"tt\"));\n switch (trackingType) {\n case 2:\n e.addEventListener(\"playing\", function () { globalThis.gage.TrackWidget($(e)); }, true);\n break;\n case 3:\n e.addEventListener(\"ended\", function () { globalThis.gage.TrackWidget($(e)); }, true);\n break;\n }\n });\n var videoMethods = {\n renderVideoPlayButton: function () {\n var self = this;\n var videoWrapper = $(\".video-wrapper\");\n $.each(videoWrapper, function (i, vw) {\n var video = $(vw).find(\"video\");\n if (video.length) {\n self.formatVideoPlayButton(vw);\n $(video).addClass(\"has-media-controls-hidden\");\n var videoPlayButton = $(vw).find('.video-overlay-play-button');\n $(videoPlayButton).on(\"click\", function () {\n self.hideVideoPlayButton(video.get(0), this);\n });\n }\n });\n },\n formatVideoPlayButton: function (videoWrapper) {\n $(videoWrapper).append('\\\r\n <svg class=\"video-overlay-play-button\" viewBox=\"0 0 200 200\" alt=\"Play video\">\\\r\n <circle cx=\"100\" cy=\"100\" r=\"90\" fill=\"none\" stroke-width=\"15\" stroke=\"#fff\"/>\\\r\n <polygon points=\"70, 55 70, 145 145, 100\" fill=\"#fff\"/>\\\r\n </svg>\\\r\n ');\n },\n hideVideoPlayButton: function (video, videoPlayButton) {\n video.play();\n videoPlayButton.classList.add('is-hidden');\n video.classList.remove('has-media-controls-hidden');\n video.setAttribute('controls', 'controls');\n }\n };\n videoMethods.renderVideoPlayButton();\n});\n$(document).ready(function () {\n processScrubbingControls();\n});\n"]}