{"version":3,"sources":["handbookConstants.js","config.module.js","handbookApp.module.js","home.module.js","handbookApp.routes.js","registerControl.js","common.services.js","common.directives.js","common.js","alert/alert.js","anchor/anchorDirective.js","autoResizeTextArea/autoResizeTextArea.js","breadcrumbs/breadcrumbsDirective.js","collapse/collapseDirective.js","collapse/collapseLeftDirective.js","datePicker/datePicker.js","directives/departmentDirective.js","directives/dropdownListDirective.js","dialogs/dialogExporter.js","dialogs/npDialog.js","emailSubscription/emailSubscriptionDirective.js","favoriteButton/documentEmailFavoriteDirective.js","favoriteButton/favoriteButtonDirective.js","feedbackButton/feedbackButtonDirective.js","feedbackButton/feedbackModalController.js","grid/commonGridDirective.js","grid/commonGridSettingDirective.js","grid/gridControlDirective.js","grid/gridExporterDirective.js","grid/gridFinishRenderDirective.js","grid/gridSettingDirective.js","grid/infiniteScrollPlugin.js","grid/rowInfoTooltipDirective.js","image/imageDirective.js","image/imageSizeLimation.js","navigation/navigateToggleDirective.js","pin/pinDirective.js","readingReceiptButton/readingReceiptButtonDirective.js","print/printButtonDirective.js","resizeElement/resizeAbleDirective.js","searchAdvanceModule/advanceSearchDirective.js","searchAdvanceModule/advanceSearchModalController.js","searchAdvanceModule/metadataSearchModalController.js","searchHomePage/searchHomePageDirective.js","searchModule/searchDirective.js","tabs/npTabsDirective.js","tabs/tabContentsDirective.js","tabs/tabsDirective.js","shareURL/shareUrlDirective.js","treeNav/treeNavDirective.js","statistics/daily-statistics/daily-statistics.component.js","statistics/folder-statistics/folder-statistics.component.js","annualCycle/activityGridViewModalController.js","annualCycle/annualCycleController.js","annualCycle/annualCycleDetailController.js","annualCycle/relatedTaskController.js","account/changePasswordController.js","account/login.js","chapter/aboutFolderModalController.js","chapter/chapterController.js","chapter/searchController.js","chapter/whatsNewFolderModalController.js","document/aboutDocumentModalController.js","document/addMembersController.js","document/compareWithEarlierVersionController.js","document/documentCompareWithEarlierVersionController.js","document/documentContentsSearchService.js","document/documentController.js","document/documentFieldsController.js","document/fieldsContentWholeDocumentController.js","document/hearingFeedbackController.js","document/hearingFieldsContentController.js","document/sendDocumentToHearingEmailController.js","home/aboutController.js","home/homeController.js","home/mainPageController.js","home/myReadingReceiptsController.js","home/newsCategoryController.js","home/newsDetailsController.js","home/newsListController.js","home/personChapterConfirmsSumsListController.js","home/reportsMyReadingListViewController.js","home/reportsViewController.js","home/startpageController.js","home/tabController.js","manageFavorite/manageFavoritesController.js","printing/printingController.js","printing/printingDocumentController.js","statistics/statistics.component.js","treeView/treeViewController.js"],"names":["controllers","chapterController","searchController","homeController","manageFavoritesController","confirmController","printingController","feedbackController","advanceSearchController","myReadingReceiptsController","personChapterConfirmsSumsListController","metadataController","modules","chapterModule","homeModule","printingModule","commonGridColumns","name","id","readingList","isConfirmed","location","version","folderName","approvedDate","approvedBy","attachment","template","responsible","documentId","rowInfo","internet","readingReceipt","readingReceiptDtmConfirmed","broadcastType","favoriteTarget","documentOpenedTarget","gridSettingTarget","scrollTarget","toggleSidebar","collapseExpandSidebar","onTreeNavigation","resetQuickSearchKeyword","onOpeningSidebarMenu","printItemTarget","toggleFavoriteTarget","toggleEmailSubscriptionTarget","toggleOnlyFolderEmailSubscriptionTarget","toggleGridSettingTarget","toggleReadingReceiptTarget","toggleDocumentFeedbackTarget","linkToDocumentManagement","gridDataChanges","loadContentFieldDone","favoriteUpdate","processAreaRouteChanged","updateFavoritesProcesses","hideSidebarInMobileWhenOpenDocument","requestType","addRequest","deleteRequest","removeRequest","tabStateType","documentTabState","chapterTabState","homeTabState","searchTabState","documentTab","prefix","contentAnchorPrefix","groupDocumentAnchorPrefix","hashbangPrefix","baseUrlPrefix","specialCharacter","comma","space","openParenthesis","closeParenthesis","colon","questionMark","cssClass","active","buttonFavorite","buttonFavoriteMobile","buttonFavorited","buttonFavoritedMobile","disabled","selected","currentDrag","dragEnter","documentTabs","about","content","feedback","search","hearing","folderTabs","manageFavoriteTabs","folder","document","emailSubscribed","processArea","process","tabContents","documentContent","topMenu","homeContent","whatNew","updatedFavorite","startPage","updatedFavoritePage","whatNewPage","readingListTab1","readingListTab2","readingListTab3","homeTabs","readingListTab","hearingTab","folderContent","gridDocuments","showAllDocuments","topMenuLeft","topMenuRight","gridDocumentClass","scrollableTable","gridDocumentsBody","groupMetatagView","groupMetatagList","collapseExpandClass","collapse","expand","collapseExpandEvent","shown","hidden","elementClass","tabTable","frontPageCustomArea","elementId","sidebarWrapper","reSizeBar","avoidCustomPageClass","showAllDocumentsAdjustmentClass","constantValues","topMenuHeight","folderTabContentMinTop","documentTabContentMinTop","mobileConstantValues","folderInformationKeyStorage","searchContainerId","localStorageKeys","sidebarNavigateKey","readDocuments","stateOfSticky","treeNodeTypes","urlOpenHearingFeedback","urlOpenProcessHearing","hasShownPublicAlertKeyStorage","ELEMENT_SELECTORS","FolderSelectionContainerSelector","FolderSelectionInputSelector","FolderSelectionClearSelector","FolderContainerClassSelector","DepartmentSelectionContainerSelector","DepartmentSelectionInputSelector","DepartmentSelectionClearSelector","DepartmentContainerClassSelector","RoleMemberSelectionContainerSelector","RoleMemberSelectionInputSelector","RoleMemberSelectionClearSelector","RoleMemberContainerClassSelector","NewsCategorySelectionContainerSelector","NewsCategorySelectionInputSelector","NewsCategorySelectionClearSelector","NewsCategoryContainerClassSelector","CountrySelectionContainerSelector","CountrySelectionInputSelector","CountrySelectionClearSelector","CountryContainerClassSelector","PositionSelectionContainerSelector","PositionSelectionInputSelector","PositionSelectionClearSelector","PositionContainerClassSelector","RoleSelectionContainerSelector","RoleSelectionInputSelector","RoleSelectionClearSelector","RoleContainerClassSelector","SearchRelatedDocumentContainerSelector","SearchRelatedDocumentInputSelector","SearchRelatedDocumentClearSelector","SearchRelatedDocumentContainerClassSelector","KEY_CODES","ENTER","ESCAPE","UP_ARROW","DOWN_ARROW","COLUMN_DATA_TYPES","STRING_TEXT","NUMBER","STRING_DATE","STRING_DATE_TIME","BOOLEAN","SEARCH_LOG_LEVEL","LOG_DOCUMENT_SELECTED","LOG_DOCUMENT_SELECTED_AND_0_HIT","LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION","DOCUMENT_EXTENDABLE_TYPES","NONE","PARENT","CHILD","searchFilterTypes","handbookBackendSearch","handbookReports","deviationBackendSearch","deviationReports","riskBackendSearch","riskReports","hearingMembers","anuualCycleReaders","riskDynamicSearch","DEVIATION_REPORTS_TYPES","CATEGORY_NUMBER","CATEGORY_NUMBER_PER_HANDLING_UNIT","CATEGORY_YEAR_AND_MONTH_NUMBER","CATEGORY_SEVERITY_NUMBER","CATEGORY_KPI","ACTIONS_NUMBER_AND_TYPE","ACTIONS_NUMBER_PER_MONTH_PER_YEAR","CATEGORY_NUMBER_PER_MONTH_PER_YEAR","STATISTICS","CATEGORY_COST_PER_YEAR","CATEGORY_COST_PER_MONTH_PER_YEAR","CATEGORY_NUMBER_PER_METATAG","CATEGORY_NUMBER_PER_SUB_CATEGORY","CATEGORY_CUSTOM_FIELD","CATEGORY_EQUIPMENT","GROUP_TO_OPEN_AS_DEFAULTS","DOCUMENT","PROCESS","NONE_DOCUMENT_ROOT_ITEM_TO_EXPAND","CkVersion","CK4","CK5","urlOpenInterconnectedHearing","configModule","angular","module","config","uibDatepickerPopupConfig","dateFormat","window","globalDateFormat","timeFormat","datepickerPopup","factory","$q","$templateCache","responseError","response","status","HandbookConfiguration","AnonymousMode","reject","request","language","user","cname","ca","decodeURIComponent","cookie","split","i","length","c","charAt","substring","indexOf","getCookie","LANGUAGECULTURE","undefined","get","url","linkedElement","includes","ApplicationVersion","$httpProvider","interceptors","push","$tooltipProvider","setTriggers","mouseenter","click","focus","never","provider","workersPool","Worker","this","$get","run","$rootScope","$location","$state","$http","customResources","$","extend","resources","$stateProvider","$urlRouterProvider","$locationProvider","hashPrefix","html5Mode","internalPaths","paths","templateUrlFieldView","DocumentFields","controllerFieldView","parseInt","DocumentViewOption","state","templateUrl","FrontpageHome","controller","controllerAs","data","title","globalResources","Home","description","HomeMetaDescription","handbookActions","DocumentAction","handbookActionParameters","DocumentActionParameters","DocumentHome","Document","DocumentMetaDescription","DocumentFromFieldViewAction","DocumentFromFieldViewActionParameters","HearingAction","FolderAction","FolderActionParameters","ChapterHome","Folder","FolderMetaDescription","HomeAction","HomeActionParameters","SearchResultAction","SearchResultActionParameters","ChapterSearch","Search","SearchMetaDescription","DocumentFieldsAction","StartpageNews","StartpageNewsParameters","NewsDetais","UnsupportBrowser","MyReadingReceiptsReport","MyReadingListsReport","NewsListAction","params","pageIndex","NewsCategoryAction","categoryId","type","AnnualCycle","otherwise","$timeout","anchorService","documentService","broadcastService","$on","actualLocation","absUrl","event","next","current","$$absUrl","indexHash","$$hash","substr","$$url","$watch","newLocation","oldLocation","isBackButton","hash","element","newsContent","anchorOject","getAnchorObject","position","scrollTop","setAnchorObject","showNormal","toggleDocumentFullscreen","removeClass","toState","layout","Handbook","metaDescription","directive","restrict","require","scope","delay","priority","link","elm","attr","ngModelCtrl","debounce","unbind","bind","cancel","$setViewValue","val","$apply","heightContentDocument","target","gridSettingKey","$broadcast","configService","documents","isIE","detectIE","service","setDocuments","documentObject","getDocuments","showFullscreen","addClass","hide","mainBody","height","docContent","css","maxHeight","setTimeout","stickyTitle","runInitforIE","show","goToDocument","defaultFieldView","go","getDocumentsViaWorker","folderId","previousViewType","deffered","defer","worker","postMessage","publishedInternet","unpublishedInternet","UndefinedMetatag","onmessage","e","result","resolve","promise","clearDocumentsInWorker","getMetaDocumentsViaWorker","metadataGroupId","recursively","includeLevel1","clearMetaDocumentsInWorker","getAgreeFilesForDocuments","EnabledAgree","toLowerCase","documentIds","hasAgreeFiles","success","agreeFiles","j","item","getParentIdExtendDocument","childId","hearingMode","isBackend","then","checkParentExtensionHasToCompare","handbookRequests","CheckParentExtensionHasToCompare","getBool","checkDocumentHaveToCompareById","CheckDocumentHaveToCompareById","changeUrlBackendToFrontend","urlFrontEnd","isHearing","arguments","frontEndDeviationUrl","hrefs","match","folders","reg","RegExp","strReplace","replace","strReplaceDocument","areas","areasHref","processes","processesHref","db4Link","strReplaceDb4Link","fileLink","interconnectedProcess","deviation","checklist","src","getHearingTooltip","querySelector","titlePosition","getBoundingClientRect","width","contentPosition","top","placeholder","remove","createElement","style","heightToFloat","isAdded","currentPosition","heightScroll","DocumentTitleScreenHeight","classList","parentNode","removeChild","removeStickyTitle","scroll","isfullScreen","hasClass","add","insertBefore","contentWidth","screen","availHeight","marginTop","backFromFullScreen","extraHeight","tabStateService","localStorageService","currentStateType","currentTabState","getState","getItem","setState","setItem","removeState","removeItem","setCurrentStateType","stateType","getCurrentStateType","setCurrentTabState","tabState","getCurrentTabState","initTabState","on","adjustContentPosition","elementActive","activePanel","isTabActive","tabId","closeOpenedTabIfNoPrivilege","tabElement","adjustContentHeightPosition","newHeight","hearingFeedbackPage","documentTabActive","documentHeight","documentWidth","availWidth","activeTabs","heightTabActive","children","first","myAssessment","heightMyAssessment","heightOfTitle","searchHeaderHeight","topMenuTop","addHeight","extendDocumentNotification","extendHeight","adjustContentHeightHomeStartPageTab","adjustFolderContentIdentifierHeight","windowHeight","topToFolderContentIdentifierHeight","showmoreItem","heightOfTopUserBar","heightOfChapterTabs","heightOfChapterContent","searchInFolderNotActive","chapterWhatsNewNotActive","leftPanelOfChapter","rightPanelOfChapter","heightOfChapterPanels","outerHeight","contentHeight","newContent","searchContent","adjustContentHeightOnDevices","msieversion","navigator","userAgent","isSafari","aboutTab","contentTab","readingTab","feedbackTab","searchInContentTab","newsContainer","newsTab","favContainer","favTab","readingContainer","readingListHeader","hearingContainer","browserService","anchorObject","updateLocalAnchors","text","addClick","historyManipulationSupported","forEach","find","tag","addAnchorEvent","attributes","href","value","anchorValue","path","addEventListener","feedBackService","sendFeedback","entityId","positive","feedbackMessage","feedBack","sendAlsoToApprover","post","SubmitFeedbackRequest","headers","readingConfirmationService","GetConfirmInformation","GetDocumentConfirmInformationRequest","sendReadingConfirmation","SubmitReadConfirmRequest","documentTemplateService","documentTemplate","getDocumentTemplate","GetDocumentTemplateRequest","getDocumentTemplateNameById","templateName","index","newsService","getNews","filter","GetNewsOnStarpage","getActiveNewsById","GetActiveNewsById","getNewsWithPaging","pageSize","GetNewsWithPaging","updateNewsReadCount","requestUrl","UpdateNewsReadCount","adjustNewsHeight","getNewsByCategoryId","showInModule","GetNewsByCategoryId","getNewsImageById","newsId","GetNewsImageById","folderService","getFolder","getFolderById","GetFolderContentsRequest","setFolder","folderObject","getFolderByVirtualDocumentId","GetFoldersByVirtualDocumentId","treeNavigationService","$stateParams","currentRecursiveIndex","parents","nodeType","isDocumentTree","navigateToCurrentItem","items","recursives","isScroll","node","trigger","nodeDoc","scrollToVisibleView","onChildrenLoaded","setDocumentsTree","tree","changeRoute","setNodeType","navigateToItemLocation","navigateSideBar","isClick","AutoHighlightInTree","toUpperCase","setIsDocumentTree","flag","getIsDocumentTree","nodeParent","getCurrentRecursiveIndex","offset","nodeOffset","$parentDiv","visible_area_start","animate","routeService","previousRoute","itemId","itemType","setRoute","route","getRoute","getBaseRouteProcess","origin","getDashboardBaseRoute","metaDataService","getRegisterItems","registerId","GetRegisterItemsRequest","getMetadataTags","registerItemId","GetMetadataTagsRequest","getMetaRegisters","GetMetaRegistersRequest","getActiveMetaRegisters","GetActiveMetaRegistersRequest","getRegisterAndRegisterItems","GetRegisterAndRegisterItems","shortcutKeysService","shortcuts","chrome","webstore","gotoStartpage","openFavouritesMenu","openDocumentsMenu","openSimpleSearch","navigateItemInSidebar","printPDFIndex","toggleFavorite","toggleEmailNotification","openGridSetting","toggleFolderContentTab","toggleFolderAboutTab","openDocumentReadingReceipt","openDocumentFeedback","toggleDocumentFullScreenViewing","toggleDocumentMetadataTab","toggleDocumentSearchInContentTab","toggleOnlyFolderEmailNotification","getShortcuts","shortcut","method","menu","printFolderPDFIndex","printType","favoriteType","activateTab","activateTabContent","tabContentId","printDocumentPDFA4","toggleDocumentContentTab","toggleDocumentAboutTab","toggleMasterHomeTab","toggleWhatsNewsTab","toggleUpdatedFavoriteTab","toggleMyReadingListTab","linkToFolderManagement","getTabStateType","tabType","inactiveItems","activeItem","notToggle","toggleClass","helpPagesService","getHelpPages","viewId","GetHelpPagesRequest","d_config","getDeviationConfig","getDeviationConfigInServer","DeviationRequest","GetConfig","trim","toString","getString","getInt","compareValue","parsedValue","isNaN","commonService","$cookies","pubSub","getCurrentLanguageText","currentLanguage","LANGUAGES","NorwegianBokmal","hearingMemberComments","closeTag","header","fullName","L","comments","commentTooltipPadding","field","hearingComment","fieldName","wholeDocument","hearingComments","comment","createdDateStr","commentDocumentText","commentTooltip","containerDiv","favoriteState","isFavorited","setFavoriteNodeState","getFavoriteNodeState","localStorageSupported","Storage","key","localStorage","clearAll","clear","history","pushState","detectBrowserWindow","browserType","BrowserType","PC","screenW","innerWidth","TABLET","MOBILE","fn","timer","context","args","clearTimeout","apply","resizeView","currentSideBarWidth","resizeToOrginalSize","removeAttr","resizeToChangedSize","isCompare","screenWidth","notContainSpecialCharacter","keyword","test","$inject","loadDirective","attrs","isLoading","pendingRequests","some","r","showLoading","v","buttonDirective","$parse","action","inLoadingStateWhenClick","releaseClick","$event","finally","message","catch","exception","console","log","internetPublishOption","InternetPublishOption","publishedVersion","PublishedVersion","internetColumnVisible","InternetColumnVisible","gridSettingKeys","commonVisibilitySettings","readingListVisibilitySettings","ColumnItem","visible","minWidth","commonGridSetting","documentType","chapter","readCount","approver","hasAttachment","optionalColumnsDenifinition","commonColumnsDefinition","layoutPlugin","ngGridLayoutPlugin","charToPixelRatio","autoColWidth","colDefs","rows","totalChars","totalCharsLength","n","tempTotalChars","colName","commonGridOptions","dataSource","plugins","headerRowHeight","rowHeight","multiSelect","enableColumnResize","columnDefs","rowTemplate","WhatNewRowTemplate","getColumnsDefinition","displayName","cellTemplate","DocumentInfoCellTemplate","CommonGridColumns","Title","Type","Chapter","FolderCellTemplate","Location","LocationCellTemplate","Version","ReadCount","DocumentId","ApprovedDate","Approver","DocumentResponsible","DocumentAttachmentTemplate","ReadingReceiptDtmCOnfirmedColumnHeader","documentInfo","splice","ReadingList","Confirmed","getDefaultVisibleColumns","getDefaultColumnWidth","clearColumnsVisibleSetting","readVisibleColumnsFromLocalStorage","columnVisibleSettings","columnsSetting","updateColumnWidth","getGridSetting","existsInLocalStorage","getDocumentColumnsForExporting","gridKey","modelType","E","GridViewModelType","columns","documentExportColumns","docUrl","isInternet","documentName","Process","processName","InterconnectedProcess","interconnectedProcessName","DocumentAndProcess","documentResponsible","processResponsible","setGridSetting","gridSettingkey","gridColumns","columnSettings","lastSplitterIndex","lastIndexOf","getBooleanValue","getArray","obj","array","groupBy","list","groups","group","gridOption","FormattedDateDMYYYY","date","delimiter","month","getMonth","getDate","getFullYear","self","grid","init","services","domUtilityService","DomUtilityService","updateGridLayout","$$phase","RebuildGrid","ua","msie","rv","edge","vendor","String","format","NewsGridConfig","maxDisplayPage","splitDateString","dateString","Utils","ToDate","Date","dateParts","ToDateTime","dateTimeString","dateTimeParts","timeParts","dialogTypes","OK","OK_CANCEL","YES_NO","dialogResults","CONFIRM","CANCEL","RESPONSE_MESSAGE","recommended","notRecommended","neutral","getElementForTooltips","label","generateRelatedDocumentTooltip","row","LinkedVirtually","virtual","Yes","No","Responsible","generateRelateProcessTooltip","Status","approvalStatus","ProcessArea","processAreaName","processNumber","createTooltipsRelatedDocument","relatedDocuments","htmlTooltips","relatedProcess","fieldContents","fieldContent","getLines","lines","dirty","clone","wrapCharacters","fragment","parent","contents","each","characters","Node","ELEMENT_NODE","TEXT_NODE","createDocumentFragment","nodeValue","character","appendChild","replaceChild","replaceWith","$element","greatestOffset","offsetTop","countLines","jQuery","NorwegianNynorsk","English","openAddMembersDialog","modal","existedMember","titlePage","roleId","excludedQuitDepartmentId","open","size","existedEmployees","gridUtilities","lookupData","rowCollection","originalCollection","infiniteScrollLoadsize","total","currentRowIndex","newTotal","copy","getAPageItem","currentIndex","endIndex","getIconsWithReadPermission","nodeInfo","notTextWhite","iconFolder","expanded","onlyRead","nodeTypes","RegionalFolder","TopFolder","DepartmentFolder","LinkDocument","FileDocument","ShortcutDocument","Array","prototype","fun","thisArg","TypeError","t","Object","len","call","alerts","$scope","vm","closeAlert","anchor","anchorPrefix","anchorId","anchorName","autoResize","scrollHeight","ngModel","newVal","el","ctrl","initialize","isDocumentAction","isFolderAction","hasSubFolders","getBreadcrumbs","setMasterTab","requestParams","validCondition","GetParentFoldersRequest","GetSubfoldersRequest","buildSubFoldersBreadcrumbs","buildBreadcrumbs","buildOthersBreadcrumbs","isSearchResultView","contains","isNewsView","icon","getFolderIcon","subFolders","navigateToFolder","sub","goToNewsList","$current","currentNewsPage","HandbookAdminAction","addAdminBreadcrums","HandbookManagementAction","addHandbookBreadcrums","DocumentTemplateAction","otherBreadcrumbs","Action","documentTypes","fieldList","RolesAction","roles","StaffManagementAction","staff","DepartmentsManagementAction","departments","sidebarNav","sidebarTypes","DEPARTMENT","showSidebar","hideSidebar","admin","handbook","totalItem","parentFolderId","iconMobile","getFolderIconMobile","levelType","breadcrumbs","currentItem","fullBreadcrumbs","fullBreadcrumbsMobile","reverse","breadcrumbsCompact","isBreadcrumbsCompact","mobileView","lineHeight","arrTemp","refreshScrollContentView","showAllBreadcrumbs","adjustDocumentContentPosition","adjustChapterContentPosition","folderType","FolderIcon","TopFolderIcon","DepartmentFolderIcon","RegionalFolderIcon","folderTypes","goToFolder","translation","home","searchResult","SearchResult","viewNews","News","BROWSER_TYPE","showDropdown","collapseTarget","collapsed","onCollapsed","collapsedFlag","directivesModule","customPath","customDirectivesPath","minDate","maxDate","ngRequired","ngDisabled","appendtoBody","onChange","textboxClass","focusElement","DatePickerView","patt","pattLongDate","longMinDate","longMaxDate","longDate","dateOptions","formatYear","startingDay","showWeeks","newValue","objectDate","opened","preventDefault","stopPropagation","oldValue","firstElementChild","uibDatepickerConfig","ele","dateLocallize","$parsers","unshift","viewValue","_typeof","pattString","$setValidity","selectDepartmentFromSearchResult","department","isDisabledDepartment","dselected","dselectedList","getDepartment","isSearchResultShown","selectedParentDepartment","updateDepartmentGUI","clearDepartment","indexControl","address1","address2","address3","country","countryId","email","fax","isCompany","organizationNo","parentId","phone","visitAddress1","visitAddress2","visitAddress3","toggle","Boolean","currentDepartmentIndex","selectDepartmentFromDropdown","selectedDepartment","$modelValue","isDropdownShown","handleExpand","selectedNode","siblings","$parentNodeScope","modelValue","isLoaded","departmentId","concat","error","onDepartmentKeyup","which","SearchDepartmentsRequest","searchDepartments","currentSearchDepartment","keyCode","onSearchDepartmentSelect","$item","$model","$label","showSearchResult","onlyTreeRootNode","$document","cssclass","treeClass","moduleClass","dropdownListController","$window","$filter","nextPage","selectItem","selectedItem","isRegisterItem","showDropdownList","selectedItemText","textName","removeCurrentItem","resetData","visibleItems","slice","onSearch","keyEvent","enterSelectItem","searchObject","itemsVisible","onDataNavigating","_scrollHeight","infiniteItems","clientHeight","setcurrentItemInPopup","onEnter","InfiniteScrollLoadSize","getAPage","startIndex","busy","newTotalItems","showPopup","disabledControl","showPopupWhenClickInput","searchable","valueName","disabledField","disabledInfo","iconClasses","ngDialog","isExportExcel","fileName","ngDialogData","submit","extension","exportParams","exporterUrl","exportType","ExportTypes","Excel","Word","excelExporterUrl","wordExporterUrl","responseType","close","saveAs","toggleExcelExport","isExportWord","toggleWordExport","npDialog","$uibModal","showDialog","dialogInfo","dialogCloseCallback","backdrop","dialogController","$modalInstance","$sce","confirm","toggleDonotShowAgain","donotShowAgain","toggleApplyRecursive","shouldApplyRecursive","toggleReason","reason","emailNotification","hearingEmailNotification","trustAsHtml","enableButton","HearingDocApprovedNotification","html","HearingEmailNotificationTooltip","hearingEmailNotificationTooltip","InformDialogTitle","ConfirmDialogTitle","addRecursiveFolderEmailSubscription","AddEmailSubscription","hasEmailSubscription","hasOnlyFolderEmailSubscription","readonlyFolderEmailSubscription","remoteRecursiveFolderEmailSubscription","RemoveEmailSubscription","addOnlyFolderEmailSubscription","AddOnlyFolderToEmailSubscription","reomteOnlyFolderEmailSubscription","RemoveOnlyFolderFromEmailSubscription","simpleSubscription","SimpleSubscription","EmailSubscriptionView","addDocumetEmailSubscription","AddEmailSubscriptionDocument","isEmailSubscribe","remoteDocumetEmailSubscription","RemoveEmailSubscriptionDocument","SubscribeToChanges","favoriteButtonClick","targetData","isFavoriteReadonly","favoriteTargetId","isFavorite","currentDocument","documentInformation","isDocument","FavoriteButtonView","addRequestUrl","removeRequestUrl","className","Content","ForcedFolderHint","DepartmentFolderHint","Favorite","Feedbacktooltip","popupModal","FeedbackModalView","model","FeedbackButtonView","Feedback_Message","Feedback_Message1","FeedBackCheckLabel","FeedBackCheckLabelA","FeedBackCheckLabelB","FeedBackCheckLabelC","FeedBackCheckLabelD","FeedBackCheckLabelE","FeedBackCheckLabelF","FeedBackCheckLabelG","FeedBackCheckLabelH","feedBackLabels","RecipientsForFeedbackMail","OwnerOnly","isOwnerOnly","enableExtendedFeedback","EnableExtendedFeedback","currentData","selectedOption","x","getSelectedFeedBack","alert","ThanksForYourFeedback","PleaseEnterFeedback","calculateFeedBack","count","columnsDefinition","onRowClick","isProcess","onDoubleClick_","onDoubleClick","arrayCopy","originalData","selectRow","showColumnInformation","selectedColumn","order","times","showSortIcon","totalTitle","isTotalTitle","Total","TotalNumberDocument","orderBy","loadSize","getSettingGridColumn","gridSetting","objectLocalStorage","JSON","parse","calculateColumnsWidth","coldefault","numColumns","extraWidth","__numCoumns","additionWidth","temp","ratio100","column","columnNotRemove","ratio","tableState","pagination","start","predicate","sort","y","d1","d2","old","gridBody","identifier","isForced","newData","oldData","transclude","notFixHeightRow","hiddencheck","rowCss","wrapText","onSelectRow","hiddenShowAll","showCheckboxOnProperty","notUpperHeader","append","numberOfHiddenCheckboxes","hideAllCheckboxes","loadColumnsConfiguration","columnsConfiguration","optionalColumns","updateGrid","stringify","showGridSettingContextMenu","checkItem","checkAll","uncheckAll","color","showInfoCol","favoriteService","openDocument","onOpenDocument","openFolder","generateDocumentTooltip","processInterconnectedNumber","readingReceiptValidity","readingReceiptsExpire","confirmDate","setMonth","ValidToReading","internetDocument","ReadingLists","readingListName","generateAttachmentTooltip","AgreeFiles","attachments","Attachments","fileId","viewDocumentFieldDirectly","ViewDocumentFieldDirectly","EnabledCheckViewDocumentFieldDirectly","openProcess","onOpenProcess","openProcessArea","onOpenProcessArea","areaId","openProcessInterconnected","onOpenProcessInterconnected","includeProcess","isProcessInterconnected","processClassificationTypes","processChangeHeightForTable","groupDocument","hasDataChange","htmlTooltip","GridControlView","highlightMissingDocuments","showExporterDialog","loadExportColumns","GridDialogExporterView","GridExporterControlView","$last","$emit","setValueCheck","keys","property","enabledProcessModule","EnableProcess","GridSettingView","timeout","container","itemByPage","lastRemaining","ieVersion","$parent","folderInformation","viewType","eq","remaining","htmlText","backgroundColor","objectTooltip","image","GetImageRequest","imageId","caption","openInNewWindow","scaleDir","getWidth","horizontalAlign","HorizontalAlign","Right","Left","Center","getImageClass","prepend","ImageView","maximumWidth","maximumHeight","display","buildTooltip","showInTreeviewInLeftMenu","ShowInTreeviewInLeftMenu","showToggleButton","toggleNavigate","PinView","hideSidebarButton","ReadingReciept","isShowReConfirm","readingReciept","showReadingRecieptContextMenu","readConfirmationDate","confirmedReadLast","getConfirmInformation","ConfirmedReadLast","readConfirmationDateTime","date1","date2","compareDate","entityDisabled","ReadingReceiptButtonView","calculateWidthOfPrintBox","onRecursiveChange","recursive","Print","enableSimplePrintout","EnableSimplePrintout","folderSettingsEnabled","FolderSettingsEnabled","isTitle","isDocumentId","isVersion","isDocumentResponsible","isApprover","knowledgeType","KnowledgeType","enableAgree","finishLoadContent","closeContextMenuPrint","showPrintContextMenu","closeContextMenuPrintFolder","showPrintFolderMenu","fieldContentChanges","indexOfFieldOrder","subscribe","printRecursive","printDocumentPdf","PrintPdfRequest","printDocumentBooklet","PrintBrochureRequest","printDocumentFieldPdf","PrintPdfFieldRequest","fieldId","printDocument","PrintHtmlRequest","printDocumentFieldHtml","PrintHtmlFieldRequest","printSimplifiedDocumentPdf","PrintPdfSimpleRequest","printFolderHtml","exportDocumentGroupsByColumn","none","documentViewTypes","DocumentViewTypes_Standard","DocumentViewTypes_Template","metatag","PrintFolderAsBackground","AddPrintFolderJobRequest","displayType","isDocTitle","isDocId","isDocResponsible","ConfirmPrintChapterHTMLAsBackgroundJob","includeSubFolders","folderIdInt","showDocumentIncludeLevel1","PrintFolderHtmlConfigRequest","param","printFolderPdf","ConfirmPrintChapterPDFAsBackgroundJob","PrintFolderPdfConfigRequest","printWhatsNewHtml","PrintWhatsNewHtmlRequest","getColumnSettings","periodOption","PrintFolderWhatsNewHtml","searchType","printWhatsNewPdf","PrintWhatsNewPdfRequest","PrintFolderWhatsNewPdf","printUpdatedFavoriteHtml","PrintUpdatedFavoriteHtmlRequest","printUpdatedFavoritePdf","PrintUpdatedFavoritePdfRequest","printSearchResultHtml","documentTypeId","searchInContents","fromDate","toDate","PrintSearchResultHtmlRequest","printSearchResultPdf","PrintSearchResultPdfRequest","spliter","handbookConstants","ColumnsSplitter","ColumnsSetting","Internet","Template","Owner","Attachment","ReadingReceipt","ReadingReceiptDate","printPicoFormPdf","PrintPicoFormPdfRequest","printAgreeMethodReport","knowledgeTypeId","shortVersionOfAgreeRequirements","PrintAgreeMethodReportFullVersionRequest","PrintAgreeMethodReportShortVersionRequest","typePrintContextMenu","custom","isBooklet","PrintButtonView","resizeService","resizerMin","getHeightChanged","_pageX","isTouched","originalEvent","changedTouches","pageX","finalWidthChanged","mouseup","updateChanged","touchend","AdvanceSearchView","showToggleSearchPanel","toggleSearchPanel","toggleFlag","initAdvanceSearchData","firstItem","onAdvanceSearch","selectedDocType","datetime","advanceSearchKeyword","filterOptionNeededMessage","getTime","FilterOptionNeededMessage","isView","today","quickSearchKeyword","hidePopupOnLostFocus","showTreeDocument","hideTooltip","tt_isOpen","key_showRemoveIcon","selectedFolderId","searchInContent","hasExpired","folderTree","folder_showRemoveIcon","dateFrom_showRemoveIcon","dateTo_showRemoveIcon","loadFolderTree","GetFoldersRequest","Id","showDocumentInTree","selectNodeHead","selectNodeLabel","clear_advKeyword","clear_advFolder","clear_advDateFrom","clear_advDateTo","ShowDocumentsInTree","selectedMetadata","selectedTag","initMetadata","metadatas","tags","initMetadataSearchData","onMetadataSearch","selectedRegister","registerItemValueId","SearchHomePageView","toggleSearhBoxHeader","debounceService","stringValidationService","previousRequests","clearSearchToggle","searchMode","resetCurrentItem","searchDocument","togglePopup","onSearchInputChanged","keywordValue","isCurrentPage","getProcessSearchResult","processRequestParams","isFrontend","isContentSearch","SearchProcesses","HomeSearchPopupSize","SearchProcessAreas","processAreas","enableProcess","Popup","enableVAR","searchVAR","searchRequestParams","requestId","SearchRequest","noMatches","isMessageInfo","totalCount","lengthFolder","activePopup","changeSearchKeyword","clear_Keyword","isCompendiaDocument","compendiaDocumentLink","insertLogWords","goToProcess","goToProcessArea","doSearchDataMining","employeeId","userId","searchKey","searchFilters","openAdvancedSearch","AdvancedSearchModalView","openMetadataSearch","popupMouseDown","popupMouseUp","onVARClick","isLoadingVar","query","numFoundOfVar","numFound","varRecords","NormalSearchTooltip","SearchInContentTooltip","searchInContentLabel","CheckboxIncludeDocContent","SearchBoxPlaceHolder","TitleSearchBoxPlaceholder","enabledMetadataSearch","enabledAdvanceSearch","isMetadataSearch","MetadataEnabled","messageInfoBottom","ShowMessageInfoBottomListSearch","DoSearchDataMining","ClearSearchToggle","searchInFolders","SearchInFolders","EnableVAR","appName","exec","control","ngOptions","option","options","SearchView","changeSearchMode","enableInterconnectedProcess","SearchProcessInterconnected","processesInterconnected","SearchPopupSize","goToProcessInterconnected","onActiveTab","tab","tabs","_addActiveClassForIconAndTitle","activeColorClass","colorClass","activeColor","$watchCollection","tabWidth","onClick_","tabIndex","activated","ativeTabs","onClick","backgroundClass","oldHeight","Number","identifierSelector","updateFavoritePrintbox","tabActive","elem","__height","tabsToggle","hasError","anchorsSelector","blur","getShareLink","currentTarget","shareLink","htmlEditor","CodeMirror","fromTextArea","getElementById","mode","cm","getWrapperElement","innerHTML","pointerEvents","opacity","body","getSelection","removeAllRanges","range","createRange","selectNode","addRange","execCommand","copyFormatted","getValue","tooltip","CopyUserFriendlyUrl","imgUrl","additionClass","transclue","clearSelectedFolder","selectedFolder","getSelectedNode","onSearchFolderSelect","onSelectFolder","onSearchKeyup","killFolderInformation","changeFolderInformation","currentNode","isArray","getNodesByLevelType","buildIcons","nodes","class","setFolderSelection","isShowAll","Common","all","dropped","beforeDrop","showFolderTree","isFolderNode","isActiveContainerClass","customCss","treeCss","isDisabled","docUsageTodaysSetting","evt","Statistics","mostReadToday","isObject","quantity","objHandbookStatistics","arrDailyStatistics","docUsageTodays","categories","map","accessDateDisplay","docAccessCount","users","userAccessCount","Highcharts","chart","zoomType","dailyUseDoc","subtitle","xAxis","crosshair","yAxis","allowDecimals","labels","getOptions","colors","opposite","shared","legend","align","verticalAlign","floating","defaultOptions","series","valueSuffix","getHighCharts","component","bindings","getFolderStatistics","nameFolder","subFolderStatisticsSetting","docsInUse","newThisMonth","revisedThisMonth","archivedThisMonth","Enum","DocumentStatuses","awaitingApproval","expired","handbookId","folderStatistics","subFolderStatistics","buildChartApprovedInternet","folderStatisticsForCharts","buildChartNewRevisedArchived","buildChartAwaitingApprovalExpired","approveTitle","approved","internetTitle","monthYear","approvedDocs","internetDocs","approvedVsInternet","number","plotOptions","connectorAllowed","pointStart","responsive","rules","condition","maxWidth","chartOptions","newCountDocs","newCount","revisedDocs","revised","archivedDocs","archived","newVsRevisedVsArchived","new","awaitingApprovalDocs","expiredDocs","awaitingApprovalVsExpired","tabsChartsSetting","periods","defaultSelectedFolder","statisticsPercentageForAwaitingApproval","StatisticsPercentageForAwaitingApproval","selectOptionPeriod","changePeriod","fiveYear","last13Months","activatedClass","elementContentId","$uibModalInstance","$modal","buildAtag","activityDetail","activityDocuments","tabSettings","buildGridTabSetting","activityDocumentsGridSetting","ID","dialogHeader","activity","dismiss","partitionings","Month","Quarter","Tertiary","SchoolYear","searchAnnualCycle","annualCycles","annualCycleId","partitioning","year","Recurring","gridSettings","Name","Description","Period","Partitioning","colCannotRemove","clickRow","uiGridConstants","$anchorScroll","activities","yearRange","currentYear","getPeriods","periodsForSchoolYear","nextYear","getPeriodsForSchoolYear","monthViews","schoolYearMonthViews","cycleMonths","cycleSchoolMonths","activityTasks","listActivitiesInView","isExpandAll","changeView","resolveColor","resolveSchoolYearColor","print","period","expandActivityRow","entity","monthViewItem","api","expandable","toggleRowExpansion","isExpandAllTasks","gridApi","every","isExpanded","expandAllTasksInActivity","expandAllItems","listMonthViews","activitiesGrid","expandAllRows","collapseAllRows","initListActivitiesGrid","scrollToMonth","getActivityDetailUrl","activityId","ShowNewAnnualCycleDetailPage","BackendURL","getTaskDetailUrl","taskId","canExpandAll","isSchoolYear","isDisablePeriod","sDate","startDate","eDate","endDate","sDate_Date","sDate_Month","sDate_Year","eDate_Date","eDate_Month","eDate_Year","startYear","responsibleNames","isStartAndEndInTheSameMonth","isStartAndEndInTheSameDay","percentageTasksCompleted","Math","round","numberTasksDone","numberTotalTasks","numberLoop","abs","activityTemp","day","getDaysInMonth","readingListReaders","readers","readingListExclusions","exclusions","taskResponsibles","responsibleId","AllResponsible","ActivityResponsible","responsibleName","join","descriptionDisplay","statusDisplay","NotStarted","InProgress","Completed","Consult","generateStatusText","August","September","October","November","December","January","February","March","April","May","June","July","months","err","NotExistOrNoPermission","expandableRowTemplate","showExpandAllButton","enableExpandableRowHeader","enableOnDblClickExpand","expandableRowHeight","enableSorting","Activity","headerCellTemplate","enableColumnMenus","onRegisterApi","core","sortChanged","sortColumns","mv","expandedRows","collapseMonthViewSaveState","filterActivitiesBySchoolYearMonth","filterActivitiesByMonth","enableHorizontalScrollbar","scrollbars","NEVER","enableVerticalScrollbar","hasTasks","hasDocument","onShowDialogActivityDocument","initActivityTasksGrid","statusCol","col","monthId","scrollIntoView","behavior","block","subGridOptions","showHeader","task","setLoading","generateRelatedTaskDialog","activityTaskId","expandableRowScope","source","activityYear","activityMonth","callback","moduleConfig","activityTaskDocuments","activityTaskFolders","_toConsumableArray","activityTaskProcesses","activityTaskProcessesAreas","processAreaId","combineTaskProcessRelated","activityTaskCheckLists","rootId","checklistId","checklistName","activityTaskDeviations","deviationTypeId","categoryName","activityTaskRisks","backendHandbookUrl","riskId","analysisName","activityTaskAttachments","activityAttachmentId","taskRelatedItem","risk","activityTaskDocumentsGridSetting","activityTaskProcessesGridSetting","activityTaskRiskGridSetting","activityTaskChecklistGridSetting","activityTaskDeviationGridSeting","activityTaskAttachmentGridSetting","activityTask","setFocusForElement","passwordPattern","changeOldPassword","password","oldPassword","isCorrect","isOldPasswordCorrect","changeNewPassword","isNewPasswordValid","newPassword","newPasswordTooltip","M","PasswordRequirements","BeBetween8And16Characters","AtLeastOneLowercaseLetter","AtLeastOneUppercaseLetter","AtLeastOneNumber","AtLeastOneSpecialCharacter","buildNewPasswordTooltip","changePassword","Login","_goBackToLoginPage","isPinMeta","pinMetaChange","infiniteGroups","groupDocuments","newTotalDocuments","updateScroll","commonGridSettingKey","folderList","$$search","addFavoriteRequest","AddFavoriteFolder","removeFavoriteRequest","RemoveFavoriteFolder","addEmailSubscriptionRequest","removeEmailSubscriptionRequest","urlchapter","backendIsDb4","BackendIsDb4","showFolderLinkToBackend","objectShowDocumentsInSubChapters","showDocumentsInSubChapters","DocumentViewTypes","Folders","DocumentViewStandard","DocumentType","metaDataTags","documentViewTypes_Standard","documentViewTypes_Template","documentViewTypes_Internet","DocumentViewTypes_Internet","changeDocumentView","gotoParentFolder","showDocumentsRecursive","removeFromFavorite","getConsecutiveIndex","parentIndex","$index","totalDocuments","showDocumentsIncludeLevel1","listedOutDocuments","updateFolderInfoStorage","updateExportGroupByParam","searchInFolder","toTopGroup","backToFolderView","isSearchInFolder","showWhatsNewDocumentsRecursive","getWhatsNewForFolder","showAllGroups","isShow","changeSelectedOption","nameFolderWithMetaTag","urlFolderWithMetaTag","urlName","getFolderClassMobile","backToFolderMobileView","folderData","hasGetDocumentsGroupByTypes","getDocumentsGroupByTypes","scrolling","subFoldersGridSetting","showWhatsNewDocumentsInSubChapters","searchDocuments","WhatsNewDocuments","copyUserFriendlyUrlTooltip","showDropdownFolderOptions","showSortOption","isStandardView","isGroupByMetaDataView","openAboutFolder","removeOnlyFolderEmailSubscription","removeRecursiveFolderEmailSubscription","openWhatsNewFolder","hasViewAccess","hasViewContentAccess","changeSelectedOptionInMobileView","isToggled","autoScrollDownExpandBottom","positionBottomFolderContentIdentifier","inline","metadataGroupTypes","groupByDocument","InfiniteScrollLoadGroupSize","infiniteScrollLoadDocumentssize","currentHeight","backendUrl","commonAdd","showGroupDocumentTitle","GetRecentlyApprovedDocumentsForFolder","includeSubFolder","extraId","updateAttachmentsForWhatsNewDocuments","buildExportFileName","isRecursive","isIncludeLevel1","isFavoriteNodeSelected","level","levelTypeText","documentTemplates","convertToNodeType","ShowDocumentLinkToBackend","hasWritePermission","folderIcon","GetDocumentsRecursive","updateAttachmentsForDocuments","getDocumentTemplates","internetDocumentString","buildViewMode","GetMetadataGroupsRecursive","metadataGroups","existsTemplate","getMetadataGroupTypes","getMetadataGroupsForContentTab","metaGroupName","getMetaGroupName","metadata","metaTags","folderDocuments","documentMetatags","templateGroup","updateDocumentTemplate","mappingDocumentTemplates","updateInfiniteScrollingData","documentMetatag","metatagValue","existedDocument","getSortGroupMetadata","registerValue","documentsError","errorMessage","disableFolderView","runErrorServicesAfterInit","documentsMobile","subFoldersMobile","sortItemsAscByName","getFolderClass","convertToFolderType","messageWhatNew","RecentlyApprovedDocumentsInTheHandbook","dt","a","b","viewMode","isMetadataGroup","lastOne","sortGroup","hasUndefinedGroup","documentsGroup","checkSortOrderMetaTags","localeCompare","anchorGroup","indexToScroll","pop","folderContentObject","checkDocumentsInOneGroup","showAllGroup","checkShowAllGroupLink","initShowGroups","groupTemplates","arrFolderInfo","folderExist","folderInfo","constructor","includeVirtualDocuments","notRecursiveFolderId","totalHits","totalFound","exportFileName","Exporter","ChapterWithSubChaptersDocumentList","ChapterDocumentList","ngRepeatFinishedEvent","isWhatsNew","isClickedElementChildOfPopup","storageWhatsNewPeriodFolder","WhatsNewPeriodFolder","SubFolders","commonGridColumnDefinition","viewFolder","folderInfoObject","getFolderInfoStorage","listOutSubChapters","ListOutSubChapters","publishedOrUnpublished","enabledCompendiaSearch","CompendiaSearch","showCompendiaSearch","showFolderSearch","triggerTabClicked","clickItSelf","childTab","advancedSearchLocationType","application","metaDataAll","getGetRegisterItemByAreaOrFolder","metaDataItem","getRegisterItemsByModule","getRegisterItemOfArea","clearSelectedNode","activeButtonGroup","notCalculateHeigthGrid","selectedSearchType","searchTypes","setHeightForGrid","activeLocationTypeButtonGroup","getSearchResult","reCalculateHeigth","searchTypeHandbook","advancedSearch","metadataSearch","areasRecords","getProcessAreaSearchResult","generateSearchProcessParams","updateAttachmentsForProcesses","processRecords","updateAttachmentsForProcessesInterconnected","getProcessInterconnectedSearchResult","searchParams","generateSearchProcessAdvanceParams","SearchProcessesAdvance","advancedSearchProcess","SearchProcessInterconnectedAdvance","advancedSearchProcessInterconnected","triggerSearchProcessModule","triggerSearchVAR","VAROffset","searchConditionTrue","toLocaleDateString","char","contentSearch","searchLogLevel","totalFolderHits","searchCompendiaDocuments","searchUrl","titleSearch","CompendiaDocument_TitleSearch","CompendiaDocument_ContentSearch","compendiaDocuments","loadSearchType","searchPlaceHolder","AdvanceSearch","fromDateDisplayed","toDateDisplayed","areaTree","isAdvanceSearch","ContentSearch","TitleSearch","MetadataSearch","startMetadata","startTag","searchFilter","folderIdNotNull","fromDateNotNull","toDateNotNull","registerItemIdNotNull","registerItemValueIdNotNull","startOption","endOption","seperator","From","getDateStringFromInput","To","Metadata","Tag","getSearchFilter","processEntityIds","attachmentHtml","processEntityId","processInterconnectedEntityIds","processInterconnectedEntityId","GetAttachmentsForProcessesInterconnected","decodeURI","record","changeType","degree","inferVarRecordStatus","updatedDate","lastUpdated","getExportParams","enableExportButton","setProcessExportParams","setDocumentExportParams","setProcessInterconnectedExportParams","fromDateBK","toUTCString","toDateBK","metadataMustContainAll","myProcessOnly","processStatusApprovalFilter","advancedSearchApprovalProcessStatus","Approved","dateFilter","hasQuit","hasQuitApprove","includeSubAreas","includeVirtualProcesses","exportDocumentParams","exportRequestUrl","ExportSearchedDocuments","exportProcessParams","ExportSearchedProcesses","ExportSearchedProcessesAdvance","exportProcessInterconnectedParams","ExportSearchedProcessesInterconnected","ExportSearchedProcessesInterconnectedAdvance","SearchLogLevel","keywords","showLoadMore","loadMoreClickedCounter","Maximum","showMoreLink","Showmore","foldersGridSetting","loadByMaxSearchSize","showLoadMoreLink","_isShow","_isLastIndex","rowIndex","AreaId","ShowProcessesInTree","IsOnlyApproved","clearFromDate","clearToDate","changeSearchType","setSearchLocationType","isProcessNode","openCompendiaDocument","defaultExportFileName","isClickDocument","folderClick","areaGridSetting","VARsGridSetting","searchProcessParams","tabNameToExport","processTab","interconnectedTab","areaTab","folderTab","handleChangeTabForExportList","activeTab","getFolderInformation","areaInformation","generateExportParams","mandatatoryRequests","handleNavigate","innerHeight","toParams","fromState","fromParams","setPeriod","optionNumber","listPeriod","selectedPeriod","whatsNewDocuments","Today","LastWeek","LastMonth","Last3Months","selectPeriod","searchByHearing","resetselectedSearchPattern","selectedRole","firstName","lastName","excludedEmployeeId","excludedEmployees","searchEmployee","selectedEmployees","selectedEmployeesCount","searchPatterns","selectedSearchPattern","saveChanges","employees","inArray","isAllSelected","onKeyUp","changeSaveSearch","selectedRequest","searchIds","searchFilterType","res","ChooseSavedHearingMembersList","generateComparisonResult","selectedVersion","isType","currentDocumentId","fromVersion","input","toVersion","getDataForComboVersions","earlierVersionNumber","latestVersionNumber","documentCKVersion","isNewCKVersion","DocumentTitleResult","ComparisonResult","comparisonNameResult","DocId","And","earlierVersionHtml","latestVersionHtml","comparisonResult","domContent","getErrorMessage","latestVersion","fromVersions","toVersions","childDocumentId","parentDocumentId","ckVersion","enableDocumentExtention","EnableDocumentExtention","showCompareParentExtension","showCompareChildrenExtension","promises","resultGetParentId","resultCheckDocumentHaveToCompareById","printDocumentComparison","changeFromVersion","changeToVersion","viewCompareParentDocument","viewCompareChildDocument","advancedCompare","AdvancedCompare","initCompareScrollEvent","removeEventListener","documentContentsSearchService","searchAndHighlight","isNumber","dynamicDiv","replaceHtmlEntites","regExp","textHighLight","sTag","returnWhitespace","searchAndHighlightText","searchNavigator","navForward","clearHighlight","addHighlight","scrollToMatch","navBackward","visibleAreaStart","clearSearchPanel","highlightText","translate","nbsp","amp","quot","lt","gt","documentController","isFieldActive","lastId","ignoreRichText","LazyLoadRichText","urlParams","isEmbedUrl","highlights","isShowMetadata","isShowMetatagTab","ShowMetatagTab","showDocumentLinkToBackend","enableElementsIntegration","ElementsIntegrationConfiguration","ArchiveIntegrationMode","None","viewModeList","documentTemplateViewMode","ProcessDependencies","documentTemplateViewModeName","Normal","RelatedDocuments","InvolvedChapters","metadataList","AddFavoriteDocument","RemoveFavoriteDocument","processRelationTypes","ProcessRelationType","showError","isFullScreen","heightdocumentcontentidentifier","FolderLinks","menuFields","urlDocument","updateFields","relatedAttachments","relatedDocumentAll","relatedAttachmentAll","fieldContentsProcess","fieldContentsNonProcess","relatedProcessAll","isShowTopBoxContent","checkShowFieldName","relatedImageGroups","images","relatedBottomImages","relatedTopImages","VerticalAlign","Top","Bottom","relatedDocumentGroups","relatedDocumentGroup","relatedProcessGroups","relatedProcessGroup","relatedProcesses","processRelationType","relatedDocumentManagements","relatedDocumentResources","Management","Resources","relatedDocumentManagement","relatedDocumentForDependencies","relatedAttachmentGroups","relatedAttachmentManagements","relatedAttachmentResources","relatedAttachmentManagement","relatedAttachmentForDependencies","relatedDocumetFieldGroups","relatedDocumentInputValues","relatedDocumentOutputValue","InputOrInputValues","OutputOrOutputValues","relatedAttachmentFieldGroups","relatedAttachmentInputValues","relatedAttachmentOutputValue","goToDocumentFields","highlightTextInContent","fullScreen","selectViewModeChange","isFloatTitle","getNextSearchResultByEnter","compareDocument","registDeviationWithDocument","deviationUrl","documentDeviationCategoryLink","hideCompareButton","showContent","shareFieldLink","fieldShare","showSidebarFields","isToggleSidebarFields","printAgreeFile","feedbackDocument","goToDocumentInPublicHandbook","PublicURL","isPublishedVersion","documentPublishUrl","openAboutDocument","documentData","folderLinks","cursorY","buildContentAndAnchorFields","childFieldContent","isVisible","fieldsAnchor","aElement","aTags","getElementsByTagName","itemAnchor","setIconForDocument","HandbookLevelTypes","Enterprise","DocumentLevelTypeEnterprise","Regional","DocumentLevelTypeRegional","Local","DocumentLevelTypeLocal","docIcon","showMessageError","DocumentDoNotExistOrIsArchived","DocumentDoNotExistOrIsArchivedOrNotPublished","showDocumentLinkToBackendWhenError","RequiredPermissionsToReadDocument","formatMetadata","nameDisplay","registerName","registerItemName","clearActive","runServicesAfterInit","addScroll","openDocumentFields","showOnPDA","defaultField","allVisibleField","scrollAffectFieldSelected","idCurrent","mousePosition","d","activeField","activeLink","activeFile","activeAttachments","activeRelatedDocuments","activeAgreeFiles","isHideByBooklet","replaceState","pathname","animationChangeBackgroundColor","clearAnchorActive","anchors","popUpWasBlocked","popUp","closed","onmousemove","pageY","hideSidebarFields","extendDocumentsGridSetting","documentNameHadExtended","showExtendDocument","totalExtendDocument","DeviationUrl","DocumentDeviationCategoryLink","enabledDeviation","EnabledDeviation","publicUrl","documentPublishTooltip","GoToDocumentInPublicHandbook","PublishedToTheInternet","copyUserFriendlyPublishedUrlTooltip","CopyUserFriendlyPublishedUrl","publishUrlImg","documentViewOption","searchDocumentInMobile","toggleSearchInMobile","scrollDocumentContentToTop","setViewMode","showContentanchor","getHiddenFields","fieldIds","GetHiddenFieldsRequest","GetDocumentMetadataRequest","hasExtention","currentDataPromise","GetDocumentInformationRequest","NoAccessDocument","sum","extendable","extendDocuments","linkDocTemp","urlTemp","urlFolTemp","documentIdDisplay","documentNameDisplay","pathDisplay","isDepartment","ExtensionLocatedInDepartmentFolder","ExtendDocumentNotification","ExtendDocumentNotificationForOnePerson","documentIdHadExtended","extendDocumentUrl","DocumentIsAnExtensionOf","fromCharCode","indexTemp","richTextRequests","isHiddenContent","isDocumentJustCreated","fieldContentId","fieldType","DocumentFieldTypes","RichText","ignoreLoading","getRichText","isHighlightExtended","IsHighlightExtended","richtextRequest","indexShow","hashTemp","elmnt","moveToDefaultField","agree","searchHistoryId","extensionName","searchHistoryFileName","fileTypeName","SearchHistory","fileType","abstractListId","abstractListFileName","AbstractList","implementationPlanId","implementationPlanFileName","ImplementationPlan","allAgreeRequirements","PicoForm","AgreeMethodReport","hasEditPermission","hasApprovalPermission","storageObject","existed","getReadDocuments","urlLink","openUrlDocument","enableOpenDocumentOnline","GetFileDocumentRequest","executeDocumentTypeIfNeeded","LogDocumentRead","EnableCompare","getDocument","dontHaveActionPermission","goToProcessDetail","Processes","processClassification","ProcessInterconnected","EnableOpenDocumentOnline","openFileAttachOnline","isLastVersion","isOneDrive","endPoint","EnablePopupBrowser","openFileDocumentOnline","relatedToOrDocuments","relatedTo","Path","CreatedDate","fullScreenInit","typeHideHeader","processEmbedUrl","buildDocumentObjectFromCurrentDocument","documentFieldsController","confirmInformation","fieldItem","printDocumentField","publish","existedAnchor","div","anchorClick","FieldsContentWholeDocumentController","topMenuDocumentHeight","activeRelatedDocuemnts","hideGoToDocumentFields","setStickyTitle","HearingFeedbackController","calculatorHeightContent","timeOut","updateAfterCurrentDataChanged","getHearingData","GetHearingForFeedbackRequest","loginUserId","isMyAssessment","hearingResponse","isMemberHearing","showComment","public","hearingClose","hearings","preHearingMembers","hearingsId","dueDate","membersGroup","members","groupPreHearingMembers","hearingCommentAfterResponse","dataComments","preDataComments","commentDocuments","commentFields","preCommentDocuments","preCommentFields","preComments","adjustmentHearingComments","preHearingComments","processResponseWithDraftComment","UpdatePublishAllCommentRequest","postResponse","hasDraftComment","countPushlishMessage","userLoginPublishComment","userLoginDraftComment","publishMessage","PublishCommentToDocument","messageConfirm","responseFlag","ResponseRecommendedMessage","ResponseNotRecommendedMessage","ResponseNeutralMessage","HearingDocument","processSendHearingResponse","UpdateHearingResponseForMemberRequest","closeHearingFeedback","loginUserName","HearingCommentAfterResponse","closeHearingGridSetting","hearingMemberGridSetting","preHearingMembersGridSetting","preHearingMembersActiveGridSetting","saveCommentDocument","isDraft","CreateHearingCommentRequest","saveCommentField","editCommentDocument","UpdateHearingCommentRequest","editCommentField","deleteCommentDocument","DeleteHearingCommentConfirmMessage","DeleteHearingCommentRequest","deleteCommentField","focusItem","postHearingResponse","createdBy","getPublishAndDraftCommentOfLoginUser","ResponseConfirmDraftMessage","printPDF","openFileDocument","editCommentDraf","showCommentDocument","addPerson","AddToHearingsPerson","departmentName","objectEmailContent","allowForwarding","subject","hearingId","httpStatusCodes","METHOD_NOT_ALLOWED","onSendEmail","onAddedMembers","publishDocumentComment","PublishHearingComment","publishFieldComment","openCompareDocument","onTabSelectedDocument","NumberOfComments","Assessment","Appreciation","GetDocumentInformationForHearingRequest","getRickText","documentHearingFieldsController","goBackDocumentHearing","updateCommentsInformation","clickChangeTab","tabStateChange","listTabCanChange","calculateMaxHeight","closeHearings","SubjectSendToHearingCreate","extraInfo","ExtraInfoSendToHearingCreate","BodySendToHearingCreate","About","netpowerHandbook","NetpowerHandbook","Close","applicationVersion","annualCycleModuleEnable","EnabledAnnualCycle","readingListEnabled","ReadingListEnabled","hearingEnabled","HearingEnabled","checkHearingTab","readingListGridSettingKey","loadWhatNew","loadFavorite","favoriteData","GetProcessAndDocumentLatestFavoriteRequest","includeInterconnectedProcess","updateTotalNewestFavorites","updateNewestDocuments","GetLatestFavoriteRequest","loadReadingDocumentsLists","allReadingDocuments","tooltipExpired","TooltipReadingReceiptsExpired","TooltipReadingReceiptsNoExpired","existing","readingListId","readingListCreatedDate","readingListUpdatedDate","readingListCreatedBy","readingListUpdatedBy","readingListDescription","decorateDocumentReadingListName","summaryNewData","totalReadingDocuments","documentsGroups","getDocumentGroupsByReadingListId","missingReadingDocuments","getMissingReadingDocuments","totalMissingReadingDocuments","tooltips","generateReadingListTooltip","loadHearingDocuments","aWaitingHearings","publicHearings","GetHearingDocumentsRequest","awaitingHearings","information","_buildDocumentTooltip","isPublic","GetProcessAwaitingHearing","processAwaitingHearings","combineProcessHearings","GetProcessPublicHearing","processPublicHearings","loadHearingProcesses","hearingRowClick","linkDirect","adjustMenuPosition","whatNewPrintbox","ajustmentNews","goToRegisterDeviation","goToChecklist","linkToChecklist","trustAsResourceUrl","goToAnnualCycle","linkAnnualCycle","getBackendUrl","goToRiskModule","viewReport","clickNavTab","selectedTab","hearingGridSetting","HearingsSetting","AllFolders","normalStartpage","StartpageThemeKey","StartpageTheme","BACKEND_URL","URL","protocol","periodWhatNewOptions","whatNewData","totalWhatNews","totalFavorities","totalAwaitingHearings","totalPublicHearings","WhatsNewCountConfig","WhatsNewCount","UpdatedFavoritesCountConfig","UpdatedFavoritesCount","longApprovedDate","isNew","GetRecentlyApprovedDocumentsProcessesRequest","updateTotalWhatNew","GetRecentlyApprovedDocumentsRequest","getNewCount","createdDate","CreatedBy","UpdatedDate","UpdatedBy","Validity","Months","p","approverResponsible","chapterLevel","deleted","documentIcon","documentStatus","draft","IsDraft","dueDateDisplay","expirationDate","expiredDate","feedBackCount","feedBackDislike","feedBackLike","feedBackNull","isAddNewVirtual","lastContentEdit","orgiginApprovedDate","orgiginPublishedDate","publishedDate","permissions","registerItemItemId","templateId","tooltipData","isNotConfirmId","missingDocuments","documentsOfEachReadingList","results","existingIndex","getDistinctItems","distincItems","countItemNew","setAttachmentForProcesses","linkChecklist","goTochecklistFromUrl","storageWhatsNewPeriodAll","WhatsNewPeriodAll","HearingDueDate","Public","DocumentInfo","readingListColumnsDefinition","unsupportBrowserMessage","UnsupportedBrowser","OldHandbookUrl","sum_Document","sum_Process","tabPanel","arrTabPanelActive","getTabId","setTabPanelActive","arg","mainPageController","hotkeys","aboutNetpowerHandbook","ChangePassword","userManual","UserManual","isHearingUrl","isFolderUrl","isDocumentUrl","isMainUrl","rememberedChangedWidth","annualCycleHomeUrl","isTest","IsTest","enabledAnnualCycle","publicAlert","PublicAlert","activityPopupSize","ActivityPopupSize","sidebarAdjustmentWidth","autoHideSidebar","openMyReadingReceipt","showStartpageImage","ShowStartpageImage","changeFontsizeGuide","ChangeFontsizeMessage","toggleActivities","currentPageIndexNotifyAc","calendarLoading","getActivitiesForNotifyPromise","activitiesNotify","observableScrollModal","editActivity","annualCyclePermissions","navigateToEditActivityBackend","openAboutDialog","changeColor","showDropdownTopbar","changeLanguage","ChangeLanguage","hasShownPublicAlert","reload","keydown","helpEnabled","onhelp","returnValue","goToHelpPages","HelpEnabled","showSearchBoxHeader","toggleSearchBox","currentActivityNotifyTab","onChangeActivityNotifyTab","currentTabPromise","calendarChangeTabLoading","_resizeSidebarWithRememberedChangedWidth","_rememberWidthChangedAndResizeToOrginalSize","activeActivityCounter","calendarLoadingMore","updatePositionForTestModeHeader","Information","getActiveActivitiesForNotification","getUpcomingActivities","Error","def","loadMorePromise","activityModal","ready","off","prop","annualCycleAdmin","remainingWidth","widthOfToggleSidebarButton","newWindow","helpURL","bindTo","combo","keyup","ctrlKey","altKey","includeSubfolders","folderClass","inputClass","chooseAmongFavorites","getFolderTree","chooseFavorite","getFolderFavorites","MyReadingReceipt","openTree","originalFolderTree","originalFavorites","itemAll","All","GetFavoritesRequest","tempData","NewsCategoryController","loadAllNews","NewsCategoryShownIn","shownInHandbookFrontend","news","totalResults","currentPage","loadNews","isPreview","toggleLoadAllNews","itemPerPage","NewsPageSize","First","last","Last","Published","newsSetting","newPage","newsDetailsController","HasAttachment","editNews","EditNews","GetFileRequest","linkToEditNewsView","lastChar","urlNews","NewsListController","getHeightGrid","isMobile","$gridTop","parseFloat","$1","getInternetExplorerVersion","ingress","Ingress","reportsMyReadingListViewController","screenHeight","reportPage","reportsViewController","startpageController","getReportType","arrSearchFilter","values","handleDevicesSize","newsLength","newsItemClass","leftMenuGroups","rightMenuGroups","more","More","showmore","newsHeader","NewsHeader","Run","yourReports","YourReports","searchDocumentTitleOrId","SearchDocumentTitleOrId","selectTheTypeOfSearch","SelectTheTypeOfSearch","myReports","MyReports","myPage","MyPage","reportTypes","gotoUrl","hostname","collapseHandle","goToNewsDetails","runReport","saveReport","enableHomepageSearch","EnableHomepageSearch","dashboardIframeUrl","isDataAvailable","StartpageWithNewsAndImage","GetMenuGroups","menus","rootMenuId","MenuId","parentItemId","hasGroupItems","k","getGroupsPerCoumn","getGroupItems","padding","imageCss","buildGroupsStyle","CollapseMenuGroups","reportType","ReadingReceiptsPerson","ReadingReceiptsDocument","ReadingReceiptsFolder","NumberOfDocumentsPerFolder","FolderStatistics","NewRevisedDocuments","WritePermissionsPerson","ApprovePermissionsPerson","WritePermissions","ApprovePermissions","ReadingListsPerson","ReadingListDepartment","ReadingListClosestLeader","ReadingListRole","MostReadDocumentsTotal","MostReadDocumentsVersion","StatusDocumentsPerFolder","LeastReadDocumentsTotal","LeastReadDocumentsVersion","getReportTypeText","saveSearches","categoryNumberPerStatus","metatagCategoryReport","subCategoryCategoryReport","categoryNumberPerHandlingUnit","categoryYearAndMonthNumber","categoryNumberPerMonthPerYear","categorySeverityNumbers","category","kpi","actionsNumberAndType","actionsNumberPerMonthPerYear","statistics","costCategory","costTypeSumPerMonthPerYear","categoryCustomFieldReport","categoryEquipmentReport","getReportTypeTextForDeviation","StartpageWithProcessAndWidgets","tabController","setFocusTextSearchForTabActive","documentContentHeight","documentFieldListHeight","getConfirmInformationBaseOnView","feedbackText","initializeTabs","isInitReadingConfirmationTab","_tabStateType","currentDate","checkFolder","updateSortOrderProcessItems","enableProcessModule","originalAreas","originalProcesses","reArrangeAndGetChangedSortOrderItems","isFolder","confirmAndDeleteItem","object","originalDataSource","isUpdateFavoriteTree","ConfirmationView","isConfirm","removeItemFromList","removeOldActiveDragItem","oldActive","removeBorderAndUpdateOrder","isTop","isBottom","moveObjectIndex","runOnce","getSourceByItemType","getSourceProcessAreasByItemType","changedItems","forcedAndDepartmentFolders","originalFoldersData","originalDocumentsData","emailSubsribed","currentTab","isChanged","isSortByAlphabet","showSort","GetFavoritesItemsExcludeForcedFavoriteRequest","decorateNodes","initDataSource","loadEmailSubscribedFolder","isProcessArea","isRecursiveFolder","subscriptionName","FolderAndSubFolders","FolderOnly","GetUserEmailSubscriptionsForFoldersAndDocuments","removeAreaFromFavorites","area","RemoveAreaFromFavoritesRequest","removeProcessFromFavorites","processId","removeFolderFromFavorite","removeDocumentFromFavorite","removeEmailSubscribed","RemoveProcessEmailSubscription","ProcessId","RemoveAreaAndItsChildrenFromEmailSubscription","RemoveOnlyAreaFromEmailSubscription","onDragSuccess","onDropComplete","isProcessAreaItem","onDropCompleteForLastItem","onDropCompleteForTopItem","setCurrentTab","addCurrentActiveClass","sortAlphabet","item1","item2","setOrderByAlphabet","isOriginalSource","getSourceByCurrentTab","saveAndClose","updatedItems","UpdateFavoritesSortOrder","confirmMessage","DeleteConfirmMessage","printController","printingDocumentModule","$compile","documentViewModel","page","setTitle","firstLoaded","onTabSelected","tabsSetting","useAndKeyValues","treeViewController","showTreeFavorites","showTreeMyMostRead","showTreeMyLastVisited","showTreeProcesses","documentList","favoritesList","myMostReadList","myLastVisitedList","previousRequest","initOpeningDocumentGroupAsDefault","killProcessAreaRouteChanged","makeRecursiveParentRequest","showHideMenuLeft","_parents","getFavoritesData","groupToOpenAsDefault","GroupToOpenAsDefault","loadWhenSelectMenu","openDefaultGroup","URLSearchParams","navigateToTreeMenuItem","clearSelect","IsAuthenticated","IsAnonymous","getItemById","TreeFlag","IsFolderNode","treeId","virtualHandbookId","menuType","DocumentRootItemToExpand","documentRootItemToExpandId","GetMostViewedDocumentsRequest","GetRecentDocumentsRequest","ManageFavoritesView","isSelectedTree","RecentItemsCount","updateLastVisitedList","refreshFavorites","refreshDocument","goToProcessAreasRootView"],"mappings":"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","file":"module.js","sourcesContent":["var controllers = {\r\n chapterController: 'chapterController',\r\n searchController: 'searchController',\r\n homeController: 'homeController',\r\n manageFavoritesController: 'ManageFavoritesController',\r\n confirmController: 'ConfirmController',\r\n printingController: 'printingController',\r\n feedbackController: 'feedbackController',\r\n advanceSearchController: 'advanceSearchController',\r\n myReadingReceiptsController: 'MyReadingReceiptsController',\r\n personChapterConfirmsSumsListController: 'PersonChapterConfirmsSumsListController',\r\n metadataController: 'metadataController'\r\n};\r\n\r\nvar modules = {\r\n chapterModule: 'chapterModule',\r\n homeModule: 'homeModule',\r\n printingModule: 'printingModule'\r\n};\r\n\r\nvar commonGridColumns = {\r\n name: 'name',\r\n id: 'id',\r\n readingList: 'readingList',\r\n isConfirmed: 'isConfirmed',\r\n location: 'location',\r\n version: 'version',\r\n folderName: 'folderName',\r\n approvedDate: 'approvedDate',\r\n approvedBy: 'approvedBy',\r\n attachment: 'attachment',\r\n template: 'template',\r\n responsible: 'responsible',\r\n documentId: 'documentId',\r\n rowInfo: 'rowInfo',\r\n internet: 'internet',\r\n readingReceipt: 'readingReceipt',\r\n readingReceiptDtmConfirmed: 'readingReceiptDtmConfirmed'\r\n};\r\n\r\nvar broadcastType = {\r\n favoriteTarget: 'favoriteTarget',\r\n documentOpenedTarget: 'documentOpenedTarget',\r\n gridSettingTarget: 'gridSetting',\r\n scrollTarget: 'scrolling',\r\n toggleSidebar: 'toggleSidebar',\r\n collapseExpandSidebar: 'collapseExpandSidebar',\r\n onTreeNavigation: 'onTreeNavigation',\r\n resetQuickSearchKeyword: 'resetQuickSearchKeyword',\r\n onOpeningSidebarMenu: 'onOpeningSidebarMenu',\r\n printItemTarget: 'printItemTarget',\r\n toggleFavoriteTarget: 'toggleFavoriteTarget',\r\n toggleEmailSubscriptionTarget: 'toggleEmailSubscriptionTarget',\r\n toggleOnlyFolderEmailSubscriptionTarget: 'toggleOnlyFolderEmailSubscriptionTarget',\r\n toggleGridSettingTarget: 'toggleGridSettingTarget',\r\n toggleReadingReceiptTarget: 'toggleReadingReceiptTarget',\r\n toggleDocumentFeedbackTarget: 'toggleDocumentFeedbackTarget',\r\n linkToDocumentManagement: 'linkToDocumentManagement',\r\n gridDataChanges: 'gridDataChanges',\r\n\tloadContentFieldDone: 'loadContentFieldDone',\r\n favoriteUpdate: 'favoriteUpdate',\r\n processAreaRouteChanged: 'processAreaRouteChanged',\r\n updateFavoritesProcesses: 'updateFavoritesProcesses',\r\n hideSidebarInMobileWhenOpenDocument: 'hideSidebarInMobileWhenOpenDocument'\r\n};\r\n\r\nvar requestType = {\r\n addRequest: 'add',\r\n deleteRequest: 'delete',\r\n removeRequest: 'remove'\r\n};\r\n\r\nvar tabStateType = {\r\n documentTabState: 'DocumentTabState',\r\n chapterTabState: 'ChapterTabState',\r\n homeTabState: 'HomeTabState',\r\n searchTabState: 'SearchTabState'\r\n};\r\n\r\nvar documentTab = {\r\n readingReceipt: 'document-reading',\r\n};\r\n\r\nvar prefix = {\r\n contentAnchorPrefix: '#p',\r\n groupDocumentAnchorPrefix: '#groupDocumentHeader-',\r\n hashbangPrefix: '#',\r\n baseUrlPrefix: '#!'\r\n};\r\n\r\nvar specialCharacter = {\r\n comma: ',',\r\n space: ' ',\r\n openParenthesis: '(',\r\n closeParenthesis: ')',\r\n colon: ':',\r\n questionMark: '?'\r\n};\r\n\r\nvar cssClass = {\r\n active: 'active',\r\n buttonFavorite: 'button-favorite',\r\n buttonFavoriteMobile: 'button-favorite-mobile',\r\n buttonFavorited: 'button-favorited',\r\n buttonFavoritedMobile: 'button-favorited-mobile',\r\n disabled: 'disabled',\r\n selected: 'selected',\r\n currentDrag: 'current-drag',\r\n dragEnter: 'drag-enter'\r\n};\r\n\r\nvar documentTabs = {\r\n about: 'document-about',\r\n content: 'document-content',\r\n readingReceipt: 'document-reading',\r\n feedback: 'document-feedback',\r\n search: 'document-searchincontent',\r\n hearing: 'document-hearing'\r\n};\r\n\r\nvar folderTabs = {\r\n about: 'chapter-about',\r\n content: 'chapter-content'\r\n};\r\n\r\nvar manageFavoriteTabs = {\r\n folder: 'folder',\r\n document: 'document',\r\n emailSubscribed: 'emailSubscribed',\r\n processArea: 'processArea',\r\n process: 'process'\r\n};\r\n\r\nvar tabContents = {\r\n about: 'about-tab',\r\n content: 'content-tab',\r\n readingReceipt: 'reading-receipt-tab',\r\n feedback: 'feedback-tab',\r\n search: 'search-in-content-tab',\r\n hearing: 'hearing-tab'\r\n};\r\n\r\nvar documentContent = {\r\n topMenu: 'document-top-menu-identifier',\r\n content: 'document-content-identifier'\r\n};\r\n\r\nvar homeContent = {\r\n whatNew: 'whatNewContainer',\r\n updatedFavorite: 'updatedFavoriteContainer',\r\n startPage: 'start-page',\r\n updatedFavoritePage: 'updatedFavoriteContainerPage',\r\n whatNewPage: 'whatNewContainerPage',\r\n readingListTab1: 'reading-list-tab1',\r\n readingListTab2: 'reading-list-tab2',\r\n readingListTab3: 'reading-list-tab3'\r\n};\r\n\r\nvar homeTabs = {\r\n whatNew: 'what-new-tab',\r\n updatedFavorite: 'favorite-tab',\r\n startPage: 'master-tab',\r\n readingListTab: 'reading-list-tab',\r\n hearingTab: 'hearings-tab'\r\n};\r\n\r\nvar folderContent = {\r\n content: 'folder-content-identifier',\r\n gridDocuments: 'gridController',\r\n showAllDocuments: 'showAllDocuments',\r\n topMenuLeft: 'topmenuleftid',\r\n topMenuRight : 'topmenurightid',\r\n gridDocumentClass: 'table.gridStyle.margin-bottom-0',\r\n scrollableTable: 'scrollableTable',\r\n gridDocumentsBody: '#gridController > tbody',\r\n groupMetatagView: 'group-metatag-view',\r\n groupMetatagList: 'group-meta-tag-list'\r\n};\r\n\r\nvar collapseExpandClass = {\r\n collapse: 'expandcollapse-heading-collapsed',\r\n expand: 'expandcollapse-heading-expanded'\r\n};\r\n\r\nvar collapseExpandEvent = {\r\n shown: 'shown.bs.collapse',\r\n hidden: 'hidden.bs.collapse'\r\n};\r\n\r\nvar elementClass = {\r\n currentDrag: '.current-drag',\r\n tabTable: '.tabbable',\r\n frontPageCustomArea: '.frontpage-customer-area'\r\n};\r\n\r\nvar elementId = {\r\n sidebarWrapper: '#sidebar-wrapper',\r\n reSizeBar: '#resizeBar'\r\n};\r\n\r\nvar avoidCustomPageClass = 'avoid-custom-page';\r\nvar showAllDocumentsAdjustmentClass = 'show-all-documents-adjustment';\r\n\r\nvar constantValues = {\r\n topMenuHeight: 128,\r\n folderTabContentMinTop: 75,\r\n documentTabContentMinTop: 65\r\n};\r\n\r\nvar mobileConstantValues = {\r\n topMenuHeight: 74,\r\n folderTabContentMinTop: 60,\r\n documentTabContentMinTop: 50\r\n};\r\n\r\nvar folderInformationKeyStorage = 'FolderInformation';\r\nvar searchContainerId = 'searchContainer';\r\nvar localStorageKeys = {\r\n sidebarNavigateKey: 'SidebarNavigation',\r\n readDocuments: 'ReadDocuments',\r\n stateOfSticky: 'StateOfSticky'\r\n};\r\n\r\nvar treeNodeTypes = {\r\n folder: 0,\r\n document: 1\r\n};\r\n\r\nvar urlOpenHearingFeedback = '/document/{0}/hearing';\r\nvar urlOpenProcessHearing = 'process-fe/process-detail/viewsendtohearing/{0}/{1}'\r\nvar hasShownPublicAlertKeyStorage = 'HasShownPublicAlert';\r\n\r\nvar ELEMENT_SELECTORS = {\r\n FolderSelectionContainerSelector: '#folderSelection',\r\n FolderSelectionInputSelector: '#folderSelectionInput',\r\n FolderSelectionClearSelector: '#folderSelectionClear',\r\n FolderContainerClassSelector: 'folderSelection',\r\n DepartmentSelectionContainerSelector: '#departmentSelection',\r\n DepartmentSelectionInputSelector: '#departmentSelectionInput',\r\n DepartmentSelectionClearSelector: '#departmentSelectionClear',\r\n DepartmentContainerClassSelector: 'departmentSelection',\r\n RoleMemberSelectionContainerSelector: '#roleMemberSelection',\r\n RoleMemberSelectionInputSelector: '#roleMemberSelectionInput',\r\n RoleMemberSelectionClearSelector: '#roleMemberSelectionClear',\r\n RoleMemberContainerClassSelector: 'roleMemberSelection',\r\n NewsCategorySelectionContainerSelector: '#newsCategorySelection',\r\n NewsCategorySelectionInputSelector: '#newsCategorySelectionInput',\r\n NewsCategorySelectionClearSelector: '#newsCategorySelectionClear',\r\n NewsCategoryContainerClassSelector: 'newsCategorySelection',\r\n CountrySelectionContainerSelector: '#countrySelection',\r\n CountrySelectionInputSelector: '#countrySelectionInput',\r\n CountrySelectionClearSelector: '#countrySelectionClear',\r\n CountryContainerClassSelector: 'countrySelection',\r\n PositionSelectionContainerSelector: '#positionSelection',\r\n PositionSelectionInputSelector: '#positionSelectionInput',\r\n PositionSelectionClearSelector: '#positionSelectionClear',\r\n PositionContainerClassSelector: 'positionSelection',\r\n RoleSelectionContainerSelector: '#roleSelection',\r\n RoleSelectionInputSelector: '#roleSelectionInput',\r\n RoleSelectionClearSelector: '#roleSelectionClear',\r\n RoleContainerClassSelector: 'roleSelection',\r\n SearchRelatedDocumentContainerSelector: '#searchRelatedDocument',\r\n SearchRelatedDocumentInputSelector: '#searchRelatedDocumentInput',\r\n SearchRelatedDocumentClearSelector: '#searchRelatedDocumentClear',\r\n SearchRelatedDocumentContainerClassSelector: 'searchRelatedDocument'\r\n};\r\n\r\nvar KEY_CODES = {\r\n ENTER: 13,\r\n ESCAPE: 27,\r\n UP_ARROW: 38,\r\n DOWN_ARROW: 40\r\n};\r\n\r\n/**\r\n * The definition of data type of columns in grid.\r\n */\r\nvar COLUMN_DATA_TYPES = {\r\n STRING_TEXT: 1,\r\n NUMBER: 2,\r\n STRING_DATE: 3,\r\n STRING_DATE_TIME: 4,\r\n BOOLEAN: 5\r\n};\r\n\r\nvar SEARCH_LOG_LEVEL = {\r\n LOG_DOCUMENT_SELECTED: 0,\r\n LOG_DOCUMENT_SELECTED_AND_0_HIT: 1,\r\n LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION: 2\r\n}\r\n\r\nvar DOCUMENT_EXTENDABLE_TYPES = {\r\n NONE: 0,\r\n PARENT: 1,\r\n CHILD: 2\r\n};\r\n\r\nvar searchFilterTypes = {\r\n\thandbookBackendSearch: 1,\r\n\thandbookReports: 2,\r\n\tdeviationBackendSearch: 3,\r\n\tdeviationReports: 4,\r\n\triskBackendSearch: 5,\r\n\triskReports: 6,\r\n\thearingMembers: 7,\r\n\tanuualCycleReaders: 8,\r\n\treadingList: 9,\r\n\triskDynamicSearch: 10\r\n};\r\n\r\nvar DEVIATION_REPORTS_TYPES = {\r\n CATEGORY_NUMBER: 1,\r\n CATEGORY_NUMBER_PER_HANDLING_UNIT: 2,\r\n CATEGORY_YEAR_AND_MONTH_NUMBER: 3,\r\n CATEGORY_SEVERITY_NUMBER: 4,\r\n CATEGORY_KPI: 5,\r\n ACTIONS_NUMBER_AND_TYPE: 6,\r\n ACTIONS_NUMBER_PER_MONTH_PER_YEAR: 7,\r\n CATEGORY_NUMBER_PER_MONTH_PER_YEAR: 8,\r\n STATISTICS: 10,\r\n CATEGORY_COST_PER_YEAR: 11,\r\n CATEGORY_COST_PER_MONTH_PER_YEAR: 12,\r\n CATEGORY_NUMBER_PER_METATAG: 13,\r\n CATEGORY_NUMBER_PER_SUB_CATEGORY: 14,\r\n CATEGORY_CUSTOM_FIELD: 15,\r\n CATEGORY_EQUIPMENT: 16\r\n};\r\n\r\nvar GROUP_TO_OPEN_AS_DEFAULTS = {\r\n NONE: 0,\r\n DOCUMENT: 1,\r\n PROCESS: 2\r\n};\r\n\r\nvar NONE_DOCUMENT_ROOT_ITEM_TO_EXPAND = 0;\r\n\r\nvar CkVersion = {\r\n CK4: 0,\r\n CK5: 1\r\n};\r\n\r\nvar urlOpenInterconnectedHearing = 'process-fe/process-interconnected/viewsendtohearing/{0}/{1}';\r\n","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tfunction getCookie(cname) {\r\n\t\tvar name = cname + \"=\";\r\n\t\tvar decodedCookie = decodeURIComponent(document.cookie);\r\n\t\tvar ca = decodedCookie.split(';');\r\n\t\tfor (var i = 0; i < ca.length; i++) {\r\n\t\t\tvar c = ca[i];\r\n\t\t\twhile (c.charAt(0) == ' ') {\r\n\t\t\t\tc = c.substring(1);\r\n\t\t\t}\r\n\t\t\tif (c.indexOf(name) == 0) {\r\n\t\t\t\treturn c.substring(name.length, c.length);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn \"\";\r\n\t}\r\n\r\n var configModule = angular.module('configModule', ['customeDirectivesModule']);\r\n //config for datepicker\r\n configModule.config(['uibDatepickerPopupConfig', function (uibDatepickerPopupConfig) {\r\n var dateFormat = window.globalDateFormat && window.globalDateFormat.dateFormat ? window.globalDateFormat.dateFormat : \"dd.MM.yyyy\";\r\n var timeFormat = window.globalDateFormat && window.globalDateFormat.timeFormat ? window.globalDateFormat.timeFormat : \"h:mm tt\";\r\n uibDatepickerPopupConfig.datepickerPopup = dateFormat;\r\n //uibDatepickerConfig.config.dateFormat = dateFormat;\r\n //uibDatepickerConfig.config.timeFormat = timeFormat\r\n }]);\r\n\tconfigModule.factory('loginRecoverer', ['$q', '$templateCache', function ($q, $templateCache) {\r\n var loginRecoverer = {\r\n responseError: function (response) {\r\n if (response.status == 401 && !HandbookConfiguration.AnonymousMode == \"True\") {\r\n window.location = \"/Account/Login\";\r\n }\r\n return $q.reject(response);\r\n },\r\n\t\t\trequest: function (request) {\r\n\t\t\t\tvar language = user.language ? user.language : getCookie(LANGUAGECULTURE);\r\n\t\t\t\tlanguage = !language ? 'no' : language;\r\n if ($templateCache.get(request.url) === undefined) { // cache miss\r\n var linkedElement = '?';\r\n // Item is not in $templateCache so add our query string\r\n if (request && request.url && request.url.includes('?')) {\r\n linkedElement = '&';\r\n }\r\n\t\t\t\t\trequest.url = request.url + linkedElement + 'v=' + HandbookConfiguration.ApplicationVersion + language;\r\n }\r\n return request;\r\n }\r\n };\r\n return loginRecoverer;\r\n }]);\r\n\r\n configModule.config(['$httpProvider', function ($httpProvider) {\r\n $httpProvider.interceptors.push('loginRecoverer');\r\n }]);\r\n\r\n configModule.config(['$uibTooltipProvider', function ($tooltipProvider) {\r\n $tooltipProvider.setTriggers({\r\n 'mouseenter': 'mouseleave',\r\n 'click': 'click',\r\n 'focus': 'blur',\r\n 'never': 'mouseleave' // <- This ensures the tooltip will go away on mouseleave\r\n });\r\n }]);\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp', ['angularTreeview', 'processModule', 'dashboardModule',\r\n 'ui.bootstrap', 'ui.router', 'ngGrid', 'ui.tree',\r\n 'placeholderShim', 'cfp.hotkeys', 'ngClipboard', 'dibari.angular-ellipsis', 'modelOptions', 'ngSanitize',\r\n 'accountModule', 'customeDirectivesModule', 'PubSubModule', 'homeModule', 'configModule',\r\n 'documentFieldsModule', 'tabModule', 'managementModule', 'newsListModule', 'feedbackModule',\r\n 'advanceSearchModule', 'metadataSearchModule', 'smart-table', 'infinite-scroll', 'hearingFeedbackModule',\r\n 'NewsCategoryModule', 'documentHearingFieldsModule', 'compareWithEarlierVersionModule', 'rwdImageMaps',\r\n 'vs-repeat', 'documentCompareWithEarlierVersionModule', 'ui.grid', 'ui.grid.expandable', 'ui.grid.autoResize',\r\n 'ui.grid.cellNav', 'highcharts-ng', 'ui.bootstrap.typeahead', 'checklistModule', 'annualCycleModule', 'ngCookies'\r\n ]).provider('workersPool', function workersPoolProvider() {\r\n var self = this;\r\n window.workersPool = {};\r\n window.workersPool['document-worker.js'] = new Worker('/workers/document-worker.js');\r\n window.workersPool['meta-data-document-worker.js'] = new Worker('/workers/meta-data-document-worker.js');\r\n this.$get = [function workersPoolFactory() {\r\n return window.workersPool;\r\n }];\r\n }).run(['$rootScope', '$location', '$state', '$http', function ($rootScope, $location, $state, $http) {\r\n\r\n if (window.customResources) {\r\n //console.log(JSON.stringify(window.resources).length);\r\n $.extend(true, window.resources, window.customResources);\r\n //console.log(JSON.stringify(window.resources).length);\r\n }\r\n\r\n $rootScope.resources = window.resources;\r\n }]);\r\n\r\n angular.module('printingApp', ['printingModule']);\r\n})();","(function () {\r\n angular.module(modules.homeModule, ['ui.bootstrap', 'ui.router']);\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp')\r\n .config(['$stateProvider', '$urlRouterProvider', '$locationProvider', routesConfig]);\r\n\r\n function routesConfig($stateProvider, $urlRouterProvider, $locationProvider) {\r\n $locationProvider.hashPrefix('!');\r\n $locationProvider.html5Mode(true);\r\n var internalPaths = window.paths;\r\n\r\n\t\tvar templateUrlFieldView = internalPaths.DocumentFields;\r\n\t\tvar controllerFieldView = 'DocumentFieldsController';\r\n\r\n\t\tif (parseInt(HandbookConfiguration.DocumentViewOption) == 2) {\r\n\t\t\ttemplateUrlFieldView = '/Document/fieldsContentWholeDocument';\r\n\t\t\tcontrollerFieldView = 'FieldsContentWholeDocumentController';\r\n\t\t}\r\n\r\n // Now set up the states\r\n $stateProvider\r\n .state('tab', {\r\n url: '/tab',\r\n templateUrl: internalPaths.FrontpageHome,\r\n controller: 'homeController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n })\r\n .state(handbookActions.DocumentAction, {\r\n url: handbookActionParameters.DocumentActionParameters,\r\n templateUrl: internalPaths.DocumentHome,\r\n controller: 'DocumentController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state(handbookActions.DocumentFromFieldViewAction, {\r\n url: handbookActionParameters.DocumentFromFieldViewActionParameters,\r\n templateUrl: internalPaths.DocumentHome,\r\n controller: 'DocumentController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state(handbookActions.HearingAction, {\r\n url: '/document/:documentId/hearing',\r\n templateUrl: '/Document/HearingFeedback',\r\n controller: 'HearingFeedbackController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state('hearingFieldsContent', {\r\n url: '/document/:documentId/hearingfields/:fieldId',\r\n templateUrl: '/Document/HearingFieldsContent',\r\n controller: 'DocumentHearingFieldsController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state('hearingCompareWithEarlierVersion', {\r\n url: '/documenthearing/:documentId/compareWithEarlierVersion',\r\n templateUrl: '/Document/CompareWithEarlierVersion',\r\n controller: 'CompareWithEarlierVersionController',\r\n\t\t\t\tcontrollerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n\t\t\t})\r\n\t\t\t.state('compareWithEarlierVersion', {\r\n\t\t\t\turl: '/document/:documentId/compareWithEarlierVersion',\r\n\t\t\t\ttemplateUrl: '/Document/DocumentCompareWithEarlierVersion',\r\n\t\t\t\tcontroller: 'DocumentCompareWithEarlierVersionController',\r\n\t\t\t\tcontrollerAs: 'vm',\r\n\t\t\t\tdata: {\r\n\t\t\t\t\ttitle: globalResources.Document,\r\n\t\t\t\t\tdescription: globalResources.DocumentMetaDescription\r\n\t\t\t\t}\r\n\t\t\t})\r\n .state(handbookActions.FolderAction, {\r\n url: handbookActionParameters.FolderActionParameters,\r\n templateUrl: internalPaths.ChapterHome,\r\n controller: 'chapterController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Folder,\r\n description: globalResources.FolderMetaDescription\r\n }\r\n })\r\n .state(handbookActions.HomeAction, {\r\n url: handbookActionParameters.HomeActionParameters,\r\n templateUrl: internalPaths.FrontpageHome,\r\n controller: 'homeController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n })\r\n .state(handbookActions.SearchResultAction, {\r\n url: handbookActionParameters.SearchResultActionParameters,\r\n templateUrl: internalPaths.ChapterSearch,\r\n controller: 'searchController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Search,\r\n description: globalResources.SearchMetaDescription\r\n }\r\n })\r\n .state(handbookActions.DocumentFieldsAction, {\r\n url: '/document/:documentId/fields/:fieldId',\r\n\t\t\t\ttemplateUrl: templateUrlFieldView,\r\n\t\t\t\tcontroller: controllerFieldView,\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state(handbookActions.StartpageNews, {\r\n url: handbookActionParameters.StartpageNewsParameters,\r\n templateUrl: internalPaths.NewsDetais,\r\n controller: 'NewsDetailsController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.UnsupportBrowser, {\r\n url: '/unsupportedBrowser',\r\n templateUrl: '/app/components/home/templates/unsupportedBrowser.html',\r\n controller: 'homeController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.MyReadingReceiptsReport, {\r\n url: \"/myReadingReceipts/params?folderId&recursive\",\r\n templateUrl: '/app/components/home/templates/reportsView.html',\r\n controller: 'reportsViewController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.MyReadingListsReport, {\r\n url: \"/myReadingLists\",\r\n templateUrl: '/app/components/home/templates/reportsMyReadingListView.html',\r\n controller: 'reportsMyReadingListViewController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.NewsListAction, {\r\n url: '/newsList/:pageIndex',\r\n params: {\r\n pageIndex: 1\r\n },\r\n templateUrl: '/app/components/home/view/newsList.html',\r\n controller: 'NewsListController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.NewsCategoryAction, {\r\n url: '/newscategory/:categoryId',\r\n templateUrl: '/app/components/home/view/newsCategory.html',\r\n controller: 'NewsCategoryController',\r\n controllerAs: 'vm',\r\n params: {\r\n categoryId: '',\r\n pageIndex: '1'\r\n },\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state('embedDocument', {\r\n url: '/embed/document/:documentId',\r\n templateUrl: internalPaths.DocumentHome,\r\n controller: 'DocumentController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: '',\r\n description: ''\r\n }\r\n }).state('embedDocumentField', {\r\n url: '/embed/document/:documentId/field/:fieldId/:type',\r\n templateUrl: internalPaths.DocumentFields,\r\n controller: 'DocumentFieldsController',\r\n controllerAs: 'vm',\r\n params: {\r\n type: 0\r\n },\r\n data: {\r\n title: '',\r\n description: ''\r\n }\r\n }).state('embedDocumentField1', {\r\n url: '/embed/document/:documentId/field/:fieldId',\r\n templateUrl: internalPaths.DocumentFields,\r\n controller: 'DocumentFieldsController',\r\n controllerAs: 'vm',\r\n params: {\r\n type: 0\r\n },\r\n data: {\r\n title: '',\r\n description: ''\r\n }\r\n }).state('annualCycleDetail', {\r\n url: '/annualCycle/:id',\r\n templateUrl: '/app/components/annualCycle/annualCycleDetail.html',\r\n controller: 'annualCycleDetailController',\r\n controllerAs: 'vm',\r\n params: {\r\n id: ''\r\n },\r\n data: {\r\n title: globalResources.AnnualCycle,\r\n description: ''\r\n }\r\n })\r\n\r\n $urlRouterProvider.otherwise(handbookActionParameters.HomeActionParameters);\r\n };\r\n\r\n angular.module('handbookApp').run(['$rootScope', '$location', '$timeout', 'anchorService', 'documentService', 'broadcastService',\r\n function ($rootScope, $location, $timeout, anchorService, documentService, broadcastService) {\r\n $rootScope.$on('$locationChangeSuccess', function () {\r\n $rootScope.actualLocation = $location.absUrl();\r\n\t\t\t});\r\n\t\t\t$rootScope.$on('$locationChangeStart', function (event, next, current) {\r\n\t\t\t\tif (next && next.indexOf('fields') > 0) {\r\n\t\t\t\t\t$location.$$absUrl = decodeURIComponent($location.$$absUrl);\r\n\t\t\t\t\tvar indexHash = $location.$$absUrl.indexOf('#');\r\n\t\t\t\t\tif (indexHash > 0 && !$location.$$hash) {\r\n\t\t\t\t\t\tvar length = $location.$$absUrl.length - (indexHash + 1);\r\n\t\t\t\t\t\t$location.$$hash = $location.$$absUrl.substr(indexHash + 1, length);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$location.$$url = decodeURIComponent($location.$$url);\r\n\t\t\t\t}\r\n\t\t\t});\r\n $rootScope.$watch(function () { return $location.absUrl() }, function (newLocation, oldLocation) {\r\n var isBackButton = false;\r\n if ($rootScope.actualLocation === newLocation) {\r\n isBackButton = true;\r\n }\r\n if ($location.hash() == null || $location.hash() == '') {\r\n $timeout(function () {\r\n var documentContent = angular.element('#document-content-identifier'),\r\n folderContent = angular.element('#folder-content-identifier'),\r\n newsContent = angular.element('#wrapper');\r\n var anchorOject = anchorService.getAnchorObject();\r\n var position = (anchorOject != null && isBackButton) ? anchorOject.position : 0;\r\n if (documentContent && documentContent.length > 0) {\r\n documentContent[0].scrollTop = position;\r\n } else if (folderContent && folderContent.length > 0) {\r\n folderContent[0].scrollTop = position;\r\n } else if (newsContent && newsContent.length > 0) {\r\n newsContent[0].scrollTop = position;\r\n }\r\n anchorService.setAnchorObject(0);\r\n }, 100);\r\n }\r\n if (isBackButton) {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showNormal();\r\n broadcastService(broadcastType.toggleDocumentFullscreen, {});\r\n }\r\n }\r\n if (!newLocation.includes(oldLocation) && !oldLocation.includes(newLocation)) {\r\n angular.element('#treeDocuments span').removeClass('selected');\r\n }\r\n });\r\n\r\n $rootScope.$on('$stateChangeSuccess', function (event, toState) {\r\n\r\n // Sets the layout name, which can be used to display different layouts (header, footer etc.)\r\n // based on which page the user is located\r\n $rootScope.layout = toState.layout;\r\n $rootScope.title = globalResources.Handbook + \" - \" + toState.data.title;\r\n $rootScope.metaDescription = toState.data.description;\r\n });\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule', ['servicesModule', 'ngDialog'])\r\n .directive('ngDebounce', ['$timeout', function ($timeout) {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n scope: {\r\n delay: '=ngDebounce'\r\n },\r\n priority: 99,\r\n link: function (scope, elm, attr, ngModelCtrl) {\r\n if (attr.type === 'radio' || attr.type === 'checkbox') return;\r\n\r\n elm.unbind('input');\r\n\r\n var debounce;\r\n elm.bind('input', function () {\r\n $timeout.cancel(debounce);\r\n debounce = $timeout(function () {\r\n ngModelCtrl.$setViewValue(elm.val());\r\n }, scope.delay);\r\n });\r\n elm.bind('blur', function () {\r\n scope.$apply(function () {\r\n ngModelCtrl.$setViewValue(elm.val());\r\n });\r\n });\r\n }\r\n\r\n }\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var heightContentDocument = 0;\r\n\r\n angular.module('servicesModule', [])\r\n .factory('broadcastService', broadcastService)\r\n .service('documentService', documentService)\r\n .service('favoriteService', favoriteService)\r\n .service('localStorageService', localStorageService)\r\n .service('tabStateService', tabStateService)\r\n .service('browserService', browserService)\r\n .service('anchorService', anchorService)\r\n .service('feedBackService', feedBackService)\r\n .service('readingConfirmationService', readingConfirmationService)\r\n .service('debounceService', debounceService)\r\n .service('documentTemplateService', documentTemplateService)\r\n .service('resizeService', resizeService)\r\n .service('stringValidationService', stringValidationService)\r\n .service('newsService', newsService)\r\n .service('folderService', folderService)\r\n .service('treeNavigationService', treeNavigationService)\r\n .service('routeService', routeService)\r\n .service('metaDataService', metaDataService)\r\n .service('shortcutKeysService', shortcutKeysService)\r\n .service('helpPagesService', helpPagesService)\r\n .service('configService', configService)\r\n .service('commonService', commonService);\r\n\r\n\r\n //broadcastService\r\n broadcastService.$inject = ['$rootScope'];\r\n function broadcastService($rootScope) {\r\n return function (broadcastType, target, gridSettingKey) {\r\n $rootScope.$broadcast(broadcastType, target, gridSettingKey);\r\n };\r\n };\r\n\r\n //documentService\r\n documentService.$inject = ['$location', '$state', '$http', 'workersPool', '$q', 'configService'];\r\n function documentService($location, $state, $http, workersPool, $q, configService) {\r\n var documents = {};\r\n var isIE = detectIE();\r\n var service = {\r\n setDocuments: setDocuments,\r\n getDocuments: getDocuments,\r\n showFullscreen: showFullscreen,\r\n showNormal: showNormal,\r\n stickyTitle: stickyTitle,\r\n goToDocument: goToDocument,\r\n getDocumentsViaWorker: getDocumentsViaWorker,\r\n clearDocumentsInWorker: clearDocumentsInWorker,\r\n getMetaDocumentsViaWorker: getMetaDocumentsViaWorker,\r\n clearMetaDocumentsInWorker: clearMetaDocumentsInWorker,\r\n getAgreeFilesForDocuments: getAgreeFilesForDocuments,\r\n getParentIdExtendDocument: getParentIdExtendDocument,\r\n checkParentExtensionHasToCompare: checkParentExtensionHasToCompare,\r\n checkDocumentHaveToCompareById: checkDocumentHaveToCompareById,\r\n changeUrlBackendToFrontend: changeUrlBackendToFrontend,\r\n getHearingTooltip: getHearingTooltip\r\n };\r\n\r\n return service;\r\n\r\n function setDocuments(documentObject) {\r\n documents = documentObject;\r\n };\r\n\r\n function getDocuments() {\r\n return documents;\r\n };\r\n\r\n function showFullscreen() {\r\n angular.element('#sidebar-wrapper').addClass('hidesidebar');\r\n angular.element('#wrapper').addClass('hidesidebar');\r\n\r\n angular.element('#resizeBar').addClass('hidesidebar');\r\n\r\n angular.element('#tab-document-id').hide();\r\n angular.element('#document-top-menu-identifier').hide();\r\n angular.element('#handbook-nav').hide();\r\n\r\n angular.element('.tab-content-header').addClass('hidesidebar');\r\n //angular.element('body').css({ 'padding-top': '0px' });\r\n angular.element('.main-container_header').hide();\r\n\r\n var mainBody = angular.element(\".main-container_body\").height();\r\n var docContent = angular.element(\"#tab-content-document\").height();\r\n\r\n\r\n angular.element('#' + documentContent.content + '').css({\r\n height: (mainBody - docContent - 20)\r\n });\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (mainBody - docContent - 250)\r\n })\r\n\r\n angular.element('#document-content-identifier').addClass('fullScreen-height');\r\n var element = $location.url().split('/');\r\n if (element[3] != 'fields' && element[3] != 'hearingfields') {\r\n setTimeout(function () {\r\n stickyTitle();\r\n if (isIE) {\r\n runInitforIE();\r\n }\r\n }, 500);\r\n }\r\n };\r\n\r\n function stickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title ? title.getBoundingClientRect() : { width: 0, height: 0 };\r\n var content = document.querySelector('#document-content-identifier');\r\n var contentPosition = content ? content.getBoundingClientRect() : { width: 0, height: 0, top: 0 };\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n //placeholder.style.width = titlePosition.width + 'px';\r\n placeholder.style.height = titlePosition.height + 'px';\r\n var isAdded = false;\r\n\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = heightContentDocument;\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n removeStickyTitle();\r\n $('#document-content-identifier').scroll(function () {\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat && !isAdded) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n title.parentNode.insertBefore(placeholder, title);\r\n isAdded = true;\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 150;\r\n var marginTop = isfullScreen ? \"75px\" : \"115px\";\r\n $('#document-content-identifier').css('margin-top', marginTop);\r\n $('#document-content-identifier').css('height', heightScroll - 60);\r\n } else if (currentPosition < heightToFloat && isAdded) {\r\n title.classList.remove('sticky');\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n if (title.parentNode) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n isAdded = false;\r\n $('#document-content-identifier').css('margin-top', '0px');\r\n $('#document-content-identifier').css('height', heightScroll);\r\n }\r\n });\r\n }\r\n else {\r\n $('#document-content-identifier').scroll(function () {\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? $('#document-content-identifier').scrollTop() : contentPosition.top + $('#document-content-identifier').scrollTop();\r\n\r\n });\r\n }\r\n }\r\n\r\n function runInitforIE(backFromFullScreen) {\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title ? title.getBoundingClientRect() : { width: 0, height: 0 };\r\n var content = document.querySelector('#document-content-identifier');\r\n var contentPosition = content ? content.getBoundingClientRect() : { width: 0, height: 0, top: 0 };\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = $('#document-content-identifier').height();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat) {\r\n title.classList.add('sticky');\r\n title.parentNode.insertBefore(placeholder, title);\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 150;\r\n var marginTop = isfullScreen ? \"50px\" : \"100px\";\r\n $('#document-content-identifier').css('margin-top', marginTop);\r\n var extraHeight = (backFromFullScreen && !isfullScreen) ? 50 : 20;\r\n $('#document-content-identifier').css('height', heightScroll - 50 - extraHeight);\r\n }\r\n }\r\n }\r\n\r\n function removeStickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n if (title) {\r\n title.classList.remove('sticky');\r\n }\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n var placeholder = document.querySelector('#placeholderTitleId');\r\n if (placeholder != null && title) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n\r\n if (document.querySelector('#document-content-identifier'))\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#document-content-identifier').unbind('scroll');\r\n }\r\n\r\n function showNormal() {\r\n angular.element('#sidebar-wrapper').removeClass('hidesidebar');\r\n angular.element('#wrapper').removeClass('hidesidebar');\r\n\r\n angular.element('#resizeBar').removeClass('hidesidebar');\r\n\r\n angular.element('#tab-document-id').show();\r\n angular.element('#document-top-menu-identifier').show();\r\n angular.element('#handbook-nav').show();\r\n\r\n angular.element('.tab-content-header').removeClass('hidesidebar');\r\n //angular.element('body').css({ 'padding-top': '34px' });\r\n angular.element('.main-container_header').show();\r\n\r\n angular.element('#document-content-identifier').removeClass('fullScreen-height');\r\n var element = $location.url().split('/');\r\n if (element[3] != 'fields' && element[3] != 'hearingfields' && isIE) {\r\n setTimeout(function () {\r\n stickyTitle();\r\n runInitforIE(true);\r\n }, 500);\r\n }\r\n };\r\n\r\n function goToDocument(documentId, defaultFieldView) {\r\n\r\n $state.go(handbookActions.DocumentAction, {\r\n documentId: documentId\r\n });\r\n\r\n }\r\n\r\n function getDocumentsViaWorker(folderId, previousViewType) {\r\n var deffered = $q.defer();\r\n var worker = workersPool['document-worker.js'];\r\n worker.postMessage([\r\n 'fetch',\r\n folderId,\r\n {\r\n publishedInternet: globalResources.publishedInternet,\r\n unpublishedInternet: globalResources.unpublishedInternet,\r\n UndefinedMetatag: globalResources.UndefinedMetatag\r\n },\r\n previousViewType\r\n ]);\r\n worker.onmessage = function (e) {\r\n var result = e.data;\r\n deffered.resolve(result);\r\n }\r\n\r\n return deffered.promise;\r\n }\r\n\r\n function clearDocumentsInWorker() {\r\n var worker = workersPool['document-worker.js'];\r\n worker.postMessage([\r\n 'clear'\r\n ]);;\r\n }\r\n\r\n function getMetaDocumentsViaWorker(folderId, metadataGroupId, recursively, includeLevel1, documents) {\r\n var deffered = $q.defer();\r\n var worker = workersPool['meta-data-document-worker.js'];\r\n worker.postMessage([\r\n 'fetch',\r\n folderId,\r\n metadataGroupId,\r\n recursively,\r\n includeLevel1,\r\n documents,\r\n {\r\n UndefinedMetatag: globalResources.UndefinedMetatag\r\n }\r\n ]);\r\n worker.onmessage = function (e) {\r\n var result = e.data;\r\n deffered.resolve(result);\r\n }\r\n\r\n return deffered.promise;\r\n }\r\n\r\n function clearMetaDocumentsInWorker() {\r\n var worker = workersPool['meta-data-document-worker.js'];\r\n worker.postMessage([\r\n 'clear'\r\n ]);;\r\n }\r\n\r\n function getAgreeFilesForDocuments(documents) {\r\n if (documents == null || documents.length == 0 || HandbookConfiguration.EnabledAgree.toLowerCase() !== \"true\") {\r\n return documents;\r\n }\r\n\r\n var documentIds = [];\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAgreeFiles) {\r\n documentIds.push(documents[i].id);\r\n }\r\n }\r\n\r\n if (!documentIds.length) {\r\n return documents;\r\n }\r\n\r\n $http.get('/api/Documents/GetAgreeFilesForDocuments', { params: { documentIds: documentIds } })\r\n .success(function (data) {\r\n\r\n if (!data || !data.length) {\r\n return;\r\n }\r\n\r\n for (var i = 0; i < documents.length; i++) {\r\n var document = documents[i];\r\n\r\n if (!document.hasAgreeFiles) {\r\n continue;\r\n }\r\n\r\n document.agreeFiles = [];\r\n\r\n for (var j = 0; j < data.length; j++) {\r\n var item = data[j];\r\n if (item.documentId == document.id) {\r\n document.agreeFiles.push(item);\r\n }\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n function getParentIdExtendDocument(childId, hearingMode) {\r\n return $http\r\n .get('/api/Documents/GetParentIdExtendDocument', {\r\n params: {\r\n 'childId': childId,\r\n 'isBackend': hearingMode ? true : false\r\n }\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n });\r\n }\r\n\r\n function checkParentExtensionHasToCompare(childId) {\r\n return $http.get(handbookRequests.CheckParentExtensionHasToCompare, {\r\n params: {\r\n 'childId': childId\r\n }\r\n }).then(function (response) {\r\n return configService.getBool(response.data);\r\n });\r\n }\r\n\r\n function checkDocumentHaveToCompareById(documentId, hearingMode) {\r\n return $http.get(handbookRequests.CheckDocumentHaveToCompareById, {\r\n params: {\r\n 'documentId': documentId,\r\n 'isBackend': hearingMode ? true : false\r\n }\r\n\r\n }).then(function (response) {\r\n return configService.getBool(response.data);\r\n });\r\n }\r\n\r\n function changeUrlBackendToFrontend(urlFrontEnd, content, isHearing = false, frontEndDeviationUrl = null) {\r\n if (content == null) {\r\n return content;\r\n }\r\n var hrefs = content.match(/href=\"([^\"]*)/g);\r\n if (hrefs != null && hrefs.length > 0) {\r\n for (var i = 0; i < hrefs.length; i++) {\r\n var folders = hrefs[i].match('=\"/folder/([0-9]+)$');\r\n if (folders != null && folders.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplace = hrefs[i].replace('/folder/', urlFrontEnd + '/folder/');\r\n content = content.replace(reg, strReplace);\r\n continue;\r\n }\r\n var documents = hrefs[i].match('=\"/document/([0-9]+)|(#[a-z]+)$');\r\n if (documents != null && documents.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/document/', urlFrontEnd + '/document/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n var areas = hrefs[i].match('=\"/area/detail/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}');\r\n if (areas != null && areas.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplace = hrefs[i].replace('/area/detail/', urlFrontEnd + '/process-fe/area/detail/');\r\n content = content.replace(reg, strReplace);\r\n continue;\r\n }\r\n\r\n var areasHref = hrefs[i].match('=\"/process/area/detail/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}');\r\n if (areasHref != null && areasHref.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplace = hrefs[i].replace('/process/area/detail/', urlFrontEnd + '/process-fe/area/detail/');\r\n content = content.replace(reg, strReplace);\r\n continue;\r\n }\r\n\r\n var processes = hrefs[i].match('=\"/process-detail/([0-9]+)|(#[a-z]+)$');\r\n if (processes != null && processes.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process-detail/', urlFrontEnd + '/process-fe/process-detail/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n var processesHref = hrefs[i].match('=\"/process/process-detail/([0-9]+)|(#[a-z]+)$');\r\n if (processesHref != null && processesHref.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process/process-detail/', urlFrontEnd + '/process-fe/process-detail/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n var db4Link = hrefs[i].match('=\"/Modules/Module_136/');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/Modules/Module_136/', urlFrontEnd + '/Modules/Module_136/');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"../../Modules/Module_136/');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('../../Modules/Module_136/', urlFrontEnd + '/Modules/Module_136/');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"handbook_view.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('handbook_view.aspx', urlFrontEnd + '/handbook_view.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"view_document.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('view_document.aspx', urlFrontEnd + '/view_document.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"maincontent_fs.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('maincontent_fs.aspx', urlFrontEnd + '/maincontent_fs.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"/handbook_view.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/handbook_view.aspx', urlFrontEnd + '/handbook_view.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"/view_document.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/view_document.aspx', urlFrontEnd + '/view_document.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"/maincontent_fs.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/maincontent_fs.aspx', urlFrontEnd + '/maincontent_fs.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n if (isHearing) {\r\n var fileLink = hrefs[i].match('=\"/api/File/GetFile?');\r\n if (fileLink != null && fileLink.length > 0) {\r\n var strReplace = hrefs[i].replace('/File/GetFile?', '/File/GetFile?isLastVersion=true&');\r\n content = content.replace(hrefs[i], strReplace);\r\n continue;\r\n }\r\n if (hrefs[i].indexOf('stream_file.aspx?') >= 0) {\r\n var strReplace = hrefs[i].replace('stream_file.aspx?', 'stream_file.aspx?isLastVersion=true&');\r\n content = content.replace(hrefs[i], strReplace);\r\n continue;\r\n }\r\n if (hrefs[i].indexOf('internal_streamfile.aspx?') >= 0) {\r\n var strReplace = hrefs[i].replace('internal_streamfile.aspx?', 'internal_streamfile.aspx?isLastVersion=true&');\r\n content = content.replace(hrefs[i], strReplace);\r\n continue;\r\n }\r\n }\r\n\r\n var interconnectedProcess = hrefs[i].match('=\"/process-interconnected/([0-9]+)|(#[a-z]+)$');\r\n if (interconnectedProcess != null && interconnectedProcess.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process-interconnected/', urlFrontEnd + '/process-fe/process-interconnected/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n interconnectedProcess = hrefs[i].match('=\"/process/process-interconnected/([0-9]+)|(#[a-z]+)$');\r\n if (interconnectedProcess != null && interconnectedProcess.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process/process-interconnected/', urlFrontEnd + '/process-fe/process-interconnected/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n if (frontEndDeviationUrl != null) {\r\n var deviation = hrefs[i].match('=\"/register/([0-9]+)/([0-9]+)$');\r\n if (deviation != null && deviation.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/register/', frontEndDeviationUrl + '/register/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n }\r\n\r\n var checklist = hrefs[i].match('=\"/implement/add/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}');\r\n if (checklist != null && checklist.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/implement/add/', urlFrontEnd + '/checklist-fe/implement/add/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n }\r\n }\r\n\r\n if (isHearing) {\r\n var src = content.match(/src=\"([^\"]*)/g);\r\n if (src != null && src.length > 0) {\r\n for (var i = 0; i < src.length; i++) {\r\n if (src[i].indexOf('stream_image.aspx?') >= 0) {\r\n var strReplace = src[i].replace('stream_image.aspx?', 'stream_image.aspx?isLastVersion=true&');\r\n content = content.replace(src[i], strReplace);\r\n continue;\r\n }\r\n\r\n if (src[i].indexOf('Handbook/internal_streamfile.aspx?') >= 0) {\r\n var strReplace = src[i].replace('Handbook/internal_streamfile.aspx?', 'Handbook/internal_streamfile.aspx?isLastVersion=true&');\r\n content = content.replace(src[i], strReplace);\r\n continue;\r\n }\r\n }\r\n }\r\n }\r\n return content;\r\n };\r\n };\r\n\r\n //favoriteService\r\n function favoriteService() {\r\n var favoriteState = {\r\n isFavorited: false,\r\n id: 0,\r\n type: 0\r\n };\r\n\r\n var service = {\r\n setFavoriteNodeState: setFavoriteNodeState,\r\n getFavoriteNodeState: getFavoriteNodeState\r\n };\r\n\r\n return service;\r\n\r\n function setFavoriteNodeState(data) {\r\n favoriteState = data;\r\n };\r\n\r\n function getFavoriteNodeState() {\r\n return favoriteState;\r\n };\r\n };\r\n\r\n //localStorageService\r\n function localStorageService() {\r\n var localStorageSupported = typeof (Storage) != \"undefined\";\r\n\r\n var service = {\r\n getItem: getItem,\r\n setItem: setItem,\r\n removeItem: removeItem,\r\n clearAll: clearAll\r\n };\r\n\r\n return service;\r\n\r\n function getItem(key) {\r\n if (localStorageSupported) {\r\n return localStorage.getItem(key);\r\n }\r\n };\r\n\r\n function setItem(key, value) {\r\n if (localStorageSupported) {\r\n localStorage.setItem(key, value);\r\n }\r\n };\r\n\r\n function removeItem(key) {\r\n if (localStorageSupported) {\r\n localStorage.removeItem(key);\r\n }\r\n };\r\n\r\n function clearAll() {\r\n if (localStorageSupported) {\r\n localStorage.clear();\r\n }\r\n };\r\n };\r\n\r\n //tabStateService\r\n tabStateService.$inject = ['localStorageService', '$timeout', 'broadcastService', 'documentService', '$location'];\r\n function tabStateService(localStorageService, $timeout, broadcastService, documentService, $location) {\r\n var currentStateType = '',\r\n currentTabState = '';\r\n\r\n var service = {\r\n getState: getState,\r\n setState: setState,\r\n removeState: removeState,\r\n setCurrentStateType: setCurrentStateType,\r\n getCurrentStateType: getCurrentStateType,\r\n setCurrentTabState: setCurrentTabState,\r\n getCurrentTabState: getCurrentTabState,\r\n initTabState: initTabState,\r\n isTabActive: isTabActive,\r\n closeOpenedTabIfNoPrivilege: closeOpenedTabIfNoPrivilege,\r\n adjustContentPosition: adjustContentPosition,\r\n adjustContentHeightPosition: adjustContentHeightPosition,\r\n adjustContentHeightHomeStartPageTab: adjustContentHeightHomeStartPageTab,\r\n adjustFolderContentIdentifierHeight: adjustFolderContentIdentifierHeight\r\n };\r\n\r\n return service;\r\n\r\n function getState(tabStateType) {\r\n return localStorageService.getItem(tabStateType);\r\n };\r\n\r\n function setState(tabStateType, elementId) {\r\n localStorageService.setItem(tabStateType, elementId);\r\n };\r\n\r\n function removeState(tabStateType) {\r\n localStorageService.removeItem(tabStateType);\r\n };\r\n\r\n function setCurrentStateType(stateType) {\r\n currentStateType = stateType;\r\n };\r\n\r\n function getCurrentStateType() {\r\n return currentStateType;\r\n };\r\n\r\n function setCurrentTabState(tabState) {\r\n currentTabState = tabState;\r\n };\r\n\r\n function getCurrentTabState() {\r\n return currentTabState;\r\n };\r\n\r\n function initTabState(stateType) {\r\n var tabState = localStorageService.getItem(stateType);\r\n //if (!tabState && stateType == tabStateType.chapterTabState) {\r\n // tabState = folderTabs.content;\r\n //}\r\n\r\n //if (!tabState && stateType == tabStateType.documentTabState) {\r\n // tabState = documentTabs.content;\r\n //}\r\n\r\n $(window).on('resize', function () {\r\n // This function use to adjust the height of document content/folder content when user try to resize browser viewport.\r\n // TODO: If we regardless the height of document/folder when user resize browser viewport, we can remove this code.\r\n if (currentStateType == stateType) {\r\n if (currentTabState == null || currentTabState == \"\") {\r\n currentTabState = tabState;\r\n }\r\n\r\n adjustContentPosition(currentTabState, stateType);\r\n }\r\n if ($('#documentTitle').length == 1) {\r\n var contentWidth = $('#documentHeader1Container').width() + 10;\r\n $('#documentTitle').css('width', contentWidth);\r\n }\r\n });\r\n\r\n if (tabState != undefined) {\r\n angular.element(prefix.hashbangPrefix + tabState).addClass(cssClass.active);\r\n var elementActive = angular.element(prefix.hashbangPrefix + tabState + ' a').attr('href');\r\n if (elementActive != undefined) {\r\n var activePanel = elementActive.replace(prefix.hashbangPrefix, '');\r\n angular.element(prefix.hashbangPrefix + activePanel).addClass(cssClass.active);\r\n }\r\n if (tabState == 'chapter-whats-new') {\r\n broadcastService('ActiveFolderWhatsnew', {});\r\n }\r\n }\r\n\r\n $timeout(function () {\r\n adjustContentPosition(tabState, stateType);\r\n }, 0, false);\r\n };\r\n\r\n function isTabActive(tabId) {\r\n return $(prefix.hashbangPrefix + tabId).hasClass(cssClass.active);\r\n };\r\n\r\n function closeOpenedTabIfNoPrivilege(tabStateType) {\r\n var tabState = localStorageService.getItem(tabStateType);\r\n if (tabState != undefined) {\r\n angular.element(prefix.hashbangPrefix + tabState).removeClass(cssClass.active);\r\n var tabElement = angular.element(prefix.hashbangPrefix + tabState + ' a');\r\n if (tabElement && tabElement.attr('href')) {\r\n var activePanel = tabElement.attr('href').replace(prefix.hashbangPrefix, '');\r\n angular.element(prefix.hashbangPrefix + activePanel).removeClass(cssClass.active);\r\n }\r\n }\r\n };\r\n\r\n function adjustContentHeightHomeStartPageTab() {\r\n var heightDocument = $(document).height();\r\n var height = heightDocument - 120;\r\n angular.element('.home-content .homme-tab1').css({\r\n height: height\r\n });\r\n };\r\n\r\n /*Adjust content position when loading page*/\r\n function adjustContentPosition(tabId, stateType, showmoreItem, newHeight) {\r\n if (stateType == tabStateType.chapterTabState) {\r\n var documentHeight = $(document).height();\r\n var heightOfTopUserBar = $('#handbook-nav').height();\r\n var heightOfChapterTabs = $('.page-container_header').first().height();\r\n\r\n var activeTabs = $('#chaptertabcontent .tab-pane.active');\r\n var heightTabActive = (activeTabs != null && activeTabs != undefined) ? activeTabs.children().first().height() : 0;\r\n\r\n var heightOfChapterContent = newHeight != undefined ? newHeight : (heightTabActive - 30);\r\n\r\n var searchInfolderContainer = $('#searchInfolderContainer');\r\n var searchInFolderNotActive = searchInfolderContainer.hasClass('ng-hide');\r\n var chapterWhatsNewNotActive = $('#chapter-whats-new-content').hasClass('ng-hide');\r\n var leftPanelOfChapter = searchInFolderNotActive ? $('#topmenuleftid') : $('#searchInfolderContainer #topmenuleftid');\r\n var rightPanelOfChapter = searchInFolderNotActive ? $('#topmenurightid') : $('#searchInfolderContainer #topmenurightid');\r\n\r\n var heightOfChapterPanels = 0;\r\n var heightOfStuffElements = 0;\r\n\r\n if (leftPanelOfChapter.position() && rightPanelOfChapter.position()) {\r\n if (leftPanelOfChapter.position().top == rightPanelOfChapter.position().top) {\r\n heightOfChapterPanels = leftPanelOfChapter.outerHeight();\r\n } else {\r\n heightOfChapterPanels = leftPanelOfChapter.outerHeight() + rightPanelOfChapter.outerHeight();\r\n }\r\n }\r\n\r\n if (msieversion() >= 7 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./) || isSafari()) {\r\n heightOfStuffElements = !searchInFolderNotActive ? 40 : (!chapterWhatsNewNotActive ? 68 : 90);\r\n } else {\r\n heightOfStuffElements = !searchInFolderNotActive ? 30 : (!chapterWhatsNewNotActive ? 58 : 80);\r\n }\r\n\r\n var folderContentHeight = documentHeight - heightOfTopUserBar\r\n - heightOfChapterTabs\r\n - heightOfChapterContent\r\n - heightOfChapterPanels\r\n - heightOfStuffElements;\r\n adjustContentHeightOnDevices(folderContentHeight);\r\n } else if (stateType == tabStateType.documentTabState) {\r\n var hearingFeedbackPage = $('.hearing-feedback-page');\r\n if (hearingFeedbackPage.length > 0) {\r\n var activeTabs = $('.tab-pane.active');\r\n var heightTabActive = (activeTabs != null && activeTabs != undefined) ? activeTabs.children().first().height() : 0;\r\n var newHeight = constantValues.documentTabContentMinTop + heightTabActive;\r\n var myAssessment = $('#myAssessment');\r\n var heightMyAssessment = myAssessment != undefined ? myAssessment.height() + 30 : 65;\r\n height = $(document).height() - newHeight - heightMyAssessment;\r\n //angular.element('#' + documentContent.content + '').css({ height: height });\r\n } else {\r\n var top = 0;\r\n if (tabId == documentTabs.about) {\r\n var aboutTab = angular.element('#' + tabContents.about + '');\r\n top = aboutTab.height() != null ? aboutTab.height() + aboutTab.position().top : 0;\r\n } else if (tabId == documentTabs.content) {\r\n var contentTab = angular.element('#' + tabContents.content + '');\r\n // for DocumentField does not have content tab, so we need to check null before getting value\r\n if (contentTab.length > 0) {\r\n top = contentTab.height() + contentTab.position().top;\r\n }\r\n } else if (tabId == documentTabs.readingReceipt) {\r\n var readingTab = angular.element('#' + tabContents.readingReceipt + '');\r\n top = readingTab.height() != null ? readingTab.height() + readingTab.position().top : 0;\r\n } else if (tabId == documentTabs.feedback) {\r\n var feedbackTab = angular.element('#' + tabContents.feedback + '');\r\n top = feedbackTab.height() != null ? feedbackTab.height() + feedbackTab.position().top : 0;\r\n } else if (tabId == documentTabs.search) {\r\n var searchInContentTab = angular.element('#' + tabContents.search + '');\r\n top = searchInContentTab.height() != null ? searchInContentTab.height() + searchInContentTab.position().top : 0;\r\n } if (tabId == documentTabs.hearing) {\r\n var searchInContentTab = angular.element('#' + tabContents.hearing + '');\r\n top = searchInContentTab.height() != null ? searchInContentTab.height() + searchInContentTab.position().top : 0;\r\n }\r\n if (top <= 0) {\r\n top = constantValues.documentTabContentMinTop + 10;\r\n } else {\r\n top = top + 10;\r\n }\r\n\r\n var topMenuTop = 0;\r\n if (angular.element('.topmenu-right-panel').position()) {\r\n topMenuTop = angular.element('.topmenu-right-panel').position().top;\r\n }\r\n var addHeight = 10;\r\n if ($(document).width() > 600)\r\n addHeight = 27;\r\n var height = $(document).height() - top - constantValues.topMenuHeight - topMenuTop + addHeight;\r\n\r\n var extendDocumentNotification = angular.element(\".extend-document-notification\").height();\r\n if (!extendDocumentNotification)\r\n extendDocumentNotification = 0;\r\n\r\n heightContentDocument = (height + 25);\r\n //angular.element('#' + documentContent.content + '').css({\r\n // height: (height + 25 - extendDocumentNotification)\r\n //});\r\n }\r\n\r\n } else if (stateType == tabStateType.homeTabState) {\r\n if (tabId == homeTabs.whatNew) {\r\n setTimeout(() => {\r\n var newsContainer = angular.element(\".container-news-tab\").height();\r\n var newsTab = angular.element(\".header-item-bar\").height();\r\n\r\n angular.element('#whatNewContainer #gridController').css({ height: newsContainer - newsTab - 30 });\r\n }, 200);\r\n } else if (tabId == homeTabs.updatedFavorite) {\r\n setTimeout(() => {\r\n var favContainer = angular.element(\".container-favorite-tab\").height();\r\n var favTab = angular.element(\".header-item-bar\").height();\r\n\r\n angular.element('#updatedFavoriteContainer #gridController').css({ height: favContainer - favTab - 70 });\r\n }, 200);\r\n } else if (tabId == homeTabs.readingListTab) {\r\n setTimeout(() => {\r\n var readingContainer = angular.element(\".container-readings-tab\").height();\r\n var readingListHeader = angular.element(\".reading-list-header\").height();\r\n var readingTab = angular.element(\"#reading-list-tabs\").height();\r\n\r\n angular.element('#reading-list-tab1 #gridController').css({ height: readingContainer - readingTab - 30 });\r\n angular.element('#reading-list-tab2').css({ height: readingContainer - readingTab - readingListHeader - 123 });\r\n angular.element('#reading-list-tab3 #gridController').css({ height: readingContainer - readingTab - 75 });\r\n }, 200);\r\n\r\n } else if (tabId == homeTabs.hearingTab) {\r\n setTimeout(() => {\r\n var hearingContainer = angular.element(\".container-hearings-tab\").height();\r\n var hearingTab = angular.element(\"#document-hearings-tabs\").height();\r\n angular.element('#hearings-tab1 #gridController').css({ height: hearingContainer - hearingTab - 125 });\r\n angular.element('#hearings-tab2 #gridController').css({ height: hearingContainer - hearingTab - 125 });\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n function adjustContentHeightOnDevices(contentHeight) {\r\n var newContent = $('#chapter-whats-new-content').height();\r\n var searchContent = $('#searchInfolderContainer').height();\r\n var gridDocumentQueryByClassName = '.' + folderContent.gridDocumentClass + '';\r\n\r\n if (newContent) {\r\n angular.element('#' + folderContent.content + '').css({ height: contentHeight - 30 });\r\n }\r\n else if (searchContent) {\r\n angular.element('#' + folderContent.content + '').css({ height: contentHeight - 10 });\r\n } else {\r\n angular.element('#' + folderContent.content + '').css({ height: contentHeight - 150 });\r\n }\r\n\r\n //angular.element(gridDocumentQueryByClassName).css({ 'max-height': (contentHeight - 54) });\r\n }\r\n\r\n /*Adjust content height when user click on tab.*/\r\n function adjustContentHeightPosition(stateType, newHeight) {\r\n switch (stateType) {\r\n case tabStateType.documentTabState:\r\n var hearingFeedbackPage = $('.hearing-feedback-page');\r\n var documentTabActive = localStorageService.getItem(tabStateType.documentTabState);\r\n var documentHeight = $(document).height();\r\n var documentWidth = $(document).width();\r\n var availWidth = screen.availWidth;\r\n var availHeight = screen.availHeight;\r\n var height = 0;\r\n if (hearingFeedbackPage.length > 0) {\r\n var activeTabs = $('.tab-pane.active');\r\n var heightTabActive = (activeTabs != null && activeTabs != undefined) ? activeTabs.children().first().height() : 0;\r\n if (newHeight > 0) {\r\n newHeight = constantValues.documentTabContentMinTop + newHeight;\r\n } else {\r\n newHeight = constantValues.documentTabContentMinTop + heightTabActive;\r\n }\r\n var myAssessment = $('#myAssessment');\r\n var heightMyAssessment = myAssessment != undefined ? myAssessment.height() + 30 : 65;\r\n height = documentHeight - newHeight - heightMyAssessment;\r\n angular.element('#' + documentContent.content + '').css({ height: height });\r\n var heightOfTitle = $('#documentFieldListName') ? $('#documentFieldListName').height() : 30;\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (height - 125 - heightOfTitle)\r\n })\r\n } else {\r\n if (angular.element('#handbook-nav:visible').length != 0) {\r\n var searchHeaderHeight = 0;\r\n var topMenuTop = $('#document-top-menu-identifier').height() || 0;\r\n\r\n if ($('#SearchHeaderMobile').position()) {\r\n searchHeaderHeight = $('#SearchHeaderMobile').position().top + 76;\r\n }\r\n var addHeight = 27;\r\n if ((availHeight == 768 && availWidth == 1024)) {\r\n addHeight = 10;\r\n }\r\n\r\n var extendDocumentNotification = angular.element(\".extend-document-notification\").height();\r\n if (!extendDocumentNotification)\r\n extendDocumentNotification = 0;\r\n\r\n if (documentWidth > 600) {\r\n if (documentTabActive) {\r\n if (newHeight > 0) {\r\n newHeight = constantValues.documentTabContentMinTop + newHeight;\r\n } else {\r\n var docContent = angular.element(\".document-content\").height();\r\n newHeight = constantValues.documentTabContentMinTop + docContent + 40;\r\n }\r\n height = documentHeight - newHeight - constantValues.topMenuHeight - topMenuTop + addHeight;\r\n } else {\r\n height = documentHeight - 47 - constantValues.topMenuHeight - topMenuTop;\r\n }\r\n var extendHeight = extendDocumentNotification ? 0 : extendDocumentNotification;\r\n angular.element('#' + documentContent.content + '').css({\r\n height: (height + 42 - extendHeight - searchHeaderHeight)\r\n });\r\n\r\n var heightOfTitle = $('#documentFieldListName') ? $('#documentFieldListName').height() : 30;\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (height - 155 - heightOfTitle)\r\n })\r\n } else {\r\n if (documentTabActive) {\r\n if (newHeight > 0) {\r\n newHeight = mobileConstantValues.documentTabContentMinTop + newHeight + 20;\r\n } else {\r\n newHeight = mobileConstantValues.documentTabContentMinTop + 20;\r\n }\r\n height = documentHeight - newHeight - mobileConstantValues.topMenuHeight - topMenuTop;\r\n } else {\r\n height = documentHeight - 60 - mobileConstantValues.topMenuHeight - topMenuTop;\r\n }\r\n angular.element('#' + documentContent.content + '').css({ height: (height - extendDocumentNotification - searchHeaderHeight) });\r\n var heightOfTitle = $('#documentFieldListName') ? $('#documentFieldListName').height() : 30;\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (height - 130 - heightOfTitle)\r\n })\r\n }\r\n }\r\n }\r\n heightContentDocument = height;\r\n var element = $location.url().split('/');\r\n if (element[3] != 'fields' && element[3] != 'hearingfields') {\r\n setTimeout(function () { documentService.stickyTitle(); }, 500);\r\n }\r\n break;\r\n case tabStateType.chapterTabState:\r\n adjustContentPosition(null, tabStateType.chapterTabState, null, newHeight - 30);\r\n break;\r\n }\r\n };\r\n\r\n function adjustFolderContentIdentifierHeight() {\r\n let windowHeight = $(window).height();\r\n let topToFolderContentIdentifierHeight = 0;\r\n let goToTopOrTotalDocumentHeight = 17;\r\n\r\n if ($('#folder-content-identifier')) {\r\n topToFolderContentIdentifierHeight = $('#folder-content-identifier').position().top;\r\n }\r\n\r\n let newHeight = windowHeight - topToFolderContentIdentifierHeight - goToTopOrTotalDocumentHeight;\r\n angular.element('#folder-content-identifier').css({\r\n height: newHeight\r\n });\r\n\r\n //if ($('#gridController')) {\r\n // angular.element('#gridController').css({\r\n // maxHeight: '100%'\r\n // });\r\n //}\r\n }\r\n };\r\n\r\n function updateHeightForCompendiaDocuments() {\r\n var documentHeight = $(document).height();\r\n var topbarHeight = $('#navbar-header').height();\r\n var searchResultPageHeight = $('.search-result-page').height(); //83\r\n var handbookHintsHeight = $('.tabbable > .search-hit').height(); //68\r\n var handbookDocumentsHeight = $('.tabbable > .scrollable-y').height();//410\r\n var compendiaSearchHeight = $('.compendia-search').height();//68\r\n var compendiaDocumentsHeight = documentHeight\r\n - (topbarHeight + searchResultPageHeight + handbookHintsHeight + handbookDocumentsHeight + compendiaSearchHeight)\r\n - 130;\r\n\r\n $('.compendia-documents .content-wrapper').css({ height: compendiaDocumentsHeight });\r\n }\r\n\r\n //browserService\r\n function browserService() {\r\n var service = {\r\n historyManipulationSupported: historyManipulationSupported,\r\n detectBrowserWindow: detectBrowserWindow\r\n };\r\n\r\n return service;\r\n\r\n function historyManipulationSupported() {\r\n return window.history && window.history.pushState != undefined;\r\n }\r\n\r\n function detectBrowserWindow() {\r\n var browserType = BrowserType.PC;\r\n var screenW = window.innerWidth;\r\n if (screenW > 1024)\r\n browserType = BrowserType.PC;\r\n else if (768 <= screenW && screenW <= 1024)\r\n browserType = BrowserType.TABLET;\r\n else\r\n browserType = BrowserType.MOBILE;\r\n return browserType;\r\n }\r\n };\r\n\r\n //anchorService\r\n anchorService.$inject = ['$location', 'browserService', 'broadcastService'];\r\n function anchorService($location, browserService, broadcastService) {\r\n\r\n var anchorObject = {\r\n position: 0\r\n };\r\n\r\n var service = {\r\n updateLocalAnchors: updateLocalAnchors,\r\n setAnchorObject: setAnchorObject,\r\n getAnchorObject: getAnchorObject\r\n };\r\n\r\n return service;\r\n\r\n function updateLocalAnchors(text, addClick) {\r\n // If browser does not support history manipulation, then hashbang (#!) is used \r\n // and the relative url will work properly with anchors already because base url will always stay the same\r\n var historyManipulationSupported = browserService.historyManipulationSupported();\r\n\r\n angular.forEach(text.find('a[href]'), function (tag, addClick) {\r\n addAnchorEvent(tag, historyManipulationSupported);\r\n });\r\n\r\n angular.forEach(text.find('area[href]'), function (tag, addClick) {\r\n addAnchorEvent(tag, historyManipulationSupported);\r\n });\r\n\r\n return text;\r\n };\r\n\r\n function addAnchorEvent(tag, historyManipulationSupported) {\r\n if (tag.attributes.href.value.indexOf('#') == 0) //local anchor tag\r\n {\r\n if (historyManipulationSupported) {\r\n var anchorValue = tag.attributes.href.value;\r\n tag.href = $location.path() + window.location.search + anchorValue;\r\n }\r\n\r\n tag.addEventListener('click', function (e) {\r\n var documentContent = angular.element('#document-content-identifier'),\r\n folderContent = angular.element('#folder-content-identifier'),\r\n newsContent = angular.element('#wrapper');\r\n var position = 0;\r\n if (documentContent && documentContent.length > 0) {\r\n position = documentContent[0].scrollTop;\r\n } else if (folderContent && folderContent.length > 0) {\r\n position = folderContent[0].scrollTop;\r\n } else if (newsContent && newsContent.length > 0) {\r\n position = newsContent[0].scrollTop;\r\n }\r\n anchorObject.position = position;\r\n broadcastService('anchorclick', { hash: e.target.hash });\r\n });\r\n }\r\n // For some reason the anchor only works once without target self (most likely because of angular https://github.com/angular/angular.js/issues/4608)\r\n // Add target for all the a[href] without target\r\n if (tag.target == '' || tag.target == undefined) {\r\n tag.target = '_self';\r\n }\r\n };\r\n\r\n function setAnchorObject(position) {\r\n anchorObject.position = position;\r\n };\r\n\r\n function getAnchorObject() {\r\n return anchorObject;\r\n };\r\n };\r\n\r\n //feedBackService\r\n feedBackService.$inject = ['$http'];\r\n function feedBackService($http) {\r\n var service = {\r\n sendFeedback: sendFeedback\r\n };\r\n\r\n return service;\r\n\r\n function sendFeedback(entityId, data) {\r\n var request = {\r\n entityId: entityId,\r\n positive: data.positive,\r\n feedbackMessage: data.feedbackMessage,\r\n feedBack: data.feedBack,\r\n sendAlsoToApprover: data.sendAlsoToApprover\r\n };\r\n return $http.post(handbookRequests.SubmitFeedbackRequest, request)\r\n .then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n };\r\n };\r\n\r\n //readingConfirmationService\r\n readingConfirmationService.$inject = ['$http'];\r\n function readingConfirmationService($http) {\r\n var service = {\r\n GetConfirmInformation: getConfirmInformation,\r\n sendReadingConfirmation: sendReadingConfirmation\r\n };\r\n\r\n return service;\r\n\r\n function getConfirmInformation(entityId) {\r\n return $http.get(handbookRequests.GetDocumentConfirmInformationRequest,\r\n {\r\n params: { 'entityId': entityId }\r\n }).then(function (data, status, headers, config) {\r\n return data;\r\n });\r\n };\r\n\r\n function sendReadingConfirmation(entityId, folderId) {\r\n return $http.post(handbookRequests.SubmitReadConfirmRequest, { 'entityId': entityId, 'folderId': folderId })\r\n .then(function (data, status, headers, config) {\r\n return data.data;\r\n });\r\n };\r\n };\r\n\r\n //debounceService\r\n function debounceService() {\r\n var service = {\r\n debounce: debounce\r\n };\r\n\r\n return service;\r\n\r\n function debounce(fn, delay) {\r\n var timer = null;\r\n return function () {\r\n var context = this, args = arguments;\r\n clearTimeout(timer);\r\n timer = setTimeout(function () {\r\n fn.apply(context, args);\r\n }, delay || 500);\r\n };\r\n };\r\n };\r\n\r\n //documentTemplateService\r\n documentTemplateService.$inject = ['$http'];\r\n function documentTemplateService($http) {\r\n var documentTemplate = [];\r\n var service = {\r\n getDocumentTemplate: getDocumentTemplate,\r\n getDocumentTemplateNameById: getDocumentTemplateNameById\r\n };\r\n\r\n return service;\r\n\r\n function getDocumentTemplate() {\r\n return $http.get(handbookRequests.GetDocumentTemplateRequest)\r\n .then(function (response, status, headers, config) {\r\n documentTemplate = response.data;\r\n return response.data;\r\n });\r\n };\r\n\r\n function getDocumentTemplateNameById(id) {\r\n var templateName = '';\r\n for (var index = 0; index < documentTemplate.length; index++) {\r\n if (documentTemplate[index].id == id) {\r\n templateName = documentTemplate[index].name;\r\n break;\r\n }\r\n }\r\n return templateName;\r\n };\r\n };\r\n\r\n //resizeService\r\n function resizeService() {\r\n var service = {\r\n resizeView: resizeView,\r\n resizeToOrginalSize: resizeToOrginalSize,\r\n resizeToChangedSize: resizeToChangedSize\r\n };\r\n return service;\r\n\r\n function resizeView() {\r\n var currentSideBarWidth = angular.element(elementId.sidebarWrapper).width();\r\n if (currentSideBarWidth > 320) {\r\n var screenWidth = window.innerWidth;\r\n angular.element(elementClass.tabTable).css({\r\n 'padding-left': (currentSideBarWidth - 320) + 'px'\r\n });\r\n\r\n angular.element(elementClass.frontPageCustomArea).css({\r\n 'padding-left': (currentSideBarWidth - 320) + 'px'\r\n });\r\n\r\n angular.element('#document-content-information-id').css({\r\n 'padding-left': (currentSideBarWidth - 320) + 'px'\r\n });\r\n }\r\n };\r\n\r\n function resizeToOrginalSize() {\r\n angular.element(elementId.sidebarWrapper).removeAttr('style');\r\n angular.element(elementId.reSizeBar).removeAttr('style');\r\n angular.element(elementClass.tabTable).removeAttr('style');\r\n angular.element('#document-content-information-id').removeAttr('style');\r\n angular.element(elementClass.frontPageCustomArea).removeAttr('style');\r\n angular.element('.sidebar-brand').removeAttr('style');\r\n };\r\n\r\n function resizeToChangedSize(width, isCompare) {\r\n if (!isCompare) {\r\n angular.element(elementId.sidebarWrapper).css({\r\n 'width': width + 'px'\r\n });\r\n angular.element('.sidebar-brand').css({\r\n 'width': width + 'px'\r\n });\r\n\r\n angular.element(elementId.reSizeBar).css({\r\n 'width': (width + 8) + 'px',\r\n 'z-index': 999\r\n });\r\n\r\n var screenWidth = window.innerWidth;\r\n if (screenWidth > 980) {\r\n angular.element(elementClass.tabTable).css({\r\n 'padding-left': (width - 320) + 'px'\r\n });\r\n\r\n angular.element(elementClass.frontPageCustomArea).css({\r\n 'padding-left': (width - 320) + 'px'\r\n });\r\n\r\n angular.element('#document-content-information-id').css({\r\n 'padding-left': (width - 320) + 'px'\r\n });\r\n }\r\n } else {\r\n var screenWidth = $(document).width();\r\n width = width > 320 ? width : 320;\r\n width = (screenWidth - width) < 200 ? screenWidth - 210 : width;\r\n angular.element('.comparison-result').css({\r\n 'width': width + 'px'\r\n });\r\n\r\n angular.element('#resizeBar').css({\r\n 'width': (width + 8) + 'px',\r\n 'z-index': 999\r\n });\r\n\r\n angular.element('.comparison-versions').css({\r\n 'width': (screenWidth - width - 40) + 'px',\r\n 'padding-right': 0\r\n });\r\n }\r\n };\r\n };\r\n\r\n //stringValidationService\r\n function stringValidationService() {\r\n var service = {\r\n notContainSpecialCharacter: notContainSpecialCharacter\r\n };\r\n return service;\r\n\r\n function notContainSpecialCharacter(keyword) {\r\n var re = '^([ a-zA-Z0-9.\\_\\\\-/\\WåøæÅØÆ\"])*$',\r\n regExp = new RegExp(re, 'gi');\r\n return regExp.test(keyword);\r\n };\r\n };\r\n\r\n //newsService\r\n newsService.$inject = ['$http'];\r\n function newsService($http) {\r\n var service = {\r\n getNews: getNews,\r\n getActiveNewsById: getActiveNewsById,\r\n getNewsWithPaging: getNewsWithPaging,\r\n updateNewsReadCount: updateNewsReadCount,\r\n adjustNewsHeight: adjustNewsHeight,\r\n getNewsByCategoryId: getNewsByCategoryId,\r\n getNewsImageById: getNewsImageById\r\n };\r\n\r\n return service;\r\n\r\n function getNews(filter) {\r\n return $http.get(handbookRequests.GetNewsOnStarpage, { params: filter });\r\n };\r\n\r\n function getActiveNewsById(id) {\r\n return $http.get(handbookRequests.GetActiveNewsById, { params: { id: id } });\r\n };\r\n\r\n function getNewsWithPaging(pageIndex, pageSize) {\r\n return $http.get(handbookRequests.GetNewsWithPaging, { params: { pageIndex: pageIndex, pageSize: pageSize } });\r\n };\r\n\r\n function updateNewsReadCount(id) {\r\n var requestUrl = handbookRequests.UpdateNewsReadCount + '/' + id;\r\n return $http.post(requestUrl);\r\n };\r\n\r\n function getNewsByCategoryId(categoryId, showInModule, pageIndex, pageSize) {\r\n return $http.get(handbookRequests.GetNewsByCategoryId, { params: { categoryId: categoryId, showInModule: showInModule, pageIndex: pageIndex, pageSize: pageSize } });\r\n };\r\n\r\n function adjustNewsHeight() {\r\n var availWidth = screen.availWidth;\r\n var availHeight = screen.availHeight;\r\n\r\n // if ((availWidth <= 414 && availHeight <= 736) || (availHeight <= 414 && availWidth <= 736)) {\r\n // var $newsHeaders = angular.element('.news-item > a > h4');\r\n // var height = 0;\r\n // var heightTitle = 0;\r\n // for (var i = 0; i < $newsHeaders.length; i++) {\r\n // var line = $newsHeaders.eq(i).getLines();\r\n // heightTitle = (line > 6 ? 0 : line) * 15;\r\n // var ingressHeight = $newsHeaders.eq(i).parent().siblings().find('div.news-content > p').height();\r\n // var imageHeight = 0;\r\n // var objectImage = $newsHeaders.eq(i).parent().siblings().find('div.news-content > a > img');\r\n // if (objectImage != null && objectImage != undefined) {\r\n // imageHeight = objectImage.height();\r\n // }\r\n // if (heightTitle > 0) {\r\n // height = (ingressHeight > imageHeight ? ingressHeight : imageHeight) + heightTitle + 52;\r\n // angular.element('#news' + i).css({ height: height });\r\n // } else {\r\n // angular.element('#news' + i).css({ height: 200 });\r\n // }\r\n // }\r\n // } else {\r\n // var $newsHeaders = angular.element('.news-item > a > h4');\r\n // var height = 0, maxHeight = 0;\r\n // var heightTitle = 0, maxHeightTitle = 0;\r\n // for (var i = 0; i < $newsHeaders.length; i++) {\r\n // var line = $newsHeaders.eq(i).getLines();\r\n // heightTitle = (line > 6 ? 0 : line) * 15;\r\n // maxHeightTitle = maxHeightTitle < heightTitle ? heightTitle : maxHeightTitle;\r\n // var ingressHeight = $newsHeaders.eq(i).parent().siblings().find('div.news-content > p').height();\r\n // var imageHeight = 0;\r\n // var objectImage = $newsHeaders.eq(i).parent().siblings().find('div.news-content > a > img');\r\n // if (objectImage != null && objectImage != undefined) {\r\n // imageHeight = objectImage.height();\r\n // }\r\n // if (heightTitle > 0) {\r\n // height = (ingressHeight > imageHeight ? ingressHeight : imageHeight) + maxHeightTitle + 52;\r\n // }\r\n // if (maxHeight < height) {\r\n // maxHeight = height;\r\n // }\r\n // }\r\n // if (maxHeight == 0) {\r\n // maxHeight = 250;\r\n // }\r\n // if (maxHeightTitle != 0) {\r\n // angular.element('.news-item > a > h4').css({ height: maxHeightTitle });\r\n // }\r\n // angular.element('.news-group > div.news-item').css({ height: maxHeight });\r\n // }\r\n };\r\n\r\n function getNewsImageById(newsId) {\r\n return $http.get(handbookRequests.GetNewsImageById, { params: { newsId: newsId } });\r\n };\r\n };\r\n\r\n //folderService\r\n folderService.$inject = ['$http'];\r\n function folderService($http) {\r\n var service = {\r\n getFolder: getFolder,\r\n getFolderById: getFolderById,\r\n setFolder: setFolder,\r\n getFolderByVirtualDocumentId: getFolderByVirtualDocumentId\r\n };\r\n\r\n return service;\r\n\r\n var folder;\r\n\r\n function getFolder() {\r\n return folder;\r\n };\r\n\r\n function getFolderById(id) {\r\n if (folder == null || folder == undefined || folder.id != id) {\r\n return $http.get(handbookRequests.GetFolderContentsRequest, { params: { 'folderId': id } })\r\n .success(function (response, status, headers, config) {\r\n return response;\r\n })\r\n };\r\n };\r\n\r\n function setFolder(folderObject) {\r\n folder = folderObject;\r\n };\r\n\r\n function getFolderByVirtualDocumentId(id) {\r\n return $http.get(handbookRequests.GetFoldersByVirtualDocumentId, { params: { 'documentId': id } })\r\n .success(function (response, status, headers, config) {\r\n return response;\r\n })\r\n };\r\n\r\n };\r\n\r\n //treeNavigationService\r\n treeNavigationService.$inject = ['$timeout', '$stateParams', '$http', 'broadcastService'];\r\n function treeNavigationService($timeout, $stateParams, $http, broadcastService) {\r\n var currentRecursiveIndex = 0;\r\n var parents = [];\r\n var currentTree = null;\r\n var nodeType = 0; // 0: folder, 1: document\r\n var isDocumentTree = false;\r\n\r\n var service = {\r\n navigateToCurrentItem: navigateToCurrentItem,\r\n onChildrenLoaded: onChildrenLoaded,\r\n setDocumentsTree: setDocumentsTree,\r\n changeRoute: changeRoute,\r\n setNodeType: setNodeType,\r\n navigateToItemLocation: navigateToItemLocation,\r\n scrollToVisibleView: scrollToVisibleView,\r\n setIsDocumentTree: setIsDocumentTree,\r\n getIsDocumentTree: getIsDocumentTree\r\n };\r\n\r\n return service;\r\n\r\n function navigateToItemLocation(navigateSideBar, isClick) {\r\n if (HandbookConfiguration.AutoHighlightInTree.toUpperCase() == \"TRUE\" || isClick == true) {\r\n $timeout(function () {\r\n broadcastService(broadcastType.collapseExpandSidebar, {\r\n navigateSideBar: navigateSideBar\r\n });\r\n }, 0);\r\n }\r\n }\r\n\r\n function navigateToCurrentItem(items, recursives, isScroll) {\r\n if (!recursives || recursives.length == 0) {\r\n return;\r\n }\r\n parents = recursives;\r\n for (var j = 0; j < items.length; j++) {\r\n if (items[j].id == recursives[currentRecursiveIndex].id) {\r\n var index = j;\r\n $timeout(function () {\r\n if (currentRecursiveIndex == (recursives.length - 1)) {\r\n angular.element('#treeDocuments .selected:not(#' + items[index].id + '-label)').removeClass('selected');\r\n if (nodeType == treeNodeTypes.document) {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n }\r\n $timeout(function () {\r\n var nodeDoc = angular.element('#treeDocuments #' + $stateParams.documentId + '-' + items[index].id + '-label');\r\n if (!nodeDoc || nodeDoc.length == 0)\r\n nodeDoc = angular.element('#treeDocuments #' + items[index].id + '-label');\r\n if (nodeDoc && nodeDoc.length > 0) {\r\n nodeDoc.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(nodeDoc);\r\n }\r\n }\r\n }, 1000);\r\n } else {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-label-f');\r\n if (node && node.length > 0) {\r\n node.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(node);\r\n }\r\n }\r\n }\r\n currentRecursiveIndex = 0;\r\n } else {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n currentRecursiveIndex += 1;\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n onChildrenLoaded(items[index], isScroll);\r\n } else {\r\n onChildrenLoaded(items[index], isScroll);\r\n }\r\n }\r\n }, 0);\r\n }\r\n }\r\n }\r\n\r\n function getCurrentRecursiveIndex(nodeParent) {\r\n for (var i = 0; i < parents.length; i++) {\r\n if (nodeParent.id == parents[i].id) {\r\n if (i < parents.length - 1) {\r\n return i + 1;\r\n } else {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n return parents.length - 1;\r\n }\r\n\r\n function onChildrenLoaded(node, isScroll) {\r\n if (parents == null || parents == undefined || parents.length == 0)\r\n return;\r\n\r\n currentRecursiveIndex = getCurrentRecursiveIndex(node);\r\n if (currentRecursiveIndex >= parents.length)\r\n return;\r\n if (node.children == null || node.children.length <= 0)\r\n return;\r\n\r\n var items = node.children;\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i].id != parents[currentRecursiveIndex].id)\r\n continue;\r\n\r\n var index = i;\r\n if (currentRecursiveIndex == (parents.length - 1)) { // it's current folder/document\r\n $timeout(function () {\r\n angular.element('#treeDocuments .selected:not(#' + items[index].id + '-label)').removeClass('selected');\r\n if (nodeType == treeNodeTypes.document) {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n }\r\n $timeout(function () {\r\n var nodeDoc = angular.element('#treeDocuments #' + $stateParams.documentId + '-' + items[index].id + '-label');\r\n if (!nodeDoc || nodeDoc.length == 0)\r\n nodeDoc = angular.element('#treeDocuments #' + items[index].id + '-label');\r\n if (nodeDoc && nodeDoc.length > 0) {\r\n nodeDoc.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(nodeDoc);\r\n }\r\n }\r\n }, 1000);\r\n } else {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-label-f');\r\n if (node && node.length > 0) {\r\n node.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(node);\r\n }\r\n }\r\n }\r\n });\r\n currentRecursiveIndex = 0;\r\n break;\r\n }\r\n\r\n currentRecursiveIndex += 1;\r\n $timeout(function () {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n onChildrenLoaded(items[index], isScroll);\r\n } else {\r\n onChildrenLoaded(items[index], isScroll);\r\n }\r\n }, 0);\r\n\r\n break;\r\n }\r\n\r\n }\r\n\r\n function scrollToVisibleView(node) {\r\n var offset = 0;\r\n var nodeOffset = node.offset();\r\n if (nodeOffset) {\r\n offset = nodeOffset.top;\r\n }\r\n var $parentDiv = $('#sidebar-wrapper').first();\r\n var visible_area_start = $parentDiv.offset().top;\r\n var visible_area_end = visible_area_start + $parentDiv.height();\r\n if (offset > (visible_area_end - 10) || offset < visible_area_start) {\r\n $parentDiv.animate({\r\n scrollTop: $parentDiv.scrollTop() - visible_area_start + offset - 100\r\n }, 100);\r\n }\r\n }\r\n\r\n function setDocumentsTree(tree) {\r\n currentTree = tree;\r\n }\r\n\r\n function changeRoute() {\r\n currentRecursiveIndex = 0;\r\n }\r\n\r\n function setNodeType(type) {\r\n nodeType = type;\r\n }\r\n\r\n function setIsDocumentTree(flag) {\r\n isDocumentTree = flag;\r\n }\r\n\r\n function getIsDocumentTree() {\r\n return isDocumentTree;\r\n }\r\n\r\n };\r\n\r\n //routeService\r\n routeService.$inject = ['$timeout'];\r\n function routeService($timeout) {\r\n var previousRoute = { itemId: 0, itemType: '' };\r\n\r\n var service = {\r\n setRoute: setRoute,\r\n getRoute: getRoute,\r\n getBaseRouteProcess: getBaseRouteProcess,\r\n getDashboardBaseRoute: getDashboardBaseRoute\r\n };\r\n\r\n return service;\r\n\r\n function setRoute(route) {\r\n previousRoute = route;\r\n }\r\n\r\n function getRoute() {\r\n return previousRoute;\r\n }\r\n\r\n function getBaseRouteProcess() {\r\n return window.location.origin + '/process/';\r\n // return 'http://localhost:4200/process/';\r\n }\r\n\r\n function getDashboardBaseRoute() {\r\n return window.location.origin + '/dashboard/';\r\n }\r\n };\r\n\r\n //metaData\r\n metaDataService.$inject = ['$http', '$q'];\r\n function metaDataService($http, $q) {\r\n var service = {\r\n getRegisterItems: getRegisterItems,\r\n getMetadataTags: getMetadataTags,\r\n getMetaRegisters: getMetaRegisters,\r\n getActiveMetaRegisters: getActiveMetaRegisters,\r\n getRegisterAndRegisterItems: getRegisterAndRegisterItems\r\n };\r\n\r\n return service;\r\n\r\n function getRegisterItems(registerId) {\r\n return $http.get(handbookRequests.GetRegisterItemsRequest, { params: { 'registerId': registerId } })\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getRegisterAndRegisterItems() {\r\n return $http.get(handbookRequests.GetRegisterAndRegisterItems, {})\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getMetadataTags(registerItemId) {\r\n return $http.get(handbookRequests.GetMetadataTagsRequest, { params: { 'registerItemId': registerItemId } })\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getMetaRegisters() {\r\n return $http.get(handbookRequests.GetMetaRegistersRequest, {})\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getActiveMetaRegisters() {\r\n return $http.get(handbookRequests.GetActiveMetaRegistersRequest, {})\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n };\r\n\r\n shortcutKeysService.$inject = ['$state', '$http', '$timeout', 'tabStateService', 'broadcastService'];\r\n function shortcutKeysService($state, $http, $timeout, tabStateService, broadcastService) {\r\n var shortcuts = {\r\n };\r\n getShortcuts();\r\n var service = {\r\n gotoStartpage: {\r\n shortcut: shortcuts.gotoStartpage,\r\n method: gotoStartpage\r\n },\r\n openFavouritesMenu: {\r\n shortcut: shortcuts.openFavouritesMenu,\r\n method: openFavouritesMenu\r\n },\r\n openDocumentsMenu: {\r\n shortcut: shortcuts.openDocumentsMenu,\r\n method: openDocumentsMenu\r\n },\r\n openSimpleSearch: {\r\n shortcut: shortcuts.openSimpleSearch,\r\n method: openSimpleSearch\r\n },\r\n navigateItemInSidebar: {\r\n shortcut: shortcuts.navigateItemInSidebar,\r\n method: navigateItemInSidebar\r\n },\r\n printFolderPDFIndex: {\r\n shortcut: shortcuts.printPDFIndex,\r\n method: printFolderPDFIndex\r\n },\r\n toggleFavorite: {\r\n shortcut: shortcuts.toggleFavorite,\r\n method: toggleFavorite\r\n },\r\n toggleEmailNotification: {\r\n shortcut: shortcuts.toggleEmailNotification,\r\n method: toggleEmailNotification\r\n },\r\n toggleOnlyFolderEmailNotification: {\r\n shortcut: shortcuts.toggleOnlyFolderEmailNotification,\r\n method: toggleOnlyFolderEmailNotification\r\n },\r\n openGridSetting: {\r\n shortcut: shortcuts.openGridSetting,\r\n method: openGridSetting\r\n },\r\n toggleFolderContentTab: {\r\n shortcut: shortcuts.toggleFolderContentTab,\r\n method: toggleFolderContentTab\r\n },\r\n toggleFolderAboutTab: {\r\n shortcut: shortcuts.toggleFolderAboutTab,\r\n method: toggleFolderAboutTab\r\n },\r\n openDocumentReadingReceipt: {\r\n shortcut: shortcuts.openDocumentReadingReceipt,\r\n method: openDocumentReadingReceipt\r\n },\r\n openDocumentFeedback: {\r\n shortcut: shortcuts.openDocumentFeedback,\r\n method: openDocumentFeedback\r\n },\r\n printDocumentPDFA4: {\r\n shortcut: shortcuts.printPDFIndex,\r\n method: printDocumentPDFA4\r\n },\r\n toggleDocumentFullScreenViewing: {\r\n shortcut: shortcuts.toggleDocumentFullScreenViewing,\r\n method: toggleDocumentFullScreenViewing\r\n },\r\n toggleDocumentContentTab: {\r\n shortcut: shortcuts.toggleFolderContentTab,\r\n method: toggleDocumentContentTab\r\n },\r\n toggleDocumentAboutTab: {\r\n shortcut: shortcuts.toggleFolderAboutTab,\r\n method: toggleDocumentAboutTab\r\n },\r\n toggleDocumentMetadataTab: {\r\n shortcut: shortcuts.toggleDocumentMetadataTab,\r\n method: toggleDocumentMetadataTab\r\n },\r\n toggleDocumentSearchInContentTab: {\r\n shortcut: shortcuts.toggleDocumentSearchInContentTab,\r\n method: toggleDocumentSearchInContentTab\r\n },\r\n toggleMasterHomeTab: {\r\n shortcut: shortcuts.toggleFolderContentTab,\r\n method: toggleMasterHomeTab\r\n },\r\n toggleWhatsNewsTab: {\r\n shortcut: shortcuts.toggleFolderAboutTab,\r\n method: toggleWhatsNewsTab\r\n },\r\n toggleUpdatedFavoriteTab: {\r\n shortcut: shortcuts.toggleDocumentMetadataTab,\r\n method: toggleUpdatedFavoriteTab\r\n },\r\n toggleMyReadingListTab: {\r\n shortcut: shortcuts.toggleDocumentSearchInContentTab,\r\n method: toggleMyReadingListTab\r\n },\r\n linkToDocumentManagement: {\r\n shortcut: shortcuts.linkToDocumentManagement,\r\n method: linkToDocumentManagement\r\n },\r\n linkToFolderManagement: {\r\n shortcut: shortcuts.linkToDocumentManagement,\r\n method: linkToFolderManagement\r\n }\r\n };\r\n\r\n return service;\r\n\r\n function gotoStartpage() {\r\n $state.go(handbookActions.HomeAction);\r\n };\r\n\r\n function getShortcuts() {\r\n // Opera 8.0+\r\n //var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;\r\n // Firefox 1.0+\r\n var isFirefox = typeof InstallTrigger !== 'undefined';\r\n //// At least Safari 3+: \"[object HTMLElementConstructor]\"\r\n // var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;\r\n //// Internet Explorer 6-11\r\n // var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n //// Edge 20+\r\n // var isEdge = !isIE && !!window.StyleMedia;\r\n // Chrome 1+\r\n var isChrome = !!window.chrome && !!window.chrome.webstore;\r\n // Blink engine detection\r\n //var isBlink = (isChrome || isOpera) && !!window.CSS;\r\n shortcuts.gotoStartpage = 'ctrl+alt+h';\r\n shortcuts.openFavouritesMenu = 'ctrl+alt+f';\r\n shortcuts.openDocumentsMenu = 'ctrl+alt+d';\r\n shortcuts.openSimpleSearch = 'ctrl+alt+s';\r\n shortcuts.navigateItemInSidebar = 'ctrl+alt+n';\r\n shortcuts.printPDFIndex = 'ctrl+alt+p';\r\n shortcuts.toggleFavorite = 'ctrl+alt+a';\r\n shortcuts.toggleEmailNotification = 'ctrl+alt+e';\r\n shortcuts.openGridSetting = 'ctrl+alt+i';\r\n shortcuts.toggleFolderContentTab = 'ctrl+alt+1';\r\n shortcuts.toggleFolderAboutTab = 'ctrl+alt+2';\r\n shortcuts.openDocumentReadingReceipt = 'ctrl+alt+l';\r\n shortcuts.openDocumentFeedback = 'ctrl+alt+t';\r\n shortcuts.toggleDocumentFullScreenViewing = 'ctrl+alt+v';\r\n shortcuts.toggleDocumentMetadataTab = 'ctrl+alt+3';\r\n shortcuts.toggleDocumentSearchInContentTab = 'ctrl+alt+4';\r\n shortcuts.toggleOnlyFolderEmailNotification = 'ctrl+alt+m';\r\n shortcuts.linkToDocumentManagement = 'ctrl+alt+b';\r\n };\r\n\r\n function openFavouritesMenu() {\r\n broadcastService(broadcastType.onOpeningSidebarMenu, { menu: 'Favorites' });\r\n };\r\n\r\n function openDocumentsMenu() {\r\n broadcastService(broadcastType.onOpeningSidebarMenu, { menu: 'Document' });\r\n };\r\n\r\n function openSimpleSearch() {\r\n angular.element('.search-box').focus();\r\n };\r\n\r\n function navigateItemInSidebar() {\r\n broadcastService(broadcastType.collapseExpandSidebar, {\r\n navigateSideBar: true\r\n });\r\n };\r\n\r\n function printFolderPDFIndex() {\r\n broadcastService(broadcastType.printItemTarget, {\r\n printType: 4,\r\n itemType: 1 // 1: folder, 2: document\r\n });\r\n };\r\n\r\n function toggleFavorite() {\r\n broadcastService(broadcastType.toggleFavoriteTarget, {\r\n favoriteType: 1 // 1: folder, 2: document\r\n });\r\n };\r\n\r\n function toggleEmailNotification() {\r\n broadcastService(broadcastType.toggleEmailSubscriptionTarget, {});\r\n };\r\n\r\n function toggleOnlyFolderEmailNotification() {\r\n broadcastService(broadcastType.toggleOnlyFolderEmailSubscriptionTarget, {});\r\n };\r\n\r\n function linkToDocumentManagement() {\r\n broadcastService(broadcastType.linkToDocumentManagement, {});\r\n }\r\n\r\n function linkToFolderManagement() {\r\n broadcastService('linkToFolderManagement', {});\r\n }\r\n\r\n function openGridSetting() {\r\n broadcastService(broadcastType.toggleGridSettingTarget, {});\r\n $timeout(function () {\r\n var first = angular.element('#setting-box-main-contain input[type=\"checkbox\"]')[0];\r\n first.focus();\r\n }, 200);\r\n };\r\n\r\n function toggleFolderContentTab() {\r\n activateTab('ChapterTabState', 'chapter-content');\r\n\r\n activateTabContent([{\r\n tabId: '#chapter-about',\r\n tabContentId: '.tab-content.chapter-content #tab2'\r\n }],\r\n {\r\n tabId: '#chapter-content',\r\n tabContentId: '.tab-content.chapter-content #tab1'\r\n });\r\n };\r\n\r\n function toggleFolderAboutTab() {\r\n activateTab('ChapterTabState', 'chapter-about');\r\n\r\n activateTabContent([{\r\n tabId: '#chapter-content',\r\n tabContentId: '.tab-content.chapter-content #tab1'\r\n }],\r\n {\r\n tabId: '#chapter-about',\r\n tabContentId: '.tab-content.chapter-content #tab2'\r\n });\r\n };\r\n\r\n function openDocumentReadingReceipt() {\r\n broadcastService(broadcastType.toggleReadingReceiptTarget, {});\r\n $timeout(function () {\r\n angular.element('#confirmReadContainer input[type=\"button\"]')[0].focus();\r\n }, 200);\r\n };\r\n\r\n function openDocumentFeedback() {\r\n broadcastService(broadcastType.toggleDocumentFeedbackTarget, {});\r\n $timeout(function () {\r\n angular.element('#feedbackText')[0].focus();\r\n }, 200);\r\n };\r\n\r\n function printDocumentPDFA4() {\r\n broadcastService(broadcastType.printItemTarget, {\r\n printType: 1,\r\n itemType: 2 // 1: folder, 2: document\r\n });\r\n };\r\n\r\n function toggleDocumentFullScreenViewing() {\r\n broadcastService(broadcastType.toggleDocumentFullscreen, {});\r\n };\r\n\r\n function toggleDocumentContentTab() {\r\n activateTab('DocumentTabState', 'document-content');\r\n\r\n activateTabContent([{\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier2'\r\n },\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier3'\r\n },\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier5'\r\n }],\r\n {\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier1'\r\n });\r\n };\r\n\r\n function toggleDocumentAboutTab() {\r\n activateTab('DocumentTabState', 'document-about');\r\n\r\n activateTabContent([{\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier1'\r\n },\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier3'\r\n },\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier5'\r\n }],\r\n {\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier2'\r\n });\r\n };\r\n\r\n function toggleDocumentMetadataTab() {\r\n activateTab('DocumentTabState', 'document-metadata');\r\n\r\n activateTabContent([{\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier1'\r\n },\r\n {\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier2'\r\n },\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier5'\r\n }],\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier3'\r\n });\r\n };\r\n\r\n function toggleDocumentSearchInContentTab() {\r\n activateTab('DocumentTabState', 'document-searchincontent');\r\n\r\n activateTabContent([{\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier1'\r\n },\r\n {\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier2'\r\n },\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier3'\r\n }],\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier5'\r\n });\r\n };\r\n\r\n function toggleMasterHomeTab() {\r\n activateTab('HomeTabState', 'master-tab');\r\n activateTabContent([{\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }, {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }],\r\n {\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, true);\r\n };\r\n\r\n function toggleWhatsNewsTab() {\r\n activateTab('HomeTabState', 'what-new-tab');\r\n activateTabContent([{\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }, {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }],\r\n {\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, true);\r\n };\r\n\r\n function toggleUpdatedFavoriteTab() {\r\n activateTab('HomeTabState', 'favorite-tab');\r\n activateTabContent([{\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, {\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }],\r\n {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }, true);\r\n };\r\n\r\n function toggleMyReadingListTab() {\r\n activateTab('HomeTabState', 'reading-list-tab');\r\n activateTabContent([{\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, {\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }],\r\n {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }, true);\r\n };\r\n\r\n function getTabStateType(tabType) {\r\n var type = '';\r\n switch (tabType) {\r\n case tabStateType.documentTabState:\r\n type = tabStateType.documentTabState;\r\n break;\r\n case tabStateType.chapterTabState:\r\n type = tabStateType.chapterTabState;\r\n break;\r\n case tabStateType.homeTabState:\r\n type = tabStateType.homeTabState;\r\n break;\r\n default:\r\n type = tabStateType.documentTabState;\r\n break;\r\n }\r\n\r\n return type;\r\n };\r\n\r\n function activateTab(tabState, tabId) {\r\n var tabStateType = getTabStateType(tabState);\r\n\r\n tabStateService.setState(tabStateType, tabId);\r\n tabStateService.setCurrentTabState(tabId);\r\n\r\n };\r\n\r\n function activateTabContent(inactiveItems, activeItem, notToggle) {\r\n for (var i = 0; i < inactiveItems.length; i++) {\r\n angular.element(inactiveItems[i].tabId).removeClass('active');\r\n angular.element(inactiveItems[i].tabContentId).removeClass('active');\r\n }\r\n if (!notToggle) {\r\n angular.element(activeItem.tabId).toggleClass('active');\r\n angular.element(activeItem.tabContentId).toggleClass('active');\r\n } else {\r\n angular.element(activeItem.tabId).addClass('active');\r\n angular.element(activeItem.tabContentId).addClass('active');\r\n }\r\n };\r\n };\r\n\r\n //helpPages\r\n helpPagesService.$inject = ['$http', '$q'];\r\n function helpPagesService($http, $q) {\r\n var service = {\r\n getHelpPages: getHelpPages\r\n };\r\n\r\n return service;\r\n\r\n function getHelpPages(viewId) {\r\n return $http.get(handbookRequests.GetHelpPagesRequest, { params: { 'viewId': viewId } })\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n };\r\n\r\n //configService\r\n configService.$inject = ['$http'];\r\n function configService($http) {\r\n\r\n var d_config;\r\n\r\n var service = {\r\n getDeviationConfig: getDeviationConfig,\r\n getDeviationConfigInServer: getDeviationConfigInServer,\r\n getBool: getBool,\r\n getString: getString,\r\n getInt: getInt\r\n };\r\n\r\n return service;\r\n\r\n var d_config;\r\n\r\n function getDeviationConfigInServer() {\r\n return $http.get(DeviationRequest.GetConfig)\r\n .success(function (response, status, headers, config) {\r\n d_config = response;\r\n return response;\r\n })\r\n }\r\n\r\n function getDeviationConfig() {\r\n return d_config;\r\n }\r\n\r\n function getBool(value) {\r\n\r\n if (typeof value === 'boolean') {\r\n return value;\r\n }\r\n\r\n if (!value || !value.trim()) {\r\n return false;\r\n }\r\n\r\n const compareValue = value.toString().trim().toLowerCase();\r\n\r\n return compareValue === \"true\";\r\n }\r\n\r\n function getString(value) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n return value;\r\n }\r\n\r\n function getInt(value) {\r\n if (!value || !value.trim()) {\r\n return 0;\r\n }\r\n\r\n const compareValue = value.toString().trim();\r\n const parsedValue = parseInt(compareValue);\r\n\r\n return isNaN(parsedValue) ? 0 : parsedValue;\r\n }\r\n };\r\n\r\n commonService.$inject = ['$http', '$cookies', 'pubSub'];\r\n function commonService($http, $cookies, pubSub) {\r\n var service = {\r\n getCurrentLanguageText: getCurrentLanguageText\r\n };\r\n\r\n return service;\r\n\r\n function getCurrentLanguageText() {\r\n var result = user.currentLanguage;\r\n var language = $cookies.get(LANGUAGECULTURE);\r\n if (language && language.length) {\r\n result = language;\r\n }\r\n return (result ? result : LANGUAGES.NorwegianBokmal).toLowerCase();\r\n }\r\n }\r\n\r\n function getHearingTooltip(hearingMembers) {\r\n if (hearingMembers.length > 0) {\r\n hearingMembers.forEach(function (item) {\r\n if (item.hearingMemberComments.length > 0) {\r\n var containerDiv = '
';\r\n var openTag = '
';\r\n var closeTag = '
';\r\n var header = `
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${item.fullName} - ${resources.L.Document.comments}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
`;\r\n var openContentTag = '
';\r\n var commentTooltipPadding = '';\r\n item.hearingMemberComments.forEach(function (field) {\r\n var hearingComment = '';\r\n var fieldName = (field.fieldName == null ? resources.L.Document.wholeDocument : field.fieldName);\r\n field.hearingComments.forEach(function (comment) {\r\n hearingComment += `
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${comment.createdDateStr} -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${comment.commentDocumentText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
`\r\n\r\n });\r\n commentTooltipPadding += `
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${fieldName}:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${hearingComment}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
`;\r\n });\r\n\r\n item.commentTooltip = `${containerDiv}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t${openTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${openContentTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${commentTooltipPadding}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${closeTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t${closeTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t${closeTag}`\r\n }\r\n });\r\n }\r\n }\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('ngLoadDirective', loadDirective)\r\n .directive('inLoadingStateWhenClick', buttonDirective);\r\n\r\n loadDirective.$inject = ['$http'];\r\n function loadDirective($http) {\r\n return {\r\n restrict: 'A',\r\n template: '
',\r\n link: function (scope, elm, attrs) {\r\n scope.isLoading = function () {\r\n return isShowLoading($http.pendingRequests);\r\n };\r\n\r\n scope.$watch(scope.isLoading, function (v) {\r\n if (v) {\r\n elm.show();\r\n } else {\r\n elm.hide();\r\n }\r\n });\r\n\r\n function isShowLoading(pendingRequests) {\r\n return pendingRequests.some(function (r) {\r\n return (r.params && r.params.showLoading);\r\n });\r\n }\r\n }\r\n };\r\n }\r\n\r\n buttonDirective.$inject = ['$parse', '$q', '$timeout'];\r\n function buttonDirective($parse, $q, $timeout) {\r\n return {\r\n restrict: 'A',\r\n priority: 0,\r\n link: function (scope, element, attrs) {\r\n var action = $parse(attrs.inLoadingStateWhenClick);\r\n\r\n element.on('click', function (e) {\r\n element.attr('disabled', 'disabled');\r\n\r\n $timeout(function () {\r\n var promise = action(scope, { $event: e }),\r\n isPromise = promise && promise.finally;\r\n\r\n if (isPromise) {\r\n promise\r\n .then(function (promise) {\r\n if (promise && promise.message) {\r\n return $q.reject(promise.message);\r\n }\r\n })\r\n .catch(function (exception) {\r\n if (exception) {\r\n console.log(exception);\r\n }\r\n })\r\n .finally(function () {\r\n releaseClick();\r\n });\r\n } else {\r\n releaseClick();\r\n }\r\n });\r\n });\r\n\r\n function releaseClick() {\r\n element.removeAttr('disabled');\r\n element.find('.processing').remove();\r\n }\r\n }\r\n };\r\n }\r\n})();","var internetPublishOption = (window.HandbookConfiguration && window.HandbookConfiguration.InternetPublishOption == 'True') ? true : false;\r\nvar publishedVersion = (window.HandbookConfiguration && window.HandbookConfiguration.PublishedVersion == 'True') ? true : false;\r\nvar internetColumnVisible = (window.HandbookConfiguration && window.HandbookConfiguration.InternetColumnVisible == 'True') ? true : false;\r\nvar gridSettingKeys = {\r\n commonVisibilitySettings: 'ColumnVisiblitySettings',\r\n readingListVisibilitySettings: 'ReadingListVisibilitySettings'\r\n}\r\n\r\nfunction ColumnItem() {\r\n this.visible = false;\r\n this.width = '';\r\n this.minWidth = 0;\r\n};\r\n\r\nvar commonGridSetting = {\r\n title: new ColumnItem(),\r\n documentType: new ColumnItem(),\r\n chapter: new ColumnItem(),\r\n documentId: new ColumnItem(),\r\n readingList: new ColumnItem(),\r\n isConfirmed: new ColumnItem(),\r\n location: new ColumnItem(),\r\n version: new ColumnItem(),\r\n readCount: new ColumnItem(),\r\n approvedDate: new ColumnItem(),\r\n approver: new ColumnItem(),\r\n responsible: new ColumnItem(),\r\n hasAttachment: new ColumnItem(),\r\n id: new ColumnItem(),\r\n rowInfo: new ColumnItem(),\r\n internet: new ColumnItem(),\r\n readingReceipt: new ColumnItem(),\r\n readingReceiptDtmConfirmed: new ColumnItem()\r\n};\r\n\r\nif (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet = new ColumnItem();\r\n}\r\n\r\nvar commonColumnsDefinition = [];\r\nvar optionalColumnsDenifinition;\r\nvar layoutPlugin = new ngGridLayoutPlugin();\r\n\r\nvar charToPixelRatio = 9; //change this value if u change the font size\r\nvar autoColWidth = function (colDefs, rows) {\r\n var totalChars = {};\r\n var totalCharsLength = 0;\r\n for (var i = 0, n = rows.length; i < n; i++) {\r\n var tempTotalChars = {};\r\n for (var colName in rows[i]) {\r\n tempTotalChars[colName] = rows[i][colName].toString().length;\r\n if (i == 0 || tempTotalChars[colName] > totalChars[colName]) {\r\n totalChars[colName] = tempTotalChars[colName];\r\n totalCharsLength += tempTotalChars[colName];\r\n }\r\n }\r\n }\r\n\r\n for (var i = 0, n = colDefs.length; i < n; i++) {\r\n if (colDefs[i].field == commonGridColumns.attachment) {\r\n colDefs[i].width = \"4%\";\r\n } else {\r\n colDefs[i].width = (totalChars[colDefs[i].field] / totalCharsLength * 100) + \"%\";//(totalChars[colDefs[i].field] * charToPixelRatio) + \"px\";\r\n }\r\n \r\n };\r\n return colDefs;\r\n}\r\n\r\nvar commonGridOptions = function (dataSource) {\r\n return {\r\n data: dataSource,\r\n plugins: [layoutPlugin],\r\n headerRowHeight: 40,\r\n rowHeight: 40,\r\n multiSelect: false,\r\n enableColumnResize: true,\r\n columnDefs: 'vm.commonGridColumnDefinition',\r\n rowTemplate: paths.WhatNewRowTemplate\r\n };\r\n};\r\n\r\nfunction getColumnsDefinition(gridSettingKey) {\r\n commonColumnsDefinition = [\r\n {\r\n field: commonGridColumns.rowInfo, displayName: '',\r\n minWidth: commonGridSetting.rowInfo.minWidth,\r\n width: commonGridSetting.rowInfo.width,\r\n cellTemplate: paths.DocumentInfoCellTemplate,\r\n visible: commonGridSetting.rowInfo.visible\r\n },\r\n {\r\n field: commonGridColumns.name, displayName: globalResources.CommonGridColumns.Title,\r\n width: commonGridSetting.title.width\r\n }, \r\n {\r\n field: commonGridColumns.template, displayName: globalResources.CommonGridColumns.Type,\r\n width: commonGridSetting.documentType.width,\r\n visible: commonGridSetting.documentType.visible\r\n },\r\n {\r\n field: commonGridColumns.folderName, displayName: globalResources.CommonGridColumns.Chapter,\r\n width: commonGridSetting.chapter.width,\r\n cellTemplate: paths.FolderCellTemplate,\r\n visible: commonGridSetting.chapter.visible\r\n },\r\n {\r\n field: commonGridColumns.location, displayName: globalResources.CommonGridColumns.Location,\r\n width: commonGridSetting.location.width,\r\n cellTemplate: paths.LocationCellTemplate,\r\n visible: commonGridSetting.location.visible\r\n },\r\n {\r\n field: commonGridColumns.version, displayName: globalResources.CommonGridColumns.Version,\r\n minWidth: commonGridSetting.version.minWidth,\r\n width: commonGridSetting.version.width,\r\n visible: commonGridSetting.version.visible\r\n },\r\n {\r\n field: commonGridColumns.readCount, displayName: globalResources.CommonGridColumns.ReadCount,\r\n width: commonGridSetting.readCount.width,\r\n visible: commonGridSetting.readCount.visible\r\n },\r\n {\r\n field: commonGridColumns.documentId, displayName: globalResources.CommonGridColumns.DocumentId,\r\n minWidth: commonGridSetting.documentId.minWidth,\r\n width: commonGridSetting.documentId.width,\r\n visible: commonGridSetting.documentId.visible\r\n },\r\n {\r\n field: commonGridColumns.approvedDate, displayName: globalResources.CommonGridColumns.ApprovedDate,\r\n width: commonGridSetting.approvedDate.width,\r\n visible: commonGridSetting.approvedDate.visible\r\n },\r\n {\r\n field: commonGridColumns.approvedBy, displayName: globalResources.CommonGridColumns.Approver,\r\n width: commonGridSetting.approver.width,\r\n visible: commonGridSetting.approver.visible\r\n },\r\n {\r\n field: commonGridColumns.responsible, displayName: globalResources.CommonGridColumns.DocumentResponsible,\r\n width: commonGridSetting.responsible.width,\r\n visible: commonGridSetting.responsible.visible\r\n },\r\n {\r\n field: commonGridColumns.attachment, displayName: '',\r\n width: commonGridSetting.hasAttachment.width,\r\n cellTemplate: paths.DocumentAttachmentTemplate,\r\n visible: commonGridSetting.hasAttachment.visible\r\n },\r\n {\r\n field: commonGridColumns.readingReceipt, displayName: '',\r\n width: commonGridSetting.readingReceipt.width,\r\n visible: commonGridSetting.readingReceipt.visible\r\n },\r\n {\r\n field: commonGridColumns.readingReceiptDtmConfirmed, displayName: globalResources.CommonGridColumns.ReadingReceiptDtmCOnfirmedColumnHeader,\r\n width: commonGridSetting.readingReceiptDtmConfirmed.width,\r\n visible: commonGridSetting.readingReceiptDtmConfirmed.visible\r\n },\r\n {\r\n field: commonGridColumns.id, displayName: '',\r\n width: commonGridSetting.id.width,\r\n visible: false\r\n }\r\n ];\r\n\r\n optionalColumnsDenifinition = {\r\n version: commonGridSetting.version.visible,\r\n location: commonGridSetting.location.visible,\r\n documentType: commonGridSetting.documentType.visible,\r\n approvedDate: commonGridSetting.approvedDate.visible,\r\n approver: commonGridSetting.approver.visible,\r\n responsible: commonGridSetting.responsible.visible,\r\n chapter: commonGridSetting.chapter.visible,\r\n documentId: commonGridSetting.documentId.visible,\r\n hasAttachment: commonGridSetting.hasAttachment.visible,\r\n documentInfo: commonGridSetting.rowInfo.visible,\r\n readingReceipt: commonGridSetting.readingReceipt.visible,\r\n readingReceiptDtmConfirmed: commonGridSetting.readingReceiptDtmConfirmed.visible,\r\n readCount: commonGridSetting.readCount.visible\r\n };\r\n\r\n \r\n if (internetPublishOption && !publishedVersion) {\r\n // Add internet column after version column which has order 6\r\n commonColumnsDefinition.splice(6, 0, {\r\n field: commonGridColumns.internet,\r\n displayName: '',\r\n width: commonGridSetting.internet.width,\r\n visible: commonGridSetting.internet.visible\r\n });\r\n\r\n optionalColumnsDenifinition.internet = commonGridSetting.internet.visible;\r\n }\r\n\r\n if (gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n commonColumnsDefinition.push({\r\n field: commonGridColumns.readingList, displayName: globalResources.ReadingList,\r\n width: commonGridSetting.readingList.width,\r\n visible: commonGridSetting.readingList.visible\r\n });\r\n commonColumnsDefinition.push({\r\n field: commonGridColumns.isConfirmed, displayName: globalResources.Confirmed,\r\n width: commonGridSetting.readingList.width,\r\n visible: commonGridSetting.readingList.visible\r\n });\r\n\r\n optionalColumnsDenifinition.readingList = commonGridSetting.readingList.visible;\r\n optionalColumnsDenifinition.isConfirmed = commonGridSetting.isConfirmed.visible;\r\n }\r\n}\r\n\r\n\r\nfunction getDefaultVisibleColumns(gridSettingKey) {\r\n commonGridSetting.title.visible = true;\r\n commonGridSetting.chapter.visible = true;\r\n commonGridSetting.documentId.visible = true;\r\n commonGridSetting.rowInfo.visible = true;\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.visible = internetColumnVisible;\r\n }\r\n\r\n if (gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n commonGridSetting.version.visible = true;\r\n commonGridSetting.documentId.visible = true;\r\n commonGridSetting.hasAttachment.visible = true;\r\n commonGridSetting.readingReceipt.visible = false;\r\n commonGridSetting.documentType.visible = false;\r\n commonGridSetting.approvedDate.visible = false;\r\n commonGridSetting.approver.visible = false;\r\n commonGridSetting.responsible.visible = false;\r\n commonGridSetting.location.visible = false;\r\n commonGridSetting.readingList.visible = true;\r\n commonGridSetting.readingReceiptDtmConfirmed.visible = false;\r\n commonGridSetting.isConfirmed.visible = true;\r\n commonGridSetting.readCount.visible = false;\r\n }\r\n\r\n getDefaultColumnWidth(gridSettingKey);\r\n}\r\n\r\nfunction clearColumnsVisibleSetting() {\r\n commonGridSetting.chapter.visible = false;\r\n commonGridSetting.documentId.visible = false;\r\n commonGridSetting.documentType.visible = false;\r\n commonGridSetting.readingList.visible = false;\r\n commonGridSetting.isConfirmed.visible = false;\r\n commonGridSetting.location.visible = false;\r\n commonGridSetting.version.visible = false;\r\n commonGridSetting.approvedDate.visible = false;\r\n commonGridSetting.approver.visible = false;\r\n commonGridSetting.responsible.visible = false;\r\n commonGridSetting.hasAttachment.visible = false;\r\n commonGridSetting.readingReceipt.visible = false;\r\n commonGridSetting.readingReceiptDtmConfirmed.visible = false;\r\n commonGridSetting.rowInfo.visible = false;\r\n commonGridSetting.readCount.visible = false;\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.visible = false;\r\n }\r\n}\r\n\r\nfunction readVisibleColumnsFromLocalStorage(columnVisibleSettings) {\r\n clearColumnsVisibleSetting();\r\n var columnsSetting = columnVisibleSettings.split(',');\r\n for (var i = 0; i < columnsSetting.length; i++) {\r\n switch (columnsSetting[i]) {\r\n case 'chapter':\r\n commonGridSetting.chapter.visible = true;\r\n break;\r\n case 'documentId':\r\n commonGridSetting.documentId.visible = true;\r\n break;\r\n case 'documentType':\r\n commonGridSetting.documentType.visible = true;\r\n break;\r\n case 'readingList':\r\n commonGridSetting.readingList.visible = true;\r\n break;\r\n case 'isConfirmed':\r\n commonGridSetting.isConfirmed.visible = true;\r\n break;\r\n case 'location':\r\n commonGridSetting.location.visible = true;\r\n break;\r\n case 'version':\r\n commonGridSetting.version.visible = true;\r\n break;\r\n case 'approvedDate':\r\n commonGridSetting.approvedDate.visible = true;\r\n break;\r\n case 'approver':\r\n commonGridSetting.approver.visible = true;\r\n break;\r\n case 'responsible':\r\n commonGridSetting.responsible.visible = true;\r\n break;\r\n case 'hasAttachment':\r\n commonGridSetting.hasAttachment.visible = true;\r\n break;\r\n case 'readingReceipt':\r\n commonGridSetting.readingReceipt.visible = true;\r\n break;\r\n case 'readingReceiptDtmConfirmed':\r\n commonGridSetting.readingReceiptDtmConfirmed.visible = true;\r\n break;\r\n case 'documentInfo':\r\n commonGridSetting.rowInfo.visible = true;\r\n break;\r\n case 'internet':\r\n commonGridSetting.internet.visible = true;\r\n case 'readCount':\r\n commonGridSetting.readCount.visible = true;\r\n break;\r\n }\r\n }\r\n\r\n updateColumnWidth();\r\n}\r\n\r\nfunction getGridSetting(gridSettingKey) {\r\n if (typeof (Storage) != \"undefined\") { // Browser is supported local storage\r\n\r\n var existsInLocalStorage = false;\r\n var columnVisibleSettings = gridSettingKey ? localStorage.getItem(gridSettingKey) : localStorage.getItem(gridSettingKeys.readingListVisibilitySettings);\r\n if (columnVisibleSettings != undefined) {\r\n existsInLocalStorage = true;\r\n }\r\n\r\n if (existsInLocalStorage) {\r\n readVisibleColumnsFromLocalStorage(columnVisibleSettings);\r\n } else {\r\n getDefaultVisibleColumns(gridSettingKey);\r\n }\r\n } else {\r\n getDefaultVisibleColumns(gridSettingKey);\r\n }\r\n}\r\n\r\nfunction getDocumentColumnsForExporting(gridKey, modelType = E.GridViewModelType.Document) {\r\n var columns = [];\r\n getGridSetting(gridKey);\r\n columns.push(E.documentExportColumns.docUrl);\r\n\r\n if (commonGridSetting.internet.visible) {\r\n columns.push(E.documentExportColumns.isInternet);\r\n }\r\n\r\n switch (modelType) {\r\n case E.GridViewModelType.Document:\r\n columns.push(E.documentExportColumns.documentName);\r\n break;\r\n case E.GridViewModelType.Process:\r\n columns.push(E.documentExportColumns.processName);\r\n break;\r\n case E.GridViewModelType.InterconnectedProcess:\r\n columns.push(E.documentExportColumns.interconnectedProcessName);\r\n break;\r\n\r\n default:\r\n columns.push(E.documentExportColumns.documentName);\r\n break;\r\n }\r\n\r\n\r\n if (commonGridSetting.documentType.visible && (modelType == E.GridViewModelType.Process\r\n || modelType == E.GridViewModelType.Document || modelType == E.GridViewModelType.DocumentAndProcess)) {\r\n columns.push(E.documentExportColumns.documentType);\r\n }\r\n if (commonGridSetting.chapter.visible) {\r\n switch (modelType) {\r\n case E.GridViewModelType.Document:\r\n columns.push(E.documentExportColumns.chapter);\r\n break;\r\n case E.GridViewModelType.Process:\r\n case E.GridViewModelType.InterconnectedProcess:\r\n columns.push(E.documentExportColumns.processArea);\r\n break;\r\n\r\n default:\r\n columns.push(E.documentExportColumns.chapter);\r\n break;\r\n }\r\n }\r\n if (commonGridSetting.location.visible) {\r\n columns.push(E.documentExportColumns.location);\r\n }\r\n if (commonGridSetting.version.visible) {\r\n columns.push(E.documentExportColumns.version);\r\n }\r\n if (commonGridSetting.readCount.visible) {\r\n columns.push(E.documentExportColumns.readCount);\r\n }\r\n if (commonGridSetting.documentId.visible) {\r\n columns.push(E.documentExportColumns.documentId);\r\n }\r\n if (commonGridSetting.approvedDate.visible) {\r\n columns.push(E.documentExportColumns.approvedDate);\r\n }\r\n if (commonGridSetting.approver.visible) {\r\n columns.push(E.documentExportColumns.approver);\r\n }\r\n if (commonGridSetting.responsible.visible) {\r\n switch (modelType) {\r\n case E.GridViewModelType.Document:\r\n columns.push(E.documentExportColumns.documentResponsible);\r\n break;\r\n case E.GridViewModelType.Process:\r\n case E.GridViewModelType.InterconnectedProcess:\r\n columns.push(E.documentExportColumns.processResponsible);\r\n break;\r\n\r\n default:\r\n columns.push(E.documentExportColumns.documentResponsible);\r\n break;\r\n }\r\n }\r\n if (commonGridSetting.hasAttachment.visible) {\r\n columns.push(E.documentExportColumns.hasAttachment);\r\n }\r\n if (commonGridSetting.readingReceipt.visible) {\r\n columns.push(E.documentExportColumns.readingReceipt);\r\n }\r\n if (commonGridSetting.readingReceiptDtmConfirmed.visible) {\r\n columns.push(E.documentExportColumns.readingReceiptDtmConfirmed);\r\n }\r\n return columns;\r\n}\r\n\r\nfunction setGridSetting(gridSettingkey, gridColumns) {\r\n var columnSettings = '';\r\n\r\n if (gridColumns.documentType) {\r\n columnSettings += 'documentType,';\r\n }\r\n\r\n if (gridColumns.location) {\r\n columnSettings += 'location,';\r\n }\r\n\r\n if (gridSettingkey == gridSettingKeys.readingListVisibilitySettings) {\r\n if (gridColumns.readingList) {\r\n columnSettings += 'readingList,';\r\n }\r\n\r\n if (gridColumns.isConfirmed) {\r\n columnSettings += 'isConfirmed,';\r\n }\r\n }\r\n\r\n if (gridColumns.version) {\r\n columnSettings += 'version,';\r\n }\r\n\r\n if (gridColumns.readCount) {\r\n columnSettings += 'readCount,';\r\n }\r\n\r\n if (gridColumns.approvedDate) {\r\n columnSettings += 'approvedDate,';\r\n }\r\n\r\n if (gridColumns.approver) {\r\n columnSettings += 'approver,';\r\n }\r\n\r\n if (gridColumns.responsible) {\r\n columnSettings += 'responsible,';\r\n }\r\n\r\n if (gridColumns.chapter) {\r\n columnSettings += 'chapter,';\r\n }\r\n\r\n if (gridColumns.documentId) {\r\n columnSettings += 'documentId,';\r\n }\r\n\r\n if (gridColumns.hasAttachment) {\r\n columnSettings += 'hasAttachment,';\r\n }\r\n\r\n if (gridColumns.documentInfo) {\r\n columnSettings += 'documentInfo,';\r\n }\r\n\r\n if (gridColumns.readingReceipt) {\r\n columnSettings += 'readingReceipt,';\r\n }\r\n\r\n if (gridColumns.readingReceiptDtmConfirmed) {\r\n columnSettings += 'readingReceiptDtmConfirmed,';\r\n }\r\n\r\n if (gridColumns.internet) {\r\n columnSettings += 'internet';\r\n }\r\n\r\n //Remove last commna if any\r\n var lastSplitterIndex = columnSettings.lastIndexOf(',');\r\n if (lastSplitterIndex >= columnSettings.length - 1) {\r\n columnSettings = columnSettings.substring(0, lastSplitterIndex);\r\n }\r\n\r\n if (gridSettingkey) {\r\n localStorage.setItem(gridSettingkey, columnSettings);\r\n } else {\r\n localStorage.setItem(gridSettingKeys.commonVisibilitySettings, columnSettings);\r\n }\r\n\r\n getGridSetting(gridSettingkey);\r\n}\r\n\r\nfunction updateColumnWidth() {\r\n commonGridSetting.title.width = '20%';\r\n commonGridSetting.documentType.width = '12%';\r\n commonGridSetting.chapter.width = '14%';\r\n commonGridSetting.readingList.width = '0%';\r\n commonGridSetting.isConfirmed.width = '0%';\r\n commonGridSetting.location.width = '18%';\r\n commonGridSetting.version.width = 'auto';\r\n commonGridSetting.version.minWidth = '77px';\r\n commonGridSetting.readCount.width = 'auto';\r\n commonGridSetting.readCount.minWidth = '65px';\r\n commonGridSetting.documentId.width = 'auto'; \r\n commonGridSetting.documentId.minWidth = '65px';\r\n commonGridSetting.approvedDate.width = 'auto';\r\n commonGridSetting.approvedDate.minWidth = '120px';\r\n commonGridSetting.approver.width = '9%';\r\n commonGridSetting.responsible.width = '10%';\r\n commonGridSetting.hasAttachment.width = '4%';\r\n commonGridSetting.readingReceipt.width = '4%';\r\n commonGridSetting.readingReceiptDtmConfirmed.width = 'auto';\r\n commonGridSetting.readingReceiptDtmConfirmed.minWidth = '120px';\r\n commonGridSetting.id.width = '0%';\r\n commonGridSetting.rowInfo.width = 'auto'; \r\n commonGridSetting.rowInfo.minWidth = '24px';\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.width = '24px';\r\n }\r\n}\r\n\r\nfunction getDefaultColumnWidth(gridSettingKey) {\r\n commonGridSetting.title.width = '20%';\r\n commonGridSetting.documentType.width = '12%';\r\n commonGridSetting.chapter.width = '14%';\r\n commonGridSetting.location.width = '18%';\r\n commonGridSetting.version.width = 'auto';\r\n commonGridSetting.version.minWidth = '77px';\r\n commonGridSetting.version.width = 'auto';\r\n commonGridSetting.version.minWidth = '65px';\r\n commonGridSetting.documentId.width = '65px';\r\n commonGridSetting.approvedDate.width = 'auto';\r\n commonGridSetting.approvedDate.minWidth = '120px';\r\n commonGridSetting.approver.width = '9%';\r\n commonGridSetting.responsible.width = '10%';\r\n commonGridSetting.hasAttachment.width = '4%';\r\n commonGridSetting.readingReceipt.width = '4%';\r\n commonGridSetting.readingReceiptDtmConfirmed.width = 'auto';\r\n commonGridSetting.readingReceiptDtmConfirmed.minWidth = '120px';\r\n commonGridSetting.id.width = '0%';\r\n commonGridSetting.rowInfo.width = 'auto'; \r\n commonGridSetting.rowInfo.minWidth = '24px';\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.width = '24px';\r\n }\r\n\r\n if (gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n commonGridSetting.readingList.width = '0%';\r\n commonGridSetting.isConfirmed.width = '0%';\r\n }\r\n}\r\n\r\nfunction getBooleanValue(val) {\r\n return val === 'true';\r\n}\r\n\r\nfunction getArray(obj) {\r\n var array = [];\r\n for (var i in obj) {\r\n array.push(obj[i]);\r\n }\r\n return array;\r\n}\r\n\r\nfunction groupBy(list, fn) {\r\n var groups = {};\r\n for (var i = 0; i < list.length; i++) {\r\n var group = fn(list[i])[0];\r\n if (group in groups) {\r\n groups[group].value.data.push(list[i]);\r\n } else {\r\n groups[group] = { key: '', value: [] };\r\n groups[group].key = group;\r\n groups[group].value = { data: [], gridOption: {} };\r\n groups[group].value.data.push(list[i]);\r\n }\r\n }\r\n return getArray(groups);\r\n}\r\n\r\nString.format = function () {\r\n var result = arguments[0];\r\n for (var i = 0; i < arguments.length - 1; i++) {\r\n var reg = new RegExp(\"\\\\{\" + i + \"\\\\}\", \"gm\");\r\n result = result.replace(reg, arguments[i + 1]);\r\n }\r\n return result;\r\n}\r\n\r\nfunction FormattedDateDMYYYY(date, delimiter) {\r\n var month = date.getMonth() + 1;\r\n var day = date.getDate();\r\n var year = date.getFullYear();\r\n return day + delimiter + month + delimiter + year;\r\n}\r\n\r\nfunction ngGridLayoutPlugin() {\r\n var self = this;\r\n this.grid = null;\r\n this.scope = null;\r\n this.init = function (scope, grid, services) {\r\n self.domUtilityService = services.DomUtilityService;\r\n self.grid = grid;\r\n self.scope = scope;\r\n };\r\n\r\n this.updateGridLayout = function () {\r\n if (self.scope == null) {\r\n return;\r\n }\r\n if (!self.scope.$$phase) {\r\n self.scope.$apply(function () {\r\n self.domUtilityService.RebuildGrid(self.scope, self.grid);\r\n });\r\n }\r\n else {\r\n // $digest or $apply already in progress\r\n self.domUtilityService.RebuildGrid(self.scope, self.grid);\r\n }\r\n };\r\n}\r\n\r\nfunction msieversion() {\r\n var ua = window.navigator.userAgent\r\n var msie = ua.indexOf(\"MSIE \")\r\n\r\n if (msie > 0) // If Internet Explorer, return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)));\r\n else if (!!navigator.userAgent.match(/Trident.*rv\\:11\\./)) // If another browser, return 0\r\n return 11;\r\n else\r\n return 0;\r\n}\r\n\r\nfunction detectIE() {\r\n var ua = window.navigator.userAgent;\r\n\r\n // Test values; Uncomment to check result …\r\n\r\n // IE 10\r\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n // IE 11\r\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n // Edge 12 (Spartan)\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n // Edge 13\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n}\r\n\r\nfunction isSafari() {\r\n var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);\r\n return (isSafari == null ? false : isSafari);\r\n}\r\n\r\nvar NewsGridConfig = {\r\n pageSize: 10,\r\n maxDisplayPage: 3\r\n};\r\n\r\nfunction splitDateString(dateString) {\r\n if (dateString.indexOf('.') > -1) {\r\n return dateString.split('.');\r\n } else if (dateString.indexOf('/') > -1) {\r\n return dateString.split('/');\r\n } else if (dateString.indexOf('-') > -1) {\r\n return dateString.split('-');\r\n }\r\n}\r\n\r\nvar Utils = {\r\n ToDate: function (dateString) { //Norwegian format: dd.MM.yyyy\r\n if (dateString == \"\" || dateString == null) {\r\n return new Date('01-01-1900');\r\n }\r\n else {\r\n var dateParts = splitDateString(dateString);\r\n if (dateString.indexOf('/') > -1) {\r\n return new Date(dateParts[2], dateParts[0] - 1, dateParts[1], 0, 0, 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n\r\n return new Date(dateParts[2], dateParts[1] - 1, dateParts[0], 0, 0, 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n },\r\n ToDateTime: function (dateTimeString) {\r\n if (dateTimeString == \"\" || dateTimeString == null) {\r\n return new Date('01-01-1900');\r\n }\r\n else {\r\n var dateTimeParts = dateTimeString.split(' ');\r\n var dateParts = splitDateString(dateTimeParts[0]);\r\n var timeParts = dateTimeParts[1].split(':');\r\n if (dateString.indexOf('/') > -1) {\r\n return new Date(dateParts[2], dateParts[0] - 1, dateParts[1], timeParts[0], timeParts[1], 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n\r\n return new Date(dateParts[2], dateParts[1] - 1, dateParts[0], timeParts[0], timeParts[1], 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n }\r\n};\r\n\r\nvar dialogTypes = {\r\n OK: 1,\r\n OK_CANCEL: 2,\r\n YES_NO: 3\r\n};\r\n\r\nvar dialogResults = {\r\n CONFIRM: 1,\r\n CANCEL: 2\r\n};\r\n\r\nvar RESPONSE_MESSAGE = {\r\n recommended: 1,\r\n notRecommended: 2,\r\n neutral: 3\r\n};\r\n\r\nvoid function $getLines($) {\r\n function countLines($element) {\r\n var lines = 0;\r\n var greatestOffset = void 0;\r\n\r\n $element.find('character').each(function () {\r\n if (!greatestOffset || this.offsetTop > greatestOffset) {\r\n greatestOffset = this.offsetTop;\r\n ++lines;\r\n }\r\n });\r\n\r\n return lines;\r\n }\r\n\r\n $.fn.getLines = function $getLines() {\r\n var lines = 0;\r\n var clean = this;\r\n var dirty = this.clone();\r\n\r\n (function wrapCharacters(fragment) {\r\n var parent = fragment;\r\n\r\n $(fragment).contents().each(function () {\r\n if (this.nodeType === Node.ELEMENT_NODE) {\r\n wrapCharacters(this);\r\n }\r\n else if (this.nodeType === Node.TEXT_NODE) {\r\n void function replaceNode(text) {\r\n var characters = document.createDocumentFragment();\r\n\r\n text.nodeValue.replace(/[\\s\\S]/gm, function wrapCharacter(character) {\r\n characters.appendChild($('' + character + '')[0]);\r\n });\r\n\r\n parent.replaceChild(characters, text);\r\n }(this);\r\n }\r\n });\r\n }(dirty[0]));\r\n\r\n clean.replaceWith(dirty);\r\n\r\n lines = countLines(dirty);\r\n\r\n dirty.replaceWith(clean);\r\n\r\n return lines;\r\n };\r\n}(jQuery);\r\n\r\nfunction getElementForTooltips(label, value) {\r\n\tvar fisrtOfElement = \"
\";\r\n\tvar centerOfElement = \" \";\r\n\tvar lastOfElement = \"
\";\r\n\r\n\treturn fisrtOfElement + label + centerOfElement + value + lastOfElement;\r\n}\r\n\r\n\r\nfunction generateRelatedDocumentTooltip(row) {\r\n var result = \"
\";\r\n\tresult += getElementForTooltips(globalResources.LinkedVirtually, row.virtual ? globalResources.Yes : globalResources.No);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Title, row.name);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Type, row.template);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Chapter, row.folderName);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Location, row.location);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Version, row.version);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.DocumentId, row.documentId);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ApprovedDate, row.approvedDate);\r\n if (!publishedVersion) {\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Approver, row.approvedBy);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Responsible, row.responsible);\r\n }\r\n result += \"
\";\r\n\r\n return result;\r\n}\r\n\r\nfunction generateRelateProcessTooltip(row) {\r\n var result = \"
\";\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Title, row.name);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Status, row.approvalStatus);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ProcessArea, row.processAreaName);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Version, row.version);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Process, row.processNumber);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ApprovedDate, row.approvedDate);\r\n if (!publishedVersion) {\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Approver, row.approvedBy);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Responsible, row.responsible);\r\n }\r\n result += \"
\";\r\n\r\n return result;\r\n}\r\n\r\n\r\nfunction createTooltipsRelatedDocument(data) {\r\n if (data.relatedDocuments != null && data.relatedDocuments.length > 0) {\r\n data.relatedDocuments.forEach(function (item) {\r\n item.htmlTooltips = generateRelatedDocumentTooltip(item);\r\n });\r\n }\r\n if (data.relatedProcess != null && data.relatedProcess.length > 0) {\r\n data.relatedProcess.forEach(function (item) {\r\n item.htmlTooltips = generateRelateProcessTooltip(item);\r\n });\r\n }\r\n\r\n if (data.fieldContents != null) {\r\n data.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.relatedDocuments != null && fieldContent.relatedDocuments.length > 0) {\r\n fieldContent.relatedDocuments.forEach(function (item) {\r\n item.htmlTooltips = generateRelatedDocumentTooltip(item);\r\n });\r\n }\r\n if (fieldContent.relatedProcess != null && fieldContent.relatedProcess.length > 0) {\r\n fieldContent.relatedProcess.forEach(function (item) {\r\n item.htmlTooltips = generateRelateProcessTooltip(item);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\nvar LANGUAGECULTURE = 'languageCulture';\r\n\r\nvar LANGUAGES = {\r\n NorwegianBokmal: 'no',\r\n\tNorwegianNynorsk: 'nn',\r\n English: 'en'\r\n};\r\n\r\n/*Open dialog add members, roleId use for editrole view*/\r\nfunction openAddMembersDialog(modal, existedMember, titlePage, roleId, excludedQuitDepartmentId, folderId, isHearing) {\r\n if (excludedQuitDepartmentId == null)\r\n excludedQuitDepartmentId = false;\r\n\r\n var modalInstance = modal.open({\r\n templateUrl: '/app/components/document/addMembers.html',\r\n controller: 'AddMembersController as vm',\r\n size: 'lg',\r\n resolve: {\r\n existedEmployees: function () {\r\n return existedMember;\r\n },\r\n titlePage: function () {\r\n return titlePage;\r\n },\r\n roleId: function () {\r\n return roleId;\r\n },\r\n excludedQuitDepartmentId: function () {\r\n return excludedQuitDepartmentId;\r\n },\r\n folderId: function () {\r\n return folderId;\r\n },\r\n isHearing: function () {\r\n return isHearing;\r\n }\r\n }\r\n });\r\n\r\n return modalInstance;\r\n};\r\n\r\nvar gridUtilities = {\r\n lookupData: function (data, rowCollection, originalCollection, infiniteScrollLoadsize, total, currentRowIndex) {\r\n var newTotal = data != null ? data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n rowCollection = data;\r\n originalCollection = angular.copy(rowCollection);\r\n } else {\r\n if ((rowCollection == null || rowCollection.length == 0) || total != newTotal) {\r\n total = newTotal;\r\n currentRowIndex = 0;\r\n var response = gridUtilities.getAPageItem(data, infiniteScrollLoadsize, currentRowIndex, total);\r\n rowCollection = response.data;\r\n currentRowIndex = response.currentIndex;\r\n originalCollection = angular.copy(rowCollection);\r\n }\r\n }\r\n\r\n return { total: total, currentIndex: currentRowIndex, data: rowCollection };\r\n },\r\n getAPageItem: function (items, infiniteScrollLoadsize, currentRowIndex, total) {\r\n var data = [];\r\n var startIndex = currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if (currentRowIndex < total) {\r\n data.push(items[i]);\r\n currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return { data: data, currentIndex: currentRowIndex };\r\n }\r\n};\r\n\r\n\r\n\r\n// Production steps of ECMA-262, Edition 5, 15.4.4.17\r\n// Reference: https://es5.github.io/#x15.4.4.17\r\nif (!Array.prototype.some) {\r\n Array.prototype.some = function (fun, thisArg) {\r\n 'use strict';\r\n\r\n if (this == null) {\r\n throw new TypeError('Array.prototype.some called on null or undefined');\r\n }\r\n\r\n if (typeof fun !== 'function') {\r\n throw new TypeError();\r\n }\r\n\r\n var t = Object(this);\r\n var len = t.length >>> 0;\r\n\r\n for (var i = 0; i < len; i++) {\r\n if (i in t && fun.call(thisArg, t[i], i, t)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n}\r\n\r\n\r\nfunction getIconsWithReadPermission(nodeInfo, notTextWhite) {\r\n var iconFolder = '';\r\n if (nodeInfo.expanded) {\r\n iconFolder = nodeInfo.onlyRead ? \"far fa-folder-open\" : \"fa fa-folder-open\";\r\n }\r\n else {\r\n iconFolder = nodeInfo.onlyRead ? \"fal fa-folder\" : \"fa fa-folder\";\r\n }\r\n if (nodeInfo.type == null)\r\n return 'f-normal ' + iconFolder;\r\n switch (nodeInfo.type.toString()) {\r\n case E.nodeTypes.RegionalFolder:\r\n return 'f-regional ' + iconFolder;\r\n case E.nodeTypes.Folder:\r\n return 'f-normal ' + iconFolder;\r\n case E.nodeTypes.TopFolder:\r\n return 'f-enterprise ' + iconFolder;\r\n case E.nodeTypes.DepartmentFolder:\r\n return 'f-department ' + iconFolder;\r\n case E.nodeTypes.Document:\r\n return 'typcn typcn-document-text' + (notTextWhite ? '' : ' text-white');\r\n case E.nodeTypes.LinkDocument:\r\n return 'typcn typcn-link' + (notTextWhite ? '' : ' text-white');\r\n case E.nodeTypes.FileDocument:\r\n return 'typcn typcn-attachment' + (notTextWhite ? '' : ' text-white');\r\n case E.nodeTypes.ShortcutDocument:\r\n return 'virtual-document';\r\n default:\r\n return 'f-normal ' + iconFolder;\r\n }\r\n}","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npAlert', npAlert);\r\n\r\n function npAlert() {\r\n return {\r\n restrict: 'E',\r\n templateUrl: '/app/shared/alert/alert.html',\r\n scope: {\r\n alerts: '=',\r\n },\r\n controller: ['$scope', controller],\r\n controllerAs: 'vm'\r\n }\r\n\r\n function controller($scope) {\r\n var vm = this;\r\n vm.alerts = $scope.alerts;\r\n\r\n vm.closeAlert = closeAlert;\r\n\r\n function closeAlert(index) {\r\n vm.alerts.splice(0, vm.alerts.length);\r\n }\r\n }\r\n }\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npAnchor', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n controller: ['$scope', '$location', 'browserService', controller],\r\n template: ' {{anchorName}} ',\r\n scope: {\r\n anchorPrefix: '=',\r\n anchorId: '=',\r\n anchorName: '='\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $location, browserService) {\r\n var anchor = $scope.anchorPrefix + $scope.anchorId;\r\n if (browserService.historyManipulationSupported()) {\r\n anchor = $location.path() + window.location.search + anchor;\r\n }\r\n\r\n $scope.anchor = anchor;\r\n }\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n directivesModule.directive('autoResize', autoResize);\r\n\r\n autoResize.$inject = ['$timeout'];\r\n function autoResize($timeout) {\r\n var directive = {\r\n restrict: 'A',\r\n link: function autoResizeLink(scope, element, attributes, controller) {\r\n element.css({ 'height': '100px', 'overflow-y': 'auto' });\r\n element.on('focus', function () {\r\n extendHeight();\r\n });\r\n element.on('input', function () {\r\n extendHeight();\r\n });\r\n\r\n scope.$watch(attributes.ngModel, function (newVal) {\r\n if (!newVal) {\r\n element.css({ 'height': '100px'});\r\n }\r\n });\r\n\r\n function extendHeight() {\r\n var height = element[0].scrollHeight;\r\n height = (!height || height <= 100) ? 100 : height + 2;\r\n element.css('height', height + 'px');\r\n }\r\n }\r\n };\r\n return directive;\r\n };\r\n})();","\r\n(function () {\r\n angular.module('customeDirectivesModule')\r\n .directive('npBreadcrumbs', npBreadcrumbs);\r\n\r\n function npBreadcrumbs() {\r\n var directive = {\r\n restrict: 'EA',\r\n replace: true,\r\n templateUrl: '/app/shared/breadcrumbs/breadcrumbsTemplate.html',\r\n scope: {\r\n },\r\n link: linkFunction,\r\n controller: ['$rootScope', '$scope', '$location', '$state', '$timeout', '$http', 'broadcastService', 'localStorageService', 'tabStateService', 'browserService', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n\r\n };\r\n\r\n function controller($rootScope, $scope, $location, $state, $timeout, $http, broadcastService, localStorageService, tabStateService, browserService) {\r\n var vm = this;\r\n vm.scope = $scope;\r\n vm.translation = {\r\n home: globalResources.Home,\r\n searchResult: globalResources.SearchResult,\r\n viewNews: globalResources.News\r\n };\r\n\r\n vm.url = $location.path();\r\n vm.breadcrumbs = [];\r\n vm.otherBreadcrumbs = [];\r\n vm.fullBreadcrumbsMobile = [];\r\n vm.navigateToFolder = navigateToFolder;\r\n vm.isSearchResultView = false;\r\n vm.isNewsView = false;\r\n vm.setMasterTab = setMasterTab;\r\n vm.goToNewsList = goToNewsList;\r\n vm.showAllBreadcrumbs = showAllBreadcrumbs;\r\n vm.getFolderIconMobile = getFolderIconMobile;\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n vm.showDropdown = false;\r\n vm.goToFolder = goToFolder;\r\n \r\n\r\n initialize();\r\n\r\n function initialize() {\r\n vm.isDocumentAction = false;\r\n vm.isFolderAction = false;\r\n vm.hasSubFolders = false;\r\n getBreadcrumbs();\r\n };\r\n\r\n function setMasterTab() {\r\n tabStateService.setState(tabStateType.homeTabState, homeTabs.startPage);\r\n }\r\n\r\n function getBreadcrumbs() {\r\n var element = vm.url.split('/');\r\n if (element != undefined && element.length > 0) {\r\n var requestParams = {\r\n itemId: element[2],\r\n itemType: element[1]\r\n };\r\n\r\n var validCondition = (requestParams.itemType == handbookActions.DocumentAction\r\n || requestParams.itemType == handbookActions.FolderAction)\r\n && !isNaN(requestParams.itemId);\r\n\r\n vm.isDocumentAction = requestParams.itemType == handbookActions.DocumentAction;\r\n vm.isFolderAction = requestParams.itemType == handbookActions.FolderAction;\r\n\r\n if (validCondition) {\r\n $http.get(handbookRequests.GetParentFoldersRequest, { params: requestParams })\r\n .then(function (response, status, headers, config) {\r\n if (vm.isFolderAction) {\r\n $http.get(handbookRequests.GetSubfoldersRequest, { params: { 'folderId': element[2] } })\r\n .success(function (data, status, headers, config) {\r\n vm.hasSubFolders = (data != null && data.length > 0);\r\n if (vm.hasSubFolders) {\r\n buildSubFoldersBreadcrumbs(data);\r\n }\r\n buildBreadcrumbs(response.data);\r\n });\r\n } else {\r\n buildBreadcrumbs(response.data);\r\n }\r\n });\r\n } else {\r\n buildOthersBreadcrumbs(requestParams);\r\n }\r\n\r\n vm.isSearchResultView = requestParams.itemType.contains(handbookActions.SearchResultAction);\r\n vm.isNewsView = (requestParams.itemType === handbookActions.NewsListAction)\r\n || (requestParams.itemType === handbookActions.StartpageNews)\r\n || (requestParams.itemType === handbookActions.NewsCategoryAction);\r\n }\r\n };\r\n\r\n function buildSubFoldersBreadcrumbs(data) {\r\n for (var i = 0; i < data.length; i++) {\r\n data[i].icon = getFolderIcon(data[i].type);\r\n }\r\n if (!(typeof data === 'string')) {\r\n vm.subFolders = data;\r\n }\r\n };\r\n\r\n function navigateToFolder(sub) {\r\n $state.go(handbookActions.FolderAction, { folderId: sub.id });\r\n };\r\n\r\n function goToNewsList() {\r\n if ($state.$current.name == handbookActions.StartpageNews) {\r\n $state.go(handbookActions.NewsListAction, { pageIndex: user.currentNewsPage });\r\n } else {\r\n $state.go(handbookActions.NewsListAction);\r\n }\r\n }\r\n\r\n function buildOthersBreadcrumbs(requestParams) {\r\n switch (requestParams.itemType) {\r\n case handbookActions.HandbookAdminAction:\r\n addAdminBreadcrums();\r\n break;\r\n case handbookActions.HandbookManagementAction:\r\n addAdminBreadcrums();\r\n addHandbookBreadcrums();\r\n break;\r\n case handbookActions.DocumentTemplateAction:\r\n addAdminBreadcrums();\r\n addHandbookBreadcrums();\r\n vm.otherBreadcrumbs.push({\r\n id: handbookActions.DocumentTemplateAction,\r\n name: resources.L.Action.documentTypes,\r\n icon: 'fa fa-file-image-o'\r\n });\r\n break;\r\n case handbookActions.DocumentFieldsAction:\r\n addAdminBreadcrums();\r\n addHandbookBreadcrums();\r\n vm.otherBreadcrumbs.push({\r\n id: handbookActions.DocumentFieldsAction,\r\n name: resources.L.Action.fieldList,\r\n icon: 'fa fa-list-ul'\r\n });\r\n break;\r\n case handbookActions.RolesAction:\r\n addAdminBreadcrums();\r\n vm.otherBreadcrumbs.push({\r\n id: handbookActions.RolesAction,\r\n name: resources.L.Action.roles,\r\n icon: 'fs22 icon-ehand_tilgang2 vtca-tb'\r\n });\r\n break;\r\n case handbookActions.StaffManagementAction:\r\n addAdminBreadcrums();\r\n vm.otherBreadcrumbs.push({\r\n id: handbookActions.StaffManagementAction,\r\n name: resources.L.Action.staff,\r\n icon: 'fs20 typcn typcn-user-outline'\r\n });\r\n break;\r\n case handbookActions.DepartmentsManagementAction:\r\n addAdminBreadcrums();\r\n vm.otherBreadcrumbs.push({\r\n id: handbookActions.DepartmentsManagementAction,\r\n name: resources.L.Action.departments,\r\n icon: 'fs20 typcn typcn-group-outline'\r\n });\r\n\r\n broadcastService(broadcastType.sidebarNav, { id: sidebarTypes.DEPARTMENT });\r\n showSidebar();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (vm.otherBreadcrumbs != null && vm.otherBreadcrumbs.length > 0 && (requestParams.itemType != handbookActions.DepartmentsManagementAction)) {\r\n hideSidebar();\r\n } else {\r\n showSidebar();\r\n }\r\n }\r\n\r\n function showSidebar() {\r\n if (angular.element('body.sidebar-hidden').length || angular.element('body.sidebar-rtl').length) {\r\n angular.element('body').addClass('sidebar-ltr').removeClass('sidebar-hidden sidebar-rtl');\r\n angular.element('#toggle_sidemenu_l').show();\r\n }\r\n };\r\n\r\n function hideSidebar() {\r\n angular.element('body').addClass('sidebar-hidden').removeClass('sidebar-ltr sidebar-rtl');\r\n angular.element('#toggle_sidemenu_l').hide();\r\n angular.element('.navbar-brand').attr('style', 'margin-left: 40px;');\r\n }\r\n\r\n function addAdminBreadcrums() {\r\n vm.otherBreadcrumbs.push({\r\n id: handbookActions.HandbookAdminAction,\r\n name: resources.L.Action.admin,\r\n icon: 'fs20 typcn typcn-microphone-outline'\r\n });\r\n }\r\n\r\n function addHandbookBreadcrums() {\r\n vm.otherBreadcrumbs.push({\r\n id: handbookActions.HandbookManagementAction,\r\n name: resources.L.Action.handbook,\r\n icon: 'fa fa-folder-o'\r\n });\r\n }\r\n\r\n function buildBreadcrumbs(data) {\r\n var totalItem = data.length;\r\n\r\n //move root to result array\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].parentFolderId == null) {\r\n data[i].icon = getFolderIcon(data[i].type);\r\n data[i].iconMobile = getFolderIconMobile(data[i].levelType);\r\n vm.breadcrumbs.push(data[i]);\r\n data.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n //fill in the rest\r\n var currentItem = 0;\r\n while (vm.breadcrumbs.length != totalItem && currentItem <= vm.breadcrumbs.length) {\r\n for (var i = 0; i < data.length; i++) {\r\n if (vm.breadcrumbs[currentItem].id == data[i].parentFolderId) {\r\n data[i].icon = getFolderIcon(data[i].type);\r\n data[i].iconMobile = getFolderIconMobile(data[i].levelType);\r\n vm.breadcrumbs.push(data[i]);\r\n data.splice(i, 1);\r\n break;\r\n }\r\n }\r\n currentItem++;\r\n }\r\n vm.fullBreadcrumbs = angular.copy(vm.breadcrumbs);\r\n vm.fullBreadcrumbsMobile = angular.copy(vm.breadcrumbs).reverse();\r\n breadcrumbsCompact();\r\n };\r\n\r\n function breadcrumbsCompact() {\r\n vm.isBreadcrumbsCompact = false;\r\n vm.mobileView = false;\r\n $timeout(function () {\r\n var divBreadcrumb = angular.element('.np-breadcrumbs');\r\n var lineHeight = divBreadcrumb.height();\r\n var documentWidth = $(document).width();\r\n if (documentWidth > 667) {\r\n if (lineHeight > 28) {\r\n var arrTemp = [];\r\n if (vm.breadcrumbs && vm.breadcrumbs.length > 2) {\r\n vm.isBreadcrumbsCompact = true;\r\n arrTemp.push(vm.breadcrumbs[vm.breadcrumbs.length - 2]);\r\n arrTemp.push(vm.breadcrumbs[vm.breadcrumbs.length - 1]);\r\n vm.breadcrumbs = arrTemp;\r\n refreshScrollContentView();\r\n }\r\n }\r\n } else {\r\n if (lineHeight > 28) {\r\n var arrTemp = [];\r\n if (vm.breadcrumbs && vm.breadcrumbs.length > 1) {\r\n vm.mobileView = true;\r\n vm.isBreadcrumbsCompact = true;\r\n arrTemp.push(vm.breadcrumbs[vm.breadcrumbs.length - 1]);\r\n vm.breadcrumbs = arrTemp;\r\n refreshScrollContentView();\r\n }\r\n }\r\n }\r\n\r\n }, 100);\r\n };\r\n\r\n function showAllBreadcrumbs() {\r\n vm.isBreadcrumbsCompact = false;\r\n vm.mobileView = false;\r\n vm.breadcrumbs = angular.copy(vm.fullBreadcrumbs);\r\n refreshScrollContentView();\r\n };\r\n\r\n function updateBreadcrumbs() {\r\n vm.breadcrumbs = [];\r\n vm.otherBreadcrumbs = [];\r\n vm.url = $location.path();\r\n getBreadcrumbs();\r\n };\r\n\r\n $(window).on('resize', function () {\r\n vm.breadcrumbs = angular.copy(vm.fullBreadcrumbs);\r\n $timeout(function () {\r\n breadcrumbsCompact();\r\n }, 0, false);\r\n });\r\n\r\n function refreshScrollContentView() {\r\n if (vm.url.contains('document')) {\r\n adjustDocumentContentPosition();\r\n } else if (vm.url.contains('folder')) {\r\n adjustChapterContentPosition();\r\n }\r\n };\r\n\r\n function adjustChapterContentPosition() {\r\n var tabState = tabStateService.getState(tabStateType.chapterTabState);\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(tabState, tabStateType.chapterTabState);\r\n }, 0, false);\r\n };\r\n\r\n function adjustDocumentContentPosition() {\r\n var tabState = tabStateService.getState(tabStateType.documentTabState);\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(tabState, tabStateType.documentTabState);\r\n }, 0, false);\r\n }\r\n\r\n function getFolderIcon(folderType) {\r\n if (folderType != null) {\r\n switch (folderType.toString()) {\r\n case E.nodeTypes.Folder:\r\n return paths.FolderIcon;\r\n case E.nodeTypes.TopFolder:\r\n return paths.TopFolderIcon;\r\n case E.nodeTypes.DepartmentFolder:\r\n return paths.DepartmentFolderIcon;\r\n case E.nodeTypes.RegionalFolder:\r\n return paths.RegionalFolderIcon;\r\n default:\r\n return paths.FolderIcon;\r\n }\r\n } else {\r\n return paths.FolderIcon;\r\n }\r\n }\r\n\r\n function getFolderIconMobile(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return 'folder-blue-icon';\r\n case E.folderTypes.TopFolder:\r\n return 'folder-orange-icon';\r\n case E.folderTypes.DepartmentFolder:\r\n return 'folder-green-icon';\r\n case E.folderTypes.RegionalFolder:\r\n return 'folder-regional-icon';\r\n default:\r\n return 'folder-blue-icon';\r\n }\r\n }\r\n\r\n function goToFolder(folder) {\r\n window.open(`/folder/${folder.id}`, '_self');\r\n }\r\n }\r\n };\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n\t\t.directive('npCollapse', npCollapse)\r\n\t\t.directive('npCollapse3', npCollapse3);\r\n\r\n function npCollapse() {\r\n var directive = {\r\n restrict: 'EA',\r\n replace: true,\r\n template: 'kollapse',\r\n scope: {\r\n collapseTarget: '@'\r\n },\r\n link: linkFunction,\r\n controller: ['$scope', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n \r\n };\r\n\r\n function controller($scope) {\r\n var vm = this;\r\n\r\n vm.collapsed = collapsed;\r\n\r\n function collapsed() {\r\n angular.element('#' + $scope.collapseTarget).toggleClass('collapsed');\r\n angular.element('#' + $scope.collapseTarget + '_icon').toggleClass('collapsed-arrow').toggleClass('collapse-arrow');\r\n };\r\n };\r\n\t};\r\n\r\n\tfunction npCollapse3() {\r\n\t\tvar directive = {\r\n\t\t\trestrict: 'E',\r\n\t\t\treplace: true,\r\n\t\t\ttemplate: '',\r\n\t\t\tscope: {\r\n\t\t\t\tcollapseTarget: '@',\r\n\t\t\t\tonCollapsed: '&',\r\n\t\t\t\tcollapsedFlag: '='\r\n\t\t\t},\r\n\t\t\tlink: linkFunction,\r\n\t\t\tcontroller: ['$scope', controller],\r\n\t\t\tcontrollerAs: 'vm'\r\n\t\t};\r\n\r\n\t\treturn directive;\r\n\r\n\t\tfunction linkFunction(scope, el, attr, ctrl) {\r\n\r\n\t\t};\r\n\r\n\t\tfunction controller($scope) {\r\n\t\t\tvar vm = this;\r\n\t\t\tvm.collapsedFlag = angular.copy($scope.collapsedFlag);\r\n\t\t\tvm.collapsed = collapsed;\r\n\r\n\t\t\tfunction collapsed() {\r\n\t\t\t\tvm.collapsedFlag = !vm.collapsedFlag;\r\n\t\t\t\tangular.element('#' + $scope.collapseTarget).toggleClass('collapsed');\r\n\t\t\t\tangular.element('#' + $scope.collapseTarget + '_icon').toggleClass('collapsed-arrow').toggleClass('collapse-arrow');\r\n\t\t\t\t$scope.onCollapsed({ collapsedFlag: vm.collapsedFlag });\r\n\t\t\t};\r\n\r\n\t\t};\r\n\t};\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npCollapseLeft', npCollapse);\r\n\r\n function npCollapse() {\r\n var directive = {\r\n restrict: 'EA',\r\n replace: true,\r\n template: '',\r\n scope: {\r\n collapseTarget: '@',\r\n onCollapsed: '&'\r\n },\r\n link: linkFunction,\r\n controller: ['$scope', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n\r\n };\r\n\r\n function controller($scope) {\r\n var vm = this;\r\n vm.collapsedFlag = false;\r\n vm.collapsed = collapsed;\r\n\r\n function collapsed() {\r\n vm.collapsedFlag = !vm.collapsedFlag;\r\n angular.element('#' + $scope.collapseTarget).toggleClass('collapsed');\r\n angular.element('#' + $scope.collapseTarget + '_icon').toggleClass('group-collapsed-arrow').toggleClass('group-collapse-arrow');\r\n $scope.onCollapsed({ collapsedFlag: vm.collapsedFlag });\r\n };\r\n };\r\n };\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.provider('customDirectivesPath', function customDirectivesPathProvider() {\r\n var self = this;\r\n this.customPath = '~';\r\n\r\n this.$get = [function customDirectivesPathFactory() {\r\n return self.customPath;\r\n }];\r\n\r\n });\r\n\r\n directivesModule.provider(\"datePickerConfig\", function () {\r\n\r\n var self = this;\r\n this.config = {\r\n dateFormat: \"dd.MM.yyyy\",\r\n timeFormat: \"h:mm tt\"\r\n };\r\n\r\n this.$get = [function datePickerConfigFactory() {\r\n return self.config;\r\n }];\r\n });\r\n\r\n directivesModule.directive('customDatepicker', ['customDirectivesPath', function (customDirectivesPath) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n scope: {\r\n id: '@id',\r\n name: '@name',\r\n ngModel: '=ngModel',\r\n minDate: '=minDate',\r\n maxDate: \"=maxDate\",\r\n ngRequired: '=ngRequired',\r\n ngDisabled: '=ngDisabled',\r\n appendtoBody: '@appendtoBody',\r\n onChange: '&onChange',\r\n textboxClass: '@',\r\n focusElement: '=focusElement'\r\n },\r\n templateUrl: paths.DatePickerView,\r\n controller: ['$scope', function ($scope) {\r\n var patt = /Date\\(\\d+\\)/g;\r\n var pattLongDate = /\\d+/g;\r\n if ($scope.minDate) {\r\n if (!($scope.minDate instanceof Date)) {\r\n var isminDateMath = patt.test($scope.minDate);\r\n if (isminDateMath) {\r\n var longMinDate = $scope.minDate.match(pattLongDate);\r\n $scope.minDate = new Date(parseInt(longMinDate));\r\n }\r\n }\r\n }\r\n if ($scope.maxDate) {\r\n if (!($scope.maxDate instanceof Date)) {\r\n var ismaxDateMath = patt.test($scope.maxDate);\r\n if (ismaxDateMath) {\r\n var longMaxDate = $scope.maxDate.match(pattLongDate);\r\n $scope.maxDate = new Date(parseInt(longMaxDate));\r\n }\r\n }\r\n }\r\n\r\n if ($scope.ngModel) {\r\n var isMath = patt.test($scope.ngModel);\r\n if (isMath) {\r\n var longDate = $scope.ngModel.match(pattLongDate);\r\n $scope.ngModel = new Date(parseInt(longDate));\r\n } else {\r\n $scope.ngModel = new Date($scope.ngModel);\r\n }\r\n }\r\n\r\n $scope.dateOptions = {\r\n formatYear: 'yy',\r\n startingDay: 1,\r\n showWeeks: false,\r\n minDate: $scope.minDate,\r\n maxDate: $scope.maxDate\r\n };\r\n\r\n $scope.$watch('minDate', function (newValue) {\r\n $scope.dateOptions.minDate = newValue;\r\n });\r\n\r\n $scope.$watch('maxDate', function (newValue) {\r\n $scope.dateOptions.maxDate = newValue;\r\n });\r\n\r\n $scope.translation = globalResources;\r\n }],\r\n link: function ($scope, element, attrs) {\r\n\r\n $scope.open = function ($event) {\r\n var objectDate = angular.element(\".uib-datepicker-popup.dropdown-menu\");\r\n if (objectDate) {\r\n objectDate.css(\"display\", \"none\");\r\n }\r\n $scope.opened = false;\r\n setTimeout(function () {\r\n $scope.$apply(function () {\r\n $scope.opened = true;\r\n });\r\n }, 1);\r\n\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n };\r\n $scope.$watch(\"ngModel\", function (newValue, oldValue) {\r\n if (newValue && newValue != oldValue) {\r\n var patt = /Date\\(\\d+\\)/g;\r\n var pattLongDate = /\\d+/g;\r\n var isMath = patt.test(newValue);\r\n if (isMath) {\r\n var longDate = newValue.match(pattLongDate);\r\n $scope.ngModel = new Date(parseInt(longDate));\r\n }\r\n\r\n $scope.onChange();\r\n }\r\n });\r\n $scope.$watch('focusElement', function (value) {\r\n if (value) {\r\n element[0].firstElementChild.focus();\r\n $scope.focusElement = false;\r\n }\r\n });\r\n }\r\n }\r\n }]);\r\n\r\n directivesModule.directive('uibDatepickerPopupConfig', ['uibDatepickerConfig', function (uibDatepickerConfig) {\r\n return {\r\n priority: 1,\r\n require: 'ngModel',\r\n link: function (scope, ele, attrs, ctrl) {\r\n\r\n var isDateTimeInputValid = function (dateFormat, value) {\r\n var pattString = '^[\\\\d]{1,2}\\\\/[\\\\d]{1,2}\\\\/[\\\\d]{4}$';\r\n\r\n if (dateFormat.indexOf('.') > 0) {\r\n pattString = pattString.replace(new RegExp('\\\\/', 'g'), '.');\r\n } else if (dateFormat.indexOf('-') > 0) {\r\n pattString = pattString.replace('/', '-');\r\n }\r\n\r\n var patt = new RegExp(pattString);\r\n var match = patt.test(value);\r\n\r\n return match;\r\n };\r\n\r\n var dateLocallize = uibDatepickerConfig.dateFormat;\r\n ele.attr('title', dateLocallize);\r\n\r\n ctrl.$parsers.unshift(function (viewValue) {\r\n\r\n if (typeof viewValue != \"object\" && viewValue) {\r\n\r\n var match = isDateTimeInputValid(dateLocallize, viewValue);\r\n\r\n ctrl.$setValidity('uibDatepickerPopupConfig', match ? true : false);\r\n //if viewValue is not a date, does not parse to date time\r\n if (!match) {\r\n viewValue = undefined;\r\n }\r\n } else {\r\n ctrl.$setValidity('uibDatepickerPopupConfig', true);\r\n }\r\n return viewValue;\r\n });\r\n }\r\n }\r\n }]);\r\n})();\r\n","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npDepartment', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$http', '$timeout', controller],\r\n controllerAs: 'vm',\r\n scope: {\r\n getDepartment: '=',\r\n dselected: '=',\r\n dselectedList: '=?',\r\n cssclass: '@',\r\n treeClass: '@',\r\n moduleClass: '@',\r\n indexControl: '=?'\r\n },\r\n templateUrl: '/app/shared/directives/department.tpl.html',\r\n link: function (scope, element, attr) {\r\n scope.isDropdownShown = false;\r\n scope.isSearchResultShown = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.isDropdownShown = false;\r\n scope.isSearchResultShown = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, $http, $timeout) {\r\n var vm = this;\r\n\r\n vm.currentDepartmentIndex = -1;\r\n\r\n vm.selectDepartmentFromDropdown = selectDepartmentFromDropdown;\r\n vm.selectDepartmentFromSearchResult = selectDepartmentFromSearchResult;\r\n vm.handleExpand = handleExpand;\r\n vm.toggle = toggle;\r\n vm.clearDepartment = clearDepartment;\r\n vm.onDepartmentKeyup = onDepartmentKeyup;\r\n vm.onSearchDepartmentSelect = onSearchDepartmentSelect;\r\n vm.isDisabledDepartment = isDisabledDepartment;\r\n vm.showSearchResult = showSearchResult;\r\n vm.showDropdown = showDropdown;\r\n\r\n vm.initialize = function () {\r\n if ($scope.indexControl == undefined) {\r\n $scope.indexControl = '1';\r\n }\r\n vm.searchDepartments = [];\r\n $http.get('/api/Users/GetDepartments', { params: { departmentId: null, onlyTreeRootNode: true } })\r\n .success(function (data, status, headers, config) {\r\n vm.departments = data;\r\n angular.forEach(vm.departments, function (department) {\r\n angular.extend(department, {\r\n cssClass: 'fa fa-share-alt'\r\n });\r\n });\r\n\r\n vm.selectedParentDepartment = $scope.dselected;\r\n vm.selectedDepartment = angular.copy($scope.dselected);\r\n if (vm.selectedParentDepartment != null && vm.selectedParentDepartment.name.length > 0) {\r\n updateDepartmentGUI();\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n vm.departments = null;\r\n });\r\n }\r\n\r\n function selectDepartmentFromDropdown(node) {\r\n if ((vm.selectedDepartment != null && node.$modelValue.id == vm.selectedDepartment.id)\r\n || isDisabledDepartment($scope.dselected, $scope.dselectedList, node.$modelValue)) {\r\n return;\r\n }\r\n $scope.getDepartment(node.$modelValue);\r\n $scope.isDropdownShown = false;\r\n vm.selectedParentDepartment = node.$modelValue;\r\n updateDepartmentGUI();\r\n }\r\n\r\n function selectDepartmentFromSearchResult(department) {\r\n if (isDisabledDepartment($scope.dselected, $scope.dselectedList, department)) {\r\n return;\r\n }\r\n $scope.getDepartment(department);\r\n $scope.isSearchResultShown = false;\r\n vm.selectedParentDepartment = department;\r\n updateDepartmentGUI();\r\n }\r\n\r\n function handleExpand(expanded, itemId, selectedNode) {\r\n if (expanded == true) {\r\n\r\n //sibling is the data which bind with the scope. So if we modify sibling, it will reflect to $scope.list\r\n var siblings = selectedNode.$parentNodeScope == null ? selectedNode.vm.departments : selectedNode.$parentNodeScope.$modelValue.items;\r\n var modelValue = selectedNode.$modelValue;\r\n if (modelValue.isLoaded) {\r\n return;\r\n } else {\r\n modelValue.isLoaded = true;\r\n }\r\n\r\n $http.get('/api/Users/GetDepartments', { params: { departmentId: itemId } })\r\n .success(function (data, status, headers, config) {\r\n if (data != null && data.length > 0) {\r\n var length = siblings.length;\r\n for (var i = 0; i < length; i++) {\r\n if (siblings[i].id == itemId && siblings[i].id != 0) {\r\n angular.forEach(data, function (department) {\r\n angular.extend(department, {\r\n cssClass: 'fa fa-share-alt'\r\n });\r\n });\r\n\r\n if (siblings[i].items == null) {\r\n siblings[i].items = [];\r\n }\r\n siblings[i].items = siblings[i].items.concat(data);;\r\n break;\r\n }\r\n }\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n // TODO: log error\r\n });\r\n }\r\n }\r\n\r\n function toggle(scope) {\r\n scope.toggle();\r\n };\r\n\r\n function clearDepartment() {\r\n $(ELEMENT_SELECTORS.DepartmentSelectionInputSelector + $scope.indexControl).val('').focus();\r\n $(ELEMENT_SELECTORS.DepartmentSelectionContainerSelector + $scope.indexControl).removeClass(ELEMENT_SELECTORS.DepartmentContainerClassSelector);\r\n $(ELEMENT_SELECTORS.DepartmentSelectionClearSelector + $scope.indexControl).hide();\r\n vm.selectedParentDepartment = null;\r\n $scope.getDepartment({\r\n address1: '',\r\n address2: '',\r\n address3: '',\r\n country: '',\r\n countryId: null,\r\n cssClass: '',\r\n description: '',\r\n email: '',\r\n fax: '',\r\n id: null,\r\n isCompany: false,\r\n name: '',\r\n organizationNo: '',\r\n parentId: null,\r\n path: '',\r\n phone: '',\r\n url: '',\r\n visitAddress1: '',\r\n visitAddress2: '',\r\n visitAddress3: ''\r\n });\r\n };\r\n\r\n function onDepartmentKeyup(e) {\r\n if ((e.which === 8 || e.which == 46)) {\r\n if ($(e.target).val() == '') {\r\n $(ELEMENT_SELECTORS.DepartmentSelectionContainerSelector + $scope.indexControl).removeClass(ELEMENT_SELECTORS.DepartmentContainerClassSelector);\r\n }\r\n } else {\r\n if ($(e.target).val() != '') {\r\n updateDepartmentGUI();\r\n }\r\n }\r\n\r\n if (vm.selectedParentDepartment) {\r\n getDepartmentsOnTyping(vm.selectedParentDepartment.path);\r\n }\r\n\r\n onDataNavigating(e);\r\n };\r\n\r\n function updateDepartmentGUI() {\r\n $timeout(function () {\r\n $(ELEMENT_SELECTORS.DepartmentSelectionInputSelector + $scope.indexControl).next().toggle(Boolean($(ELEMENT_SELECTORS.DepartmentSelectionInputSelector + $scope.indexControl).val()));\r\n $(ELEMENT_SELECTORS.DepartmentSelectionContainerSelector + $scope.indexControl).addClass(ELEMENT_SELECTORS.DepartmentContainerClassSelector);\r\n $(ELEMENT_SELECTORS.DepartmentSelectionInputSelector + $scope.indexControl).focus();\r\n }, 0, false);\r\n };\r\n\r\n function onSearchDepartmentSelect($item, $model, $label) {\r\n if (!isDisabledDepartment($scope.dselected, $scope.dselectedList, $item)) {\r\n $scope.getDepartment($item);\r\n vm.selectedParentDepartment = $item;\r\n updateDepartmentGUI();\r\n } else {\r\n clearDepartment();\r\n }\r\n };\r\n\r\n function isDisabledDepartment(dselected, dselectedList, department) {\r\n if (dselected) {\r\n if (department.id == dselected.id) {\r\n return true;\r\n }\r\n }\r\n\r\n if (dselectedList) {\r\n for (var i = 0; i < dselectedList.length; i++) {\r\n if (department.id == dselectedList[i].id) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function getDepartmentsOnTyping(keyword) {\r\n if (keyword.length >= 2) {\r\n $http.get(handbookRequests.SearchDepartmentsRequest, {\r\n params: { 'keyword': keyword }\r\n })\r\n .then(function (response, status, headers, config) {\r\n vm.searchDepartments = response.data;\r\n angular.forEach(vm.searchDepartments, function (department) {\r\n angular.extend(department, {\r\n cssClass: 'fa fa-share-alt'\r\n });\r\n });\r\n });\r\n } else {\r\n vm.searchDepartments = [];\r\n }\r\n };\r\n\r\n $scope.$watch('dselected', function (newValue, oldValue) {\r\n if (newValue != null && newValue != oldValue) {\r\n vm.selectedParentDepartment = newValue;\r\n vm.selectedDepartment = newValue;\r\n updateDepartmentGUI();\r\n }\r\n });\r\n\r\n function showSearchResult() {\r\n $scope.isDropdownShown = false;\r\n $scope.isSearchResultShown = true;\r\n vm.selectedDepartment = null;\r\n }\r\n\r\n function showDropdown() {\r\n $scope.isSearchResultShown = false;\r\n $scope.isDropdownShown = true;\r\n }\r\n\r\n function onDataNavigating($event) {\r\n if (($event.which == 38 || $event.which == 40) && $scope.isSearchResultShown) {\r\n setCurrentItemInSearchResult($event.which);\r\n } else if ($event.which == 13 && vm.currentSearchDepartment) {\r\n selectDepartmentFromSearchResult(vm.currentSearchDepartment)\r\n }\r\n }\r\n\r\n function setCurrentItemInSearchResult(keyCode) {\r\n if (keyCode == 38 && vm.currentDepartmentIndex > 0) {\r\n vm.currentDepartmentIndex -= 1;\r\n }\r\n\r\n if (keyCode == 40 && vm.currentDepartmentIndex < vm.searchDepartments.length - 1) {\r\n vm.currentDepartmentIndex += 1;\r\n }\r\n\r\n if ((keyCode == 38 || keyCode == 40) && (vm.currentDepartmentIndex < vm.searchDepartments.length)) {\r\n vm.currentSearchDepartment = vm.searchDepartments[vm.currentDepartmentIndex];\r\n }\r\n }\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n directivesModule.directive('dropdownList',['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n scope: {\r\n items: '=',\r\n selectedItem: '=',\r\n disabledControl: '=',\r\n registerItemId: '=',\r\n isRegisterItem: '='\r\n },\r\n controller: ['$window', '$scope', '$filter', '$timeout', dropdownListController],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/directives/dropdownListTemplate.html',\r\n link: function (scope, element, attrs, ctrl) {\r\n scope.translation = globalResources;\r\n scope.valueName = 'id';\r\n scope.textName = 'name';\r\n\r\n if (attrs.value) {\r\n scope.valueName = attrs.value;\r\n }\r\n\r\n if (attrs.text) {\r\n scope.textName = attrs.text;\r\n }\r\n\r\n if (attrs.disabledField) {\r\n scope.disabled = attrs.disabledField;\r\n }\r\n\r\n if (attrs.disabledInfo) {\r\n scope.disabledInfo = attrs.disabledInfo;\r\n }\r\n\r\n if (attrs.iconClasses) {\r\n scope.iconClasses = attrs.iconClasses;\r\n }\r\n\r\n if(attrs.searchable){\r\n scope.searchable = attrs.searchable == 'true';\r\n }\r\n if (attrs.isRegisterItem) {\r\n scope.isRegisterItem = attrs.isRegisterItem == 'true';\r\n }\r\n\r\n scope.$watch('items', function (items) {\r\n scope.visibleItems = items;\r\n });\r\n\r\n scope.showDropdownList = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showDropdownList = false;\r\n scope.$apply();\r\n });\r\n\r\n }\r\n }\r\n }]);\r\n\r\n function dropdownListController($window, $scope, $filter, $timeout) {\r\n var vm = this;\r\n\r\n vm.nextPage = nextPage;\r\n vm.selectItem = selectItem;\r\n vm.removeCurrentItem = removeCurrentItem;\r\n vm.onSearch = onSearch;\r\n vm.onDataNavigating = onDataNavigating;\r\n vm.onEnter = onEnter;\r\n vm.registerItemId = $scope.registerItemId;\r\n\r\n vm.currentRowIndex = 0;\r\n var infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n\r\n vm.infiniteItems = [];\r\n vm.busy = false;\r\n vm.newTotalItems = 0;\r\n vm.selectedItemText = '';\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n vm.visibleItems = [];\r\n vm.infiniteItems = getAPage();\r\n vm.showPopup = showPopup;\r\n vm.showPopupWhenClickInput = showPopupWhenClickInput;\r\n\r\n function selectItem(item, index) {\r\n if ($scope.disabled && !item[$scope.disabled]) {\r\n return;\r\n }\r\n $scope.selectedItem = item;\r\n vm.selectedItem = item; \r\n if ($scope.isRegisterItem) {\r\n vm.registerItemId = item.registerItemId;\r\n $scope.registerItemId = item.registerItemId;\r\n }\r\n \r\n $scope.showDropdownList = false;\r\n vm.selectedItemText = item[$scope.textName];\r\n vm.currentItem = item;\r\n vm.currentIndex = index;\r\n }\r\n\r\n function showPopup() {\r\n if (!$scope.disabledControl) {\r\n $scope.showDropdownList = !$scope.showDropdownList;\r\n }\r\n }\r\n\r\n function showPopupWhenClickInput() {\r\n if (!$scope.disabledControl) {\r\n if (!$scope.searchable) {\r\n $scope.showDropdownList = !$scope.showDropdownList;\r\n }\r\n }\r\n }\r\n\r\n function removeCurrentItem() {\r\n vm.selectedItemText = '';\r\n if ($scope.isRegisterItem) {\r\n vm.registerItemId = null;\r\n $scope.registerItemId = null;\r\n }\r\n resetData();\r\n if ($scope.visibleItems.length > 0)\r\n vm.visibleItems = $scope.visibleItems.slice();\r\n nextPage();\r\n }\r\n \r\n\r\n function onSearch(keyEvent) {\r\n if (keyEvent.which != 38 && keyEvent.which != 40) {\r\n if (keyEvent.which == 13) {\r\n enterSelectItem();\r\n }\r\n else {\r\n $scope.showDropdownList = true;\r\n resetData();\r\n var searchObject = {};\r\n searchObject[$scope.textName] = vm.selectedItemText;\r\n if ($scope.visibleItems.length > 0) {\r\n var itemsVisible = $scope.visibleItems.slice();\r\n vm.visibleItems = $filter('filter')(itemsVisible, searchObject);\r\n nextPage();\r\n }\r\n }\r\n }\r\n };\r\n\r\n function onEnter(keyEvent) {\r\n if (keyEvent.which == 13) {\r\n enterSelectItem();\r\n }\r\n };\r\n\r\n function onDataNavigating(keyEvent) {\r\n if ((keyEvent.which == 38 || keyEvent.which == 40) && $scope.showDropdownList) {\r\n setcurrentItemInPopup(keyEvent.which);\r\n }\r\n };\r\n\r\n function setcurrentItemInPopup(keyCode) {\r\n if (keyCode == 38 && vm.currentIndex > 0) {\r\n vm.currentIndex -= 1;\r\n vm._scrollHeight -= 24;\r\n } \r\n if (keyCode == 40 && vm.currentIndex < vm.infiniteItems.length - 1) {\r\n vm.currentIndex += 1;\r\n vm._scrollHeight += 24;\r\n }\r\n if (vm.currentIndex == 0)\r\n vm._scrollHeight = 0;\r\n if ((keyCode == 40 && vm._scrollHeight + 10 > angular.element('#selectId')[0].clientHeight) || (keyCode == 38))\r\n angular.element('#selectId')[0].scrollTop = vm._scrollHeight;\r\n \r\n if (vm.currentIndex < vm.infiniteItems.length) {\r\n vm.currentItem = vm.infiniteItems[vm.currentIndex];\r\n }\r\n };\r\n\r\n function getAPage() {\r\n if (vm.visibleItems != undefined) {\r\n var data = [];\r\n var startIndex = vm.currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if (vm.currentRowIndex < vm.visibleItems.length) {\r\n data.push(vm.visibleItems[i]);\r\n vm.currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return data;\r\n }\r\n }\r\n\r\n $scope.$watch('items', function (items) {\r\n resetData();\r\n $scope.visibleItems = items;\r\n if ($scope.visibleItems !=null && $scope.visibleItems !=undefined && $scope.visibleItems.length > 0)\r\n {\r\n vm.visibleItems = $scope.visibleItems.slice();\r\n vm.infiniteItems = getAPage();\r\n }else\r\n {\r\n vm.visibleItems = null;\r\n vm.infiniteItems = null;\r\n }\r\n });\r\n\r\n $scope.$watch('selectedItem', function (selectedItem) {\r\n if (selectedItem != null && selectedItem != undefined) {\r\n vm.selectedItem = selectedItem;\r\n vm.selectedItemText = selectedItem[$scope.textName];\r\n vm.currentItem = selectedItem;\r\n } else {\r\n vm.selectedItemText = '';\r\n vm.selectedItem = null;\r\n vm.currentItem = null;\r\n }\r\n });\r\n\r\n function nextPage() {\r\n if (vm.busy) return;\r\n vm.busy = true;\r\n if (vm.infiniteItems != undefined) {\r\n if (infiniteScrollLoadsize == 0) {\r\n vm.infiniteItems = scope.visibleItems;\r\n } else {\r\n if (vm.infiniteItems.length <= vm.newTotalItems) {\r\n vm.infiniteItems = vm.infiniteItems.concat(getAPage());\r\n }\r\n }\r\n vm.newTotalItems = vm.infiniteItems.length;\r\n }\r\n vm.busy = false;\r\n };\r\n\r\n function resetData() {\r\n $scope.selectedItem = null;\r\n vm.selectedItem = null;\r\n vm.currentItem = null; \r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n vm.currentRowIndex = 0;\r\n vm.infiniteItems = [];\r\n };\r\n\r\n function enterSelectItem() {\r\n if (vm.currentItem != null && (($scope.disabled && vm.currentItem[$scope.disabled]) || $scope.disabled == undefined || $scope.disabled == null)) {\r\n $scope.selectedItem = vm.currentItem;\r\n vm.selectedItem = vm.currentItem;\r\n $scope.showDropdownList = false;\r\n vm.selectedItemText = vm.currentItem[$scope.textName];\r\n }\r\n };\r\n }\r\n})();","(function () {\r\n angular\r\n .module('servicesModule')\r\n .controller('dialogExporter', ['$window', '$scope', '$http', '$stateParams', 'ngDialog', 'commonService', dialogExporter]);\r\n\r\n function dialogExporter($window, $scope, $http, $stateParams, ngDialog, commonService) {\r\n $scope.resources = globalResources;\r\n $scope.isExportExcel = true;\r\n $scope.fileName = $scope.ngDialogData.fileName;\r\n\r\n $scope.submit = submit;\r\n $scope.cancel = cancel;\r\n $scope.toggleExcelExport = toggleExcelExport;\r\n $scope.toggleWordExport = toggleWordExport;\r\n\r\n //init current language\r\n $scope.language = commonService.getCurrentLanguageText();\r\n\r\n function toggleExcelExport() {\r\n $scope.isExportWord = false;\r\n }\r\n\r\n function toggleWordExport() {\r\n $scope.isExportExcel = false;\r\n }\r\n\r\n function submit() {\r\n var extension = $scope.isExportExcel ? \"xlsx\" : \"docx\";\r\n\r\n var url = '';\r\n var exportParams = $scope.ngDialogData.exportParams;\r\n\r\n if ($scope.ngDialogData.exporterUrl && $scope.ngDialogData.exporterUrl.length) {\r\n url = $scope.ngDialogData.exporterUrl;\r\n exportParams.exportType = $scope.isExportExcel ? E.ExportTypes.Excel : E.ExportTypes.Word;\r\n } else {\r\n url = $scope.isExportExcel ? $scope.ngDialogData.excelExporterUrl : $scope.ngDialogData.wordExporterUrl;\r\n }\r\n\r\n $scope.ngDialogData.exportParams.language = $scope.language;\r\n $http({\r\n url: url,\r\n method: 'POST',\r\n data: $scope.ngDialogData.exportParams,\r\n responseType: 'blob'\r\n })\r\n .success(function (data) {\r\n ngDialog.close();\r\n var fileName = $scope.fileName + \".\" + extension;\r\n $window.saveAs(data, fileName);\r\n });\r\n }\r\n\r\n function cancel() {\r\n ngDialog.close();\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n\r\n /*\r\n Examples:\r\n - step 1: inject service 'npDialog'\r\n - step 2: \r\n npDialog.showDialog(\r\n {\r\n type: dialogTypes.OK,\r\n message: resources.M.Document.confirmDeleteDocumentTemplates,\r\n title: resources.L.Action.deleteDocumentType\r\n });\r\n */\r\n angular.module('servicesModule').service('npDialog', npDialog);\r\n npDialog.$inject = ['$uibModal'];\r\n\r\n function npDialog($uibModal) {\r\n var service = {\r\n showDialog: showDialog\r\n };\r\n\r\n return service;\r\n\r\n function showDialog(dialogInfo, dialogCloseCallback) {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/shared/dialogs/npDialog.html',\r\n controller: 'DialogController as vm',\r\n size: 'lg',\r\n backdrop: (dialogInfo.backdrop == null) ? true : dialogInfo.backdrop,\r\n resolve: {\r\n dialogInfo: function () {\r\n return dialogInfo;\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(function (data) {\r\n dialogCloseCallback(data);\r\n });\r\n }\r\n };\r\n\r\n angular.module('servicesModule')\r\n .controller('DialogController', dialogController);\r\n\r\n dialogController.$inject = ['$scope', '$uibModalInstance', '$sce', 'dialogInfo'];\r\n function dialogController($scope, $modalInstance, $sce, dialogInfo) {\r\n var vm = this;\r\n $scope.translation = globalResources;\r\n $scope.dialogInfo = dialogInfo;\r\n $scope.confirm = confirm;\r\n $scope.cancel = cancel;\r\n\r\n $scope.dialogInfo.message = $sce.trustAsHtml($scope.dialogInfo.message);\r\n\r\n vm.enableButton = false;\r\n vm.hearingEmailNotification = HandbookConfiguration.HearingDocApprovedNotification.toUpperCase() == \"TRUE\";\r\n var html = '
';\r\n html += \"
\" + $scope.translation.HearingEmailNotificationTooltip;\r\n html += \"
\";\r\n html += '
';\r\n vm.hearingEmailNotificationTooltip = $sce.trustAsHtml(html);\r\n\r\n $scope.initialize = function () {\r\n vm.donotShowAgain = false;\r\n vm.shouldApplyRecursive = true;\r\n if ($scope.dialogInfo.title == '' || $scope.dialogInfo.title == null) {\r\n switch ($scope.dialogInfo.type) {\r\n case dialogTypes.OK:\r\n $scope.dialogInfo.title = $scope.translation.InformDialogTitle;\r\n break;\r\n case dialogTypes.OK_CANCEL:\r\n case dialogTypes.YES_NO:\r\n $scope.dialogInfo.title = $scope.translation.ConfirmDialogTitle;\r\n break;\r\n default:\r\n $scope.dialogInfo.title = $scope.translation.InformDialogTitle;\r\n break;\r\n }\r\n }\r\n if ($scope.dialogInfo.enableButton != null) {\r\n vm.enableButton = $scope.dialogInfo.enableButton;\r\n }\r\n }\r\n\r\n function confirm($event) {\r\n if ($scope.dialogInfo.toggleDonotShowAgain) {\r\n $modalInstance.close({ result: dialogResults.CONFIRM, donotShowAgain: vm.donotShowAgain });\r\n } else if ($scope.dialogInfo.toggleApplyRecursive) {\r\n $modalInstance.close({ result: dialogResults.CONFIRM, shouldApplyRecursive: vm.shouldApplyRecursive });\r\n } if ($scope.dialogInfo.toggleReason) {\r\n $modalInstance.close({ result: dialogResults.CONFIRM, reason: vm.reason, emailNotification: vm.hearingEmailNotification });\r\n } else {\r\n $modalInstance.close(dialogResults.CONFIRM);\r\n }\r\n }\r\n\r\n function cancel($event) {\r\n if ($scope.dialogInfo.toggleDonotShowAgain) {\r\n $modalInstance.close({ result: dialogResults.CANCEL, donotShowAgain: vm.donotShowAgain });\r\n } else if ($scope.dialogInfo.toggleApplyRecursive) {\r\n $modalInstance.close({ result: dialogResults.CANCEL, shouldApplyRecursive: vm.shouldApplyRecursive });\r\n } if ($scope.dialogInfo.toggleReason) {\r\n $modalInstance.close({ result: dialogResults.CANCEL, reason: vm.reason });\r\n } else {\r\n $modalInstance.close(dialogResults.CANCEL);\r\n }\r\n }\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npEmailSubscriptionButton', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n controller: ['$scope', '$http', 'configService', controller],\r\n controllerAs: 'vm',\r\n templateUrl: paths.EmailSubscriptionView,\r\n scope: {\r\n folderId: '=',\r\n hasEmailSubscription: '=',\r\n hasOnlyFolderEmailSubscription: '=',\r\n readonlyFolderEmailSubscription: '='\r\n },\r\n link: function (scope, element, attr) {\r\n\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $http, configService) {\r\n var vm = this;\r\n $scope.requestUrl = '';\r\n $scope.requestType = '';\r\n vm.translation = globalResources;\r\n\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n\r\n vm.addRecursiveFolderEmailSubscription = addRecursiveFolderEmailSubscription;\r\n vm.remoteRecursiveFolderEmailSubscription = remoteRecursiveFolderEmailSubscription;\r\n vm.addOnlyFolderEmailSubscription = addOnlyFolderEmailSubscription;\r\n vm.reomteOnlyFolderEmailSubscription = reomteOnlyFolderEmailSubscription;\r\n\r\n function addRecursiveFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.AddEmailSubscription + '/' + $scope.folderId;\r\n\r\n $http.post(requestUrl)\r\n .then(function () {\r\n $scope.hasEmailSubscription = !$scope.hasEmailSubscription;\r\n $scope.hasOnlyFolderEmailSubscription = false;\r\n $scope.readonlyFolderEmailSubscription = true;\r\n });\r\n };\r\n\r\n function remoteRecursiveFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.RemoveEmailSubscription + '/' + $scope.folderId;\r\n\r\n $http.post(requestUrl)\r\n .then(function () {\r\n $scope.hasEmailSubscription = !$scope.hasEmailSubscription;\r\n $scope.readonlyFolderEmailSubscription = false;\r\n });\r\n }\r\n\r\n function addOnlyFolderEmailSubscription() {\r\n if (!$scope.readonlyFolderEmailSubscription) {\r\n var requestUrl = handbookRequests.AddOnlyFolderToEmailSubscription + '/' + $scope.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n $scope.hasOnlyFolderEmailSubscription = !$scope.hasOnlyFolderEmailSubscription;\r\n });\r\n }\r\n }\r\n\r\n function reomteOnlyFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.RemoveOnlyFolderFromEmailSubscription + '/' + $scope.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n $scope.hasOnlyFolderEmailSubscription = !$scope.hasOnlyFolderEmailSubscription;\r\n });\r\n }\r\n\r\n $scope.$on(broadcastType.toggleEmailSubscriptionTarget, function (e, target) {\r\n if (angular.element('#email-subscribe-folder-rec').hasClass('ng-hide')) {\r\n remoteRecursiveFolderEmailSubscription();\r\n } else {\r\n addRecursiveFolderEmailSubscription();\r\n }\r\n });\r\n\r\n $scope.$on(broadcastType.toggleOnlyFolderEmailSubscriptionTarget, function (e, target) {\r\n if (!vm.simpleSubscription) {\r\n if (angular.element('#email-subscribe-folder').hasClass('ng-hide')) {\r\n reomteOnlyFolderEmailSubscription();\r\n } else {\r\n addOnlyFolderEmailSubscription();\r\n }\r\n }\r\n });\r\n }\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npDocumentEmailFavorite', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n controller: ['$scope', '$http', controller],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/favoriteButton/documentEmailFavorite.html',\r\n scope: {\r\n documentId: '=',\r\n isEmailSubscribe: '='\r\n },\r\n link: function (scope, element, attr) {\r\n \r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $http) {\r\n var vm = this;\r\n vm.translation = globalResources;\r\n\r\n if (vm.translation.SubscribeToChanges.indexOf('\\n(CTRL + ALT + E)') <= 0) {\r\n vm.translation.SubscribeToChanges = vm.translation.SubscribeToChanges + '\\n(CTRL + ALT + E)';\r\n }\r\n\r\n vm.addDocumetEmailSubscription = addDocumetEmailSubscription;\r\n vm.remoteDocumetEmailSubscription = remoteDocumetEmailSubscription;\r\n \r\n function addDocumetEmailSubscription() {\r\n var requestUrl = handbookRequests.AddEmailSubscriptionDocument + '/' + $scope.documentId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n $scope.isEmailSubscribe = !$scope.isEmailSubscribe;\r\n });\r\n };\r\n\r\n function remoteDocumetEmailSubscription() {\r\n var requestUrl = handbookRequests.RemoveEmailSubscriptionDocument + '/' + $scope.documentId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n $scope.isEmailSubscribe = !$scope.isEmailSubscribe;\r\n });\r\n };\r\n\r\n $scope.$on(broadcastType.toggleEmailSubscriptionTarget, function (e, target) {\r\n if (angular.element('#document-email-subscribe').hasClass('ng-hide')) {\r\n remoteDocumetEmailSubscription();\r\n } else {\r\n addDocumetEmailSubscription();\r\n }\r\n });\r\n }\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npFavoriteButton', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n controller: ['$scope', '$http', 'broadcastService', 'documentService', 'browserService', controller],\r\n templateUrl: paths.FavoriteButtonView,\r\n scope: {\r\n favoriteTargetId: '=',\r\n addRequestUrl: '=',\r\n removeRequestUrl: '=',\r\n targetData: '='\r\n },\r\n link: function (scope, element, attr) {\r\n scope.$watch('targetData.isFavorite', function (isFavorite) {\r\n if (isFavorite) {\r\n element.children()[0].className = scope.browserType == BrowserType.MOBILE ? cssClass.buttonFavoritedMobile : cssClass.buttonFavorited;\r\n scope.requestUrl = scope.removeRequestUrl;\r\n scope.requestType = requestType.removeRequest;\r\n }\r\n else {\r\n element.children()[0].className = scope.browserType == BrowserType.MOBILE ? cssClass.buttonFavoriteMobile : cssClass.buttonFavorite;\r\n scope.requestUrl = scope.addRequestUrl;\r\n scope.requestType = requestType.addRequest;\r\n }\r\n\r\n if (scope.targetData.isFavoriteReadonly) {\r\n element.children()[0].className += ' ' + cssClass.disabled;\r\n scope.Content = globalResources.ForcedFolderHint;\r\n if (scope.targetData.type == E.folderTypes.DepartmentFolder) {\r\n scope.Content = globalResources.DepartmentFolderHint;\r\n }\r\n } else {\r\n scope.Content = globalResources.Favorite;\r\n }\r\n }, true);\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $http, broadcastService, documentService, browserService) {\r\n $scope.requestUrl = '';\r\n $scope.requestType = '';\r\n $scope.translation = globalResources;\r\n\r\n $scope.favoriteButtonClick = favoriteButtonClick;\r\n $scope.BROWSER_TYPE = BrowserType;\r\n $scope.browserType = browserService.detectBrowserWindow();\r\n\r\n function favoriteButtonClick() {\r\n if (!$scope.targetData.isFavoriteReadonly) {\r\n var requestUrl = $scope.requestUrl + '/' + $scope.favoriteTargetId;\r\n\r\n $http.post(requestUrl)\r\n .then(function () {\r\n //change icon\r\n $scope.targetData.isFavorite = !$scope.targetData.isFavorite;\r\n //broadcast new favorite item\r\n\t\t\t\t\t\tvar currentDocument = documentService.getDocuments();\r\n\t\t\t\t\t\tif (currentDocument && currentDocument.documentInformation) {\r\n\t\t\t\t\t\t\tcurrentDocument.documentInformation.isFavorite = $scope.targetData.isFavorite;\r\n\t\t\t\t\t\t\tdocumentService.setDocuments(currentDocument);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n var target = {\r\n data: {\r\n id: $scope.targetData.documentId || $scope.targetData.id,\r\n name: $scope.targetData.name || $scope.targetData.documentName,\r\n type: $scope.targetData.nodeType,\r\n isDocument: ($scope.targetData.documentId != undefined)\r\n },\r\n requestType: $scope.requestType\r\n };\r\n\t\t\t\t\t\tbroadcastService(broadcastType.favoriteTarget, target);\r\n\t\t\t\t\t\tbroadcastService(broadcastType.favoriteUpdate, $scope.targetData.isFavorite);\r\n\t\t\t\t\t\t\r\n });\r\n }\r\n else {\r\n\r\n }\r\n };\r\n\r\n $scope.$on(broadcastType.toggleFavoriteTarget, function (e, target) {\r\n favoriteButtonClick();\r\n });\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npFeedbackButton', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n controller: ['$scope', '$http', '$uibModal', controller],\r\n templateUrl: paths.FeedbackButtonView,\r\n scope: {\r\n entityId: '='\r\n },\r\n };\r\n });\r\n\r\n function controller($scope, $http, $uibModal) {\r\n $scope.globalResources = globalResources;\r\n if ($scope.globalResources.Feedbacktooltip.indexOf('\\n(CTRL + ALT + T)') <= 0) {\r\n $scope.globalResources.Feedbacktooltip = $scope.globalResources.Feedbacktooltip + '\\n(CTRL + ALT + T)';\r\n }\r\n\r\n $scope.popupModal = function () {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.FeedbackModalView,\r\n controller: controllers.feedbackController,\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tentityId: $scope.entityId,\r\n\t\t\t\t\t\t\tpositive: null\r\n\t\t\t\t\t\t};\r\n }\r\n }\r\n });\r\n };\r\n\r\n $scope.$on(broadcastType.toggleDocumentFeedbackTarget, function (e, target) {\r\n $scope.popupModal();\r\n });\r\n }\r\n\r\n})();","(function () {\r\n var model = angular.module('feedbackModule', []);\r\n\r\n model.controller(controllers.feedbackController, ['$scope', '$http', '$uibModal', 'feedBackService', '$uibModalInstance', 'model', '$sce', 'configService',\r\n function ($scope, $http, $uibModal, feedBackService, $modalInstance, model, $sce, configService) {\r\n\r\n var vm = this;\r\n\r\n $scope.globalResources = angular.copy(globalResources);\r\n $scope.globalResources.Feedback_Message = $sce.trustAsHtml(globalResources.Feedback_Message);\r\n $scope.globalResources.Feedback_Message1 = $sce.trustAsHtml(globalResources.Feedback_Message1);\r\n $scope.globalResources.FeedBackCheckLabel = $sce.trustAsHtml(globalResources.FeedBackCheckLabel);\r\n $scope.globalResources.FeedBackCheckLabelA = $sce.trustAsHtml(globalResources.FeedBackCheckLabelA);\r\n $scope.globalResources.FeedBackCheckLabelB = $sce.trustAsHtml(globalResources.FeedBackCheckLabelB);\r\n $scope.globalResources.FeedBackCheckLabelC = $sce.trustAsHtml(globalResources.FeedBackCheckLabelC);\r\n $scope.globalResources.FeedBackCheckLabelD = $sce.trustAsHtml(globalResources.FeedBackCheckLabelD);\r\n $scope.globalResources.FeedBackCheckLabelE = $sce.trustAsHtml(globalResources.FeedBackCheckLabelE);\r\n $scope.globalResources.FeedBackCheckLabelF = $sce.trustAsHtml(globalResources.FeedBackCheckLabelF);\r\n $scope.globalResources.FeedBackCheckLabelG = $sce.trustAsHtml(globalResources.FeedBackCheckLabelG);\r\n $scope.globalResources.FeedBackCheckLabelH = $sce.trustAsHtml(globalResources.FeedBackCheckLabelH);\r\n\r\n $scope.feedBackLabels = [\r\n { value: 1, text: $scope.globalResources.FeedBackCheckLabelA, positive: true, result: 0 },\r\n { value: 2, text: $scope.globalResources.FeedBackCheckLabelB, positive: true, result: 0 },\r\n { value: 1, text: $scope.globalResources.FeedBackCheckLabelD, positive: false, result: 0 },\r\n { value: 2, text: $scope.globalResources.FeedBackCheckLabelE, positive: false, result: 0 },\r\n { value: 4, text: $scope.globalResources.FeedBackCheckLabelF, positive: false, result: 0 },\r\n { value: 8, text: $scope.globalResources.FeedBackCheckLabelG, positive: false, result: 0 },\r\n { value: 16, text: $scope.globalResources.FeedBackCheckLabelH, positive: false, result: 0 }\r\n ];\r\n\r\n if (HandbookConfiguration.RecipientsForFeedbackMail == E.RecipientsForFeedbackMail.OwnerOnly) {\r\n $scope.isOwnerOnly = true;\r\n }\r\n\r\n vm.enableExtendedFeedback = configService.getBool(HandbookConfiguration.EnableExtendedFeedback);\r\n $scope.enableExtendedFeedback = vm.enableExtendedFeedback;\r\n\r\n $scope.currentData = {\r\n\t\t\t\tpositive: model.positive,\r\n feedbackMessage: '',\r\n feedBack: 0,\r\n sendAlsoToApprover: false\r\n };\r\n\r\n $scope.sendFeedback = function () {\r\n if (vm.enableExtendedFeedback) {\r\n const selectedOption = getSelectedFeedBack();\r\n if (selectedOption) {\r\n $scope.currentData.feedbackMessage = selectedOption + $scope.currentData.feedbackMessage;\r\n\t\t\t\t\t}\r\n }\r\n if (!validFeedBack()) {\r\n alert(globalResources.PleaseEnterFeedback);\r\n return false;\r\n }\r\n return feedBackService\r\n\t\t\t\t\t.sendFeedback(model.entityId, $scope.currentData)\r\n .then(function (response) {\r\n if (response) {\r\n $modalInstance.close(true);\r\n resetCurrentData();\r\n alert(globalResources.ThanksForYourFeedback);\r\n }\r\n });\r\n };\r\n\r\n $scope.close = function () {\r\n $modalInstance.close(true);\r\n };\r\n\r\n $scope.calculateFeedBack = function () {\r\n var count = 0;\r\n\r\n var feedBackLabels = $scope.feedBackLabels || [];\r\n for (var i = 0; i < feedBackLabels.length; i++) {\r\n var x = feedBackLabels[i];\r\n if (parseInt(x.result) > 0) {\r\n count = count + parseInt(x.result);\r\n }\r\n }\r\n\r\n $scope.currentData.feedBack = count;\r\n }\r\n\r\n function validFeedBack() {\r\n if ($scope.currentData.feedbackMessage || $scope.currentData.feedBack) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function resetCurrentData() {\r\n $scope.currentData.positive = null;\r\n $scope.currentData.feedbackMessage = '';\r\n $scope.currentData.feedBack = 0;\r\n $scope.currentData.sendAlsoToApprover = false;\r\n }\r\n\r\n function getSelectedFeedBack() {\r\n var value = '';\r\n\r\n var feedBackLabels = $scope.feedBackLabels || [];\r\n for (var i = 0; i < feedBackLabels.length; i++) {\r\n var x = feedBackLabels[i];\r\n if (parseInt(x.result) > 0) {\r\n value = value + x.text + '\\n';\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n\r\n }]);\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npCommonGrid', function () {\r\n return {\r\n restrict: 'E',\r\n transclude: true,\r\n controller: ['$scope', '$state', '$timeout', '$filter', 'localStorageService', 'browserService', controller],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/grid/commonGrid.html',\r\n scope: {\r\n data: '=',\r\n gridSetting: '=',\r\n notFixHeightRow: '=',\r\n hiddencheck: '=',\r\n rowCss: '=',\r\n maxHeight: '=',\r\n identifier: '@',\r\n wrapText: '=',\r\n onSelectRow: '&onSelectRow',\r\n onDoubleClick: '&onDoubleClick',\r\n gridSettingKey: '@',\r\n columnNotRemove: '=',\r\n hiddenShowAll: '=',\r\n showCheckboxOnProperty: '@',\r\n onRowClick: '&onRowClick',\r\n notUpperHeader: '=',\r\n isTotalTitle: '=',\r\n isProcess: '=',\r\n loadSize:'='\r\n },\r\n link: function (scope, element, attrs, ctrl, transclude) {\r\n transclude(scope, function (clone) {\r\n element.append(clone);\r\n });\r\n\r\n if (scope.showCheckboxOnProperty != null) {\r\n scope.$watch('data', function (data, old) {\r\n if (data != null) {\r\n var numberOfHiddenCheckboxes = 0;\r\n for (var i = 0; i < data.length; i++) {\r\n if (!data[i][scope.showCheckboxOnProperty]) {\r\n numberOfHiddenCheckboxes++;\r\n }\r\n }\r\n\r\n if (numberOfHiddenCheckboxes == data.length) {\r\n scope.hideAllCheckboxes = true;\r\n } else {\r\n scope.hideAllCheckboxes = false;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $state, $timeout, $filter, localStorageService, browserService) {\r\n var vm = this;\r\n vm.translation = globalResources;\r\n vm.columnsDefinition = [];//$scope.gridSetting;\r\n vm.commonGridSetting = [];//angular.copy(calculateColumnsWidth());\r\n vm.onRowClick = onRowClick;\r\n vm.onDoubleClick_ = function (row) {\r\n $scope.onDoubleClick({ row: row });\r\n };\r\n vm.data = arrayCopy($scope.data);\r\n vm.originalData = arrayCopy($scope.data);\r\n vm.selectRow = selectRow;\r\n\t\tvm.showColumnInformation = false;\r\n\t\t$scope.reverse = true;\r\n $scope.currentRowIndex = 0;\r\n $scope.total = vm.data != null ? vm.data.length : 0;\r\n $scope.rowCollection = [];\r\n $scope.showAllDocuments = showAllDocuments;\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n\r\n $scope.selectedColumn = { order: 'descending', key: '' };\r\n $scope.times = 0;\r\n $scope.originalCollection = [];\r\n vm.showSortIcon = true;\r\n vm.totalTitle = $scope.isTotalTitle ? vm.translation.Total : vm.translation.TotalNumberDocument;\r\n vm.isProcess = $scope.isProcess ? true : false;\r\n\r\n var orderBy = $filter('orderBy');\r\n\r\n var infiniteScrollLoadsize = $scope.loadSize;\r\n if (!infiniteScrollLoadsize) {\r\n infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ? 0 : parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n }\r\n\r\n $scope.initialize = function () {\r\n getSettingGridColumn();\r\n };\r\n\r\n function getSettingGridColumn() {\r\n vm.columnsDefinition = $scope.gridSetting;\r\n if ($scope.gridSettingKey) {\r\n var localStorage = localStorageService.getItem($scope.gridSettingKey);\r\n if (localStorage != undefined) {\r\n var objectLocalStorage = JSON.parse(localStorage);\r\n vm.columnsDefinition = objectLocalStorage;\r\n for (var i = 0; i < $scope.gridSetting.length; i++) {\r\n vm.columnsDefinition[i].name = $scope.gridSetting[i].name;\r\n }\r\n\r\n }\r\n }\r\n vm.commonGridSetting = angular.copy(calculateColumnsWidth());\r\n vm.showColumnInformation = false;\r\n vm.commonGridSetting.forEach(function (item) {\r\n if (item.id == 'information' && item.coldefault) {\r\n vm.showColumnInformation = true;\r\n }\r\n });\r\n };\r\n\r\n var lastStart = 0;\r\n $scope.nextPage = function getData(tableState) {\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n } else {\r\n //if we reset (like after a search or an order)\r\n if (tableState.pagination.start === 0) {\r\n if ($scope.rowCollection == null || $scope.rowCollection.length == 0) {\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n }\r\n } else {\r\n //we load more\r\n $scope.rowCollection = $scope.rowCollection.concat(getAPage());\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n $scope.$apply();\r\n }\r\n\r\n lastStart = tableState.pagination.start;\r\n }\r\n };\r\n\r\n\t\t$scope.order = function (predicate, type) {\r\n\t\t\t$scope.reverse = !$scope.reverse;\r\n\t\t\tvar reverse = $scope.reverse;\r\n if (predicate == $scope.selectedColumn.key || $scope.selectedColumn.key == \"\") { // Click header more than one time\r\n $scope.times += 1;\r\n } else { // Click another column\r\n $scope.times = 1;\r\n }\r\n $scope.selectedColumn.key = predicate;\r\n $scope.selectedColumn.order = reverse ? 'descending' : 'ascending';\r\n if ($scope.times > 2) {\r\n vm.showSortIcon = false;\r\n\t\t\t\tvm.data = arrayCopy(vm.originalData);\r\n\t\t\t\t$scope.reverse = !$scope.reverse;\r\n $scope.times = 0;\r\n } else {\r\n switch (type) {\r\n case COLUMN_DATA_TYPES.STRING_DATE_TIME:\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDateTime(x[predicate]);\r\n var d2 = Utils.ToDateTime(y[predicate]);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n case COLUMN_DATA_TYPES.STRING_DATE:\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDate(x[predicate]);\r\n var d2 = Utils.ToDate(y[predicate]);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n default:\r\n vm.data = orderBy(vm.originalData, predicate, reverse);\r\n break;\r\n }\r\n vm.showSortIcon = true;\r\n }\r\n $scope.rowCollection = vm.data.slice(0, $scope.currentRowIndex);\r\n $scope.originalCollection = arrayCopy(vm.rowCollection);\r\n };\r\n\r\n $scope.$watch('data', function (data, old) { // This handler for initialize data.\r\n vm.data = arrayCopy($scope.data);\r\n vm.originalData = arrayCopy($scope.data);\r\n var newTotal = data != null ? data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n } else {\r\n if ($scope.rowCollection.length == 0 || $scope.total != newTotal) {\r\n $scope.total = newTotal;\r\n $scope.currentRowIndex = 0;\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n\r\n $timeout(function () { //scroll a bit up\r\n var gridBody = angular.element('#' + folderContent.gridDocuments + ' tbody')[0];\r\n var scrollTop = gridBody.scrollTop;\r\n gridBody.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n }\r\n }, true);\r\n\r\n $scope.$on(broadcastType.gridDataChanges, function (e, target) {\r\n if (target.id != $scope.identifier) return;\r\n\r\n var newTotal = target.data != null ? target.data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = target.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n return;\r\n }\r\n\r\n if ($scope.rowCollection.length == 0 || $scope.total != newTotal || target.isForced) {\r\n $scope.total = newTotal;\r\n $scope.currentRowIndex = 0;\r\n vm.data = target.data;\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n\r\n $timeout(function () { //scroll a bit up\r\n var gridBody = angular.element('#' + folderContent.gridDocuments + ' tbody')[0];\r\n var scrollTop = gridBody.scrollTop;\r\n gridBody.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n });\r\n\r\n $scope.$on($scope.gridSettingKey, function (e, target) {\r\n getSettingGridColumn();\r\n });\r\n\r\n function showAllDocuments() {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n $scope.currentRowIndex = $scope.total;\r\n }\r\n\r\n function getAPage() {\r\n var data = [];\r\n var startIndex = $scope.currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if ($scope.currentRowIndex < $scope.total) {\r\n data.push(vm.data[i]);\r\n $scope.currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return data;\r\n }\r\n\r\n function onRowClick(row) {\r\n $scope.onRowClick({ id: row.id, isProcess: row.isProcess, version: row.version, row: row });\r\n };\r\n\r\n function selectRow(e, row) {\r\n e.stopPropagation();\r\n }\r\n\r\n function calculateColumnsWidth(numColumns, extraWidth) {\r\n\r\n var __numCoumns = numColumns == null ? 0 : numColumns;\r\n var __extraWidth = extraWidth == null ? 0 : extraWidth;\r\n var additionWidth = 0;\r\n if (__numCoumns > 0) {\r\n additionWidth = (__extraWidth / __numCoumns);\r\n }\r\n var temp = [];\r\n angular.copy(vm.columnsDefinition, temp);\r\n var ratio100 = 100;\r\n var columns = 0;\r\n var index = -1;\r\n for (var i = 0; i < vm.columnsDefinition.length; i++) {\r\n var column = vm.columnsDefinition[i];\r\n if (column.coldefault && column.id != $scope.columnNotRemove) {\r\n if (String(column.width).indexOf('px') <= 0) {\r\n var ratio = additionWidth + parseInt(column.width);\r\n ratio100 = ratio100 - ratio;\r\n temp[i].width = ratio + '%';\r\n columns += 1;\r\n }\r\n } else if (column.id == $scope.columnNotRemove) {\r\n index = i;\r\n }\r\n }\r\n if (index != -1) {\r\n if (ratio100 < 3) {\r\n temp[index].width = \"100px\";\r\n } else {\r\n temp[index].width = ratio100 + \"%\";\r\n }\r\n }\r\n if (ratio100 > 51 && ratio100 != 100) {\r\n temp = calculateColumnsWidth(columns, (ratio100 - 50));\r\n }\r\n\r\n return temp;\r\n }\r\n\r\n $scope.$watch('gridSetting', function (newData, oldData) {\r\n if (newData != null && newData != oldData) {\r\n getSettingGridColumn();\r\n }\r\n });\r\n \r\n function arrayCopy(data) {\r\n if (data && data.length > 0) {\r\n return data.slice();\r\n }\r\n };\r\n };\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npCommonGridSetting', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', 'broadcastService','localStorageService', controller],\r\n scope: {\r\n columnsConfiguration: '=',\r\n color: '@',\r\n gridSettingKey: '@',\r\n columnNotRemove: '=',\r\n showInfoCol: '='\r\n },\r\n templateUrl: '/app/shared/grid/commonGridSetting.html',\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n scope.showGridSettingContextMenu = false;\r\n $('body').click(function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showGridSettingContextMenu = false;\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, broadcastService, localStorageService) {\r\n $scope.translation = globalResources;\r\n $scope.optionalColumns = angular.copy($scope.columnsConfiguration);\r\n\r\n $scope.initialize = function () {\r\n loadColumnsConfiguration();\r\n }\r\n\r\n function loadColumnsConfiguration() {\r\n var localStorage = localStorageService.getItem($scope.gridSettingKey);\r\n if (localStorage != undefined) {\r\n var objectLocalStorage = JSON.parse(localStorage);\r\n $scope.columnsConfiguration = objectLocalStorage;\r\n } else {\r\n $scope.columnsConfiguration = angular.copy($scope.optionalColumns);\r\n }\r\n }\r\n\r\n $scope.updateGrid = function ($event) {\r\n localStorageService.setItem($scope.gridSettingKey, JSON.stringify($scope.columnsConfiguration));\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n\r\n //var gridSetting = getGridSetting($scope.gridSettingKey);\r\n broadcastService($scope.gridSettingKey, {\r\n value: $scope.columnsConfiguration\r\n });\r\n };\r\n\r\n $scope.checkItem = function (column) {\r\n if (column.id != $scope.columnNotRemove) {\r\n column.coldefault = !column.coldefault;\r\n }\r\n };\r\n\r\n $scope.checkAll = function () {\r\n $scope.columnsConfiguration.forEach(function (item) {\r\n if (item.id != $scope.columnNotRemove) {\r\n item.coldefault = true;\r\n }\r\n });\r\n };\r\n\r\n $scope.uncheckAll = function () {\r\n $scope.columnsConfiguration.forEach(function (item) {\r\n if (item.id != $scope.columnNotRemove) {\r\n item.coldefault = false;\r\n }\r\n });\r\n };\r\n\r\n $scope.showPopup = function () {\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n if ($scope.showGridSettingContextMenu) {\r\n loadColumnsConfiguration();\r\n }\r\n };\r\n }\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npGridControl', function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$state', '$timeout', '$filter', '$sce', 'favoriteService', 'documentService', 'configService', controller],\r\n controllerAs: 'vm',\r\n templateUrl: paths.GridControlView,\r\n scope: {\r\n gridSettingKey: '@',\r\n columnsDefinition: '=',\r\n documents: '=',\r\n groupDocument: '=',\r\n highlightMissingDocuments: '=',\r\n onOpenDocument: '&onOpenDocument',\r\n isProcess: '=',\r\n onOpenProcess: '&onOpenProcess',\r\n onOpenProcessArea: '&onOpenProcessArea',\r\n includeProcess: '=',\r\n isProcessInterconnected: '=',\r\n onOpenProcessInterconnected: '&onOpenProcessInterconnected'\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $state, $timeout, $filter, $sce, favoriteService, documentService, configService) {\r\n $scope.translation = globalResources;\r\n $scope.resources = resources;\r\n $scope.gridSettingKeys = gridSettingKeys;\r\n $scope.columnsDefinition = $scope.columnsDefinition ? $scope.columnsDefinition : optionalColumnsDenifinition;\r\n $scope.commonGridSetting = angular.copy(calculateColumnsWidth());\r\n $scope.openDocument = openDocument;\r\n $scope.openFolder = openFolder;\r\n $scope.currentRowIndex = 0;\r\n var vm = this;\r\n vm.data = arrayCopy($scope.documents);\r\n vm.originalData = arrayCopy($scope.documents);\r\n $scope.total = vm.data != null ? vm.data.length : 0;\r\n $scope.rowCollection = [];\r\n $scope.showAllDocuments = showAllDocuments;\r\n $scope.generateDocumentTooltip = generateDocumentTooltip;\r\n $scope.generateAttachmentTooltip = generateAttachmentTooltip;\r\n $scope.viewDocumentFieldDirectly = configService.getBool(HandbookConfiguration.ViewDocumentFieldDirectly) && configService.getBool(HandbookConfiguration.EnabledCheckViewDocumentFieldDirectly);\r\n $scope.selectedColumn = { order: 'descending', key: '' };\r\n $scope.times = 0;\r\n $scope.originalCollection = [];\r\n $scope.showSortIcon = true;\r\n $scope.isIE = detectIE();\r\n $scope.reverse = true;\r\n $scope.openProcess = openProcess;\r\n $scope.openProcessArea = openProcessArea;\r\n $scope.openProcessInterconnected = openProcessInterconnected;\r\n vm.maxHeight = '100%';\r\n\r\n vm.isProcess = $scope.isProcess ? true : false;\r\n vm.includeProcess = $scope.includeProcess ? true : false;\r\n vm.isProcessInterconnected = $scope.isProcessInterconnected ? true : false;\r\n var orderBy = $filter('orderBy');\r\n var infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n var internetPublishOption = configService.getBool(HandbookConfiguration.InternetPublishOption);\r\n var publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.processClassificationTypes = E.processClassificationTypes;\r\n\r\n $scope.$on(broadcastType.gridSettingTarget, function (e, target, gridSettingKey) {\r\n if (gridSettingKey == $scope.gridSettingKey) {\r\n $scope.columnsDefinition = optionalColumnsDenifinition;\r\n\t\t\t\t$scope.commonGridSetting = angular.copy(calculateColumnsWidth());\r\n }\r\n });\r\n\r\n var lastStart = 0;\r\n $scope.nextPage = function getData(tableState) {\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n } else {\r\n //if we reset (like after a search or an order)\r\n if (tableState.pagination.start === 0) {\r\n if ($scope.rowCollection == null || $scope.rowCollection.length == 0) {\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n }\r\n } else {\r\n //we load more\r\n $scope.rowCollection = $scope.rowCollection.concat(getAPage());\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n $scope.$apply();\r\n\r\n //remove first nodes if needed\r\n /*if (lastStart < tableState.pagination.start && $scope.rowCollection.length > (parseInt(HandbookConfiguration.InfiniteScrollLoadSize) * 2)) {\r\n //remove the first nodes\r\n $scope.rowCollection.splice(0, parseInt(HandbookConfiguration.InfiniteScrollLoadSize));\r\n }*/\r\n }\r\n\r\n lastStart = tableState.pagination.start;\r\n }\r\n };\r\n\r\n $scope.order = function (predicate) {\r\n\t\t\t$scope.reverse = !$scope.reverse;\r\n\t\t\tvar reverse = $scope.reverse;\r\n if (predicate == $scope.selectedColumn.key || $scope.selectedColumn.key == \"\") { // Click header more than one time\r\n $scope.times +=1;\r\n } else { // Click another column\r\n $scope.times = 1;\r\n }\r\n $scope.selectedColumn.key = predicate;\r\n $scope.selectedColumn.order = reverse ? 'descending' : 'ascending';\r\n if ($scope.times > 2) { \r\n $scope.showSortIcon = false;\r\n\t\t\t\tvm.data = arrayCopy(vm.originalData);\r\n\t\t\t\t$scope.reverse = !$scope.reverse;\r\n $scope.times = 0;\r\n } else {\r\n switch (predicate) {\r\n case 'approvedDate':\r\n vm.data = arrayCopy(vm.originalData);\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDate(x.approvedDate);\r\n var d2 = Utils.ToDate(y.approvedDate);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n\r\n case 'readingReceiptDtmConfirmed':\r\n case 'readingReceipt':\r\n vm.data = arrayCopy(vm.originalData);\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDate(x.readingReceiptDtmConfirmed);\r\n var d2 = Utils.ToDate(y.readingReceiptDtmConfirmed);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n\t\t\t\t\tcase 'internet':\r\n vm.data = orderBy(vm.originalData, 'internetDocument', reverse);\r\n\t\t\t\t\t\tbreak;\r\n\r\n default:\r\n vm.data = orderBy(vm.originalData, predicate, reverse);\r\n break;\r\n }\r\n $scope.showSortIcon = true;\r\n }\r\n $scope.rowCollection = $scope.currentRowIndex ? vm.data.slice(0, $scope.currentRowIndex) : vm.data.slice(0);;\r\n $scope.originalCollection = arrayCopy(vm.rowCollection);\r\n };\r\n\r\n $scope.$watch('documents', function (data) { // This handler for initialize data.\r\n vm.data = arrayCopy($scope.documents);\r\n vm.originalData = arrayCopy($scope.documents);\r\n var newTotal = data != null ? data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n } else {\r\n if ($scope.rowCollection.length == 0 || $scope.total != newTotal || hasDataChange($scope.rowCollection, vm.data)) {\r\n $scope.total = newTotal;\r\n $scope.currentRowIndex = 0;\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n\r\n $timeout(function () { //scroll a bit up\r\n var gridBody = angular.element('#' + folderContent.gridDocuments + ' tbody')[0];\r\n var scrollTop = gridBody.scrollTop;\r\n gridBody.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n }\r\n processChangeHeightForTable();\r\n });\r\n\r\n function hasDataChange(oldData, newData) {\r\n for (var i = 0; i < oldData.length; i++) {\r\n if (oldData[i].id != newData[i].id) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n function showAllDocuments() {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n $scope.currentRowIndex = $scope.total;\r\n }\r\n\r\n $scope.$on('showAllDocumentInGroup', function (e, target) {\r\n showAllDocuments();\r\n });\r\n \r\n\t\tfunction generateDocumentTooltip(row) {\r\n\t\t\tvar result = \"
\";\r\n\t\t\tresult += getElementForTooltips(globalResources.LinkedVirtually, row.virtual ? globalResources.Yes : globalResources.No);\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.Title, row.name);\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.Type, row.template);\r\n result += getElementForTooltips(row.isProcess ? globalResources.ProcessArea : globalResources.CommonGridColumns.Chapter, row.folderName);\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.Location, row.location);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Version, row.version);\r\n var documentId = 0;\r\n if (row.isProcess) {\r\n documentId = row.processNumber ? row.processNumber : row.processInterconnectedNumber;\r\n } else {\r\n documentId = row.documentId;\r\n }\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.DocumentId, documentId);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ApprovedDate, row.approvedDate);\r\n if (!publishedVersion) {\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Approver, row.approvedBy);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Responsible, row.responsible);\r\n }\r\n\r\n\t\t\tif ($scope.gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n\t\t\t\tvar confirm = row.isConfirmed ? globalResources.Yes : globalResources.No;\r\n\t\t\t\tresult += getElementForTooltips(globalResources.Confirmed, confirm);\r\n\t\t\t}\r\n if (row.readingReceiptDtmConfirmed != null && row.readingReceiptDtmConfirmed != '') {\r\n\t\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.ReadingReceiptDtmCOnfirmedColumnHeader, row.readingReceiptDtmConfirmed);\r\n if (row.readingReceiptValidity != null && row.readingReceiptValidity != 0 && row.readingReceiptsExpire) {\r\n var confirmDate = Utils.ToDate(row.readingReceiptDtmConfirmed);\r\n confirmDate.setMonth(confirmDate.getMonth() + row.readingReceiptValidity);\r\n result += getElementForTooltips(globalResources.ValidToReading, $filter('date')(confirmDate, 'dd.MM.yyyy'));\r\n } \r\n }\r\n if (internetPublishOption && !publishedVersion) {\r\n var internet = ((row.isProcess && row.isInternet) || row.internetDocument) ? globalResources.Yes : globalResources.No;\r\n\t\t\t\tresult += getElementForTooltips(globalResources.publishedInternet, internet);\r\n }\r\n if ($scope.gridSettingKey == gridSettingKeys.readingListVisibilitySettings && $scope.columnsDefinition.readingList) {\r\n result += getElementForTooltips(globalResources.ReadingLists, (row.readingListName || '').replace(/,/g, ',
'));\r\n }\r\n result += \"
\";\r\n\r\n return result;\r\n\t\t}\r\n\r\n $scope.htmlTooltip = $sce.trustAsHtml('I\\'ve been made bold!');\r\n\r\n function generateAttachmentTooltip(row) {\r\n var result = \"\";\r\n if (row.agreeFiles && row.agreeFiles.length) {\r\n result = \"
\" + $scope.translation.AgreeFiles + \"
\"\r\n result += \"
\";\r\n for (var i = 0; i < row.agreeFiles.length; i++) {\r\n result += \"
\";\r\n result += ` ${row.agreeFiles[i].name}`;\r\n result += \"
\";\r\n }\r\n result += \"
\"\r\n }\r\n if (row.attachments && row.attachments.length) {\r\n if (row.isProcess) {\r\n result += \"
\" + $scope.translation.Attachments + \"
\";\r\n result += \"
\";\r\n for (var i = 0; i < row.attachments.length; i++) {\r\n result += \"
\";\r\n result += ` ${row.attachments[i].fileName}`;\r\n result += \"
\";\r\n }\r\n result += \"
\"\r\n }\r\n else {\r\n result += \"
\" + $scope.translation.Attachments + \"
\";\r\n result += \"
\";\r\n for (var i = 0; i < row.attachments.length; i++) {\r\n result += \"
\";\r\n result += ` ${row.attachments[i].name}`;\r\n result += \"
\";\r\n }\r\n result += \"
\"\r\n }\r\n \r\n }\r\n \r\n\t\t\treturn result;\r\n }\r\n\r\n function getAPage() {\r\n var data = [];\r\n var startIndex = $scope.currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if ($scope.currentRowIndex < $scope.total) {\r\n data.push(vm.data[i]);\r\n $scope.currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return data;\r\n }\r\n \r\n function openDocument(documentId) {\r\n $scope.onOpenDocument({ id: documentId });\r\n };\r\n\r\n function openFolder(folderId) {\r\n $state.go(handbookActions.FolderAction, { folderId: folderId });\r\n }\r\n\r\n function openProcess(processNumber) {\r\n $scope.onOpenProcess({ processNumber: processNumber });\r\n }\r\n\r\n function openProcessArea(id) {\r\n $scope.onOpenProcessArea({ areaId: id });\r\n }\r\n\r\n function openProcessInterconnected(processInterconnectedNumber) {\r\n $scope.onOpenProcessInterconnected({ processInterconnectedNumber: processInterconnectedNumber });\r\n }\r\n\r\n function calculateColumnsWidth(numColumns, extraWidth) {\r\n var __numCoumns = numColumns == null ? 0 : numColumns;\r\n var __extraWidth = extraWidth == null ? 0 : extraWidth;\r\n var additionWidth = 0;\r\n if (__numCoumns > 0) {\r\n additionWidth = (__extraWidth / __numCoumns);\r\n } \r\n var columns = 0; // title column always visible.\r\n var temp = commonGridSetting;\r\n var ratio = 100;\r\n temp.title.width = ratio + '%';\r\n if ($scope.columnsDefinition.documentType) {\r\n ratio -= (additionWidth + 12);\r\n temp.documentType.width = (additionWidth + 12) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.chapter) {\r\n ratio -= (additionWidth + 13);\r\n temp.chapter.width = (additionWidth + 13) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.location) {\r\n ratio -= (additionWidth + 17);\r\n temp.location.width = (additionWidth + 17) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.approver) {\r\n ratio -= (additionWidth + 8);\r\n temp.approver.width = (additionWidth + 8) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.responsible) {\r\n ratio -= (additionWidth + 9);\r\n temp.responsible.width = (additionWidth + 9) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.hasAttachment) {\r\n ratio -= (additionWidth + 4);\r\n temp.hasAttachment.width = (additionWidth + 4) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.documentId) {\r\n ratio -= (additionWidth + 5);\r\n temp.documentId.width = (additionWidth + 5) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.version) {\r\n ratio -= (additionWidth + 7);\r\n temp.version.width = (additionWidth + 7) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.readCount) {\r\n ratio -= (additionWidth + 5);\r\n temp.readCount.width = (additionWidth + 5) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.approvedDate) {\r\n ratio -= (additionWidth + 9);\r\n temp.approvedDate.width = (additionWidth + 9) + '%';\r\n columns += 1;\r\n }\r\n\r\n if (ratio > 3) {\r\n temp.title.width = ratio + '%';\r\n } else {\r\n temp.title.width = '100px';\r\n }\r\n \r\n if (ratio > 51 && ratio != 100) {\r\n temp = calculateColumnsWidth(columns, (ratio - 50));\r\n }\r\n return temp;\r\n };\r\n\r\n function arrayCopy(data) {\r\n if (data && data.length > 0) {\r\n return data.slice();\r\n }\r\n };\r\n\r\n $scope.$on('processChangeHeightForTable', function (e, target) {\r\n processChangeHeightForTable();\r\n });\r\n\r\n function processChangeHeightForTable() {\r\n\r\n if ($scope.groupDocument) {\r\n if (infiniteScrollLoadsize != 0) {\r\n var rows = infiniteScrollLoadsize;\r\n vm.maxHeight = (rows * 29.89) + 'px';\r\n }\r\n return;\r\n }\r\n $timeout(function () { //scroll a bit up\r\n var gridDocuments = angular.element('#' + folderContent.gridDocuments + '');\r\n //var parent = gridDocuments.parent().parent().parent();\r\n var parent = gridDocuments;\r\n if (parent && parent.position()) {\r\n var documentHeight = $(document).height();\r\n var contentHeight = documentHeight - parent.position().top;\r\n //angular.element('#' + folderContent.gridDocuments + '').css({ maxheight: contentHeight - 20 });\r\n vm.maxHeight = (contentHeight - 20) + \"px\";\r\n $scope.$apply();\r\n } \r\n }, 100, false);\r\n }\r\n //$('.popover-visible-trigger')\r\n // .popover('show')\r\n // .off('click');\r\n }\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npGridExporter', [function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['ngDialog', '$scope', controller],\r\n scope: {\r\n excelExporterUrl: '@',\r\n wordExporterUrl: '@',\r\n exportParams: '=',\r\n loadExportColumns: '&', // Some views get column settings from local storage, we also need to support this case\r\n fileName: '@',\r\n exporterUrl: '@'\r\n },\r\n templateUrl: paths.GridExporterControlView,\r\n replace: true\r\n }\r\n }]);\r\n\r\n function controller(ngDialog, $scope) {\r\n $scope.translation = globalResources;\r\n $scope.showExporterDialog = showExporterDialog;\r\n function showExporterDialog() {\r\n if ($scope.loadExportColumns) {\r\n $scope.loadExportColumns();\r\n }\r\n\r\n ngDialog.open({\r\n template: paths.GridDialogExporterView,\r\n controller: 'dialogExporter',\r\n data: {\r\n excelExporterUrl: $scope.excelExporterUrl,\r\n wordExporterUrl: $scope.wordExporterUrl,\r\n exportParams: $scope.exportParams,\r\n fileName: $scope.fileName,\r\n exporterUrl: $scope.exporterUrl\r\n },\r\n className: 'ngdialog-theme-default'\r\n });\r\n }\r\n }\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n directivesModule.directive('npGridFinishRender', ['$timeout', function ($timeout) {\r\n return {\r\n restrict: 'A',\r\n link: function (scope, element, attr) {\r\n if (scope.$last === true) {\r\n $timeout(function () {\r\n scope.$emit('ngRepeatFinished');\r\n });\r\n }\r\n }\r\n };\r\n }]);\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npGridSetting', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', 'broadcastService', 'configService', controller],\r\n scope: {\r\n gridSettingKey: '@'\r\n },\r\n templateUrl: paths.GridSettingView,\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n scope.showGridSettingContextMenu = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showGridSettingContextMenu = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, broadcastService, configService) {\r\n $scope.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n $scope.translation = globalResources;\r\n $scope.gridSettingKeys = gridSettingKeys;\r\n $scope.internetPublishOption = configService.getBool(HandbookConfiguration.InternetPublishOption);\r\n $scope.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\r\n getGridSetting($scope.gridSettingKey);\r\n getColumnsDefinition($scope.gridSettingKey);\r\n $scope.optionalColumns = angular.copy(optionalColumnsDenifinition);\r\n\r\n if ($scope.publishedVersion) {\r\n delete $scope.optionalColumns['approver']; \r\n delete $scope.optionalColumns['responsible']; \r\n delete $scope.optionalColumns['readingReceiptDtmConfirmed']; \r\n delete $scope.optionalColumns['readingReceipt']; \r\n }\r\n\r\n $scope.updateGrid = function ($event) {\r\n setGridSetting($scope.gridSettingKey, $scope.optionalColumns);\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n\r\n getColumnsDefinition($scope.gridSettingKey);\r\n broadcastService(broadcastType.gridSettingTarget, commonColumnsDefinition, $scope.gridSettingKey);\r\n };\r\n\r\n $scope.$on(broadcastType.toggleGridSettingTarget, function (e, target) {\r\n $scope.showGridSettingContextMenu = true;\r\n });\r\n\r\n\r\n $scope.showPopup = function () {\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n\t\t\tif ($scope.showGridSettingContextMenu) {\r\n\t\t\t\tgetGridSetting($scope.gridSettingKey);\r\n\t\t\t\tgetColumnsDefinition($scope.gridSettingKey);\r\n $scope.optionalColumns = angular.copy(optionalColumnsDenifinition);\r\n if ($scope.publishedVersion) {\r\n delete $scope.optionalColumns['approver'];\r\n delete $scope.optionalColumns['responsible'];\r\n delete $scope.optionalColumns['readingReceiptDtmConfirmed'];\r\n delete $scope.optionalColumns['readingReceipt'];\r\n }\r\n }\r\n };\r\n\r\n $scope.checkAll = function () {\r\n setValueCheck(true);\r\n };\r\n\r\n $scope.uncheckAll = function () {\r\n setValueCheck(false);\r\n };\r\n\r\n function setValueCheck(value) {\r\n Object.keys($scope.optionalColumns).forEach(property => {\r\n $scope.optionalColumns[property] = value;\r\n });\r\n }\r\n }\r\n\r\n})();","angular.module('smart-table')\r\n .directive('stPaginationScroll', ['$timeout', function (timeout) {\r\n return {\r\n require: 'stTable',\r\n link: function (scope, element, attr, ctrl) {\r\n var itemByPage = parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n var pagination = ctrl.tableState().pagination;\r\n var lengthThreshold = 50;\r\n var timeThreshold = 400;\r\n var handler = function () {\r\n //call next page\r\n ctrl.slice(pagination.start + itemByPage, itemByPage);\r\n };\r\n var promise = null;\r\n var lastRemaining = 9999;\r\n\r\n //original: we get parent of element angular.element(element.parent());\r\n var container;\r\n var ieVersion = msieversion();\r\n if (ieVersion >= 7 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./) || isSafari()) {\r\n if (!scope.$parent.vm.folderInformation || scope.$parent.vm.folderInformation.viewType == -1) {// standard;\r\n\t\t\t\t\t\tif (ieVersion <= 10){\r\n\t\t\t\t\t\t\tcontainer = element.parents('.' + folderContent.scrollableTable + '').eq(0);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t//container = angular.element(folderContent.gridDocumentsBody).eq(0); \r\n\t\t\t\t\t\t\tcontainer = element.children().eq(1);\r\n\t\t\t\t\t\t} \r\n } else {\r\n //container = element.parents('.' + folderContent.scrollableTable + '').eq(0);\r\n //container = angular.element('#' + folderContent.content + '').eq(0);\r\n container = element.children().eq(1);\r\n }\r\n } else {\r\n container = element.children().eq(1);\r\n }\r\n \r\n container.bind('scroll', function () {\r\n var remaining = container[0].scrollHeight - (container[0].clientHeight + container[0].scrollTop);\r\n\r\n //if we have reached the threshold and we scroll down\r\n if (remaining < lengthThreshold && (remaining - lastRemaining) < 0) {\r\n\r\n //if there is already a timer running which has no expired yet we have to cancel it and restart the timer\r\n if (promise !== null) {\r\n timeout.cancel(promise);\r\n }\r\n promise = timeout(function () {\r\n handler();\r\n\r\n //scroll a bit up\r\n //container[0].scrollTop -= 500;\r\n\r\n promise = null;\r\n }, timeThreshold);\r\n }\r\n lastRemaining = remaining;\r\n });\r\n }\r\n };\r\n }]);\r\n","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npRowInfoTooltip', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$sce', controller],\r\n controllerAs: 'vm',\r\n scope: {\r\n objectTooltip: '=',\r\n backgroundColor: '='\r\n },\r\n templateUrl: '/app/shared/grid/rowInfoTooltip.html',\r\n replace: true\r\n };\r\n }]);\r\n\r\n function controller($scope, $sce) {\r\n var vm = this;\r\n vm.htmlText = '';\r\n vm.init = init;\r\n\r\n function init() {\r\n var html = '
';\r\n if($scope.objectTooltip && $scope.objectTooltip.length > 0)\r\n {\r\n $scope.objectTooltip.forEach(function (item) {\r\n html += \"
\" + item.label;\r\n html += \" \"\r\n html += item.data + \"
\";\r\n });\r\n }\r\n html += '
';\r\n vm.htmlText = $sce.trustAsHtml(html);\r\n }\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npImage', function () {\r\n return {\r\n restrict: 'E',\r\n scope: {\r\n model: '=npImageModel'\r\n },\r\n templateUrl: paths.ImageView,\r\n replace: true,\r\n link: link\r\n };\r\n });\r\n\r\n function link(scope, element, attrs) {\r\n var model = scope.model,\r\n image = angular.element('')\r\n .attr('src', handbookRequests.GetImageRequest + model.imageId)\r\n .attr('align', 'left')\r\n .attr('alt', model.caption)\r\n .css('width', '100%')\r\n .addClass('np-image__image');\r\n\r\n if (model.url) {\r\n image = angular.element('')\r\n .attr({\r\n href: model.url,\r\n target: model.openInNewWindow ? '_blank' : '_self',\r\n title: model.caption\r\n })\r\n .append(image);\r\n }\r\n\r\n element\r\n .css('width', getWidth(model))\r\n .addClass(getImageClass(model))\r\n .prepend(image);\r\n }\r\n\r\n function getImageClass(image) {\r\n var horizontalAlign = \"\";\r\n switch (parseInt(image.horizontalAlign)) {\r\n case parseInt(E.HorizontalAlign.Right):\r\n horizontalAlign = \"ImageRight\";\r\n break;\r\n case parseInt(E.HorizontalAlign.Left):\r\n horizontalAlign = \"ImageLeft\";\r\n break;\r\n case parseInt(E.HorizontalAlign.Center):\r\n horizontalAlign = \"ImageMid\";\r\n break;\r\n }\r\n return horizontalAlign;\r\n }\r\n\r\n function getWidth(image) {\r\n var width;\r\n\r\n if (image.scaleDir != 0)\r\n if (image.scaleDir == 1) {\r\n width = image.size;\r\n }\r\n else {\r\n width = image.size / image.height * image.width;\r\n }\r\n else {\r\n width = image.width;\r\n }\r\n\r\n return width;\r\n }\r\n\r\n})();","(function () {\r\n angular\r\n .module('customeDirectivesModule')\r\n .directive('imageSizeLimitation', function () {\r\n return {\r\n restrict: 'A',\r\n scope: {\r\n maximumWidth: '=',\r\n maximumHeight: '='\r\n },\r\n link: link\r\n };\r\n });\r\n\r\n function link(scope, element, attrs) {\r\n element.bind('load', function () {\r\n if (!scope.maximumWidth || !scope.maximumHeight) {\r\n return;\r\n }\r\n\r\n if (this.width > this.height) {\r\n $(this).css({ 'max-width': scope.maximumWidth + 'px' });\r\n $(this).css({ 'display': 'block' });\r\n } else {\r\n $(this).css({ 'max-height': scope.maximumHeight + 'px' });\r\n $(this).css({ 'display': 'block' });\r\n }\r\n });\r\n }\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npNavigateToggle', function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$http', 'treeNavigationService', 'localStorageService', controller],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/navigation/navigateToggle.html',\r\n scope: {\r\n\r\n },\r\n link: function (scope, element, attr) {\r\n\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $http, treeNavigationService, localStorageService) {\r\n var vm = this;\r\n\t\tvm.showToggleButton = HandbookConfiguration.AutoHighlightInTree.toUpperCase() == \"FALSE\";\r\n vm.toggleNavigate = toggleNavigate;\r\n vm.showInTreeviewInLeftMenu = globalResources.ShowInTreeviewInLeftMenu;\r\n vm.initialize = function () {\r\n vm.navigateSideBar = false;\r\n buildTooltip();\r\n };\r\n\r\n function toggleNavigate() {\r\n vm.navigateSideBar = !vm.navigateSideBar;\r\n treeNavigationService.navigateToItemLocation(vm.navigateSideBar, true);\r\n };\r\n\r\n function buildTooltip() {\r\n var availWidth = screen.availWidth;\r\n var availHeight = screen.availHeight;\r\n\r\n if (!((availWidth <= 768 && availHeight <= 1024) || (availHeight <= 768 && availWidth <= 1024))) {\r\n vm.showInTreeviewInLeftMenu = globalResources.ShowInTreeviewInLeftMenu + ' \\r(CTRL + ALT + N)';\r\n }\r\n }\r\n\r\n $(window).on('resize', function () {\r\n buildTooltip();\r\n });\r\n };\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npPin', npPinDirective);\r\n\r\n function npPinDirective() {\r\n var directive = {\r\n restrict: 'EA',\r\n templateUrl: paths.PinView,\r\n scope: {\r\n\r\n },\r\n link: linkFunction,\r\n controller: controller,\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n \r\n };\r\n\r\n controller.$inject = ['$scope', '$window'];\r\n\r\n function controller($scope, $window) {\r\n var vm = this;\r\n\r\n vm.hideSidebarButton = hideSidebarButton;\r\n\r\n function hideSidebarButton() {\r\n angular.element('.sidebar-toggle').toggleClass('display--non');\r\n };\r\n };\r\n };\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npReadingReceiptButton', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', 'readingConfirmationService', '$http', controller],\r\n scope: {\r\n entityId: '=',\r\n folderId: '=',\r\n entityDisabled: '='\r\n },\r\n templateUrl: paths.ReadingReceiptButtonView,\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.readingReciept.showReadingRecieptContextMenu = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, readingConfirmationService, $http) {\r\n $scope.translation = globalResources;\r\n if ($scope.translation.ReadingReciept.indexOf('\\n(CTRL + ALT + L)') <= 0) {\r\n $scope.translation.ReadingReciept = $scope.translation.ReadingReciept + '\\n(CTRL + ALT + L)';\r\n }\r\n\r\n $scope.isShowReConfirm = false;\r\n $scope.readingReciept = { showReadingRecieptContextMenu : false };\r\n\r\n $scope.currentData = {\r\n readConfirmationDate: '',\r\n confirmedReadLast: '',\r\n fullName: ''\r\n };\r\n\r\n $scope.getConfirmInformation = function () {\r\n if (!$scope.currentData.readConfirmationDate && !$scope.currentData.fullName) {\r\n readingConfirmationService.GetConfirmInformation($scope.entityId)\r\n .then(function (response) {\r\n $scope.currentData = response.data;\r\n if (response.data.readConfirmationDate) {\r\n $scope.currentData.confirmedReadLast = String.format($scope.translation.ConfirmedReadLast, response.data.readConfirmationDate);\r\n var readConfirmationDate = new Date(response.data.readConfirmationDateTime);\r\n $scope.isShowReConfirm = (compareDate(readConfirmationDate, new Date()) == false);\r\n }\r\n });\r\n }\r\n };\r\n\r\n function compareDate(date1, date2) {\r\n if (date1.getFullYear() != date2.getFullYear()) {\r\n return false;\r\n }\r\n if (date1.getMonth() != date2.getMonth()) {\r\n return false;\r\n }\r\n if (date1.getDate() != date2.getDate()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n $scope.sendReadingConfirmation = function () {\r\n readingConfirmationService.sendReadingConfirmation($scope.entityId, $scope.folderId)\r\n .then(function (data) {\r\n if (data) {\r\n $scope.currentData.readConfirmationDate = data.replace('\"', '').replace('\"', '');\r\n $scope.currentData.confirmedReadLast = String.format($scope.translation.ConfirmedReadLast, $scope.currentData.readConfirmationDate);\r\n $scope.isShowReConfirm = false;\r\n }\r\n });\r\n };\r\n\r\n $scope.$on(broadcastType.toggleReadingReceiptTarget, function (e, target) {\r\n $scope.getConfirmInformation();\r\n $scope.readingReciept.showReadingRecieptContextMenu = true;\r\n });\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npPrintButton', ['$document', '$timeout', 'broadcastService', function ($document, $timeout, broadcastService) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$stateParams', '$http', 'localStorageService', 'pubSub', 'browserService', 'configService', controller],\r\n controllerAs: 'vm',\r\n scope: {\r\n typePrintContextMenu: '=',\r\n id: '=',\r\n fieldId: '=',\r\n custom: '=',\r\n searchType: '=',\r\n toggleSidebar: '=',\r\n\t\t\t\tisBooklet: '=',\r\n periodOption: '=',\r\n knowledgeTypeId: '='\r\n },\r\n templateUrl: paths.PrintButtonView,\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n scope.$watch('toggleSidebar', function () {\r\n $timeout(function () {\r\n getColumnsDefinition();\r\n broadcastService(broadcastType.gridSettingTarget, commonColumnsDefinition);\r\n }, 0, false);\r\n });\r\n\r\n scope.$watch('custom', function (custom) {\r\n if (scope.custom == true) {\r\n angular.element('#print-box2').removeClass(avoidCustomPageClass);\r\n } else {\r\n angular.element('#print-box2').addClass(avoidCustomPageClass);\r\n }\r\n });\r\n\r\n scope.showPrintContextMenu = false;\r\n scope.showPrintFolderMenu = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showPrintFolderMenu = false;\r\n scope.showPrintContextMenu = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, $stateParams, $http, localStorageService, pubSub, browserService, configService) {\r\n var vm = this;\r\n vm.fieldName = '';\r\n vm.calculateWidthOfPrintBox = calculateWidthOfPrintBox;\r\n $scope.translation = globalResources;\r\n vm.onRecursiveChange = onRecursiveChange;\r\n if ($scope.translation.Print.indexOf('\\n(CTRL + ALT + P)') <= 0) {\r\n $scope.translation.Print = $scope.translation.Print + '\\n(CTRL + ALT + P)';\r\n }\r\n $scope.enableSimplePrintout = configService.getBool(HandbookConfiguration.EnableSimplePrintout);\r\n $scope.folderSettingsEnabled = configService.getBool(HandbookConfiguration.FolderSettingsEnabled);\r\n\r\n $scope.isTitle = $scope.folderSettingsEnabled ? true : false;\r\n $scope.isDocumentId = $scope.folderSettingsEnabled ? true : false;\r\n $scope.isVersion = $scope.folderSettingsEnabled ? true : false;\r\n $scope.isDocumentResponsible = false;\r\n $scope.isApprover = false;\r\n $scope.knowledgeType = KnowledgeType;\r\n $scope.enableAgree = configService.getBool(HandbookConfiguration.EnabledAgree);\r\n $scope.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n\r\n var finishLoadContent = null;\r\n initialize();\r\n\r\n function initialize() {\r\n finishLoadContent = pubSub.subscribe(broadcastType.loadContentFieldDone, fieldContentChanges);\r\n var printRecursive = localStorageService.getItem('PrintFoldersRecursive');\r\n $scope.recursive = printRecursive == null ? true : (printRecursive == 'true' || printRecursive == 'True');\r\n };\r\n\r\n function closeContextMenuPrint() {\r\n $scope.showPrintContextMenu = false;\r\n }\r\n\r\n function closeContextMenuPrintFolder() {\r\n $scope.showPrintFolderMenu = false;\r\n }\r\n\r\n $scope.$on('$destroy', function () {\r\n finishLoadContent();\r\n });\r\n\r\n function calculateWidthOfPrintBox() {\r\n var maxWidth = $('.topmenu-right-panel').width();\r\n return { 'max-width': maxWidth, 'width': 'unset' };\r\n }\r\n function fieldContentChanges(params) {\r\n //remove the order of field name\r\n if (params.fieldName) {\r\n var fieldName = angular.copy(params.fieldName).toString();\r\n vm.fieldName = fieldName;\r\n var indexOfFieldOrder = fieldName.indexOf('.');\r\n if (indexOfFieldOrder > 0)\r\n {\r\n vm.fieldName = fieldName.substr(indexOfFieldOrder + 2, fieldName.length);\r\n }\r\n }\r\n }\r\n function onRecursiveChange($event) {\r\n localStorageService.setItem('PrintFoldersRecursive', $scope.recursive);\r\n }\r\n\r\n //print entire document to pdf file\r\n $scope.printDocumentPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPdfRequest, $scope.id));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printDocumentBooklet = function () {\r\n window.open(String.format(handbookRequests.PrintBrochureRequest, $scope.id));\r\n closeContextMenuPrint();\r\n }\r\n\r\n //print document field to pdf file\r\n $scope.printDocumentFieldPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPdfFieldRequest, $scope.id, $scope.fieldId));\r\n closeContextMenuPrint();\r\n }\r\n //print entire document to html page\r\n $scope.printDocument = function () {\r\n window.open(String.format(handbookRequests.PrintHtmlRequest, $scope.id));\r\n closeContextMenuPrint();\r\n };\r\n //print document field to html page\r\n $scope.printDocumentFieldHtml = function () {\r\n window.open(String.format(handbookRequests.PrintHtmlFieldRequest, $scope.id, $scope.fieldId));\r\n closeContextMenuPrint();\r\n }\r\n\r\n $scope.printSimplifiedDocumentPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPdfSimpleRequest, $scope.id));\r\n closeContextMenuPrint();\r\n }\r\n\r\n $scope.printFolderHtml = function (printType) {\r\n var groupBy = E.exportDocumentGroupsByColumn.none;\r\n if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n groupBy = E.exportDocumentGroupsByColumn.none;\r\n } else if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template) {\r\n groupBy = E.exportDocumentGroupsByColumn.documentType;\r\n } else {\r\n groupBy = E.exportDocumentGroupsByColumn.metatag;\r\n }\r\n if (HandbookConfiguration.PrintFolderAsBackground == \"True\") {\r\n $http.post(handbookRequests.AddPrintFolderJobRequest, {\r\n 'folderId': $scope.id,\r\n 'exportType': 1,\r\n 'displayType': printType,\r\n 'recursive': $scope.recursive == true ? 1 : 0,\r\n 'isDocTitle': $scope.isTitle == true ? 1 : 0,\r\n 'isDocId': $scope.isDocumentId == true ? 1 : 0,\r\n 'isVersion': $scope.isVersion == true ? 1 : 0,\r\n 'isDocResponsible': $scope.isDocumentResponsible == true ? 1 : 0,\r\n 'isApprover': $scope.isApprover == true ? 1 : 0,\r\n 'groupBy': groupBy,\r\n }).then(function (response, status, headers, config) {\r\n alert($scope.translation.ConfirmPrintChapterHTMLAsBackgroundJob);\r\n });\r\n } else {\r\n if (!$scope.folderSettingsEnabled) {\r\n var params = {\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderHtmlConfigRequest + $.param(params));\r\n } else {\r\n var params = {\r\n printType: printType,\r\n isApprover: $scope.isApprover,\r\n isDocResponsible: $scope.isDocumentResponsible,\r\n isVersion: $scope.isVersion,\r\n isDocId: $scope.isDocumentId,\r\n isDocTitle: $scope.isTitle,\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderHtmlConfigRequest + $.param(params));\r\n }\r\n }\r\n closeContextMenuPrintFolder();\r\n };\r\n\r\n $scope.printFolderPdf = function (printType) {\r\n var groupBy = E.exportDocumentGroupsByColumn.none;\r\n if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n groupBy = E.exportDocumentGroupsByColumn.none;\r\n } else if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template) {\r\n groupBy = E.exportDocumentGroupsByColumn.documentType;\r\n } else {\r\n groupBy = E.exportDocumentGroupsByColumn.metatag;\r\n }\r\n if (HandbookConfiguration.PrintFolderAsBackground == \"True\") {\r\n $http.post(handbookRequests.AddPrintFolderJobRequest, {\r\n 'folderId': $scope.id,\r\n 'exportType': 2,\r\n 'displayType': printType,\r\n 'recursive': $scope.recursive == true ? 1 : 0,\r\n 'isDocTitle': $scope.isTitle == true ? 1 : 0,\r\n 'isDocId': $scope.isDocumentId == true ? 1 : 0,\r\n 'isVersion': $scope.isVersion == true ? 1 : 0,\r\n 'isDocResponsible': $scope.isDocumentResponsible == true ? 1 : 0,\r\n 'isApprover': $scope.isApprover == true ? 1 : 0,\r\n 'groupBy': groupBy,\r\n }).then(function (response, status, headers, config) {\r\n alert($scope.translation.ConfirmPrintChapterPDFAsBackgroundJob);\r\n });\r\n } else {\r\n if (!$scope.folderSettingsEnabled) {\r\n var params = {\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderPdfConfigRequest + $.param(params));\r\n } else {\r\n var params = {\r\n printType: printType,\r\n isApprover: $scope.isApprover,\r\n isDocResponsible: $scope.isDocumentResponsible,\r\n isVersion: $scope.isVersion,\r\n isDocId: $scope.isDocumentId,\r\n isDocTitle: $scope.isTitle,\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderPdfConfigRequest + $.param(params));\r\n }\r\n }\r\n closeContextMenuPrintFolder();\r\n };\r\n\r\n $scope.printWhatsNewHtml = function (printType) {\r\n if ($scope.id == null) {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintWhatsNewHtmlRequest, printType, $scope.getColumnSettings(), $scope.periodOption));\r\n } else {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintFolderWhatsNewHtml, printType, $scope.getColumnSettings(), $scope.id, $scope.searchType, $scope.periodOption));\r\n }\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printWhatsNewPdf = function (printType) {\r\n if ($scope.id == null) {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintWhatsNewPdfRequest, printType, $scope.getColumnSettings(), $scope.periodOption));\r\n } else {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintFolderWhatsNewPdf, printType, $scope.getColumnSettings(), $scope.id, $scope.searchType, $scope.periodOption));\r\n }\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printUpdatedFavoriteHtml = function (printType) {\r\n window.open(String.format(handbookRequests.PrintUpdatedFavoriteHtmlRequest, printType, $scope.getColumnSettings()));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printUpdatedFavoritePdf = function (printType) {\r\n window.open(String.format(handbookRequests.PrintUpdatedFavoritePdfRequest, printType, $scope.getColumnSettings()));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printSearchResultHtml = function (printType) {\r\n\r\n var params = {\r\n printType: printType,\r\n columns: $scope.getColumnSettings(),\r\n keyword: $stateParams.keyword,\r\n documentTypeId: $stateParams.template,\r\n searchInContents: $stateParams.searchInContents == true,\r\n fromDate: $stateParams.fromDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.fromDate)), '/') : null,\r\n toDate: $stateParams.toDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.toDate)), '/') : null,\r\n searchType: $scope.searchType,\r\n folderId: $stateParams.folderId\r\n };\r\n\r\n window.open(handbookRequests.PrintSearchResultHtmlRequest + $.param(params));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printSearchResultPdf = function (printType) {\r\n\r\n var params = {\r\n printType: printType,\r\n columns: $scope.getColumnSettings(),\r\n keyword: $stateParams.keyword,\r\n documentTypeId: $stateParams.template,\r\n searchInContents: $stateParams.searchInContents == true,\r\n fromDate: $stateParams.fromDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.fromDate)), '/') : null,\r\n toDate: $stateParams.toDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.toDate)), '/') : null,\r\n searchType: $scope.searchType,\r\n folderId: $stateParams.folderId\r\n };\r\n\r\n window.open(handbookRequests.PrintSearchResultPdfRequest + $.param(params));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.getColumnSettings = function () {\r\n var columnSettings = '';\r\n var spliter = handbookConstants.ColumnsSplitter;\r\n if (commonGridSetting.internet.visible) {\r\n columnSettings += E.ColumnsSetting.Internet + spliter;\r\n }\r\n\r\n if (commonGridSetting.title.visible) {\r\n columnSettings += E.ColumnsSetting.Title + spliter;\r\n }\r\n\r\n if (commonGridSetting.documentType.visible) {\r\n columnSettings += E.ColumnsSetting.Template + spliter;\r\n }\r\n\r\n if (commonGridSetting.location.visible) {\r\n columnSettings += E.ColumnsSetting.Location + spliter;\r\n }\r\n\r\n if (commonGridSetting.version.visible) {\r\n columnSettings += E.ColumnsSetting.Version + spliter;\r\n }\r\n\r\n if (commonGridSetting.approvedDate.visible) {\r\n columnSettings += E.ColumnsSetting.ApprovedDate + spliter;\r\n }\r\n\r\n if (commonGridSetting.approver.visible) {\r\n columnSettings += E.ColumnsSetting.Approver + spliter;\r\n }\r\n\r\n if (commonGridSetting.responsible.visible) {\r\n columnSettings += E.ColumnsSetting.Owner + spliter;\r\n }\r\n\r\n if (commonGridSetting.chapter.visible) {\r\n columnSettings += E.ColumnsSetting.Chapter + spliter;\r\n }\r\n\r\n if (commonGridSetting.documentId.visible) {\r\n columnSettings += E.ColumnsSetting.DocumentId + spliter;\r\n }\r\n\r\n if (commonGridSetting.hasAttachment.visible) {\r\n columnSettings += E.ColumnsSetting.Attachment + spliter;\r\n }\r\n\r\n if (commonGridSetting.readingReceipt.visible) {\r\n columnSettings += E.ColumnsSetting.ReadingReceipt + spliter;\r\n }\r\n\r\n if (commonGridSetting.readingReceiptDtmConfirmed.visible) {\r\n columnSettings += E.ColumnsSetting.ReadingReceiptDate + spliter;\r\n }\r\n\r\n //Remove last commna if any\r\n var lastSplitterIndex = columnSettings.lastIndexOf(spliter);\r\n if (lastSplitterIndex >= columnSettings.length - 1) {\r\n columnSettings = columnSettings.substring(0, lastSplitterIndex);\r\n }\r\n\r\n return columnSettings;\r\n };\r\n\r\n $scope.$on(broadcastType.printItemTarget, function (e, target) {\r\n if (target.itemType == 1) {\r\n $scope.printFolderPdf(3);\r\n } else {\r\n $scope.printDocumentPdf();\r\n }\r\n });\r\n\r\n $scope.printPicoFormPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPicoFormPdfRequest, $scope.id, false), '_blank');\r\n }\r\n\r\n $scope.printAgreeMethodReport = function () {\r\n if ($scope.knowledgeTypeId == KnowledgeType.shortVersionOfAgreeRequirements) {\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportShortVersionRequest, $scope.id, false), '_blank');\r\n return;\r\n }\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportFullVersionRequest, $scope.id, false), '_blank');\r\n }\r\n }\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npResizer', ['$document', 'resizeService', function ($document, resizeService) {\r\n return {\r\n restrict: 'A',\r\n scope: {\r\n resizerMin: '=',\r\n isCompare: '='\r\n },\r\n link: function (scope, element, attr) {\r\n\r\n scope.finalWidthChanged = 0;\r\n scope.isTouched = false;\r\n\r\n element.on('mousedown', function (event) {\r\n event.preventDefault();\r\n $document.on('mousemove', getHeightChanged);\r\n $document.on('mouseup', mouseup);\r\n });\r\n\r\n element.on('touchstart', function (event) {\r\n event.preventDefault();\r\n scope.isTouched = true;\r\n $document.on('touchmove', getHeightChanged);\r\n $document.on('touchend', touchend);\r\n });\r\n\r\n function getHeightChanged(event) {\r\n var _pageX = scope.isTouched ? event.originalEvent.changedTouches[0].pageX : event.pageX;\r\n scope.finalWidthChanged = _pageX > scope.resizerMin ? _pageX : scope.resizerMin;\r\n element.css({\r\n 'width': (scope.finalWidthChanged + 8) + 'px',\r\n 'z-index': 1000\r\n });\r\n };\r\n\r\n function mouseup() {\r\n $document.unbind('mousemove', getHeightChanged);\r\n $document.unbind('mouseup', mouseup);\r\n updateChanged();\r\n };\r\n\r\n function touchend() {\r\n $document.unbind('touchmove', getHeightChanged);\r\n $document.unbind('touchend', touchend);\r\n updateChanged();\r\n scope.isTouched = false;\r\n };\r\n\r\n function updateChanged() {\r\n if (scope.isCompare || scope.finalWidthChanged > 320) {\r\n resizeService.resizeToChangedSize(scope.finalWidthChanged, scope.isCompare);\r\n } else {\r\n //removeChanged();\r\n resizeService.resizeToOrginalSize();\r\n }\r\n };\r\n\r\n function applyChanged() {\r\n angular.element(elementId.sidebarWrapper).css({\r\n 'width': scope.finalWidthChanged + 'px'\r\n });\r\n\r\n element.css({\r\n 'width': (scope.finalWidthChanged + 8) + 'px',\r\n 'z-index': 999\r\n });\r\n\r\n var screenWidth = $document.width();\r\n if (screenWidth > 980) {\r\n angular.element(elementClass.tabTable).css({\r\n 'padding-left': (scope.finalWidthChanged - 320) + 'px'\r\n });\r\n\r\n angular.element(elementClass.frontPageCustomArea).css({\r\n 'padding-left': (scope.finalWidthChanged - 320) + 'px'\r\n });\r\n }\r\n };\r\n\r\n function removeChanged() {\r\n angular.element(elementId.sidebarWrapper).removeAttr('style');\r\n angular.element(elementClass.tabTable).removeAttr('style');\r\n angular.element(elementClass.frontPageCustomArea).removeAttr('style');\r\n element.removeAttr('style');\r\n };\r\n }\r\n };\r\n }]);\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npAdvanceSearch', npAdvanceSearch);\r\n\r\n function npAdvanceSearch() {\r\n var directive = {\r\n restrict: 'EA',\r\n templateUrl: paths.AdvanceSearchView,\r\n scope: {\r\n showToggleSearchPanel: '=showToggleSearchPanel'\r\n },\r\n link: linkFunction,\r\n controller: ['$scope', '$state', 'documentTemplateService', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n };\r\n\r\n function controller($scope, $state, documentTemplateService) {\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n vm.advanceSearchKeyword = '';\r\n vm.documentTypes = [];\r\n vm.selectedDocType = 0;\r\n vm.datetime = {\r\n fromDate: null,\r\n toDate: null,\r\n isView: false\r\n };\r\n vm.filterOptionNeededMessage = globalResources.FilterOptionNeededMessage;\r\n\t\t\tvm.toggleFlag = false;\r\n\r\n\t\t\tvm.today = new Date();\r\n\r\n vm.toggleSearchPanel = toggleSearchPanel;\r\n vm.initAdvanceSearchData = initAdvanceSearchData;\r\n vm.onAdvanceSearch = onAdvanceSearch;\r\n\r\n function toggleSearchPanel() {\r\n vm.toggleFlag = !vm.toggleFlag;\r\n if (!$scope.showToggleSearchPanel) {\r\n vm.toggleFlag = true;\r\n }\r\n };\r\n\r\n function initAdvanceSearchData() {\r\n if (vm.documentTypes.length == 0) {\r\n documentTemplateService.getDocumentTemplate()\r\n .then(function (data) {\r\n vm.documentTypes = data;\r\n var firstItem = { id: 0, name: '' }\r\n data.splice(0, 0, firstItem);\r\n });\r\n }\r\n };\r\n\r\n function onAdvanceSearch() {\r\n if (vm.selectedDocType != 0 || vm.datetime.toDate != null || vm.datetime.fromDate != null || vm.advanceSearchKeyword != '') {\r\n vm.filterOptionNeededMessage = '';\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: vm.advanceSearchKeyword,\r\n searchInContents: 1,\r\n template: vm.selectedDocType,\r\n fromDate: vm.datetime.fromDate != null ? vm.datetime.fromDate.getTime() : null,\r\n toDate: vm.datetime.toDate != null ? vm.datetime.toDate.getTime() : null,\r\n type: 3\r\n });\r\n }\r\n else {\r\n vm.filterOptionNeededMessage = globalResources.FilterOptionNeededMessage;\r\n }\r\n };\r\n };\r\n };\r\n\r\n})();","(function () {\r\n var model = angular.module('advanceSearchModule', []);\r\n\r\n model.controller(controllers.advanceSearchController, ['$scope', '$state', '$http', 'folderService', '$uibModalInstance', 'quickSearchKeyword', 'broadcastService', 'configService',\r\n function ($scope, $state, $http, folderService, $modalInstance, quickSearchKeyword, broadcastService, configService) {\r\n $scope.translation = globalResources;\r\n $scope.currentData = {\r\n advanceSearchKeyword: quickSearchKeyword,\r\n folderName: '',\r\n selectedDocType: 0,\r\n selectedFolderId: 0,\r\n datetime: {\r\n fromDate: null,\r\n toDate: null,\r\n isView: false\r\n },\r\n searchInContent: false,\r\n hasExpired: false\r\n };\r\n $scope.documentTypes = [];\r\n $scope.folderTree = [];\r\n $scope.filterOptionNeededMessage = globalResources.FilterOptionNeededMessage;\r\n $scope.showTreeDocument = false;\r\n $scope.key_showRemoveIcon = false;\r\n $scope.folder_showRemoveIcon = false;\r\n $scope.dateFrom_showRemoveIcon = false;\r\n $scope.dateTo_showRemoveIcon = false;\r\n\r\n $scope.initAdvanceSearchData = initAdvanceSearchData;\r\n $scope.onAdvanceSearch = onAdvanceSearch;\r\n $scope.close = close;\r\n $scope.loadFolderTree = loadFolderTree;\r\n $scope.hidePopupOnLostFocus = hidePopupOnLostFocus;\r\n $scope.selectNodeHead = selectNodeHead;\r\n $scope.selectNodeLabel = selectNodeLabel;\r\n $scope.hideTooltip = hideTooltip;\r\n $scope.clear_advKeyword = clear_advKeyword;\r\n $scope.clear_advFolder = clear_advFolder;\r\n $scope.clear_advDateFrom = clear_advDateFrom;\r\n $scope.clear_advDateTo = clear_advDateTo;\r\n $scope.showDocumentInTree = configService.getBool(HandbookConfiguration.ShowDocumentsInTree);\r\n\r\n function initAdvanceSearchData() {\r\n setTimeout(function () {\r\n $('#adv_keyword').focus();\r\n },1000);\r\n \r\n //Init chapter base on url\r\n var id = $state.params.folderId;\r\n if (id != undefined && id > 0 && $state.current.name == 'folder') {\r\n folderService.getFolderById(id).then(function (response) {\r\n $scope.currentData.folderName = response.data.name;\r\n $scope.currentData.selectedFolderId = response.data.id;\r\n });;\r\n }\r\n $scope.key_showRemoveIcon = ($scope.currentData.advanceSearchKeyword != undefined && $scope.currentData.advanceSearchKeyword.length > 0);\r\n };\r\n\r\n function onAdvanceSearch() {\r\n if ($scope.currentData.selectedFolderId != 0 || $scope.currentData.datetime.toDate != null || $scope.currentData.datetime.fromDate != null || $scope.currentData.advanceSearchKeyword != '') {\r\n $scope.filterOptionNeededMessage = '';\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: $scope.currentData.advanceSearchKeyword,\r\n searchInContents: 1,\r\n folderId: $scope.currentData.selectedFolderId,\r\n fromDate: $scope.currentData.datetime.fromDate != null ? $scope.currentData.datetime.fromDate.getTime() : null,\r\n toDate: $scope.currentData.datetime.toDate != null ? $scope.currentData.datetime.toDate.getTime() : null,\r\n hasExpired: $scope.currentData.hasExpired ? 1: 0,\r\n type: 3\r\n });\r\n $modalInstance.close(true);\r\n broadcastService(broadcastType.resetQuickSearchKeyword, null);\r\n }\r\n else {\r\n $scope.filterOptionNeededMessage = globalResources.FilterOptionNeededMessage;\r\n }\r\n };\r\n\r\n function close() {\r\n $modalInstance.close(true);\r\n }\r\n\r\n function loadFolderTree() {\r\n $scope.showTreeDocument = !$scope.showTreeDocument;\r\n if ($scope.showTreeDocument) {\r\n if ($scope.folderTree.length == undefined || $scope.folderTree.length == 0) {\r\n $http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': null, 'showDocumentInTree': $scope.showDocumentInTree } })\r\n .success(function (data, status, headers, config) {\r\n $scope.folderTree = data;\r\n });\r\n }\r\n }\r\n };\r\n\r\n function hidePopupOnLostFocus() {\r\n $scope.showTreeDocument = false;\r\n };\r\n\r\n function selectNodeHead(node) {\r\n if (!node.isLoaded) {\r\n $http.get(handbookRequests.GetSubfoldersRequest, { params: { 'folderId': node.id } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n };\r\n\r\n function selectNodeLabel(node) {\r\n $scope.currentData.folderName = node.name;\r\n $scope.currentData.selectedFolderId = node.id;\r\n $scope.folder_showRemoveIcon = ($scope.currentData.selectedFolderId != undefined && $scope.currentData.selectedFolderId > 0);\r\n folderService.setFolder(node);\r\n hidePopupOnLostFocus();\r\n hideTooltip();\r\n };\r\n\r\n $scope.$watch('currentData.datetime.fromDate', function () {\r\n if ($scope.currentData.datetime.fromDate != null) {\r\n hideTooltip();\r\n $scope.dateFrom_showRemoveIcon = ($scope.currentData.datetime.fromDate != undefined && $scope.currentData.datetime.fromDate != null);\r\n }\r\n });\r\n\r\n $scope.$watch('currentData.datetime.toDate', function () {\r\n if ($scope.currentData.datetime.toDate != null) {\r\n hideTooltip();\r\n $scope.dateTo_showRemoveIcon = ($scope.currentData.datetime.toDate != undefined && $scope.currentData.datetime.toDate != null);\r\n }\r\n });\r\n\r\n function hideTooltip() {\r\n if (angular.element('#btnAdvanceSearch').scope().tt_isOpen) {\r\n angular.element('#btnAdvanceSearch').scope().tt_isOpen = false;\r\n }\r\n $scope.key_showRemoveIcon = ($scope.currentData.advanceSearchKeyword != undefined && $scope.currentData.advanceSearchKeyword.length > 0);\r\n };\r\n\r\n function clear_advKeyword() {\r\n $scope.currentData.advanceSearchKeyword = '';\r\n $scope.key_showRemoveIcon = false;\r\n };\r\n\r\n function clear_advFolder() {\r\n $scope.currentData.folderName = '';\r\n $scope.currentData.selectedFolderId = 0;\r\n $scope.folder_showRemoveIcon = false;\r\n };\r\n\r\n function clear_advDateFrom() {\r\n $scope.currentData.datetime.fromDate = null;\r\n $scope.dateFrom_showRemoveIcon = false;\r\n };\r\n\r\n function clear_advDateTo() {\r\n $scope.currentData.datetime.toDate = null;\r\n $scope.dateTo_showRemoveIcon = false;\r\n };\r\n }]);\r\n\r\n})();","(function () {\r\n var model = angular.module('metadataSearchModule', []);\r\n\r\n model.controller(controllers.metadataController, ['$scope', '$state', '$http', '$document', 'folderService', '$uibModalInstance', 'quickSearchKeyword', 'metaDataService', 'broadcastService', 'configService',\r\n function ($scope, $state, $http, $document, folderService, $modalInstance, quickSearchKeyword, metaDataService, broadcastService, configService) {\r\n $scope.translation = globalResources;\r\n $scope.currentData = {\r\n advanceSearchKeyword: quickSearchKeyword,\r\n folderName: '',\r\n selectedFolderId: 0,\r\n };\r\n $scope.selectedItem = {\r\n selectedMetadata: null,\r\n selectedTag: null\r\n };\r\n \r\n $scope.initMetadata = {\r\n metadatas: [],\r\n tags: []\r\n };\r\n \r\n\r\n $scope.folderTree = [];\r\n $scope.filterOptionNeededMessage = globalResources.FilterOptionNeededMessage;\r\n $scope.showTreeDocument = false;\r\n $scope.key_showRemoveIcon = false;\r\n $scope.folder_showRemoveIcon = false;\r\n\r\n $scope.initMetadataSearchData = initMetadataSearchData;\r\n $scope.onMetadataSearch = onMetadataSearch;\r\n $scope.close = close;\r\n $scope.loadFolderTree = loadFolderTree;\r\n $scope.hidePopupOnLostFocus = hidePopupOnLostFocus;\r\n $scope.selectNodeHead = selectNodeHead;\r\n $scope.selectNodeLabel = selectNodeLabel;\r\n $scope.hideTooltip = hideTooltip;\r\n $scope.clear_advKeyword = clear_advKeyword;\r\n $scope.clear_advFolder = clear_advFolder;\r\n $scope.showDocumentInTree = configService.getBool(HandbookConfiguration.ShowDocumentsInTree);\r\n\r\n function initMetadataSearchData() {\r\n setTimeout(function () {\r\n $('#adv_keyword').focus();\r\n }, 1000);\r\n\r\n //Init chapter base on url\r\n var id = $state.params.folderId;\r\n if (id != undefined && id > 0 && $state.current.name == 'folder') {\r\n folderService.getFolderById(id).then(function (response) {\r\n $scope.currentData.folderName = response.data.name;\r\n $scope.currentData.selectedFolderId = response.data.id;\r\n });;\r\n }\r\n $scope.key_showRemoveIcon = ($scope.currentData.advanceSearchKeyword != undefined && $scope.currentData.advanceSearchKeyword.length > 0);\r\n\r\n getRegisterItems();\r\n };\r\n\r\n function getRegisterItems() {\r\n metaDataService.getRegisterAndRegisterItems().then(function (data) {\r\n if (data) {\r\n $scope.initMetadata.metadatas = data;\r\n }\r\n });\r\n };\r\n\r\n $scope.$watch('selectedItem.selectedMetadata', function (selectedMetadata) {\r\n $scope.selectedItem.selectedTag = null;\r\n if (selectedMetadata != null && selectedMetadata != undefined) {\r\n getMetadataTags(selectedMetadata.registerItemId);\r\n } \r\n });\r\n\r\n function getMetadataTags(registerItemId) {\r\n metaDataService.getMetadataTags(registerItemId).then(function (data) {\r\n if (data) {\r\n $scope.initMetadata.tags = data;\r\n }\r\n });\r\n };\r\n\r\n function onMetadataSearch() {\r\n if ($scope.currentData.selectedFolderId != 0 || $scope.selectedItem.selectedRegister != null || $scope.currentData.advanceSearchKeyword != '') {\r\n $scope.filterOptionNeededMessage = '';\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: $scope.currentData.advanceSearchKeyword,\r\n searchInContents: 1,\r\n folderId: $scope.currentData.selectedFolderId,\r\n registerItemId: $scope.selectedItem.selectedMetadata != null ? $scope.selectedItem.selectedMetadata.registerItemId : null,\r\n registerItemValueId: $scope.selectedItem.selectedTag != null ? $scope.selectedItem.selectedTag.registerItemValueId : null,\r\n type: 4\r\n });\r\n $modalInstance.close(true);\r\n broadcastService(broadcastType.resetQuickSearchKeyword, null);\r\n }\r\n else {\r\n $scope.filterOptionNeededMessage = globalResources.FilterOptionNeededMessage;\r\n }\r\n };\r\n\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = $('.folder-search')\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n $scope.showTreeDocument = false;\r\n });\r\n\r\n function close() {\r\n $modalInstance.close(true);\r\n }\r\n\r\n function loadFolderTree() {\r\n $scope.showTreeDocument = !$scope.showTreeDocument;\r\n if ($scope.showTreeDocument) {\r\n if ($scope.folderTree.length == undefined || $scope.folderTree.length == 0) {\r\n $http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': null, 'showDocumentInTree': $scope.showDocumentInTree } })\r\n .success(function (data, status, headers, config) {\r\n $scope.folderTree = data;\r\n });\r\n }\r\n }\r\n };\r\n\r\n function hidePopupOnLostFocus() {\r\n $scope.showTreeDocument = false;\r\n };\r\n\r\n function selectNodeHead(node) {\r\n if (!node.isLoaded) {\r\n $http.get(handbookRequests.GetSubfoldersRequest, { params: { 'folderId': node.id } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n };\r\n\r\n function selectNodeLabel(node) {\r\n $scope.currentData.folderName = node.name;\r\n $scope.currentData.selectedFolderId = node.id;\r\n $scope.folder_showRemoveIcon = ($scope.currentData.selectedFolderId != undefined && $scope.currentData.selectedFolderId > 0);\r\n folderService.setFolder(node);\r\n hidePopupOnLostFocus();\r\n hideTooltip();\r\n };\r\n\r\n function hideTooltip() {\r\n if (angular.element('#btnAdvanceSearch').scope().tt_isOpen) {\r\n angular.element('#btnAdvanceSearch').scope().tt_isOpen = false;\r\n }\r\n $scope.key_showRemoveIcon = ($scope.currentData.advanceSearchKeyword != undefined && $scope.currentData.advanceSearchKeyword.length > 0);\r\n };\r\n\r\n function clear_advKeyword() {\r\n $scope.currentData.advanceSearchKeyword = '';\r\n $scope.key_showRemoveIcon = false;\r\n };\r\n\r\n function clear_advFolder() {\r\n $scope.currentData.folderName = '';\r\n $scope.currentData.selectedFolderId = 0;\r\n $scope.folder_showRemoveIcon = false;\r\n };\r\n \r\n }]);\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npSearchHomePage', npSearchHomePage)\r\n .directive('ngOptions', ['$timeout', ngOptions])\r\n ;\r\n\r\n function npSearchHomePage() {\r\n var directive = {\r\n restrict: 'EA',\r\n templateUrl: paths.SearchHomePageView,\r\n scope: {\r\n toggleSearhBoxHeader: '&toggleSearhBoxHeader',\r\n },\r\n link: linkFunction,\r\n controller: ['$scope', '$state', '$timeout', '$http', '$window', '$uibModal',\r\n 'debounceService', 'stringValidationService', 'localStorageService', 'documentService', 'configService', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n };\r\n\r\n function controller($scope, $state, $timeout, $http, $window, $uibModal,\r\n debounceService, stringValidationService, localStorageService, documentService, configService) {\r\n var previousRequests = [];\r\n\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n vm.NormalSearchTooltip = globalResources.NormalSearchTooltip.replace('{0}', HandbookConfiguration.HomeSearchPopupSize);\r\n vm.SearchInContentTooltip = globalResources.SearchInContentTooltip.replace('{0}', HandbookConfiguration.HomeSearchPopupSize);\r\n vm.quickSearchKeyword;\r\n vm.documents = {};\r\n vm.isCurrentPage = true;\r\n vm.togglePopup = false;\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n vm.searchInContentLabel = $window.innerWidth > 550 ? vm.translation.CheckboxIncludeDocContent : vm.translation.Content;\r\n vm.SearchBoxPlaceHolder = globalResources.TitleSearchBoxPlaceholder;\r\n vm.enabledMetadataSearch = false;\r\n vm.enabledAdvanceSearch = false;\r\n vm.isMetadataSearch = configService.getBool(HandbookConfiguration.MetadataEnabled) && vm.enabledMetadataSearch;\r\n vm.isMessageInfo = false;\r\n vm.messageInfoBottom = String.format(vm.translation.ShowMessageInfoBottomListSearch, HandbookConfiguration.HomeSearchPopupSize);\r\n vm.doSearchDataMining = configService.getBool(HandbookConfiguration.DoSearchDataMining);\r\n vm.clearSearchToggle = configService.getBool(HandbookConfiguration.ClearSearchToggle);\r\n vm.searchInFolders = configService.getBool(HandbookConfiguration.SearchInFolders);\r\n vm.enableProcess = configService.getBool(HandbookConfiguration.EnableProcess);\r\n vm.enableVAR = configService.getBool(HandbookConfiguration.EnableVAR);\r\n\r\n vm.onSearch = debounceService.debounce(onSearch, 500);\r\n vm.onDataNavigating = onDataNavigating;\r\n vm.hidePopupOnLostFocus = hidePopupOnLostFocus;\r\n vm.goToDocument = goToDocument;\r\n vm.goToFolder = goToFolder;\r\n vm.openAdvancedSearch = openAdvancedSearch;\r\n vm.searchDocument = searchDocument;\r\n vm.clear_Keyword = clear_Keyword;\r\n vm.changeSearchKeyword = changeSearchKeyword;\r\n vm.openMetadataSearch = openMetadataSearch;\r\n vm.popupMouseDown = popupMouseDown;\r\n vm.popupMouseUp = popupMouseUp;\r\n vm.goToProcess = goToProcess;\r\n vm.goToProcessArea = goToProcessArea;\r\n vm.onVARClick = onVARClick;\r\n\r\n vm.key_showRemoveIcon = false;\r\n vm.noMatches = false;\r\n vm.activePopup = false;\r\n vm.searchMode = \"0\";\r\n vm.toggleSearhBoxHeader = toggleSearhBoxHeader;\r\n vm.varRecords = [];\r\n vm.numFoundOfVar = 0;\r\n\r\n initialize();\r\n\r\n $scope.$on(broadcastType.resetQuickSearchKeyword, function (e, target) {\r\n vm.quickSearchKeyword = '';\r\n });\r\n\r\n function initialize() {\r\n if (!vm.clearSearchToggle) {\r\n var searchMode = localStorageService.getItem('SearchMode');\r\n vm.searchMode = searchMode == null ? 0 : (searchMode == 1 ? 1 : 0);\r\n }\r\n }\r\n\r\n function toggleSearhBoxHeader() {\r\n vm.quickSearchKeyword = \"\";\r\n // mobile view\r\n $scope.toggleSearhBoxHeader();\r\n }\r\n\r\n function onSearch(keyEvent) { \r\n if (keyEvent.which == KEY_CODES.ESCAPE) {\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n hidePopupOnLostFocus();\r\n }\r\n else if (keyEvent.which == KEY_CODES.ENTER) {\r\n if (vm.currentItem == null) {\r\n searchDocument();\r\n }\r\n else {\r\n if (vm.currentIndex < vm.documents.length) {\r\n vm.goToDocument(vm.currentItem);\r\n }\r\n else {\r\n vm.goToFolder(vm.currentItem.id);\r\n }\r\n\r\n vm.togglePopup = false;\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n }\r\n }\r\n else if (keyEvent.which != KEY_CODES.UP_ARROW && keyEvent.which != KEY_CODES.DOWN_ARROW && keyEvent.which != KEY_CODES.ESCAPE) {\r\n onSearchInputChanged();\r\n resetCurrentItem();\r\n }\r\n }\r\n\r\n function onDataNavigating(keyEvent) {\r\n if (keyEvent.which == 38 || keyEvent.which == 40) {\r\n setcurrentItemInPopup(keyEvent.which);\r\n }\r\n };\r\n\r\n function searchDocument() {\r\n var keywordValue = vm.quickSearchKeyword ? vm.quickSearchKeyword.trim() : '';\r\n vm.isCurrentPage = false;\r\n vm.togglePopup = false;\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: keywordValue,\r\n searchInContents: vm.searchMode,\r\n folderId: null,\r\n fromDate: null,\r\n toDate: null,\r\n type: vm.searchMode == 1 ? 2 : 1\r\n });\r\n vm.quickSearchKeyword = '';\r\n\r\n toggleSearhBoxHeader();\r\n };\r\n\r\n function getProcessSearchResult(keyword, searchType) {\r\n var processRequestParams = {\r\n keyword: keyword,\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n\r\n $http.get(handbookRequests.SearchProcesses, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processes = response.data;\r\n if (vm.processes.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.processes = vm.processes.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n }\r\n });\r\n\r\n $http.get(handbookRequests.SearchProcessAreas, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processAreas = response.data;\r\n if (vm.processAreas.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.processAreas = vm.processAreas.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n }\r\n });\r\n }\r\n\r\n function onSearchInputChanged() {\r\n var searchCondition = vm.quickSearchKeyword != null\r\n && vm.quickSearchKeyword != ''\r\n && (vm.quickSearchKeyword.length > 1 || !isNaN(vm.quickSearchKeyword))\r\n && vm.isCurrentPage\r\n && stringValidationService.notContainSpecialCharacter(vm.quickSearchKeyword)\r\n && (vm.searchMode == 0);\r\n\r\n if (searchCondition) {\r\n\r\n if (vm.enableProcess) {\r\n vm.processes = [];\r\n vm.processAreas = [];\r\n getProcessSearchResult(vm.quickSearchKeyword, E.searchType.Popup);\r\n }\r\n\r\n if (vm.enableVAR) {\r\n searchVAR(vm.quickSearchKeyword);\r\n }\r\n\r\n var searchRequestParams = {\r\n keyword: vm.quickSearchKeyword,\r\n searchInContents: vm.searchMode == 1 ? true : false,\r\n searchType: E.searchType.Popup\r\n };\r\n\r\n var requestId = previousRequests.length + 1;\r\n previousRequests.push(requestId);\r\n\r\n $http.get(handbookRequests.SearchRequest, { params: searchRequestParams, requestId: requestId })\r\n .then(function (response, status, headers, config) {\r\n //only accept result set that belongs to lastest request\r\n if (previousRequests[previousRequests.length - 1] != response.config.requestId) {\r\n return;\r\n }\r\n\r\n vm.documents = response.data.documents.filter(x => !x.hidden);\r\n if (vm.documents && vm.documents.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.documents = vm.documents.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n vm.folders = response.data.folders.filter(x => !x.hidden);\r\n if (vm.folders && vm.folders.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.folders = vm.folders.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n vm.togglePopup = ((vm.documents != null && vm.documents.length) > 0 || (vm.folders != null && vm.folders.length > 0));\r\n vm.noMatches = !vm.togglePopup;\r\n vm.isMessageInfo = (response.data.totalCount != null && response.data.totalCount > parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n });\r\n }\r\n else {\r\n $scope.$apply(function () {\r\n vm.togglePopup = false;\r\n });\r\n vm.isCurrentPage = true;\r\n }\r\n };\r\n\r\n function setcurrentItemInPopup(keyCode) {\r\n var lengthFolder = vm.folders != null ? vm.folders.length : 0;\r\n if (keyCode == 38 && vm.currentIndex > 0) {\r\n //go up\r\n vm.currentIndex -= 1;\r\n vm._scrollHeight -= 50;\r\n }\r\n if (keyCode == 40 && vm.currentIndex < (vm.documents.length + lengthFolder) - 1) {\r\n //go down\r\n vm.currentIndex += 1;\r\n vm._scrollHeight += 50;\r\n }\r\n angular.element('#search-popup-identifier')[0].scrollTop = vm._scrollHeight;\r\n\r\n if (vm.currentIndex < vm.documents.length) {\r\n vm.currentItem = vm.documents[vm.currentIndex];\r\n }\r\n else {\r\n vm.currentItem = vm.folders[vm.currentIndex - vm.documents.length];\r\n }\r\n };\r\n\r\n function resetCurrentItem() {\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n };\r\n\r\n function hidePopupOnLostFocus() {\r\n $timeout(function () {\r\n if (!vm.activePopup) {\r\n vm.togglePopup = false;\r\n }\r\n vm.noMatches = false;\r\n }, 200);\r\n };\r\n\r\n function changeSearchKeyword() {\r\n vm.key_showRemoveIcon = (vm.quickSearchKeyword != undefined && vm.quickSearchKeyword.length > 0);\r\n }\r\n function clear_Keyword() {\r\n vm.quickSearchKeyword = '';\r\n vm.key_showRemoveIcon = false;\r\n };\r\n\r\n function goToDocument(document) {\r\n toggleSearhBoxHeader();\r\n if (!document.isCompendiaDocument) {\r\n insertLogWords(document.id);\r\n documentService.goToDocument(document.id, document.defaultFieldView);\r\n } else {\r\n window.open(document.compendiaDocumentLink);\r\n }\r\n };\r\n\r\n function goToFolder(id) {\r\n toggleSearhBoxHeader();\r\n $state.go(handbookActions.FolderAction, { folderId: id });\r\n }\r\n\r\n function goToProcess(processNumber) {\r\n toggleSearhBoxHeader();\r\n $state.go('process-detail', { processNumber: processNumber });\r\n }\r\n\r\n function goToProcessArea(id) {\r\n toggleSearhBoxHeader();\r\n $state.go('process-area-detail', { areaId: id });\r\n }\r\n\r\n function insertLogWords(documentId) {\r\n if (!vm.doSearchDataMining) {\r\n return;\r\n }\r\n return $http.post('/api/Search/LogSearchWords',\r\n {\r\n documentId: documentId,\r\n employeeId: user.userId,\r\n searchKey: vm.quickSearchKeyword,\r\n searchType: 1,\r\n searchFilters: ''\r\n }).then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n }\r\n\r\n function openAdvancedSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.AdvancedSearchModalView,\r\n controller: controllers.advanceSearchController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n };\r\n\r\n function openMetadataSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/shared/searchAdvanceModule/metadataSearchModalView.html',\r\n controller: controllers.metadataController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n };\r\n\r\n function popupMouseDown() {\r\n vm.activePopup = true;\r\n }\r\n\r\n function popupMouseUp() {\r\n vm.activePopup = false;\r\n vm.togglePopup = false;\r\n }\r\n\r\n function onVARClick(row) {\r\n window.open(row.url);\r\n }\r\n\r\n function searchVAR(keyword) {\r\n if (vm.isLoadingVar) return;\r\n vm.isLoadingVar = true;\r\n\r\n return $http.get('/api/var/', {\r\n params: {\r\n method: 'PROCEDURE',\r\n query: keyword,\r\n offset: 0\r\n }\r\n }).then(response => {\r\n if (!response || !response.data || !response.data.documents || !response.data.documents.length) return;\r\n vm.numFoundOfVar = response.data.numFound;\r\n vm.varRecords = (response.data.documents || []).slice(0, 10);\r\n }).finally(() => {\r\n vm.isLoadingVar = false;\r\n }); \r\n }\r\n }\r\n }\r\n\r\n function ngOptions($timeout) {\r\n return {\r\n priority: 1,\r\n require: 'ngModel',\r\n link: function (scope, ele, attrs, ctrl) {\r\n var isIE = false;\r\n if (navigator.appName == 'Microsoft Internet Explorer') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null) {\r\n isIE = true;\r\n }\r\n }\r\n if (isIE) {\r\n //to fix IE8 issue with parent and detail controller, we need to depend on the parent controller\r\n var control = ele[0];\r\n var options = attrs.ngOptions;\r\n var match = options.match(/^\\s*(.*?)(?:\\s+as\\s+(.*?))?(?:\\s+group\\s+by\\s+(.*))?\\s+for\\s+(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(.*?)(?:\\s+track\\s+by\\s+(.*?))?$/);\r\n\r\n if (match && match[7]) {\r\n var dataSource = match[7];\r\n scope.$watch(dataSource, function (value) {\r\n //this will add and remove the options to trigger the rendering in IE9\r\n if (value) {\r\n var option = document.createElement(\"option\");\r\n control.add(option, null);\r\n control.remove(control.options.length - 1);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n };\r\n})();\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npSearch', npSearch)\r\n .directive('ngOptions', ['$timeout', ngOptions])\r\n ;\r\n\r\n function npSearch() {\r\n var directive = {\r\n restrict: 'EA',\r\n templateUrl: paths.SearchView,\r\n scope: {\r\n },\r\n link: linkFunction,\r\n controller: ['$scope', '$state', '$timeout', '$http', '$window', '$uibModal',\r\n 'debounceService', 'stringValidationService', 'localStorageService', 'documentService', 'configService', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n };\r\n\r\n function controller($scope, $state, $timeout, $http, $window, $uibModal,\r\n debounceService, stringValidationService, localStorageService, documentService, configService) {\r\n var previousRequests = [];\r\n\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n vm.NormalSearchTooltip = globalResources.NormalSearchTooltip.replace('{0}', HandbookConfiguration.SearchPopupSize);\r\n vm.SearchInContentTooltip = globalResources.SearchInContentTooltip.replace('{0}', HandbookConfiguration.SearchPopupSize);\r\n vm.quickSearchKeyword;\r\n vm.documents = {};\r\n vm.isCurrentPage = true;\r\n vm.togglePopup = false;\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n vm.searchInContentLabel = $window.innerWidth > 550 ? vm.translation.CheckboxIncludeDocContent : vm.translation.Content;\r\n vm.SearchBoxPlaceHolder = globalResources.TitleSearchBoxPlaceholder;\r\n vm.enabledMetadataSearch = false;\r\n vm.enabledAdvanceSearch = false;\r\n vm.isMetadataSearch = configService.getBool(HandbookConfiguration.MetadataEnabled) && vm.enabledMetadataSearch;\r\n vm.isMessageInfo = false;\r\n vm.messageInfoBottom = String.format(vm.translation.ShowMessageInfoBottomListSearch, HandbookConfiguration.SearchPopupSize);\r\n vm.doSearchDataMining = configService.getBool(HandbookConfiguration.DoSearchDataMining);\r\n vm.clearSearchToggle = configService.getBool(HandbookConfiguration.ClearSearchToggle);\r\n vm.searchInFolders = configService.getBool(HandbookConfiguration.SearchInFolders);\r\n vm.enableProcess = configService.getBool(HandbookConfiguration.EnableProcess);\r\n vm.enableInterconnectedProcess = configService.getBool(HandbookConfiguration.InterconnectedProcess);\r\n vm.enableVAR = configService.getBool(HandbookConfiguration.EnableVAR);\r\n\r\n vm.changeSearchMode = changeSearchMode;\r\n vm.onSearch = debounceService.debounce(onSearch, 500);\r\n vm.onDataNavigating = onDataNavigating;\r\n vm.hidePopupOnLostFocus = hidePopupOnLostFocus;\r\n\t\t\tvm.goToDocument = goToDocument;\r\n\t\t\tvm.goToFolder = goToFolder;\r\n vm.openAdvancedSearch = openAdvancedSearch;\r\n vm.searchDocument = searchDocument;\r\n vm.clear_Keyword = clear_Keyword;\r\n vm.changeSearchKeyword = changeSearchKeyword;\r\n vm.openMetadataSearch = openMetadataSearch;\r\n vm.popupMouseDown = popupMouseDown;\r\n vm.popupMouseUp = popupMouseUp;\r\n vm.goToProcess = goToProcess;\r\n vm.goToProcessArea = goToProcessArea;\r\n vm.onVARClick = onVARClick;\r\n vm.goToProcessInterconnected = goToProcessInterconnected;\r\n\r\n vm.key_showRemoveIcon = false;\r\n vm.noMatches = false;\r\n vm.activePopup = false;\r\n vm.varRecords = [];\r\n vm.numFoundOfVar = 0;\r\n\r\n initialize();\r\n\r\n $scope.$on(broadcastType.resetQuickSearchKeyword, function (e, target) {\r\n vm.quickSearchKeyword = '';\r\n });\r\n\r\n function initialize() {\r\n if (!vm.clearSearchToggle) {\r\n var searchMode = localStorageService.getItem('SearchMode');\r\n vm.searchInContent = searchMode == null ? false : (searchMode == 1 ? true : false);\r\n }\r\n };\r\n\r\n function changeSearchMode() {\r\n vm.searchInContent = !vm.searchInContent;\r\n if (!vm.clearSearchToggle) {\r\n localStorageService.setItem('SearchMode', vm.searchInContent ? 1 : 0);\r\n }\r\n };\r\n\r\n function onSearch(keyEvent) { \r\n if (keyEvent.which == KEY_CODES.ESCAPE) {\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n hidePopupOnLostFocus();\r\n }\r\n else if (keyEvent.which == KEY_CODES.ENTER) {\r\n if (vm.currentItem == null) {\r\n searchDocument();\r\n }\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.currentIndex < vm.documents.length) {\r\n\t\t\t\t\t\t\tvm.goToDocument(vm.currentItem);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.goToFolder(vm.currentItem.id);\r\n\t\t\t\t\t\t}\r\n \r\n vm.togglePopup = false;\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n }\r\n }\r\n else if (keyEvent.which != KEY_CODES.UP_ARROW && keyEvent.which != KEY_CODES.DOWN_ARROW && keyEvent.which != KEY_CODES.ESCAPE) {\r\n onSearchInputChanged();\r\n resetCurrentItem();\r\n }\r\n vm.changeSearchKeyword();\r\n };\r\n\r\n function onDataNavigating(keyEvent) {\r\n if (keyEvent.which == 38 || keyEvent.which == 40) {\r\n setcurrentItemInPopup(keyEvent.which);\r\n }\r\n };\r\n\r\n function searchDocument() {\r\n var keywordValue = vm.quickSearchKeyword ? vm.quickSearchKeyword.trim() : '';\r\n vm.isCurrentPage = false;\r\n vm.togglePopup = false;\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: keywordValue,\r\n searchInContents: vm.searchInContent ? 1 : 0,\r\n folderId: null,\r\n fromDate: null,\r\n toDate: null,\r\n type: vm.searchInContent ? 2 : 1\r\n });\r\n vm.quickSearchKeyword = '';\r\n vm.changeSearchKeyword();\r\n };\r\n\r\n function getProcessSearchResult(keyword, searchType) {\r\n var processRequestParams = {\r\n keyword: keyword,\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n\r\n $http.get(handbookRequests.SearchProcesses, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processes = response.data;\r\n }\r\n });\r\n\r\n $http.get(handbookRequests.SearchProcessAreas, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processAreas = response.data;\r\n }\r\n });\r\n\r\n if (vm.enableInterconnectedProcess) {\r\n $http.get(handbookRequests.SearchProcessInterconnected, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processesInterconnected = response.data;\r\n }\r\n });\r\n }\r\n }\r\n\r\n function onSearchInputChanged() {\r\n var searchCondition = vm.quickSearchKeyword != null\r\n && vm.quickSearchKeyword != ''\r\n && (vm.quickSearchKeyword.length > 1 || !isNaN(vm.quickSearchKeyword))\r\n && vm.isCurrentPage\r\n && stringValidationService.notContainSpecialCharacter(vm.quickSearchKeyword)\r\n && !vm.searchInContent;\r\n\r\n if (searchCondition) {\r\n if (vm.enableProcess) {\r\n vm.processes = [];\r\n vm.processAreas = [];\r\n vm.processesInterconnected = [];\r\n getProcessSearchResult(vm.quickSearchKeyword, E.searchType.Popup);\r\n }\r\n\r\n if (vm.enableVAR) {\r\n searchVAR(vm.quickSearchKeyword);\r\n }\r\n\r\n var searchRequestParams = {\r\n keyword: vm.quickSearchKeyword,\r\n searchInContents: vm.searchInContent,\r\n searchType: E.searchType.Popup,\r\n isFrontend: true\r\n };\r\n\r\n var requestId = previousRequests.length + 1;\r\n previousRequests.push(requestId);\r\n\r\n $http.get(handbookRequests.SearchRequest, { params: searchRequestParams, requestId: requestId })\r\n .then(function (response, status, headers, config) {\r\n //only accept result set that belongs to lastest request\r\n if (previousRequests[previousRequests.length - 1] != response.config.requestId) { \r\n return;\r\n }\r\n\r\n\t\t\t\t\t\t\tvm.documents = response.data.documents.filter(x => !x.hidden);\r\n vm.folders = response.data.folders.filter(x => !x.hidden);;\r\n vm.togglePopup = ((vm.documents != null && vm.documents.length > 0) ||\r\n (vm.folders != null && vm.folders.length > 0) ||\r\n (vm.processes != null && vm.processes.length > 0) ||\r\n (vm.processAreas != null && vm.processAreas.length > 0) ||\r\n (vm.processesInterconnected != null && vm.processesInterconnected.length > 0));\r\n vm.noMatches = !vm.togglePopup;\r\n vm.isMessageInfo = (response.data.totalCount != null && response.data.totalCount > parseInt(HandbookConfiguration.SearchPopupSize));\r\n });\r\n }\r\n else {\r\n $scope.$apply(function () {\r\n vm.togglePopup = false;\r\n });\r\n vm.isCurrentPage = true;\r\n }\r\n };\r\n\r\n\t\t\tfunction setcurrentItemInPopup(keyCode) {\r\n\t\t\t\tvar lengthFolder = vm.folders != null ? vm.folders.length : 0;\r\n if (keyCode == 38 && vm.currentIndex > 0) {\r\n //go up\r\n vm.currentIndex -= 1;\r\n vm._scrollHeight -= 50;\r\n }\r\n\t\t\t\tif (keyCode == 40 && vm.currentIndex < (vm.documents.length + lengthFolder) - 1) {\r\n //go down\r\n vm.currentIndex += 1;\r\n vm._scrollHeight += 50;\r\n }\r\n\t\t\t\tangular.element('#search-popup-identifier')[0].scrollTop = vm._scrollHeight;\r\n\r\n\t\t\t\tif (vm.currentIndex < vm.documents.length) {\r\n\t\t\t\t\tvm.currentItem = vm.documents[vm.currentIndex];\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.currentItem = vm.folders[vm.currentIndex - vm.documents.length];\r\n\t\t\t\t}\r\n };\r\n\r\n function resetCurrentItem() {\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n };\r\n\r\n function hidePopupOnLostFocus() {\r\n $timeout(function () {\r\n if (!vm.activePopup) {\r\n vm.togglePopup = false;\r\n }\r\n vm.noMatches = false;\r\n }, 200);\r\n };\r\n\r\n function changeSearchKeyword() {\r\n vm.key_showRemoveIcon = vm.quickSearchKeyword ? vm.quickSearchKeyword.trim() : '';\r\n }\r\n function clear_Keyword() {\r\n vm.quickSearchKeyword = '';\r\n vm.key_showRemoveIcon = false;\r\n };\r\n\r\n function goToDocument(document) {\r\n if (!document.isCompendiaDocument) {\r\n insertLogWords(document.id);\r\n\t\t\t\t\tdocumentService.goToDocument(document.id, document.defaultFieldView);\r\n } else {\r\n window.open(document.compendiaDocumentLink);\r\n }\r\n };\r\n\r\n\t\t\tfunction goToFolder(id) {\r\n\t\t\t\t$state.go(handbookActions.FolderAction, { folderId: id });\r\n }\r\n\r\n function goToProcess(processNumber) {\r\n $state.go('process-detail', { processNumber: processNumber });\r\n }\r\n\r\n function goToProcessArea(id) {\r\n $state.go('process-area-detail', { areaId: id });\r\n }\r\n\r\n function goToProcessInterconnected(processNumber) {\r\n $state.go('process-interconnected', { processNumber: processNumber });\r\n }\r\n\r\n function insertLogWords(documentId) {\r\n if (!vm.doSearchDataMining) {\r\n return;\r\n }\r\n return $http.post('/api/Search/LogSearchWords',\r\n {\r\n documentId: documentId,\r\n employeeId: user.userId,\r\n searchKey: vm.quickSearchKeyword,\r\n searchType: 1,\r\n searchFilters: ''\r\n }).then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n }\r\n\r\n function openAdvancedSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.AdvancedSearchModalView,\r\n controller: controllers.advanceSearchController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function openMetadataSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/shared/searchAdvanceModule/metadataSearchModalView.html',\r\n controller: controllers.metadataController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function popupMouseDown() {\r\n vm.activePopup = true;\r\n }\r\n\r\n function popupMouseUp() {\r\n vm.activePopup = false;\r\n vm.togglePopup = false;\r\n }\r\n\r\n function onVARClick(row) {\r\n window.open(row.url);\r\n }\r\n\r\n function searchVAR(keyword) {\r\n if (vm.isLoadingVar) return;\r\n vm.isLoadingVar = true;\r\n\r\n return $http.get('/api/var/', {\r\n params: {\r\n method: 'PROCEDURE',\r\n query: keyword,\r\n offset: 0\r\n }\r\n }).then(response => {\r\n if (!response || !response.data || !response.data.documents || !response.data.documents.length) return;\r\n vm.numFoundOfVar = response.data.numFound;\r\n vm.varRecords = (response.data.documents || []).slice(0, 10);\r\n }).finally(() => {\r\n vm.isLoadingVar = false;\r\n });\r\n }\r\n }\r\n };\r\n\r\n function ngOptions($timeout) {\r\n return {\r\n priority: 1,\r\n require: 'ngModel',\r\n link: function (scope, ele, attrs, ctrl) {\r\n var isIE = false;\r\n if (navigator.appName == 'Microsoft Internet Explorer') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null) {\r\n isIE = true;\r\n }\r\n }\r\n if (isIE) {\r\n //to fix IE8 issue with parent and detail controller, we need to depend on the parent controller\r\n var control = ele[0];\r\n var options = attrs.ngOptions;\r\n var match = options.match(/^\\s*(.*?)(?:\\s+as\\s+(.*?))?(?:\\s+group\\s+by\\s+(.*))?\\s+for\\s+(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(.*?)(?:\\s+track\\s+by\\s+(.*?))?$/);\r\n\r\n if (match && match[7]) {\r\n var dataSource = match[7];\r\n scope.$watch(dataSource, function (value) {\r\n //this will add and remove the options to trigger the rendering in IE9\r\n if (value) {\r\n var option = document.createElement(\"option\");\r\n control.add(option, null);\r\n control.remove(control.options.length - 1);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n };\r\n})();\r\n","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npTabs', function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$sce', '$timeout', 'pubSub', controller],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/tabs/npTabs.html',\r\n scope: {\r\n tabs: '=',\r\n tabWidth: '=',\r\n onClick: '&onClick',\r\n backgroundClass: '@',\r\n colorClass: '@',\r\n activeColorClass: '@',\r\n moduleClass: '@'\r\n },\r\n link: function (scope, element, attrs, ctrl, transclude) {\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $sce, $timeout, pubSub) {\r\n var vm = this;\r\n var onTabsChangeSetting = pubSub.subscribe('onTabsChangeSetting', onChange);\r\n\t\tvar onActiveTab = pubSub.subscribe('onActiveTab', onActiveTab);\r\n\r\n vm.color = $scope.colorClass || 'color-white';\r\n vm.activeColor = $scope.activeColorClass || 'color-black';\r\n vm.initialize = initialize;\r\n\r\n\t\t$scope.$watchCollection('tabs', function (newValue) {\r\n\t\t\tvm.tabs = newValue;\r\n\t\t});\r\n\r\n vm.tabWidth = $scope.tabWidth;\r\n\t\tvm.onClick_ = function (tabIndex, event, tab) {\r\n if (tab.disabled) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n return;\r\n }\r\n ativeTabs(tab);\r\n $scope.onClick({ tabIndex: tabIndex, tab: tab });\r\n $timeout(_addActiveClassForIconAndTitle, 100);\r\n };\r\n\r\n\t\tfunction onActiveTab(tab) {\r\n\t\t\t_onActiveTab(tab);\r\n\t\t\t$timeout(_addActiveClassForIconAndTitle, 100);\r\n\t\t}\r\n\r\n function onChange(index, tab) {\r\n $timeout(function () {\r\n vm.tabs[index] = tab;\r\n });\r\n }\r\n\r\n function ativeTabs(tab) {\r\n angular.forEach(vm.tabs, function (item) {\r\n item.activated = false;\r\n });\r\n tab.activated = true;\r\n if (!tab.visible) {\r\n // if tab not visible at the first time page loaded then visible it\r\n tab.visible = true;\r\n }\r\n\t\t}\r\n\r\n\t\tfunction _onActiveTab(index) {\r\n\t\t\tangular.forEach(vm.tabs, function (item) {\r\n item.active = false;\r\n angular.element('#' + item.href).removeClass('active');\r\n\t\t\t});\r\n\t\t\tvm.tabs[index].active = true;\r\n\t\t\tangular.element('#np-tabs li').removeClass('active');\r\n\t\t\tangular.element('#np-tabs-parent-' + vm.tabs[index].href).addClass('active');\r\n\t\t\tangular.element('#' + vm.tabs[index].href).addClass('active');\r\n\t\t}\r\n\r\n function initialize() {\r\n if (vm.tabs != null && vm.tabs.length > 0) {\r\n vm.tabs.forEach(function (tab) {\r\n if ((typeof tab.name === \"string\" || tab.name instanceof String)) {\r\n tab.name = $sce.trustAsHtml(tab.name);\r\n }\r\n }); \r\n }\r\n }\r\n\r\n function _addActiveClassForIconAndTitle() {\r\n $('#np-tabs li a tab-heading i').removeClass($scope.activeColorClass);\r\n $('#np-tabs li a tab-heading span').removeClass($scope.activeColorClass);\r\n\r\n $('#np-tabs li.active a tab-heading i').addClass($scope.activeColorClass);\r\n $('#np-tabs li.active a tab-heading span').addClass($scope.activeColorClass);\r\n }\r\n\r\n $scope.$on('$destroy', function () {\r\n\t\t\tonActiveTab();\r\n });\r\n }\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npFreezeTabContent', ['$timeout', 'tabStateService', function ($timeout, tabStateService) {\r\n return {\r\n restrict: 'A',\r\n replace: true,\r\n scope: {\r\n tabId: '@id',\r\n stateType: '@',\r\n toggleSidebar: '='\r\n },\r\n link: function (scope, element, attrs) {\r\n var identifierSelector = '#' + scope.tabId + '';\r\n angular.element(identifierSelector).click(function (e) {\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(scope.tabId, scope.stateType);\r\n }, 0, false);\r\n });\r\n\r\n scope.$watch('toggleSidebar', function (toggleSidebar) {\r\n // Extra processing for 'Updated Favorite' tab\r\n if (scope.tabId == homeTabs.updatedFavorite) {\r\n var updateFavoritePrintbox = angular.element('#' + homeContent.updatedFavoritePage + ' #print-box2');\r\n if (toggleSidebar == true) {\r\n updateFavoritePrintbox.removeClass(avoidCustomPageClass);\r\n } else {\r\n updateFavoritePrintbox.addClass(avoidCustomPageClass);\r\n }\r\n } else if (scope.tabId == homeTabs.whatNew) {\r\n angular.element('#' + homeContent.whatNew + ' #print-box2').addClass(avoidCustomPageClass);\r\n }\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n directivesModule.directive('emHeightSource', ['localStorageService', 'tabStateService', function (localStorageService, tabStateService) {\r\n\r\n return {\r\n controller: ['$scope', 'tabStateService', '$timeout', controller],\r\n replace: true,\r\n scope: {\r\n tabActive: '@',\r\n stateType: '@'\r\n },\r\n link: function (scope, elem, attrs) {\r\n scope.$watch(function () {\r\n var tabActive = null;\r\n switch (scope.stateType) {\r\n case tabStateType.documentTabState:\r\n tabActive = localStorageService.getItem('DocumentTabState');\r\n //if (!tabActive) {\r\n // tabStateService.setState(tabStateType.documentTabState, documentTabs.content);\r\n // tabActive = documentTabs.content;\r\n //}\r\n break;\r\n case tabStateType.chapterTabState:\r\n tabActive = localStorageService.getItem('ChapterTabState');\r\n //if (!tabActive) {\r\n // tabStateService.setState(tabStateType.chapterTabState, folderTabs.content);\r\n // tabActive = folderTabs.content;\r\n //}\r\n break;\r\n\r\n }\r\n if (tabActive && scope.tabActive == tabActive) {\r\n scope.__height = elem.height();\r\n }\r\n else {\r\n if (!tabActive) {\r\n scope.__height = 0;\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n }]);\r\n\r\n function controller($scope, tabStateService, $timeout) {\r\n $scope.$watch('__height', function (newHeight, oldHeight) {\r\n if (newHeight && Number(newHeight) > 0) { \r\n $timeout(function () {\r\n tabStateService.adjustContentHeightPosition($scope.stateType, newHeight);\r\n }, 0);\r\n }\r\n });\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npTabsToggle', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n scope: {\r\n tabsToggle: '@',\r\n hasError: '='\r\n },\r\n link: function (scope, elem, attrs) {\r\n var anchorsSelector = '#' + scope.tabsToggle + ' li';\r\n $(anchorsSelector).click(function (e) {\r\n var tab = $(this);\r\n if (tab.hasClass(\"disabled\")) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n if (tab.hasClass('active')) {\r\n window.setTimeout(function () {\r\n $(\".page-container_content.tab-content > .tab-pane\").removeClass('active');\r\n //$(\".tab-content > .tab-pane\").removeClass('active');\r\n //$(\".tab-pane\").removeClass('active');\r\n tab.removeClass('active');\r\n tab.children('a').blur();\r\n }, 1);\r\n }\r\n });\r\n }\r\n };\r\n });\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npShareUrlButton', [function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$timeout', 'browserService', controller],\r\n scope: {\r\n url: '=',\r\n name: '=',\r\n imgUrl: '=?',\r\n addClass: '=?',\r\n title: '=?'\r\n },\r\n templateUrl: '/app/shared/shareURL/shareUrl.html',\r\n transclue: true,\r\n controllerAs: 'vm'\r\n };\r\n }]);\r\n\r\n function controller($scope, $timeout, browserService) {\r\n var vm = this;\r\n vm.translation = globalResources;\r\n\r\n vm.tooltip = $scope.title ? $scope.title : vm.translation.CopyUserFriendlyUrl;\r\n \r\n vm.getShareLink = getShareLink;\r\n vm.imgUrl = $scope.imgUrl ? $scope.imgUrl : ' ';\r\n vm.additionClass = $scope.addClass ? $scope.addClass : 'shareurl-button';\r\n\r\n vm.getShareLink = getShareLink;\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n\r\n function getShareLink(event) { \r\n event.currentTarget.classList.add('opacity-0-5'); \r\n \r\n var shareLink = '' + $scope.name + '';\r\n $('#html-container').text(shareLink);\r\n var htmlEditor = CodeMirror.fromTextArea(document.getElementById('html-container'), {\r\n mode: 'text/html'\r\n });\r\n var cm = $('.CodeMirror')[0].CodeMirror;\r\n $(cm.getWrapperElement()).hide();\r\n copyFormatted(htmlEditor.getValue());\r\n $timeout(function () {\r\n event.currentTarget.classList.remove('opacity-0-5');\r\n $scope.$apply();\r\n }, 5000, false);\r\n }\r\n function copyFormatted(html) {\r\n // Create an iframe (isolated container) for the HTML\r\n var container = document.createElement('div');\r\n container.innerHTML = html;\r\n\r\n // Hide element\r\n container.style.position = 'fixed';\r\n container.style.pointerEvents = 'none';\r\n container.style.opacity = 0;\r\n\r\n // Mount the iframe to the DOM to make `contentWindow` available\r\n document.body.appendChild(container);\r\n\r\n // Copy to clipboard\r\n window.getSelection().removeAllRanges();\r\n\r\n var range = document.createRange();\r\n range.selectNode(container);\r\n window.getSelection().addRange(range);\r\n\r\n //copy selected dom\r\n document.execCommand('copy');\r\n\r\n // Remove the iframe\r\n document.body.removeChild(container);\r\n }\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npTreeNav', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$http', '$state', 'pubSub', '$timeout', controller],\r\n controllerAs: 'vm',\r\n scope: {\r\n getSelectedNode: '=',\r\n template: '=',\r\n isActiveContainerClass: '=',\r\n currentNode: '=',\r\n customCss: '@',\r\n treeCss: '@',\r\n isDisabled: '=',\r\n levelType: '=',\r\n isShowAll: '='\r\n },\r\n templateUrl: '/app/shared/treeNav/tree.tpl.html',\r\n link: function (scope, element, attr) {\r\n scope.showFolderTree = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showFolderTree = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, $http, $state, pubSub, $timeout) {\r\n var vm = this;\r\n vm.translation = resources;\r\n vm.clearSelectedFolder = clearSelectedFolder;\r\n vm.onSearchFolderSelect = onSearchFolderSelect;\r\n vm.onSearchKeyup = onSearchKeyup;\r\n var killFolderInformation = null;\r\n $scope.initialize = function () {\r\n killFolderInformation = pubSub.subscribe('changeFolderInformation', changeFolderInformation);\r\n if ($scope.currentNode) {\r\n onSelectFolder($scope.currentNode);\r\n }\r\n\r\n $http.get('/api/Folders/GetChildren', { params: { 'Id': null, showDocumentInTree: false } })\r\n .success(function (data, status, headers, config) {\r\n if (!Array.isArray(data))\r\n return;\r\n\r\n if ($scope.isShowAll) {\r\n var item = { id: null, name: resources.L.Common.all, type: 0 };\r\n data.splice(0, 0, item);\r\n\r\n vm.selectedFolder = item;\r\n onSelectFolder(vm.selectedFolder);\r\n }\r\n\r\n if ($scope.levelType && $scope.levelType >= 0) {\r\n $scope.list = getNodesByLevelType(data, $scope.levelType);\r\n } else {\r\n $scope.list = data;\r\n }\r\n\r\n buildIcons($scope.list);\r\n\r\n })\r\n .error(function (data, status, headers, config) {\r\n $scope.list = null;\r\n });\r\n }\r\n $scope.$on('$destroy', function () {\r\n killFolderInformation();\r\n });\r\n\r\n $scope.options = {\r\n dropped: function (event) {\r\n console.log('dropped');\r\n },\r\n beforeDrop: function (event) {\r\n console.log('beforeDrop');\r\n }\r\n };\r\n\r\n $scope.handleExpand = function (expanded, itemId, selectedNode) {\r\n if (expanded == true) {\r\n\r\n //sibling is the data which bind with the scope. So if we modify sibling, it will reflect to $scope.list\r\n var siblings = selectedNode.$parentNodeScope == null ? selectedNode.list : selectedNode.$parentNodeScope.$modelValue.items;\r\n var modelValue = selectedNode.$modelValue;\r\n modelValue.expanded = expanded;\r\n modelValue.class = getIconsWithReadPermission(modelValue);\r\n //check if type of selected node is in [1, 2, 3, 4] = [Document, LinkDocument, FileDocument, ShortcutDocument] refer to enum NodeType, we dont call request\r\n if (modelValue.isLoaded || modelValue.type <= 4) {\r\n return;\r\n } else {\r\n modelValue.isLoaded = true;\r\n }\r\n\r\n $http.get('/api/Folders/GetChildren', { params: { 'Id': itemId, showDocumentInTree: false } })\r\n .success(function (data, status, headers, config) {\r\n if (data != null && data.length > 0 && Array.isArray(data)) {\r\n var length = siblings.length;\r\n for (var i = 0; i < length; i++) {\r\n if (siblings[i].id == itemId) {\r\n if (siblings[i].items == null) {\r\n siblings[i].items = [];\r\n }\r\n buildIcons(data);\r\n if ($scope.levelType && $scope.levelType >= 0) {\r\n data = getNodesByLevelType(data, $scope.levelType);\r\n }\r\n siblings[i].items = siblings[i].items.concat(data);;\r\n break;\r\n }\r\n }\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n // TODO: log error\r\n });\r\n } else {\r\n var modelValue = selectedNode.$modelValue;\r\n modelValue.expanded = expanded;\r\n modelValue.class = getIconsWithReadPermission(modelValue);\r\n }\r\n };\r\n function changeFolderInformation() {\r\n if ($scope.currentNode) {\r\n onSelectFolder($scope.currentNode);\r\n }\r\n\r\n $http.get('/api/Folders/GetChildren', { params: { 'Id': null, showDocumentInTree: false } })\r\n .then(function (result) {\r\n if (!Array.isArray(result.data))\r\n return;\r\n if ($scope.levelType && $scope.levelType >= 0) {\r\n $scope.list = getNodesByLevelType(result.data, $scope.levelType);\r\n } else {\r\n $scope.list = result.data;\r\n }\r\n buildIcons($scope.list);\r\n }, function (reason) {\r\n $scope.list = null;\r\n });\r\n };\r\n function getNodesByLevelType(nodes, levelType) {\r\n var list = [];\r\n angular.forEach(nodes, function (node) {\r\n if (node.levelType == levelType) {\r\n list.push(node);\r\n }\r\n });\r\n\r\n return list;\r\n };\r\n $scope.selectNode = function (node, $event) {\r\n setHighlight($event);\r\n $scope.showFolderTree = false;\r\n vm.selectedFolder = node.$modelValue;\r\n $scope.getSelectedNode(vm.selectedFolder);\r\n onSelectFolder(vm.selectedFolder);\r\n }\r\n\r\n $scope.toggle = function (scope) {\r\n scope.toggle();\r\n };\r\n\r\n $scope.isFolderNode = function (type) {\r\n return type == E.nodeTypes.Folder || type == E.nodeTypes.TopFolder || type == E.nodeTypes.DepartmentFolder || type == E.nodeTypes.RegionalFolder;\r\n };\r\n\r\n function setHighlight(event) {\r\n $('.angular-ui-tree-handle').removeClass('selected-node');\r\n $('.selected-node').parent().removeClass('selected-node');\r\n $(event.target).parent().addClass('selected-node');\r\n };\r\n\r\n function buildIcons(list) {\r\n if (!Array.isArray(list)) {\r\n return;\r\n }\r\n var length = list.length;\r\n for (var i = 0; i < length; i++) {\r\n list[i].class = getIconsWithReadPermission(list[i]);\r\n }\r\n };\r\n\r\n function clearSelectedFolder() {\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n vm.selectedFolder = null;\r\n $scope.getSelectedNode(vm.selectedFolder);\r\n };\r\n\r\n function onSelectFolder(node) {\r\n $timeout(function () {\r\n $(ELEMENT_SELECTORS.FolderSelectionInputSelector).next().toggle(Boolean($(ELEMENT_SELECTORS.FolderSelectionInputSelector).val()));\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).addClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n }, 0, false);\r\n setFolderSelection(node);\r\n };\r\n\r\n function setFolderSelection(node) {\r\n switch (node.type.toString()) {\r\n case E.nodeTypes.RegionalFolder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-enterprise')\r\n .removeClass('f-normal')\r\n .removeClass('f-department')\r\n .addClass('f-regional visible');\r\n break;\r\n case E.nodeTypes.Folder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-enterprise')\r\n .removeClass('f-department')\r\n .removeClass('f-regional')\r\n .addClass('f-normal visible');\r\n break;\r\n case E.nodeTypes.TopFolder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-normal')\r\n .removeClass('f-department')\r\n .removeClass('f-regional')\r\n .addClass('f-enterprise visible');\r\n break;\r\n case E.nodeTypes.DepartmentFolder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-enterprise')\r\n .removeClass('f-normal')\r\n .removeClass('f-regional')\r\n .addClass('f-department visible');\r\n break;\r\n default:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).addClass('f-normal visible');\r\n }\r\n };\r\n\r\n function onSearchFolderSelect($item, $model, $label) {\r\n vm.selectedFolder = $item;\r\n $scope.getSelectedNode(vm.selectedFolder);\r\n onSelectFolder($item);\r\n };\r\n\r\n function onSearchKeyup(e) {\r\n if ((e.which === 8 || e.which == 46)) {\r\n if ($(e.target).val() == '') {\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n vm.selectedFolder = null;\r\n }\r\n } else {\r\n if ($(e.target).val() != '') {\r\n $timeout(function () {\r\n $(ELEMENT_SELECTORS.FolderSelectionInputSelector).next().toggle(Boolean($(ELEMENT_SELECTORS.FolderSelectionInputSelector).val()));\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).addClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n }, 0, false);\r\n }\r\n }\r\n };\r\n\r\n $scope.$watch('vm.selectedFolder.name', function (newValue, oldValue) {\r\n if (newValue != null && newValue.length >= 2 && newValue != oldValue) {\r\n $http.get('/api/Search/SearchFolders', { params: { 'keyword': newValue } })\r\n .then(function (response, status, headers, config) {\r\n vm.folders = response.data;\r\n buildIcons(vm.folders);\r\n });\r\n }\r\n if (newValue == null) {\r\n vm.folders = [];\r\n }\r\n });\r\n\r\n $scope.$watch('currentNode', function (newValue, oldValue) {\r\n if (newValue != null && newValue != oldValue) {\r\n vm.selectedFolder = newValue;\r\n onSelectFolder(vm.selectedFolder);\r\n }\r\n }, true);\r\n\r\n }\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\tangular.module(modules.homeModule).component('handbookDailyStatistics', {\r\n templateUrl: 'app/components/statistics/daily-statistics/daily-statistics.html',\r\n controller: controller,\r\n controllerAs: 'vm',\r\n bindings: {\r\n }\r\n });\r\n\r\n\tcontroller.$inject = ['$http', '$scope'];\r\n\tfunction controller($http, $scope) {\r\n\t\tvar vm = this;\r\n\t\tvm.docUsageTodaysSetting = [];\r\n\t\t\r\n\t\t$scope.$on(\"tabStatisticsActived\", function (evt, data) {\r\n\t\t\tif (data == 'dailyStatistics' && (!vm.docUsageTodaysSetting || vm.docUsageTodaysSetting.length == 0)) {\r\n\t\t\t\tinitialize();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tbuildGridSetting();\r\n\t\t\tgetDailyStatistics();\r\n\t\t}\r\n\r\n\t\tfunction getDailyStatistics() {\r\n\t\t\tvar promise = $http.get('/api/Documents/GetDailyStatisticsOverView', {});\r\n\t\t\tpromise.success(function (data, status, headers, config) {\r\n\t\t\t\tvar result = data;\r\n\t\t\t\tvm.objHandbookStatistics = result.objHandbookStatistics;\r\n\t\t\t\tvm.arrDailyStatistics = result.arrDailyStatistics;\r\n\t\t\t\tvm.docUsageTodays = result.docUsageTodays;\r\n\r\n\t\t\t\tgetHighCharts(vm.arrDailyStatistics);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction buildGridSetting() {\r\n\t\t\tvm.docUsageTodaysSetting = [\r\n\t\t\t\t{ id: 'name', name: resources.L.Statistics.mostReadToday, width: 57, coldefault: true , isObject: false },\r\n\t\t\t\t{ id: 'id', name: resources.L.Statistics.documentId, width: 26, coldefault: true, isObject: false },\r\n\t\t\t\t{ id: 'countValue', name: resources.L.Statistics.quantity, width: 18, coldefault: true, isObject: false, customCss: 'text-right' }\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\tfunction getHighCharts(data) {\r\n\t\t\tif (!data || !data.length)\r\n\t\t\t\treturn;\r\n\t\t\tvar categories = data.map(x => x.accessDateDisplay);\r\n\t\t\tvar documents = data.map(x => x.docAccessCount);\r\n\t\t\tvar users = data.map(x => x.userAccessCount);\r\n\r\n\t\t\tvar aa = document.getElementById('daily-charts-id');\r\n\r\n\t\t\tvar chart = Highcharts.chart('daily-charts-id', {\r\n\t\t\t\tchart: {\r\n\t\t\t\t\tzoomType: 'xy',\t\t\t\r\n\t\t\t\t},\r\n\t\t\t\ttitle: {\r\n\t\t\t\t\ttext: resources.L.Statistics.dailyUseDoc\r\n\t\t\t\t},\r\n\t\t\t\tsubtitle: {\r\n\t\t\t\t\ttext: ''\r\n\t\t\t\t}, \r\n\t\t\t\txAxis: [{\r\n\t\t\t\t\tcategories: categories,\r\n\t\t\t\t\tcrosshair: true\r\n\t\t\t\t}],\r\n\t\t\t\tyAxis: [{ // Primary yAxis\r\n\t\t\t\t\tallowDecimals: false,\r\n\t\t\t\t\tlabels: {\r\n\t\t\t\t\t\tformat: '{value}',\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[1]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\ttext: resources.L.Statistics.users,\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[1]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}, { // Secondary yAxis\r\n\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\ttext: resources.L.Common.documents,\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[0]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabels: {\r\n\t\t\t\t\t\tformat: '{value}',\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[0]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\topposite: true\r\n\t\t\t\t}],\r\n\t\t\t\ttooltip: {\r\n\t\t\t\t\tshared: true\r\n\t\t\t\t},\r\n\t\t\t\tlegend: {\r\n\t\t\t\t\tlayout: 'vertical',\r\n\t\t\t\t\talign: 'left',\r\n\t\t\t\t\tx: 50,\r\n\t\t\t\t\tverticalAlign: 'top',\r\n\t\t\t\t\ty: -10,\r\n\t\t\t\t\tfloating: true,\r\n\t\t\t\t\tbackgroundColor:\r\n\t\t\t\t\t\tHighcharts.defaultOptions.legend.backgroundColor || // theme\r\n\t\t\t\t\t\t'rgba(255,255,255,0.25)'\r\n\t\t\t\t},\r\n\t\t\t\tseries: [{\r\n\t\t\t\t\tname: resources.L.Common.documents,\r\n\t\t\t\t\ttype: 'column',\r\n\t\t\t\t\tyAxis: 1,\r\n\t\t\t\t\tdata: documents,\r\n\t\t\t\t\ttooltip: {\r\n\t\t\t\t\t\tvalueSuffix: ''\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}, {\r\n\t\t\t\t\tname: resources.L.Statistics.users,\r\n\t\t\t\t\ttype: 'spline',\r\n\t\t\t\t\tdata: users,\r\n\t\t\t\t\ttooltip: {\r\n\t\t\t\t\t\tvalueSuffix: ''\r\n\t\t\t\t\t}\r\n\t\t\t\t}]\r\n\t\t\t});\t\t\r\n\t\t}\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module(modules.homeModule).component('handbookFoderStatistics', {\r\n templateUrl: 'app/components/statistics/folder-statistics/folder-statistics.html',\r\n controller: controller,\r\n controllerAs: 'vm',\r\n bindings: {\r\n }\r\n });\r\n\r\n controller.$inject = ['$http', '$scope', 'configService'];\r\n function controller($http, $scope, configService) {\r\n var vm = this;\r\n\r\n vm.tabsChartsSetting = [];\r\n vm.periods = [];\r\n vm.subFolderStatisticsSetting = [];\r\n vm.defaultSelectedFolder = { id: null, name: resources.L.Common.all, type: 0 };\r\n vm.folderName = resources.L.Common.all;\r\n vm.statisticsPercentageForAwaitingApproval = configService.getBool(HandbookConfiguration.StatisticsPercentageForAwaitingApproval);\r\n\r\n vm.folderId = null;\r\n\r\n vm.getSelectedNode = getSelectedNode;\r\n vm.changePeriod = changePeriod;\r\n\r\n $scope.$on(\"tabStatisticsActived\", function (evt, data) {\r\n if (data == 'folderStatistics' && (!vm.tabsChartsSetting || vm.tabsChartsSetting.length == 0)) {\r\n initialize();\r\n }\r\n });\r\n\r\n function initialize() {\r\n getPeriods();\r\n vm.selectOptionPeriod = 2;\r\n\r\n buildTabsSetting();\r\n getFolderStatistics(null, vm.selectOptionPeriod);\r\n }\r\n\r\n function buildGridSetting(nameFolder) {\r\n vm.subFolderStatisticsSetting = [\r\n { id: 'folderName', name: nameFolder, width: 30, coldefault: true, isObject: false },\r\n { id: 'approved', name: resources.L.Statistics.docsInUse, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'internet', name: resources.L.Document.internet, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'newCount', name: resources.L.Statistics.newThisMonth, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'revised', name: resources.L.Statistics.revisedThisMonth, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'archived', name: resources.L.Statistics.archivedThisMonth, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'awaitingApproval', name: resources.L.Enum.DocumentStatuses.awaitingApproval, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'expired', name: resources.L.Statistics.expired, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' }\r\n ];\r\n }\r\n\r\n function getPeriods() {\r\n vm.periods = [\r\n { id: 0, name: resources.L.Common.all },\r\n { id: 1, name: resources.L.Statistics.fiveYear },\r\n { id: 2, name: resources.L.Statistics.last13Months },\r\n ];\r\n }\r\n\r\n function buildTabsSetting() {\r\n vm.tabsChartsSetting.push({\r\n name: resources.L.Statistics.approvedVsInternet,\r\n description: resources.L.Statistics.approvedVsInternet,\r\n href: 'approveInternet',\r\n icon: 'fa fa-line-chart',\r\n tabIndex: 1,\r\n active: true,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '',\r\n elementContentId: 'approveInternet'\r\n });\r\n vm.tabsChartsSetting.push({\r\n name: resources.L.Statistics.newVsRevisedVsArchived,\r\n description: resources.L.Statistics.newVsRevisedVsArchived,\r\n href: 'newRevisedArchived',\r\n icon: 'fa fa-line-chart',\r\n tabIndex: 2,\r\n active: false,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '',\r\n elementContentId: 'newRevisedArchived'\r\n });\r\n vm.tabsChartsSetting.push({\r\n name: resources.L.Statistics.awaitingApprovalVsExpired,\r\n description: resources.L.Statistics.awaitingApprovalVsExpired,\r\n href: 'awaitingApprovedExpired',\r\n icon: 'fa fa-line-chart',\r\n tabIndex: 2,\r\n active: false,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '',\r\n elementContentId: 'awaitingApprovedExpired'\r\n });\r\n }\r\n\r\n function getFolderStatistics(folderId, type) {\r\n buildGridSetting(vm.folderName);\r\n\r\n var request = {\r\n handbookId: folderId,\r\n type: type\r\n };\r\n var promise = $http.get('/api/Documents/GetFolderStatisticsOverView', { params: request });\r\n promise.success(function (data, status, headers, config) {\r\n var result = data;\r\n vm.folderStatistics = result.folderStatistics;\r\n vm.subFolderStatistics = result.subFolderStatistics;\r\n buildChartApprovedInternet(result.folderStatisticsForCharts);\r\n buildChartNewRevisedArchived(result.folderStatisticsForCharts);\r\n buildChartAwaitingApprovalExpired(result.folderStatisticsForCharts);\r\n });\r\n }\r\n\r\n function buildChartApprovedInternet(data) {\r\n var approveTitle = resources.L.Document.approved;\r\n var internetTitle = resources.L.Document.internet;\r\n var categories = data.map(x => x.monthYear);\r\n var approvedDocs = data.map(x => x.approved);\r\n var internetDocs = data.map(x => x.internet);\r\n Highcharts.chart('approve-internet-charts-id', {\r\n title: {\r\n text: resources.L.Statistics.approvedVsInternet\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: {\r\n text: resources.L.Common.number\r\n }\r\n },\r\n xAxis: {\r\n categories: categories\r\n },\r\n legend: {\r\n layout: 'vertical',\r\n align: 'right',\r\n verticalAlign: 'middle'\r\n },\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false\r\n },\r\n pointStart: null\r\n }\r\n },\r\n series: [{\r\n name: approveTitle,\r\n data: approvedDocs\r\n }, {\r\n name: internetTitle,\r\n data: internetDocs\r\n }],\r\n responsive: {\r\n rules: [{\r\n condition: {\r\n maxWidth: 500\r\n },\r\n chartOptions: {\r\n legend: {\r\n layout: 'horizontal',\r\n align: 'center',\r\n verticalAlign: 'bottom'\r\n }\r\n }\r\n }]\r\n }\r\n\r\n });\r\n }\r\n\r\n function buildChartNewRevisedArchived(data) {\r\n var categories = data.map(x => x.monthYear);\r\n var newCountDocs = data.map(x => x.newCount);\r\n var revisedDocs = data.map(x => x.revised);\r\n var archivedDocs = data.map(x => x.archived);\r\n\r\n Highcharts.chart('new-revised-archived-charts-id', {\r\n title: {\r\n text: resources.L.Statistics.newVsRevisedVsArchived\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: {\r\n text: resources.L.Common.number\r\n }\r\n },\r\n xAxis: {\r\n categories: categories\r\n },\r\n legend: {\r\n layout: 'vertical',\r\n align: 'right',\r\n verticalAlign: 'middle'\r\n },\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false\r\n },\r\n pointStart: null\r\n }\r\n },\r\n series: [{\r\n name: resources.L.Action.new,\r\n data: newCountDocs\r\n }, {\r\n name: resources.L.Statistics.revised,\r\n data: revisedDocs\r\n }, {\r\n name: resources.L.Common.archived,\r\n data: archivedDocs\r\n }],\r\n responsive: {\r\n rules: [{\r\n condition: {\r\n maxWidth: 500\r\n },\r\n chartOptions: {\r\n legend: {\r\n layout: 'horizontal',\r\n align: 'center',\r\n verticalAlign: 'bottom'\r\n }\r\n }\r\n }]\r\n }\r\n\r\n });\r\n }\r\n\r\n function buildChartAwaitingApprovalExpired(data) {\r\n var categories = data.map(x => x.monthYear);\r\n var awaitingApprovalDocs = data.map(x => x.awaitingApproval);\r\n var expiredDocs = data.map(x => x.expired);\r\n\r\n Highcharts.chart('awaiting-approved-expired-charts-id', {\r\n title: {\r\n text: resources.L.Statistics.awaitingApprovalVsExpired\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: {\r\n text: resources.L.Common.number\r\n }\r\n },\r\n xAxis: {\r\n categories: categories\r\n },\r\n legend: {\r\n layout: 'vertical',\r\n align: 'right',\r\n verticalAlign: 'middle'\r\n },\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false\r\n },\r\n pointStart: null\r\n }\r\n },\r\n series: [{\r\n name: resources.L.Enum.DocumentStatuses.awaitingApproval,\r\n data: awaitingApprovalDocs\r\n }, {\r\n name: resources.L.Statistics.expired,\r\n data: expiredDocs\r\n }],\r\n responsive: {\r\n rules: [{\r\n condition: {\r\n maxWidth: 500\r\n },\r\n chartOptions: {\r\n legend: {\r\n layout: 'horizontal',\r\n align: 'center',\r\n verticalAlign: 'bottom'\r\n }\r\n }\r\n }]\r\n }\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n function getSelectedNode(node) {\r\n if (node != null) {\r\n vm.folderId = node.id;\r\n vm.folderName = node.name;\r\n getFolderStatistics(vm.folderId, vm.selectOptionPeriod);\r\n }\r\n }\r\n\r\n function changePeriod() {\r\n var request = {\r\n handbookId: vm.folderId,\r\n type: vm.selectOptionPeriod\r\n };\r\n var promise = $http.get('/api/Documents/GetFolderStatisticsForChart', { params: request });\r\n promise.success(function (data, status, headers, config) {\r\n var result = data;\r\n buildChartApprovedInternet(result);\r\n buildChartNewRevisedArchived(result);\r\n buildChartAwaitingApprovalExpired(result);\r\n });\r\n }\r\n\r\n }\r\n})();","(function () {\r\n\t'use strict';\r\n\tangular.module(modules.homeModule)\r\n\t\t.controller('activityGridViewModalController', controller);\r\n\r\n\tcontroller.$inject = ['$http', '$uibModalInstance', '$uibModal', '$filter', 'pubSub', 'npDialog', 'model'];\r\n\tfunction controller($http, $uibModalInstance, $modal, $filter, pubSub, npDialog, model) {\r\n\t\tvar vm = this;\r\n\t\tvm.initialize = initialize;\r\n\t\tvm.cancel = cancel;\r\n\t\tvm.tabSettings = [];\r\n\t\tvm.translation = resources;\r\n\t\tfunction initialize() {\r\n\t\t\tvm.activityDetail = angular.copy(model.data);\r\n\t\t\tvm.activityDetail.activityDocuments = vm.activityDetail.activityDocuments || [];\r\n\t\t\tvm.activityDetail.activityDocuments.forEach(x => {\r\n\t\t\t\tconst href = `document/${x.documentId}`;\r\n\t\t\t\tx.documentName = buildAtag(href, x.documentName, \"_blank\");\r\n\t\t\t\tx.documentId = buildAtag(href, x.documentId, \"_blank\");\r\n\t\t\t});\r\n\t\t\tbuildGridTabSetting();\r\n\t\t\tbuildGridSetting();\r\n\t\t\tvm.dialogHeader = vm.activityDetail.activity ? vm.activityDetail.activity.name : vm.activityDetail.name;\r\n\t\t}\r\n\r\n\t\tfunction buildGridTabSetting() {\r\n\t\t\tconst gridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: resources.L.Common.documents,\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t\thref: 'activityDocuments', icon: 'fa fa-file-alt ',\r\n\t\t\t\t\thide: vm.activityDetail.activityDocuments.length === 0,\r\n\t\t\t\t},\r\n\t\t\t];\r\n\t\t\tconst item = gridSetting.find(x => !x.hide);\r\n\t\t\tif (item) {\r\n\t\t\t\titem.active = true;\r\n\t\t\t}\r\n\t\t\tvm.tabSettings = gridSetting.filter(x => !x.hide).map((x, index) => {\r\n\t\t\t\tx.tabIndex = index + 1;\r\n\t\t\t\treturn x;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction buildAtag(href, value, target) {\r\n\t\t\tif (target)\r\n\t\t\t\treturn String.format('{1}', href, value, target);\r\n\t\t\treturn String.format('{1}', href, value);\r\n\t\t}\r\n\r\n\t\tfunction buildGridSetting() {\r\n\t\t\tvm.activityDocumentsGridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'documentId', name: resources.L.Common.ID, width: 20, coldefault: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'documentName', name: resources.L.Common.title, width: 80, coldefault: true\r\n\t\t\t\t}\r\n\t\t\t];\r\n }\r\n\r\n\r\n\r\n\t\tfunction cancel() {\r\n\t\t\t$uibModalInstance.dismiss('cancel');\r\n }\r\n\t}\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('annualCycleController', controller);\r\n\r\n controller.$inject = ['$scope', '$http'];\r\n\r\n function controller($scope, $http) {\r\n\r\n var partitionings = [\r\n {\r\n id: 1,\r\n name: globalResources.Month\r\n },\r\n {\r\n id: 2,\r\n name: globalResources.Quarter\r\n },\r\n {\r\n id: 3,\r\n name: globalResources.Tertiary\r\n },\r\n {\r\n id: 4,\r\n name: globalResources.SchoolYear\r\n }\r\n ];\r\n var vm = this;\r\n vm.gridSettings = [\r\n { id: 'name', name: globalResources.Name, width: 15, coldefault: true },\r\n { id: 'description', name: globalResources.Description, width: 15, coldefault: true, customCss: 'ellipsis-span' },\r\n { id: 'year', name: globalResources.Period, width: 10, coldefault: true },\r\n { id: 'partitioning', name: globalResources.Partitioning, width: 10, coldefault: true }\r\n ];\r\n\r\n vm.identifier = 'gridSettings';\r\n vm.colCannotRemove = 'name';\r\n vm.alerts = [];\r\n vm.annualCycles = [];\r\n\r\n vm.clickRow = clickRow;\r\n\r\n vm.searchAnnualCycle = searchAnnualCycle;\r\n\r\n searchAnnualCycle();\r\n\r\n function searchAnnualCycle(keyword) {\r\n return $http.get('/api/annualCycle/getPaged', {\r\n params: {\r\n keyword: keyword,\r\n pageIndex: 0,\r\n pageSize: 99999\r\n }\r\n }).then(function (response) {\r\n vm.annualCycles = [];\r\n if (response.data && response.data.data) {\r\n response.data.data.forEach(function (ele) {\r\n ele.id = ele.annualCycleId;\r\n ele.partitioning = (partitionings.find(function (x) {\r\n return x.id == ele.partitioning;\r\n })).name;\r\n ele.year = ele.year ? ele.year : globalResources.Recurring;\r\n vm.annualCycles.push(ele);\r\n });\r\n }\r\n\r\n $scope.$emit('annualCyclesLength', vm.annualCycles.length);\r\n });\r\n }\r\n\r\n function clickRow(id) {\r\n window.open('/annualCycle/' + id, \"_blank\");\r\n }\r\n\r\n }\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('annualCycleDetailController', controller)\r\n .filter('activitiesByMonthFilter', activitiesByMonthFilter)\r\n .filter('activitiesBySchoolYearMonthFilter', activitiesBySchoolYearMonthFilter);\r\n\r\n controller.$inject = ['$rootScope', '$scope', '$http', '$stateParams', 'uiGridConstants', '$state', '$timeout', 'configService', '$anchorScroll', '$location', '$sce', '$uibModal', 'npDialog'];\r\n function controller($rootScope, $scope, $http, $stateParams, uiGridConstants, $state, $timeout, configService, $anchorScroll, $location, $sce, $modal, npDialog) {\r\n $scope.translation = globalResources;\r\n var yearRange = 11;\r\n\r\n var vm = this;\r\n vm.activities = [];\r\n vm.periods = getPeriods(yearRange);\r\n vm.periodsForSchoolYear = getPeriodsForSchoolYear(yearRange);\r\n\r\n vm.model = {\r\n name: '',\r\n description: '',\r\n viewType: -1,\r\n partitioning: 1\r\n };\r\n\r\n vm.monthViews = [];\r\n vm.schoolYearMonthViews = [];\r\n vm.cycleMonths = [];\r\n vm.cycleSchoolMonths = [];\r\n vm.activityTasks = [];\r\n vm.listActivitiesInView = [];\r\n vm.isExpandAll = false;\r\n\r\n vm.changeView = changeView;\r\n vm.resolveColor = resolveColor;\r\n vm.resolveSchoolYearColor = resolveSchoolYearColor;\r\n vm.print = print;\r\n vm.close = close;\r\n vm.expandActivityRow = expandActivityRow;\r\n vm.expandAllTasksInActivity = expandAllTasksInActivity;\r\n vm.expandAllItems = expandAllItems;\r\n vm.initListActivitiesGrid = initListActivitiesGrid;\r\n vm.scrollToMonth = scrollToMonth;\r\n vm.getActivityDetailUrl = getActivityDetailUrl;\r\n vm.getTaskDetailUrl = getTaskDetailUrl;\r\n vm.alerts = [];\r\n vm.canExpandAll = true;\r\n \r\n init();\r\n\r\n function close() {\r\n window.close();\r\n }\r\n\r\n function print() {\r\n window.open(String.format('/Printing/PrintAnnualCycleDetail?annualCycleId={0}&viewType={1}&period={2}', vm.model.annualCycleId, vm.model.viewType, vm.model.period));\r\n }\r\n\r\n function resolveColor(month, partitioning) {\r\n if (partitioning == 1)\r\n return 'color-blue';\r\n else if (partitioning == 2) {\r\n if (month >= 1 && month < 4)\r\n return 'color-blue';\r\n else if (month >= 4 && month < 7)\r\n return 'color-green';\r\n else if (month >= 7 && month < 10)\r\n return 'color-orange';\r\n else\r\n return 'color-purple';\r\n }\r\n else if (partitioning == 3) {\r\n if (month >= 1 && month < 5)\r\n return 'color-blue';\r\n else if (month >= 5 && month < 9)\r\n return 'color-green';\r\n else\r\n return 'color-orange';\r\n }\r\n }\r\n\r\n function resolveSchoolYearColor(month, partitioning) {\r\n if (partitioning == 1)\r\n return 'color-blue';\r\n else if (partitioning == 2) {\r\n if (month == 9 || month == 10 || month == 11)\r\n return 'color-blue';\r\n else if (month == 12 || month == 1 || month == 2)\r\n return 'color-green';\r\n else if (month == 3 || month == 4 || month == 5)\r\n return 'color-orange';\r\n else\r\n return 'color-purple';\r\n }\r\n else if (partitioning == 3) {\r\n if (month == 9 || month == 10 || month == 11 || month == 12)\r\n return 'color-blue';\r\n else if (month == 1 || month == 2 || month == 3 || month == 4)\r\n return 'color-green';\r\n else\r\n return 'color-orange';\r\n }\r\n else if (partitioning == 4) {\r\n if (month == 8 || month == 9 || month == 10 || month == 11 || month == 12)\r\n return 'color-blue';\r\n else if (month == 1 || month == 2 || month == 3 || month == 4 || month == 5)\r\n return 'color-green';\r\n else\r\n return 'color-orange';\r\n }\r\n }\r\n\r\n function changeView() {\r\n if (vm.model.viewType == 0) {\r\n vm.model.viewType = 1;\r\n }\r\n else if (vm.model.viewType == 1) {\r\n vm.model.viewType = 0;\r\n }\r\n\t\t}\r\n\r\n\t\tvar getDaysInMonth = function (month, year) {\r\n\t\t\treturn new Date(year, month, 0).getDate();\r\n\t\t};\r\n\r\n\r\n function init() {\r\n $http.get('/api/annualCycle/getAnnualCycle/' + $stateParams.id).then(function (response) {\r\n if (!response.data) {\r\n return;\r\n }\r\n var data = response.data;\r\n vm.model.annualCycleId = data.annualCycleId;\r\n vm.model.name = data.name;\r\n vm.model.description = data.description;\r\n vm.model.partitioning = data.partitioning;\r\n vm.model.viewType = data.viewType;\r\n vm.model.isSchoolYear = data.isSchoolYear;\r\n vm.model.period = data.year;\r\n\r\n if (vm.model.period) {\r\n vm.isDisablePeriod = true;\r\n vm.model.period = parseInt(vm.model.period);\r\n } else {\r\n vm.model.period = (new Date()).getFullYear();\r\n }\r\n\r\n\t\t\t\tvar activities = [];\r\n\t\t\t\tif (data.activities.length) {\r\n\t\t\t\t\tdata.activities.forEach(function (activity) {\r\n var sDate = new Date(activity.startDate);\r\n var eDate = new Date(activity.endDate);\r\n var sDate_Date = sDate.getDate();\r\n var sDate_Month = sDate.getMonth();\r\n var sDate_Year = sDate.getFullYear();\r\n var eDate_Date = eDate.getDate();\r\n var eDate_Month = eDate.getMonth();\r\n var eDate_Year = eDate.getFullYear();\r\n activity.startYear = sDate_Year;\r\n activity.tooltip = '';\r\n \r\n if (activity.description) {\r\n activity.tooltip = '
' + activity.description.replace(/\\n/g, \"
\") + '
';\r\n }\r\n \r\n if (activity.responsibleNames) {\r\n activity.tooltip = activity.tooltip + (activity.description ? '
' : '') + '
' + activity.responsibleNames + '
';\r\n }\r\n\r\n activity.tooltip = $sce.trustAsHtml(activity.tooltip);\r\n\r\n activity.isStartAndEndInTheSameMonth = (sDate_Month == eDate_Month) && (sDate_Year == eDate_Year);\r\n\t\t\t\t\t\tactivity.isStartAndEndInTheSameDay = (sDate_Date == eDate_Date) && (sDate_Month == eDate_Month) && (sDate_Year == eDate_Year);\r\n\r\n activity.percentageTasksCompleted = Math.round(activity.numberTasksDone / activity.numberTotalTasks * 100);\r\n\r\n\t\t\t\t\t\tif ((sDate_Month != eDate_Month) || (sDate_Year != eDate_Year)) {\r\n\t\t\t\t\t\t\tvar numberLoop = (eDate_Year != sDate_Year) ? Math.abs((12 - sDate_Month + eDate_Month + 1) + 12 * (eDate_Year - sDate_Year - 1))\r\n\t\t\t\t\t\t\t\t: eDate_Month - sDate_Month + 1;\r\n\t\t\t\t\t\t\tvar year = sDate_Year;\r\n\t\t\t\t\t\t\tvar month = sDate_Month;//Month start from index 0\r\n\t\t\t\t\t\t\tfor (var i = 0; i < numberLoop; i++) {\r\n\t\t\t\t\t\t\t\tvar activityTemp = angular.copy(activity);\r\n\t\t\t\t\t\t\t\tif (month > 11) {\r\n\t\t\t\t\t\t\t\t\tmonth = month - 12;\r\n\t\t\t\t\t\t\t\t\tyear = year + 1;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (month == sDate_Month && year == sDate_Year) {\r\n\t\t\t\t\t\t\t\t\tvar day = getDaysInMonth(month + 1, year);\r\n\t\t\t\t\t\t\t\t\tactivityTemp.endDate = new Date(year, month, day);\r\n\t\t\t\t\t\t\t\t\tactivityTemp.isStartAndEndInTheSameDay = (sDate_Date == day);\r\n\t\t\t\t\t\t\t\t} else if (month == eDate_Month && year == eDate_Year) {\r\n\t\t\t\t\t\t\t\t\tactivityTemp.startDate = new Date(year, month, 1);\r\n\t\t\t\t\t\t\t\t\tactivityTemp.isStartAndEndInTheSameDay = (eDate_Date == 1);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tvar day = getDaysInMonth(month + 1, year);\r\n\t\t\t\t\t\t\t\t\tactivityTemp.startDate = new Date(year, month, 1);\r\n\t\t\t\t\t\t\t\t\tactivityTemp.endDate = new Date(year, month, day);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tactivityTemp.isStartAndEndInTheSameMonth = true;\r\n\t\t\t\t\t\t\t\tactivities.push(activityTemp);\r\n\r\n\t\t\t\t\t\t\t\tmonth = month + 1;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tactivities.push(activity);\r\n\t\t\t\t\t\t}\r\n\r\n });\r\n }\r\n\r\n\t\t\t\tvm.activities = activities;\r\n\r\n vm.readingListReaders = data.readers;\r\n vm.readingListExclusions = data.exclusions;\r\n //updateReadingListReaderTypes(vm.readingListReaders);\r\n\r\n $rootScope.title += ' : ' + vm.model.name;\r\n $rootScope.description = vm.model.description;\r\n\r\n getAccessibleActivitiTasks();\r\n\r\n initCycleMonths();\r\n })\r\n .catch(err => {\r\n vm.alerts.unshift({ type: 'danger', message: globalResources.NotExistOrNoPermission });\r\n });\r\n }\r\n\r\n function getAccessibleActivitiTasks() {\r\n $http.get('/api/Activity/GetAccessibleActivityTasksInAnnualCycle?annualCycleId=' + $stateParams.id)\r\n .success(function (data) {\r\n if (data) {\r\n vm.activityTasks = (data || []).map(x => {\r\n var taskResponsibles = [];\r\n if (x.taskResponsibles && x.taskResponsibles.length) {\r\n x.taskResponsibles.forEach(item => {\r\n if (item.responsibleId == 0) {\r\n taskResponsibles.push(globalResources.AllResponsible);\r\n } else if (item.responsibleId == -1) {\r\n taskResponsibles.push(globalResources.ActivityResponsible);\r\n } else {\r\n taskResponsibles.push(item.responsibleName);\r\n }\r\n });\r\n }\r\n x.responsibleName = taskResponsibles.join(', ');\r\n\r\n x.descriptionDisplay = x.description ? x.description.replace(/\\n/g, \"
\") : '';\r\n x.statusDisplay = generateStatusText(x.status);\r\n \r\n return x;\r\n });\r\n initListView();\r\n\r\n }\r\n });\r\n }\r\n\r\n function initListView() {\r\n if (!vm.model.isSchoolYear) {\r\n vm.monthViews.push({ id: 1, name: globalResources.January });\r\n vm.monthViews.push({ id: 2, name: globalResources.February });\r\n vm.monthViews.push({ id: 3, name: globalResources.March });\r\n vm.monthViews.push({ id: 4, name: globalResources.April });\r\n vm.monthViews.push({ id: 5, name: globalResources.May });\r\n vm.monthViews.push({ id: 6, name: globalResources.June });\r\n vm.monthViews.push({ id: 7, name: globalResources.July });\r\n vm.monthViews.push({ id: 8, name: globalResources.August });\r\n vm.monthViews.push({ id: 9, name: globalResources.September });\r\n vm.monthViews.push({ id: 10, name: globalResources.October });\r\n vm.monthViews.push({ id: 11, name: globalResources.November });\r\n vm.monthViews.push({ id: 12, name: globalResources.December });\r\n initListActivitiesGrid(vm.monthViews);\r\n }\r\n else {\r\n vm.schoolYearMonthViews.push({ id: 8, name: globalResources.August });\r\n vm.schoolYearMonthViews.push({ id: 9, name: globalResources.September });\r\n vm.schoolYearMonthViews.push({ id: 10, name: globalResources.October });\r\n vm.schoolYearMonthViews.push({ id: 11, name: globalResources.November });\r\n vm.schoolYearMonthViews.push({ id: 12, name: globalResources.December });\r\n vm.schoolYearMonthViews.push({ id: 1, name: globalResources.January });\r\n vm.schoolYearMonthViews.push({ id: 2, name: globalResources.February });\r\n vm.schoolYearMonthViews.push({ id: 3, name: globalResources.March });\r\n vm.schoolYearMonthViews.push({ id: 4, name: globalResources.April });\r\n vm.schoolYearMonthViews.push({ id: 5, name: globalResources.May });\r\n vm.schoolYearMonthViews.push({ id: 6, name: globalResources.June });\r\n vm.schoolYearMonthViews.push({ id: 7, name: globalResources.July });\r\n initListActivitiesGrid(vm.schoolYearMonthViews, true);\r\n }\r\n setTimeout(function () {\r\n scrollToMonth($location.$$hash)\r\n }, 0)\r\n }\r\n\r\n function initListActivitiesGrid(monthViews, isSchoolYear = false) {\r\n vm.listActivitiesInView = [];\r\n monthViews.forEach(item => {\r\n item.isExpandAllTasks = false;\r\n item.activitiesGrid = {\r\n expandableRowTemplate: '/app/components/annualCycle/templates/annualCycleDetail.activityTasksRowTemplate.html',\r\n showExpandAllButton: false,\r\n enableExpandableRowHeader: false,\r\n enableOnDblClickExpand: false,\r\n expandableRowHeight: 'auto',\r\n columnDefs: [\r\n {\r\n field: 'startDate', displayName: item.name,\r\n enableSorting: false,\r\n width: '10%',\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{{row.entity.startDate | date : 'dd'}}\r\n\t\t\t\t\t\t\t\t\t\t-{{row.entity.endDate | date : 'dd'}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'name', displayName: globalResources.Activity,\r\n width: '17%',\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t\t
\r\n {{row.entity.name}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'description',\r\n displayName: globalResources.Description,\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
{{row.entity.description}}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'responsibleName', displayName: globalResources.Responsible,\r\n width: '10%',\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{{row.entity.responsibleName}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{{grid.appScope.translation.ActivityResponsible}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'responsibleNames', displayName: '',\r\n width: '10%',\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{{row.entity.responsibleNames}}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{{grid.appScope.translation.MainResponsible}}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'status', displayName: 'Status',\r\n width: '10%',\r\n enableSorting: false,\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{{row.entity.numberTasksDone}}/{{row.entity.numberTotalTasks}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'document', displayName: '',\r\n width: '45',\r\n enableSorting: false,\r\n cellTemplate: `app/components/annualCycle/templates/taskAttachmentsTooltip.html`\r\n },\r\n {\r\n field: 'expand', displayName: '', width: '45', enableSorting: false,\r\n headerCellTemplate:\r\n `
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
`,\r\n cellTemplate: `
0\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n
`\r\n }\r\n ],\r\n enableColumnMenus: false,\r\n onRegisterApi: function (gridApi) {\r\n vm.gridApi = gridApi;\r\n }\r\n };\r\n item.activitiesGrid.onRegisterApi = function (gridApi) {\r\n item.gridApi = gridApi;\r\n item.gridApi.core.on.sortChanged($scope, function (grid, sortColumns) {\r\n // Find the monthView model of the grid on which we are sorting\r\n var monthViewItem = null;\r\n if (vm.model.isSchoolYear) {\r\n monthViewItem = vm.schoolYearMonthViews.find(mv => {\r\n if (mv.gridApi) {\r\n return mv.gridApi.grid.id == grid.id;\r\n }\r\n return false;\r\n });\r\n }\r\n else {\r\n monthViewItem = vm.monthViews.find(mv => {\r\n if (mv.gridApi) {\r\n return mv.gridApi.grid.id == grid.id;\r\n }\r\n return false;\r\n });\r\n }\r\n if (!monthViewItem) { return; }\r\n var expandedRows = collapseMonthViewSaveState(monthViewItem, monthViewItem.gridApi.grid);\r\n $timeout(function () {\r\n expandedRows.forEach(row => {\r\n monthViewItem.gridApi.grid.api.expandable.toggleRowExpansion(row);\r\n });\r\n });\r\n });\r\n };\r\n item.activitiesGrid.data = isSchoolYear ? filterActivitiesBySchoolYearMonth(vm.activities, item.id, vm.model.period) : filterActivitiesByMonth(vm.activities, item.id, vm.model.period);\r\n item.activitiesGrid.enableHorizontalScrollbar = uiGridConstants.scrollbars.NEVER;\r\n item.activitiesGrid.enableVerticalScrollbar = uiGridConstants.scrollbars.NEVER;\r\n if (item.activitiesGrid.data.length > 0) {\r\n if (item.activitiesGrid.data.some(activity => activity.numberTotalTasks > 0)) {\r\n item.hasTasks = true;\r\n }\r\n vm.listActivitiesInView = angular.copy(vm.listActivitiesInView).concat(item.activitiesGrid.data);\r\n }\r\n\r\n item.activitiesGrid.data.forEach(activity => {\r\n activity.hasDocument = activity.activityDocuments && !!activity.activityDocuments.length;\r\n if (activity.hasDocument) {\r\n activity.onShowDialogActivityDocument = (entity) => {\r\n var modalInstance = $modal.open({\r\n templateUrl: '/app/components/annualCycle/templates/activity.gridViewModal.html',\r\n controller: 'activityGridViewModalController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n data: entity\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n initActivityTasksGrid(activity);\r\n });\r\n });\r\n if (!vm.listActivitiesInView.some(item => item.numberTotalTasks > 0)) {\r\n vm.canExpandAll = false;\r\n if (vm.listActivitiesInView.length > 0) {\r\n monthViews.forEach(item => {\r\n var statusCol = item.activitiesGrid.columnDefs.find(col => col.field === 'status');\r\n if (statusCol) {\r\n statusCol.visible = false;\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n vm.canExpandAll = true;\r\n }\r\n }\r\n\r\n function scrollToMonth(monthId) {\r\n const ele = document.getElementById(monthId);\r\n if (ele) {\r\n ele.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'start'\r\n });\r\n }\r\n }\r\n\r\n\r\n function expandActivityRow(entity, grid, monthViewItem) {\r\n grid.api.expandable.toggleRowExpansion(entity);\r\n monthViewItem.isExpandAllTasks = monthViewItem.gridApi.grid.rows.every(item => item.isExpanded == true);\r\n }\r\n\r\n function expandAllTasksInActivity(monthViewItem, grid) {\r\n monthViewItem.isExpandAllTasks = !monthViewItem.isExpandAllTasks;\r\n\r\n monthViewItem.gridApi.grid.rows.forEach(row => {\r\n if (row.isExpanded != monthViewItem.isExpandAllTasks) {\r\n grid.api.expandable.toggleRowExpansion(row.entity);\r\n }\r\n });\r\n }\r\n \r\n function expandAllItems(listMonthViews) {\r\n vm.isExpandAll = !vm.isExpandAll;\r\n listMonthViews.forEach(monthViewItem => {\r\n if (monthViewItem.activitiesGrid.data.length > 0 && monthViewItem.isExpandAllTasks != vm.isExpandAll) {\r\n monthViewItem.isExpandAllTasks = !monthViewItem.isExpandAllTasks;\r\n if (vm.isExpandAll) {\r\n monthViewItem.gridApi.expandable.expandAllRows();\r\n }\r\n else {\r\n monthViewItem.gridApi.expandable.collapseAllRows();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Collapse all activity rows in a grid and return rows that were expanded before\r\n function collapseMonthViewSaveState(monthViewItem, grid) {\r\n var expandedRows = [];\r\n monthViewItem.gridApi.grid.rows.forEach(row => {\r\n if (row.isExpanded) {\r\n expandedRows.push(row.entity);\r\n grid.api.expandable.toggleRowExpansion(row.entity);\r\n }\r\n });\r\n return expandedRows;\r\n }\r\n\r\n function initActivityTasksGrid(activity) {\r\n activity.subGridOptions = {\r\n showHeader: false,\r\n columnDefs: [\r\n {\r\n field: 'startDate',\r\n enableSorting: false,\r\n width: '10%',\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{{row.entity.endDateDisplay}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t`\r\n\r\n },\r\n {\r\n field: 'name',\r\n width: '17%',\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{{row.entity.name}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'description',\r\n cellTemplate: `\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
{{row.entity.description}}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'responsibleName',\r\n width: '10%',\r\n cellTemplate: `\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{row.entity.responsibleName}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{grid.appScope.translation.TaskResponsible}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t`\r\n },\r\n {\r\n field: 'responsibleNames',\r\n width: '10%'\r\n },\r\n {\r\n field: 'statusDisplay', displayName: 'Status',\r\n width: '10%',\r\n cellTemplate: `
\r\n\t\t\t\t\t\t\t\t\t\t\t{{row.entity.statusDisplay}}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{row.entity.numberTasksDone}}/{{row.entity.numberTotalTasks}}\r\n
\r\n
\r\n\t\t\t\t\t\t\t\t\t
`\r\n },\r\n {\r\n field: 'document', displayName: '',\r\n width: '45',\r\n cellTemplate: `app/components/annualCycle/templates/taskAttachmentsTooltip.html`\r\n },\r\n {\r\n field: 'expand',\r\n displayName: '',\r\n width: '45'\r\n }\r\n ]\r\n };\r\n activity.subGridOptions.data = angular.copy(vm.activityTasks).filter(item => item.activityId == activity.activityId);\r\n activity.subGridOptions.data.forEach((task) => {\r\n task.setLoading = false;\r\n task.generateRelatedTaskDialog = (entity) => {\r\n task.setLoading = true;\r\n $http.get('/api/Activity/GetActivityTaskRelateds?activityTaskId=' + entity.activityTaskId).success(function (response) {\r\n response.name = task.name;\r\n task.setLoading = false;\r\n var modalInstance = $modal.open({\r\n templateUrl: '/app/components/annualCycle/templates/relatedTask.html',\r\n controller: 'RelatedTaskController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n data: response\r\n }\r\n }\r\n }\r\n });\r\n });\r\n \r\n }\r\n });\r\n activity.subGridOptions.enableHorizontalScrollbar = uiGridConstants.scrollbars.NEVER;\r\n activity.subGridOptions.enableVerticalScrollbar = uiGridConstants.scrollbars.NEVER;\r\n activity.subGridOptions.expandableRowScope = { getTaskDetailUrl: vm.getTaskDetailUrl };\r\n }\r\n\r\n function generateStatusText(status) {\r\n switch (status) {\r\n case 1:\r\n return globalResources.NotStarted.toUpperCase();\r\n case 2:\r\n return globalResources.InProgress.toUpperCase();\r\n case 3:\r\n return globalResources.Completed.toUpperCase();\r\n case 4:\r\n return globalResources.Consult.toUpperCase();\r\n default:\r\n return globalResources.NotStarted.toUpperCase();\r\n }\r\n }\r\n\r\n function initCycleMonths() {\r\n vm.cycleMonths.push(\r\n {\r\n months: [\r\n { id: 11, name: globalResources.November, 'class': 'bottom-right' },\r\n { id: 12, name: globalResources.December, 'class': 'bottom-right' },\r\n { id: 1, name: globalResources.January, 'class': 'bottom-left' },\r\n { id: 2, name: globalResources.February, 'class': 'bottom-left' },\r\n ]\r\n },\r\n {\r\n months: [\r\n { id: 10, name: globalResources.October, 'class': 'bottom-right' },\r\n {},\r\n {},\r\n { id: 3, name: globalResources.March, 'class': 'bottom-left' },\r\n ]\r\n },\r\n {\r\n months: [\r\n { id: 9, name: globalResources.September, 'class': 'top-right' },\r\n {},\r\n {},\r\n { id: 4, name: globalResources.April, 'class': 'top-left' },\r\n ]\r\n },\r\n {\r\n months: [\r\n { id: 8, name: globalResources.August, 'class': 'top-right' },\r\n { id: 7, name: globalResources.July, 'class': 'top-right' },\r\n { id: 6, name: globalResources.June, 'class': 'top-left' },\r\n { id: 5, name: globalResources.May, 'class': 'top-left' },\r\n ]\r\n });\r\n\r\n\r\n vm.cycleSchoolMonths.push(\r\n {\r\n months: [\r\n { id: 6, name: globalResources.July, 'class': 'bottom-right' },\r\n { id: 7, name: globalResources.June, 'class': 'bottom-right' },\r\n { id: 8, name: globalResources.August, 'class': 'bottom-left' },\r\n { id: 9, name: globalResources.September, 'class': 'bottom-left' },\r\n ]\r\n },\r\n {\r\n months: [\r\n { id: 5, name: globalResources.May, 'class': 'bottom-right' },\r\n {},\r\n {},\r\n { id: 10, name: globalResources.October, 'class': 'bottom-left' },\r\n ]\r\n },\r\n {\r\n months: [\r\n { id: 4, name: globalResources.April, 'class': 'top-right' },\r\n {},\r\n {},\r\n { id: 11, name: globalResources.November, 'class': 'top-left' },\r\n ]\r\n },\r\n {\r\n months: [\r\n { id: 3, name: globalResources.March, 'class': 'top-right' },\r\n { id: 2, name: globalResources.February, 'class': 'top-right' },\r\n { id: 1, name: globalResources.January, 'class': 'top-left' },\r\n { id: 12, name: globalResources.December, 'class': 'top-left' },\r\n ]\r\n });\r\n }\r\n\r\n function getPeriods(yearRange) {\r\n var result = [];\r\n var currentYear = new Date().getFullYear();\r\n for (var i = -5; i < yearRange - 5; i++) {\r\n result.push(currentYear + i);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function getPeriodsForSchoolYear(yearRange) {\r\n var result = [];\r\n var currentYear = new Date().getFullYear();\r\n for (var i = -1; i < yearRange - 1; i++) {\r\n var year = currentYear + i;\r\n var nextYear = year + 1;\r\n result.push({\r\n key: year,\r\n value: year + ' / ' + nextYear\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function getActivityDetailUrl(activityId) {\r\n if (configService.getBool(HandbookConfiguration.ShowNewAnnualCycleDetailPage)) {\r\n return String.format('/ac/activity/{0}', activityId);\r\n }\r\n return String.format('{0}ac/activity/{1}/edit', HandbookConfiguration.BackendURL, activityId);\r\n }\r\n\r\n function getTaskDetailUrl(taskId, activityId) {\r\n if (configService.getBool(HandbookConfiguration.ShowNewAnnualCycleDetailPage)) {\r\n return String.format('/ac/task/{0}', taskId);\r\n }\r\n return String.format('{0}ac/activity/{1}/edit', HandbookConfiguration.BackendURL, activityId);\r\n }\r\n //TODO : uncomment when have requirements\r\n //function updateReadingListReaderTypes(readers) {\r\n // for (var i = 0; i < readers.length; i++) {\r\n // var reader = readers[i];\r\n // switch (reader.readerType) {\r\n // case E.readerTypes.Person:\r\n // reader.readerTypeName = resources.L.Common.person;\r\n // break;\r\n // case E.readerTypes.Department:\r\n // reader.readerTypeName = resources.L.Common.department;\r\n // break;\r\n // case E.readerTypes.Role:\r\n // reader.readerTypeName = resources.L.Common.role;\r\n // break;\r\n // }\r\n // }\r\n //}\r\n }\r\n\r\n function activitiesByMonthFilter() {\r\n return function (source, month, year) {\r\n if (!year || !month || !source) {\r\n return [];\r\n }\r\n var result = source.filter(function (activity) {\r\n var date = new Date(activity.startDate);\r\n return date.getMonth() == (month - 1) && date.getFullYear() == year;\r\n })\r\n return result;\r\n };\r\n }\r\n\r\n function activitiesBySchoolYearMonthFilter() {\r\n return function (source, month, year) {\r\n if (!year || !month || !source) {\r\n return [];\r\n }\r\n var result = source.filter(function (activity) {\r\n var date = new Date(activity.startDate);\r\n var activityYear = date.getFullYear();\r\n var activityMonth = date.getMonth();\r\n if (activityYear == year && activityMonth >= 7 && activityMonth == (month - 1)) {\r\n return true;\r\n }\r\n else if (activityYear == year + 1 && activityMonth <= 6 && activityMonth == (month - 1)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n })\r\n return result;\r\n };\r\n }\r\n\r\n function filterActivitiesByMonth(source, month, year) {\r\n if (!year || !month || !source) {\r\n return [];\r\n }\r\n var result = source.filter(function (activity) {\r\n var date = new Date(activity.startDate);\r\n return date.getMonth() == (month - 1) && date.getFullYear() == year;\r\n })\r\n return result;\r\n }\r\n\r\n function filterActivitiesBySchoolYearMonth(source, month, year) {\r\n if (!year || !month || !source) {\r\n return [];\r\n }\r\n var result = source.filter(function (activity) {\r\n var date = new Date(activity.startDate);\r\n var activityYear = date.getFullYear();\r\n var activityMonth = date.getMonth();\r\n if (activityYear == year && activityMonth >= 7 && activityMonth == (month - 1)) {\r\n return true;\r\n }\r\n else if (activityYear == year + 1 && activityMonth <= 6 && activityMonth == (month - 1)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n })\r\n return result;\r\n }\r\n})();\r\n\r\n","(function () {\r\n\t'use strict';\r\n\tangular.module(modules.homeModule)\r\n\t\t.controller('RelatedTaskController', controller);\r\n\tcontroller.$inject = ['$http', '$uibModalInstance', '$uibModal', '$filter', 'pubSub', 'npDialog', 'model'];\r\n\tfunction controller($http, $uibModalInstance, $modal, $filter, pubSub, npDialog, model) {\r\n\t\tvar vm = this;\r\n\t\tvm.initialize = initialize;\r\n\t\tvm.activityTaskDocumentsGridSetting = [];\r\n\t\tvm.activityTaskAttachmentGridSetting = [];\r\n\t\tvm.activityTaskProcessesGridSetting = [];\r\n\t\tvm.activityTaskRiskGridSetting = [];\r\n\t\tvm.activityTaskChecklistGridSetting = [];\r\n\t\tvm.activityTaskDeviationGridSeting = [];\r\n\t\tvm.activityTask;\r\n\t\tvm.activityTaskDocuments = [];\r\n\t\tvm.translation = resources;\r\n\t\tvm.cancel = cancel;\r\n\t\tvm.tabSettings = [];\r\n\t\tfunction initialize() {\r\n\t\t\tvm.task = angular.copy(model.data);\r\n\t\t\tgetModuleConfig(function (moduleConfig) {\r\n\t\t\t\tvm.task.activityTaskDocuments = combineTaskDocumentRelated(vm.task);\r\n\t\t\t\tvm.task.activityTaskDocuments.forEach(x => {\r\n\t\t\t\t\tconst href = x.type === 1 ? `folder/${x.id}` : `document/${x.id}`;\r\n\t\t\t\t\tx.name = buildAtag(href, x.name, \"_blank\");\r\n\t\t\t\t\tx.id = buildAtag(href, x.id, \"_blank\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvm.task.activityTaskProcesses = combineTaskProcessRelated(vm.task);\r\n\t\t\t\tvm.task.activityTaskProcesses && vm.task.activityTaskProcesses.forEach(x => {\r\n\t\t\t\t\tconst href = x.type === 0 ? `process-fe/process-detail/${x.id}` : `process-fe/area/detail/${x.id}`;\r\n\t\t\t\t\tx.name = buildAtag(href, x.name, \"_blank\");\r\n\t\t\t\t\tx.id = buildAtag(href, x.id, \"_blank\");\r\n\t\t\t\t});\r\n\t\t\t\tvm.task.activityTaskCheckLists && vm.task.activityTaskCheckLists.forEach(x => {\r\n\t\t\t\t\tconst href = `checklist-fe/implement/add/${x.rootId}/${x.checklistId}`;\r\n\t\t\t\t\tx.checklistName = buildAtag(href, x.checklistName, \"_blank\");\r\n\t\t\t\t\tx.checklistId = buildAtag(href, x.checklistId, \"_blank\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvm.task.activityTaskDeviations && vm.task.activityTaskDeviations.forEach(x => {\r\n\t\t\t\t\tconst href = `${moduleConfig.frontEndDeviationUrl}register/${x.deviationTypeId}/${x.categoryId}`;\r\n\t\t\t\t\tx.categoryName = buildAtag(href, x.categoryName, \"_blank\");\r\n\t\t\t\t\tx.categoryId = buildAtag(href, x.categoryId, \"_blank\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvm.task.activityTaskRisks && vm.task.activityTaskRisks.forEach(x => {\r\n\t\t\t\t\tconst href = `${moduleConfig.backendHandbookUrl}rm/analysis/${x.riskId}`;\r\n\t\t\t\t\tx.analysisName = buildAtag(href, x.analysisName, \"_blank\");\r\n\t\t\t\t\tx.riskId = buildAtag(href, x.riskId, \"_blank\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvm.task.activityTaskAttachments && vm.task.activityTaskAttachments.forEach(x => {\r\n\t\t\t\t\tconst href = `${moduleConfig.backendHandbookUrl}api/file/getActivityAttachment?id=` + x.activityAttachmentId;\r\n\t\t\t\t\tx.title = buildAtag(href, x.title, \"_blank\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvm.dialogHeader = `${resources.L.Common.taskRelatedItem}: ${vm.task.name}`;\r\n\t\t\t\tbuildTabSettings();\r\n\t\t\t\tbuildGridsSettings();\r\n });\r\n\t\t}\r\n\r\n\t\t function getModuleConfig(callback) {\r\n\t\t\t $http.get(\"/api/AnnualCycle/GetModuleConfig\").success(function (response) {\r\n\t\t\t\t callback(response);\r\n });\r\n }\r\n\r\n\t\tfunction buildAtag(href, value, target) {\r\n\t\t\tif (target)\r\n\t\t\t\treturn String.format('{1}', href, value, target);\r\n\t\t\treturn String.format('{1}', href, value);\r\n\t\t}\r\n\r\n\t\tfunction buildTabSettings() {\r\n\t\t\tconst gridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: resources.L.Common.attachments,\r\n\t\t\t\t\thref: 'taskAttachments',\r\n\t\t\t\t\ticon: ' fal fa-file-alt',\r\n\t\t\t\t\thide: vm.task.activityTaskAttachments.length === 0\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: resources.L.Common.documents,\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t\thref: 'taskDocuments', icon: 'fa fa-paperclip',\r\n\t\t\t\t\thide: vm.task.activityTaskDocuments.length === 0,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: resources.L.Common.risk,\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t\thref: 'taskRisks', icon: 'fa fa-paperclip',\r\n\t\t\t\t\thide: vm.task.activityTaskRisks.length === 0\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: resources.L.Common.process,\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t\thref: 'taskProcesses', icon: 'fa fa-paperclip',\r\n\t\t\t\t\thide: vm.task.activityTaskProcesses.length === 0\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: resources.L.Common.checklist,\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t\thref: 'taskCheckLists', icon: 'fa fa-paperclip ',\r\n\t\t\t\t\thide: vm.task.activityTaskCheckLists.length === 0\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: resources.L.Common.deviation,\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t\thref: 'taskDeviations', icon: 'fa fa-paperclip',\r\n\t\t\t\t\thide: vm.task.activityTaskDeviations.length === 0\r\n\t\t\t\t},\r\n\t\t\t];\r\n\t\t\tconst item = gridSetting.find(x => !x.hide);\r\n\t\t\tif (item) {\r\n\t\t\t\titem.active = true;\r\n\t\t\t}\r\n\t\t\tvm.tabSettings = gridSetting.filter(x => !x.hide).map((x, index) => {\r\n\t\t\t\tx.tabIndex = index + 1;\r\n\t\t\t\treturn x;\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction buildGridsSettings() {\r\n\t\t\t//Grid task document related\r\n\t\t\tvm.activityTaskDocumentsGridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'id', name: resources.L.Common.ID, width: 20, coldefault: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'name', name: resources.L.Common.name, width: 40, coldefault: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'documentPath', name: resources.L.Common.location, width: 40, coldefault: true\r\n\t\t\t\t}\r\n\r\n\t\t\t];\r\n\t\t\t//Grid task process related\r\n\t\t\tvm.activityTaskProcessesGridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'id', name: resources.L.Common.ID, width: 40, coldefault: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'name', name: resources.L.Common.name, width: 60, coldefault: true\r\n\t\t\t\t}\r\n\r\n\t\t\t];\r\n\t\t\t//Grid task risk related\r\n\t\t\tvm.activityTaskRiskGridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'riskId', name: resources.L.Common.ID, width: 30, coldefault: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'analysisName', name: resources.L.Common.name, width: 70, coldefault: true\r\n\t\t\t\t}\r\n\r\n\t\t\t];\r\n\t\t\t//Grid task checklist related\r\n\t\t\tvm.activityTaskChecklistGridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'checklistId', name: resources.L.Common.ID, width: 50, coldefault: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'checklistName', name: resources.L.Common.name, width: 50, coldefault: true\r\n\t\t\t\t}\r\n\r\n\t\t\t]\r\n\t\t\t//Grid task deviation related\r\n\t\t\tvm.activityTaskDeviationGridSeting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'categoryId', name: resources.L.Common.ID, width: 40, coldefault: true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'categoryName', name: resources.L.Common.name, width: 60, coldefault: true\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t\t//Grid task attachment related\r\n\t\t\tvm.activityTaskAttachmentGridSetting = [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'title', name: resources.L.Common.name, width: 40, coldefault: true,\r\n\t\t\t\t\tstyle: 'text-italic'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'extension', name: resources.L.Common.extension, width: 30, coldefault: true,\r\n\t\t\t\t\tstyle: 'text-italic'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 'description', name: resources.L.Common.description, width: 30, coldefault: true,\r\n\t\t\t\t\tstyle: 'text-italic'\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t\tfunction combineTaskProcessRelated(task) {\r\n\t\t\ttask.activityTaskProcesses && task.activityTaskProcesses.forEach(x => {\r\n\t\t\t\tx.id = x.processNumber;\r\n\t\t\t\tx.name = x.processName;\r\n\t\t\t\tx.type = 0;\r\n\t\t\t});\r\n\t\t\ttask.activityTaskProcessesAreas && task.activityTaskProcessesAreas.forEach(x => {\r\n\t\t\t\tx.id = x.processAreaId;\r\n\t\t\t\tx.name = x.processAreaName;\r\n\t\t\t\tx.type = 1;\r\n\t\t\t});\r\n\t\t\treturn [...vm.task.activityTaskProcesses, ...vm.task.activityTaskProcessesAreas];\r\n\t\t}\r\n\t\tfunction combineTaskDocumentRelated(task) {\r\n\t\t\ttask.activityTaskDocuments && task.activityTaskDocuments.forEach(x => {\r\n\t\t\t\tx.id = x.documentId;\r\n\t\t\t\tx.name = x.documentName;\r\n\t\t\t\tx.type = 0;\r\n\t\t\t});\r\n\t\t\ttask.activityTaskFolders && task.activityTaskFolders.forEach(x => {\r\n\t\t\t\tx.id = x.folderId;\r\n\t\t\t\tx.name = x.folderName;\r\n\t\t\t\tx.type = 1;\r\n\t\t\t});\r\n\t\t\treturn [...task.activityTaskDocuments, ...task.activityTaskFolders];\r\n\t\t}\r\n\t\tfunction cancel() {\r\n\t\t\t$uibModalInstance.dismiss('cancel');\r\n\t\t}\r\n\t}\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('accountModule', [])\r\n .controller('ChangePasswordController', controller);\r\n\r\n controller.$inject = ['$http', '$timeout', '$uibModalInstance'];\r\n\r\n function controller($http, $timeout, $modalInstance) {\r\n var vm = this;\r\n vm.translation = globalResources;\r\n\r\n vm.initialize = initialize;\r\n vm.passwordPattern = /((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,16})/;\r\n vm.changeOldPassword = changeOldPassword;\r\n vm.changeNewPassword = changeNewPassword;\r\n vm.changePassword = changePassword;\r\n vm.cancel = cancel;\r\n\r\n function initialize() {\r\n setFocusForElement('oldPassword');\r\n }\r\n\r\n function setFocusForElement(id) {\r\n $timeout(function () {\r\n var element = document.getElementById(id);\r\n angular.element(element).focus();\r\n }, 500);\r\n }\r\n\r\n function changeOldPassword() {\r\n $http.post('/api/Users/CheckPassword', { password: vm.oldPassword })\r\n .success(function (isCorrect) {\r\n vm.isOldPasswordCorrect = isCorrect;\r\n\r\n if (vm.isOldPasswordCorrect) {\r\n setFocusForElement('newPassword');\r\n }\r\n });\r\n }\r\n\r\n function changeNewPassword() {\r\n vm.isNewPasswordValid = vm.passwordPattern.test(vm.newPassword);\r\n\r\n if (vm.isNewPasswordValid) {\r\n vm.newPasswordTooltip = '';\r\n } else {\r\n buildNewPasswordTooltip();\r\n }\r\n }\r\n\r\n function buildNewPasswordTooltip() {\r\n var pattern = null;\r\n vm.newPasswordTooltip = '
' + globalResources.M.PasswordRequirements + '
';\r\n\r\n // Check length of password\r\n if (vm.newPassword.length >= 8 && vm.newPassword.length <= 16) {\r\n vm.newPasswordTooltip += '
';\r\n } else {\r\n vm.newPasswordTooltip += '
';\r\n }\r\n vm.newPasswordTooltip += globalResources.M.BeBetween8And16Characters + '
';\r\n\r\n // Check lowercase character\r\n pattern = /(?=.*[a-z])/;\r\n if (pattern.test(vm.newPassword)) {\r\n vm.newPasswordTooltip += '
';\r\n } else {\r\n vm.newPasswordTooltip += '
';\r\n }\r\n vm.newPasswordTooltip += globalResources.M.AtLeastOneLowercaseLetter + '
';\r\n\r\n // Check uppercase character\r\n pattern = /(?=.*[A-Z])/;\r\n if (pattern.test(vm.newPassword)) {\r\n vm.newPasswordTooltip += '
';\r\n } else {\r\n vm.newPasswordTooltip += '
';\r\n }\r\n vm.newPasswordTooltip += globalResources.M.AtLeastOneUppercaseLetter + '
';\r\n\r\n // Check number character\r\n pattern = /(?=.*\\d)/;\r\n if (pattern.test(vm.newPassword)) {\r\n vm.newPasswordTooltip += '
';\r\n } else {\r\n vm.newPasswordTooltip += '
';\r\n }\r\n vm.newPasswordTooltip += globalResources.M.AtLeastOneNumber + '
';\r\n\r\n // Check special character\r\n pattern = /(?=.*[!@#$%^&*])/;\r\n if (pattern.test(vm.newPassword)) {\r\n vm.newPasswordTooltip += '
';\r\n } else {\r\n vm.newPasswordTooltip += '
';\r\n }\r\n vm.newPasswordTooltip += globalResources.M.AtLeastOneSpecialCharacter + '
';\r\n }\r\n\r\n function changePassword() {\r\n $http.post('/api/Users/ChangePassword', { password: vm.newPassword })\r\n .success(function () {\r\n $modalInstance.dismiss('cancel');\r\n });\r\n }\r\n\r\n function cancel() {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n }\r\n})();","var Login = new function () {\r\n this._goBackToLoginPage = function () {\r\n window.location = \"Login\";\r\n }\r\n};","(function () {\r\n 'use strict';\r\n angular.module('servicesModule')\r\n .controller('AboutFolderModalController', controller);\r\n controller.$inject = ['$scope', '$http', '$uibModal', '$uibModalInstance', 'model', '$sce'];\r\n function controller($scope, $http, $uibModal, $modalInstance, model, $sce) {\r\n var vm = this;\r\n vm.globalResources = angular.copy(globalResources);\r\n vm.data = model;\r\n vm.close = close;\r\n initialize();\r\n\r\n function initialize() {\r\n }\r\n\r\n\r\n function close() {\r\n $modalInstance.close(true);\r\n };\r\n\r\n };\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(\"handbookApp\")\r\n .controller(controllers.chapterController, chapterController);\r\n\r\n chapterController.$inject = ['$scope', '$http', '$state', '$stateParams', '$timeout', '$sce', '$rootScope', '$filter',\r\n 'broadcastService', 'favoriteService', 'tabStateService', 'resizeService', 'localStorageService', 'treeNavigationService',\r\n 'documentService', '$location', 'browserService', '$uibModal', '$anchorScroll', 'configService'];\r\n\r\n function chapterController($scope, $http, $state, $stateParams, $timeout, $sce, $rootScope, $filter,\r\n broadcastService, favoriteService, tabStateService, resizeService, localStorageService, treeNavigationService,\r\n documentService, $location, browserService, $uibModal, $anchorScroll, configService) {\r\n var attachmentStores = {};\r\n var vm = this;\r\n vm.handbookRequests = handbookRequests;\r\n vm.isPinMeta = localStorageService.getItem(localStorageKeys.stateOfSticky);\r\n vm.isPinMeta = configService.getBool(vm.isPinMeta);\r\n vm.pinMetaChange = pinMetaChange;\r\n $scope.translation = globalResources;\r\n $scope.internetPublishOption = configService.getBool(HandbookConfiguration.InternetPublishOption);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.commonGridSettingKey = gridSettingKeys.commonVisibilitySettings;\r\n vm.folderId = $stateParams.folderId; \r\n\r\n vm.groupDocuments = [];\r\n vm.folderList = {};\r\n vm.folderInformation = {};\r\n vm.keyword = $location.$$search.keyword || '';\r\n vm.groupDocumentAnchorPrefix = prefix.groupDocumentAnchorPrefix;\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteFolder;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteFolder;\r\n vm.addEmailSubscriptionRequest = handbookRequests.AddEmailSubscription;\r\n vm.removeEmailSubscriptionRequest = handbookRequests.RemoveEmailSubscription;\r\n\r\n vm.urlchapter = window.location.origin + '/folder/' + vm.folderId;\r\n\r\n vm.backendIsDb4 = configService.getBool(HandbookConfiguration.BackendIsDb4);\r\n vm.showFolderLinkToBackend = false;\r\n\r\n vm.objectShowDocumentsInSubChapters = {\r\n showDocumentsInSubChapters: $location.$$search.showDocumentsInSubChapters? true : false\r\n };\r\n\r\n vm.DocumentViewTypes = [\r\n { Id: documentViewTypes.DocumentViewTypes_Standard, Name: globalResources.Folders.DocumentViewStandard },\r\n { Id: documentViewTypes.DocumentViewTypes_Template, Name: globalResources.DocumentType }\r\n ];\r\n vm.metaDataTags = [];\r\n vm.documentViewTypes_Standard = documentViewTypes.DocumentViewTypes_Standard;\r\n vm.documentViewTypes_Template = documentViewTypes.DocumentViewTypes_Template;\r\n vm.documentViewTypes_Internet = documentViewTypes.DocumentViewTypes_Internet;\r\n vm.onRowClick = onRowClick;\r\n vm.changeDocumentView = changeDocumentView;\r\n vm.gotoParentFolder = gotoParentFolder;\r\n vm.showDocumentsRecursive = showDocumentsRecursive;\r\n vm.removeFromFavorite = removeFromFavorite;\r\n vm.getConsecutiveIndex = getConsecutiveIndex;\r\n //vm.adjustContentPosition = adjustContentPosition;\r\n vm.showAllDocuments = showAllDocuments;\r\n vm.showDocumentsIncludeLevel1 = showDocumentsIncludeLevel1;\r\n vm.searchInFolder = searchInFolder;\r\n vm.toTopGroup = toTopGroup;\r\n vm.backToFolderView = backToFolderView;\r\n vm.showWhatsNewDocumentsRecursive = showWhatsNewDocumentsRecursive;\r\n vm.linkToFolderManagement = linkToFolderManagement;\r\n\t\tvm.showAllGroups = showAllGroups;\r\n vm.changeSelectedOption = changeSelectedOption;\r\n vm.nameFolderWithMetaTag = nameFolderWithMetaTag;\r\n vm.urlFolderWithMetaTag = urlFolderWithMetaTag;\r\n vm.getFolderClassMobile = getFolderClassMobile;\r\n vm.backToFolderMobileView = backToFolderMobileView;\r\n\r\n vm.currentRowIndex = 0;\r\n vm.totalDocuments = 0;\r\n vm.nextPage = nextPage;\r\n vm.infiniteGroups = [];\r\n vm.busy = false;\r\n vm.newTotalDocuments = 0;\r\n vm.scrolling = false;\r\n vm.subFoldersGridSetting = [];\r\n vm.showDocumentIncludeLevel1 = false;\r\n vm.showWhatsNewDocumentsInSubChapters = false;\r\n vm.searchDocuments = [];\r\n vm.WhatsNewDocuments = [];\r\n\r\n vm.copyUserFriendlyUrlTooltip = globalResources.CopyUserFriendlyUrl;\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n vm.showDropdownFolderOptions = false;\r\n vm.showSortOption = false;\r\n vm.isStandardView = true;\r\n vm.isGroupByMetaDataView = false;\r\n vm.openAboutFolder = openAboutFolder;\r\n vm.addOnlyFolderEmailSubscription = addOnlyFolderEmailSubscription;\r\n vm.removeOnlyFolderEmailSubscription = removeOnlyFolderEmailSubscription;\r\n vm.addRecursiveFolderEmailSubscription = addRecursiveFolderEmailSubscription;\r\n vm.removeRecursiveFolderEmailSubscription = removeRecursiveFolderEmailSubscription;\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n vm.openWhatsNewFolder = openWhatsNewFolder;\r\n vm.changeSelectedOptionInMobileView = changeSelectedOptionInMobileView;\r\n vm.collapsed = collapsed;\r\n vm.autoScrollDownExpandBottom = autoScrollDownExpandBottom;\r\n vm.metadataGroupTypes = [];\r\n vm.groupByDocument = groupByDocument;\r\n var infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadGroupSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadGroupSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadGroupSize);\r\n\r\n var infiniteScrollLoadDocumentssize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n vm.alerts = [];\r\n vm.disableFolderView = false;\r\n $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {\r\n tabStateService.adjustFolderContentIdentifierHeight();\r\n });\r\n\r\n $scope.$on(broadcastType.scrollTarget, function (e, target) {\r\n vm.scrolling = true;\r\n });\r\n\r\n $scope.$on('ActiveFolderWhatsnew', function (e, target) {\r\n vm.isWhatsNew = true;\r\n });\r\n\r\n $scope.$on(\"$destroy\", function () {\r\n documentService.clearDocumentsInWorker();\r\n documentService.clearMetaDocumentsInWorker();\r\n });\r\n\r\n $scope.$on(broadcastType.gridSettingTarget, function (e, target, gridSettingKey) {\r\n if (gridSettingKey == gridSettingKeys.commonVisibilitySettings) {\r\n vm.exportParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n }\r\n });\r\n\r\n $scope.selectNodeHead = selectNodeHead;\r\n $scope.selectNodeLabel = selectNodeLabel;\r\n\r\n $(document)\r\n .on(collapseExpandEvent.shown, function (event) {\r\n var $target = $(event.target.parentNode);\r\n $target.find(\".\" + collapseExpandClass.collapse)\r\n .removeClass(collapseExpandClass.collapse)\r\n .addClass(collapseExpandClass.expand);\r\n })\r\n .on(collapseExpandEvent.hidden, function (event) {\r\n var $target = $(event.target.parentNode);\r\n $target.find(\".\" + collapseExpandClass.expand)\r\n .removeClass(collapseExpandClass.expand)\r\n .addClass(collapseExpandClass.collapse);\r\n })\r\n .bind('click', function (event) {\r\n let isClickedElementChildOfPopup = angular.element(\"#moreIcon\").find(event.target).length > 0 ||\r\n angular.element(\"#moreIconChild\").find(event.target).length > 0;\r\n if (isClickedElementChildOfPopup) {\r\n vm.showSortOption = false;\r\n return;\r\n }\r\n vm.showDropdownFolderOptions = false;\r\n\r\n isClickedElementChildOfPopup = angular.element(\"#sortIcon\").find(event.target).length > 0 ||\r\n angular.element(\"#sortIconChild\").find(event.target).length > 0;\r\n \r\n if (isClickedElementChildOfPopup) {\r\n return;\r\n }\r\n vm.showSortOption = false;\r\n });\r\n vm.exportParams = {\r\n folderId: vm.folderId,\r\n isRecursive: false,\r\n groupBy: E.exportDocumentGroupsByColumn.none\r\n };\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n\t\t\tvar storageWhatsNewPeriodFolder = localStorageService.getItem(\"WhatsNewPeriodFolder\");\r\n\t\t\tvm.selectedOption = storageWhatsNewPeriodFolder != null ? storageWhatsNewPeriodFolder : parseInt(HandbookConfiguration.WhatsNewPeriodFolder);\r\n\r\n resizeService.resizeView();\r\n\r\n getGridSetting(gridSettingKeys.commonVisibilitySettings);\r\n getColumnsDefinition(gridSettingKeys.commonVisibilitySettings);\r\n buildSubFoldersGridSetting();\r\n vm.exportParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n vm.commonGridColumnDefinition = commonColumnsDefinition;\r\n vm.optionalColumns = optionalColumnsDenifinition;\r\n vm.commonColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n vm.hasViewAccess = true;\r\n vm.hasViewContentAccess = true;\r\n getFolderInfoStorage();\r\n\r\n if (vm.keyword) {\r\n searchInFolder();\r\n } else {\r\n showDocumentsRecursive();\r\n }\r\n\r\n updateFolderInfoStorage();\r\n vm.listOutSubChapters = HandbookConfiguration.ListOutSubChapters;\r\n\r\n getWhatsNewForFolder();\r\n\r\n if (!vm.publishedVersion && $scope.internetPublishOption) {\r\n vm.DocumentViewTypes.push({ Id: documentViewTypes.DocumentViewTypes_Internet, Name: globalResources.publishedOrUnpublished });\r\n }\r\n treeNavigationService.navigateToItemLocation(true);\r\n };\r\n\r\n $(window).on('resize', function () {\r\n vm.browserType = browserService.detectBrowserWindow();\r\n });\r\n\r\n function changeSelectedOption() {\r\n\t\t\tlocalStorageService.setItem(\"WhatsNewPeriodFolder\", vm.selectedOption);\r\n\t\t\tgetWhatsNewForFolder();\r\n }\r\n\r\n function changeSelectedOptionInMobileView(period) {\r\n vm.selectedOption = period.value;\r\n localStorageService.setItem(\"WhatsNewPeriodFolder\", vm.selectedOption);\r\n }\r\n\r\n //watch the height of the content change\r\n $scope.$watch(\r\n function () {\r\n return angular.element('#' + folderContent.content + '').height();\r\n },\r\n function (newValue, oldValue) {\r\n if (newValue != oldValue) {\r\n updateScroll();\r\n }\r\n }\r\n );\r\n\r\n function updateScroll() {\r\n if (vm.isPinMeta) { \r\n var currentHeight = angular.element('#content-body-chapter').height()\r\n - angular.element('#chapterItemTabs').height()\r\n - angular.element('#topmenuleftid').height()\r\n - angular.element('#list-document-type').height()\r\n - angular.element('.' + folderContent.groupMetatagList + '').height() - 37;\r\n \r\n angular.element('#' + folderContent.groupMetatagView + '').css({ height: currentHeight, 'overflow-y': 'auto' }); \r\n }\r\n else {\r\n angular.element('#' + folderContent.groupMetatagView + '').css({ height: '', 'overflow-y': '' });\r\n }\r\n localStorageService.setItem(localStorageKeys.stateOfSticky, vm.isPinMeta);\r\n }\r\n function pinMetaChange() {\r\n vm.isPinMeta = !vm.isPinMeta;\r\n if (vm.infiniteGroups.length != vm.groupDocuments.length) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n vm.newTotalDocuments = vm.infiniteGroups.length;\r\n }\r\n updateScroll();\r\n }\r\n\r\n function linkToFolderManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&folder=' + vm.folderId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'folder/' + vm.folderId, '_blank');\r\n }\r\n }\r\n\r\n $scope.$on('linkToFolderManagement', function (e, target) {\r\n linkToFolderManagement();\r\n });\r\n\r\n function onRowClick(id) {\r\n favoriteService.setFavoriteNodeState({ isFavorited: false });\r\n $state.go(handbookActions.FolderAction, { folderId: id });\r\n };\r\n\r\n function changeDocumentView() {\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n listedOutDocuments(vm.folderInformation.viewType);\r\n updateFolderInfoStorage();\r\n updateExportGroupByParam();\r\n };\r\n\r\n function selectNodeHead(node) {\r\n if (node.children == undefined || !node.children.length) {\r\n $http.get(handbookRequests.GetSubfoldersRequest, { params: { 'folderId': node.id } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n });\r\n }\r\n };\r\n\r\n function selectNodeLabel(node) {\r\n $state.go(handbookActions.FolderAction, {\r\n folderId: node.id\r\n });\r\n };\r\n\r\n function gotoParentFolder() {\r\n $state.go(handbookActions.FolderAction, { folderId: vm.folderInformation.parentFolderId });\r\n };\r\n\r\n function getWhatsNewForFolder() {\r\n\t\t\t$http.get(handbookRequests.GetRecentlyApprovedDocumentsForFolder, { params: { 'folderId': vm.folderId, 'includeSubFolder': vm.showWhatsNewDocumentsInSubChapters, 'periodOption': vm.selectedOption } })\r\n .success(function (data, status, headers, config) {\r\n vm.WhatsNewDocuments = data;\r\n updateAttachmentsForWhatsNewDocuments(data);\r\n documentService.getAgreeFilesForDocuments(vm.WhatsNewDocuments);\r\n });\r\n };\r\n\r\n function updateAttachmentsForWhatsNewDocuments(documents) {\r\n var documentIds = [];\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documentIds.push(documents[i].id);\r\n }\r\n }\r\n if (documentIds.length > 0) {\r\n $http\r\n .post('/api/Documents/GetAttachmentsForDocuments', { documentIds: documentIds })\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length > 0) {\r\n\t\t\t\t\t\t\tdata.forEach(function (x) {\r\n\t\t\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documents[i].attachments = [];\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].documentId == documents[i].id) {\r\n documents[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n function showWhatsNewDocumentsRecursive() {\r\n getWhatsNewForFolder();\r\n }\r\n\r\n function showDocumentsRecursive() {\r\n listedOutDocuments(vm.folderInformation.viewType);\r\n updateFolderInfoStorage();\r\n buildExportFileName();\r\n vm.exportParams.isRecursive = vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters;\r\n };\r\n\r\n function showDocumentsIncludeLevel1() {\r\n listedOutDocuments(vm.folderInformation.viewType);\r\n updateFolderInfoStorage();\r\n updateExportGroupByParam();\r\n }\r\n\r\n function removeFromFavorite() {\r\n var requestUrl = vm.removeFavoriteRequest + '/' + vm.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n var target = {\r\n data: {\r\n id: vm.folderId,\r\n isDocument: false\r\n },\r\n requestType: requestType.removeRequest\r\n };\r\n broadcastService(broadcastType.favoriteTarget, target);\r\n });\r\n };\r\n\r\n function getConsecutiveIndex(parentIndex, $index, documents) {\r\n var total = 0;\r\n for (var i = 0; i < parentIndex; i += 1) {\r\n total += documents[i].length;\r\n }\r\n return (total + $index);\r\n }\r\n\r\n function listedOutDocuments(viewType) {\r\n vm.groupDocuments = [];\r\n vm.isIncludeLevel1 = false;\r\n if (viewType != null) {\r\n if (viewType != documentViewTypes.DocumentViewTypes_Standard && viewType != documentViewTypes.DocumentViewTypes_Template\r\n && viewType != documentViewTypes.DocumentViewTypes_Internet) {\r\n getDocuments($stateParams.folderId);\r\n vm.isIncludeLevel1 = true;\r\n } else {\r\n listedOutDocumentsRecursive();\r\n }\r\n } else {\r\n getDocuments($stateParams.folderId);\r\n }\r\n };\r\n\r\n function getMetaGroupName(viewType) {\r\n var result = '';\r\n if (vm.DocumentViewTypes && vm.DocumentViewTypes.length > 0) {\r\n for (var i = 0; i < vm.DocumentViewTypes.length; i++) {\r\n if (viewType == vm.DocumentViewTypes[i].Id) {\r\n result = vm.DocumentViewTypes[i].Name;\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n function getMetadataGroupsForContentTab(viewType) {\r\n vm.isIncludeLevel1 = true;\r\n vm.metaGroupName = getMetaGroupName(viewType);\r\n vm.folderData.documents = vm.folderData.documents != null ? vm.folderData.documents : [];\r\n \r\n return documentService.getMetaDocumentsViaWorker(\r\n $stateParams.folderId,\r\n viewType,\r\n vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters,\r\n vm.showDocumentIncludeLevel1,\r\n vm.folderData.documents\r\n )\r\n .then(function (metadata) {\r\n if (!metadata) {\r\n return;\r\n }\r\n\r\n vm.metaDataTags = metadata.metaTags;\r\n documentService.getAgreeFilesForDocuments(metadata.folderDocuments);\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n $http.get(handbookRequests.GetDocumentsRecursive, {\r\n params: {\r\n 'folderId': $stateParams.folderId\r\n }\r\n }).success(function (data, status, headers, config) {\r\n updateAttachmentsForDocuments(data, true);\r\n vm.folderData = {\r\n documents: data,\r\n folders: vm.folderData.folders\r\n };\r\n mappingDocumentTemplates(metadata.documents);\r\n getDocumentsGroupByTypes(vm.folderData.documents, true);\r\n buildViewMode();\r\n });\r\n } else {\r\n vm.folderData.documents = metadata.folderDocuments;\r\n vm.groupDocuments = metadata.groupDocuments;\r\n updateInfiniteScrollingData();\r\n }\r\n });\r\n }\r\n\r\n function listedOutDocumentsRecursive() {\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n if (!vm.folderInformation || !vm.folderInformation.id) {\r\n $http.get(\"/api/Documents/GetFolderInformation\", { params: { 'folderId': $stateParams.folderId } })\r\n .success(function (data, status, headers, config) {\r\n vm.isFavoriteNodeSelected = true;\r\n\r\n angular.extend(vm.folderInformation, {\r\n level: data.level,\r\n levelTypeText: data.levelTypeText,\r\n parentFolderId: data.parentFolderId,\r\n viewType: vm.folderInformation.viewType || data.viewType,\r\n name: data.name,\r\n isFavorite: data.isFavorite,\r\n hasEmailSubscription: data.hasEmailSubscription,\r\n hasOnlyFolderEmailSubscription: data.hasOnlyFolderEmailSubscription,\r\n isFavoriteReadonly: data.isFavoriteReadonly,\r\n documentTemplates: data.documentTemplates,\r\n type: data.type,\r\n nodeType: convertToNodeType(data.type),\r\n id: data.id,\r\n description: data.description == null ? '' : $sce.trustAsHtml(data.description),\r\n icon: getFolderClassMobile(data.type)\r\n });\r\n buildExportFileName();\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n vm.showFolderLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend) && data.hasWritePermission;\r\n vm.folderIcon = getFolderIcon(vm.folderInformation.type);\r\n });\r\n }\r\n $http.get(handbookRequests.GetDocumentsRecursive, {\r\n params: {\r\n 'folderId': $stateParams.folderId,\r\n showLoading: true\r\n }\r\n }).success(function (data, status, headers, config) {\r\n updateAttachmentsForDocuments(data, true);\r\n vm.folderData = {\r\n documents: data,\r\n folders: vm.folderData != null ? vm.folderData.folders : null\r\n };\r\n angular.extend(vm.folderInformation, {\r\n documentTemplates: getDocumentTemplates(data)\r\n });\r\n buildExportFileName();\r\n angular.forEach(vm.folderData.documents, function (document) {\r\n document.internetDocumentString = document.internetDocument ? globalResources.publishedInternet : globalResources.unpublishedInternet;\r\n });\r\n\r\n documentService.getAgreeFilesForDocuments(vm.folderData.documents);\r\n getDocumentsGroupByTypes(vm.folderData.documents);\r\n\r\n buildViewMode();\r\n });\r\n\r\n if (HandbookConfiguration.MetadataEnabled == \"True\") {\r\n $http.get(handbookRequests.GetMetadataGroupsRecursive, {\r\n params: {\r\n 'folderId': $stateParams.folderId\r\n }\r\n }).success(function (data, status, headers, config) {\r\n getMetadataGroupTypes(data);\r\n });\r\n }\r\n } else {\r\n getDocuments($stateParams.folderId);\r\n }\r\n }\r\n\r\n function mappingDocumentTemplates(documentMetatags) {\r\n if (vm.folderData != null) {\r\n vm.folderData.documents = vm.folderData.documents != null ? vm.folderData.documents : [];\r\n vm.folderData.documents.forEach(function (item) {\r\n item.templateGroup = globalResources.UndefinedMetatag;\r\n });\r\n }\r\n if (documentMetatags != null && documentMetatags.length > 0 && vm.folderData != null) {\r\n var length = documentMetatags.length;\r\n for (var i = 0; i < length; i++) {\r\n updateDocumentTemplate(documentMetatags[i], documentMetatags[i].id)\r\n }\r\n }\r\n };\r\n\r\n function updateDocumentTemplate(documentMetatag, id) {\r\n documentMetatag.templateGroup = documentMetatag.metatagValue;\r\n var existedDocument = false;\r\n var length = vm.folderData.documents.length;\r\n for (var i = 0; i < length; i++) {\r\n if (vm.folderData.documents[i].id == id\r\n && (vm.folderData.documents[i].templateGroup == globalResources.UndefinedMetatag || vm.folderData.documents[i].templateGroup == null)) {\r\n vm.folderData.documents[i].templateGroup = documentMetatag.metatagValue || '';\r\n existedDocument = true;\r\n break;\r\n }\r\n }\r\n if (!existedDocument) {\r\n vm.folderData.documents.push(angular.copy(documentMetatag));\r\n }\r\n };\r\n\r\n function getSortGroupMetadata(metatagValue) {\r\n var sort = (vm.metaDataTags != null && vm.metaDataTags.length > 0) ? vm.metaDataTags.length + 1 : 0;\r\n if (vm.metaDataTags != null && vm.metaDataTags.length > 0) {\r\n for (var i = 0; i < vm.metaDataTags.length; i++) {\r\n if (vm.metaDataTags[i].registerValue == metatagValue) {\r\n sort = vm.metaDataTags[i].sort;\r\n break;\r\n }\r\n }\r\n }\r\n return sort;\r\n }\r\n\r\n function getDocuments(folderId) {\r\n var previousViewType = (vm.folderInformation != undefined && vm.folderInformation.viewType != undefined) ? vm.folderInformation.viewType : null;\r\n \r\n return documentService.getDocumentsViaWorker(folderId, previousViewType).then(function (data) {\r\n if (data.documentsError || data.hidden || data.errorMessage) {\r\n vm.errorMessage = data.errorMessage;\r\n vm.disableFolderView = true;\r\n runErrorServicesAfterInit();\r\n return;\r\n }\r\n\r\n vm.hasViewContentAccess = data.hasViewContentAccess;\r\n vm.hasViewAccess = data.hasViewAccess;\r\n vm.errorMessage = data.errorMessage;\r\n\r\n if (data.errorMessage && !data.documentsError) {\r\n var favoriteState = favoriteService.getFavoriteNodeState();\r\n vm.isFavoriteNodeSelected = favoriteState.isFavorited;\r\n // Update folder information for favorite button can work\r\n vm.folderInformation.isFavorite = vm.isFavoriteNodeSelected;\r\n vm.folderInformation.id = vm.folderId;\r\n runErrorServicesAfterInit();\r\n return;\r\n }\r\n\r\n vm.isFavoriteNodeSelected = true;\r\n \r\n vm.folderData = {\r\n documents: data.documents && data.documents.length ? data.documents.filter(x => !x.hidden) : data.documents,\r\n folders: data.folders && data.folders.length ? data.folders.filter(x => !x.hidden) : data.folders\r\n };\r\n vm.documentsMobile = angular.copy(vm.folderData.documents);\r\n vm.subFoldersMobile = angular.copy(vm.folderData.folders);\r\n if (vm.documentsMobile && vm.documentsMobile.length){\r\n sortItemsAscByName(vm.documentsMobile);\r\n }\r\n if (vm.subFoldersMobile && vm.subFoldersMobile.length){\r\n sortItemsAscByName(vm.subFoldersMobile);\r\n }\r\n \r\n documentService.getAgreeFilesForDocuments(vm.folderData.documents);\r\n\r\n vm.showFolderLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend) && data.hasWritePermission;\r\n if(vm.folderData.folders && vm.folderData.folders.length){\r\n angular.forEach(vm.folderData.folders, function (node) {\r\n node.icon = getFolderClass(convertToFolderType(node.type))\r\n });\r\n } \r\n\r\n angular.extend(vm.folderInformation, {\r\n level: data.level,\r\n levelTypeText: data.levelTypeText,\r\n parentFolderId: data.parentFolderId,\r\n viewType: data.viewType,\r\n name: data.name,\r\n isFavorite: data.isFavorite,\r\n hasEmailSubscription: data.hasEmailSubscription,\r\n hasOnlyFolderEmailSubscription: data.hasOnlyFolderEmailSubscription,\r\n isFavoriteReadonly: data.isFavoriteReadonly,\r\n documentTemplates: data.documentTemplates,\r\n type: data.type,\r\n nodeType: convertToNodeType(data.type),\r\n id: data.id,\r\n description: data.description == null ? '' : $sce.trustAsHtml(data.description),\r\n icon: getFolderClassMobile(data.type)\r\n });\r\n\t\t\t\tvm.messageWhatNew = String.format(globalResources.RecentlyApprovedDocumentsInTheHandbook, vm.folderInformation.name);\r\n buildExportFileName();\r\n $rootScope.title = globalResources.Handbook + \" - \" + data.name;\r\n\r\n angular.forEach(data.metadataGroupTypes, function (type) {\r\n var exist = vm.DocumentViewTypes.some(function (dt) {\r\n return dt.Id == type.Id;\r\n })\r\n\r\n if (!exist) {\r\n vm.DocumentViewTypes.push(type);\r\n }\r\n });\r\n vm.metadataGroupTypes = data.metadataGroupTypes;\r\n\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n vm.folderIcon = getFolderIcon(vm.folderInformation.type);\r\n\r\n var isGetMetadataGroupsForContentTab = hasGetMetadataGroupsForContentTab();\r\n if (isGetMetadataGroupsForContentTab) {\r\n getMetadataGroupsForContentTab(vm.folderInformation.viewType);\r\n }\r\n\r\n if (hasGetDocumentsGroupByTypes()) {\r\n vm.groupDocuments = data.groupDocuments;\r\n updateInfiniteScrollingData();\r\n }\r\n\r\n buildViewMode();\r\n updateExportGroupByParam();\r\n\r\n $timeout(function () {\r\n updateScroll();\r\n }, 500);\r\n });\r\n }\r\n\r\n function sortItemsAscByName(items) {\r\n items.sort(function (a, b) {\r\n if (a.name.toLowerCase() < b.name.toLowerCase())\r\n return -1;\r\n if (a.name.toLowerCase() > b.name.toLowerCase()) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n function hasGetMetadataGroupsForContentTab() {\r\n return vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard\r\n && vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Template\r\n && vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Internet;\r\n }\r\n\r\n function hasGetDocumentsGroupByTypes() {\r\n return vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard\r\n || vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template\r\n || vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Internet;\r\n }\r\n\r\n function buildViewMode() {\r\n if ((vm.folderData.documents && vm.folderData.documents.length > 0)\r\n && (vm.folderData.folders && vm.folderData.folders.length > 0)) {\r\n vm.viewMode = 2;\r\n } else if (vm.folderData.folders && vm.folderData.folders.length > 0) {\r\n vm.viewMode = 1;\r\n } else {\r\n vm.viewMode = 0;\r\n }\r\n }\r\n\r\n function buildSubFoldersGridSetting() {\r\n vm.subFoldersGridSetting.push({ id: 'name', name: globalResources.SubFolders.toUpperCase(), width: 100, coldefault: true, icon: 'icon' });\r\n vm.columnNotRemove = 'name';\r\n }\r\n\r\n function adjustContentPosition() {\r\n var tabState = tabStateService.getState(tabStateType.chapterTabState);\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(tabState, tabStateType.chapterTabState);\r\n }, 0, false);\r\n };\r\n\r\n function getMetadataGroupTypes(metadataGroups) {\r\n if (metadataGroups != null && metadataGroups.length > 0) {\r\n var length = metadataGroups.length;\r\n for (var i = 0; i < length; i++) {\r\n var key = metadataGroups[i].id.toString();\r\n if (!existsTemplate(key, vm.DocumentViewTypes)) { // We do not stored duplicated groups\r\n vm.DocumentViewTypes.push({ Id: key, Name: metadataGroups[i].name });\r\n vm.metadataGroupTypes = metadataGroups;\r\n }\r\n }\r\n }\r\n };\r\n\r\n function updateAttachmentsForDocuments(documents, recursive) {\r\n\r\n if (documents) {\r\n $http\r\n .get('/api/Folders/GetAttachmentsInFolder', {\r\n params: {\r\n folderId: vm.folderId,\r\n recursive: recursive ? 1 : 0\r\n }\r\n })\r\n .success(function (data) {\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documents[i].attachments = [];\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].documentId == documents[i].id) {\r\n documents[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n function existsTemplate(obj, list) {\r\n for (var i = 0; i < list.length; i++) {\r\n if (list[i].Id == obj) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n function getDocumentsGroupByTypes(documents, isMetadataGroup) {\r\n if (documents == null) {\r\n return;\r\n }\r\n\r\n var result = groupBy(documents, function (item) {\r\n if (isMetadataGroup) {\r\n return [item.templateGroup];\r\n } else if (vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Internet) {\r\n return [item.internetDocumentString];\r\n } else {\r\n return [item.template];\r\n }\r\n });\r\n\r\n vm.groupDocuments = [];\r\n var lastOne = {\r\n documents: [],\r\n templateName: '',\r\n totalDocuments: 0,\r\n sortGroup: 0\r\n };\r\n var hasUndefinedGroup = false;\r\n for (var i = 0; i < result.length; i++) {\r\n var sortGroup = 0;\r\n var documentsGroup = result[i].value.data;\r\n\r\n if (isMetadataGroup && vm.metaDataTags != null && vm.metaDataTags.length > 0) {\r\n sortGroup = getSortGroupMetadata(result[i].key);\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters || vm.showDocumentIncludeLevel1) {\r\n documentsGroup = $filter('orderBy')(documentsGroup, ['name']);\r\n } else {\r\n documentsGroup = $filter('orderBy')(documentsGroup, ['order', 'name']);\r\n }\r\n }\r\n if (result[i].key == globalResources.UndefinedMetatag) {\r\n lastOne.documents = documentsGroup;\r\n lastOne.templateName = result[i].key;\r\n lastOne.totalDocuments = result[i].value.data.length;\r\n lastOne.sortGroup = sortGroup;\r\n hasUndefinedGroup = true;\r\n } else {\r\n vm.groupDocuments.push({\r\n documents: documentsGroup,\r\n templateName: result[i].key,\r\n totalDocuments: result[i].value.data.length,\r\n sortGroup: sortGroup\r\n });\r\n }\r\n }\r\n if (isMetadataGroup && vm.metaDataTags != null && vm.metaDataTags.length > 0) {\r\n if (!checkSortOrderMetaTags(vm.groupDocuments)) {\r\n vm.groupDocuments.sort(function (a, b) {\r\n return a.sortGroup - b.sortGroup;\r\n });\r\n } else {\r\n vm.groupDocuments.sort(function (a, b) {\r\n return a.templateName.toLowerCase().localeCompare(b.templateName.toLowerCase());\r\n });\r\n }\r\n } else {\r\n vm.groupDocuments.sort(function (a, b) {\r\n return a.templateName.toLowerCase().localeCompare(b.templateName.toLowerCase());\r\n });\r\n }\r\n\r\n if (hasUndefinedGroup) {\r\n vm.groupDocuments.push(lastOne);\r\n }\r\n\r\n updateInfiniteScrollingData();\r\n }\r\n\r\n function checkSortOrderMetaTags(data) {\r\n if (data == null || data.length == 0) {\r\n return true;\r\n }\r\n return data[data.length - 1].sortGroup == data[0].sortGroup && data[data.length - 1].sortGroup == 0;\r\n }\r\n\r\n function updateInfiniteScrollingData() {\r\n if (!vm.groupDocuments) {\r\n return;\r\n }\r\n var newTotal = vm.groupDocuments != null ? vm.groupDocuments.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n } else {\r\n vm.totalDocuments = newTotal;\r\n vm.currentRowIndex = 0;\r\n vm.infiniteGroups = getAPage();\r\n scrollToGroupDocument();\r\n vm.newTotalDocuments = 0;\r\n vm.scrolling = false;\r\n if (vm.browserType != BrowserType.MOBILE) {\r\n $timeout(function () { //scroll a bit up\r\n var folderContentObject = angular.element('#' + folderContent.content + '')[0];\r\n var scrollTop = folderContentObject.scrollTop;\r\n folderContentObject.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n }\r\n checkShowAllGroupLink(vm.infiniteGroups);\r\n initShowGroups();\r\n }\r\n\r\n function scrollToGroupDocument() { \r\n $timeout(function () {\r\n var anchorGroup = $location.hash();\r\n var indexToScroll = Number(anchorGroup.split('-').pop() || 0);\r\n if (vm.infiniteGroups[indexToScroll]) {\r\n vm.infiniteGroups[indexToScroll].isShow = true;\r\n vm.infiniteGroups[indexToScroll].isToggled = false;\r\n }\r\n \r\n if (anchorGroup) {\r\n $location.hash(anchorGroup);\r\n $anchorScroll();\r\n }\r\n }, 100);\r\n }\r\n\r\n function checkShowAllGroupLink(infiniteGroups) {\r\n if (!vm.groupDocuments || !infiniteGroups) {\r\n return;\r\n }\r\n\r\n var result = false;\r\n if (infiniteGroups.length <= vm.groupDocuments.length) {\r\n result = checkDocumentsInOneGroup();\r\n } else {\r\n result = true;\r\n }\r\n vm.showAllGroup = result;\r\n }\r\n\r\n function initShowGroups() {\r\n var length = vm.infiniteGroups.length > 5 ? 5 : vm.infiniteGroups.length;\r\n for (var i = 0; i < vm.infiniteGroups.length; i++) {\r\n if (i < length) {\r\n vm.infiniteGroups[i].isShow = true;\r\n vm.infiniteGroups[i].isToggled = false;\r\n } else {\r\n vm.infiniteGroups[i].isShow = false;\r\n vm.infiniteGroups[i].isToggled = true;\r\n }\r\n }\r\n }\r\n\r\n function checkDocumentsInOneGroup() {\r\n for (var i = 0; i < vm.groupDocuments.length; i++) {\r\n var item = vm.groupDocuments[i];\r\n if (item.totalDocuments > infiniteScrollLoadDocumentssize) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function getDocumentTemplates(documents) {\r\n if (documents != null) {\r\n var result = [];\r\n var lastOne = '';\r\n var hasUndefinedGroup = false;\r\n for (var i = 0; i < documents.length; i++) {\r\n if (result.indexOf(documents[i].template) < 0) {\r\n if (documents[i].template == globalResources.UndefinedMetatag) {\r\n lastOne = documents[i].template;\r\n hasUndefinedGroup = true;\r\n } else {\r\n result.push(documents[i].template);\r\n }\r\n }\r\n }\r\n\r\n result.sort(function (a, b) {\r\n return a.toLowerCase().localeCompare(b.toLowerCase());\r\n });\r\n\r\n if (hasUndefinedGroup) {\r\n result.push(lastOne);\r\n }\r\n\r\n var groupTemplates = [], columns = 6;\r\n for (var j = 0; j < result.length; j += columns) {\r\n groupTemplates.push(result.slice(j, j + columns));\r\n }\r\n\r\n return groupTemplates;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n function getFolderClass(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return 'folder-5-icon';\r\n case E.folderTypes.TopFolder:\r\n return 'folder-6-icon';\r\n case E.folderTypes.DepartmentFolder:\r\n return 'folder-7-icon';\r\n case E.folderTypes.RegionalFolder:\r\n return 'folder-8-icon';\r\n default:\r\n return 'folder-5-icon';\r\n }\r\n }\r\n\r\n function getFolderClassMobile(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return 'folder-blue-icon';\r\n case E.folderTypes.TopFolder:\r\n return 'folder-orange-icon';\r\n case E.folderTypes.DepartmentFolder:\r\n return 'folder-green-icon';\r\n case E.folderTypes.RegionalFolder:\r\n return 'folder-regional-icon';\r\n default:\r\n return 'folder-blue-icon';\r\n }\r\n }\r\n\r\n function getFolderIcon(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return paths.FolderIcon;\r\n case E.folderTypes.RegionalFolder:\r\n return paths.RegionalFolderIcon;\r\n case E.folderTypes.TopFolder:\r\n return paths.TopFolderIcon;\r\n case E.folderTypes.DepartmentFolder:\r\n return paths.DepartmentFolderIcon;\r\n default:\r\n return paths.FolderIcon;\r\n }\r\n };\r\n\r\n function convertToNodeType(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return E.nodeTypes.Folder;\r\n case E.folderTypes.TopFolder:\r\n return E.nodeTypes.TopFolder;\r\n case E.folderTypes.DepartmentFolder:\r\n return E.nodeTypes.DepartmentFolder;\r\n case E.folderTypes.RegionalFolder:\r\n return E.nodeTypes.RegionalFolder;\r\n }\r\n };\r\n\r\n function convertToFolderType(nodeType) {\r\n switch (nodeType.toString()) {\r\n case E.nodeTypes.Folder:\r\n return E.folderTypes.Folder;\r\n case E.nodeTypes.TopFolder:\r\n return E.folderTypes.TopFolder;\r\n case E.nodeTypes.DepartmentFolder:\r\n return E.folderTypes.DepartmentFolder;\r\n case E.nodeTypes.RegionalFolder:\r\n return E.folderTypes.RegionalFolder;\r\n }\r\n };\r\n\r\n function runErrorServicesAfterInit() {\r\n tabStateService.closeOpenedTabIfNoPrivilege(tabStateType.chapterTabState);\r\n };\r\n\r\n function updateFolderInfoStorage() {\r\n var showDocumentsInSubChapters = vm.objectShowDocumentsInSubChapters ? !!vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters : false;\r\n var arrFolderInfo = [];\r\n var folderExist = false;\r\n var folderInfo = localStorageService.getItem(folderInformationKeyStorage);\r\n if (folderInfo != null) {\r\n var folders = JSON.parse(folderInfo);\r\n if (folders.constructor === Array) {\r\n for (var i = 0; i < folders.length; i++) {\r\n var folder = folders[i];\r\n if (folder.folderId != vm.folderId) {\r\n continue;\r\n }\r\n folder.folderId = vm.folderId;\r\n folder.recursive = showDocumentsInSubChapters;\r\n folder.template = vm.folderInformation.viewType;\r\n folder.includeLevel1 = vm.showDocumentIncludeLevel1;\r\n folderExist = true;\r\n break;\r\n }\r\n arrFolderInfo = folders;\r\n }\r\n }\r\n if (!folderExist) {\r\n arrFolderInfo.push({\r\n folderId: vm.folderId,\r\n recursive: showDocumentsInSubChapters,\r\n template: vm.folderInformation.viewType,\r\n includeLevel1: vm.showDocumentIncludeLevel1\r\n });\r\n }\r\n\r\n localStorageService.setItem(folderInformationKeyStorage, JSON.stringify(arrFolderInfo));\r\n }\r\n\r\n function getFolderInfoStorage() {\r\n var folderInfo = localStorageService.getItem(folderInformationKeyStorage);\r\n var viewFolder = $location.search().viewFolder;\r\n\r\n if (folderInfo != null) {\r\n var folderInfoObject = JSON.parse(folderInfo);\r\n\r\n if (folderInfoObject.constructor === Array) {\r\n for (var i = 0; i < folderInfoObject.length; i++) {\r\n var folder = folderInfoObject[i];\r\n if (folder.folderId != vm.folderId) {\r\n continue;\r\n }\r\n vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters = folder.recursive;\r\n vm.folderInformation.viewType = viewFolder ? viewFolder : folder.template;\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n vm.showDocumentIncludeLevel1 = (folder.includeLevel1 != null && folder.includeLevel1 != undefined) ? folder.includeLevel1 : false;\r\n updateExportGroupByParam();\r\n break;\r\n }\r\n }\r\n } \r\n\r\n }\r\n\r\n function getAPage() {\r\n var data = [];\r\n var startIndex = vm.currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if (vm.currentRowIndex < vm.totalDocuments) {\r\n data.push(vm.groupDocuments[i]);\r\n vm.currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return data;\r\n };\r\n\r\n function nextPage() {\r\n if (vm.busy) return;\r\n\r\n if (vm.groupDocuments == null || vm.groupDocuments.length == 0) {\r\n if (vm.folderData != null && vm.folderData.documents != null && hasGetDocumentsGroupByTypes()) {\r\n getDocumentsGroupByTypes(vm.folderData.documents);\r\n }\r\n }\r\n\r\n vm.busy = true;\r\n if (infiniteScrollLoadsize == 0) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n } else {\r\n if (vm.infiniteGroups.length < vm.newTotalDocuments || (vm.scrolling && vm.infiniteGroups.length < vm.groupDocuments.length)) {\r\n vm.infiniteGroups = vm.infiniteGroups.concat(getAPage());\r\n }\r\n }\r\n\r\n vm.newTotalDocuments = vm.infiniteGroups.length;\r\n vm.busy = false;\r\n };\r\n\r\n function showAllGroups(group) {\r\n if (vm.infiniteGroups.length != vm.groupDocuments.length) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n vm.newTotalDocuments = vm.infiniteGroups.length;\r\n }\r\n group.isShow = true;\r\n }\r\n\r\n function showAllDocuments() {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n vm.currentRowIndex = vm.totalDocuments;\r\n broadcastService('showAllDocumentInGroup', {});\r\n };\r\n\r\n function searchInFolder() {\r\n vm.isSearchInFolder = true;\r\n var searchRequestParams = {\r\n keyword: vm.keyword,\r\n searchInContents: true,\r\n searchType: 3,\r\n folderId: vm.folderId,\r\n fromDate: null,\r\n toDate: null,\r\n hasExpired: false,\r\n registerId: null,\r\n registerItemId: null,\r\n\t\t\t\tregisterItemValueId: null,\r\n\t\t\t\tincludeVirtualDocuments: true\r\n };\r\n\r\n if (!vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n searchRequestParams.notRecursiveFolderId = true;\r\n }\r\n\r\n\r\n $location.search('keyword', vm.keyword || undefined);\r\n $location.search('showDocumentsInSubChapters', vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters || undefined);\r\n\r\n $http.get(handbookRequests.SearchRequest, { params: searchRequestParams })\r\n .then(function (response, status, headers, config) {\r\n if (response.data.documents != null) {\r\n updateAttachmentsForDocuments(response.data.documents.filter(x => !x.hidden));\r\n documentService.getAgreeFilesForDocuments(response.data.documents);\r\n vm.searchDocuments = response.data.documents.filter(x => !x.hidden);\r\n vm.totalHits = vm.searchDocuments.length;\r\n vm.totalFound = response.data.documents.filter(x => !x.hidden).length;\r\n tabStateService.adjustFolderContentIdentifierHeight();\r\n } else {\r\n vm.totalHits = 0;\r\n vm.totalFound = 0;\r\n }\r\n });\r\n if (vm.browserType == BrowserType.MOBILE) {\r\n getDocuments($stateParams.folderId);\r\n }\r\n };\r\n\r\n function backToFolderView() {\r\n vm.isSearchInFolder = false;\r\n adjustContentPosition();\r\n }\r\n\r\n function backToFolderMobileView() {\r\n vm.isSearchInFolder = false;\r\n vm.keyword = '';\r\n }\r\n\r\n function toTopGroup() {\r\n angular.element('#folder-content-identifier').scrollTop(0);\r\n };\r\n\r\n function buildExportFileName() {\r\n if (!vm.folderInformation.name) {\r\n return;\r\n }\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n vm.exportFileName = String.format(globalResources.Exporter.ChapterWithSubChaptersDocumentList, vm.folderInformation.name);\r\n } else {\r\n vm.exportFileName = String.format(globalResources.Exporter.ChapterDocumentList, vm.folderInformation.name);\r\n }\r\n }\r\n\r\n function updateExportGroupByParam() {\r\n if (vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n vm.exportParams.groupBy = E.exportDocumentGroupsByColumn.none;\r\n } else if (vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template) {\r\n vm.exportParams.groupBy = E.exportDocumentGroupsByColumn.documentType;\r\n } else {\r\n vm.exportParams.groupBy = E.exportDocumentGroupsByColumn.metatag;\r\n vm.exportParams.metadataGroupId = vm.folderInformation.viewType;\r\n vm.exportParams.includeLevel1 = vm.showDocumentIncludeLevel1;\r\n }\r\n }\r\n\r\n function nameFolderWithMetaTag(item) {\r\n if (item.documents.length) {\r\n return item.documents[0].folderName + ' - ' + item.templateName;\r\n }\r\n }\r\n\r\n function urlFolderWithMetaTag(item, index) {\r\n if (item.documents.length) {\r\n var urlName = item.documents[0].handbookId + '?viewFolder=' + vm.folderInformation.viewType + '#groupDocumentHeader-' + index;\r\n return window.location.origin + '/folder/' + urlName;\r\n } \r\n\r\n }\r\n\r\n function openAboutFolder() {\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/chapter/templates/aboutFolderModal.html',\r\n controller: 'AboutFolderModalController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n folderData: vm.folderInformation\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n function addOnlyFolderEmailSubscription() {\r\n if (!vm.folderInformation.hasEmailSubscription) {\r\n var requestUrl = handbookRequests.AddOnlyFolderToEmailSubscription + '/' + vm.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasOnlyFolderEmailSubscription = !vm.folderInformation.hasOnlyFolderEmailSubscription;\r\n });\r\n }\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n }\r\n\r\n function removeOnlyFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.RemoveOnlyFolderFromEmailSubscription + '/' + vm.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasOnlyFolderEmailSubscription = !vm.folderInformation.hasOnlyFolderEmailSubscription;\r\n });\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n }\r\n\r\n function addRecursiveFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.AddEmailSubscription + '/' + vm.folderId;\r\n\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasEmailSubscription = !vm.folderInformation.hasEmailSubscription;\r\n vm.folderInformation.hasOnlyFolderEmailSubscription = false;\r\n vm.folderInformation.hasEmailSubscription = true;\r\n });\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n };\r\n\r\n function removeRecursiveFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.RemoveEmailSubscription + '/' + vm.folderId;\r\n\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasEmailSubscription = !vm.folderInformation.hasEmailSubscription;\r\n vm.folderInformation.hasEmailSubscription = false;\r\n });\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n }\r\n\r\n function openWhatsNewFolder() {\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/chapter/templates/whatsNewFolderModal.html',\r\n controller: 'WhatsNewFolderModalController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n hasViewAccess: vm.hasViewAccess,\r\n showWhatsNewDocumentsInSubChapters: vm.showWhatsNewDocumentsInSubChapters,\r\n selectedOption: vm.selectedOption,\r\n hasViewContentAccess: vm.hasViewContentAccess,\r\n WhatsNewDocuments: vm.WhatsNewDocuments,\r\n changeSelectedOptionInMobileView: vm.changeSelectedOptionInMobileView,\r\n folderData: vm.folderInformation,\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n function collapsed(index) {\r\n vm.infiniteGroups[index].isToggled = !vm.infiniteGroups[index].isToggled;\r\n vm.infiniteGroups[index].isShow = !vm.infiniteGroups[index].isToggled\r\n angular.element('#groupDocument-' + index).toggleClass('collapsed');\r\n angular.element('#groupDocument-' + index + '_icon').toggleClass('collapsed-arrow').toggleClass('collapse-arrow');\r\n }\r\n\r\n function autoScrollDownExpandBottom(id) {\r\n if (vm.infiniteGroups[id].isShow) {\r\n let groupDocument = $(\"#groupDocument-\" + id);\r\n let e = document.getElementById('groupDocumentHeader-' + id);\r\n let positionBottomFolderContentIdentifier = $(\"#folder-content-identifier\").outerHeight() + $(\"#folder-content-identifier\").position().top;\r\n\r\n if ((groupDocument.position().top + groupDocument.outerHeight()) > positionBottomFolderContentIdentifier) {\r\n setTimeout(() => {\r\n e.scrollIntoView({\r\n block: 'start',\r\n behavior: 'smooth',\r\n inline: 'start'\r\n });\r\n }, 100);\r\n }\r\n }\r\n }\r\n\r\n function groupByDocument(viewType) {\r\n if (viewType != documentViewTypes.DocumentViewTypes_Standard && viewType != documentViewTypes.DocumentViewTypes_Template) {\r\n this.isStandardView = false;\r\n this.isGroupByMetaDataView = true;\r\n } else if (viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n this.isStandardView = true;\r\n this.isGroupByMetaDataView = false;\r\n } \r\n else if (viewType == documentViewTypes.DocumentViewTypes_Template || viewType == documentViewTypes.DocumentViewTypes_Internet) {\r\n this.isStandardView = false;\r\n this.isGroupByMetaDataView = false;\r\n }\r\n vm.folderInformation.viewType = viewType;\r\n changeDocumentView();\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module(\"handbookApp\")\r\n .controller(controllers.searchController, searchController);\r\n\r\n searchController.$inject = ['$scope', '$http', '$state', '$stateParams', '$timeout', '$document',\r\n 'favoriteService', 'folderService', 'tabStateService', 'resizeService', 'stringValidationService',\r\n 'metaDataService', 'documentService', '$location', '$q', 'configService', 'broadcastService', '$filter'];\r\n\r\n function searchController($scope, $http, $state, $stateParams, $timeout, $document,\r\n favoriteService, folderService, tabStateService, resizeService, stringValidationService,\r\n metaDataService, documentService, $location, $q, configService, broadcastService, $filter) {\r\n var vm = this;\r\n vm.handbookRequests = handbookRequests;\r\n $scope.translation = globalResources;\r\n vm.commonGridSettingKey = gridSettingKeys.commonVisibilitySettings;\r\n vm.enabledMetadataSearch = true;\r\n vm.enabledAdvanceSearch = true;\r\n vm.isMetadataSearch = configService.getBool(HandbookConfiguration.MetadataEnabled) && vm.enabledMetadataSearch;\r\n vm.doSearchDataMining = configService.getBool(HandbookConfiguration.DoSearchDataMining);\r\n vm.enabledCompendiaSearch = configService.getBool(HandbookConfiguration.CompendiaSearch);\r\n vm.searchInFolders = configService.getBool(HandbookConfiguration.SearchInFolders);\r\n var showCompendiaSearch = vm.enabledCompendiaSearch;\r\n var showFolderSearch = vm.searchInFolders;\r\n\r\n vm.searchLogLevel = parseInt(HandbookConfiguration.SearchLogLevel);\r\n $scope.searchTypes = [\r\n { id: 1, name: $scope.translation.TitleSearch },\r\n { id: 2, name: $scope.translation.ContentSearch }\r\n ];\r\n if (vm.enabledAdvanceSearch) {\r\n $scope.searchTypes.push({ id: 3, name: $scope.translation.AdvanceSearch });\r\n }\r\n if (vm.isMetadataSearch) {\r\n $scope.searchTypes.push({ id: 4, name: $scope.translation.MetadataSearch });\r\n }\r\n\r\n $scope.keywords = {};\r\n vm.today = new Date();\r\n\r\n vm.keyword = $stateParams.keyword;\r\n vm.searchInContents = $stateParams.searchInContents == true || $stateParams.searchInContents == 'true';\r\n\r\n vm.folderId = $stateParams.folderId;\r\n vm.fromDate = $stateParams.fromDate != null ? new Date(parseInt($stateParams.fromDate)) : null;\r\n vm.fromDateBK = angular.copy(vm.fromDate);\r\n vm.toDate = $stateParams.toDate != null ? new Date(parseInt($stateParams.toDate)) : null;\r\n vm.toDateBK = angular.copy(vm.toDate);\r\n vm.fromDateDisplayed = $stateParams.fromDate != null ? new Date(parseInt($stateParams.fromDate)) : null;\r\n vm.toDateDisplayed = $stateParams.toDate != null ? new Date(parseInt($stateParams.toDate)) : null;\r\n vm.registerItemId = $stateParams.registerItemId;\r\n vm.registerItemValueId = $stateParams.registerItemValueId;\r\n vm.type = $stateParams.type;\r\n vm.hasExpired = $stateParams.hasExpired == 1;\r\n vm.version = $stateParams.version != null ? parseInt($stateParams.version) : null;\r\n vm.documentType = $stateParams.documentType != null ? parseInt($stateParams.documentType) : null;\r\n vm.advancedSearchLocationType = vm.folderId == null ? 1 : (isNaN(vm.folderId) ? 2 : 1);\r\n\r\n vm.documents = {};\r\n vm.folders = {};\r\n vm.compendiaDocuments = [];\r\n vm.totalHits = 0;\r\n vm.totalFound = 0;\r\n vm.showLoadMore = false;\r\n vm.loadMoreClickedCounter = 0;\r\n vm.searchFilter = '';\r\n vm.folderName = '';\r\n vm.searchType = E.searchType.Maximum;\r\n vm.searchFilters = '';\r\n vm.showMoreLink = globalResources.Showmore;\r\n\r\n vm.selectedItem = {\r\n selectedMetadata: null,\r\n selectedTag: null\r\n };\r\n\r\n vm.foldersGridSetting = [];\r\n\r\n vm.initMetadata = {\r\n metadatas: [],\r\n tags: []\r\n };\r\n\r\n vm.startMetadata = 0;\r\n vm.startTag = 0;\r\n\r\n vm.onRowClick = onRowClick;\r\n vm.loadByMaxSearchSize = loadByMaxSearchSize;\r\n vm.showLoadMoreLink = showLoadMoreLink;\r\n $scope.selectNodeHead = selectNodeHead;\r\n $scope.selectNodeLabel = selectNodeLabel;\r\n $scope.clearSelectedNode = clearSelectedNode;\r\n $scope.clearFromDate = clearFromDate;\r\n $scope.clearToDate = clearToDate;\r\n $scope.changeSearchType = changeSearchType;\r\n $scope.setSearchLocationType = setSearchLocationType;\r\n $scope.search = search;\r\n $scope.isProcessNode = isProcessNode;\r\n vm.openCompendiaDocument = openCompendiaDocument;\r\n vm.defaultExportFileName = globalResources.SearchResult;\r\n vm.openDocument = openDocument;\r\n vm.folderClick = folderClick;\r\n vm.onVARClick = onVARClick;\r\n\r\n vm.isClickDocument = false;\r\n\r\n vm.areaGridSetting = [];\r\n vm.processes = {};\r\n vm.processAreas = {};\r\n vm.processesInterconnected = {};\r\n vm.areasRecords = 0;\r\n vm.processRecords = 0;\r\n vm.goToProcess = goToProcess;\r\n vm.goToProcessArea = goToProcessArea;\r\n vm.goToProcessInterconnected = goToProcessInterconnected;\r\n vm.enableProcess = configService.getBool(HandbookConfiguration.EnableProcess);\r\n vm.enableVAR = configService.getBool(HandbookConfiguration.EnableVAR);\r\n vm.enableInterconnectedProcess = configService.getBool(HandbookConfiguration.InterconnectedProcess);\r\n\r\n vm.maxHeight = 635;\r\n vm.getGetRegisterItemByAreaOrFolder = getGetRegisterItemByAreaOrFolder;\r\n vm.metaDataAll = [];\r\n vm.VAROffset = 0;\r\n\r\n vm.VARsGridSetting = [\r\n { id: 'title', name: window.resources.L.Common.title, width: 33, coldefault: true },\r\n { id: 'status', name: window.resources.L.Common.changeType, width: 33, coldefault: true },\r\n { id: 'updatedDate', name: window.resources.L.Common.lastUpdated, width: 33, coldefault: true }\r\n ];\r\n\r\n vm.varRecords = [];\r\n\r\n vm.exportParams = {};\r\n vm.exportRequestUrl = '';\r\n vm.exportDocumentParams = {};\r\n vm.searchProcessParams = {};\r\n vm.exportProcessParams = {};\r\n vm.exportProcessInterconnectedParams = {};\r\n vm.tabNameToExport = { processTab: 'processTab', interconnectedTab: 'interconnectedTab', documentTab: 'documentTab', areaTab: 'areaTab', folderTab: 'folderTab' };\r\n vm.handleChangeTabForExportList = handleChangeTabForExportList;\r\n vm.enableExportButton = false;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n //check and resize the view\r\n if (vm.isMetadataSearch) {\r\n getRegisterItems();\r\n }\r\n if (vm.searchInFolders) {\r\n buildFoldersGridSetting();\r\n }\r\n buildAreaGridSetting();\r\n loadFolderTree();\r\n\r\n if (vm.enableProcess) {\r\n loadAreaTree();\r\n }\r\n\r\n resizeService.resizeView();\r\n\r\n getGridSetting(gridSettingKeys.commonVisibilitySettings);\r\n getColumnsDefinition(gridSettingKeys.commonVisibilitySettings);\r\n vm.getFolderInformation = getFolderInformation();\r\n\r\n vm.commonColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n //TODO Why do we use these 2 lines?\r\n /*$scope.commonGridColumnDefinition = commonColumnsDefinition;\r\n $scope.optionalColumns = optionalColumnsDenifinition;*/\r\n\r\n generateExportParams();\r\n\r\n if (vm.enabledCompendiaSearch) { \r\n var mandatatoryRequests = [\r\n searchCompendiaDocuments(vm.keyword),\r\n getSearchResult(E.searchType.Maximum)\r\n ];\r\n\r\n $q.all(mandatatoryRequests).then(function (response) {\r\n $timeout(function () {\r\n handleNavigate();\r\n }, 500);\r\n getExportParams();\r\n });\r\n } else {\r\n var mandatatoryRequests = [getSearchResult(E.searchType.Maximum, true)];\r\n $q.all(mandatatoryRequests).then(function (response) {\r\n getExportParams();\r\n });\r\n }\r\n\r\n activeButtonGroup(parseInt(vm.type), true);\r\n activeLocationTypeButtonGroup(vm.advancedSearchLocationType);\r\n \r\n if (vm.folderId) {\r\n getGetRegisterItemByAreaOrFolder(vm.folderId);\r\n }\r\n watchVARGridScroll();\r\n };\r\n\r\n $scope.$on('$stateChangeStart',\r\n function (event, toState, toParams, fromState, fromParams, options) {\r\n if (vm.isClickDocument\r\n || vm.searchLogLevel != SEARCH_LOG_LEVEL.LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION\r\n || fromState.name != \"searchDocuments\" || vm.documents.length == 0 || vm.documents.length == undefined\r\n || vm.documents == null) {\r\n vm.isClickDocument = false;\r\n return;\r\n }\r\n else {\r\n insertLogWords(-2, user.userId, vm.keyword, $scope.selectedSearchType.id);\r\n }\r\n vm.isClickDocument = false;\r\n\r\n });\r\n\r\n function folderClick(id) {\r\n favoriteService.setFavoriteNodeState({ isFavorited: false });\r\n $state.go(handbookActions.FolderAction, { folderId: id });\r\n };\r\n\r\n function goToProcess(processNumber) {\r\n $state.go('process-detail', { processNumber: processNumber });\r\n }\r\n\r\n function goToProcessArea(areaId) {\r\n $state.go('process-area-detail', { areaId: areaId });\r\n }\r\n\r\n function goToProcessInterconnected(processInterconnectedNumber) {\r\n $state.go('process-interconnected', { processNumber: processInterconnectedNumber });\r\n }\r\n\r\n function handleNavigate() {\r\n var url = angular.copy($location.$$url);\r\n if (!url)\r\n return;\r\n url = url.toLowerCase();\r\n\r\n if (url.indexOf('tab?') == -1) {\r\n return;\r\n }\r\n\r\n if (vm.processes.length > 0 && url.indexOf('searchProcesses') > -1) {\r\n triggerTabClicked('#seachProcesses', false);\r\n }\r\n\r\n if (vm.documents.length > 0 && url.indexOf('searchDocuments') > -1) {\r\n triggerTabClicked('#searchDocuments', false);\r\n }\r\n\r\n if (vm.processAreas.length > 0 && url.indexOf('searchProcessAreas') > -1) {\r\n triggerTabClicked('#searchProcessAreas', false);\r\n }\r\n\r\n if (vm.folders.length > 0 && url.indexOf('searchFolders') > -1) {\r\n triggerTabClicked('#searchFolders', false);\r\n }\r\n\r\n if (vm.processesInterconnected.length > 0 && url.indexOf('seachProcessesInterconnected') > -1) {\r\n triggerTabClicked('#seachProcessesInterconnected', false);\r\n }\r\n\r\n if (vm.varRecords.length > 0 && url.indexOf('searchVAR') > -1) {\r\n triggerTabClicked('#searchVAR', false);\r\n }\r\n }\r\n\r\n function triggerTabClicked(tabId, clickItSelf) {\r\n setTimeout(function () {\r\n var childTab = $(tabId + ' a');\r\n if (childTab) {\r\n $(childTab).click();\r\n if (clickItSelf && $(tabId)) {\r\n $(tabId).click();\r\n }\r\n }\r\n });\r\n }\r\n\r\n function buildFoldersGridSetting() {\r\n vm.foldersGridSetting.push({ id: 'name', name: globalResources.Folder, width: 50, coldefault: true, icon: 'icon' });\r\n vm.foldersGridSetting.push({ id: 'location', name: globalResources.CommonGridColumns.Location, width: 50, coldefault: true });\r\n vm.columnNotRemove = 'name';\r\n }\r\n\r\n function buildAreaGridSetting() {\r\n vm.areaGridSetting.push({ id: 'name', name: globalResources.ProcessArea, width: 50, coldefault: true, icon: 'icon' });\r\n vm.areaGridSetting.push({ id: 'location', name: globalResources.CommonGridColumns.Location, width: 50, coldefault: true });\r\n vm.columnNotRemove = 'name';\r\n }\r\n\r\n function openDocument(id) {\r\n vm.isClickDocument = true;\r\n insertLogWords(id, user.userId, vm.keyword, $scope.selectedSearchType.id);\r\n }\r\n\r\n $scope.$on(broadcastType.gridSettingTarget, function (e, target, gridSettingKey) {\r\n if (gridSettingKey == gridSettingKeys.commonVisibilitySettings) {\r\n vm.exportDocumentParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n vm.exportProcessParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Process);\r\n vm.exportProcessInterconnectedParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.InterconnectedProcess);\r\n }\r\n });\r\n\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = $('.folder-search')\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n $scope.showFolderTree = false;\r\n });\r\n\r\n $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {\r\n adjustContentPosition();\r\n });\r\n\r\n function adjustContentPosition() {\r\n var tabState = tabStateService.getState(tabStateType.searchTabState);\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(tabState, tabStateType.searchTabState);\r\n }, 0, false);\r\n }\r\n\r\n function getRegisterItems() {\r\n if (vm.isMetadataSearch) {\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n $http.get('/api/qmsMetaData/GetRegisterAndRegisterItemsForModule', { params: { application: 200 } })\r\n .then(function (response) {\r\n if (response && response.data) {\r\n if (!vm.folderId) {\r\n vm.initMetadata.metadatas = response.data;\r\n }\r\n vm.metaDataAll = response.data;\r\n }\r\n })\r\n }\r\n else {\r\n metaDataService.getRegisterAndRegisterItems().then(function (data) {\r\n if (data) {\r\n if (!vm.folderId) {\r\n vm.initMetadata.metadatas = data;\r\n }\r\n vm.metaDataAll = data;\r\n }\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n $scope.$watch('vm.selectedItem.selectedMetadata', function (selectedMetadata) {\r\n if (selectedMetadata) {\r\n vm.registerItemId = selectedMetadata.registerItemId;\r\n vm.selectedItem.selectedMetadata = vm.initMetadata.metadatas.find((x) => x.registerItemId == vm.registerItemId);\r\n }\r\n if (vm.registerItemId) {\r\n vm.selectedItem.selectedMetadata = vm.initMetadata.metadatas.find((x) => x.registerItemId == vm.registerItemId);\r\n }\r\n \r\n if (vm.isMetadataSearch) {\r\n if (vm.startTag != 1) {\r\n vm.selectedItem.selectedTag = null;\r\n if (selectedMetadata != null && selectedMetadata != undefined) {\r\n getMetadataTags(selectedMetadata.registerItemId);\r\n }\r\n } else {\r\n vm.startTag = 0;\r\n }\r\n }\r\n });\r\n\r\n function getMetadataTags(registerItemId) {\r\n if (vm.isMetadataSearch) {\r\n metaDataService.getMetadataTags(registerItemId).then(function (data) {\r\n if (data) {\r\n vm.initMetadata.tags = data;\r\n }\r\n });\r\n }\r\n };\r\n\r\n function isProcessNode(node) {\r\n return isNaN(node.id);\r\n }\r\n\r\n function selectNodeHead(node) {\r\n if (!node.isLoaded && vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder)) {\r\n $http.get(handbookRequests.GetSubfoldersRequest, { params: { 'folderId': node.id } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n else if (!node.isLoaded && vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n $http.get('/api/ProcessAreas/GetContent', { params: { AreaId: node.id, ShowProcessesInTree: false, IsOnlyApproved: false } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data.areas;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n };\r\n\r\n function selectNodeLabel(node) {\r\n getGetRegisterItemByAreaOrFolder(node.id);\r\n $scope.selectedNode = node;\r\n $scope.showFolderTree = false;\r\n };\r\n\r\n function getGetRegisterItemByAreaOrFolder(id) {\r\n if (!id || !vm.isMetadataSearch || (vm.advancedSearchLocationType !== parseInt(E.advancedSearchLocationType.folder) && vm.advancedSearchLocationType !== parseInt(E.advancedSearchLocationType.processArea))) {\r\n return;\r\n }\r\n if (vm.advancedSearchLocationType == E.advancedSearchLocationType.folder) {\r\n getRegisterItemsByModule(id);\r\n }\r\n else {\r\n getRegisterItemOfArea(id);\r\n };\r\n \r\n }\r\n\r\n function getRegisterItemsByModule(id) {\r\n $http.get('/api/qmsMetaData/GetRegisterItemsByModule', { params: { folderId: id, application: 136 } })\r\n .then(function (response) {\r\n if (response && response.data) {\r\n vm.initMetadata.metadatas = response.data;\r\n vm.initMetadata.metadatas.forEach((item) => {\r\n var metaDataItem = vm.metaDataAll.find((x) => x.registerItemId == item.registerItemId);\r\n item.name = metaDataItem.name;\r\n });\r\n\r\n }\r\n })\r\n }\r\n\r\n function getRegisterItemOfArea(id) {\r\n $http.get('/api/qmsMetaData/GetRegisterItemOfArea', { params: { areaId: id } })\r\n .then(function (response) {\r\n if (response && response.data) {\r\n vm.initMetadata.metadatas = response.data;\r\n vm.initMetadata.metadatas.forEach((item) => {\r\n var metaDataItem = vm.metaDataAll.find((x) => x.registerItemId == item.registerItemId);\r\n item.name = metaDataItem.name;\r\n });\r\n }\r\n })\r\n }\r\n\r\n function clearSelectedNode() {\r\n $scope.selectedNode = null;\r\n vm.initMetadata.metadatas = vm.metaDataAll;\r\n if (vm.registerItemId) {\r\n vm.selectedItem.selectedMetadata = vm.initMetadata.metadatas.find((x) => x.registerItemId == vm.registerItemId);\r\n };\r\n //getRegisterItems();\r\n }\r\n\r\n function clearFromDate() {\r\n $scope.fromDate = null;\r\n }\r\n\r\n function clearToDate() {\r\n $scope.toDate = null;\r\n }\r\n\r\n function activeButtonGroup(type, notCalculateHeigthGrid) {\r\n angular.element('#search-title-id').addClass('btn-disabled');\r\n angular.element('#search-content-id').addClass('btn-disabled');\r\n angular.element('#search-advance-id').addClass('btn-disabled');\r\n angular.element('#search-metadata-id').addClass('btn-disabled');\r\n if (type == 1) {\r\n angular.element('#search-title-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[0];\r\n } else if (type == 2) {\r\n angular.element('#search-content-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[1];\r\n } else if (type == 3) {\r\n angular.element('#search-advance-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[2];\r\n } else if (type == 4) {\r\n angular.element('#search-metadata-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[3];\r\n }\r\n\r\n var showMoreItem = (type == 3 || type == 4);\r\n if (!notCalculateHeigthGrid) {\r\n setHeightForGrid();\r\n }\r\n }\r\n\r\n function changeSearchType(type) {\r\n if (type == parseInt(E.searchTypeHandbook.titleSearch)) {\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n $scope.searchPlaceHolder = $scope.translation.TitleSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[0];\r\n } else if (type == parseInt(E.searchTypeHandbook.contentSearch)) {\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n $scope.searchPlaceHolder = $scope.translation.ContentSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[1];\r\n }\r\n else if (type == parseInt(E.searchTypeHandbook.advancedSearch) && vm.enabledAdvanceSearch) {\r\n $scope.isAdvanceSearch = true;\r\n $scope.isMetadataSearch = false;\r\n $scope.searchPlaceHolder = $scope.translation.AdvanceSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[2];\r\n activeLocationTypeButtonGroup(vm.advancedSearchLocationType);\r\n } else if (type == parseInt(E.searchTypeHandbook.metadataSearch) && vm.enabledMetadataSearch) {\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = true;\r\n $scope.searchPlaceHolder = $scope.translation.MetadataSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[3];\r\n activeLocationTypeButtonGroup(vm.advancedSearchLocationType);\r\n getGetRegisterItemByAreaOrFolder(vm.folderId);\r\n }\r\n setHeightForGrid();\r\n\r\n $timeout(function () {\r\n activeButtonGroup(type);\r\n }, 500);\r\n }\r\n\r\n function activeLocationTypeButtonGroup(type) {\r\n angular.element('#search-folder-id').addClass('label-btn-disabled');\r\n angular.element('#search-process-area-id').addClass('label-btn-disabled');\r\n if (type == 1) {\r\n angular.element('#search-folder-id').removeClass('label-btn-disabled');\r\n } else if (type == 2) {\r\n angular.element('#search-process-area-id').removeClass('label-btn-disabled');\r\n }\r\n }\r\n\r\n function setSearchLocationType(type) {\r\n vm.advancedSearchLocationType = type;\r\n clearSelectedNode();\r\n if (vm.isMetadataSearch) {\r\n getRegisterItems();\r\n }\r\n activeLocationTypeButtonGroup(type);\r\n }\r\n\r\n function search() {\r\n if ($scope.selectedSearchType.id == E.searchTypeHandbook.titleSearch) {\r\n searchTitle();\r\n } else if ($scope.selectedSearchType.id == E.searchTypeHandbook.contentSearch) {\r\n searchContent();\r\n } else if ($scope.selectedSearchType.id == E.searchTypeHandbook.advancedSearch) {\r\n searchAdvance();\r\n } else if ($scope.selectedSearchType.id == E.searchTypeHandbook.metadataSearch) {\r\n searchMetadata();\r\n }\r\n\r\n var searchCondition = ((vm.keyword != null && vm.keyword != \"\")\r\n || vm.folderId != ''\r\n || vm.fromDate != null\r\n || vm.toDate != null\r\n || (vm.registerItemId != null && vm.registerItemId != undefined && vm.registerItemId != 0))\r\n && stringValidationService.notContainSpecialCharacter(vm.keyword);\r\n if (!searchCondition) {\r\n return;\r\n }\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: vm.keyword,\r\n searchInContents: vm.searchInContents ? 1 : 0,\r\n folderId: vm.folderId,\r\n fromDate: vm.fromDate,\r\n toDate: vm.toDate,\r\n hasExpired: vm.hasExpired ? 1 : 0,\r\n registerItemId: vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n type: $scope.selectedSearchType.id\r\n });\r\n }\r\n\r\n function openCompendiaDocument(link) {\r\n window.open(link);\r\n }\r\n\r\n function searchTitle() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = false;\r\n vm.folderId = null;\r\n vm.fromDate = null;\r\n vm.toDate = null;\r\n vm.hasExpired = false;\r\n vm.registerItemId = null;\r\n vm.registerItemValueId = null;\r\n }\r\n\r\n function searchContent() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = true;\r\n vm.folderId = null;\r\n vm.fromDate = null;\r\n vm.toDate = null;\r\n vm.hasExpired = false;\r\n vm.registerItemId = null;\r\n vm.registerItemValueId = null;\r\n }\r\n\r\n function searchAdvance() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = true;\r\n vm.folderId = $scope.selectedNode != null ? $scope.selectedNode.id : null;\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n\r\n vm.fromDate = ($scope.fromDate != null && ($scope.toDate == null || $scope.fromDate <= $scope.toDate)) ? $scope.fromDate.getTime() : null;\r\n vm.toDate = ($scope.toDate != null && $scope.toDate <= vm.today) ? $scope.toDate.getTime() : null;\r\n vm.hasExpired = $scope.hasExpired;\r\n vm.registerItemId = null;\r\n vm.registerItemValueId = null;\r\n }\r\n\r\n function searchMetadata() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = true;\r\n vm.folderId = $scope.selectedNode != null ? $scope.selectedNode.id : null;\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n vm.fromDate = null;\r\n vm.toDate = null;\r\n vm.hasExpired = false;\r\n vm.registerItemId = vm.selectedItem.selectedMetadata != null ? vm.selectedItem.selectedMetadata.registerItemId : null;\r\n vm.registerItemValueId = vm.selectedItem.selectedTag != null ? vm.selectedItem.selectedTag.registerItemValueId : null;\r\n }\r\n\r\n function getSearchResult(searchType, reCalculateHeigth) {\r\n const quickSearchKeyword = vm.keyword ? vm.keyword.trim() : '';\r\n if (!quickSearchKeyword && (vm.type != parseInt(E.searchTypeHandbook.advancedSearch) && vm.type != parseInt(E.searchTypeHandbook.metadataSearch))) {\r\n return;\r\n }\r\n\r\n if (vm.enableProcess) {\r\n triggerSearchProcessModule(searchType);\r\n }\r\n\r\n if (vm.enableVAR) {\r\n triggerSearchVAR(quickSearchKeyword, vm.VAROffset);\r\n }\r\n\r\n var searchCondition = ((vm.keyword != null && vm.keyword != \"\")\r\n || vm.folderId != ''\r\n || vm.fromDate != null\r\n || vm.toDate != null\r\n || (vm.registerItemId != null && vm.registerItemId != undefined && vm.registerItemId != 0))\r\n && stringValidationService.notContainSpecialCharacter(vm.keyword);\r\n\r\n if (!searchCondition) {\r\n vm.searchConditionTrue = false;\r\n return;\r\n }\r\n\r\n vm.searchConditionTrue = true;\r\n\r\n vm.totalHits = specialCharacter.questionMark;\r\n vm.totalFound = specialCharacter.questionMark;\r\n\r\n if (vm.fromDate != null && typeof vm.fromDate != 'string') {\r\n vm.fromDate = vm.fromDate.toLocaleDateString() + ' GMT';\r\n }\r\n if (vm.toDate != null && typeof vm.toDate != 'string') {\r\n vm.toDate = vm.toDate.toLocaleDateString() + ' GMT';\r\n }\r\n if (vm.registerItemId) {\r\n vm.searchInContents = true;\r\n }\r\n\r\n var searchRequestParams = {\r\n keyword: vm.keyword,\r\n searchInContents: vm.searchInContents,\r\n searchType: searchType,\r\n folderId: vm.folderId,\r\n fromDate: vm.fromDate,\r\n toDate: vm.toDate,\r\n hasExpired: vm.hasExpired,\r\n registerItemId: vm.registerItemValueId != null ? null : vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n version: vm.version,\r\n documentType: vm.documentType,\r\n searchFilters: vm.searchParams,\r\n showLoading: true,\r\n };\r\n\r\n vm.searchType = searchType;\r\n\r\n tabStateService.setCurrentStateType(tabStateType.searchTabState);\r\n\r\n if (isGuid(vm.folderId)) {\r\n return;\r\n }\r\n\r\n return $http.get(handbookRequests.SearchRequest, { params: searchRequestParams })\r\n .then(function (response, status, headers, config) {\r\n if (response.data.documents != null && (response.data.documents.length > 0)) {\r\n updateAttachmentsForDocuments(response.data.documents);\r\n documentService.getAgreeFilesForDocuments(response.data.documents);\r\n vm.documents = response.data.documents.filter(x => !x.hidden);\r\n vm.totalHits = vm.documents.length;\r\n vm.totalFound = response.data.totalCount;\r\n var showMoreItem = (vm.type == parseInt(E.searchTypeHandbook.contentSearch) || vm.type == parseInt(E.searchTypeHandbook.metadataSearch));\r\n } else {\r\n vm.totalHits = 0;\r\n vm.totalFound = 0;\r\n if (vm.searchLogLevel == SEARCH_LOG_LEVEL.LOG_DOCUMENT_SELECTED_AND_0_HIT\r\n || vm.searchLogLevel == SEARCH_LOG_LEVEL.LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION) {\r\n insertLogWords(-1, user.userId, vm.keyword, $scope.selectedSearchType.id);\r\n }\r\n }\r\n if (response.data.folders != null && response.data.folders.length > 0 && (vm.type != parseInt(E.searchTypeHandbook.advancedSearch) && vm.type != parseInt(E.searchTypeHandbook.metadataSearch))) {\r\n vm.folders = response.data.folders.filter(x => !x.hidden);\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n vm.totalFolderHits = vm.folders.length;\r\n }\r\n showFolderSearch = (showFolderSearch && vm.folders.length > 0 || vm.processAreas.length > 0);\r\n if (reCalculateHeigth) {\r\n $timeout(function () {\r\n setHeightForGrid();\r\n }, 200);\r\n }\r\n });\r\n }\r\n\r\n function triggerSearchProcessModule(searchType) {\r\n if (vm.type != parseInt(E.searchTypeHandbook.advancedSearch) && vm.type != parseInt(E.searchTypeHandbook.metadataSearch)) {\r\n getProcessAreaSearchResult(searchType);\r\n getProcessSearchResult(searchType);\r\n if (vm.enableInterconnectedProcess) {\r\n getProcessInterconnectedSearchResult(searchType);\r\n }\r\n return;\r\n }\r\n\r\n if (vm.folderId == null || isNaN(vm.folderId)) {\r\n advancedSearchProcess(vm.keyword, searchType)\r\n if (vm.enableInterconnectedProcess) {\r\n advancedSearchProcessInterconnected(vm.keyword, searchType);\r\n }\r\n\r\n return;\r\n }\r\n }\r\n\r\n function advancedSearchProcess(keyword, searchType) {\r\n let searchParams = generateSearchProcessAdvanceParams(keyword, searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcessesAdvance, { params: searchParams })\r\n .success(function (response) {\r\n if (response != null && response.length) {\r\n updateAttachmentsForProcesses(response);\r\n vm.processes = response;\r\n vm.processes = vm.processes.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n vm.processRecords = vm.processes.length;\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n });\r\n }\r\n\r\n function advancedSearchProcessInterconnected(keyword, searchType) {\r\n let searchParams = generateSearchProcessAdvanceParams(keyword, searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcessInterconnectedAdvance, { params: searchParams })\r\n .success(function (response) {\r\n if (response != null && response.length) {\r\n updateAttachmentsForProcessesInterconnected(response);\r\n vm.processesInterconnected = response;\r\n vm.processesInterconnected = vm.processesInterconnected.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n });\r\n }\r\n\r\n function getProcessAreaSearchResult(searchType) {\r\n var processRequestParams = {\r\n keyword: vm.keyword ? vm.keyword : '',\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n\r\n return $http.get(handbookRequests.SearchProcessAreas, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processAreas = response.data;\r\n angular.forEach(vm.processAreas, function (node) {\r\n node.icon = 'fa fa-folder areas-color';\r\n });\r\n vm.areasRecords = vm.processAreas.length;\r\n }\r\n });\r\n }\r\n\r\n function getProcessSearchResult(searchType) {\r\n var processRequestParams = generateSearchProcessParams(searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcesses, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n updateAttachmentsForProcesses(response.data);\r\n vm.processes = response.data;\r\n vm.processes = vm.processes.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n vm.processRecords = vm.processes.length;\r\n }\r\n });\r\n }\r\n\r\n function getProcessInterconnectedSearchResult(searchType) {\r\n var processRequestParams = generateSearchProcessParams(searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcessInterconnected, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n updateAttachmentsForProcessesInterconnected(response.data);\r\n vm.processesInterconnected = response.data;\r\n vm.processesInterconnected = vm.processesInterconnected.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n }\r\n });\r\n }\r\n\r\n function getFolderClass(nodeType) {\r\n switch (nodeType.toString()) {\r\n case E.nodeTypes.Folder:\r\n return 'folder-5-icon';\r\n case E.nodeTypes.TopFolder:\r\n return 'folder-6-icon';\r\n case E.nodeTypes.DepartmentFolder:\r\n return 'folder-7-icon';\r\n case E.nodeTypes.RegionalFolder:\r\n return 'folder-8-icon';\r\n default:\r\n return 'folder-5-icon';\r\n }\r\n };\r\n\r\n function searchCompendiaDocuments(keyword) {\r\n var searchUrl = null;\r\n if (vm.type == parseInt(E.searchTypeHandbook.titleSearch)) {\r\n searchUrl = handbookRequests.CompendiaDocument_TitleSearch;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.contentSearch)) {\r\n searchUrl = handbookRequests.CompendiaDocument_ContentSearch;\r\n }\r\n\r\n if (searchUrl == null) {\r\n vm.compendiaDocuments = [];\r\n return;\r\n }\r\n\r\n return $http.get(searchUrl, { params: { keyword: keyword, showLoading: true } })\r\n .success(function (data) {\r\n vm.compendiaDocuments = data;\r\n showCompendiaSearch = (showCompendiaSearch && vm.compendiaDocuments.length > 0);\r\n });\r\n }\r\n\r\n function getFolderInformation() {\r\n if (vm.folderId != undefined && vm.folderId != 0) {\r\n if (!isNaN(vm.folderId)) {\r\n var folder = folderService.getFolder();\r\n if (folder == undefined) {\r\n folderService.getFolderById(vm.folderId).then(function (response) {\r\n vm.folderName = response.data.name;\r\n $scope.selectedNode = response.data;\r\n });\r\n }\r\n else {\r\n vm.folderName = folder.name;\r\n $scope.selectedNode = folder;\r\n }\r\n }\r\n else {\r\n $http.get('/api/ProcessAreas/GetContent', { params: { AreaId: vm.folderId, ShowProcessesInTree: false, IsOnlyApproved: false } })\r\n .success(function (data, status, headers, config) {\r\n vm.folderName = data.areaInformation.name;\r\n $scope.selectedNode = data.areaInformation;\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n function getSearchFilter() {\r\n var filter = '';\r\n if (vm.keyword != null && vm.keyword != '') {\r\n filter = vm.keyword;\r\n }\r\n var folderIdNotNull = vm.folderId != 0 && vm.folderId != null,\r\n fromDateNotNull = vm.fromDateDisplayed != null,\r\n toDateNotNull = vm.toDateDisplayed != null,\r\n registerItemIdNotNull = vm.selectedItem.selectedMetadata != null,\r\n registerItemValueIdNotNull = vm.selectedItem.selectedTag != null,\r\n startOption = specialCharacter.space + specialCharacter.openParenthesis,\r\n endOption = specialCharacter.closeParenthesis,\r\n seperator = specialCharacter.comma + specialCharacter.space,\r\n colon = specialCharacter.space + specialCharacter.colon + specialCharacter.space;\r\n if ($scope.selectedSearchType.id == 3) {\r\n if (folderIdNotNull || fromDateNotNull || toDateNotNull || registerItemIdNotNull) {\r\n if (folderIdNotNull) {\r\n filter += startOption + globalResources.Chapter + colon + vm.folderName;\r\n }\r\n else {\r\n filter += startOption;\r\n }\r\n\r\n if (fromDateNotNull && folderIdNotNull) {\r\n filter += seperator + globalResources.From + colon + getDateStringFromInput(vm.fromDateDisplayed);\r\n }\r\n else if (fromDateNotNull) {\r\n filter += globalResources.From + colon + getDateStringFromInput(vm.fromDateDisplayed);\r\n }\r\n\r\n if ((toDateNotNull && folderIdNotNull) || (toDateNotNull && fromDateNotNull)) {\r\n filter += seperator + globalResources.To + colon + getDateStringFromInput(vm.toDateDisplayed) + endOption;\r\n }\r\n else if (toDateNotNull) {\r\n filter += globalResources.To + colon + getDateStringFromInput(vm.toDateDisplayed) + endOption;\r\n }\r\n else {\r\n filter += endOption;\r\n }\r\n }\r\n } else if ($scope.selectedSearchType.id == 4) {\r\n if (folderIdNotNull || registerItemIdNotNull) {\r\n if (folderIdNotNull) {\r\n filter += startOption + globalResources.Chapter + colon + vm.folderName;\r\n }\r\n else {\r\n filter += startOption;\r\n }\r\n\r\n if (registerItemIdNotNull) {\r\n filter += seperator + globalResources.Metadata + colon + vm.selectedItem.selectedMetadata.name;\r\n }\r\n\r\n if (registerItemValueIdNotNull) {\r\n filter += seperator + globalResources.Tag + colon + vm.selectedItem.selectedTag.registerValue + endOption;\r\n }\r\n else {\r\n filter += endOption;\r\n }\r\n }\r\n }\r\n\r\n return filter;\r\n };\r\n\r\n function loadFolderTree() {\r\n // Does not follow config showDocumentInTree\r\n $http.get(handbookRequests.GetFoldersRequest, { params: { 'id': null, 'showDocumentInTree': false } })\r\n .success(function (data, status, headers, config) {\r\n $scope.folderTree = data;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder))\r\n loadSearchType();\r\n });\r\n }\r\n\r\n function loadAreaTree() {\r\n $http.get('/api/ProcessAreas/GetContent', { params: { AreaId: null, ShowProcessesInTree: false, IsOnlyApproved: false } })\r\n .success(function (data, status, headers, config) {\r\n $scope.areaTree = data.areas;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea))\r\n loadSearchType();\r\n });\r\n }\r\n\r\n function loadSearchType() {\r\n if (vm.type == parseInt(E.searchTypeHandbook.advancedSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.AdvanceSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[2];\r\n $scope.keyword = vm.keyword;\r\n $scope.fromDate = vm.fromDateDisplayed;\r\n $scope.toDate = vm.toDateDisplayed;\r\n $scope.hasExpired = vm.hasExpired;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder)) {\r\n for (var i = 0; i < $scope.folderTree.length; i++) {\r\n if (vm.folderId == $scope.folderTree[i].id) {\r\n $scope.selectedNode = $scope.folderTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n else if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n for (var i = 0; i < $scope.areaTree.length; i++) {\r\n if (vm.folderId == $scope.areaTree[i].id) {\r\n $scope.selectedNode = $scope.areaTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n $scope.isAdvanceSearch = true;\r\n $scope.isMetadataSearch = false;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.contentSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.ContentSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[1];\r\n $scope.keyword = vm.keyword;\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.titleSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.TitleSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[0];\r\n $scope.keyword = vm.keyword;\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.metadataSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.MetadataSearch;\r\n $scope.keyword = vm.keyword;\r\n $scope.selectedSearchType = $scope.searchTypes[3];\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = true;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder)) {\r\n for (var i = 0; i < $scope.folderTree.length; i++) {\r\n if (vm.folderId == $scope.folderTree[i].id) {\r\n $scope.selectedNode = $scope.folderTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n else if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n for (var i = 0; i < $scope.areaTree.length; i++) {\r\n if (vm.folderId == $scope.areaTree[i].id) {\r\n $scope.selectedNode = $scope.areaTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n initMetadataSearch();\r\n }\r\n $timeout(function () {\r\n vm.searchFilter = getSearchFilter();\r\n }, 700);\r\n }\r\n\r\n function initMetadataSearch() {\r\n if (vm.registerItemId && vm.registerItemId != 0) {\r\n //getRegisterItems();\r\n getMetadataTags(vm.registerItemId);\r\n\r\n\r\n $timeout(function () {\r\n if (vm.registerItemId && vm.registerItemId != 0) {\r\n for (var i = 0; i < vm.initMetadata.metadatas.length; i++) {\r\n var metadata = vm.initMetadata.metadatas[i];\r\n if (vm.registerItemId == metadata.registerItemId) {\r\n vm.selectedItem.selectedMetadata = metadata;\r\n break;\r\n }\r\n }\r\n if (vm.registerItemValueId && vm.registerItemValueId != 0) {\r\n for (var i = 0; i < vm.initMetadata.tags.length; i++) {\r\n var tag = vm.initMetadata.tags[i];\r\n if (vm.registerItemValueId == tag.registerItemValueId) {\r\n vm.selectedItem.selectedTag = tag;\r\n break;\r\n }\r\n }\r\n }\r\n vm.startMetadata = 1;\r\n vm.startTag = 1;\r\n }\r\n }, 500);\r\n }\r\n };\r\n\r\n function onRowClick($event) {\r\n favoriteService.setFavoriteNodeState({\r\n isFavorited: false\r\n });\r\n documentService.goToDocument($event);\r\n };\r\n\r\n function loadByMaxSearchSize() {\r\n vm.loadMoreClickedCounter = 1;\r\n getSearchResult(E.searchType.Maximum);\r\n };\r\n\r\n function showLoadMoreLink(row) {\r\n var _isShow = vm.documents.length < vm.totalFound && vm.loadMoreClickedCounter == 0;\r\n var _isLastIndex = row.rowIndex == vm.documents.length - 1;\r\n\r\n if (_isShow && _isLastIndex) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n function getDateStringFromInput(date) {\r\n return date.getDate() + '.' + (date.getMonth() + 1) + '.' + date.getFullYear();\r\n }\r\n\r\n function updateAttachmentsForDocuments(documents) {\r\n var documentIds = [];\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documentIds.push(documents[i].id);\r\n }\r\n }\r\n if (documentIds.length > 0) {\r\n $http\r\n .post('/api/Documents/GetAttachmentsForDocuments', { documentIds: documentIds })\r\n .success(function (data) {\r\n if (data && data.length > 0) {\r\n data.forEach(function (x) {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documents[i].attachments = [];\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].documentId == documents[i].id) {\r\n documents[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n function updateAttachmentsForProcesses(processes) {\r\n if (processes == null || processes.length == 0) {\r\n return processes;\r\n }\r\n\r\n var processEntityIds = [];\r\n for (var i = 0; i < processes.length; i++) {\r\n if (processes[i].hasAttachment && processes[i].isProcess) {\r\n processEntityIds.push(processes[i].entityId);\r\n }\r\n }\r\n if (processEntityIds.length > 0) {\r\n $http.get('/api/Processes/GetAttachmentsForProcesses', {\r\n params: { processEntityIds },\r\n })\r\n .success(function (data) {\r\n if (data && data.length > 0) {\r\n data.forEach(x => {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n for (var i = 0; i < processes.length; i++) {\r\n if (processes[i].hasAttachment) {\r\n processes[i].attachments = [];\r\n processes[i].attachmentHtml = '';\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].processEntityId === processes[i].entityId) {\r\n processes[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n function updateAttachmentsForProcessesInterconnected(processesInterconnected) {\r\n if (processesInterconnected == null || processesInterconnected.length == 0) {\r\n return processesInterconnected;\r\n }\r\n\r\n var processInterconnectedEntityIds = [];\r\n for (var i = 0; i < processesInterconnected.length; i++) {\r\n if (processesInterconnected[i].hasAttachment && processesInterconnected[i].isProcess) {\r\n processInterconnectedEntityIds.push(processesInterconnected[i].processInterconnectedEntityId);\r\n }\r\n }\r\n if (processInterconnectedEntityIds.length > 0) {\r\n $http.get(handbookRequests.GetAttachmentsForProcessesInterconnected, {\r\n params: { processInterconnectedEntityIds },\r\n })\r\n .success(function (data) {\r\n if (data && data.length > 0) {\r\n data.forEach(x => {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n for (var i = 0; i < processesInterconnected.length; i++) {\r\n if (processesInterconnected[i].hasAttachment) {\r\n processesInterconnected[i].attachments = [];\r\n processesInterconnected[i].attachmentHtml = '';\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].processInterconnectedEntityId === processesInterconnected[i].processInterconnectedEntityId) {\r\n processesInterconnected[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n //function calculateRemainingHeightForDocumentGrids() {\r\n // var heightOfTopBar = $('#handbook-nav').outerHeight(true);\r\n // var heightOfBreadcrumbs = $('.search-result-page > .clearfix').outerHeight(true);\r\n // var heightOfSearchButtons = $('.search-result-page > .button-group').outerHeight(true);\r\n // var heightOfSearchForm = $('.search-result-page > .form-button').outerHeight(true);\r\n // var heightOfAdvancedSearchForm = $scope.isAdvanceSearch ? $('.search-result-page .search-result-search-more').outerHeight(true) : 0;\r\n // var heightOfHandbookDocumentsTitle = $('.search-result-page .search-document-title-hit').outerHeight(true);\r\n // var heightOfCompendiaDocumentsTitle = !showCompendiaSearch\r\n // ? 0 : $('.search-result-page .compendia-title-hit').outerHeight(true);\r\n // var heightOfFolderSearchTitle = !showFolderSearch\r\n // ? 0 : $('.search-result-page .search-folder-title-hit').outerHeight(true);\r\n\r\n // return $(window).height() - heightOfTopBar - heightOfBreadcrumbs\r\n // - heightOfSearchButtons - heightOfSearchForm - heightOfAdvancedSearchForm\r\n // - heightOfHandbookDocumentsTitle\r\n // - heightOfCompendiaDocumentsTitle\r\n // - heightOfFolderSearchTitle;\r\n //}\r\n\r\n\r\n function setHeightForGrid() {\r\n $timeout(function () {\r\n var filter = $('.advanced-search-more').height();\r\n if (Number(filter) > 0) {\r\n vm.maxHeight = 570;\r\n } else {\r\n vm.maxHeight = 635;\r\n }\r\n calculateHeightForDocumentGrids();\r\n }, 100);\r\n }\r\n\r\n function calculateHeightForDocumentGrids() {\r\n $('.handbook-folders #gridController tbody').css('max-height', vm.maxHeight);\r\n $('.compendia-documents .content-wrapper').css('max-height', vm.maxHeight);\r\n $('.handbook-documents #gridController tbody').css('max-height', vm.maxHeight);\r\n }\r\n\r\n function insertLogWords(documentId, employeeId, searchKey, searchType) {\r\n if (!vm.doSearchDataMining) {\r\n return;\r\n }\r\n\r\n vm.searchFilters = window.location.search;\r\n if (vm.searchFilters && vm.searchFilters != '') {\r\n if (documentId == -2) {\r\n searchKey = decodeURI(vm.searchFilters.match(\"keyword=(.*)&search\")[1]);\r\n searchType = vm.searchFilters.substring(vm.searchFilters.length - 1);\r\n }\r\n\r\n return $http.post('/api/Search/LogSearchWords',\r\n {\r\n documentId: documentId,\r\n employeeId: employeeId,\r\n searchKey: searchKey,\r\n searchType: searchType,\r\n searchFilters: vm.searchFilters\r\n }).then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n }\r\n }\r\n\r\n function onVARClick(row) {\r\n window.open(row.url);\r\n }\r\n\r\n function triggerSearchVAR(keyword, offset) {\r\n if (vm.isLoadingVar) return;\r\n vm.isLoadingVar = true;\r\n\r\n return $http.get('/api/var/', {\r\n params: {\r\n method: 'PROCEDURE',\r\n query: keyword,\r\n offset: offset\r\n }\r\n }).then(response => {\r\n if (!response || !response.data || !response.data.documents || !response.data.documents.length) return;\r\n vm.numFoundOfVar = response.data.numFound;\r\n vm.varRecords = [...vm.varRecords, ...(response.data.documents || [])];\r\n vm.VAROffset += response.data.documents.length;\r\n vm.varRecords.forEach(record => {\r\n record.status = inferVarRecordStatus(record.changeType);\r\n record.updatedDate = $filter('date')(record.lastUpdated, 'dd.MM.yyyy');\r\n });\r\n }).finally(() => {\r\n vm.isLoadingVar = false;\r\n }); \r\n }\r\n\r\n function inferVarRecordStatus(changeType) {\r\n if (!changeType) return '';\r\n changeType = changeType.toLowerCase();\r\n const prefix = window.resources.L.Common.degree.toUpperCase();\r\n switch (changeType) {\r\n case 'none': return `${prefix}: 0`;\r\n case 'insignificant': return `${prefix}: 1`;\r\n case 'small': return `${prefix}: 2`;\r\n case 'medium': return `${prefix}: 3`;\r\n case 'large': return `${prefix}: 4`;\r\n case 'new': return `${prefix}: ${window.resources.L.Common.new}`;\r\n default: return '';\r\n }\r\n }\r\n \r\n function watchVARGridScroll() {\r\n $('#searchVAR').bind('scroll', (event) => {\r\n var element = event.target;\r\n if ($(element).scrollTop() + $(element).innerHeight() >= $(element)[0].scrollHeight) {\r\n const quickSearchKeyword = vm.keyword ? vm.keyword.trim() : '';\r\n triggerSearchVAR(quickSearchKeyword, vm.VAROffset).then(() => {\r\n broadcastService(broadcastType.gridDataChanges, { id: 'searchVAR', data: vm.varRecords, isForced: true });\r\n });\r\n }\r\n });\r\n }\r\n\r\n function isGuid(char) {\r\n return /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/gi.test(char);\r\n }\r\n\r\n function getExportParams() {\r\n if (vm.processes.length) {\r\n vm.enableExportButton = true;\r\n setProcessExportParams();\r\n }\r\n else if (vm.documents.length) {\r\n vm.enableExportButton = true;\r\n setDocumentExportParams();\r\n } else if (vm.processesInterconnected.length) {\r\n vm.enableExportButton = true;\r\n setProcessInterconnectedExportParams();\r\n }\r\n }\r\n\r\n function generateSearchProcessParams(searchType) {\r\n return {\r\n keyword: vm.keyword ? vm.keyword : '',\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n }\r\n\r\n function generateSearchProcessAdvanceParams(keyword, searchType) {\r\n var fromDate = null;\r\n if (vm.fromDateBK != null && typeof vm.fromDateBK != 'string') {\r\n fromDate = vm.fromDateBK.toUTCString().replace('UTC', 'GMT');\r\n }\r\n var toDate = null;\r\n if (vm.toDateBK != null && typeof vm.toDateBK != 'string') {\r\n toDate = vm.toDateBK.toUTCString().replace('UTC', 'GMT');\r\n }\r\n\r\n return {\r\n keyword: keyword,\r\n isContentSearch: vm.searchInContents ? true : false,\r\n areaId: vm.folderId,\r\n metadataMustContainAll: vm.type == parseInt(E.searchTypeHandbook.metadataSearch),\r\n myProcessOnly: false,\r\n processStatusApprovalFilter: E.advancedSearchApprovalProcessStatus.Approved,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n searchType: searchType,\r\n registerItemId: vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n dateFilter: 4,\r\n hasQuit: false,\r\n hasQuitApprove: false,\r\n includeSubAreas: vm.type == parseInt(E.searchTypeHandbook.advancedSearch) || vm.type == parseInt(E.searchTypeHandbook.metadataSearch),\r\n includeVirtualProcesses: true,\r\n isFrontend: true,\r\n }\r\n }\r\n\r\n function generateExportParams() {\r\n vm.filter = {\r\n keyword: vm.keyword,\r\n searchInContents: vm.searchInContents,\r\n searchType: E.searchType.Maximum,\r\n folderId: vm.folderId,\r\n fromDate: vm.fromDate,\r\n toDate: vm.toDate,\r\n hasExpired: vm.hasExpired,\r\n registerItemId: vm.registerItemValueId != null ? null : vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n advancedSearchLocationType: vm.advancedSearchLocationType,\r\n version: vm.version,\r\n documentType: vm.documentType\r\n };\r\n\r\n vm.exportDocumentParams = {\r\n folderId: vm.folderId,\r\n isRecursive: false,\r\n groupBy: E.exportDocumentGroupsByColumn.none,\r\n filter: vm.filter\r\n };\r\n vm.exportDocumentParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n\r\n if (vm.type == E.searchTypeHandbook.titleSearch || vm.type == E.searchTypeHandbook.contentSearch) {\r\n vm.searchProcessParams = generateSearchProcessParams(E.searchType.Maximum);\r\n } else if (vm.type == E.searchTypeHandbook.advancedSearch || vm.type == E.searchTypeHandbook.metadataSearch) {\r\n vm.searchProcessParams = generateSearchProcessAdvanceParams(vm.keyword, E.searchType.Maximum);\r\n }\r\n\r\n vm.exportProcessParams = {\r\n filter: vm.searchProcessParams,\r\n columns: getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Process)\r\n };\r\n vm.exportProcessInterconnectedParams = {\r\n filter: vm.searchProcessParams,\r\n columns: getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.InterconnectedProcess)\r\n };\r\n }\r\n\r\n function setDocumentExportParams() {\r\n vm.exportParams = vm.exportDocumentParams;\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedDocuments;\r\n }\r\n\r\n function setProcessExportParams() {\r\n vm.exportParams = vm.exportProcessParams;\r\n if (vm.type == E.searchTypeHandbook.titleSearch || vm.type == E.searchTypeHandbook.contentSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcesses;\r\n }\r\n else if (vm.type == E.searchTypeHandbook.advancedSearch || vm.type == E.searchTypeHandbook.metadataSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcessesAdvance;\r\n }\r\n }\r\n\r\n function setProcessInterconnectedExportParams() {\r\n vm.exportParams = vm.exportProcessInterconnectedParams;\r\n if (vm.type == E.searchTypeHandbook.titleSearch || vm.type == E.searchTypeHandbook.contentSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcessesInterconnected;\r\n }\r\n else if (vm.type == E.searchTypeHandbook.advancedSearch || vm.type == E.searchTypeHandbook.metadataSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcessesInterconnectedAdvance;\r\n }\r\n }\r\n\r\n function handleChangeTabForExportList(activeTab) {\r\n vm.enableExportButton = true;\r\n switch (activeTab) {\r\n case vm.tabNameToExport.processTab:\r\n setProcessExportParams();\r\n break;\r\n case vm.tabNameToExport.documentTab:\r\n setDocumentExportParams();\r\n break;\r\n case vm.tabNameToExport.interconnectedTab:\r\n setProcessInterconnectedExportParams();\r\n break;\r\n\r\n default:\r\n vm.enableExportButton = false;\r\n break;\r\n }\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('servicesModule').controller('WhatsNewFolderModalController', controller);\r\n controller.$inject = ['$scope', '$http', '$uibModal', '$uibModalInstance', 'model', '$sce'];\r\n\r\n function controller($scope, $http, $uibModal, $modalInstance, model, $sce) {\r\n var vm = this;\r\n vm.globalResources = angular.copy(globalResources);\r\n vm.data = model;\r\n vm.close = close;\r\n vm.showDropdown = false;\r\n vm.listPeriod = [\r\n { name: vm.globalResources.Today, value: 0 },\r\n { name: vm.globalResources.LastWeek, value: 1 },\r\n { name: vm.globalResources.LastMonth, value: 2 },\r\n { name: vm.globalResources.Last3Months, value: 3 },\r\n ];\r\n vm.selectedPeriod = vm.listPeriod[parseInt(HandbookConfiguration.WhatsNewPeriodFolder)];\r\n vm.selectPeriod = selectPeriod;\r\n vm.whatsNewDocuments = vm.data.WhatsNewDocuments;\r\n vm.showWhatsNewDocumentsInSubChapters = vm.data.showWhatsNewDocumentsInSubChapters;\r\n vm.showWhatsNewDocumentsRecursive = showWhatsNewDocumentsRecursive;\r\n initialize();\r\n function initialize() {\r\n setPeriod(parseInt(vm.data.selectedOption))\r\n }\r\n\r\n function setPeriod(optionNumber) {\r\n const period = vm.listPeriod.filter(function (period) {\r\n return period.value == optionNumber;\r\n })\r\n if (period && period.length) {\r\n vm.selectedPeriod = period[0];\r\n }\r\n }\r\n\r\n function selectPeriod(period) {\r\n vm.data.changeSelectedOptionInMobileView(period);\r\n setPeriod(period.value); \r\n getWhatsNewForFolder();\r\n }\r\n\r\n function showWhatsNewDocumentsRecursive() {\r\n getWhatsNewForFolder();\r\n }\r\n\r\n function getWhatsNewForFolder() {\r\n $http.get(handbookRequests.GetRecentlyApprovedDocumentsForFolder, { params: { 'folderId': vm.data.folderData.id, 'includeSubFolder': vm.showWhatsNewDocumentsInSubChapters, 'periodOption': vm.selectedPeriod.value } })\r\n .success(function (data, status, headers, config) {\r\n vm.whatsNewDocuments = data;\r\n });\r\n };\r\n\r\n function close() {\r\n $modalInstance.close(true);\r\n };\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('servicesModule')\r\n .controller('AboutDocumentModalController', controller);\r\n\r\n controller.$inject = ['$scope', '$http', '$uibModal', '$uibModalInstance', 'model', '$sce'];\r\n\r\n function controller($scope, $http, $uibModal, $modalInstance, model, $sce) {\r\n var vm = this;\r\n vm.globalResources = angular.copy(globalResources);\r\n vm.data = model;\r\n vm.close = close;\r\n vm.goToFolder = goToFolder;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n handleScroll();\r\n }\r\n\r\n function handleScroll() {\r\n setTimeout(function () {\r\n angular.element(document.querySelector('.about-detail-container')).bind('scroll', function () {\r\n const aboutDetailContainerTop = $('#documentViewId').position().top;\r\n const documentTitleContainerBottom = $('#documentTitleContainer').position().top + $('#documentTitleContainer').height();\r\n if (aboutDetailContainerTop < documentTitleContainerBottom) {\r\n angular.element('#documentTitleContainer').addClass('shadow-effect');\r\n }\r\n else {\r\n angular.element('#documentTitleContainer').removeClass('shadow-effect');\r\n }\r\n })\r\n }, 0)\r\n }\r\n \r\n function close() {\r\n $modalInstance.close(true);\r\n };\r\n\r\n function goToFolder(folderId) {\r\n vm.close();\r\n window.open(`/folder/${folderId}`, '_self')\r\n }\r\n };\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('servicesModule')\r\n .controller('AddMembersController', controller);\r\n\r\n controller.$inject = ['$uibModalInstance', '$http', '$scope', 'existedEmployees', 'titlePage', 'roleId', 'excludedQuitDepartmentId', 'folderId', 'isHearing'];\r\n\r\n function controller($modalInstance, $http, $scope, existedEmployees, titlePage, roleId, excludedQuitDepartmentId, folderId, isHearing) {\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n\r\n var infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n\r\n \r\n\r\n vm.titlePage = titlePage;\r\n\r\n vm.search = {\r\n recursive: false,\r\n pageSize: infiniteScrollLoadsize,\r\n pageIndex: 0,\r\n firstName: '',\r\n lastName: '',\r\n roleId: null,\r\n excludedQuitDepartmentId: excludedQuitDepartmentId,\r\n folderId: folderId\r\n };\r\n\r\n\r\n vm.selectedRole = {};\r\n\r\n vm.getDepartment = getDepartment;\r\n vm.saveChanges = saveChanges;\r\n vm.cancel = cancel;\r\n vm.existedEmployees = existedEmployees;\r\n vm.excludedEmployees = [];\r\n\r\n vm.nextPage = nextPage;\r\n vm.searchEmployee = searchEmployee;\r\n vm.onSelectRow = onSelectRow;\r\n vm.checkAll = checkAll;\r\n vm.onKeyUp = onKeyUp;\r\n\r\n vm.isHearing = isHearing;\r\n vm.changeSaveSearch = changeSaveSearch;\r\n vm.searchPatterns = [];\r\n vm.searchByHearing = false;\r\n initialize();\r\n \r\n\r\n function initialize() {\r\n if (vm.isHearing) {\r\n getUserFilterSearches();\r\n }\r\n\r\n if (vm.existedEmployees) {\r\n vm.existedEmployees.forEach(function (item) {\r\n vm.excludedEmployees.push(item.id);\r\n });\r\n }\r\n vm.total = 0;\r\n vm.times = 0;\r\n vm.currentRowIndex = 0;\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n\r\n $http.get('/api/Users/GetSecurityGroups', {})\r\n .success(function (data, status, headers, config) {\r\n vm.roles = data;\r\n })\r\n\r\n var promise = $http.post('/api/Users/GetEmployees',\r\n {\r\n recursive: vm.search.recursive,\r\n pageSize: vm.search.pageSize,\r\n pageIndex: vm.search.pageIndex,\r\n departmentId: vm.search.departmentId,\r\n firstName: vm.search.firstName,\r\n lastName: vm.search.lastName,\r\n roleId: vm.search.roleId,\r\n excludedEmployeeId: vm.excludedEmployees,\r\n excludedQuitDepartmentId: vm.search.excludedQuitDepartmentId,\r\n folderId: vm.search.folderId\r\n });\r\n\r\n promise.success(function (data, status, headers, config) {\r\n vm.employees = data;\r\n });\r\n };\r\n\r\n $scope.$watch('vm.employees', function (data, oldData) { // This handler for initialize data.\r\n var response = gridUtilities.lookupData(data, vm.rowCollection, vm.originalCollection, infiniteScrollLoadsize, vm.total, vm.currentRowIndex);\r\n vm.total = response.total;\r\n vm.currentRowIndex = response.currentIndex;\r\n vm.rowCollection = response.data;\r\n }, true);\r\n\r\n function nextPage(tableState) {\r\n vm.searchByHearing = false;\r\n resetselectedSearchPattern();\r\n if (infiniteScrollLoadsize == 0) {\r\n vm.rowCollection = vm.employees;\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n } else {\r\n //if we reset (like after a search or an order)\r\n if (tableState.pagination.start === 0) {\r\n if (vm.rowCollection == null || vm.rowCollection.length == 0) {\r\n getAPage(true);\r\n $scope.$apply();\r\n }\r\n } else {\r\n //we load more\r\n getAPage(false);\r\n $scope.$apply();\r\n }\r\n }\r\n };\r\n\r\n function getAPage(first) {\r\n vm.search.pageIndex += 1;\r\n vm.searchByHearing = false;\r\n resetselectedSearchPattern();\r\n vm.search.roleId = vm.selectedRole != null ? vm.selectedRole.id : null;\r\n var promise = $http.post('/api/Users/GetEmployees',\r\n {\r\n recursive: vm.search.recursive,\r\n pageSize: vm.search.pageSize,\r\n pageIndex: vm.search.pageIndex,\r\n departmentId: vm.search.departmentId,\r\n firstName: vm.search.firstName,\r\n lastName: vm.search.lastName,\r\n roleId: vm.search.roleId,\r\n excludedEmployeeId: vm.excludedEmployees,\r\n folderId: vm.search.folderId\r\n });\r\n\r\n promise.success(function (data, status, headers, config) {\r\n if (first) {\r\n vm.rowCollection = data;\r\n } else {\r\n vm.rowCollection = vm.rowCollection.concat(data);\r\n }\r\n\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n });\r\n }\r\n\r\n function searchEmployee() {\r\n vm.searchByHearing = false;\r\n resetselectedSearchPattern();\r\n vm.search.pageIndex = 1;\r\n vm.search.roleId = vm.selectedRole != null ? vm.selectedRole.id : null;\r\n var promise = $http.post('/api/Users/GetEmployees',\r\n {\r\n recursive: vm.search.recursive,\r\n pageSize: vm.search.pageSize,\r\n pageIndex: vm.search.pageIndex,\r\n departmentId: vm.search.departmentId,\r\n firstName: vm.search.firstName,\r\n lastName: vm.search.lastName,\r\n roleId: vm.search.roleId,\r\n excludedEmployeeId: vm.excludedEmployees,\r\n excludedQuitDepartmentId: vm.search.excludedQuitDepartmentId,\r\n folderId: vm.search.folderId\r\n });\r\n\r\n promise.success(function (data, status, headers, config) {\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n\r\n vm.rowCollection = data;\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n });\r\n };\r\n\r\n function onSelectRow(row) {\r\n if (row.selected == true) {\r\n vm.selectedEmployees.push(row);\r\n if (row != null) {\r\n vm.selectedEmployeesCount += 1;\r\n }\r\n } else {\r\n if (row != null) {\r\n if (vm.selectedEmployeesCount > 0) {\r\n vm.selectedEmployeesCount -= 1;\r\n }\r\n }\r\n\r\n vm.selectedEmployees.splice($.inArray(row, vm.selectedEmployees), 1);\r\n }\r\n };\r\n\r\n function checkAll() {\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n if (vm.isAllSelected) {\r\n vm.rowCollection.forEach(function (item) {\r\n item.selected = true;\r\n vm.selectedEmployees.push(item);\r\n vm.selectedEmployeesCount += 1;\r\n });\r\n } else {\r\n vm.rowCollection.forEach(function (item) {\r\n item.selected = false;\r\n });\r\n }\r\n };\r\n\r\n function onKeyUp(e) {\r\n if (e.which == 13) {\r\n searchEmployee();\r\n }\r\n }\r\n function getDepartment(department) {\r\n if (department) {\r\n vm.search.departmentId = department.id;\r\n } else {\r\n vm.search.departmentId = null;\r\n }\r\n }\r\n\r\n function saveChanges() {\r\n if (vm.selectedEmployees && vm.selectedEmployees.length != 0) {\r\n $modalInstance.close(vm.selectedEmployees);\r\n }\r\n }\r\n\r\n function cancel() {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n\r\n function getUserFilterSearches() {\r\n vm.searchPatterns = [];\r\n $http.get('/api/Users/GetUserSavedSearches', { params: { searchFilterType: searchFilterTypes.hearingMembers } })\r\n .then(function (res) {\r\n if (res.data && res.data.length > 0) {\r\n vm.searchPatterns = res.data;\r\n vm.searchPatterns.unshift({\r\n id: 0,\r\n name: vm.translation.ChooseSavedHearingMembersList,\r\n searchFilterType: searchFilterTypes.hearingMembers\r\n });\r\n\r\n vm.selectedSearchPattern = vm.searchPatterns[0];\r\n }\r\n vm.isHearing = (res.data && res.data.length > 0);\r\n });\r\n }\r\n\r\n function changeSaveSearch() {\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n vm.search.pageIndex = 1;\r\n vm.searchByHearing = true;\r\n var selectedRequest = vm.selectedSearchPattern;\r\n if (!selectedRequest || !selectedRequest.searchFilters) {\r\n return;\r\n }\r\n\r\n var request = {\r\n pageIndex: 1,\r\n pageSize: 0,\r\n searchIds: selectedRequest.searchFilters,\r\n folderId: vm.search.folderId\r\n };\r\n\r\n $http.post('/api/users/GetEmployees', request).then(function (response) {\r\n if (response.data) {\r\n if (!vm.excludedEmployees)\r\n vm.excludedEmployees = [];\r\n vm.rowCollection = response.data.filter(x => !vm.excludedEmployees.find(y => y == x.id));\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n }\r\n });\r\n }\r\n\r\n function resetselectedSearchPattern() {\r\n if (vm.isHearing && vm.searchPatterns.length > 0) {\r\n vm.selectedSearchPattern = vm.searchPatterns[0];\r\n }\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('compareWithEarlierVersionModule', [])\r\n .controller('CompareWithEarlierVersionController', controller);\r\n\r\n controller.$inject = ['$http', '$state', '$sce', '$q', 'documentService', 'configService', 'anchorService', '$timeout', '$anchorScroll', '$location', '$scope'];\r\n\r\n function controller($http, $state, $sce, $q, documentService, configService, anchorService, $timeout, $anchorScroll, $location, $scope) {\r\n var vm = this;\r\n \r\n vm.DocumentTitleResult = '';\r\n vm.translation = globalResources\r\n vm.DocumentTitleResult = '';\r\n vm.currentDocumentId = $state.params.documentId;\r\n vm.childDocumentId = $state.params.documentId;\r\n vm.parentDocumentId = 0;\r\n vm.originalData = {};\r\n vm.fromVersions = [];\r\n vm.toVersions = [];\r\n vm.input = {\r\n fromVersion: null,\r\n toVersion: null\r\n };\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n vm.showCompareParentExtension = false;\r\n vm.showCompareChildrenExtension = false;\r\n\r\n initialize();\r\n vm.printDocumentComparison = printDocumentComparison;\r\n vm.changeFromVersion = changeFromVersion;\r\n vm.changeToVersion = changeToVersion;\r\n vm.viewCompareParentDocument = viewCompareParentDocument;\r\n vm.viewCompareChildDocument = viewCompareChildDocument;\r\n\r\n function initialize() {\r\n angular.element('.main-container_header').hide();\r\n documentService.showFullscreen();\r\n\r\n if (vm.enableDocumentExtention) {\r\n vm.parentDocumentId = 0;\r\n\r\n var promises = [];\r\n var hearingMode = true;\r\n promises.push(documentService.getParentIdExtendDocument(vm.currentDocumentId, hearingMode));\r\n promises.push(documentService.checkDocumentHaveToCompareById(vm.currentDocumentId, hearingMode));\r\n\r\n $q.all(promises).then(function (result) {\r\n var resultGetParentId = parseInt(result[0]);\r\n if (resultGetParentId && resultGetParentId > 0) {\r\n vm.parentDocumentId = resultGetParentId;\r\n }\r\n\r\n var resultCheckDocumentHaveToCompareById = result[1];\r\n if (!resultCheckDocumentHaveToCompareById) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n }\r\n\r\n vm.showCompareParentExtension = vm.parentDocumentId > 0;\r\n vm.showCompareChildrenExtension = resultCheckDocumentHaveToCompareById;\r\n\r\n generateComparisonResult(null, 0);\r\n });\r\n }\r\n else {\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function generateComparisonResult(selectedVersion, isType) {\r\n\r\n var params = {\r\n params: {\r\n documentId: vm.currentDocumentId,\r\n fromVersion: vm.input.fromVersion,\r\n toVersion: vm.input.toVersion,\r\n showLoading: true\r\n }\r\n };\r\n\r\n $http\r\n .get('/api/Documents/GenerateComparisonResult', params)\r\n .success(function (data) {\r\n vm.data = data;\r\n if (isType == 0) { // initialize\r\n vm.originalData = angular.copy(vm.data);\r\n getDataForComboVersions(selectedVersion, isType);\r\n vm.input.fromVersion = parseInt(data.earlierVersionNumber);\r\n vm.input.toVersion = parseInt(data.latestVersionNumber);\r\n } else {\r\n getDataForComboVersions(selectedVersion, isType);\r\n }\r\n vm.documentCKVersion = data.isNewCKVersion;\r\n\t\t\t\t\tvm.DocumentTitleResult = $sce.trustAsHtml(String.format('{0} - {1} - {2}: {3} - {4} {5} {6} {7}', globalResources.ComparisonResult,\r\n data.comparisonNameResult, globalResources.DocId, vm.currentDocumentId,\r\n globalResources.CommonGridColumns.Version, data.earlierVersionNumber, globalResources.And, data.latestVersionNumber));\r\n\r\n vm.data.earlierVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.earlierVersionHtml, true));\r\n vm.data.latestVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.latestVersionHtml, true));\r\n vm.data.comparisonResult = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.comparisonResult, true));\r\n\r\n runServicesAfterInit();\r\n })\r\n .error(function (data, status, headers, config) {\r\n vm.errorMessage = getErrorMessage(status);\r\n });\r\n }\r\n\r\n function getDataForComboVersions(selectedVersion, isType) {\r\n\r\n if (selectedVersion == null && isType > 0)\r\n return;\r\n var latestVersion = parseInt(vm.originalData.latestVersionNumber);\r\n var fromVersions = [];\r\n var toVersions = [];\r\n switch (isType) {\r\n case 0:// initialize\r\n selectedVersion = latestVersion - 1;\r\n for (var i = 0; i <= selectedVersion; i++) {\r\n fromVersions.push({ id: i, name: i });\r\n }\r\n for (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n toVersions.push({ id: j, name: j });\r\n }\r\n vm.fromVersions = angular.copy(fromVersions);\r\n vm.toVersions = angular.copy(toVersions);\r\n break;\r\n case 1: // From version\r\n for (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n toVersions.push({ id: j, name: j });\r\n }\r\n vm.toVersions = angular.copy(toVersions);\r\n break;\r\n case 2: // to version\r\n selectedVersion = selectedVersion - 1;\r\n for (var i = 0; i <= selectedVersion; i++) {\r\n fromVersions.push({ id: i, name: i });\r\n }\r\n vm.fromVersions = angular.copy(fromVersions);\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n function changeFromVersion() {\r\n generateComparisonResult(vm.input.fromVersion, 1);\r\n }\r\n\r\n function changeToVersion() {\r\n generateComparisonResult(vm.input.toVersion, 2);\r\n }\r\n\r\n $(window).on('resize', function () {\r\n angular.element('.comparison-result').removeAttr('style');\r\n angular.element('#resizeBar').removeAttr('style');\r\n angular.element('.comparison-versions').removeAttr('style');\r\n });\r\n\r\n function printDocumentComparison() {\r\n window.open(String.format('/Printing/PrintCompareWithEarlierVersion?documentId={0}&fromVersion={1}&toVersion={2}', vm.currentDocumentId, vm.input.fromVersion, vm.input.toVersion));\r\n }\r\n\r\n function viewCompareParentDocument() {\r\n if (vm.currentDocumentId != vm.parentDocumentId) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function viewCompareChildDocument() {\r\n if (vm.currentDocumentId != vm.childDocumentId) {\r\n vm.currentDocumentId = vm.childDocumentId;\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function runServicesAfterInit() {\r\n $timeout(function () {\r\n updateLocalAnchors();\r\n scrollToAnchorIfExists();\r\n });\r\n }\r\n\r\n function updateLocalAnchors() {\r\n var domContent = angular.element('div#comparisonResult');\r\n anchorService.updateLocalAnchors(domContent);\r\n }\r\n\r\n function scrollToAnchorIfExists() {\r\n var hash = $location.hash();\r\n if (hash != '') {\r\n $anchorScroll();\r\n }\r\n }\r\n }\r\n})();","(function () {\r\n\t'use strict';\r\n\r\n\tangular.module('documentCompareWithEarlierVersionModule', [])\r\n\t\t.controller('DocumentCompareWithEarlierVersionController', controller);\r\n\r\n\tcontroller.$inject = ['$http', '$state', '$sce', '$scope', '$q', 'documentService', 'configService', 'anchorService', '$timeout', '$anchorScroll', '$location'];\r\n\r\n\tfunction controller($http, $state, $sce, $scope, $q, documentService, configService, anchorService, $timeout, $anchorScroll, $location) {\r\n var vm = this;\r\n \r\n vm.translation = globalResources\r\n\t\tvm.DocumentTitleResult = '';\r\n vm.currentDocumentId = $state.params.documentId;\r\n vm.childDocumentId = $state.params.documentId;\r\n vm.parentDocumentId = 0;\r\n\t\tvm.originalData = {};\r\n\t\tvm.fromVersions = [];\r\n\t\tvm.toVersions = [];\r\n\t\tvm.input = {\r\n\t\t\tfromVersion: null,\r\n\t\t\ttoVersion: null\r\n\t\t};\r\n\t\tvm.documentCKVersion = CkVersion.CK4;\r\n\t\tvm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n\t\tvm.advancedCompare = configService.getBool(HandbookConfiguration.AdvancedCompare);\r\n\t\tvm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n vm.showCompareParentExtension = false;\r\n vm.showCompareChildrenExtension = false;\r\n\r\n\t\tinitialize();\r\n\t\tvm.printDocumentComparison = printDocumentComparison;\r\n\t\tvm.changeFromVersion = changeFromVersion;\r\n vm.changeToVersion = changeToVersion;\r\n vm.viewCompareParentDocument = viewCompareParentDocument;\r\n vm.viewCompareChildDocument = viewCompareChildDocument;\r\n\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tdocumentService.showFullscreen();\r\n\r\n\t\t\twindow.addEventListener('resize', initCompareScrollEvent, true /*Capture event*/);\r\n\t\t\tangular.element('.main-container_header').hide();\r\n\r\n $scope.$on('$destroy', function () {\r\n window.removeEventListener('resize', initCompareScrollEvent);\r\n\t\t\t});\r\n\r\n function initCompareScrollEvent() {\r\n if (vm.advancedCompare) {\r\n angular.element('.comparison-result').removeAttr('style');\r\n angular.element('#resizeBar').removeAttr('style');\r\n angular.element('.comparison-versions').removeAttr('style');\r\n }\r\n }\r\n \r\n if (vm.enableDocumentExtention) {\r\n vm.parentDocumentId = 0;\r\n\r\n var promises = [];\r\n\r\n promises.push(documentService.getParentIdExtendDocument(vm.currentDocumentId));\r\n promises.push(documentService.checkDocumentHaveToCompareById(vm.currentDocumentId));\r\n\r\n $q.all(promises).then(function (result) {\r\n var resultGetParentId = parseInt(result[0]);\r\n if (resultGetParentId && resultGetParentId > 0) {\r\n vm.parentDocumentId = resultGetParentId;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar resultCheckDocumentHaveToCompareById = result[1];\r\n if (!resultCheckDocumentHaveToCompareById) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n }\r\n\r\n vm.showCompareParentExtension = vm.parentDocumentId > 0;\r\n vm.showCompareChildrenExtension = resultCheckDocumentHaveToCompareById;\r\n\r\n generateComparisonResult(null, 0);\r\n });\r\n }\r\n else {\r\n generateComparisonResult(null, 0);\r\n }\r\n\t\t}\r\n\r\n\t\tfunction generateComparisonResult(selectedVersion, isType) {\r\n\r\n\t\t\tvar params = {\r\n\t\t\t\tparams: {\r\n documentId: vm.currentDocumentId,\r\n\t\t\t\t\tfromVersion: vm.input.fromVersion,\r\n\t\t\t\t\ttoVersion: vm.input.toVersion\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t$http\r\n\t\t\t\t.get('/api/Documents/GenerateDocumentComparisonResult', params)\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t\tvm.data = data;\r\n\t\t\t\t\tif (vm.advancedCompare) {\r\n\t\t\t\t\t\tif (isType == 0) { // initialize\r\n\t\t\t\t\t\t\tvm.originalData = angular.copy(vm.data);\r\n\t\t\t\t\t\t\tgetDataForComboVersions(selectedVersion, isType);\r\n\t\t\t\t\t\t\tvm.input.fromVersion = parseInt(data.earlierVersionNumber);\r\n\t\t\t\t\t\t\tvm.input.toVersion = parseInt(data.latestVersionNumber);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tgetDataForComboVersions(selectedVersion, isType);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.documentCKVersion = data.isNewCKVersion;\r\n\t\t\t\t\tvm.DocumentTitleResult = $sce.trustAsHtml(String.format('{0} - {1} - {2}: {3} - {4} {5} {6} {7}', globalResources.ComparisonResult,\r\n data.comparisonNameResult, globalResources.DocId, vm.currentDocumentId,\r\n\t\t\t\t\t\tglobalResources.CommonGridColumns.Version, data.earlierVersionNumber, globalResources.And, data.latestVersionNumber));\r\n\t\t\t\t\t\r\n\t\t\t\t\tvm.data.earlierVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.earlierVersionHtml));\r\n\t\t\t\t\tvm.data.latestVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.latestVersionHtml));\r\n\t\t\t\t\tvm.data.comparisonResult = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.comparisonResult));\r\n\r\n\t\t\t\t\trunServicesAfterInit();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.errorMessage = getErrorMessage(status);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction getDataForComboVersions(selectedVersion, isType) {\r\n\r\n\t\t\tif (selectedVersion == null && isType > 0)\r\n\t\t\t\treturn;\r\n\t\t\tvar latestVersion = parseInt(vm.originalData.latestVersionNumber);\r\n\t\t\tvar fromVersions = [];\r\n\t\t\tvar toVersions = [];\r\n\t\t\tswitch (isType) {\r\n\t\t\t\tcase 0:// initialize\r\n\t\t\t\t\tselectedVersion = latestVersion - 1;\r\n\t\t\t\t\tfor (var i = 0; i <= selectedVersion; i++) {\r\n\t\t\t\t\t\tfromVersions.push({ id: i, name: i });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n\t\t\t\t\t\ttoVersions.push({ id: j, name: j });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.fromVersions = angular.copy(fromVersions);\r\n\t\t\t\t\tvm.toVersions = angular.copy(toVersions);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 1: // From version\r\n\t\t\t\t\tfor (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n\t\t\t\t\t\ttoVersions.push({ id: j, name: j });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.toVersions = angular.copy(toVersions);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 2: // to version\r\n\t\t\t\t\tselectedVersion = selectedVersion - 1;\r\n\t\t\t\t\tfor (var i = 0; i <= selectedVersion; i++) {\r\n\t\t\t\t\t\tfromVersions.push({ id: i, name: i });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.fromVersions = angular.copy(fromVersions);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction changeFromVersion() {\r\n\t\t\tgenerateComparisonResult(vm.input.fromVersion, 1);\r\n\t\t}\r\n\r\n\t\tfunction changeToVersion() {\r\n\t\t\tgenerateComparisonResult(vm.input.toVersion, 2);\r\n\t\t}\r\n\r\n\t\tfunction printDocumentComparison() {\r\n\t\t\tif (vm.advancedCompare) {\r\n\t\t\t\twindow.open(String.format('/Printing/PrintDocumentComparisonResultForLatestApproved?documentId={0}&fromVersion={1}&toVersion={2}', vm.currentDocumentId, vm.input.fromVersion, vm.input.toVersion));\r\n\t\t\t} else {\r\n window.open(String.format('/Printing/PrintDocumentComparisonResultForLatestApproved?documentId={0}', vm.currentDocumentId));\r\n\t\t\t}\r\n }\r\n\r\n function viewCompareParentDocument() {\r\n if (vm.currentDocumentId != vm.parentDocumentId) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n vm.input.fromVersion = null;\r\n vm.input.toVersion = null;\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function viewCompareChildDocument() {\r\n if (vm.currentDocumentId != vm.childDocumentId) {\r\n vm.currentDocumentId = vm.childDocumentId;\r\n vm.input.fromVersion = null;\r\n vm.input.toVersion = null;\r\n generateComparisonResult(null, 0);\r\n }\r\n\t\t}\r\n\r\n\t\tfunction runServicesAfterInit() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tupdateLocalAnchors();\r\n\t\t\t\tscrollToAnchorIfExists();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction updateLocalAnchors() {\r\n\t\t\tvar domContent = angular.element('div#comparisonResult');\r\n\t\t\tanchorService.updateLocalAnchors(domContent);\r\n\t\t}\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('servicesModule')\r\n .service('documentContentsSearchService', documentContentsSearchService);\r\n\r\n documentContentsSearchService.$inject = ['$timeout', '$sce'];\r\n\r\n function documentContentsSearchService($timeout, $sce) {\r\n var service = {\r\n searchAndHighlight: searchAndHighlight,\r\n searchAndHighlightText: searchAndHighlightText,\r\n navForward: navForward,\r\n navBackward: navBackward\r\n };\r\n\r\n return service;\r\n\r\n function searchAndHighlight(text, search) {\r\n if (text != null) {\r\n if ((search || angular.isNumber(search)) && text != '') {\r\n text = htmlDecode(text.toString()).replaceHtmlEntites();\r\n search = search.toString().replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\r\n\r\n var re = '(' + search + ')(?!([^\\<]+)?\\>)',\r\n regExp = new RegExp(re, 'gi'),\r\n sTag = \"\",\r\n eTag = \"\";\r\n var textHighLight = text.replace(regExp, sTag + '$1' + eTag);\r\n return $sce.trustAsHtml(textHighLight.returnWhitespace());\r\n } else {\r\n return $sce.trustAsHtml(text.toString());\r\n }\r\n }\r\n };\r\n\r\n function searchAndHighlightText(model) {\r\n $timeout(function () {\r\n model.totalFound = angular.element(\".ui-match\").length;\r\n model.currentIndex = model.totalFound > 0 ? 1 : 0;\r\n var searchNavigator = angular.element(\"#search-navigator\");\r\n if (searchNavigator.hasClass('display--non')) {\r\n searchNavigator.removeClass('display--non');\r\n }\r\n if (model.totalFound > 0) {\r\n angular.element(\".ui-match\")[0].className += ' match-focus';\r\n angular.element(\".ui-match\")[0].id = 'highlight';;\r\n }\r\n });\r\n };\r\n\r\n function navForward(model) {\r\n if (model.totalFound > 0) {\r\n if (model.currentIndex == model.totalFound) {\r\n model.currentIndex = 1;\r\n clearHighlight(angular.element(\".ui-match\")[model.totalFound - 1], model);\r\n addHighlight(angular.element(\".ui-match\")[model.currentIndex - 1], model);\r\n } else {\r\n model.currentIndex += 1;\r\n var index = model.currentIndex\r\n clearHighlight(angular.element(\".ui-match\")[index - 2], model);\r\n addHighlight(angular.element(\".ui-match\")[index - 1], model);\r\n }\r\n scrollToMatch();\r\n }\r\n };\r\n\r\n function navBackward(model) {\r\n if (model.totalFound > 0) {\r\n if (model.currentIndex == 1) {\r\n model.currentIndex = model.totalFound;\r\n clearHighlight(angular.element(\".ui-match\")[0], model);\r\n addHighlight(angular.element(\".ui-match\")[model.currentIndex - 1], model);\r\n }\r\n else {\r\n model.currentIndex -= 1;\r\n var index = model.currentIndex;\r\n clearHighlight(angular.element(\".ui-match\")[index], model);\r\n addHighlight(angular.element(\".ui-match\")[index - 1], model);\r\n }\r\n scrollToMatch();\r\n }\r\n };\r\n\r\n function scrollToMatch() {\r\n var element = angular.element('#highlight');\r\n var offsetTop = element.offset().top;\r\n //var $parentDiv = $('#' + documentContent.content + '');\r\n\t\t\tvar $parentDiv = $('.document-detail');\r\n var visibleAreaStart = $parentDiv.offset().top;\r\n $parentDiv.animate({\r\n scrollTop: $parentDiv.scrollTop() - visibleAreaStart + offsetTop - 50\r\n }, 100);\r\n };\r\n\r\n function clearHighlight(element, model) {\r\n if (element != undefined) {\r\n element.className = 'ui-match';\r\n element.id = '';\r\n } else {\r\n clearSearchPanel(model);\r\n }\r\n };\r\n\r\n function addHighlight(element, model) {\r\n if (element != undefined) {\r\n element.className += ' match-focus';\r\n element.id = 'highlight';\r\n } else {\r\n clearSearchPanel(model);\r\n }\r\n };\r\n\r\n function clearSearchPanel(model) {\r\n model.highlightText = '';\r\n model.currentIndex = 0;\r\n model.totalFound = 0;\r\n };\r\n\r\n function htmlDecode(value) {\r\n var dynamicDiv = document.createElement(\"div\");\r\n dynamicDiv.innerHTML = value;\r\n return dynamicDiv.innerHTML;\r\n }\r\n };\r\n\r\n String.prototype.replaceHtmlEntites = function () {\r\n var s = this;\r\n var translate_re = /&(nbsp|amp|quot|lt|gt);/g;\r\n var translate = { \"nbsp\": \"ð ®·\", \"amp\": \"&\", \"quot\": \"\\\"\", \"lt\": \"<\", \"gt\": \">\" };\r\n return (s.replace(translate_re, function (match, entity) {\r\n return translate[entity];\r\n }));\r\n };\r\n\r\n String.prototype.returnWhitespace = function () {\r\n var s = this;\r\n var reg = new RegExp(\"ð ®·\", \"gm\");\r\n return (s.replace(reg, \" \"));\r\n };\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp')\r\n .controller('DocumentController', documentController);\r\n\r\n documentController.$inject = ['$scope', '$rootScope', '$http', '$stateParams', '$state', '$sce', '$location', '$anchorScroll', '$timeout', '$filter', '$uibModal',\r\n 'broadcastService', 'documentService', 'favoriteService', 'tabStateService', 'anchorService', 'documentContentsSearchService',\r\n 'resizeService', 'localStorageService', 'folderService', 'treeNavigationService', '$q', 'configService', 'browserService'];\r\n\r\n function documentController($scope, $rootScope, $http, $stateParams, $state, $sce, $location, $anchorScroll, $timeout, $filter, $uibModal,\r\n broadcastService, documentService, favoriteService, tabStateService, anchorService, documentContentsSearchService,\r\n resizeService, localStorageService, folderService, treeNavigationService, $q, configService, browserService) {\r\n\r\n var ignoreRichText = configService.getBool(HandbookConfiguration.LazyLoadRichText);\r\n\r\n var vm = this;\r\n var isFieldActive;\r\n var lastId;\r\n var urlParams = $location.url().split('/');\r\n\r\n vm.isEmbedUrl = false;\r\n\r\n if (urlParams != null && urlParams.length) {\r\n vm.isEmbedUrl = urlParams[1] == 'embed';\r\n }\r\n\r\n vm.currentData = {};\r\n vm.originalData = {};\r\n\r\n vm.enableExtendedFeedback = configService.getBool(HandbookConfiguration.EnableExtendedFeedback);\r\n \r\n\r\n vm.highlights = {\r\n highlightText: '',\r\n currentIndex: 0,\r\n totalFound: 0\r\n };\r\n vm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n vm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.backendIsDb4 = configService.getBool(HandbookConfiguration.BackendIsDb4);\r\n vm.showDocumentLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend);\r\n vm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n vm.enableAgree = configService.getBool(HandbookConfiguration.EnabledAgree);\r\n vm.enableElementsIntegration = ElementsIntegrationConfiguration.ArchiveIntegrationMode != E.ArchiveIntegrationMode.None;\r\n\r\n vm.viewModeList =\r\n [\r\n { id: parseInt(E.documentTemplateViewMode.ProcessDependencies), name: globalResources.documentTemplateViewModeName.ProcessDependencies },\r\n { id: parseInt(E.documentTemplateViewMode.Normal), name: globalResources.documentTemplateViewModeName.Normal },\r\n { id: parseInt(E.documentTemplateViewMode.Process), name: globalResources.documentTemplateViewModeName.Process },\r\n { id: parseInt(E.documentTemplateViewMode.RelatedDocuments), name: globalResources.documentTemplateViewModeName.RelatedDocuments },\r\n { id: parseInt(E.documentTemplateViewMode.InvolvedChapters), name: globalResources.documentTemplateViewModeName.InvolvedChapters },\r\n ];\r\n\r\n vm.metadataList = [];\r\n vm.documentId = $stateParams.documentId;\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteDocument;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteDocument;\r\n vm.contentAnchorPrefix = prefix.contentAnchorPrefix;\r\n vm.processRelationTypes = E.ProcessRelationType;\r\n vm.showError = false;\r\n vm.isFullScreen = true;\r\n vm.heightdocumentcontentidentifier = 0;\r\n vm.FolderLinks = [];\r\n vm.menuFields = [];\r\n vm.urlDocument = window.location.origin + '/document/' + vm.documentId;\r\n vm.updateFields = updateFields;\r\n vm.goToDocumentFields = goToDocumentFields;\r\n vm.removeFromFavorite = removeFromFavorite;\r\n vm.searchAndHighlightText = searchAndHighlightText;\r\n vm.navForward = navForward;\r\n vm.navBackward = navBackward;\r\n vm.fullScreen = fullScreen;\r\n vm.selectViewModeChange = selectViewModeChange;\r\n vm.linkToDocumentManagement = linkToDocumentManagement;\r\n vm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n vm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n vm.compareDocument = compareDocument;\r\n vm.registDeviationWithDocument = registDeviationWithDocument;\r\n vm.hideCompareButton = false;\r\n vm.showContent = showContent;\r\n vm.shareFieldLink = shareFieldLink;\r\n vm.showSidebarFields = showSidebarFields;\r\n vm.printAgreeFile = printAgreeFile;\r\n vm.feedbackDocument = feedbackDocument;\r\n vm.goToDocumentInPublicHandbook = goToDocumentInPublicHandbook;\r\n vm.openAboutDocument = openAboutDocument;\r\n vm.addDocumetEmailSubscription = addDocumetEmailSubscription;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.isToggleSidebarFields = true;\r\n var isIE = detectIE();\r\n var cursorY;\r\n document.onmousemove = function (e) {\r\n cursorY = e.pageY;\r\n }\r\n vm.hideSidebarFields = hideSidebarFields;\r\n vm.agreeFiles = [];\r\n vm.extendDocumentsGridSetting = [];\r\n vm.documentNameHadExtended = '';\r\n vm.showExtendDocument = false;\r\n vm.totalExtendDocument = 0;\r\n vm.deviationUrl = HandbookConfiguration.DeviationUrl;\r\n vm.documentDeviationCategoryLink = HandbookConfiguration.DocumentDeviationCategoryLink;\r\n vm.enabledDeviation = configService.getBool(HandbookConfiguration.EnabledDeviation);\r\n vm.publicUrl = HandbookConfiguration.PublicURL;\r\n vm.isPublishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.documentPublishTooltip = HandbookConfiguration.PublicURL && !vm.isPublishedVersion ? globalResources.GoToDocumentInPublicHandbook : globalResources.PublishedToTheInternet;\r\n vm.copyUserFriendlyPublishedUrlTooltip = globalResources.CopyUserFriendlyPublishedUrl;\r\n vm.copyUserFriendlyUrlTooltip = globalResources.CopyUserFriendlyUrl;\r\n vm.documentPublishUrl = HandbookConfiguration.PublicURL + `document/${vm.documentId}`;\r\n vm.addClass = 'copy-publish-url';\r\n vm.publishUrlImg = './Content/Images/shared-publish-internet.png'\r\n vm.documentViewOption = parseInt(HandbookConfiguration.DocumentViewOption);\r\n vm.searchDocumentInMobile = false;\r\n vm.toggleSearchInMobile = toggleSearchInMobile;\r\n vm.scrollDocumentContentToTop = scrollDocumentContentToTop;\r\n vm.setViewMode = setViewMode;\r\n vm.showContentanchor = showContentanchor;\r\n vm.clearAnchorActive = clearAnchorActive;\r\n vm.getHiddenFields = getHiddenFields;\r\n vm.fieldIds = [];\r\n\r\n vm.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n vm.processClassificationTypes = E.processClassificationTypes;\r\n vm.goToProcessDetail = goToProcessDetail;\r\n\r\n vm.enableOpenDocumentOnline = configService.getBool(HandbookConfiguration.EnableOpenDocumentOnline);\r\n vm.openFileAttachOnline = openFileAttachOnline;\r\n vm.openFileDocumentOnline = openFileDocumentOnline;\r\n vm.IsHighlightExtended = false;\r\n\r\n vm.alerts = [];\r\n \r\n initialize();\r\n \r\n function initialize() {\r\n if (vm.enabledProcessModule) {\r\n vm.relatedToOrDocuments = resources.L.Document.relatedTo;\r\n }\r\n else {\r\n vm.relatedToOrDocuments = resources.L.Document.relatedDocuments;\r\n }\r\n\r\n if (vm.enableDocumentExtention) {\r\n builExtentDocumentsGridSetting();\r\n }\r\n\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n }\r\n fullScreenInit();\r\n\r\n processEmbedUrl();\r\n //check and resize the view\r\n resizeService.resizeView();\r\n //get document info from service\r\n if (!vm.isEmbedUrl) {\r\n var currentDocument = documentService.getDocuments();\r\n if (currentDocument && currentDocument.documentInformation) {\r\n vm.isFavoriteNodeSelected = true;\r\n buildDocumentObjectFromCurrentDocument(currentDocument);\r\n $rootScope.title = globalResources.Handbook + \" - \" + currentDocument.documentInformation.documentName;\r\n\r\n runServicesAfterInit();\r\n }\r\n else {\r\n vm.getHiddenFields(vm.documentId);\r\n\r\n }\r\n folderService.getFolderByVirtualDocumentId($stateParams.documentId).then(function (response) {\r\n vm.FolderLinks = response.data;\r\n });\r\n } else {\r\n vm.getHiddenFields(vm.documentId);\r\n }\r\n\r\n treeNavigationService.navigateToItemLocation(true);\r\n addScroll();\r\n if (vm.browserType == vm.BROWSER_TYPE.MOBILE) {\r\n handleScrollInMobile();\r\n }\r\n }\r\n\r\n $(window).on('resize', function () {\r\n vm.browserType = browserService.detectBrowserWindow();\r\n });\r\n\r\n function toggleSearchInMobile(){\r\n vm.searchDocumentInMobile = !vm.searchDocumentInMobile; \r\n }\r\n\r\n function builExtentDocumentsGridSetting() {\r\n vm.extendDocumentsGridSetting.push({ id: 'documentIdDisplay', name: globalResources.CommonGridColumns.DocumentId, width: 5, coldefault: true });\r\n vm.extendDocumentsGridSetting.push({ id: 'documentNameDisplay', name: globalResources.Name, width: 30, coldefault: true });\r\n vm.extendDocumentsGridSetting.push({ id: 'pathDisplay', name: globalResources.Path, width: 35, coldefault: true });\r\n vm.extendDocumentsGridSetting.push({ id: 'strCreatedDateFirstVersion', name: globalResources.CreatedDate, width: 10, coldefault: true, type: COLUMN_DATA_TYPES.STRING_DATE});\r\n vm.extendDocumentsGridSetting.push({ id: 'responsible', name: globalResources.Responsible, width: 20, coldefault: true });\r\n }\r\n\r\n function loadExtendDocumentsTab() {\r\n $http.get('/api/Documents/GetExtendDocumentsByDocumentId', { params: { 'documentId': vm.documentId } })\r\n .success(function (data, status, headers, config) {\r\n data = data || [];\r\n vm.showExtendDocument = data.length > 0;\r\n vm.totalExtendDocument = data.length;\r\n vm.extendDocuments = data;\r\n vm.extendDocumentNotification = '';\r\n\r\n let linkTemp = \"{1}\";\r\n let linkDocTemp = \"{1}\";\r\n let urlTemp = '/document/{0}';\r\n let urlFolTemp = '/folder/{0}';\r\n let count = 0;\r\n for (var i = 0; i < vm.extendDocuments.length; i++) {\r\n let document = vm.extendDocuments[i];\r\n document.documentIdDisplay = String.format(linkDocTemp, String.format(urlTemp, document.documentId), document.documentId);\r\n document.documentNameDisplay = String.format(linkDocTemp, String.format(urlTemp, document.documentId), document.documentName);\r\n document.pathDisplay = String.format(linkDocTemp, String.format(urlFolTemp, document.folderId), document.path);\r\n if (document.isDepartment) {\r\n let link = document.documentNameDisplay;\r\n vm.extendDocumentNotification += vm.extendDocumentNotification == '' ? link : ', ' + link;\r\n document.documentNameDisplay = document.documentNameDisplay + ``;\r\n count = count + 1;\r\n }\r\n }\r\n\r\n if (vm.extendDocumentNotification != '') {\r\n let message = count > 1 ? globalResources.ExtendDocumentNotification : globalResources.ExtendDocumentNotificationForOnePerson;\r\n vm.extendDocumentNotification = String.format(message, vm.extendDocumentNotification);\r\n $timeout(function () {\r\n tabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n });\r\n \r\n }\r\n });\r\n }\r\n\r\n function getReadDocuments() {\r\n var storageObject = localStorageService.getItem(localStorageKeys.readDocuments);\r\n var readDocuments = [];\r\n if (storageObject != null) {\r\n readDocuments = JSON.parse(storageObject);\r\n }\r\n\r\n var existed = false, offset;\r\n for (var i = 0; i < readDocuments.length; i++) {\r\n if (readDocuments[i].id == vm.documentId) {\r\n existed = true;\r\n offset = i;\r\n break;\r\n }\r\n }\r\n\r\n if (!existed) {\r\n readDocuments.push({ id: vm.documentId, approvedDate: vm.currentData.approvedDate });\r\n } else {\r\n readDocuments[offset].approvedDate = vm.currentData.approvedDate;\r\n }\r\n localStorageService.setItem(localStorageKeys.readDocuments, JSON.stringify(readDocuments));\r\n }\r\n\r\n\r\n\r\n function getDocument() {\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n getMetadataTab();\r\n }\r\n\r\n var params = {\r\n params: {\r\n 'documentId': $stateParams.documentId,\r\n 'ignoreRichText': ignoreRichText,\r\n 'hasExtention': vm.enableDocumentExtention,\r\n showLoading: true\r\n }\r\n };\r\n\r\n vm.currentDataPromise = $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (result, status, headers, config) {\r\n if (result != null) {\r\n if (result.data.hidden) {\r\n showMessageError(globalResources.NoAccessDocument, status);\r\n return;\r\n }\r\n vm.currentData = result.data;\r\n adjustHeightDocument();\r\n var viewMode = vm.currentData.viewMode;\r\n var hash = window.location.hash;\r\n\r\n if (vm.enableDocumentExtention && DOCUMENT_EXTENDABLE_TYPES.PARENT == vm.currentData.extendable) {\r\n loadExtendDocumentsTab();\r\n }\r\n\r\n if (vm.enableDocumentExtention && DOCUMENT_EXTENDABLE_TYPES.CHILD == vm.currentData.extendable) {\r\n let href = '/document/' + vm.currentData.documentIdHadExtended;\r\n let extendDocumentUrl = String.format(\"{1}\", href, vm.currentData.documentNameHadExtended);\r\n vm.documentNameHadExtended = globalResources.DocumentIsAnExtensionOf + extendDocumentUrl;\r\n }\r\n\r\n if (hash) {\r\n vm.currentData.viewMode = 1;\r\n\r\n }\r\n vm.currentData.fieldContents = vm.currentData.fieldContents.filter(function (x) {\r\n return x.isVisible;\r\n });\r\n vm.documentCKVersion = vm.currentData.isNewCKVersion;\r\n vm.isFavoriteNodeSelected = true;\r\n createTooltipsRelatedDocument(result.data);\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n }\r\n vm.currentData.nodeType = convertToNodeType(vm.currentData.type);\r\n if (vm.currentData.fieldContents != null) {\r\n var indexTemp = 0;\r\n\r\n var richTextRequests = [];\r\n vm.currentData.fieldContents.forEach((field) => {\r\n var fieldContent = vm.fieldIds.find((x) => x.fieldId === field.fieldId);\r\n\r\n if (fieldContent) {\r\n field.isHiddenContent = true;\r\n } else {\r\n field.isHiddenContent = false;\r\n }\r\n });\r\n var isDocumentJustCreated = vm.currentData.fieldContents.some(x => x.fieldContentId == 0);\r\n if (DOCUMENT_EXTENDABLE_TYPES.CHILD == vm.currentData.extendable && isDocumentJustCreated) {\r\n var params = {\r\n params: {\r\n 'documentId': vm.currentData.documentIdHadExtended,\r\n 'ignoreRichText': ignoreRichText,\r\n 'hasExtention': vm.enableDocumentExtention,\r\n showLoading: true,\r\n }\r\n };\r\n $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (response, status, headers, config) {\r\n response.data.fieldContents = response.data.fieldContents.filter(x => x.isVisible);\r\n richTextRequests = [];\r\n response.data.fieldContents.forEach(function (fieldContent) {\r\n if (ignoreRichText && fieldContent.fieldType == E.DocumentFieldTypes.RichText && fieldContent.fieldContentId) {\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId,\r\n documentId: vm.currentData.documentIdHadExtended,\r\n ignoreLoading: true,\r\n hasExtention: vm.enableDocumentExtention,\r\n isHiddenContent: fieldContent.isHiddenContent\r\n }\r\n }\r\n var getRichText = $http.get('/api/documents/getRichTextViewDocument', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n var childFieldContent = vm.currentData.fieldContents.find(x => x.fieldId == fieldContent.fieldId);\r\n buildContentAndAnchorFields(childFieldContent, response);\r\n }\r\n });\r\n richTextRequests.push(getRichText);\r\n }\r\n });\r\n });\r\n } else {\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n }\r\n vm.menuFields.push(\"Id\" + fieldContent.fieldId);\r\n if (ignoreRichText && fieldContent.fieldType == E.DocumentFieldTypes.RichText && fieldContent.fieldContentId) {\r\n if (vm.currentData.isHighlightExtended) {\r\n vm.IsHighlightExtended = true;\r\n }\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId,\r\n documentId: vm.documentId,\r\n hasExtention: vm.enableDocumentExtention,\r\n isHiddenContent: fieldContent.isHiddenContent, \r\n isHighlightExtended: vm.IsHighlightExtended\r\n }\r\n }\r\n //var params = {\r\n // params: {\r\n // id: fieldContent.fieldContentId,\r\n // documentId: vm.currentData.documentIdHadExtended,\r\n // ignoreLoading: true,\r\n // hasExtention: vm.enableDocumentExtention,\r\n // isHiddenContent: fieldContent.isHiddenContent\r\n // }\r\n //}\r\n\r\n var richtextRequest = $http.get('/api/documents/getRichTextViewDocument', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n buildContentAndAnchorFields(fieldContent, response);\r\n }\r\n });\r\n\r\n richTextRequests.push(richtextRequest);\r\n\r\n } else {\r\n if (fieldContent.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, fieldContent.content, false, vm.deviationUrl);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n }\r\n }\r\n\r\n fieldContent.indexShow = indexTemp;\r\n indexTemp = indexTemp + 1;\r\n });\r\n }\r\n \r\n\r\n if (ignoreRichText) {\r\n $q.all(richTextRequests).then(function () {\r\n vm.currentData.fieldContents = vm.currentData.fieldContents.filter(x => x.content != \" \"); // checkout fieldcontent is empty\r\n angular.copy(vm.currentData, vm.originalData);\r\n $timeout(function () {\r\n runServicesAfterInit();\r\n if (hash) {\r\n moveToDefaultField(hash);\r\n } else if (viewMode == 1) openDocumentFields(result.data)\r\n });\r\n\r\n\r\n });\r\n }\r\n if (vm.currentData.type == 2) {\r\n vm.menuFields.unshift(\"IdLink\");\r\n }\r\n if (vm.currentData.type == 1) {\r\n vm.menuFields.unshift(\"IdFile\");\r\n\r\n }\r\n\r\n var agree = vm.currentData.agree;\r\n if (agree && agree.id && agree.id != 0) {\r\n if (agree.searchHistoryId) {\r\n vm.agreeFiles.push({\r\n id: agree.searchHistoryId,\r\n extensionName: agree.searchHistoryFileName.split('.').pop().toUpperCase(),\r\n name: agree.searchHistoryFileName,\r\n fileTypeName: globalResources.SearchHistory,\r\n fileType: 1\r\n });\r\n }\r\n if (agree.abstractListId) {\r\n vm.agreeFiles.push({\r\n id: agree.abstractListId,\r\n extensionName: agree.abstractListFileName.split('.').pop().toUpperCase(),\r\n name: agree.abstractListFileName,\r\n fileTypeName: globalResources.AbstractList,\r\n fileType: 1\r\n });\r\n }\r\n if (agree.implementationPlanId) {\r\n vm.agreeFiles.push({\r\n id: agree.implementationPlanId,\r\n extensionName: agree.implementationPlanFileName.split('.').pop().toUpperCase(),\r\n name: agree.implementationPlanFileName,\r\n fileTypeName: globalResources.ImplementationPlan,\r\n fileType: 1\r\n });\r\n }\r\n if (vm.currentData.knowledgeTypeId == KnowledgeType.allAgreeRequirements) {\r\n vm.agreeFiles.push({\r\n id: vm.currentData.entityId,\r\n extensionName: 'pdf',\r\n name: globalResources.PicoForm,\r\n fileTypeName: globalResources.PicoForm,\r\n fileType: 2\r\n });\r\n }\r\n if (vm.currentData.knowledgeTypeId == KnowledgeType.allAgreeRequirements\r\n || vm.currentData.knowledgeTypeId == KnowledgeType.shortVersionOfAgreeRequirements) {\r\n vm.agreeFiles.push({\r\n id: vm.currentData.entityId,\r\n extensionName: 'pdf',\r\n name: globalResources.AgreeMethodReport,\r\n fileTypeName: globalResources.AgreeMethodReport,\r\n fileType: 3\r\n });\r\n }\r\n }\r\n\r\n if (vm.agreeFiles.length) {\r\n vm.menuFields.push(\"IdAgreeFiles\");\r\n }\r\n\r\n if (vm.currentData.relatedAttachments.length) {\r\n vm.menuFields.push(\"Idattachment\");\r\n }\r\n\r\n if (vm.currentData.relatedDocuments.length) {\r\n vm.menuFields.push(\"IdrelatedDocument\");\r\n }\r\n vm.updateFields();\r\n }\r\n\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas = angular.copy(vm.metadataList);\r\n formatMetadata();\r\n }\r\n vm.showDocumentLinkToBackend = vm.showDocumentLinkToBackend &&\r\n (vm.currentData.hasEditPermission || vm.currentData.hasApprovalPermission);\r\n\r\n if (!ignoreRichText || !vm.currentData.fieldContents) {\r\n runServicesAfterInit();\r\n }\r\n\r\n angular.copy(vm.currentData, vm.originalData);\r\n\r\n setTimeout(function () { documentService.stickyTitle(); }, 0);\r\n setIconForDocument(vm.currentData);\r\n getReadDocuments();\r\n sendDocumentOpenedEvent();\r\n executeDocumentTypeIfNeeded();\r\n logDocumentRead();\r\n vm.currentData.urlLink = vm.currentData.url;\r\n if (vm.currentData.url != null && vm.currentData.url.length > 3) {\r\n if (vm.currentData.url.substring(0, 3) == 'www') {\r\n vm.currentData.urlLink = 'http://' + vm.currentData.url;\r\n }\r\n }\r\n\r\n documentService.setDocuments(null); // clear service \r\n $rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n\r\n vm.isCompare = configService.getBool(HandbookConfiguration.EnableCompare) && vm.currentData.version > 0;\r\n if (!vm.isCompare && vm.currentData.extendable == DOCUMENT_EXTENDABLE_TYPES.CHILD) {\r\n documentService.checkParentExtensionHasToCompare(vm.currentData.documentId)\r\n .then(function (data) {\r\n if (data) {\r\n vm.isCompare = data;\r\n }\r\n });\r\n }\r\n\r\n if (vm.currentData.type == E.documentTypes.LinkDocument || vm.currentData.type == E.documentTypes.FileDocument) {\r\n vm.hideCompareButton = true;\r\n }\r\n return vm.currentData;\r\n } else {\r\n showMessageError(globalResources.NoAccessDocument, status);\r\n }\r\n }).catch(function (result, status, headers, config) {\r\n showMessageError(result.data, result.status);\r\n });\r\n }\r\n\r\n function buildContentAndAnchorFields(childFieldContent, response) {\r\n childFieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content, false, vm.deviationUrl);\r\n childFieldContent.content = $sce.trustAsHtml(`${childFieldContent.content} `);\r\n childFieldContent.isVisible = true;\r\n childFieldContent.fieldsAnchor = [];\r\n var aElement = document.createElement('div');\r\n aElement.innerHTML = response.data.content;\r\n var aTags = aElement.getElementsByTagName('a');\r\n if (aTags) {\r\n for (var i = 0; i < aTags.length; i++) {\r\n if (aTags[i].text.trim().length) {\r\n var itemAnchor = {\r\n value: aTags[i].text,\r\n id: aTags[i].name,\r\n name: aTags[i].id\r\n };\r\n childFieldContent.fieldsAnchor.push(itemAnchor);\r\n }\r\n\r\n }\r\n };\r\n }\r\n\r\n function getHiddenFields(documentId, result) {\r\n vm.fieldIds = [];\r\n //vm.alerts.unshift({ type: 'danger', message: \"aaaaaa\"});\r\n $http.get(handbookRequests.GetHiddenFieldsRequest, { params: { 'documentId': vm.documentId } })\r\n .success(function (data) {\r\n vm.fieldIds = data;\r\n getDocument();\r\n })\r\n .error(function (data, status, headers, config) {\r\n vm.alerts.unshift({\r\n type: 'danger', message: resources.L.Common.dontHaveActionPermission });\r\n });\r\n }\r\n\r\n function setIconForDocument(data) {\r\n data = data == null ? vm.currentData : data;\r\n var icon = '';\r\n switch (data.levelType.toString()) {\r\n case E.HandbookLevelTypes.Enterprise:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n case E.HandbookLevelTypes.Regional:\r\n icon = paths.DocumentLevelTypeRegional;\r\n break;\r\n case E.HandbookLevelTypes.Local:\r\n icon = paths.DocumentLevelTypeLocal;\r\n break;\r\n default:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n }\r\n data.docIcon = icon;\r\n }\r\n\r\n function showMessageError(message, status) {\r\n if (!status || status.toString() == '600') {\r\n vm.errorMessage = globalResources.RequiredPermissionsToReadDocument;\r\n } else if (status.toString() == '632') {\r\n vm.errorMessage = globalResources.DocumentDoNotExistOrIsArchived;\r\n } else if (status.toString() == '633') {\r\n vm.errorMessage = globalResources.DocumentDoNotExistOrIsArchivedOrNotPublished;\r\n vm.showDocumentLinkToBackendWhenError = true;\r\n } else {\r\n vm.errorMessage = message;\r\n }\r\n vm.showError = true;\r\n vm.isFavoriteNodeSelected = favoriteService.getFavoriteNodeState().isFavorited;\r\n vm.currentData.documentId = vm.documentId;\r\n vm.currentData.isFavorite = vm.isFavoriteNodeSelected;\r\n\r\n runErrorServicesAfterInit();\r\n }\r\n\r\n function getMetadataTab() {\r\n $http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n .then(function (result) {\r\n vm.metadataList = result.data;\r\n });\r\n }\r\n\r\n function formatMetadata() {\r\n if (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n });\r\n }\r\n }\r\n\r\n function rebindCurrentDocument(currentDocument) {\r\n vm.isFavoriteNodeSelected = true;\r\n vm.currentData = angular.copy(currentDocument.documentInformation);\r\n setIconForDocument(vm.currentData);\r\n $rootScope.title = globalResources.Handbook + \" - \" + vm.currentData.documentName;\r\n\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n }\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.content) {\r\n fieldContent.content = $sce.trustAsHtml(fieldContent.content + ' ');\r\n }\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n }\r\n });\r\n\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n formatMetadata();\r\n }\r\n angular.copy(vm.currentData, vm.originalData);\r\n vm.documentId = vm.currentData.documentId;\r\n\r\n runServicesAfterInit();\r\n setTimeout(function () { documentService.stickyTitle(); }, 0);\r\n var preview = $location.url().indexOf('preview');\r\n if (configService.getBool(HandbookConfiguration.ViewDocumentFieldDirectly) && preview == -1) {\r\n openDocumentFields();\r\n }\r\n }\r\n\r\n function updateFields() {\r\n if (vm.currentData.relatedAttachments && vm.currentData.relatedAttachments.length) {\r\n vm.currentData.relatedAttachments.forEach(function (x) {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n var relatedDocumentAll = angular.copy(vm.currentData.relatedDocuments);\r\n var relatedAttachmentAll = angular.copy(vm.currentData.relatedAttachments);\r\n var fieldContentsProcess = [];\r\n var fieldContentsNonProcess = [];\r\n var relatedProcessAll = angular.copy(vm.currentData.relatedProcess);\r\n\r\n vm.currentData.isShowTopBoxContent = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n var fieldContent = vm.currentData.fieldContents[i];\r\n\r\n if (checkShowFieldName(fieldContent)) {\r\n vm.currentData.isShowTopBoxContent = true;\r\n if (fieldContent.relatedAttachments && fieldContent.relatedAttachments.length) {\r\n fieldContent.relatedAttachments.forEach(function (x) {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n\r\n if (fieldContent.isProcess) {\r\n fieldContentsProcess.push(fieldContent);\r\n }\r\n else {\r\n fieldContentsNonProcess.push(fieldContent);\r\n }\r\n }\r\n\r\n var relatedDocuments = fieldContent.relatedDocuments;\r\n relatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n relatedProcessAll = relatedProcessAll.concat(fieldContent.relatedProcess);\r\n\r\n var relatedAttachments = fieldContent.relatedAttachments;\r\n relatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n var relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n return [item.verticalAlign];\r\n });\r\n var relatedBottomImages = [];\r\n var relatedTopImages = [];\r\n relatedImageGroups.forEach(function (item) {\r\n if (item.key == parseInt(E.VerticalAlign.Top)) {\r\n relatedTopImages = relatedTopImages.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n relatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n }\r\n }\r\n });\r\n fieldContent.relatedTopImages = relatedTopImages;\r\n fieldContent.relatedBottomImages = relatedBottomImages;\r\n }\r\n\r\n if (vm.currentData.isProcess) {\r\n vm.currentData.relatedDocumentAll = relatedDocumentAll;\r\n vm.currentData.relatedAttachmentAll = relatedAttachmentAll;\r\n\r\n vm.currentData.fieldContentsProcess = fieldContentsProcess;\r\n vm.currentData.fieldContentsNonProcess = fieldContentsNonProcess;\r\n\r\n vm.currentData.relatedProcessAll = relatedProcessAll;\r\n\r\n var relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n return [item.folderId];\r\n });\r\n\r\n vm.currentData.relatedDocumentGroups = [];\r\n relatedDocumentGroups.forEach(function (item) {\r\n var relatedDocumentGroup = {};\r\n relatedDocumentGroup.id = item.key;\r\n relatedDocumentGroup.name = item.value.data[0].folderName;\r\n relatedDocumentGroup.relatedDocuments = item.value.data;\r\n vm.currentData.relatedDocumentGroups.push(relatedDocumentGroup);\r\n });\r\n\r\n var relatedProcessGroups = groupBy(relatedProcessAll, function (item) {\r\n return [item.processAreaId];\r\n });\r\n vm.currentData.relatedProcessGroups = [];\r\n relatedProcessGroups.forEach(function (item) {\r\n var relatedProcessGroup = {};\r\n relatedProcessGroup.id = item.key;\r\n relatedProcessGroup.name = item.value.data[0].processAreaName;\r\n relatedProcessGroup.relatedProcesses = item.value.data;\r\n vm.currentData.relatedProcessGroups.push(relatedProcessGroup);\r\n });\r\n\r\n relatedDocumentForDependencies(relatedDocumentAll);\r\n relatedAttachmentForDependencies(relatedAttachmentAll);\r\n attachRelatedItemsFieldsForDependencies();\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.favoriteUpdate, function (e, target) {\r\n if (vm.originalData) {\r\n vm.originalData.isFavorite = target;\r\n }\r\n if (vm.currentData) {\r\n vm.currentData.isFavorite = target;\r\n }\r\n });\r\n\r\n function goToDocumentFields(fieldId, hash) {\r\n isFieldActive = false;\r\n clearActive();\r\n vm.currentData.viewMode = 1;\r\n setTimeout(function () {\r\n var field = vm.currentData.fieldContents.find(function (x) {\r\n return x.fieldId == fieldId;\r\n });\r\n if (field) showContent(fieldId, field);\r\n runServicesAfterInit();\r\n }, 1000)\r\n addScroll();\r\n\r\n }\r\n\r\n function copyFormatted(html) {\r\n // Create an iframe (isolated container) for the HTML\r\n var container = document.createElement('div');\r\n container.innerHTML = html;\r\n\r\n // Hide element\r\n container.style.position = 'fixed';\r\n container.style.pointerEvents = 'none';\r\n container.style.opacity = 0;\r\n\r\n // Mount the iframe to the DOM to make `contentWindow` available\r\n document.body.appendChild(container);\r\n\r\n // Copy to clipboard\r\n window.getSelection().removeAllRanges();\r\n\r\n var range = document.createRange();\r\n range.selectNode(container);\r\n window.getSelection().addRange(range);\r\n\r\n //copy selected dom\r\n document.execCommand('copy');\r\n\r\n // Remove the iframe\r\n document.body.removeChild(container);\r\n }\r\n\r\n function shareFieldLink(fieldId, fieldName) {\r\n if (vm.fieldShare != fieldId) {\r\n vm.fieldShare = fieldId;\r\n angular.element('#fieldShare' + fieldId).addClass('opacity-0-5');\r\n var link = window.location.href.split('#')[0] + '#p' + fieldId;\r\n var shareLink = '' + vm.currentData.documentName + ' - ' + fieldName + '';\r\n $('#html-container').text(shareLink);\r\n var htmlEditor = CodeMirror.fromTextArea(document.getElementById('html-container'), {\r\n mode: 'text/html'\r\n });\r\n var cm = $('.CodeMirror')[0].CodeMirror;\r\n $(cm.getWrapperElement()).hide();\r\n copyFormatted(htmlEditor.getValue());\r\n $timeout(function () {\r\n vm.fieldShare = 0;\r\n angular.element('#fieldShare' + fieldId).removeClass('opacity-0-5');\r\n }, 5000, false);\r\n }\r\n }\r\n\r\n function openDocumentFields(data) {\r\n for (var i = 0; i < data.fieldContents.length; i++) {\r\n var fieldContent = data.fieldContents[i];\r\n if (fieldContent.showOnPDA) {\r\n showContent(fieldContent.fieldId, fieldContent);\r\n return;\r\n }\r\n };\r\n //in case there is no PDA of documentType\r\n if (data.defaultField != null) {\r\n //get all visible field (field has contents)\r\n var allVisibleField = $filter('filter')(data.fieldContents, { isVisible: true }, true);\r\n if (allVisibleField.length != 0) {\r\n //get default field\r\n var field = $filter('filter')(allVisibleField, { fieldId: data.defaultField }, true);\r\n var fieldId = allVisibleField[0].fieldId;\r\n if (field.length) {\r\n fieldId = data.defaultField;\r\n showContent(data.defaultField, field[0]);\r\n } else if (data.fieldContents[0]) showContent(data.fieldContents[0].fieldId, data.fieldContents[0]);\r\n }\r\n } else if (data.fieldContents[0]) showContent(data.fieldContents[0].fieldId, data.fieldContents[0]);\r\n\r\n }\r\n\r\n function scrollAffectFieldSelected() {\r\n var\r\n topMenuDocument = $(\"#document-top-menu-identifier\"),\r\n topMenuDocumentHeight = topMenuDocument.outerHeight(),\r\n idCurrent = '';\r\n\r\n var mousePosition = getMousePosition();\r\n\r\n if (typeof mousePosition == 'undefined') {\r\n return;\r\n }\r\n var d;\r\n for (var i = 0; i < vm.menuFields.length; i++) {\r\n d = i;\r\n var menu = \"#\" + vm.menuFields[i];\r\n var top = $(menu).offset().top;\r\n if (mousePosition < top) {\r\n idCurrent = i == 0 ? vm.menuFields[0] : vm.menuFields[i - 1];\r\n break;\r\n }\r\n }\r\n if (idCurrent == '') {\r\n idCurrent = vm.menuFields[d];\r\n }\r\n\r\n\r\n if ((lastId !== idCurrent) && (idCurrent != '')) {\r\n lastId = idCurrent;\r\n angular.forEach(vm.currentData.fieldContents, function (fieldContent) {\r\n fieldContent.activeField = '';\r\n });\r\n clearActive();\r\n switch (lastId) {\r\n case 'IdLink':\r\n $scope.$apply(function () { vm.activeLink = true; });\r\n case 'IdFile':\r\n $scope.$apply(function () { vm.activeFile = true; });\r\n case 'Idattachment':\r\n $scope.$apply(function () { vm.activeAttachments = true; });\r\n break;\r\n case 'IdrelatedDocument':\r\n $scope.$apply(function () { vm.activeRelatedDocuments = true; });\r\n break;\r\n case 'IdAgreeFiles':\r\n $scope.$apply(function () { vm.activeAgreeFiles = true; });\r\n break;\r\n default:\r\n var fieldId = lastId.substring(2);\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n if (vm.currentData.fieldContents[i].fieldId == parseInt(fieldId)) {\r\n $scope.$apply(function () {\r\n vm.currentData.fieldContents[i].activeField = 'active';\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addScroll() {\r\n setTimeout(function () {\r\n var content = $(\".document-detail\");\r\n if (content) {\r\n content.scroll(function () {\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n function setStickyTitle() {\r\n setTimeout(function () { stickyTitle(); }, 0);\r\n }\r\n\r\n function stickyTitle(height) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title.getBoundingClientRect();\r\n var content = document.querySelector('#document-content-identifier');\r\n if (!content) {\r\n return;\r\n }\r\n\r\n var contentPosition = content.getBoundingClientRect();\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n placeholder.style.height = titlePosition.height + 'px';\r\n var isAdded = false;\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = height ? height : $('#document-content-identifier').height();\r\n\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n removeStickyTitle();\r\n $('#document-content-identifier').scroll(function () {\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat && !isAdded) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n title.parentNode.insertBefore(placeholder, title);\r\n isAdded = true;\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n $('#document-content-identifier').css('margin-top', '85px');\r\n $('#document-content-identifier').css('height', heightScroll - 85);\r\n } else if (currentPosition < heightToFloat && isAdded) {\r\n title.classList.remove('sticky');\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n title.parentNode.removeChild(placeholder);\r\n isAdded = false;\r\n $('#document-content-identifier').css('margin-top', '0px');\r\n $('#document-content-identifier').css('height', heightScroll);\r\n } else {\r\n //$('#document-content-identifier').css('height', heightScroll);\r\n }\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n\r\n });\r\n }\r\n else {\r\n $('#document-content-identifier').scroll(function () {\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? $('#document-content-identifier').scrollTop() : contentPosition.top + $('#document-content-identifier').scrollTop();\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n });\r\n }\r\n }\r\n\r\n function runInitforIE(height) {\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title.getBoundingClientRect();\r\n var content = document.querySelector('#document-content-identifier');\r\n var contentPosition = content.getBoundingClientRect();\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = height ? height : $('#document-content-identifier').height();\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n title.parentNode.insertBefore(placeholder, title);\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n $('#document-content-identifier').css('margin-top', '90px');\r\n $('#document-content-identifier').css('height', heightScroll - 90);\r\n }\r\n }\r\n }\r\n\r\n function redirectGoToDocumentFields(fieldId) {\r\n if (user.fromState && user.fromState.name == 'documentfields'\r\n && user.fromParams && user.fromParams.documentId == vm.documentId) {\r\n window.history.go(-1);\r\n } else {\r\n var hash = window.location.hash;\r\n goToDocumentFields(fieldId, hash);\r\n }\r\n }\r\n\r\n $rootScope.$on('$stateChangeStart', function (e, toState, toParams, fromState, fromParams) {\r\n user.fromState = fromState;\r\n user.fromParams = fromParams;\r\n });\r\n\r\n function removeFromFavorite() {\r\n var requestUrl = vm.removeFavoriteRequest + '/' + vm.documentId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n var target = {\r\n data: {\r\n id: vm.documentId,\r\n isDocument: true\r\n },\r\n requestType: requestType.removeRequest\r\n };\r\n broadcastService(broadcastType.favoriteTarget, target);\r\n });\r\n }\r\n\r\n function searchAndHighlightText() {\r\n highlightTextInContent();\r\n documentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n }\r\n\r\n function navForward() {\r\n documentContentsSearchService.navForward(vm.highlights);\r\n }\r\n\r\n function navBackward() {\r\n documentContentsSearchService.navBackward(vm.highlights);\r\n }\r\n\r\n function checkShowFieldName(fieldContent) {\r\n if (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function convertToNodeType(documentType) {\r\n switch (documentType.toString()) {\r\n case E.documentTypes.Document:\r\n return E.nodeTypes.Document;\r\n case E.documentTypes.LinkDocument:\r\n return E.nodeTypes.LinkDocument;\r\n case E.documentTypes.FileDocument:\r\n return E.nodeTypes.FileDocument;\r\n case E.documentTypes.ShortcutDocument:\r\n return E.nodeTypes.ShortcutDocument;\r\n }\r\n }\r\n\r\n function selectViewModeChange() { \r\n history.replaceState(\"\", document.title, window.location.pathname\r\n + window.location.search);\r\n setTimeout(function () {\r\n if (vm.currentData.fieldContents[0]);\r\n showContent(vm.currentData.fieldContents[0].fieldId, vm.currentData.fieldContents[0]);\r\n runServicesAfterInit();\r\n\r\n // change height content of document\r\n var mainBody = angular.element(\".main-container_body\").height();\r\n var docContent = angular.element(\"#content-tab\").height();\r\n\r\n angular.element('#document-content-identifier').css({\r\n height: (mainBody - docContent - 122)\r\n });\r\n\r\n }, 500)\r\n addScroll();\r\n }\r\n\r\n function runErrorServicesAfterInit() {\r\n tabStateService.closeOpenedTabIfNoPrivilege(tabStateType.documentTabState);\r\n }\r\n\r\n function scrollToAnchorIfExists() {\r\n var hash = $location.hash();\r\n if (hash != '') {\r\n $anchorScroll();\r\n }\r\n }\r\n\r\n function updateLocalAnchors() {\r\n var domContent = angular.element('div#document-content-identifier');\r\n anchorService.updateLocalAnchors(domContent);\r\n }\r\n\r\n function highlightTextInContent() {\r\n if (vm.currentData.fieldContents != undefined) {\r\n var viewMode = angular.copy(vm.currentData.viewMode);\r\n angular.copy(vm.originalData, vm.currentData);\r\n vm.currentData.viewMode = viewMode;\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n fieldContent.content = documentContentsSearchService.searchAndHighlight(fieldContent.content, vm.highlights.highlightText);\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n });\r\n }\r\n }\r\n\r\n function relatedDocumentForDependencies(relatedDocumentAll) {\r\n var relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n return [item.processRelationType];\r\n });\r\n var relatedDocumentManagements = [];\r\n var relatedDocumentResources = [];\r\n relatedDocumentGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n relatedDocumentManagements = relatedDocumentManagements.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n relatedDocumentResources = relatedDocumentResources.concat(item.value.data);\r\n }\r\n }\r\n });\r\n\r\n vm.currentData.relatedDocumentManagement = relatedDocumentManagements;\r\n vm.currentData.relatedDocumentResources = relatedDocumentResources;\r\n }\r\n\r\n function relatedAttachmentForDependencies(relatedAttachmentAll) {\r\n var relatedAttachmentGroups = groupBy(relatedAttachmentAll, function (item) {\r\n return [item.processRelationType];\r\n });\r\n\r\n var relatedAttachmentManagements = [];\r\n var relatedAttachmentResources = [];\r\n relatedAttachmentGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n relatedAttachmentManagements = relatedAttachmentManagements.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n relatedAttachmentResources = relatedAttachmentResources.concat(item.value.data);\r\n }\r\n }\r\n });\r\n vm.currentData.relatedAttachmentManagement = relatedAttachmentManagements;\r\n vm.currentData.relatedAttachmentResources = relatedAttachmentResources;\r\n }\r\n\r\n function attachRelatedItemsFieldsForDependencies() {\r\n vm.currentData.fieldContentsProcess.forEach(function (field) {\r\n var relatedDocumetFieldGroups = groupBy(field.relatedDocuments, function (item) {\r\n return [item.processRelationType];\r\n });\r\n var relatedDocumentInputValues = [];\r\n var relatedDocumentOutputValue = [];\r\n relatedDocumetFieldGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n relatedDocumentInputValues = relatedDocumentInputValues.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n relatedDocumentOutputValue = relatedDocumentOutputValue.concat(item.value.data);\r\n }\r\n }\r\n });\r\n field.relatedDocumentInputValues = relatedDocumentInputValues;\r\n field.relatedDocumentOutputValue = relatedDocumentOutputValue;\r\n\r\n var relatedAttachmentFieldGroups = groupBy(field.relatedAttachments, function (item) {\r\n return [item.processRelationType];\r\n });\r\n var relatedAttachmentInputValues = [];\r\n var relatedAttachmentOutputValue = [];\r\n relatedAttachmentFieldGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n relatedAttachmentInputValues = relatedAttachmentInputValues.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n relatedAttachmentOutputValue = relatedAttachmentOutputValue.concat(item.value.data);\r\n }\r\n }\r\n });\r\n field.relatedAttachmentInputValues = relatedAttachmentInputValues;\r\n field.relatedAttachmentOutputValue = relatedAttachmentOutputValue;\r\n });\r\n }\r\n\r\n function sendDocumentOpenedEvent() {\r\n var target = {\r\n id: vm.currentData.documentId,\r\n name: vm.currentData.documentName,\r\n type: vm.currentData.nodeType,\r\n levelType: vm.currentData.levelType,\r\n defaultFieldView: vm.currentData.defaultFieldView\r\n };\r\n broadcastService(broadcastType.documentOpenedTarget, target);\r\n }\r\n\r\n function showSidebarFields() {\r\n vm.isToggleSidebarFields = true;\r\n }\r\n\r\n function hideSidebarFields() {\r\n vm.isToggleSidebarFields = false;\r\n }\r\n\r\n function executeDocumentTypeIfNeeded() {\r\n if (vm.currentData.type == E.documentTypes.LinkDocument) {\r\n openUrlDocument();\r\n }\r\n\r\n if (vm.currentData.type == E.documentTypes.FileDocument) {\r\n openFileDocument();\r\n }\r\n }\r\n\r\n function openUrlDocument() {\r\n var urlLink = vm.currentData.url;\r\n if (vm.currentData.url != null && vm.currentData.url.length > 3) {\r\n if (vm.currentData.url.substring(0, 3) == 'www') {\r\n urlLink = 'http://' + vm.currentData.url;\r\n }\r\n }\r\n window.open(urlLink, '_blank');\r\n }\r\n\r\n function runServicesAfterInit() {\r\n updateLocalAnchors();\r\n }\r\n\r\n function openFileDocument() {\r\n if (!vm.enableOpenDocumentOnline)\r\n window.open(handbookRequests.GetFileDocumentRequest + vm.currentData.entityId, '_blank');\r\n }\r\n\r\n function compareDocument() {\r\n window.open(String.format('/document/{0}/compareWithEarlierVersion', vm.currentData.documentId), '_blank');\r\n }\r\n\r\n function registDeviationWithDocument() {\r\n window.open(vm.deviationUrl + vm.documentDeviationCategoryLink + '?documentRelatedId=' + vm.currentData.documentId, '_blank');\r\n }\r\n\r\n function fullScreen() {\r\n if (vm.isFullScreen) {\r\n documentService.showFullscreen();\r\n } else {\r\n documentService.showNormal();\r\n tabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n $('#document-content-identifier').css('margin-top', '0px');\r\n }\r\n vm.isFullScreen = !vm.isFullScreen;\r\n setTimeout(function () {\r\n var height = $('#document-content-identifier').height();\r\n stickyTitle(height);\r\n if (isIE) {\r\n runInitforIE(height);\r\n }\r\n }, 500);\r\n }\r\n\r\n function linkToDocumentManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&documentId=' + vm.documentId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'document/' + vm.documentId, '_blank');\r\n }\r\n }\r\n\r\n function getNextSearchResultByEnter(keyEvent) {\r\n if (keyEvent.which == 13) {\r\n navForward();\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.linkToDocumentManagement, function (e, target) {\r\n linkToDocumentManagement();\r\n });\r\n\r\n $scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n fullScreen();\r\n });\r\n\r\n function fullScreenInit() {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n } else {\r\n documentService.showNormal();\r\n vm.isFullScreen = true;\r\n }\r\n }\r\n\r\n function processEmbedUrl() {\r\n if (vm.isEmbedUrl) {\r\n if (vm.typeHideHeader) {\r\n angular.element('#documentHeader1Container').hide();\r\n angular.element('#fieldTitle').hide();\r\n }\r\n }\r\n }\r\n\r\n function moveToDefaultField(hash) {\r\n var hashTemp = hash.split('#p');\r\n if (hashTemp.length < 1) {\r\n var elmnt = document.getElementById(hash.split('#')[1]);\r\n if (elmnt) elmnt.scrollIntoView();\r\n return;\r\n }\r\n\r\n var field = vm.currentData.fieldContents.find(function (x) {\r\n return x.fieldId == hashTemp[1];\r\n });\r\n if (field) {\r\n\r\n showContent(hashTemp[1], field)\r\n\r\n } else {\r\n var elmnt = document.getElementById(hash.split('#')[1]);\r\n if (elmnt) elmnt.scrollIntoView();\r\n }\r\n\r\n }\r\n\r\n function clearActive() {\r\n vm.activeRelatedDocuments = false;\r\n vm.activeAttachments = false;\r\n vm.activeLink = false;\r\n vm.activeFile = false;\r\n vm.activeAgreeFiles = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n vm.currentData.fieldContents[i].activeField = '';\r\n }\r\n };\r\n\r\n function showContent(id, fieldContent) {\r\n isFieldActive = true;\r\n animationChangeBackgroundColor(id);\r\n clearActive();\r\n clearAnchorActive();\r\n if (fieldContent) {\r\n fieldContent.activeField = 'active';\r\n } else {\r\n if (String(id).indexOf('IdrelatedDocument') > -1)\r\n vm.activeRelatedDocuments = true;\r\n else if (String(id).indexOf('Idattachment') > -1)\r\n vm.activeAttachments = true;\r\n else if (String(id).indexOf('IdLink') > -1)\r\n vm.activeLink = true;\r\n else if (String(id).indexOf('IdAgreeFildes') > -1) {\r\n vm.activeAgreeFiles = true;\r\n }\r\n else\r\n vm.activeFile = true;\r\n }\r\n\r\n setTimeout(function () {\r\n isFieldActive = false;\r\n }, 2000);\r\n };\r\n\r\n\r\n function showContentanchor(id, fieldContent, itemAnchor) {\r\n isFieldActive = true;\r\n clearActive();\r\n clearAnchorActive();\r\n if (fieldContent) {\r\n fieldContent.activeField = 'active';\r\n itemAnchor.activeField = 'active';\r\n let e = document.getElementById(itemAnchor.id);\r\n e.className += \" activeAnchor\";\r\n e.scrollIntoView({\r\n block: 'start',\r\n behavior: 'smooth',\r\n inline: 'start'\r\n });\r\n } else {\r\n if (String(id).indexOf('IdrelatedDocument') > -1)\r\n vm.activeRelatedDocuments = true;\r\n else if (String(id).indexOf('Idattachment') > -1)\r\n vm.activeAttachments = true;\r\n else if (String(id).indexOf('IdLink') > -1)\r\n vm.activeLink = true;\r\n else if (String(id).indexOf('IdAgreeFildes') > -1) {\r\n vm.activeAgreeFiles = true;\r\n }\r\n else\r\n vm.activeFile = true;\r\n }\r\n \r\n setTimeout(function () {\r\n isFieldActive = false;\r\n }, 2000);\r\n };\r\n\r\n function clearAnchorActive() {\r\n vm.currentData.fieldContents.forEach((content) => {\r\n let anchors = content.fieldsAnchor;\r\n if (anchors) {\r\n anchors = anchors.filter((x) => x.id != \"\");\r\n if (anchors) {\r\n anchors.forEach((anchor) => {\r\n anchor.activeField = '';\r\n let e = document.getElementById(anchor.id);\r\n if (e) {\r\n e.className -= \" activeAnchor\";\r\n }\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n function getMousePosition() {\r\n return cursorY\r\n }\r\n\r\n function removeStickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n title.classList.remove('sticky');\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n var placeholder = document.querySelector('#placeholderTitleId');\r\n if (placeholder != null) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#document-content-identifier').unbind('scroll');\r\n }\r\n\r\n function animationChangeBackgroundColor(id) {\r\n id = String(id);\r\n var indexHash = id.indexOf('#');\r\n if (indexHash > 0) {\r\n id = id.substr(0, indexHash);\r\n }\r\n var hash = '#Id' + id;\r\n var elementId = '#Id' + id;\r\n if (id.indexOf('IdrelatedDocument') > -1 || id.indexOf('IdLink') > -1 || id.indexOf('IdFile') > -1 || id.indexOf('Idattachment') > -1\r\n || id.indexOf('IdAgreeFiles') > -1) {\r\n hash = '#' + id;\r\n elementId = '#' + id;\r\n }\r\n var $parentDiv = $('.document-detail');\r\n if ($(hash).position()) {\r\n $parentDiv.animate({ scrollTop: $(hash).position().top }, 'slow');\r\n }\r\n var $element = $(elementId);\r\n if ($element) {\r\n\r\n $element.animate({ backgroundColor: '#D7D7D7' }, 1500);\r\n $timeout(function () {\r\n $element.css(\"background-color\", \"\");\r\n }, 2000);\r\n }\r\n }\r\n\r\n function printAgreeFile(type) {\r\n if (type == 2) {\r\n window.open(String.format(handbookRequests.PrintPicoFormPdfRequest, vm.currentData.documentId, false), '_blank');\r\n return;\r\n }\r\n if (vm.currentData.knowledgeTypeId == KnowledgeType.shortVersionOfAgreeRequirements) {\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportShortVersionRequest, vm.currentData.documentId, false), '_blank');\r\n return;\r\n }\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportFullVersionRequest, vm.currentData.documentId, false), '_blank');\r\n }\r\n\r\n function feedbackDocument(positive) {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.FeedbackModalView,\r\n controller: controllers.feedbackController,\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n entityId: vm.currentData.entityId,\r\n positive: positive\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n function goToDocumentInPublicHandbook(documentId) {\r\n if (HandbookConfiguration.PublicURL && !vm.isPublishedVersion) {\r\n window.open(vm.documentPublishUrl, '_blank');\r\n }\r\n }\r\n\r\n function openAboutDocument() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/document/aboutDocumentModal.html',\r\n controller: 'AboutDocumentModalController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n documentData: vm.currentData,\r\n publishedVersion: vm.publishedVersion,\r\n folderLinks: vm.FolderLinks,\r\n enableElementsIntegration: vm.enableElementsIntegration,\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n function handleScrollInMobile() {\r\n setTimeout(function () {\r\n angular.element(document.querySelector('#documentDetailContainer')).bind('scroll', function () {\r\n const contentWithLayoutTop = $('#topmenuMobile').position().top;\r\n const topmenuMobileBottom = $('#documentHeader1Container').position().top + $('#documentHeader1Container').height();\r\n if (contentWithLayoutTop < topmenuMobileBottom) {\r\n angular.element('#documentHeader1Container').addClass('shadow-effect');\r\n angular.element('#goHeadButton').removeClass('hide');\r\n }\r\n else {\r\n angular.element('#documentHeader1Container').removeClass('shadow-effect');\r\n angular.element('#goHeadButton').addClass('hide');\r\n }\r\n })\r\n }, 0)\r\n }\r\n\r\n function scrollDocumentContentToTop() {\r\n var hash = '#topmenuMobile';\r\n var $parentDiv = $('.document-detail');\r\n if ($(hash).position()) {\r\n $parentDiv.animate({ scrollTop: $(hash).position().top }, 'slow');\r\n angular.element('#goHeadButton').addClass('hide');\r\n }\r\n \r\n }\r\n\r\n function addDocumetEmailSubscription() {\r\n var requestUrl = handbookRequests.AddEmailSubscriptionDocument + '/' + vm.currentData.documentId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.currentData.isEmailSubscribe = !vm.currentData.isEmailSubscribe;\r\n });\r\n };\r\n\r\n function setViewMode(viewMode) {\r\n vm.currentData.viewMode = viewMode;\r\n selectViewModeChange();\r\n }\r\n\r\n function adjustHeightDocument() {\r\n setTimeout(() => {\r\n var documentContentIdentifierHeight = $('#document-content-identifier').outerHeight();\r\n var reportMenuIconHeight = $('#reportMenuIcon').outerHeight();\r\n var documentFieldListNameHeight = $('#documentFieldListName').outerHeight();\r\n var documentFieldTitleHeight = $('#documentFieldTitle').outerHeight();\r\n var sum = documentContentIdentifierHeight - reportMenuIconHeight - documentFieldListNameHeight - documentFieldTitleHeight - 120;\r\n\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (sum)\r\n });\r\n },0);\r\n }\r\n\r\n function goToProcessDetail(item) {\r\n if (vm.processClassificationTypes.Processes == item.processClassification) {\r\n return '/process-fe/process-detail/' + item.processNumber;\r\n }\r\n if (vm.processClassificationTypes.ProcessInterconnected == item.processClassification) {\r\n return '/process-fe/process-interconnected/' + item.processNumber;\r\n }\r\n }\r\n\r\n function popUpWasBlocked(popUp) {\r\n return !popUp || popUp.closed || typeof popUp.closed === 'undefined'\r\n }\r\n\r\n function openFileAttachOnline(entityId, documentName, isLastVersion, isOneDrive) {\r\n var endPoint = isOneDrive ? \"/api/OneDrive/GetFileToOneDrive\" : \"/api/OneDrive/GetFile\";\r\n\r\n return $http.get(endPoint, { params: { entityId: entityId, documentName: documentName, isLastVersion: isLastVersion, showLoading: true } })\r\n .success(function (url) {\r\n const w = window.open(url, '_blank')\r\n if (popUpWasBlocked(w)) {\r\n alert(globalResources.EnablePopupBrowser);\r\n }\r\n\r\n });\r\n }\r\n\r\n function openFileDocumentOnline(entityId, documentName, isOneDrive) {\r\n var endPoint = isOneDrive ? \"/api/OneDrive/GetFileDocumentToOneDrive\" : \"/api/OneDrive/GetFileDocument\";\r\n\r\n return $http.get(endPoint, { params: { entityId: entityId, documentName: documentName, showLoading: true } })\r\n .success(function (url) {\r\n const w = window.open(url, '_blank')\r\n if (popUpWasBlocked(w)) {\r\n alert(globalResources.EnablePopupBrowser);\r\n }\r\n });\r\n }\r\n\r\n function logDocumentRead() {\r\n $http.post(handbookRequests.LogDocumentRead, { folderId: vm.currentData.folderId.toString(), entityId: vm.currentData.entityId.toString() })\r\n .success(function (data) {})\r\n }\r\n }\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('documentFieldsModule', [])\r\n .controller(\"DocumentFieldsController\", documentFieldsController);\r\n\r\n\tdocumentFieldsController.$inject = ['$http', '$sce', '$timeout', '$location', '$scope', '$rootScope', '$anchorScroll',\r\n 'documentService', 'anchorService', 'documentContentsSearchService', 'resizeService', '$stateParams', 'pubSub',\r\n 'folderService', 'treeNavigationService', '$q', 'configService'];\r\n\r\n\tfunction documentFieldsController($http, $sce, $timeout, $location, $scope, $rootScope, $anchorScroll,\r\n documentService, anchorService, documentContentsSearchService, resizeService, $stateParams, pubSub,\r\n folderService, treeNavigationService, $q, configService) {\r\n var ignoreRichText = configService.getBool(HandbookConfiguration.LazyLoadRichText);\r\n\r\n var vm = this;\r\n\r\n vm.documentInformation = {};\r\n vm.originalData = {};\r\n vm.fieldId = -1;\r\n vm.currentData = {};\r\n vm.oldData = {};\r\n vm.highlights = {\r\n highlightText: '',\r\n currentIndex: 0,\r\n totalFound: 0\r\n };\r\n vm.FolderLinks = [];\r\n\r\n\r\n var urlParams = $location.url().split('/');\r\n vm.isEmbedUrl = false;\r\n vm.typeHideHeader = false;\r\n vm.documentId = $stateParams.documentId;\r\n\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteDocument;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteDocument;\r\n\r\n if (urlParams != null && urlParams.length > 0) {\r\n vm.isEmbedUrl = urlParams[1] == 'embed';\r\n if (vm.isEmbedUrl) {\r\n vm.fieldId = urlParams[5];\r\n vm.typeHideHeader = urlParams.length == 7 ? (urlParams[6] == '1') : false;\r\n vm.documentId = urlParams[3];\r\n }\r\n }\r\n vm.urlDocument = window.location.origin + '/document/' + vm.documentId + '?preview=true';\r\n vm.showDocumentLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend);\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n\r\n vm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n vm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.showContent = showContent;\r\n vm.clearActive = clearActive;\r\n vm.searchAndHighlightText = searchAndHighlightText;\r\n vm.navForward = navForward;\r\n vm.navBackward = navBackward;\r\n vm.printDocumentField = printDocumentField;\r\n vm.fullScreen = fullScreen;\r\n vm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n vm.linkToDocumentManagement = linkToDocumentManagement;\r\n vm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n vm.documentViewOption = parseInt(HandbookConfiguration.DocumentViewOption);\r\n vm.isToggleSidebarFields = true;\r\n vm.showSidebarFields = showSidebarFields;\r\n vm.hideSidebarFields = hideSidebarFields;\r\n vm.compareDocument = compareDocument;\r\n vm.hideCompareButton = false;\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.deviationUrl = HandbookConfiguration.DeviationUrl;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n fullScreenInit();\r\n\r\n processEmbedUrl();\r\n //check and resize the view\r\n resizeService.resizeView();\r\n //get document info from service\r\n if (!vm.isEmbedUrl) {\r\n var currentDocument = documentService.getDocuments();\r\n\r\n if (currentDocument && currentDocument.documentInformation) {\r\n vm.isFavoriteNodeSelected = true;\r\n buildDocumentObjectFromCurrentDocument(currentDocument);\r\n $rootScope.title = globalResources.Handbook + \" - \" + currentDocument.documentInformation.documentName;\r\n angular.copy(vm.documentInformation, vm.originalData);\r\n runServicesAfterInit();\r\n }\r\n else {\r\n getDocument();\r\n }\r\n folderService.getFolderByVirtualDocumentId($stateParams.documentId).then(function (response) {\r\n vm.FolderLinks = response.data;\r\n });\r\n } else {\r\n getDocument();\r\n }\r\n treeNavigationService.navigateToItemLocation(true);\r\n };\r\n\r\n function processEmbedUrl() {\r\n if (vm.isEmbedUrl) {\r\n if (vm.typeHideHeader) {\r\n angular.element('#documentHeader1Container').hide();\r\n angular.element('#fieldTitle').hide();\r\n }\r\n }\r\n }\r\n\r\n function linkToDocumentManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&documentId=' + vm.documentId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'document/' + vm.documentId, '_blank');\r\n }\r\n };\r\n\r\n function getDocument() {\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n getMetadataTab();\r\n }\r\n\r\n var params = {\r\n params: {\r\n 'documentId': vm.documentId,\r\n 'ignoreRichText': ignoreRichText,\r\n showLoading: true\r\n }\r\n };\r\n vm.currentDataPromise =\r\n $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (result) {\r\n vm.isFavoriteNodeSelected = true;\r\n createTooltipsRelatedDocument(result.data);\r\n vm.oldData = result.data;\r\n vm.documentCKVersion = vm.oldData.isNewCKVersion;\r\n if (vm.oldData.description) {\r\n vm.oldData.description = $sce.trustAsHtml(vm.oldData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n }\r\n vm.oldData.nodeType = convertToNodeType(vm.oldData.type);\r\n if (vm.oldData.fieldContents != null) {\r\n\r\n var richTextRequests = [];\r\n\r\n vm.oldData.fieldContents.forEach(function (fieldContent) {\r\n if (!vm.oldData.fieldId) {\r\n vm.oldData.fieldId = fieldContent.fieldId;\r\n }\r\n\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n }\r\n\r\n if (ignoreRichText && fieldContent.fieldType == 6 && fieldContent.fieldContentId) {\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId,\r\n documentId: vm.documentId\r\n }\r\n }\r\n\r\n var getRichText = $http.get('/api/documents/getRichText', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content,false, vm.deviationUrl);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n fieldContent.isVisible = true;\r\n }\r\n });\r\n\r\n richTextRequests.push(getRichText);\r\n } else {\r\n if (fieldContent.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content, false, vm.deviationUrl);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n }\r\n }\r\n });\r\n\r\n\r\n if (ignoreRichText) {\r\n $q.all(richTextRequests).then(function () {\r\n angular.copy(vm.oldData, vm.originalData);\r\n vm.oldData.documentInformation = angular.copy(vm.oldData);\r\n vm.oldData.confirmInformation = vm.currentData.confirmInformation;\r\n\r\n if (vm.isEmbedUrl) {\r\n vm.oldData.fieldId = vm.fieldId;\r\n } else {\r\n vm.oldData.fieldId = $stateParams.fieldId;\r\n }\r\n buildDocumentObjectFromCurrentDocument(vm.oldData);\r\n runServicesAfterInit();\r\n });\r\n }\r\n\r\n updateFields();\r\n }\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n vm.oldData.metadatas = angular.copy(vm.metadataList);\r\n formatMetadata();\r\n }\r\n\r\n if (!ignoreRichText || !vm.oldData.fieldContents){\r\n angular.copy(vm.oldData, vm.originalData);\r\n vm.oldData.documentInformation = angular.copy(vm.oldData);\r\n vm.oldData.confirmInformation = vm.currentData.confirmInformation;\r\n\r\n if (vm.isEmbedUrl) {\r\n vm.oldData.fieldId = vm.fieldId;\r\n } else {\r\n vm.oldData.fieldId = $stateParams.fieldId;\r\n }\r\n buildDocumentObjectFromCurrentDocument(vm.oldData);\r\n runServicesAfterInit();\r\n }\r\n\r\n documentService.setDocuments(null); // clear service\r\n vm.showDocumentLinkToBackend = vm.showDocumentLinkToBackend &&\r\n\t\t\t\t\t\t\t(vm.oldData.hasEditPermission || vm.oldData.hasApprovalPermission);\r\n\r\n vm.isCompare = configService.getBool(HandbookConfiguration.EnableCompare) && vm.oldData.version > 0;\r\n if (vm.currentData.type == E.documentTypes.LinkDocument || vm.currentData.type == E.documentTypes.FileDocument) {\r\n vm.hideCompareButton = true;\r\n }\r\n $rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n return vm.currentData;\r\n })\r\n .catch(function (result) {\r\n vm.errorMessage = result.data;\r\n vm.showError = true;\r\n // Update currentData so favorite button work\r\n vm.currentData.documentId = vm.documentId;\r\n runErrorServicesAfterInit();\r\n });\r\n };\r\n\r\n function getMetadataTab() {\r\n $http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n .then(function (result) {\r\n vm.metadataList = result.data;\r\n });\r\n };\r\n\r\n function formatMetadata() {\r\n if (vm.isShowMetadata && vm.oldData.metadatas && vm.oldData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n vm.oldData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n });\r\n }\r\n }\r\n\r\n function updateFields() {\r\n var relatedDocumentAll = angular.copy(vm.oldData.relatedDocuments);\r\n var relatedAttachmentAll = angular.copy(vm.oldData.relatedAttachments);\r\n\r\n vm.oldData.isShowTopBoxContent = false;\r\n\r\n for (var i = 0; i < vm.oldData.fieldContents.length; i++) {\r\n var fieldContent = vm.oldData.fieldContents[i];\r\n if (checkShowFieldName(fieldContent)) {\r\n vm.oldData.isShowTopBoxContent = true;\r\n }\r\n\r\n var relatedDocuments = fieldContent.relatedDocuments;\r\n relatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n var relatedAttachments = fieldContent.relatedAttachments;\r\n relatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n var relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n return [item.verticalAlign];\r\n });\r\n var relatedBottomImages = [];\r\n var relatedTopImages = [];\r\n relatedImageGroups.forEach(function (item) {\r\n if (item.key == parseInt(E.VerticalAlign.Top)) {\r\n relatedTopImages = relatedTopImages.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n relatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n }\r\n }\r\n });\r\n fieldContent.relatedTopImages = relatedTopImages;\r\n fieldContent.relatedBottomImages = relatedBottomImages;\r\n }\r\n };\r\n\r\n function checkShowFieldName(fieldContent) {\r\n\t\t\tif (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function convertToNodeType(documentType) {\r\n switch (documentType.toString()) {\r\n case E.documentTypes.Document:\r\n return E.nodeTypes.Document;\r\n case E.documentTypes.LinkDocument:\r\n return E.nodeTypes.LinkDocument;\r\n case E.documentTypes.FileDocument:\r\n return E.nodeTypes.FileDocument;\r\n case E.documentTypes.ShortcutDocument:\r\n return E.nodeTypes.ShortcutDocument;\r\n }\r\n }\r\n\r\n function setIconForDocument(data) {\r\n data = data == null ? vm.currentData : data;\r\n var icon = '';\r\n switch (data.levelType.toString()) {\r\n case E.HandbookLevelTypes.Enterprise:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n case E.HandbookLevelTypes.Regional:\r\n icon = paths.DocumentLevelTypeRegional;\r\n break;\r\n case E.HandbookLevelTypes.Local:\r\n icon = paths.DocumentLevelTypeLocal;\r\n break;\r\n default:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n }\r\n data.docIcon = icon;\r\n }\r\n\r\n function buildDocumentObjectFromCurrentDocument(currentDocument) {\r\n if (currentDocument) {\r\n vm.documentInformation = angular.copy(currentDocument.documentInformation);\r\n vm.currentData = angular.copy(currentDocument.documentInformation);\r\n setIconForDocument(vm.documentInformation);\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n }\r\n if (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.nameDisplay.toString());\r\n });\r\n }\r\n if (vm.documentInformation) {\r\n for (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n if (vm.documentInformation.fieldContents[i].fieldId == currentDocument.fieldId) {\r\n vm.fieldId = currentDocument.fieldId;\r\n vm.currentData.confirmInformation = currentDocument.confirmInformation;\r\n vm.documentInformation.fieldContents[i].activeField = 'active';\r\n if (vm.documentInformation.fieldContents[i].fieldName) {\r\n vm.documentInformation.fieldName = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].fieldName.toString());\r\n }\r\n if (vm.documentInformation.fieldContents[i].content) {\r\n vm.documentInformation.content = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].content.toString());\r\n }\r\n vm.documentInformation.relatedDocuments = vm.documentInformation.fieldContents[i].relatedDocuments;\r\n vm.documentInformation.relatedAttachments = vm.documentInformation.fieldContents[i].relatedAttachments;\r\n\r\n vm.documentInformation.relatedTopImages = vm.documentInformation.fieldContents[i].relatedTopImages;\r\n vm.documentInformation.relatedBottomImages = vm.documentInformation.fieldContents[i].relatedBottomImages;\r\n }\r\n else {\r\n vm.documentInformation.fieldContents[i].activeField = '';\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n function showContent(fieldItem, type) {\r\n vm.clearActive();\r\n if (fieldItem) {\r\n fieldItem.activeField = 'active';\r\n if (fieldItem.fieldName) {\r\n vm.documentInformation.fieldName = $sce.trustAsHtml(fieldItem.fieldName);\r\n }\r\n if (fieldItem.content) {\r\n vm.documentInformation.content = $sce.trustAsHtml(fieldItem.content.toString());\r\n } else {\r\n vm.documentInformation.content = '';\r\n }\r\n vm.documentInformation.relatedDocuments = fieldItem.relatedDocuments;\r\n vm.documentInformation.relatedAttachments = fieldItem.relatedAttachments;\r\n vm.documentInformation.relatedTopImages = fieldItem.relatedTopImages;\r\n vm.documentInformation.relatedBottomImages = fieldItem.relatedBottomImages;\r\n vm.fieldId = fieldItem.fieldId;\r\n angular.copy(vm.documentInformation, vm.originalData);\r\n updateLocalAnchors();\r\n } else {\r\n clearDocumentInformation();\r\n if (type == 0) {\r\n vm.activeRelatedDocuments = true;\r\n vm.documentInformation.relatedDocuments = vm.currentData.relatedDocuments;\r\n } else {\r\n vm.activeAttachments = true;\r\n vm.documentInformation.relatedAttachments = vm.currentData.relatedAttachments;\r\n }\r\n }\r\n };\r\n\r\n $scope.$watch('vm.documentInformation.fieldName', function (newValue, oldValue) {\r\n pubSub.publish(broadcastType.loadContentFieldDone, { fieldName: newValue });\r\n });\r\n\r\n function clearDocumentInformation() {\r\n vm.documentInformation.fieldName = '';\r\n vm.documentInformation.content = '';\r\n vm.documentInformation.relatedDocuments = null;\r\n vm.documentInformation.relatedAttachments = null;\r\n vm.documentInformation.relatedTopImages = null;\r\n vm.documentInformation.relatedBottomImages = null;\r\n }\r\n\r\n function clearActive() {\r\n\r\n vm.activeRelatedDocuments = false;\r\n vm.activeAttachments = false;\r\n\r\n for (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n vm.documentInformation.fieldContents[i].activeField = '';\r\n }\r\n };\r\n\r\n function searchAndHighlightText() {\r\n highlightTextInContent();\r\n documentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n };\r\n\r\n function navForward() {\r\n documentContentsSearchService.navForward(vm.highlights);\r\n };\r\n\r\n function navBackward() {\r\n documentContentsSearchService.navBackward(vm.highlights);\r\n };\r\n\r\n function printDocumentField() {\r\n window.open(String.format(handbookRequests.PrintHtmlFieldRequest, vm.documentInformation.documentId, vm.fieldId));\r\n };\r\n\r\n function highlightTextInContent() {\r\n if (vm.documentInformation.content != undefined) {\r\n angular.copy(vm.originalData, vm.documentInformation);\r\n vm.documentInformation.content = documentContentsSearchService.searchAndHighlight(vm.documentInformation.content, vm.highlights.highlightText);\r\n }\r\n };\r\n\r\n function updateLocalAnchors() {\r\n $timeout(function () {\r\n var domContent = angular.element('div.contentWithLayout');\r\n\t\t\t\tanchorService.updateLocalAnchors(domContent, true);\r\n\t\t\t\tscrollToAnchorIfExists();\r\n });\r\n }\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\r\n function runServicesAfterInit() {\r\n updateLocalAnchors();\r\n }\r\n\r\n function fullScreen() {\r\n if (vm.isFullScreen) {\r\n documentService.showFullscreen();\r\n } else {\r\n documentService.showNormal();\r\n }\r\n vm.isFullScreen = !vm.isFullScreen;\r\n }\r\n\r\n function fullScreenInit() {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n } else {\r\n documentService.showNormal();\r\n vm.isFullScreen = true;\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n fullScreen();\r\n });\r\n\r\n function anchorClick(hash) {\r\n if (vm.documentInformation.fieldContents.length == 1)\r\n return;\r\n var existedAnchor = false;\r\n var domContent = angular.element('div.contentWithLayout');\r\n angular.forEach(domContent.find('a[name]'), function (tag) {\r\n if (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n existedAnchor = true;\r\n }\r\n });\r\n if (existedAnchor)\r\n return;\r\n\r\n if (hash.hash.indexOf('AndreEH%C3%A5ndboksdokumenter') != -1) {\r\n if (vm.currentData.relatedDocuments.length > 0) {\r\n showContent(null, 0);\r\n }\r\n return;\r\n }\r\n if (hash.hash.indexOf('vedlegg') != -1) {\r\n if (vm.currentData.relatedAttachments.length > 0) {\r\n showContent(null, 1);\r\n }\r\n return;\r\n }\r\n var field = null;\r\n for (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n var fieldContent = vm.documentInformation.fieldContents[i];\r\n if (fieldContent.fieldId == vm.fieldId || !fieldContent.content) {\r\n continue;\r\n }\r\n\r\n var div = document.createElement('div');\r\n div.innerHTML = fieldContent.content;\r\n domContent = angular.element(div);\r\n angular.forEach(domContent.find('a[name]'), function (tag) {\r\n if (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n existedAnchor = true;\r\n }\r\n });\r\n if (existedAnchor) {\r\n field = fieldContent;\r\n break;\r\n }\r\n }\r\n if (field != null) {\r\n showContent(field);\r\n }\r\n }\r\n\r\n function getNextSearchResultByEnter(keyEvent) {\r\n if (keyEvent.which == 13) {\r\n navForward();\r\n }\r\n }\r\n\r\n $scope.$on('anchorclick', function (e, target) {\r\n anchorClick(target);\r\n });\r\n\r\n function showSidebarFields() {\r\n vm.isToggleSidebarFields = true;\r\n }\r\n\r\n function hideSidebarFields() {\r\n vm.isToggleSidebarFields = false;\r\n\t\t}\r\n\r\n\t\tfunction compareDocument() {\r\n\t\t\twindow.open(String.format('/document/{0}/compareWithEarlierVersion', vm.documentId), '_blank');\r\n\t\t}\r\n };\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp')\r\n .controller(\"FieldsContentWholeDocumentController\", FieldsContentWholeDocumentController);\r\n\r\n FieldsContentWholeDocumentController.$inject = ['$http','$state', '$sce', '$timeout', '$location', '$scope', '$rootScope', '$anchorScroll',\r\n 'documentService', 'anchorService', 'documentContentsSearchService', 'resizeService', '$stateParams', 'pubSub', 'folderService',\r\n 'treeNavigationService', '$q', 'tabStateService', 'configService'];\r\n\r\n function FieldsContentWholeDocumentController($http, $state, $sce, $timeout, $location, $scope, $rootScope, $anchorScroll,\r\n documentService, anchorService, documentContentsSearchService, resizeService, $stateParams, pubSub, folderService,\r\n treeNavigationService, $q, tabStateService, configService) {\r\n\r\n var ignoreRichText = configService.getBool(HandbookConfiguration.LazyLoadRichText);\r\n\r\n var vm = this;\r\n\r\n //vm.documentInformation = {};\r\n vm.originalData = {};\r\n vm.fieldId = -1;\r\n vm.currentData = {};\r\n vm.highlights = {\r\n highlightText: '',\r\n currentIndex: 0,\r\n totalFound: 0\r\n };\r\n vm.FolderLinks = [];\r\n vm.menuFields = [];\r\n\t\tvar isIE = detectIE();\r\n\r\n var urlParams = $location.url().split('/');\r\n var isFieldActive;\r\n vm.isEmbedUrl = false;\r\n vm.typeHideHeader = false;\r\n vm.documentId = $stateParams.documentId;\r\n vm.hideGoToDocumentFields = true;\r\n\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteDocument;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteDocument;\r\n\r\n if (urlParams != null && urlParams.length > 0) {\r\n vm.isEmbedUrl = urlParams[1] == 'embed';\r\n if (vm.isEmbedUrl) {\r\n vm.fieldId = urlParams[5];\r\n vm.typeHideHeader = urlParams.length == 7 ? (urlParams[6] == '1') : false;\r\n vm.documentId = urlParams[3];\r\n }\r\n }\r\n vm.urlDocument = window.location.origin + '/document/' + vm.documentId + '?preview=true';\r\n vm.showDocumentLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend);\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n\r\n vm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n vm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.showContent = showContent;\r\n vm.searchAndHighlightText = searchAndHighlightText;\r\n vm.navForward = navForward;\r\n vm.navBackward = navBackward;\r\n vm.printDocumentField = printDocumentField;\r\n vm.fullScreen = fullScreen;\r\n vm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n vm.linkToDocumentManagement = linkToDocumentManagement;\r\n vm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n vm.documentViewOption = parseInt(HandbookConfiguration.DocumentViewOption);\r\n vm.isToggleSidebarFields = true;\r\n vm.showSidebarFields = showSidebarFields;\r\n vm.hideSidebarFields = hideSidebarFields;\r\n\t\tvm.setStickyTitle = setStickyTitle;\r\n vm.compareDocument = compareDocument;\r\n vm.hideCompareButton = false;\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n initialize();\r\n\r\n function initialize() {\r\n window.location.replace('/document/' + $stateParams.documentId + '#' + $stateParams.fieldId)\r\n };\r\n\r\n function processEmbedUrl() {\r\n if (vm.isEmbedUrl) {\r\n if (vm.typeHideHeader) {\r\n angular.element('#documentHeader1Container').hide();\r\n angular.element('#fieldTitle').hide();\r\n }\r\n }\r\n }\r\n\r\n function linkToDocumentManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&documentId=' + vm.documentId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'document/' + vm.documentId, '_blank');\r\n }\r\n };\r\n\r\n function getDocument() {\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n getMetadataTab();\r\n }\r\n\r\n var params = {\r\n params: {\r\n 'documentId': vm.documentId,\r\n 'ignoreRichText': ignoreRichText,\r\n showLoading: true\r\n }\r\n };\r\n\r\n vm.currentDataPromise =\r\n $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (result) {\r\n var fieldIdTemp = vm.isEmbedUrl ? vm.fieldId : $stateParams.fieldId;\r\n vm.isFavoriteNodeSelected = true;\r\n createTooltipsRelatedDocument(result.data);\r\n vm.currentData = result.data;\r\n vm.documentCKVersion = vm.currentData.isNewCKVersion;\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n }\r\n vm.currentData.nodeType = convertToNodeType(vm.currentData.type);\r\n var fieldContentTemp = null;\r\n if (vm.currentData.fieldContents != null) {\r\n\r\n var richTextRequests = [];\r\n\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.fieldId == fieldIdTemp) {\r\n fieldContentTemp = fieldContent;\r\n }\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n }\r\n vm.menuFields.push(\"Id\" + fieldContent.fieldId);\r\n\r\n if (ignoreRichText && fieldContent.fieldType == 6 && fieldContent.fieldContentId) {\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId\r\n }\r\n }\r\n\r\n var getRichText = $http.get('/api/documents/getRichText', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n fieldContent.isVisible = true;\r\n }\r\n });\r\n\r\n richTextRequests.push(getRichText);\r\n } else {\r\n if (fieldContent.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n }\r\n }\r\n });\r\n\r\n if (ignoreRichText) {\r\n $q.all(richTextRequests).then(function () {\r\n angular.copy(vm.currentData, vm.originalData);\r\n $timeout(function () {\r\n showContent(fieldIdTemp, fieldContentTemp);\r\n });\r\n $timeout(function () {\r\n runServicesAfterInit();\r\n }, 2000);\r\n });\r\n }\r\n\r\n updateFields();\r\n\r\n if (vm.currentData.relatedDocuments.length > 0) {\r\n vm.menuFields.push(\"IdrelatedDocument\");\r\n }\r\n if (vm.currentData.relatedAttachments.length > 0) {\r\n vm.menuFields.push(\"Idattachment\");\r\n }\r\n }\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas = angular.copy(vm.metadataList);\r\n formatMetadata();\r\n }\r\n\r\n documentService.setDocuments(null); // clear service\r\n vm.showDocumentLinkToBackend = vm.showDocumentLinkToBackend &&\r\n\t\t\t\t\t\t\t(vm.currentData.hasEditPermission || vm.currentData.hasApprovalPermission);\r\n\r\n $rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n\r\n angular.copy(vm.currentData, vm.originalData);\r\n vm.currentData.fieldId = fieldIdTemp;\r\n\r\n if(!ignoreRichText || !vm.currentData.fieldContents){\r\n $timeout(function () {\r\n showContent(fieldIdTemp, fieldContentTemp);\r\n });\r\n $timeout(function () {\r\n runServicesAfterInit();\r\n }, 2000);\r\n }\r\n\r\n setTimeout(function () { stickyTitle(); }, 0);\r\n updateAfterCurrentDataChanged();\r\n vm.isCompare = configService.getBool(HandbookConfiguration.EnableCompare) && vm.currentData.version > 0;\r\n if (vm.currentData.type == E.documentTypes.LinkDocument || vm.currentData.type == E.documentTypes.FileDocument) {\r\n vm.hideCompareButton = true;\r\n }\r\n return vm.currentData;\r\n })\r\n .catch(function (result) {\r\n vm.errorMessage = result.data;\r\n vm.showError = true;\r\n // Update currentData so favorite button work\r\n vm.currentData.documentId = vm.documentId;\r\n });\r\n };\r\n\r\n function scrollAffectFieldSelected() {\r\n var lastId,\r\n topMenuDocument = $(\"#document-top-menu-identifier\"),\r\n topMenuDocumentHeight = topMenuDocument.outerHeight(),\r\n idCurrent = '';\r\n for (var i = 0; i < vm.menuFields.length; i++) {\r\n var item = \"#\" + vm.menuFields[i];\r\n if ($(item).length) {\r\n var top = $(item).offset().top;\r\n if ((top < topMenuDocumentHeight + 250) && (top > 0)) {\r\n idCurrent = vm.menuFields[i];\r\n break;\r\n }\r\n }\r\n }\r\n if ((lastId !== idCurrent) && (idCurrent != '')) {\r\n lastId = idCurrent;\r\n angular.forEach(vm.currentData.fieldContents, function (fieldContent) {\r\n fieldContent.activeField = '';\r\n });\r\n switch (lastId) {\r\n case 'Idattachment':\r\n vm.activeAttachments = true;\r\n break;\r\n case 'IdrelatedDocument':\r\n vm.activeRelatedDocuemnts = true;\r\n break;\r\n default:\r\n var fieldId = lastId.substring(2);\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n if (vm.currentData.fieldContents[i].fieldId == parseInt(fieldId)) {\r\n $scope.$apply(function () {\r\n vm.currentData.fieldContents[i].activeField = 'active';\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\t\t}\r\n\r\n\t\tfunction setStickyTitle() {\r\n\t\t\tsetTimeout(function () { stickyTitle(); }, 0);\r\n\t\t}\r\n\r\n\t\tfunction stickyTitle(height) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title.getBoundingClientRect();\r\n var content = document.querySelector('#document-content-identifier');\r\n if (!content) {\r\n return;\r\n }\r\n\r\n var contentPosition = content.getBoundingClientRect();\r\n\t\t\tvar placeholder = $(\"#placeholderTitleId\")\r\n\t\t\tif (placeholder.length > 0) {\r\n\t\t\t\tplaceholder.remove();\r\n\t\t\t}\r\n\t\t\tplaceholder = document.createElement('div');\r\n\t\t\tplaceholder.id = \"placeholderTitleId\";\r\n placeholder.style.height = titlePosition.height + 'px';\r\n var isAdded = false;\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n\t\t\tvar heightScroll = height ? height : $('#document-content-identifier').height();\r\n\r\n\t\t\tif ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n\t\t\t\tremoveStickyTitle();\r\n\t\t\t\t$('#document-content-identifier').scroll(function () {\r\n\t\t\t\t\tvar scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n\t\t\t\t\tcurrentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n\t\t\t\t\tif (currentPosition >= heightToFloat && !isAdded) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n\t\t\t\t\t\ttitle.parentNode.insertBefore(placeholder, title);\r\n\t\t\t\t\t\tisAdded = true;\r\n\t\t\t\t\t\tvar contentWidth = $('#document-content-identifier').width() + 10;\r\n\t\t\t\t\t\tif (!isfullScreen) {\r\n\t\t\t\t\t\t\t$('#documentTitle').css('top', contentPosition.top);\r\n\t\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\theightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n\t\t\t\t\t\t$('#document-content-identifier').css('margin-top', '85px');\r\n\t\t\t\t\t\t$('#document-content-identifier').css('height', heightScroll -85);\r\n\t\t\t\t\t} else if (currentPosition < heightToFloat && isAdded) {\r\n title.classList.remove('sticky');\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n\r\n\t\t\t\t\t\t$('#documentTitle').css('top', '');\r\n\t\t\t\t\t\t$('#documentTitle').css('width', '');\r\n\t\t\t\t\t\t$('#documentTitle').css('background-color', '');\r\n\t\t\t\t\t\t$('#documentTitle').css('margin-left', '');\r\n\t\t\t\t\t\ttitle.parentNode.removeChild(placeholder);\r\n\t\t\t\t\t\tisAdded = false;\r\n\t\t\t\t\t\t$('#document-content-identifier').css('margin-top', '0px');\r\n\t\t\t\t\t\t$('#document-content-identifier').css('height', heightScroll);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//$('#document-content-identifier').css('height', heightScroll);\r\n\t\t\t\t\t}\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n\r\n });\r\n }\r\n else {\r\n $('#document-content-identifier').scroll(function () {\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? $('#document-content-identifier').scrollTop() : contentPosition.top + $('#document-content-identifier').scrollTop();\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n });\r\n }\r\n }\r\n\r\n\t\tfunction runInitforIE(height) {\r\n\t\t\tif ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n\t\t\t\tvar title = document.querySelector('#documentTitle');\r\n\t\t\t\tvar titlePosition = title.getBoundingClientRect();\r\n\t\t\t\tvar content = document.querySelector('#document-content-identifier');\r\n\t\t\t\tvar contentPosition = content.getBoundingClientRect();\r\n\t\t\t\tvar placeholder = $(\"#placeholderTitleId\")\r\n\t\t\t\tif (placeholder.length > 0) {\r\n\t\t\t\t\tplaceholder.remove();\r\n\t\t\t\t}\r\n\t\t\t\tplaceholder = document.createElement('div');\r\n\t\t\t\tplaceholder.id = \"placeholderTitleId\";\r\n\t\t\t\tvar heightToFloat = 0, currentPosition = 0;\r\n\t\t\t\theightToFloat = contentPosition.top + 50;\r\n\t\t\t\tvar heightScroll = height ? height: $('#document-content-identifier').height();\r\n\t\t\t\tvar scrollTop = $('#document-content-identifier').scrollTop();\r\n\t\t\t\tvar isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n\t\t\t\tcurrentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n\t\t\t\tif (currentPosition >= heightToFloat) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n\t\t\t\t\ttitle.parentNode.insertBefore(placeholder, title);\r\n\t\t\t\t\tvar contentWidth = $('#document-content-identifier').width() + 10;\r\n\t\t\t\t\tif (!isfullScreen) {\r\n\t\t\t\t\t\t$('#documentTitle').css('top', contentPosition.top);\r\n\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t}\r\n\t\t\t\t\theightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n\t\t\t\t\t$('#document-content-identifier').css('margin-top', '90px');\r\n\t\t\t\t\t$('#document-content-identifier').css('height', heightScroll - 90);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n function removeStickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n title.classList.remove('sticky');\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n\t\t\t$('#documentTitle').css('margin-left', '');\r\n var placeholder = document.querySelector('#placeholderTitleId');\r\n if (placeholder != null) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#document-content-identifier').unbind('scroll');\r\n }\r\n\r\n\r\n function getMetadataTab() {\r\n $http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n .then(function (result) {\r\n vm.metadataList = result.data;\r\n });\r\n };\r\n\r\n function formatMetadata() {\r\n if (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n });\r\n }\r\n }\r\n\r\n function updateFields() {\r\n var relatedDocumentAll = angular.copy(vm.currentData.relatedDocuments);\r\n var relatedAttachmentAll = angular.copy(vm.currentData.relatedAttachments);\r\n\r\n vm.currentData.isShowTopBoxContent = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n var fieldContent = vm.currentData.fieldContents[i];\r\n if (checkShowFieldName(fieldContent)) {\r\n vm.currentData.isShowTopBoxContent = true;\r\n }\r\n\r\n var relatedDocuments = fieldContent.relatedDocuments;\r\n relatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n var relatedAttachments = fieldContent.relatedAttachments;\r\n relatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n var relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n return [item.verticalAlign];\r\n });\r\n var relatedBottomImages = [];\r\n var relatedTopImages = [];\r\n relatedImageGroups.forEach(function (item) {\r\n if (item.key == parseInt(E.VerticalAlign.Top)) {\r\n relatedTopImages = relatedTopImages.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n relatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n }\r\n }\r\n });\r\n fieldContent.relatedTopImages = relatedTopImages;\r\n fieldContent.relatedBottomImages = relatedBottomImages;\r\n }\r\n };\r\n\r\n function checkShowFieldName(fieldContent) {\r\n if (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function convertToNodeType(documentType) {\r\n switch (documentType.toString()) {\r\n case E.documentTypes.Document:\r\n return E.nodeTypes.Document;\r\n case E.documentTypes.LinkDocument:\r\n return E.nodeTypes.LinkDocument;\r\n case E.documentTypes.FileDocument:\r\n return E.nodeTypes.FileDocument;\r\n case E.documentTypes.ShortcutDocument:\r\n return E.nodeTypes.ShortcutDocument;\r\n }\r\n }\r\n\r\n function setIconForDocument(data) {\r\n data = data == null ? vm.currentData : data;\r\n var icon = '';\r\n switch (data.levelType.toString()) {\r\n case E.HandbookLevelTypes.Enterprise:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n case E.HandbookLevelTypes.Regional:\r\n icon = paths.DocumentLevelTypeRegional;\r\n break;\r\n case E.HandbookLevelTypes.Local:\r\n icon = paths.DocumentLevelTypeLocal;\r\n break;\r\n default:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n }\r\n data.docIcon = icon;\r\n }\r\n\r\n function updateAfterCurrentDataChanged() {\r\n setIconForDocument(vm.currentData);\r\n }\r\n\r\n function buildDocumentObjectFromCurrentDocument(currentDocument) {\r\n if (currentDocument) {\r\n vm.currentData = angular.copy(currentDocument.documentInformation);\r\n angular.copy(currentDocument.documentInformation, vm.originalData);\r\n updateAfterCurrentDataChanged();\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n }\r\n var fieldContent = '';\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n if (vm.currentData.fieldContents[i].fieldId == currentDocument.fieldId) {\r\n vm.fieldId = currentDocument.fieldId;\r\n fieldContent = vm.currentData.fieldContents[i];\r\n $timeout(function () {\r\n showContent(vm.fieldId, fieldContent);\r\n });\r\n }\r\n }\r\n setTimeout(function () { stickyTitle(); }, 0);\r\n }\r\n };\r\n\r\n function clearActive() {\r\n vm.activeRelatedDocuments = false;\r\n vm.activeAttachments = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n vm.currentData.fieldContents[i].activeField = '';\r\n }\r\n };\r\n\r\n function showContent(id, fieldContent) {\r\n isFieldActive = true;\r\n animationChangeBackgroundColor(id);\r\n clearActive();\r\n if (fieldContent) {\r\n fieldContent.activeField = 'active';\r\n } else {\r\n if (String(id).indexOf('IdrelatedDocument') > -1)\r\n vm.activeRelatedDocuments = true;\r\n else\r\n vm.activeAttachments = true;\r\n }\r\n setTimeout(function () {\r\n isFieldActive = false;\r\n }, 2000);\r\n };\r\n\r\n function animationChangeBackgroundColor(id) {\r\n\t\t\tid = String(id);\r\n\t\t\tvar indexHash = id.indexOf('#');\r\n\t\t\tif (indexHash > 0) {\r\n\t\t\t\tid = id.substr(0, indexHash);\r\n\t\t\t}\r\n var hash = '#p' + id;\r\n var elementId = '#Id' + id;\r\n if (id.indexOf('IdrelatedDocument') > -1 || id.indexOf('Idattachment') > -1) {\r\n hash = '#' + id;\r\n elementId = '#' + id;\r\n }\r\n var $parentDiv = $('.document-detail');\r\n $parentDiv.animate({ scrollTop: $(hash).position().top }, 'slow');\r\n\r\n var $element = $(elementId);\r\n $element.animate({ backgroundColor: '#D7D7D7' }, 1500);\r\n $timeout(function () {\r\n $element.css(\"background-color\", \"\");\r\n }, 2000);\r\n }\r\n\r\n function searchAndHighlightText() {\r\n highlightTextInContent();\r\n documentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n };\r\n\r\n function navForward() {\r\n documentContentsSearchService.navForward(vm.highlights);\r\n };\r\n\r\n function navBackward() {\r\n documentContentsSearchService.navBackward(vm.highlights);\r\n };\r\n\r\n function printDocumentField() {\r\n window.open(String.format(handbookRequests.PrintHtmlFieldRequest, vm.documentInformation.documentId, vm.fieldId));\r\n };\r\n\r\n function highlightTextInContent() {\r\n if (vm.currentData.fieldContents != undefined) {\r\n var viewMode = angular.copy(vm.currentData.viewMode);\r\n angular.copy(vm.originalData, vm.currentData);\r\n vm.currentData.viewMode = viewMode;\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n fieldContent.content = documentContentsSearchService.searchAndHighlight(fieldContent.content, vm.highlights.highlightText);\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n });\r\n }\r\n };\r\n\r\n function updateLocalAnchors() {\r\n $timeout(function () {\r\n var domContent = angular.element('div.contentWithLayout');\r\n anchorService.updateLocalAnchors(domContent, true);\r\n scrollToAnchorIfExists();\r\n });\r\n }\r\n\r\n function scrollToAnchorIfExists() {\r\n var hash = $location.hash();\r\n if (hash != '') {\r\n $anchorScroll();\r\n }\r\n }\r\n\r\n function runServicesAfterInit() {\r\n updateLocalAnchors();\r\n }\r\n\r\n\t\tfunction fullScreen() {\r\n if (vm.isFullScreen) {\r\n documentService.showFullscreen();\r\n\t\t\t} else {\r\n\t\t\t\tdocumentService.showNormal();\r\n\t\t\t\ttabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n\t\t\t\t$('#document-content-identifier').css('margin-top', '0px');\r\n }\r\n\t\t\tvm.isFullScreen = !vm.isFullScreen;\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvar height = $('#document-content-identifier').height();\r\n\t\t\t\tstickyTitle(height);\r\n\t\t\t\tif (isIE) {\r\n\t\t\t\t\trunInitforIE(height);\r\n\t\t\t\t}\r\n }, 500);\r\n }\r\n\r\n function fullScreenInit() {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n } else {\r\n documentService.showNormal();\r\n vm.isFullScreen = true;\r\n }\r\n }\r\n\r\n function getNextSearchResultByEnter(keyEvent) {\r\n if (keyEvent.which == 13) {\r\n navForward();\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n fullScreen();\r\n });\r\n\r\n function showSidebarFields() {\r\n vm.isToggleSidebarFields = true;\r\n }\r\n\r\n function hideSidebarFields() {\r\n vm.isToggleSidebarFields = false;\r\n\t\t}\r\n\r\n\t\tfunction compareDocument() {\r\n\t\t\twindow.open(String.format('/document/{0}/compareWithEarlierVersion', vm.documentId), '_blank');\r\n\t\t}\r\n\r\n };\r\n\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module('hearingFeedbackModule', [])\r\n\t\t.controller('HearingFeedbackController', HearingFeedbackController);\r\n\r\n\tHearingFeedbackController.$inject = ['$scope', '$http', '$stateParams', '$state', '$sce', '$location', '$anchorScroll', '$timeout', '$uibModal', '$filter',\r\n\t\t'broadcastService', 'documentService', 'tabStateService', 'anchorService', 'documentContentsSearchService', 'resizeService', 'npDialog', 'folderService', 'configService', '$q'];\r\n\r\n\tfunction HearingFeedbackController($scope, $http, $stateParams, $state, $sce, $location, $anchorScroll, $timeout, $uibModal, $filter,\r\n\t\tbroadcastService, documentService, tabStateService, anchorService, documentContentsSearchService, resizeService, npDialog, folderService, configService, $q) {\r\n\r\n\t\tvar vm = this;\r\n\t\tvm.translation = globalResources;\r\n\r\n\t\tvm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n\t\tvm.currentData = {};\r\n\t\tvm.originalData = {};\r\n\t\tvm.isMyAssessment = false;\r\n\t\tvm.hearing = {};\r\n\t\tvm.commentDocuments = [];\r\n\t\tvm.preCommentDocuments = [];\r\n\t\tvm.preHearingMembers = [];\r\n\r\n\t\tvm.loginUserName = user.fullName;\r\n\t\tvm.loginUserId = user.userId;\r\n\t\tvm.responseFlag = 0;\r\n\t\tvm.documentTypes = E.documentTypes;\r\n\r\n\t\tvm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\r\n\t\tvm.hearingCommentAfterResponse = configService.getBool(HandbookConfiguration.HearingCommentAfterResponse);\r\n\r\n\t\tvm.highlights = {\r\n\t\t\thighlightText: '',\r\n\t\t\tcurrentIndex: 0,\r\n\t\t\ttotalFound: 0\r\n\t\t};\r\n\r\n\t\tvm.userLoginPublishComment = [];\r\n\t\tvm.userLoginDraftComment = [];\r\n\r\n\t\tvm.viewModeList =\r\n\t\t\t[\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.ProcessDependencies), name: globalResources.documentTemplateViewModeName.ProcessDependencies },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.Normal), name: globalResources.documentTemplateViewModeName.Normal },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.Process), name: globalResources.documentTemplateViewModeName.Process },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.RelatedDocuments), name: globalResources.documentTemplateViewModeName.RelatedDocuments },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.InvolvedChapters), name: globalResources.documentTemplateViewModeName.InvolvedChapters },\r\n\t\t\t];\r\n\r\n\t\tvm.hearings = [];\r\n\t\tvm.closeHearingGridSetting = [];\r\n\t\tvm.hearingMemberGridSetting = [];\r\n\t\tvm.preHearingMembersGridSetting = [];\r\n\t\tvm.preHearingMembersActiveGridSetting = [];\r\n\t\tvm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n\r\n\t\tvm.columnNotRemove = 'fullName';\r\n\t\tfunction builHearingGridSetting() {\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 35, coldefault: true });\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'countComment', name: globalResources.NumberOfComments, width: 15, coldefault: true });\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 15, coldefault: true });\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'reason', name: globalResources.Appreciation, width: 35, coldefault: true });\r\n\t\t}\r\n\t\tfunction builHearingMemberGridSetting() {\r\n\t\t\tvm.hearingMemberGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 70, coldefault: true });\r\n\t\t\tvm.hearingMemberGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 30, coldefault: true });\r\n\t\t}\r\n\r\n\t\tfunction builPreHearingMembersGridSetting() {\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 35, coldefault: true });\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'countComment', name: globalResources.NumberOfComments, width: 15, coldefault: true });\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 15, coldefault: true });\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'reason', name: globalResources.Appreciation, width: 35, coldefault: true });\r\n\t\t}\r\n\t\tfunction builPreHearingMembersActiveGridSetting() {\r\n\t\t\tvm.preHearingMembersActiveGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 70, coldefault: true });\r\n\t\t\tvm.preHearingMembersActiveGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 30, coldefault: true });\r\n\t\t}\r\n\r\n\t\tvm.documentId = $stateParams.documentId;\r\n\t\tvm.contentAnchorPrefix = prefix.contentAnchorPrefix;\r\n\t\tvm.processRelationTypes = E.ProcessRelationType;\r\n\t\tvm.showError = false;\r\n\t\tvm.isFullScreen = true;\r\n\t\tvm.FolderLinks = [];\r\n\r\n\t\tvm.urlDocument = window.location.origin + '/document/' + vm.documentId;\r\n\t\tvm.updateFields = updateFields;\r\n\t\tvm.searchAndHighlightText = searchAndHighlightText;\r\n\t\tvm.navForward = navForward;\r\n\t\tvm.navBackward = navBackward;\r\n\t\tvm.fullScreen = fullScreen;\r\n\t\tvm.saveCommentDocument = saveCommentDocument;\r\n\t\tvm.saveCommentField = saveCommentField;\r\n\t\tvm.editCommentDocument = editCommentDocument;\r\n\t\tvm.editCommentField = editCommentField;\r\n\t\tvm.deleteCommentDocument = deleteCommentDocument;\r\n\t\tvm.deleteCommentField = deleteCommentField;\r\n\t\tvm.focusItem = focusItem;\r\n\t\tvm.postHearingResponse = postHearingResponse;\r\n\t\tvm.closeHearingFeedback = closeHearingFeedback;\r\n\t\tvm.activeTab = activeTab;\r\n\t\tvm.printPDF = printPDF;\r\n\t\tvm.openFileDocument = openFileDocument;\r\n\t\tvm.editCommentDraf = editCommentDraf;\r\n\t\tvm.addPerson = addPerson;\r\n\t\tvm.publishDocumentComment = publishDocumentComment;\r\n\t\tvm.publishFieldComment = publishFieldComment;\r\n\t\tvm.goToDocumentFields = goToDocumentFields;\r\n\t\tvm.openCompareDocument = openCompareDocument;\r\n\t\tvm.onTabSelectedDocument = onTabSelectedDocument;\r\n\t\tvm.documentCKVersion = CkVersion.CK4;\r\n\t\tvm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.deviationUrl = HandbookConfiguration.DeviationUrl;\r\n\t\tvm.processClassificationTypes = E.processClassificationTypes;\r\n\t\tvm.goToProcessDetail = goToProcessDetail;\r\n\t\tvm.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tbuilHearingGridSetting();\r\n\t\t\tbuilHearingMemberGridSetting();\r\n\t\t\tbuilPreHearingMembersGridSetting();\r\n\t\t\tbuilPreHearingMembersActiveGridSetting();\r\n\r\n\t\t\tif (angular.element('#handbook-nav:visible').length == 0) {\r\n\t\t\t\tdocumentService.showFullscreen();\r\n\t\t\t\tvm.isFullScreen = false;\r\n\t\t\t}\r\n\t\t\t//Check and resize the view\r\n\t\t\tresizeService.resizeView();\r\n\t\t\t//Get current document and request for document if current is null\r\n\t\t\tgetDocument();\r\n\r\n\t\t\tfolderService.getFolderByVirtualDocumentId(vm.documentId).then(function (response) {\r\n\t\t\t\tvm.FolderLinks = response.data;\r\n\t\t\t});\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\tvm.relatedToOrDocuments = resources.L.Document.relatedTo;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.relatedToOrDocuments = resources.L.Document.relatedDocuments;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction calculatorHeightContent(timeOut) {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n\t\t\t}, timeOut ? timeOut : 2000);\r\n\t\t}\r\n\r\n\t\tfunction onTabSelectedDocument() {\r\n\t\t\tcalculatorHeightContent(500);\r\n\t\t}\r\n\r\n\t\tfunction getDocument() {\r\n\t\t\tvm.currentDataPromise =\r\n\t\t\t\t$http.get(handbookRequests.GetDocumentInformationForHearingRequest, { params: { 'documentId': $stateParams.documentId, showLoading: true } })\r\n\t\t\t\t\t.then(function (result) {\r\n\t\t\t\t\t\tif (result.data.hidden) {\r\n\t\t\t\t\t\t\tshowMessageError(globalResources.NoAccessDocument, '632');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcreateTooltipsRelatedDocument(result.data);\r\n\t\t\t\t\t\tvm.currentData = result.data;\r\n\t\t\t\t\t\tvm.documentCKVersion = vm.currentData.isNewCKVersion;\r\n\r\n\t\t\t\t\t\tif (vm.currentData.description) {\r\n\t\t\t\t\t\t\tvm.currentData.description = $sce.trustAsHtml(vm.currentData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.currentData.nodeType = convertToNodeType(vm.currentData.type);\r\n\t\t\t\t\t\tvar richTextRequests = [];\r\n\r\n\t\t\t\t\t\tif (vm.currentData.fieldContents != null) {\r\n\t\t\t\t\t\t\tvar indexTemp = 0;\r\n\t\t\t\t\t\t\tvm.currentData.fieldContents.forEach(function (fieldContent) {\r\n\t\t\t\t\t\t\t\tif (fieldContent.description) {\r\n\t\t\t\t\t\t\t\t\tfieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (fieldContent.fieldType == E.DocumentFieldTypes.RichText && fieldContent.fieldContentId) {\r\n\t\t\t\t\t\t\t\t\tvar params = {\r\n\t\t\t\t\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\t\t\t\t\tid: fieldContent.fieldContentId,\r\n\t\t\t\t\t\t\t\t\t\t\tdocumentId: vm.documentId,\r\n\t\t\t\t\t\t\t\t\t\t\thasExtention: vm.enableDocumentExtention,\r\n\t\t\t\t\t\t\t\t\t\t\tisHiddenContent: fieldContent.isHiddenContent\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar getRickText = $http.get('/api/documents/getRichTextViewDocument', params).then(function (response) {\r\n\t\t\t\t\t\t\t\t\t\tif (response.data && response.data.content) {\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content, true, vm.deviationUrl);\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.isVisible = true;\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.fieldsAnchor = [];\r\n\t\t\t\t\t\t\t\t\t\t\tvar aElement = document.createElement('div');\r\n\t\t\t\t\t\t\t\t\t\t\taElement.innerHTML = response.data.content;\r\n\t\t\t\t\t\t\t\t\t\t\tvar aTags = aElement.getElementsByTagName('a');\r\n\t\t\t\t\t\t\t\t\t\t\tif (aTags) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfor (var i = 0; i < aTags.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (aTags[i].text.trim().length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar itemAnchor = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: aTags[i].text,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: aTags[i].name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: aTags[i].id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfieldContent.fieldsAnchor.push(itemAnchor);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\trichTextRequests.push(getRickText);\r\n\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tif (fieldContent.content) {\r\n\t\t\t\t\t\t\t\t\t\tfieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, fieldContent.content, true, vm.deviationUrl);\r\n\t\t\t\t\t\t\t\t\t\tfieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfieldContent.indexShow = indexTemp;\r\n\t\t\t\t\t\t\t\tindexTemp = indexTemp + 1;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tvm.updateFields();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (richTextRequests.length) {\r\n\t\t\t\t\t\t\t$q.all(richTextRequests).then(function () {\r\n\t\t\t\t\t\t\t\trunServicesAfterInit();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tdocumentService.setDocuments(null); // clear service\r\n\r\n\t\t\t\t\t\tgetHearingData();\r\n\r\n\t\t\t\t\t\tcalculatorHeightContent();\r\n\t\t\t\t\t\tupdateAfterCurrentDataChanged();\r\n\t\t\t\t\t\treturn vm.currentData;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(function (result, status, headers, config) {\r\n\t\t\t\t\t\tshowMessageError(result.data, result.status);\r\n\t\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction showMessageError(message, status) {\r\n\t\t\tif (!status || status.toString() == '600') {\r\n\t\t\t\tvm.errorMessage = globalResources.RequiredPermissionsToReadDocument;\r\n\t\t\t} else if (status.toString() == '632') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchived;\r\n\t\t\t} else if (status.toString() == '633') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchivedOrNotPublished;\r\n\t\t\t\tvm.showDocumentLinkToBackendWhenError = true;\r\n\t\t\t} else {\r\n\t\t\t\tvm.errorMessage = message;\r\n\t\t\t}\r\n\t\t\tvm.showError = true;\r\n\t\t\tvm.currentData.documentId = vm.documentId;\r\n\r\n\t\t\trunErrorServicesAfterInit();\r\n\t\t}\r\n\r\n\r\n\t\tfunction updateAfterCurrentDataChanged() {\r\n\t\t\tsetIconForDocument(vm.currentData);\r\n\t\t}\r\n\r\n\t\tfunction setIconForDocument(data) {\r\n\t\t\tdata = data == null ? vm.currentData : data;\r\n\t\t\tvar icon = '';\r\n\t\t\tswitch (data.levelType.toString()) {\r\n\t\t\t\tcase E.HandbookLevelTypes.Enterprise:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Regional:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeRegional;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Local:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeLocal;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdata.docIcon = icon;\r\n\t\t}\r\n\r\n\t\tfunction getHearingData() {\r\n\t\t\t$http.get(handbookRequests.GetHearingForFeedbackRequest, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'entityId': vm.currentData.entityId\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data && response.data.id != null && response.data.id > 0) {\r\n\t\t\t\t\t\tvm.hearing = response.data;\r\n\r\n\t\t\t\t\t\tif (vm.hearing.description && vm.hearing.description != '') {\r\n\t\t\t\t\t\t\tvm.hearing.description = $sce.trustAsHtml(vm.hearing.description.replace(/[\\r\\n\\t]/g, \"
\"));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tcheckMemberHearing();\r\n\t\t\t\t\t\tif (vm.currentData.approvalStatus == 3) {\r\n\t\t\t\t\t\t\tvm.showComment = (!vm.hearing.public && vm.isMemberHearing) || vm.hearing.public;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.hearingClose) {\r\n\t\t\t\t\t\t\tvm.hearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t\tdocumentService.getHearingTooltip(vm.hearings);\r\n\t\t\t\t\t\t\tbroadcastService(broadcastType.gridDataChanges, { id: 'closeHearing', data: vm.hearings, isForced: true });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.hearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar preHearingMembers = vm.hearing.preHearingMembers;\r\n\t\t\t\t\t\tdocumentService.getHearingTooltip(preHearingMembers);\r\n\t\t\t\t\t\tgroupPreHearingMembers(preHearingMembers);\r\n\r\n\t\t\t\t\t\tif (!vm.hearingCommentAfterResponse && !vm.isMyAssessment) {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tadjustmentHearingComments(vm.hearing.hearingComments, vm.hearing.preHearingComments);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tangular.copy(vm.currentData, vm.originalData);\r\n\t\t\t\t\tupdateAfterCurrentDataChanged();\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction groupPreHearingMembers(preHearingMembers) {\r\n\t\t\tif (preHearingMembers == null || preHearingMembers.length <= 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar result = groupBy(preHearingMembers, function (item) {\r\n\t\t\t\treturn [item.hearingsId];\r\n\t\t\t});\r\n\t\t\tresult = $filter('orderBy')(result, ['key']);\r\n\r\n\t\t\tfor (var i = 0; i < result.length - 1; i++) {\r\n\t\t\t\tvar order = 1;\r\n\t\t\t\tfor (var j = i + 1; j < result.length; j++) {\r\n\t\t\t\t\tif (result[i].value.data[0].dueDate == result[j].value.data[0].dueDate) {\r\n\t\t\t\t\t\tresult[i].order = !result[i].order ? order : result[i].order;\r\n\t\t\t\t\t\tresult[j].order = order + 1;\r\n\t\t\t\t\t\torder = order + 1;\r\n\t\t\t\t\t\tif (j == result.length - 1)\r\n\t\t\t\t\t\t\ti = j;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ti = j - 1;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.preHearingMembers = [];\r\n\r\n\t\t\tfor (var i = 0; i < result.length; i++) {\r\n\t\t\t\tvar membersGroup = result[i].value.data;\r\n\t\t\t\tmembersGroup = $filter('orderBy')(membersGroup, ['fullName']);\r\n\r\n\t\t\t\tvm.preHearingMembers.push({\r\n\t\t\t\t\tmembers: membersGroup,\r\n\t\t\t\t\tname: membersGroup[0].dueDate + (result[i].order ? ' - ' + result[i].order : ''),\r\n\t\t\t\t\thref: 'preMemberTab' + result[i].key,\r\n\t\t\t\t\ticon: 'typcn typcn-message fa-lg',\r\n\t\t\t\t\ttabIndex: i,\r\n\t\t\t\t\tactive: (i == 0)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction adjustmentHearingComments(dataComments, preDataComments) {\r\n\t\t\tvar commentDocuments = [];\r\n\t\t\tvar commentFields = [];\r\n\t\t\tif (dataComments.length > 0) {\r\n\t\t\t\tdataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tcommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvm.commentDocuments = commentDocuments;\r\n\r\n\t\t\tvar preCommentDocuments = [];\r\n\t\t\tvar preCommentFields = [];\r\n\t\t\tif (preDataComments.length > 0) {\r\n\t\t\t\tpreDataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tpreCommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpreCommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tvm.preCommentDocuments = preCommentDocuments;\r\n\r\n\t\t\tif ((commentFields != null && commentFields.length > 0) || (preCommentFields != null && preCommentFields.length > 0)) {\r\n\t\t\t\tfor (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n\t\t\t\t\tvar fieldContent = vm.currentData.fieldContents[i];\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t\tif (commentFields != null && commentFields.length > 0) {\r\n\t\t\t\t\t\tvar comments = [];\r\n\t\t\t\t\t\tcommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tcomments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.comments = comments;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (preCommentFields != null && preCommentFields.length > 0) {\r\n\t\t\t\t\t\tvar preComments = [];\r\n\t\t\t\t\t\tpreCommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tpreComments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.preComments = preComments;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction editCommentDraf(comment) {\r\n\t\t\tcomment.showCommentDocument = true;\r\n\t\t\tvm.focusItem('editCommentText' + comment.id);\r\n\t\t\tcomment.commentDocumentText = comment.comment.replace(new RegExp('
', 'g'), '\\n');\r\n\t\t}\r\n\r\n\t\tfunction saveCommentDocument(isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: vm.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.CreateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.commentDocuments = data;\r\n\t\t\t\t\tvm.commentDocumentText = '';\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction saveCommentField(fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: fieldContent.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.CreateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction publishDocumentComment(comment) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\tcomment: comment.comment\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.PublishHearingComment, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.commentDocuments = data;\r\n\t\t\t\t\tgetHearingData();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction publishFieldComment(comment, fieldContent) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tfieldId: fieldContent.fieldId,\r\n\t\t\t\tcomment: comment.comment\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.PublishHearingComment, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t\tgetHearingData();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction editCommentDocument(comment, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\tcomment: comment.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t};\r\n\r\n\t\t\t$http.post(handbookRequests.UpdateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.commentDocuments = data;\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction editCommentField(comment, fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: comment.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.UpdateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction deleteCommentDocument(comment) {\r\n\t\t\tvar isConfirm = confirm(globalResources.DeleteHearingCommentConfirmMessage);\r\n\t\t\tif (isConfirm) {\r\n\t\t\t\tvar request = {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\tid: comment.id\r\n\t\t\t\t};\r\n\t\t\t\t$http.post(handbookRequests.DeleteHearingCommentRequest, request)\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.commentDocuments.splice($.inArray(comment, vm.commentDocuments), 1);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction deleteCommentField(comment, comments) {\r\n\t\t\tvar isConfirm = confirm(globalResources.DeleteHearingCommentConfirmMessage);\r\n\t\t\tif (isConfirm) {\r\n\t\t\t\tvar request = {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\tid: comment.id\r\n\t\t\t\t};\r\n\t\t\t\t$http.post(handbookRequests.DeleteHearingCommentRequest, request)\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tcomments.splice($.inArray(comment, comments), 1);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction checkMemberHearing() {\r\n\t\t\tif (vm.hearing.hearingMembers.length > 0) {\r\n\t\t\t\tvm.hearing.hearingMembers.forEach(function (item) {\r\n\t\t\t\t\tif (item.employeeId == vm.loginUserId) {\r\n\t\t\t\t\t\tvm.isMyAssessment = !item.hearingResponse && vm.currentData.approvalStatus == 3;\r\n\t\t\t\t\t\tvm.isMemberHearing = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction getPublishAndDraftCommentOfLoginUser() {\r\n\t\t\tvm.userLoginDraftComment = [];\r\n\t\t\tvm.userLoginPublishComment = [];\r\n\r\n\t\t\tvm.commentDocuments.forEach(function (item) {\r\n\t\t\t\tif (item.createdBy == vm.loginUserId) {\r\n\t\t\t\t\tif (item.isDraft) {\r\n\t\t\t\t\t\tvm.userLoginDraftComment.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvm.userLoginPublishComment.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfor (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.currentData.fieldContents[i];\r\n\t\t\t\tif (fieldContent.comments && fieldContent.comments.length > 0) {\r\n\t\t\t\t\tfieldContent.comments.forEach(function (item) {\r\n\t\t\t\t\t\tif (item.createdBy == vm.loginUserId) {\r\n\t\t\t\t\t\t\tif (item.isDraft) {\r\n\t\t\t\t\t\t\t\tvm.userLoginDraftComment.push(angular.copy(item));\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tvm.userLoginPublishComment.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction postHearingResponse(message) {\r\n\t\t\tgetPublishAndDraftCommentOfLoginUser();\r\n\t\t\tvm.responseFlag = message;\r\n\t\t\tif (vm.userLoginDraftComment.length > 0) {\r\n\t\t\t\tnpDialog.showDialog(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: dialogTypes.YES_NO,\r\n\t\t\t\t\t\tmessage: globalResources.ResponseConfirmDraftMessage,\r\n\t\t\t\t\t\ttitle: globalResources.HearingDocument,\r\n\t\t\t\t\t\thearingEmailNotification: true\r\n\t\t\t\t\t}, processResponseWithDraftComment);\r\n\t\t\t} else {\r\n\t\t\t\tpostResponse(false);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction processResponseWithDraftComment(result) {\r\n\t\t\tvar hasDraftComment = false;\r\n\t\t\tif (result == dialogResults.CONFIRM) {\r\n\t\t\t\t$http.post(handbookRequests.UpdatePublishAllCommentRequest, {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\thearingsId: vm.hearing.id\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tgetHearingData();\r\n\t\t\t\t\t\tpostResponse(false);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tpostResponse(true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction postResponse(hasDraftComment) {\r\n\t\t\tvar countPushlishMessage = (vm.userLoginPublishComment.length != null ? vm.userLoginPublishComment.length : 0) + (hasDraftComment == false ? (vm.userLoginDraftComment.length != null ? vm.userLoginDraftComment.length : 0) : 0);\r\n\t\t\tvar publishMessage = String.format(globalResources.PublishCommentToDocument, countPushlishMessage);\r\n\t\t\tvar messageConfirm = '';\r\n\t\t\tswitch (vm.responseFlag) {\r\n\t\t\t\tcase RESPONSE_MESSAGE.recommended:\r\n\t\t\t\t\tmessageConfirm = String.format(globalResources.ResponseRecommendedMessage, countPushlishMessage > 0 ? publishMessage : '');\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase RESPONSE_MESSAGE.notRecommended:\r\n\t\t\t\t\tmessageConfirm = String.format(globalResources.ResponseNotRecommendedMessage, countPushlishMessage > 0 ? publishMessage : '');\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase RESPONSE_MESSAGE.neutral:\r\n\t\t\t\t\tmessageConfirm = String.format(globalResources.ResponseNeutralMessage, countPushlishMessage > 0 ? publishMessage : '');\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tnpDialog.showDialog(\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: dialogTypes.OK_CANCEL,\r\n\t\t\t\t\tmessage: messageConfirm,\r\n\t\t\t\t\ttitle: globalResources.HearingDocument,\r\n\t\t\t\t\ttoggleReason: true,\r\n\t\t\t\t\tenableButton: vm.responseFlag == RESPONSE_MESSAGE.notRecommended,\r\n\t\t\t\t\thearingEmailNotification: true\r\n\t\t\t\t}, processSendHearingResponse);\r\n\t\t}\r\n\r\n\t\tfunction processSendHearingResponse(result) {\r\n\t\t\tif (result.result == dialogResults.CONFIRM) {\r\n\t\t\t\t$http.post(handbookRequests.UpdateHearingResponseForMemberRequest, {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\t\thearingResponse: vm.responseFlag,\r\n\t\t\t\t\treason: result.reason,\r\n\t\t\t\t\temailNotification: result.emailNotification\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tcloseHearingFeedback();\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction focusItem(itemId) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tangular.element('#' + itemId).show();\r\n\t\t\t\tangular.element('#' + itemId).focus();\r\n\t\t\t}, 0);\r\n\t\t};\r\n\r\n\t\tfunction updateFields() {\r\n\t\t\tif (vm.currentData.relatedAttachments && vm.currentData.relatedAttachments.length > 0) {\r\n\t\t\t\tvm.currentData.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\tx.isLastVersion = true;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvar relatedDocumentAll = angular.copy(vm.currentData.relatedDocuments);\r\n\t\t\tvar relatedAttachmentAll = angular.copy(vm.currentData.relatedAttachments);\r\n\t\t\tvar fieldContentsProcess = [];\r\n\t\t\tvar fieldContentsNonProcess = [];\r\n\r\n\t\t\tvm.currentData.isShowTopBoxContent = false;\r\n\r\n\t\t\tfor (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.currentData.fieldContents[i];\r\n\t\t\t\tif (fieldContent.relatedAttachments && fieldContent.relatedAttachments.length > 0) {\r\n\t\t\t\t\tfieldContent.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (checkShowFieldName(fieldContent)) {\r\n\t\t\t\t\tvm.currentData.isShowTopBoxContent = true;\r\n\t\t\t\t\tif (fieldContent.isProcess) {\r\n\t\t\t\t\t\tfieldContentsProcess.push(fieldContent);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tfieldContentsNonProcess.push(fieldContent);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar relatedDocuments = fieldContent.relatedDocuments;\r\n\t\t\t\trelatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n\t\t\t\tvar relatedAttachments = fieldContent.relatedAttachments;\r\n\t\t\t\trelatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n\t\t\t\tvar relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n\t\t\t\t\treturn [item.verticalAlign];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedBottomImages = [];\r\n\t\t\t\tvar relatedTopImages = [];\r\n\t\t\t\trelatedImageGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Top)) {\r\n\t\t\t\t\t\trelatedTopImages = relatedTopImages.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n\t\t\t\t\t\t\trelatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfieldContent.relatedTopImages = relatedTopImages;\r\n\t\t\t\tfieldContent.relatedBottomImages = relatedBottomImages;\r\n\t\t\t}\r\n\t\t\tif (vm.currentData.isProcess) {\r\n\t\t\t\tvm.currentData.relatedDocumentAll = relatedDocumentAll;\r\n\t\t\t\tvm.currentData.relatedAttachmentAll = relatedAttachmentAll;\r\n\r\n\t\t\t\tvm.currentData.fieldContentsProcess = fieldContentsProcess;\r\n\t\t\t\tvm.currentData.fieldContentsNonProcess = fieldContentsNonProcess;\r\n\r\n\t\t\t\tvar relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n\t\t\t\t\treturn [item.folderId];\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvm.currentData.relatedDocumentGroups = [];\r\n\t\t\t\trelatedDocumentGroups.forEach(function (item) {\r\n\t\t\t\t\tvar relatedDocumentGroup = {};\r\n\t\t\t\t\trelatedDocumentGroup.id = item.key;\r\n\t\t\t\t\trelatedDocumentGroup.name = item.value.data[0].folderName;\r\n\t\t\t\t\trelatedDocumentGroup.relatedDocuments = item.value.data;\r\n\t\t\t\t\tvm.currentData.relatedDocumentGroups.push(relatedDocumentGroup);\r\n\t\t\t\t});\r\n\r\n\t\t\t\trelatedDocumentForDependencies(relatedDocumentAll);\r\n\t\t\t\trelatedAttachmentForDependencies(relatedAttachmentAll);\r\n\t\t\t\tattachRelatedItemsFieldsForDependencies();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction attachRelatedItemsFieldsForDependencies() {\r\n\t\t\tvm.currentData.fieldContentsProcess.forEach(function (field) {\r\n\t\t\t\tvar relatedDocumetFieldGroups = groupBy(field.relatedDocuments, function (item) {\r\n\t\t\t\t\treturn [item.processRelationType];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedDocumentInputValues = [];\r\n\t\t\t\tvar relatedDocumentOutputValue = [];\r\n\t\t\t\trelatedDocumetFieldGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n\t\t\t\t\t\trelatedDocumentInputValues = relatedDocumentInputValues.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n\t\t\t\t\t\t\trelatedDocumentOutputValue = relatedDocumentOutputValue.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfield.relatedDocumentInputValues = relatedDocumentInputValues;\r\n\t\t\t\tfield.relatedDocumentOutputValue = relatedDocumentOutputValue;\r\n\r\n\t\t\t\tvar relatedAttachmentFieldGroups = groupBy(field.relatedAttachments, function (item) {\r\n\t\t\t\t\treturn [item.processRelationType];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedAttachmentInputValues = [];\r\n\t\t\t\tvar relatedAttachmentOutputValue = [];\r\n\t\t\t\trelatedAttachmentFieldGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n\t\t\t\t\t\trelatedAttachmentInputValues = relatedAttachmentInputValues.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n\t\t\t\t\t\t\trelatedAttachmentOutputValue = relatedAttachmentOutputValue.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfield.relatedAttachmentInputValues = relatedAttachmentInputValues;\r\n\t\t\t\tfield.relatedAttachmentOutputValue = relatedAttachmentOutputValue;\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction relatedDocumentForDependencies(relatedDocumentAll) {\r\n\t\t\tvar relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n\t\t\t\treturn [item.processRelationType];\r\n\t\t\t});\r\n\t\t\tvar relatedDocumentManagements = [];\r\n\t\t\tvar relatedDocumentResources = [];\r\n\t\t\trelatedDocumentGroups.forEach(function (item) {\r\n\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n\t\t\t\t\trelatedDocumentManagements = relatedDocumentManagements.concat(item.value.data);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n\t\t\t\t\t\trelatedDocumentResources = relatedDocumentResources.concat(item.value.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvm.currentData.relatedDocumentManagement = relatedDocumentManagements;\r\n\t\t\tvm.currentData.relatedDocumentResources = relatedDocumentResources;\r\n\t\t};\r\n\r\n\t\tfunction relatedAttachmentForDependencies(relatedAttachmentAll) {\r\n\t\t\tvar relatedAttachmentGroups = groupBy(relatedAttachmentAll, function (item) {\r\n\t\t\t\treturn [item.processRelationType];\r\n\t\t\t});\r\n\r\n\t\t\tvar relatedAttachmentManagements = [];\r\n\t\t\tvar relatedAttachmentResources = [];\r\n\t\t\trelatedAttachmentGroups.forEach(function (item) {\r\n\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n\t\t\t\t\trelatedAttachmentManagements = relatedAttachmentManagements.concat(item.value.data);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n\t\t\t\t\t\trelatedAttachmentResources = relatedAttachmentResources.concat(item.value.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvm.currentData.relatedAttachmentManagement = relatedAttachmentManagements;\r\n\t\t\tvm.currentData.relatedAttachmentResources = relatedAttachmentResources;\r\n\t\t};\r\n\r\n\t\tfunction searchAndHighlightText() {\r\n\t\t\thighlightTextInContent();\r\n\t\t\tdocumentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navForward() {\r\n\t\t\tdocumentContentsSearchService.navForward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navBackward() {\r\n\t\t\tdocumentContentsSearchService.navBackward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction checkShowFieldName(fieldContent) {\r\n\t\t\tif (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfunction convertToNodeType(documentType) {\r\n\t\t\tswitch (documentType.toString()) {\r\n\t\t\t\tcase E.documentTypes.Document:\r\n\t\t\t\t\treturn E.nodeTypes.Document;\r\n\t\t\t\tcase E.documentTypes.LinkDocument:\r\n\t\t\t\t\treturn E.nodeTypes.LinkDocument;\r\n\t\t\t\tcase E.documentTypes.FileDocument:\r\n\t\t\t\t\treturn E.nodeTypes.FileDocument;\r\n\t\t\t\tcase E.documentTypes.ShortcutDocument:\r\n\t\t\t\t\treturn E.nodeTypes.ShortcutDocument;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction runServicesAfterInit() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tupdateLocalAnchors();\r\n\t\t\t\tscrollToAnchorIfExists();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction runErrorServicesAfterInit() {\r\n\t\t\ttabStateService.closeOpenedTabIfNoPrivilege(tabStateType.documentTabState);\r\n\t\t}\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateLocalAnchors() {\r\n\t\t\tvar domContent = angular.element('div#document-content');\r\n\t\t\tanchorService.updateLocalAnchors(domContent);\r\n\t\t}\r\n\r\n\t\tfunction highlightTextInContent() {\r\n\t\t\tif (vm.currentData.fieldContents != undefined) {\r\n\t\t\t\tvar viewMode = angular.copy(vm.currentData.viewMode);\r\n\t\t\t\tangular.copy(vm.originalData, vm.currentData);\r\n\t\t\t\tvm.currentData.viewMode = viewMode;\r\n\t\t\t\tvm.currentData.fieldContents.forEach(function (fieldContent) {\r\n\t\t\t\t\tfieldContent.content = documentContentsSearchService.searchAndHighlight(fieldContent.content, vm.highlights.highlightText);\r\n\t\t\t\t\tfieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction fullScreen() {\r\n\t\t\tif (vm.isFullScreen) {\r\n\t\t\t\tdocumentService.showFullscreen();\r\n\t\t\t} else {\r\n\t\t\t\tdocumentService.showNormal();\r\n\t\t\t}\r\n\t\t\tvm.isFullScreen = !vm.isFullScreen;\r\n\t\t}\r\n\r\n\t\t$scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n\t\t\tfullScreen();\r\n\t\t});\r\n\r\n\t\tfunction closeHearingFeedback() {\r\n\t\t\twindow.close();\r\n\t\t};\r\n\r\n\t\tfunction activeTab() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n\t\t\t}, 500);\r\n\t\t};\r\n\r\n\t\tfunction printPDF() {\r\n\t\t\twindow.open(String.format(\"/Printing/PrintHearingFeedback?documentId={0}\", vm.documentId));\r\n\t\t};\r\n\r\n\t\tfunction openFileDocument() {\r\n\t\t\twindow.open(handbookRequests.GetFileDocumentRequest + vm.currentData.entityId, '_blank');\r\n\t\t}\r\n\r\n\t\tfunction addPerson() {\r\n\t\t\tvar employees = [];\r\n\t\t\tvm.hearings.forEach(function (item) {\r\n\t\t\t\temployees.push({ id: item.employeeId });\r\n\t\t\t});\r\n\t\t\tvar modalInstance = openAddMembersDialog($uibModal, employees, vm.translation.AddToHearingsPerson, null, true, vm.currentData.folderId, true);\r\n\t\t\tmodalInstance.result.then(function (data) {\r\n\t\t\t\tonAddedMembers(data);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction onAddedMembers(data) {\r\n\t\t\tif (!data) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvm.members = [];\r\n\t\t\tdata.forEach(function (item) {\r\n\t\t\t\tvm.members.push({\r\n\t\t\t\t\tfullName: item.fullName,\r\n\t\t\t\t\temail: item.email,\r\n\t\t\t\t\tdepartmentName: item.departmentName,\r\n\t\t\t\t\tid: item.id\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tif (vm.members.length != 0) {\r\n\t\t\t\tvar url = String.format('{0}/document/{1}/hearing', window.location.origin, vm.documentId);\r\n\t\t\t\tvar objectEmailContent = {\r\n\t\t\t\t\tdocumentName: vm.currentData.documentName,\r\n\t\t\t\t\tdocumentResponsible: vm.currentData.responsible,\r\n\t\t\t\t\turl: url,\r\n\t\t\t\t\tdueDate: $filter('date')(vm.hearing.dueDate, \"dd.MM.yyyy\"),\r\n\t\t\t\t\tallowForwarding: vm.hearing.allowForwarding\r\n\t\t\t\t};\r\n\t\t\t\tvar modalInstance = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: '/app/components/document/sendDocumentToHearingEmail.html',\r\n\t\t\t\t\tcontroller: 'SendDocumentToHearingEmailController as vm',\r\n\t\t\t\t\tsize: 'md',\r\n\t\t\t\t\tresolve: {\r\n\t\t\t\t\t\tobjectEmailContent: function () {\r\n\t\t\t\t\t\t\treturn objectEmailContent;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tmodalInstance.result.then(function (data) {\r\n\t\t\t\t\tonSendEmail(data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction onSendEmail(data) {\r\n\t\t\tif (!data) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar request = {\r\n\t\t\t\tsubject: data.subject,\r\n\t\t\t\tbody: data.body,\r\n\t\t\t\temployees: vm.members,\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\tdocumentId: vm.documentId,\r\n\t\t\t\thearingId: vm.hearing.id\r\n\t\t\t};\r\n\r\n\t\t\t$http.post('/api/Documents/AddMembersToHearingDocument', request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearings = data;\r\n\t\t\t\t\tbroadcastService(broadcastType.gridDataChanges, { id: 'activeHearing', data: vm.hearings, isForced: true });\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tif (status == httpStatusCodes.METHOD_NOT_ALLOWED) {\r\n\t\t\t\t\t\tvm.alerts.unshift({ type: 'danger', message: resources.M.Common.dontHaveActionPermission });\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.alerts.unshift({ type: 'danger', message: getErrorMessage(status) });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction goToDocumentFields(fieldId) {\r\n\t\t\t$state.go('hearingFieldsContent', { documentId: vm.documentId, fieldId: fieldId });\r\n\t\t};\r\n\r\n\t\tfunction openCompareDocument() {\r\n\t\t\twindow.open(String.format('/documenthearing/{0}/compareWithEarlierVersion', vm.currentData.documentId), '_blank');\r\n\t\t}\r\n\r\n\t\tfunction getNextSearchResultByEnter(keyEvent) {\r\n\t\t\tif (keyEvent.which == 13) {\r\n\t\t\t\tnavForward();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction goToProcessDetail(item) {\r\n\t\t\tif (vm.processClassificationTypes.Processes == item.processClassification) {\r\n\t\t\t\treturn '/process-fe/process-detail/' + item.processNumber;\r\n\t\t\t}\r\n\t\t\tif (vm.processClassificationTypes.ProcessInterconnected == item.processClassification) {\r\n\t\t\t\treturn '/process-fe/process-interconnected/' + item.processNumber;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module('documentHearingFieldsModule', [])\r\n\t\t.controller(\"DocumentHearingFieldsController\", documentHearingFieldsController);\r\n\r\n\tdocumentHearingFieldsController.$inject = ['$http', '$sce', '$timeout', '$location', '$scope', '$rootScope', '$state', '$anchorScroll',\r\n\t\t'documentService', 'anchorService', 'documentContentsSearchService', 'resizeService', '$stateParams', 'folderService', 'localStorageService', 'configService'];\r\n\r\n\tfunction documentHearingFieldsController($http, $sce, $timeout, $location, $scope, $rootScope, $state, $anchorScroll,\r\n\t\tdocumentService, anchorService, documentContentsSearchService, resizeService, $stateParams, folderService, localStorageService, configService) {\r\n\r\n\t\tvar vm = this;\r\n\r\n\t\tvm.documentInformation = {};\r\n\t\tvm.originalData = {};\r\n\t\tvm.fieldId = -1;\r\n\t\tvm.currentData = {};\r\n\t\tvm.oldData = {};\r\n\t\tvm.highlights = {\r\n\t\t\thighlightText: '',\r\n\t\t\tcurrentIndex: 0,\r\n\t\t\ttotalFound: 0\r\n\t\t};\r\n\r\n\t\tvm.loginUserId = user.userId;\r\n\t\tvar urlParams = $location.url().split('/');\r\n\t\tvm.isEmbedUrl = false;\r\n\t\tvm.typeHideHeader = false;\r\n\t\tvm.documentId = $stateParams.documentId;\r\n\t\tif (urlParams != null && urlParams.length > 0) {\r\n\t\t\tvm.isEmbedUrl = urlParams[1] == 'embed';\r\n\t\t\tif (vm.isEmbedUrl) {\r\n\t\t\t\tvm.fieldId = urlParams[5];\r\n\t\t\t\tvm.typeHideHeader = urlParams.length == 7 ? (urlParams[6] == '1') : false;\r\n\t\t\t\tvm.documentId = urlParams[3];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n\t\tvm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n\t\tvm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\t\tvm.showContent = showContent;\r\n\t\tvm.clearActive = clearActive;\r\n\t\tvm.searchAndHighlightText = searchAndHighlightText;\r\n\t\tvm.navForward = navForward;\r\n\t\tvm.navBackward = navBackward;\r\n\r\n\t\tvm.focusItem = focusItem;\r\n\t\tvm.goBackDocumentHearing = goBackDocumentHearing;\r\n\t\tvm.editCommentField = editCommentField;\r\n\t\tvm.saveCommentField = saveCommentField;\r\n\t\tvm.editCommentDraf = editCommentDraf;\r\n\t\tvm.deleteCommentField = deleteCommentField;\r\n\t\tvm.goBackDocumentHearing = goBackDocumentHearing;\r\n\t\tvm.printPDF = printPDF;\r\n\t\tvm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n\r\n\t\tvm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n\r\n\t\tvm.clickChangeTab = clickChangeTab;\r\n\t\tconst listTabCanChange = ['document-about', 'document-searchincontent', 'document-metadata'];\r\n\t\tvm.documentCKVersion = CkVersion.CK4;\r\n\t\tvm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\r\n\t\t\tprocessEmbedUrl();\r\n\t\t\t//check and resize the view\r\n\t\t\tresizeService.resizeView();\r\n\r\n\t\t\tlet tabState = localStorageService.getItem('DocumentTabState');\r\n\t\t\tif (tabState && listTabCanChange.includes(tabState)) {\r\n\t\t\t\tangular.element('#document-top-menu-identifier').css('top', '0px');\r\n\t\t\t\tangular.element('#document-content-identifier').css('top', '0px');\r\n\t\t\t}\r\n\t\t\tgetDocument();\r\n\t\t};\r\n\r\n\t\tfunction processEmbedUrl() {\r\n\t\t\tif (vm.isEmbedUrl) {\r\n\t\t\t\tif (vm.typeHideHeader) {\r\n\t\t\t\t\tangular.element('#documentHeader1Container').hide();\r\n\t\t\t\t\tangular.element('#fieldTitle').hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getDocument() {\r\n\t\t\tif (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n\t\t\t\tgetMetadataTab();\r\n\t\t\t}\r\n\t\t\tvm.currentDataPromise =\r\n\t\t\t\t$http.get(handbookRequests.GetDocumentInformationForHearingRequest, { params: { 'documentId': vm.documentId } })\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\t\tif (result.data.hidden) {\r\n\t\t\t\t\t\t\tshowMessageError(globalResources.NoAccessDocument, '632');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcreateTooltipsRelatedDocument(result.data);\r\n\t\t\t\t\t\tvm.oldData = result.data;\r\n\t\t\t\t\t\tvm.documentCKVersion = vm.oldData.isNewCKVersion;\r\n\r\n\t\t\t\t\t\tif (vm.oldData.description) {\r\n\t\t\t\t\t\t\tvm.oldData.description = $sce.trustAsHtml(vm.oldData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.oldData.nodeType = convertToNodeType(vm.oldData.type);\r\n\t\t\t\t\t\tif (vm.oldData.fieldContents != null) {\r\n\t\t\t\t\t\t\tvm.oldData.fieldContents.forEach(function (fieldContent) {\r\n\t\t\t\t\t\t\t\tif (!vm.oldData.fieldId) {\r\n\t\t\t\t\t\t\t\t\tvm.oldData.fieldId = fieldContent.fieldId;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (fieldContent.content) {\r\n\t\t\t\t\t\t\t\t\tfieldContent.content = $sce.trustAsHtml(fieldContent.content);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (fieldContent.description) {\r\n\t\t\t\t\t\t\t\t\tfieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tupdateFields();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n\t\t\t\t\t\t\tvm.oldData.metadatas = angular.copy(vm.metadataList);\r\n\t\t\t\t\t\t\tformatMetadata();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tangular.copy(vm.oldData, vm.originalData);\r\n\t\t\t\t\t\trunServicesAfterInit();\r\n\r\n\t\t\t\t\t\tvm.oldData.documentInformation = angular.copy(vm.oldData);\r\n\t\t\t\t\t\tvm.oldData.confirmInformation = vm.currentData.confirmInformation;\r\n\r\n\t\t\t\t\t\tvm.oldData.fieldId = $stateParams.fieldId;\r\n\r\n\t\t\t\t\t\tbuildDocumentObjectFromCurrentDocument(vm.oldData);\r\n\r\n\t\t\t\t\t\tgetHearingData();\r\n\r\n\t\t\t\t\t\t$rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n\r\n\t\t\t\t\t\tcalculateMaxHeightOForDocumentContentIdentifierInit()\r\n\t\t\t\t\t\treturn vm.currentData;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(function (result, status, headers, config) {\r\n\t\t\t\t\t\tshowMessageError(result.data, result.status);\r\n\t\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction showMessageError(message, status) {\r\n\t\t\tif (!status || status.toString() == '600') {\r\n\t\t\t\tvm.errorMessage = globalResources.RequiredPermissionsToReadDocument;\r\n\t\t\t} else if (status.toString() == '632') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchived;\r\n\t\t\t} else if (status.toString() == '633') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchivedOrNotPublished;\r\n\t\t\t\tvm.showDocumentLinkToBackendWhenError = true;\r\n\t\t\t} else {\r\n\t\t\t\tvm.errorMessage = message;\r\n\t\t\t}\r\n\t\t\tvm.showError = true;\r\n\t\t\tvm.currentData.documentId = vm.documentId;\r\n\r\n\t\t\trunErrorServicesAfterInit();\r\n\t\t}\r\n\r\n\t\tfunction runErrorServicesAfterInit() {\r\n\t\t\ttabStateService.closeOpenedTabIfNoPrivilege(tabStateType.documentTabState);\r\n\t\t}\r\n\r\n\t\tfunction getMetadataTab() {\r\n\t\t\t$http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\tvm.metadataList = result.data;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction formatMetadata() {\r\n\t\t\tif (vm.isShowMetadata && vm.oldData.metadatas && vm.oldData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n\t\t\t\tvm.oldData.metadatas.forEach(function (item) {\r\n\t\t\t\t\titem.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateFields() {\r\n\t\t\tif (vm.oldData.relatedAttachments && vm.oldData.relatedAttachments.length > 0) {\r\n\t\t\t\tvm.oldData.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvar relatedDocumentAll = angular.copy(vm.oldData.relatedDocuments);\r\n\t\t\tvar relatedAttachmentAll = angular.copy(vm.oldData.relatedAttachments);\r\n\r\n\t\t\tvm.oldData.isShowTopBoxContent = false;\r\n\r\n\t\t\tfor (var i = 0; i < vm.oldData.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.oldData.fieldContents[i];\r\n\t\t\t\tif (fieldContent.relatedAttachments && fieldContent.relatedAttachments.length > 0) {\r\n\t\t\t\t\tfieldContent.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (checkShowFieldName(fieldContent)) {\r\n\t\t\t\t\tvm.oldData.isShowTopBoxContent = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar relatedDocuments = fieldContent.relatedDocuments;\r\n\t\t\t\trelatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n\t\t\t\tvar relatedAttachments = fieldContent.relatedAttachments;\r\n\t\t\t\trelatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n\t\t\t\tvar relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n\t\t\t\t\treturn [item.verticalAlign];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedBottomImages = [];\r\n\t\t\t\tvar relatedTopImages = [];\r\n\t\t\t\trelatedImageGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Top)) {\r\n\t\t\t\t\t\trelatedTopImages = relatedTopImages.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n\t\t\t\t\t\t\trelatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfieldContent.relatedTopImages = relatedTopImages;\r\n\t\t\t\tfieldContent.relatedBottomImages = relatedBottomImages;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction getHearingData() {\r\n\t\t\t$http.get(handbookRequests.GetHearingForFeedbackRequest, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'entityId': vm.oldData.entityId\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data && response.data.id != null && response.data.id > 0) {\r\n\t\t\t\t\t\tvm.hearing = response.data;\r\n\t\t\t\t\t\tif (vm.hearing.description && vm.hearing.description != '') {\r\n\t\t\t\t\t\t\tvm.hearing.description = $sce.trustAsHtml(vm.hearing.description.replace(/[\\r\\n\\t]/g, \"
\"));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcheckMemberHearing();\r\n\t\t\t\t\t\tif (vm.oldData.approvalStatus == 3) {\r\n\t\t\t\t\t\t\tvm.showComment = (!vm.hearing.public && vm.isMemberHearing) || vm.hearing.public;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.hearingClose) {\r\n\t\t\t\t\t\t\tvm.closeHearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t\tpubSub.publish(broadcastType.gridDataChanges, { id: 'closeHearing', data: vm.closeHearings }, { isForced: true });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.hearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.preHearingMembers = vm.hearing.preHearingMembers;\r\n\r\n\t\t\t\t\t\tif (!vm.hearingCommentAfterResponse && !vm.isMyAssessment) {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tadjustmentHearingComments(vm.hearing.hearingComments, vm.hearing.preHearingComments);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction checkShowFieldName(fieldContent) {\r\n\t\t\tif (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfunction adjustmentHearingComments(dataComments, preDataComments) {\r\n\t\t\tvar commentDocuments = [];\r\n\t\t\tvar commentFields = [];\r\n\t\t\tif (dataComments.length > 0) {\r\n\t\t\t\tdataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tcommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvm.commentDocuments = commentDocuments;\r\n\r\n\t\t\tvar preCommentDocuments = [];\r\n\t\t\tvar preCommentFields = [];\r\n\t\t\tif (preDataComments.length > 0) {\r\n\t\t\t\tpreDataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tpreCommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpreCommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tvm.preCommentDocuments = preCommentDocuments;\r\n\r\n\t\t\tif ((commentFields != null && commentFields.length > 0) || (preCommentFields != null && preCommentFields.length > 0)) {\r\n\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\tvar fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t\tif (commentFields != null && commentFields.length > 0) {\r\n\t\t\t\t\t\tvar comments = [];\r\n\t\t\t\t\t\tcommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tcomments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.comments = comments;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (preCommentFields != null && preCommentFields.length > 0) {\r\n\t\t\t\t\t\tvar preComments = [];\r\n\t\t\t\t\t\tpreCommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tpreComments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.preComments = preComments;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (fieldContent.fieldId == $stateParams.fieldId) {\r\n\t\t\t\t\t\tvm.documentInformation.fieldContent = angular.copy(fieldContent);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\tvar fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\t\tif (fieldContent.fieldId == $stateParams.fieldId) {\r\n\t\t\t\t\t\tvm.documentInformation.fieldContent = angular.copy(fieldContent);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction convertToNodeType(documentType) {\r\n\t\t\tswitch (documentType.toString()) {\r\n\t\t\t\tcase E.documentTypes.Document:\r\n\t\t\t\t\treturn E.nodeTypes.Document;\r\n\t\t\t\tcase E.documentTypes.LinkDocument:\r\n\t\t\t\t\treturn E.nodeTypes.LinkDocument;\r\n\t\t\t\tcase E.documentTypes.FileDocument:\r\n\t\t\t\t\treturn E.nodeTypes.FileDocument;\r\n\t\t\t\tcase E.documentTypes.ShortcutDocument:\r\n\t\t\t\t\treturn E.nodeTypes.ShortcutDocument;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction setIconForDocument(data) {\r\n\t\t\tdata = data == null ? vm.currentData : data;\r\n\t\t\tvar icon = '';\r\n\t\t\tswitch (data.levelType.toString()) {\r\n\t\t\t\tcase E.HandbookLevelTypes.Enterprise:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Regional:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeRegional;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Local:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeLocal;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdata.docIcon = icon;\r\n\t\t}\r\n\r\n\t\tfunction buildDocumentObjectFromCurrentDocument(currentDocument) {\r\n\t\t\tif (currentDocument) {\r\n\t\t\t\tvm.documentInformation = angular.copy(currentDocument.documentInformation);\r\n\t\t\t\tvm.currentData = angular.copy(currentDocument.documentInformation);\r\n\t\t\t\tsetIconForDocument(vm.documentInformation);\r\n\t\t\t\tif (vm.currentData.description) {\r\n\t\t\t\t\tvm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n\t\t\t\t\tvm.currentData.metadatas.forEach(function (item) {\r\n\t\t\t\t\t\titem.nameDisplay = $sce.trustAsHtml(item.nameDisplay.toString());\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.documentInformation) {\r\n\t\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldId == currentDocument.fieldId) {\r\n\t\t\t\t\t\t\tvm.fieldId = currentDocument.fieldId;\r\n\t\t\t\t\t\t\tvm.currentData.confirmInformation = currentDocument.confirmInformation;\r\n\t\t\t\t\t\t\tvm.documentInformation.fieldContents[i].activeField = 'active';\r\n\t\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldName) {\r\n\t\t\t\t\t\t\t\tvm.documentInformation.fieldName = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].fieldName.toString());\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].content) {\r\n\t\t\t\t\t\t\t\tvm.documentInformation.content = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].content.toString());\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedDocuments = vm.documentInformation.fieldContents[i].relatedDocuments;\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedAttachments = vm.documentInformation.fieldContents[i].relatedAttachments;\r\n\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedTopImages = vm.documentInformation.fieldContents[i].relatedTopImages;\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedBottomImages = vm.documentInformation.fieldContents[i].relatedBottomImages;\r\n\r\n\t\t\t\t\t\t\tvm.documentInformation.fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.documentInformation.fieldContents[i].activeField = '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tangular.copy(vm.documentInformation, vm.originalData);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction showContent(fieldItem) {\r\n\t\t\tvm.clearActive();\r\n\t\t\tfieldItem.activeField = 'active';\r\n\t\t\tif (fieldItem.fieldName) {\r\n\t\t\t\tvm.documentInformation.fieldName = $sce.trustAsHtml(fieldItem.fieldName);\r\n\t\t\t}\r\n\t\t\tif (fieldItem.content) {\r\n\t\t\t\tvm.documentInformation.content = $sce.trustAsHtml(fieldItem.content.toString());\r\n\t\t\t} else {\r\n\t\t\t\tvm.documentInformation.content = '';\r\n\t\t\t}\r\n\t\t\tvm.documentInformation.fieldContent = angular.copy(fieldItem);\r\n\r\n\t\t\tvm.documentInformation.relatedDocuments = fieldItem.relatedDocuments;\r\n\t\t\tvm.documentInformation.relatedAttachments = fieldItem.relatedAttachments;\r\n\t\t\tvm.documentInformation.relatedTopImages = fieldItem.relatedTopImages;\r\n\t\t\tvm.documentInformation.relatedBottomImages = fieldItem.relatedBottomImages;\r\n\t\t\tvm.fieldId = fieldItem.fieldId;\r\n\t\t\tangular.copy(vm.documentInformation, vm.originalData);\r\n\t\t\tupdateLocalAnchors();\r\n\t\t};\r\n\r\n\t\tfunction clearActive() {\r\n\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\tvm.documentInformation.fieldContents[i].activeField = '';\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction searchAndHighlightText() {\r\n\t\t\thighlightTextInContent();\r\n\t\t\tdocumentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navForward() {\r\n\t\t\tdocumentContentsSearchService.navForward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navBackward() {\r\n\t\t\tdocumentContentsSearchService.navBackward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction highlightTextInContent() {\r\n\t\t\tif (vm.documentInformation.content != undefined) {\r\n\t\t\t\tangular.copy(vm.originalData, vm.documentInformation);\r\n\t\t\t\tvm.documentInformation.content = documentContentsSearchService.searchAndHighlight(vm.documentInformation.content, vm.highlights.highlightText);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction updateLocalAnchors() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvar domContent = angular.element('div.contentWithLayout');\r\n\t\t\t\tanchorService.updateLocalAnchors(domContent, true);\r\n\t\t\t\tscrollToAnchorIfExists();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction runServicesAfterInit() {\r\n\t\t\tupdateLocalAnchors();\r\n\t\t}\r\n\r\n\t\tfunction checkMemberHearing() {\r\n\t\t\tif (vm.hearing.hearingMembers.length > 0) {\r\n\t\t\t\tvm.hearing.hearingMembers.forEach(function (item) {\r\n\t\t\t\t\tif (item.employeeId == vm.loginUserId) {\r\n\t\t\t\t\t\tvm.isMyAssessment = !item.hearingResponse && vm.currentData.approvalStatus == 3;\r\n\t\t\t\t\t\tvm.isMemberHearing = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction focusItem(itemId) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tangular.element('#' + itemId).show();\r\n\t\t\t\tangular.element('#' + itemId).focus();\r\n\t\t\t}, 0);\r\n\t\t};\r\n\r\n\t\tfunction goBackDocumentHearing() {\r\n\t\t\t$state.go(handbookActions.HearingAction, { documentId: vm.documentId });\r\n\t\t}\r\n\r\n\t\tfunction saveCommentField(fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.oldData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: fieldContent.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.CreateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tupdateCommentsInformation(fieldContent, data);\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction editCommentField(comment, fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.oldData.entityId,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: comment.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.UpdateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tupdateCommentsInformation(fieldContent, data);\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction updateCommentsInformation(fieldContent, data) {\r\n\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldId == fieldContent.fieldId) {\r\n\t\t\t\t\tvm.documentInformation.fieldContents[i].comments = data;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction deleteCommentField(comment, comments) {\r\n\t\t\tvar isConfirm = confirm(globalResources.DeleteHearingCommentConfirmMessage);\r\n\t\t\tif (isConfirm) {\r\n\t\t\t\tvar request = {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\tid: comment.id\r\n\t\t\t\t};\r\n\t\t\t\t$http.post(handbookRequests.DeleteHearingCommentRequest, request)\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tcomments.splice($.inArray(comment, comments), 1);\r\n\t\t\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldId == vm.documentInformation.fieldContent.fieldId) {\r\n\t\t\t\t\t\t\t\tvm.documentInformation.fieldContents[i].comments.splice($.inArray(comment, vm.documentInformation.fieldContents.comments), 1);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction editCommentDraf(comment) {\r\n\t\t\tcomment.showCommentDocument = true;\r\n\t\t\tvm.focusItem('txtUpdateComment');\r\n\t\t\tcomment.commentDocumentText = comment.comment.replace(new RegExp('
', 'g'), '\\n');\r\n\t\t}\r\n\r\n\t\tfunction printPDF() {\r\n\t\t\twindow.open(String.format(\"/Printing/PrintHearingFeedback?documentId={0}\", vm.documentId));\r\n\t\t};\r\n\r\n\t\tfunction anchorClick(hash) {\r\n\t\t\tif (vm.documentInformation.fieldContents.length == 1)\r\n\t\t\t\treturn;\r\n\t\t\tvar existedAnchor = false;\r\n\t\t\tvar domContent = angular.element('div.contentWithLayout');\r\n\t\t\tangular.forEach(domContent.find('a[name]'), function (tag) {\r\n\t\t\t\tif (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n\t\t\t\t\texistedAnchor = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (existedAnchor)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar field = null;\r\n\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\tif (fieldContent.fieldId == vm.fieldId || !fieldContent.content) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar div = document.createElement('div');\r\n\t\t\t\tdiv.innerHTML = fieldContent.content;\r\n\t\t\t\tdomContent = angular.element(div);\r\n\t\t\t\tangular.forEach(domContent.find('a[name]'), function (tag) {\r\n\t\t\t\t\tif (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n\t\t\t\t\t\texistedAnchor = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (existedAnchor) {\r\n\t\t\t\t\tfield = fieldContent;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (field != null) {\r\n\t\t\t\tshowContent(field);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getNextSearchResultByEnter(keyEvent) {\r\n\t\t\tif (keyEvent.which == 13) {\r\n\t\t\t\tnavForward();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.$on('anchorclick', function (e, target) {\r\n\t\t\tanchorClick(target);\r\n\t\t});\r\n\r\n\t\tfunction clickChangeTab() {\r\n\t\t\tlet tabStateChange = localStorageService.getItem('DocumentTabState');\r\n\r\n\t\t\tif (!listTabCanChange.includes(tabStateChange)) {\r\n\t\t\t\tangular.element('#document-top-menu-identifier').css('top', '65px');\r\n\t\t\t\tangular.element('#document-content-identifier').css('top', '65px');\r\n\t\t\t} else {\r\n\t\t\t\tangular.element('#document-top-menu-identifier').css('top', '0px');\r\n\t\t\t\tangular.element('#document-content-identifier').css('top', '0px');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction calculateMaxHeightOForDocumentContentIdentifierInit() {\r\n\t\t\tlet calculateMaxHeight = localStorageService.getItem('DocumentTabState');\r\n\t\t\tif (!calculateMaxHeight || calculateMaxHeight == 'null' ) {\r\n\t\t\t\tif (angular.element('#document-content-identifier')) {\r\n\t\t\t\t\tangular.element('#document-content-identifier').css('maxHeight', `calc(100vh - ${angular.element('#document-content-identifier').position(0).top}px)`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(\"handbookApp\")\r\n .controller('SendDocumentToHearingEmailController', controller);\r\n\r\n controller.$inject = ['$uibModalInstance', 'objectEmailContent'];\r\n\r\n function controller($modalInstance, objectEmailContent) {\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n vm.email = {\r\n subject: '',\r\n body: ''\r\n };\r\n\r\n vm.saveChanges = saveChanges;\r\n vm.cancel = cancel;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n vm.email.subject = vm.translation.SubjectSendToHearingCreate;\r\n var extraInfo = objectEmailContent.allowForwarding ? vm.translation.ExtraInfoSendToHearingCreate : '';\r\n vm.email.body = String.format(vm.translation.BodySendToHearingCreate, objectEmailContent.documentName, objectEmailContent.dueDate, objectEmailContent.url, objectEmailContent.documentResponsible, extraInfo);\r\n };\r\n\r\n function saveChanges() {\r\n if (vm.email.subject && vm.email.body) {\r\n $modalInstance.close(vm.email);\r\n }\r\n }\r\n\r\n function cancel() {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('AboutController', controller);\r\n\r\n controller.$inject = ['$uibModalInstance'];\r\n\r\n function controller($modalInstance) {\r\n var vm = this;\r\n vm.translation = {\r\n about: globalResources.About,\r\n netpowerHandbook: globalResources.NetpowerHandbook,\r\n version: globalResources.CommonGridColumns.Version,\r\n close: globalResources.Close\r\n };\r\n\r\n vm.applicationVersion = HandbookConfiguration.ApplicationVersion;\r\n\r\n vm.close = close;\r\n\r\n function close() {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n }\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module(modules.homeModule)\r\n\t\t.controller(controllers.homeController, homeController);\r\n\r\n\thomeController.$inject = ['$scope', '$http', '$state', '$timeout', '$sce', '$location', '$q',\r\n\t\t'favoriteService', 'tabStateService', 'localStorageService', 'resizeService', 'broadcastService', 'documentService',\r\n\t\t'$filter', 'browserService', 'configService'];\r\n\r\n\tfunction homeController($scope, $http, $state, $timeout, $sce, $location, $q,\r\n\t\tfavoriteService, tabStateService, localStorageService, resizeService, broadcastService, documentService,\r\n\t\t$filter, browserService, configService) {\r\n\t\tvar vm = this;\r\n\r\n\t\t$scope.translation = globalResources;\r\n\t\tvm.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\t\tvm.annualCycleModuleEnable = configService.getBool(HandbookConfiguration.EnabledAnnualCycle);\r\n\t\tvm.readingListEnabled = configService.getBool(HandbookConfiguration.ReadingListEnabled);\r\n\t\tvm.hearingEnabled = configService.getBool(HandbookConfiguration.HearingEnabled);\r\n\t\tvm.checkHearingTab = false;\r\n\r\n\t\tvm.commonGridSettingKey = gridSettingKeys.commonVisibilitySettings;\r\n\t\tvm.readingListGridSettingKey = gridSettingKeys.readingListVisibilitySettings;\r\n\t\tvm.groupDocumentAnchorPrefix = prefix.groupDocumentAnchorPrefix;\r\n\r\n\t\tvm.loadWhatNew = loadWhatNew;\r\n\t\tvm.loadFavorite = loadFavorite;\r\n\t\tvm.loadReadingDocumentsLists = loadReadingDocumentsLists;\r\n\t\tvm.loadHearingDocuments = loadHearingDocuments;\r\n\t\tvm.hearingRowClick = hearingRowClick;\r\n\t\tvm.onRowClick = onRowClick;\r\n\t\tvm.adjustMenuPosition = adjustMenuPosition;\r\n\t\tvm.ajustmentNews = ajustmentNews;\r\n\t\tvm.goToRegisterDeviation = goToRegisterDeviation;\r\n\t\tvm.goToChecklist = goToChecklist;\r\n\t\tvm.goToAnnualCycle = goToAnnualCycle;\r\n\t\tvm.goToRiskModule = goToRiskModule;\r\n\t\tvm.viewReport = viewReport;\r\n\t\tvm.clickNavTab = clickNavTab;\r\n\r\n\t\tvm.hearingGridSetting = [];\r\n\t\tvm.HearingsSetting = [];\r\n\t\tvm.readingList = [];\r\n\t\tvm.allReadingDocuments = [];\r\n\t\tvm.processAwaitingHearings = [];\r\n\t\tvm.processPublicHearings = [];\r\n\t\tvm.aWaitingHearings = [];\r\n\t\tvm.publicHearings = [];\r\n\t\tvm.selectedTab = \"\";\r\n\r\n\t\tvm.messageWhatNew = String.format(globalResources.RecentlyApprovedDocumentsInTheHandbook, globalResources.AllFolders);\r\n\r\n\t\tvm.normalStartpage = HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.Normal;\r\n\r\n\t\tvm.changeSelectedOption = changeSelectedOption;\r\n\t\tvm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\r\n\t\tvar BACKEND_URL = HandbookConfiguration.BackendURL;\r\n\t\tvm.processClassification = E.processClassificationTypes;\r\n\r\n\t\tvm.enableInterconnectedProcess = configService.getBool(HandbookConfiguration.InterconnectedProcess);\r\n\t\tvm.processClassificationTypes = E.processClassificationTypes;\r\n\r\n\t\tfunction getBackendUrl() {\r\n\t\t\tconst url = new URL(BACKEND_URL);\r\n\t\t\turl.protocol = $location.protocol();\r\n\t\t\treturn url.href;\r\n\t\t}\r\n\r\n\t\tvar lastChar = BACKEND_URL.charAt(BACKEND_URL.length - 1);\r\n\t\tvar commonAdd = lastChar == '/' ? '' : '/';\r\n\t\tvm.columnNotRemove = 'name';\r\n\t\tvm.BROWSER_TYPE = BrowserType;\r\n\t\tvm.browserType = browserService.detectBrowserWindow();\r\n\t\tvm.periodWhatNewOptions = [\r\n\t\t\t{ id: 0, name: globalResources.Today },\r\n\t\t\t{ id: 1, name: globalResources.LastWeek },\r\n\t\t\t{ id: 2, name: globalResources.LastMonth },\r\n\t\t\t{ id: 3, name: globalResources.Last3Months }\r\n\t\t];\r\n\r\n\t\tvm.whatNewData = [\r\n\t\t\t{ id: 0, name: globalResources.Today, data: [] },\r\n\t\t\t{ id: 1, name: globalResources.LastWeek, data: [] },\r\n\t\t\t{ id: 2, name: globalResources.LastMonth, data: [] },\r\n\t\t\t{ id: 3, name: globalResources.Last3Months, data: [] }\r\n\t\t];\r\n\r\n\t\tvm.summaryNewData =\r\n\t\t{\r\n\t\t\ttotalWhatNews: 0,\r\n\t\t\ttotalFavorities: 0,\r\n\t\t\ttotalReadingDocuments: 0,\r\n\t\t\ttotalMissingReadingDocuments: 0,\r\n\t\t\ttotalAwaitingHearings: 0,\r\n\t\t\ttotalPublicHearings: 0\r\n\t\t};\r\n\t\tvm.WhatsNewCountConfig = parseInt(HandbookConfiguration.WhatsNewCount);\r\n\t\tvm.UpdatedFavoritesCountConfig = parseInt(HandbookConfiguration.UpdatedFavoritesCount);\r\n\r\n\t\tfunction buildHearingsGridSetting() {\r\n\t\t\tvar nameFolder = vm.enabledProcessModule ? $scope.translation.CommonGridColumns.Chapter + '/' + $scope.translation.CommonGridColumns.ProcessArea\r\n\t\t\t\t: $scope.translation.CommonGridColumns.Chapter;\r\n\t\t\tvm.hearingGridSetting.push({ id: 'information', name: '', width: '20px', coldefault: true });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'name', name: $scope.translation.CommonGridColumns.Title, width: 50, coldefault: true });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'dueDate', name: $scope.translation.HearingDueDate, width: 22, coldefault: true, customCss: 'min-width-90', type: COLUMN_DATA_TYPES.STRING_DATE });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'isPublic', name: $scope.translation.Public, width: 5, coldefault: true, customCss: 'min-width-45' });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'folderName', name: nameFolder, width: 26, coldefault: true });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'version', name: $scope.translation.CommonGridColumns.Version, width: '90px', coldefault: true, customCss: 'align-right' });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'documentId', name: $scope.translation.CommonGridColumns.DocumentId, width: '60px', coldefault: true, customCss: 'align-right' });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'responsible', name: $scope.translation.CommonGridColumns.Responsible, width: 20, coldefault: true });\r\n\t\t}\r\n\r\n\t\tvar url = angular.copy($location.$$url);\r\n\t\turl = url.toLowerCase();\r\n\t\tif (url.indexOf('checklist-fe') > -1) {\r\n\t\t\t//triggerTabClicked('#checklist-tab', true);\r\n\t\t\tgoTochecklistFromUrl(url);\r\n\t\t} else if (url.indexOf('/ac/') > -1) {\r\n\t\t\tgoToAnnualCycleFromUrl(url);\r\n\t\t}\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\r\n\t\t\tvar storageWhatsNewPeriodAll = localStorageService.getItem(\"WhatsNewPeriodAll\");\r\n\t\t\tvm.selectedOption = storageWhatsNewPeriodAll != null ? parseInt(storageWhatsNewPeriodAll) : parseInt(HandbookConfiguration.WhatsNewPeriodAll);\r\n\r\n\t\t\tif (vm.hearingEnabled) {\r\n\t\t\t\tbuildHearingsGridSetting();\r\n\t\t\t\tvm.HearingsSetting = angular.copy(vm.hearingGridSetting);\r\n\t\t\t\tvm.HearingsSetting[0].name = $scope.translation.CommonGridColumns.DocumentInfo;\r\n\t\t\t}\r\n\t\t\tresizeService.resizeView();\r\n\t\t\tgridConfiguration();\r\n\t\t\tdetectBrowser();\r\n\t\t\tangular.element(prefix.hashbangPrefix + 'homeTabs li').removeClass(cssClass.active);\r\n\r\n\t\t\tvar mandatatoryRequests = [\r\n\t\t\t\t$http.get(\"/api/UserDocuments/GetDocumentSummaryNewData\", { params: { periodOption: vm.selectedOption } })\r\n\t\t\t];\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\tmandatatoryRequests.push($http.get(\"/api/CombineDocumentAndProcess/GetProcessSummaryNewData\", { params: { periodOption: vm.selectedOption, includeInterconnectedProcess: vm.enableInterconnectedProcess } }));\r\n\t\t\t}\r\n\r\n\t\t\t$q.all(mandatatoryRequests).then(function (response) {\r\n\t\t\t\tif (!response || response.length < mandatatoryRequests.length || !response[0].data) return;\r\n\t\t\t\tvar sum_Document = response[0].data;\r\n\t\t\t\tvar sum_Process = {\r\n\t\t\t\t\ttotalWhatNews: 0,\r\n\t\t\t\t\ttotalFavorities: 0,\r\n\t\t\t\t\ttotalReadingDocuments: 0,\r\n\t\t\t\t\ttotalMissingReadingDocuments: 0,\r\n\t\t\t\t\ttotalAwaitingHearings: 0,\r\n\t\t\t\t\ttotalPublicHearings: 0\r\n\t\t\t\t};;\r\n\r\n\t\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\t\tif (!response[1].data) return;\r\n\t\t\t\t\tsum_Process = response[1].data;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.summaryNewData =\r\n\t\t\t\t{\r\n\t\t\t\t\ttotalWhatNews: sum_Document.totalWhatNews + sum_Process.totalWhatNews,\r\n\t\t\t\t\ttotalFavorities: sum_Document.totalFavorities + sum_Process.totalFavorities,\r\n\t\t\t\t\ttotalReadingDocuments: sum_Document.totalReadingDocuments + sum_Process.totalReadingDocuments,\r\n\t\t\t\t\ttotalMissingReadingDocuments: sum_Document.totalMissingReadingDocuments + sum_Process.totalMissingReadingDocuments,\r\n\t\t\t\t\ttotalAwaitingHearings: sum_Document.totalAwaitingHearings + sum_Process.totalAwaitingHearings,\r\n\t\t\t\t\ttotalPublicHearings: sum_Document.totalPublicHearings + sum_Process.totalPublicHearings\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (vm.summaryNewData.totalWhatNews > vm.WhatsNewCountConfig)\r\n\t\t\t\t\tvm.summaryNewData.totalWhatNews = vm.WhatsNewCountConfig;\r\n\r\n\t\t\t\tif (vm.summaryNewData.totalFavorities > vm.UpdatedFavoritesCountConfig)\r\n\t\t\t\t\tvm.summaryNewData.totalFavorities = vm.UpdatedFavoritesCountConfig;\r\n\r\n\t\t\t\tvm.checkHearingTab = (vm.summaryNewData.totalAwaitingHearings + vm.summaryNewData.totalPublicHearings) > 0; // if summary have AwaitingHearings or PublicHearings enable hearingTab\r\n\r\n\t\t\t\tif (vm.readingListEnabled && (vm.summaryNewData.totalReadingDocuments > 0 && vm.summaryNewData.totalMissingReadingDocuments == 0))\r\n\t\t\t\t\tvm.selectedTab = \"reading-lists-tab\";\r\n\r\n\t\t\t\tif (vm.annualCycleModuleEnable && (vm.summaryNewData.totalReadingDocuments <= 0 && vm.summaryNewData.totalMissingReadingDocuments <= 0))\r\n\t\t\t\t\tvm.selectedTab = \"new-annual-cycle-tab\";\r\n\r\n\t\t\t\thandleNavigate();\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tsetTabPanelActive();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.Normal) {\r\n\t\t\t\ttabStateService.adjustContentHeightHomeStartPageTab();\r\n\t\t\t}\r\n\r\n\t\t\t$scope.$on('annualCyclesLength', function (e, arg) {\r\n\t\t\t\tif (vm.annualCycleModuleEnable) {\r\n\r\n\t\t\t\t\tvar url = $location.$$url;\r\n\t\t\t\t\tif (!url)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\turl = url.toLowerCase();\r\n\r\n\t\t\t\t\tif (url.indexOf('tab?') == -1) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (url.indexOf('mypage') > -1 && url.indexOf('annualcycle') > -1 && vm.annualCycleModuleEnable) {\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\ttriggerTabClicked('#reading-list-tab', true);\r\n\t\t\t\t\t\t\ttriggerTabClicked('#annual-cycle-tab', false);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$(window).on('resize', function () {\r\n\t\t\tvm.browserType = browserService.detectBrowserWindow();\r\n\t\t});\r\n\r\n\t\tfunction viewReport() {\r\n\t\t\t$state.go(handbookActions.MyReadingListsReport, {});\r\n\t\t};\r\n\r\n\t\tfunction clickNavTab(tab) {\r\n\t\t\tvm.selectedTab = tab;\r\n\t\t};\r\n\r\n\t\tfunction handleNavigate() {\r\n\t\t\tvar url = angular.copy($location.$$url);\r\n\t\t\tif (!url)\r\n\t\t\t\treturn;\r\n\t\t\turl = url.toLowerCase();\r\n\r\n\t\t\tif (url.indexOf('checklist-fe') > -1) {\r\n\t\t\t\ttriggerTabClicked('#checklist-tab', true);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (url.indexOf('ac') > -1) {\r\n\t\t\t\ttriggerTabClicked('#new-annual-cycle-tab', true);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (url.indexOf('tab?') == -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (url.indexOf('whatsnew') > -1) {\r\n\t\t\t\ttriggerTabClicked('#what-new-tab', true);\r\n\t\t\t} else if (url.indexOf('updatedfavorites') > -1) {\r\n\r\n\t\t\t\ttriggerTabClicked('#favorite-tab', true);\r\n\t\t\t} else if (url.indexOf('mypage') > -1) {\r\n\t\t\t\tif (vm.readingListEnabled &&\r\n\t\t\t\t\t((url.indexOf('readinglist') > -1 && vm.summaryNewData.totalReadingDocuments > 0)\r\n\t\t\t\t\t\t|| (url.indexOf('missingreadingreceipts') > -1 && vm.summaryNewData.totalMissingReadingDocuments > 0))) {\r\n\t\t\t\t\ttriggerTabClicked('#reading-list-tab', true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.readingListEnabled && url.indexOf('readinglist') > -1\r\n\t\t\t\t\t&& vm.summaryNewData.totalReadingDocuments > 0) {\r\n\t\t\t\t\ttriggerTabClicked('#reading-lists-tab', false);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.readingListEnabled && url.indexOf('missingreadingreceipts') > -1\r\n\t\t\t\t\t&& vm.summaryNewData.totalMissingReadingDocuments > 0) {\r\n\t\t\t\t\ttriggerTabClicked('#missing-reading-tab', false);\r\n\t\t\t\t}\r\n\t\t\t} else if (url.indexOf('home') > -1) {\r\n\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t} else if (url.indexOf('tohearing') > -1) {\r\n\t\t\t\tif ((vm.summaryNewData.totalAwaitingHearings > 0 && url.indexOf('awaitinghearing') > -1)\r\n\t\t\t\t\t|| (vm.summaryNewData.totalPublicHearings > 0 && url.indexOf('publichearings') > -1)) {\r\n\t\t\t\t\ttriggerTabClicked('#hearings-tab', true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.summaryNewData.totalAwaitingHearings > 0 && url.indexOf('awaitinghearing') > -1) {\r\n\t\t\t\t\ttriggerTabClicked('#aWaitingHearingstab', false);\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.summaryNewData.totalPublicHearings > 0 && url.indexOf('publichearings') > -1) {\r\n\t\t\t\t\ttriggerTabClicked('#publicHearingstab', false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfunction triggerTabClicked(tabId, clickItSelf) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvar childTab = $(tabId + ' a');\r\n\t\t\t\tif (childTab) {\r\n\t\t\t\t\t$(childTab).click();\r\n\t\t\t\t\tif (clickItSelf && $(tabId)) {\r\n\t\t\t\t\t\t$(tabId).click();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction changeSelectedOption() {\r\n\t\t\tlocalStorageService.setItem(\"WhatsNewPeriodAll\", vm.selectedOption);\r\n\t\t\tloadWhatNew();\r\n\t\t}\r\n\r\n\t\tfunction ajustmentNews() {\r\n\t\t\tbroadcastService('adjustmentNews', {});\r\n\t\t}\r\n\r\n\t\tfunction updateNewestDocuments(documents, type) {\r\n\t\t\tvar storageObject = localStorageService.getItem(localStorageKeys.readDocuments);\r\n\t\t\tvar readDocuments = [];\r\n\t\t\tif (storageObject != null) {\r\n\t\t\t\treadDocuments = JSON.parse(storageObject);\r\n\t\t\t}\r\n\t\t\tvar count = 0\r\n\t\t\tif (documents != null) {\r\n\t\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\t\tfor (var j = 0; j < readDocuments.length; j++) {\r\n\t\t\t\t\t\tif (documents[i].id == readDocuments[j].id\r\n\t\t\t\t\t\t\t&& documents[i].longApprovedDate == readDocuments[j].approvedDate\r\n\t\t\t\t\t\t\t&& documents[i].isNew) {\r\n\t\t\t\t\t\t\tcount += 1;\r\n\t\t\t\t\t\t\tdocuments[i].isNew = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (count > 0) {\r\n\t\t\t\tswitch (type) {\r\n\t\t\t\t\tcase 1: // what's new\r\n\t\t\t\t\t\tvm.summaryNewData.totalWhatNews -= count;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 2: // updated favorite\r\n\t\t\t\t\t\tvm.summaryNewData.totalFavorities -= count;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction detectBrowser() {\r\n\t\t\tvar ieVersion = msieversion();\r\n\t\t\tif (ieVersion > 0 && ieVersion < 9) {\r\n\t\t\t\tvm.unsupportBrowserMessage = $sce.trustAsHtml(String.format(globalResources.UnsupportedBrowser + '' + HandbookConfiguration.OldHandbookUrl + ''));\r\n\t\t\t\tangular.element('#sidebar-wrapper').addClass('toggle-sidebar');\r\n\t\t\t\tangular.element('#resizeBar').addClass('toggle-sidebar');\r\n\t\t\t\tangular.element('#wrapper').addClass('toggle-wrapper');\r\n\t\t\t\tangular.element('.tabbable').addClass('toggle-mainview');\r\n\t\t\t\t$state.go(handbookActions.UnsupportBrowser, {});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction gridConfiguration() {\r\n\t\t\tgetGridSetting(vm.commonGridSettingKey);\r\n\t\t\tgetColumnsDefinition(vm.commonGridSettingKey);\r\n\t\t\tvm.commonColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n\r\n\t\t\tgetGridSetting(vm.readingListGridSettingKey);\r\n\t\t\tgetColumnsDefinition(vm.readingListGridSettingKey);\r\n\t\t\tvm.readingListColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n\t\t}\r\n\r\n\t\tfunction loadWhatNew() {\r\n\t\t\tif (vm.whatNewData[vm.selectedOption].data && vm.whatNewData[vm.selectedOption].data.length > 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get(handbookRequests.GetRecentlyApprovedDocumentsProcessesRequest, { params: { periodOption: vm.selectedOption, showLoading: true } })\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\t\tvm.whatNewData[vm.selectedOption].data = data;\r\n\t\t\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\t\t\tupdateTotalWhatNew();\r\n\t\t\t\t\t\t\tupdateNewestDocuments(vm.whatNewData[vm.selectedOption].data, 1);\r\n\t\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\t\t\tupdateAttachmentsForProcesses(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\t\t\tvm.periodWhatNewOptions[vm.selectedOption].isLoaded = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn $http.get(handbookRequests.GetRecentlyApprovedDocumentsRequest, { params: { periodOption: vm.selectedOption, showLoading: true } })\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.whatNewData[vm.selectedOption].data = data;\r\n\t\t\t\t\tupdateAttachmentsForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\tupdateTotalWhatNew();\r\n\t\t\t\t\tupdateNewestDocuments(vm.whatNewData[vm.selectedOption].data, 1);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction updateTotalWhatNew() {\r\n\t\t\tvm.summaryNewData.totalWhatNews = getNewCount(vm.whatNewData[vm.selectedOption].data);\r\n\t\t}\r\n\r\n\t\tfunction loadFavorite() {\r\n\t\t\tif (vm.favoriteData && vm.favoriteData.length > 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get(handbookRequests.GetProcessAndDocumentLatestFavoriteRequest, {\r\n\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\tshowLoading: true,\r\n\t\t\t\t\t\t\tincludeInterconnectedProcess: vm.enableInterconnectedProcess\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tvm.favoriteData = data;\r\n\t\t\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\t\tupdateTotalNewestFavorites();\r\n\t\t\t\t\t\t\tupdateNewestDocuments(vm.favoriteData, 2);\r\n\t\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\t\tupdateAttachmentsForProcesses(vm.favoriteData);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn $http\r\n\t\t\t\t.get(handbookRequests.GetLatestFavoriteRequest, {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\tvm.favoriteData = data;\r\n\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\tupdateTotalNewestFavorites();\r\n\t\t\t\t\t\tupdateNewestDocuments(vm.favoriteData, 2);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction loadReadingDocumentsLists() {\r\n\t\t\tif (!vm.readingListEnabled) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (vm.allReadingDocuments && vm.allReadingDocuments.length > 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get('/api/CombineDocumentAndProcess/GetReadingDocumentsAndProcessesList', {\r\n\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tdata.forEach(function (item) {\r\n\t\t\t\t\t\t\t\tif (item.confirmDate) {\r\n\t\t\t\t\t\t\t\t\tif (item.readingReceiptsExpire) {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsExpired, item.confirmDate, item.readingReceiptValidity);\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsNoExpired, item.confirmDate);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tupdateAttachmentsForDocuments(data);\r\n\t\t\t\t\t\t\tupdateAttachmentsForProcesses(data);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t(data || []).forEach(function (item) {\r\n\t\t\t\t\t\t\t//todo: compare with id instead\r\n\t\t\t\t\t\t\tvar existing = vm.readingList.filter(function (d) {\r\n\t\t\t\t\t\t\t\treturn d.readingListId == item.readingListId;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tif (!existing || !existing.length) {\r\n\t\t\t\t\t\t\t\tvm.readingList.push({\r\n\t\t\t\t\t\t\t\t\treadingListId: item.readingListId,\r\n\t\t\t\t\t\t\t\t\treadingListName: item.readingListName,\r\n\t\t\t\t\t\t\t\t\treadingReceiptValidity: item.readingReceiptValidity,\r\n\t\t\t\t\t\t\t\t\treadingReceiptsExpire: item.readingReceiptsExpire,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedDate: item.readingListCreatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedDate: item.readingListUpdatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedBy: item.readingListCreatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedBy: item.readingListUpdatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListDescription: item.readingListDescription\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tvm.allReadingDocuments = decorateDocumentReadingListName(data);\r\n\t\t\t\t\t\tvm.summaryNewData.totalReadingDocuments = vm.allReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.allReadingDocuments)\r\n\t\t\t\t\t\tupdateAttachmentsForProcesses(vm.allReadingDocuments)\r\n\t\t\t\t\t\tvm.documentsGroups = getDocumentGroupsByReadingListId(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.missingReadingDocuments = getMissingReadingDocuments(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.summaryNewData.totalMissingReadingDocuments = vm.missingReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tvm.documentsGroups.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.tooltips = generateReadingListTooltip(item);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get('/api/UserDocuments/GetReadingDocumentsList', {\r\n\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tdata.forEach(function (item) {\r\n\t\t\t\t\t\t\t\tif (item.confirmDate) {\r\n\t\t\t\t\t\t\t\t\tif (item.readingReceiptsExpire) {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsExpired, item.confirmDate, item.readingReceiptValidity);\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsNoExpired, item.confirmDate);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t(data || []).forEach(function (document) {\r\n\t\t\t\t\t\t\t//todo: compare with id instead\r\n\t\t\t\t\t\t\tvar existing = vm.readingList.filter(function (d) {\r\n\t\t\t\t\t\t\t\treturn d.readingListId == document.readingListId;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tif (!existing || !existing.length) {\r\n\t\t\t\t\t\t\t\tvm.readingList.push({\r\n\t\t\t\t\t\t\t\t\treadingListId: document.readingListId,\r\n\t\t\t\t\t\t\t\t\treadingListName: document.readingListName,\r\n\t\t\t\t\t\t\t\t\treadingReceiptValidity: document.readingReceiptValidity,\r\n\t\t\t\t\t\t\t\t\treadingReceiptsExpire: document.readingReceiptsExpire,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedDate: document.readingListCreatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedDate: document.readingListUpdatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedBy: document.readingListCreatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedBy: document.readingListUpdatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListDescription: document.readingListDescription\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tvm.allReadingDocuments = decorateDocumentReadingListName(angular.copy(data));\r\n\t\t\t\t\t\tvm.summaryNewData.totalReadingDocuments = vm.allReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.allReadingDocuments)\r\n\t\t\t\t\t\tvm.documentsGroups = getDocumentGroupsByReadingListId(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.missingReadingDocuments = getMissingReadingDocuments(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.summaryNewData.totalMissingReadingDocuments = vm.missingReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tvm.documentsGroups.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.tooltips = generateReadingListTooltip(item);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction generateReadingListTooltip(row) {\r\n\r\n\t\t\tvar groups = vm.readingList.filter(function (d) {\r\n\t\t\t\treturn d.readingListName == row.templateName;\r\n\t\t\t});\r\n\r\n\t\t\tvar group = groups[0];\r\n\t\t\tvar result = \"
\";\r\n\r\n\t\t\tresult += getElementForTooltips(globalResources.Name, group.readingListName);\r\n\t\t\tvar createdDate = (group.readingListCreatedDate != null && group.readingListCreatedDate != 'null') ? group.readingListCreatedDate : '';\r\n\t\t\tvar updatedDate = (group.readingListUpdatedDate != null && group.readingListUpdatedDate != 'null') ? group.readingListUpdatedDate : '';\r\n\t\t\tresult += getElementForTooltips(globalResources.CreatedDate, createdDate);\r\n\t\t\tresult += getElementForTooltips(globalResources.CreatedBy, group.readingListCreatedBy);\r\n\t\t\tresult += getElementForTooltips(globalResources.UpdatedDate, updatedDate);\r\n\t\t\tresult += getElementForTooltips(globalResources.UpdatedBy, group.readingListUpdatedBy);\r\n\t\t\tif (group.readingReceiptsExpire) {\r\n\r\n\t\t\t\tresult += getElementForTooltips(globalResources.Validity, group.readingReceiptValidity + \" \" + globalResources.Months);\r\n\t\t\t}\r\n\t\t\tresult += getElementForTooltips(globalResources.Description, group.readingListDescription);\r\n\t\t\tresult += \"
\";\r\n\t\t\treturn result;\r\n\t\t}\r\n\r\n\t\tfunction loadHearingDocuments() {\r\n\t\t\tif (!vm.hearingEnabled)\r\n\t\t\t\treturn;\r\n\t\t\tif ((vm.aWaitingHearings && vm.aWaitingHearings.length > 0) || (vm.publicHearings && vm.publicHearings.length > 0))\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar params = {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tpageIndex: 0,\r\n\t\t\t\t\tpageSize: 0,\r\n\t\t\t\t\tshowLoading: true\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\treturn $http.get(handbookRequests.GetHearingDocumentsRequest, params)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tvm.aWaitingHearings = data.awaitingHearings ? data.awaitingHearings.filter(x => !x.hidden) : [];\r\n\t\t\t\t\t\tvm.publicHearings = data.publicHearings ? data.publicHearings.filter(x => !x.hidden) : [];\r\n\r\n\t\t\t\t\t\tvm.aWaitingHearings.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.information = _buildDocumentTooltip(item);\r\n\t\t\t\t\t\t\titem.isPublic = item.isPublic ? globalResources.Yes : globalResources.No;\r\n\t\t\t\t\t\t\titem.folderName = '' + item.folderName;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tvm.publicHearings.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.information = _buildDocumentTooltip(item);\r\n\t\t\t\t\t\t\titem.isPublic = item.isPublic ? globalResources.Yes : globalResources.No;\r\n\t\t\t\t\t\t\titem.folderName = '' + item.folderName;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tloadHearingProcesses();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction loadHearingProcesses() {\r\n\t\t\tif (!vm.enabledProcessModule) return;\r\n\r\n\t\t\tgetProcessAwaitingHearings();\r\n\t\t\tgetProcessPublicHearings();\r\n\t\t}\r\n\r\n\t\tfunction getProcessAwaitingHearings() {\r\n\t\t\t$http\r\n\t\t\t\t.get(handbookRequests.GetProcessAwaitingHearing, {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tvm.processAwaitingHearings = data;\r\n\t\t\t\t\t\tcombineProcessHearings(vm.aWaitingHearings, vm.processAwaitingHearings);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.checkHearingTab = vm.aWaitingHearings.length || vm.publicHearings.length;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction getProcessPublicHearings() {\r\n\t\t\t$http\r\n\t\t\t\t.get(handbookRequests.GetProcessPublicHearing, {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tvm.processPublicHearings = data;\r\n\t\t\t\t\t\tcombineProcessHearings(vm.publicHearings, vm.processPublicHearings);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.checkHearingTab = vm.aWaitingHearings.length || vm.publicHearings.length;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction combineProcessHearings(documents, processes) {\r\n\t\t\tif (processes) {\r\n\t\t\t\tprocesses.forEach(function (p) {\r\n\t\t\t\t\tvar d = {\r\n\t\t\t\t\t\tagreeFiles: [],\r\n\t\t\t\t\t\tapprovalStatus: \"Hearing\",\r\n\t\t\t\t\t\tapprovedBy: p.approvedBy,\r\n\t\t\t\t\t\tapprovedDate: p.approvedDate,\r\n\t\t\t\t\t\tapproverResponsible: null,\r\n\t\t\t\t\t\tattachments: null,\r\n\t\t\t\t\t\tchapterLevel: 0,\r\n\t\t\t\t\t\tcreatedDate: p.createdDate,\r\n\t\t\t\t\t\tdeleted: p.deleted,\r\n\t\t\t\t\t\tdocumentIcon: \"typcn typcn-document-text\",\r\n\t\t\t\t\t\tdocumentId: p.id,\r\n\t\t\t\t\t\tdocumentStatus: 3,\r\n\t\t\t\t\t\tdraft: p.IsDraft,\r\n\t\t\t\t\t\tdueDate: p.dueDate,\r\n\t\t\t\t\t\tdueDateDisplay: null,\r\n\t\t\t\t\t\tentityId: p.entityId,\r\n\t\t\t\t\t\texpirationDate: null,\r\n\t\t\t\t\t\texpired: false,\r\n\t\t\t\t\t\texpiredDate: p.expiredDate,\r\n\t\t\t\t\t\tfeedBackCount: 0,\r\n\t\t\t\t\t\tfeedBackDislike: 0,\r\n\t\t\t\t\t\tfeedBackLike: 0,\r\n\t\t\t\t\t\tfeedBackNull: 0,\r\n\t\t\t\t\t\tfolderIcon: \"f-normal typcn typcn-folder\",\r\n\t\t\t\t\t\tareaId: p.areaId,\r\n\t\t\t\t\t\tfolderName: ' ' + p.folderName,\r\n\t\t\t\t\t\thandbookId: 0,\r\n\t\t\t\t\t\thasAgreeFiles: false,\r\n\t\t\t\t\t\thasAttachment: false,\r\n\t\t\t\t\t\tid: p.id,\r\n\t\t\t\t\t\tinternetDocument: p.internetDocument,\r\n\t\t\t\t\t\tisAddNewVirtual: false,\r\n\t\t\t\t\t\tisHearing: false,\r\n\t\t\t\t\t\tisPublic: p.isPublic ? 'Yes' : 'No',\r\n\t\t\t\t\t\tknowledgeTypeId: 0,\r\n\t\t\t\t\t\tlastContentEdit: \"\",\r\n\t\t\t\t\t\tlocation: p.location,\r\n\t\t\t\t\t\tmetatagValue: null,\r\n\t\t\t\t\t\tname: p.name,\r\n\t\t\t\t\t\torder: p.order,\r\n\t\t\t\t\t\torgiginApprovedDate: null,\r\n\t\t\t\t\t\torgiginPublishedDate: p.publishedDate,\r\n\t\t\t\t\t\tpermissions: null,\r\n\t\t\t\t\t\tpublishedDate: p.publishedDate,\r\n\t\t\t\t\t\treadCount: 0,\r\n\t\t\t\t\t\tregisterItemItemId: 0,\r\n\t\t\t\t\t\tresponsible: p.responsible,\r\n\t\t\t\t\t\tresponsibleId: p.responsibleId,\r\n\t\t\t\t\t\ttemplate: null,\r\n\t\t\t\t\t\ttemplateId: null,\r\n\t\t\t\t\t\ttype: 0,\r\n\t\t\t\t\t\tupdatedDate: p.updatedDate,\r\n\t\t\t\t\t\tversion: p.version,\r\n\t\t\t\t\t\tvirtual: false,\r\n\t\t\t\t\t\tisProcess: p.isProcess,\r\n\t\t\t\t\t\tprocessClassification: p.processClassification,\r\n\t\t\t\t\t\tinformation: _buildDocumentTooltip(p)\r\n\t\t\t\t\t};\r\n\t\t\t\t\tdocuments.push(d);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tdocuments.sort(function (x, y) {\r\n\t\t\t\t\tvar d1 = x.dueDate.toString().substr(6, 4) + x.dueDate.toString().substr(3, 2) + x.dueDate.toString().substr(0, 2);\r\n\t\t\t\t\tvar d2 = y.dueDate.toString().substr(6, 4) + y.dueDate.toString().substr(3, 2) + y.dueDate.toString().substr(0, 2);\r\n\t\t\t\t\treturn d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction _buildDocumentTooltip(row) {\r\n\t\t\tvar tooltipData = [];\r\n\t\t\ttooltipData.push({ label: globalResources.LinkedVirtually, data: row.virtual ? globalResources.Yes : globalResources.No });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Title, data: row.name });\r\n\t\t\tif (row.isProcess && row.processClassification && row.processClassification == vm.processClassification.ProcessInterconnected) {\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Type, data: E.documentExportColumns.interconnectedProcessName.header });\r\n\t\t\t} else if (!row.isProcess || (row.processClassification && row.processClassification == vm.processClassification.Processes)) {\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Type, data: row.template });\r\n\t\t\t}\r\n\t\t\ttooltipData.push({ label: row.isProcess ? globalResources.ProcessArea : globalResources.CommonGridColumns.Chapter, data: row.folderName });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Location, data: row.location });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Version, data: row.version });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.DocumentId, data: row.isProcess ? row.id : row.documentId });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.ApprovedDate, data: row.approvedDate });\r\n\t\t\tif (!vm.publishedVersion) {\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Approver, data: row.approvedBy });\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Responsible, data: row.responsible });\r\n\t\t\t}\r\n\t\t\treturn tooltipData;\r\n\t\t}\r\n\r\n\t\tfunction hearingRowClick(id, isProcess = false, version, row) {\r\n\t\t\tvar linkDirect = isProcess ? urlOpenProcessHearing : urlOpenHearingFeedback;\r\n\t\t\t//redirect to hearing feedback page\r\n\t\t\tif (isProcess && (!row.processClassification || row.processClassification == Number(vm.processClassification.Processes))) {\r\n\t\t\t\twindow.open(String.format(linkDirect, String(id), String(version)));\r\n\t\t\t}\r\n\t\t\telse if (isProcess && (row.processClassification && row.processClassification == Number(vm.processClassification.ProcessInterconnected))) {\r\n\t\t\t\twindow.open(String.format(urlOpenInterconnectedHearing, String(id), String(version)));\r\n\t\t\t}\r\n\t\t\telse if (!isProcess) {\r\n\t\t\t\twindow.open(String.format(urlOpenHearingFeedback, String(id)));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getMissingReadingDocuments(documents) {\r\n\t\t\tdocumentService.getAgreeFilesForDocuments(documents);\r\n\t\t\tvar isNotConfirmId = [];\r\n\t\t\tvar missingDocuments = [];\r\n\t\t\tdocuments.forEach((document) => {\r\n\t\t\t\tvar existing = isNotConfirmId.find(function (id) {\r\n\t\t\t\t\treturn id === document.documentId;\r\n\t\t\t\t});\r\n\t\t\t\tif (!document.isConfirmed && !existing) {\r\n\t\t\t\t\tisNotConfirmId.push(document.documentId);\r\n\t\t\t\t\tmissingDocuments.push(document);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn missingDocuments;\r\n\t\t}\r\n\r\n\t\tfunction getDocumentGroupsByReadingListId(documents) {\r\n\r\n\t\t\tif (!vm.readingList || !vm.readingList.length) {\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\r\n\t\t\tif (!documents || !documents.length) {\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t\tvar documentsGroups = [];\r\n\t\t\tfor (var i = 0; i < vm.readingList.length; i++) {\r\n\t\t\t\tvar readingList = vm.readingList[i];\r\n\t\t\t\tvar documentsOfEachReadingList = [];\r\n\t\t\t\tdocuments.forEach(function (item) {\r\n\t\t\t\t\tif (item.readingListId == readingList.readingListId) {\r\n\t\t\t\t\t\tdocumentsOfEachReadingList.push(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (documentsOfEachReadingList.length) {\r\n\t\t\t\t\tdocumentsGroups.push({\r\n\t\t\t\t\t\tdocuments: documentsOfEachReadingList,\r\n\t\t\t\t\t\ttemplateName: readingList.readingListName,\r\n\t\t\t\t\t\ttotalDocuments: documentsOfEachReadingList.length\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfor (var i = 0; i < documentsGroups.length; i++) {\r\n\t\t\t\tdocumentsGroups[i].documents = $filter('orderBy')(documentsGroups[i].documents, ['sort', 'name']);\r\n\t\t\t}\r\n\t\t\treturn documentsGroups;\r\n\t\t}\r\n\r\n\t\tfunction decorateDocumentReadingListName(documents) {\r\n\t\t\tvar results = [];\r\n\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\tvar document = documents[i];\r\n\t\t\t\tvar existing = results.filter(function (item) {\r\n\t\t\t\t\treturn item.documentId == document.documentId;\r\n\t\t\t\t});\r\n\t\t\t\tif (existing.length) {\r\n\t\t\t\t\tvar existingIndex = results.indexOf(existing[0]);\r\n\t\t\t\t\tresults[existingIndex].readingListName = (results[existingIndex].readingListName + \", \").concat(document.readingListName);\r\n\t\t\t\t\tdocument.readingListName = results[existingIndex].readingListName;\r\n\t\t\t\t}\r\n\t\t\t\tresults.push(document);\r\n\t\t\t}\r\n\t\t\treturn results;\r\n\t\t}\r\n\r\n\t\tfunction getDistinctItems(items) {\r\n\t\t\tvar distincItems = [];\r\n\t\t\titems.forEach(function (item) {\r\n\t\t\t\tvar existing = distincItems.filter(function (v, i) {\r\n\t\t\t\t\treturn v === item;\r\n\t\t\t\t});\r\n\t\t\t\tif (!existing.length) {\r\n\t\t\t\t\tdistincItems.push(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn distincItems;\r\n\t\t}\r\n\r\n\t\tfunction updateTotalNewestFavorites() {\r\n\t\t\tvm.summaryNewData.totalFavorities = getNewCount(vm.favoriteData);\r\n\t\t}\r\n\r\n\t\tfunction getNewCount(data) {\r\n\t\t\tvar countItemNew = 0;\r\n\t\t\t(data || []).forEach(function (item) {\r\n\t\t\t\tif (item.isNew) {\r\n\t\t\t\t\tcountItemNew += 1;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn countItemNew;\r\n\t\t}\r\n\r\n\t\tfunction adjustContentPosition() {\r\n\t\t\tvar tabState = tabStateService.getState(tabStateType.homeTabState);\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentPosition(tabState, tabStateType.homeTabState);\r\n\t\t\t}, 0, false);\r\n\t\t}\r\n\r\n\t\tfunction onRowClick($event) {\r\n\t\t\tfavoriteService.setFavoriteNodeState({ isFavorited: false });\r\n\t\t\tdocumentService.goToDocument($event);\r\n\t\t}\r\n\r\n\t\tfunction adjustMenuPosition(toggleSidebar, tabId) {\r\n\t\t\t// Extra processing for 'Updated Favorite' and What's new tab. It depends on the sidebar toggle.\r\n\t\t\tif (tabId == homeTabs.updatedFavorite) {\r\n\t\t\t\tvar updateFavoritePrintbox = angular.element('#' + homeContent.updatedFavoritePage + ' #print-box2');\r\n\t\t\t\tif (toggleSidebar == true) {\r\n\t\t\t\t\tupdateFavoritePrintbox.removeClass(avoidCustomPageClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tupdateFavoritePrintbox.addClass(avoidCustomPageClass);\r\n\t\t\t\t}\r\n\t\t\t} else if (tabId == homeTabs.whatNew) {\r\n\t\t\t\tvar whatNewPrintbox = angular.element('#' + homeContent.whatNewPage + ' #print-box2');\r\n\t\t\t\tif (toggleSidebar == true) {\r\n\t\t\t\t\twhatNewPrintbox.removeClass(avoidCustomPageClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twhatNewPrintbox.addClass(avoidCustomPageClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateAttachmentsForDocuments(documents) {\r\n\t\t\tvar documentIds = [];\r\n\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\tif (documents[i].hasAttachment && !documents[i].isProcess) {\r\n\t\t\t\t\tdocumentIds.push(documents[i].id);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdocumentIds = getDistinctItems(documentIds);\r\n\t\t\tif (documentIds.length) {\r\n\t\t\t\t$http\r\n\t\t\t\t\t.post('/api/Documents/GetAttachmentsForDocuments', { documentIds: documentIds })\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tdata.forEach(function (x) {\r\n\t\t\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\t\t\t\tif (documents[i].hasAttachment && !documents[i].isProcess) {\r\n\t\t\t\t\t\t\t\tdocuments[i].attachments = [];\r\n\t\t\t\t\t\t\t\tfor (var j = 0; j < data.length; j++) {\r\n\t\t\t\t\t\t\t\t\tif (data[j].documentId == documents[i].id) {\r\n\t\t\t\t\t\t\t\t\t\tdocuments[i].attachments.push(data[j]);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateAttachmentsForProcesses(processes) {\r\n\t\t\tif (!processes || !processes.length) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tvar processEntityIds = [];\r\n\t\t\tvar processInterconnectedEntityIds = [];\r\n\t\t\tprocesses.forEach(process => {\r\n\t\t\t\tif (!process.hasAttachment || !process.isProcess) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (process.processClassification && process.processClassification == vm.processClassificationTypes.ProcessInterconnected) {\r\n\t\t\t\t\tprocessInterconnectedEntityIds.push(process.entityId);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tprocessEntityIds.push(process.entityId);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tprocessEntityIds = getDistinctItems(processEntityIds);\r\n\t\t\tif (processEntityIds.length) {\r\n\t\t\t\t$http.get('/api/Processes/GetAttachmentsForProcesses', {\r\n\t\t\t\t\tparams: { processEntityIds },\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tsetAttachmentForProcesses(data, processes);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tprocessInterconnectedEntityIds = getDistinctItems(processInterconnectedEntityIds);\r\n\t\t\tif (processInterconnectedEntityIds.length) {\r\n\t\t\t\t$http.get('/api/ProcessesInterconnected/GetAttachmentsForProcessesInterconnected', {\r\n\t\t\t\t\tparams: { processInterconnectedEntityIds },\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tsetAttachmentForProcesses(data, processes);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfunction goToRegisterDeviation() {\r\n\t\t\twindow.open(HandbookConfiguration.DeviationUrl);\r\n\t\t}\r\n\r\n\t\tfunction goToRiskModule() {\r\n\t\t\twindow.open(getBackendUrl() + commonAdd + 'rm');\r\n\t\t}\r\n\r\n\t\tfunction goToChecklist() {\r\n\t\t\tvar url = angular.copy($location.$$url);\r\n\t\t\turl = url.toLowerCase();\r\n\t\t\tif (url.indexOf('checklist') > -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvm.linkToChecklist = $sce.trustAsResourceUrl(commonAdd + 'checklist/category/main?isHideTopbar');\r\n\t\t}\r\n\r\n\t\tfunction goTochecklistFromUrl(url) {\r\n\t\t\tlet linkChecklist = '';\r\n\t\t\tif (url.indexOf('home') > -1 || url == 'checklist') {\r\n\t\t\t\tlinkChecklist = 'checklist';\r\n\t\t\t} else {\r\n\t\t\t\tlinkChecklist = url.substring(1, url.length).replace('checklist-fe', 'checklist');\r\n\t\t\t}\r\n\t\t\tvm.linkToChecklist = $sce.trustAsResourceUrl('/' + linkChecklist + '?isHideTopbar');\r\n\t\t}\r\n\r\n\t\tfunction setTabPanelActive() {\r\n\t\t\tvar tabPanel = $(\".home-content>.tab-pane.active\");\r\n\t\t\tif (tabPanel) {\r\n\t\t\t\tvar id = getTabId(tabPanel);\r\n\t\t\t\tswitch (id) {\r\n\t\t\t\t\tcase 'tab1':\r\n\t\t\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab2':\r\n\t\t\t\t\t\ttriggerTabClicked('#what-new-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab3':\r\n\t\t\t\t\t\ttriggerTabClicked('#favorite-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab4':\r\n\t\t\t\t\t\ttriggerTabClicked('#reading-list-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab5':\r\n\t\t\t\t\t\ttriggerTabClicked('#hearings-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab6':\r\n\t\t\t\t\t\ttriggerTabClicked('#checklist-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab9':\r\n\t\t\t\t\t\ttriggerTabClicked('#new-annual-cycle-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfunction getTabId(arrTabPanelActive) {\r\n\t\t\tfor (var i = 0; i < arrTabPanelActive.length; i++) {\r\n\t\t\t\tif (arrTabPanelActive[i].id.indexOf('tab') > -1)\r\n\t\t\t\t\treturn arrTabPanelActive[i].id;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$(window).on('resize', function () {\r\n\t\t\t// This function use to adjust the height of document content/folder content when user try to resize browser viewport.\r\n\t\t\t// TODO: If we regardless the height of document/folder when user resize browser viewport, we can remove this code.\r\n\t\t\tvar currentTabState = tabStateService.getCurrentTabState();\r\n\t\t\tif (tabStateService.getCurrentStateType() == tabStateType.homeTabState) {\r\n\t\t\t\tif (currentTabState == null) {\r\n\t\t\t\t\tvar tabState = localStorageService.getItem(tabStateType.homeTabState);\r\n\t\t\t\t\tcurrentTabState = tabState;\r\n\t\t\t\t}\r\n\t\t\t\ttabStateService.adjustContentPosition(currentTabState, tabStateType.homeTabState);\r\n\t\t\t}\r\n\t\t\t//Fix for safari When local storage is not enable\r\n\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.Normal) {\r\n\t\t\t\ttabStateService.adjustContentHeightHomeStartPageTab();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction goToAnnualCycle() {\r\n\t\t\tvar path = angular.copy($location.$$url);\r\n\t\t\tpath = path.toLowerCase();\r\n\t\t\tif (path.indexOf('ac/') > -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconst url = getBackendUrl();\r\n\t\t\tvar linkAnnualCycle = url + commonAdd + 'ac/home';\r\n\t\t\tvm.linkAnnualCycle = $sce.trustAsResourceUrl(linkAnnualCycle + '?hideTopBar');\r\n\t\t}\r\n\r\n\t\tfunction goToAnnualCycleFromUrl() {\r\n\t\t\tvar path = angular.copy($location.$$url);\r\n\t\t\tvar linkAnnualCycle = getBackendUrl() + commonAdd + path.substring(1, path.length);\r\n\t\t\tvm.linkAnnualCycle = $sce.trustAsResourceUrl(linkAnnualCycle + '?hideTopBar');\r\n\t\t}\r\n\r\n\t\tfunction setAttachmentForProcesses(attachments, processes) {\r\n\t\t\tif (attachments && attachments.length) {\r\n\t\t\t\tattachments.forEach(x => {\r\n\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tfor (var i = 0; i < processes.length; i++) {\r\n\t\t\t\tif (processes[i].hasAttachment && processes[i].isProcess) {\r\n\t\t\t\t\tprocesses[i].attachments = processes[i].attachments && processes[i].attachments.length ? processes[i].attachments : [];\r\n\t\t\t\t\tprocesses[i].attachmentHtml = processes[i].attachmentHtml && processes[i].attachmentHtml.length ? processes[i].attachmentHtml : '';\r\n\t\t\t\t\tfor (var j = 0; j < attachments.length; j++) {\r\n\t\t\t\t\t\tif (attachments[j].processEntityId === processes[i].entityId\r\n\t\t\t\t\t\t\t|| attachments[j].processInterconnectedEntityId === processes[i].entityId) {\r\n\t\t\t\t\t\t\tprocesses[i].attachments.push(attachments[j]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('MainPageController', mainPageController);\r\n\r\n mainPageController.$inject = ['$scope', '$http', '$window', '$uibModal', '$location', 'hotkeys', 'resizeService',\r\n 'broadcastService', 'tabStateService', 'shortcutKeysService', 'localStorageService', 'npDialog',\r\n 'helpPagesService', '$sce', 'configService', 'commonService', '$q'];\r\n\r\n function mainPageController($scope, $http, $window, $uibModal, $location, hotkeys, resizeService,\r\n broadcastService, tabStateService, shortcutKeysService, localStorageService, npDialog,\r\n helpPagesService, $sce, configService, commonService, $q) {\r\n var vm = this;\r\n vm.translation = {\r\n aboutNetpowerHandbook: globalResources.About + ' ' + globalResources.NetpowerHandbook,\r\n changePassword: globalResources.ChangePassword,\r\n userManual: globalResources.UserManual\r\n };\r\n\r\n var urlParams = $location.url().split('/');\r\n vm.isEmbedUrl = false;\r\n vm.isHearingUrl = false;\r\n vm.isFolderUrl = false;\r\n vm.isDocumentUrl = false;\r\n vm.isMainUrl = false;\r\n if (urlParams != null && urlParams.length) {\r\n vm.isMainUrl = urlParams[1] == '';\r\n vm.isEmbedUrl = (urlParams[1] == 'embed' || urlParams[1] == 'annualCycle');\r\n vm.isFolderUrl = urlParams[1] == 'folder';\r\n vm.isDocumentUrl = urlParams[1] == 'document';\r\n vm.isHearingUrl = ((urlParams[3] == 'hearing') || (urlParams[3] == 'hearingfields') || urlParams[3] == 'compareWithEarlierVersion') || (urlParams[3] == 'viewsendtohearing');\r\n }\r\n\r\n vm.rememberedChangedWidth = 0;\r\n vm.userId = user.userId;\r\n vm.annualCycleHomeUrl = new URL('annualCycle/home', HandbookConfiguration.BackendURL).href;\r\n vm.isTest = configService.getBool(HandbookConfiguration.IsTest);\r\n vm.enabledAnnualCycle = configService.getBool(HandbookConfiguration.EnabledAnnualCycle);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.publicAlert = HandbookConfiguration.PublicAlert;\r\n vm.activityPopupSize = parseInt(HandbookConfiguration.ActivityPopupSize);\r\n vm.sidebarAdjustmentWidth = sidebarAdjustmentWidth;\r\n vm.autoHideSidebar = autoHideSidebar;\r\n vm.openMyReadingReceipt = openMyReadingReceipt;\r\n vm.changePassword = changePassword;\r\n vm.showStartpageImage = configService.getBool(HandbookConfiguration.ShowStartpageImage);\r\n vm.setMasterTab = setMasterTab;\r\n vm.changeFontsizeGuide = globalResources.ChangeFontsizeMessage;\r\n vm.toggleActivities = toggleActivities;\r\n vm.editActivity = editActivity;\r\n vm.stopPropagation = stopPropagation;\r\n vm.openAboutDialog = openAboutDialog;\r\n vm.changeColor = changeColor;\r\n vm.changeLanguage = changeLanguage;\r\n vm.keydown = keydown;\r\n vm.helpEnabled = configService.getBool(HandbookConfiguration.HelpEnabled);\r\n vm.goToHelpPages = goToHelpPages;\r\n vm.showSearchBoxHeader = false;\r\n vm.toggleSearchBox = toggleSearchBox;\r\n vm.LANGUAGES = LANGUAGES;\r\n vm.annualCyclePermissions = null;\r\n\r\n vm.currentActivityNotifyTab = 0 // 0: active tab\t1: upcoming tab\r\n vm.onChangeActivityNotifyTab = onChangeActivityNotifyTab;\r\n let currentPageIndexNotifyAc = 1;\r\n vm.activitiesNotify = [];\r\n \r\n vm.activeActivityCounter = 0;\r\n vm.calendarLoading = false;\r\n vm.calendarChangeTabLoading = false;\r\n vm.calendarLoadingMore = false;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n vm.currentLanguage = commonService.getCurrentLanguageText();\r\n\r\n vm.changeFontsizeGuide = $sce.trustAsHtml(String.format('
{0}
', vm.changeFontsizeGuide));\r\n if (vm.enabledAnnualCycle) {\r\n getActiveActivitiesForNotificationCounter();\r\n }\r\n\r\n if (vm.isTest) {\r\n updatePositionForTestModeHeader();\r\n }\r\n\r\n var hasShownPublicAlert = localStorageService.getItem(hasShownPublicAlertKeyStorage);\r\n if (vm.publishedVersion && vm.publicAlert && !hasShownPublicAlert) {\r\n npDialog.showDialog(\r\n {\r\n type: dialogTypes.OK,\r\n message: vm.publicAlert,\r\n title: globalResources.Information\r\n }, function () { });\r\n localStorageService.setItem(hasShownPublicAlertKeyStorage, true);\r\n }\r\n }\r\n\r\n $(document).bind('click', function (event) {\r\n var isClickedElementChildOfPopup = $('#dropdownusername')\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n vm.showDropdownTopbar = false;\r\n angular.element('#dropdownusername').removeClass('open');\r\n $scope.$apply();\r\n });\r\n\r\n function toggleSearchBox() {\r\n vm.showSearchBoxHeader = !vm.showSearchBoxHeader;\r\n setTimeout(function () {\r\n tabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n }, 0)\r\n }\r\n\r\n function changeColor() {\r\n if (vm.showDropdownTopbar) {\r\n angular.element('#dropdownusername').addClass('open');\r\n } else {\r\n angular.element('#dropdownusername').removeClass('open');\r\n }\r\n };\r\n\r\n function changeLanguage(language) {\r\n $http.post(handbookRequests.ChangeLanguage,\r\n {\r\n language: language\r\n }).then(function (data, status, headers, config) {\r\n vm.currentLanguage = commonService.getCurrentLanguageText();\r\n user.language = vm.currentLanguage;\r\n var hasShownPublicAlert = localStorageService.getItem(hasShownPublicAlertKeyStorage);\r\n localStorageService.clearAll();\r\n if (hasShownPublicAlert) {\r\n localStorageService.setItem(hasShownPublicAlertKeyStorage, hasShownPublicAlert);\r\n }\r\n location.reload();\r\n });\r\n };\r\n\r\n function setMasterTab() {\r\n tabStateService.setState(tabStateType.homeTabState, homeTabs.startPage);\r\n }\r\n\r\n function sidebarAdjustmentWidth() {\r\n if ($window.innerWidth > 980) {\r\n _setWidthWhenLargerThan980px();\r\n }\r\n else {\r\n _setWidthWhenSmallerThan980px();\r\n }\r\n\r\n broadcastService(broadcastType.toggleSidebar, $scope.toggleSidebar);\r\n };\r\n\r\n $scope.$on(broadcastType.hideSidebarInMobileWhenOpenDocument, function (e, target) {\r\n $scope.toggleSidebar = !$scope.toggleSidebar;\r\n sidebarAdjustmentWidth();\r\n setTimeout(() => {\r\n angular.element('#document-content-information-id').css('paddingLeft', '0px');\r\n }, 0);\r\n });\r\n\r\n function autoHideSidebar() {\r\n if ($window.innerWidth < 960 && angular.element('#sidebar-wrapper').hasClass('toggle-sidebar')) {\r\n angular.element('#sidebar-wrapper').removeClass('toggle-sidebar');\r\n angular.element('#resizeBar').removeClass('toggle-sidebar');\r\n angular.element('#wrapper').removeClass('toggle-wrapper');\r\n angular.element('.tabbable').removeClass('toggle-mainview');\r\n $scope.toggleSidebar = false;\r\n }\r\n };\r\n\r\n function _setWidthWhenLargerThan980px() {\r\n if (angular.element('#sidebar-wrapper').hasClass('toggle-sidebar')) {\r\n _resizeSidebarWithRememberedChangedWidth();\r\n }\r\n else {\r\n _rememberWidthChangedAndResizeToOrginalSize();\r\n }\r\n };\r\n\r\n function _setWidthWhenSmallerThan980px() {\r\n if (angular.element('#sidebar-wrapper').hasClass('toggle-sidebar')) {\r\n _rememberWidthChangedAndResizeToOrginalSize();\r\n }\r\n else {\r\n _resizeSidebarWithRememberedChangedWidth();\r\n }\r\n };\r\n\r\n function _rememberWidthChangedAndResizeToOrginalSize() {\r\n vm.rememberedChangedWidth = angular.element(elementId.sidebarWrapper).width();\r\n resizeService.resizeToOrginalSize();\r\n };\r\n\r\n function _resizeSidebarWithRememberedChangedWidth() {\r\n if (vm.rememberedChangedWidth != 0 && vm.rememberedChangedWidth != 320) {\r\n resizeService.resizeToChangedSize(vm.rememberedChangedWidth);\r\n }\r\n };\r\n\r\n function openMyReadingReceipt() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/home/templates/myReadingReceipts.html',\r\n controller: controllers.myReadingReceiptsController + ' as vm',\r\n size: 'lg',\r\n resolve: {\r\n items: function () {\r\n }\r\n }\r\n });\r\n };\r\n\r\n function changePassword() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/account/templates/changePassword.html',\r\n controller: 'ChangePasswordController as vm',\r\n size: 'md'\r\n });\r\n }\r\n\r\n let currentTabPromise = undefined;\r\n // 0: active tab\t1: upcoming tab\r\n function onChangeActivityNotifyTab(value) {\r\n if (vm.currentActivityNotifyTab === value)\r\n return;\r\n\r\n if (currentTabPromise) {\r\n currentTabPromise.cancel();\r\n currentTabPromise = undefined;\r\n }\r\n \r\n vm.activitiesNotify = [];\r\n currentPageIndexNotifyAc = 1;\r\n vm.currentActivityNotifyTab = value;\r\n currentTabPromise = getActivitiesForNotifyPromise();\r\n\r\n setTimeout(() => {\r\n vm.calendarChangeTabLoading = true;\r\n currentTabPromise.promise.then(res => {\r\n vm.calendarChangeTabLoading = false;\r\n vm.activitiesNotify = res.data;\r\n observableScrollModal();\r\n }).catch(() => vm.calendarChangeTabLoading = false);\r\n }, 0);\r\n }\r\n\r\n function getActivitiesForNotifyPromise(pageIndex = 1) {\r\n switch (vm.currentActivityNotifyTab) {\r\n case 0:\r\n return getActiveActivitiesForNotification(pageIndex);\r\n case 1:\r\n return getUpcomingActivities(pageIndex);\r\n default:\r\n throw Error('invalid tab')\r\n }\r\n }\r\n\r\n function getActiveActivitiesForNotification(pageIndex = 1) {\r\n const def = $q.defer();\r\n const cancel = function () {\r\n def.resolve();\r\n };\r\n\r\n const promise = $http.get('/api/Activity/GetActiveActivitiesForNotification', {\r\n params: {\r\n pageIndex: pageIndex\r\n },\r\n timeout: def.promise\r\n }).then(function (response) {\r\n return response.data;\r\n });\r\n\r\n return {\r\n promise: promise,\r\n cancel: cancel\r\n };\r\n }\r\n\r\n function getUpcomingActivities(pageIndex = 1) {\r\n const def = $q.defer();\r\n const cancel = function () {\r\n def.resolve();\r\n };\r\n\r\n const promise = $http.get('/api/Activity/GetUpcomingActivities', {\r\n params: {\r\n pageIndex: pageIndex\r\n },\r\n timeout: def.promise\r\n }).then(function (response) {\r\n return response.data;\r\n });\r\n\r\n return {\r\n promise: promise,\r\n cancel: cancel\r\n };\r\n }\r\n\r\n function getActiveActivitiesForNotificationCounter() {\r\n $http.get('/api/Activity/GetActiveActivitiesForNotificationCounter').then(res => {\r\n vm.activeActivityCounter = res.data;\r\n });\r\n }\r\n\r\n function toggleActivities(event) {\r\n stopPropagation(event);\r\n const element = angular.element('.activity-notifications > div');\r\n if (!element)\r\n return;\r\n\r\n const visible = element.css('display') == 'block';\r\n angular.element('#sidebar_right').css('display', 'none');\r\n\r\n if (visible)\r\n return element.css('display', 'none');\r\n\r\n currentPageIndexNotifyAc = 1;\r\n vm.calendarLoading = true;\r\n\r\n getActivitiesForNotifyPromise().promise.then(res => {\r\n vm.activitiesNotify = res.data;\r\n vm.calendarLoading = false;\r\n if (vm.activitiesNotify.length) {\r\n element.css('display', 'block');\r\n observableScrollModal();\r\n }\r\n }).catch(() => {\r\n vm.calendarLoading = false;\r\n });\r\n }\r\n\r\n let loadMorePromise;\r\n function observableScrollModal() {\r\n angular.element(\"#activityCalendarModal\").scrollTop(0);\r\n setTimeout(() => {\r\n const activityModal = angular.element(\"#activityCalendarModal\");\r\n if (!activityModal)\r\n return;\r\n activityModal.scrollTop(0);\r\n\r\n activityModal.ready(\r\n function () {\r\n activityModal.off('scroll');\r\n activityModal.scroll(\r\n function () {\r\n const limit = activityModal.prop('scrollHeight') - activityModal.prop('clientHeight');\r\n if (limit === activityModal.scrollTop()) {\r\n if (loadMorePromise)\r\n return;\r\n loadMorePromise = getActivitiesForNotifyPromise(currentPageIndexNotifyAc + 1);\r\n vm.calendarLoadingMore = true;\r\n loadMorePromise.promise.then(\r\n res => {\r\n vm.calendarLoadingMore = false;\r\n loadMorePromise = null;\r\n currentPageIndexNotifyAc = res.pageIndex;\r\n vm.activitiesNotify = [...vm.activitiesNotify, ...res.data];\r\n }\r\n ).catch(() => vm.calendarLoadingMore = false);\r\n }\r\n }\r\n );\r\n }\r\n );\r\n }, 0);\r\n }\r\n\r\n\r\n function editActivity(activity) {\r\n angular.element('.activity-notifications > div').css('display', 'none');\r\n if (configService.getBool(HandbookConfiguration.ShowNewAnnualCycleDetailPage)) {\r\n window.open(String.format('/ac/activity/{0}', activity.activityId));\r\n return;\r\n }\r\n if (!vm.annualCyclePermissions) {\r\n $http\r\n .get('/api/AnnualCycle/GetAnnualCyclePermission')\r\n .success(function (data) {\r\n vm.annualCyclePermissions = data; \r\n navigateToEditActivityBackend(activity);\r\n });\r\n return;\r\n }\r\n navigateToEditActivityBackend(activity);\r\n }\r\n\r\n function navigateToEditActivityBackend(activity) {\r\n window.open(vm.annualCyclePermissions.annualCycleAdmin ? \r\n String.format('{0}ac/annualCycle/activities/{1}/edit', HandbookConfiguration.BackendURL, activity.activityId) :\r\n String.format('{0}ac/activity/{1}/edit', HandbookConfiguration.BackendURL, activity.activityId)\r\n )\r\n }\r\n\r\n function stopPropagation(event) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n function openAboutDialog() {\r\n $uibModal.open({\r\n templateUrl: '/app/components/home/templates/about.html',\r\n controller: 'AboutController as vm',\r\n size: 'md'\r\n });\r\n }\r\n\r\n hotkeys.bindTo($scope)\r\n .add({\r\n combo: shortcutKeysService.gotoStartpage.shortcut,\r\n description: 'Open start page', // The description just explain in code, not use in GUI\r\n callback: shortcutKeysService.gotoStartpage.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openFavouritesMenu.shortcut, // because shilf+alt+f is hotkey of browser, so we use ctrl instead.\r\n description: 'Open faviroute sidebar',\r\n callback: shortcutKeysService.openFavouritesMenu.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openDocumentsMenu.shortcut,\r\n description: 'Open document sidebar',\r\n callback: shortcutKeysService.openDocumentsMenu.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openSimpleSearch.shortcut,\r\n description: 'Open simple search. Set focus on search field in top bar so user can start typing',\r\n callback: shortcutKeysService.openSimpleSearch.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.navigateItemInSidebar.shortcut,\r\n description: 'Navigate folder in folder view.',\r\n callback: shortcutKeysService.navigateItemInSidebar.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.printFolderPDFIndex.shortcut,\r\n description: 'Print folder/document index PDF',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.printFolderPDFIndex.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.printDocumentPDFA4.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleFavorite.shortcut,\r\n description: 'Toggle folder favorite',\r\n callback: shortcutKeysService.toggleFavorite.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleEmailNotification.shortcut,\r\n description: 'Toggle email subscription',\r\n callback: shortcutKeysService.toggleEmailNotification.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleOnlyFolderEmailNotification.shortcut,\r\n description: 'Toggle only folder email subscription',\r\n callback: shortcutKeysService.toggleOnlyFolderEmailNotification.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openGridSetting.shortcut,\r\n description: 'Open grid settings. First column should have focus so user can use space to toggle and tab to go to next one',\r\n callback: shortcutKeysService.openGridSetting.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleFolderContentTab.shortcut,\r\n description: 'Toggle folder/document content tab',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.toggleFolderContentTab.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.toggleDocumentContentTab.method();\r\n } else {\r\n shortcutKeysService.toggleMasterHomeTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleFolderAboutTab.shortcut,\r\n description: 'Toggle folder/document about tab',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.toggleFolderAboutTab.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.toggleDocumentAboutTab.method();\r\n } else {\r\n shortcutKeysService.toggleWhatsNewsTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleDocumentMetadataTab.shortcut,\r\n description: 'Toggle metadata if enabled',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('document') > 0) {\r\n if (configService.getBool(HandbookConfiguration.MetadataEnabled)) {\r\n shortcutKeysService.toggleDocumentMetadataTab.method();\r\n } else {\r\n shortcutKeysService.toggleDocumentSearchInContentTab.method();\r\n }\r\n } else {\r\n shortcutKeysService.toggleUpdatedFavoriteTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleDocumentSearchInContentTab.shortcut,\r\n description: 'Toggle metadata if enabled',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('document') > 0) {\r\n if (configService.getBool(HandbookConfiguration.MetadataEnabled)) {\r\n shortcutKeysService.toggleDocumentSearchInContentTab.method();\r\n }\r\n } else if (configService.getBool(HandbookConfiguration.ReadingListEnabled)) {\r\n shortcutKeysService.toggleMyReadingListTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.openDocumentReadingReceipt.shortcut,\r\n description: 'Open reading receipt',\r\n callback: shortcutKeysService.openDocumentReadingReceipt.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openDocumentFeedback.shortcut,\r\n description: 'Open feedback',\r\n callback: shortcutKeysService.openDocumentFeedback.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleDocumentFullScreenViewing.shortcut,\r\n description: 'Toggle fullscreen viewing',\r\n callback: shortcutKeysService.toggleDocumentFullScreenViewing.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.linkToDocumentManagement.shortcut,\r\n description: 'Link to document management',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.linkToFolderManagement.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.linkToDocumentManagement.method();\r\n }\r\n }\r\n });\r\n\r\n $(window).keyup(function (event) { // handle number 0 on number pad\r\n if (event.ctrlKey && event.altKey && event.keyCode == 96) {\r\n shortcutKeysService.gotoStartpage.method();\r\n }\r\n });\r\n\r\n $(window).on('resize', function () {\r\n resizeService.resizeToOrginalSize();\r\n if (vm.isTest) {\r\n updatePositionForTestModeHeader();\r\n }\r\n });\r\n\r\n $(window).on('click', function () {\r\n angular.element('.activity-notifications > div').css('display', 'none');\r\n })\r\n\r\n function updatePositionForTestModeHeader() {\r\n var widthOfDocument = $(document).width();\r\n var widthOfToggleSidebarButton = 42;\r\n var widthOfSearchDocumentsControl = 280;\r\n var widthOfLeftControls = widthOfToggleSidebarButton + widthOfSearchDocumentsControl;\r\n var widthOfTestModeHeader = 50;\r\n var widthOfRightMenu = $('#navbar-header .navbar-right').width();\r\n var remainingWidth = widthOfDocument - widthOfLeftControls - widthOfTestModeHeader - widthOfRightMenu;\r\n\r\n $('#navbar-header .test-mode-header').css('left', (remainingWidth) / 2 + widthOfLeftControls);\r\n\r\n }\r\n\r\n function keydown(e) {\r\n if (e.which === 112) {\r\n if (vm.helpEnabled) {\r\n document.onhelp = function () {\r\n return (false);\r\n };\r\n window.onhelp = function () {\r\n return (false);\r\n };\r\n e.returnValue = false;\r\n e.keyCode = 0;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n goToHelpPages();\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n function goToHelpPages() {\r\n if (vm.helpEnabled) {\r\n var urlParams = $location.url().split('/');\r\n var viewId = 1;\r\n if (urlParams != null && urlParams.length > 0) {\r\n switch (urlParams[1]) {\r\n case 'folder':\r\n viewId = 2;\r\n break;\r\n case 'document':\r\n viewId = 3;\r\n break;\r\n case '':\r\n if (angular.element('#hearings-tab').hasClass('active')) {\r\n viewId = 4;\r\n }\r\n break;\r\n default:\r\n viewId = 1;\r\n }\r\n }\r\n var newWindow = window.open(\"\", \"_blank\");\r\n helpPagesService.getHelpPages(viewId).then(function (data, status, headers, config) {\r\n newWindow.location.href = data.helpURL;\r\n });\r\n }\r\n }\r\n };\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller(controllers.myReadingReceiptsController, myReadingReceiptsController);\r\n\r\n myReadingReceiptsController.$inject = ['$scope', '$http', '$state', '$uibModalInstance', 'localStorageService'];\r\n\r\n function myReadingReceiptsController($scope, $http, $state, $modalInstance, localStorageService) {\r\n var vm = this;\r\n vm.initialize = initialize;\r\n vm.translation = globalResources;\r\n vm.openTree = openTree;\r\n vm.clearSelectedFolder = clearSelectedFolder;\r\n vm.viewReport = viewReport;\r\n vm.cancel = cancel;\r\n vm.chooseAmongFavorites = chooseAmongFavorites;\r\n\r\n vm.originalFolderTree = null;\r\n vm.originalFavorites = null;\r\n\r\n var itemAll = { id: -1, name: vm.translation.All };\r\n\r\n function initialize() {\r\n vm.includeSubfolders = false;\r\n vm.showFolderTree = false;\r\n vm.selectedFolder = null;\r\n vm.style = {\r\n folderClass: '',\r\n inputClass: ''\r\n };\r\n var chooseAmongFavorites = localStorageService.getItem('ChooseAmongFavorites');\r\n if (chooseAmongFavorites == null || chooseAmongFavorites == 'false') {\r\n getFolderTree();\r\n } else {\r\n vm.chooseFavorite = true;\r\n getFolderFavorites();\r\n }\r\n vm.title = String.format(globalResources.MyReadingReceipt, user.fullName);\r\n };\r\n\r\n function openTree() {\r\n vm.showFolderTree = !vm.showFolderTree;\r\n };\r\n\r\n function clearSelectedFolder($event) {\r\n vm.selectedFolder = null;\r\n vm.style.folderClass = '';\r\n vm.style.inputClass = '';\r\n };\r\n\r\n $scope.$watch('vm.selectedFolder', function (selected) {\r\n if (selected) {\r\n if (selected.id == -1) {\r\n vm.includeSubfolders = true;\r\n }\r\n }\r\n });\r\n\r\n function viewReport() {\r\n var id = 0, includeSubfolders = true;\r\n if (vm.selectedFolder.id > 0) {\r\n id = vm.selectedFolder.id;\r\n includeSubfolders = vm.includeSubfolders;\r\n }\r\n $state.go(handbookActions.MyReadingReceiptsReport, {\r\n folderId: id,\r\n recursive: includeSubfolders\r\n });\r\n\r\n $modalInstance.close();\r\n };\r\n\r\n function cancel() {\r\n $modalInstance.close();\r\n };\r\n\r\n $scope.selectNodeLabel = function (node) {\r\n vm.selectedFolder = node;\r\n vm.showFolderTree = false;\r\n vm.style.folderClass = 'mrc-folder-' + node.type;\r\n if (node.id > 0) {\r\n vm.style.inputClass = 'padding-left-65';\r\n } else {\r\n vm.style.inputClass = '';\r\n }\r\n };\r\n\r\n $scope.selectNodeHead = function (node) {\r\n //check if type of selected node is in [1, 2, 3, 4] = [Document, LinkDocument, FileDocument, ShortcutDocument] refer to enum NodeType, we dont call request\r\n if (!node.isLoaded && node.type > 4) {\r\n // Does not follow config ShowDocumentsInTree\r\n\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': node.id, 'showDocumentInTree': false } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n };\r\n\r\n function getFolderFavorites() {\r\n if (vm.originalFavorites == null) {\r\n $http.get(handbookRequests.GetFavoritesRequest).\r\n success(function (data, status, headers, config) {\r\n var tempData = [];\r\n tempData.push(itemAll);\r\n if (data && data.length > 0) {\r\n data.forEach(function (item) {\r\n if (isFolderNode(item)) {\r\n tempData.push(item);\r\n }\r\n })\r\n }\r\n vm.documents = tempData;\r\n vm.originalFavorites = tempData;\r\n vm.selectedFolder = itemAll;\r\n });\r\n } else {\r\n vm.documents = vm.originalFavorites;\r\n }\r\n };\r\n\r\n function getFolderTree() {\r\n if (vm.originalFolderTree == null) {\r\n\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'id': null, 'showDocumentInTree': false } })\r\n .success(function (data, status, headers, config) {\r\n data.splice(0, 0, itemAll);\r\n vm.documents = data;\r\n vm.originalFolderTree = data;\r\n vm.selectedFolder = itemAll;\r\n });\r\n } else {\r\n vm.documents = vm.originalFolderTree;\r\n }\r\n };\r\n\r\n function chooseAmongFavorites() {\r\n if (vm.chooseFavorite) {\r\n getFolderFavorites();\r\n localStorageService.setItem('ChooseAmongFavorites', true);\r\n } else {\r\n getFolderTree();\r\n localStorageService.setItem('ChooseAmongFavorites', false);\r\n }\r\n };\r\n\r\n function isFolderNode(node) {\r\n return node.type == E.nodeTypes.Folder || node.type == E.nodeTypes.TopFolder || node.type == E.nodeTypes.DepartmentFolder || node.type == E.nodeTypes.RegionalFolder;\r\n };\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('NewsCategoryModule', [])\r\n .controller('NewsCategoryController', NewsCategoryController);\r\n\r\n NewsCategoryController.$inject = ['$state', '$scope','newsService'];\r\n\r\n function NewsCategoryController($state, $scope, newsService) {\r\n var vm = this;\r\n vm.loadNews = loadNews;\r\n vm.toggleLoadAllNews = false;\r\n vm.news = [];\r\n vm.currentPage = -1;\r\n vm.startPage = -1;\r\n vm.totalResults = 0;\r\n vm.maxDisplayPage = NewsGridConfig.maxDisplayPage;\r\n vm.itemPerPage = HandbookConfiguration.NewsPageSize;\r\n vm.pageSize = HandbookConfiguration.NewsPageSize;\r\n vm.translation = {\r\n title: globalResources.CommonGridColumns.Title,\r\n createdDate: globalResources.CreatedDate,\r\n first: globalResources.First,\r\n last: globalResources.Last,\r\n description: globalResources.Description,\r\n publishedDate: globalResources.Published\r\n };\r\n\r\n vm.newsSetting = [];\r\n function newsSetting() {\r\n vm.newsSetting.push({ id: 'title', name: vm.translation.title, width: 30, coldefault: true });\r\n vm.newsSetting.push({ id: 'dtmPublish', name: vm.translation.publishedDate, width: 20, coldefault: true });\r\n vm.newsSetting.push({ id: 'ingress', name: vm.translation.description, width: 50, coldefault: true });\r\n };\r\n\r\n initialize();\r\n function initialize() {\r\n newsSetting();\r\n loadAllNews($state.params.pageIndex);\r\n };\r\n function loadNews(id) {\r\n newsService\r\n .updateNewsReadCount(id)\r\n .then(function (result) {\r\n $state.go(handbookActions.StartpageNews, { newsId: id, isPreview: false });\r\n });\r\n };\r\n\r\n function loadAllNews(pageIndex, pageSize) {\r\n if (!pageIndex || pageIndex == -1) {\r\n pageIndex = 1;\r\n }\r\n if (pageIndex != vm.startPage) {\r\n user.currentNewsPage = pageIndex;\r\n newsService\r\n .getNewsByCategoryId($state.params.categoryId, E.NewsCategoryShownIn.shownInHandbookFrontend, pageIndex - 1, pageSize || vm.pageSize)\r\n .then(function (result) {\r\n vm.news = result.data.news;\r\n vm.totalResults = result.data.totalResults;\r\n vm.currentPage = pageIndex;\r\n vm.startPage = pageIndex;\r\n });\r\n }\r\n };\r\n\r\n $scope.$watch('vm.currentPage', function (newPage) {\r\n if (vm.currentPage != -1) {\r\n loadAllNews(newPage);\r\n }\r\n });\r\n\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('NewsDetailsController', newsDetailsController);\r\n\r\n newsDetailsController.$inject = ['$stateParams', '$sce', '$timeout',\r\n 'newsService', 'anchorService', 'resizeService'];\r\n\r\n function newsDetailsController($stateParams, $sce, $timeout,\r\n newsService, anchorService, resizeService) {\r\n var vm = this;\r\n\r\n vm.news = null;\r\n vm.id = $stateParams.newsId;\r\n vm.translation = {\r\n attachments: globalResources.CommonGridColumns.HasAttachment,\r\n editNews: globalResources.EditNews\r\n };\r\n vm.GetFileRequest = handbookRequests.GetFileRequest;\r\n vm.linkToEditNewsView = linkToEditNewsView;\r\n\r\n vm.copyUserFriendlyUrlTooltip = globalResources.CopyUserFriendlyUrl;\r\n\r\n\r\n initialize();\r\n\r\n vm.urlNews = window.location.origin + '/news/' + vm.id;\r\n\r\n function initialize() {\r\n resizeService.resizeView();\r\n getNewsById(vm.id);\r\n };\r\n\r\n function getNewsById(id) {\r\n newsService\r\n .getActiveNewsById(id)\r\n .then(function (result) {\r\n vm.news = result.data;\r\n if (vm.news !== null && vm.news.image !== null) {\r\n newsService\r\n .getNewsImageById(vm.news.id)\r\n .then(function (result) {\r\n if (result.data !== null && result.data.value !== null) {\r\n if (result.data.id === -1) {\r\n vm.news.image.value = result.data.value;\r\n }\r\n else {\r\n vm.news.image.value = 'data:image/png;base64,' + result.data.value;\r\n }\r\n }\r\n });\r\n }\r\n vm.news.body = $sce.trustAsHtml(vm.news.body);\r\n runServicesAfterInit();\r\n })\r\n };\r\n\r\n function runServicesAfterInit() {\r\n $timeout(function () {\r\n updateLocalAnchors();\r\n }, 500);\r\n }\r\n\r\n function updateLocalAnchors() {\r\n var domContent = angular.element('div.news-detail-body');\r\n anchorService.updateLocalAnchors(domContent);\r\n }\r\n\r\n function linkToEditNewsView() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n\r\n var url = backendUrl + commonAdd + 'admin/newsCategories/' + vm.news.categoryId + '/' + vm.id + '/edit';\r\n window.open(url, '_blank');\r\n\r\n }\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('newsListModule', [])\r\n .controller('NewsListController', NewsListController);\r\n\r\n NewsListController.$inject = ['$state', '$http', '$scope', '$timeout', '$window', 'newsService', 'tabStateService'];\r\n\r\n function NewsListController($state, $http, $scope, $timeout, $window, newsService, tabStateService) {\r\n var vm = this;\r\n vm.loadNews = loadNews;\r\n vm.toggleLoadAllNews = false;\r\n vm.news = [];\r\n vm.currentPage = -1;\r\n vm.startPage = -1;\r\n vm.totalResults = 0;\r\n vm.maxDisplayPage = NewsGridConfig.maxDisplayPage;\r\n vm.itemPerPage = HandbookConfiguration.NewsPageSize;\r\n vm.pageSize = HandbookConfiguration.NewsPageSize;\r\n vm.translation = {\r\n title: globalResources.CommonGridColumns.Title,\r\n createdDate: globalResources.CreatedDate,\r\n first: globalResources.First,\r\n last: globalResources.Last,\r\n description: globalResources.Description,\r\n publishedDate: globalResources.Published,\r\n ingress: globalResources.Ingress\r\n };\r\n\r\n vm.newsSetting = [];\r\n function newsSetting() {\r\n vm.newsSetting.push({ id: 'title', name: vm.translation.title, width: 35, coldefault: true });\r\n vm.newsSetting.push({ id: 'dtmPublish', name: vm.translation.publishedDate, width: '90px', coldefault: true });\r\n vm.newsSetting.push({ id: 'ingress', name: vm.translation.ingress, width: 60, coldefault: true });\r\n }\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n getHeightGrid();\r\n newsSetting();\r\n loadAllNews($state.params.pageIndex);\r\n }\r\n\r\n function loadNews(id) {\r\n newsService\r\n .updateNewsReadCount(id)\r\n .then(function (result) {\r\n $state.go(handbookActions.StartpageNews, { newsId: id, isPreview: false });\r\n });\r\n }\r\n\r\n function getInternetExplorerVersion() {\r\n var rv = -1;\r\n if (navigator.appName == 'Microsoft Internet Explorer') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null)\r\n rv = parseFloat(RegExp.$1);\r\n }\r\n else if (navigator.appName == 'Netscape') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null)\r\n rv = parseFloat(RegExp.$1);\r\n }\r\n return rv;\r\n }\r\n\r\n\t\tfunction isMobile() {\r\n\t\t\ttry {\r\n\t\t\t\tif (/Android|webOS|iPhone|iPad|iPod|pocket|psp|kindle|avantgo|blazer|midori|Tablet|Palm|maemo|plucker|phone|BlackBerry|symbian|IEMobile|mobile|ZuneWP7|Windows Phone|Opera Mini/i.test(navigator.userAgent)) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t};\r\n\t\t\t\treturn false;\r\n\t\t\t} catch (e) { console.log(\"Error in isMobile\"); return false; }\r\n\t\t}\r\n\r\n function getHeightGrid() {\r\n\t\t\tvar documentHeight = isMobile() ? window.innerHeight : $(window).height();\r\n\t\t\tvar $gridTop = $('.table.gridStyle.margin-bottom-0');\r\n\t\t\tvar top = ($gridTop.eq(0).offset() == null) ? 0 : $gridTop.eq(0).offset().top;\r\n\t\t\tvar height = (documentHeight - top - 160);\r\n\r\n\t\t\tif (getInternetExplorerVersion() > -1) {\r\n\t\t\t\tangular.element('.scrollableTable').css('max-height', height + 'px');\r\n\t\t\t} else {\r\n\t\t\t\tangular.element('#gridController').css('max-height', height + 'px');\r\n\t\t\t}\r\n }\r\n\r\n $(window).on('resize', function () {\r\n getHeightGrid();\r\n });\r\n\r\n function loadAllNews(pageIndex, pageSize) {\r\n if (!pageIndex || pageIndex == -1) {\r\n pageIndex = 1;\r\n }\r\n if (pageIndex != vm.startPage) {\r\n user.currentNewsPage = pageIndex;\r\n newsService\r\n .getNewsWithPaging(pageIndex - 1, pageSize || vm.pageSize)\r\n .then(function (result) {\r\n vm.news = result.data.news;\r\n vm.totalResults = result.data.totalResults;\r\n vm.currentPage = pageIndex;\r\n vm.startPage = pageIndex;\r\n });\r\n }\r\n }\r\n\r\n $scope.$watch('vm.currentPage', function (newPage) {\r\n if (vm.currentPage != -1) {\r\n loadAllNews(newPage);\r\n }\r\n });\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller(controllers.personChapterConfirmsSumsListController, personChapterConfirmsSumsListController);\r\n\r\n personChapterConfirmsSumsListController.$inject = ['$scope', '$http'];\r\n\r\n function personChapterConfirmsSumsListController($scope, $http) {\r\n var vm = this;\r\n vm.initialize = initialize;\r\n\r\n function initialize() {\r\n };\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('reportsMyReadingListViewController', reportsMyReadingListViewController);\r\n\r\n reportsMyReadingListViewController.$inject = ['$state', '$stateParams', '$http'];\r\n\r\n function reportsMyReadingListViewController($state, $stateParams, $http) {\r\n var vm = this; \r\n\r\n initialize();\r\n\r\n function initialize() {\r\n \r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n\r\n vm.reportPage = `/Reports/Viewer.aspx?reportType=11&userId=${user.userId}`;\r\n };\r\n\r\n $(window).on('resize', function () {\r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n });\r\n };\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('reportsViewController', reportsViewController);\r\n\r\n reportsViewController.$inject = ['$state', '$stateParams', '$http'];\r\n\r\n function reportsViewController($state, $stateParams, $http) {\r\n var vm = this;\r\n vm.filter = {\r\n folderId: $stateParams.folderId != null ? $stateParams.folderId : null,\r\n includeSubfolders: $stateParams.recursive\r\n };\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n\r\n vm.reportPage = '/Reports/Viewer.aspx?folderId=' + vm.filter.folderId + '&recursive=' + vm.filter.includeSubfolders;\r\n\r\n };\r\n\r\n $(window).on('resize', function () {\r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n });\r\n };\r\n\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module(modules.homeModule)\r\n\t\t.controller('StartpageController', startpageController);\r\n\r\n\tstartpageController.$inject = ['$state', '$http', '$scope', '$sce', '$timeout', '$window', 'newsService',\r\n\t\t'tabStateService', 'localStorageService', 'documentService', 'browserService', 'configService'];\r\n\r\n\tfunction startpageController($state, $http, $scope, $sce, $timeout, $window, newsService,\r\n\t\ttabStateService, localStorageService, documentService, browserService, configService) {\r\n\t\tvar vm = this;\r\n\t\t\r\n\t\tvm.toggleLoadAllNews = localStorageService.getItem('toggleLoadAllNews') || false;\r\n\t\tvm.news = [];\r\n\t\tvm.leftMenuGroups = [];\r\n\t\tvm.rightMenuGroups = [];\r\n\t\tvm.currentPage = -1;\r\n\t\tvm.totalResults = 0;\r\n\t\tvm.maxDisplayPage = NewsGridConfig.maxDisplayPage;\r\n\t\tvm.itemPerPage = NewsGridConfig.pageSize;\r\n\t\tvm.translation = {\r\n\t\t\tmore: globalResources.More,\r\n\t\t\tshowmore: globalResources.Showmore,\r\n\t\t\tfirst: globalResources.First,\r\n\t\t\tlast: globalResources.Last,\r\n\t\t\tnewsHeader: globalResources.NewsHeader,\r\n\t\t\tnews: globalResources.News,\r\n\t\t\trun: globalResources.Run,\r\n\t\t\tyourReports: globalResources.YourReports,\r\n\t\t\tsearchDocumentTitleOrId: globalResources.SearchDocumentTitleOrId,\r\n\t\t\tselectTheTypeOfSearch: globalResources.SelectTheTypeOfSearch,\r\n\t\t\tmyReports: globalResources.MyReports,\r\n\t\t\tprocesses: globalResources.Processes,\r\n\t\t\tmyPage: globalResources.MyPage\r\n\t\t};\r\n\r\n\t\tvm.reportTypes = DEVIATION_REPORTS_TYPES;\r\n\r\n\t\tvm.loadAllNews = loadAllNews;\r\n\t\tvm.gotoUrl = gotoUrl;\r\n\t\tvm.collapseHandle = collapseHandle;\r\n\t\tvm.goToNewsDetails = loadNews;\r\n\t\tvm.runReport = runReport;\r\n\t\tvm.enableHomepageSearch = configService.getBool(HandbookConfiguration.EnableHomepageSearch);\r\n\t\tvm.dashboardIframeUrl = $sce.trustAsResourceUrl(HandbookConfiguration.BackendURL + 'dashboard?hideTopBar=true');\r\n\t\tvm.BROWSER_TYPE = BrowserType;\r\n\t\tvm.browserType = browserService.detectBrowserWindow();\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tvm.isDataAvailable = (HandbookConfiguration.StartpageThemeKey != E.StartpageTheme.StartpageWithNewsAndImage);\r\n\t\t\tif (vm.toggleLoadAllNews) {\r\n\t\t\t\tloadAllNews(localStorageService.getItem('pageIndex'));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tgetNews();\r\n\t\t\t\t//add for device\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tnewsService.adjustNewsHeight();\r\n\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t}, 3000, false);\r\n\t\t\t}\r\n\t\t\tgetMenuGroups();\r\n\t\t\tgetUserFilterSearches();\r\n\r\n\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.StartpageWithProcessAndWidgets) {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t$('#processTabTrigger').trigger('click');\r\n\t\t\t\t});\r\n }\r\n\t\t};\r\n\r\n\t\tfunction getUserFilterSearches() {\r\n\t\t\treturn $http.get('/api/Users/GetUserSavedSearches', { params: { searchFilterType: searchFilterTypes.handbookReports } })\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data) {\r\n\t\t\t\t\t\tresponse.data.forEach(function (item) {\r\n\t\t\t\t\t\t\tvar type = getReportType(item.searchFilters);\r\n\t\t\t\t\t\t\titem.reportType = getReportTypeText(type);\r\n\t\t\t\t\t\t\titem.module = searchFilterTypes.handbookReports;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tvm.saveSearches = response.data;\r\n\t\t\t\t\t\tgetUserFilterSearchesForDeviation();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tfunction getUserFilterSearchesForDeviation() {\r\n\t\t\treturn $http.get('/api/Users/GetUserSavedSearches', { params: { searchFilterType: searchFilterTypes.deviationReports } })\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data) {\r\n\t\t\t\t\t\tif (!vm.saveSearches)\r\n\t\t\t\t\t\t\tvm.saveSearches = [];\r\n\r\n\t\t\t\t\t\tresponse.data.forEach(function (item) {\r\n\t\t\t\t\t\t\tvar type = getReportType(item.searchFilters);\r\n\t\t\t\t\t\t\titem.module = searchFilterTypes.deviationReports;\r\n\t\t\t\t\t\t\titem.reportType = getReportTypeTextForDeviation(type);\r\n\t\t\t\t\t\t\tvm.saveSearches.push(item);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tfunction getReportType(searchFilters) {\r\n\t\t\tif (!searchFilters)\r\n\t\t\t\treturn '';\r\n\r\n\t\t\tvar arrSearchFilter = decodeURIComponent(searchFilters).split('&');\r\n\t\t\tif (arrSearchFilter == null || arrSearchFilter.length <= 0)\r\n\t\t\t\treturn '';\r\n\r\n\t\t\tfor (var i = 0; i < arrSearchFilter.length; i++) {\r\n\t\t\t\tvar values = arrSearchFilter[i].split('=');\r\n\t\t\t\tif (values != null && values.length > 0 && values[0] == 'reportType') {\r\n\t\t\t\t\treturn values[1];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tfunction getReportTypeText(type) {\r\n\t\t\tif (type != '')\r\n\t\t\t\ttype = parseInt(type);\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\treturn globalResources.ReadingReceiptsPerson;\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\treturn globalResources.ReadingReceiptsDocument;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\treturn globalResources.ReadingReceiptsFolder;\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\treturn globalResources.NumberOfDocumentsPerFolder;\r\n\t\t\t\tcase 5:\r\n\t\t\t\t\treturn globalResources.FolderStatistics;\r\n\t\t\t\tcase 6:\r\n\t\t\t\t\treturn globalResources.NewRevisedDocuments;\r\n\t\t\t\tcase 7:\r\n\t\t\t\t\treturn globalResources.WritePermissionsPerson;\r\n\t\t\t\tcase 8:\r\n\t\t\t\t\treturn globalResources.ApprovePermissionsPerson;\r\n\t\t\t\tcase 9:\r\n\t\t\t\t\treturn globalResources.WritePermissions;\r\n\t\t\t\tcase 10:\r\n\t\t\t\t\treturn globalResources.ApprovePermissions;\r\n\t\t\t\tcase 11:\r\n\t\t\t\t\treturn globalResources.ReadingListsPerson;\r\n\t\t\t\tcase 12:\r\n\t\t\t\t\treturn globalResources.ReadingListDepartment;\r\n\t\t\t\tcase 13:\r\n\t\t\t\t\treturn globalResources.ReadingListClosestLeader;\r\n\t\t\t\tcase 14:\r\n\t\t\t\t\treturn globalResources.ReadingListRole;\r\n\t\t\t\tcase 15:\r\n\t\t\t\t\treturn globalResources.MostReadDocumentsTotal;\r\n\t\t\t\tcase 16:\r\n\t\t\t\t\treturn globalResources.MostReadDocumentsVersion;\r\n\t\t\t\tcase 17:\r\n\t\t\t\t\treturn globalResources.StatusDocumentsPerFolder;\r\n\t\t\t\tcase 18:\r\n\t\t\t\t\treturn globalResources.LeastReadDocumentsTotal;\r\n\t\t\t\tcase 19:\r\n\t\t\t\t\treturn globalResources.LeastReadDocumentsVersion;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tfunction getReportTypeTextForDeviation(type) {\r\n\t\t\tif (type != '')\r\n\t\t\t\ttype = parseInt(type);\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER:\r\n\t\t\t\t\treturn globalResources.categoryNumberPerStatus;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_METATAG:\r\n\t\t\t\t\treturn globalResources.metatagCategoryReport;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_SUB_CATEGORY:\r\n\t\t\t\t\treturn globalResources.subCategoryCategoryReport;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_HANDLING_UNIT:\r\n\t\t\t\t\treturn globalResources.categoryNumberPerHandlingUnit;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_YEAR_AND_MONTH_NUMBER:\r\n\t\t\t\t\treturn globalResources.categoryYearAndMonthNumber;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_MONTH_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.categoryNumberPerMonthPerYear;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_SEVERITY_NUMBER:\r\n\t\t\t\t\treturn globalResources.categorySeverityNumbers;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_KPI:\r\n\t\t\t\t\treturn globalResources.category + ' - ' + globalResources.kpi;\r\n\t\t\t\tcase vm.reportTypes.ACTIONS_NUMBER_AND_TYPE:\r\n\t\t\t\t\treturn globalResources.actionsNumberAndType;\r\n\t\t\t\tcase vm.reportTypes.ACTIONS_NUMBER_PER_MONTH_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.actionsNumberPerMonthPerYear;\r\n\t\t\t\tcase vm.reportTypes.STATISTICS:\r\n\t\t\t\t\treturn globalResources.statistics;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_COST_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.costCategory;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_COST_PER_MONTH_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.costTypeSumPerMonthPerYear;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_CUSTOM_FIELD:\r\n\t\t\t\t\treturn globalResources.categoryCustomFieldReport;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_EQUIPMENT:\r\n\t\t\t\t\treturn globalResources.categoryEquipmentReport;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tfunction getNews() {\r\n\t\t\tnewsService\r\n\t\t\t\t.getNews({ showInModule: E.NewsCategoryShownIn.shownInHandbookFrontend })\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\thandleDevicesSize(result.data.length);\r\n\t\t\t\t\tvm.news = result.data;\r\n\t\t\t\t\tif (vm.news.length > 0) {\r\n\t\t\t\t\t\tvm.news.filter(function (x) {\r\n\t\t\t\t\t\t\tif (x.image !== null) {\r\n\t\t\t\t\t\t\t\tnewsService\r\n\t\t\t\t\t\t\t\t\t.getNewsImageById(x.id)\r\n\t\t\t\t\t\t\t\t\t.then(function (result) {\r\n\t\t\t\t\t\t\t\t\t\tif (result.data !== null && result.data.value !== null) {\r\n\t\t\t\t\t\t\t\t\t\t\tif (result.data.id === -1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tx.image.value = result.data.value;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tx.image.value = 'data:image/png;base64,' + result.data.value;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t.catch(function (result) {\r\n\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tnewsService.adjustNewsHeight();\r\n\t\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t\t}, 500, false);\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction loadNews(id) {\r\n\t\t\tuser.currentNewsPage = 1;\r\n\t\t\tnewsService\r\n\t\t\t\t.updateNewsReadCount(id);\r\n\t\t};\r\n\r\n\t\tfunction loadAllNews(pageIndex, pageSize) {\r\n\t\t\tif (!vm.toggleLoadAllNews) {\r\n\t\t\t\tpageIndex = 1;\r\n\t\t\t}\r\n\r\n\t\t\tnewsService\r\n\t\t\t\t.getNewsWithPaging(pageIndex - 1, pageSize || NewsGridConfig.pageSize)\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\tvm.news = result.data.news;\r\n\t\t\t\t\tvm.toggleLoadAllNews = true;\r\n\t\t\t\t\tvm.totalResults = result.data.totalResults;\r\n\t\t\t\t\tvm.currentPage = pageIndex;\r\n\t\t\t\t\tlocalStorageService.setItem('toggleLoadAllNews', true);\r\n\t\t\t\t\tlocalStorageService.setItem('pageIndex', pageIndex);\r\n\t\t\t\t});\r\n\r\n\t\t\tadjustContentPosition();\r\n\t\t};\r\n\r\n\t\tfunction getMenuGroups() {\r\n\t\t\t$http\r\n\t\t\t\t.get(handbookRequests.GetMenuGroups)\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\tvar menus = result.data;\r\n\t\t\t\t\tvar rootMenuId = HandbookConfiguration.MenuId;\r\n\r\n\t\t\t\t\tvar columns = [];\r\n\t\t\t\t\tfor (var i = 0; i < menus.length; i++) {\r\n\t\t\t\t\t\tif (menus[i].parentItemId == rootMenuId) {\r\n\t\t\t\t\t\t\tcolumns.push(menus[i]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar groups = getGroupsPerCoumn(menus, columns);\r\n\t\t\t\t\tgroups = getGroupItems(menus, groups);\r\n\r\n\t\t\t\t\tvm.menus = groups;\r\n\t\t\t\t\tbuildGroupsStyle(vm.menus);\r\n\r\n\t\t\t\t\tif (configService.getBool(HandbookConfiguration.CollapseMenuGroups)) {\r\n\t\t\t\t\t\tcollapseMenuGroups();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.isDataAvailable = true;\r\n\t\t\t\t})\r\n\t\t};\r\n\r\n\t\tfunction collapseMenuGroups() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tfor (var i = 0; i < vm.menus.length; i++) {\r\n\t\t\t\t\tfor (var j = 0; j < vm.menus[i].groups.length; j++) {\r\n\t\t\t\t\t\tif (!vm.menus[i].groups[j].expanded) {\r\n\t\t\t\t\t\t\tangular.element('#spgroup_' + vm.menus[i].groups[j].itemId).toggleClass('collapsed');\r\n\t\t\t\t\t\t\tangular.element('#spgroup_' + vm.menus[i].groups[j].itemId + '_icon').removeClass('collapse-arrow').addClass('collapsed-arrow');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, 500, false);\r\n\t\t}\r\n\r\n\t\tfunction getGroupsPerCoumn(menus, columns) {\r\n\t\t\tvar groups = [];\r\n\t\t\tvar index = 0, hasGroupItems = false;\r\n\t\t\tfor (var i = 0; i < columns.length; i++) {\r\n\t\t\t\tfor (var j = 0; j < menus.length; j++) {\r\n\t\t\t\t\tif (menus[j].parentItemId == columns[i].itemId) {\r\n\t\t\t\t\t\thasGroupItems = true;\r\n\t\t\t\t\t\tif (groups[index] == null) {\r\n\t\t\t\t\t\t\tvar children = []; children.push(menus[j]);\r\n\t\t\t\t\t\t\tgroups.push({ groups: children });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tgroups[index].groups.push(menus[j]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (hasGroupItems) {\r\n\t\t\t\t\tfor (var k = 0; k < groups[index].groups.length; k++) {\r\n\t\t\t\t\t\tmenus.splice($.inArray(groups[index].groups[k], menus), 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tindex += 1;\r\n\t\t\t\t}\r\n\t\t\t\thasGroupItems = false;\r\n\t\t\t}\r\n\t\t\treturn groups;\r\n\t\t}\r\n\r\n\t\tfunction buildGroupsStyle(menus) {\r\n\t\t\tvar length = menus.length;\r\n\t\t\tvar padding = 2, css = '';\r\n\t\t\tvar width = 100 / length - padding;\r\n\r\n\t\t\tswitch (length) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.StartpageWithNewsAndImage) {\r\n\t\t\t\t\t\tcss = 'col-md-6 col6res';\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcss = 'col-md-12';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.StartpageWithNewsAndImage) {\r\n\t\t\t\t\t\tcss = 'col-md-4 col4res';\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcss = 'col-md-6';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tcss = 'col-md-4';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\tcss = 'col-md-3';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tcss = 'col-md-2';\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tvm.imageCss = css;\r\n\r\n\t\t\tfor (var i = 0; i < length; i++) {\r\n\t\t\t\tmenus[i].style = 'width: ' + width + '%; float: left;';\r\n\t\t\t\tmenus[i].css = css;\r\n\t\t\t\tif (i < length - 1) {\r\n\t\t\t\t\tmenus[i].style += 'margin-right: ' + padding + '%;'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getGroupItems(menus, groups) {\r\n\t\t\tfor (var i = 0; i < menus.length; i++) {\r\n\t\t\t\tfor (var j = 0; j < groups.length; j++) {\r\n\t\t\t\t\tfor (var k = 0; k < groups[j].groups.length; k++) {\r\n\t\t\t\t\t\tif (menus[i].parentItemId == groups[j].groups[k].itemId) {\r\n\t\t\t\t\t\t\tif (groups[j].groups[k].items == null) {\r\n\t\t\t\t\t\t\t\tvar items = []; items.push(menus[i]);\r\n\t\t\t\t\t\t\t\tgroups[j].groups[k].items = items;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tgroups[j].groups[k].items.push(menus[i]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn groups;\r\n\t\t}\r\n\r\n\t\tfunction adjustContentPosition() {\r\n\t\t\tvar tabState = tabStateService.getState(tabStateType.homeTabState);\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentPosition(tabState, tabStateType.homeTabState);\r\n\t\t\t}, 0, false);\r\n\t\t};\r\n\r\n\t\tfunction gotoUrl(item, e) {\r\n\t\t\tvar requestUrl = '/api/Menu/SaveClickedCount';\r\n\t\t\tvar request = { itemId: item.itemId };\r\n\t\t\tif (item.url) {\r\n\t\t\t\t$http.post(requestUrl, request);\r\n\t\t\t}\r\n\t\t\tif (item.url.indexOf('http') >= 0) {\r\n\t\t\t\tif (item.url.indexOf($window.location.hostname) < 0) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (item.url.indexOf('document/') >= 0) {\r\n\t\t\t\tif (item.newWindow != '1') {\r\n\t\t\t\t\tdocumentService.goToDocument(item.url.substr(item.url.lastIndexOf('/') + 1));\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t} else if (item.url.indexOf('folder/') >= 0) {\r\n\t\t\t\tif (item.newWindow != '1') {\r\n\t\t\t\t\t$state.go(handbookActions.FolderAction, { folderId: item.url.substr(item.url.lastIndexOf('/') + 1) });\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.$watch('vm.currentPage', function (newPage) {\r\n\t\t\tif (vm.currentPage != -1) {\r\n\t\t\t\tloadAllNews(newPage);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(window).on('resize', function () {\r\n\t\t\thandleDevicesSize(vm.news.length);\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tnewsService.adjustNewsHeight();\r\n\t\t\t\t$scope.$apply();\r\n\t\t\t}, 500, false);\r\n\t\t});\r\n\r\n\t\tfunction collapseHandle(collapsedFlag) {\r\n\t\t\tvm.collapsed = collapsedFlag;\r\n\t\t};\r\n\r\n\t\t$scope.$on('adjustmentNews', function (e, target) {\r\n\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tnewsService.adjustNewsHeight()\r\n\t\t\t}, 500, false);\r\n\t\t});\r\n\r\n\t\tfunction handleDevicesSize(newsLength) {\r\n\t\t\tvar availWidth = screen.availWidth;\r\n\t\t\tvar availHeight = screen.availHeight;\r\n\r\n\t\t\tif (availWidth <= 768) {\r\n\t\t\t\t//mobile\r\n\t\t\t\tvm.newsItemClass = 'col-xs-12';\r\n\t\t\t} else {\r\n\t\t\t\tswitch (newsLength) {\r\n\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\tvm.newsItemClass = 'col-xs-12';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\tvm.newsItemClass = 'col-xs-6';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tvm.newsItemClass = 'col-xs-4';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction runReport(saveReport) {\r\n\t\t\tvar backendUrl = HandbookConfiguration.BackendURL;\r\n\t\t\tvar lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n\t\t\tvar commonAdd = lastChar == '/' ? '' : '/';\r\n\t\t\tif (saveReport.module == searchFilterTypes.handbookReports) {\r\n\t\t\t\twindow.open(backendUrl + commonAdd + 'handbook/reportsView/param?' + saveReport.searchFilters, '_blank');\r\n\t\t\t} else {\r\n\t\t\t\twindow.open(backendUrl + commonAdd + 'deviation/reports/param?' + saveReport.searchFilters, '_blank');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t};\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('tabModule', [])\r\n .controller('TabController', tabController);\r\n\r\n tabController.$inject = ['$scope', 'tabStateService', 'readingConfirmationService', 'feedBackService', 'documentService', '$location', 'broadcastService'];\r\n\r\n function tabController($scope, tabStateService, readingConfirmationService, feedBackService, documentService, $location, broadcastService) {\r\n var vm = this;\r\n\r\n vm.feedbackText = '';\r\n vm.setState = setState;\r\n vm.initializeTabs = initializeTabs;\r\n vm.sendFeedback = sendFeedback;\r\n vm.sendReadingConfirmation = sendReadingConfirmation;\r\n vm.getConfirmInformation = getConfirmInformationBaseOnView;\r\n\r\n function setState(tabId, tabType) {\r\n var tabStateType = getTabStateType(tabType);\r\n \r\n setFocusTextSearchForTabActive(tabId);\r\n\r\n if (tabStateService.isTabActive(tabId)) {\r\n var extendHeight = $('#tab-content-document').height();\r\n tabStateService.removeState(tabStateType);\r\n if (tabId == \"more-tab\") {\r\n const activeItem = {\r\n tabId: '#more-tab',\r\n tabContentId: '.tab-content.home-content #tab8'\r\n }\r\n angular.element(activeItem.tabId).toggleClass('active');\r\n angular.element(activeItem.tabContentId).toggleClass('active');\r\n triggerTabClicked('#more-tab', false);\r\n }\r\n\r\n var documentContentHeight = $('#document-content-identifier').outerHeight();\r\n var documentFieldListHeight = $('#documentDetailFieldContentList').outerHeight();\r\n\r\n angular.element('#document-content-identifier').css({\r\n height: documentContentHeight + extendHeight\r\n });\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: documentFieldListHeight + extendHeight\r\n });\r\n \r\n } else {\r\n tabStateService.setState(tabStateType, tabId);\r\n tabStateService.setCurrentTabState(tabId);\r\n }\r\n\t\t\tvar element = $location.url().split('/');\r\n\t\t\tif (tabId.includes('document') && element[3] != 'fields' && element[3] != 'hearingfields') {\r\n setTimeout(function () { documentService.stickyTitle(); }, 0);\r\n }\r\n\r\n if ($('#folder-content-identifier').position()) {\r\n setTimeout(() => {\r\n tabStateService.adjustFolderContentIdentifierHeight();\r\n broadcastService('processChangeHeightForTable');\r\n }, 100);\r\n }\r\n\r\n setTimeout(function () {\r\n $scope.$apply(function () {\r\n $scope.$broadcast(\"tabActived\", tabId);\r\n });\r\n }, 100);\r\n };\r\n\r\n function triggerTabClicked(tabId, clickItSelf) {\r\n setTimeout(function () {\r\n var childTab = $(tabId + ' a');\r\n if (childTab) {\r\n $(childTab).click();\r\n if (clickItSelf && $(tabId)) {\r\n $(tabId).click();\r\n }\r\n }\r\n });\r\n }\r\n\r\n function initializeTabs(tabType, isInitReadingConfirmationTab) {\r\n var _tabStateType = getTabStateType(tabType);\r\n tabStateService.setCurrentStateType(_tabStateType);\r\n\r\n var tabState = tabStateService.getState(_tabStateType);\r\n if ((tabState == null || tabState == \"\") && _tabStateType == tabStateType.homeTabState) {\r\n tabStateService.setState(tabStateType.homeTabState, homeTabs.startPage);\r\n }\r\n else {\r\n setState(tabState, tabType);\r\n }\r\n\r\n setFocusTextSearchForTabActive(tabState);\r\n\r\n tabStateService.initTabState(_tabStateType);\r\n if (isInitReadingConfirmationTab) {// not loading data again if fieldview\r\n initializeReadingReceiptTab();\r\n }\r\n };\r\n\r\n function setFocusTextSearchForTabActive(tabState) {\r\n if (tabState != null) {\r\n if (tabState == 'document-searchincontent') {\r\n setTimeout(function () {\r\n angular.element('#input-search-in-document').focus();\r\n }, 0);\r\n }\r\n } \r\n };\r\n\r\n function sendFeedback() {\r\n if (vm.feedbackText == '' || vm.feedbackText == null) {\r\n alert(globalResources.PleaseEnterFeedback);\r\n return false;\r\n }\r\n return feedBackService\r\n .sendFeedback($scope.$parent.vm.currentData.entityId, vm.feedbackText)\r\n .then(function (data) {\r\n if (data == true) {\r\n vm.feedbackText = '';\r\n alert(globalResources.ThanksForYourFeedback);\r\n }\r\n });\r\n };\r\n\r\n function sendReadingConfirmation() {\r\n var currentData = $scope.$parent.vm.currentData;\r\n if (currentData.confirmInformation) {\r\n readingConfirmationService\r\n .sendReadingConfirmation(currentData.entityId, currentData.folderId)\r\n .then(function (data) {\r\n if (data) {\r\n var currentDate = new Date();\r\n currentData.confirmInformation.readConfirmationDate = currentDate.toLocaleDateString();\r\n }\r\n });\r\n }\r\n }\r\n\r\n function getConfirmInformationBaseOnView() {\r\n if ($scope.$parent.vm.currentDataPromise) { //documentView\r\n $scope.$parent.vm.currentDataPromise.then(function (data) {\r\n if (data.entityId && !data.confirmInformation) {\r\n getConfirmInformation(data);\r\n }\r\n });\r\n }\r\n else { //fieldView\r\n if ($scope.$parent.vm.currentData.entityId && !$scope.$parent.vm.currentData.confirmInformation) {\r\n getConfirmInformation($scope.$parent.vm.currentData);\r\n }\r\n }\r\n };\r\n\r\n function getTabStateType(tabType) {\r\n var type = '';\r\n switch (tabType) {\r\n case tabStateType.documentTabState:\r\n type = tabStateType.documentTabState;\r\n break;\r\n case tabStateType.chapterTabState:\r\n type = tabStateType.chapterTabState;\r\n break;\r\n case tabStateType.homeTabState:\r\n type = tabStateType.homeTabState;\r\n break;\r\n default:\r\n type = tabStateType.documentTabState;\r\n break;\r\n }\r\n\r\n return type;\r\n };\r\n\r\n function initializeReadingReceiptTab() {\r\n if (tabStateService.isTabActive(documentTab.readingReceipt)) {\r\n getConfirmInformationBaseOnView();\r\n };\r\n };\r\n\r\n function getConfirmInformation(data) {\r\n readingConfirmationService.GetConfirmInformation(data.entityId)\r\n .then(function (response) {\r\n data.confirmInformation = response.data;\r\n });\r\n };\r\n };\r\n\r\n})();","(function () {\r\n var model = angular.module('managementModule', ['ngDraggable']);\r\n\r\n model.controller(controllers.manageFavoritesController, ['$scope', '$http', '$state', '$uibModal', '$uibModalInstance', 'broadcastService', 'items', 'pubSub', '$q', 'configService',\r\n function ($scope, $http, $state, $uibModal, $modalInstance, broadcastService, items, pubSub, $q, configService) {\r\n $scope.translation = globalResources;\r\n $scope.folders = [];\r\n $scope.forcedAndDepartmentFolders = [];\r\n $scope.originalFoldersData = [];\r\n $scope.documents = [];\r\n $scope.originalDocumentsData = [];\r\n $scope.emailSubsribed = [];\r\n $scope.manageFavoriteTabs = manageFavoriteTabs;\r\n $scope.currentTab = manageFavoriteTabs.folder;\r\n $scope.isChanged = false;\r\n $scope.isSortByAlphabet = true;\r\n $scope.runOnce = false;\r\n $scope.areas = [];\r\n $scope.processes = [];\r\n $scope.showSort = $scope.currentTab !== manageFavoriteTabs.emailSubscribed;\r\n\r\n $scope.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n $scope.enableProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n initDataSource();\r\n\r\n $scope.loadEmailSubscribedFolder = function () {\r\n if ($scope.enableProcessModule) {\r\n $http.get('/api/CombineDocumentAndProcess/GetUserEmailSubscriptionsForDocumentAndProcess')\r\n .then(function (res) {\r\n if (res) {\r\n var items = []\r\n items = res.data;\r\n items.forEach(function (item) {\r\n if (checkFolder(item.type) || item.isProcessArea) {\r\n if (item.isRecursiveFolder) {\r\n item.subscriptionName = $scope.translation.FolderAndSubFolders;\r\n } else {\r\n item.subscriptionName = $scope.translation.FolderOnly;\r\n }\r\n }\r\n });\r\n $scope.emailSubsribed = items;\r\n }\r\n });\r\n return;\r\n }\r\n \r\n $http.get(handbookRequests.GetUserEmailSubscriptionsForFoldersAndDocuments)\r\n .then(function (result) {\r\n result.data.forEach(function (item) {\r\n if (checkFolder(item.type)) {\r\n if (item.isRecursiveFolder) {\r\n item.subscriptionName = $scope.translation.FolderAndSubFolders;\r\n } else {\r\n item.subscriptionName = $scope.translation.FolderOnly;\r\n }\r\n }\r\n });\r\n $scope.emailSubsribed = result.data;\r\n })\r\n };\r\n\r\n function checkFolder(type){\r\n if(type == E.nodeTypes.Folder || type == E.nodeTypes.TopFolder || type == E.nodeTypes.DepartmentFolder || type == E.nodeTypes.RegionalFolder){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n $scope.removeAreaFromFavorites = function (area) {\r\n var params = {\r\n areaId: area.id\r\n }\r\n var requestUrl = handbookRequests.RemoveAreaFromFavoritesRequest;\r\n confirmAndDeleteItem(area, requestUrl, $scope.areas, null, true, params);\r\n };\r\n\r\n $scope.removeProcessFromFavorites = function (process) {\r\n var params = {\r\n processId: process.processId\r\n };\r\n var requestUrl = \"/api/ProcessAreas/RemoveProcessFromFavorites/\" + params;\r\n confirmAndDeleteItem(process, requestUrl, $scope.processes, null, true, params);\r\n };\r\n\r\n $scope.removeFolderFromFavorite = function (folder) {\r\n var requestUrl = handbookRequests.RemoveFavoriteFolder + '/' + folder.id;\r\n confirmAndDeleteItem(folder, requestUrl, $scope.folders, $scope.originalFoldersData, true);\r\n };\r\n\r\n $scope.removeDocumentFromFavorite = function (document) {\r\n var requestUrl = handbookRequests.RemoveFavoriteDocument + '/' + document.id;\r\n confirmAndDeleteItem(document, requestUrl, $scope.documents, $scope.originalDocumentsData, true);\r\n };\r\n\r\n $scope.removeEmailSubscribed = function (folder) {\r\n var requestUrl = '';\r\n var params;\r\n if (folder.isProcess) {\r\n requestUrl = handbookRequests.RemoveProcessEmailSubscription;\r\n params = { ProcessId: folder.id };\r\n confirmAndDeleteItem(folder, requestUrl, $scope.emailSubsribed, null, false, { ProcessId: folder.id });\r\n return;\r\n }\r\n else if (folder.isProcessArea) {\r\n params = { AreaId: folder.id };\r\n if (folder.isRecursiveFolder) {\r\n requestUrl = handbookRequests.RemoveAreaAndItsChildrenFromEmailSubscription;\r\n }\r\n else {\r\n requestUrl = handbookRequests.RemoveOnlyAreaFromEmailSubscription;\r\n }\r\n confirmAndDeleteItem(folder, requestUrl, $scope.emailSubsribed, null, false, { AreaId: folder.id });\r\n return;\r\n }\r\n else if (checkFolder(folder.type)) {\r\n params = false;\r\n if (folder.isRecursiveFolder) {\r\n requestUrl = handbookRequests.RemoveEmailSubscription + '/' + folder.id;\r\n } else {\r\n requestUrl = handbookRequests.RemoveOnlyFolderFromEmailSubscription + '/' + folder.id;\r\n }\r\n } else {\r\n params = false;\r\n requestUrl = handbookRequests.RemoveEmailSubscriptionDocument + '/' + folder.id;\r\n }\r\n confirmAndDeleteItem(folder, requestUrl, $scope.emailSubsribed, null, false);\r\n };\r\n\r\n $scope.onDragSuccess = function (data, evt) {\r\n $scope.runOnce = false;\r\n };\r\n\r\n $scope.onDropComplete = function (index, obj, evt, isProcessAreaItem) {\r\n if (!$scope.runOnce) { // to prevent this evt run twice\r\n $scope.isChanged = true;\r\n var dataSource = isProcessAreaItem ? getSourceProcessAreasByItemType(obj.type) : getSourceByItemType(obj.type);\r\n removeBorderAndUpdateOrder(index, evt.element, obj, dataSource, false, false);\r\n }\r\n }\r\n\r\n $scope.onDropCompleteForLastItem = function (index, obj, evt, isProcessAreaItem) {\r\n $scope.isChanged = true;\r\n var dataSource = isProcessAreaItem ? getSourceProcessAreasByItemType(obj.type) : getSourceByItemType(obj.type);\r\n removeBorderAndUpdateOrder(index, evt.element, obj, dataSource, false, true);\r\n }\r\n\r\n $scope.onDropCompleteForTopItem = function (index, obj, evt, isProcessAreaItem) {\r\n $scope.isChanged = true;\r\n var dataSource = isProcessAreaItem ? getSourceProcessAreasByItemType(obj.type) : getSourceByItemType(obj.type);\r\n removeBorderAndUpdateOrder(index, evt.element, obj, dataSource, true, false);\r\n }\r\n\r\n $scope.setCurrentTab = function (tab) {\r\n $scope.currentTab = tab;\r\n $scope.showSort = $scope.currentTab !== manageFavoriteTabs.emailSubscribed;\r\n };\r\n\r\n $scope.addCurrentActiveClass = function (id) {\r\n removeOldActiveDragItem();\r\n angular.element(prefix.hashbangPrefix + id).addClass(cssClass.currentDrag);\r\n };\r\n\r\n $scope.sortAlphabet = function () {\r\n if (!$scope.isSortByAlphabet) {\r\n $scope.isChanged = true;\r\n var source = getSourceByCurrentTab(false);\r\n setOrderByAlphabet(source);\r\n }\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.close();\r\n };\r\n\r\n $scope.saveAndClose = function () {\r\n if ($scope.isChanged) {\r\n $q.all([updateSortOrderProcessItems(), updateSortOrderHandbookItems()]).then(function () {\r\n closeAndUpdateFavoriteTree();\r\n });\r\n }\r\n else {\r\n $modalInstance.close();\r\n }\r\n };\r\n\r\n function updateSortOrderHandbookItems() {\r\n var documents = reArrangeAndGetChangedSortOrderItems($scope.documents, $scope.originalDocumentsData);\r\n var folders = reArrangeAndGetChangedSortOrderItems($scope.folders, $scope.originalFoldersData);\r\n var updatedItems = documents.concat(folders);\r\n return $http.post(handbookRequests.UpdateFavoritesSortOrder, updatedItems)\r\n .then(function () {\r\n $scope.isChanged = false;\r\n updateOriginalData();\r\n });\r\n }\r\n\r\n function updateSortOrderProcessItems() {\r\n if ($scope.enableProcessModule) {\r\n var originalAreas = angular.copy($scope.areas);\r\n var originalProcesses = angular.copy($scope.processes);\r\n var areas = reArrangeAndGetChangedSortOrderItems($scope.areas, originalAreas);\r\n var processes = reArrangeAndGetChangedSortOrderItems($scope.processes, originalProcesses);\r\n var params = {\r\n areas: areas,\r\n processes: processes\r\n };\r\n return $http.post(\"/api/ProcessAreas/UpdateFavoritesSortOrder\", params)\r\n .success(function (data, status, headers, config) {\r\n if (data) {\r\n pubSub.publish(broadcastType.updateFavoritesProcesses, true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n function initDataSource() {\r\n for (var index = 0; index < items.length; index++) {\r\n if (isFolder(items[index].type)) {\r\n if (!items[index].isForced && items[index].type != E.nodeTypes.DepartmentFolder) {\r\n $scope.folders.splice(index, 0, items[index]);\r\n $scope.originalFoldersData.splice(index, 0, angular.copy(items[index]));\r\n }\r\n else {\r\n $scope.forcedAndDepartmentFolders.splice(index, 0, items[index]);\r\n }\r\n }\r\n else {\r\n $scope.documents.splice(index, 0, items[index]);\r\n $scope.originalDocumentsData.splice(index, 0, angular.copy(items[index]));\r\n }\r\n\r\n if (items[index].sort > 0) {\r\n $scope.isSortByAlphabet = false;\r\n }\r\n }\r\n loadProcessAndAreas();\r\n }\r\n\r\n function loadProcessAndAreas() {\r\n $http.get(handbookRequests.GetFavoritesItemsExcludeForcedFavoriteRequest)\r\n .success(function (data, status, headers, config) {\r\n if (data) {\r\n decorateNodes(data.areas, data.processes);\r\n $scope.areas = data.areas;\r\n $scope.processes = data.processes;\r\n var existedSort = $scope.areas.some(function (item) { return item.sort > 0; }) || $scope.processes.some(function (item) { return item.sort > 0; });\r\n if (existedSort) {\r\n $scope.isSortByAlphabet = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function decorateNodes(areas, processes) {\r\n if (areas && areas.length > 0) {\r\n for (var i = 0; i < areas.length; i++) {\r\n areas[i].type = 0;\r\n }\r\n }\r\n if (processes && processes.length > 0) {\r\n for (var i = 0; i < processes.length; i++) {\r\n processes[i].type = 1;\r\n processes[i].id = processes[i].processNumber;\r\n }\r\n }\r\n }\r\n\r\n function isFolder(type) {\r\n return type > E.nodeTypes.ShortcutDocument;\r\n }\r\n\r\n function confirmAndDeleteItem(object, requestUrl, dataSource, originalDataSource, isUpdateFavoriteTree, params) {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.ConfirmationView,\r\n controller: controllers.confirmController,\r\n resolve: {\r\n item: function () {\r\n return object.name;\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(function (isConfirm) {\r\n if (isConfirm) {\r\n $http.post(requestUrl, params)\r\n .then(function () {\r\n //remove item in manage window\r\n dataSource.splice($.inArray(object, dataSource), 1);\r\n\r\n //remove item in original data\r\n if (originalDataSource != null) {\r\n removeItemFromList(object.id, originalDataSource);\r\n }\r\n //remove item in favorite tree\r\n if (isUpdateFavoriteTree) {\r\n broadcastToUpdateFavoriteTree(object);\r\n if ($scope.enableProcessModule) {\r\n pubSub.publish(broadcastType.updateFavoritesProcesses, true);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n function removeItemFromList(id, dataSource) {\r\n for (var index = 0; index < dataSource.length; index++) {\r\n if (dataSource[index].id == id) {\r\n dataSource.splice(index, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n function removeOldActiveDragItem() {\r\n var oldActive = angular.element.find(elementClass.currentDrag);\r\n if (oldActive.length > 0) {\r\n oldActive.forEach(function (element) {\r\n var css = element.className.replace(' ' + cssClass.currentDrag, '');\r\n element.className = css;\r\n });\r\n }\r\n }\r\n\r\n function broadcastToUpdateFavoriteTree(item) {\r\n var target = {\r\n data: {\r\n id: item.id,\r\n name: item.name,\r\n type: item.type,\r\n isDocument: !isFolder(item.type)\r\n },\r\n requestType: requestType.removeRequest\r\n };\r\n broadcastService(broadcastType.favoriteTarget, target);\r\n }\r\n\r\n function removeBorderAndUpdateOrder(index, element, object, dataSource, isTop, isBottom) {\r\n element.removeClass(cssClass.dragEnter);\r\n if (isTop || isBottom) {\r\n removeItemFromList(object.id, dataSource);\r\n if (isTop) {\r\n dataSource.splice(0, 0, object);\r\n }\r\n else {\r\n dataSource.splice(dataSource.length, 0, object);\r\n }\r\n }\r\n else {\r\n var moveObjectIndex = dataSource.indexOf(object);\r\n if (index != moveObjectIndex) {\r\n removeItemFromList(object.id, dataSource);\r\n }\r\n if (index > moveObjectIndex) {\r\n dataSource.splice(index, 0, object); //move down\r\n }\r\n if (index < moveObjectIndex) {\r\n dataSource.splice(index + 1, 0, object); //move up\r\n }\r\n }\r\n $scope.runOnce = true;\r\n removeOldActiveDragItem();\r\n }\r\n\r\n function getSourceByItemType(type) {\r\n if (isFolder(type)) {\r\n return $scope.folders;\r\n } else {\r\n return $scope.documents;\r\n }\r\n }\r\n\r\n function getSourceProcessAreasByItemType(type) {\r\n return type == 0 ? $scope.areas : $scope.processes;\r\n }\r\n\r\n function getSourceByCurrentTab(isOriginalSource) {\r\n switch ($scope.currentTab) {\r\n case manageFavoriteTabs.folder:\r\n if (isOriginalSource) {\r\n return $scope.originalFoldersData;\r\n }\r\n else {\r\n return $scope.folders;\r\n }\r\n case manageFavoriteTabs.document:\r\n if (isOriginalSource) {\r\n return $scope.originalDocumentsData;\r\n }\r\n else {\r\n return $scope.documents;\r\n }\r\n case manageFavoriteTabs.processArea:\r\n return $scope.areas;\r\n\r\n case manageFavoriteTabs.process:\r\n return $scope.processes;\r\n\r\n default:\r\n return $scope.folders;\r\n }\r\n }\r\n\r\n function reArrangeAndGetChangedSortOrderItems(dataSource, originalDataSource) {\r\n var changedItems = [];\r\n for (var index = 0; index < dataSource.length; index++) {\r\n dataSource[index].sort = index;\r\n if (dataSource[index].sort != originalDataSource[index].sort || dataSource[index].id != originalDataSource[index].id) {\r\n changedItems.splice(changedItems.length, 0, dataSource[index]);\r\n }\r\n }\r\n return changedItems;\r\n }\r\n\r\n function setOrderByAlphabet(dataSource) {\r\n dataSource.sort(function (item1, item2) {\r\n if (item1.name.toLowerCase() > item2.name.toLowerCase())\r\n return 1;\r\n else\r\n return -1;\r\n return 0;\r\n });\r\n for (var index = 0; index < dataSource.length; index++) {\r\n dataSource[index].sort = 0;\r\n }\r\n }\r\n\r\n function closeAndUpdateFavoriteTree() {\r\n var source = $scope.documents.concat($scope.folders).concat($scope.forcedAndDepartmentFolders);\r\n $modalInstance.close(source);\r\n }\r\n\r\n function updateOriginalData() {\r\n $scope.originalFoldersData = angular.copy($scope.folders);\r\n $scope.originalDocumentsData = angular.copy($scope.documents);\r\n }\r\n\r\n }]);\r\n\r\n model.controller(controllers.confirmController, ['$scope', 'item', '$uibModalInstance', function ($scope, item, $modalInstance) {\r\n $scope.translation = globalResources;\r\n $scope.confirmMessage = String.format(globalResources.DeleteConfirmMessage, '\"' + item + '\"');\r\n\r\n $scope.confirm = function () {\r\n $modalInstance.close(true);\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.close(false);\r\n };\r\n\r\n }]);\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.printingModule, [])\r\n .controller(controllers.printingController, printController);\r\n\r\n printController.$inject = ['$scope'];\r\n\r\n function printController($scope) {\r\n $scope.init = function () {\r\n getGridSetting();\r\n $scope.columnsSetting = commonGridSetting;\r\n window.print();\r\n };\r\n };\r\n\r\n})();","\r\nvar printingDocumentModule = angular.module('printingDocumentModule', []);\r\n\r\nprintingDocumentModule.controller(\"printingDocumentController\", ['$scope', '$http', '$compile', '$sce', '$window', '$timeout', function ($scope, $http, $compile, $sce, $window, $timeout) {\r\n $scope.documentInformation = {};\r\n\r\n $scope.init = function () {\r\n $http.get(handbookRequests.GetDocumentInformationRequest, { params: { 'documentId': documentViewModel.documentId } }).\r\n success(function (data, status, headers, config) {\r\n $scope.documentInformation = data;\r\n $scope.documentInformation.fieldContents.forEach(function (fieldContent) {\r\n fieldContent.content = $sce.trustAsHtml(fieldContent.content);\r\n });\r\n $scope.page.setTitle($scope.documentInformation.documentName);\r\n $timeout(function () {\r\n $window.print();\r\n });\r\n \r\n });\r\n };\r\n\r\n}]);","(function () {\r\n 'use strict';\r\n angular.module(modules.homeModule)\r\n .controller('statisticsController', controller);\r\n\r\n controller.$inject = ['$scope', '$location'];\r\n\r\n function controller($scope, $location) {\r\n\r\n var vm = this;\r\n vm.firstLoaded = true;\r\n vm.translation = resources;\r\n\r\n // Variables\r\n vm.alerts = [];\r\n var urlParams = $location.url().split('/');\r\n\r\n vm.tabsSetting = [];\r\n\r\n vm.onTabSelected = onTabSelected;\r\n\r\n // Main features\r\n $scope.$on(\"tabActived\", function (evt, data) {\r\n if (vm.firstLoaded && data == 'statistics-tab') {\r\n initialize();\r\n vm.firstLoaded = false;\r\n }\r\n });\r\n\r\n function initialize() {\r\n buildTabsSetting();\r\n onTabSelected(1);\r\n }\r\n\r\n function buildTabsSetting() {\r\n vm.tabsSetting.push({\r\n name: resources.L.Statistics.useAndKeyValues,\r\n description: resources.L.Statistics.useAndKeyValues,\r\n href: 'dailyStatistics',\r\n icon: '',\r\n tabIndex: 1,\r\n active: true,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '/app/components/statistics/daily-statistics/daily-statistics.html',\r\n elementContentId: 'dailyStatistics'\r\n });\r\n vm.tabsSetting.push({\r\n name: resources.L.Statistics.folderStatistics,\r\n description: resources.L.Statistics.folderStatistics,\r\n href: 'folderStatistics',\r\n icon: '',\r\n tabIndex: 2,\r\n active: false,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '/app/components/statistics/folder-statistics/folder-statistics.html',\r\n elementContentId: 'folderStatistics'\r\n });\r\n }\r\n\r\n function onTabSelected(tabIndex) {\r\n var tab = vm.tabsSetting.find(x => x.tabIndex == tabIndex);\r\n setTimeout(function () {\r\n $scope.$apply(function () {\r\n $scope.$broadcast(\"tabStatisticsActived\", tab.href);\r\n });\r\n }, 100);\r\n }\r\n }\r\n})();","(function () {\r\n\t'use strict';\r\n\r\n\tangular.module('angularTreeview')\r\n\t\t.controller('frontpageTreeview', treeViewController);\r\n\r\n\ttreeViewController.$inject = ['$scope', '$http', '$state', '$uibModal', '$location', '$timeout', 'favoriteService',\r\n\t\t'treeNavigationService', 'documentService', 'pubSub', 'configService', 'browserService'];\r\n\r\n\tfunction treeViewController($scope, $http, $state, $uibModal, $location, $timeout, favoriteService,\r\n\t\ttreeNavigationService, documentService, pubSub, configService, browserService) {\r\n\t\t$scope.showTreeFavorites = false;\r\n\t\t$scope.showTreeDocument = false;\r\n\t\t$scope.showTreeMyMostRead = false;\r\n\t\t$scope.showTreeMyLastVisited = false;\r\n\t\t$scope.showToggleSearchPanel = false;\r\n\t\t$scope.showTreeProcesses = false;\r\n\t\t$scope.enableProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\t\t$scope.documentList = {};\r\n\t\t$scope.favoritesList = {};\r\n\t\t$scope.myMostReadList = {};\r\n\t\t$scope.myLastVisitedList = {};\r\n\t\t$scope.showDocumentInTree = configService.getBool(HandbookConfiguration.ShowDocumentsInTree);\r\n\r\n\t\tvar browserType = browserService.detectBrowserWindow();\r\n\t\tvar previousRequest = { itemId: 0, itemType: '' };\r\n\t\tvar initOpeningDocumentGroupAsDefault = false;\r\n\t\tvar killProcessAreaRouteChanged = null;\r\n\r\n\t\t$scope.init = function () {\r\n\t\t\topenDefaultGroup();\r\n\r\n\t\t\tnavigateToTreeMenuItem();\r\n\t\t};\r\n\r\n\t\t$scope.$on('$destroy', function () {\r\n\t\t\tkillProcessAreaRouteChanged();\r\n\t\t});\r\n\r\n\t\tfunction openDefaultGroup() {\r\n\t\t\t//debugger;\r\n\t\t\tconst groupToOpenAsDefault = parseInt(HandbookConfiguration.GroupToOpenAsDefault);\r\n\t\t\tif (groupToOpenAsDefault != GROUP_TO_OPEN_AS_DEFAULTS.NONE) {\r\n\t\t\t\tswitch (groupToOpenAsDefault) {\r\n\t\t\t\t\tcase GROUP_TO_OPEN_AS_DEFAULTS.DOCUMENT:\r\n\t\t\t\t\t\tinitOpeningDocumentGroupAsDefault = true;\r\n\t\t\t\t\t\t$scope.loadWhenSelectMenu(\"Document\");\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase GROUP_TO_OPEN_AS_DEFAULTS.PROCESS:\r\n\t\t\t\t\t\t$scope.loadWhenSelectMenu(\"Processes\");\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tkillProcessAreaRouteChanged = pubSub.subscribe(broadcastType.processAreaRouteChanged, processAreaRouteChanged);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction navigateToTreeMenuItem() {\r\n\t\t\t//debugger;\r\n\t\t\tvar urlParams = new URLSearchParams(window.location.search);\r\n\t\t\tvar menuType = urlParams.get('treeMenu');\r\n\t\t\tswitch (menuType) {\r\n\t\t\t\tcase 'Favorites':\r\n\t\t\t\t\t$scope.loadWhenSelectMenu('Favorites');\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'MyLastVisited':\r\n\t\t\t\t\t$scope.loadWhenSelectMenu('MyLastVisited');\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n }\r\n\t\t\t\r\n\t\t}\r\n\r\n\t\t$scope.clearSelect = function () {\r\n\t\t\tif (configService.getBool(HandbookConfiguration.IsAuthenticated) && !configService.getBool(HandbookConfiguration.IsAnonymous)) {\r\n\t\t\t\tif ($scope[\"favoritesTree\"].currentNode) {\r\n\t\t\t\t\tvar currentItem = getItemById($scope[\"favoritesTree\"].currentNode.id, $scope.favoritesList);\r\n\t\t\t\t\tif (currentItem) {\r\n\t\t\t\t\t\tcurrentItem.selected = undefined;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ($scope[\"myMostReadTree\"].currentNode && $scope[\"myMostReadTree\"].currentNode.selected) {\r\n\t\t\t\t\t$scope[\"myMostReadTree\"].currentNode.selected = undefined;\r\n\t\t\t\t}\r\n\t\t\t\tif ($scope[\"myLastVisitedTree\"].currentNode && $scope[\"myLastVisitedTree\"].currentNode.selected) {\r\n\t\t\t\t\t$scope[\"myLastVisitedTree\"].currentNode.selected = undefined;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ($scope[\"documentTree\"].currentNode && $scope[\"documentTree\"].currentNode.selected) {\r\n\t\t\t\t$scope[\"documentTree\"].currentNode.selected = undefined;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.selectNodeHead = function (node) {\r\n\t\t\t//debugger;\r\n\t\t\t//check if type of selected node is in [1, 2, 3, 4] = [Document, LinkDocument, FileDocument, ShortcutDocument] refer to enum NodeType, we dont call request\r\n\t\t\tif (!node.isLoaded && node.type > 4) {\r\n\t\t\t\tswitch (node.TreeFlag) {\r\n\t\t\t\t\tcase \"Document\":\r\n\t\t\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': node.id, 'showDocumentInTree': $scope.showDocumentInTree } })\r\n\t\t\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t\tnode.children = data.filter(x => !x.hidden);\r\n\t\t\t\t\t\t\t\tnode.isLoaded = true;\r\n\t\t\t\t\t\t\t\tvar isScroll = !$scope.showTreeFavorites && !$scope.showTreeMyMostRead && !$scope.showTreeMyLastVisited;\r\n\t\t\t\t\t\t\t\ttreeNavigationService.onChildrenLoaded(node, isScroll);\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t\tnode.isLoaded = true;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"Favorites\":\r\n\t\t\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': node.id, 'showDocumentInTree': $scope.showDocumentInTree} })\r\n\t\t\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t\tnode.children = data.filter(x => !x.hidden);\r\n\t\t\t\t\t\t\t\tnode.isLoaded = true;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t\tnode.isLoaded = true;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.IsFolderNode = function (node) {\r\n\t\t\treturn node.type == E.nodeTypes.Folder || node.type == E.nodeTypes.TopFolder || node.type == E.nodeTypes.DepartmentFolder || node.type == E.nodeTypes.RegionalFolder;\r\n\t\t}\r\n\r\n $scope.selectNodeLabel = function (node) {\r\n\t\t\tangular.element('.selected:not(#' + node.id + '-label)').removeClass('selected');\r\n\t\t\t$scope.clearSelect();\r\n\t\t\tif (node.isFavorited != undefined && node.isFavorited == true) {\r\n\t\t\t\tfavoriteService.setFavoriteNodeState({ isFavorited: true, id: node.id, type: node.type });\r\n\t\t\t} else {\r\n\t\t\t\tfavoriteService.setFavoriteNodeState({ isFavorited: false, id: node.id, type: node.type });\r\n\t\t\t}\r\n\r\n\t\t\tif (node.treeId == 'documentTree') {\r\n\t\t\t\t//If we click on document tree we don't call Autohighlight function\r\n\t\t\t\ttreeNavigationService.setIsDocumentTree(true);\r\n\t\t\t\t//Need to set timeout for set item selected\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tif ($scope.IsFolderNode(node)) {\r\n\t\t\t\t\t\tangular.element('#' + node.id + '-label-f').addClass('selected');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tangular.element('#' + node.id + '-' + node.virtualHandbookId + '-label').addClass('selected');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif ($scope.IsFolderNode(node)) {\r\n\t\t\t\t$state.go(handbookActions.FolderAction, { folderId: node.id });\r\n\t\t\t} else {\r\n\t\t\t\tif (browserType == BrowserType.MOBILE) {\r\n\t\t\t\t\t$scope.$emit(broadcastType.hideSidebarInMobileWhenOpenDocument);\r\n }\r\n\t\t\t\tdocumentService.goToDocument(node.id, node.defaultFieldView);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.loadWhenSelectMenu = function (menuType) {\r\n $scope.showHideMenuLeft(menuType);\r\n\t\t\tswitch (menuType) {\r\n\t\t\t\tcase \"Document\":\r\n\t\t\t\t\t$scope.showTreeDocument = !$scope.showTreeDocument;\r\n\t\t\t\t\tif ($scope.showTreeDocument) {\r\n\t\t\t\t\t\tvar node = angular.element('#treeDocuments .selected');\r\n\t\t\t\t\t\tif (node && node.length) {\r\n\t\t\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\t\t\ttreeNavigationService.scrollToVisibleView(node);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ($scope.showTreeDocument && $scope.documentList.length == undefined) {\r\n\t\t\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': null, 'showDocumentInTree': $scope.showDocumentInTree} })\r\n\t\t\t\t\t\t\t.success(function (data, status, headers, config) {\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t$scope.documentList = data.filter(x => !x.hidden);\r\n\t\t\t\t\t\t\t\ttreeNavigationService.navigateToItemLocation(true);\r\n\t\t\t\t\t\t\t\tif (parseInt(HandbookConfiguration.DocumentRootItemToExpand) !== NONE_DOCUMENT_ROOT_ITEM_TO_EXPAND\r\n\t\t\t\t\t\t\t\t\t&& initOpeningDocumentGroupAsDefault) {\r\n\t\t\t\t\t\t\t\t\tinitOpeningDocumentGroupAsDefault = false;\r\n\t\t\t\t\t\t\t\t\tif ($scope.documentList && $scope.documentList.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\tvar node = null;\r\n\t\t\t\t\t\t\t\t\t\tconst documentRootItemToExpandId = parseInt(HandbookConfiguration.DocumentRootItemToExpand);\r\n\t\t\t\t\t\t\t\t\t\tfor (var i = 0; i < $scope.documentList.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\t\tif ($scope.documentList[i].id == documentRootItemToExpandId) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tnode = $scope.documentList[i];\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif (node != null) {\r\n\t\t\t\t\t\t\t\t\t\t\tnode.TreeFlag = \"Document\";\r\n\t\t\t\t\t\t\t\t\t\t\tnode.collapsed = true;\r\n\t\t\t\t\t\t\t\t\t\t\t$scope.selectNodeHead(node);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"Favorites\":\r\n\t\t\t\t\t$scope.showTreeFavorites = !$scope.showTreeFavorites;\r\n\t\t\t\t\tif ($scope.showTreeFavorites && $scope.favoritesList.length == undefined) {\r\n\t\t\t\t\t\t//debugger;\r\n\t\t\t\t\t\t$http.get(handbookRequests.GetFavoritesRequest).\r\n\t\t\t\t\t\t\tsuccess(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t\tgetFavoritesData(data);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$scope.$broadcast(\"Favorites_GetProcessFavoritesList\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"MyMostRead\":\r\n\t\t\t\t\t//debugger;\r\n\t\t\t\t\t$scope.showTreeMyMostRead = !$scope.showTreeMyMostRead;\r\n\t\t\t\t\tif ($scope.showTreeMyMostRead && $scope.myMostReadList.length == undefined) {\r\n\t\t\t\t\t\t$http.get(handbookRequests.GetMostViewedDocumentsRequest).\r\n\t\t\t\t\t\t\tsuccess(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t\t$scope.myMostReadList = data.filter(x => !x.hidden);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"MyLastVisited\":\r\n\t\t\t\t\t//debugger;\r\n\t\t\t\t\t$scope.showTreeMyLastVisited = !$scope.showTreeMyLastVisited;\r\n\t\t\t\t\tif ($scope.showTreeMyLastVisited && $scope.myLastVisitedList.length == undefined) {\r\n\t\t\t\t\t\t$http.get(handbookRequests.GetRecentDocumentsRequest).\r\n\t\t\t\t\t\t\tsuccess(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t\t$scope.myLastVisitedList = data.filter(x => !x.hidden);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ToggleSearchPanel\":\r\n\t\t\t\t\t//debugger;\r\n\t\t\t\t\t$scope.showToggleSearchPanel = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"Processes\":\r\n\t\t\t\t\t//debugger;\r\n\t\t\t\t\t$scope.showTreeProcesses = !$scope.showTreeProcesses;\r\n\t\t\t\t\t$state.go('areas-root-view');\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.showHideMenuLeft = function (menuType) {\r\n\t\t\t$scope.showTreeFavorites = (menuType != \"Favorites\") ? false : $scope.showTreeFavorites;\r\n\t\t\t$scope.showTreeMyMostRead = (menuType != \"MyMostRead\") ? false : $scope.showTreeMyMostRead;\r\n\t\t\t$scope.showTreeMyLastVisited = (menuType != \"MyLastVisited\") ? false : $scope.showTreeMyLastVisited;\r\n\t\t\t$scope.showTreeDocument = (menuType != \"Document\") ? false : $scope.showTreeDocument;\r\n\t\t\t$scope.showToggleSearchPanel = (menuType != \"ToggleSearchPanel\") ? false : $scope.showToggleSearchPanel;\r\n\t\t\t$scope.showTreeProcesses = (menuType != \"Processes\") ? false : $scope.showTreeProcesses;\r\n\t\t};\r\n\r\n $scope.$on(broadcastType.onTreeNavigation, function (e, target) {\r\n\t\t\ttreeNavigationService.changeRoute();\r\n\t\t\tvar element = $location.path().split('/');\r\n\t\t\tvar requestParams = {\r\n\t\t\t\titemId: element[2],\r\n\t\t\t\titemType: element[1]\r\n\t\t\t};\r\n\t\t\tif (previousRequest.itemId == requestParams.itemId && requestParams.itemType == requestParams.itemType) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tpreviousRequest = angular.copy(requestParams);\r\n\t\t\tif (target.parents != null && target.parents.length) {\r\n\t\t\t\tnavigateToCurrentItem(target.parents);\r\n\t\t\t}\r\n\t\t});\r\n\r\n $scope.$on(broadcastType.collapseExpandSidebar, function (e, target) {\r\n\t\t\t//Get flag to check user click on tree\r\n\t\t\t//If click on document tree we will not call Autohighlight \r\n\t\t\tvar isDocumentTree = treeNavigationService.getIsDocumentTree();\r\n\t\t\tif (target.navigateSideBar && !isDocumentTree) {\r\n\t\t\t\ttreeNavigationService.changeRoute();\r\n\t\t\t\tnavigateToCurrentItem(null);\r\n\t\t\t} else {\r\n\t\t\t\ttreeNavigationService.setIsDocumentTree(false);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.$on(broadcastType.onOpeningSidebarMenu, function (e, target) {\r\n\t\t\t$scope.loadWhenSelectMenu(target.menu);\r\n\t\t});\r\n\r\n\t\tfunction processAreaRouteChanged(target) {\r\n\t\t\tif (!$scope.showTreeProcesses)\r\n\t\t\t\t$scope.showTreeProcesses = !$scope.showTreeProcesses;\r\n\t\t}\r\n\r\n\t\tfunction navigateToCurrentItem(parents) {\r\n\t\t\tif (!$scope.showTreeDocument) {\r\n\t\t\t\tif (!$scope.showTreeFavorites && !$scope.showTreeMyMostRead && !$scope.showTreeMyLastVisited) {\r\n\t\t\t\t\t$scope.showTreeDocument = true;\r\n\t\t\t\t\t$scope.showHideMenuLeft('Document');\r\n\t\t\t\t}\r\n\t\t\t\tif ($scope.documentList.length == undefined) {\r\n\t\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': null, 'showDocumentInTree': $scope.showDocumentInTree } })\r\n\t\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\t\t$scope.documentList = data.filter(x => !x.hidden);\r\n\t\t\t\t\t\t\tmakeRecursiveParentRequest(parents);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmakeRecursiveParentRequest(parents);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tmakeRecursiveParentRequest(parents);\r\n\t\t\t}\r\n\t\t};\r\n\r\n function makeRecursiveParentRequest(parents) {\r\n\t\t\ttreeNavigationService.setDocumentsTree($scope[\"documentTree\"]);\r\n\t\t\tvar isScroll = !$scope.showTreeFavorites && !$scope.showTreeMyMostRead && !$scope.showTreeMyLastVisited;\r\n\t\t\tif (!parents || !parents.length) {\r\n\t\t\t\tvar element = $location.path().split('/');\r\n\t\t\t\tif ($location.path().indexOf('process-fe/') >= 0) return;\r\n\r\n\t\t\t\ttreeNavigationService.setNodeType($location.path().indexOf('document/') >= 0 ? treeNodeTypes.document : treeNodeTypes.folder);\r\n\t\t\t\tvar requestParams = {\r\n\t\t\t\t\titemId: element[2],\r\n\t\t\t\t\titemType: element[1]\r\n\t\t\t\t};\r\n\t\t\t\tif (requestParams.itemId) {\r\n\t\t\t\t\t$http.get(handbookRequests.GetParentFoldersRequest, { params: requestParams })\r\n\t\t\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\t\t\tvar _parents = buildBreadcrumbs(response.data);\r\n\t\t\t\t\t\t\ttreeNavigationService.navigateToCurrentItem($scope.documentList, _parents, isScroll);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttreeNavigationService.navigateToCurrentItem($scope.documentList, parents, isScroll);\r\n\t\t\t}\r\n }\r\n\r\n\t\tfunction buildBreadcrumbs(data) {\r\n\t\t\tvar result = [];\r\n\t\t\tvar totalItem = data.length;\r\n\r\n\t\t\t//move root to result array\r\n\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\tif (data[i].parentFolderId == null) {\r\n\t\t\t\t\tresult.push(data[i]);\r\n\t\t\t\t\tdata.splice(i, 1);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//fill in the rest\r\n\t\t\tvar currentItem = 0;\r\n\t\t\twhile (result.length != totalItem && currentItem <= result.length) {\r\n\t\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t\tif (result[currentItem].id == data[i].parentFolderId) {\r\n\t\t\t\t\t\tresult.push(data[i]);\r\n\t\t\t\t\t\tdata.splice(i, 1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tcurrentItem++;\r\n\t\t\t}\r\n\r\n\t\t\treturn result;\r\n\t\t};\r\n\r\n\t\t$scope.popupModal = function () {\r\n\t\t\tvar modalInstance = $uibModal.open({\r\n\t\t\t\ttemplateUrl: paths.ManageFavoritesView,\r\n\t\t\t\tcontroller: controllers.manageFavoritesController,\r\n\t\t\t\tsize: 'lg',\r\n\t\t\t\tbackdrop: 'static',\r\n\t\t\t\tresolve: {\r\n\t\t\t\t\titems: function () {\r\n\t\t\t\t\t\tvar data = angular.copy($scope.favoritesList);\r\n\t\t\t\t\t\treturn data;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tmodalInstance.result.then(function (items) {\r\n\t\t\t\tif (items != undefined) {\r\n\t\t\t\t\t$scope.favoritesList = items;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t$scope.$on(broadcastType.documentOpenedTarget, function (e, target) {\r\n\t\t\tif ($scope.myLastVisitedList.length != undefined) {\r\n\t\t\t\tupdateLastVisitedList(target);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.$on(broadcastType.favoriteTarget, function (e, target) {\r\n\t\t\t$scope.refreshFavorites();\r\n\t\t});\r\n\r\n\t\tfunction addOrRemoveFavoriteItem(target) {\r\n\t\t\tif (target.requestType == requestType.addRequest) {\r\n\t\t\t\ttarget.data.isFavorited = true;\r\n\t\t\t\tif (target.data.type > E.nodeTypes.ShortcutDocument) {\r\n\t\t\t\t\tvar lastDocumentIndex = getLastFavoriteDocumentIndex();\r\n\t\t\t\t\t$scope.favoritesList.splice(lastDocumentIndex, 0, target.data);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t$scope.favoritesList.splice(0, 0, target.data);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (target.data.isDocument) {\r\n\t\t\t\t\tremoveDocumentInfavoritesList(target);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tremoveFolderInfavoritesList(target)\r\n\t\t\t\t}\r\n\t\t\t\t// Remove favorite state\r\n\t\t\t\tfavoriteService.setFavoriteNodeState({\r\n\t\t\t\t\tisFavorited: false, id: target.data.id, type: 0\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction removeFolderInfavoritesList(target) {\r\n\t\t\tfor (var index = 0; index < $scope.favoritesList.length; index++) {\r\n\t\t\t\tif ($scope.favoritesList[index].id == target.data.id && $scope.IsFolderNode($scope.favoritesList[index])) {\r\n\t\t\t\t\t$scope.favoritesList.splice(index, 1);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction removeDocumentInfavoritesList(target) {\r\n\t\t\tfor (var index = 0; index < $scope.favoritesList.length; index++) {\r\n\t\t\t\tif ($scope.favoritesList[index].id == target.data.id && isDocumentNode($scope.favoritesList[index].type)) {\r\n\t\t\t\t\t$scope.favoritesList.splice(index, 1);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction isDocumentNode(type) {\r\n\t\t\treturn type == E.nodeTypes.Document || type == E.nodeTypes.LinkDocument || type == E.nodeTypes.FileDocument || type == E.nodeTypes.ShortcutDocument;\r\n\t\t}\r\n\r\n\t\tfunction getFavoritesData(data) {\r\n\t\t\t$scope.favoritesList = data.map(v => {\r\n\t\t\t\tv.isFavorited = true;\r\n\t\t\t\treturn v;\r\n\t\t\t}).filter(x => !x.hidden);\r\n\t\t};\r\n\r\n\t\tfunction getLastFavoriteDocumentIndex() {\r\n\t\t\tvar lastDocumentIndex = 0;\r\n\t\t\tfor (var index = 0; index < $scope.favoritesList.length; index++) {\r\n\t\t\t\tif ($scope.favoritesList[index].type > E.nodeTypes.ShortcutDocument) {\r\n\t\t\t\t\tlastDocumentIndex = index;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn lastDocumentIndex;\r\n\t\t}\r\n\r\n\t\tfunction updateLastVisitedList(target) {\r\n\t\t\t// Flag: Check my last visited tree is selected\r\n\t\t\tvar isSelectedTree = ($scope[\"myLastVisitedTree\"].currentNode && $scope[\"myLastVisitedTree\"].currentNode.selected);\r\n\t\t\t//Update currentNode.selected = undefined if my last visited tree is selected\r\n\t\t\tif (isSelectedTree) {\r\n\t\t\t\t$scope[\"myLastVisitedTree\"].currentNode.selected = undefined;\r\n\t\t\t}\r\n\r\n\t\t\tfor (var index = 0; index < $scope.myLastVisitedList.length; index++) {\r\n\t\t\t\tif ($scope.myLastVisitedList[index].id == target.id) {\r\n\t\t\t\t\t$scope.myLastVisitedList.splice(index, 1);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif ($scope.myLastVisitedList.length == HandbookConfiguration.RecentItemsCount) {\r\n\t\t\t\t$scope.myLastVisitedList.splice($scope.myLastVisitedList.length - 1, 1);\r\n\t\t\t}\r\n\t\t\t$scope.myLastVisitedList.splice(0, 0, target);\r\n\t\t\t//if my last visited tree is selected\r\n\t\t\tif (isSelectedTree) {\r\n\t\t\t\t$scope[\"myLastVisitedTree\"].currentNode = $scope.myLastVisitedList[0];\r\n\t\t\t\t$scope[\"myLastVisitedTree\"].currentNode.selected = cssClass.selected;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getItemById(id, source) {\r\n\t\t\tfor (var index = 0; index < source.length; index++) {\r\n\t\t\t\tif (source[index].id == id) {\r\n\t\t\t\t\treturn source[index];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\t$scope.refreshFavorites = function () {\r\n\t\t\t//debugger;\r\n\t\t\t$http.get(handbookRequests.GetFavoritesRequest).\r\n\t\t\t\tsuccess(function (data, status, headers, config) {\r\n\t\t\t\t\tgetFavoritesData(data);\r\n\t\t\t\t});\r\n\t\t\t$scope.$broadcast(\"Favorites_GetProcessFavoritesList\");\r\n\t\t}\r\n\r\n\t\t$scope.refreshDocument = function () {\r\n\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': null, 'showDocumentInTree': $scope.showDocumentInTree } })\r\n\t\t\t\t.success(function (data, status, headers, config) {\t\t\t\t\r\n\t\t\t\t\t$scope.documentList = data.filter(x => !x.hidden);\r\n\t\t\t\t\ttreeNavigationService.navigateToItemLocation(true);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.goToProcessAreasRootView = function () {\r\n\t\t\t$state.go('areas-root-view');\r\n\t\t}\r\n\t};\r\n\r\n})();\r\n\r\n"]}