{"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","dialogs/dialogExporter.js","dialogs/npDialog.js","directives/departmentDirective.js","directives/dropdownListDirective.js","emailSubscription/emailSubscriptionDirective.js","feedbackButton/feedbackButtonDirective.js","feedbackButton/feedbackModalController.js","favoriteButton/documentEmailFavoriteDirective.js","favoriteButton/favoriteButtonDirective.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","pin/pinDirective.js","navigation/navigateToggleDirective.js","Print/printButtonDirective.js","readingReceiptButton/readingReceiptButtonDirective.js","resizeElement/resizeAbleDirective.js","searchAdvanceModule/advanceSearchDirective.js","searchAdvanceModule/advanceSearchModalController.js","searchAdvanceModule/metadataSearchModalController.js","searchHomePage/searchHomePageDirective.js","searchModule/searchDirective.js","shareURL/shareUrlDirective.js","tabs/npTabsDirective.js","tabs/tabContentsDirective.js","tabs/tabsDirective.js","treeNav/treeNavDirective.js","statistics/folder-statistics/folder-statistics.component.js","statistics/daily-statistics/daily-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","treeView/treeViewController.js","statistics/statistics.component.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","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","hrefs","match","folders","reg","RegExp","strReplace","replace","strReplaceDocument","areas","areasHref","processes","processesHref","db4Link","strReplaceDb4Link","fileLink","interconnectedProcess","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","$window","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","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","$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","addRecursiveFolderEmailSubscription","AddEmailSubscription","hasEmailSubscription","hasOnlyFolderEmailSubscription","readonlyFolderEmailSubscription","remoteRecursiveFolderEmailSubscription","RemoveEmailSubscription","addOnlyFolderEmailSubscription","AddOnlyFolderToEmailSubscription","reomteOnlyFolderEmailSubscription","RemoveOnlyFolderFromEmailSubscription","simpleSubscription","SimpleSubscription","EmailSubscriptionView","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","addDocumetEmailSubscription","AddEmailSubscriptionDocument","isEmailSubscribe","remoteDocumetEmailSubscription","RemoveEmailSubscriptionDocument","SubscribeToChanges","favoriteButtonClick","targetData","isFavoriteReadonly","favoriteTargetId","isFavorite","currentDocument","documentInformation","isDocument","FavoriteButtonView","addRequestUrl","removeRequestUrl","className","Content","ForcedFolderHint","DepartmentFolderHint","Favorite","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","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","PinView","hideSidebarButton","buildTooltip","showInTreeviewInLeftMenu","ShowInTreeviewInLeftMenu","showToggleButton","toggleNavigate","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","ReadingReciept","isShowReConfirm","readingReciept","showReadingRecieptContextMenu","readConfirmationDate","confirmedReadLast","getConfirmInformation","ConfirmedReadLast","readConfirmationDateTime","date1","date2","compareDate","entityDisabled","ReadingReceiptButtonView","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","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","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","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","getFolderStatistics","nameFolder","subFolderStatisticsSetting","isObject","Statistics","docsInUse","newThisMonth","revisedThisMonth","archivedThisMonth","Enum","DocumentStatuses","awaitingApproval","expired","handbookId","folderStatistics","subFolderStatistics","buildChartApprovedInternet","folderStatisticsForCharts","buildChartNewRevisedArchived","buildChartAwaitingApprovalExpired","approveTitle","approved","internetTitle","categories","map","monthYear","approvedDocs","internetDocs","Highcharts","chart","approvedVsInternet","subtitle","yAxis","number","xAxis","legend","align","verticalAlign","plotOptions","series","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","evt","fiveYear","last13Months","activatedClass","elementContentId","component","bindings","docUsageTodaysSetting","mostReadToday","quantity","objHandbookStatistics","arrDailyStatistics","docUsageTodays","accessDateDisplay","docAccessCount","users","userAccessCount","zoomType","dailyUseDoc","crosshair","allowDecimals","labels","getOptions","colors","opposite","shared","floating","defaultOptions","valueSuffix","getHighCharts","$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","frontEndDeviationUrl","deviationTypeId","categoryName","activityTaskRisks","backendHandbookUrl","riskId","analysisName","activityTaskAttachments","activityAttachmentId","taskRelatedItem","risk","checklist","deviation","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","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","isShowTopBoxContent","checkShowFieldName","relatedImageGroups","images","relatedBottomImages","relatedTopImages","VerticalAlign","Top","Bottom","relatedDocumentGroups","relatedDocumentGroup","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","domContent","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","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","EnableCompare","getDocument","processClassificationTypes","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","dontHaveActionPermission","onSendEmail","onAddedMembers","publishDocumentComment","PublishHearingComment","publishFieldComment","openCompareDocument","onTabSelectedDocument","NumberOfComments","Assessment","Appreciation","GetDocumentInformationForHearingRequest","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","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","isConfirmId","documentsNotConfirm","distinctDocumentId","missingDocuments","documentsOfEachReadingList","results","existingIndex","getDistinctItems","distincItems","countItemNew","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","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","firstLoaded","onTabSelected","tabsSetting","useAndKeyValues"],"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(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) {\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 }\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 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","(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})();","\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})();","(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('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})();","\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 \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 '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})();","\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})();","(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})();","(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})();","\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","(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})();","\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('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 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 '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\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'];\r\n\r\n function controller($http, $state, $sce, $q, documentService, configService) {\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 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\t\t\t\t\t\tglobalResources.CommonGridColumns.Version, data.earlierVersionNumber, globalResources.And, data.latestVersionNumber));\r\n\r\n vm.data.earlierVersionHtml = $sce.trustAsHtml(data.earlierVersionHtml);\r\n vm.data.latestVersionHtml = $sce.trustAsHtml(data.latestVersionHtml);\r\n vm.data.comparisonResult = $sce.trustAsHtml(data.comparisonResult);\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 () {\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'];\r\n\r\n\tfunction controller($http, $state, $sce, $scope, $q, documentService, configService) {\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 function initialize() {\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 });\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\tvm.data.earlierVersionHtml = $sce.trustAsHtml(data.earlierVersionHtml);\r\n\t\t\t\t\tvm.data.latestVersionHtml = $sce.trustAsHtml(data.latestVersionHtml);\r\n\t\t\t\t\tvm.data.comparisonResult = $sce.trustAsHtml(data.comparisonResult);\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 }\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 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\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 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 }\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);\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 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);\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 $http.get(handbookRequests.GetHiddenFieldsRequest, { params: { 'documentId': vm.documentId } })\r\n .then(function (result) {\r\n vm.fieldIds = result.data;\r\n getDocument();\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\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\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 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 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\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\r\n initialize();\r\n\r\n function initialize() {\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\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);\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\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'];\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) {\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\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\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.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\tvm.currentData.nodeType = convertToNodeType(vm.currentData.type);\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\t$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);\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} 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);\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\trunServicesAfterInit();\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};\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\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 } }));\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}\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) {\r\n\t\t\t\t\t\t\tvm.favoriteData = data ? data.filter(x => !x.hidden) : null;\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, status, headers, config) {\r\n\t\t\t\t\tvm.favoriteData = data ? data.filter(x => !x.hidden) : null;\r\n\t\t\t\t\tupdateAttachmentsForDocuments(vm.favoriteData);\r\n\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.favoriteData);\r\n\t\t\t\t\tupdateTotalNewestFavorites();\r\n\t\t\t\t\tupdateNewestDocuments(vm.favoriteData, 2);\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};\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\ttooltipData.push({ label: globalResources.CommonGridColumns.Type, data: row.template });\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.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) {\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) {\r\n\t\t\t\twindow.open(String.format(linkDirect, String(id), String(version)));\r\n\t\t\t} else {\r\n\t\t\t\twindow.open(String.format(linkDirect, 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 isConfirmId = [];\r\n\t\t\tdocuments.forEach((document) => {\r\n\t\t\t\tif (document.isConfirmed) {\r\n\t\t\t\t\tisConfirmId.push(document.documentId);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvar documentsNotConfirm = [];\r\n\t\t\tdocuments.forEach((document) => {\r\n\t\t\t\tconst existing = isConfirmId.find(function (id) {\r\n\t\t\t\t\treturn id === document.documentId;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (!existing) {\r\n\t\t\t\t\tdocumentsNotConfirm.push(document);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvar distinctDocumentId = [];\r\n\t\t\tvar missingDocuments = [];\r\n\t\t\tdocumentsNotConfirm.forEach((document) => {\r\n\t\t\t\tvar existing = distinctDocumentId.find(function (id) {\r\n\t\t\t\t\treturn id === document.documentId;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (!existing) {\r\n\t\t\t\t\tdistinctDocumentId.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\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\tprocessEntityIds.push(processes[i].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\tif (data && data.length) {\r\n\t\t\t\t\t\t\tdata.forEach(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 < processes.length; i++) {\r\n\t\t\t\t\t\t\tif (processes[i].hasAttachment && processes[i].isProcess) {\r\n\t\t\t\t\t\t\t\tprocesses[i].attachments = [];\r\n\t\t\t\t\t\t\t\tprocesses[i].attachmentHtml = '';\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].processEntityId === processes[i].entityId) {\r\n\t\t\t\t\t\t\t\t\t\tprocesses[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\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\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\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","(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})();"]}