{"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","autoResizeTextArea/autoResizeTextArea.js","anchor/anchorDirective.js","collapse/collapseDirective.js","collapse/collapseLeftDirective.js","breadcrumbs/breadcrumbsDirective.js","dialogs/dialogExporter.js","dialogs/npDialog.js","directives/departmentDirective.js","directives/dropdownListDirective.js","favoriteButton/documentEmailFavoriteDirective.js","favoriteButton/favoriteButtonDirective.js","datePicker/datePicker.js","feedbackButton/feedbackButtonDirective.js","feedbackButton/feedbackModalController.js","grid/commonGridDirective.js","grid/commonGridSettingDirective.js","grid/gridControlDirective.js","grid/gridExporterDirective.js","grid/gridFinishRenderDirective.js","grid/gridSettingDirective.js","grid/infiniteScrollPlugin.js","grid/rowInfoTooltipDirective.js","emailSubscription/emailSubscriptionDirective.js","image/imageDirective.js","image/imageSizeLimation.js","navigation/navigateToggleDirective.js","print/printButtonDirective.js","pin/pinDirective.js","readingReceiptButton/readingReceiptButtonDirective.js","searchAdvanceModule/advanceSearchDirective.js","searchAdvanceModule/advanceSearchModalController.js","searchAdvanceModule/metadataSearchModalController.js","resizeElement/resizeAbleDirective.js","searchHomePage/searchHomePageDirective.js","searchModule/searchDirective.js","tabs/npTabsDirective.js","tabs/tabContentsDirective.js","tabs/tabsDirective.js","shareURL/shareUrlDirective.js","treeNav/treeNavDirective.js","statistics/daily-statistics/daily-statistics.component.js","statistics/folder-statistics/folder-statistics.component.js","account/changePasswordController.js","account/login.js","annualCycle/activityGridViewModalController.js","annualCycle/annualCycleController.js","annualCycle/annualCycleDetailController.js","annualCycle/relatedTaskController.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","statistics/statistics.component.js","printing/printingController.js","printing/printingDocumentController.js","treeView/treeViewController.js"],"names":["controllers","chapterController","searchController","homeController","manageFavoritesController","confirmController","printingController","feedbackController","advanceSearchController","myReadingReceiptsController","personChapterConfirmsSumsListController","metadataController","modules","chapterModule","homeModule","printingModule","commonGridColumns","name","id","readingList","isConfirmed","location","version","folderName","approvedDate","approvedBy","attachment","template","responsible","documentId","rowInfo","internet","readingReceipt","readingReceiptDtmConfirmed","broadcastType","favoriteTarget","documentOpenedTarget","gridSettingTarget","scrollTarget","toggleSidebar","collapseExpandSidebar","onTreeNavigation","resetQuickSearchKeyword","onOpeningSidebarMenu","printItemTarget","toggleFavoriteTarget","toggleEmailSubscriptionTarget","toggleOnlyFolderEmailSubscriptionTarget","toggleGridSettingTarget","toggleReadingReceiptTarget","toggleDocumentFeedbackTarget","linkToDocumentManagement","gridDataChanges","loadContentFieldDone","favoriteUpdate","processAreaRouteChanged","updateFavoritesProcesses","hideSidebarInMobileWhenOpenDocument","requestType","addRequest","deleteRequest","removeRequest","tabStateType","documentTabState","chapterTabState","homeTabState","searchTabState","documentTab","prefix","contentAnchorPrefix","groupDocumentAnchorPrefix","hashbangPrefix","baseUrlPrefix","specialCharacter","comma","space","openParenthesis","closeParenthesis","colon","questionMark","cssClass","active","buttonFavorite","buttonFavoriteMobile","buttonFavorited","buttonFavoritedMobile","disabled","selected","currentDrag","dragEnter","documentTabs","about","content","feedback","search","hearing","folderTabs","manageFavoriteTabs","folder","document","emailSubscribed","processArea","process","tabContents","documentContent","topMenu","homeContent","whatNew","updatedFavorite","startPage","updatedFavoritePage","whatNewPage","readingListTab1","readingListTab2","readingListTab3","homeTabs","readingListTab","hearingTab","folderContent","gridDocuments","showAllDocuments","topMenuLeft","topMenuRight","gridDocumentClass","scrollableTable","gridDocumentsBody","groupMetatagView","groupMetatagList","collapseExpandClass","collapse","expand","collapseExpandEvent","shown","hidden","elementClass","tabTable","frontPageCustomArea","elementId","sidebarWrapper","reSizeBar","avoidCustomPageClass","showAllDocumentsAdjustmentClass","constantValues","topMenuHeight","folderTabContentMinTop","documentTabContentMinTop","mobileConstantValues","folderInformationKeyStorage","searchContainerId","localStorageKeys","sidebarNavigateKey","readDocuments","stateOfSticky","treeNodeTypes","urlOpenHearingFeedback","urlOpenProcessHearing","hasShownPublicAlertKeyStorage","ELEMENT_SELECTORS","FolderSelectionContainerSelector","FolderSelectionInputSelector","FolderSelectionClearSelector","FolderContainerClassSelector","DepartmentSelectionContainerSelector","DepartmentSelectionInputSelector","DepartmentSelectionClearSelector","DepartmentContainerClassSelector","RoleMemberSelectionContainerSelector","RoleMemberSelectionInputSelector","RoleMemberSelectionClearSelector","RoleMemberContainerClassSelector","NewsCategorySelectionContainerSelector","NewsCategorySelectionInputSelector","NewsCategorySelectionClearSelector","NewsCategoryContainerClassSelector","CountrySelectionContainerSelector","CountrySelectionInputSelector","CountrySelectionClearSelector","CountryContainerClassSelector","PositionSelectionContainerSelector","PositionSelectionInputSelector","PositionSelectionClearSelector","PositionContainerClassSelector","RoleSelectionContainerSelector","RoleSelectionInputSelector","RoleSelectionClearSelector","RoleContainerClassSelector","SearchRelatedDocumentContainerSelector","SearchRelatedDocumentInputSelector","SearchRelatedDocumentClearSelector","SearchRelatedDocumentContainerClassSelector","KEY_CODES","ENTER","ESCAPE","UP_ARROW","DOWN_ARROW","COLUMN_DATA_TYPES","STRING_TEXT","NUMBER","STRING_DATE","STRING_DATE_TIME","BOOLEAN","SEARCH_LOG_LEVEL","LOG_DOCUMENT_SELECTED","LOG_DOCUMENT_SELECTED_AND_0_HIT","LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION","DOCUMENT_EXTENDABLE_TYPES","NONE","PARENT","CHILD","searchFilterTypes","handbookBackendSearch","handbookReports","deviationBackendSearch","deviationReports","riskBackendSearch","riskReports","hearingMembers","anuualCycleReaders","riskDynamicSearch","DEVIATION_REPORTS_TYPES","CATEGORY_NUMBER","CATEGORY_NUMBER_PER_HANDLING_UNIT","CATEGORY_YEAR_AND_MONTH_NUMBER","CATEGORY_SEVERITY_NUMBER","CATEGORY_KPI","ACTIONS_NUMBER_AND_TYPE","ACTIONS_NUMBER_PER_MONTH_PER_YEAR","CATEGORY_NUMBER_PER_MONTH_PER_YEAR","STATISTICS","CATEGORY_COST_PER_YEAR","CATEGORY_COST_PER_MONTH_PER_YEAR","CATEGORY_NUMBER_PER_METATAG","CATEGORY_NUMBER_PER_SUB_CATEGORY","CATEGORY_CUSTOM_FIELD","CATEGORY_EQUIPMENT","GROUP_TO_OPEN_AS_DEFAULTS","DOCUMENT","PROCESS","NONE_DOCUMENT_ROOT_ITEM_TO_EXPAND","CkVersion","CK4","CK5","urlOpenInterconnectedHearing","configModule","angular","module","config","uibDatepickerPopupConfig","dateFormat","window","globalDateFormat","timeFormat","datepickerPopup","factory","$q","$templateCache","responseError","response","status","HandbookConfiguration","AnonymousMode","reject","request","language","user","cname","ca","decodeURIComponent","cookie","split","i","length","c","charAt","substring","indexOf","getCookie","LANGUAGECULTURE","undefined","get","url","linkedElement","includes","ApplicationVersion","$httpProvider","interceptors","push","$tooltipProvider","setTriggers","mouseenter","click","focus","never","provider","workersPool","Worker","this","$get","run","$rootScope","$location","$state","$http","customResources","$","extend","resources","$stateProvider","$urlRouterProvider","$locationProvider","hashPrefix","html5Mode","internalPaths","paths","templateUrlFieldView","DocumentFields","controllerFieldView","parseInt","DocumentViewOption","state","templateUrl","FrontpageHome","controller","controllerAs","data","title","globalResources","Home","description","HomeMetaDescription","handbookActions","DocumentAction","handbookActionParameters","DocumentActionParameters","DocumentHome","Document","DocumentMetaDescription","DocumentFromFieldViewAction","DocumentFromFieldViewActionParameters","HearingAction","FolderAction","FolderActionParameters","ChapterHome","Folder","FolderMetaDescription","HomeAction","HomeActionParameters","SearchResultAction","SearchResultActionParameters","ChapterSearch","Search","SearchMetaDescription","DocumentFieldsAction","StartpageNews","StartpageNewsParameters","NewsDetais","UnsupportBrowser","MyReadingReceiptsReport","MyReadingListsReport","NewsListAction","params","pageIndex","NewsCategoryAction","categoryId","type","AnnualCycle","otherwise","$timeout","anchorService","documentService","broadcastService","$on","actualLocation","absUrl","event","next","current","$$absUrl","indexHash","$$hash","substr","$$url","$watch","newLocation","oldLocation","isBackButton","hash","element","newsContent","anchorOject","getAnchorObject","position","scrollTop","setAnchorObject","showNormal","toggleDocumentFullscreen","removeClass","toState","layout","Handbook","metaDescription","directive","restrict","require","scope","delay","priority","link","elm","attr","ngModelCtrl","debounce","unbind","bind","cancel","$setViewValue","val","$apply","heightContentDocument","target","gridSettingKey","$broadcast","configService","documents","isIE","detectIE","service","setDocuments","documentObject","getDocuments","showFullscreen","addClass","hide","mainBody","height","docContent","css","maxHeight","setTimeout","stickyTitle","runInitforIE","show","goToDocument","defaultFieldView","go","getDocumentsViaWorker","folderId","previousViewType","deffered","defer","worker","postMessage","publishedInternet","unpublishedInternet","UndefinedMetatag","onmessage","e","result","resolve","promise","clearDocumentsInWorker","getMetaDocumentsViaWorker","metadataGroupId","recursively","includeLevel1","clearMetaDocumentsInWorker","getAgreeFilesForDocuments","EnabledAgree","toLowerCase","documentIds","hasAgreeFiles","success","agreeFiles","j","item","getParentIdExtendDocument","childId","hearingMode","isBackend","then","checkParentExtensionHasToCompare","handbookRequests","CheckParentExtensionHasToCompare","getBool","checkDocumentHaveToCompareById","CheckDocumentHaveToCompareById","changeUrlBackendToFrontend","urlFrontEnd","isHearing","arguments","frontEndDeviationUrl","hrefs","match","folders","reg","RegExp","strReplace","replace","strReplaceDocument","areas","areasHref","processes","processesHref","db4Link","strReplaceDb4Link","fileLink","interconnectedProcess","deviation","checklist","src","getHearingTooltip","querySelector","titlePosition","getBoundingClientRect","width","contentPosition","top","placeholder","remove","createElement","style","heightToFloat","isAdded","currentPosition","heightScroll","DocumentTitleScreenHeight","classList","parentNode","removeChild","removeStickyTitle","scroll","isfullScreen","hasClass","add","insertBefore","contentWidth","screen","availHeight","marginTop","backFromFullScreen","extraHeight","tabStateService","localStorageService","currentStateType","currentTabState","getState","getItem","setState","setItem","removeState","removeItem","setCurrentStateType","stateType","getCurrentStateType","setCurrentTabState","tabState","getCurrentTabState","initTabState","on","adjustContentPosition","elementActive","activePanel","isTabActive","tabId","closeOpenedTabIfNoPrivilege","tabElement","adjustContentHeightPosition","newHeight","hearingFeedbackPage","documentTabActive","documentHeight","documentWidth","availWidth","activeTabs","heightTabActive","children","first","myAssessment","heightMyAssessment","heightOfTitle","searchHeaderHeight","topMenuTop","addHeight","extendDocumentNotification","extendHeight","adjustContentHeightHomeStartPageTab","adjustFolderContentIdentifierHeight","windowHeight","topToFolderContentIdentifierHeight","showmoreItem","heightOfTopUserBar","heightOfChapterTabs","heightOfChapterContent","searchInFolderNotActive","chapterWhatsNewNotActive","leftPanelOfChapter","rightPanelOfChapter","heightOfChapterPanels","outerHeight","contentHeight","newContent","searchContent","adjustContentHeightOnDevices","msieversion","navigator","userAgent","isSafari","aboutTab","contentTab","readingTab","feedbackTab","searchInContentTab","newsContainer","newsTab","favContainer","favTab","readingContainer","readingListHeader","hearingContainer","browserService","anchorObject","updateLocalAnchors","text","addClick","historyManipulationSupported","forEach","find","tag","addAnchorEvent","attributes","href","value","anchorValue","path","addEventListener","feedBackService","sendFeedback","entityId","positive","feedbackMessage","feedBack","sendAlsoToApprover","post","SubmitFeedbackRequest","headers","readingConfirmationService","GetConfirmInformation","GetDocumentConfirmInformationRequest","sendReadingConfirmation","SubmitReadConfirmRequest","documentTemplateService","documentTemplate","getDocumentTemplate","GetDocumentTemplateRequest","getDocumentTemplateNameById","templateName","index","newsService","getNews","filter","GetNewsOnStarpage","getActiveNewsById","GetActiveNewsById","getNewsWithPaging","pageSize","GetNewsWithPaging","updateNewsReadCount","requestUrl","UpdateNewsReadCount","adjustNewsHeight","getNewsByCategoryId","showInModule","GetNewsByCategoryId","getNewsImageById","newsId","GetNewsImageById","folderService","getFolder","getFolderById","GetFolderContentsRequest","setFolder","folderObject","getFolderByVirtualDocumentId","GetFoldersByVirtualDocumentId","treeNavigationService","$stateParams","currentRecursiveIndex","parents","nodeType","isDocumentTree","navigateToCurrentItem","items","recursives","isScroll","node","trigger","nodeDoc","scrollToVisibleView","onChildrenLoaded","setDocumentsTree","tree","changeRoute","setNodeType","navigateToItemLocation","navigateSideBar","isClick","AutoHighlightInTree","toUpperCase","setIsDocumentTree","flag","getIsDocumentTree","nodeParent","getCurrentRecursiveIndex","offset","nodeOffset","$parentDiv","visible_area_start","animate","routeService","previousRoute","itemId","itemType","setRoute","route","getRoute","getBaseRouteProcess","origin","getDashboardBaseRoute","metaDataService","getRegisterItems","registerId","GetRegisterItemsRequest","getMetadataTags","registerItemId","GetMetadataTagsRequest","getMetaRegisters","GetMetaRegistersRequest","getActiveMetaRegisters","GetActiveMetaRegistersRequest","getRegisterAndRegisterItems","GetRegisterAndRegisterItems","shortcutKeysService","shortcuts","chrome","webstore","gotoStartpage","openFavouritesMenu","openDocumentsMenu","openSimpleSearch","navigateItemInSidebar","printPDFIndex","toggleFavorite","toggleEmailNotification","openGridSetting","toggleFolderContentTab","toggleFolderAboutTab","openDocumentReadingReceipt","openDocumentFeedback","toggleDocumentFullScreenViewing","toggleDocumentMetadataTab","toggleDocumentSearchInContentTab","toggleOnlyFolderEmailNotification","getShortcuts","shortcut","method","menu","printFolderPDFIndex","printType","favoriteType","activateTab","activateTabContent","tabContentId","printDocumentPDFA4","toggleDocumentContentTab","toggleDocumentAboutTab","toggleMasterHomeTab","toggleWhatsNewsTab","toggleUpdatedFavoriteTab","toggleMyReadingListTab","linkToFolderManagement","getTabStateType","tabType","inactiveItems","activeItem","notToggle","toggleClass","helpPagesService","getHelpPages","viewId","GetHelpPagesRequest","d_config","getDeviationConfig","getDeviationConfigInServer","DeviationRequest","GetConfig","trim","toString","getString","getInt","compareValue","parsedValue","isNaN","commonService","$cookies","pubSub","getCurrentLanguageText","currentLanguage","LANGUAGES","NorwegianBokmal","hearingMemberComments","closeTag","header","fullName","L","comments","commentTooltipPadding","field","hearingComment","fieldName","wholeDocument","hearingComments","comment","createdDateStr","commentDocumentText","commentTooltip","containerDiv","favoriteState","isFavorited","setFavoriteNodeState","getFavoriteNodeState","localStorageSupported","Storage","key","localStorage","clearAll","clear","history","pushState","detectBrowserWindow","browserType","BrowserType","PC","screenW","innerWidth","TABLET","MOBILE","fn","timer","context","args","clearTimeout","apply","resizeView","currentSideBarWidth","resizeToOrginalSize","removeAttr","resizeToChangedSize","isCompare","screenWidth","notContainSpecialCharacter","keyword","test","$inject","loadDirective","attrs","isLoading","pendingRequests","some","r","showLoading","v","buttonDirective","$parse","action","inLoadingStateWhenClick","releaseClick","$event","finally","message","catch","exception","console","log","internetPublishOption","InternetPublishOption","publishedVersion","PublishedVersion","internetColumnVisible","InternetColumnVisible","gridSettingKeys","commonVisibilitySettings","readingListVisibilitySettings","ColumnItem","visible","minWidth","commonGridSetting","documentType","chapter","readCount","approver","hasAttachment","optionalColumnsDenifinition","commonColumnsDefinition","layoutPlugin","ngGridLayoutPlugin","charToPixelRatio","autoColWidth","colDefs","rows","totalChars","totalCharsLength","n","tempTotalChars","colName","commonGridOptions","dataSource","plugins","headerRowHeight","rowHeight","multiSelect","enableColumnResize","columnDefs","rowTemplate","WhatNewRowTemplate","getColumnsDefinition","displayName","cellTemplate","DocumentInfoCellTemplate","CommonGridColumns","Title","Type","Chapter","FolderCellTemplate","Location","LocationCellTemplate","Version","ReadCount","DocumentId","ApprovedDate","Approver","DocumentResponsible","DocumentAttachmentTemplate","ReadingReceiptDtmCOnfirmedColumnHeader","documentInfo","splice","ReadingList","Confirmed","getDefaultVisibleColumns","getDefaultColumnWidth","clearColumnsVisibleSetting","readVisibleColumnsFromLocalStorage","columnVisibleSettings","columnsSetting","updateColumnWidth","getGridSetting","existsInLocalStorage","getDocumentColumnsForExporting","gridKey","modelType","E","GridViewModelType","columns","documentExportColumns","docUrl","isInternet","documentName","Process","processName","InterconnectedProcess","interconnectedProcessName","DocumentAndProcess","documentResponsible","processResponsible","setGridSetting","gridSettingkey","gridColumns","columnSettings","lastSplitterIndex","lastIndexOf","getBooleanValue","getArray","obj","array","groupBy","list","groups","group","gridOption","FormattedDateDMYYYY","date","delimiter","month","getMonth","getDate","getFullYear","self","grid","init","services","domUtilityService","DomUtilityService","updateGridLayout","$$phase","RebuildGrid","ua","msie","rv","edge","vendor","String","format","NewsGridConfig","maxDisplayPage","splitDateString","dateString","Utils","ToDate","Date","dateParts","ToDateTime","dateTimeString","dateTimeParts","timeParts","dialogTypes","OK","OK_CANCEL","YES_NO","dialogResults","CONFIRM","CANCEL","RESPONSE_MESSAGE","recommended","notRecommended","neutral","getElementForTooltips","label","generateRelatedDocumentTooltip","row","LinkedVirtually","virtual","Yes","No","Responsible","generateRelateProcessTooltip","Status","approvalStatus","ProcessArea","processAreaName","processNumber","createTooltipsRelatedDocument","relatedDocuments","htmlTooltips","relatedProcess","fieldContents","fieldContent","getLines","lines","dirty","clone","wrapCharacters","fragment","parent","contents","each","characters","Node","ELEMENT_NODE","TEXT_NODE","createDocumentFragment","nodeValue","character","appendChild","replaceChild","replaceWith","$element","greatestOffset","offsetTop","countLines","jQuery","NorwegianNynorsk","English","openAddMembersDialog","modal","existedMember","titlePage","roleId","excludedQuitDepartmentId","open","size","existedEmployees","gridUtilities","lookupData","rowCollection","originalCollection","infiniteScrollLoadsize","total","currentRowIndex","newTotal","copy","getAPageItem","currentIndex","endIndex","getIconsWithReadPermission","nodeInfo","notTextWhite","iconFolder","expanded","onlyRead","nodeTypes","RegionalFolder","TopFolder","DepartmentFolder","LinkDocument","FileDocument","ShortcutDocument","Array","prototype","fun","thisArg","TypeError","t","Object","len","call","alerts","$scope","vm","closeAlert","autoResize","scrollHeight","ngModel","newVal","anchor","anchorPrefix","anchorId","anchorName","collapseTarget","el","ctrl","collapsed","onCollapsed","collapsedFlag","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","$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","newValue","oldValue","$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","addDocumetEmailSubscription","AddEmailSubscriptionDocument","isEmailSubscribe","remoteDocumetEmailSubscription","RemoveEmailSubscriptionDocument","SubscribeToChanges","favoriteButtonClick","targetData","isFavoriteReadonly","favoriteTargetId","isFavorite","currentDocument","documentInformation","isDocument","FavoriteButtonView","addRequestUrl","removeRequestUrl","className","Content","ForcedFolderHint","DepartmentFolderHint","Favorite","directivesModule","customPath","customDirectivesPath","minDate","maxDate","ngRequired","ngDisabled","appendtoBody","onChange","textboxClass","focusElement","DatePickerView","patt","pattLongDate","longMinDate","longMaxDate","longDate","dateOptions","formatYear","startingDay","showWeeks","objectDate","opened","preventDefault","stopPropagation","firstElementChild","uibDatepickerConfig","ele","dateLocallize","$parsers","unshift","viewValue","_typeof","pattString","$setValidity","Feedbacktooltip","popupModal","FeedbackModalView","model","FeedbackButtonView","Feedback_Message","Feedback_Message1","FeedBackCheckLabel","FeedBackCheckLabelA","FeedBackCheckLabelB","FeedBackCheckLabelC","FeedBackCheckLabelD","FeedBackCheckLabelE","FeedBackCheckLabelF","FeedBackCheckLabelG","FeedBackCheckLabelH","feedBackLabels","RecipientsForFeedbackMail","OwnerOnly","isOwnerOnly","enableExtendedFeedback","EnableExtendedFeedback","currentData","selectedOption","x","getSelectedFeedBack","alert","ThanksForYourFeedback","PleaseEnterFeedback","calculateFeedBack","count","columnsDefinition","onRowClick","isProcess","onDoubleClick_","onDoubleClick","arrayCopy","originalData","selectRow","showColumnInformation","selectedColumn","order","times","showSortIcon","totalTitle","isTotalTitle","Total","TotalNumberDocument","orderBy","loadSize","getSettingGridColumn","gridSetting","objectLocalStorage","JSON","parse","calculateColumnsWidth","coldefault","numColumns","extraWidth","__numCoumns","additionWidth","temp","ratio100","column","columnNotRemove","ratio","tableState","pagination","start","predicate","sort","y","d1","d2","old","gridBody","identifier","isForced","newData","oldData","transclude","notFixHeightRow","hiddencheck","rowCss","wrapText","onSelectRow","hiddenShowAll","showCheckboxOnProperty","notUpperHeader","append","numberOfHiddenCheckboxes","hideAllCheckboxes","loadColumnsConfiguration","columnsConfiguration","optionalColumns","updateGrid","stringify","showGridSettingContextMenu","checkItem","checkAll","uncheckAll","color","showInfoCol","favoriteService","openDocument","onOpenDocument","openFolder","generateDocumentTooltip","processInterconnectedNumber","readingReceiptValidity","readingReceiptsExpire","confirmDate","setMonth","ValidToReading","internetDocument","ReadingLists","readingListName","generateAttachmentTooltip","AgreeFiles","attachments","Attachments","fileId","viewDocumentFieldDirectly","ViewDocumentFieldDirectly","EnabledCheckViewDocumentFieldDirectly","openProcess","onOpenProcess","openProcessArea","onOpenProcessArea","areaId","openProcessInterconnected","onOpenProcessInterconnected","includeProcess","isProcessInterconnected","processClassificationTypes","processChangeHeightForTable","groupDocument","hasDataChange","htmlTooltip","GridControlView","highlightMissingDocuments","showExporterDialog","loadExportColumns","GridDialogExporterView","GridExporterControlView","$last","$emit","setValueCheck","keys","property","enabledProcessModule","EnableProcess","GridSettingView","timeout","container","itemByPage","lastRemaining","ieVersion","$parent","folderInformation","viewType","eq","remaining","htmlText","backgroundColor","objectTooltip","addRecursiveFolderEmailSubscription","AddEmailSubscription","hasEmailSubscription","hasOnlyFolderEmailSubscription","readonlyFolderEmailSubscription","remoteRecursiveFolderEmailSubscription","RemoveEmailSubscription","addOnlyFolderEmailSubscription","AddOnlyFolderToEmailSubscription","reomteOnlyFolderEmailSubscription","RemoveOnlyFolderFromEmailSubscription","simpleSubscription","SimpleSubscription","EmailSubscriptionView","image","GetImageRequest","imageId","caption","openInNewWindow","scaleDir","getWidth","horizontalAlign","HorizontalAlign","Right","Left","Center","getImageClass","prepend","ImageView","maximumWidth","maximumHeight","display","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","PinView","hideSidebarButton","ReadingReciept","isShowReConfirm","readingReciept","showReadingRecieptContextMenu","readConfirmationDate","confirmedReadLast","getConfirmInformation","ConfirmedReadLast","readConfirmationDateTime","date1","date2","compareDate","entityDisabled","ReadingReceiptButtonView","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","resizeService","resizerMin","getHeightChanged","_pageX","isTouched","originalEvent","changedTouches","pageX","finalWidthChanged","mouseup","updateChanged","touchend","SearchHomePageView","toggleSearhBoxHeader","debounceService","stringValidationService","previousRequests","clearSearchToggle","searchMode","resetCurrentItem","searchDocument","togglePopup","onSearchInputChanged","keywordValue","isCurrentPage","getProcessSearchResult","processRequestParams","isFrontend","isContentSearch","SearchProcesses","HomeSearchPopupSize","SearchProcessAreas","processAreas","enableProcess","Popup","enableVAR","searchVAR","searchRequestParams","requestId","SearchRequest","noMatches","isMessageInfo","totalCount","lengthFolder","activePopup","changeSearchKeyword","clear_Keyword","isCompendiaDocument","compendiaDocumentLink","insertLogWords","goToProcess","goToProcessArea","doSearchDataMining","employeeId","userId","searchKey","searchFilters","openAdvancedSearch","AdvancedSearchModalView","openMetadataSearch","popupMouseDown","popupMouseUp","onVARClick","isLoadingVar","query","numFoundOfVar","numFound","varRecords","NormalSearchTooltip","SearchInContentTooltip","searchInContentLabel","CheckboxIncludeDocContent","SearchBoxPlaceHolder","TitleSearchBoxPlaceholder","enabledMetadataSearch","enabledAdvanceSearch","isMetadataSearch","MetadataEnabled","messageInfoBottom","ShowMessageInfoBottomListSearch","DoSearchDataMining","ClearSearchToggle","searchInFolders","SearchInFolders","EnableVAR","appName","exec","control","ngOptions","option","options","SearchView","changeSearchMode","enableInterconnectedProcess","SearchProcessInterconnected","processesInterconnected","SearchPopupSize","goToProcessInterconnected","onActiveTab","tab","tabs","_addActiveClassForIconAndTitle","activeColorClass","colorClass","activeColor","$watchCollection","tabWidth","onClick_","tabIndex","activated","ativeTabs","onClick","backgroundClass","oldHeight","Number","identifierSelector","updateFavoritePrintbox","tabActive","elem","__height","tabsToggle","hasError","anchorsSelector","blur","getShareLink","currentTarget","shareLink","htmlEditor","CodeMirror","fromTextArea","getElementById","mode","cm","getWrapperElement","innerHTML","pointerEvents","opacity","body","getSelection","removeAllRanges","range","createRange","selectNode","addRange","execCommand","copyFormatted","getValue","tooltip","CopyUserFriendlyUrl","imgUrl","additionClass","transclue","clearSelectedFolder","selectedFolder","getSelectedNode","onSearchFolderSelect","onSelectFolder","onSearchKeyup","killFolderInformation","changeFolderInformation","currentNode","isArray","getNodesByLevelType","buildIcons","nodes","class","setFolderSelection","isShowAll","Common","all","dropped","beforeDrop","showFolderTree","isFolderNode","isActiveContainerClass","customCss","treeCss","isDisabled","docUsageTodaysSetting","evt","Statistics","mostReadToday","isObject","quantity","objHandbookStatistics","arrDailyStatistics","docUsageTodays","categories","map","accessDateDisplay","docAccessCount","users","userAccessCount","Highcharts","chart","zoomType","dailyUseDoc","subtitle","xAxis","crosshair","yAxis","allowDecimals","labels","getOptions","colors","opposite","shared","legend","align","verticalAlign","floating","defaultOptions","series","valueSuffix","getHighCharts","component","bindings","getFolderStatistics","nameFolder","subFolderStatisticsSetting","docsInUse","newThisMonth","revisedThisMonth","archivedThisMonth","Enum","DocumentStatuses","awaitingApproval","expired","handbookId","folderStatistics","subFolderStatistics","buildChartApprovedInternet","folderStatisticsForCharts","buildChartNewRevisedArchived","buildChartAwaitingApprovalExpired","approveTitle","approved","internetTitle","monthYear","approvedDocs","internetDocs","approvedVsInternet","number","plotOptions","connectorAllowed","pointStart","responsive","rules","condition","maxWidth","chartOptions","newCountDocs","newCount","revisedDocs","revised","archivedDocs","archived","newVsRevisedVsArchived","new","awaitingApprovalDocs","expiredDocs","awaitingApprovalVsExpired","tabsChartsSetting","periods","defaultSelectedFolder","statisticsPercentageForAwaitingApproval","StatisticsPercentageForAwaitingApproval","selectOptionPeriod","changePeriod","fiveYear","last13Months","activatedClass","elementContentId","setFocusForElement","passwordPattern","changeOldPassword","password","oldPassword","isCorrect","isOldPasswordCorrect","changeNewPassword","isNewPasswordValid","newPassword","newPasswordTooltip","M","PasswordRequirements","BeBetween8And16Characters","AtLeastOneLowercaseLetter","AtLeastOneUppercaseLetter","AtLeastOneNumber","AtLeastOneSpecialCharacter","buildNewPasswordTooltip","changePassword","dismiss","Login","_goBackToLoginPage","$uibModalInstance","$modal","buildAtag","activityDetail","activityDocuments","tabSettings","buildGridTabSetting","activityDocumentsGridSetting","ID","dialogHeader","activity","partitionings","Month","Quarter","Tertiary","SchoolYear","searchAnnualCycle","annualCycles","annualCycleId","partitioning","year","Recurring","gridSettings","Name","Description","Period","Partitioning","colCannotRemove","clickRow","uiGridConstants","$anchorScroll","activities","yearRange","currentYear","getPeriods","periodsForSchoolYear","nextYear","getPeriodsForSchoolYear","monthViews","schoolYearMonthViews","cycleMonths","cycleSchoolMonths","activityTasks","listActivitiesInView","isExpandAll","changeView","resolveColor","resolveSchoolYearColor","print","period","expandActivityRow","entity","monthViewItem","api","expandable","toggleRowExpansion","isExpandAllTasks","gridApi","every","isExpanded","expandAllTasksInActivity","expandAllItems","listMonthViews","activitiesGrid","expandAllRows","collapseAllRows","initListActivitiesGrid","scrollToMonth","getActivityDetailUrl","activityId","ShowNewAnnualCycleDetailPage","BackendURL","getTaskDetailUrl","taskId","canExpandAll","isSchoolYear","isDisablePeriod","sDate","startDate","eDate","endDate","sDate_Date","sDate_Month","sDate_Year","eDate_Date","eDate_Month","eDate_Year","startYear","responsibleNames","isStartAndEndInTheSameMonth","isStartAndEndInTheSameDay","percentageTasksCompleted","Math","round","numberTasksDone","numberTotalTasks","numberLoop","abs","activityTemp","day","getDaysInMonth","readingListReaders","readers","readingListExclusions","exclusions","taskResponsibles","responsibleId","AllResponsible","ActivityResponsible","responsibleName","join","descriptionDisplay","statusDisplay","NotStarted","InProgress","Completed","Consult","generateStatusText","August","September","October","November","December","January","February","March","April","May","June","July","months","err","NotExistOrNoPermission","expandableRowTemplate","showExpandAllButton","enableExpandableRowHeader","enableOnDblClickExpand","expandableRowHeight","enableSorting","Activity","headerCellTemplate","enableColumnMenus","onRegisterApi","core","sortChanged","sortColumns","mv","expandedRows","collapseMonthViewSaveState","filterActivitiesBySchoolYearMonth","filterActivitiesByMonth","enableHorizontalScrollbar","scrollbars","NEVER","enableVerticalScrollbar","hasTasks","hasDocument","onShowDialogActivityDocument","initActivityTasksGrid","statusCol","col","monthId","scrollIntoView","behavior","block","subGridOptions","showHeader","task","setLoading","generateRelatedTaskDialog","activityTaskId","expandableRowScope","source","activityYear","activityMonth","callback","moduleConfig","activityTaskDocuments","activityTaskFolders","_toConsumableArray","activityTaskProcesses","activityTaskProcessesAreas","processAreaId","combineTaskProcessRelated","activityTaskCheckLists","rootId","checklistId","checklistName","activityTaskDeviations","deviationTypeId","categoryName","activityTaskRisks","backendHandbookUrl","riskId","analysisName","activityTaskAttachments","activityAttachmentId","taskRelatedItem","risk","activityTaskDocumentsGridSetting","activityTaskProcessesGridSetting","activityTaskRiskGridSetting","activityTaskChecklistGridSetting","activityTaskDeviationGridSeting","activityTaskAttachmentGridSetting","activityTask","isPinMeta","pinMetaChange","infiniteGroups","groupDocuments","newTotalDocuments","updateScroll","commonGridSettingKey","folderList","$$search","addFavoriteRequest","AddFavoriteFolder","removeFavoriteRequest","RemoveFavoriteFolder","addEmailSubscriptionRequest","removeEmailSubscriptionRequest","urlchapter","backendIsDb4","BackendIsDb4","showFolderLinkToBackend","objectShowDocumentsInSubChapters","showDocumentsInSubChapters","DocumentViewTypes","Folders","DocumentViewStandard","DocumentType","metaDataTags","documentViewTypes_Standard","documentViewTypes_Template","documentViewTypes_Internet","DocumentViewTypes_Internet","changeDocumentView","gotoParentFolder","showDocumentsRecursive","removeFromFavorite","getConsecutiveIndex","parentIndex","$index","totalDocuments","showDocumentsIncludeLevel1","listedOutDocuments","updateFolderInfoStorage","updateExportGroupByParam","searchInFolder","toTopGroup","backToFolderView","isSearchInFolder","showWhatsNewDocumentsRecursive","getWhatsNewForFolder","showAllGroups","isShow","changeSelectedOption","nameFolderWithMetaTag","urlFolderWithMetaTag","urlName","getFolderClassMobile","backToFolderMobileView","folderData","hasGetDocumentsGroupByTypes","getDocumentsGroupByTypes","scrolling","subFoldersGridSetting","showWhatsNewDocumentsInSubChapters","searchDocuments","WhatsNewDocuments","copyUserFriendlyUrlTooltip","showDropdownFolderOptions","showSortOption","isStandardView","isGroupByMetaDataView","openAboutFolder","removeOnlyFolderEmailSubscription","removeRecursiveFolderEmailSubscription","openWhatsNewFolder","hasViewAccess","hasViewContentAccess","changeSelectedOptionInMobileView","isToggled","autoScrollDownExpandBottom","positionBottomFolderContentIdentifier","inline","metadataGroupTypes","groupByDocument","InfiniteScrollLoadGroupSize","infiniteScrollLoadDocumentssize","currentHeight","backendUrl","commonAdd","showGroupDocumentTitle","GetRecentlyApprovedDocumentsForFolder","includeSubFolder","extraId","updateAttachmentsForWhatsNewDocuments","buildExportFileName","isRecursive","isIncludeLevel1","isFavoriteNodeSelected","level","levelTypeText","documentTemplates","convertToNodeType","ShowDocumentLinkToBackend","hasWritePermission","folderIcon","GetDocumentsRecursive","updateAttachmentsForDocuments","getDocumentTemplates","internetDocumentString","buildViewMode","GetMetadataGroupsRecursive","metadataGroups","existsTemplate","getMetadataGroupTypes","getMetadataGroupsForContentTab","metaGroupName","getMetaGroupName","metadata","metaTags","folderDocuments","documentMetatags","templateGroup","updateDocumentTemplate","mappingDocumentTemplates","updateInfiniteScrollingData","documentMetatag","metatagValue","existedDocument","getSortGroupMetadata","registerValue","documentsError","errorMessage","disableFolderView","runErrorServicesAfterInit","documentsMobile","subFoldersMobile","sortItemsAscByName","getFolderClass","convertToFolderType","messageWhatNew","RecentlyApprovedDocumentsInTheHandbook","dt","a","b","viewMode","isMetadataGroup","lastOne","sortGroup","hasUndefinedGroup","documentsGroup","checkSortOrderMetaTags","localeCompare","anchorGroup","indexToScroll","pop","folderContentObject","checkDocumentsInOneGroup","showAllGroup","checkShowAllGroupLink","initShowGroups","groupTemplates","arrFolderInfo","folderExist","folderInfo","constructor","includeVirtualDocuments","notRecursiveFolderId","totalHits","totalFound","exportFileName","Exporter","ChapterWithSubChaptersDocumentList","ChapterDocumentList","ngRepeatFinishedEvent","isWhatsNew","isClickedElementChildOfPopup","storageWhatsNewPeriodFolder","WhatsNewPeriodFolder","SubFolders","commonGridColumnDefinition","viewFolder","folderInfoObject","getFolderInfoStorage","listOutSubChapters","ListOutSubChapters","publishedOrUnpublished","enabledCompendiaSearch","CompendiaSearch","showCompendiaSearch","showFolderSearch","triggerTabClicked","clickItSelf","childTab","advancedSearchLocationType","application","metaDataAll","getGetRegisterItemByAreaOrFolder","metaDataItem","getRegisterItemsByModule","getRegisterItemOfArea","clearSelectedNode","activeButtonGroup","notCalculateHeigthGrid","selectedSearchType","searchTypes","setHeightForGrid","activeLocationTypeButtonGroup","getSearchResult","reCalculateHeigth","searchTypeHandbook","advancedSearch","metadataSearch","areasRecords","getProcessAreaSearchResult","generateSearchProcessParams","updateAttachmentsForProcesses","processRecords","updateAttachmentsForProcessesInterconnected","getProcessInterconnectedSearchResult","searchParams","generateSearchProcessAdvanceParams","SearchProcessesAdvance","advancedSearchProcess","SearchProcessInterconnectedAdvance","advancedSearchProcessInterconnected","triggerSearchProcessModule","triggerSearchVAR","VAROffset","searchConditionTrue","toLocaleDateString","char","contentSearch","searchLogLevel","totalFolderHits","searchCompendiaDocuments","searchUrl","titleSearch","CompendiaDocument_TitleSearch","CompendiaDocument_ContentSearch","compendiaDocuments","loadSearchType","searchPlaceHolder","AdvanceSearch","fromDateDisplayed","toDateDisplayed","areaTree","isAdvanceSearch","ContentSearch","TitleSearch","MetadataSearch","startMetadata","startTag","searchFilter","folderIdNotNull","fromDateNotNull","toDateNotNull","registerItemIdNotNull","registerItemValueIdNotNull","startOption","endOption","seperator","From","getDateStringFromInput","To","Metadata","Tag","getSearchFilter","processEntityIds","attachmentHtml","processEntityId","processInterconnectedEntityIds","processInterconnectedEntityId","GetAttachmentsForProcessesInterconnected","decodeURI","record","changeType","degree","inferVarRecordStatus","updatedDate","lastUpdated","getExportParams","enableExportButton","setProcessExportParams","setDocumentExportParams","setProcessInterconnectedExportParams","fromDateBK","toUTCString","toDateBK","metadataMustContainAll","myProcessOnly","processStatusApprovalFilter","advancedSearchApprovalProcessStatus","Approved","dateFilter","hasQuit","hasQuitApprove","includeSubAreas","includeVirtualProcesses","exportDocumentParams","exportRequestUrl","ExportSearchedDocuments","exportProcessParams","ExportSearchedProcesses","ExportSearchedProcessesAdvance","exportProcessInterconnectedParams","ExportSearchedProcessesInterconnected","ExportSearchedProcessesInterconnectedAdvance","SearchLogLevel","keywords","showLoadMore","loadMoreClickedCounter","Maximum","showMoreLink","Showmore","foldersGridSetting","loadByMaxSearchSize","showLoadMoreLink","_isShow","_isLastIndex","rowIndex","AreaId","ShowProcessesInTree","IsOnlyApproved","clearFromDate","clearToDate","changeSearchType","setSearchLocationType","isProcessNode","openCompendiaDocument","defaultExportFileName","isClickDocument","folderClick","areaGridSetting","VARsGridSetting","searchProcessParams","tabNameToExport","processTab","interconnectedTab","areaTab","folderTab","handleChangeTabForExportList","activeTab","getFolderInformation","areaInformation","generateExportParams","mandatatoryRequests","handleNavigate","innerHeight","toParams","fromState","fromParams","setPeriod","optionNumber","listPeriod","selectedPeriod","whatsNewDocuments","Today","LastWeek","LastMonth","Last3Months","selectPeriod","searchByHearing","resetselectedSearchPattern","selectedRole","firstName","lastName","excludedEmployeeId","excludedEmployees","searchEmployee","selectedEmployees","selectedEmployeesCount","searchPatterns","selectedSearchPattern","saveChanges","employees","inArray","isAllSelected","onKeyUp","changeSaveSearch","selectedRequest","searchIds","searchFilterType","res","ChooseSavedHearingMembersList","generateComparisonResult","selectedVersion","isType","currentDocumentId","fromVersion","input","toVersion","getDataForComboVersions","earlierVersionNumber","latestVersionNumber","documentCKVersion","isNewCKVersion","DocumentTitleResult","ComparisonResult","comparisonNameResult","DocId","And","earlierVersionHtml","latestVersionHtml","comparisonResult","domContent","getErrorMessage","latestVersion","fromVersions","toVersions","childDocumentId","parentDocumentId","ckVersion","enableDocumentExtention","EnableDocumentExtention","showCompareParentExtension","showCompareChildrenExtension","promises","resultGetParentId","resultCheckDocumentHaveToCompareById","printDocumentComparison","changeFromVersion","changeToVersion","viewCompareParentDocument","viewCompareChildDocument","advancedCompare","AdvancedCompare","initCompareScrollEvent","removeEventListener","documentContentsSearchService","searchAndHighlight","isNumber","dynamicDiv","replaceHtmlEntites","regExp","textHighLight","sTag","returnWhitespace","searchAndHighlightText","searchNavigator","navForward","clearHighlight","addHighlight","scrollToMatch","navBackward","visibleAreaStart","clearSearchPanel","highlightText","translate","nbsp","amp","quot","lt","gt","documentController","isFieldActive","lastId","ignoreRichText","LazyLoadRichText","urlParams","isEmbedUrl","highlights","isShowMetadata","isShowMetatagTab","ShowMetatagTab","showDocumentLinkToBackend","enableElementsIntegration","ElementsIntegrationConfiguration","ArchiveIntegrationMode","None","viewModeList","documentTemplateViewMode","ProcessDependencies","documentTemplateViewModeName","Normal","RelatedDocuments","InvolvedChapters","metadataList","AddFavoriteDocument","RemoveFavoriteDocument","processRelationTypes","ProcessRelationType","showError","isFullScreen","heightdocumentcontentidentifier","FolderLinks","menuFields","urlDocument","updateFields","relatedAttachments","relatedDocumentAll","relatedAttachmentAll","fieldContentsProcess","fieldContentsNonProcess","relatedProcessAll","isShowTopBoxContent","checkShowFieldName","relatedImageGroups","images","relatedBottomImages","relatedTopImages","VerticalAlign","Top","Bottom","relatedDocumentGroups","relatedDocumentGroup","relatedProcessGroups","relatedProcessGroup","relatedProcesses","processRelationType","relatedDocumentManagements","relatedDocumentResources","Management","Resources","relatedDocumentManagement","relatedDocumentForDependencies","relatedAttachmentGroups","relatedAttachmentManagements","relatedAttachmentResources","relatedAttachmentManagement","relatedAttachmentForDependencies","relatedDocumetFieldGroups","relatedDocumentInputValues","relatedDocumentOutputValue","InputOrInputValues","OutputOrOutputValues","relatedAttachmentFieldGroups","relatedAttachmentInputValues","relatedAttachmentOutputValue","goToDocumentFields","highlightTextInContent","fullScreen","selectViewModeChange","isFloatTitle","getNextSearchResultByEnter","compareDocument","registDeviationWithDocument","deviationUrl","documentDeviationCategoryLink","hideCompareButton","showContent","shareFieldLink","fieldShare","showSidebarFields","isToggleSidebarFields","printAgreeFile","feedbackDocument","goToDocumentInPublicHandbook","PublicURL","isPublishedVersion","documentPublishUrl","openAboutDocument","documentData","folderLinks","cursorY","buildContentAndAnchorFields","childFieldContent","isVisible","fieldsAnchor","aElement","aTags","getElementsByTagName","itemAnchor","setIconForDocument","HandbookLevelTypes","Enterprise","DocumentLevelTypeEnterprise","Regional","DocumentLevelTypeRegional","Local","DocumentLevelTypeLocal","docIcon","showMessageError","DocumentDoNotExistOrIsArchived","DocumentDoNotExistOrIsArchivedOrNotPublished","showDocumentLinkToBackendWhenError","RequiredPermissionsToReadDocument","formatMetadata","nameDisplay","registerName","registerItemName","clearActive","runServicesAfterInit","addScroll","openDocumentFields","showOnPDA","defaultField","allVisibleField","scrollAffectFieldSelected","idCurrent","mousePosition","d","activeField","activeLink","activeFile","activeAttachments","activeRelatedDocuments","activeAgreeFiles","isHideByBooklet","replaceState","pathname","animationChangeBackgroundColor","clearAnchorActive","anchors","popUpWasBlocked","popUp","closed","onmousemove","pageY","hideSidebarFields","extendDocumentsGridSetting","documentNameHadExtended","showExtendDocument","totalExtendDocument","DeviationUrl","DocumentDeviationCategoryLink","enabledDeviation","EnabledDeviation","publicUrl","documentPublishTooltip","GoToDocumentInPublicHandbook","PublishedToTheInternet","copyUserFriendlyPublishedUrlTooltip","CopyUserFriendlyPublishedUrl","publishUrlImg","documentViewOption","searchDocumentInMobile","toggleSearchInMobile","scrollDocumentContentToTop","setViewMode","showContentanchor","getHiddenFields","fieldIds","GetHiddenFieldsRequest","GetDocumentMetadataRequest","hasExtention","currentDataPromise","GetDocumentInformationRequest","NoAccessDocument","sum","extendable","extendDocuments","linkDocTemp","urlTemp","urlFolTemp","documentIdDisplay","documentNameDisplay","pathDisplay","isDepartment","ExtensionLocatedInDepartmentFolder","ExtendDocumentNotification","ExtendDocumentNotificationForOnePerson","documentIdHadExtended","extendDocumentUrl","DocumentIsAnExtensionOf","fromCharCode","indexTemp","richTextRequests","isHiddenContent","isDocumentJustCreated","fieldContentId","fieldType","DocumentFieldTypes","RichText","ignoreLoading","getRichText","isHighlightExtended","IsHighlightExtended","richtextRequest","indexShow","hashTemp","elmnt","moveToDefaultField","agree","searchHistoryId","extensionName","searchHistoryFileName","fileTypeName","SearchHistory","fileType","abstractListId","abstractListFileName","AbstractList","implementationPlanId","implementationPlanFileName","ImplementationPlan","allAgreeRequirements","PicoForm","AgreeMethodReport","hasEditPermission","hasApprovalPermission","storageObject","existed","getReadDocuments","urlLink","openUrlDocument","enableOpenDocumentOnline","GetFileDocumentRequest","executeDocumentTypeIfNeeded","EnableCompare","getDocument","dontHaveActionPermission","goToProcessDetail","Processes","processClassification","ProcessInterconnected","EnableOpenDocumentOnline","openFileAttachOnline","isLastVersion","isOneDrive","endPoint","EnablePopupBrowser","openFileDocumentOnline","relatedToOrDocuments","relatedTo","Path","CreatedDate","fullScreenInit","typeHideHeader","processEmbedUrl","buildDocumentObjectFromCurrentDocument","documentFieldsController","confirmInformation","fieldItem","printDocumentField","publish","existedAnchor","div","anchorClick","FieldsContentWholeDocumentController","topMenuDocumentHeight","activeRelatedDocuemnts","hideGoToDocumentFields","setStickyTitle","HearingFeedbackController","calculatorHeightContent","timeOut","updateAfterCurrentDataChanged","getHearingData","GetHearingForFeedbackRequest","loginUserId","isMyAssessment","hearingResponse","isMemberHearing","showComment","public","hearingClose","hearings","preHearingMembers","hearingsId","dueDate","membersGroup","members","groupPreHearingMembers","hearingCommentAfterResponse","dataComments","preDataComments","commentDocuments","commentFields","preCommentDocuments","preCommentFields","preComments","adjustmentHearingComments","preHearingComments","processResponseWithDraftComment","UpdatePublishAllCommentRequest","postResponse","hasDraftComment","countPushlishMessage","userLoginPublishComment","userLoginDraftComment","publishMessage","PublishCommentToDocument","messageConfirm","responseFlag","ResponseRecommendedMessage","ResponseNotRecommendedMessage","ResponseNeutralMessage","HearingDocument","processSendHearingResponse","UpdateHearingResponseForMemberRequest","closeHearingFeedback","loginUserName","HearingCommentAfterResponse","closeHearingGridSetting","hearingMemberGridSetting","preHearingMembersGridSetting","preHearingMembersActiveGridSetting","saveCommentDocument","isDraft","CreateHearingCommentRequest","saveCommentField","editCommentDocument","UpdateHearingCommentRequest","editCommentField","deleteCommentDocument","DeleteHearingCommentConfirmMessage","DeleteHearingCommentRequest","deleteCommentField","focusItem","postHearingResponse","createdBy","getPublishAndDraftCommentOfLoginUser","ResponseConfirmDraftMessage","printPDF","openFileDocument","editCommentDraf","showCommentDocument","addPerson","AddToHearingsPerson","departmentName","objectEmailContent","allowForwarding","subject","hearingId","httpStatusCodes","METHOD_NOT_ALLOWED","onSendEmail","onAddedMembers","publishDocumentComment","PublishHearingComment","publishFieldComment","openCompareDocument","onTabSelectedDocument","NumberOfComments","Assessment","Appreciation","GetDocumentInformationForHearingRequest","getRickText","documentHearingFieldsController","goBackDocumentHearing","updateCommentsInformation","clickChangeTab","tabStateChange","listTabCanChange","calculateMaxHeight","closeHearings","SubjectSendToHearingCreate","extraInfo","ExtraInfoSendToHearingCreate","BodySendToHearingCreate","About","netpowerHandbook","NetpowerHandbook","Close","applicationVersion","annualCycleModuleEnable","EnabledAnnualCycle","readingListEnabled","ReadingListEnabled","hearingEnabled","HearingEnabled","checkHearingTab","readingListGridSettingKey","loadWhatNew","loadFavorite","favoriteData","GetProcessAndDocumentLatestFavoriteRequest","includeInterconnectedProcess","updateTotalNewestFavorites","updateNewestDocuments","GetLatestFavoriteRequest","loadReadingDocumentsLists","allReadingDocuments","tooltipExpired","TooltipReadingReceiptsExpired","TooltipReadingReceiptsNoExpired","existing","readingListId","readingListCreatedDate","readingListUpdatedDate","readingListCreatedBy","readingListUpdatedBy","readingListDescription","decorateDocumentReadingListName","summaryNewData","totalReadingDocuments","documentsGroups","getDocumentGroupsByReadingListId","missingReadingDocuments","getMissingReadingDocuments","totalMissingReadingDocuments","tooltips","generateReadingListTooltip","loadHearingDocuments","aWaitingHearings","publicHearings","GetHearingDocumentsRequest","awaitingHearings","information","_buildDocumentTooltip","isPublic","GetProcessAwaitingHearing","processAwaitingHearings","combineProcessHearings","GetProcessPublicHearing","processPublicHearings","loadHearingProcesses","hearingRowClick","linkDirect","adjustMenuPosition","whatNewPrintbox","ajustmentNews","goToRegisterDeviation","goToChecklist","linkToChecklist","trustAsResourceUrl","goToAnnualCycle","linkAnnualCycle","getBackendUrl","goToRiskModule","viewReport","clickNavTab","selectedTab","hearingGridSetting","HearingsSetting","AllFolders","normalStartpage","StartpageThemeKey","StartpageTheme","BACKEND_URL","URL","protocol","periodWhatNewOptions","whatNewData","totalWhatNews","totalFavorities","totalAwaitingHearings","totalPublicHearings","WhatsNewCountConfig","WhatsNewCount","UpdatedFavoritesCountConfig","UpdatedFavoritesCount","longApprovedDate","isNew","GetRecentlyApprovedDocumentsProcessesRequest","updateTotalWhatNew","GetRecentlyApprovedDocumentsRequest","getNewCount","createdDate","CreatedBy","UpdatedDate","UpdatedBy","Validity","Months","p","approverResponsible","chapterLevel","deleted","documentIcon","documentStatus","draft","IsDraft","dueDateDisplay","expirationDate","expiredDate","feedBackCount","feedBackDislike","feedBackLike","feedBackNull","isAddNewVirtual","lastContentEdit","orgiginApprovedDate","orgiginPublishedDate","publishedDate","permissions","registerItemItemId","templateId","tooltipData","isNotConfirmId","missingDocuments","documentsOfEachReadingList","results","existingIndex","getDistinctItems","distincItems","countItemNew","setAttachmentForProcesses","linkChecklist","goTochecklistFromUrl","storageWhatsNewPeriodAll","WhatsNewPeriodAll","HearingDueDate","Public","DocumentInfo","readingListColumnsDefinition","unsupportBrowserMessage","UnsupportedBrowser","OldHandbookUrl","sum_Document","sum_Process","tabPanel","arrTabPanelActive","getTabId","setTabPanelActive","arg","mainPageController","hotkeys","aboutNetpowerHandbook","ChangePassword","userManual","UserManual","isHearingUrl","isFolderUrl","isDocumentUrl","isMainUrl","rememberedChangedWidth","annualCycleHomeUrl","isTest","IsTest","enabledAnnualCycle","publicAlert","PublicAlert","activityPopupSize","ActivityPopupSize","sidebarAdjustmentWidth","autoHideSidebar","openMyReadingReceipt","showStartpageImage","ShowStartpageImage","changeFontsizeGuide","ChangeFontsizeMessage","toggleActivities","currentPageIndexNotifyAc","calendarLoading","getActivitiesForNotifyPromise","activitiesNotify","observableScrollModal","editActivity","annualCyclePermissions","navigateToEditActivityBackend","openAboutDialog","changeColor","showDropdownTopbar","changeLanguage","ChangeLanguage","hasShownPublicAlert","reload","keydown","helpEnabled","onhelp","returnValue","goToHelpPages","HelpEnabled","showSearchBoxHeader","toggleSearchBox","currentActivityNotifyTab","onChangeActivityNotifyTab","currentTabPromise","calendarChangeTabLoading","_resizeSidebarWithRememberedChangedWidth","_rememberWidthChangedAndResizeToOrginalSize","activeActivityCounter","calendarLoadingMore","updatePositionForTestModeHeader","Information","getActiveActivitiesForNotification","getUpcomingActivities","Error","def","loadMorePromise","activityModal","ready","off","prop","annualCycleAdmin","remainingWidth","widthOfToggleSidebarButton","newWindow","helpURL","bindTo","combo","keyup","ctrlKey","altKey","includeSubfolders","folderClass","inputClass","chooseAmongFavorites","getFolderTree","chooseFavorite","getFolderFavorites","MyReadingReceipt","openTree","originalFolderTree","originalFavorites","itemAll","All","GetFavoritesRequest","tempData","NewsCategoryController","loadAllNews","NewsCategoryShownIn","shownInHandbookFrontend","news","totalResults","currentPage","loadNews","isPreview","toggleLoadAllNews","itemPerPage","NewsPageSize","First","last","Last","Published","newsSetting","newPage","newsDetailsController","HasAttachment","editNews","EditNews","GetFileRequest","linkToEditNewsView","lastChar","urlNews","NewsListController","getHeightGrid","isMobile","$gridTop","parseFloat","$1","getInternetExplorerVersion","ingress","Ingress","reportsMyReadingListViewController","screenHeight","reportPage","reportsViewController","startpageController","getReportType","arrSearchFilter","values","handleDevicesSize","newsLength","newsItemClass","leftMenuGroups","rightMenuGroups","more","More","showmore","newsHeader","NewsHeader","Run","yourReports","YourReports","searchDocumentTitleOrId","SearchDocumentTitleOrId","selectTheTypeOfSearch","SelectTheTypeOfSearch","myReports","MyReports","myPage","MyPage","reportTypes","gotoUrl","hostname","collapseHandle","goToNewsDetails","runReport","saveReport","enableHomepageSearch","EnableHomepageSearch","dashboardIframeUrl","isDataAvailable","StartpageWithNewsAndImage","GetMenuGroups","menus","rootMenuId","MenuId","parentItemId","hasGroupItems","k","getGroupsPerCoumn","getGroupItems","padding","imageCss","buildGroupsStyle","CollapseMenuGroups","reportType","ReadingReceiptsPerson","ReadingReceiptsDocument","ReadingReceiptsFolder","NumberOfDocumentsPerFolder","FolderStatistics","NewRevisedDocuments","WritePermissionsPerson","ApprovePermissionsPerson","WritePermissions","ApprovePermissions","ReadingListsPerson","ReadingListDepartment","ReadingListClosestLeader","ReadingListRole","MostReadDocumentsTotal","MostReadDocumentsVersion","StatusDocumentsPerFolder","LeastReadDocumentsTotal","LeastReadDocumentsVersion","getReportTypeText","saveSearches","categoryNumberPerStatus","metatagCategoryReport","subCategoryCategoryReport","categoryNumberPerHandlingUnit","categoryYearAndMonthNumber","categoryNumberPerMonthPerYear","categorySeverityNumbers","category","kpi","actionsNumberAndType","actionsNumberPerMonthPerYear","statistics","costCategory","costTypeSumPerMonthPerYear","categoryCustomFieldReport","categoryEquipmentReport","getReportTypeTextForDeviation","StartpageWithProcessAndWidgets","tabController","setFocusTextSearchForTabActive","documentContentHeight","documentFieldListHeight","getConfirmInformationBaseOnView","feedbackText","initializeTabs","isInitReadingConfirmationTab","_tabStateType","currentDate","checkFolder","updateSortOrderProcessItems","enableProcessModule","originalAreas","originalProcesses","reArrangeAndGetChangedSortOrderItems","isFolder","confirmAndDeleteItem","object","originalDataSource","isUpdateFavoriteTree","ConfirmationView","isConfirm","removeItemFromList","removeOldActiveDragItem","oldActive","removeBorderAndUpdateOrder","isTop","isBottom","moveObjectIndex","runOnce","getSourceByItemType","getSourceProcessAreasByItemType","changedItems","forcedAndDepartmentFolders","originalFoldersData","originalDocumentsData","emailSubsribed","currentTab","isChanged","isSortByAlphabet","showSort","GetFavoritesItemsExcludeForcedFavoriteRequest","decorateNodes","initDataSource","loadEmailSubscribedFolder","isProcessArea","isRecursiveFolder","subscriptionName","FolderAndSubFolders","FolderOnly","GetUserEmailSubscriptionsForFoldersAndDocuments","removeAreaFromFavorites","area","RemoveAreaFromFavoritesRequest","removeProcessFromFavorites","processId","removeFolderFromFavorite","removeDocumentFromFavorite","removeEmailSubscribed","RemoveProcessEmailSubscription","ProcessId","RemoveAreaAndItsChildrenFromEmailSubscription","RemoveOnlyAreaFromEmailSubscription","onDragSuccess","onDropComplete","isProcessAreaItem","onDropCompleteForLastItem","onDropCompleteForTopItem","setCurrentTab","addCurrentActiveClass","sortAlphabet","item1","item2","setOrderByAlphabet","isOriginalSource","getSourceByCurrentTab","saveAndClose","updatedItems","UpdateFavoritesSortOrder","confirmMessage","DeleteConfirmMessage","firstLoaded","onTabSelected","tabsSetting","useAndKeyValues","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"],"mappings":"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","file":"module.js","sourcesContent":["var controllers = {\r\n chapterController: 'chapterController',\r\n searchController: 'searchController',\r\n homeController: 'homeController',\r\n manageFavoritesController: 'ManageFavoritesController',\r\n confirmController: 'ConfirmController',\r\n printingController: 'printingController',\r\n feedbackController: 'feedbackController',\r\n advanceSearchController: 'advanceSearchController',\r\n myReadingReceiptsController: 'MyReadingReceiptsController',\r\n personChapterConfirmsSumsListController: 'PersonChapterConfirmsSumsListController',\r\n metadataController: 'metadataController'\r\n};\r\n\r\nvar modules = {\r\n chapterModule: 'chapterModule',\r\n homeModule: 'homeModule',\r\n printingModule: 'printingModule'\r\n};\r\n\r\nvar commonGridColumns = {\r\n name: 'name',\r\n id: 'id',\r\n readingList: 'readingList',\r\n isConfirmed: 'isConfirmed',\r\n location: 'location',\r\n version: 'version',\r\n folderName: 'folderName',\r\n approvedDate: 'approvedDate',\r\n approvedBy: 'approvedBy',\r\n attachment: 'attachment',\r\n template: 'template',\r\n responsible: 'responsible',\r\n documentId: 'documentId',\r\n rowInfo: 'rowInfo',\r\n internet: 'internet',\r\n readingReceipt: 'readingReceipt',\r\n readingReceiptDtmConfirmed: 'readingReceiptDtmConfirmed'\r\n};\r\n\r\nvar broadcastType = {\r\n favoriteTarget: 'favoriteTarget',\r\n documentOpenedTarget: 'documentOpenedTarget',\r\n gridSettingTarget: 'gridSetting',\r\n scrollTarget: 'scrolling',\r\n toggleSidebar: 'toggleSidebar',\r\n collapseExpandSidebar: 'collapseExpandSidebar',\r\n onTreeNavigation: 'onTreeNavigation',\r\n resetQuickSearchKeyword: 'resetQuickSearchKeyword',\r\n onOpeningSidebarMenu: 'onOpeningSidebarMenu',\r\n printItemTarget: 'printItemTarget',\r\n toggleFavoriteTarget: 'toggleFavoriteTarget',\r\n toggleEmailSubscriptionTarget: 'toggleEmailSubscriptionTarget',\r\n toggleOnlyFolderEmailSubscriptionTarget: 'toggleOnlyFolderEmailSubscriptionTarget',\r\n toggleGridSettingTarget: 'toggleGridSettingTarget',\r\n toggleReadingReceiptTarget: 'toggleReadingReceiptTarget',\r\n toggleDocumentFeedbackTarget: 'toggleDocumentFeedbackTarget',\r\n linkToDocumentManagement: 'linkToDocumentManagement',\r\n gridDataChanges: 'gridDataChanges',\r\n\tloadContentFieldDone: 'loadContentFieldDone',\r\n favoriteUpdate: 'favoriteUpdate',\r\n processAreaRouteChanged: 'processAreaRouteChanged',\r\n updateFavoritesProcesses: 'updateFavoritesProcesses',\r\n hideSidebarInMobileWhenOpenDocument: 'hideSidebarInMobileWhenOpenDocument'\r\n};\r\n\r\nvar requestType = {\r\n addRequest: 'add',\r\n deleteRequest: 'delete',\r\n removeRequest: 'remove'\r\n};\r\n\r\nvar tabStateType = {\r\n documentTabState: 'DocumentTabState',\r\n chapterTabState: 'ChapterTabState',\r\n homeTabState: 'HomeTabState',\r\n searchTabState: 'SearchTabState'\r\n};\r\n\r\nvar documentTab = {\r\n readingReceipt: 'document-reading',\r\n};\r\n\r\nvar prefix = {\r\n contentAnchorPrefix: '#p',\r\n groupDocumentAnchorPrefix: '#groupDocumentHeader-',\r\n hashbangPrefix: '#',\r\n baseUrlPrefix: '#!'\r\n};\r\n\r\nvar specialCharacter = {\r\n comma: ',',\r\n space: ' ',\r\n openParenthesis: '(',\r\n closeParenthesis: ')',\r\n colon: ':',\r\n questionMark: '?'\r\n};\r\n\r\nvar cssClass = {\r\n active: 'active',\r\n buttonFavorite: 'button-favorite',\r\n buttonFavoriteMobile: 'button-favorite-mobile',\r\n buttonFavorited: 'button-favorited',\r\n buttonFavoritedMobile: 'button-favorited-mobile',\r\n disabled: 'disabled',\r\n selected: 'selected',\r\n currentDrag: 'current-drag',\r\n dragEnter: 'drag-enter'\r\n};\r\n\r\nvar documentTabs = {\r\n about: 'document-about',\r\n content: 'document-content',\r\n readingReceipt: 'document-reading',\r\n feedback: 'document-feedback',\r\n search: 'document-searchincontent',\r\n hearing: 'document-hearing'\r\n};\r\n\r\nvar folderTabs = {\r\n about: 'chapter-about',\r\n content: 'chapter-content'\r\n};\r\n\r\nvar manageFavoriteTabs = {\r\n folder: 'folder',\r\n document: 'document',\r\n emailSubscribed: 'emailSubscribed',\r\n processArea: 'processArea',\r\n process: 'process'\r\n};\r\n\r\nvar tabContents = {\r\n about: 'about-tab',\r\n content: 'content-tab',\r\n readingReceipt: 'reading-receipt-tab',\r\n feedback: 'feedback-tab',\r\n search: 'search-in-content-tab',\r\n hearing: 'hearing-tab'\r\n};\r\n\r\nvar documentContent = {\r\n topMenu: 'document-top-menu-identifier',\r\n content: 'document-content-identifier'\r\n};\r\n\r\nvar homeContent = {\r\n whatNew: 'whatNewContainer',\r\n updatedFavorite: 'updatedFavoriteContainer',\r\n startPage: 'start-page',\r\n updatedFavoritePage: 'updatedFavoriteContainerPage',\r\n whatNewPage: 'whatNewContainerPage',\r\n readingListTab1: 'reading-list-tab1',\r\n readingListTab2: 'reading-list-tab2',\r\n readingListTab3: 'reading-list-tab3'\r\n};\r\n\r\nvar homeTabs = {\r\n whatNew: 'what-new-tab',\r\n updatedFavorite: 'favorite-tab',\r\n startPage: 'master-tab',\r\n readingListTab: 'reading-list-tab',\r\n hearingTab: 'hearings-tab'\r\n};\r\n\r\nvar folderContent = {\r\n content: 'folder-content-identifier',\r\n gridDocuments: 'gridController',\r\n showAllDocuments: 'showAllDocuments',\r\n topMenuLeft: 'topmenuleftid',\r\n topMenuRight : 'topmenurightid',\r\n gridDocumentClass: 'table.gridStyle.margin-bottom-0',\r\n scrollableTable: 'scrollableTable',\r\n gridDocumentsBody: '#gridController > tbody',\r\n groupMetatagView: 'group-metatag-view',\r\n groupMetatagList: 'group-meta-tag-list'\r\n};\r\n\r\nvar collapseExpandClass = {\r\n collapse: 'expandcollapse-heading-collapsed',\r\n expand: 'expandcollapse-heading-expanded'\r\n};\r\n\r\nvar collapseExpandEvent = {\r\n shown: 'shown.bs.collapse',\r\n hidden: 'hidden.bs.collapse'\r\n};\r\n\r\nvar elementClass = {\r\n currentDrag: '.current-drag',\r\n tabTable: '.tabbable',\r\n frontPageCustomArea: '.frontpage-customer-area'\r\n};\r\n\r\nvar elementId = {\r\n sidebarWrapper: '#sidebar-wrapper',\r\n reSizeBar: '#resizeBar'\r\n};\r\n\r\nvar avoidCustomPageClass = 'avoid-custom-page';\r\nvar showAllDocumentsAdjustmentClass = 'show-all-documents-adjustment';\r\n\r\nvar constantValues = {\r\n topMenuHeight: 128,\r\n folderTabContentMinTop: 75,\r\n documentTabContentMinTop: 65\r\n};\r\n\r\nvar mobileConstantValues = {\r\n topMenuHeight: 74,\r\n folderTabContentMinTop: 60,\r\n documentTabContentMinTop: 50\r\n};\r\n\r\nvar folderInformationKeyStorage = 'FolderInformation';\r\nvar searchContainerId = 'searchContainer';\r\nvar localStorageKeys = {\r\n sidebarNavigateKey: 'SidebarNavigation',\r\n readDocuments: 'ReadDocuments',\r\n stateOfSticky: 'StateOfSticky'\r\n};\r\n\r\nvar treeNodeTypes = {\r\n folder: 0,\r\n document: 1\r\n};\r\n\r\nvar urlOpenHearingFeedback = '/document/{0}/hearing';\r\nvar urlOpenProcessHearing = 'process-fe/process-detail/viewsendtohearing/{0}/{1}'\r\nvar hasShownPublicAlertKeyStorage = 'HasShownPublicAlert';\r\n\r\nvar ELEMENT_SELECTORS = {\r\n FolderSelectionContainerSelector: '#folderSelection',\r\n FolderSelectionInputSelector: '#folderSelectionInput',\r\n FolderSelectionClearSelector: '#folderSelectionClear',\r\n FolderContainerClassSelector: 'folderSelection',\r\n DepartmentSelectionContainerSelector: '#departmentSelection',\r\n DepartmentSelectionInputSelector: '#departmentSelectionInput',\r\n DepartmentSelectionClearSelector: '#departmentSelectionClear',\r\n DepartmentContainerClassSelector: 'departmentSelection',\r\n RoleMemberSelectionContainerSelector: '#roleMemberSelection',\r\n RoleMemberSelectionInputSelector: '#roleMemberSelectionInput',\r\n RoleMemberSelectionClearSelector: '#roleMemberSelectionClear',\r\n RoleMemberContainerClassSelector: 'roleMemberSelection',\r\n NewsCategorySelectionContainerSelector: '#newsCategorySelection',\r\n NewsCategorySelectionInputSelector: '#newsCategorySelectionInput',\r\n NewsCategorySelectionClearSelector: '#newsCategorySelectionClear',\r\n NewsCategoryContainerClassSelector: 'newsCategorySelection',\r\n CountrySelectionContainerSelector: '#countrySelection',\r\n CountrySelectionInputSelector: '#countrySelectionInput',\r\n CountrySelectionClearSelector: '#countrySelectionClear',\r\n CountryContainerClassSelector: 'countrySelection',\r\n PositionSelectionContainerSelector: '#positionSelection',\r\n PositionSelectionInputSelector: '#positionSelectionInput',\r\n PositionSelectionClearSelector: '#positionSelectionClear',\r\n PositionContainerClassSelector: 'positionSelection',\r\n RoleSelectionContainerSelector: '#roleSelection',\r\n RoleSelectionInputSelector: '#roleSelectionInput',\r\n RoleSelectionClearSelector: '#roleSelectionClear',\r\n RoleContainerClassSelector: 'roleSelection',\r\n SearchRelatedDocumentContainerSelector: '#searchRelatedDocument',\r\n SearchRelatedDocumentInputSelector: '#searchRelatedDocumentInput',\r\n SearchRelatedDocumentClearSelector: '#searchRelatedDocumentClear',\r\n SearchRelatedDocumentContainerClassSelector: 'searchRelatedDocument'\r\n};\r\n\r\nvar KEY_CODES = {\r\n ENTER: 13,\r\n ESCAPE: 27,\r\n UP_ARROW: 38,\r\n DOWN_ARROW: 40\r\n};\r\n\r\n/**\r\n * The definition of data type of columns in grid.\r\n */\r\nvar COLUMN_DATA_TYPES = {\r\n STRING_TEXT: 1,\r\n NUMBER: 2,\r\n STRING_DATE: 3,\r\n STRING_DATE_TIME: 4,\r\n BOOLEAN: 5\r\n};\r\n\r\nvar SEARCH_LOG_LEVEL = {\r\n LOG_DOCUMENT_SELECTED: 0,\r\n LOG_DOCUMENT_SELECTED_AND_0_HIT: 1,\r\n LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION: 2\r\n}\r\n\r\nvar DOCUMENT_EXTENDABLE_TYPES = {\r\n NONE: 0,\r\n PARENT: 1,\r\n CHILD: 2\r\n};\r\n\r\nvar searchFilterTypes = {\r\n\thandbookBackendSearch: 1,\r\n\thandbookReports: 2,\r\n\tdeviationBackendSearch: 3,\r\n\tdeviationReports: 4,\r\n\triskBackendSearch: 5,\r\n\triskReports: 6,\r\n\thearingMembers: 7,\r\n\tanuualCycleReaders: 8,\r\n\treadingList: 9,\r\n\triskDynamicSearch: 10\r\n};\r\n\r\nvar DEVIATION_REPORTS_TYPES = {\r\n CATEGORY_NUMBER: 1,\r\n CATEGORY_NUMBER_PER_HANDLING_UNIT: 2,\r\n CATEGORY_YEAR_AND_MONTH_NUMBER: 3,\r\n CATEGORY_SEVERITY_NUMBER: 4,\r\n CATEGORY_KPI: 5,\r\n ACTIONS_NUMBER_AND_TYPE: 6,\r\n ACTIONS_NUMBER_PER_MONTH_PER_YEAR: 7,\r\n CATEGORY_NUMBER_PER_MONTH_PER_YEAR: 8,\r\n STATISTICS: 10,\r\n CATEGORY_COST_PER_YEAR: 11,\r\n CATEGORY_COST_PER_MONTH_PER_YEAR: 12,\r\n CATEGORY_NUMBER_PER_METATAG: 13,\r\n CATEGORY_NUMBER_PER_SUB_CATEGORY: 14,\r\n CATEGORY_CUSTOM_FIELD: 15,\r\n CATEGORY_EQUIPMENT: 16\r\n};\r\n\r\nvar GROUP_TO_OPEN_AS_DEFAULTS = {\r\n NONE: 0,\r\n DOCUMENT: 1,\r\n PROCESS: 2\r\n};\r\n\r\nvar NONE_DOCUMENT_ROOT_ITEM_TO_EXPAND = 0;\r\n\r\nvar CkVersion = {\r\n CK4: 0,\r\n CK5: 1\r\n};\r\n\r\nvar urlOpenInterconnectedHearing = 'process-fe/process-interconnected/viewsendtohearing/{0}/{1}';\r\n","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tfunction getCookie(cname) {\r\n\t\tvar name = cname + \"=\";\r\n\t\tvar decodedCookie = decodeURIComponent(document.cookie);\r\n\t\tvar ca = decodedCookie.split(';');\r\n\t\tfor (var i = 0; i < ca.length; i++) {\r\n\t\t\tvar c = ca[i];\r\n\t\t\twhile (c.charAt(0) == ' ') {\r\n\t\t\t\tc = c.substring(1);\r\n\t\t\t}\r\n\t\t\tif (c.indexOf(name) == 0) {\r\n\t\t\t\treturn c.substring(name.length, c.length);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn \"\";\r\n\t}\r\n\r\n var configModule = angular.module('configModule', ['customeDirectivesModule']);\r\n //config for datepicker\r\n configModule.config(['uibDatepickerPopupConfig', function (uibDatepickerPopupConfig) {\r\n var dateFormat = window.globalDateFormat && window.globalDateFormat.dateFormat ? window.globalDateFormat.dateFormat : \"dd.MM.yyyy\";\r\n var timeFormat = window.globalDateFormat && window.globalDateFormat.timeFormat ? window.globalDateFormat.timeFormat : \"h:mm tt\";\r\n uibDatepickerPopupConfig.datepickerPopup = dateFormat;\r\n //uibDatepickerConfig.config.dateFormat = dateFormat;\r\n //uibDatepickerConfig.config.timeFormat = timeFormat\r\n }]);\r\n\tconfigModule.factory('loginRecoverer', ['$q', '$templateCache', function ($q, $templateCache) {\r\n var loginRecoverer = {\r\n responseError: function (response) {\r\n if (response.status == 401 && !HandbookConfiguration.AnonymousMode == \"True\") {\r\n window.location = \"/Account/Login\";\r\n }\r\n return $q.reject(response);\r\n },\r\n\t\t\trequest: function (request) {\r\n\t\t\t\tvar language = user.language ? user.language : getCookie(LANGUAGECULTURE);\r\n\t\t\t\tlanguage = !language ? 'no' : language;\r\n if ($templateCache.get(request.url) === undefined) { // cache miss\r\n var linkedElement = '?';\r\n // Item is not in $templateCache so add our query string\r\n if (request && request.url && request.url.includes('?')) {\r\n linkedElement = '&';\r\n }\r\n\t\t\t\t\trequest.url = request.url + linkedElement + 'v=' + HandbookConfiguration.ApplicationVersion + language;\r\n }\r\n return request;\r\n }\r\n };\r\n return loginRecoverer;\r\n }]);\r\n\r\n configModule.config(['$httpProvider', function ($httpProvider) {\r\n $httpProvider.interceptors.push('loginRecoverer');\r\n }]);\r\n\r\n configModule.config(['$uibTooltipProvider', function ($tooltipProvider) {\r\n $tooltipProvider.setTriggers({\r\n 'mouseenter': 'mouseleave',\r\n 'click': 'click',\r\n 'focus': 'blur',\r\n 'never': 'mouseleave' // <- This ensures the tooltip will go away on mouseleave\r\n });\r\n }]);\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp', ['angularTreeview', 'processModule', 'dashboardModule',\r\n 'ui.bootstrap', 'ui.router', 'ngGrid', 'ui.tree',\r\n 'placeholderShim', 'cfp.hotkeys', 'ngClipboard', 'dibari.angular-ellipsis', 'modelOptions', 'ngSanitize',\r\n 'accountModule', 'customeDirectivesModule', 'PubSubModule', 'homeModule', 'configModule',\r\n 'documentFieldsModule', 'tabModule', 'managementModule', 'newsListModule', 'feedbackModule',\r\n 'advanceSearchModule', 'metadataSearchModule', 'smart-table', 'infinite-scroll', 'hearingFeedbackModule',\r\n 'NewsCategoryModule', 'documentHearingFieldsModule', 'compareWithEarlierVersionModule', 'rwdImageMaps',\r\n 'vs-repeat', 'documentCompareWithEarlierVersionModule', 'ui.grid', 'ui.grid.expandable', 'ui.grid.autoResize',\r\n 'ui.grid.cellNav', 'highcharts-ng', 'ui.bootstrap.typeahead', 'checklistModule', 'annualCycleModule', 'ngCookies'\r\n ]).provider('workersPool', function workersPoolProvider() {\r\n var self = this;\r\n window.workersPool = {};\r\n window.workersPool['document-worker.js'] = new Worker('/workers/document-worker.js');\r\n window.workersPool['meta-data-document-worker.js'] = new Worker('/workers/meta-data-document-worker.js');\r\n this.$get = [function workersPoolFactory() {\r\n return window.workersPool;\r\n }];\r\n }).run(['$rootScope', '$location', '$state', '$http', function ($rootScope, $location, $state, $http) {\r\n\r\n if (window.customResources) {\r\n //console.log(JSON.stringify(window.resources).length);\r\n $.extend(true, window.resources, window.customResources);\r\n //console.log(JSON.stringify(window.resources).length);\r\n }\r\n\r\n $rootScope.resources = window.resources;\r\n }]);\r\n\r\n angular.module('printingApp', ['printingModule']);\r\n})();","(function () {\r\n angular.module(modules.homeModule, ['ui.bootstrap', 'ui.router']);\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp')\r\n .config(['$stateProvider', '$urlRouterProvider', '$locationProvider', routesConfig]);\r\n\r\n function routesConfig($stateProvider, $urlRouterProvider, $locationProvider) {\r\n $locationProvider.hashPrefix('!');\r\n $locationProvider.html5Mode(true);\r\n var internalPaths = window.paths;\r\n\r\n\t\tvar templateUrlFieldView = internalPaths.DocumentFields;\r\n\t\tvar controllerFieldView = 'DocumentFieldsController';\r\n\r\n\t\tif (parseInt(HandbookConfiguration.DocumentViewOption) == 2) {\r\n\t\t\ttemplateUrlFieldView = '/Document/fieldsContentWholeDocument';\r\n\t\t\tcontrollerFieldView = 'FieldsContentWholeDocumentController';\r\n\t\t}\r\n\r\n // Now set up the states\r\n $stateProvider\r\n .state('tab', {\r\n url: '/tab',\r\n templateUrl: internalPaths.FrontpageHome,\r\n controller: 'homeController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n })\r\n .state(handbookActions.DocumentAction, {\r\n url: handbookActionParameters.DocumentActionParameters,\r\n templateUrl: internalPaths.DocumentHome,\r\n controller: 'DocumentController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state(handbookActions.DocumentFromFieldViewAction, {\r\n url: handbookActionParameters.DocumentFromFieldViewActionParameters,\r\n templateUrl: internalPaths.DocumentHome,\r\n controller: 'DocumentController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state(handbookActions.HearingAction, {\r\n url: '/document/:documentId/hearing',\r\n templateUrl: '/Document/HearingFeedback',\r\n controller: 'HearingFeedbackController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state('hearingFieldsContent', {\r\n url: '/document/:documentId/hearingfields/:fieldId',\r\n templateUrl: '/Document/HearingFieldsContent',\r\n controller: 'DocumentHearingFieldsController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state('hearingCompareWithEarlierVersion', {\r\n url: '/documenthearing/:documentId/compareWithEarlierVersion',\r\n templateUrl: '/Document/CompareWithEarlierVersion',\r\n controller: 'CompareWithEarlierVersionController',\r\n\t\t\t\tcontrollerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n\t\t\t})\r\n\t\t\t.state('compareWithEarlierVersion', {\r\n\t\t\t\turl: '/document/:documentId/compareWithEarlierVersion',\r\n\t\t\t\ttemplateUrl: '/Document/DocumentCompareWithEarlierVersion',\r\n\t\t\t\tcontroller: 'DocumentCompareWithEarlierVersionController',\r\n\t\t\t\tcontrollerAs: 'vm',\r\n\t\t\t\tdata: {\r\n\t\t\t\t\ttitle: globalResources.Document,\r\n\t\t\t\t\tdescription: globalResources.DocumentMetaDescription\r\n\t\t\t\t}\r\n\t\t\t})\r\n .state(handbookActions.FolderAction, {\r\n url: handbookActionParameters.FolderActionParameters,\r\n templateUrl: internalPaths.ChapterHome,\r\n controller: 'chapterController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Folder,\r\n description: globalResources.FolderMetaDescription\r\n }\r\n })\r\n .state(handbookActions.HomeAction, {\r\n url: handbookActionParameters.HomeActionParameters,\r\n templateUrl: internalPaths.FrontpageHome,\r\n controller: 'homeController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n })\r\n .state(handbookActions.SearchResultAction, {\r\n url: handbookActionParameters.SearchResultActionParameters,\r\n templateUrl: internalPaths.ChapterSearch,\r\n controller: 'searchController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Search,\r\n description: globalResources.SearchMetaDescription\r\n }\r\n })\r\n .state(handbookActions.DocumentFieldsAction, {\r\n url: '/document/:documentId/fields/:fieldId',\r\n\t\t\t\ttemplateUrl: templateUrlFieldView,\r\n\t\t\t\tcontroller: controllerFieldView,\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Document,\r\n description: globalResources.DocumentMetaDescription\r\n }\r\n })\r\n .state(handbookActions.StartpageNews, {\r\n url: handbookActionParameters.StartpageNewsParameters,\r\n templateUrl: internalPaths.NewsDetais,\r\n controller: 'NewsDetailsController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.UnsupportBrowser, {\r\n url: '/unsupportedBrowser',\r\n templateUrl: '/app/components/home/templates/unsupportedBrowser.html',\r\n controller: 'homeController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.MyReadingReceiptsReport, {\r\n url: \"/myReadingReceipts/params?folderId&recursive\",\r\n templateUrl: '/app/components/home/templates/reportsView.html',\r\n controller: 'reportsViewController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.MyReadingListsReport, {\r\n url: \"/myReadingLists\",\r\n templateUrl: '/app/components/home/templates/reportsMyReadingListView.html',\r\n controller: 'reportsMyReadingListViewController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.NewsListAction, {\r\n url: '/newsList/:pageIndex',\r\n params: {\r\n pageIndex: 1\r\n },\r\n templateUrl: '/app/components/home/view/newsList.html',\r\n controller: 'NewsListController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state(handbookActions.NewsCategoryAction, {\r\n url: '/newscategory/:categoryId',\r\n templateUrl: '/app/components/home/view/newsCategory.html',\r\n controller: 'NewsCategoryController',\r\n controllerAs: 'vm',\r\n params: {\r\n categoryId: '',\r\n pageIndex: '1'\r\n },\r\n data: {\r\n title: globalResources.Home,\r\n description: globalResources.HomeMetaDescription\r\n }\r\n }).state('embedDocument', {\r\n url: '/embed/document/:documentId',\r\n templateUrl: internalPaths.DocumentHome,\r\n controller: 'DocumentController',\r\n controllerAs: 'vm',\r\n data: {\r\n title: '',\r\n description: ''\r\n }\r\n }).state('embedDocumentField', {\r\n url: '/embed/document/:documentId/field/:fieldId/:type',\r\n templateUrl: internalPaths.DocumentFields,\r\n controller: 'DocumentFieldsController',\r\n controllerAs: 'vm',\r\n params: {\r\n type: 0\r\n },\r\n data: {\r\n title: '',\r\n description: ''\r\n }\r\n }).state('embedDocumentField1', {\r\n url: '/embed/document/:documentId/field/:fieldId',\r\n templateUrl: internalPaths.DocumentFields,\r\n controller: 'DocumentFieldsController',\r\n controllerAs: 'vm',\r\n params: {\r\n type: 0\r\n },\r\n data: {\r\n title: '',\r\n description: ''\r\n }\r\n }).state('annualCycleDetail', {\r\n url: '/annualCycle/:id',\r\n templateUrl: '/app/components/annualCycle/annualCycleDetail.html',\r\n controller: 'annualCycleDetailController',\r\n controllerAs: 'vm',\r\n params: {\r\n id: ''\r\n },\r\n data: {\r\n title: globalResources.AnnualCycle,\r\n description: ''\r\n }\r\n })\r\n\r\n $urlRouterProvider.otherwise(handbookActionParameters.HomeActionParameters);\r\n };\r\n\r\n angular.module('handbookApp').run(['$rootScope', '$location', '$timeout', 'anchorService', 'documentService', 'broadcastService',\r\n function ($rootScope, $location, $timeout, anchorService, documentService, broadcastService) {\r\n $rootScope.$on('$locationChangeSuccess', function () {\r\n $rootScope.actualLocation = $location.absUrl();\r\n\t\t\t});\r\n\t\t\t$rootScope.$on('$locationChangeStart', function (event, next, current) {\r\n\t\t\t\tif (next && next.indexOf('fields') > 0) {\r\n\t\t\t\t\t$location.$$absUrl = decodeURIComponent($location.$$absUrl);\r\n\t\t\t\t\tvar indexHash = $location.$$absUrl.indexOf('#');\r\n\t\t\t\t\tif (indexHash > 0 && !$location.$$hash) {\r\n\t\t\t\t\t\tvar length = $location.$$absUrl.length - (indexHash + 1);\r\n\t\t\t\t\t\t$location.$$hash = $location.$$absUrl.substr(indexHash + 1, length);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$location.$$url = decodeURIComponent($location.$$url);\r\n\t\t\t\t}\r\n\t\t\t});\r\n $rootScope.$watch(function () { return $location.absUrl() }, function (newLocation, oldLocation) {\r\n var isBackButton = false;\r\n if ($rootScope.actualLocation === newLocation) {\r\n isBackButton = true;\r\n }\r\n if ($location.hash() == null || $location.hash() == '') {\r\n $timeout(function () {\r\n var documentContent = angular.element('#document-content-identifier'),\r\n folderContent = angular.element('#folder-content-identifier'),\r\n newsContent = angular.element('#wrapper');\r\n var anchorOject = anchorService.getAnchorObject();\r\n var position = (anchorOject != null && isBackButton) ? anchorOject.position : 0;\r\n if (documentContent && documentContent.length > 0) {\r\n documentContent[0].scrollTop = position;\r\n } else if (folderContent && folderContent.length > 0) {\r\n folderContent[0].scrollTop = position;\r\n } else if (newsContent && newsContent.length > 0) {\r\n newsContent[0].scrollTop = position;\r\n }\r\n anchorService.setAnchorObject(0);\r\n }, 100);\r\n }\r\n if (isBackButton) {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showNormal();\r\n broadcastService(broadcastType.toggleDocumentFullscreen, {});\r\n }\r\n }\r\n if (!newLocation.includes(oldLocation) && !oldLocation.includes(newLocation)) {\r\n angular.element('#treeDocuments span').removeClass('selected');\r\n }\r\n });\r\n\r\n $rootScope.$on('$stateChangeSuccess', function (event, toState) {\r\n\r\n // Sets the layout name, which can be used to display different layouts (header, footer etc.)\r\n // based on which page the user is located\r\n $rootScope.layout = toState.layout;\r\n $rootScope.title = globalResources.Handbook + \" - \" + toState.data.title;\r\n $rootScope.metaDescription = toState.data.description;\r\n });\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule', ['servicesModule', 'ngDialog'])\r\n .directive('ngDebounce', ['$timeout', function ($timeout) {\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n scope: {\r\n delay: '=ngDebounce'\r\n },\r\n priority: 99,\r\n link: function (scope, elm, attr, ngModelCtrl) {\r\n if (attr.type === 'radio' || attr.type === 'checkbox') return;\r\n\r\n elm.unbind('input');\r\n\r\n var debounce;\r\n elm.bind('input', function () {\r\n $timeout.cancel(debounce);\r\n debounce = $timeout(function () {\r\n ngModelCtrl.$setViewValue(elm.val());\r\n }, scope.delay);\r\n });\r\n elm.bind('blur', function () {\r\n scope.$apply(function () {\r\n ngModelCtrl.$setViewValue(elm.val());\r\n });\r\n });\r\n }\r\n\r\n }\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n var heightContentDocument = 0;\r\n\r\n angular.module('servicesModule', [])\r\n .factory('broadcastService', broadcastService)\r\n .service('documentService', documentService)\r\n .service('favoriteService', favoriteService)\r\n .service('localStorageService', localStorageService)\r\n .service('tabStateService', tabStateService)\r\n .service('browserService', browserService)\r\n .service('anchorService', anchorService)\r\n .service('feedBackService', feedBackService)\r\n .service('readingConfirmationService', readingConfirmationService)\r\n .service('debounceService', debounceService)\r\n .service('documentTemplateService', documentTemplateService)\r\n .service('resizeService', resizeService)\r\n .service('stringValidationService', stringValidationService)\r\n .service('newsService', newsService)\r\n .service('folderService', folderService)\r\n .service('treeNavigationService', treeNavigationService)\r\n .service('routeService', routeService)\r\n .service('metaDataService', metaDataService)\r\n .service('shortcutKeysService', shortcutKeysService)\r\n .service('helpPagesService', helpPagesService)\r\n .service('configService', configService)\r\n .service('commonService', commonService);\r\n\r\n\r\n //broadcastService\r\n broadcastService.$inject = ['$rootScope'];\r\n function broadcastService($rootScope) {\r\n return function (broadcastType, target, gridSettingKey) {\r\n $rootScope.$broadcast(broadcastType, target, gridSettingKey);\r\n };\r\n };\r\n\r\n //documentService\r\n documentService.$inject = ['$location', '$state', '$http', 'workersPool', '$q', 'configService'];\r\n function documentService($location, $state, $http, workersPool, $q, configService) {\r\n var documents = {};\r\n var isIE = detectIE();\r\n var service = {\r\n setDocuments: setDocuments,\r\n getDocuments: getDocuments,\r\n showFullscreen: showFullscreen,\r\n showNormal: showNormal,\r\n stickyTitle: stickyTitle,\r\n goToDocument: goToDocument,\r\n getDocumentsViaWorker: getDocumentsViaWorker,\r\n clearDocumentsInWorker: clearDocumentsInWorker,\r\n getMetaDocumentsViaWorker: getMetaDocumentsViaWorker,\r\n clearMetaDocumentsInWorker: clearMetaDocumentsInWorker,\r\n getAgreeFilesForDocuments: getAgreeFilesForDocuments,\r\n getParentIdExtendDocument: getParentIdExtendDocument,\r\n checkParentExtensionHasToCompare: checkParentExtensionHasToCompare,\r\n checkDocumentHaveToCompareById: checkDocumentHaveToCompareById,\r\n changeUrlBackendToFrontend: changeUrlBackendToFrontend,\r\n getHearingTooltip: getHearingTooltip\r\n };\r\n\r\n return service;\r\n\r\n function setDocuments(documentObject) {\r\n documents = documentObject;\r\n };\r\n\r\n function getDocuments() {\r\n return documents;\r\n };\r\n\r\n function showFullscreen() {\r\n angular.element('#sidebar-wrapper').addClass('hidesidebar');\r\n angular.element('#wrapper').addClass('hidesidebar');\r\n\r\n angular.element('#resizeBar').addClass('hidesidebar');\r\n\r\n angular.element('#tab-document-id').hide();\r\n angular.element('#document-top-menu-identifier').hide();\r\n angular.element('#handbook-nav').hide();\r\n\r\n angular.element('.tab-content-header').addClass('hidesidebar');\r\n //angular.element('body').css({ 'padding-top': '0px' });\r\n angular.element('.main-container_header').hide();\r\n\r\n var mainBody = angular.element(\".main-container_body\").height();\r\n var docContent = angular.element(\"#tab-content-document\").height();\r\n\r\n\r\n angular.element('#' + documentContent.content + '').css({\r\n height: (mainBody - docContent - 20)\r\n });\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (mainBody - docContent - 250)\r\n })\r\n\r\n angular.element('#document-content-identifier').addClass('fullScreen-height');\r\n var element = $location.url().split('/');\r\n if (element[3] != 'fields' && element[3] != 'hearingfields') {\r\n setTimeout(function () {\r\n stickyTitle();\r\n if (isIE) {\r\n runInitforIE();\r\n }\r\n }, 500);\r\n }\r\n };\r\n\r\n function stickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title ? title.getBoundingClientRect() : { width: 0, height: 0 };\r\n var content = document.querySelector('#document-content-identifier');\r\n var contentPosition = content ? content.getBoundingClientRect() : { width: 0, height: 0, top: 0 };\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n //placeholder.style.width = titlePosition.width + 'px';\r\n placeholder.style.height = titlePosition.height + 'px';\r\n var isAdded = false;\r\n\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = heightContentDocument;\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n removeStickyTitle();\r\n $('#document-content-identifier').scroll(function () {\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat && !isAdded) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n title.parentNode.insertBefore(placeholder, title);\r\n isAdded = true;\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 150;\r\n var marginTop = isfullScreen ? \"75px\" : \"115px\";\r\n $('#document-content-identifier').css('margin-top', marginTop);\r\n $('#document-content-identifier').css('height', heightScroll - 60);\r\n } else if (currentPosition < heightToFloat && isAdded) {\r\n title.classList.remove('sticky');\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n if (title.parentNode) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n isAdded = false;\r\n $('#document-content-identifier').css('margin-top', '0px');\r\n $('#document-content-identifier').css('height', heightScroll);\r\n }\r\n });\r\n }\r\n else {\r\n $('#document-content-identifier').scroll(function () {\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? $('#document-content-identifier').scrollTop() : contentPosition.top + $('#document-content-identifier').scrollTop();\r\n\r\n });\r\n }\r\n }\r\n\r\n function runInitforIE(backFromFullScreen) {\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title ? title.getBoundingClientRect() : { width: 0, height: 0 };\r\n var content = document.querySelector('#document-content-identifier');\r\n var contentPosition = content ? content.getBoundingClientRect() : { width: 0, height: 0, top: 0 };\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = $('#document-content-identifier').height();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat) {\r\n title.classList.add('sticky');\r\n title.parentNode.insertBefore(placeholder, title);\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 150;\r\n var marginTop = isfullScreen ? \"50px\" : \"100px\";\r\n $('#document-content-identifier').css('margin-top', marginTop);\r\n var extraHeight = (backFromFullScreen && !isfullScreen) ? 50 : 20;\r\n $('#document-content-identifier').css('height', heightScroll - 50 - extraHeight);\r\n }\r\n }\r\n }\r\n\r\n function removeStickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n if (title) {\r\n title.classList.remove('sticky');\r\n }\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n var placeholder = document.querySelector('#placeholderTitleId');\r\n if (placeholder != null && title) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n\r\n if (document.querySelector('#document-content-identifier'))\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#document-content-identifier').unbind('scroll');\r\n }\r\n\r\n function showNormal() {\r\n angular.element('#sidebar-wrapper').removeClass('hidesidebar');\r\n angular.element('#wrapper').removeClass('hidesidebar');\r\n\r\n angular.element('#resizeBar').removeClass('hidesidebar');\r\n\r\n angular.element('#tab-document-id').show();\r\n angular.element('#document-top-menu-identifier').show();\r\n angular.element('#handbook-nav').show();\r\n\r\n angular.element('.tab-content-header').removeClass('hidesidebar');\r\n //angular.element('body').css({ 'padding-top': '34px' });\r\n angular.element('.main-container_header').show();\r\n\r\n angular.element('#document-content-identifier').removeClass('fullScreen-height');\r\n var element = $location.url().split('/');\r\n if (element[3] != 'fields' && element[3] != 'hearingfields' && isIE) {\r\n setTimeout(function () {\r\n stickyTitle();\r\n runInitforIE(true);\r\n }, 500);\r\n }\r\n };\r\n\r\n function goToDocument(documentId, defaultFieldView) {\r\n\r\n $state.go(handbookActions.DocumentAction, {\r\n documentId: documentId\r\n });\r\n\r\n }\r\n\r\n function getDocumentsViaWorker(folderId, previousViewType) {\r\n var deffered = $q.defer();\r\n var worker = workersPool['document-worker.js'];\r\n worker.postMessage([\r\n 'fetch',\r\n folderId,\r\n {\r\n publishedInternet: globalResources.publishedInternet,\r\n unpublishedInternet: globalResources.unpublishedInternet,\r\n UndefinedMetatag: globalResources.UndefinedMetatag\r\n },\r\n previousViewType\r\n ]);\r\n worker.onmessage = function (e) {\r\n var result = e.data;\r\n deffered.resolve(result);\r\n }\r\n\r\n return deffered.promise;\r\n }\r\n\r\n function clearDocumentsInWorker() {\r\n var worker = workersPool['document-worker.js'];\r\n worker.postMessage([\r\n 'clear'\r\n ]);;\r\n }\r\n\r\n function getMetaDocumentsViaWorker(folderId, metadataGroupId, recursively, includeLevel1, documents) {\r\n var deffered = $q.defer();\r\n var worker = workersPool['meta-data-document-worker.js'];\r\n worker.postMessage([\r\n 'fetch',\r\n folderId,\r\n metadataGroupId,\r\n recursively,\r\n includeLevel1,\r\n documents,\r\n {\r\n UndefinedMetatag: globalResources.UndefinedMetatag\r\n }\r\n ]);\r\n worker.onmessage = function (e) {\r\n var result = e.data;\r\n deffered.resolve(result);\r\n }\r\n\r\n return deffered.promise;\r\n }\r\n\r\n function clearMetaDocumentsInWorker() {\r\n var worker = workersPool['meta-data-document-worker.js'];\r\n worker.postMessage([\r\n 'clear'\r\n ]);;\r\n }\r\n\r\n function getAgreeFilesForDocuments(documents) {\r\n if (documents == null || documents.length == 0 || HandbookConfiguration.EnabledAgree.toLowerCase() !== \"true\") {\r\n return documents;\r\n }\r\n\r\n var documentIds = [];\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAgreeFiles) {\r\n documentIds.push(documents[i].id);\r\n }\r\n }\r\n\r\n if (!documentIds.length) {\r\n return documents;\r\n }\r\n\r\n $http.get('/api/Documents/GetAgreeFilesForDocuments', { params: { documentIds: documentIds } })\r\n .success(function (data) {\r\n\r\n if (!data || !data.length) {\r\n return;\r\n }\r\n\r\n for (var i = 0; i < documents.length; i++) {\r\n var document = documents[i];\r\n\r\n if (!document.hasAgreeFiles) {\r\n continue;\r\n }\r\n\r\n document.agreeFiles = [];\r\n\r\n for (var j = 0; j < data.length; j++) {\r\n var item = data[j];\r\n if (item.documentId == document.id) {\r\n document.agreeFiles.push(item);\r\n }\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n function getParentIdExtendDocument(childId, hearingMode) {\r\n return $http\r\n .get('/api/Documents/GetParentIdExtendDocument', {\r\n params: {\r\n 'childId': childId,\r\n 'isBackend': hearingMode ? true : false\r\n }\r\n })\r\n .then(function (response) {\r\n return response.data;\r\n });\r\n }\r\n\r\n function checkParentExtensionHasToCompare(childId) {\r\n return $http.get(handbookRequests.CheckParentExtensionHasToCompare, {\r\n params: {\r\n 'childId': childId\r\n }\r\n }).then(function (response) {\r\n return configService.getBool(response.data);\r\n });\r\n }\r\n\r\n function checkDocumentHaveToCompareById(documentId, hearingMode) {\r\n return $http.get(handbookRequests.CheckDocumentHaveToCompareById, {\r\n params: {\r\n 'documentId': documentId,\r\n 'isBackend': hearingMode ? true : false\r\n }\r\n\r\n }).then(function (response) {\r\n return configService.getBool(response.data);\r\n });\r\n }\r\n\r\n function changeUrlBackendToFrontend(urlFrontEnd, content, isHearing = false, frontEndDeviationUrl = null) {\r\n if (content == null) {\r\n return content;\r\n }\r\n var hrefs = content.match(/href=\"([^\"]*)/g);\r\n if (hrefs != null && hrefs.length > 0) {\r\n for (var i = 0; i < hrefs.length; i++) {\r\n var folders = hrefs[i].match('=\"/folder/([0-9]+)$');\r\n if (folders != null && folders.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplace = hrefs[i].replace('/folder/', urlFrontEnd + '/folder/');\r\n content = content.replace(reg, strReplace);\r\n continue;\r\n }\r\n var documents = hrefs[i].match('=\"/document/([0-9]+)|(#[a-z]+)$');\r\n if (documents != null && documents.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/document/', urlFrontEnd + '/document/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n var areas = hrefs[i].match('=\"/area/detail/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}');\r\n if (areas != null && areas.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplace = hrefs[i].replace('/area/detail/', urlFrontEnd + '/process-fe/area/detail/');\r\n content = content.replace(reg, strReplace);\r\n continue;\r\n }\r\n\r\n var areasHref = hrefs[i].match('=\"/process/area/detail/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}');\r\n if (areasHref != null && areasHref.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplace = hrefs[i].replace('/process/area/detail/', urlFrontEnd + '/process-fe/area/detail/');\r\n content = content.replace(reg, strReplace);\r\n continue;\r\n }\r\n\r\n var processes = hrefs[i].match('=\"/process-detail/([0-9]+)|(#[a-z]+)$');\r\n if (processes != null && processes.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process-detail/', urlFrontEnd + '/process-fe/process-detail/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n var processesHref = hrefs[i].match('=\"/process/process-detail/([0-9]+)|(#[a-z]+)$');\r\n if (processesHref != null && processesHref.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process/process-detail/', urlFrontEnd + '/process-fe/process-detail/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n var db4Link = hrefs[i].match('=\"/Modules/Module_136/');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/Modules/Module_136/', urlFrontEnd + '/Modules/Module_136/');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"../../Modules/Module_136/');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('../../Modules/Module_136/', urlFrontEnd + '/Modules/Module_136/');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"handbook_view.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('handbook_view.aspx', urlFrontEnd + '/handbook_view.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"view_document.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('view_document.aspx', urlFrontEnd + '/view_document.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"maincontent_fs.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('maincontent_fs.aspx', urlFrontEnd + '/maincontent_fs.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"/handbook_view.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/handbook_view.aspx', urlFrontEnd + '/handbook_view.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"/view_document.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/view_document.aspx', urlFrontEnd + '/view_document.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n\r\n db4Link = hrefs[i].match('=\"/maincontent_fs.aspx');\r\n if (db4Link != null && db4Link.length > 0) {\r\n var strReplaceDb4Link = hrefs[i].replace('/maincontent_fs.aspx', urlFrontEnd + '/maincontent_fs.aspx');\r\n content = content.replace(hrefs[i], strReplaceDb4Link);\r\n continue;\r\n }\r\n if (isHearing) {\r\n var fileLink = hrefs[i].match('=\"/api/File/GetFile?');\r\n if (fileLink != null && fileLink.length > 0) {\r\n var strReplace = hrefs[i].replace('/File/GetFile?', '/File/GetFile?isLastVersion=true&');\r\n content = content.replace(hrefs[i], strReplace);\r\n continue;\r\n }\r\n if (hrefs[i].indexOf('stream_file.aspx?') >= 0) {\r\n var strReplace = hrefs[i].replace('stream_file.aspx?', 'stream_file.aspx?isLastVersion=true&');\r\n content = content.replace(hrefs[i], strReplace);\r\n continue;\r\n }\r\n if (hrefs[i].indexOf('internal_streamfile.aspx?') >= 0) {\r\n var strReplace = hrefs[i].replace('internal_streamfile.aspx?', 'internal_streamfile.aspx?isLastVersion=true&');\r\n content = content.replace(hrefs[i], strReplace);\r\n continue;\r\n }\r\n }\r\n\r\n var interconnectedProcess = hrefs[i].match('=\"/process-interconnected/([0-9]+)|(#[a-z]+)$');\r\n if (interconnectedProcess != null && interconnectedProcess.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process-interconnected/', urlFrontEnd + '/process-fe/process-interconnected/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n interconnectedProcess = hrefs[i].match('=\"/process/process-interconnected/([0-9]+)|(#[a-z]+)$');\r\n if (interconnectedProcess != null && interconnectedProcess.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/process/process-interconnected/', urlFrontEnd + '/process-fe/process-interconnected/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n\r\n if (frontEndDeviationUrl != null) {\r\n var deviation = hrefs[i].match('=\"/register/([0-9]+)/([0-9]+)$');\r\n if (deviation != null && deviation.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/register/', frontEndDeviationUrl + '/register/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n }\r\n\r\n var checklist = hrefs[i].match('=\"/implement/add/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}');\r\n if (checklist != null && checklist.length > 0) {\r\n var reg = new RegExp(hrefs[i], \"g\");\r\n var strReplaceDocument = hrefs[i].replace('/implement/add/', urlFrontEnd + '/checklist-fe/implement/add/');\r\n content = content.replace(reg, strReplaceDocument);\r\n continue;\r\n }\r\n }\r\n }\r\n\r\n if (isHearing) {\r\n var src = content.match(/src=\"([^\"]*)/g);\r\n if (src != null && src.length > 0) {\r\n for (var i = 0; i < src.length; i++) {\r\n if (src[i].indexOf('stream_image.aspx?') >= 0) {\r\n var strReplace = src[i].replace('stream_image.aspx?', 'stream_image.aspx?isLastVersion=true&');\r\n content = content.replace(src[i], strReplace);\r\n continue;\r\n }\r\n\r\n if (src[i].indexOf('Handbook/internal_streamfile.aspx?') >= 0) {\r\n var strReplace = src[i].replace('Handbook/internal_streamfile.aspx?', 'Handbook/internal_streamfile.aspx?isLastVersion=true&');\r\n content = content.replace(src[i], strReplace);\r\n continue;\r\n }\r\n }\r\n }\r\n }\r\n return content;\r\n };\r\n };\r\n\r\n //favoriteService\r\n function favoriteService() {\r\n var favoriteState = {\r\n isFavorited: false,\r\n id: 0,\r\n type: 0\r\n };\r\n\r\n var service = {\r\n setFavoriteNodeState: setFavoriteNodeState,\r\n getFavoriteNodeState: getFavoriteNodeState\r\n };\r\n\r\n return service;\r\n\r\n function setFavoriteNodeState(data) {\r\n favoriteState = data;\r\n };\r\n\r\n function getFavoriteNodeState() {\r\n return favoriteState;\r\n };\r\n };\r\n\r\n //localStorageService\r\n function localStorageService() {\r\n var localStorageSupported = typeof (Storage) != \"undefined\";\r\n\r\n var service = {\r\n getItem: getItem,\r\n setItem: setItem,\r\n removeItem: removeItem,\r\n clearAll: clearAll\r\n };\r\n\r\n return service;\r\n\r\n function getItem(key) {\r\n if (localStorageSupported) {\r\n return localStorage.getItem(key);\r\n }\r\n };\r\n\r\n function setItem(key, value) {\r\n if (localStorageSupported) {\r\n localStorage.setItem(key, value);\r\n }\r\n };\r\n\r\n function removeItem(key) {\r\n if (localStorageSupported) {\r\n localStorage.removeItem(key);\r\n }\r\n };\r\n\r\n function clearAll() {\r\n if (localStorageSupported) {\r\n localStorage.clear();\r\n }\r\n };\r\n };\r\n\r\n //tabStateService\r\n tabStateService.$inject = ['localStorageService', '$timeout', 'broadcastService', 'documentService', '$location'];\r\n function tabStateService(localStorageService, $timeout, broadcastService, documentService, $location) {\r\n var currentStateType = '',\r\n currentTabState = '';\r\n\r\n var service = {\r\n getState: getState,\r\n setState: setState,\r\n removeState: removeState,\r\n setCurrentStateType: setCurrentStateType,\r\n getCurrentStateType: getCurrentStateType,\r\n setCurrentTabState: setCurrentTabState,\r\n getCurrentTabState: getCurrentTabState,\r\n initTabState: initTabState,\r\n isTabActive: isTabActive,\r\n closeOpenedTabIfNoPrivilege: closeOpenedTabIfNoPrivilege,\r\n adjustContentPosition: adjustContentPosition,\r\n adjustContentHeightPosition: adjustContentHeightPosition,\r\n adjustContentHeightHomeStartPageTab: adjustContentHeightHomeStartPageTab,\r\n adjustFolderContentIdentifierHeight: adjustFolderContentIdentifierHeight\r\n };\r\n\r\n return service;\r\n\r\n function getState(tabStateType) {\r\n return localStorageService.getItem(tabStateType);\r\n };\r\n\r\n function setState(tabStateType, elementId) {\r\n localStorageService.setItem(tabStateType, elementId);\r\n };\r\n\r\n function removeState(tabStateType) {\r\n localStorageService.removeItem(tabStateType);\r\n };\r\n\r\n function setCurrentStateType(stateType) {\r\n currentStateType = stateType;\r\n };\r\n\r\n function getCurrentStateType() {\r\n return currentStateType;\r\n };\r\n\r\n function setCurrentTabState(tabState) {\r\n currentTabState = tabState;\r\n };\r\n\r\n function getCurrentTabState() {\r\n return currentTabState;\r\n };\r\n\r\n function initTabState(stateType) {\r\n var tabState = localStorageService.getItem(stateType);\r\n //if (!tabState && stateType == tabStateType.chapterTabState) {\r\n // tabState = folderTabs.content;\r\n //}\r\n\r\n //if (!tabState && stateType == tabStateType.documentTabState) {\r\n // tabState = documentTabs.content;\r\n //}\r\n\r\n $(window).on('resize', function () {\r\n // This function use to adjust the height of document content/folder content when user try to resize browser viewport.\r\n // TODO: If we regardless the height of document/folder when user resize browser viewport, we can remove this code.\r\n if (currentStateType == stateType) {\r\n if (currentTabState == null || currentTabState == \"\") {\r\n currentTabState = tabState;\r\n }\r\n\r\n adjustContentPosition(currentTabState, stateType);\r\n }\r\n if ($('#documentTitle').length == 1) {\r\n var contentWidth = $('#documentHeader1Container').width() + 10;\r\n $('#documentTitle').css('width', contentWidth);\r\n }\r\n });\r\n\r\n if (tabState != undefined) {\r\n angular.element(prefix.hashbangPrefix + tabState).addClass(cssClass.active);\r\n var elementActive = angular.element(prefix.hashbangPrefix + tabState + ' a').attr('href');\r\n if (elementActive != undefined) {\r\n var activePanel = elementActive.replace(prefix.hashbangPrefix, '');\r\n angular.element(prefix.hashbangPrefix + activePanel).addClass(cssClass.active);\r\n }\r\n if (tabState == 'chapter-whats-new') {\r\n broadcastService('ActiveFolderWhatsnew', {});\r\n }\r\n }\r\n\r\n $timeout(function () {\r\n adjustContentPosition(tabState, stateType);\r\n }, 0, false);\r\n };\r\n\r\n function isTabActive(tabId) {\r\n return $(prefix.hashbangPrefix + tabId).hasClass(cssClass.active);\r\n };\r\n\r\n function closeOpenedTabIfNoPrivilege(tabStateType) {\r\n var tabState = localStorageService.getItem(tabStateType);\r\n if (tabState != undefined) {\r\n angular.element(prefix.hashbangPrefix + tabState).removeClass(cssClass.active);\r\n var tabElement = angular.element(prefix.hashbangPrefix + tabState + ' a');\r\n if (tabElement && tabElement.attr('href')) {\r\n var activePanel = tabElement.attr('href').replace(prefix.hashbangPrefix, '');\r\n angular.element(prefix.hashbangPrefix + activePanel).removeClass(cssClass.active);\r\n }\r\n }\r\n };\r\n\r\n function adjustContentHeightHomeStartPageTab() {\r\n var heightDocument = $(document).height();\r\n var height = heightDocument - 120;\r\n angular.element('.home-content .homme-tab1').css({\r\n height: height\r\n });\r\n };\r\n\r\n /*Adjust content position when loading page*/\r\n function adjustContentPosition(tabId, stateType, showmoreItem, newHeight) {\r\n if (stateType == tabStateType.chapterTabState) {\r\n var documentHeight = $(document).height();\r\n var heightOfTopUserBar = $('#handbook-nav').height();\r\n var heightOfChapterTabs = $('.page-container_header').first().height();\r\n\r\n var activeTabs = $('#chaptertabcontent .tab-pane.active');\r\n var heightTabActive = (activeTabs != null && activeTabs != undefined) ? activeTabs.children().first().height() : 0;\r\n\r\n var heightOfChapterContent = newHeight != undefined ? newHeight : (heightTabActive - 30);\r\n\r\n var searchInfolderContainer = $('#searchInfolderContainer');\r\n var searchInFolderNotActive = searchInfolderContainer.hasClass('ng-hide');\r\n var chapterWhatsNewNotActive = $('#chapter-whats-new-content').hasClass('ng-hide');\r\n var leftPanelOfChapter = searchInFolderNotActive ? $('#topmenuleftid') : $('#searchInfolderContainer #topmenuleftid');\r\n var rightPanelOfChapter = searchInFolderNotActive ? $('#topmenurightid') : $('#searchInfolderContainer #topmenurightid');\r\n\r\n var heightOfChapterPanels = 0;\r\n var heightOfStuffElements = 0;\r\n\r\n if (leftPanelOfChapter.position() && rightPanelOfChapter.position()) {\r\n if (leftPanelOfChapter.position().top == rightPanelOfChapter.position().top) {\r\n heightOfChapterPanels = leftPanelOfChapter.outerHeight();\r\n } else {\r\n heightOfChapterPanels = leftPanelOfChapter.outerHeight() + rightPanelOfChapter.outerHeight();\r\n }\r\n }\r\n\r\n if (msieversion() >= 7 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./) || isSafari()) {\r\n heightOfStuffElements = !searchInFolderNotActive ? 40 : (!chapterWhatsNewNotActive ? 68 : 90);\r\n } else {\r\n heightOfStuffElements = !searchInFolderNotActive ? 30 : (!chapterWhatsNewNotActive ? 58 : 80);\r\n }\r\n\r\n var folderContentHeight = documentHeight - heightOfTopUserBar\r\n - heightOfChapterTabs\r\n - heightOfChapterContent\r\n - heightOfChapterPanels\r\n - heightOfStuffElements;\r\n adjustContentHeightOnDevices(folderContentHeight);\r\n } else if (stateType == tabStateType.documentTabState) {\r\n var hearingFeedbackPage = $('.hearing-feedback-page');\r\n if (hearingFeedbackPage.length > 0) {\r\n var activeTabs = $('.tab-pane.active');\r\n var heightTabActive = (activeTabs != null && activeTabs != undefined) ? activeTabs.children().first().height() : 0;\r\n var newHeight = constantValues.documentTabContentMinTop + heightTabActive;\r\n var myAssessment = $('#myAssessment');\r\n var heightMyAssessment = myAssessment != undefined ? myAssessment.height() + 30 : 65;\r\n height = $(document).height() - newHeight - heightMyAssessment;\r\n //angular.element('#' + documentContent.content + '').css({ height: height });\r\n } else {\r\n var top = 0;\r\n if (tabId == documentTabs.about) {\r\n var aboutTab = angular.element('#' + tabContents.about + '');\r\n top = aboutTab.height() != null ? aboutTab.height() + aboutTab.position().top : 0;\r\n } else if (tabId == documentTabs.content) {\r\n var contentTab = angular.element('#' + tabContents.content + '');\r\n // for DocumentField does not have content tab, so we need to check null before getting value\r\n if (contentTab.length > 0) {\r\n top = contentTab.height() + contentTab.position().top;\r\n }\r\n } else if (tabId == documentTabs.readingReceipt) {\r\n var readingTab = angular.element('#' + tabContents.readingReceipt + '');\r\n top = readingTab.height() != null ? readingTab.height() + readingTab.position().top : 0;\r\n } else if (tabId == documentTabs.feedback) {\r\n var feedbackTab = angular.element('#' + tabContents.feedback + '');\r\n top = feedbackTab.height() != null ? feedbackTab.height() + feedbackTab.position().top : 0;\r\n } else if (tabId == documentTabs.search) {\r\n var searchInContentTab = angular.element('#' + tabContents.search + '');\r\n top = searchInContentTab.height() != null ? searchInContentTab.height() + searchInContentTab.position().top : 0;\r\n } if (tabId == documentTabs.hearing) {\r\n var searchInContentTab = angular.element('#' + tabContents.hearing + '');\r\n top = searchInContentTab.height() != null ? searchInContentTab.height() + searchInContentTab.position().top : 0;\r\n }\r\n if (top <= 0) {\r\n top = constantValues.documentTabContentMinTop + 10;\r\n } else {\r\n top = top + 10;\r\n }\r\n\r\n var topMenuTop = 0;\r\n if (angular.element('.topmenu-right-panel').position()) {\r\n topMenuTop = angular.element('.topmenu-right-panel').position().top;\r\n }\r\n var addHeight = 10;\r\n if ($(document).width() > 600)\r\n addHeight = 27;\r\n var height = $(document).height() - top - constantValues.topMenuHeight - topMenuTop + addHeight;\r\n\r\n var extendDocumentNotification = angular.element(\".extend-document-notification\").height();\r\n if (!extendDocumentNotification)\r\n extendDocumentNotification = 0;\r\n\r\n heightContentDocument = (height + 25);\r\n //angular.element('#' + documentContent.content + '').css({\r\n // height: (height + 25 - extendDocumentNotification)\r\n //});\r\n }\r\n\r\n } else if (stateType == tabStateType.homeTabState) {\r\n if (tabId == homeTabs.whatNew) {\r\n setTimeout(() => {\r\n var newsContainer = angular.element(\".container-news-tab\").height();\r\n var newsTab = angular.element(\".header-item-bar\").height();\r\n\r\n angular.element('#whatNewContainer #gridController').css({ height: newsContainer - newsTab - 30 });\r\n }, 200);\r\n } else if (tabId == homeTabs.updatedFavorite) {\r\n setTimeout(() => {\r\n var favContainer = angular.element(\".container-favorite-tab\").height();\r\n var favTab = angular.element(\".header-item-bar\").height();\r\n\r\n angular.element('#updatedFavoriteContainer #gridController').css({ height: favContainer - favTab - 70 });\r\n }, 200);\r\n } else if (tabId == homeTabs.readingListTab) {\r\n setTimeout(() => {\r\n var readingContainer = angular.element(\".container-readings-tab\").height();\r\n var readingListHeader = angular.element(\".reading-list-header\").height();\r\n var readingTab = angular.element(\"#reading-list-tabs\").height();\r\n\r\n angular.element('#reading-list-tab1 #gridController').css({ height: readingContainer - readingTab - 30 });\r\n angular.element('#reading-list-tab2').css({ height: readingContainer - readingTab - readingListHeader - 123 });\r\n angular.element('#reading-list-tab3 #gridController').css({ height: readingContainer - readingTab - 75 });\r\n }, 200);\r\n\r\n } else if (tabId == homeTabs.hearingTab) {\r\n setTimeout(() => {\r\n var hearingContainer = angular.element(\".container-hearings-tab\").height();\r\n var hearingTab = angular.element(\"#document-hearings-tabs\").height();\r\n angular.element('#hearings-tab1 #gridController').css({ height: hearingContainer - hearingTab - 125 });\r\n angular.element('#hearings-tab2 #gridController').css({ height: hearingContainer - hearingTab - 125 });\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n function adjustContentHeightOnDevices(contentHeight) {\r\n var newContent = $('#chapter-whats-new-content').height();\r\n var searchContent = $('#searchInfolderContainer').height();\r\n var gridDocumentQueryByClassName = '.' + folderContent.gridDocumentClass + '';\r\n\r\n if (newContent) {\r\n angular.element('#' + folderContent.content + '').css({ height: contentHeight - 30 });\r\n }\r\n else if (searchContent) {\r\n angular.element('#' + folderContent.content + '').css({ height: contentHeight - 10 });\r\n } else {\r\n angular.element('#' + folderContent.content + '').css({ height: contentHeight - 150 });\r\n }\r\n\r\n //angular.element(gridDocumentQueryByClassName).css({ 'max-height': (contentHeight - 54) });\r\n }\r\n\r\n /*Adjust content height when user click on tab.*/\r\n function adjustContentHeightPosition(stateType, newHeight) {\r\n switch (stateType) {\r\n case tabStateType.documentTabState:\r\n var hearingFeedbackPage = $('.hearing-feedback-page');\r\n var documentTabActive = localStorageService.getItem(tabStateType.documentTabState);\r\n var documentHeight = $(document).height();\r\n var documentWidth = $(document).width();\r\n var availWidth = screen.availWidth;\r\n var availHeight = screen.availHeight;\r\n var height = 0;\r\n if (hearingFeedbackPage.length > 0) {\r\n var activeTabs = $('.tab-pane.active');\r\n var heightTabActive = (activeTabs != null && activeTabs != undefined) ? activeTabs.children().first().height() : 0;\r\n if (newHeight > 0) {\r\n newHeight = constantValues.documentTabContentMinTop + newHeight;\r\n } else {\r\n newHeight = constantValues.documentTabContentMinTop + heightTabActive;\r\n }\r\n var myAssessment = $('#myAssessment');\r\n var heightMyAssessment = myAssessment != undefined ? myAssessment.height() + 30 : 65;\r\n height = documentHeight - newHeight - heightMyAssessment;\r\n angular.element('#' + documentContent.content + '').css({ height: height });\r\n var heightOfTitle = $('#documentFieldListName') ? $('#documentFieldListName').height() : 30;\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (height - 125 - heightOfTitle)\r\n })\r\n } else {\r\n if (angular.element('#handbook-nav:visible').length != 0) {\r\n var searchHeaderHeight = 0;\r\n var topMenuTop = $('#document-top-menu-identifier').height() || 0;\r\n\r\n if ($('#SearchHeaderMobile').position()) {\r\n searchHeaderHeight = $('#SearchHeaderMobile').position().top + 76;\r\n }\r\n var addHeight = 27;\r\n if ((availHeight == 768 && availWidth == 1024)) {\r\n addHeight = 10;\r\n }\r\n\r\n var extendDocumentNotification = angular.element(\".extend-document-notification\").height();\r\n if (!extendDocumentNotification)\r\n extendDocumentNotification = 0;\r\n\r\n if (documentWidth > 600) {\r\n if (documentTabActive) {\r\n if (newHeight > 0) {\r\n newHeight = constantValues.documentTabContentMinTop + newHeight;\r\n } else {\r\n var docContent = angular.element(\".document-content\").height();\r\n newHeight = constantValues.documentTabContentMinTop + docContent + 40;\r\n }\r\n height = documentHeight - newHeight - constantValues.topMenuHeight - topMenuTop + addHeight;\r\n } else {\r\n height = documentHeight - 47 - constantValues.topMenuHeight - topMenuTop;\r\n }\r\n var extendHeight = extendDocumentNotification ? 0 : extendDocumentNotification;\r\n angular.element('#' + documentContent.content + '').css({\r\n height: (height + 42 - extendHeight - searchHeaderHeight)\r\n });\r\n\r\n var heightOfTitle = $('#documentFieldListName') ? $('#documentFieldListName').height() : 30;\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (height - 155 - heightOfTitle)\r\n })\r\n } else {\r\n if (documentTabActive) {\r\n if (newHeight > 0) {\r\n newHeight = mobileConstantValues.documentTabContentMinTop + newHeight + 20;\r\n } else {\r\n newHeight = mobileConstantValues.documentTabContentMinTop + 20;\r\n }\r\n height = documentHeight - newHeight - mobileConstantValues.topMenuHeight - topMenuTop;\r\n } else {\r\n height = documentHeight - 60 - mobileConstantValues.topMenuHeight - topMenuTop;\r\n }\r\n angular.element('#' + documentContent.content + '').css({ height: (height - extendDocumentNotification - searchHeaderHeight) });\r\n var heightOfTitle = $('#documentFieldListName') ? $('#documentFieldListName').height() : 30;\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (height - 130 - heightOfTitle)\r\n })\r\n }\r\n }\r\n }\r\n heightContentDocument = height;\r\n var element = $location.url().split('/');\r\n if (element[3] != 'fields' && element[3] != 'hearingfields') {\r\n setTimeout(function () { documentService.stickyTitle(); }, 500);\r\n }\r\n break;\r\n case tabStateType.chapterTabState:\r\n adjustContentPosition(null, tabStateType.chapterTabState, null, newHeight - 30);\r\n break;\r\n }\r\n };\r\n\r\n function adjustFolderContentIdentifierHeight() {\r\n let windowHeight = $(window).height();\r\n let topToFolderContentIdentifierHeight = 0;\r\n let goToTopOrTotalDocumentHeight = 17;\r\n\r\n if ($('#folder-content-identifier')) {\r\n topToFolderContentIdentifierHeight = $('#folder-content-identifier').position().top;\r\n }\r\n\r\n let newHeight = windowHeight - topToFolderContentIdentifierHeight - goToTopOrTotalDocumentHeight;\r\n angular.element('#folder-content-identifier').css({\r\n height: newHeight\r\n });\r\n\r\n //if ($('#gridController')) {\r\n // angular.element('#gridController').css({\r\n // maxHeight: '100%'\r\n // });\r\n //}\r\n }\r\n };\r\n\r\n function updateHeightForCompendiaDocuments() {\r\n var documentHeight = $(document).height();\r\n var topbarHeight = $('#navbar-header').height();\r\n var searchResultPageHeight = $('.search-result-page').height(); //83\r\n var handbookHintsHeight = $('.tabbable > .search-hit').height(); //68\r\n var handbookDocumentsHeight = $('.tabbable > .scrollable-y').height();//410\r\n var compendiaSearchHeight = $('.compendia-search').height();//68\r\n var compendiaDocumentsHeight = documentHeight\r\n - (topbarHeight + searchResultPageHeight + handbookHintsHeight + handbookDocumentsHeight + compendiaSearchHeight)\r\n - 130;\r\n\r\n $('.compendia-documents .content-wrapper').css({ height: compendiaDocumentsHeight });\r\n }\r\n\r\n //browserService\r\n function browserService() {\r\n var service = {\r\n historyManipulationSupported: historyManipulationSupported,\r\n detectBrowserWindow: detectBrowserWindow\r\n };\r\n\r\n return service;\r\n\r\n function historyManipulationSupported() {\r\n return window.history && window.history.pushState != undefined;\r\n }\r\n\r\n function detectBrowserWindow() {\r\n var browserType = BrowserType.PC;\r\n var screenW = window.innerWidth;\r\n if (screenW > 1024)\r\n browserType = BrowserType.PC;\r\n else if (768 <= screenW && screenW <= 1024)\r\n browserType = BrowserType.TABLET;\r\n else\r\n browserType = BrowserType.MOBILE;\r\n return browserType;\r\n }\r\n };\r\n\r\n //anchorService\r\n anchorService.$inject = ['$location', 'browserService', 'broadcastService'];\r\n function anchorService($location, browserService, broadcastService) {\r\n\r\n var anchorObject = {\r\n position: 0\r\n };\r\n\r\n var service = {\r\n updateLocalAnchors: updateLocalAnchors,\r\n setAnchorObject: setAnchorObject,\r\n getAnchorObject: getAnchorObject\r\n };\r\n\r\n return service;\r\n\r\n function updateLocalAnchors(text, addClick) {\r\n // If browser does not support history manipulation, then hashbang (#!) is used \r\n // and the relative url will work properly with anchors already because base url will always stay the same\r\n var historyManipulationSupported = browserService.historyManipulationSupported();\r\n\r\n angular.forEach(text.find('a[href]'), function (tag, addClick) {\r\n addAnchorEvent(tag, historyManipulationSupported);\r\n });\r\n\r\n angular.forEach(text.find('area[href]'), function (tag, addClick) {\r\n addAnchorEvent(tag, historyManipulationSupported);\r\n });\r\n\r\n return text;\r\n };\r\n\r\n function addAnchorEvent(tag, historyManipulationSupported) {\r\n if (tag.attributes.href.value.indexOf('#') == 0) //local anchor tag\r\n {\r\n if (historyManipulationSupported) {\r\n var anchorValue = tag.attributes.href.value;\r\n tag.href = $location.path() + window.location.search + anchorValue;\r\n }\r\n\r\n tag.addEventListener('click', function (e) {\r\n var documentContent = angular.element('#document-content-identifier'),\r\n folderContent = angular.element('#folder-content-identifier'),\r\n newsContent = angular.element('#wrapper');\r\n var position = 0;\r\n if (documentContent && documentContent.length > 0) {\r\n position = documentContent[0].scrollTop;\r\n } else if (folderContent && folderContent.length > 0) {\r\n position = folderContent[0].scrollTop;\r\n } else if (newsContent && newsContent.length > 0) {\r\n position = newsContent[0].scrollTop;\r\n }\r\n anchorObject.position = position;\r\n broadcastService('anchorclick', { hash: e.target.hash });\r\n });\r\n }\r\n // For some reason the anchor only works once without target self (most likely because of angular https://github.com/angular/angular.js/issues/4608)\r\n // Add target for all the a[href] without target\r\n if (tag.target == '' || tag.target == undefined) {\r\n tag.target = '_self';\r\n }\r\n };\r\n\r\n function setAnchorObject(position) {\r\n anchorObject.position = position;\r\n };\r\n\r\n function getAnchorObject() {\r\n return anchorObject;\r\n };\r\n };\r\n\r\n //feedBackService\r\n feedBackService.$inject = ['$http'];\r\n function feedBackService($http) {\r\n var service = {\r\n sendFeedback: sendFeedback\r\n };\r\n\r\n return service;\r\n\r\n function sendFeedback(entityId, data) {\r\n var request = {\r\n entityId: entityId,\r\n positive: data.positive,\r\n feedbackMessage: data.feedbackMessage,\r\n feedBack: data.feedBack,\r\n sendAlsoToApprover: data.sendAlsoToApprover\r\n };\r\n return $http.post(handbookRequests.SubmitFeedbackRequest, request)\r\n .then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n };\r\n };\r\n\r\n //readingConfirmationService\r\n readingConfirmationService.$inject = ['$http'];\r\n function readingConfirmationService($http) {\r\n var service = {\r\n GetConfirmInformation: getConfirmInformation,\r\n sendReadingConfirmation: sendReadingConfirmation\r\n };\r\n\r\n return service;\r\n\r\n function getConfirmInformation(entityId) {\r\n return $http.get(handbookRequests.GetDocumentConfirmInformationRequest,\r\n {\r\n params: { 'entityId': entityId }\r\n }).then(function (data, status, headers, config) {\r\n return data;\r\n });\r\n };\r\n\r\n function sendReadingConfirmation(entityId, folderId) {\r\n return $http.post(handbookRequests.SubmitReadConfirmRequest, { 'entityId': entityId, 'folderId': folderId })\r\n .then(function (data, status, headers, config) {\r\n return data.data;\r\n });\r\n };\r\n };\r\n\r\n //debounceService\r\n function debounceService() {\r\n var service = {\r\n debounce: debounce\r\n };\r\n\r\n return service;\r\n\r\n function debounce(fn, delay) {\r\n var timer = null;\r\n return function () {\r\n var context = this, args = arguments;\r\n clearTimeout(timer);\r\n timer = setTimeout(function () {\r\n fn.apply(context, args);\r\n }, delay || 500);\r\n };\r\n };\r\n };\r\n\r\n //documentTemplateService\r\n documentTemplateService.$inject = ['$http'];\r\n function documentTemplateService($http) {\r\n var documentTemplate = [];\r\n var service = {\r\n getDocumentTemplate: getDocumentTemplate,\r\n getDocumentTemplateNameById: getDocumentTemplateNameById\r\n };\r\n\r\n return service;\r\n\r\n function getDocumentTemplate() {\r\n return $http.get(handbookRequests.GetDocumentTemplateRequest)\r\n .then(function (response, status, headers, config) {\r\n documentTemplate = response.data;\r\n return response.data;\r\n });\r\n };\r\n\r\n function getDocumentTemplateNameById(id) {\r\n var templateName = '';\r\n for (var index = 0; index < documentTemplate.length; index++) {\r\n if (documentTemplate[index].id == id) {\r\n templateName = documentTemplate[index].name;\r\n break;\r\n }\r\n }\r\n return templateName;\r\n };\r\n };\r\n\r\n //resizeService\r\n function resizeService() {\r\n var service = {\r\n resizeView: resizeView,\r\n resizeToOrginalSize: resizeToOrginalSize,\r\n resizeToChangedSize: resizeToChangedSize\r\n };\r\n return service;\r\n\r\n function resizeView() {\r\n var currentSideBarWidth = angular.element(elementId.sidebarWrapper).width();\r\n if (currentSideBarWidth > 320) {\r\n var screenWidth = window.innerWidth;\r\n angular.element(elementClass.tabTable).css({\r\n 'padding-left': (currentSideBarWidth - 320) + 'px'\r\n });\r\n\r\n angular.element(elementClass.frontPageCustomArea).css({\r\n 'padding-left': (currentSideBarWidth - 320) + 'px'\r\n });\r\n\r\n angular.element('#document-content-information-id').css({\r\n 'padding-left': (currentSideBarWidth - 320) + 'px'\r\n });\r\n }\r\n };\r\n\r\n function resizeToOrginalSize() {\r\n angular.element(elementId.sidebarWrapper).removeAttr('style');\r\n angular.element(elementId.reSizeBar).removeAttr('style');\r\n angular.element(elementClass.tabTable).removeAttr('style');\r\n angular.element('#document-content-information-id').removeAttr('style');\r\n angular.element(elementClass.frontPageCustomArea).removeAttr('style');\r\n angular.element('.sidebar-brand').removeAttr('style');\r\n };\r\n\r\n function resizeToChangedSize(width, isCompare) {\r\n if (!isCompare) {\r\n angular.element(elementId.sidebarWrapper).css({\r\n 'width': width + 'px'\r\n });\r\n angular.element('.sidebar-brand').css({\r\n 'width': width + 'px'\r\n });\r\n\r\n angular.element(elementId.reSizeBar).css({\r\n 'width': (width + 8) + 'px',\r\n 'z-index': 999\r\n });\r\n\r\n var screenWidth = window.innerWidth;\r\n if (screenWidth > 980) {\r\n angular.element(elementClass.tabTable).css({\r\n 'padding-left': (width - 320) + 'px'\r\n });\r\n\r\n angular.element(elementClass.frontPageCustomArea).css({\r\n 'padding-left': (width - 320) + 'px'\r\n });\r\n\r\n angular.element('#document-content-information-id').css({\r\n 'padding-left': (width - 320) + 'px'\r\n });\r\n }\r\n } else {\r\n var screenWidth = $(document).width();\r\n width = width > 320 ? width : 320;\r\n width = (screenWidth - width) < 200 ? screenWidth - 210 : width;\r\n angular.element('.comparison-result').css({\r\n 'width': width + 'px'\r\n });\r\n\r\n angular.element('#resizeBar').css({\r\n 'width': (width + 8) + 'px',\r\n 'z-index': 999\r\n });\r\n\r\n angular.element('.comparison-versions').css({\r\n 'width': (screenWidth - width - 40) + 'px',\r\n 'padding-right': 0\r\n });\r\n }\r\n };\r\n };\r\n\r\n //stringValidationService\r\n function stringValidationService() {\r\n var service = {\r\n notContainSpecialCharacter: notContainSpecialCharacter\r\n };\r\n return service;\r\n\r\n function notContainSpecialCharacter(keyword) {\r\n var re = '^([ a-zA-Z0-9.\\_\\\\-/\\WåøæÅØÆ\"])*$',\r\n regExp = new RegExp(re, 'gi');\r\n return regExp.test(keyword);\r\n };\r\n };\r\n\r\n //newsService\r\n newsService.$inject = ['$http'];\r\n function newsService($http) {\r\n var service = {\r\n getNews: getNews,\r\n getActiveNewsById: getActiveNewsById,\r\n getNewsWithPaging: getNewsWithPaging,\r\n updateNewsReadCount: updateNewsReadCount,\r\n adjustNewsHeight: adjustNewsHeight,\r\n getNewsByCategoryId: getNewsByCategoryId,\r\n getNewsImageById: getNewsImageById\r\n };\r\n\r\n return service;\r\n\r\n function getNews(filter) {\r\n return $http.get(handbookRequests.GetNewsOnStarpage, { params: filter });\r\n };\r\n\r\n function getActiveNewsById(id) {\r\n return $http.get(handbookRequests.GetActiveNewsById, { params: { id: id } });\r\n };\r\n\r\n function getNewsWithPaging(pageIndex, pageSize) {\r\n return $http.get(handbookRequests.GetNewsWithPaging, { params: { pageIndex: pageIndex, pageSize: pageSize } });\r\n };\r\n\r\n function updateNewsReadCount(id) {\r\n var requestUrl = handbookRequests.UpdateNewsReadCount + '/' + id;\r\n return $http.post(requestUrl);\r\n };\r\n\r\n function getNewsByCategoryId(categoryId, showInModule, pageIndex, pageSize) {\r\n return $http.get(handbookRequests.GetNewsByCategoryId, { params: { categoryId: categoryId, showInModule: showInModule, pageIndex: pageIndex, pageSize: pageSize } });\r\n };\r\n\r\n function adjustNewsHeight() {\r\n var availWidth = screen.availWidth;\r\n var availHeight = screen.availHeight;\r\n\r\n // if ((availWidth <= 414 && availHeight <= 736) || (availHeight <= 414 && availWidth <= 736)) {\r\n // var $newsHeaders = angular.element('.news-item > a > h4');\r\n // var height = 0;\r\n // var heightTitle = 0;\r\n // for (var i = 0; i < $newsHeaders.length; i++) {\r\n // var line = $newsHeaders.eq(i).getLines();\r\n // heightTitle = (line > 6 ? 0 : line) * 15;\r\n // var ingressHeight = $newsHeaders.eq(i).parent().siblings().find('div.news-content > p').height();\r\n // var imageHeight = 0;\r\n // var objectImage = $newsHeaders.eq(i).parent().siblings().find('div.news-content > a > img');\r\n // if (objectImage != null && objectImage != undefined) {\r\n // imageHeight = objectImage.height();\r\n // }\r\n // if (heightTitle > 0) {\r\n // height = (ingressHeight > imageHeight ? ingressHeight : imageHeight) + heightTitle + 52;\r\n // angular.element('#news' + i).css({ height: height });\r\n // } else {\r\n // angular.element('#news' + i).css({ height: 200 });\r\n // }\r\n // }\r\n // } else {\r\n // var $newsHeaders = angular.element('.news-item > a > h4');\r\n // var height = 0, maxHeight = 0;\r\n // var heightTitle = 0, maxHeightTitle = 0;\r\n // for (var i = 0; i < $newsHeaders.length; i++) {\r\n // var line = $newsHeaders.eq(i).getLines();\r\n // heightTitle = (line > 6 ? 0 : line) * 15;\r\n // maxHeightTitle = maxHeightTitle < heightTitle ? heightTitle : maxHeightTitle;\r\n // var ingressHeight = $newsHeaders.eq(i).parent().siblings().find('div.news-content > p').height();\r\n // var imageHeight = 0;\r\n // var objectImage = $newsHeaders.eq(i).parent().siblings().find('div.news-content > a > img');\r\n // if (objectImage != null && objectImage != undefined) {\r\n // imageHeight = objectImage.height();\r\n // }\r\n // if (heightTitle > 0) {\r\n // height = (ingressHeight > imageHeight ? ingressHeight : imageHeight) + maxHeightTitle + 52;\r\n // }\r\n // if (maxHeight < height) {\r\n // maxHeight = height;\r\n // }\r\n // }\r\n // if (maxHeight == 0) {\r\n // maxHeight = 250;\r\n // }\r\n // if (maxHeightTitle != 0) {\r\n // angular.element('.news-item > a > h4').css({ height: maxHeightTitle });\r\n // }\r\n // angular.element('.news-group > div.news-item').css({ height: maxHeight });\r\n // }\r\n };\r\n\r\n function getNewsImageById(newsId) {\r\n return $http.get(handbookRequests.GetNewsImageById, { params: { newsId: newsId } });\r\n };\r\n };\r\n\r\n //folderService\r\n folderService.$inject = ['$http'];\r\n function folderService($http) {\r\n var service = {\r\n getFolder: getFolder,\r\n getFolderById: getFolderById,\r\n setFolder: setFolder,\r\n getFolderByVirtualDocumentId: getFolderByVirtualDocumentId\r\n };\r\n\r\n return service;\r\n\r\n var folder;\r\n\r\n function getFolder() {\r\n return folder;\r\n };\r\n\r\n function getFolderById(id) {\r\n if (folder == null || folder == undefined || folder.id != id) {\r\n return $http.get(handbookRequests.GetFolderContentsRequest, { params: { 'folderId': id } })\r\n .success(function (response, status, headers, config) {\r\n return response;\r\n })\r\n };\r\n };\r\n\r\n function setFolder(folderObject) {\r\n folder = folderObject;\r\n };\r\n\r\n function getFolderByVirtualDocumentId(id) {\r\n return $http.get(handbookRequests.GetFoldersByVirtualDocumentId, { params: { 'documentId': id } })\r\n .success(function (response, status, headers, config) {\r\n return response;\r\n })\r\n };\r\n\r\n };\r\n\r\n //treeNavigationService\r\n treeNavigationService.$inject = ['$timeout', '$stateParams', '$http', 'broadcastService'];\r\n function treeNavigationService($timeout, $stateParams, $http, broadcastService) {\r\n var currentRecursiveIndex = 0;\r\n var parents = [];\r\n var currentTree = null;\r\n var nodeType = 0; // 0: folder, 1: document\r\n var isDocumentTree = false;\r\n\r\n var service = {\r\n navigateToCurrentItem: navigateToCurrentItem,\r\n onChildrenLoaded: onChildrenLoaded,\r\n setDocumentsTree: setDocumentsTree,\r\n changeRoute: changeRoute,\r\n setNodeType: setNodeType,\r\n navigateToItemLocation: navigateToItemLocation,\r\n scrollToVisibleView: scrollToVisibleView,\r\n setIsDocumentTree: setIsDocumentTree,\r\n getIsDocumentTree: getIsDocumentTree\r\n };\r\n\r\n return service;\r\n\r\n function navigateToItemLocation(navigateSideBar, isClick) {\r\n if (HandbookConfiguration.AutoHighlightInTree.toUpperCase() == \"TRUE\" || isClick == true) {\r\n $timeout(function () {\r\n broadcastService(broadcastType.collapseExpandSidebar, {\r\n navigateSideBar: navigateSideBar\r\n });\r\n }, 0);\r\n }\r\n }\r\n\r\n function navigateToCurrentItem(items, recursives, isScroll) {\r\n if (!recursives || recursives.length == 0) {\r\n return;\r\n }\r\n parents = recursives;\r\n for (var j = 0; j < items.length; j++) {\r\n if (items[j].id == recursives[currentRecursiveIndex].id) {\r\n var index = j;\r\n $timeout(function () {\r\n if (currentRecursiveIndex == (recursives.length - 1)) {\r\n angular.element('#treeDocuments .selected:not(#' + items[index].id + '-label)').removeClass('selected');\r\n if (nodeType == treeNodeTypes.document) {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n }\r\n $timeout(function () {\r\n var nodeDoc = angular.element('#treeDocuments #' + $stateParams.documentId + '-' + items[index].id + '-label');\r\n if (!nodeDoc || nodeDoc.length == 0)\r\n nodeDoc = angular.element('#treeDocuments #' + items[index].id + '-label');\r\n if (nodeDoc && nodeDoc.length > 0) {\r\n nodeDoc.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(nodeDoc);\r\n }\r\n }\r\n }, 1000);\r\n } else {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-label-f');\r\n if (node && node.length > 0) {\r\n node.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(node);\r\n }\r\n }\r\n }\r\n currentRecursiveIndex = 0;\r\n } else {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n currentRecursiveIndex += 1;\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n onChildrenLoaded(items[index], isScroll);\r\n } else {\r\n onChildrenLoaded(items[index], isScroll);\r\n }\r\n }\r\n }, 0);\r\n }\r\n }\r\n }\r\n\r\n function getCurrentRecursiveIndex(nodeParent) {\r\n for (var i = 0; i < parents.length; i++) {\r\n if (nodeParent.id == parents[i].id) {\r\n if (i < parents.length - 1) {\r\n return i + 1;\r\n } else {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n return parents.length - 1;\r\n }\r\n\r\n function onChildrenLoaded(node, isScroll) {\r\n if (parents == null || parents == undefined || parents.length == 0)\r\n return;\r\n\r\n currentRecursiveIndex = getCurrentRecursiveIndex(node);\r\n if (currentRecursiveIndex >= parents.length)\r\n return;\r\n if (node.children == null || node.children.length <= 0)\r\n return;\r\n\r\n var items = node.children;\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i].id != parents[currentRecursiveIndex].id)\r\n continue;\r\n\r\n var index = i;\r\n if (currentRecursiveIndex == (parents.length - 1)) { // it's current folder/document\r\n $timeout(function () {\r\n angular.element('#treeDocuments .selected:not(#' + items[index].id + '-label)').removeClass('selected');\r\n if (nodeType == treeNodeTypes.document) {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n }\r\n $timeout(function () {\r\n var nodeDoc = angular.element('#treeDocuments #' + $stateParams.documentId + '-' + items[index].id + '-label');\r\n if (!nodeDoc || nodeDoc.length == 0)\r\n nodeDoc = angular.element('#treeDocuments #' + items[index].id + '-label');\r\n if (nodeDoc && nodeDoc.length > 0) {\r\n nodeDoc.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(nodeDoc);\r\n }\r\n }\r\n }, 1000);\r\n } else {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-label-f');\r\n if (node && node.length > 0) {\r\n node.addClass('selected');\r\n if (isScroll) {\r\n scrollToVisibleView(node);\r\n }\r\n }\r\n }\r\n });\r\n currentRecursiveIndex = 0;\r\n break;\r\n }\r\n\r\n currentRecursiveIndex += 1;\r\n $timeout(function () {\r\n var node = angular.element('#treeDocuments #' + items[index].id + '-collapsed');\r\n if (!node.hasClass('ng-hide')) {\r\n node.trigger('click');\r\n onChildrenLoaded(items[index], isScroll);\r\n } else {\r\n onChildrenLoaded(items[index], isScroll);\r\n }\r\n }, 0);\r\n\r\n break;\r\n }\r\n\r\n }\r\n\r\n function scrollToVisibleView(node) {\r\n var offset = 0;\r\n var nodeOffset = node.offset();\r\n if (nodeOffset) {\r\n offset = nodeOffset.top;\r\n }\r\n var $parentDiv = $('#sidebar-wrapper').first();\r\n var visible_area_start = $parentDiv.offset().top;\r\n var visible_area_end = visible_area_start + $parentDiv.height();\r\n if (offset > (visible_area_end - 10) || offset < visible_area_start) {\r\n $parentDiv.animate({\r\n scrollTop: $parentDiv.scrollTop() - visible_area_start + offset - 100\r\n }, 100);\r\n }\r\n }\r\n\r\n function setDocumentsTree(tree) {\r\n currentTree = tree;\r\n }\r\n\r\n function changeRoute() {\r\n currentRecursiveIndex = 0;\r\n }\r\n\r\n function setNodeType(type) {\r\n nodeType = type;\r\n }\r\n\r\n function setIsDocumentTree(flag) {\r\n isDocumentTree = flag;\r\n }\r\n\r\n function getIsDocumentTree() {\r\n return isDocumentTree;\r\n }\r\n\r\n };\r\n\r\n //routeService\r\n routeService.$inject = ['$timeout'];\r\n function routeService($timeout) {\r\n var previousRoute = { itemId: 0, itemType: '' };\r\n\r\n var service = {\r\n setRoute: setRoute,\r\n getRoute: getRoute,\r\n getBaseRouteProcess: getBaseRouteProcess,\r\n getDashboardBaseRoute: getDashboardBaseRoute\r\n };\r\n\r\n return service;\r\n\r\n function setRoute(route) {\r\n previousRoute = route;\r\n }\r\n\r\n function getRoute() {\r\n return previousRoute;\r\n }\r\n\r\n function getBaseRouteProcess() {\r\n return window.location.origin + '/process/';\r\n // return 'http://localhost:4200/process/';\r\n }\r\n\r\n function getDashboardBaseRoute() {\r\n return window.location.origin + '/dashboard/';\r\n }\r\n };\r\n\r\n //metaData\r\n metaDataService.$inject = ['$http', '$q'];\r\n function metaDataService($http, $q) {\r\n var service = {\r\n getRegisterItems: getRegisterItems,\r\n getMetadataTags: getMetadataTags,\r\n getMetaRegisters: getMetaRegisters,\r\n getActiveMetaRegisters: getActiveMetaRegisters,\r\n getRegisterAndRegisterItems: getRegisterAndRegisterItems\r\n };\r\n\r\n return service;\r\n\r\n function getRegisterItems(registerId) {\r\n return $http.get(handbookRequests.GetRegisterItemsRequest, { params: { 'registerId': registerId } })\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getRegisterAndRegisterItems() {\r\n return $http.get(handbookRequests.GetRegisterAndRegisterItems, {})\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getMetadataTags(registerItemId) {\r\n return $http.get(handbookRequests.GetMetadataTagsRequest, { params: { 'registerItemId': registerItemId } })\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getMetaRegisters() {\r\n return $http.get(handbookRequests.GetMetaRegistersRequest, {})\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n function getActiveMetaRegisters() {\r\n return $http.get(handbookRequests.GetActiveMetaRegistersRequest, {})\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n\r\n };\r\n\r\n shortcutKeysService.$inject = ['$state', '$http', '$timeout', 'tabStateService', 'broadcastService'];\r\n function shortcutKeysService($state, $http, $timeout, tabStateService, broadcastService) {\r\n var shortcuts = {\r\n };\r\n getShortcuts();\r\n var service = {\r\n gotoStartpage: {\r\n shortcut: shortcuts.gotoStartpage,\r\n method: gotoStartpage\r\n },\r\n openFavouritesMenu: {\r\n shortcut: shortcuts.openFavouritesMenu,\r\n method: openFavouritesMenu\r\n },\r\n openDocumentsMenu: {\r\n shortcut: shortcuts.openDocumentsMenu,\r\n method: openDocumentsMenu\r\n },\r\n openSimpleSearch: {\r\n shortcut: shortcuts.openSimpleSearch,\r\n method: openSimpleSearch\r\n },\r\n navigateItemInSidebar: {\r\n shortcut: shortcuts.navigateItemInSidebar,\r\n method: navigateItemInSidebar\r\n },\r\n printFolderPDFIndex: {\r\n shortcut: shortcuts.printPDFIndex,\r\n method: printFolderPDFIndex\r\n },\r\n toggleFavorite: {\r\n shortcut: shortcuts.toggleFavorite,\r\n method: toggleFavorite\r\n },\r\n toggleEmailNotification: {\r\n shortcut: shortcuts.toggleEmailNotification,\r\n method: toggleEmailNotification\r\n },\r\n toggleOnlyFolderEmailNotification: {\r\n shortcut: shortcuts.toggleOnlyFolderEmailNotification,\r\n method: toggleOnlyFolderEmailNotification\r\n },\r\n openGridSetting: {\r\n shortcut: shortcuts.openGridSetting,\r\n method: openGridSetting\r\n },\r\n toggleFolderContentTab: {\r\n shortcut: shortcuts.toggleFolderContentTab,\r\n method: toggleFolderContentTab\r\n },\r\n toggleFolderAboutTab: {\r\n shortcut: shortcuts.toggleFolderAboutTab,\r\n method: toggleFolderAboutTab\r\n },\r\n openDocumentReadingReceipt: {\r\n shortcut: shortcuts.openDocumentReadingReceipt,\r\n method: openDocumentReadingReceipt\r\n },\r\n openDocumentFeedback: {\r\n shortcut: shortcuts.openDocumentFeedback,\r\n method: openDocumentFeedback\r\n },\r\n printDocumentPDFA4: {\r\n shortcut: shortcuts.printPDFIndex,\r\n method: printDocumentPDFA4\r\n },\r\n toggleDocumentFullScreenViewing: {\r\n shortcut: shortcuts.toggleDocumentFullScreenViewing,\r\n method: toggleDocumentFullScreenViewing\r\n },\r\n toggleDocumentContentTab: {\r\n shortcut: shortcuts.toggleFolderContentTab,\r\n method: toggleDocumentContentTab\r\n },\r\n toggleDocumentAboutTab: {\r\n shortcut: shortcuts.toggleFolderAboutTab,\r\n method: toggleDocumentAboutTab\r\n },\r\n toggleDocumentMetadataTab: {\r\n shortcut: shortcuts.toggleDocumentMetadataTab,\r\n method: toggleDocumentMetadataTab\r\n },\r\n toggleDocumentSearchInContentTab: {\r\n shortcut: shortcuts.toggleDocumentSearchInContentTab,\r\n method: toggleDocumentSearchInContentTab\r\n },\r\n toggleMasterHomeTab: {\r\n shortcut: shortcuts.toggleFolderContentTab,\r\n method: toggleMasterHomeTab\r\n },\r\n toggleWhatsNewsTab: {\r\n shortcut: shortcuts.toggleFolderAboutTab,\r\n method: toggleWhatsNewsTab\r\n },\r\n toggleUpdatedFavoriteTab: {\r\n shortcut: shortcuts.toggleDocumentMetadataTab,\r\n method: toggleUpdatedFavoriteTab\r\n },\r\n toggleMyReadingListTab: {\r\n shortcut: shortcuts.toggleDocumentSearchInContentTab,\r\n method: toggleMyReadingListTab\r\n },\r\n linkToDocumentManagement: {\r\n shortcut: shortcuts.linkToDocumentManagement,\r\n method: linkToDocumentManagement\r\n },\r\n linkToFolderManagement: {\r\n shortcut: shortcuts.linkToDocumentManagement,\r\n method: linkToFolderManagement\r\n }\r\n };\r\n\r\n return service;\r\n\r\n function gotoStartpage() {\r\n $state.go(handbookActions.HomeAction);\r\n };\r\n\r\n function getShortcuts() {\r\n // Opera 8.0+\r\n //var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;\r\n // Firefox 1.0+\r\n var isFirefox = typeof InstallTrigger !== 'undefined';\r\n //// At least Safari 3+: \"[object HTMLElementConstructor]\"\r\n // var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;\r\n //// Internet Explorer 6-11\r\n // var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n //// Edge 20+\r\n // var isEdge = !isIE && !!window.StyleMedia;\r\n // Chrome 1+\r\n var isChrome = !!window.chrome && !!window.chrome.webstore;\r\n // Blink engine detection\r\n //var isBlink = (isChrome || isOpera) && !!window.CSS;\r\n shortcuts.gotoStartpage = 'ctrl+alt+h';\r\n shortcuts.openFavouritesMenu = 'ctrl+alt+f';\r\n shortcuts.openDocumentsMenu = 'ctrl+alt+d';\r\n shortcuts.openSimpleSearch = 'ctrl+alt+s';\r\n shortcuts.navigateItemInSidebar = 'ctrl+alt+n';\r\n shortcuts.printPDFIndex = 'ctrl+alt+p';\r\n shortcuts.toggleFavorite = 'ctrl+alt+a';\r\n shortcuts.toggleEmailNotification = 'ctrl+alt+e';\r\n shortcuts.openGridSetting = 'ctrl+alt+i';\r\n shortcuts.toggleFolderContentTab = 'ctrl+alt+1';\r\n shortcuts.toggleFolderAboutTab = 'ctrl+alt+2';\r\n shortcuts.openDocumentReadingReceipt = 'ctrl+alt+l';\r\n shortcuts.openDocumentFeedback = 'ctrl+alt+t';\r\n shortcuts.toggleDocumentFullScreenViewing = 'ctrl+alt+v';\r\n shortcuts.toggleDocumentMetadataTab = 'ctrl+alt+3';\r\n shortcuts.toggleDocumentSearchInContentTab = 'ctrl+alt+4';\r\n shortcuts.toggleOnlyFolderEmailNotification = 'ctrl+alt+m';\r\n shortcuts.linkToDocumentManagement = 'ctrl+alt+b';\r\n };\r\n\r\n function openFavouritesMenu() {\r\n broadcastService(broadcastType.onOpeningSidebarMenu, { menu: 'Favorites' });\r\n };\r\n\r\n function openDocumentsMenu() {\r\n broadcastService(broadcastType.onOpeningSidebarMenu, { menu: 'Document' });\r\n };\r\n\r\n function openSimpleSearch() {\r\n angular.element('.search-box').focus();\r\n };\r\n\r\n function navigateItemInSidebar() {\r\n broadcastService(broadcastType.collapseExpandSidebar, {\r\n navigateSideBar: true\r\n });\r\n };\r\n\r\n function printFolderPDFIndex() {\r\n broadcastService(broadcastType.printItemTarget, {\r\n printType: 4,\r\n itemType: 1 // 1: folder, 2: document\r\n });\r\n };\r\n\r\n function toggleFavorite() {\r\n broadcastService(broadcastType.toggleFavoriteTarget, {\r\n favoriteType: 1 // 1: folder, 2: document\r\n });\r\n };\r\n\r\n function toggleEmailNotification() {\r\n broadcastService(broadcastType.toggleEmailSubscriptionTarget, {});\r\n };\r\n\r\n function toggleOnlyFolderEmailNotification() {\r\n broadcastService(broadcastType.toggleOnlyFolderEmailSubscriptionTarget, {});\r\n };\r\n\r\n function linkToDocumentManagement() {\r\n broadcastService(broadcastType.linkToDocumentManagement, {});\r\n }\r\n\r\n function linkToFolderManagement() {\r\n broadcastService('linkToFolderManagement', {});\r\n }\r\n\r\n function openGridSetting() {\r\n broadcastService(broadcastType.toggleGridSettingTarget, {});\r\n $timeout(function () {\r\n var first = angular.element('#setting-box-main-contain input[type=\"checkbox\"]')[0];\r\n first.focus();\r\n }, 200);\r\n };\r\n\r\n function toggleFolderContentTab() {\r\n activateTab('ChapterTabState', 'chapter-content');\r\n\r\n activateTabContent([{\r\n tabId: '#chapter-about',\r\n tabContentId: '.tab-content.chapter-content #tab2'\r\n }],\r\n {\r\n tabId: '#chapter-content',\r\n tabContentId: '.tab-content.chapter-content #tab1'\r\n });\r\n };\r\n\r\n function toggleFolderAboutTab() {\r\n activateTab('ChapterTabState', 'chapter-about');\r\n\r\n activateTabContent([{\r\n tabId: '#chapter-content',\r\n tabContentId: '.tab-content.chapter-content #tab1'\r\n }],\r\n {\r\n tabId: '#chapter-about',\r\n tabContentId: '.tab-content.chapter-content #tab2'\r\n });\r\n };\r\n\r\n function openDocumentReadingReceipt() {\r\n broadcastService(broadcastType.toggleReadingReceiptTarget, {});\r\n $timeout(function () {\r\n angular.element('#confirmReadContainer input[type=\"button\"]')[0].focus();\r\n }, 200);\r\n };\r\n\r\n function openDocumentFeedback() {\r\n broadcastService(broadcastType.toggleDocumentFeedbackTarget, {});\r\n $timeout(function () {\r\n angular.element('#feedbackText')[0].focus();\r\n }, 200);\r\n };\r\n\r\n function printDocumentPDFA4() {\r\n broadcastService(broadcastType.printItemTarget, {\r\n printType: 1,\r\n itemType: 2 // 1: folder, 2: document\r\n });\r\n };\r\n\r\n function toggleDocumentFullScreenViewing() {\r\n broadcastService(broadcastType.toggleDocumentFullscreen, {});\r\n };\r\n\r\n function toggleDocumentContentTab() {\r\n activateTab('DocumentTabState', 'document-content');\r\n\r\n activateTabContent([{\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier2'\r\n },\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier3'\r\n },\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier5'\r\n }],\r\n {\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier1'\r\n });\r\n };\r\n\r\n function toggleDocumentAboutTab() {\r\n activateTab('DocumentTabState', 'document-about');\r\n\r\n activateTabContent([{\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier1'\r\n },\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier3'\r\n },\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier5'\r\n }],\r\n {\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier2'\r\n });\r\n };\r\n\r\n function toggleDocumentMetadataTab() {\r\n activateTab('DocumentTabState', 'document-metadata');\r\n\r\n activateTabContent([{\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier1'\r\n },\r\n {\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier2'\r\n },\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier5'\r\n }],\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier3'\r\n });\r\n };\r\n\r\n function toggleDocumentSearchInContentTab() {\r\n activateTab('DocumentTabState', 'document-searchincontent');\r\n\r\n activateTabContent([{\r\n tabId: '#document-content',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier1'\r\n },\r\n {\r\n tabId: '#document-about',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier2'\r\n },\r\n {\r\n tabId: '#document-metadata',\r\n tabContentId: '.tab-content.document-content #nav-tabs-identifier3'\r\n }],\r\n {\r\n tabId: '#document-searchincontent',\r\n tabContentId: '.tab-content.document-content.document-font #nav-tabs-identifier5'\r\n });\r\n };\r\n\r\n function toggleMasterHomeTab() {\r\n activateTab('HomeTabState', 'master-tab');\r\n activateTabContent([{\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }, {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }],\r\n {\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, true);\r\n };\r\n\r\n function toggleWhatsNewsTab() {\r\n activateTab('HomeTabState', 'what-new-tab');\r\n activateTabContent([{\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }, {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }],\r\n {\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, true);\r\n };\r\n\r\n function toggleUpdatedFavoriteTab() {\r\n activateTab('HomeTabState', 'favorite-tab');\r\n activateTabContent([{\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, {\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }],\r\n {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }, true);\r\n };\r\n\r\n function toggleMyReadingListTab() {\r\n activateTab('HomeTabState', 'reading-list-tab');\r\n activateTabContent([{\r\n tabId: '#master-tab',\r\n tabContentId: '.tab-content.home-content #tab1'\r\n }, {\r\n tabId: '#what-new-tab',\r\n tabContentId: '.tab-content.home-content #tab2'\r\n }, {\r\n tabId: '#favorite-tab',\r\n tabContentId: '.tab-content.home-content #tab3'\r\n }],\r\n {\r\n tabId: '#reading-list-tab',\r\n tabContentId: '.tab-content.home-content #tab4'\r\n }, true);\r\n };\r\n\r\n function getTabStateType(tabType) {\r\n var type = '';\r\n switch (tabType) {\r\n case tabStateType.documentTabState:\r\n type = tabStateType.documentTabState;\r\n break;\r\n case tabStateType.chapterTabState:\r\n type = tabStateType.chapterTabState;\r\n break;\r\n case tabStateType.homeTabState:\r\n type = tabStateType.homeTabState;\r\n break;\r\n default:\r\n type = tabStateType.documentTabState;\r\n break;\r\n }\r\n\r\n return type;\r\n };\r\n\r\n function activateTab(tabState, tabId) {\r\n var tabStateType = getTabStateType(tabState);\r\n\r\n tabStateService.setState(tabStateType, tabId);\r\n tabStateService.setCurrentTabState(tabId);\r\n\r\n };\r\n\r\n function activateTabContent(inactiveItems, activeItem, notToggle) {\r\n for (var i = 0; i < inactiveItems.length; i++) {\r\n angular.element(inactiveItems[i].tabId).removeClass('active');\r\n angular.element(inactiveItems[i].tabContentId).removeClass('active');\r\n }\r\n if (!notToggle) {\r\n angular.element(activeItem.tabId).toggleClass('active');\r\n angular.element(activeItem.tabContentId).toggleClass('active');\r\n } else {\r\n angular.element(activeItem.tabId).addClass('active');\r\n angular.element(activeItem.tabContentId).addClass('active');\r\n }\r\n };\r\n };\r\n\r\n //helpPages\r\n helpPagesService.$inject = ['$http', '$q'];\r\n function helpPagesService($http, $q) {\r\n var service = {\r\n getHelpPages: getHelpPages\r\n };\r\n\r\n return service;\r\n\r\n function getHelpPages(viewId) {\r\n return $http.get(handbookRequests.GetHelpPagesRequest, { params: { 'viewId': viewId } })\r\n .then(function (response, status, headers, config) {\r\n return response.data;\r\n });\r\n };\r\n };\r\n\r\n //configService\r\n configService.$inject = ['$http'];\r\n function configService($http) {\r\n\r\n var d_config;\r\n\r\n var service = {\r\n getDeviationConfig: getDeviationConfig,\r\n getDeviationConfigInServer: getDeviationConfigInServer,\r\n getBool: getBool,\r\n getString: getString,\r\n getInt: getInt\r\n };\r\n\r\n return service;\r\n\r\n var d_config;\r\n\r\n function getDeviationConfigInServer() {\r\n return $http.get(DeviationRequest.GetConfig)\r\n .success(function (response, status, headers, config) {\r\n d_config = response;\r\n return response;\r\n })\r\n }\r\n\r\n function getDeviationConfig() {\r\n return d_config;\r\n }\r\n\r\n function getBool(value) {\r\n\r\n if (typeof value === 'boolean') {\r\n return value;\r\n }\r\n\r\n if (!value || !value.trim()) {\r\n return false;\r\n }\r\n\r\n const compareValue = value.toString().trim().toLowerCase();\r\n\r\n return compareValue === \"true\";\r\n }\r\n\r\n function getString(value) {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n return value;\r\n }\r\n\r\n function getInt(value) {\r\n if (!value || !value.trim()) {\r\n return 0;\r\n }\r\n\r\n const compareValue = value.toString().trim();\r\n const parsedValue = parseInt(compareValue);\r\n\r\n return isNaN(parsedValue) ? 0 : parsedValue;\r\n }\r\n };\r\n\r\n commonService.$inject = ['$http', '$cookies', 'pubSub'];\r\n function commonService($http, $cookies, pubSub) {\r\n var service = {\r\n getCurrentLanguageText: getCurrentLanguageText\r\n };\r\n\r\n return service;\r\n\r\n function getCurrentLanguageText() {\r\n var result = user.currentLanguage;\r\n var language = $cookies.get(LANGUAGECULTURE);\r\n if (language && language.length) {\r\n result = language;\r\n }\r\n return (result ? result : LANGUAGES.NorwegianBokmal).toLowerCase();\r\n }\r\n }\r\n\r\n function getHearingTooltip(hearingMembers) {\r\n if (hearingMembers.length > 0) {\r\n hearingMembers.forEach(function (item) {\r\n if (item.hearingMemberComments.length > 0) {\r\n var containerDiv = '
';\r\n var openTag = '
';\r\n var closeTag = '
';\r\n var header = `
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${item.fullName} - ${resources.L.Document.comments}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
`;\r\n var openContentTag = '
';\r\n var commentTooltipPadding = '';\r\n item.hearingMemberComments.forEach(function (field) {\r\n var hearingComment = '';\r\n var fieldName = (field.fieldName == null ? resources.L.Document.wholeDocument : field.fieldName);\r\n field.hearingComments.forEach(function (comment) {\r\n hearingComment += `
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${comment.createdDateStr} -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${comment.commentDocumentText}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
`\r\n\r\n });\r\n commentTooltipPadding += `
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${fieldName}:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${hearingComment}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
`;\r\n });\r\n\r\n item.commentTooltip = `${containerDiv}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t${openTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${openContentTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${commentTooltipPadding}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${closeTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t${closeTag}\r\n\t\t\t\t\t\t\t\t\t\t\t\t${closeTag}`\r\n }\r\n });\r\n }\r\n }\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('ngLoadDirective', loadDirective)\r\n .directive('inLoadingStateWhenClick', buttonDirective);\r\n\r\n loadDirective.$inject = ['$http'];\r\n function loadDirective($http) {\r\n return {\r\n restrict: 'A',\r\n template: '
',\r\n link: function (scope, elm, attrs) {\r\n scope.isLoading = function () {\r\n return isShowLoading($http.pendingRequests);\r\n };\r\n\r\n scope.$watch(scope.isLoading, function (v) {\r\n if (v) {\r\n elm.show();\r\n } else {\r\n elm.hide();\r\n }\r\n });\r\n\r\n function isShowLoading(pendingRequests) {\r\n return pendingRequests.some(function (r) {\r\n return (r.params && r.params.showLoading);\r\n });\r\n }\r\n }\r\n };\r\n }\r\n\r\n buttonDirective.$inject = ['$parse', '$q', '$timeout'];\r\n function buttonDirective($parse, $q, $timeout) {\r\n return {\r\n restrict: 'A',\r\n priority: 0,\r\n link: function (scope, element, attrs) {\r\n var action = $parse(attrs.inLoadingStateWhenClick);\r\n\r\n element.on('click', function (e) {\r\n element.attr('disabled', 'disabled');\r\n\r\n $timeout(function () {\r\n var promise = action(scope, { $event: e }),\r\n isPromise = promise && promise.finally;\r\n\r\n if (isPromise) {\r\n promise\r\n .then(function (promise) {\r\n if (promise && promise.message) {\r\n return $q.reject(promise.message);\r\n }\r\n })\r\n .catch(function (exception) {\r\n if (exception) {\r\n console.log(exception);\r\n }\r\n })\r\n .finally(function () {\r\n releaseClick();\r\n });\r\n } else {\r\n releaseClick();\r\n }\r\n });\r\n });\r\n\r\n function releaseClick() {\r\n element.removeAttr('disabled');\r\n element.find('.processing').remove();\r\n }\r\n }\r\n };\r\n }\r\n})();","var internetPublishOption = (window.HandbookConfiguration && window.HandbookConfiguration.InternetPublishOption == 'True') ? true : false;\r\nvar publishedVersion = (window.HandbookConfiguration && window.HandbookConfiguration.PublishedVersion == 'True') ? true : false;\r\nvar internetColumnVisible = (window.HandbookConfiguration && window.HandbookConfiguration.InternetColumnVisible == 'True') ? true : false;\r\nvar gridSettingKeys = {\r\n commonVisibilitySettings: 'ColumnVisiblitySettings',\r\n readingListVisibilitySettings: 'ReadingListVisibilitySettings'\r\n}\r\n\r\nfunction ColumnItem() {\r\n this.visible = false;\r\n this.width = '';\r\n this.minWidth = 0;\r\n};\r\n\r\nvar commonGridSetting = {\r\n title: new ColumnItem(),\r\n documentType: new ColumnItem(),\r\n chapter: new ColumnItem(),\r\n documentId: new ColumnItem(),\r\n readingList: new ColumnItem(),\r\n isConfirmed: new ColumnItem(),\r\n location: new ColumnItem(),\r\n version: new ColumnItem(),\r\n readCount: new ColumnItem(),\r\n approvedDate: new ColumnItem(),\r\n approver: new ColumnItem(),\r\n responsible: new ColumnItem(),\r\n hasAttachment: new ColumnItem(),\r\n id: new ColumnItem(),\r\n rowInfo: new ColumnItem(),\r\n internet: new ColumnItem(),\r\n readingReceipt: new ColumnItem(),\r\n readingReceiptDtmConfirmed: new ColumnItem()\r\n};\r\n\r\nif (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet = new ColumnItem();\r\n}\r\n\r\nvar commonColumnsDefinition = [];\r\nvar optionalColumnsDenifinition;\r\nvar layoutPlugin = new ngGridLayoutPlugin();\r\n\r\nvar charToPixelRatio = 9; //change this value if u change the font size\r\nvar autoColWidth = function (colDefs, rows) {\r\n var totalChars = {};\r\n var totalCharsLength = 0;\r\n for (var i = 0, n = rows.length; i < n; i++) {\r\n var tempTotalChars = {};\r\n for (var colName in rows[i]) {\r\n tempTotalChars[colName] = rows[i][colName].toString().length;\r\n if (i == 0 || tempTotalChars[colName] > totalChars[colName]) {\r\n totalChars[colName] = tempTotalChars[colName];\r\n totalCharsLength += tempTotalChars[colName];\r\n }\r\n }\r\n }\r\n\r\n for (var i = 0, n = colDefs.length; i < n; i++) {\r\n if (colDefs[i].field == commonGridColumns.attachment) {\r\n colDefs[i].width = \"4%\";\r\n } else {\r\n colDefs[i].width = (totalChars[colDefs[i].field] / totalCharsLength * 100) + \"%\";//(totalChars[colDefs[i].field] * charToPixelRatio) + \"px\";\r\n }\r\n \r\n };\r\n return colDefs;\r\n}\r\n\r\nvar commonGridOptions = function (dataSource) {\r\n return {\r\n data: dataSource,\r\n plugins: [layoutPlugin],\r\n headerRowHeight: 40,\r\n rowHeight: 40,\r\n multiSelect: false,\r\n enableColumnResize: true,\r\n columnDefs: 'vm.commonGridColumnDefinition',\r\n rowTemplate: paths.WhatNewRowTemplate\r\n };\r\n};\r\n\r\nfunction getColumnsDefinition(gridSettingKey) {\r\n commonColumnsDefinition = [\r\n {\r\n field: commonGridColumns.rowInfo, displayName: '',\r\n minWidth: commonGridSetting.rowInfo.minWidth,\r\n width: commonGridSetting.rowInfo.width,\r\n cellTemplate: paths.DocumentInfoCellTemplate,\r\n visible: commonGridSetting.rowInfo.visible\r\n },\r\n {\r\n field: commonGridColumns.name, displayName: globalResources.CommonGridColumns.Title,\r\n width: commonGridSetting.title.width\r\n }, \r\n {\r\n field: commonGridColumns.template, displayName: globalResources.CommonGridColumns.Type,\r\n width: commonGridSetting.documentType.width,\r\n visible: commonGridSetting.documentType.visible\r\n },\r\n {\r\n field: commonGridColumns.folderName, displayName: globalResources.CommonGridColumns.Chapter,\r\n width: commonGridSetting.chapter.width,\r\n cellTemplate: paths.FolderCellTemplate,\r\n visible: commonGridSetting.chapter.visible\r\n },\r\n {\r\n field: commonGridColumns.location, displayName: globalResources.CommonGridColumns.Location,\r\n width: commonGridSetting.location.width,\r\n cellTemplate: paths.LocationCellTemplate,\r\n visible: commonGridSetting.location.visible\r\n },\r\n {\r\n field: commonGridColumns.version, displayName: globalResources.CommonGridColumns.Version,\r\n minWidth: commonGridSetting.version.minWidth,\r\n width: commonGridSetting.version.width,\r\n visible: commonGridSetting.version.visible\r\n },\r\n {\r\n field: commonGridColumns.readCount, displayName: globalResources.CommonGridColumns.ReadCount,\r\n width: commonGridSetting.readCount.width,\r\n visible: commonGridSetting.readCount.visible\r\n },\r\n {\r\n field: commonGridColumns.documentId, displayName: globalResources.CommonGridColumns.DocumentId,\r\n minWidth: commonGridSetting.documentId.minWidth,\r\n width: commonGridSetting.documentId.width,\r\n visible: commonGridSetting.documentId.visible\r\n },\r\n {\r\n field: commonGridColumns.approvedDate, displayName: globalResources.CommonGridColumns.ApprovedDate,\r\n width: commonGridSetting.approvedDate.width,\r\n visible: commonGridSetting.approvedDate.visible\r\n },\r\n {\r\n field: commonGridColumns.approvedBy, displayName: globalResources.CommonGridColumns.Approver,\r\n width: commonGridSetting.approver.width,\r\n visible: commonGridSetting.approver.visible\r\n },\r\n {\r\n field: commonGridColumns.responsible, displayName: globalResources.CommonGridColumns.DocumentResponsible,\r\n width: commonGridSetting.responsible.width,\r\n visible: commonGridSetting.responsible.visible\r\n },\r\n {\r\n field: commonGridColumns.attachment, displayName: '',\r\n width: commonGridSetting.hasAttachment.width,\r\n cellTemplate: paths.DocumentAttachmentTemplate,\r\n visible: commonGridSetting.hasAttachment.visible\r\n },\r\n {\r\n field: commonGridColumns.readingReceipt, displayName: '',\r\n width: commonGridSetting.readingReceipt.width,\r\n visible: commonGridSetting.readingReceipt.visible\r\n },\r\n {\r\n field: commonGridColumns.readingReceiptDtmConfirmed, displayName: globalResources.CommonGridColumns.ReadingReceiptDtmCOnfirmedColumnHeader,\r\n width: commonGridSetting.readingReceiptDtmConfirmed.width,\r\n visible: commonGridSetting.readingReceiptDtmConfirmed.visible\r\n },\r\n {\r\n field: commonGridColumns.id, displayName: '',\r\n width: commonGridSetting.id.width,\r\n visible: false\r\n }\r\n ];\r\n\r\n optionalColumnsDenifinition = {\r\n version: commonGridSetting.version.visible,\r\n location: commonGridSetting.location.visible,\r\n documentType: commonGridSetting.documentType.visible,\r\n approvedDate: commonGridSetting.approvedDate.visible,\r\n approver: commonGridSetting.approver.visible,\r\n responsible: commonGridSetting.responsible.visible,\r\n chapter: commonGridSetting.chapter.visible,\r\n documentId: commonGridSetting.documentId.visible,\r\n hasAttachment: commonGridSetting.hasAttachment.visible,\r\n documentInfo: commonGridSetting.rowInfo.visible,\r\n readingReceipt: commonGridSetting.readingReceipt.visible,\r\n readingReceiptDtmConfirmed: commonGridSetting.readingReceiptDtmConfirmed.visible,\r\n readCount: commonGridSetting.readCount.visible\r\n };\r\n\r\n \r\n if (internetPublishOption && !publishedVersion) {\r\n // Add internet column after version column which has order 6\r\n commonColumnsDefinition.splice(6, 0, {\r\n field: commonGridColumns.internet,\r\n displayName: '',\r\n width: commonGridSetting.internet.width,\r\n visible: commonGridSetting.internet.visible\r\n });\r\n\r\n optionalColumnsDenifinition.internet = commonGridSetting.internet.visible;\r\n }\r\n\r\n if (gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n commonColumnsDefinition.push({\r\n field: commonGridColumns.readingList, displayName: globalResources.ReadingList,\r\n width: commonGridSetting.readingList.width,\r\n visible: commonGridSetting.readingList.visible\r\n });\r\n commonColumnsDefinition.push({\r\n field: commonGridColumns.isConfirmed, displayName: globalResources.Confirmed,\r\n width: commonGridSetting.readingList.width,\r\n visible: commonGridSetting.readingList.visible\r\n });\r\n\r\n optionalColumnsDenifinition.readingList = commonGridSetting.readingList.visible;\r\n optionalColumnsDenifinition.isConfirmed = commonGridSetting.isConfirmed.visible;\r\n }\r\n}\r\n\r\n\r\nfunction getDefaultVisibleColumns(gridSettingKey) {\r\n commonGridSetting.title.visible = true;\r\n commonGridSetting.chapter.visible = true;\r\n commonGridSetting.documentId.visible = true;\r\n commonGridSetting.rowInfo.visible = true;\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.visible = internetColumnVisible;\r\n }\r\n\r\n if (gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n commonGridSetting.version.visible = true;\r\n commonGridSetting.documentId.visible = true;\r\n commonGridSetting.hasAttachment.visible = true;\r\n commonGridSetting.readingReceipt.visible = false;\r\n commonGridSetting.documentType.visible = false;\r\n commonGridSetting.approvedDate.visible = false;\r\n commonGridSetting.approver.visible = false;\r\n commonGridSetting.responsible.visible = false;\r\n commonGridSetting.location.visible = false;\r\n commonGridSetting.readingList.visible = true;\r\n commonGridSetting.readingReceiptDtmConfirmed.visible = false;\r\n commonGridSetting.isConfirmed.visible = true;\r\n commonGridSetting.readCount.visible = false;\r\n }\r\n\r\n getDefaultColumnWidth(gridSettingKey);\r\n}\r\n\r\nfunction clearColumnsVisibleSetting() {\r\n commonGridSetting.chapter.visible = false;\r\n commonGridSetting.documentId.visible = false;\r\n commonGridSetting.documentType.visible = false;\r\n commonGridSetting.readingList.visible = false;\r\n commonGridSetting.isConfirmed.visible = false;\r\n commonGridSetting.location.visible = false;\r\n commonGridSetting.version.visible = false;\r\n commonGridSetting.approvedDate.visible = false;\r\n commonGridSetting.approver.visible = false;\r\n commonGridSetting.responsible.visible = false;\r\n commonGridSetting.hasAttachment.visible = false;\r\n commonGridSetting.readingReceipt.visible = false;\r\n commonGridSetting.readingReceiptDtmConfirmed.visible = false;\r\n commonGridSetting.rowInfo.visible = false;\r\n commonGridSetting.readCount.visible = false;\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.visible = false;\r\n }\r\n}\r\n\r\nfunction readVisibleColumnsFromLocalStorage(columnVisibleSettings) {\r\n clearColumnsVisibleSetting();\r\n var columnsSetting = columnVisibleSettings.split(',');\r\n for (var i = 0; i < columnsSetting.length; i++) {\r\n switch (columnsSetting[i]) {\r\n case 'chapter':\r\n commonGridSetting.chapter.visible = true;\r\n break;\r\n case 'documentId':\r\n commonGridSetting.documentId.visible = true;\r\n break;\r\n case 'documentType':\r\n commonGridSetting.documentType.visible = true;\r\n break;\r\n case 'readingList':\r\n commonGridSetting.readingList.visible = true;\r\n break;\r\n case 'isConfirmed':\r\n commonGridSetting.isConfirmed.visible = true;\r\n break;\r\n case 'location':\r\n commonGridSetting.location.visible = true;\r\n break;\r\n case 'version':\r\n commonGridSetting.version.visible = true;\r\n break;\r\n case 'approvedDate':\r\n commonGridSetting.approvedDate.visible = true;\r\n break;\r\n case 'approver':\r\n commonGridSetting.approver.visible = true;\r\n break;\r\n case 'responsible':\r\n commonGridSetting.responsible.visible = true;\r\n break;\r\n case 'hasAttachment':\r\n commonGridSetting.hasAttachment.visible = true;\r\n break;\r\n case 'readingReceipt':\r\n commonGridSetting.readingReceipt.visible = true;\r\n break;\r\n case 'readingReceiptDtmConfirmed':\r\n commonGridSetting.readingReceiptDtmConfirmed.visible = true;\r\n break;\r\n case 'documentInfo':\r\n commonGridSetting.rowInfo.visible = true;\r\n break;\r\n case 'internet':\r\n commonGridSetting.internet.visible = true;\r\n case 'readCount':\r\n commonGridSetting.readCount.visible = true;\r\n break;\r\n }\r\n }\r\n\r\n updateColumnWidth();\r\n}\r\n\r\nfunction getGridSetting(gridSettingKey) {\r\n if (typeof (Storage) != \"undefined\") { // Browser is supported local storage\r\n\r\n var existsInLocalStorage = false;\r\n var columnVisibleSettings = gridSettingKey ? localStorage.getItem(gridSettingKey) : localStorage.getItem(gridSettingKeys.readingListVisibilitySettings);\r\n if (columnVisibleSettings != undefined) {\r\n existsInLocalStorage = true;\r\n }\r\n\r\n if (existsInLocalStorage) {\r\n readVisibleColumnsFromLocalStorage(columnVisibleSettings);\r\n } else {\r\n getDefaultVisibleColumns(gridSettingKey);\r\n }\r\n } else {\r\n getDefaultVisibleColumns(gridSettingKey);\r\n }\r\n}\r\n\r\nfunction getDocumentColumnsForExporting(gridKey, modelType = E.GridViewModelType.Document) {\r\n var columns = [];\r\n getGridSetting(gridKey);\r\n columns.push(E.documentExportColumns.docUrl);\r\n\r\n if (commonGridSetting.internet.visible) {\r\n columns.push(E.documentExportColumns.isInternet);\r\n }\r\n\r\n switch (modelType) {\r\n case E.GridViewModelType.Document:\r\n columns.push(E.documentExportColumns.documentName);\r\n break;\r\n case E.GridViewModelType.Process:\r\n columns.push(E.documentExportColumns.processName);\r\n break;\r\n case E.GridViewModelType.InterconnectedProcess:\r\n columns.push(E.documentExportColumns.interconnectedProcessName);\r\n break;\r\n\r\n default:\r\n columns.push(E.documentExportColumns.documentName);\r\n break;\r\n }\r\n\r\n\r\n if (commonGridSetting.documentType.visible && (modelType == E.GridViewModelType.Process\r\n || modelType == E.GridViewModelType.Document || modelType == E.GridViewModelType.DocumentAndProcess)) {\r\n columns.push(E.documentExportColumns.documentType);\r\n }\r\n if (commonGridSetting.chapter.visible) {\r\n switch (modelType) {\r\n case E.GridViewModelType.Document:\r\n columns.push(E.documentExportColumns.chapter);\r\n break;\r\n case E.GridViewModelType.Process:\r\n case E.GridViewModelType.InterconnectedProcess:\r\n columns.push(E.documentExportColumns.processArea);\r\n break;\r\n\r\n default:\r\n columns.push(E.documentExportColumns.chapter);\r\n break;\r\n }\r\n }\r\n if (commonGridSetting.location.visible) {\r\n columns.push(E.documentExportColumns.location);\r\n }\r\n if (commonGridSetting.version.visible) {\r\n columns.push(E.documentExportColumns.version);\r\n }\r\n if (commonGridSetting.readCount.visible) {\r\n columns.push(E.documentExportColumns.readCount);\r\n }\r\n if (commonGridSetting.documentId.visible) {\r\n columns.push(E.documentExportColumns.documentId);\r\n }\r\n if (commonGridSetting.approvedDate.visible) {\r\n columns.push(E.documentExportColumns.approvedDate);\r\n }\r\n if (commonGridSetting.approver.visible) {\r\n columns.push(E.documentExportColumns.approver);\r\n }\r\n if (commonGridSetting.responsible.visible) {\r\n switch (modelType) {\r\n case E.GridViewModelType.Document:\r\n columns.push(E.documentExportColumns.documentResponsible);\r\n break;\r\n case E.GridViewModelType.Process:\r\n case E.GridViewModelType.InterconnectedProcess:\r\n columns.push(E.documentExportColumns.processResponsible);\r\n break;\r\n\r\n default:\r\n columns.push(E.documentExportColumns.documentResponsible);\r\n break;\r\n }\r\n }\r\n if (commonGridSetting.hasAttachment.visible) {\r\n columns.push(E.documentExportColumns.hasAttachment);\r\n }\r\n if (commonGridSetting.readingReceipt.visible) {\r\n columns.push(E.documentExportColumns.readingReceipt);\r\n }\r\n if (commonGridSetting.readingReceiptDtmConfirmed.visible) {\r\n columns.push(E.documentExportColumns.readingReceiptDtmConfirmed);\r\n }\r\n return columns;\r\n}\r\n\r\nfunction setGridSetting(gridSettingkey, gridColumns) {\r\n var columnSettings = '';\r\n\r\n if (gridColumns.documentType) {\r\n columnSettings += 'documentType,';\r\n }\r\n\r\n if (gridColumns.location) {\r\n columnSettings += 'location,';\r\n }\r\n\r\n if (gridSettingkey == gridSettingKeys.readingListVisibilitySettings) {\r\n if (gridColumns.readingList) {\r\n columnSettings += 'readingList,';\r\n }\r\n\r\n if (gridColumns.isConfirmed) {\r\n columnSettings += 'isConfirmed,';\r\n }\r\n }\r\n\r\n if (gridColumns.version) {\r\n columnSettings += 'version,';\r\n }\r\n\r\n if (gridColumns.readCount) {\r\n columnSettings += 'readCount,';\r\n }\r\n\r\n if (gridColumns.approvedDate) {\r\n columnSettings += 'approvedDate,';\r\n }\r\n\r\n if (gridColumns.approver) {\r\n columnSettings += 'approver,';\r\n }\r\n\r\n if (gridColumns.responsible) {\r\n columnSettings += 'responsible,';\r\n }\r\n\r\n if (gridColumns.chapter) {\r\n columnSettings += 'chapter,';\r\n }\r\n\r\n if (gridColumns.documentId) {\r\n columnSettings += 'documentId,';\r\n }\r\n\r\n if (gridColumns.hasAttachment) {\r\n columnSettings += 'hasAttachment,';\r\n }\r\n\r\n if (gridColumns.documentInfo) {\r\n columnSettings += 'documentInfo,';\r\n }\r\n\r\n if (gridColumns.readingReceipt) {\r\n columnSettings += 'readingReceipt,';\r\n }\r\n\r\n if (gridColumns.readingReceiptDtmConfirmed) {\r\n columnSettings += 'readingReceiptDtmConfirmed,';\r\n }\r\n\r\n if (gridColumns.internet) {\r\n columnSettings += 'internet';\r\n }\r\n\r\n //Remove last commna if any\r\n var lastSplitterIndex = columnSettings.lastIndexOf(',');\r\n if (lastSplitterIndex >= columnSettings.length - 1) {\r\n columnSettings = columnSettings.substring(0, lastSplitterIndex);\r\n }\r\n\r\n if (gridSettingkey) {\r\n localStorage.setItem(gridSettingkey, columnSettings);\r\n } else {\r\n localStorage.setItem(gridSettingKeys.commonVisibilitySettings, columnSettings);\r\n }\r\n\r\n getGridSetting(gridSettingkey);\r\n}\r\n\r\nfunction updateColumnWidth() {\r\n commonGridSetting.title.width = '20%';\r\n commonGridSetting.documentType.width = '12%';\r\n commonGridSetting.chapter.width = '14%';\r\n commonGridSetting.readingList.width = '0%';\r\n commonGridSetting.isConfirmed.width = '0%';\r\n commonGridSetting.location.width = '18%';\r\n commonGridSetting.version.width = 'auto';\r\n commonGridSetting.version.minWidth = '77px';\r\n commonGridSetting.readCount.width = 'auto';\r\n commonGridSetting.readCount.minWidth = '65px';\r\n commonGridSetting.documentId.width = 'auto'; \r\n commonGridSetting.documentId.minWidth = '65px';\r\n commonGridSetting.approvedDate.width = 'auto';\r\n commonGridSetting.approvedDate.minWidth = '120px';\r\n commonGridSetting.approver.width = '9%';\r\n commonGridSetting.responsible.width = '10%';\r\n commonGridSetting.hasAttachment.width = '4%';\r\n commonGridSetting.readingReceipt.width = '4%';\r\n commonGridSetting.readingReceiptDtmConfirmed.width = 'auto';\r\n commonGridSetting.readingReceiptDtmConfirmed.minWidth = '120px';\r\n commonGridSetting.id.width = '0%';\r\n commonGridSetting.rowInfo.width = 'auto'; \r\n commonGridSetting.rowInfo.minWidth = '24px';\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.width = '24px';\r\n }\r\n}\r\n\r\nfunction getDefaultColumnWidth(gridSettingKey) {\r\n commonGridSetting.title.width = '20%';\r\n commonGridSetting.documentType.width = '12%';\r\n commonGridSetting.chapter.width = '14%';\r\n commonGridSetting.location.width = '18%';\r\n commonGridSetting.version.width = 'auto';\r\n commonGridSetting.version.minWidth = '77px';\r\n commonGridSetting.version.width = 'auto';\r\n commonGridSetting.version.minWidth = '65px';\r\n commonGridSetting.documentId.width = '65px';\r\n commonGridSetting.approvedDate.width = 'auto';\r\n commonGridSetting.approvedDate.minWidth = '120px';\r\n commonGridSetting.approver.width = '9%';\r\n commonGridSetting.responsible.width = '10%';\r\n commonGridSetting.hasAttachment.width = '4%';\r\n commonGridSetting.readingReceipt.width = '4%';\r\n commonGridSetting.readingReceiptDtmConfirmed.width = 'auto';\r\n commonGridSetting.readingReceiptDtmConfirmed.minWidth = '120px';\r\n commonGridSetting.id.width = '0%';\r\n commonGridSetting.rowInfo.width = 'auto'; \r\n commonGridSetting.rowInfo.minWidth = '24px';\r\n\r\n if (internetPublishOption && !publishedVersion) {\r\n commonGridSetting.internet.width = '24px';\r\n }\r\n\r\n if (gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n commonGridSetting.readingList.width = '0%';\r\n commonGridSetting.isConfirmed.width = '0%';\r\n }\r\n}\r\n\r\nfunction getBooleanValue(val) {\r\n return val === 'true';\r\n}\r\n\r\nfunction getArray(obj) {\r\n var array = [];\r\n for (var i in obj) {\r\n array.push(obj[i]);\r\n }\r\n return array;\r\n}\r\n\r\nfunction groupBy(list, fn) {\r\n var groups = {};\r\n for (var i = 0; i < list.length; i++) {\r\n var group = fn(list[i])[0];\r\n if (group in groups) {\r\n groups[group].value.data.push(list[i]);\r\n } else {\r\n groups[group] = { key: '', value: [] };\r\n groups[group].key = group;\r\n groups[group].value = { data: [], gridOption: {} };\r\n groups[group].value.data.push(list[i]);\r\n }\r\n }\r\n return getArray(groups);\r\n}\r\n\r\nString.format = function () {\r\n var result = arguments[0];\r\n for (var i = 0; i < arguments.length - 1; i++) {\r\n var reg = new RegExp(\"\\\\{\" + i + \"\\\\}\", \"gm\");\r\n result = result.replace(reg, arguments[i + 1]);\r\n }\r\n return result;\r\n}\r\n\r\nfunction FormattedDateDMYYYY(date, delimiter) {\r\n var month = date.getMonth() + 1;\r\n var day = date.getDate();\r\n var year = date.getFullYear();\r\n return day + delimiter + month + delimiter + year;\r\n}\r\n\r\nfunction ngGridLayoutPlugin() {\r\n var self = this;\r\n this.grid = null;\r\n this.scope = null;\r\n this.init = function (scope, grid, services) {\r\n self.domUtilityService = services.DomUtilityService;\r\n self.grid = grid;\r\n self.scope = scope;\r\n };\r\n\r\n this.updateGridLayout = function () {\r\n if (self.scope == null) {\r\n return;\r\n }\r\n if (!self.scope.$$phase) {\r\n self.scope.$apply(function () {\r\n self.domUtilityService.RebuildGrid(self.scope, self.grid);\r\n });\r\n }\r\n else {\r\n // $digest or $apply already in progress\r\n self.domUtilityService.RebuildGrid(self.scope, self.grid);\r\n }\r\n };\r\n}\r\n\r\nfunction msieversion() {\r\n var ua = window.navigator.userAgent\r\n var msie = ua.indexOf(\"MSIE \")\r\n\r\n if (msie > 0) // If Internet Explorer, return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)));\r\n else if (!!navigator.userAgent.match(/Trident.*rv\\:11\\./)) // If another browser, return 0\r\n return 11;\r\n else\r\n return 0;\r\n}\r\n\r\nfunction detectIE() {\r\n var ua = window.navigator.userAgent;\r\n\r\n // Test values; Uncomment to check result …\r\n\r\n // IE 10\r\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n // IE 11\r\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n // Edge 12 (Spartan)\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n // Edge 13\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n}\r\n\r\nfunction isSafari() {\r\n var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);\r\n return (isSafari == null ? false : isSafari);\r\n}\r\n\r\nvar NewsGridConfig = {\r\n pageSize: 10,\r\n maxDisplayPage: 3\r\n};\r\n\r\nfunction splitDateString(dateString) {\r\n if (dateString.indexOf('.') > -1) {\r\n return dateString.split('.');\r\n } else if (dateString.indexOf('/') > -1) {\r\n return dateString.split('/');\r\n } else if (dateString.indexOf('-') > -1) {\r\n return dateString.split('-');\r\n }\r\n}\r\n\r\nvar Utils = {\r\n ToDate: function (dateString) { //Norwegian format: dd.MM.yyyy\r\n if (dateString == \"\" || dateString == null) {\r\n return new Date('01-01-1900');\r\n }\r\n else {\r\n var dateParts = splitDateString(dateString);\r\n if (dateString.indexOf('/') > -1) {\r\n return new Date(dateParts[2], dateParts[0] - 1, dateParts[1], 0, 0, 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n\r\n return new Date(dateParts[2], dateParts[1] - 1, dateParts[0], 0, 0, 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n },\r\n ToDateTime: function (dateTimeString) {\r\n if (dateTimeString == \"\" || dateTimeString == null) {\r\n return new Date('01-01-1900');\r\n }\r\n else {\r\n var dateTimeParts = dateTimeString.split(' ');\r\n var dateParts = splitDateString(dateTimeParts[0]);\r\n var timeParts = dateTimeParts[1].split(':');\r\n if (dateString.indexOf('/') > -1) {\r\n return new Date(dateParts[2], dateParts[0] - 1, dateParts[1], timeParts[0], timeParts[1], 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n\r\n return new Date(dateParts[2], dateParts[1] - 1, dateParts[0], timeParts[0], timeParts[1], 0, 0); //year, month, day, hours, minutes, seconds, milliseconds\r\n }\r\n }\r\n};\r\n\r\nvar dialogTypes = {\r\n OK: 1,\r\n OK_CANCEL: 2,\r\n YES_NO: 3\r\n};\r\n\r\nvar dialogResults = {\r\n CONFIRM: 1,\r\n CANCEL: 2\r\n};\r\n\r\nvar RESPONSE_MESSAGE = {\r\n recommended: 1,\r\n notRecommended: 2,\r\n neutral: 3\r\n};\r\n\r\nvoid function $getLines($) {\r\n function countLines($element) {\r\n var lines = 0;\r\n var greatestOffset = void 0;\r\n\r\n $element.find('character').each(function () {\r\n if (!greatestOffset || this.offsetTop > greatestOffset) {\r\n greatestOffset = this.offsetTop;\r\n ++lines;\r\n }\r\n });\r\n\r\n return lines;\r\n }\r\n\r\n $.fn.getLines = function $getLines() {\r\n var lines = 0;\r\n var clean = this;\r\n var dirty = this.clone();\r\n\r\n (function wrapCharacters(fragment) {\r\n var parent = fragment;\r\n\r\n $(fragment).contents().each(function () {\r\n if (this.nodeType === Node.ELEMENT_NODE) {\r\n wrapCharacters(this);\r\n }\r\n else if (this.nodeType === Node.TEXT_NODE) {\r\n void function replaceNode(text) {\r\n var characters = document.createDocumentFragment();\r\n\r\n text.nodeValue.replace(/[\\s\\S]/gm, function wrapCharacter(character) {\r\n characters.appendChild($('' + character + '')[0]);\r\n });\r\n\r\n parent.replaceChild(characters, text);\r\n }(this);\r\n }\r\n });\r\n }(dirty[0]));\r\n\r\n clean.replaceWith(dirty);\r\n\r\n lines = countLines(dirty);\r\n\r\n dirty.replaceWith(clean);\r\n\r\n return lines;\r\n };\r\n}(jQuery);\r\n\r\nfunction getElementForTooltips(label, value) {\r\n\tvar fisrtOfElement = \"
\";\r\n\tvar centerOfElement = \" \";\r\n\tvar lastOfElement = \"
\";\r\n\r\n\treturn fisrtOfElement + label + centerOfElement + value + lastOfElement;\r\n}\r\n\r\n\r\nfunction generateRelatedDocumentTooltip(row) {\r\n var result = \"
\";\r\n\tresult += getElementForTooltips(globalResources.LinkedVirtually, row.virtual ? globalResources.Yes : globalResources.No);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Title, row.name);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Type, row.template);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Chapter, row.folderName);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Location, row.location);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.Version, row.version);\r\n\tresult += getElementForTooltips(globalResources.CommonGridColumns.DocumentId, row.documentId);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ApprovedDate, row.approvedDate);\r\n if (!publishedVersion) {\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Approver, row.approvedBy);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Responsible, row.responsible);\r\n }\r\n result += \"
\";\r\n\r\n return result;\r\n}\r\n\r\nfunction generateRelateProcessTooltip(row) {\r\n var result = \"
\";\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Title, row.name);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Status, row.approvalStatus);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ProcessArea, row.processAreaName);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Version, row.version);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Process, row.processNumber);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ApprovedDate, row.approvedDate);\r\n if (!publishedVersion) {\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Approver, row.approvedBy);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Responsible, row.responsible);\r\n }\r\n result += \"
\";\r\n\r\n return result;\r\n}\r\n\r\n\r\nfunction createTooltipsRelatedDocument(data) {\r\n if (data.relatedDocuments != null && data.relatedDocuments.length > 0) {\r\n data.relatedDocuments.forEach(function (item) {\r\n item.htmlTooltips = generateRelatedDocumentTooltip(item);\r\n });\r\n }\r\n if (data.relatedProcess != null && data.relatedProcess.length > 0) {\r\n data.relatedProcess.forEach(function (item) {\r\n item.htmlTooltips = generateRelateProcessTooltip(item);\r\n });\r\n }\r\n\r\n if (data.fieldContents != null) {\r\n data.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.relatedDocuments != null && fieldContent.relatedDocuments.length > 0) {\r\n fieldContent.relatedDocuments.forEach(function (item) {\r\n item.htmlTooltips = generateRelatedDocumentTooltip(item);\r\n });\r\n }\r\n if (fieldContent.relatedProcess != null && fieldContent.relatedProcess.length > 0) {\r\n fieldContent.relatedProcess.forEach(function (item) {\r\n item.htmlTooltips = generateRelateProcessTooltip(item);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\nvar LANGUAGECULTURE = 'languageCulture';\r\n\r\nvar LANGUAGES = {\r\n NorwegianBokmal: 'no',\r\n\tNorwegianNynorsk: 'nn',\r\n English: 'en'\r\n};\r\n\r\n/*Open dialog add members, roleId use for editrole view*/\r\nfunction openAddMembersDialog(modal, existedMember, titlePage, roleId, excludedQuitDepartmentId, folderId, isHearing) {\r\n if (excludedQuitDepartmentId == null)\r\n excludedQuitDepartmentId = false;\r\n\r\n var modalInstance = modal.open({\r\n templateUrl: '/app/components/document/addMembers.html',\r\n controller: 'AddMembersController as vm',\r\n size: 'lg',\r\n resolve: {\r\n existedEmployees: function () {\r\n return existedMember;\r\n },\r\n titlePage: function () {\r\n return titlePage;\r\n },\r\n roleId: function () {\r\n return roleId;\r\n },\r\n excludedQuitDepartmentId: function () {\r\n return excludedQuitDepartmentId;\r\n },\r\n folderId: function () {\r\n return folderId;\r\n },\r\n isHearing: function () {\r\n return isHearing;\r\n }\r\n }\r\n });\r\n\r\n return modalInstance;\r\n};\r\n\r\nvar gridUtilities = {\r\n lookupData: function (data, rowCollection, originalCollection, infiniteScrollLoadsize, total, currentRowIndex) {\r\n var newTotal = data != null ? data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n rowCollection = data;\r\n originalCollection = angular.copy(rowCollection);\r\n } else {\r\n if ((rowCollection == null || rowCollection.length == 0) || total != newTotal) {\r\n total = newTotal;\r\n currentRowIndex = 0;\r\n var response = gridUtilities.getAPageItem(data, infiniteScrollLoadsize, currentRowIndex, total);\r\n rowCollection = response.data;\r\n currentRowIndex = response.currentIndex;\r\n originalCollection = angular.copy(rowCollection);\r\n }\r\n }\r\n\r\n return { total: total, currentIndex: currentRowIndex, data: rowCollection };\r\n },\r\n getAPageItem: function (items, infiniteScrollLoadsize, currentRowIndex, total) {\r\n var data = [];\r\n var startIndex = currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if (currentRowIndex < total) {\r\n data.push(items[i]);\r\n currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return { data: data, currentIndex: currentRowIndex };\r\n }\r\n};\r\n\r\n\r\n\r\n// Production steps of ECMA-262, Edition 5, 15.4.4.17\r\n// Reference: https://es5.github.io/#x15.4.4.17\r\nif (!Array.prototype.some) {\r\n Array.prototype.some = function (fun, thisArg) {\r\n 'use strict';\r\n\r\n if (this == null) {\r\n throw new TypeError('Array.prototype.some called on null or undefined');\r\n }\r\n\r\n if (typeof fun !== 'function') {\r\n throw new TypeError();\r\n }\r\n\r\n var t = Object(this);\r\n var len = t.length >>> 0;\r\n\r\n for (var i = 0; i < len; i++) {\r\n if (i in t && fun.call(thisArg, t[i], i, t)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n}\r\n\r\n\r\nfunction getIconsWithReadPermission(nodeInfo, notTextWhite) {\r\n var iconFolder = '';\r\n if (nodeInfo.expanded) {\r\n iconFolder = nodeInfo.onlyRead ? \"far fa-folder-open\" : \"fa fa-folder-open\";\r\n }\r\n else {\r\n iconFolder = nodeInfo.onlyRead ? \"fal fa-folder\" : \"fa fa-folder\";\r\n }\r\n if (nodeInfo.type == null)\r\n return 'f-normal ' + iconFolder;\r\n switch (nodeInfo.type.toString()) {\r\n case E.nodeTypes.RegionalFolder:\r\n return 'f-regional ' + iconFolder;\r\n case E.nodeTypes.Folder:\r\n return 'f-normal ' + iconFolder;\r\n case E.nodeTypes.TopFolder:\r\n return 'f-enterprise ' + iconFolder;\r\n case E.nodeTypes.DepartmentFolder:\r\n return 'f-department ' + iconFolder;\r\n case E.nodeTypes.Document:\r\n return 'typcn typcn-document-text' + (notTextWhite ? '' : ' text-white');\r\n case E.nodeTypes.LinkDocument:\r\n return 'typcn typcn-link' + (notTextWhite ? '' : ' text-white');\r\n case E.nodeTypes.FileDocument:\r\n return 'typcn typcn-attachment' + (notTextWhite ? '' : ' text-white');\r\n case E.nodeTypes.ShortcutDocument:\r\n return 'virtual-document';\r\n default:\r\n return 'f-normal ' + iconFolder;\r\n }\r\n}","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npAlert', npAlert);\r\n\r\n function npAlert() {\r\n return {\r\n restrict: 'E',\r\n templateUrl: '/app/shared/alert/alert.html',\r\n scope: {\r\n alerts: '=',\r\n },\r\n controller: ['$scope', controller],\r\n controllerAs: 'vm'\r\n }\r\n\r\n function controller($scope) {\r\n var vm = this;\r\n vm.alerts = $scope.alerts;\r\n\r\n vm.closeAlert = closeAlert;\r\n\r\n function closeAlert(index) {\r\n vm.alerts.splice(0, vm.alerts.length);\r\n }\r\n }\r\n }\r\n})();","(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 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})();","\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 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})();","(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('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.provider('customDirectivesPath', function customDirectivesPathProvider() {\r\n var self = this;\r\n this.customPath = '~';\r\n\r\n this.$get = [function customDirectivesPathFactory() {\r\n return self.customPath;\r\n }];\r\n\r\n });\r\n\r\n directivesModule.provider(\"datePickerConfig\", function () {\r\n\r\n var self = this;\r\n this.config = {\r\n dateFormat: \"dd.MM.yyyy\",\r\n timeFormat: \"h:mm tt\"\r\n };\r\n\r\n this.$get = [function datePickerConfigFactory() {\r\n return self.config;\r\n }];\r\n });\r\n\r\n directivesModule.directive('customDatepicker', ['customDirectivesPath', function (customDirectivesPath) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n scope: {\r\n id: '@id',\r\n name: '@name',\r\n ngModel: '=ngModel',\r\n minDate: '=minDate',\r\n maxDate: \"=maxDate\",\r\n ngRequired: '=ngRequired',\r\n ngDisabled: '=ngDisabled',\r\n appendtoBody: '@appendtoBody',\r\n onChange: '&onChange',\r\n textboxClass: '@',\r\n focusElement: '=focusElement'\r\n },\r\n templateUrl: paths.DatePickerView,\r\n controller: ['$scope', function ($scope) {\r\n var patt = /Date\\(\\d+\\)/g;\r\n var pattLongDate = /\\d+/g;\r\n if ($scope.minDate) {\r\n if (!($scope.minDate instanceof Date)) {\r\n var isminDateMath = patt.test($scope.minDate);\r\n if (isminDateMath) {\r\n var longMinDate = $scope.minDate.match(pattLongDate);\r\n $scope.minDate = new Date(parseInt(longMinDate));\r\n }\r\n }\r\n }\r\n if ($scope.maxDate) {\r\n if (!($scope.maxDate instanceof Date)) {\r\n var ismaxDateMath = patt.test($scope.maxDate);\r\n if (ismaxDateMath) {\r\n var longMaxDate = $scope.maxDate.match(pattLongDate);\r\n $scope.maxDate = new Date(parseInt(longMaxDate));\r\n }\r\n }\r\n }\r\n\r\n if ($scope.ngModel) {\r\n var isMath = patt.test($scope.ngModel);\r\n if (isMath) {\r\n var longDate = $scope.ngModel.match(pattLongDate);\r\n $scope.ngModel = new Date(parseInt(longDate));\r\n } else {\r\n $scope.ngModel = new Date($scope.ngModel);\r\n }\r\n }\r\n\r\n $scope.dateOptions = {\r\n formatYear: 'yy',\r\n startingDay: 1,\r\n showWeeks: false,\r\n minDate: $scope.minDate,\r\n maxDate: $scope.maxDate\r\n };\r\n\r\n $scope.$watch('minDate', function (newValue) {\r\n $scope.dateOptions.minDate = newValue;\r\n });\r\n\r\n $scope.$watch('maxDate', function (newValue) {\r\n $scope.dateOptions.maxDate = newValue;\r\n });\r\n\r\n $scope.translation = globalResources;\r\n }],\r\n link: function ($scope, element, attrs) {\r\n\r\n $scope.open = function ($event) {\r\n var objectDate = angular.element(\".uib-datepicker-popup.dropdown-menu\");\r\n if (objectDate) {\r\n objectDate.css(\"display\", \"none\");\r\n }\r\n $scope.opened = false;\r\n setTimeout(function () {\r\n $scope.$apply(function () {\r\n $scope.opened = true;\r\n });\r\n }, 1);\r\n\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n };\r\n $scope.$watch(\"ngModel\", function (newValue, oldValue) {\r\n if (newValue && newValue != oldValue) {\r\n var patt = /Date\\(\\d+\\)/g;\r\n var pattLongDate = /\\d+/g;\r\n var isMath = patt.test(newValue);\r\n if (isMath) {\r\n var longDate = newValue.match(pattLongDate);\r\n $scope.ngModel = new Date(parseInt(longDate));\r\n }\r\n\r\n $scope.onChange();\r\n }\r\n });\r\n $scope.$watch('focusElement', function (value) {\r\n if (value) {\r\n element[0].firstElementChild.focus();\r\n $scope.focusElement = false;\r\n }\r\n });\r\n }\r\n }\r\n }]);\r\n\r\n directivesModule.directive('uibDatepickerPopupConfig', ['uibDatepickerConfig', function (uibDatepickerConfig) {\r\n return {\r\n priority: 1,\r\n require: 'ngModel',\r\n link: function (scope, ele, attrs, ctrl) {\r\n\r\n var isDateTimeInputValid = function (dateFormat, value) {\r\n var pattString = '^[\\\\d]{1,2}\\\\/[\\\\d]{1,2}\\\\/[\\\\d]{4}$';\r\n\r\n if (dateFormat.indexOf('.') > 0) {\r\n pattString = pattString.replace(new RegExp('\\\\/', 'g'), '.');\r\n } else if (dateFormat.indexOf('-') > 0) {\r\n pattString = pattString.replace('/', '-');\r\n }\r\n\r\n var patt = new RegExp(pattString);\r\n var match = patt.test(value);\r\n\r\n return match;\r\n };\r\n\r\n var dateLocallize = uibDatepickerConfig.dateFormat;\r\n ele.attr('title', dateLocallize);\r\n\r\n ctrl.$parsers.unshift(function (viewValue) {\r\n\r\n if (typeof viewValue != \"object\" && viewValue) {\r\n\r\n var match = isDateTimeInputValid(dateLocallize, viewValue);\r\n\r\n ctrl.$setValidity('uibDatepickerPopupConfig', match ? true : false);\r\n //if viewValue is not a date, does not parse to date time\r\n if (!match) {\r\n viewValue = undefined;\r\n }\r\n } else {\r\n ctrl.$setValidity('uibDatepickerPopupConfig', true);\r\n }\r\n return viewValue;\r\n });\r\n }\r\n }\r\n }]);\r\n})();\r\n","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npFeedbackButton', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n controller: ['$scope', '$http', '$uibModal', controller],\r\n templateUrl: paths.FeedbackButtonView,\r\n scope: {\r\n entityId: '='\r\n },\r\n };\r\n });\r\n\r\n function controller($scope, $http, $uibModal) {\r\n $scope.globalResources = globalResources;\r\n if ($scope.globalResources.Feedbacktooltip.indexOf('\\n(CTRL + ALT + T)') <= 0) {\r\n $scope.globalResources.Feedbacktooltip = $scope.globalResources.Feedbacktooltip + '\\n(CTRL + ALT + T)';\r\n }\r\n\r\n $scope.popupModal = function () {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.FeedbackModalView,\r\n controller: controllers.feedbackController,\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tentityId: $scope.entityId,\r\n\t\t\t\t\t\t\tpositive: null\r\n\t\t\t\t\t\t};\r\n }\r\n }\r\n });\r\n };\r\n\r\n $scope.$on(broadcastType.toggleDocumentFeedbackTarget, function (e, target) {\r\n $scope.popupModal();\r\n });\r\n }\r\n\r\n})();","(function () {\r\n var model = angular.module('feedbackModule', []);\r\n\r\n model.controller(controllers.feedbackController, ['$scope', '$http', '$uibModal', 'feedBackService', '$uibModalInstance', 'model', '$sce', 'configService',\r\n function ($scope, $http, $uibModal, feedBackService, $modalInstance, model, $sce, configService) {\r\n\r\n var vm = this;\r\n\r\n $scope.globalResources = angular.copy(globalResources);\r\n $scope.globalResources.Feedback_Message = $sce.trustAsHtml(globalResources.Feedback_Message);\r\n $scope.globalResources.Feedback_Message1 = $sce.trustAsHtml(globalResources.Feedback_Message1);\r\n $scope.globalResources.FeedBackCheckLabel = $sce.trustAsHtml(globalResources.FeedBackCheckLabel);\r\n $scope.globalResources.FeedBackCheckLabelA = $sce.trustAsHtml(globalResources.FeedBackCheckLabelA);\r\n $scope.globalResources.FeedBackCheckLabelB = $sce.trustAsHtml(globalResources.FeedBackCheckLabelB);\r\n $scope.globalResources.FeedBackCheckLabelC = $sce.trustAsHtml(globalResources.FeedBackCheckLabelC);\r\n $scope.globalResources.FeedBackCheckLabelD = $sce.trustAsHtml(globalResources.FeedBackCheckLabelD);\r\n $scope.globalResources.FeedBackCheckLabelE = $sce.trustAsHtml(globalResources.FeedBackCheckLabelE);\r\n $scope.globalResources.FeedBackCheckLabelF = $sce.trustAsHtml(globalResources.FeedBackCheckLabelF);\r\n $scope.globalResources.FeedBackCheckLabelG = $sce.trustAsHtml(globalResources.FeedBackCheckLabelG);\r\n $scope.globalResources.FeedBackCheckLabelH = $sce.trustAsHtml(globalResources.FeedBackCheckLabelH);\r\n\r\n $scope.feedBackLabels = [\r\n { value: 1, text: $scope.globalResources.FeedBackCheckLabelA, positive: true, result: 0 },\r\n { value: 2, text: $scope.globalResources.FeedBackCheckLabelB, positive: true, result: 0 },\r\n { value: 1, text: $scope.globalResources.FeedBackCheckLabelD, positive: false, result: 0 },\r\n { value: 2, text: $scope.globalResources.FeedBackCheckLabelE, positive: false, result: 0 },\r\n { value: 4, text: $scope.globalResources.FeedBackCheckLabelF, positive: false, result: 0 },\r\n { value: 8, text: $scope.globalResources.FeedBackCheckLabelG, positive: false, result: 0 },\r\n { value: 16, text: $scope.globalResources.FeedBackCheckLabelH, positive: false, result: 0 }\r\n ];\r\n\r\n if (HandbookConfiguration.RecipientsForFeedbackMail == E.RecipientsForFeedbackMail.OwnerOnly) {\r\n $scope.isOwnerOnly = true;\r\n }\r\n\r\n vm.enableExtendedFeedback = configService.getBool(HandbookConfiguration.EnableExtendedFeedback);\r\n $scope.enableExtendedFeedback = vm.enableExtendedFeedback;\r\n\r\n $scope.currentData = {\r\n\t\t\t\tpositive: model.positive,\r\n feedbackMessage: '',\r\n feedBack: 0,\r\n sendAlsoToApprover: false\r\n };\r\n\r\n $scope.sendFeedback = function () {\r\n if (vm.enableExtendedFeedback) {\r\n const selectedOption = getSelectedFeedBack();\r\n if (selectedOption) {\r\n $scope.currentData.feedbackMessage = selectedOption + $scope.currentData.feedbackMessage;\r\n\t\t\t\t\t}\r\n }\r\n if (!validFeedBack()) {\r\n alert(globalResources.PleaseEnterFeedback);\r\n return false;\r\n }\r\n return feedBackService\r\n\t\t\t\t\t.sendFeedback(model.entityId, $scope.currentData)\r\n .then(function (response) {\r\n if (response) {\r\n $modalInstance.close(true);\r\n resetCurrentData();\r\n alert(globalResources.ThanksForYourFeedback);\r\n }\r\n });\r\n };\r\n\r\n $scope.close = function () {\r\n $modalInstance.close(true);\r\n };\r\n\r\n $scope.calculateFeedBack = function () {\r\n var count = 0;\r\n\r\n var feedBackLabels = $scope.feedBackLabels || [];\r\n for (var i = 0; i < feedBackLabels.length; i++) {\r\n var x = feedBackLabels[i];\r\n if (parseInt(x.result) > 0) {\r\n count = count + parseInt(x.result);\r\n }\r\n }\r\n\r\n $scope.currentData.feedBack = count;\r\n }\r\n\r\n function validFeedBack() {\r\n if ($scope.currentData.feedbackMessage || $scope.currentData.feedBack) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function resetCurrentData() {\r\n $scope.currentData.positive = null;\r\n $scope.currentData.feedbackMessage = '';\r\n $scope.currentData.feedBack = 0;\r\n $scope.currentData.sendAlsoToApprover = false;\r\n }\r\n\r\n function getSelectedFeedBack() {\r\n var value = '';\r\n\r\n var feedBackLabels = $scope.feedBackLabels || [];\r\n for (var i = 0; i < feedBackLabels.length; i++) {\r\n var x = feedBackLabels[i];\r\n if (parseInt(x.result) > 0) {\r\n value = value + x.text + '\\n';\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n\r\n }]);\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npCommonGrid', function () {\r\n return {\r\n restrict: 'E',\r\n transclude: true,\r\n controller: ['$scope', '$state', '$timeout', '$filter', 'localStorageService', 'browserService', controller],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/grid/commonGrid.html',\r\n scope: {\r\n data: '=',\r\n gridSetting: '=',\r\n notFixHeightRow: '=',\r\n hiddencheck: '=',\r\n rowCss: '=',\r\n maxHeight: '=',\r\n identifier: '@',\r\n wrapText: '=',\r\n onSelectRow: '&onSelectRow',\r\n onDoubleClick: '&onDoubleClick',\r\n gridSettingKey: '@',\r\n columnNotRemove: '=',\r\n hiddenShowAll: '=',\r\n showCheckboxOnProperty: '@',\r\n onRowClick: '&onRowClick',\r\n notUpperHeader: '=',\r\n isTotalTitle: '=',\r\n isProcess: '=',\r\n loadSize:'='\r\n },\r\n link: function (scope, element, attrs, ctrl, transclude) {\r\n transclude(scope, function (clone) {\r\n element.append(clone);\r\n });\r\n\r\n if (scope.showCheckboxOnProperty != null) {\r\n scope.$watch('data', function (data, old) {\r\n if (data != null) {\r\n var numberOfHiddenCheckboxes = 0;\r\n for (var i = 0; i < data.length; i++) {\r\n if (!data[i][scope.showCheckboxOnProperty]) {\r\n numberOfHiddenCheckboxes++;\r\n }\r\n }\r\n\r\n if (numberOfHiddenCheckboxes == data.length) {\r\n scope.hideAllCheckboxes = true;\r\n } else {\r\n scope.hideAllCheckboxes = false;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $state, $timeout, $filter, localStorageService, browserService) {\r\n var vm = this;\r\n vm.translation = globalResources;\r\n vm.columnsDefinition = [];//$scope.gridSetting;\r\n vm.commonGridSetting = [];//angular.copy(calculateColumnsWidth());\r\n vm.onRowClick = onRowClick;\r\n vm.onDoubleClick_ = function (row) {\r\n $scope.onDoubleClick({ row: row });\r\n };\r\n vm.data = arrayCopy($scope.data);\r\n vm.originalData = arrayCopy($scope.data);\r\n vm.selectRow = selectRow;\r\n\t\tvm.showColumnInformation = false;\r\n\t\t$scope.reverse = true;\r\n $scope.currentRowIndex = 0;\r\n $scope.total = vm.data != null ? vm.data.length : 0;\r\n $scope.rowCollection = [];\r\n $scope.showAllDocuments = showAllDocuments;\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n\r\n $scope.selectedColumn = { order: 'descending', key: '' };\r\n $scope.times = 0;\r\n $scope.originalCollection = [];\r\n vm.showSortIcon = true;\r\n vm.totalTitle = $scope.isTotalTitle ? vm.translation.Total : vm.translation.TotalNumberDocument;\r\n vm.isProcess = $scope.isProcess ? true : false;\r\n\r\n var orderBy = $filter('orderBy');\r\n\r\n var infiniteScrollLoadsize = $scope.loadSize;\r\n if (!infiniteScrollLoadsize) {\r\n infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ? 0 : parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n }\r\n\r\n $scope.initialize = function () {\r\n getSettingGridColumn();\r\n };\r\n\r\n function getSettingGridColumn() {\r\n vm.columnsDefinition = $scope.gridSetting;\r\n if ($scope.gridSettingKey) {\r\n var localStorage = localStorageService.getItem($scope.gridSettingKey);\r\n if (localStorage != undefined) {\r\n var objectLocalStorage = JSON.parse(localStorage);\r\n vm.columnsDefinition = objectLocalStorage;\r\n for (var i = 0; i < $scope.gridSetting.length; i++) {\r\n vm.columnsDefinition[i].name = $scope.gridSetting[i].name;\r\n }\r\n\r\n }\r\n }\r\n vm.commonGridSetting = angular.copy(calculateColumnsWidth());\r\n vm.showColumnInformation = false;\r\n vm.commonGridSetting.forEach(function (item) {\r\n if (item.id == 'information' && item.coldefault) {\r\n vm.showColumnInformation = true;\r\n }\r\n });\r\n };\r\n\r\n var lastStart = 0;\r\n $scope.nextPage = function getData(tableState) {\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n } else {\r\n //if we reset (like after a search or an order)\r\n if (tableState.pagination.start === 0) {\r\n if ($scope.rowCollection == null || $scope.rowCollection.length == 0) {\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n }\r\n } else {\r\n //we load more\r\n $scope.rowCollection = $scope.rowCollection.concat(getAPage());\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n $scope.$apply();\r\n }\r\n\r\n lastStart = tableState.pagination.start;\r\n }\r\n };\r\n\r\n\t\t$scope.order = function (predicate, type) {\r\n\t\t\t$scope.reverse = !$scope.reverse;\r\n\t\t\tvar reverse = $scope.reverse;\r\n if (predicate == $scope.selectedColumn.key || $scope.selectedColumn.key == \"\") { // Click header more than one time\r\n $scope.times += 1;\r\n } else { // Click another column\r\n $scope.times = 1;\r\n }\r\n $scope.selectedColumn.key = predicate;\r\n $scope.selectedColumn.order = reverse ? 'descending' : 'ascending';\r\n if ($scope.times > 2) {\r\n vm.showSortIcon = false;\r\n\t\t\t\tvm.data = arrayCopy(vm.originalData);\r\n\t\t\t\t$scope.reverse = !$scope.reverse;\r\n $scope.times = 0;\r\n } else {\r\n switch (type) {\r\n case COLUMN_DATA_TYPES.STRING_DATE_TIME:\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDateTime(x[predicate]);\r\n var d2 = Utils.ToDateTime(y[predicate]);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n case COLUMN_DATA_TYPES.STRING_DATE:\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDate(x[predicate]);\r\n var d2 = Utils.ToDate(y[predicate]);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n default:\r\n vm.data = orderBy(vm.originalData, predicate, reverse);\r\n break;\r\n }\r\n vm.showSortIcon = true;\r\n }\r\n $scope.rowCollection = vm.data.slice(0, $scope.currentRowIndex);\r\n $scope.originalCollection = arrayCopy(vm.rowCollection);\r\n };\r\n\r\n $scope.$watch('data', function (data, old) { // This handler for initialize data.\r\n vm.data = arrayCopy($scope.data);\r\n vm.originalData = arrayCopy($scope.data);\r\n var newTotal = data != null ? data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n } else {\r\n if ($scope.rowCollection.length == 0 || $scope.total != newTotal) {\r\n $scope.total = newTotal;\r\n $scope.currentRowIndex = 0;\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n\r\n $timeout(function () { //scroll a bit up\r\n var gridBody = angular.element('#' + folderContent.gridDocuments + ' tbody')[0];\r\n var scrollTop = gridBody.scrollTop;\r\n gridBody.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n }\r\n }, true);\r\n\r\n $scope.$on(broadcastType.gridDataChanges, function (e, target) {\r\n if (target.id != $scope.identifier) return;\r\n\r\n var newTotal = target.data != null ? target.data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = target.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n return;\r\n }\r\n\r\n if ($scope.rowCollection.length == 0 || $scope.total != newTotal || target.isForced) {\r\n $scope.total = newTotal;\r\n $scope.currentRowIndex = 0;\r\n vm.data = target.data;\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n\r\n $timeout(function () { //scroll a bit up\r\n var gridBody = angular.element('#' + folderContent.gridDocuments + ' tbody')[0];\r\n var scrollTop = gridBody.scrollTop;\r\n gridBody.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n });\r\n\r\n $scope.$on($scope.gridSettingKey, function (e, target) {\r\n getSettingGridColumn();\r\n });\r\n\r\n function showAllDocuments() {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n $scope.currentRowIndex = $scope.total;\r\n }\r\n\r\n function getAPage() {\r\n var data = [];\r\n var startIndex = $scope.currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if ($scope.currentRowIndex < $scope.total) {\r\n data.push(vm.data[i]);\r\n $scope.currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return data;\r\n }\r\n\r\n function onRowClick(row) {\r\n $scope.onRowClick({ id: row.id, isProcess: row.isProcess, version: row.version, row: row });\r\n };\r\n\r\n function selectRow(e, row) {\r\n e.stopPropagation();\r\n }\r\n\r\n function calculateColumnsWidth(numColumns, extraWidth) {\r\n\r\n var __numCoumns = numColumns == null ? 0 : numColumns;\r\n var __extraWidth = extraWidth == null ? 0 : extraWidth;\r\n var additionWidth = 0;\r\n if (__numCoumns > 0) {\r\n additionWidth = (__extraWidth / __numCoumns);\r\n }\r\n var temp = [];\r\n angular.copy(vm.columnsDefinition, temp);\r\n var ratio100 = 100;\r\n var columns = 0;\r\n var index = -1;\r\n for (var i = 0; i < vm.columnsDefinition.length; i++) {\r\n var column = vm.columnsDefinition[i];\r\n if (column.coldefault && column.id != $scope.columnNotRemove) {\r\n if (String(column.width).indexOf('px') <= 0) {\r\n var ratio = additionWidth + parseInt(column.width);\r\n ratio100 = ratio100 - ratio;\r\n temp[i].width = ratio + '%';\r\n columns += 1;\r\n }\r\n } else if (column.id == $scope.columnNotRemove) {\r\n index = i;\r\n }\r\n }\r\n if (index != -1) {\r\n if (ratio100 < 3) {\r\n temp[index].width = \"100px\";\r\n } else {\r\n temp[index].width = ratio100 + \"%\";\r\n }\r\n }\r\n if (ratio100 > 51 && ratio100 != 100) {\r\n temp = calculateColumnsWidth(columns, (ratio100 - 50));\r\n }\r\n\r\n return temp;\r\n }\r\n\r\n $scope.$watch('gridSetting', function (newData, oldData) {\r\n if (newData != null && newData != oldData) {\r\n getSettingGridColumn();\r\n }\r\n });\r\n \r\n function arrayCopy(data) {\r\n if (data && data.length > 0) {\r\n return data.slice();\r\n }\r\n };\r\n };\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npCommonGridSetting', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', 'broadcastService','localStorageService', controller],\r\n scope: {\r\n columnsConfiguration: '=',\r\n color: '@',\r\n gridSettingKey: '@',\r\n columnNotRemove: '=',\r\n showInfoCol: '='\r\n },\r\n templateUrl: '/app/shared/grid/commonGridSetting.html',\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n scope.showGridSettingContextMenu = false;\r\n $('body').click(function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showGridSettingContextMenu = false;\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, broadcastService, localStorageService) {\r\n $scope.translation = globalResources;\r\n $scope.optionalColumns = angular.copy($scope.columnsConfiguration);\r\n\r\n $scope.initialize = function () {\r\n loadColumnsConfiguration();\r\n }\r\n\r\n function loadColumnsConfiguration() {\r\n var localStorage = localStorageService.getItem($scope.gridSettingKey);\r\n if (localStorage != undefined) {\r\n var objectLocalStorage = JSON.parse(localStorage);\r\n $scope.columnsConfiguration = objectLocalStorage;\r\n } else {\r\n $scope.columnsConfiguration = angular.copy($scope.optionalColumns);\r\n }\r\n }\r\n\r\n $scope.updateGrid = function ($event) {\r\n localStorageService.setItem($scope.gridSettingKey, JSON.stringify($scope.columnsConfiguration));\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n\r\n //var gridSetting = getGridSetting($scope.gridSettingKey);\r\n broadcastService($scope.gridSettingKey, {\r\n value: $scope.columnsConfiguration\r\n });\r\n };\r\n\r\n $scope.checkItem = function (column) {\r\n if (column.id != $scope.columnNotRemove) {\r\n column.coldefault = !column.coldefault;\r\n }\r\n };\r\n\r\n $scope.checkAll = function () {\r\n $scope.columnsConfiguration.forEach(function (item) {\r\n if (item.id != $scope.columnNotRemove) {\r\n item.coldefault = true;\r\n }\r\n });\r\n };\r\n\r\n $scope.uncheckAll = function () {\r\n $scope.columnsConfiguration.forEach(function (item) {\r\n if (item.id != $scope.columnNotRemove) {\r\n item.coldefault = false;\r\n }\r\n });\r\n };\r\n\r\n $scope.showPopup = function () {\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n if ($scope.showGridSettingContextMenu) {\r\n loadColumnsConfiguration();\r\n }\r\n };\r\n }\r\n\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npGridControl', function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$state', '$timeout', '$filter', '$sce', 'favoriteService', 'documentService', 'configService', controller],\r\n controllerAs: 'vm',\r\n templateUrl: paths.GridControlView,\r\n scope: {\r\n gridSettingKey: '@',\r\n columnsDefinition: '=',\r\n documents: '=',\r\n groupDocument: '=',\r\n highlightMissingDocuments: '=',\r\n onOpenDocument: '&onOpenDocument',\r\n isProcess: '=',\r\n onOpenProcess: '&onOpenProcess',\r\n onOpenProcessArea: '&onOpenProcessArea',\r\n includeProcess: '=',\r\n isProcessInterconnected: '=',\r\n onOpenProcessInterconnected: '&onOpenProcessInterconnected'\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $state, $timeout, $filter, $sce, favoriteService, documentService, configService) {\r\n $scope.translation = globalResources;\r\n $scope.resources = resources;\r\n $scope.gridSettingKeys = gridSettingKeys;\r\n $scope.columnsDefinition = $scope.columnsDefinition ? $scope.columnsDefinition : optionalColumnsDenifinition;\r\n $scope.commonGridSetting = angular.copy(calculateColumnsWidth());\r\n $scope.openDocument = openDocument;\r\n $scope.openFolder = openFolder;\r\n $scope.currentRowIndex = 0;\r\n var vm = this;\r\n vm.data = arrayCopy($scope.documents);\r\n vm.originalData = arrayCopy($scope.documents);\r\n $scope.total = vm.data != null ? vm.data.length : 0;\r\n $scope.rowCollection = [];\r\n $scope.showAllDocuments = showAllDocuments;\r\n $scope.generateDocumentTooltip = generateDocumentTooltip;\r\n $scope.generateAttachmentTooltip = generateAttachmentTooltip;\r\n $scope.viewDocumentFieldDirectly = configService.getBool(HandbookConfiguration.ViewDocumentFieldDirectly) && configService.getBool(HandbookConfiguration.EnabledCheckViewDocumentFieldDirectly);\r\n $scope.selectedColumn = { order: 'descending', key: '' };\r\n $scope.times = 0;\r\n $scope.originalCollection = [];\r\n $scope.showSortIcon = true;\r\n $scope.isIE = detectIE();\r\n $scope.reverse = true;\r\n $scope.openProcess = openProcess;\r\n $scope.openProcessArea = openProcessArea;\r\n $scope.openProcessInterconnected = openProcessInterconnected;\r\n vm.maxHeight = '100%';\r\n\r\n vm.isProcess = $scope.isProcess ? true : false;\r\n vm.includeProcess = $scope.includeProcess ? true : false;\r\n vm.isProcessInterconnected = $scope.isProcessInterconnected ? true : false;\r\n var orderBy = $filter('orderBy');\r\n var infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n var internetPublishOption = configService.getBool(HandbookConfiguration.InternetPublishOption);\r\n var publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.processClassificationTypes = E.processClassificationTypes;\r\n\r\n $scope.$on(broadcastType.gridSettingTarget, function (e, target, gridSettingKey) {\r\n if (gridSettingKey == $scope.gridSettingKey) {\r\n $scope.columnsDefinition = optionalColumnsDenifinition;\r\n\t\t\t\t$scope.commonGridSetting = angular.copy(calculateColumnsWidth());\r\n }\r\n });\r\n\r\n var lastStart = 0;\r\n $scope.nextPage = function getData(tableState) {\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n } else {\r\n //if we reset (like after a search or an order)\r\n if (tableState.pagination.start === 0) {\r\n if ($scope.rowCollection == null || $scope.rowCollection.length == 0) {\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n }\r\n } else {\r\n //we load more\r\n $scope.rowCollection = $scope.rowCollection.concat(getAPage());\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n $scope.$apply();\r\n\r\n //remove first nodes if needed\r\n /*if (lastStart < tableState.pagination.start && $scope.rowCollection.length > (parseInt(HandbookConfiguration.InfiniteScrollLoadSize) * 2)) {\r\n //remove the first nodes\r\n $scope.rowCollection.splice(0, parseInt(HandbookConfiguration.InfiniteScrollLoadSize));\r\n }*/\r\n }\r\n\r\n lastStart = tableState.pagination.start;\r\n }\r\n };\r\n\r\n $scope.order = function (predicate) {\r\n\t\t\t$scope.reverse = !$scope.reverse;\r\n\t\t\tvar reverse = $scope.reverse;\r\n if (predicate == $scope.selectedColumn.key || $scope.selectedColumn.key == \"\") { // Click header more than one time\r\n $scope.times +=1;\r\n } else { // Click another column\r\n $scope.times = 1;\r\n }\r\n $scope.selectedColumn.key = predicate;\r\n $scope.selectedColumn.order = reverse ? 'descending' : 'ascending';\r\n if ($scope.times > 2) { \r\n $scope.showSortIcon = false;\r\n\t\t\t\tvm.data = arrayCopy(vm.originalData);\r\n\t\t\t\t$scope.reverse = !$scope.reverse;\r\n $scope.times = 0;\r\n } else {\r\n switch (predicate) {\r\n case 'approvedDate':\r\n vm.data = arrayCopy(vm.originalData);\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDate(x.approvedDate);\r\n var d2 = Utils.ToDate(y.approvedDate);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n\r\n case 'readingReceiptDtmConfirmed':\r\n case 'readingReceipt':\r\n vm.data = arrayCopy(vm.originalData);\r\n vm.data.sort(function (x, y) {\r\n var d1 = Utils.ToDate(x.readingReceiptDtmConfirmed);\r\n var d2 = Utils.ToDate(y.readingReceiptDtmConfirmed);\r\n if (reverse) {\r\n return d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n } else {\r\n return d1 > d2 ? 1 : (d1 == d2 ? 0 : -1);\r\n }\r\n });\r\n break;\r\n\t\t\t\t\tcase 'internet':\r\n vm.data = orderBy(vm.originalData, 'internetDocument', reverse);\r\n\t\t\t\t\t\tbreak;\r\n\r\n default:\r\n vm.data = orderBy(vm.originalData, predicate, reverse);\r\n break;\r\n }\r\n $scope.showSortIcon = true;\r\n }\r\n $scope.rowCollection = $scope.currentRowIndex ? vm.data.slice(0, $scope.currentRowIndex) : vm.data.slice(0);;\r\n $scope.originalCollection = arrayCopy(vm.rowCollection);\r\n };\r\n\r\n $scope.$watch('documents', function (data) { // This handler for initialize data.\r\n vm.data = arrayCopy($scope.documents);\r\n vm.originalData = arrayCopy($scope.documents);\r\n var newTotal = data != null ? data.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n } else {\r\n if ($scope.rowCollection.length == 0 || $scope.total != newTotal || hasDataChange($scope.rowCollection, vm.data)) {\r\n $scope.total = newTotal;\r\n $scope.currentRowIndex = 0;\r\n $scope.rowCollection = getAPage();\r\n $scope.originalCollection = arrayCopy($scope.rowCollection);\r\n\r\n $timeout(function () { //scroll a bit up\r\n var gridBody = angular.element('#' + folderContent.gridDocuments + ' tbody')[0];\r\n var scrollTop = gridBody.scrollTop;\r\n gridBody.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n }\r\n processChangeHeightForTable();\r\n });\r\n\r\n function hasDataChange(oldData, newData) {\r\n for (var i = 0; i < oldData.length; i++) {\r\n if (oldData[i].id != newData[i].id) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n function showAllDocuments() {\r\n $scope.rowCollection = vm.data;\r\n $scope.originalCollection = angular.copy($scope.rowCollection);\r\n $scope.currentRowIndex = $scope.total;\r\n }\r\n\r\n $scope.$on('showAllDocumentInGroup', function (e, target) {\r\n showAllDocuments();\r\n });\r\n \r\n\t\tfunction generateDocumentTooltip(row) {\r\n\t\t\tvar result = \"
\";\r\n\t\t\tresult += getElementForTooltips(globalResources.LinkedVirtually, row.virtual ? globalResources.Yes : globalResources.No);\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.Title, row.name);\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.Type, row.template);\r\n result += getElementForTooltips(row.isProcess ? globalResources.ProcessArea : globalResources.CommonGridColumns.Chapter, row.folderName);\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.Location, row.location);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Version, row.version);\r\n var documentId = 0;\r\n if (row.isProcess) {\r\n documentId = row.processNumber ? row.processNumber : row.processInterconnectedNumber;\r\n } else {\r\n documentId = row.documentId;\r\n }\r\n\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.DocumentId, documentId);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.ApprovedDate, row.approvedDate);\r\n if (!publishedVersion) {\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Approver, row.approvedBy);\r\n result += getElementForTooltips(globalResources.CommonGridColumns.Responsible, row.responsible);\r\n }\r\n\r\n\t\t\tif ($scope.gridSettingKey == gridSettingKeys.readingListVisibilitySettings) {\r\n\t\t\t\tvar confirm = row.isConfirmed ? globalResources.Yes : globalResources.No;\r\n\t\t\t\tresult += getElementForTooltips(globalResources.Confirmed, confirm);\r\n\t\t\t}\r\n if (row.readingReceiptDtmConfirmed != null && row.readingReceiptDtmConfirmed != '') {\r\n\t\t\t\tresult += getElementForTooltips(globalResources.CommonGridColumns.ReadingReceiptDtmCOnfirmedColumnHeader, row.readingReceiptDtmConfirmed);\r\n if (row.readingReceiptValidity != null && row.readingReceiptValidity != 0 && row.readingReceiptsExpire) {\r\n var confirmDate = Utils.ToDate(row.readingReceiptDtmConfirmed);\r\n confirmDate.setMonth(confirmDate.getMonth() + row.readingReceiptValidity);\r\n result += getElementForTooltips(globalResources.ValidToReading, $filter('date')(confirmDate, 'dd.MM.yyyy'));\r\n } \r\n }\r\n if (internetPublishOption && !publishedVersion) {\r\n var internet = ((row.isProcess && row.isInternet) || row.internetDocument) ? globalResources.Yes : globalResources.No;\r\n\t\t\t\tresult += getElementForTooltips(globalResources.publishedInternet, internet);\r\n }\r\n if ($scope.gridSettingKey == gridSettingKeys.readingListVisibilitySettings && $scope.columnsDefinition.readingList) {\r\n result += getElementForTooltips(globalResources.ReadingLists, (row.readingListName || '').replace(/,/g, ',
'));\r\n }\r\n result += \"
\";\r\n\r\n return result;\r\n\t\t}\r\n\r\n $scope.htmlTooltip = $sce.trustAsHtml('I\\'ve been made bold!');\r\n\r\n function generateAttachmentTooltip(row) {\r\n var result = \"\";\r\n if (row.agreeFiles && row.agreeFiles.length) {\r\n result = \"
\" + $scope.translation.AgreeFiles + \"
\"\r\n result += \"
\";\r\n for (var i = 0; i < row.agreeFiles.length; i++) {\r\n result += \"
\";\r\n result += ` ${row.agreeFiles[i].name}`;\r\n result += \"
\";\r\n }\r\n result += \"
\"\r\n }\r\n if (row.attachments && row.attachments.length) {\r\n if (row.isProcess) {\r\n result += \"
\" + $scope.translation.Attachments + \"
\";\r\n result += \"
\";\r\n for (var i = 0; i < row.attachments.length; i++) {\r\n result += \"
\";\r\n result += ` ${row.attachments[i].fileName}`;\r\n result += \"
\";\r\n }\r\n result += \"
\"\r\n }\r\n else {\r\n result += \"
\" + $scope.translation.Attachments + \"
\";\r\n result += \"
\";\r\n for (var i = 0; i < row.attachments.length; i++) {\r\n result += \"
\";\r\n result += ` ${row.attachments[i].name}`;\r\n result += \"
\";\r\n }\r\n result += \"
\"\r\n }\r\n \r\n }\r\n \r\n\t\t\treturn result;\r\n }\r\n\r\n function getAPage() {\r\n var data = [];\r\n var startIndex = $scope.currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if ($scope.currentRowIndex < $scope.total) {\r\n data.push(vm.data[i]);\r\n $scope.currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return data;\r\n }\r\n \r\n function openDocument(documentId) {\r\n $scope.onOpenDocument({ id: documentId });\r\n };\r\n\r\n function openFolder(folderId) {\r\n $state.go(handbookActions.FolderAction, { folderId: folderId });\r\n }\r\n\r\n function openProcess(processNumber) {\r\n $scope.onOpenProcess({ processNumber: processNumber });\r\n }\r\n\r\n function openProcessArea(id) {\r\n $scope.onOpenProcessArea({ areaId: id });\r\n }\r\n\r\n function openProcessInterconnected(processInterconnectedNumber) {\r\n $scope.onOpenProcessInterconnected({ processInterconnectedNumber: processInterconnectedNumber });\r\n }\r\n\r\n function calculateColumnsWidth(numColumns, extraWidth) {\r\n var __numCoumns = numColumns == null ? 0 : numColumns;\r\n var __extraWidth = extraWidth == null ? 0 : extraWidth;\r\n var additionWidth = 0;\r\n if (__numCoumns > 0) {\r\n additionWidth = (__extraWidth / __numCoumns);\r\n } \r\n var columns = 0; // title column always visible.\r\n var temp = commonGridSetting;\r\n var ratio = 100;\r\n temp.title.width = ratio + '%';\r\n if ($scope.columnsDefinition.documentType) {\r\n ratio -= (additionWidth + 12);\r\n temp.documentType.width = (additionWidth + 12) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.chapter) {\r\n ratio -= (additionWidth + 13);\r\n temp.chapter.width = (additionWidth + 13) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.location) {\r\n ratio -= (additionWidth + 17);\r\n temp.location.width = (additionWidth + 17) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.approver) {\r\n ratio -= (additionWidth + 8);\r\n temp.approver.width = (additionWidth + 8) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.responsible) {\r\n ratio -= (additionWidth + 9);\r\n temp.responsible.width = (additionWidth + 9) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.hasAttachment) {\r\n ratio -= (additionWidth + 4);\r\n temp.hasAttachment.width = (additionWidth + 4) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.documentId) {\r\n ratio -= (additionWidth + 5);\r\n temp.documentId.width = (additionWidth + 5) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.version) {\r\n ratio -= (additionWidth + 7);\r\n temp.version.width = (additionWidth + 7) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.readCount) {\r\n ratio -= (additionWidth + 5);\r\n temp.readCount.width = (additionWidth + 5) + '%';\r\n columns += 1;\r\n }\r\n if ($scope.columnsDefinition.approvedDate) {\r\n ratio -= (additionWidth + 9);\r\n temp.approvedDate.width = (additionWidth + 9) + '%';\r\n columns += 1;\r\n }\r\n\r\n if (ratio > 3) {\r\n temp.title.width = ratio + '%';\r\n } else {\r\n temp.title.width = '100px';\r\n }\r\n \r\n if (ratio > 51 && ratio != 100) {\r\n temp = calculateColumnsWidth(columns, (ratio - 50));\r\n }\r\n return temp;\r\n };\r\n\r\n function arrayCopy(data) {\r\n if (data && data.length > 0) {\r\n return data.slice();\r\n }\r\n };\r\n\r\n $scope.$on('processChangeHeightForTable', function (e, target) {\r\n processChangeHeightForTable();\r\n });\r\n\r\n function processChangeHeightForTable() {\r\n\r\n if ($scope.groupDocument) {\r\n if (infiniteScrollLoadsize != 0) {\r\n var rows = infiniteScrollLoadsize;\r\n vm.maxHeight = (rows * 29.89) + 'px';\r\n }\r\n return;\r\n }\r\n $timeout(function () { //scroll a bit up\r\n var gridDocuments = angular.element('#' + folderContent.gridDocuments + '');\r\n //var parent = gridDocuments.parent().parent().parent();\r\n var parent = gridDocuments;\r\n if (parent && parent.position()) {\r\n var documentHeight = $(document).height();\r\n var contentHeight = documentHeight - parent.position().top;\r\n //angular.element('#' + folderContent.gridDocuments + '').css({ maxheight: contentHeight - 20 });\r\n vm.maxHeight = (contentHeight - 20) + \"px\";\r\n $scope.$apply();\r\n } \r\n }, 100, false);\r\n }\r\n //$('.popover-visible-trigger')\r\n // .popover('show')\r\n // .off('click');\r\n }\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npGridExporter', [function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['ngDialog', '$scope', controller],\r\n scope: {\r\n excelExporterUrl: '@',\r\n wordExporterUrl: '@',\r\n exportParams: '=',\r\n loadExportColumns: '&', // Some views get column settings from local storage, we also need to support this case\r\n fileName: '@',\r\n exporterUrl: '@'\r\n },\r\n templateUrl: paths.GridExporterControlView,\r\n replace: true\r\n }\r\n }]);\r\n\r\n function controller(ngDialog, $scope) {\r\n $scope.translation = globalResources;\r\n $scope.showExporterDialog = showExporterDialog;\r\n function showExporterDialog() {\r\n if ($scope.loadExportColumns) {\r\n $scope.loadExportColumns();\r\n }\r\n\r\n ngDialog.open({\r\n template: paths.GridDialogExporterView,\r\n controller: 'dialogExporter',\r\n data: {\r\n excelExporterUrl: $scope.excelExporterUrl,\r\n wordExporterUrl: $scope.wordExporterUrl,\r\n exportParams: $scope.exportParams,\r\n fileName: $scope.fileName,\r\n exporterUrl: $scope.exporterUrl\r\n },\r\n className: 'ngdialog-theme-default'\r\n });\r\n }\r\n }\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n directivesModule.directive('npGridFinishRender', ['$timeout', function ($timeout) {\r\n return {\r\n restrict: 'A',\r\n link: function (scope, element, attr) {\r\n if (scope.$last === true) {\r\n $timeout(function () {\r\n scope.$emit('ngRepeatFinished');\r\n });\r\n }\r\n }\r\n };\r\n }]);\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npGridSetting', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', 'broadcastService', 'configService', controller],\r\n scope: {\r\n gridSettingKey: '@'\r\n },\r\n templateUrl: paths.GridSettingView,\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n scope.showGridSettingContextMenu = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showGridSettingContextMenu = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, broadcastService, configService) {\r\n $scope.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n $scope.translation = globalResources;\r\n $scope.gridSettingKeys = gridSettingKeys;\r\n $scope.internetPublishOption = configService.getBool(HandbookConfiguration.InternetPublishOption);\r\n $scope.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\r\n getGridSetting($scope.gridSettingKey);\r\n getColumnsDefinition($scope.gridSettingKey);\r\n $scope.optionalColumns = angular.copy(optionalColumnsDenifinition);\r\n\r\n if ($scope.publishedVersion) {\r\n delete $scope.optionalColumns['approver']; \r\n delete $scope.optionalColumns['responsible']; \r\n delete $scope.optionalColumns['readingReceiptDtmConfirmed']; \r\n delete $scope.optionalColumns['readingReceipt']; \r\n }\r\n\r\n $scope.updateGrid = function ($event) {\r\n setGridSetting($scope.gridSettingKey, $scope.optionalColumns);\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n\r\n getColumnsDefinition($scope.gridSettingKey);\r\n broadcastService(broadcastType.gridSettingTarget, commonColumnsDefinition, $scope.gridSettingKey);\r\n };\r\n\r\n $scope.$on(broadcastType.toggleGridSettingTarget, function (e, target) {\r\n $scope.showGridSettingContextMenu = true;\r\n });\r\n\r\n\r\n $scope.showPopup = function () {\r\n $scope.showGridSettingContextMenu = !$scope.showGridSettingContextMenu;\r\n\t\t\tif ($scope.showGridSettingContextMenu) {\r\n\t\t\t\tgetGridSetting($scope.gridSettingKey);\r\n\t\t\t\tgetColumnsDefinition($scope.gridSettingKey);\r\n $scope.optionalColumns = angular.copy(optionalColumnsDenifinition);\r\n if ($scope.publishedVersion) {\r\n delete $scope.optionalColumns['approver'];\r\n delete $scope.optionalColumns['responsible'];\r\n delete $scope.optionalColumns['readingReceiptDtmConfirmed'];\r\n delete $scope.optionalColumns['readingReceipt'];\r\n }\r\n }\r\n };\r\n\r\n $scope.checkAll = function () {\r\n setValueCheck(true);\r\n };\r\n\r\n $scope.uncheckAll = function () {\r\n setValueCheck(false);\r\n };\r\n\r\n function setValueCheck(value) {\r\n Object.keys($scope.optionalColumns).forEach(property => {\r\n $scope.optionalColumns[property] = value;\r\n });\r\n }\r\n }\r\n\r\n})();","angular.module('smart-table')\r\n .directive('stPaginationScroll', ['$timeout', function (timeout) {\r\n return {\r\n require: 'stTable',\r\n link: function (scope, element, attr, ctrl) {\r\n var itemByPage = parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n var pagination = ctrl.tableState().pagination;\r\n var lengthThreshold = 50;\r\n var timeThreshold = 400;\r\n var handler = function () {\r\n //call next page\r\n ctrl.slice(pagination.start + itemByPage, itemByPage);\r\n };\r\n var promise = null;\r\n var lastRemaining = 9999;\r\n\r\n //original: we get parent of element angular.element(element.parent());\r\n var container;\r\n var ieVersion = msieversion();\r\n if (ieVersion >= 7 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./) || isSafari()) {\r\n if (!scope.$parent.vm.folderInformation || scope.$parent.vm.folderInformation.viewType == -1) {// standard;\r\n\t\t\t\t\t\tif (ieVersion <= 10){\r\n\t\t\t\t\t\t\tcontainer = element.parents('.' + folderContent.scrollableTable + '').eq(0);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t//container = angular.element(folderContent.gridDocumentsBody).eq(0); \r\n\t\t\t\t\t\t\tcontainer = element.children().eq(1);\r\n\t\t\t\t\t\t} \r\n } else {\r\n //container = element.parents('.' + folderContent.scrollableTable + '').eq(0);\r\n //container = angular.element('#' + folderContent.content + '').eq(0);\r\n container = element.children().eq(1);\r\n }\r\n } else {\r\n container = element.children().eq(1);\r\n }\r\n \r\n container.bind('scroll', function () {\r\n var remaining = container[0].scrollHeight - (container[0].clientHeight + container[0].scrollTop);\r\n\r\n //if we have reached the threshold and we scroll down\r\n if (remaining < lengthThreshold && (remaining - lastRemaining) < 0) {\r\n\r\n //if there is already a timer running which has no expired yet we have to cancel it and restart the timer\r\n if (promise !== null) {\r\n timeout.cancel(promise);\r\n }\r\n promise = timeout(function () {\r\n handler();\r\n\r\n //scroll a bit up\r\n //container[0].scrollTop -= 500;\r\n\r\n promise = null;\r\n }, timeThreshold);\r\n }\r\n lastRemaining = remaining;\r\n });\r\n }\r\n };\r\n }]);\r\n","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npRowInfoTooltip', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$sce', controller],\r\n controllerAs: 'vm',\r\n scope: {\r\n objectTooltip: '=',\r\n backgroundColor: '='\r\n },\r\n templateUrl: '/app/shared/grid/rowInfoTooltip.html',\r\n replace: true\r\n };\r\n }]);\r\n\r\n function controller($scope, $sce) {\r\n var vm = this;\r\n vm.htmlText = '';\r\n vm.init = init;\r\n\r\n function init() {\r\n var html = '
';\r\n if($scope.objectTooltip && $scope.objectTooltip.length > 0)\r\n {\r\n $scope.objectTooltip.forEach(function (item) {\r\n html += \"
\" + item.label;\r\n html += \" \"\r\n html += item.data + \"
\";\r\n });\r\n }\r\n html += '
';\r\n vm.htmlText = $sce.trustAsHtml(html);\r\n }\r\n }\r\n\r\n})();","\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('npImage', function () {\r\n return {\r\n restrict: 'E',\r\n scope: {\r\n model: '=npImageModel'\r\n },\r\n templateUrl: paths.ImageView,\r\n replace: true,\r\n link: link\r\n };\r\n });\r\n\r\n function link(scope, element, attrs) {\r\n var model = scope.model,\r\n image = angular.element('')\r\n .attr('src', handbookRequests.GetImageRequest + model.imageId)\r\n .attr('align', 'left')\r\n .attr('alt', model.caption)\r\n .css('width', '100%')\r\n .addClass('np-image__image');\r\n\r\n if (model.url) {\r\n image = angular.element('')\r\n .attr({\r\n href: model.url,\r\n target: model.openInNewWindow ? '_blank' : '_self',\r\n title: model.caption\r\n })\r\n .append(image);\r\n }\r\n\r\n element\r\n .css('width', getWidth(model))\r\n .addClass(getImageClass(model))\r\n .prepend(image);\r\n }\r\n\r\n function getImageClass(image) {\r\n var horizontalAlign = \"\";\r\n switch (parseInt(image.horizontalAlign)) {\r\n case parseInt(E.HorizontalAlign.Right):\r\n horizontalAlign = \"ImageRight\";\r\n break;\r\n case parseInt(E.HorizontalAlign.Left):\r\n horizontalAlign = \"ImageLeft\";\r\n break;\r\n case parseInt(E.HorizontalAlign.Center):\r\n horizontalAlign = \"ImageMid\";\r\n break;\r\n }\r\n return horizontalAlign;\r\n }\r\n\r\n function getWidth(image) {\r\n var width;\r\n\r\n if (image.scaleDir != 0)\r\n if (image.scaleDir == 1) {\r\n width = image.size;\r\n }\r\n else {\r\n width = image.size / image.height * image.width;\r\n }\r\n else {\r\n width = image.width;\r\n }\r\n\r\n return width;\r\n }\r\n\r\n})();","(function () {\r\n angular\r\n .module('customeDirectivesModule')\r\n .directive('imageSizeLimitation', function () {\r\n return {\r\n restrict: 'A',\r\n scope: {\r\n maximumWidth: '=',\r\n maximumHeight: '='\r\n },\r\n link: link\r\n };\r\n });\r\n\r\n function link(scope, element, attrs) {\r\n element.bind('load', function () {\r\n if (!scope.maximumWidth || !scope.maximumHeight) {\r\n return;\r\n }\r\n\r\n if (this.width > this.height) {\r\n $(this).css({ 'max-width': scope.maximumWidth + 'px' });\r\n $(this).css({ 'display': 'block' });\r\n } else {\r\n $(this).css({ 'max-height': scope.maximumHeight + 'px' });\r\n $(this).css({ 'display': 'block' });\r\n }\r\n });\r\n }\r\n})();","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npNavigateToggle', function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$http', 'treeNavigationService', 'localStorageService', controller],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/navigation/navigateToggle.html',\r\n scope: {\r\n\r\n },\r\n link: function (scope, element, attr) {\r\n\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $http, treeNavigationService, localStorageService) {\r\n var vm = this;\r\n\t\tvm.showToggleButton = HandbookConfiguration.AutoHighlightInTree.toUpperCase() == \"FALSE\";\r\n vm.toggleNavigate = toggleNavigate;\r\n vm.showInTreeviewInLeftMenu = globalResources.ShowInTreeviewInLeftMenu;\r\n vm.initialize = function () {\r\n vm.navigateSideBar = false;\r\n buildTooltip();\r\n };\r\n\r\n function toggleNavigate() {\r\n vm.navigateSideBar = !vm.navigateSideBar;\r\n treeNavigationService.navigateToItemLocation(vm.navigateSideBar, true);\r\n };\r\n\r\n function buildTooltip() {\r\n var availWidth = screen.availWidth;\r\n var availHeight = screen.availHeight;\r\n\r\n if (!((availWidth <= 768 && availHeight <= 1024) || (availHeight <= 768 && availWidth <= 1024))) {\r\n vm.showInTreeviewInLeftMenu = globalResources.ShowInTreeviewInLeftMenu + ' \\r(CTRL + ALT + N)';\r\n }\r\n }\r\n\r\n $(window).on('resize', function () {\r\n buildTooltip();\r\n });\r\n };\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npPrintButton', ['$document', '$timeout', 'broadcastService', function ($document, $timeout, broadcastService) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$stateParams', '$http', 'localStorageService', 'pubSub', 'browserService', 'configService', controller],\r\n controllerAs: 'vm',\r\n scope: {\r\n typePrintContextMenu: '=',\r\n id: '=',\r\n fieldId: '=',\r\n custom: '=',\r\n searchType: '=',\r\n toggleSidebar: '=',\r\n\t\t\t\tisBooklet: '=',\r\n periodOption: '=',\r\n knowledgeTypeId: '='\r\n },\r\n templateUrl: paths.PrintButtonView,\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n scope.$watch('toggleSidebar', function () {\r\n $timeout(function () {\r\n getColumnsDefinition();\r\n broadcastService(broadcastType.gridSettingTarget, commonColumnsDefinition);\r\n }, 0, false);\r\n });\r\n\r\n scope.$watch('custom', function (custom) {\r\n if (scope.custom == true) {\r\n angular.element('#print-box2').removeClass(avoidCustomPageClass);\r\n } else {\r\n angular.element('#print-box2').addClass(avoidCustomPageClass);\r\n }\r\n });\r\n\r\n scope.showPrintContextMenu = false;\r\n scope.showPrintFolderMenu = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showPrintFolderMenu = false;\r\n scope.showPrintContextMenu = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, $stateParams, $http, localStorageService, pubSub, browserService, configService) {\r\n var vm = this;\r\n vm.fieldName = '';\r\n vm.calculateWidthOfPrintBox = calculateWidthOfPrintBox;\r\n $scope.translation = globalResources;\r\n vm.onRecursiveChange = onRecursiveChange;\r\n if ($scope.translation.Print.indexOf('\\n(CTRL + ALT + P)') <= 0) {\r\n $scope.translation.Print = $scope.translation.Print + '\\n(CTRL + ALT + P)';\r\n }\r\n $scope.enableSimplePrintout = configService.getBool(HandbookConfiguration.EnableSimplePrintout);\r\n $scope.folderSettingsEnabled = configService.getBool(HandbookConfiguration.FolderSettingsEnabled);\r\n\r\n $scope.isTitle = $scope.folderSettingsEnabled ? true : false;\r\n $scope.isDocumentId = $scope.folderSettingsEnabled ? true : false;\r\n $scope.isVersion = $scope.folderSettingsEnabled ? true : false;\r\n $scope.isDocumentResponsible = false;\r\n $scope.isApprover = false;\r\n $scope.knowledgeType = KnowledgeType;\r\n $scope.enableAgree = configService.getBool(HandbookConfiguration.EnabledAgree);\r\n $scope.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n\r\n var finishLoadContent = null;\r\n initialize();\r\n\r\n function initialize() {\r\n finishLoadContent = pubSub.subscribe(broadcastType.loadContentFieldDone, fieldContentChanges);\r\n var printRecursive = localStorageService.getItem('PrintFoldersRecursive');\r\n $scope.recursive = printRecursive == null ? true : (printRecursive == 'true' || printRecursive == 'True');\r\n };\r\n\r\n function closeContextMenuPrint() {\r\n $scope.showPrintContextMenu = false;\r\n }\r\n\r\n function closeContextMenuPrintFolder() {\r\n $scope.showPrintFolderMenu = false;\r\n }\r\n\r\n $scope.$on('$destroy', function () {\r\n finishLoadContent();\r\n });\r\n\r\n function calculateWidthOfPrintBox() {\r\n var maxWidth = $('.topmenu-right-panel').width();\r\n return { 'max-width': maxWidth, 'width': 'unset' };\r\n }\r\n function fieldContentChanges(params) {\r\n //remove the order of field name\r\n if (params.fieldName) {\r\n var fieldName = angular.copy(params.fieldName).toString();\r\n vm.fieldName = fieldName;\r\n var indexOfFieldOrder = fieldName.indexOf('.');\r\n if (indexOfFieldOrder > 0)\r\n {\r\n vm.fieldName = fieldName.substr(indexOfFieldOrder + 2, fieldName.length);\r\n }\r\n }\r\n }\r\n function onRecursiveChange($event) {\r\n localStorageService.setItem('PrintFoldersRecursive', $scope.recursive);\r\n }\r\n\r\n //print entire document to pdf file\r\n $scope.printDocumentPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPdfRequest, $scope.id));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printDocumentBooklet = function () {\r\n window.open(String.format(handbookRequests.PrintBrochureRequest, $scope.id));\r\n closeContextMenuPrint();\r\n }\r\n\r\n //print document field to pdf file\r\n $scope.printDocumentFieldPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPdfFieldRequest, $scope.id, $scope.fieldId));\r\n closeContextMenuPrint();\r\n }\r\n //print entire document to html page\r\n $scope.printDocument = function () {\r\n window.open(String.format(handbookRequests.PrintHtmlRequest, $scope.id));\r\n closeContextMenuPrint();\r\n };\r\n //print document field to html page\r\n $scope.printDocumentFieldHtml = function () {\r\n window.open(String.format(handbookRequests.PrintHtmlFieldRequest, $scope.id, $scope.fieldId));\r\n closeContextMenuPrint();\r\n }\r\n\r\n $scope.printSimplifiedDocumentPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPdfSimpleRequest, $scope.id));\r\n closeContextMenuPrint();\r\n }\r\n\r\n $scope.printFolderHtml = function (printType) {\r\n var groupBy = E.exportDocumentGroupsByColumn.none;\r\n if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n groupBy = E.exportDocumentGroupsByColumn.none;\r\n } else if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template) {\r\n groupBy = E.exportDocumentGroupsByColumn.documentType;\r\n } else {\r\n groupBy = E.exportDocumentGroupsByColumn.metatag;\r\n }\r\n if (HandbookConfiguration.PrintFolderAsBackground == \"True\") {\r\n $http.post(handbookRequests.AddPrintFolderJobRequest, {\r\n 'folderId': $scope.id,\r\n 'exportType': 1,\r\n 'displayType': printType,\r\n 'recursive': $scope.recursive == true ? 1 : 0,\r\n 'isDocTitle': $scope.isTitle == true ? 1 : 0,\r\n 'isDocId': $scope.isDocumentId == true ? 1 : 0,\r\n 'isVersion': $scope.isVersion == true ? 1 : 0,\r\n 'isDocResponsible': $scope.isDocumentResponsible == true ? 1 : 0,\r\n 'isApprover': $scope.isApprover == true ? 1 : 0,\r\n 'groupBy': groupBy,\r\n }).then(function (response, status, headers, config) {\r\n alert($scope.translation.ConfirmPrintChapterHTMLAsBackgroundJob);\r\n });\r\n } else {\r\n if (!$scope.folderSettingsEnabled) {\r\n var params = {\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderHtmlConfigRequest + $.param(params));\r\n } else {\r\n var params = {\r\n printType: printType,\r\n isApprover: $scope.isApprover,\r\n isDocResponsible: $scope.isDocumentResponsible,\r\n isVersion: $scope.isVersion,\r\n isDocId: $scope.isDocumentId,\r\n isDocTitle: $scope.isTitle,\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderHtmlConfigRequest + $.param(params));\r\n }\r\n }\r\n closeContextMenuPrintFolder();\r\n };\r\n\r\n $scope.printFolderPdf = function (printType) {\r\n var groupBy = E.exportDocumentGroupsByColumn.none;\r\n if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n groupBy = E.exportDocumentGroupsByColumn.none;\r\n } else if ($scope.$parent.vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template) {\r\n groupBy = E.exportDocumentGroupsByColumn.documentType;\r\n } else {\r\n groupBy = E.exportDocumentGroupsByColumn.metatag;\r\n }\r\n if (HandbookConfiguration.PrintFolderAsBackground == \"True\") {\r\n $http.post(handbookRequests.AddPrintFolderJobRequest, {\r\n 'folderId': $scope.id,\r\n 'exportType': 2,\r\n 'displayType': printType,\r\n 'recursive': $scope.recursive == true ? 1 : 0,\r\n 'isDocTitle': $scope.isTitle == true ? 1 : 0,\r\n 'isDocId': $scope.isDocumentId == true ? 1 : 0,\r\n 'isVersion': $scope.isVersion == true ? 1 : 0,\r\n 'isDocResponsible': $scope.isDocumentResponsible == true ? 1 : 0,\r\n 'isApprover': $scope.isApprover == true ? 1 : 0,\r\n 'groupBy': groupBy,\r\n }).then(function (response, status, headers, config) {\r\n alert($scope.translation.ConfirmPrintChapterPDFAsBackgroundJob);\r\n });\r\n } else {\r\n if (!$scope.folderSettingsEnabled) {\r\n var params = {\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderPdfConfigRequest + $.param(params));\r\n } else {\r\n var params = {\r\n printType: printType,\r\n isApprover: $scope.isApprover,\r\n isDocResponsible: $scope.isDocumentResponsible,\r\n isVersion: $scope.isVersion,\r\n isDocId: $scope.isDocumentId,\r\n isDocTitle: $scope.isTitle,\r\n includeSubFolders: $scope.recursive,\r\n type: printType,\r\n folderIdInt: $scope.id,\r\n groupBy: groupBy,\r\n metadataGroupId: $scope.$parent.vm.folderInformation.viewType,\r\n includeLevel1: $scope.$parent.vm.showDocumentIncludeLevel1\r\n };\r\n\r\n window.open(handbookRequests.PrintFolderPdfConfigRequest + $.param(params));\r\n }\r\n }\r\n closeContextMenuPrintFolder();\r\n };\r\n\r\n $scope.printWhatsNewHtml = function (printType) {\r\n if ($scope.id == null) {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintWhatsNewHtmlRequest, printType, $scope.getColumnSettings(), $scope.periodOption));\r\n } else {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintFolderWhatsNewHtml, printType, $scope.getColumnSettings(), $scope.id, $scope.searchType, $scope.periodOption));\r\n }\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printWhatsNewPdf = function (printType) {\r\n if ($scope.id == null) {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintWhatsNewPdfRequest, printType, $scope.getColumnSettings(), $scope.periodOption));\r\n } else {\r\n\t\t\t\twindow.open(String.format(handbookRequests.PrintFolderWhatsNewPdf, printType, $scope.getColumnSettings(), $scope.id, $scope.searchType, $scope.periodOption));\r\n }\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printUpdatedFavoriteHtml = function (printType) {\r\n window.open(String.format(handbookRequests.PrintUpdatedFavoriteHtmlRequest, printType, $scope.getColumnSettings()));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printUpdatedFavoritePdf = function (printType) {\r\n window.open(String.format(handbookRequests.PrintUpdatedFavoritePdfRequest, printType, $scope.getColumnSettings()));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printSearchResultHtml = function (printType) {\r\n\r\n var params = {\r\n printType: printType,\r\n columns: $scope.getColumnSettings(),\r\n keyword: $stateParams.keyword,\r\n documentTypeId: $stateParams.template,\r\n searchInContents: $stateParams.searchInContents == true,\r\n fromDate: $stateParams.fromDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.fromDate)), '/') : null,\r\n toDate: $stateParams.toDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.toDate)), '/') : null,\r\n searchType: $scope.searchType,\r\n folderId: $stateParams.folderId\r\n };\r\n\r\n window.open(handbookRequests.PrintSearchResultHtmlRequest + $.param(params));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.printSearchResultPdf = function (printType) {\r\n\r\n var params = {\r\n printType: printType,\r\n columns: $scope.getColumnSettings(),\r\n keyword: $stateParams.keyword,\r\n documentTypeId: $stateParams.template,\r\n searchInContents: $stateParams.searchInContents == true,\r\n fromDate: $stateParams.fromDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.fromDate)), '/') : null,\r\n toDate: $stateParams.toDate != null ? FormattedDateDMYYYY(new Date(parseInt($stateParams.toDate)), '/') : null,\r\n searchType: $scope.searchType,\r\n folderId: $stateParams.folderId\r\n };\r\n\r\n window.open(handbookRequests.PrintSearchResultPdfRequest + $.param(params));\r\n closeContextMenuPrint();\r\n };\r\n\r\n $scope.getColumnSettings = function () {\r\n var columnSettings = '';\r\n var spliter = handbookConstants.ColumnsSplitter;\r\n if (commonGridSetting.internet.visible) {\r\n columnSettings += E.ColumnsSetting.Internet + spliter;\r\n }\r\n\r\n if (commonGridSetting.title.visible) {\r\n columnSettings += E.ColumnsSetting.Title + spliter;\r\n }\r\n\r\n if (commonGridSetting.documentType.visible) {\r\n columnSettings += E.ColumnsSetting.Template + spliter;\r\n }\r\n\r\n if (commonGridSetting.location.visible) {\r\n columnSettings += E.ColumnsSetting.Location + spliter;\r\n }\r\n\r\n if (commonGridSetting.version.visible) {\r\n columnSettings += E.ColumnsSetting.Version + spliter;\r\n }\r\n\r\n if (commonGridSetting.approvedDate.visible) {\r\n columnSettings += E.ColumnsSetting.ApprovedDate + spliter;\r\n }\r\n\r\n if (commonGridSetting.approver.visible) {\r\n columnSettings += E.ColumnsSetting.Approver + spliter;\r\n }\r\n\r\n if (commonGridSetting.responsible.visible) {\r\n columnSettings += E.ColumnsSetting.Owner + spliter;\r\n }\r\n\r\n if (commonGridSetting.chapter.visible) {\r\n columnSettings += E.ColumnsSetting.Chapter + spliter;\r\n }\r\n\r\n if (commonGridSetting.documentId.visible) {\r\n columnSettings += E.ColumnsSetting.DocumentId + spliter;\r\n }\r\n\r\n if (commonGridSetting.hasAttachment.visible) {\r\n columnSettings += E.ColumnsSetting.Attachment + spliter;\r\n }\r\n\r\n if (commonGridSetting.readingReceipt.visible) {\r\n columnSettings += E.ColumnsSetting.ReadingReceipt + spliter;\r\n }\r\n\r\n if (commonGridSetting.readingReceiptDtmConfirmed.visible) {\r\n columnSettings += E.ColumnsSetting.ReadingReceiptDate + spliter;\r\n }\r\n\r\n //Remove last commna if any\r\n var lastSplitterIndex = columnSettings.lastIndexOf(spliter);\r\n if (lastSplitterIndex >= columnSettings.length - 1) {\r\n columnSettings = columnSettings.substring(0, lastSplitterIndex);\r\n }\r\n\r\n return columnSettings;\r\n };\r\n\r\n $scope.$on(broadcastType.printItemTarget, function (e, target) {\r\n if (target.itemType == 1) {\r\n $scope.printFolderPdf(3);\r\n } else {\r\n $scope.printDocumentPdf();\r\n }\r\n });\r\n\r\n $scope.printPicoFormPdf = function () {\r\n window.open(String.format(handbookRequests.PrintPicoFormPdfRequest, $scope.id, false), '_blank');\r\n }\r\n\r\n $scope.printAgreeMethodReport = function () {\r\n if ($scope.knowledgeTypeId == KnowledgeType.shortVersionOfAgreeRequirements) {\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportShortVersionRequest, $scope.id, false), '_blank');\r\n return;\r\n }\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportFullVersionRequest, $scope.id, false), '_blank');\r\n }\r\n }\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npPin', npPinDirective);\r\n\r\n function npPinDirective() {\r\n var directive = {\r\n restrict: 'EA',\r\n templateUrl: paths.PinView,\r\n scope: {\r\n\r\n },\r\n link: linkFunction,\r\n controller: controller,\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n \r\n };\r\n\r\n controller.$inject = ['$scope', '$window'];\r\n\r\n function controller($scope, $window) {\r\n var vm = this;\r\n\r\n vm.hideSidebarButton = hideSidebarButton;\r\n\r\n function hideSidebarButton() {\r\n angular.element('.sidebar-toggle').toggleClass('display--non');\r\n };\r\n };\r\n };\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npReadingReceiptButton', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', 'readingConfirmationService', '$http', controller],\r\n scope: {\r\n entityId: '=',\r\n folderId: '=',\r\n entityDisabled: '='\r\n },\r\n templateUrl: paths.ReadingReceiptButtonView,\r\n replace: true,\r\n link: function (scope, element, attr) {\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.readingReciept.showReadingRecieptContextMenu = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, readingConfirmationService, $http) {\r\n $scope.translation = globalResources;\r\n if ($scope.translation.ReadingReciept.indexOf('\\n(CTRL + ALT + L)') <= 0) {\r\n $scope.translation.ReadingReciept = $scope.translation.ReadingReciept + '\\n(CTRL + ALT + L)';\r\n }\r\n\r\n $scope.isShowReConfirm = false;\r\n $scope.readingReciept = { showReadingRecieptContextMenu : false };\r\n\r\n $scope.currentData = {\r\n readConfirmationDate: '',\r\n confirmedReadLast: '',\r\n fullName: ''\r\n };\r\n\r\n $scope.getConfirmInformation = function () {\r\n if (!$scope.currentData.readConfirmationDate && !$scope.currentData.fullName) {\r\n readingConfirmationService.GetConfirmInformation($scope.entityId)\r\n .then(function (response) {\r\n $scope.currentData = response.data;\r\n if (response.data.readConfirmationDate) {\r\n $scope.currentData.confirmedReadLast = String.format($scope.translation.ConfirmedReadLast, response.data.readConfirmationDate);\r\n var readConfirmationDate = new Date(response.data.readConfirmationDateTime);\r\n $scope.isShowReConfirm = (compareDate(readConfirmationDate, new Date()) == false);\r\n }\r\n });\r\n }\r\n };\r\n\r\n function compareDate(date1, date2) {\r\n if (date1.getFullYear() != date2.getFullYear()) {\r\n return false;\r\n }\r\n if (date1.getMonth() != date2.getMonth()) {\r\n return false;\r\n }\r\n if (date1.getDate() != date2.getDate()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n $scope.sendReadingConfirmation = function () {\r\n readingConfirmationService.sendReadingConfirmation($scope.entityId, $scope.folderId)\r\n .then(function (data) {\r\n if (data) {\r\n $scope.currentData.readConfirmationDate = data.replace('\"', '').replace('\"', '');\r\n $scope.currentData.confirmedReadLast = String.format($scope.translation.ConfirmedReadLast, $scope.currentData.readConfirmationDate);\r\n $scope.isShowReConfirm = false;\r\n }\r\n });\r\n };\r\n\r\n $scope.$on(broadcastType.toggleReadingReceiptTarget, function (e, target) {\r\n $scope.getConfirmInformation();\r\n $scope.readingReciept.showReadingRecieptContextMenu = true;\r\n });\r\n }\r\n\r\n})();","\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 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('npSearchHomePage', npSearchHomePage)\r\n .directive('ngOptions', ['$timeout', ngOptions])\r\n ;\r\n\r\n function npSearchHomePage() {\r\n var directive = {\r\n restrict: 'EA',\r\n templateUrl: paths.SearchHomePageView,\r\n scope: {\r\n toggleSearhBoxHeader: '&toggleSearhBoxHeader',\r\n },\r\n link: linkFunction,\r\n controller: ['$scope', '$state', '$timeout', '$http', '$window', '$uibModal',\r\n 'debounceService', 'stringValidationService', 'localStorageService', 'documentService', 'configService', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n };\r\n\r\n function controller($scope, $state, $timeout, $http, $window, $uibModal,\r\n debounceService, stringValidationService, localStorageService, documentService, configService) {\r\n var previousRequests = [];\r\n\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n vm.NormalSearchTooltip = globalResources.NormalSearchTooltip.replace('{0}', HandbookConfiguration.HomeSearchPopupSize);\r\n vm.SearchInContentTooltip = globalResources.SearchInContentTooltip.replace('{0}', HandbookConfiguration.HomeSearchPopupSize);\r\n vm.quickSearchKeyword;\r\n vm.documents = {};\r\n vm.isCurrentPage = true;\r\n vm.togglePopup = false;\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n vm.searchInContentLabel = $window.innerWidth > 550 ? vm.translation.CheckboxIncludeDocContent : vm.translation.Content;\r\n vm.SearchBoxPlaceHolder = globalResources.TitleSearchBoxPlaceholder;\r\n vm.enabledMetadataSearch = false;\r\n vm.enabledAdvanceSearch = false;\r\n vm.isMetadataSearch = configService.getBool(HandbookConfiguration.MetadataEnabled) && vm.enabledMetadataSearch;\r\n vm.isMessageInfo = false;\r\n vm.messageInfoBottom = String.format(vm.translation.ShowMessageInfoBottomListSearch, HandbookConfiguration.HomeSearchPopupSize);\r\n vm.doSearchDataMining = configService.getBool(HandbookConfiguration.DoSearchDataMining);\r\n vm.clearSearchToggle = configService.getBool(HandbookConfiguration.ClearSearchToggle);\r\n vm.searchInFolders = configService.getBool(HandbookConfiguration.SearchInFolders);\r\n vm.enableProcess = configService.getBool(HandbookConfiguration.EnableProcess);\r\n vm.enableVAR = configService.getBool(HandbookConfiguration.EnableVAR);\r\n\r\n vm.onSearch = debounceService.debounce(onSearch, 500);\r\n vm.onDataNavigating = onDataNavigating;\r\n vm.hidePopupOnLostFocus = hidePopupOnLostFocus;\r\n vm.goToDocument = goToDocument;\r\n vm.goToFolder = goToFolder;\r\n vm.openAdvancedSearch = openAdvancedSearch;\r\n vm.searchDocument = searchDocument;\r\n vm.clear_Keyword = clear_Keyword;\r\n vm.changeSearchKeyword = changeSearchKeyword;\r\n vm.openMetadataSearch = openMetadataSearch;\r\n vm.popupMouseDown = popupMouseDown;\r\n vm.popupMouseUp = popupMouseUp;\r\n vm.goToProcess = goToProcess;\r\n vm.goToProcessArea = goToProcessArea;\r\n vm.onVARClick = onVARClick;\r\n\r\n vm.key_showRemoveIcon = false;\r\n vm.noMatches = false;\r\n vm.activePopup = false;\r\n vm.searchMode = \"0\";\r\n vm.toggleSearhBoxHeader = toggleSearhBoxHeader;\r\n vm.varRecords = [];\r\n vm.numFoundOfVar = 0;\r\n\r\n initialize();\r\n\r\n $scope.$on(broadcastType.resetQuickSearchKeyword, function (e, target) {\r\n vm.quickSearchKeyword = '';\r\n });\r\n\r\n function initialize() {\r\n if (!vm.clearSearchToggle) {\r\n var searchMode = localStorageService.getItem('SearchMode');\r\n vm.searchMode = searchMode == null ? 0 : (searchMode == 1 ? 1 : 0);\r\n }\r\n }\r\n\r\n function toggleSearhBoxHeader() {\r\n vm.quickSearchKeyword = \"\";\r\n // mobile view\r\n $scope.toggleSearhBoxHeader();\r\n }\r\n\r\n function onSearch(keyEvent) { \r\n if (keyEvent.which == KEY_CODES.ESCAPE) {\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n hidePopupOnLostFocus();\r\n }\r\n else if (keyEvent.which == KEY_CODES.ENTER) {\r\n if (vm.currentItem == null) {\r\n searchDocument();\r\n }\r\n else {\r\n if (vm.currentIndex < vm.documents.length) {\r\n vm.goToDocument(vm.currentItem);\r\n }\r\n else {\r\n vm.goToFolder(vm.currentItem.id);\r\n }\r\n\r\n vm.togglePopup = false;\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n }\r\n }\r\n else if (keyEvent.which != KEY_CODES.UP_ARROW && keyEvent.which != KEY_CODES.DOWN_ARROW && keyEvent.which != KEY_CODES.ESCAPE) {\r\n onSearchInputChanged();\r\n resetCurrentItem();\r\n }\r\n }\r\n\r\n function onDataNavigating(keyEvent) {\r\n if (keyEvent.which == 38 || keyEvent.which == 40) {\r\n setcurrentItemInPopup(keyEvent.which);\r\n }\r\n };\r\n\r\n function searchDocument() {\r\n var keywordValue = vm.quickSearchKeyword ? vm.quickSearchKeyword.trim() : '';\r\n vm.isCurrentPage = false;\r\n vm.togglePopup = false;\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: keywordValue,\r\n searchInContents: vm.searchMode,\r\n folderId: null,\r\n fromDate: null,\r\n toDate: null,\r\n type: vm.searchMode == 1 ? 2 : 1\r\n });\r\n vm.quickSearchKeyword = '';\r\n\r\n toggleSearhBoxHeader();\r\n };\r\n\r\n function getProcessSearchResult(keyword, searchType) {\r\n var processRequestParams = {\r\n keyword: keyword,\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n\r\n $http.get(handbookRequests.SearchProcesses, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processes = response.data;\r\n if (vm.processes.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.processes = vm.processes.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n }\r\n });\r\n\r\n $http.get(handbookRequests.SearchProcessAreas, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processAreas = response.data;\r\n if (vm.processAreas.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.processAreas = vm.processAreas.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n }\r\n });\r\n }\r\n\r\n function onSearchInputChanged() {\r\n var searchCondition = vm.quickSearchKeyword != null\r\n && vm.quickSearchKeyword != ''\r\n && (vm.quickSearchKeyword.length > 1 || !isNaN(vm.quickSearchKeyword))\r\n && vm.isCurrentPage\r\n && stringValidationService.notContainSpecialCharacter(vm.quickSearchKeyword)\r\n && (vm.searchMode == 0);\r\n\r\n if (searchCondition) {\r\n\r\n if (vm.enableProcess) {\r\n vm.processes = [];\r\n vm.processAreas = [];\r\n getProcessSearchResult(vm.quickSearchKeyword, E.searchType.Popup);\r\n }\r\n\r\n if (vm.enableVAR) {\r\n searchVAR(vm.quickSearchKeyword);\r\n }\r\n\r\n var searchRequestParams = {\r\n keyword: vm.quickSearchKeyword,\r\n searchInContents: vm.searchMode == 1 ? true : false,\r\n searchType: E.searchType.Popup\r\n };\r\n\r\n var requestId = previousRequests.length + 1;\r\n previousRequests.push(requestId);\r\n\r\n $http.get(handbookRequests.SearchRequest, { params: searchRequestParams, requestId: requestId })\r\n .then(function (response, status, headers, config) {\r\n //only accept result set that belongs to lastest request\r\n if (previousRequests[previousRequests.length - 1] != response.config.requestId) {\r\n return;\r\n }\r\n\r\n vm.documents = response.data.documents.filter(x => !x.hidden);\r\n if (vm.documents && vm.documents.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.documents = vm.documents.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n vm.folders = response.data.folders.filter(x => !x.hidden);\r\n if (vm.folders && vm.folders.length > parseInt(HandbookConfiguration.HomeSearchPopupSize)) {\r\n vm.folders = vm.folders.slice(0, parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n }\r\n vm.togglePopup = ((vm.documents != null && vm.documents.length) > 0 || (vm.folders != null && vm.folders.length > 0));\r\n vm.noMatches = !vm.togglePopup;\r\n vm.isMessageInfo = (response.data.totalCount != null && response.data.totalCount > parseInt(HandbookConfiguration.HomeSearchPopupSize));\r\n });\r\n }\r\n else {\r\n $scope.$apply(function () {\r\n vm.togglePopup = false;\r\n });\r\n vm.isCurrentPage = true;\r\n }\r\n };\r\n\r\n function setcurrentItemInPopup(keyCode) {\r\n var lengthFolder = vm.folders != null ? vm.folders.length : 0;\r\n if (keyCode == 38 && vm.currentIndex > 0) {\r\n //go up\r\n vm.currentIndex -= 1;\r\n vm._scrollHeight -= 50;\r\n }\r\n if (keyCode == 40 && vm.currentIndex < (vm.documents.length + lengthFolder) - 1) {\r\n //go down\r\n vm.currentIndex += 1;\r\n vm._scrollHeight += 50;\r\n }\r\n angular.element('#search-popup-identifier')[0].scrollTop = vm._scrollHeight;\r\n\r\n if (vm.currentIndex < vm.documents.length) {\r\n vm.currentItem = vm.documents[vm.currentIndex];\r\n }\r\n else {\r\n vm.currentItem = vm.folders[vm.currentIndex - vm.documents.length];\r\n }\r\n };\r\n\r\n function resetCurrentItem() {\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n };\r\n\r\n function hidePopupOnLostFocus() {\r\n $timeout(function () {\r\n if (!vm.activePopup) {\r\n vm.togglePopup = false;\r\n }\r\n vm.noMatches = false;\r\n }, 200);\r\n };\r\n\r\n function changeSearchKeyword() {\r\n vm.key_showRemoveIcon = (vm.quickSearchKeyword != undefined && vm.quickSearchKeyword.length > 0);\r\n }\r\n function clear_Keyword() {\r\n vm.quickSearchKeyword = '';\r\n vm.key_showRemoveIcon = false;\r\n };\r\n\r\n function goToDocument(document) {\r\n toggleSearhBoxHeader();\r\n if (!document.isCompendiaDocument) {\r\n insertLogWords(document.id);\r\n documentService.goToDocument(document.id, document.defaultFieldView);\r\n } else {\r\n window.open(document.compendiaDocumentLink);\r\n }\r\n };\r\n\r\n function goToFolder(id) {\r\n toggleSearhBoxHeader();\r\n $state.go(handbookActions.FolderAction, { folderId: id });\r\n }\r\n\r\n function goToProcess(processNumber) {\r\n toggleSearhBoxHeader();\r\n $state.go('process-detail', { processNumber: processNumber });\r\n }\r\n\r\n function goToProcessArea(id) {\r\n toggleSearhBoxHeader();\r\n $state.go('process-area-detail', { areaId: id });\r\n }\r\n\r\n function insertLogWords(documentId) {\r\n if (!vm.doSearchDataMining) {\r\n return;\r\n }\r\n return $http.post('/api/Search/LogSearchWords',\r\n {\r\n documentId: documentId,\r\n employeeId: user.userId,\r\n searchKey: vm.quickSearchKeyword,\r\n searchType: 1,\r\n searchFilters: ''\r\n }).then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n }\r\n\r\n function openAdvancedSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.AdvancedSearchModalView,\r\n controller: controllers.advanceSearchController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n };\r\n\r\n function openMetadataSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/shared/searchAdvanceModule/metadataSearchModalView.html',\r\n controller: controllers.metadataController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n };\r\n\r\n function popupMouseDown() {\r\n vm.activePopup = true;\r\n }\r\n\r\n function popupMouseUp() {\r\n vm.activePopup = false;\r\n vm.togglePopup = false;\r\n }\r\n\r\n function onVARClick(row) {\r\n window.open(row.url);\r\n }\r\n\r\n function searchVAR(keyword) {\r\n if (vm.isLoadingVar) return;\r\n vm.isLoadingVar = true;\r\n\r\n return $http.get('/api/var/', {\r\n params: {\r\n method: 'PROCEDURE',\r\n query: keyword,\r\n offset: 0\r\n }\r\n }).then(response => {\r\n if (!response || !response.data || !response.data.documents || !response.data.documents.length) return;\r\n vm.numFoundOfVar = response.data.numFound;\r\n vm.varRecords = (response.data.documents || []).slice(0, 10);\r\n }).finally(() => {\r\n vm.isLoadingVar = false;\r\n }); \r\n }\r\n }\r\n }\r\n\r\n function ngOptions($timeout) {\r\n return {\r\n priority: 1,\r\n require: 'ngModel',\r\n link: function (scope, ele, attrs, ctrl) {\r\n var isIE = false;\r\n if (navigator.appName == 'Microsoft Internet Explorer') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null) {\r\n isIE = true;\r\n }\r\n }\r\n if (isIE) {\r\n //to fix IE8 issue with parent and detail controller, we need to depend on the parent controller\r\n var control = ele[0];\r\n var options = attrs.ngOptions;\r\n var match = options.match(/^\\s*(.*?)(?:\\s+as\\s+(.*?))?(?:\\s+group\\s+by\\s+(.*))?\\s+for\\s+(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(.*?)(?:\\s+track\\s+by\\s+(.*?))?$/);\r\n\r\n if (match && match[7]) {\r\n var dataSource = match[7];\r\n scope.$watch(dataSource, function (value) {\r\n //this will add and remove the options to trigger the rendering in IE9\r\n if (value) {\r\n var option = document.createElement(\"option\");\r\n control.add(option, null);\r\n control.remove(control.options.length - 1);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n };\r\n})();\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('customeDirectivesModule')\r\n .directive('npSearch', npSearch)\r\n .directive('ngOptions', ['$timeout', ngOptions])\r\n ;\r\n\r\n function npSearch() {\r\n var directive = {\r\n restrict: 'EA',\r\n templateUrl: paths.SearchView,\r\n scope: {\r\n },\r\n link: linkFunction,\r\n controller: ['$scope', '$state', '$timeout', '$http', '$window', '$uibModal',\r\n 'debounceService', 'stringValidationService', 'localStorageService', 'documentService', 'configService', controller],\r\n controllerAs: 'vm'\r\n };\r\n\r\n return directive;\r\n\r\n function linkFunction(scope, el, attr, ctrl) {\r\n };\r\n\r\n function controller($scope, $state, $timeout, $http, $window, $uibModal,\r\n debounceService, stringValidationService, localStorageService, documentService, configService) {\r\n var previousRequests = [];\r\n\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n vm.NormalSearchTooltip = globalResources.NormalSearchTooltip.replace('{0}', HandbookConfiguration.SearchPopupSize);\r\n vm.SearchInContentTooltip = globalResources.SearchInContentTooltip.replace('{0}', HandbookConfiguration.SearchPopupSize);\r\n vm.quickSearchKeyword;\r\n vm.documents = {};\r\n vm.isCurrentPage = true;\r\n vm.togglePopup = false;\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n vm.searchInContentLabel = $window.innerWidth > 550 ? vm.translation.CheckboxIncludeDocContent : vm.translation.Content;\r\n vm.SearchBoxPlaceHolder = globalResources.TitleSearchBoxPlaceholder;\r\n vm.enabledMetadataSearch = false;\r\n vm.enabledAdvanceSearch = false;\r\n vm.isMetadataSearch = configService.getBool(HandbookConfiguration.MetadataEnabled) && vm.enabledMetadataSearch;\r\n vm.isMessageInfo = false;\r\n vm.messageInfoBottom = String.format(vm.translation.ShowMessageInfoBottomListSearch, HandbookConfiguration.SearchPopupSize);\r\n vm.doSearchDataMining = configService.getBool(HandbookConfiguration.DoSearchDataMining);\r\n vm.clearSearchToggle = configService.getBool(HandbookConfiguration.ClearSearchToggle);\r\n vm.searchInFolders = configService.getBool(HandbookConfiguration.SearchInFolders);\r\n vm.enableProcess = configService.getBool(HandbookConfiguration.EnableProcess);\r\n vm.enableInterconnectedProcess = configService.getBool(HandbookConfiguration.InterconnectedProcess);\r\n vm.enableVAR = configService.getBool(HandbookConfiguration.EnableVAR);\r\n\r\n vm.changeSearchMode = changeSearchMode;\r\n vm.onSearch = debounceService.debounce(onSearch, 500);\r\n vm.onDataNavigating = onDataNavigating;\r\n vm.hidePopupOnLostFocus = hidePopupOnLostFocus;\r\n\t\t\tvm.goToDocument = goToDocument;\r\n\t\t\tvm.goToFolder = goToFolder;\r\n vm.openAdvancedSearch = openAdvancedSearch;\r\n vm.searchDocument = searchDocument;\r\n vm.clear_Keyword = clear_Keyword;\r\n vm.changeSearchKeyword = changeSearchKeyword;\r\n vm.openMetadataSearch = openMetadataSearch;\r\n vm.popupMouseDown = popupMouseDown;\r\n vm.popupMouseUp = popupMouseUp;\r\n vm.goToProcess = goToProcess;\r\n vm.goToProcessArea = goToProcessArea;\r\n vm.onVARClick = onVARClick;\r\n vm.goToProcessInterconnected = goToProcessInterconnected;\r\n\r\n vm.key_showRemoveIcon = false;\r\n vm.noMatches = false;\r\n vm.activePopup = false;\r\n vm.varRecords = [];\r\n vm.numFoundOfVar = 0;\r\n\r\n initialize();\r\n\r\n $scope.$on(broadcastType.resetQuickSearchKeyword, function (e, target) {\r\n vm.quickSearchKeyword = '';\r\n });\r\n\r\n function initialize() {\r\n if (!vm.clearSearchToggle) {\r\n var searchMode = localStorageService.getItem('SearchMode');\r\n vm.searchInContent = searchMode == null ? false : (searchMode == 1 ? true : false);\r\n }\r\n };\r\n\r\n function changeSearchMode() {\r\n vm.searchInContent = !vm.searchInContent;\r\n if (!vm.clearSearchToggle) {\r\n localStorageService.setItem('SearchMode', vm.searchInContent ? 1 : 0);\r\n }\r\n };\r\n\r\n function onSearch(keyEvent) { \r\n if (keyEvent.which == KEY_CODES.ESCAPE) {\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n hidePopupOnLostFocus();\r\n }\r\n else if (keyEvent.which == KEY_CODES.ENTER) {\r\n if (vm.currentItem == null) {\r\n searchDocument();\r\n }\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (vm.currentIndex < vm.documents.length) {\r\n\t\t\t\t\t\t\tvm.goToDocument(vm.currentItem);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.goToFolder(vm.currentItem.id);\r\n\t\t\t\t\t\t}\r\n \r\n vm.togglePopup = false;\r\n resetCurrentItem();\r\n vm.quickSearchKeyword = '';\r\n }\r\n }\r\n else if (keyEvent.which != KEY_CODES.UP_ARROW && keyEvent.which != KEY_CODES.DOWN_ARROW && keyEvent.which != KEY_CODES.ESCAPE) {\r\n onSearchInputChanged();\r\n resetCurrentItem();\r\n }\r\n vm.changeSearchKeyword();\r\n };\r\n\r\n function onDataNavigating(keyEvent) {\r\n if (keyEvent.which == 38 || keyEvent.which == 40) {\r\n setcurrentItemInPopup(keyEvent.which);\r\n }\r\n };\r\n\r\n function searchDocument() {\r\n var keywordValue = vm.quickSearchKeyword ? vm.quickSearchKeyword.trim() : '';\r\n vm.isCurrentPage = false;\r\n vm.togglePopup = false;\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: keywordValue,\r\n searchInContents: vm.searchInContent ? 1 : 0,\r\n folderId: null,\r\n fromDate: null,\r\n toDate: null,\r\n type: vm.searchInContent ? 2 : 1\r\n });\r\n vm.quickSearchKeyword = '';\r\n vm.changeSearchKeyword();\r\n };\r\n\r\n function getProcessSearchResult(keyword, searchType) {\r\n var processRequestParams = {\r\n keyword: keyword,\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n\r\n $http.get(handbookRequests.SearchProcesses, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processes = response.data;\r\n }\r\n });\r\n\r\n $http.get(handbookRequests.SearchProcessAreas, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processAreas = response.data;\r\n }\r\n });\r\n\r\n if (vm.enableInterconnectedProcess) {\r\n $http.get(handbookRequests.SearchProcessInterconnected, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processesInterconnected = response.data;\r\n }\r\n });\r\n }\r\n }\r\n\r\n function onSearchInputChanged() {\r\n var searchCondition = vm.quickSearchKeyword != null\r\n && vm.quickSearchKeyword != ''\r\n && (vm.quickSearchKeyword.length > 1 || !isNaN(vm.quickSearchKeyword))\r\n && vm.isCurrentPage\r\n && stringValidationService.notContainSpecialCharacter(vm.quickSearchKeyword)\r\n && !vm.searchInContent;\r\n\r\n if (searchCondition) {\r\n if (vm.enableProcess) {\r\n vm.processes = [];\r\n vm.processAreas = [];\r\n vm.processesInterconnected = [];\r\n getProcessSearchResult(vm.quickSearchKeyword, E.searchType.Popup);\r\n }\r\n\r\n if (vm.enableVAR) {\r\n searchVAR(vm.quickSearchKeyword);\r\n }\r\n\r\n var searchRequestParams = {\r\n keyword: vm.quickSearchKeyword,\r\n searchInContents: vm.searchInContent,\r\n searchType: E.searchType.Popup,\r\n isFrontend: true\r\n };\r\n\r\n var requestId = previousRequests.length + 1;\r\n previousRequests.push(requestId);\r\n\r\n $http.get(handbookRequests.SearchRequest, { params: searchRequestParams, requestId: requestId })\r\n .then(function (response, status, headers, config) {\r\n //only accept result set that belongs to lastest request\r\n if (previousRequests[previousRequests.length - 1] != response.config.requestId) { \r\n return;\r\n }\r\n\r\n\t\t\t\t\t\t\tvm.documents = response.data.documents.filter(x => !x.hidden);\r\n vm.folders = response.data.folders.filter(x => !x.hidden);;\r\n vm.togglePopup = ((vm.documents != null && vm.documents.length > 0) ||\r\n (vm.folders != null && vm.folders.length > 0) ||\r\n (vm.processes != null && vm.processes.length > 0) ||\r\n (vm.processAreas != null && vm.processAreas.length > 0) ||\r\n (vm.processesInterconnected != null && vm.processesInterconnected.length > 0));\r\n vm.noMatches = !vm.togglePopup;\r\n vm.isMessageInfo = (response.data.totalCount != null && response.data.totalCount > parseInt(HandbookConfiguration.SearchPopupSize));\r\n });\r\n }\r\n else {\r\n $scope.$apply(function () {\r\n vm.togglePopup = false;\r\n });\r\n vm.isCurrentPage = true;\r\n }\r\n };\r\n\r\n\t\t\tfunction setcurrentItemInPopup(keyCode) {\r\n\t\t\t\tvar lengthFolder = vm.folders != null ? vm.folders.length : 0;\r\n if (keyCode == 38 && vm.currentIndex > 0) {\r\n //go up\r\n vm.currentIndex -= 1;\r\n vm._scrollHeight -= 50;\r\n }\r\n\t\t\t\tif (keyCode == 40 && vm.currentIndex < (vm.documents.length + lengthFolder) - 1) {\r\n //go down\r\n vm.currentIndex += 1;\r\n vm._scrollHeight += 50;\r\n }\r\n\t\t\t\tangular.element('#search-popup-identifier')[0].scrollTop = vm._scrollHeight;\r\n\r\n\t\t\t\tif (vm.currentIndex < vm.documents.length) {\r\n\t\t\t\t\tvm.currentItem = vm.documents[vm.currentIndex];\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvm.currentItem = vm.folders[vm.currentIndex - vm.documents.length];\r\n\t\t\t\t}\r\n };\r\n\r\n function resetCurrentItem() {\r\n vm.currentItem = null;\r\n vm.currentIndex = -1;\r\n vm._scrollHeight = 0;\r\n };\r\n\r\n function hidePopupOnLostFocus() {\r\n $timeout(function () {\r\n if (!vm.activePopup) {\r\n vm.togglePopup = false;\r\n }\r\n vm.noMatches = false;\r\n }, 200);\r\n };\r\n\r\n function changeSearchKeyword() {\r\n vm.key_showRemoveIcon = vm.quickSearchKeyword ? vm.quickSearchKeyword.trim() : '';\r\n }\r\n function clear_Keyword() {\r\n vm.quickSearchKeyword = '';\r\n vm.key_showRemoveIcon = false;\r\n };\r\n\r\n function goToDocument(document) {\r\n if (!document.isCompendiaDocument) {\r\n insertLogWords(document.id);\r\n\t\t\t\t\tdocumentService.goToDocument(document.id, document.defaultFieldView);\r\n } else {\r\n window.open(document.compendiaDocumentLink);\r\n }\r\n };\r\n\r\n\t\t\tfunction goToFolder(id) {\r\n\t\t\t\t$state.go(handbookActions.FolderAction, { folderId: id });\r\n }\r\n\r\n function goToProcess(processNumber) {\r\n $state.go('process-detail', { processNumber: processNumber });\r\n }\r\n\r\n function goToProcessArea(id) {\r\n $state.go('process-area-detail', { areaId: id });\r\n }\r\n\r\n function goToProcessInterconnected(processNumber) {\r\n $state.go('process-interconnected', { processNumber: processNumber });\r\n }\r\n\r\n function insertLogWords(documentId) {\r\n if (!vm.doSearchDataMining) {\r\n return;\r\n }\r\n return $http.post('/api/Search/LogSearchWords',\r\n {\r\n documentId: documentId,\r\n employeeId: user.userId,\r\n searchKey: vm.quickSearchKeyword,\r\n searchType: 1,\r\n searchFilters: ''\r\n }).then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n }\r\n\r\n function openAdvancedSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.AdvancedSearchModalView,\r\n controller: controllers.advanceSearchController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function openMetadataSearch() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/shared/searchAdvanceModule/metadataSearchModalView.html',\r\n controller: controllers.metadataController,\r\n size: 'sm',\r\n resolve: {\r\n quickSearchKeyword: function () {\r\n return vm.quickSearchKeyword;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function popupMouseDown() {\r\n vm.activePopup = true;\r\n }\r\n\r\n function popupMouseUp() {\r\n vm.activePopup = false;\r\n vm.togglePopup = false;\r\n }\r\n\r\n function onVARClick(row) {\r\n window.open(row.url);\r\n }\r\n\r\n function searchVAR(keyword) {\r\n if (vm.isLoadingVar) return;\r\n vm.isLoadingVar = true;\r\n\r\n return $http.get('/api/var/', {\r\n params: {\r\n method: 'PROCEDURE',\r\n query: keyword,\r\n offset: 0\r\n }\r\n }).then(response => {\r\n if (!response || !response.data || !response.data.documents || !response.data.documents.length) return;\r\n vm.numFoundOfVar = response.data.numFound;\r\n vm.varRecords = (response.data.documents || []).slice(0, 10);\r\n }).finally(() => {\r\n vm.isLoadingVar = false;\r\n });\r\n }\r\n }\r\n };\r\n\r\n function ngOptions($timeout) {\r\n return {\r\n priority: 1,\r\n require: 'ngModel',\r\n link: function (scope, ele, attrs, ctrl) {\r\n var isIE = false;\r\n if (navigator.appName == 'Microsoft Internet Explorer') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null) {\r\n isIE = true;\r\n }\r\n }\r\n if (isIE) {\r\n //to fix IE8 issue with parent and detail controller, we need to depend on the parent controller\r\n var control = ele[0];\r\n var options = attrs.ngOptions;\r\n var match = options.match(/^\\s*(.*?)(?:\\s+as\\s+(.*?))?(?:\\s+group\\s+by\\s+(.*))?\\s+for\\s+(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(.*?)(?:\\s+track\\s+by\\s+(.*?))?$/);\r\n\r\n if (match && match[7]) {\r\n var dataSource = match[7];\r\n scope.$watch(dataSource, function (value) {\r\n //this will add and remove the options to trigger the rendering in IE9\r\n if (value) {\r\n var option = document.createElement(\"option\");\r\n control.add(option, null);\r\n control.remove(control.options.length - 1);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n };\r\n})();\r\n","\r\n(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npTabs', function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$sce', '$timeout', 'pubSub', controller],\r\n controllerAs: 'vm',\r\n templateUrl: '/app/shared/tabs/npTabs.html',\r\n scope: {\r\n tabs: '=',\r\n tabWidth: '=',\r\n onClick: '&onClick',\r\n backgroundClass: '@',\r\n colorClass: '@',\r\n activeColorClass: '@',\r\n moduleClass: '@'\r\n },\r\n link: function (scope, element, attrs, ctrl, transclude) {\r\n }\r\n };\r\n });\r\n\r\n function controller($scope, $sce, $timeout, pubSub) {\r\n var vm = this;\r\n var onTabsChangeSetting = pubSub.subscribe('onTabsChangeSetting', onChange);\r\n\t\tvar onActiveTab = pubSub.subscribe('onActiveTab', onActiveTab);\r\n\r\n vm.color = $scope.colorClass || 'color-white';\r\n vm.activeColor = $scope.activeColorClass || 'color-black';\r\n vm.initialize = initialize;\r\n\r\n\t\t$scope.$watchCollection('tabs', function (newValue) {\r\n\t\t\tvm.tabs = newValue;\r\n\t\t});\r\n\r\n vm.tabWidth = $scope.tabWidth;\r\n\t\tvm.onClick_ = function (tabIndex, event, tab) {\r\n if (tab.disabled) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n return;\r\n }\r\n ativeTabs(tab);\r\n $scope.onClick({ tabIndex: tabIndex, tab: tab });\r\n $timeout(_addActiveClassForIconAndTitle, 100);\r\n };\r\n\r\n\t\tfunction onActiveTab(tab) {\r\n\t\t\t_onActiveTab(tab);\r\n\t\t\t$timeout(_addActiveClassForIconAndTitle, 100);\r\n\t\t}\r\n\r\n function onChange(index, tab) {\r\n $timeout(function () {\r\n vm.tabs[index] = tab;\r\n });\r\n }\r\n\r\n function ativeTabs(tab) {\r\n angular.forEach(vm.tabs, function (item) {\r\n item.activated = false;\r\n });\r\n tab.activated = true;\r\n if (!tab.visible) {\r\n // if tab not visible at the first time page loaded then visible it\r\n tab.visible = true;\r\n }\r\n\t\t}\r\n\r\n\t\tfunction _onActiveTab(index) {\r\n\t\t\tangular.forEach(vm.tabs, function (item) {\r\n item.active = false;\r\n angular.element('#' + item.href).removeClass('active');\r\n\t\t\t});\r\n\t\t\tvm.tabs[index].active = true;\r\n\t\t\tangular.element('#np-tabs li').removeClass('active');\r\n\t\t\tangular.element('#np-tabs-parent-' + vm.tabs[index].href).addClass('active');\r\n\t\t\tangular.element('#' + vm.tabs[index].href).addClass('active');\r\n\t\t}\r\n\r\n function initialize() {\r\n if (vm.tabs != null && vm.tabs.length > 0) {\r\n vm.tabs.forEach(function (tab) {\r\n if ((typeof tab.name === \"string\" || tab.name instanceof String)) {\r\n tab.name = $sce.trustAsHtml(tab.name);\r\n }\r\n }); \r\n }\r\n }\r\n\r\n function _addActiveClassForIconAndTitle() {\r\n $('#np-tabs li a tab-heading i').removeClass($scope.activeColorClass);\r\n $('#np-tabs li a tab-heading span').removeClass($scope.activeColorClass);\r\n\r\n $('#np-tabs li.active a tab-heading i').addClass($scope.activeColorClass);\r\n $('#np-tabs li.active a tab-heading span').addClass($scope.activeColorClass);\r\n }\r\n\r\n $scope.$on('$destroy', function () {\r\n\t\t\tonActiveTab();\r\n });\r\n }\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npFreezeTabContent', ['$timeout', 'tabStateService', function ($timeout, tabStateService) {\r\n return {\r\n restrict: 'A',\r\n replace: true,\r\n scope: {\r\n tabId: '@id',\r\n stateType: '@',\r\n toggleSidebar: '='\r\n },\r\n link: function (scope, element, attrs) {\r\n var identifierSelector = '#' + scope.tabId + '';\r\n angular.element(identifierSelector).click(function (e) {\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(scope.tabId, scope.stateType);\r\n }, 0, false);\r\n });\r\n\r\n scope.$watch('toggleSidebar', function (toggleSidebar) {\r\n // Extra processing for 'Updated Favorite' tab\r\n if (scope.tabId == homeTabs.updatedFavorite) {\r\n var updateFavoritePrintbox = angular.element('#' + homeContent.updatedFavoritePage + ' #print-box2');\r\n if (toggleSidebar == true) {\r\n updateFavoritePrintbox.removeClass(avoidCustomPageClass);\r\n } else {\r\n updateFavoritePrintbox.addClass(avoidCustomPageClass);\r\n }\r\n } else if (scope.tabId == homeTabs.whatNew) {\r\n angular.element('#' + homeContent.whatNew + ' #print-box2').addClass(avoidCustomPageClass);\r\n }\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n directivesModule.directive('emHeightSource', ['localStorageService', 'tabStateService', function (localStorageService, tabStateService) {\r\n\r\n return {\r\n controller: ['$scope', 'tabStateService', '$timeout', controller],\r\n replace: true,\r\n scope: {\r\n tabActive: '@',\r\n stateType: '@'\r\n },\r\n link: function (scope, elem, attrs) {\r\n scope.$watch(function () {\r\n var tabActive = null;\r\n switch (scope.stateType) {\r\n case tabStateType.documentTabState:\r\n tabActive = localStorageService.getItem('DocumentTabState');\r\n //if (!tabActive) {\r\n // tabStateService.setState(tabStateType.documentTabState, documentTabs.content);\r\n // tabActive = documentTabs.content;\r\n //}\r\n break;\r\n case tabStateType.chapterTabState:\r\n tabActive = localStorageService.getItem('ChapterTabState');\r\n //if (!tabActive) {\r\n // tabStateService.setState(tabStateType.chapterTabState, folderTabs.content);\r\n // tabActive = folderTabs.content;\r\n //}\r\n break;\r\n\r\n }\r\n if (tabActive && scope.tabActive == tabActive) {\r\n scope.__height = elem.height();\r\n }\r\n else {\r\n if (!tabActive) {\r\n scope.__height = 0;\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n }]);\r\n\r\n function controller($scope, tabStateService, $timeout) {\r\n $scope.$watch('__height', function (newHeight, oldHeight) {\r\n if (newHeight && Number(newHeight) > 0) { \r\n $timeout(function () {\r\n tabStateService.adjustContentHeightPosition($scope.stateType, newHeight);\r\n }, 0);\r\n }\r\n });\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npTabsToggle', function () {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n scope: {\r\n tabsToggle: '@',\r\n hasError: '='\r\n },\r\n link: function (scope, elem, attrs) {\r\n var anchorsSelector = '#' + scope.tabsToggle + ' li';\r\n $(anchorsSelector).click(function (e) {\r\n var tab = $(this);\r\n if (tab.hasClass(\"disabled\")) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n if (tab.hasClass('active')) {\r\n window.setTimeout(function () {\r\n $(\".page-container_content.tab-content > .tab-pane\").removeClass('active');\r\n //$(\".tab-content > .tab-pane\").removeClass('active');\r\n //$(\".tab-pane\").removeClass('active');\r\n tab.removeClass('active');\r\n tab.children('a').blur();\r\n }, 1);\r\n }\r\n });\r\n }\r\n };\r\n });\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npShareUrlButton', [function () {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$timeout', 'browserService', controller],\r\n scope: {\r\n url: '=',\r\n name: '=',\r\n imgUrl: '=?',\r\n addClass: '=?',\r\n title: '=?'\r\n },\r\n templateUrl: '/app/shared/shareURL/shareUrl.html',\r\n transclue: true,\r\n controllerAs: 'vm'\r\n };\r\n }]);\r\n\r\n function controller($scope, $timeout, browserService) {\r\n var vm = this;\r\n vm.translation = globalResources;\r\n\r\n vm.tooltip = $scope.title ? $scope.title : vm.translation.CopyUserFriendlyUrl;\r\n \r\n vm.getShareLink = getShareLink;\r\n vm.imgUrl = $scope.imgUrl ? $scope.imgUrl : ' ';\r\n vm.additionClass = $scope.addClass ? $scope.addClass : 'shareurl-button';\r\n\r\n vm.getShareLink = getShareLink;\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n\r\n function getShareLink(event) { \r\n event.currentTarget.classList.add('opacity-0-5'); \r\n \r\n var shareLink = '' + $scope.name + '';\r\n $('#html-container').text(shareLink);\r\n var htmlEditor = CodeMirror.fromTextArea(document.getElementById('html-container'), {\r\n mode: 'text/html'\r\n });\r\n var cm = $('.CodeMirror')[0].CodeMirror;\r\n $(cm.getWrapperElement()).hide();\r\n copyFormatted(htmlEditor.getValue());\r\n $timeout(function () {\r\n event.currentTarget.classList.remove('opacity-0-5');\r\n $scope.$apply();\r\n }, 5000, false);\r\n }\r\n function copyFormatted(html) {\r\n // Create an iframe (isolated container) for the HTML\r\n var container = document.createElement('div');\r\n container.innerHTML = html;\r\n\r\n // Hide element\r\n container.style.position = 'fixed';\r\n container.style.pointerEvents = 'none';\r\n container.style.opacity = 0;\r\n\r\n // Mount the iframe to the DOM to make `contentWindow` available\r\n document.body.appendChild(container);\r\n\r\n // Copy to clipboard\r\n window.getSelection().removeAllRanges();\r\n\r\n var range = document.createRange();\r\n range.selectNode(container);\r\n window.getSelection().addRange(range);\r\n\r\n //copy selected dom\r\n document.execCommand('copy');\r\n\r\n // Remove the iframe\r\n document.body.removeChild(container);\r\n }\r\n }\r\n\r\n})();","(function () {\r\n var directivesModule = angular.module('customeDirectivesModule');\r\n\r\n directivesModule.directive('npTreeNav', ['$document', function ($document) {\r\n return {\r\n restrict: 'E',\r\n controller: ['$scope', '$http', '$state', 'pubSub', '$timeout', controller],\r\n controllerAs: 'vm',\r\n scope: {\r\n getSelectedNode: '=',\r\n template: '=',\r\n isActiveContainerClass: '=',\r\n currentNode: '=',\r\n customCss: '@',\r\n treeCss: '@',\r\n isDisabled: '=',\r\n levelType: '=',\r\n isShowAll: '='\r\n },\r\n templateUrl: '/app/shared/treeNav/tree.tpl.html',\r\n link: function (scope, element, attr) {\r\n scope.showFolderTree = false;\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = element\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n scope.showFolderTree = false;\r\n scope.$apply();\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n function controller($scope, $http, $state, pubSub, $timeout) {\r\n var vm = this;\r\n vm.translation = resources;\r\n vm.clearSelectedFolder = clearSelectedFolder;\r\n vm.onSearchFolderSelect = onSearchFolderSelect;\r\n vm.onSearchKeyup = onSearchKeyup;\r\n var killFolderInformation = null;\r\n $scope.initialize = function () {\r\n killFolderInformation = pubSub.subscribe('changeFolderInformation', changeFolderInformation);\r\n if ($scope.currentNode) {\r\n onSelectFolder($scope.currentNode);\r\n }\r\n\r\n $http.get('/api/Folders/GetChildren', { params: { 'Id': null, showDocumentInTree: false } })\r\n .success(function (data, status, headers, config) {\r\n if (!Array.isArray(data))\r\n return;\r\n\r\n if ($scope.isShowAll) {\r\n var item = { id: null, name: resources.L.Common.all, type: 0 };\r\n data.splice(0, 0, item);\r\n\r\n vm.selectedFolder = item;\r\n onSelectFolder(vm.selectedFolder);\r\n }\r\n\r\n if ($scope.levelType && $scope.levelType >= 0) {\r\n $scope.list = getNodesByLevelType(data, $scope.levelType);\r\n } else {\r\n $scope.list = data;\r\n }\r\n\r\n buildIcons($scope.list);\r\n\r\n })\r\n .error(function (data, status, headers, config) {\r\n $scope.list = null;\r\n });\r\n }\r\n $scope.$on('$destroy', function () {\r\n killFolderInformation();\r\n });\r\n\r\n $scope.options = {\r\n dropped: function (event) {\r\n console.log('dropped');\r\n },\r\n beforeDrop: function (event) {\r\n console.log('beforeDrop');\r\n }\r\n };\r\n\r\n $scope.handleExpand = function (expanded, itemId, selectedNode) {\r\n if (expanded == true) {\r\n\r\n //sibling is the data which bind with the scope. So if we modify sibling, it will reflect to $scope.list\r\n var siblings = selectedNode.$parentNodeScope == null ? selectedNode.list : selectedNode.$parentNodeScope.$modelValue.items;\r\n var modelValue = selectedNode.$modelValue;\r\n modelValue.expanded = expanded;\r\n modelValue.class = getIconsWithReadPermission(modelValue);\r\n //check if type of selected node is in [1, 2, 3, 4] = [Document, LinkDocument, FileDocument, ShortcutDocument] refer to enum NodeType, we dont call request\r\n if (modelValue.isLoaded || modelValue.type <= 4) {\r\n return;\r\n } else {\r\n modelValue.isLoaded = true;\r\n }\r\n\r\n $http.get('/api/Folders/GetChildren', { params: { 'Id': itemId, showDocumentInTree: false } })\r\n .success(function (data, status, headers, config) {\r\n if (data != null && data.length > 0 && Array.isArray(data)) {\r\n var length = siblings.length;\r\n for (var i = 0; i < length; i++) {\r\n if (siblings[i].id == itemId) {\r\n if (siblings[i].items == null) {\r\n siblings[i].items = [];\r\n }\r\n buildIcons(data);\r\n if ($scope.levelType && $scope.levelType >= 0) {\r\n data = getNodesByLevelType(data, $scope.levelType);\r\n }\r\n siblings[i].items = siblings[i].items.concat(data);;\r\n break;\r\n }\r\n }\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n // TODO: log error\r\n });\r\n } else {\r\n var modelValue = selectedNode.$modelValue;\r\n modelValue.expanded = expanded;\r\n modelValue.class = getIconsWithReadPermission(modelValue);\r\n }\r\n };\r\n function changeFolderInformation() {\r\n if ($scope.currentNode) {\r\n onSelectFolder($scope.currentNode);\r\n }\r\n\r\n $http.get('/api/Folders/GetChildren', { params: { 'Id': null, showDocumentInTree: false } })\r\n .then(function (result) {\r\n if (!Array.isArray(result.data))\r\n return;\r\n if ($scope.levelType && $scope.levelType >= 0) {\r\n $scope.list = getNodesByLevelType(result.data, $scope.levelType);\r\n } else {\r\n $scope.list = result.data;\r\n }\r\n buildIcons($scope.list);\r\n }, function (reason) {\r\n $scope.list = null;\r\n });\r\n };\r\n function getNodesByLevelType(nodes, levelType) {\r\n var list = [];\r\n angular.forEach(nodes, function (node) {\r\n if (node.levelType == levelType) {\r\n list.push(node);\r\n }\r\n });\r\n\r\n return list;\r\n };\r\n $scope.selectNode = function (node, $event) {\r\n setHighlight($event);\r\n $scope.showFolderTree = false;\r\n vm.selectedFolder = node.$modelValue;\r\n $scope.getSelectedNode(vm.selectedFolder);\r\n onSelectFolder(vm.selectedFolder);\r\n }\r\n\r\n $scope.toggle = function (scope) {\r\n scope.toggle();\r\n };\r\n\r\n $scope.isFolderNode = function (type) {\r\n return type == E.nodeTypes.Folder || type == E.nodeTypes.TopFolder || type == E.nodeTypes.DepartmentFolder || type == E.nodeTypes.RegionalFolder;\r\n };\r\n\r\n function setHighlight(event) {\r\n $('.angular-ui-tree-handle').removeClass('selected-node');\r\n $('.selected-node').parent().removeClass('selected-node');\r\n $(event.target).parent().addClass('selected-node');\r\n };\r\n\r\n function buildIcons(list) {\r\n if (!Array.isArray(list)) {\r\n return;\r\n }\r\n var length = list.length;\r\n for (var i = 0; i < length; i++) {\r\n list[i].class = getIconsWithReadPermission(list[i]);\r\n }\r\n };\r\n\r\n function clearSelectedFolder() {\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n vm.selectedFolder = null;\r\n $scope.getSelectedNode(vm.selectedFolder);\r\n };\r\n\r\n function onSelectFolder(node) {\r\n $timeout(function () {\r\n $(ELEMENT_SELECTORS.FolderSelectionInputSelector).next().toggle(Boolean($(ELEMENT_SELECTORS.FolderSelectionInputSelector).val()));\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).addClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n }, 0, false);\r\n setFolderSelection(node);\r\n };\r\n\r\n function setFolderSelection(node) {\r\n switch (node.type.toString()) {\r\n case E.nodeTypes.RegionalFolder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-enterprise')\r\n .removeClass('f-normal')\r\n .removeClass('f-department')\r\n .addClass('f-regional visible');\r\n break;\r\n case E.nodeTypes.Folder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-enterprise')\r\n .removeClass('f-department')\r\n .removeClass('f-regional')\r\n .addClass('f-normal visible');\r\n break;\r\n case E.nodeTypes.TopFolder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-normal')\r\n .removeClass('f-department')\r\n .removeClass('f-regional')\r\n .addClass('f-enterprise visible');\r\n break;\r\n case E.nodeTypes.DepartmentFolder:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass('f-enterprise')\r\n .removeClass('f-normal')\r\n .removeClass('f-regional')\r\n .addClass('f-department visible');\r\n break;\r\n default:\r\n angular.element(ELEMENT_SELECTORS.FolderSelectionContainerSelector).addClass('f-normal visible');\r\n }\r\n };\r\n\r\n function onSearchFolderSelect($item, $model, $label) {\r\n vm.selectedFolder = $item;\r\n $scope.getSelectedNode(vm.selectedFolder);\r\n onSelectFolder($item);\r\n };\r\n\r\n function onSearchKeyup(e) {\r\n if ((e.which === 8 || e.which == 46)) {\r\n if ($(e.target).val() == '') {\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).removeClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n vm.selectedFolder = null;\r\n }\r\n } else {\r\n if ($(e.target).val() != '') {\r\n $timeout(function () {\r\n $(ELEMENT_SELECTORS.FolderSelectionInputSelector).next().toggle(Boolean($(ELEMENT_SELECTORS.FolderSelectionInputSelector).val()));\r\n $(ELEMENT_SELECTORS.FolderSelectionContainerSelector).addClass(ELEMENT_SELECTORS.FolderContainerClassSelector);\r\n }, 0, false);\r\n }\r\n }\r\n };\r\n\r\n $scope.$watch('vm.selectedFolder.name', function (newValue, oldValue) {\r\n if (newValue != null && newValue.length >= 2 && newValue != oldValue) {\r\n $http.get('/api/Search/SearchFolders', { params: { 'keyword': newValue } })\r\n .then(function (response, status, headers, config) {\r\n vm.folders = response.data;\r\n buildIcons(vm.folders);\r\n });\r\n }\r\n if (newValue == null) {\r\n vm.folders = [];\r\n }\r\n });\r\n\r\n $scope.$watch('currentNode', function (newValue, oldValue) {\r\n if (newValue != null && newValue != oldValue) {\r\n vm.selectedFolder = newValue;\r\n onSelectFolder(vm.selectedFolder);\r\n }\r\n }, true);\r\n\r\n }\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\tangular.module(modules.homeModule).component('handbookDailyStatistics', {\r\n templateUrl: 'app/components/statistics/daily-statistics/daily-statistics.html',\r\n controller: controller,\r\n controllerAs: 'vm',\r\n bindings: {\r\n }\r\n });\r\n\r\n\tcontroller.$inject = ['$http', '$scope'];\r\n\tfunction controller($http, $scope) {\r\n\t\tvar vm = this;\r\n\t\tvm.docUsageTodaysSetting = [];\r\n\t\t\r\n\t\t$scope.$on(\"tabStatisticsActived\", function (evt, data) {\r\n\t\t\tif (data == 'dailyStatistics' && (!vm.docUsageTodaysSetting || vm.docUsageTodaysSetting.length == 0)) {\r\n\t\t\t\tinitialize();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tbuildGridSetting();\r\n\t\t\tgetDailyStatistics();\r\n\t\t}\r\n\r\n\t\tfunction getDailyStatistics() {\r\n\t\t\tvar promise = $http.get('/api/Documents/GetDailyStatisticsOverView', {});\r\n\t\t\tpromise.success(function (data, status, headers, config) {\r\n\t\t\t\tvar result = data;\r\n\t\t\t\tvm.objHandbookStatistics = result.objHandbookStatistics;\r\n\t\t\t\tvm.arrDailyStatistics = result.arrDailyStatistics;\r\n\t\t\t\tvm.docUsageTodays = result.docUsageTodays;\r\n\r\n\t\t\t\tgetHighCharts(vm.arrDailyStatistics);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction buildGridSetting() {\r\n\t\t\tvm.docUsageTodaysSetting = [\r\n\t\t\t\t{ id: 'name', name: resources.L.Statistics.mostReadToday, width: 57, coldefault: true , isObject: false },\r\n\t\t\t\t{ id: 'id', name: resources.L.Statistics.documentId, width: 26, coldefault: true, isObject: false },\r\n\t\t\t\t{ id: 'countValue', name: resources.L.Statistics.quantity, width: 18, coldefault: true, isObject: false, customCss: 'text-right' }\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\tfunction getHighCharts(data) {\r\n\t\t\tif (!data || !data.length)\r\n\t\t\t\treturn;\r\n\t\t\tvar categories = data.map(x => x.accessDateDisplay);\r\n\t\t\tvar documents = data.map(x => x.docAccessCount);\r\n\t\t\tvar users = data.map(x => x.userAccessCount);\r\n\r\n\t\t\tvar aa = document.getElementById('daily-charts-id');\r\n\r\n\t\t\tvar chart = Highcharts.chart('daily-charts-id', {\r\n\t\t\t\tchart: {\r\n\t\t\t\t\tzoomType: 'xy',\t\t\t\r\n\t\t\t\t},\r\n\t\t\t\ttitle: {\r\n\t\t\t\t\ttext: resources.L.Statistics.dailyUseDoc\r\n\t\t\t\t},\r\n\t\t\t\tsubtitle: {\r\n\t\t\t\t\ttext: ''\r\n\t\t\t\t}, \r\n\t\t\t\txAxis: [{\r\n\t\t\t\t\tcategories: categories,\r\n\t\t\t\t\tcrosshair: true\r\n\t\t\t\t}],\r\n\t\t\t\tyAxis: [{ // Primary yAxis\r\n\t\t\t\t\tallowDecimals: false,\r\n\t\t\t\t\tlabels: {\r\n\t\t\t\t\t\tformat: '{value}',\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[1]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\ttext: resources.L.Statistics.users,\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[1]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}, { // Secondary yAxis\r\n\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\ttext: resources.L.Common.documents,\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[0]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabels: {\r\n\t\t\t\t\t\tformat: '{value}',\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tcolor: Highcharts.getOptions().colors[0]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\topposite: true\r\n\t\t\t\t}],\r\n\t\t\t\ttooltip: {\r\n\t\t\t\t\tshared: true\r\n\t\t\t\t},\r\n\t\t\t\tlegend: {\r\n\t\t\t\t\tlayout: 'vertical',\r\n\t\t\t\t\talign: 'left',\r\n\t\t\t\t\tx: 50,\r\n\t\t\t\t\tverticalAlign: 'top',\r\n\t\t\t\t\ty: -10,\r\n\t\t\t\t\tfloating: true,\r\n\t\t\t\t\tbackgroundColor:\r\n\t\t\t\t\t\tHighcharts.defaultOptions.legend.backgroundColor || // theme\r\n\t\t\t\t\t\t'rgba(255,255,255,0.25)'\r\n\t\t\t\t},\r\n\t\t\t\tseries: [{\r\n\t\t\t\t\tname: resources.L.Common.documents,\r\n\t\t\t\t\ttype: 'column',\r\n\t\t\t\t\tyAxis: 1,\r\n\t\t\t\t\tdata: documents,\r\n\t\t\t\t\ttooltip: {\r\n\t\t\t\t\t\tvalueSuffix: ''\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}, {\r\n\t\t\t\t\tname: resources.L.Statistics.users,\r\n\t\t\t\t\ttype: 'spline',\r\n\t\t\t\t\tdata: users,\r\n\t\t\t\t\ttooltip: {\r\n\t\t\t\t\t\tvalueSuffix: ''\r\n\t\t\t\t\t}\r\n\t\t\t\t}]\r\n\t\t\t});\t\t\r\n\t\t}\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module(modules.homeModule).component('handbookFoderStatistics', {\r\n templateUrl: 'app/components/statistics/folder-statistics/folder-statistics.html',\r\n controller: controller,\r\n controllerAs: 'vm',\r\n bindings: {\r\n }\r\n });\r\n\r\n controller.$inject = ['$http', '$scope', 'configService'];\r\n function controller($http, $scope, configService) {\r\n var vm = this;\r\n\r\n vm.tabsChartsSetting = [];\r\n vm.periods = [];\r\n vm.subFolderStatisticsSetting = [];\r\n vm.defaultSelectedFolder = { id: null, name: resources.L.Common.all, type: 0 };\r\n vm.folderName = resources.L.Common.all;\r\n vm.statisticsPercentageForAwaitingApproval = configService.getBool(HandbookConfiguration.StatisticsPercentageForAwaitingApproval);\r\n\r\n vm.folderId = null;\r\n\r\n vm.getSelectedNode = getSelectedNode;\r\n vm.changePeriod = changePeriod;\r\n\r\n $scope.$on(\"tabStatisticsActived\", function (evt, data) {\r\n if (data == 'folderStatistics' && (!vm.tabsChartsSetting || vm.tabsChartsSetting.length == 0)) {\r\n initialize();\r\n }\r\n });\r\n\r\n function initialize() {\r\n getPeriods();\r\n vm.selectOptionPeriod = 2;\r\n\r\n buildTabsSetting();\r\n getFolderStatistics(null, vm.selectOptionPeriod);\r\n }\r\n\r\n function buildGridSetting(nameFolder) {\r\n vm.subFolderStatisticsSetting = [\r\n { id: 'folderName', name: nameFolder, width: 30, coldefault: true, isObject: false },\r\n { id: 'approved', name: resources.L.Statistics.docsInUse, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'internet', name: resources.L.Document.internet, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'newCount', name: resources.L.Statistics.newThisMonth, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'revised', name: resources.L.Statistics.revisedThisMonth, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'archived', name: resources.L.Statistics.archivedThisMonth, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'awaitingApproval', name: resources.L.Enum.DocumentStatuses.awaitingApproval, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' },\r\n { id: 'expired', name: resources.L.Statistics.expired, width: 10, coldefault: true, isObject: false, customCss: 'font-weight-normal' }\r\n ];\r\n }\r\n\r\n function getPeriods() {\r\n vm.periods = [\r\n { id: 0, name: resources.L.Common.all },\r\n { id: 1, name: resources.L.Statistics.fiveYear },\r\n { id: 2, name: resources.L.Statistics.last13Months },\r\n ];\r\n }\r\n\r\n function buildTabsSetting() {\r\n vm.tabsChartsSetting.push({\r\n name: resources.L.Statistics.approvedVsInternet,\r\n description: resources.L.Statistics.approvedVsInternet,\r\n href: 'approveInternet',\r\n icon: 'fa fa-line-chart',\r\n tabIndex: 1,\r\n active: true,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '',\r\n elementContentId: 'approveInternet'\r\n });\r\n vm.tabsChartsSetting.push({\r\n name: resources.L.Statistics.newVsRevisedVsArchived,\r\n description: resources.L.Statistics.newVsRevisedVsArchived,\r\n href: 'newRevisedArchived',\r\n icon: 'fa fa-line-chart',\r\n tabIndex: 2,\r\n active: false,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '',\r\n elementContentId: 'newRevisedArchived'\r\n });\r\n vm.tabsChartsSetting.push({\r\n name: resources.L.Statistics.awaitingApprovalVsExpired,\r\n description: resources.L.Statistics.awaitingApprovalVsExpired,\r\n href: 'awaitingApprovedExpired',\r\n icon: 'fa fa-line-chart',\r\n tabIndex: 2,\r\n active: false,\r\n count: 0,\r\n activatedClass: 'home-tab-active',\r\n hide: false,\r\n url: '',\r\n elementContentId: 'awaitingApprovedExpired'\r\n });\r\n }\r\n\r\n function getFolderStatistics(folderId, type) {\r\n buildGridSetting(vm.folderName);\r\n\r\n var request = {\r\n handbookId: folderId,\r\n type: type\r\n };\r\n var promise = $http.get('/api/Documents/GetFolderStatisticsOverView', { params: request });\r\n promise.success(function (data, status, headers, config) {\r\n var result = data;\r\n vm.folderStatistics = result.folderStatistics;\r\n vm.subFolderStatistics = result.subFolderStatistics;\r\n buildChartApprovedInternet(result.folderStatisticsForCharts);\r\n buildChartNewRevisedArchived(result.folderStatisticsForCharts);\r\n buildChartAwaitingApprovalExpired(result.folderStatisticsForCharts);\r\n });\r\n }\r\n\r\n function buildChartApprovedInternet(data) {\r\n var approveTitle = resources.L.Document.approved;\r\n var internetTitle = resources.L.Document.internet;\r\n var categories = data.map(x => x.monthYear);\r\n var approvedDocs = data.map(x => x.approved);\r\n var internetDocs = data.map(x => x.internet);\r\n Highcharts.chart('approve-internet-charts-id', {\r\n title: {\r\n text: resources.L.Statistics.approvedVsInternet\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: {\r\n text: resources.L.Common.number\r\n }\r\n },\r\n xAxis: {\r\n categories: categories\r\n },\r\n legend: {\r\n layout: 'vertical',\r\n align: 'right',\r\n verticalAlign: 'middle'\r\n },\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false\r\n },\r\n pointStart: null\r\n }\r\n },\r\n series: [{\r\n name: approveTitle,\r\n data: approvedDocs\r\n }, {\r\n name: internetTitle,\r\n data: internetDocs\r\n }],\r\n responsive: {\r\n rules: [{\r\n condition: {\r\n maxWidth: 500\r\n },\r\n chartOptions: {\r\n legend: {\r\n layout: 'horizontal',\r\n align: 'center',\r\n verticalAlign: 'bottom'\r\n }\r\n }\r\n }]\r\n }\r\n\r\n });\r\n }\r\n\r\n function buildChartNewRevisedArchived(data) {\r\n var categories = data.map(x => x.monthYear);\r\n var newCountDocs = data.map(x => x.newCount);\r\n var revisedDocs = data.map(x => x.revised);\r\n var archivedDocs = data.map(x => x.archived);\r\n\r\n Highcharts.chart('new-revised-archived-charts-id', {\r\n title: {\r\n text: resources.L.Statistics.newVsRevisedVsArchived\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: {\r\n text: resources.L.Common.number\r\n }\r\n },\r\n xAxis: {\r\n categories: categories\r\n },\r\n legend: {\r\n layout: 'vertical',\r\n align: 'right',\r\n verticalAlign: 'middle'\r\n },\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false\r\n },\r\n pointStart: null\r\n }\r\n },\r\n series: [{\r\n name: resources.L.Action.new,\r\n data: newCountDocs\r\n }, {\r\n name: resources.L.Statistics.revised,\r\n data: revisedDocs\r\n }, {\r\n name: resources.L.Common.archived,\r\n data: archivedDocs\r\n }],\r\n responsive: {\r\n rules: [{\r\n condition: {\r\n maxWidth: 500\r\n },\r\n chartOptions: {\r\n legend: {\r\n layout: 'horizontal',\r\n align: 'center',\r\n verticalAlign: 'bottom'\r\n }\r\n }\r\n }]\r\n }\r\n\r\n });\r\n }\r\n\r\n function buildChartAwaitingApprovalExpired(data) {\r\n var categories = data.map(x => x.monthYear);\r\n var awaitingApprovalDocs = data.map(x => x.awaitingApproval);\r\n var expiredDocs = data.map(x => x.expired);\r\n\r\n Highcharts.chart('awaiting-approved-expired-charts-id', {\r\n title: {\r\n text: resources.L.Statistics.awaitingApprovalVsExpired\r\n },\r\n subtitle: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: {\r\n text: resources.L.Common.number\r\n }\r\n },\r\n xAxis: {\r\n categories: categories\r\n },\r\n legend: {\r\n layout: 'vertical',\r\n align: 'right',\r\n verticalAlign: 'middle'\r\n },\r\n plotOptions: {\r\n series: {\r\n label: {\r\n connectorAllowed: false\r\n },\r\n pointStart: null\r\n }\r\n },\r\n series: [{\r\n name: resources.L.Enum.DocumentStatuses.awaitingApproval,\r\n data: awaitingApprovalDocs\r\n }, {\r\n name: resources.L.Statistics.expired,\r\n data: expiredDocs\r\n }],\r\n responsive: {\r\n rules: [{\r\n condition: {\r\n maxWidth: 500\r\n },\r\n chartOptions: {\r\n legend: {\r\n layout: 'horizontal',\r\n align: 'center',\r\n verticalAlign: 'bottom'\r\n }\r\n }\r\n }]\r\n }\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n function getSelectedNode(node) {\r\n if (node != null) {\r\n vm.folderId = node.id;\r\n vm.folderName = node.name;\r\n getFolderStatistics(vm.folderId, vm.selectOptionPeriod);\r\n }\r\n }\r\n\r\n function changePeriod() {\r\n var request = {\r\n handbookId: vm.folderId,\r\n type: vm.selectOptionPeriod\r\n };\r\n var promise = $http.get('/api/Documents/GetFolderStatisticsForChart', { params: request });\r\n promise.success(function (data, status, headers, config) {\r\n var result = data;\r\n buildChartApprovedInternet(result);\r\n buildChartNewRevisedArchived(result);\r\n buildChartAwaitingApprovalExpired(result);\r\n });\r\n }\r\n\r\n }\r\n})();","(function () {\r\n '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\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 angular.module('servicesModule')\r\n .controller('AboutFolderModalController', controller);\r\n controller.$inject = ['$scope', '$http', '$uibModal', '$uibModalInstance', 'model', '$sce'];\r\n function controller($scope, $http, $uibModal, $modalInstance, model, $sce) {\r\n var vm = this;\r\n vm.globalResources = angular.copy(globalResources);\r\n vm.data = model;\r\n vm.close = close;\r\n initialize();\r\n\r\n function initialize() {\r\n }\r\n\r\n\r\n function close() {\r\n $modalInstance.close(true);\r\n };\r\n\r\n };\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(\"handbookApp\")\r\n .controller(controllers.chapterController, chapterController);\r\n\r\n chapterController.$inject = ['$scope', '$http', '$state', '$stateParams', '$timeout', '$sce', '$rootScope', '$filter',\r\n 'broadcastService', 'favoriteService', 'tabStateService', 'resizeService', 'localStorageService', 'treeNavigationService',\r\n 'documentService', '$location', 'browserService', '$uibModal', '$anchorScroll', 'configService'];\r\n\r\n function chapterController($scope, $http, $state, $stateParams, $timeout, $sce, $rootScope, $filter,\r\n broadcastService, favoriteService, tabStateService, resizeService, localStorageService, treeNavigationService,\r\n documentService, $location, browserService, $uibModal, $anchorScroll, configService) {\r\n var attachmentStores = {};\r\n var vm = this;\r\n vm.handbookRequests = handbookRequests;\r\n vm.isPinMeta = localStorageService.getItem(localStorageKeys.stateOfSticky);\r\n vm.isPinMeta = configService.getBool(vm.isPinMeta);\r\n vm.pinMetaChange = pinMetaChange;\r\n $scope.translation = globalResources;\r\n $scope.internetPublishOption = configService.getBool(HandbookConfiguration.InternetPublishOption);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.commonGridSettingKey = gridSettingKeys.commonVisibilitySettings;\r\n vm.folderId = $stateParams.folderId; \r\n\r\n vm.groupDocuments = [];\r\n vm.folderList = {};\r\n vm.folderInformation = {};\r\n vm.keyword = $location.$$search.keyword || '';\r\n vm.groupDocumentAnchorPrefix = prefix.groupDocumentAnchorPrefix;\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteFolder;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteFolder;\r\n vm.addEmailSubscriptionRequest = handbookRequests.AddEmailSubscription;\r\n vm.removeEmailSubscriptionRequest = handbookRequests.RemoveEmailSubscription;\r\n\r\n vm.urlchapter = window.location.origin + '/folder/' + vm.folderId;\r\n\r\n vm.backendIsDb4 = configService.getBool(HandbookConfiguration.BackendIsDb4);\r\n vm.showFolderLinkToBackend = false;\r\n\r\n vm.objectShowDocumentsInSubChapters = {\r\n showDocumentsInSubChapters: $location.$$search.showDocumentsInSubChapters? true : false\r\n };\r\n\r\n vm.DocumentViewTypes = [\r\n { Id: documentViewTypes.DocumentViewTypes_Standard, Name: globalResources.Folders.DocumentViewStandard },\r\n { Id: documentViewTypes.DocumentViewTypes_Template, Name: globalResources.DocumentType }\r\n ];\r\n vm.metaDataTags = [];\r\n vm.documentViewTypes_Standard = documentViewTypes.DocumentViewTypes_Standard;\r\n vm.documentViewTypes_Template = documentViewTypes.DocumentViewTypes_Template;\r\n vm.documentViewTypes_Internet = documentViewTypes.DocumentViewTypes_Internet;\r\n vm.onRowClick = onRowClick;\r\n vm.changeDocumentView = changeDocumentView;\r\n vm.gotoParentFolder = gotoParentFolder;\r\n vm.showDocumentsRecursive = showDocumentsRecursive;\r\n vm.removeFromFavorite = removeFromFavorite;\r\n vm.getConsecutiveIndex = getConsecutiveIndex;\r\n //vm.adjustContentPosition = adjustContentPosition;\r\n vm.showAllDocuments = showAllDocuments;\r\n vm.showDocumentsIncludeLevel1 = showDocumentsIncludeLevel1;\r\n vm.searchInFolder = searchInFolder;\r\n vm.toTopGroup = toTopGroup;\r\n vm.backToFolderView = backToFolderView;\r\n vm.showWhatsNewDocumentsRecursive = showWhatsNewDocumentsRecursive;\r\n vm.linkToFolderManagement = linkToFolderManagement;\r\n\t\tvm.showAllGroups = showAllGroups;\r\n vm.changeSelectedOption = changeSelectedOption;\r\n vm.nameFolderWithMetaTag = nameFolderWithMetaTag;\r\n vm.urlFolderWithMetaTag = urlFolderWithMetaTag;\r\n vm.getFolderClassMobile = getFolderClassMobile;\r\n vm.backToFolderMobileView = backToFolderMobileView;\r\n\r\n vm.currentRowIndex = 0;\r\n vm.totalDocuments = 0;\r\n vm.nextPage = nextPage;\r\n vm.infiniteGroups = [];\r\n vm.busy = false;\r\n vm.newTotalDocuments = 0;\r\n vm.scrolling = false;\r\n vm.subFoldersGridSetting = [];\r\n vm.showDocumentIncludeLevel1 = false;\r\n vm.showWhatsNewDocumentsInSubChapters = false;\r\n vm.searchDocuments = [];\r\n vm.WhatsNewDocuments = [];\r\n\r\n vm.copyUserFriendlyUrlTooltip = globalResources.CopyUserFriendlyUrl;\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n vm.showDropdownFolderOptions = false;\r\n vm.showSortOption = false;\r\n vm.isStandardView = true;\r\n vm.isGroupByMetaDataView = false;\r\n vm.openAboutFolder = openAboutFolder;\r\n vm.addOnlyFolderEmailSubscription = addOnlyFolderEmailSubscription;\r\n vm.removeOnlyFolderEmailSubscription = removeOnlyFolderEmailSubscription;\r\n vm.addRecursiveFolderEmailSubscription = addRecursiveFolderEmailSubscription;\r\n vm.removeRecursiveFolderEmailSubscription = removeRecursiveFolderEmailSubscription;\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n vm.openWhatsNewFolder = openWhatsNewFolder;\r\n vm.changeSelectedOptionInMobileView = changeSelectedOptionInMobileView;\r\n vm.collapsed = collapsed;\r\n vm.autoScrollDownExpandBottom = autoScrollDownExpandBottom;\r\n vm.metadataGroupTypes = [];\r\n vm.groupByDocument = groupByDocument;\r\n var infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadGroupSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadGroupSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadGroupSize);\r\n\r\n var infiniteScrollLoadDocumentssize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n vm.alerts = [];\r\n vm.disableFolderView = false;\r\n $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {\r\n tabStateService.adjustFolderContentIdentifierHeight();\r\n });\r\n\r\n $scope.$on(broadcastType.scrollTarget, function (e, target) {\r\n vm.scrolling = true;\r\n });\r\n\r\n $scope.$on('ActiveFolderWhatsnew', function (e, target) {\r\n vm.isWhatsNew = true;\r\n });\r\n\r\n $scope.$on(\"$destroy\", function () {\r\n documentService.clearDocumentsInWorker();\r\n documentService.clearMetaDocumentsInWorker();\r\n });\r\n\r\n $scope.$on(broadcastType.gridSettingTarget, function (e, target, gridSettingKey) {\r\n if (gridSettingKey == gridSettingKeys.commonVisibilitySettings) {\r\n vm.exportParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n }\r\n });\r\n\r\n $scope.selectNodeHead = selectNodeHead;\r\n $scope.selectNodeLabel = selectNodeLabel;\r\n\r\n $(document)\r\n .on(collapseExpandEvent.shown, function (event) {\r\n var $target = $(event.target.parentNode);\r\n $target.find(\".\" + collapseExpandClass.collapse)\r\n .removeClass(collapseExpandClass.collapse)\r\n .addClass(collapseExpandClass.expand);\r\n })\r\n .on(collapseExpandEvent.hidden, function (event) {\r\n var $target = $(event.target.parentNode);\r\n $target.find(\".\" + collapseExpandClass.expand)\r\n .removeClass(collapseExpandClass.expand)\r\n .addClass(collapseExpandClass.collapse);\r\n })\r\n .bind('click', function (event) {\r\n let isClickedElementChildOfPopup = angular.element(\"#moreIcon\").find(event.target).length > 0 ||\r\n angular.element(\"#moreIconChild\").find(event.target).length > 0;\r\n if (isClickedElementChildOfPopup) {\r\n vm.showSortOption = false;\r\n return;\r\n }\r\n vm.showDropdownFolderOptions = false;\r\n\r\n isClickedElementChildOfPopup = angular.element(\"#sortIcon\").find(event.target).length > 0 ||\r\n angular.element(\"#sortIconChild\").find(event.target).length > 0;\r\n \r\n if (isClickedElementChildOfPopup) {\r\n return;\r\n }\r\n vm.showSortOption = false;\r\n });\r\n vm.exportParams = {\r\n folderId: vm.folderId,\r\n isRecursive: false,\r\n groupBy: E.exportDocumentGroupsByColumn.none\r\n };\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n\t\t\tvar storageWhatsNewPeriodFolder = localStorageService.getItem(\"WhatsNewPeriodFolder\");\r\n\t\t\tvm.selectedOption = storageWhatsNewPeriodFolder != null ? storageWhatsNewPeriodFolder : parseInt(HandbookConfiguration.WhatsNewPeriodFolder);\r\n\r\n resizeService.resizeView();\r\n\r\n getGridSetting(gridSettingKeys.commonVisibilitySettings);\r\n getColumnsDefinition(gridSettingKeys.commonVisibilitySettings);\r\n buildSubFoldersGridSetting();\r\n vm.exportParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n vm.commonGridColumnDefinition = commonColumnsDefinition;\r\n vm.optionalColumns = optionalColumnsDenifinition;\r\n vm.commonColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n vm.hasViewAccess = true;\r\n vm.hasViewContentAccess = true;\r\n getFolderInfoStorage();\r\n\r\n if (vm.keyword) {\r\n searchInFolder();\r\n } else {\r\n showDocumentsRecursive();\r\n }\r\n\r\n updateFolderInfoStorage();\r\n vm.listOutSubChapters = HandbookConfiguration.ListOutSubChapters;\r\n\r\n getWhatsNewForFolder();\r\n\r\n if (!vm.publishedVersion && $scope.internetPublishOption) {\r\n vm.DocumentViewTypes.push({ Id: documentViewTypes.DocumentViewTypes_Internet, Name: globalResources.publishedOrUnpublished });\r\n }\r\n treeNavigationService.navigateToItemLocation(true);\r\n };\r\n\r\n $(window).on('resize', function () {\r\n vm.browserType = browserService.detectBrowserWindow();\r\n });\r\n\r\n function changeSelectedOption() {\r\n\t\t\tlocalStorageService.setItem(\"WhatsNewPeriodFolder\", vm.selectedOption);\r\n\t\t\tgetWhatsNewForFolder();\r\n }\r\n\r\n function changeSelectedOptionInMobileView(period) {\r\n vm.selectedOption = period.value;\r\n localStorageService.setItem(\"WhatsNewPeriodFolder\", vm.selectedOption);\r\n }\r\n\r\n //watch the height of the content change\r\n $scope.$watch(\r\n function () {\r\n return angular.element('#' + folderContent.content + '').height();\r\n },\r\n function (newValue, oldValue) {\r\n if (newValue != oldValue) {\r\n updateScroll();\r\n }\r\n }\r\n );\r\n\r\n function updateScroll() {\r\n if (vm.isPinMeta) { \r\n var currentHeight = angular.element('#content-body-chapter').height()\r\n - angular.element('#chapterItemTabs').height()\r\n - angular.element('#topmenuleftid').height()\r\n - angular.element('#list-document-type').height()\r\n - angular.element('.' + folderContent.groupMetatagList + '').height() - 37;\r\n \r\n angular.element('#' + folderContent.groupMetatagView + '').css({ height: currentHeight, 'overflow-y': 'auto' }); \r\n }\r\n else {\r\n angular.element('#' + folderContent.groupMetatagView + '').css({ height: '', 'overflow-y': '' });\r\n }\r\n localStorageService.setItem(localStorageKeys.stateOfSticky, vm.isPinMeta);\r\n }\r\n function pinMetaChange() {\r\n vm.isPinMeta = !vm.isPinMeta;\r\n if (vm.infiniteGroups.length != vm.groupDocuments.length) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n vm.newTotalDocuments = vm.infiniteGroups.length;\r\n }\r\n updateScroll();\r\n }\r\n\r\n function linkToFolderManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&folder=' + vm.folderId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'folder/' + vm.folderId, '_blank');\r\n }\r\n }\r\n\r\n $scope.$on('linkToFolderManagement', function (e, target) {\r\n linkToFolderManagement();\r\n });\r\n\r\n function onRowClick(id) {\r\n favoriteService.setFavoriteNodeState({ isFavorited: false });\r\n $state.go(handbookActions.FolderAction, { folderId: id });\r\n };\r\n\r\n function changeDocumentView() {\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n listedOutDocuments(vm.folderInformation.viewType);\r\n updateFolderInfoStorage();\r\n updateExportGroupByParam();\r\n };\r\n\r\n function selectNodeHead(node) {\r\n if (node.children == undefined || !node.children.length) {\r\n $http.get(handbookRequests.GetSubfoldersRequest, { params: { 'folderId': node.id } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n });\r\n }\r\n };\r\n\r\n function selectNodeLabel(node) {\r\n $state.go(handbookActions.FolderAction, {\r\n folderId: node.id\r\n });\r\n };\r\n\r\n function gotoParentFolder() {\r\n $state.go(handbookActions.FolderAction, { folderId: vm.folderInformation.parentFolderId });\r\n };\r\n\r\n function getWhatsNewForFolder() {\r\n\t\t\t$http.get(handbookRequests.GetRecentlyApprovedDocumentsForFolder, { params: { 'folderId': vm.folderId, 'includeSubFolder': vm.showWhatsNewDocumentsInSubChapters, 'periodOption': vm.selectedOption } })\r\n .success(function (data, status, headers, config) {\r\n vm.WhatsNewDocuments = data;\r\n updateAttachmentsForWhatsNewDocuments(data);\r\n documentService.getAgreeFilesForDocuments(vm.WhatsNewDocuments);\r\n });\r\n };\r\n\r\n function updateAttachmentsForWhatsNewDocuments(documents) {\r\n var documentIds = [];\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documentIds.push(documents[i].id);\r\n }\r\n }\r\n if (documentIds.length > 0) {\r\n $http\r\n .post('/api/Documents/GetAttachmentsForDocuments', { documentIds: documentIds })\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length > 0) {\r\n\t\t\t\t\t\t\tdata.forEach(function (x) {\r\n\t\t\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documents[i].attachments = [];\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].documentId == documents[i].id) {\r\n documents[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n function showWhatsNewDocumentsRecursive() {\r\n getWhatsNewForFolder();\r\n }\r\n\r\n function showDocumentsRecursive() {\r\n listedOutDocuments(vm.folderInformation.viewType);\r\n updateFolderInfoStorage();\r\n buildExportFileName();\r\n vm.exportParams.isRecursive = vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters;\r\n };\r\n\r\n function showDocumentsIncludeLevel1() {\r\n listedOutDocuments(vm.folderInformation.viewType);\r\n updateFolderInfoStorage();\r\n updateExportGroupByParam();\r\n }\r\n\r\n function removeFromFavorite() {\r\n var requestUrl = vm.removeFavoriteRequest + '/' + vm.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n var target = {\r\n data: {\r\n id: vm.folderId,\r\n isDocument: false\r\n },\r\n requestType: requestType.removeRequest\r\n };\r\n broadcastService(broadcastType.favoriteTarget, target);\r\n });\r\n };\r\n\r\n function getConsecutiveIndex(parentIndex, $index, documents) {\r\n var total = 0;\r\n for (var i = 0; i < parentIndex; i += 1) {\r\n total += documents[i].length;\r\n }\r\n return (total + $index);\r\n }\r\n\r\n function listedOutDocuments(viewType) {\r\n vm.groupDocuments = [];\r\n vm.isIncludeLevel1 = false;\r\n if (viewType != null) {\r\n if (viewType != documentViewTypes.DocumentViewTypes_Standard && viewType != documentViewTypes.DocumentViewTypes_Template\r\n && viewType != documentViewTypes.DocumentViewTypes_Internet) {\r\n getDocuments($stateParams.folderId);\r\n vm.isIncludeLevel1 = true;\r\n } else {\r\n listedOutDocumentsRecursive();\r\n }\r\n } else {\r\n getDocuments($stateParams.folderId);\r\n }\r\n };\r\n\r\n function getMetaGroupName(viewType) {\r\n var result = '';\r\n if (vm.DocumentViewTypes && vm.DocumentViewTypes.length > 0) {\r\n for (var i = 0; i < vm.DocumentViewTypes.length; i++) {\r\n if (viewType == vm.DocumentViewTypes[i].Id) {\r\n result = vm.DocumentViewTypes[i].Name;\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n function getMetadataGroupsForContentTab(viewType) {\r\n vm.isIncludeLevel1 = true;\r\n vm.metaGroupName = getMetaGroupName(viewType);\r\n vm.folderData.documents = vm.folderData.documents != null ? vm.folderData.documents : [];\r\n \r\n return documentService.getMetaDocumentsViaWorker(\r\n $stateParams.folderId,\r\n viewType,\r\n vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters,\r\n vm.showDocumentIncludeLevel1,\r\n vm.folderData.documents\r\n )\r\n .then(function (metadata) {\r\n if (!metadata) {\r\n return;\r\n }\r\n\r\n vm.metaDataTags = metadata.metaTags;\r\n documentService.getAgreeFilesForDocuments(metadata.folderDocuments);\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n $http.get(handbookRequests.GetDocumentsRecursive, {\r\n params: {\r\n 'folderId': $stateParams.folderId\r\n }\r\n }).success(function (data, status, headers, config) {\r\n updateAttachmentsForDocuments(data, true);\r\n vm.folderData = {\r\n documents: data,\r\n folders: vm.folderData.folders\r\n };\r\n mappingDocumentTemplates(metadata.documents);\r\n getDocumentsGroupByTypes(vm.folderData.documents, true);\r\n buildViewMode();\r\n });\r\n } else {\r\n vm.folderData.documents = metadata.folderDocuments;\r\n vm.groupDocuments = metadata.groupDocuments;\r\n updateInfiniteScrollingData();\r\n }\r\n });\r\n }\r\n\r\n function listedOutDocumentsRecursive() {\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n if (!vm.folderInformation || !vm.folderInformation.id) {\r\n $http.get(\"/api/Documents/GetFolderInformation\", { params: { 'folderId': $stateParams.folderId } })\r\n .success(function (data, status, headers, config) {\r\n vm.isFavoriteNodeSelected = true;\r\n\r\n angular.extend(vm.folderInformation, {\r\n level: data.level,\r\n levelTypeText: data.levelTypeText,\r\n parentFolderId: data.parentFolderId,\r\n viewType: vm.folderInformation.viewType || data.viewType,\r\n name: data.name,\r\n isFavorite: data.isFavorite,\r\n hasEmailSubscription: data.hasEmailSubscription,\r\n hasOnlyFolderEmailSubscription: data.hasOnlyFolderEmailSubscription,\r\n isFavoriteReadonly: data.isFavoriteReadonly,\r\n documentTemplates: data.documentTemplates,\r\n type: data.type,\r\n nodeType: convertToNodeType(data.type),\r\n id: data.id,\r\n description: data.description == null ? '' : $sce.trustAsHtml(data.description),\r\n icon: getFolderClassMobile(data.type)\r\n });\r\n buildExportFileName();\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n vm.showFolderLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend) && data.hasWritePermission;\r\n vm.folderIcon = getFolderIcon(vm.folderInformation.type);\r\n });\r\n }\r\n $http.get(handbookRequests.GetDocumentsRecursive, {\r\n params: {\r\n 'folderId': $stateParams.folderId,\r\n showLoading: true\r\n }\r\n }).success(function (data, status, headers, config) {\r\n updateAttachmentsForDocuments(data, true);\r\n vm.folderData = {\r\n documents: data,\r\n folders: vm.folderData != null ? vm.folderData.folders : null\r\n };\r\n angular.extend(vm.folderInformation, {\r\n documentTemplates: getDocumentTemplates(data)\r\n });\r\n buildExportFileName();\r\n angular.forEach(vm.folderData.documents, function (document) {\r\n document.internetDocumentString = document.internetDocument ? globalResources.publishedInternet : globalResources.unpublishedInternet;\r\n });\r\n\r\n documentService.getAgreeFilesForDocuments(vm.folderData.documents);\r\n getDocumentsGroupByTypes(vm.folderData.documents);\r\n\r\n buildViewMode();\r\n });\r\n\r\n if (HandbookConfiguration.MetadataEnabled == \"True\") {\r\n $http.get(handbookRequests.GetMetadataGroupsRecursive, {\r\n params: {\r\n 'folderId': $stateParams.folderId\r\n }\r\n }).success(function (data, status, headers, config) {\r\n getMetadataGroupTypes(data);\r\n });\r\n }\r\n } else {\r\n getDocuments($stateParams.folderId);\r\n }\r\n }\r\n\r\n function mappingDocumentTemplates(documentMetatags) {\r\n if (vm.folderData != null) {\r\n vm.folderData.documents = vm.folderData.documents != null ? vm.folderData.documents : [];\r\n vm.folderData.documents.forEach(function (item) {\r\n item.templateGroup = globalResources.UndefinedMetatag;\r\n });\r\n }\r\n if (documentMetatags != null && documentMetatags.length > 0 && vm.folderData != null) {\r\n var length = documentMetatags.length;\r\n for (var i = 0; i < length; i++) {\r\n updateDocumentTemplate(documentMetatags[i], documentMetatags[i].id)\r\n }\r\n }\r\n };\r\n\r\n function updateDocumentTemplate(documentMetatag, id) {\r\n documentMetatag.templateGroup = documentMetatag.metatagValue;\r\n var existedDocument = false;\r\n var length = vm.folderData.documents.length;\r\n for (var i = 0; i < length; i++) {\r\n if (vm.folderData.documents[i].id == id\r\n && (vm.folderData.documents[i].templateGroup == globalResources.UndefinedMetatag || vm.folderData.documents[i].templateGroup == null)) {\r\n vm.folderData.documents[i].templateGroup = documentMetatag.metatagValue || '';\r\n existedDocument = true;\r\n break;\r\n }\r\n }\r\n if (!existedDocument) {\r\n vm.folderData.documents.push(angular.copy(documentMetatag));\r\n }\r\n };\r\n\r\n function getSortGroupMetadata(metatagValue) {\r\n var sort = (vm.metaDataTags != null && vm.metaDataTags.length > 0) ? vm.metaDataTags.length + 1 : 0;\r\n if (vm.metaDataTags != null && vm.metaDataTags.length > 0) {\r\n for (var i = 0; i < vm.metaDataTags.length; i++) {\r\n if (vm.metaDataTags[i].registerValue == metatagValue) {\r\n sort = vm.metaDataTags[i].sort;\r\n break;\r\n }\r\n }\r\n }\r\n return sort;\r\n }\r\n\r\n function getDocuments(folderId) {\r\n var previousViewType = (vm.folderInformation != undefined && vm.folderInformation.viewType != undefined) ? vm.folderInformation.viewType : null;\r\n \r\n return documentService.getDocumentsViaWorker(folderId, previousViewType).then(function (data) {\r\n if (data.documentsError || data.hidden || data.errorMessage) {\r\n vm.errorMessage = data.errorMessage;\r\n vm.disableFolderView = true;\r\n runErrorServicesAfterInit();\r\n return;\r\n }\r\n\r\n vm.hasViewContentAccess = data.hasViewContentAccess;\r\n vm.hasViewAccess = data.hasViewAccess;\r\n vm.errorMessage = data.errorMessage;\r\n\r\n if (data.errorMessage && !data.documentsError) {\r\n var favoriteState = favoriteService.getFavoriteNodeState();\r\n vm.isFavoriteNodeSelected = favoriteState.isFavorited;\r\n // Update folder information for favorite button can work\r\n vm.folderInformation.isFavorite = vm.isFavoriteNodeSelected;\r\n vm.folderInformation.id = vm.folderId;\r\n runErrorServicesAfterInit();\r\n return;\r\n }\r\n\r\n vm.isFavoriteNodeSelected = true;\r\n \r\n vm.folderData = {\r\n documents: data.documents && data.documents.length ? data.documents.filter(x => !x.hidden) : data.documents,\r\n folders: data.folders && data.folders.length ? data.folders.filter(x => !x.hidden) : data.folders\r\n };\r\n vm.documentsMobile = angular.copy(vm.folderData.documents);\r\n vm.subFoldersMobile = angular.copy(vm.folderData.folders);\r\n if (vm.documentsMobile && vm.documentsMobile.length){\r\n sortItemsAscByName(vm.documentsMobile);\r\n }\r\n if (vm.subFoldersMobile && vm.subFoldersMobile.length){\r\n sortItemsAscByName(vm.subFoldersMobile);\r\n }\r\n \r\n documentService.getAgreeFilesForDocuments(vm.folderData.documents);\r\n\r\n vm.showFolderLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend) && data.hasWritePermission;\r\n if(vm.folderData.folders && vm.folderData.folders.length){\r\n angular.forEach(vm.folderData.folders, function (node) {\r\n node.icon = getFolderClass(convertToFolderType(node.type))\r\n });\r\n } \r\n\r\n angular.extend(vm.folderInformation, {\r\n level: data.level,\r\n levelTypeText: data.levelTypeText,\r\n parentFolderId: data.parentFolderId,\r\n viewType: data.viewType,\r\n name: data.name,\r\n isFavorite: data.isFavorite,\r\n hasEmailSubscription: data.hasEmailSubscription,\r\n hasOnlyFolderEmailSubscription: data.hasOnlyFolderEmailSubscription,\r\n isFavoriteReadonly: data.isFavoriteReadonly,\r\n documentTemplates: data.documentTemplates,\r\n type: data.type,\r\n nodeType: convertToNodeType(data.type),\r\n id: data.id,\r\n description: data.description == null ? '' : $sce.trustAsHtml(data.description),\r\n icon: getFolderClassMobile(data.type)\r\n });\r\n\t\t\t\tvm.messageWhatNew = String.format(globalResources.RecentlyApprovedDocumentsInTheHandbook, vm.folderInformation.name);\r\n buildExportFileName();\r\n $rootScope.title = globalResources.Handbook + \" - \" + data.name;\r\n\r\n angular.forEach(data.metadataGroupTypes, function (type) {\r\n var exist = vm.DocumentViewTypes.some(function (dt) {\r\n return dt.Id == type.Id;\r\n })\r\n\r\n if (!exist) {\r\n vm.DocumentViewTypes.push(type);\r\n }\r\n });\r\n vm.metadataGroupTypes = data.metadataGroupTypes;\r\n\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n vm.folderIcon = getFolderIcon(vm.folderInformation.type);\r\n\r\n var isGetMetadataGroupsForContentTab = hasGetMetadataGroupsForContentTab();\r\n if (isGetMetadataGroupsForContentTab) {\r\n getMetadataGroupsForContentTab(vm.folderInformation.viewType);\r\n }\r\n\r\n if (hasGetDocumentsGroupByTypes()) {\r\n vm.groupDocuments = data.groupDocuments;\r\n updateInfiniteScrollingData();\r\n }\r\n\r\n buildViewMode();\r\n updateExportGroupByParam();\r\n\r\n $timeout(function () {\r\n updateScroll();\r\n }, 500);\r\n });\r\n }\r\n\r\n function sortItemsAscByName(items) {\r\n items.sort(function (a, b) {\r\n if (a.name.toLowerCase() < b.name.toLowerCase())\r\n return -1;\r\n if (a.name.toLowerCase() > b.name.toLowerCase()) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n function hasGetMetadataGroupsForContentTab() {\r\n return vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard\r\n && vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Template\r\n && vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Internet;\r\n }\r\n\r\n function hasGetDocumentsGroupByTypes() {\r\n return vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard\r\n || vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template\r\n || vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Internet;\r\n }\r\n\r\n function buildViewMode() {\r\n if ((vm.folderData.documents && vm.folderData.documents.length > 0)\r\n && (vm.folderData.folders && vm.folderData.folders.length > 0)) {\r\n vm.viewMode = 2;\r\n } else if (vm.folderData.folders && vm.folderData.folders.length > 0) {\r\n vm.viewMode = 1;\r\n } else {\r\n vm.viewMode = 0;\r\n }\r\n }\r\n\r\n function buildSubFoldersGridSetting() {\r\n vm.subFoldersGridSetting.push({ id: 'name', name: globalResources.SubFolders.toUpperCase(), width: 100, coldefault: true, icon: 'icon' });\r\n vm.columnNotRemove = 'name';\r\n }\r\n\r\n function adjustContentPosition() {\r\n var tabState = tabStateService.getState(tabStateType.chapterTabState);\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(tabState, tabStateType.chapterTabState);\r\n }, 0, false);\r\n };\r\n\r\n function getMetadataGroupTypes(metadataGroups) {\r\n if (metadataGroups != null && metadataGroups.length > 0) {\r\n var length = metadataGroups.length;\r\n for (var i = 0; i < length; i++) {\r\n var key = metadataGroups[i].id.toString();\r\n if (!existsTemplate(key, vm.DocumentViewTypes)) { // We do not stored duplicated groups\r\n vm.DocumentViewTypes.push({ Id: key, Name: metadataGroups[i].name });\r\n vm.metadataGroupTypes = metadataGroups;\r\n }\r\n }\r\n }\r\n };\r\n\r\n function updateAttachmentsForDocuments(documents, recursive) {\r\n\r\n if (documents) {\r\n $http\r\n .get('/api/Folders/GetAttachmentsInFolder', {\r\n params: {\r\n folderId: vm.folderId,\r\n recursive: recursive ? 1 : 0\r\n }\r\n })\r\n .success(function (data) {\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documents[i].attachments = [];\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].documentId == documents[i].id) {\r\n documents[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n function existsTemplate(obj, list) {\r\n for (var i = 0; i < list.length; i++) {\r\n if (list[i].Id == obj) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n function getDocumentsGroupByTypes(documents, isMetadataGroup) {\r\n if (documents == null) {\r\n return;\r\n }\r\n\r\n var result = groupBy(documents, function (item) {\r\n if (isMetadataGroup) {\r\n return [item.templateGroup];\r\n } else if (vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Internet) {\r\n return [item.internetDocumentString];\r\n } else {\r\n return [item.template];\r\n }\r\n });\r\n\r\n vm.groupDocuments = [];\r\n var lastOne = {\r\n documents: [],\r\n templateName: '',\r\n totalDocuments: 0,\r\n sortGroup: 0\r\n };\r\n var hasUndefinedGroup = false;\r\n for (var i = 0; i < result.length; i++) {\r\n var sortGroup = 0;\r\n var documentsGroup = result[i].value.data;\r\n\r\n if (isMetadataGroup && vm.metaDataTags != null && vm.metaDataTags.length > 0) {\r\n sortGroup = getSortGroupMetadata(result[i].key);\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters || vm.showDocumentIncludeLevel1) {\r\n documentsGroup = $filter('orderBy')(documentsGroup, ['name']);\r\n } else {\r\n documentsGroup = $filter('orderBy')(documentsGroup, ['order', 'name']);\r\n }\r\n }\r\n if (result[i].key == globalResources.UndefinedMetatag) {\r\n lastOne.documents = documentsGroup;\r\n lastOne.templateName = result[i].key;\r\n lastOne.totalDocuments = result[i].value.data.length;\r\n lastOne.sortGroup = sortGroup;\r\n hasUndefinedGroup = true;\r\n } else {\r\n vm.groupDocuments.push({\r\n documents: documentsGroup,\r\n templateName: result[i].key,\r\n totalDocuments: result[i].value.data.length,\r\n sortGroup: sortGroup\r\n });\r\n }\r\n }\r\n if (isMetadataGroup && vm.metaDataTags != null && vm.metaDataTags.length > 0) {\r\n if (!checkSortOrderMetaTags(vm.groupDocuments)) {\r\n vm.groupDocuments.sort(function (a, b) {\r\n return a.sortGroup - b.sortGroup;\r\n });\r\n } else {\r\n vm.groupDocuments.sort(function (a, b) {\r\n return a.templateName.toLowerCase().localeCompare(b.templateName.toLowerCase());\r\n });\r\n }\r\n } else {\r\n vm.groupDocuments.sort(function (a, b) {\r\n return a.templateName.toLowerCase().localeCompare(b.templateName.toLowerCase());\r\n });\r\n }\r\n\r\n if (hasUndefinedGroup) {\r\n vm.groupDocuments.push(lastOne);\r\n }\r\n\r\n updateInfiniteScrollingData();\r\n }\r\n\r\n function checkSortOrderMetaTags(data) {\r\n if (data == null || data.length == 0) {\r\n return true;\r\n }\r\n return data[data.length - 1].sortGroup == data[0].sortGroup && data[data.length - 1].sortGroup == 0;\r\n }\r\n\r\n function updateInfiniteScrollingData() {\r\n if (!vm.groupDocuments) {\r\n return;\r\n }\r\n var newTotal = vm.groupDocuments != null ? vm.groupDocuments.length : 0;\r\n if (infiniteScrollLoadsize == 0) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n } else {\r\n vm.totalDocuments = newTotal;\r\n vm.currentRowIndex = 0;\r\n vm.infiniteGroups = getAPage();\r\n scrollToGroupDocument();\r\n vm.newTotalDocuments = 0;\r\n vm.scrolling = false;\r\n if (vm.browserType != BrowserType.MOBILE) {\r\n $timeout(function () { //scroll a bit up\r\n var folderContentObject = angular.element('#' + folderContent.content + '')[0];\r\n var scrollTop = folderContentObject.scrollTop;\r\n folderContentObject.scrollTop -= scrollTop / 2;\r\n }, 10, false);\r\n }\r\n }\r\n checkShowAllGroupLink(vm.infiniteGroups);\r\n initShowGroups();\r\n }\r\n\r\n function scrollToGroupDocument() { \r\n $timeout(function () {\r\n var anchorGroup = $location.hash();\r\n var indexToScroll = Number(anchorGroup.split('-').pop() || 0);\r\n if (vm.infiniteGroups[indexToScroll]) {\r\n vm.infiniteGroups[indexToScroll].isShow = true;\r\n vm.infiniteGroups[indexToScroll].isToggled = false;\r\n }\r\n \r\n if (anchorGroup) {\r\n $location.hash(anchorGroup);\r\n $anchorScroll();\r\n }\r\n }, 100);\r\n }\r\n\r\n function checkShowAllGroupLink(infiniteGroups) {\r\n if (!vm.groupDocuments || !infiniteGroups) {\r\n return;\r\n }\r\n\r\n var result = false;\r\n if (infiniteGroups.length <= vm.groupDocuments.length) {\r\n result = checkDocumentsInOneGroup();\r\n } else {\r\n result = true;\r\n }\r\n vm.showAllGroup = result;\r\n }\r\n\r\n function initShowGroups() {\r\n var length = vm.infiniteGroups.length > 5 ? 5 : vm.infiniteGroups.length;\r\n for (var i = 0; i < vm.infiniteGroups.length; i++) {\r\n if (i < length) {\r\n vm.infiniteGroups[i].isShow = true;\r\n vm.infiniteGroups[i].isToggled = false;\r\n } else {\r\n vm.infiniteGroups[i].isShow = false;\r\n vm.infiniteGroups[i].isToggled = true;\r\n }\r\n }\r\n }\r\n\r\n function checkDocumentsInOneGroup() {\r\n for (var i = 0; i < vm.groupDocuments.length; i++) {\r\n var item = vm.groupDocuments[i];\r\n if (item.totalDocuments > infiniteScrollLoadDocumentssize) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function getDocumentTemplates(documents) {\r\n if (documents != null) {\r\n var result = [];\r\n var lastOne = '';\r\n var hasUndefinedGroup = false;\r\n for (var i = 0; i < documents.length; i++) {\r\n if (result.indexOf(documents[i].template) < 0) {\r\n if (documents[i].template == globalResources.UndefinedMetatag) {\r\n lastOne = documents[i].template;\r\n hasUndefinedGroup = true;\r\n } else {\r\n result.push(documents[i].template);\r\n }\r\n }\r\n }\r\n\r\n result.sort(function (a, b) {\r\n return a.toLowerCase().localeCompare(b.toLowerCase());\r\n });\r\n\r\n if (hasUndefinedGroup) {\r\n result.push(lastOne);\r\n }\r\n\r\n var groupTemplates = [], columns = 6;\r\n for (var j = 0; j < result.length; j += columns) {\r\n groupTemplates.push(result.slice(j, j + columns));\r\n }\r\n\r\n return groupTemplates;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n function getFolderClass(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return 'folder-5-icon';\r\n case E.folderTypes.TopFolder:\r\n return 'folder-6-icon';\r\n case E.folderTypes.DepartmentFolder:\r\n return 'folder-7-icon';\r\n case E.folderTypes.RegionalFolder:\r\n return 'folder-8-icon';\r\n default:\r\n return 'folder-5-icon';\r\n }\r\n }\r\n\r\n function getFolderClassMobile(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return 'folder-blue-icon';\r\n case E.folderTypes.TopFolder:\r\n return 'folder-orange-icon';\r\n case E.folderTypes.DepartmentFolder:\r\n return 'folder-green-icon';\r\n case E.folderTypes.RegionalFolder:\r\n return 'folder-regional-icon';\r\n default:\r\n return 'folder-blue-icon';\r\n }\r\n }\r\n\r\n function getFolderIcon(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return paths.FolderIcon;\r\n case E.folderTypes.RegionalFolder:\r\n return paths.RegionalFolderIcon;\r\n case E.folderTypes.TopFolder:\r\n return paths.TopFolderIcon;\r\n case E.folderTypes.DepartmentFolder:\r\n return paths.DepartmentFolderIcon;\r\n default:\r\n return paths.FolderIcon;\r\n }\r\n };\r\n\r\n function convertToNodeType(folderType) {\r\n switch (folderType.toString()) {\r\n case E.folderTypes.Folder:\r\n return E.nodeTypes.Folder;\r\n case E.folderTypes.TopFolder:\r\n return E.nodeTypes.TopFolder;\r\n case E.folderTypes.DepartmentFolder:\r\n return E.nodeTypes.DepartmentFolder;\r\n case E.folderTypes.RegionalFolder:\r\n return E.nodeTypes.RegionalFolder;\r\n }\r\n };\r\n\r\n function convertToFolderType(nodeType) {\r\n switch (nodeType.toString()) {\r\n case E.nodeTypes.Folder:\r\n return E.folderTypes.Folder;\r\n case E.nodeTypes.TopFolder:\r\n return E.folderTypes.TopFolder;\r\n case E.nodeTypes.DepartmentFolder:\r\n return E.folderTypes.DepartmentFolder;\r\n case E.nodeTypes.RegionalFolder:\r\n return E.folderTypes.RegionalFolder;\r\n }\r\n };\r\n\r\n function runErrorServicesAfterInit() {\r\n tabStateService.closeOpenedTabIfNoPrivilege(tabStateType.chapterTabState);\r\n };\r\n\r\n function updateFolderInfoStorage() {\r\n var showDocumentsInSubChapters = vm.objectShowDocumentsInSubChapters ? !!vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters : false;\r\n var arrFolderInfo = [];\r\n var folderExist = false;\r\n var folderInfo = localStorageService.getItem(folderInformationKeyStorage);\r\n if (folderInfo != null) {\r\n var folders = JSON.parse(folderInfo);\r\n if (folders.constructor === Array) {\r\n for (var i = 0; i < folders.length; i++) {\r\n var folder = folders[i];\r\n if (folder.folderId != vm.folderId) {\r\n continue;\r\n }\r\n folder.folderId = vm.folderId;\r\n folder.recursive = showDocumentsInSubChapters;\r\n folder.template = vm.folderInformation.viewType;\r\n folder.includeLevel1 = vm.showDocumentIncludeLevel1;\r\n folderExist = true;\r\n break;\r\n }\r\n arrFolderInfo = folders;\r\n }\r\n }\r\n if (!folderExist) {\r\n arrFolderInfo.push({\r\n folderId: vm.folderId,\r\n recursive: showDocumentsInSubChapters,\r\n template: vm.folderInformation.viewType,\r\n includeLevel1: vm.showDocumentIncludeLevel1\r\n });\r\n }\r\n\r\n localStorageService.setItem(folderInformationKeyStorage, JSON.stringify(arrFolderInfo));\r\n }\r\n\r\n function getFolderInfoStorage() {\r\n var folderInfo = localStorageService.getItem(folderInformationKeyStorage);\r\n var viewFolder = $location.search().viewFolder;\r\n\r\n if (folderInfo != null) {\r\n var folderInfoObject = JSON.parse(folderInfo);\r\n\r\n if (folderInfoObject.constructor === Array) {\r\n for (var i = 0; i < folderInfoObject.length; i++) {\r\n var folder = folderInfoObject[i];\r\n if (folder.folderId != vm.folderId) {\r\n continue;\r\n }\r\n vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters = folder.recursive;\r\n vm.folderInformation.viewType = viewFolder ? viewFolder : folder.template;\r\n vm.showGroupDocumentTitle = vm.folderInformation.viewType != documentViewTypes.DocumentViewTypes_Standard;\r\n vm.showDocumentIncludeLevel1 = (folder.includeLevel1 != null && folder.includeLevel1 != undefined) ? folder.includeLevel1 : false;\r\n updateExportGroupByParam();\r\n break;\r\n }\r\n }\r\n } \r\n\r\n }\r\n\r\n function getAPage() {\r\n var data = [];\r\n var startIndex = vm.currentRowIndex;\r\n var endIndex = startIndex + infiniteScrollLoadsize;\r\n for (var i = startIndex; i < endIndex; i++) {\r\n if (vm.currentRowIndex < vm.totalDocuments) {\r\n data.push(vm.groupDocuments[i]);\r\n vm.currentRowIndex += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n return data;\r\n };\r\n\r\n function nextPage() {\r\n if (vm.busy) return;\r\n\r\n if (vm.groupDocuments == null || vm.groupDocuments.length == 0) {\r\n if (vm.folderData != null && vm.folderData.documents != null && hasGetDocumentsGroupByTypes()) {\r\n getDocumentsGroupByTypes(vm.folderData.documents);\r\n }\r\n }\r\n\r\n vm.busy = true;\r\n if (infiniteScrollLoadsize == 0) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n } else {\r\n if (vm.infiniteGroups.length < vm.newTotalDocuments || (vm.scrolling && vm.infiniteGroups.length < vm.groupDocuments.length)) {\r\n vm.infiniteGroups = vm.infiniteGroups.concat(getAPage());\r\n }\r\n }\r\n\r\n vm.newTotalDocuments = vm.infiniteGroups.length;\r\n vm.busy = false;\r\n };\r\n\r\n function showAllGroups(group) {\r\n if (vm.infiniteGroups.length != vm.groupDocuments.length) {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n vm.newTotalDocuments = vm.infiniteGroups.length;\r\n }\r\n group.isShow = true;\r\n }\r\n\r\n function showAllDocuments() {\r\n vm.infiniteGroups = vm.groupDocuments;\r\n vm.currentRowIndex = vm.totalDocuments;\r\n broadcastService('showAllDocumentInGroup', {});\r\n };\r\n\r\n function searchInFolder() {\r\n vm.isSearchInFolder = true;\r\n var searchRequestParams = {\r\n keyword: vm.keyword,\r\n searchInContents: true,\r\n searchType: 3,\r\n folderId: vm.folderId,\r\n fromDate: null,\r\n toDate: null,\r\n hasExpired: false,\r\n registerId: null,\r\n registerItemId: null,\r\n\t\t\t\tregisterItemValueId: null,\r\n\t\t\t\tincludeVirtualDocuments: true\r\n };\r\n\r\n if (!vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n searchRequestParams.notRecursiveFolderId = true;\r\n }\r\n\r\n\r\n $location.search('keyword', vm.keyword || undefined);\r\n $location.search('showDocumentsInSubChapters', vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters || undefined);\r\n\r\n $http.get(handbookRequests.SearchRequest, { params: searchRequestParams })\r\n .then(function (response, status, headers, config) {\r\n if (response.data.documents != null) {\r\n updateAttachmentsForDocuments(response.data.documents.filter(x => !x.hidden));\r\n documentService.getAgreeFilesForDocuments(response.data.documents);\r\n vm.searchDocuments = response.data.documents.filter(x => !x.hidden);\r\n vm.totalHits = vm.searchDocuments.length;\r\n vm.totalFound = response.data.documents.filter(x => !x.hidden).length;\r\n tabStateService.adjustFolderContentIdentifierHeight();\r\n } else {\r\n vm.totalHits = 0;\r\n vm.totalFound = 0;\r\n }\r\n });\r\n if (vm.browserType == BrowserType.MOBILE) {\r\n getDocuments($stateParams.folderId);\r\n }\r\n };\r\n\r\n function backToFolderView() {\r\n vm.isSearchInFolder = false;\r\n adjustContentPosition();\r\n }\r\n\r\n function backToFolderMobileView() {\r\n vm.isSearchInFolder = false;\r\n vm.keyword = '';\r\n }\r\n\r\n function toTopGroup() {\r\n angular.element('#folder-content-identifier').scrollTop(0);\r\n };\r\n\r\n function buildExportFileName() {\r\n if (!vm.folderInformation.name) {\r\n return;\r\n }\r\n if (vm.objectShowDocumentsInSubChapters.showDocumentsInSubChapters) {\r\n vm.exportFileName = String.format(globalResources.Exporter.ChapterWithSubChaptersDocumentList, vm.folderInformation.name);\r\n } else {\r\n vm.exportFileName = String.format(globalResources.Exporter.ChapterDocumentList, vm.folderInformation.name);\r\n }\r\n }\r\n\r\n function updateExportGroupByParam() {\r\n if (vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n vm.exportParams.groupBy = E.exportDocumentGroupsByColumn.none;\r\n } else if (vm.folderInformation.viewType == documentViewTypes.DocumentViewTypes_Template) {\r\n vm.exportParams.groupBy = E.exportDocumentGroupsByColumn.documentType;\r\n } else {\r\n vm.exportParams.groupBy = E.exportDocumentGroupsByColumn.metatag;\r\n vm.exportParams.metadataGroupId = vm.folderInformation.viewType;\r\n vm.exportParams.includeLevel1 = vm.showDocumentIncludeLevel1;\r\n }\r\n }\r\n\r\n function nameFolderWithMetaTag(item) {\r\n if (item.documents.length) {\r\n return item.documents[0].folderName + ' - ' + item.templateName;\r\n }\r\n }\r\n\r\n function urlFolderWithMetaTag(item, index) {\r\n if (item.documents.length) {\r\n var urlName = item.documents[0].handbookId + '?viewFolder=' + vm.folderInformation.viewType + '#groupDocumentHeader-' + index;\r\n return window.location.origin + '/folder/' + urlName;\r\n } \r\n\r\n }\r\n\r\n function openAboutFolder() {\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/chapter/templates/aboutFolderModal.html',\r\n controller: 'AboutFolderModalController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n folderData: vm.folderInformation\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n function addOnlyFolderEmailSubscription() {\r\n if (!vm.folderInformation.hasEmailSubscription) {\r\n var requestUrl = handbookRequests.AddOnlyFolderToEmailSubscription + '/' + vm.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasOnlyFolderEmailSubscription = !vm.folderInformation.hasOnlyFolderEmailSubscription;\r\n });\r\n }\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n }\r\n\r\n function removeOnlyFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.RemoveOnlyFolderFromEmailSubscription + '/' + vm.folderId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasOnlyFolderEmailSubscription = !vm.folderInformation.hasOnlyFolderEmailSubscription;\r\n });\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n }\r\n\r\n function addRecursiveFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.AddEmailSubscription + '/' + vm.folderId;\r\n\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasEmailSubscription = !vm.folderInformation.hasEmailSubscription;\r\n vm.folderInformation.hasOnlyFolderEmailSubscription = false;\r\n vm.folderInformation.hasEmailSubscription = true;\r\n });\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n };\r\n\r\n function removeRecursiveFolderEmailSubscription() {\r\n var requestUrl = handbookRequests.RemoveEmailSubscription + '/' + vm.folderId;\r\n\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.folderInformation.hasEmailSubscription = !vm.folderInformation.hasEmailSubscription;\r\n vm.folderInformation.hasEmailSubscription = false;\r\n });\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n }\r\n\r\n function openWhatsNewFolder() {\r\n vm.showDropdownFolderOptions = !vm.showDropdownFolderOptions;\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/chapter/templates/whatsNewFolderModal.html',\r\n controller: 'WhatsNewFolderModalController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n hasViewAccess: vm.hasViewAccess,\r\n showWhatsNewDocumentsInSubChapters: vm.showWhatsNewDocumentsInSubChapters,\r\n selectedOption: vm.selectedOption,\r\n hasViewContentAccess: vm.hasViewContentAccess,\r\n WhatsNewDocuments: vm.WhatsNewDocuments,\r\n changeSelectedOptionInMobileView: vm.changeSelectedOptionInMobileView,\r\n folderData: vm.folderInformation,\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n function collapsed(index) {\r\n vm.infiniteGroups[index].isToggled = !vm.infiniteGroups[index].isToggled;\r\n vm.infiniteGroups[index].isShow = !vm.infiniteGroups[index].isToggled\r\n angular.element('#groupDocument-' + index).toggleClass('collapsed');\r\n angular.element('#groupDocument-' + index + '_icon').toggleClass('collapsed-arrow').toggleClass('collapse-arrow');\r\n }\r\n\r\n function autoScrollDownExpandBottom(id) {\r\n if (vm.infiniteGroups[id].isShow) {\r\n let groupDocument = $(\"#groupDocument-\" + id);\r\n let e = document.getElementById('groupDocumentHeader-' + id);\r\n let positionBottomFolderContentIdentifier = $(\"#folder-content-identifier\").outerHeight() + $(\"#folder-content-identifier\").position().top;\r\n\r\n if ((groupDocument.position().top + groupDocument.outerHeight()) > positionBottomFolderContentIdentifier) {\r\n setTimeout(() => {\r\n e.scrollIntoView({\r\n block: 'start',\r\n behavior: 'smooth',\r\n inline: 'start'\r\n });\r\n }, 100);\r\n }\r\n }\r\n }\r\n\r\n function groupByDocument(viewType) {\r\n if (viewType != documentViewTypes.DocumentViewTypes_Standard && viewType != documentViewTypes.DocumentViewTypes_Template) {\r\n this.isStandardView = false;\r\n this.isGroupByMetaDataView = true;\r\n } else if (viewType == documentViewTypes.DocumentViewTypes_Standard) {\r\n this.isStandardView = true;\r\n this.isGroupByMetaDataView = false;\r\n } \r\n else if (viewType == documentViewTypes.DocumentViewTypes_Template || viewType == documentViewTypes.DocumentViewTypes_Internet) {\r\n this.isStandardView = false;\r\n this.isGroupByMetaDataView = false;\r\n }\r\n vm.folderInformation.viewType = viewType;\r\n changeDocumentView();\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module(\"handbookApp\")\r\n .controller(controllers.searchController, searchController);\r\n\r\n searchController.$inject = ['$scope', '$http', '$state', '$stateParams', '$timeout', '$document',\r\n 'favoriteService', 'folderService', 'tabStateService', 'resizeService', 'stringValidationService',\r\n 'metaDataService', 'documentService', '$location', '$q', 'configService', 'broadcastService', '$filter'];\r\n\r\n function searchController($scope, $http, $state, $stateParams, $timeout, $document,\r\n favoriteService, folderService, tabStateService, resizeService, stringValidationService,\r\n metaDataService, documentService, $location, $q, configService, broadcastService, $filter) {\r\n var vm = this;\r\n vm.handbookRequests = handbookRequests;\r\n $scope.translation = globalResources;\r\n vm.commonGridSettingKey = gridSettingKeys.commonVisibilitySettings;\r\n vm.enabledMetadataSearch = true;\r\n vm.enabledAdvanceSearch = true;\r\n vm.isMetadataSearch = configService.getBool(HandbookConfiguration.MetadataEnabled) && vm.enabledMetadataSearch;\r\n vm.doSearchDataMining = configService.getBool(HandbookConfiguration.DoSearchDataMining);\r\n vm.enabledCompendiaSearch = configService.getBool(HandbookConfiguration.CompendiaSearch);\r\n vm.searchInFolders = configService.getBool(HandbookConfiguration.SearchInFolders);\r\n var showCompendiaSearch = vm.enabledCompendiaSearch;\r\n var showFolderSearch = vm.searchInFolders;\r\n\r\n vm.searchLogLevel = parseInt(HandbookConfiguration.SearchLogLevel);\r\n $scope.searchTypes = [\r\n { id: 1, name: $scope.translation.TitleSearch },\r\n { id: 2, name: $scope.translation.ContentSearch }\r\n ];\r\n if (vm.enabledAdvanceSearch) {\r\n $scope.searchTypes.push({ id: 3, name: $scope.translation.AdvanceSearch });\r\n }\r\n if (vm.isMetadataSearch) {\r\n $scope.searchTypes.push({ id: 4, name: $scope.translation.MetadataSearch });\r\n }\r\n\r\n $scope.keywords = {};\r\n vm.today = new Date();\r\n\r\n vm.keyword = $stateParams.keyword;\r\n vm.searchInContents = $stateParams.searchInContents == true || $stateParams.searchInContents == 'true';\r\n\r\n vm.folderId = $stateParams.folderId;\r\n vm.fromDate = $stateParams.fromDate != null ? new Date(parseInt($stateParams.fromDate)) : null;\r\n vm.fromDateBK = angular.copy(vm.fromDate);\r\n vm.toDate = $stateParams.toDate != null ? new Date(parseInt($stateParams.toDate)) : null;\r\n vm.toDateBK = angular.copy(vm.toDate);\r\n vm.fromDateDisplayed = $stateParams.fromDate != null ? new Date(parseInt($stateParams.fromDate)) : null;\r\n vm.toDateDisplayed = $stateParams.toDate != null ? new Date(parseInt($stateParams.toDate)) : null;\r\n vm.registerItemId = $stateParams.registerItemId;\r\n vm.registerItemValueId = $stateParams.registerItemValueId;\r\n vm.type = $stateParams.type;\r\n vm.hasExpired = $stateParams.hasExpired == 1;\r\n vm.version = $stateParams.version != null ? parseInt($stateParams.version) : null;\r\n vm.documentType = $stateParams.documentType != null ? parseInt($stateParams.documentType) : null;\r\n vm.advancedSearchLocationType = vm.folderId == null ? 1 : (isNaN(vm.folderId) ? 2 : 1);\r\n\r\n vm.documents = {};\r\n vm.folders = {};\r\n vm.compendiaDocuments = [];\r\n vm.totalHits = 0;\r\n vm.totalFound = 0;\r\n vm.showLoadMore = false;\r\n vm.loadMoreClickedCounter = 0;\r\n vm.searchFilter = '';\r\n vm.folderName = '';\r\n vm.searchType = E.searchType.Maximum;\r\n vm.searchFilters = '';\r\n vm.showMoreLink = globalResources.Showmore;\r\n\r\n vm.selectedItem = {\r\n selectedMetadata: null,\r\n selectedTag: null\r\n };\r\n\r\n vm.foldersGridSetting = [];\r\n\r\n vm.initMetadata = {\r\n metadatas: [],\r\n tags: []\r\n };\r\n\r\n vm.startMetadata = 0;\r\n vm.startTag = 0;\r\n\r\n vm.onRowClick = onRowClick;\r\n vm.loadByMaxSearchSize = loadByMaxSearchSize;\r\n vm.showLoadMoreLink = showLoadMoreLink;\r\n $scope.selectNodeHead = selectNodeHead;\r\n $scope.selectNodeLabel = selectNodeLabel;\r\n $scope.clearSelectedNode = clearSelectedNode;\r\n $scope.clearFromDate = clearFromDate;\r\n $scope.clearToDate = clearToDate;\r\n $scope.changeSearchType = changeSearchType;\r\n $scope.setSearchLocationType = setSearchLocationType;\r\n $scope.search = search;\r\n $scope.isProcessNode = isProcessNode;\r\n vm.openCompendiaDocument = openCompendiaDocument;\r\n vm.defaultExportFileName = globalResources.SearchResult;\r\n vm.openDocument = openDocument;\r\n vm.folderClick = folderClick;\r\n vm.onVARClick = onVARClick;\r\n\r\n vm.isClickDocument = false;\r\n\r\n vm.areaGridSetting = [];\r\n vm.processes = {};\r\n vm.processAreas = {};\r\n vm.processesInterconnected = {};\r\n vm.areasRecords = 0;\r\n vm.processRecords = 0;\r\n vm.goToProcess = goToProcess;\r\n vm.goToProcessArea = goToProcessArea;\r\n vm.goToProcessInterconnected = goToProcessInterconnected;\r\n vm.enableProcess = configService.getBool(HandbookConfiguration.EnableProcess);\r\n vm.enableVAR = configService.getBool(HandbookConfiguration.EnableVAR);\r\n vm.enableInterconnectedProcess = configService.getBool(HandbookConfiguration.InterconnectedProcess);\r\n\r\n vm.maxHeight = 635;\r\n vm.getGetRegisterItemByAreaOrFolder = getGetRegisterItemByAreaOrFolder;\r\n vm.metaDataAll = [];\r\n vm.VAROffset = 0;\r\n\r\n vm.VARsGridSetting = [\r\n { id: 'title', name: window.resources.L.Common.title, width: 33, coldefault: true },\r\n { id: 'status', name: window.resources.L.Common.changeType, width: 33, coldefault: true },\r\n { id: 'updatedDate', name: window.resources.L.Common.lastUpdated, width: 33, coldefault: true }\r\n ];\r\n\r\n vm.varRecords = [];\r\n\r\n vm.exportParams = {};\r\n vm.exportRequestUrl = '';\r\n vm.exportDocumentParams = {};\r\n vm.searchProcessParams = {};\r\n vm.exportProcessParams = {};\r\n vm.exportProcessInterconnectedParams = {};\r\n vm.tabNameToExport = { processTab: 'processTab', interconnectedTab: 'interconnectedTab', documentTab: 'documentTab', areaTab: 'areaTab', folderTab: 'folderTab' };\r\n vm.handleChangeTabForExportList = handleChangeTabForExportList;\r\n vm.enableExportButton = false;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n //check and resize the view\r\n if (vm.isMetadataSearch) {\r\n getRegisterItems();\r\n }\r\n if (vm.searchInFolders) {\r\n buildFoldersGridSetting();\r\n }\r\n buildAreaGridSetting();\r\n loadFolderTree();\r\n\r\n if (vm.enableProcess) {\r\n loadAreaTree();\r\n }\r\n\r\n resizeService.resizeView();\r\n\r\n getGridSetting(gridSettingKeys.commonVisibilitySettings);\r\n getColumnsDefinition(gridSettingKeys.commonVisibilitySettings);\r\n vm.getFolderInformation = getFolderInformation();\r\n\r\n vm.commonColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n //TODO Why do we use these 2 lines?\r\n /*$scope.commonGridColumnDefinition = commonColumnsDefinition;\r\n $scope.optionalColumns = optionalColumnsDenifinition;*/\r\n\r\n generateExportParams();\r\n\r\n if (vm.enabledCompendiaSearch) { \r\n var mandatatoryRequests = [\r\n searchCompendiaDocuments(vm.keyword),\r\n getSearchResult(E.searchType.Maximum)\r\n ];\r\n\r\n $q.all(mandatatoryRequests).then(function (response) {\r\n $timeout(function () {\r\n handleNavigate();\r\n }, 500);\r\n getExportParams();\r\n });\r\n } else {\r\n var mandatatoryRequests = [getSearchResult(E.searchType.Maximum, true)];\r\n $q.all(mandatatoryRequests).then(function (response) {\r\n getExportParams();\r\n });\r\n }\r\n\r\n activeButtonGroup(parseInt(vm.type), true);\r\n activeLocationTypeButtonGroup(vm.advancedSearchLocationType);\r\n \r\n if (vm.folderId) {\r\n getGetRegisterItemByAreaOrFolder(vm.folderId);\r\n }\r\n watchVARGridScroll();\r\n };\r\n\r\n $scope.$on('$stateChangeStart',\r\n function (event, toState, toParams, fromState, fromParams, options) {\r\n if (vm.isClickDocument\r\n || vm.searchLogLevel != SEARCH_LOG_LEVEL.LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION\r\n || fromState.name != \"searchDocuments\" || vm.documents.length == 0 || vm.documents.length == undefined\r\n || vm.documents == null) {\r\n vm.isClickDocument = false;\r\n return;\r\n }\r\n else {\r\n insertLogWords(-2, user.userId, vm.keyword, $scope.selectedSearchType.id);\r\n }\r\n vm.isClickDocument = false;\r\n\r\n });\r\n\r\n function folderClick(id) {\r\n favoriteService.setFavoriteNodeState({ isFavorited: false });\r\n $state.go(handbookActions.FolderAction, { folderId: id });\r\n };\r\n\r\n function goToProcess(processNumber) {\r\n $state.go('process-detail', { processNumber: processNumber });\r\n }\r\n\r\n function goToProcessArea(areaId) {\r\n $state.go('process-area-detail', { areaId: areaId });\r\n }\r\n\r\n function goToProcessInterconnected(processInterconnectedNumber) {\r\n $state.go('process-interconnected', { processNumber: processInterconnectedNumber });\r\n }\r\n\r\n function handleNavigate() {\r\n var url = angular.copy($location.$$url);\r\n if (!url)\r\n return;\r\n url = url.toLowerCase();\r\n\r\n if (url.indexOf('tab?') == -1) {\r\n return;\r\n }\r\n\r\n if (vm.processes.length > 0 && url.indexOf('searchProcesses') > -1) {\r\n triggerTabClicked('#seachProcesses', false);\r\n }\r\n\r\n if (vm.documents.length > 0 && url.indexOf('searchDocuments') > -1) {\r\n triggerTabClicked('#searchDocuments', false);\r\n }\r\n\r\n if (vm.processAreas.length > 0 && url.indexOf('searchProcessAreas') > -1) {\r\n triggerTabClicked('#searchProcessAreas', false);\r\n }\r\n\r\n if (vm.folders.length > 0 && url.indexOf('searchFolders') > -1) {\r\n triggerTabClicked('#searchFolders', false);\r\n }\r\n\r\n if (vm.processesInterconnected.length > 0 && url.indexOf('seachProcessesInterconnected') > -1) {\r\n triggerTabClicked('#seachProcessesInterconnected', false);\r\n }\r\n\r\n if (vm.varRecords.length > 0 && url.indexOf('searchVAR') > -1) {\r\n triggerTabClicked('#searchVAR', false);\r\n }\r\n }\r\n\r\n function triggerTabClicked(tabId, clickItSelf) {\r\n setTimeout(function () {\r\n var childTab = $(tabId + ' a');\r\n if (childTab) {\r\n $(childTab).click();\r\n if (clickItSelf && $(tabId)) {\r\n $(tabId).click();\r\n }\r\n }\r\n });\r\n }\r\n\r\n function buildFoldersGridSetting() {\r\n vm.foldersGridSetting.push({ id: 'name', name: globalResources.Folder, width: 50, coldefault: true, icon: 'icon' });\r\n vm.foldersGridSetting.push({ id: 'location', name: globalResources.CommonGridColumns.Location, width: 50, coldefault: true });\r\n vm.columnNotRemove = 'name';\r\n }\r\n\r\n function buildAreaGridSetting() {\r\n vm.areaGridSetting.push({ id: 'name', name: globalResources.ProcessArea, width: 50, coldefault: true, icon: 'icon' });\r\n vm.areaGridSetting.push({ id: 'location', name: globalResources.CommonGridColumns.Location, width: 50, coldefault: true });\r\n vm.columnNotRemove = 'name';\r\n }\r\n\r\n function openDocument(id) {\r\n vm.isClickDocument = true;\r\n insertLogWords(id, user.userId, vm.keyword, $scope.selectedSearchType.id);\r\n }\r\n\r\n $scope.$on(broadcastType.gridSettingTarget, function (e, target, gridSettingKey) {\r\n if (gridSettingKey == gridSettingKeys.commonVisibilitySettings) {\r\n vm.exportDocumentParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n vm.exportProcessParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Process);\r\n vm.exportProcessInterconnectedParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.InterconnectedProcess);\r\n }\r\n });\r\n\r\n $document.bind('click', function (event) {\r\n var isClickedElementChildOfPopup = $('.folder-search')\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n $scope.showFolderTree = false;\r\n });\r\n\r\n $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {\r\n adjustContentPosition();\r\n });\r\n\r\n function adjustContentPosition() {\r\n var tabState = tabStateService.getState(tabStateType.searchTabState);\r\n $timeout(function () {\r\n tabStateService.adjustContentPosition(tabState, tabStateType.searchTabState);\r\n }, 0, false);\r\n }\r\n\r\n function getRegisterItems() {\r\n if (vm.isMetadataSearch) {\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n $http.get('/api/qmsMetaData/GetRegisterAndRegisterItemsForModule', { params: { application: 200 } })\r\n .then(function (response) {\r\n if (response && response.data) {\r\n if (!vm.folderId) {\r\n vm.initMetadata.metadatas = response.data;\r\n }\r\n vm.metaDataAll = response.data;\r\n }\r\n })\r\n }\r\n else {\r\n metaDataService.getRegisterAndRegisterItems().then(function (data) {\r\n if (data) {\r\n if (!vm.folderId) {\r\n vm.initMetadata.metadatas = data;\r\n }\r\n vm.metaDataAll = data;\r\n }\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n $scope.$watch('vm.selectedItem.selectedMetadata', function (selectedMetadata) {\r\n if (selectedMetadata) {\r\n vm.registerItemId = selectedMetadata.registerItemId;\r\n vm.selectedItem.selectedMetadata = vm.initMetadata.metadatas.find((x) => x.registerItemId == vm.registerItemId);\r\n }\r\n if (vm.registerItemId) {\r\n vm.selectedItem.selectedMetadata = vm.initMetadata.metadatas.find((x) => x.registerItemId == vm.registerItemId);\r\n }\r\n \r\n if (vm.isMetadataSearch) {\r\n if (vm.startTag != 1) {\r\n vm.selectedItem.selectedTag = null;\r\n if (selectedMetadata != null && selectedMetadata != undefined) {\r\n getMetadataTags(selectedMetadata.registerItemId);\r\n }\r\n } else {\r\n vm.startTag = 0;\r\n }\r\n }\r\n });\r\n\r\n function getMetadataTags(registerItemId) {\r\n if (vm.isMetadataSearch) {\r\n metaDataService.getMetadataTags(registerItemId).then(function (data) {\r\n if (data) {\r\n vm.initMetadata.tags = data;\r\n }\r\n });\r\n }\r\n };\r\n\r\n function isProcessNode(node) {\r\n return isNaN(node.id);\r\n }\r\n\r\n function selectNodeHead(node) {\r\n if (!node.isLoaded && vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder)) {\r\n $http.get(handbookRequests.GetSubfoldersRequest, { params: { 'folderId': node.id } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n else if (!node.isLoaded && vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n $http.get('/api/ProcessAreas/GetContent', { params: { AreaId: node.id, ShowProcessesInTree: false, IsOnlyApproved: false } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data.areas;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n };\r\n\r\n function selectNodeLabel(node) {\r\n getGetRegisterItemByAreaOrFolder(node.id);\r\n $scope.selectedNode = node;\r\n $scope.showFolderTree = false;\r\n };\r\n\r\n function getGetRegisterItemByAreaOrFolder(id) {\r\n if (!id || !vm.isMetadataSearch || (vm.advancedSearchLocationType !== parseInt(E.advancedSearchLocationType.folder) && vm.advancedSearchLocationType !== parseInt(E.advancedSearchLocationType.processArea))) {\r\n return;\r\n }\r\n if (vm.advancedSearchLocationType == E.advancedSearchLocationType.folder) {\r\n getRegisterItemsByModule(id);\r\n }\r\n else {\r\n getRegisterItemOfArea(id);\r\n };\r\n \r\n }\r\n\r\n function getRegisterItemsByModule(id) {\r\n $http.get('/api/qmsMetaData/GetRegisterItemsByModule', { params: { folderId: id, application: 136 } })\r\n .then(function (response) {\r\n if (response && response.data) {\r\n vm.initMetadata.metadatas = response.data;\r\n vm.initMetadata.metadatas.forEach((item) => {\r\n var metaDataItem = vm.metaDataAll.find((x) => x.registerItemId == item.registerItemId);\r\n item.name = metaDataItem.name;\r\n });\r\n\r\n }\r\n })\r\n }\r\n\r\n function getRegisterItemOfArea(id) {\r\n $http.get('/api/qmsMetaData/GetRegisterItemOfArea', { params: { areaId: id } })\r\n .then(function (response) {\r\n if (response && response.data) {\r\n vm.initMetadata.metadatas = response.data;\r\n vm.initMetadata.metadatas.forEach((item) => {\r\n var metaDataItem = vm.metaDataAll.find((x) => x.registerItemId == item.registerItemId);\r\n item.name = metaDataItem.name;\r\n });\r\n }\r\n })\r\n }\r\n\r\n function clearSelectedNode() {\r\n $scope.selectedNode = null;\r\n vm.initMetadata.metadatas = vm.metaDataAll;\r\n if (vm.registerItemId) {\r\n vm.selectedItem.selectedMetadata = vm.initMetadata.metadatas.find((x) => x.registerItemId == vm.registerItemId);\r\n };\r\n //getRegisterItems();\r\n }\r\n\r\n function clearFromDate() {\r\n $scope.fromDate = null;\r\n }\r\n\r\n function clearToDate() {\r\n $scope.toDate = null;\r\n }\r\n\r\n function activeButtonGroup(type, notCalculateHeigthGrid) {\r\n angular.element('#search-title-id').addClass('btn-disabled');\r\n angular.element('#search-content-id').addClass('btn-disabled');\r\n angular.element('#search-advance-id').addClass('btn-disabled');\r\n angular.element('#search-metadata-id').addClass('btn-disabled');\r\n if (type == 1) {\r\n angular.element('#search-title-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[0];\r\n } else if (type == 2) {\r\n angular.element('#search-content-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[1];\r\n } else if (type == 3) {\r\n angular.element('#search-advance-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[2];\r\n } else if (type == 4) {\r\n angular.element('#search-metadata-id').removeClass('btn-disabled');\r\n $scope.selectedSearchType = $scope.searchTypes[3];\r\n }\r\n\r\n var showMoreItem = (type == 3 || type == 4);\r\n if (!notCalculateHeigthGrid) {\r\n setHeightForGrid();\r\n }\r\n }\r\n\r\n function changeSearchType(type) {\r\n if (type == parseInt(E.searchTypeHandbook.titleSearch)) {\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n $scope.searchPlaceHolder = $scope.translation.TitleSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[0];\r\n } else if (type == parseInt(E.searchTypeHandbook.contentSearch)) {\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n $scope.searchPlaceHolder = $scope.translation.ContentSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[1];\r\n }\r\n else if (type == parseInt(E.searchTypeHandbook.advancedSearch) && vm.enabledAdvanceSearch) {\r\n $scope.isAdvanceSearch = true;\r\n $scope.isMetadataSearch = false;\r\n $scope.searchPlaceHolder = $scope.translation.AdvanceSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[2];\r\n activeLocationTypeButtonGroup(vm.advancedSearchLocationType);\r\n } else if (type == parseInt(E.searchTypeHandbook.metadataSearch) && vm.enabledMetadataSearch) {\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = true;\r\n $scope.searchPlaceHolder = $scope.translation.MetadataSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[3];\r\n activeLocationTypeButtonGroup(vm.advancedSearchLocationType);\r\n getGetRegisterItemByAreaOrFolder(vm.folderId);\r\n }\r\n setHeightForGrid();\r\n\r\n $timeout(function () {\r\n activeButtonGroup(type);\r\n }, 500);\r\n }\r\n\r\n function activeLocationTypeButtonGroup(type) {\r\n angular.element('#search-folder-id').addClass('label-btn-disabled');\r\n angular.element('#search-process-area-id').addClass('label-btn-disabled');\r\n if (type == 1) {\r\n angular.element('#search-folder-id').removeClass('label-btn-disabled');\r\n } else if (type == 2) {\r\n angular.element('#search-process-area-id').removeClass('label-btn-disabled');\r\n }\r\n }\r\n\r\n function setSearchLocationType(type) {\r\n vm.advancedSearchLocationType = type;\r\n clearSelectedNode();\r\n if (vm.isMetadataSearch) {\r\n getRegisterItems();\r\n }\r\n activeLocationTypeButtonGroup(type);\r\n }\r\n\r\n function search() {\r\n if ($scope.selectedSearchType.id == E.searchTypeHandbook.titleSearch) {\r\n searchTitle();\r\n } else if ($scope.selectedSearchType.id == E.searchTypeHandbook.contentSearch) {\r\n searchContent();\r\n } else if ($scope.selectedSearchType.id == E.searchTypeHandbook.advancedSearch) {\r\n searchAdvance();\r\n } else if ($scope.selectedSearchType.id == E.searchTypeHandbook.metadataSearch) {\r\n searchMetadata();\r\n }\r\n\r\n var searchCondition = ((vm.keyword != null && vm.keyword != \"\")\r\n || vm.folderId != ''\r\n || vm.fromDate != null\r\n || vm.toDate != null\r\n || (vm.registerItemId != null && vm.registerItemId != undefined && vm.registerItemId != 0))\r\n && stringValidationService.notContainSpecialCharacter(vm.keyword);\r\n if (!searchCondition) {\r\n return;\r\n }\r\n $state.go(handbookActions.SearchResultAction, {\r\n keyword: vm.keyword,\r\n searchInContents: vm.searchInContents ? 1 : 0,\r\n folderId: vm.folderId,\r\n fromDate: vm.fromDate,\r\n toDate: vm.toDate,\r\n hasExpired: vm.hasExpired ? 1 : 0,\r\n registerItemId: vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n type: $scope.selectedSearchType.id\r\n });\r\n }\r\n\r\n function openCompendiaDocument(link) {\r\n window.open(link);\r\n }\r\n\r\n function searchTitle() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = false;\r\n vm.folderId = null;\r\n vm.fromDate = null;\r\n vm.toDate = null;\r\n vm.hasExpired = false;\r\n vm.registerItemId = null;\r\n vm.registerItemValueId = null;\r\n }\r\n\r\n function searchContent() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = true;\r\n vm.folderId = null;\r\n vm.fromDate = null;\r\n vm.toDate = null;\r\n vm.hasExpired = false;\r\n vm.registerItemId = null;\r\n vm.registerItemValueId = null;\r\n }\r\n\r\n function searchAdvance() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = true;\r\n vm.folderId = $scope.selectedNode != null ? $scope.selectedNode.id : null;\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n\r\n vm.fromDate = ($scope.fromDate != null && ($scope.toDate == null || $scope.fromDate <= $scope.toDate)) ? $scope.fromDate.getTime() : null;\r\n vm.toDate = ($scope.toDate != null && $scope.toDate <= vm.today) ? $scope.toDate.getTime() : null;\r\n vm.hasExpired = $scope.hasExpired;\r\n vm.registerItemId = null;\r\n vm.registerItemValueId = null;\r\n }\r\n\r\n function searchMetadata() {\r\n vm.keyword = $scope.keyword;\r\n vm.searchInContents = true;\r\n vm.folderId = $scope.selectedNode != null ? $scope.selectedNode.id : null;\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n vm.fromDate = null;\r\n vm.toDate = null;\r\n vm.hasExpired = false;\r\n vm.registerItemId = vm.selectedItem.selectedMetadata != null ? vm.selectedItem.selectedMetadata.registerItemId : null;\r\n vm.registerItemValueId = vm.selectedItem.selectedTag != null ? vm.selectedItem.selectedTag.registerItemValueId : null;\r\n }\r\n\r\n function getSearchResult(searchType, reCalculateHeigth) {\r\n const quickSearchKeyword = vm.keyword ? vm.keyword.trim() : '';\r\n if (!quickSearchKeyword && (vm.type != parseInt(E.searchTypeHandbook.advancedSearch) && vm.type != parseInt(E.searchTypeHandbook.metadataSearch))) {\r\n return;\r\n }\r\n\r\n if (vm.enableProcess) {\r\n triggerSearchProcessModule(searchType);\r\n }\r\n\r\n if (vm.enableVAR) {\r\n triggerSearchVAR(quickSearchKeyword, vm.VAROffset);\r\n }\r\n\r\n var searchCondition = ((vm.keyword != null && vm.keyword != \"\")\r\n || vm.folderId != ''\r\n || vm.fromDate != null\r\n || vm.toDate != null\r\n || (vm.registerItemId != null && vm.registerItemId != undefined && vm.registerItemId != 0))\r\n && stringValidationService.notContainSpecialCharacter(vm.keyword);\r\n\r\n if (!searchCondition) {\r\n vm.searchConditionTrue = false;\r\n return;\r\n }\r\n\r\n vm.searchConditionTrue = true;\r\n\r\n vm.totalHits = specialCharacter.questionMark;\r\n vm.totalFound = specialCharacter.questionMark;\r\n\r\n if (vm.fromDate != null && typeof vm.fromDate != 'string') {\r\n vm.fromDate = vm.fromDate.toLocaleDateString() + ' GMT';\r\n }\r\n if (vm.toDate != null && typeof vm.toDate != 'string') {\r\n vm.toDate = vm.toDate.toLocaleDateString() + ' GMT';\r\n }\r\n if (vm.registerItemId) {\r\n vm.searchInContents = true;\r\n }\r\n\r\n var searchRequestParams = {\r\n keyword: vm.keyword,\r\n searchInContents: vm.searchInContents,\r\n searchType: searchType,\r\n folderId: vm.folderId,\r\n fromDate: vm.fromDate,\r\n toDate: vm.toDate,\r\n hasExpired: vm.hasExpired,\r\n registerItemId: vm.registerItemValueId != null ? null : vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n version: vm.version,\r\n documentType: vm.documentType,\r\n searchFilters: vm.searchParams,\r\n showLoading: true,\r\n };\r\n\r\n vm.searchType = searchType;\r\n\r\n tabStateService.setCurrentStateType(tabStateType.searchTabState);\r\n\r\n if (isGuid(vm.folderId)) {\r\n return;\r\n }\r\n\r\n return $http.get(handbookRequests.SearchRequest, { params: searchRequestParams })\r\n .then(function (response, status, headers, config) {\r\n if (response.data.documents != null && (response.data.documents.length > 0)) {\r\n updateAttachmentsForDocuments(response.data.documents);\r\n documentService.getAgreeFilesForDocuments(response.data.documents);\r\n vm.documents = response.data.documents.filter(x => !x.hidden);\r\n vm.totalHits = vm.documents.length;\r\n vm.totalFound = response.data.totalCount;\r\n var showMoreItem = (vm.type == parseInt(E.searchTypeHandbook.contentSearch) || vm.type == parseInt(E.searchTypeHandbook.metadataSearch));\r\n } else {\r\n vm.totalHits = 0;\r\n vm.totalFound = 0;\r\n if (vm.searchLogLevel == SEARCH_LOG_LEVEL.LOG_DOCUMENT_SELECTED_AND_0_HIT\r\n || vm.searchLogLevel == SEARCH_LOG_LEVEL.LOG_DOCUMENT_SELECTED_AND_0_HIT_AND_NO_SELECTION) {\r\n insertLogWords(-1, user.userId, vm.keyword, $scope.selectedSearchType.id);\r\n }\r\n }\r\n if (response.data.folders != null && response.data.folders.length > 0 && (vm.type != parseInt(E.searchTypeHandbook.advancedSearch) && vm.type != parseInt(E.searchTypeHandbook.metadataSearch))) {\r\n vm.folders = response.data.folders.filter(x => !x.hidden);\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n vm.totalFolderHits = vm.folders.length;\r\n }\r\n showFolderSearch = (showFolderSearch && vm.folders.length > 0 || vm.processAreas.length > 0);\r\n if (reCalculateHeigth) {\r\n $timeout(function () {\r\n setHeightForGrid();\r\n }, 200);\r\n }\r\n });\r\n }\r\n\r\n function triggerSearchProcessModule(searchType) {\r\n if (vm.type != parseInt(E.searchTypeHandbook.advancedSearch) && vm.type != parseInt(E.searchTypeHandbook.metadataSearch)) {\r\n getProcessAreaSearchResult(searchType);\r\n getProcessSearchResult(searchType);\r\n if (vm.enableInterconnectedProcess) {\r\n getProcessInterconnectedSearchResult(searchType);\r\n }\r\n return;\r\n }\r\n\r\n if (vm.folderId == null || isNaN(vm.folderId)) {\r\n advancedSearchProcess(vm.keyword, searchType)\r\n if (vm.enableInterconnectedProcess) {\r\n advancedSearchProcessInterconnected(vm.keyword, searchType);\r\n }\r\n\r\n return;\r\n }\r\n }\r\n\r\n function advancedSearchProcess(keyword, searchType) {\r\n let searchParams = generateSearchProcessAdvanceParams(keyword, searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcessesAdvance, { params: searchParams })\r\n .success(function (response) {\r\n if (response != null && response.length) {\r\n updateAttachmentsForProcesses(response);\r\n vm.processes = response;\r\n vm.processes = vm.processes.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n vm.processRecords = vm.processes.length;\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n });\r\n }\r\n\r\n function advancedSearchProcessInterconnected(keyword, searchType) {\r\n let searchParams = generateSearchProcessAdvanceParams(keyword, searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcessInterconnectedAdvance, { params: searchParams })\r\n .success(function (response) {\r\n if (response != null && response.length) {\r\n updateAttachmentsForProcessesInterconnected(response);\r\n vm.processesInterconnected = response;\r\n vm.processesInterconnected = vm.processesInterconnected.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n }\r\n })\r\n .error(function (data, status, headers, config) {\r\n });\r\n }\r\n\r\n function getProcessAreaSearchResult(searchType) {\r\n var processRequestParams = {\r\n keyword: vm.keyword ? vm.keyword : '',\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n\r\n return $http.get(handbookRequests.SearchProcessAreas, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n vm.processAreas = response.data;\r\n angular.forEach(vm.processAreas, function (node) {\r\n node.icon = 'fa fa-folder areas-color';\r\n });\r\n vm.areasRecords = vm.processAreas.length;\r\n }\r\n });\r\n }\r\n\r\n function getProcessSearchResult(searchType) {\r\n var processRequestParams = generateSearchProcessParams(searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcesses, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n updateAttachmentsForProcesses(response.data);\r\n vm.processes = response.data;\r\n vm.processes = vm.processes.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n vm.processRecords = vm.processes.length;\r\n }\r\n });\r\n }\r\n\r\n function getProcessInterconnectedSearchResult(searchType) {\r\n var processRequestParams = generateSearchProcessParams(searchType);\r\n\r\n return $http.get(handbookRequests.SearchProcessInterconnected, { params: processRequestParams })\r\n .then(function (response) {\r\n if (response != null && response.data != null && response.data.length) {\r\n updateAttachmentsForProcessesInterconnected(response.data);\r\n vm.processesInterconnected = response.data;\r\n vm.processesInterconnected = vm.processesInterconnected.map(ele => {\r\n ele.handbookId = ele.folderId;\r\n return ele;\r\n });\r\n angular.forEach(vm.folders, function (node) {\r\n node.icon = getFolderClass(node.type)\r\n });\r\n }\r\n });\r\n }\r\n\r\n function getFolderClass(nodeType) {\r\n switch (nodeType.toString()) {\r\n case E.nodeTypes.Folder:\r\n return 'folder-5-icon';\r\n case E.nodeTypes.TopFolder:\r\n return 'folder-6-icon';\r\n case E.nodeTypes.DepartmentFolder:\r\n return 'folder-7-icon';\r\n case E.nodeTypes.RegionalFolder:\r\n return 'folder-8-icon';\r\n default:\r\n return 'folder-5-icon';\r\n }\r\n };\r\n\r\n function searchCompendiaDocuments(keyword) {\r\n var searchUrl = null;\r\n if (vm.type == parseInt(E.searchTypeHandbook.titleSearch)) {\r\n searchUrl = handbookRequests.CompendiaDocument_TitleSearch;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.contentSearch)) {\r\n searchUrl = handbookRequests.CompendiaDocument_ContentSearch;\r\n }\r\n\r\n if (searchUrl == null) {\r\n vm.compendiaDocuments = [];\r\n return;\r\n }\r\n\r\n return $http.get(searchUrl, { params: { keyword: keyword, showLoading: true } })\r\n .success(function (data) {\r\n vm.compendiaDocuments = data;\r\n showCompendiaSearch = (showCompendiaSearch && vm.compendiaDocuments.length > 0);\r\n });\r\n }\r\n\r\n function getFolderInformation() {\r\n if (vm.folderId != undefined && vm.folderId != 0) {\r\n if (!isNaN(vm.folderId)) {\r\n var folder = folderService.getFolder();\r\n if (folder == undefined) {\r\n folderService.getFolderById(vm.folderId).then(function (response) {\r\n vm.folderName = response.data.name;\r\n $scope.selectedNode = response.data;\r\n });\r\n }\r\n else {\r\n vm.folderName = folder.name;\r\n $scope.selectedNode = folder;\r\n }\r\n }\r\n else {\r\n $http.get('/api/ProcessAreas/GetContent', { params: { AreaId: vm.folderId, ShowProcessesInTree: false, IsOnlyApproved: false } })\r\n .success(function (data, status, headers, config) {\r\n vm.folderName = data.areaInformation.name;\r\n $scope.selectedNode = data.areaInformation;\r\n });\r\n }\r\n\r\n }\r\n };\r\n\r\n function getSearchFilter() {\r\n var filter = '';\r\n if (vm.keyword != null && vm.keyword != '') {\r\n filter = vm.keyword;\r\n }\r\n var folderIdNotNull = vm.folderId != 0 && vm.folderId != null,\r\n fromDateNotNull = vm.fromDateDisplayed != null,\r\n toDateNotNull = vm.toDateDisplayed != null,\r\n registerItemIdNotNull = vm.selectedItem.selectedMetadata != null,\r\n registerItemValueIdNotNull = vm.selectedItem.selectedTag != null,\r\n startOption = specialCharacter.space + specialCharacter.openParenthesis,\r\n endOption = specialCharacter.closeParenthesis,\r\n seperator = specialCharacter.comma + specialCharacter.space,\r\n colon = specialCharacter.space + specialCharacter.colon + specialCharacter.space;\r\n if ($scope.selectedSearchType.id == 3) {\r\n if (folderIdNotNull || fromDateNotNull || toDateNotNull || registerItemIdNotNull) {\r\n if (folderIdNotNull) {\r\n filter += startOption + globalResources.Chapter + colon + vm.folderName;\r\n }\r\n else {\r\n filter += startOption;\r\n }\r\n\r\n if (fromDateNotNull && folderIdNotNull) {\r\n filter += seperator + globalResources.From + colon + getDateStringFromInput(vm.fromDateDisplayed);\r\n }\r\n else if (fromDateNotNull) {\r\n filter += globalResources.From + colon + getDateStringFromInput(vm.fromDateDisplayed);\r\n }\r\n\r\n if ((toDateNotNull && folderIdNotNull) || (toDateNotNull && fromDateNotNull)) {\r\n filter += seperator + globalResources.To + colon + getDateStringFromInput(vm.toDateDisplayed) + endOption;\r\n }\r\n else if (toDateNotNull) {\r\n filter += globalResources.To + colon + getDateStringFromInput(vm.toDateDisplayed) + endOption;\r\n }\r\n else {\r\n filter += endOption;\r\n }\r\n }\r\n } else if ($scope.selectedSearchType.id == 4) {\r\n if (folderIdNotNull || registerItemIdNotNull) {\r\n if (folderIdNotNull) {\r\n filter += startOption + globalResources.Chapter + colon + vm.folderName;\r\n }\r\n else {\r\n filter += startOption;\r\n }\r\n\r\n if (registerItemIdNotNull) {\r\n filter += seperator + globalResources.Metadata + colon + vm.selectedItem.selectedMetadata.name;\r\n }\r\n\r\n if (registerItemValueIdNotNull) {\r\n filter += seperator + globalResources.Tag + colon + vm.selectedItem.selectedTag.registerValue + endOption;\r\n }\r\n else {\r\n filter += endOption;\r\n }\r\n }\r\n }\r\n\r\n return filter;\r\n };\r\n\r\n function loadFolderTree() {\r\n // Does not follow config showDocumentInTree\r\n $http.get(handbookRequests.GetFoldersRequest, { params: { 'id': null, 'showDocumentInTree': false } })\r\n .success(function (data, status, headers, config) {\r\n $scope.folderTree = data;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder))\r\n loadSearchType();\r\n });\r\n }\r\n\r\n function loadAreaTree() {\r\n $http.get('/api/ProcessAreas/GetContent', { params: { AreaId: null, ShowProcessesInTree: false, IsOnlyApproved: false } })\r\n .success(function (data, status, headers, config) {\r\n $scope.areaTree = data.areas;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea))\r\n loadSearchType();\r\n });\r\n }\r\n\r\n function loadSearchType() {\r\n if (vm.type == parseInt(E.searchTypeHandbook.advancedSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.AdvanceSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[2];\r\n $scope.keyword = vm.keyword;\r\n $scope.fromDate = vm.fromDateDisplayed;\r\n $scope.toDate = vm.toDateDisplayed;\r\n $scope.hasExpired = vm.hasExpired;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder)) {\r\n for (var i = 0; i < $scope.folderTree.length; i++) {\r\n if (vm.folderId == $scope.folderTree[i].id) {\r\n $scope.selectedNode = $scope.folderTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n else if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n for (var i = 0; i < $scope.areaTree.length; i++) {\r\n if (vm.folderId == $scope.areaTree[i].id) {\r\n $scope.selectedNode = $scope.areaTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n $scope.isAdvanceSearch = true;\r\n $scope.isMetadataSearch = false;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.contentSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.ContentSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[1];\r\n $scope.keyword = vm.keyword;\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.titleSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.TitleSearch;\r\n $scope.selectedSearchType = $scope.searchTypes[0];\r\n $scope.keyword = vm.keyword;\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = false;\r\n } else if (vm.type == parseInt(E.searchTypeHandbook.metadataSearch)) {\r\n $scope.searchPlaceHolder = $scope.translation.MetadataSearch;\r\n $scope.keyword = vm.keyword;\r\n $scope.selectedSearchType = $scope.searchTypes[3];\r\n $scope.isAdvanceSearch = false;\r\n $scope.isMetadataSearch = true;\r\n if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.folder)) {\r\n for (var i = 0; i < $scope.folderTree.length; i++) {\r\n if (vm.folderId == $scope.folderTree[i].id) {\r\n $scope.selectedNode = $scope.folderTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n else if (vm.advancedSearchLocationType == parseInt(E.advancedSearchLocationType.processArea)) {\r\n for (var i = 0; i < $scope.areaTree.length; i++) {\r\n if (vm.folderId == $scope.areaTree[i].id) {\r\n $scope.selectedNode = $scope.areaTree[i];\r\n vm.folderName = $scope.selectedNode != null ? $scope.selectedNode.name : null;\r\n break;\r\n }\r\n }\r\n }\r\n initMetadataSearch();\r\n }\r\n $timeout(function () {\r\n vm.searchFilter = getSearchFilter();\r\n }, 700);\r\n }\r\n\r\n function initMetadataSearch() {\r\n if (vm.registerItemId && vm.registerItemId != 0) {\r\n //getRegisterItems();\r\n getMetadataTags(vm.registerItemId);\r\n\r\n\r\n $timeout(function () {\r\n if (vm.registerItemId && vm.registerItemId != 0) {\r\n for (var i = 0; i < vm.initMetadata.metadatas.length; i++) {\r\n var metadata = vm.initMetadata.metadatas[i];\r\n if (vm.registerItemId == metadata.registerItemId) {\r\n vm.selectedItem.selectedMetadata = metadata;\r\n break;\r\n }\r\n }\r\n if (vm.registerItemValueId && vm.registerItemValueId != 0) {\r\n for (var i = 0; i < vm.initMetadata.tags.length; i++) {\r\n var tag = vm.initMetadata.tags[i];\r\n if (vm.registerItemValueId == tag.registerItemValueId) {\r\n vm.selectedItem.selectedTag = tag;\r\n break;\r\n }\r\n }\r\n }\r\n vm.startMetadata = 1;\r\n vm.startTag = 1;\r\n }\r\n }, 500);\r\n }\r\n };\r\n\r\n function onRowClick($event) {\r\n favoriteService.setFavoriteNodeState({\r\n isFavorited: false\r\n });\r\n documentService.goToDocument($event);\r\n };\r\n\r\n function loadByMaxSearchSize() {\r\n vm.loadMoreClickedCounter = 1;\r\n getSearchResult(E.searchType.Maximum);\r\n };\r\n\r\n function showLoadMoreLink(row) {\r\n var _isShow = vm.documents.length < vm.totalFound && vm.loadMoreClickedCounter == 0;\r\n var _isLastIndex = row.rowIndex == vm.documents.length - 1;\r\n\r\n if (_isShow && _isLastIndex) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n function getDateStringFromInput(date) {\r\n return date.getDate() + '.' + (date.getMonth() + 1) + '.' + date.getFullYear();\r\n }\r\n\r\n function updateAttachmentsForDocuments(documents) {\r\n var documentIds = [];\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documentIds.push(documents[i].id);\r\n }\r\n }\r\n if (documentIds.length > 0) {\r\n $http\r\n .post('/api/Documents/GetAttachmentsForDocuments', { documentIds: documentIds })\r\n .success(function (data) {\r\n if (data && data.length > 0) {\r\n data.forEach(function (x) {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n for (var i = 0; i < documents.length; i++) {\r\n if (documents[i].hasAttachment) {\r\n documents[i].attachments = [];\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].documentId == documents[i].id) {\r\n documents[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n function updateAttachmentsForProcesses(processes) {\r\n if (processes == null || processes.length == 0) {\r\n return processes;\r\n }\r\n\r\n var processEntityIds = [];\r\n for (var i = 0; i < processes.length; i++) {\r\n if (processes[i].hasAttachment && processes[i].isProcess) {\r\n processEntityIds.push(processes[i].entityId);\r\n }\r\n }\r\n if (processEntityIds.length > 0) {\r\n $http.get('/api/Processes/GetAttachmentsForProcesses', {\r\n params: { processEntityIds },\r\n })\r\n .success(function (data) {\r\n if (data && data.length > 0) {\r\n data.forEach(x => {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n for (var i = 0; i < processes.length; i++) {\r\n if (processes[i].hasAttachment) {\r\n processes[i].attachments = [];\r\n processes[i].attachmentHtml = '';\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].processEntityId === processes[i].entityId) {\r\n processes[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n function updateAttachmentsForProcessesInterconnected(processesInterconnected) {\r\n if (processesInterconnected == null || processesInterconnected.length == 0) {\r\n return processesInterconnected;\r\n }\r\n\r\n var processInterconnectedEntityIds = [];\r\n for (var i = 0; i < processesInterconnected.length; i++) {\r\n if (processesInterconnected[i].hasAttachment && processesInterconnected[i].isProcess) {\r\n processInterconnectedEntityIds.push(processesInterconnected[i].processInterconnectedEntityId);\r\n }\r\n }\r\n if (processInterconnectedEntityIds.length > 0) {\r\n $http.get(handbookRequests.GetAttachmentsForProcessesInterconnected, {\r\n params: { processInterconnectedEntityIds },\r\n })\r\n .success(function (data) {\r\n if (data && data.length > 0) {\r\n data.forEach(x => {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n for (var i = 0; i < processesInterconnected.length; i++) {\r\n if (processesInterconnected[i].hasAttachment) {\r\n processesInterconnected[i].attachments = [];\r\n processesInterconnected[i].attachmentHtml = '';\r\n for (var j = 0; j < data.length; j++) {\r\n if (data[j].processInterconnectedEntityId === processesInterconnected[i].processInterconnectedEntityId) {\r\n processesInterconnected[i].attachments.push(data[j]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n //function calculateRemainingHeightForDocumentGrids() {\r\n // var heightOfTopBar = $('#handbook-nav').outerHeight(true);\r\n // var heightOfBreadcrumbs = $('.search-result-page > .clearfix').outerHeight(true);\r\n // var heightOfSearchButtons = $('.search-result-page > .button-group').outerHeight(true);\r\n // var heightOfSearchForm = $('.search-result-page > .form-button').outerHeight(true);\r\n // var heightOfAdvancedSearchForm = $scope.isAdvanceSearch ? $('.search-result-page .search-result-search-more').outerHeight(true) : 0;\r\n // var heightOfHandbookDocumentsTitle = $('.search-result-page .search-document-title-hit').outerHeight(true);\r\n // var heightOfCompendiaDocumentsTitle = !showCompendiaSearch\r\n // ? 0 : $('.search-result-page .compendia-title-hit').outerHeight(true);\r\n // var heightOfFolderSearchTitle = !showFolderSearch\r\n // ? 0 : $('.search-result-page .search-folder-title-hit').outerHeight(true);\r\n\r\n // return $(window).height() - heightOfTopBar - heightOfBreadcrumbs\r\n // - heightOfSearchButtons - heightOfSearchForm - heightOfAdvancedSearchForm\r\n // - heightOfHandbookDocumentsTitle\r\n // - heightOfCompendiaDocumentsTitle\r\n // - heightOfFolderSearchTitle;\r\n //}\r\n\r\n\r\n function setHeightForGrid() {\r\n $timeout(function () {\r\n var filter = $('.advanced-search-more').height();\r\n if (Number(filter) > 0) {\r\n vm.maxHeight = 570;\r\n } else {\r\n vm.maxHeight = 635;\r\n }\r\n calculateHeightForDocumentGrids();\r\n }, 100);\r\n }\r\n\r\n function calculateHeightForDocumentGrids() {\r\n $('.handbook-folders #gridController tbody').css('max-height', vm.maxHeight);\r\n $('.compendia-documents .content-wrapper').css('max-height', vm.maxHeight);\r\n $('.handbook-documents #gridController tbody').css('max-height', vm.maxHeight);\r\n }\r\n\r\n function insertLogWords(documentId, employeeId, searchKey, searchType) {\r\n if (!vm.doSearchDataMining) {\r\n return;\r\n }\r\n\r\n vm.searchFilters = window.location.search;\r\n if (vm.searchFilters && vm.searchFilters != '') {\r\n if (documentId == -2) {\r\n searchKey = decodeURI(vm.searchFilters.match(\"keyword=(.*)&search\")[1]);\r\n searchType = vm.searchFilters.substring(vm.searchFilters.length - 1);\r\n }\r\n\r\n return $http.post('/api/Search/LogSearchWords',\r\n {\r\n documentId: documentId,\r\n employeeId: employeeId,\r\n searchKey: searchKey,\r\n searchType: searchType,\r\n searchFilters: vm.searchFilters\r\n }).then(function (data, status, headers, config) {\r\n return true;\r\n });\r\n }\r\n }\r\n\r\n function onVARClick(row) {\r\n window.open(row.url);\r\n }\r\n\r\n function triggerSearchVAR(keyword, offset) {\r\n if (vm.isLoadingVar) return;\r\n vm.isLoadingVar = true;\r\n\r\n return $http.get('/api/var/', {\r\n params: {\r\n method: 'PROCEDURE',\r\n query: keyword,\r\n offset: offset\r\n }\r\n }).then(response => {\r\n if (!response || !response.data || !response.data.documents || !response.data.documents.length) return;\r\n vm.numFoundOfVar = response.data.numFound;\r\n vm.varRecords = [...vm.varRecords, ...(response.data.documents || [])];\r\n vm.VAROffset += response.data.documents.length;\r\n vm.varRecords.forEach(record => {\r\n record.status = inferVarRecordStatus(record.changeType);\r\n record.updatedDate = $filter('date')(record.lastUpdated, 'dd.MM.yyyy');\r\n });\r\n }).finally(() => {\r\n vm.isLoadingVar = false;\r\n }); \r\n }\r\n\r\n function inferVarRecordStatus(changeType) {\r\n if (!changeType) return '';\r\n changeType = changeType.toLowerCase();\r\n const prefix = window.resources.L.Common.degree.toUpperCase();\r\n switch (changeType) {\r\n case 'none': return `${prefix}: 0`;\r\n case 'insignificant': return `${prefix}: 1`;\r\n case 'small': return `${prefix}: 2`;\r\n case 'medium': return `${prefix}: 3`;\r\n case 'large': return `${prefix}: 4`;\r\n case 'new': return `${prefix}: ${window.resources.L.Common.new}`;\r\n default: return '';\r\n }\r\n }\r\n \r\n function watchVARGridScroll() {\r\n $('#searchVAR').bind('scroll', (event) => {\r\n var element = event.target;\r\n if ($(element).scrollTop() + $(element).innerHeight() >= $(element)[0].scrollHeight) {\r\n const quickSearchKeyword = vm.keyword ? vm.keyword.trim() : '';\r\n triggerSearchVAR(quickSearchKeyword, vm.VAROffset).then(() => {\r\n broadcastService(broadcastType.gridDataChanges, { id: 'searchVAR', data: vm.varRecords, isForced: true });\r\n });\r\n }\r\n });\r\n }\r\n\r\n function isGuid(char) {\r\n return /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/gi.test(char);\r\n }\r\n\r\n function getExportParams() {\r\n if (vm.processes.length) {\r\n vm.enableExportButton = true;\r\n setProcessExportParams();\r\n }\r\n else if (vm.documents.length) {\r\n vm.enableExportButton = true;\r\n setDocumentExportParams();\r\n } else if (vm.processesInterconnected.length) {\r\n vm.enableExportButton = true;\r\n setProcessInterconnectedExportParams();\r\n }\r\n }\r\n\r\n function generateSearchProcessParams(searchType) {\r\n return {\r\n keyword: vm.keyword ? vm.keyword : '',\r\n searchType: searchType,\r\n isFrontend: true,\r\n isContentSearch: vm.searchInContents\r\n };\r\n }\r\n\r\n function generateSearchProcessAdvanceParams(keyword, searchType) {\r\n var fromDate = null;\r\n if (vm.fromDateBK != null && typeof vm.fromDateBK != 'string') {\r\n fromDate = vm.fromDateBK.toUTCString().replace('UTC', 'GMT');\r\n }\r\n var toDate = null;\r\n if (vm.toDateBK != null && typeof vm.toDateBK != 'string') {\r\n toDate = vm.toDateBK.toUTCString().replace('UTC', 'GMT');\r\n }\r\n\r\n return {\r\n keyword: keyword,\r\n isContentSearch: vm.searchInContents ? true : false,\r\n areaId: vm.folderId,\r\n metadataMustContainAll: vm.type == parseInt(E.searchTypeHandbook.metadataSearch),\r\n myProcessOnly: false,\r\n processStatusApprovalFilter: E.advancedSearchApprovalProcessStatus.Approved,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n searchType: searchType,\r\n registerItemId: vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n dateFilter: 4,\r\n hasQuit: false,\r\n hasQuitApprove: false,\r\n includeSubAreas: vm.type == parseInt(E.searchTypeHandbook.advancedSearch) || vm.type == parseInt(E.searchTypeHandbook.metadataSearch),\r\n includeVirtualProcesses: true,\r\n isFrontend: true,\r\n }\r\n }\r\n\r\n function generateExportParams() {\r\n vm.filter = {\r\n keyword: vm.keyword,\r\n searchInContents: vm.searchInContents,\r\n searchType: E.searchType.Maximum,\r\n folderId: vm.folderId,\r\n fromDate: vm.fromDate,\r\n toDate: vm.toDate,\r\n hasExpired: vm.hasExpired,\r\n registerItemId: vm.registerItemValueId != null ? null : vm.registerItemId,\r\n registerItemValueId: vm.registerItemValueId,\r\n advancedSearchLocationType: vm.advancedSearchLocationType,\r\n version: vm.version,\r\n documentType: vm.documentType\r\n };\r\n\r\n vm.exportDocumentParams = {\r\n folderId: vm.folderId,\r\n isRecursive: false,\r\n groupBy: E.exportDocumentGroupsByColumn.none,\r\n filter: vm.filter\r\n };\r\n vm.exportDocumentParams.columns = getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Document);\r\n\r\n if (vm.type == E.searchTypeHandbook.titleSearch || vm.type == E.searchTypeHandbook.contentSearch) {\r\n vm.searchProcessParams = generateSearchProcessParams(E.searchType.Maximum);\r\n } else if (vm.type == E.searchTypeHandbook.advancedSearch || vm.type == E.searchTypeHandbook.metadataSearch) {\r\n vm.searchProcessParams = generateSearchProcessAdvanceParams(vm.keyword, E.searchType.Maximum);\r\n }\r\n\r\n vm.exportProcessParams = {\r\n filter: vm.searchProcessParams,\r\n columns: getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.Process)\r\n };\r\n vm.exportProcessInterconnectedParams = {\r\n filter: vm.searchProcessParams,\r\n columns: getDocumentColumnsForExporting(gridSettingKeys.commonVisibilitySettings, E.GridViewModelType.InterconnectedProcess)\r\n };\r\n }\r\n\r\n function setDocumentExportParams() {\r\n vm.exportParams = vm.exportDocumentParams;\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedDocuments;\r\n }\r\n\r\n function setProcessExportParams() {\r\n vm.exportParams = vm.exportProcessParams;\r\n if (vm.type == E.searchTypeHandbook.titleSearch || vm.type == E.searchTypeHandbook.contentSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcesses;\r\n }\r\n else if (vm.type == E.searchTypeHandbook.advancedSearch || vm.type == E.searchTypeHandbook.metadataSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcessesAdvance;\r\n }\r\n }\r\n\r\n function setProcessInterconnectedExportParams() {\r\n vm.exportParams = vm.exportProcessInterconnectedParams;\r\n if (vm.type == E.searchTypeHandbook.titleSearch || vm.type == E.searchTypeHandbook.contentSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcessesInterconnected;\r\n }\r\n else if (vm.type == E.searchTypeHandbook.advancedSearch || vm.type == E.searchTypeHandbook.metadataSearch) {\r\n vm.exportRequestUrl = vm.handbookRequests.ExportSearchedProcessesInterconnectedAdvance;\r\n }\r\n }\r\n\r\n function handleChangeTabForExportList(activeTab) {\r\n vm.enableExportButton = true;\r\n switch (activeTab) {\r\n case vm.tabNameToExport.processTab:\r\n setProcessExportParams();\r\n break;\r\n case vm.tabNameToExport.documentTab:\r\n setDocumentExportParams();\r\n break;\r\n case vm.tabNameToExport.interconnectedTab:\r\n setProcessInterconnectedExportParams();\r\n break;\r\n\r\n default:\r\n vm.enableExportButton = false;\r\n break;\r\n }\r\n }\r\n }\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('servicesModule').controller('WhatsNewFolderModalController', controller);\r\n controller.$inject = ['$scope', '$http', '$uibModal', '$uibModalInstance', 'model', '$sce'];\r\n\r\n function controller($scope, $http, $uibModal, $modalInstance, model, $sce) {\r\n var vm = this;\r\n vm.globalResources = angular.copy(globalResources);\r\n vm.data = model;\r\n vm.close = close;\r\n vm.showDropdown = false;\r\n vm.listPeriod = [\r\n { name: vm.globalResources.Today, value: 0 },\r\n { name: vm.globalResources.LastWeek, value: 1 },\r\n { name: vm.globalResources.LastMonth, value: 2 },\r\n { name: vm.globalResources.Last3Months, value: 3 },\r\n ];\r\n vm.selectedPeriod = vm.listPeriod[parseInt(HandbookConfiguration.WhatsNewPeriodFolder)];\r\n vm.selectPeriod = selectPeriod;\r\n vm.whatsNewDocuments = vm.data.WhatsNewDocuments;\r\n vm.showWhatsNewDocumentsInSubChapters = vm.data.showWhatsNewDocumentsInSubChapters;\r\n vm.showWhatsNewDocumentsRecursive = showWhatsNewDocumentsRecursive;\r\n initialize();\r\n function initialize() {\r\n setPeriod(parseInt(vm.data.selectedOption))\r\n }\r\n\r\n function setPeriod(optionNumber) {\r\n const period = vm.listPeriod.filter(function (period) {\r\n return period.value == optionNumber;\r\n })\r\n if (period && period.length) {\r\n vm.selectedPeriod = period[0];\r\n }\r\n }\r\n\r\n function selectPeriod(period) {\r\n vm.data.changeSelectedOptionInMobileView(period);\r\n setPeriod(period.value); \r\n getWhatsNewForFolder();\r\n }\r\n\r\n function showWhatsNewDocumentsRecursive() {\r\n getWhatsNewForFolder();\r\n }\r\n\r\n function getWhatsNewForFolder() {\r\n $http.get(handbookRequests.GetRecentlyApprovedDocumentsForFolder, { params: { 'folderId': vm.data.folderData.id, 'includeSubFolder': vm.showWhatsNewDocumentsInSubChapters, 'periodOption': vm.selectedPeriod.value } })\r\n .success(function (data, status, headers, config) {\r\n vm.whatsNewDocuments = data;\r\n });\r\n };\r\n\r\n function close() {\r\n $modalInstance.close(true);\r\n };\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n angular.module('servicesModule')\r\n .controller('AboutDocumentModalController', controller);\r\n\r\n controller.$inject = ['$scope', '$http', '$uibModal', '$uibModalInstance', 'model', '$sce'];\r\n\r\n function controller($scope, $http, $uibModal, $modalInstance, model, $sce) {\r\n var vm = this;\r\n vm.globalResources = angular.copy(globalResources);\r\n vm.data = model;\r\n vm.close = close;\r\n vm.goToFolder = goToFolder;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n handleScroll();\r\n }\r\n\r\n function handleScroll() {\r\n setTimeout(function () {\r\n angular.element(document.querySelector('.about-detail-container')).bind('scroll', function () {\r\n const aboutDetailContainerTop = $('#documentViewId').position().top;\r\n const documentTitleContainerBottom = $('#documentTitleContainer').position().top + $('#documentTitleContainer').height();\r\n if (aboutDetailContainerTop < documentTitleContainerBottom) {\r\n angular.element('#documentTitleContainer').addClass('shadow-effect');\r\n }\r\n else {\r\n angular.element('#documentTitleContainer').removeClass('shadow-effect');\r\n }\r\n })\r\n }, 0)\r\n }\r\n \r\n function close() {\r\n $modalInstance.close(true);\r\n };\r\n\r\n function goToFolder(folderId) {\r\n vm.close();\r\n window.open(`/folder/${folderId}`, '_self')\r\n }\r\n };\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('servicesModule')\r\n .controller('AddMembersController', controller);\r\n\r\n controller.$inject = ['$uibModalInstance', '$http', '$scope', 'existedEmployees', 'titlePage', 'roleId', 'excludedQuitDepartmentId', 'folderId', 'isHearing'];\r\n\r\n function controller($modalInstance, $http, $scope, existedEmployees, titlePage, roleId, excludedQuitDepartmentId, folderId, isHearing) {\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n\r\n var infiniteScrollLoadsize = (HandbookConfiguration.InfiniteScrollLoadSize == \"0\" || HandbookConfiguration.InfiniteScrollLoadSize == 0) ?\r\n 0 :\r\n parseInt(HandbookConfiguration.InfiniteScrollLoadSize);\r\n\r\n \r\n\r\n vm.titlePage = titlePage;\r\n\r\n vm.search = {\r\n recursive: false,\r\n pageSize: infiniteScrollLoadsize,\r\n pageIndex: 0,\r\n firstName: '',\r\n lastName: '',\r\n roleId: null,\r\n excludedQuitDepartmentId: excludedQuitDepartmentId,\r\n folderId: folderId\r\n };\r\n\r\n\r\n vm.selectedRole = {};\r\n\r\n vm.getDepartment = getDepartment;\r\n vm.saveChanges = saveChanges;\r\n vm.cancel = cancel;\r\n vm.existedEmployees = existedEmployees;\r\n vm.excludedEmployees = [];\r\n\r\n vm.nextPage = nextPage;\r\n vm.searchEmployee = searchEmployee;\r\n vm.onSelectRow = onSelectRow;\r\n vm.checkAll = checkAll;\r\n vm.onKeyUp = onKeyUp;\r\n\r\n vm.isHearing = isHearing;\r\n vm.changeSaveSearch = changeSaveSearch;\r\n vm.searchPatterns = [];\r\n vm.searchByHearing = false;\r\n initialize();\r\n \r\n\r\n function initialize() {\r\n if (vm.isHearing) {\r\n getUserFilterSearches();\r\n }\r\n\r\n if (vm.existedEmployees) {\r\n vm.existedEmployees.forEach(function (item) {\r\n vm.excludedEmployees.push(item.id);\r\n });\r\n }\r\n vm.total = 0;\r\n vm.times = 0;\r\n vm.currentRowIndex = 0;\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n\r\n $http.get('/api/Users/GetSecurityGroups', {})\r\n .success(function (data, status, headers, config) {\r\n vm.roles = data;\r\n })\r\n\r\n var promise = $http.post('/api/Users/GetEmployees',\r\n {\r\n recursive: vm.search.recursive,\r\n pageSize: vm.search.pageSize,\r\n pageIndex: vm.search.pageIndex,\r\n departmentId: vm.search.departmentId,\r\n firstName: vm.search.firstName,\r\n lastName: vm.search.lastName,\r\n roleId: vm.search.roleId,\r\n excludedEmployeeId: vm.excludedEmployees,\r\n excludedQuitDepartmentId: vm.search.excludedQuitDepartmentId,\r\n folderId: vm.search.folderId\r\n });\r\n\r\n promise.success(function (data, status, headers, config) {\r\n vm.employees = data;\r\n });\r\n };\r\n\r\n $scope.$watch('vm.employees', function (data, oldData) { // This handler for initialize data.\r\n var response = gridUtilities.lookupData(data, vm.rowCollection, vm.originalCollection, infiniteScrollLoadsize, vm.total, vm.currentRowIndex);\r\n vm.total = response.total;\r\n vm.currentRowIndex = response.currentIndex;\r\n vm.rowCollection = response.data;\r\n }, true);\r\n\r\n function nextPage(tableState) {\r\n vm.searchByHearing = false;\r\n resetselectedSearchPattern();\r\n if (infiniteScrollLoadsize == 0) {\r\n vm.rowCollection = vm.employees;\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n } else {\r\n //if we reset (like after a search or an order)\r\n if (tableState.pagination.start === 0) {\r\n if (vm.rowCollection == null || vm.rowCollection.length == 0) {\r\n getAPage(true);\r\n $scope.$apply();\r\n }\r\n } else {\r\n //we load more\r\n getAPage(false);\r\n $scope.$apply();\r\n }\r\n }\r\n };\r\n\r\n function getAPage(first) {\r\n vm.search.pageIndex += 1;\r\n vm.searchByHearing = false;\r\n resetselectedSearchPattern();\r\n vm.search.roleId = vm.selectedRole != null ? vm.selectedRole.id : null;\r\n var promise = $http.post('/api/Users/GetEmployees',\r\n {\r\n recursive: vm.search.recursive,\r\n pageSize: vm.search.pageSize,\r\n pageIndex: vm.search.pageIndex,\r\n departmentId: vm.search.departmentId,\r\n firstName: vm.search.firstName,\r\n lastName: vm.search.lastName,\r\n roleId: vm.search.roleId,\r\n excludedEmployeeId: vm.excludedEmployees,\r\n folderId: vm.search.folderId\r\n });\r\n\r\n promise.success(function (data, status, headers, config) {\r\n if (first) {\r\n vm.rowCollection = data;\r\n } else {\r\n vm.rowCollection = vm.rowCollection.concat(data);\r\n }\r\n\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n });\r\n }\r\n\r\n function searchEmployee() {\r\n vm.searchByHearing = false;\r\n resetselectedSearchPattern();\r\n vm.search.pageIndex = 1;\r\n vm.search.roleId = vm.selectedRole != null ? vm.selectedRole.id : null;\r\n var promise = $http.post('/api/Users/GetEmployees',\r\n {\r\n recursive: vm.search.recursive,\r\n pageSize: vm.search.pageSize,\r\n pageIndex: vm.search.pageIndex,\r\n departmentId: vm.search.departmentId,\r\n firstName: vm.search.firstName,\r\n lastName: vm.search.lastName,\r\n roleId: vm.search.roleId,\r\n excludedEmployeeId: vm.excludedEmployees,\r\n excludedQuitDepartmentId: vm.search.excludedQuitDepartmentId,\r\n folderId: vm.search.folderId\r\n });\r\n\r\n promise.success(function (data, status, headers, config) {\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n\r\n vm.rowCollection = data;\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n });\r\n };\r\n\r\n function onSelectRow(row) {\r\n if (row.selected == true) {\r\n vm.selectedEmployees.push(row);\r\n if (row != null) {\r\n vm.selectedEmployeesCount += 1;\r\n }\r\n } else {\r\n if (row != null) {\r\n if (vm.selectedEmployeesCount > 0) {\r\n vm.selectedEmployeesCount -= 1;\r\n }\r\n }\r\n\r\n vm.selectedEmployees.splice($.inArray(row, vm.selectedEmployees), 1);\r\n }\r\n };\r\n\r\n function checkAll() {\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n if (vm.isAllSelected) {\r\n vm.rowCollection.forEach(function (item) {\r\n item.selected = true;\r\n vm.selectedEmployees.push(item);\r\n vm.selectedEmployeesCount += 1;\r\n });\r\n } else {\r\n vm.rowCollection.forEach(function (item) {\r\n item.selected = false;\r\n });\r\n }\r\n };\r\n\r\n function onKeyUp(e) {\r\n if (e.which == 13) {\r\n searchEmployee();\r\n }\r\n }\r\n function getDepartment(department) {\r\n if (department) {\r\n vm.search.departmentId = department.id;\r\n } else {\r\n vm.search.departmentId = null;\r\n }\r\n }\r\n\r\n function saveChanges() {\r\n if (vm.selectedEmployees && vm.selectedEmployees.length != 0) {\r\n $modalInstance.close(vm.selectedEmployees);\r\n }\r\n }\r\n\r\n function cancel() {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n\r\n function getUserFilterSearches() {\r\n vm.searchPatterns = [];\r\n $http.get('/api/Users/GetUserSavedSearches', { params: { searchFilterType: searchFilterTypes.hearingMembers } })\r\n .then(function (res) {\r\n if (res.data && res.data.length > 0) {\r\n vm.searchPatterns = res.data;\r\n vm.searchPatterns.unshift({\r\n id: 0,\r\n name: vm.translation.ChooseSavedHearingMembersList,\r\n searchFilterType: searchFilterTypes.hearingMembers\r\n });\r\n\r\n vm.selectedSearchPattern = vm.searchPatterns[0];\r\n }\r\n vm.isHearing = (res.data && res.data.length > 0);\r\n });\r\n }\r\n\r\n function changeSaveSearch() {\r\n vm.selectedEmployees = [];\r\n vm.selectedEmployeesCount = 0;\r\n vm.search.pageIndex = 1;\r\n vm.searchByHearing = true;\r\n var selectedRequest = vm.selectedSearchPattern;\r\n if (!selectedRequest || !selectedRequest.searchFilters) {\r\n return;\r\n }\r\n\r\n var request = {\r\n pageIndex: 1,\r\n pageSize: 0,\r\n searchIds: selectedRequest.searchFilters,\r\n folderId: vm.search.folderId\r\n };\r\n\r\n $http.post('/api/users/GetEmployees', request).then(function (response) {\r\n if (response.data) {\r\n if (!vm.excludedEmployees)\r\n vm.excludedEmployees = [];\r\n vm.rowCollection = response.data.filter(x => !vm.excludedEmployees.find(y => y == x.id));\r\n vm.originalCollection = angular.copy(vm.rowCollection);\r\n }\r\n });\r\n }\r\n\r\n function resetselectedSearchPattern() {\r\n if (vm.isHearing && vm.searchPatterns.length > 0) {\r\n vm.selectedSearchPattern = vm.searchPatterns[0];\r\n }\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('compareWithEarlierVersionModule', [])\r\n .controller('CompareWithEarlierVersionController', controller);\r\n\r\n controller.$inject = ['$http', '$state', '$sce', '$q', 'documentService', 'configService', 'anchorService', '$timeout', '$anchorScroll', '$location', '$scope'];\r\n\r\n function controller($http, $state, $sce, $q, documentService, configService, anchorService, $timeout, $anchorScroll, $location, $scope) {\r\n var vm = this;\r\n \r\n vm.DocumentTitleResult = '';\r\n vm.translation = globalResources\r\n vm.DocumentTitleResult = '';\r\n vm.currentDocumentId = $state.params.documentId;\r\n vm.childDocumentId = $state.params.documentId;\r\n vm.parentDocumentId = 0;\r\n vm.originalData = {};\r\n vm.fromVersions = [];\r\n vm.toVersions = [];\r\n vm.input = {\r\n fromVersion: null,\r\n toVersion: null\r\n };\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n vm.showCompareParentExtension = false;\r\n vm.showCompareChildrenExtension = false;\r\n\r\n initialize();\r\n vm.printDocumentComparison = printDocumentComparison;\r\n vm.changeFromVersion = changeFromVersion;\r\n vm.changeToVersion = changeToVersion;\r\n vm.viewCompareParentDocument = viewCompareParentDocument;\r\n vm.viewCompareChildDocument = viewCompareChildDocument;\r\n\r\n function initialize() {\r\n angular.element('.main-container_header').hide();\r\n documentService.showFullscreen();\r\n\r\n if (vm.enableDocumentExtention) {\r\n vm.parentDocumentId = 0;\r\n\r\n var promises = [];\r\n var hearingMode = true;\r\n promises.push(documentService.getParentIdExtendDocument(vm.currentDocumentId, hearingMode));\r\n promises.push(documentService.checkDocumentHaveToCompareById(vm.currentDocumentId, hearingMode));\r\n\r\n $q.all(promises).then(function (result) {\r\n var resultGetParentId = parseInt(result[0]);\r\n if (resultGetParentId && resultGetParentId > 0) {\r\n vm.parentDocumentId = resultGetParentId;\r\n }\r\n\r\n var resultCheckDocumentHaveToCompareById = result[1];\r\n if (!resultCheckDocumentHaveToCompareById) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n }\r\n\r\n vm.showCompareParentExtension = vm.parentDocumentId > 0;\r\n vm.showCompareChildrenExtension = resultCheckDocumentHaveToCompareById;\r\n\r\n generateComparisonResult(null, 0);\r\n });\r\n }\r\n else {\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function generateComparisonResult(selectedVersion, isType) {\r\n\r\n var params = {\r\n params: {\r\n documentId: vm.currentDocumentId,\r\n fromVersion: vm.input.fromVersion,\r\n toVersion: vm.input.toVersion,\r\n showLoading: true\r\n }\r\n };\r\n\r\n $http\r\n .get('/api/Documents/GenerateComparisonResult', params)\r\n .success(function (data) {\r\n vm.data = data;\r\n if (isType == 0) { // initialize\r\n vm.originalData = angular.copy(vm.data);\r\n getDataForComboVersions(selectedVersion, isType);\r\n vm.input.fromVersion = parseInt(data.earlierVersionNumber);\r\n vm.input.toVersion = parseInt(data.latestVersionNumber);\r\n } else {\r\n getDataForComboVersions(selectedVersion, isType);\r\n }\r\n vm.documentCKVersion = data.isNewCKVersion;\r\n\t\t\t\t\tvm.DocumentTitleResult = $sce.trustAsHtml(String.format('{0} - {1} - {2}: {3} - {4} {5} {6} {7}', globalResources.ComparisonResult,\r\n data.comparisonNameResult, globalResources.DocId, vm.currentDocumentId,\r\n globalResources.CommonGridColumns.Version, data.earlierVersionNumber, globalResources.And, data.latestVersionNumber));\r\n\r\n vm.data.earlierVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.earlierVersionHtml, true));\r\n vm.data.latestVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.latestVersionHtml, true));\r\n vm.data.comparisonResult = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.comparisonResult, true));\r\n\r\n runServicesAfterInit();\r\n })\r\n .error(function (data, status, headers, config) {\r\n vm.errorMessage = getErrorMessage(status);\r\n });\r\n }\r\n\r\n function getDataForComboVersions(selectedVersion, isType) {\r\n\r\n if (selectedVersion == null && isType > 0)\r\n return;\r\n var latestVersion = parseInt(vm.originalData.latestVersionNumber);\r\n var fromVersions = [];\r\n var toVersions = [];\r\n switch (isType) {\r\n case 0:// initialize\r\n selectedVersion = latestVersion - 1;\r\n for (var i = 0; i <= selectedVersion; i++) {\r\n fromVersions.push({ id: i, name: i });\r\n }\r\n for (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n toVersions.push({ id: j, name: j });\r\n }\r\n vm.fromVersions = angular.copy(fromVersions);\r\n vm.toVersions = angular.copy(toVersions);\r\n break;\r\n case 1: // From version\r\n for (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n toVersions.push({ id: j, name: j });\r\n }\r\n vm.toVersions = angular.copy(toVersions);\r\n break;\r\n case 2: // to version\r\n selectedVersion = selectedVersion - 1;\r\n for (var i = 0; i <= selectedVersion; i++) {\r\n fromVersions.push({ id: i, name: i });\r\n }\r\n vm.fromVersions = angular.copy(fromVersions);\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n function changeFromVersion() {\r\n generateComparisonResult(vm.input.fromVersion, 1);\r\n }\r\n\r\n function changeToVersion() {\r\n generateComparisonResult(vm.input.toVersion, 2);\r\n }\r\n\r\n $(window).on('resize', function () {\r\n angular.element('.comparison-result').removeAttr('style');\r\n angular.element('#resizeBar').removeAttr('style');\r\n angular.element('.comparison-versions').removeAttr('style');\r\n });\r\n\r\n function printDocumentComparison() {\r\n window.open(String.format('/Printing/PrintCompareWithEarlierVersion?documentId={0}&fromVersion={1}&toVersion={2}', vm.currentDocumentId, vm.input.fromVersion, vm.input.toVersion));\r\n }\r\n\r\n function viewCompareParentDocument() {\r\n if (vm.currentDocumentId != vm.parentDocumentId) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function viewCompareChildDocument() {\r\n if (vm.currentDocumentId != vm.childDocumentId) {\r\n vm.currentDocumentId = vm.childDocumentId;\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function runServicesAfterInit() {\r\n $timeout(function () {\r\n updateLocalAnchors();\r\n scrollToAnchorIfExists();\r\n });\r\n }\r\n\r\n function updateLocalAnchors() {\r\n var domContent = angular.element('div#comparisonResult');\r\n anchorService.updateLocalAnchors(domContent);\r\n }\r\n\r\n function scrollToAnchorIfExists() {\r\n var hash = $location.hash();\r\n if (hash != '') {\r\n $anchorScroll();\r\n }\r\n }\r\n }\r\n})();","(function () {\r\n\t'use strict';\r\n\r\n\tangular.module('documentCompareWithEarlierVersionModule', [])\r\n\t\t.controller('DocumentCompareWithEarlierVersionController', controller);\r\n\r\n\tcontroller.$inject = ['$http', '$state', '$sce', '$scope', '$q', 'documentService', 'configService', 'anchorService', '$timeout', '$anchorScroll', '$location'];\r\n\r\n\tfunction controller($http, $state, $sce, $scope, $q, documentService, configService, anchorService, $timeout, $anchorScroll, $location) {\r\n var vm = this;\r\n \r\n vm.translation = globalResources\r\n\t\tvm.DocumentTitleResult = '';\r\n vm.currentDocumentId = $state.params.documentId;\r\n vm.childDocumentId = $state.params.documentId;\r\n vm.parentDocumentId = 0;\r\n\t\tvm.originalData = {};\r\n\t\tvm.fromVersions = [];\r\n\t\tvm.toVersions = [];\r\n\t\tvm.input = {\r\n\t\t\tfromVersion: null,\r\n\t\t\ttoVersion: null\r\n\t\t};\r\n\t\tvm.documentCKVersion = CkVersion.CK4;\r\n\t\tvm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n\t\tvm.advancedCompare = configService.getBool(HandbookConfiguration.AdvancedCompare);\r\n\t\tvm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n vm.showCompareParentExtension = false;\r\n vm.showCompareChildrenExtension = false;\r\n\r\n\t\tinitialize();\r\n\t\tvm.printDocumentComparison = printDocumentComparison;\r\n\t\tvm.changeFromVersion = changeFromVersion;\r\n vm.changeToVersion = changeToVersion;\r\n vm.viewCompareParentDocument = viewCompareParentDocument;\r\n vm.viewCompareChildDocument = viewCompareChildDocument;\r\n\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tdocumentService.showFullscreen();\r\n\r\n\t\t\twindow.addEventListener('resize', initCompareScrollEvent, true /*Capture event*/);\r\n\t\t\tangular.element('.main-container_header').hide();\r\n\r\n $scope.$on('$destroy', function () {\r\n window.removeEventListener('resize', initCompareScrollEvent);\r\n\t\t\t});\r\n\r\n function initCompareScrollEvent() {\r\n if (vm.advancedCompare) {\r\n angular.element('.comparison-result').removeAttr('style');\r\n angular.element('#resizeBar').removeAttr('style');\r\n angular.element('.comparison-versions').removeAttr('style');\r\n }\r\n }\r\n \r\n if (vm.enableDocumentExtention) {\r\n vm.parentDocumentId = 0;\r\n\r\n var promises = [];\r\n\r\n promises.push(documentService.getParentIdExtendDocument(vm.currentDocumentId));\r\n promises.push(documentService.checkDocumentHaveToCompareById(vm.currentDocumentId));\r\n\r\n $q.all(promises).then(function (result) {\r\n var resultGetParentId = parseInt(result[0]);\r\n if (resultGetParentId && resultGetParentId > 0) {\r\n vm.parentDocumentId = resultGetParentId;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar resultCheckDocumentHaveToCompareById = result[1];\r\n if (!resultCheckDocumentHaveToCompareById) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n }\r\n\r\n vm.showCompareParentExtension = vm.parentDocumentId > 0;\r\n vm.showCompareChildrenExtension = resultCheckDocumentHaveToCompareById;\r\n\r\n generateComparisonResult(null, 0);\r\n });\r\n }\r\n else {\r\n generateComparisonResult(null, 0);\r\n }\r\n\t\t}\r\n\r\n\t\tfunction generateComparisonResult(selectedVersion, isType) {\r\n\r\n\t\t\tvar params = {\r\n\t\t\t\tparams: {\r\n documentId: vm.currentDocumentId,\r\n\t\t\t\t\tfromVersion: vm.input.fromVersion,\r\n\t\t\t\t\ttoVersion: vm.input.toVersion\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t$http\r\n\t\t\t\t.get('/api/Documents/GenerateDocumentComparisonResult', params)\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t\tvm.data = data;\r\n\t\t\t\t\tif (vm.advancedCompare) {\r\n\t\t\t\t\t\tif (isType == 0) { // initialize\r\n\t\t\t\t\t\t\tvm.originalData = angular.copy(vm.data);\r\n\t\t\t\t\t\t\tgetDataForComboVersions(selectedVersion, isType);\r\n\t\t\t\t\t\t\tvm.input.fromVersion = parseInt(data.earlierVersionNumber);\r\n\t\t\t\t\t\t\tvm.input.toVersion = parseInt(data.latestVersionNumber);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tgetDataForComboVersions(selectedVersion, isType);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.documentCKVersion = data.isNewCKVersion;\r\n\t\t\t\t\tvm.DocumentTitleResult = $sce.trustAsHtml(String.format('{0} - {1} - {2}: {3} - {4} {5} {6} {7}', globalResources.ComparisonResult,\r\n data.comparisonNameResult, globalResources.DocId, vm.currentDocumentId,\r\n\t\t\t\t\t\tglobalResources.CommonGridColumns.Version, data.earlierVersionNumber, globalResources.And, data.latestVersionNumber));\r\n\t\t\t\t\t\r\n\t\t\t\t\tvm.data.earlierVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.earlierVersionHtml));\r\n\t\t\t\t\tvm.data.latestVersionHtml = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.latestVersionHtml));\r\n\t\t\t\t\tvm.data.comparisonResult = $sce.trustAsHtml(documentService.changeUrlBackendToFrontend(window.location.origin, data.comparisonResult));\r\n\r\n\t\t\t\t\trunServicesAfterInit();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.errorMessage = getErrorMessage(status);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction getDataForComboVersions(selectedVersion, isType) {\r\n\r\n\t\t\tif (selectedVersion == null && isType > 0)\r\n\t\t\t\treturn;\r\n\t\t\tvar latestVersion = parseInt(vm.originalData.latestVersionNumber);\r\n\t\t\tvar fromVersions = [];\r\n\t\t\tvar toVersions = [];\r\n\t\t\tswitch (isType) {\r\n\t\t\t\tcase 0:// initialize\r\n\t\t\t\t\tselectedVersion = latestVersion - 1;\r\n\t\t\t\t\tfor (var i = 0; i <= selectedVersion; i++) {\r\n\t\t\t\t\t\tfromVersions.push({ id: i, name: i });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n\t\t\t\t\t\ttoVersions.push({ id: j, name: j });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.fromVersions = angular.copy(fromVersions);\r\n\t\t\t\t\tvm.toVersions = angular.copy(toVersions);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 1: // From version\r\n\t\t\t\t\tfor (var j = selectedVersion + 1; j <= latestVersion; j++) {\r\n\t\t\t\t\t\ttoVersions.push({ id: j, name: j });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.toVersions = angular.copy(toVersions);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 2: // to version\r\n\t\t\t\t\tselectedVersion = selectedVersion - 1;\r\n\t\t\t\t\tfor (var i = 0; i <= selectedVersion; i++) {\r\n\t\t\t\t\t\tfromVersions.push({ id: i, name: i });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.fromVersions = angular.copy(fromVersions);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction changeFromVersion() {\r\n\t\t\tgenerateComparisonResult(vm.input.fromVersion, 1);\r\n\t\t}\r\n\r\n\t\tfunction changeToVersion() {\r\n\t\t\tgenerateComparisonResult(vm.input.toVersion, 2);\r\n\t\t}\r\n\r\n\t\tfunction printDocumentComparison() {\r\n\t\t\tif (vm.advancedCompare) {\r\n\t\t\t\twindow.open(String.format('/Printing/PrintDocumentComparisonResultForLatestApproved?documentId={0}&fromVersion={1}&toVersion={2}', vm.currentDocumentId, vm.input.fromVersion, vm.input.toVersion));\r\n\t\t\t} else {\r\n window.open(String.format('/Printing/PrintDocumentComparisonResultForLatestApproved?documentId={0}', vm.currentDocumentId));\r\n\t\t\t}\r\n }\r\n\r\n function viewCompareParentDocument() {\r\n if (vm.currentDocumentId != vm.parentDocumentId) {\r\n vm.currentDocumentId = vm.parentDocumentId;\r\n vm.input.fromVersion = null;\r\n vm.input.toVersion = null;\r\n generateComparisonResult(null, 0);\r\n }\r\n }\r\n\r\n function viewCompareChildDocument() {\r\n if (vm.currentDocumentId != vm.childDocumentId) {\r\n vm.currentDocumentId = vm.childDocumentId;\r\n vm.input.fromVersion = null;\r\n vm.input.toVersion = null;\r\n generateComparisonResult(null, 0);\r\n }\r\n\t\t}\r\n\r\n\t\tfunction runServicesAfterInit() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tupdateLocalAnchors();\r\n\t\t\t\tscrollToAnchorIfExists();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction updateLocalAnchors() {\r\n\t\t\tvar domContent = angular.element('div#comparisonResult');\r\n\t\t\tanchorService.updateLocalAnchors(domContent);\r\n\t\t}\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('servicesModule')\r\n .service('documentContentsSearchService', documentContentsSearchService);\r\n\r\n documentContentsSearchService.$inject = ['$timeout', '$sce'];\r\n\r\n function documentContentsSearchService($timeout, $sce) {\r\n var service = {\r\n searchAndHighlight: searchAndHighlight,\r\n searchAndHighlightText: searchAndHighlightText,\r\n navForward: navForward,\r\n navBackward: navBackward\r\n };\r\n\r\n return service;\r\n\r\n function searchAndHighlight(text, search) {\r\n if (text != null) {\r\n if ((search || angular.isNumber(search)) && text != '') {\r\n text = htmlDecode(text.toString()).replaceHtmlEntites();\r\n search = search.toString().replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\r\n\r\n var re = '(' + search + ')(?!([^\\<]+)?\\>)',\r\n regExp = new RegExp(re, 'gi'),\r\n sTag = \"\",\r\n eTag = \"\";\r\n var textHighLight = text.replace(regExp, sTag + '$1' + eTag);\r\n return $sce.trustAsHtml(textHighLight.returnWhitespace());\r\n } else {\r\n return $sce.trustAsHtml(text.toString());\r\n }\r\n }\r\n };\r\n\r\n function searchAndHighlightText(model) {\r\n $timeout(function () {\r\n model.totalFound = angular.element(\".ui-match\").length;\r\n model.currentIndex = model.totalFound > 0 ? 1 : 0;\r\n var searchNavigator = angular.element(\"#search-navigator\");\r\n if (searchNavigator.hasClass('display--non')) {\r\n searchNavigator.removeClass('display--non');\r\n }\r\n if (model.totalFound > 0) {\r\n angular.element(\".ui-match\")[0].className += ' match-focus';\r\n angular.element(\".ui-match\")[0].id = 'highlight';;\r\n }\r\n });\r\n };\r\n\r\n function navForward(model) {\r\n if (model.totalFound > 0) {\r\n if (model.currentIndex == model.totalFound) {\r\n model.currentIndex = 1;\r\n clearHighlight(angular.element(\".ui-match\")[model.totalFound - 1], model);\r\n addHighlight(angular.element(\".ui-match\")[model.currentIndex - 1], model);\r\n } else {\r\n model.currentIndex += 1;\r\n var index = model.currentIndex\r\n clearHighlight(angular.element(\".ui-match\")[index - 2], model);\r\n addHighlight(angular.element(\".ui-match\")[index - 1], model);\r\n }\r\n scrollToMatch();\r\n }\r\n };\r\n\r\n function navBackward(model) {\r\n if (model.totalFound > 0) {\r\n if (model.currentIndex == 1) {\r\n model.currentIndex = model.totalFound;\r\n clearHighlight(angular.element(\".ui-match\")[0], model);\r\n addHighlight(angular.element(\".ui-match\")[model.currentIndex - 1], model);\r\n }\r\n else {\r\n model.currentIndex -= 1;\r\n var index = model.currentIndex;\r\n clearHighlight(angular.element(\".ui-match\")[index], model);\r\n addHighlight(angular.element(\".ui-match\")[index - 1], model);\r\n }\r\n scrollToMatch();\r\n }\r\n };\r\n\r\n function scrollToMatch() {\r\n var element = angular.element('#highlight');\r\n var offsetTop = element.offset().top;\r\n //var $parentDiv = $('#' + documentContent.content + '');\r\n\t\t\tvar $parentDiv = $('.document-detail');\r\n var visibleAreaStart = $parentDiv.offset().top;\r\n $parentDiv.animate({\r\n scrollTop: $parentDiv.scrollTop() - visibleAreaStart + offsetTop - 50\r\n }, 100);\r\n };\r\n\r\n function clearHighlight(element, model) {\r\n if (element != undefined) {\r\n element.className = 'ui-match';\r\n element.id = '';\r\n } else {\r\n clearSearchPanel(model);\r\n }\r\n };\r\n\r\n function addHighlight(element, model) {\r\n if (element != undefined) {\r\n element.className += ' match-focus';\r\n element.id = 'highlight';\r\n } else {\r\n clearSearchPanel(model);\r\n }\r\n };\r\n\r\n function clearSearchPanel(model) {\r\n model.highlightText = '';\r\n model.currentIndex = 0;\r\n model.totalFound = 0;\r\n };\r\n\r\n function htmlDecode(value) {\r\n var dynamicDiv = document.createElement(\"div\");\r\n dynamicDiv.innerHTML = value;\r\n return dynamicDiv.innerHTML;\r\n }\r\n };\r\n\r\n String.prototype.replaceHtmlEntites = function () {\r\n var s = this;\r\n var translate_re = /&(nbsp|amp|quot|lt|gt);/g;\r\n var translate = { \"nbsp\": \"ð ®·\", \"amp\": \"&\", \"quot\": \"\\\"\", \"lt\": \"<\", \"gt\": \">\" };\r\n return (s.replace(translate_re, function (match, entity) {\r\n return translate[entity];\r\n }));\r\n };\r\n\r\n String.prototype.returnWhitespace = function () {\r\n var s = this;\r\n var reg = new RegExp(\"ð ®·\", \"gm\");\r\n return (s.replace(reg, \" \"));\r\n };\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp')\r\n .controller('DocumentController', documentController);\r\n\r\n documentController.$inject = ['$scope', '$rootScope', '$http', '$stateParams', '$state', '$sce', '$location', '$anchorScroll', '$timeout', '$filter', '$uibModal',\r\n 'broadcastService', 'documentService', 'favoriteService', 'tabStateService', 'anchorService', 'documentContentsSearchService',\r\n 'resizeService', 'localStorageService', 'folderService', 'treeNavigationService', '$q', 'configService', 'browserService'];\r\n\r\n function documentController($scope, $rootScope, $http, $stateParams, $state, $sce, $location, $anchorScroll, $timeout, $filter, $uibModal,\r\n broadcastService, documentService, favoriteService, tabStateService, anchorService, documentContentsSearchService,\r\n resizeService, localStorageService, folderService, treeNavigationService, $q, configService, browserService) {\r\n\r\n var ignoreRichText = configService.getBool(HandbookConfiguration.LazyLoadRichText);\r\n\r\n var vm = this;\r\n var isFieldActive;\r\n var lastId;\r\n var urlParams = $location.url().split('/');\r\n\r\n vm.isEmbedUrl = false;\r\n\r\n if (urlParams != null && urlParams.length) {\r\n vm.isEmbedUrl = urlParams[1] == 'embed';\r\n }\r\n\r\n vm.currentData = {};\r\n vm.originalData = {};\r\n\r\n vm.enableExtendedFeedback = configService.getBool(HandbookConfiguration.EnableExtendedFeedback);\r\n \r\n\r\n vm.highlights = {\r\n highlightText: '',\r\n currentIndex: 0,\r\n totalFound: 0\r\n };\r\n vm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n vm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.backendIsDb4 = configService.getBool(HandbookConfiguration.BackendIsDb4);\r\n vm.showDocumentLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend);\r\n vm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n vm.enableAgree = configService.getBool(HandbookConfiguration.EnabledAgree);\r\n vm.enableElementsIntegration = ElementsIntegrationConfiguration.ArchiveIntegrationMode != E.ArchiveIntegrationMode.None;\r\n\r\n vm.viewModeList =\r\n [\r\n { id: parseInt(E.documentTemplateViewMode.ProcessDependencies), name: globalResources.documentTemplateViewModeName.ProcessDependencies },\r\n { id: parseInt(E.documentTemplateViewMode.Normal), name: globalResources.documentTemplateViewModeName.Normal },\r\n { id: parseInt(E.documentTemplateViewMode.Process), name: globalResources.documentTemplateViewModeName.Process },\r\n { id: parseInt(E.documentTemplateViewMode.RelatedDocuments), name: globalResources.documentTemplateViewModeName.RelatedDocuments },\r\n { id: parseInt(E.documentTemplateViewMode.InvolvedChapters), name: globalResources.documentTemplateViewModeName.InvolvedChapters },\r\n ];\r\n\r\n vm.metadataList = [];\r\n vm.documentId = $stateParams.documentId;\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteDocument;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteDocument;\r\n vm.contentAnchorPrefix = prefix.contentAnchorPrefix;\r\n vm.processRelationTypes = E.ProcessRelationType;\r\n vm.showError = false;\r\n vm.isFullScreen = true;\r\n vm.heightdocumentcontentidentifier = 0;\r\n vm.FolderLinks = [];\r\n vm.menuFields = [];\r\n vm.urlDocument = window.location.origin + '/document/' + vm.documentId;\r\n vm.updateFields = updateFields;\r\n vm.goToDocumentFields = goToDocumentFields;\r\n vm.removeFromFavorite = removeFromFavorite;\r\n vm.searchAndHighlightText = searchAndHighlightText;\r\n vm.navForward = navForward;\r\n vm.navBackward = navBackward;\r\n vm.fullScreen = fullScreen;\r\n vm.selectViewModeChange = selectViewModeChange;\r\n vm.linkToDocumentManagement = linkToDocumentManagement;\r\n vm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n vm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n vm.compareDocument = compareDocument;\r\n vm.registDeviationWithDocument = registDeviationWithDocument;\r\n vm.hideCompareButton = false;\r\n vm.showContent = showContent;\r\n vm.shareFieldLink = shareFieldLink;\r\n vm.showSidebarFields = showSidebarFields;\r\n vm.printAgreeFile = printAgreeFile;\r\n vm.feedbackDocument = feedbackDocument;\r\n vm.goToDocumentInPublicHandbook = goToDocumentInPublicHandbook;\r\n vm.openAboutDocument = openAboutDocument;\r\n vm.addDocumetEmailSubscription = addDocumetEmailSubscription;\r\n vm.browserType = browserService.detectBrowserWindow();\r\n vm.BROWSER_TYPE = BrowserType;\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.isToggleSidebarFields = true;\r\n var isIE = detectIE();\r\n var cursorY;\r\n document.onmousemove = function (e) {\r\n cursorY = e.pageY;\r\n }\r\n vm.hideSidebarFields = hideSidebarFields;\r\n vm.agreeFiles = [];\r\n vm.extendDocumentsGridSetting = [];\r\n vm.documentNameHadExtended = '';\r\n vm.showExtendDocument = false;\r\n vm.totalExtendDocument = 0;\r\n vm.deviationUrl = HandbookConfiguration.DeviationUrl;\r\n vm.documentDeviationCategoryLink = HandbookConfiguration.DocumentDeviationCategoryLink;\r\n vm.enabledDeviation = configService.getBool(HandbookConfiguration.EnabledDeviation);\r\n vm.publicUrl = HandbookConfiguration.PublicURL;\r\n vm.isPublishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.documentPublishTooltip = HandbookConfiguration.PublicURL && !vm.isPublishedVersion ? globalResources.GoToDocumentInPublicHandbook : globalResources.PublishedToTheInternet;\r\n vm.copyUserFriendlyPublishedUrlTooltip = globalResources.CopyUserFriendlyPublishedUrl;\r\n vm.copyUserFriendlyUrlTooltip = globalResources.CopyUserFriendlyUrl;\r\n vm.documentPublishUrl = HandbookConfiguration.PublicURL + `document/${vm.documentId}`;\r\n vm.addClass = 'copy-publish-url';\r\n vm.publishUrlImg = './Content/Images/shared-publish-internet.png'\r\n vm.documentViewOption = parseInt(HandbookConfiguration.DocumentViewOption);\r\n vm.searchDocumentInMobile = false;\r\n vm.toggleSearchInMobile = toggleSearchInMobile;\r\n vm.scrollDocumentContentToTop = scrollDocumentContentToTop;\r\n vm.setViewMode = setViewMode;\r\n vm.showContentanchor = showContentanchor;\r\n vm.clearAnchorActive = clearAnchorActive;\r\n vm.getHiddenFields = getHiddenFields;\r\n vm.fieldIds = [];\r\n\r\n vm.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n vm.processClassificationTypes = E.processClassificationTypes;\r\n vm.goToProcessDetail = goToProcessDetail;\r\n\r\n vm.enableOpenDocumentOnline = configService.getBool(HandbookConfiguration.EnableOpenDocumentOnline);\r\n vm.openFileAttachOnline = openFileAttachOnline;\r\n vm.openFileDocumentOnline = openFileDocumentOnline;\r\n vm.IsHighlightExtended = false;\r\n\r\n vm.alerts = [];\r\n \r\n initialize();\r\n \r\n function initialize() {\r\n if (vm.enabledProcessModule) {\r\n vm.relatedToOrDocuments = resources.L.Document.relatedTo;\r\n }\r\n else {\r\n vm.relatedToOrDocuments = resources.L.Document.relatedDocuments;\r\n }\r\n\r\n if (vm.enableDocumentExtention) {\r\n builExtentDocumentsGridSetting();\r\n }\r\n\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n }\r\n fullScreenInit();\r\n\r\n processEmbedUrl();\r\n //check and resize the view\r\n resizeService.resizeView();\r\n //get document info from service\r\n if (!vm.isEmbedUrl) {\r\n var currentDocument = documentService.getDocuments();\r\n if (currentDocument && currentDocument.documentInformation) {\r\n vm.isFavoriteNodeSelected = true;\r\n buildDocumentObjectFromCurrentDocument(currentDocument);\r\n $rootScope.title = globalResources.Handbook + \" - \" + currentDocument.documentInformation.documentName;\r\n\r\n runServicesAfterInit();\r\n }\r\n else {\r\n vm.getHiddenFields(vm.documentId);\r\n\r\n }\r\n folderService.getFolderByVirtualDocumentId($stateParams.documentId).then(function (response) {\r\n vm.FolderLinks = response.data;\r\n });\r\n } else {\r\n vm.getHiddenFields(vm.documentId);\r\n }\r\n\r\n treeNavigationService.navigateToItemLocation(true);\r\n addScroll();\r\n if (vm.browserType == vm.BROWSER_TYPE.MOBILE) {\r\n handleScrollInMobile();\r\n }\r\n }\r\n\r\n $(window).on('resize', function () {\r\n vm.browserType = browserService.detectBrowserWindow();\r\n });\r\n\r\n function toggleSearchInMobile(){\r\n vm.searchDocumentInMobile = !vm.searchDocumentInMobile; \r\n }\r\n\r\n function builExtentDocumentsGridSetting() {\r\n vm.extendDocumentsGridSetting.push({ id: 'documentIdDisplay', name: globalResources.CommonGridColumns.DocumentId, width: 5, coldefault: true });\r\n vm.extendDocumentsGridSetting.push({ id: 'documentNameDisplay', name: globalResources.Name, width: 30, coldefault: true });\r\n vm.extendDocumentsGridSetting.push({ id: 'pathDisplay', name: globalResources.Path, width: 35, coldefault: true });\r\n vm.extendDocumentsGridSetting.push({ id: 'strCreatedDateFirstVersion', name: globalResources.CreatedDate, width: 10, coldefault: true, type: COLUMN_DATA_TYPES.STRING_DATE});\r\n vm.extendDocumentsGridSetting.push({ id: 'responsible', name: globalResources.Responsible, width: 20, coldefault: true });\r\n }\r\n\r\n function loadExtendDocumentsTab() {\r\n $http.get('/api/Documents/GetExtendDocumentsByDocumentId', { params: { 'documentId': vm.documentId } })\r\n .success(function (data, status, headers, config) {\r\n data = data || [];\r\n vm.showExtendDocument = data.length > 0;\r\n vm.totalExtendDocument = data.length;\r\n vm.extendDocuments = data;\r\n vm.extendDocumentNotification = '';\r\n\r\n let linkTemp = \"{1}\";\r\n let linkDocTemp = \"{1}\";\r\n let urlTemp = '/document/{0}';\r\n let urlFolTemp = '/folder/{0}';\r\n let count = 0;\r\n for (var i = 0; i < vm.extendDocuments.length; i++) {\r\n let document = vm.extendDocuments[i];\r\n document.documentIdDisplay = String.format(linkDocTemp, String.format(urlTemp, document.documentId), document.documentId);\r\n document.documentNameDisplay = String.format(linkDocTemp, String.format(urlTemp, document.documentId), document.documentName);\r\n document.pathDisplay = String.format(linkDocTemp, String.format(urlFolTemp, document.folderId), document.path);\r\n if (document.isDepartment) {\r\n let link = document.documentNameDisplay;\r\n vm.extendDocumentNotification += vm.extendDocumentNotification == '' ? link : ', ' + link;\r\n document.documentNameDisplay = document.documentNameDisplay + ``;\r\n count = count + 1;\r\n }\r\n }\r\n\r\n if (vm.extendDocumentNotification != '') {\r\n let message = count > 1 ? globalResources.ExtendDocumentNotification : globalResources.ExtendDocumentNotificationForOnePerson;\r\n vm.extendDocumentNotification = String.format(message, vm.extendDocumentNotification);\r\n $timeout(function () {\r\n tabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n });\r\n \r\n }\r\n });\r\n }\r\n\r\n function getReadDocuments() {\r\n var storageObject = localStorageService.getItem(localStorageKeys.readDocuments);\r\n var readDocuments = [];\r\n if (storageObject != null) {\r\n readDocuments = JSON.parse(storageObject);\r\n }\r\n\r\n var existed = false, offset;\r\n for (var i = 0; i < readDocuments.length; i++) {\r\n if (readDocuments[i].id == vm.documentId) {\r\n existed = true;\r\n offset = i;\r\n break;\r\n }\r\n }\r\n\r\n if (!existed) {\r\n readDocuments.push({ id: vm.documentId, approvedDate: vm.currentData.approvedDate });\r\n } else {\r\n readDocuments[offset].approvedDate = vm.currentData.approvedDate;\r\n }\r\n localStorageService.setItem(localStorageKeys.readDocuments, JSON.stringify(readDocuments));\r\n }\r\n\r\n\r\n\r\n function getDocument() {\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n getMetadataTab();\r\n }\r\n\r\n var params = {\r\n params: {\r\n 'documentId': $stateParams.documentId,\r\n 'ignoreRichText': ignoreRichText,\r\n 'hasExtention': vm.enableDocumentExtention,\r\n showLoading: true\r\n }\r\n };\r\n\r\n vm.currentDataPromise = $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (result, status, headers, config) {\r\n if (result != null) {\r\n if (result.data.hidden) {\r\n showMessageError(globalResources.NoAccessDocument, status);\r\n return;\r\n }\r\n vm.currentData = result.data;\r\n adjustHeightDocument();\r\n var viewMode = vm.currentData.viewMode;\r\n var hash = window.location.hash;\r\n\r\n if (vm.enableDocumentExtention && DOCUMENT_EXTENDABLE_TYPES.PARENT == vm.currentData.extendable) {\r\n loadExtendDocumentsTab();\r\n }\r\n\r\n if (vm.enableDocumentExtention && DOCUMENT_EXTENDABLE_TYPES.CHILD == vm.currentData.extendable) {\r\n let href = '/document/' + vm.currentData.documentIdHadExtended;\r\n let extendDocumentUrl = String.format(\"{1}\", href, vm.currentData.documentNameHadExtended);\r\n vm.documentNameHadExtended = globalResources.DocumentIsAnExtensionOf + extendDocumentUrl;\r\n }\r\n\r\n if (hash) {\r\n vm.currentData.viewMode = 1;\r\n\r\n }\r\n vm.currentData.fieldContents = vm.currentData.fieldContents.filter(function (x) {\r\n return x.isVisible;\r\n });\r\n vm.documentCKVersion = vm.currentData.isNewCKVersion;\r\n vm.isFavoriteNodeSelected = true;\r\n createTooltipsRelatedDocument(result.data);\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n }\r\n vm.currentData.nodeType = convertToNodeType(vm.currentData.type);\r\n if (vm.currentData.fieldContents != null) {\r\n var indexTemp = 0;\r\n\r\n var richTextRequests = [];\r\n vm.currentData.fieldContents.forEach((field) => {\r\n var fieldContent = vm.fieldIds.find((x) => x.fieldId === field.fieldId);\r\n\r\n if (fieldContent) {\r\n field.isHiddenContent = true;\r\n } else {\r\n field.isHiddenContent = false;\r\n }\r\n });\r\n var isDocumentJustCreated = vm.currentData.fieldContents.some(x => x.fieldContentId == 0);\r\n if (DOCUMENT_EXTENDABLE_TYPES.CHILD == vm.currentData.extendable && isDocumentJustCreated) {\r\n var params = {\r\n params: {\r\n 'documentId': vm.currentData.documentIdHadExtended,\r\n 'ignoreRichText': ignoreRichText,\r\n 'hasExtention': vm.enableDocumentExtention,\r\n showLoading: true,\r\n }\r\n };\r\n $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (response, status, headers, config) {\r\n response.data.fieldContents = response.data.fieldContents.filter(x => x.isVisible);\r\n richTextRequests = [];\r\n response.data.fieldContents.forEach(function (fieldContent) {\r\n if (ignoreRichText && fieldContent.fieldType == E.DocumentFieldTypes.RichText && fieldContent.fieldContentId) {\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId,\r\n documentId: vm.currentData.documentIdHadExtended,\r\n ignoreLoading: true,\r\n hasExtention: vm.enableDocumentExtention,\r\n isHiddenContent: fieldContent.isHiddenContent\r\n }\r\n }\r\n var getRichText = $http.get('/api/documents/getRichTextViewDocument', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n var childFieldContent = vm.currentData.fieldContents.find(x => x.fieldId == fieldContent.fieldId);\r\n buildContentAndAnchorFields(childFieldContent, response);\r\n }\r\n });\r\n richTextRequests.push(getRichText);\r\n }\r\n });\r\n });\r\n } else {\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n }\r\n vm.menuFields.push(\"Id\" + fieldContent.fieldId);\r\n if (ignoreRichText && fieldContent.fieldType == E.DocumentFieldTypes.RichText && fieldContent.fieldContentId) {\r\n if (vm.currentData.isHighlightExtended) {\r\n vm.IsHighlightExtended = true;\r\n }\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId,\r\n documentId: vm.documentId,\r\n hasExtention: vm.enableDocumentExtention,\r\n isHiddenContent: fieldContent.isHiddenContent, \r\n isHighlightExtended: vm.IsHighlightExtended\r\n }\r\n }\r\n //var params = {\r\n // params: {\r\n // id: fieldContent.fieldContentId,\r\n // documentId: vm.currentData.documentIdHadExtended,\r\n // ignoreLoading: true,\r\n // hasExtention: vm.enableDocumentExtention,\r\n // isHiddenContent: fieldContent.isHiddenContent\r\n // }\r\n //}\r\n\r\n var richtextRequest = $http.get('/api/documents/getRichTextViewDocument', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n buildContentAndAnchorFields(fieldContent, response);\r\n }\r\n });\r\n\r\n richTextRequests.push(richtextRequest);\r\n\r\n } else {\r\n if (fieldContent.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, fieldContent.content, false, vm.deviationUrl);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n }\r\n }\r\n\r\n fieldContent.indexShow = indexTemp;\r\n indexTemp = indexTemp + 1;\r\n });\r\n }\r\n \r\n\r\n if (ignoreRichText) {\r\n $q.all(richTextRequests).then(function () {\r\n vm.currentData.fieldContents = vm.currentData.fieldContents.filter(x => x.content != \" \"); // checkout fieldcontent is empty\r\n angular.copy(vm.currentData, vm.originalData);\r\n $timeout(function () {\r\n runServicesAfterInit();\r\n if (hash) {\r\n moveToDefaultField(hash);\r\n } else if (viewMode == 1) openDocumentFields(result.data)\r\n });\r\n\r\n\r\n });\r\n }\r\n if (vm.currentData.type == 2) {\r\n vm.menuFields.unshift(\"IdLink\");\r\n }\r\n if (vm.currentData.type == 1) {\r\n vm.menuFields.unshift(\"IdFile\");\r\n\r\n }\r\n\r\n var agree = vm.currentData.agree;\r\n if (agree && agree.id && agree.id != 0) {\r\n if (agree.searchHistoryId) {\r\n vm.agreeFiles.push({\r\n id: agree.searchHistoryId,\r\n extensionName: agree.searchHistoryFileName.split('.').pop().toUpperCase(),\r\n name: agree.searchHistoryFileName,\r\n fileTypeName: globalResources.SearchHistory,\r\n fileType: 1\r\n });\r\n }\r\n if (agree.abstractListId) {\r\n vm.agreeFiles.push({\r\n id: agree.abstractListId,\r\n extensionName: agree.abstractListFileName.split('.').pop().toUpperCase(),\r\n name: agree.abstractListFileName,\r\n fileTypeName: globalResources.AbstractList,\r\n fileType: 1\r\n });\r\n }\r\n if (agree.implementationPlanId) {\r\n vm.agreeFiles.push({\r\n id: agree.implementationPlanId,\r\n extensionName: agree.implementationPlanFileName.split('.').pop().toUpperCase(),\r\n name: agree.implementationPlanFileName,\r\n fileTypeName: globalResources.ImplementationPlan,\r\n fileType: 1\r\n });\r\n }\r\n if (vm.currentData.knowledgeTypeId == KnowledgeType.allAgreeRequirements) {\r\n vm.agreeFiles.push({\r\n id: vm.currentData.entityId,\r\n extensionName: 'pdf',\r\n name: globalResources.PicoForm,\r\n fileTypeName: globalResources.PicoForm,\r\n fileType: 2\r\n });\r\n }\r\n if (vm.currentData.knowledgeTypeId == KnowledgeType.allAgreeRequirements\r\n || vm.currentData.knowledgeTypeId == KnowledgeType.shortVersionOfAgreeRequirements) {\r\n vm.agreeFiles.push({\r\n id: vm.currentData.entityId,\r\n extensionName: 'pdf',\r\n name: globalResources.AgreeMethodReport,\r\n fileTypeName: globalResources.AgreeMethodReport,\r\n fileType: 3\r\n });\r\n }\r\n }\r\n\r\n if (vm.agreeFiles.length) {\r\n vm.menuFields.push(\"IdAgreeFiles\");\r\n }\r\n\r\n if (vm.currentData.relatedAttachments.length) {\r\n vm.menuFields.push(\"Idattachment\");\r\n }\r\n\r\n if (vm.currentData.relatedDocuments.length) {\r\n vm.menuFields.push(\"IdrelatedDocument\");\r\n }\r\n vm.updateFields();\r\n }\r\n\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas = angular.copy(vm.metadataList);\r\n formatMetadata();\r\n }\r\n vm.showDocumentLinkToBackend = vm.showDocumentLinkToBackend &&\r\n (vm.currentData.hasEditPermission || vm.currentData.hasApprovalPermission);\r\n\r\n if (!ignoreRichText || !vm.currentData.fieldContents) {\r\n runServicesAfterInit();\r\n }\r\n\r\n angular.copy(vm.currentData, vm.originalData);\r\n\r\n setTimeout(function () { documentService.stickyTitle(); }, 0);\r\n setIconForDocument(vm.currentData);\r\n getReadDocuments();\r\n sendDocumentOpenedEvent();\r\n executeDocumentTypeIfNeeded();\r\n vm.currentData.urlLink = vm.currentData.url;\r\n if (vm.currentData.url != null && vm.currentData.url.length > 3) {\r\n if (vm.currentData.url.substring(0, 3) == 'www') {\r\n vm.currentData.urlLink = 'http://' + vm.currentData.url;\r\n }\r\n }\r\n\r\n documentService.setDocuments(null); // clear service \r\n $rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n\r\n vm.isCompare = configService.getBool(HandbookConfiguration.EnableCompare) && vm.currentData.version > 0;\r\n if (!vm.isCompare && vm.currentData.extendable == DOCUMENT_EXTENDABLE_TYPES.CHILD) {\r\n documentService.checkParentExtensionHasToCompare(vm.currentData.documentId)\r\n .then(function (data) {\r\n if (data) {\r\n vm.isCompare = data;\r\n }\r\n });\r\n }\r\n\r\n if (vm.currentData.type == E.documentTypes.LinkDocument || vm.currentData.type == E.documentTypes.FileDocument) {\r\n vm.hideCompareButton = true;\r\n }\r\n return vm.currentData;\r\n } else {\r\n showMessageError(globalResources.NoAccessDocument, status);\r\n }\r\n }).catch(function (result, status, headers, config) {\r\n showMessageError(result.data, result.status);\r\n });\r\n }\r\n\r\n function buildContentAndAnchorFields(childFieldContent, response) {\r\n childFieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content, false, vm.deviationUrl);\r\n childFieldContent.content = $sce.trustAsHtml(`${childFieldContent.content} `);\r\n childFieldContent.isVisible = true;\r\n childFieldContent.fieldsAnchor = [];\r\n var aElement = document.createElement('div');\r\n aElement.innerHTML = response.data.content;\r\n var aTags = aElement.getElementsByTagName('a');\r\n if (aTags) {\r\n for (var i = 0; i < aTags.length; i++) {\r\n if (aTags[i].text.trim().length) {\r\n var itemAnchor = {\r\n value: aTags[i].text,\r\n id: aTags[i].name,\r\n name: aTags[i].id\r\n };\r\n childFieldContent.fieldsAnchor.push(itemAnchor);\r\n }\r\n\r\n }\r\n };\r\n }\r\n\r\n function getHiddenFields(documentId, result) {\r\n vm.fieldIds = [];\r\n //vm.alerts.unshift({ type: 'danger', message: \"aaaaaa\"});\r\n $http.get(handbookRequests.GetHiddenFieldsRequest, { params: { 'documentId': vm.documentId } })\r\n .success(function (data) {\r\n vm.fieldIds = data;\r\n getDocument();\r\n })\r\n .error(function (data, status, headers, config) {\r\n vm.alerts.unshift({\r\n type: 'danger', message: resources.L.Common.dontHaveActionPermission });\r\n });\r\n }\r\n\r\n function setIconForDocument(data) {\r\n data = data == null ? vm.currentData : data;\r\n var icon = '';\r\n switch (data.levelType.toString()) {\r\n case E.HandbookLevelTypes.Enterprise:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n case E.HandbookLevelTypes.Regional:\r\n icon = paths.DocumentLevelTypeRegional;\r\n break;\r\n case E.HandbookLevelTypes.Local:\r\n icon = paths.DocumentLevelTypeLocal;\r\n break;\r\n default:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n }\r\n data.docIcon = icon;\r\n }\r\n\r\n function showMessageError(message, status) {\r\n if (!status || status.toString() == '600') {\r\n vm.errorMessage = globalResources.RequiredPermissionsToReadDocument;\r\n } else if (status.toString() == '632') {\r\n vm.errorMessage = globalResources.DocumentDoNotExistOrIsArchived;\r\n } else if (status.toString() == '633') {\r\n vm.errorMessage = globalResources.DocumentDoNotExistOrIsArchivedOrNotPublished;\r\n vm.showDocumentLinkToBackendWhenError = true;\r\n } else {\r\n vm.errorMessage = message;\r\n }\r\n vm.showError = true;\r\n vm.isFavoriteNodeSelected = favoriteService.getFavoriteNodeState().isFavorited;\r\n vm.currentData.documentId = vm.documentId;\r\n vm.currentData.isFavorite = vm.isFavoriteNodeSelected;\r\n\r\n runErrorServicesAfterInit();\r\n }\r\n\r\n function getMetadataTab() {\r\n $http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n .then(function (result) {\r\n vm.metadataList = result.data;\r\n });\r\n }\r\n\r\n function formatMetadata() {\r\n if (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n });\r\n }\r\n }\r\n\r\n function rebindCurrentDocument(currentDocument) {\r\n vm.isFavoriteNodeSelected = true;\r\n vm.currentData = angular.copy(currentDocument.documentInformation);\r\n setIconForDocument(vm.currentData);\r\n $rootScope.title = globalResources.Handbook + \" - \" + vm.currentData.documentName;\r\n\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n }\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.content) {\r\n fieldContent.content = $sce.trustAsHtml(fieldContent.content + ' ');\r\n }\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n }\r\n });\r\n\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n formatMetadata();\r\n }\r\n angular.copy(vm.currentData, vm.originalData);\r\n vm.documentId = vm.currentData.documentId;\r\n\r\n runServicesAfterInit();\r\n setTimeout(function () { documentService.stickyTitle(); }, 0);\r\n var preview = $location.url().indexOf('preview');\r\n if (configService.getBool(HandbookConfiguration.ViewDocumentFieldDirectly) && preview == -1) {\r\n openDocumentFields();\r\n }\r\n }\r\n\r\n function updateFields() {\r\n if (vm.currentData.relatedAttachments && vm.currentData.relatedAttachments.length) {\r\n vm.currentData.relatedAttachments.forEach(function (x) {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n var relatedDocumentAll = angular.copy(vm.currentData.relatedDocuments);\r\n var relatedAttachmentAll = angular.copy(vm.currentData.relatedAttachments);\r\n var fieldContentsProcess = [];\r\n var fieldContentsNonProcess = [];\r\n var relatedProcessAll = angular.copy(vm.currentData.relatedProcess);\r\n\r\n vm.currentData.isShowTopBoxContent = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n var fieldContent = vm.currentData.fieldContents[i];\r\n\r\n if (checkShowFieldName(fieldContent)) {\r\n vm.currentData.isShowTopBoxContent = true;\r\n if (fieldContent.relatedAttachments && fieldContent.relatedAttachments.length) {\r\n fieldContent.relatedAttachments.forEach(function (x) {\r\n x.itemId = x.extraId ? x.extraId : x.itemId;\r\n });\r\n }\r\n\r\n if (fieldContent.isProcess) {\r\n fieldContentsProcess.push(fieldContent);\r\n }\r\n else {\r\n fieldContentsNonProcess.push(fieldContent);\r\n }\r\n }\r\n\r\n var relatedDocuments = fieldContent.relatedDocuments;\r\n relatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n relatedProcessAll = relatedProcessAll.concat(fieldContent.relatedProcess);\r\n\r\n var relatedAttachments = fieldContent.relatedAttachments;\r\n relatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n var relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n return [item.verticalAlign];\r\n });\r\n var relatedBottomImages = [];\r\n var relatedTopImages = [];\r\n relatedImageGroups.forEach(function (item) {\r\n if (item.key == parseInt(E.VerticalAlign.Top)) {\r\n relatedTopImages = relatedTopImages.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n relatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n }\r\n }\r\n });\r\n fieldContent.relatedTopImages = relatedTopImages;\r\n fieldContent.relatedBottomImages = relatedBottomImages;\r\n }\r\n\r\n if (vm.currentData.isProcess) {\r\n vm.currentData.relatedDocumentAll = relatedDocumentAll;\r\n vm.currentData.relatedAttachmentAll = relatedAttachmentAll;\r\n\r\n vm.currentData.fieldContentsProcess = fieldContentsProcess;\r\n vm.currentData.fieldContentsNonProcess = fieldContentsNonProcess;\r\n\r\n vm.currentData.relatedProcessAll = relatedProcessAll;\r\n\r\n var relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n return [item.folderId];\r\n });\r\n\r\n vm.currentData.relatedDocumentGroups = [];\r\n relatedDocumentGroups.forEach(function (item) {\r\n var relatedDocumentGroup = {};\r\n relatedDocumentGroup.id = item.key;\r\n relatedDocumentGroup.name = item.value.data[0].folderName;\r\n relatedDocumentGroup.relatedDocuments = item.value.data;\r\n vm.currentData.relatedDocumentGroups.push(relatedDocumentGroup);\r\n });\r\n\r\n var relatedProcessGroups = groupBy(relatedProcessAll, function (item) {\r\n return [item.processAreaId];\r\n });\r\n vm.currentData.relatedProcessGroups = [];\r\n relatedProcessGroups.forEach(function (item) {\r\n var relatedProcessGroup = {};\r\n relatedProcessGroup.id = item.key;\r\n relatedProcessGroup.name = item.value.data[0].processAreaName;\r\n relatedProcessGroup.relatedProcesses = item.value.data;\r\n vm.currentData.relatedProcessGroups.push(relatedProcessGroup);\r\n });\r\n\r\n relatedDocumentForDependencies(relatedDocumentAll);\r\n relatedAttachmentForDependencies(relatedAttachmentAll);\r\n attachRelatedItemsFieldsForDependencies();\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.favoriteUpdate, function (e, target) {\r\n if (vm.originalData) {\r\n vm.originalData.isFavorite = target;\r\n }\r\n if (vm.currentData) {\r\n vm.currentData.isFavorite = target;\r\n }\r\n });\r\n\r\n function goToDocumentFields(fieldId, hash) {\r\n isFieldActive = false;\r\n clearActive();\r\n vm.currentData.viewMode = 1;\r\n setTimeout(function () {\r\n var field = vm.currentData.fieldContents.find(function (x) {\r\n return x.fieldId == fieldId;\r\n });\r\n if (field) showContent(fieldId, field);\r\n runServicesAfterInit();\r\n }, 1000)\r\n addScroll();\r\n\r\n }\r\n\r\n function copyFormatted(html) {\r\n // Create an iframe (isolated container) for the HTML\r\n var container = document.createElement('div');\r\n container.innerHTML = html;\r\n\r\n // Hide element\r\n container.style.position = 'fixed';\r\n container.style.pointerEvents = 'none';\r\n container.style.opacity = 0;\r\n\r\n // Mount the iframe to the DOM to make `contentWindow` available\r\n document.body.appendChild(container);\r\n\r\n // Copy to clipboard\r\n window.getSelection().removeAllRanges();\r\n\r\n var range = document.createRange();\r\n range.selectNode(container);\r\n window.getSelection().addRange(range);\r\n\r\n //copy selected dom\r\n document.execCommand('copy');\r\n\r\n // Remove the iframe\r\n document.body.removeChild(container);\r\n }\r\n\r\n function shareFieldLink(fieldId, fieldName) {\r\n if (vm.fieldShare != fieldId) {\r\n vm.fieldShare = fieldId;\r\n angular.element('#fieldShare' + fieldId).addClass('opacity-0-5');\r\n var link = window.location.href.split('#')[0] + '#p' + fieldId;\r\n var shareLink = '' + vm.currentData.documentName + ' - ' + fieldName + '';\r\n $('#html-container').text(shareLink);\r\n var htmlEditor = CodeMirror.fromTextArea(document.getElementById('html-container'), {\r\n mode: 'text/html'\r\n });\r\n var cm = $('.CodeMirror')[0].CodeMirror;\r\n $(cm.getWrapperElement()).hide();\r\n copyFormatted(htmlEditor.getValue());\r\n $timeout(function () {\r\n vm.fieldShare = 0;\r\n angular.element('#fieldShare' + fieldId).removeClass('opacity-0-5');\r\n }, 5000, false);\r\n }\r\n }\r\n\r\n function openDocumentFields(data) {\r\n for (var i = 0; i < data.fieldContents.length; i++) {\r\n var fieldContent = data.fieldContents[i];\r\n if (fieldContent.showOnPDA) {\r\n showContent(fieldContent.fieldId, fieldContent);\r\n return;\r\n }\r\n };\r\n //in case there is no PDA of documentType\r\n if (data.defaultField != null) {\r\n //get all visible field (field has contents)\r\n var allVisibleField = $filter('filter')(data.fieldContents, { isVisible: true }, true);\r\n if (allVisibleField.length != 0) {\r\n //get default field\r\n var field = $filter('filter')(allVisibleField, { fieldId: data.defaultField }, true);\r\n var fieldId = allVisibleField[0].fieldId;\r\n if (field.length) {\r\n fieldId = data.defaultField;\r\n showContent(data.defaultField, field[0]);\r\n } else if (data.fieldContents[0]) showContent(data.fieldContents[0].fieldId, data.fieldContents[0]);\r\n }\r\n } else if (data.fieldContents[0]) showContent(data.fieldContents[0].fieldId, data.fieldContents[0]);\r\n\r\n }\r\n\r\n function scrollAffectFieldSelected() {\r\n var\r\n topMenuDocument = $(\"#document-top-menu-identifier\"),\r\n topMenuDocumentHeight = topMenuDocument.outerHeight(),\r\n idCurrent = '';\r\n\r\n var mousePosition = getMousePosition();\r\n\r\n if (typeof mousePosition == 'undefined') {\r\n return;\r\n }\r\n var d;\r\n for (var i = 0; i < vm.menuFields.length; i++) {\r\n d = i;\r\n var menu = \"#\" + vm.menuFields[i];\r\n var top = $(menu).offset().top;\r\n if (mousePosition < top) {\r\n idCurrent = i == 0 ? vm.menuFields[0] : vm.menuFields[i - 1];\r\n break;\r\n }\r\n }\r\n if (idCurrent == '') {\r\n idCurrent = vm.menuFields[d];\r\n }\r\n\r\n\r\n if ((lastId !== idCurrent) && (idCurrent != '')) {\r\n lastId = idCurrent;\r\n angular.forEach(vm.currentData.fieldContents, function (fieldContent) {\r\n fieldContent.activeField = '';\r\n });\r\n clearActive();\r\n switch (lastId) {\r\n case 'IdLink':\r\n $scope.$apply(function () { vm.activeLink = true; });\r\n case 'IdFile':\r\n $scope.$apply(function () { vm.activeFile = true; });\r\n case 'Idattachment':\r\n $scope.$apply(function () { vm.activeAttachments = true; });\r\n break;\r\n case 'IdrelatedDocument':\r\n $scope.$apply(function () { vm.activeRelatedDocuments = true; });\r\n break;\r\n case 'IdAgreeFiles':\r\n $scope.$apply(function () { vm.activeAgreeFiles = true; });\r\n break;\r\n default:\r\n var fieldId = lastId.substring(2);\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n if (vm.currentData.fieldContents[i].fieldId == parseInt(fieldId)) {\r\n $scope.$apply(function () {\r\n vm.currentData.fieldContents[i].activeField = 'active';\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addScroll() {\r\n setTimeout(function () {\r\n var content = $(\".document-detail\");\r\n if (content) {\r\n content.scroll(function () {\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n function setStickyTitle() {\r\n setTimeout(function () { stickyTitle(); }, 0);\r\n }\r\n\r\n function stickyTitle(height) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title.getBoundingClientRect();\r\n var content = document.querySelector('#document-content-identifier');\r\n if (!content) {\r\n return;\r\n }\r\n\r\n var contentPosition = content.getBoundingClientRect();\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n placeholder.style.height = titlePosition.height + 'px';\r\n var isAdded = false;\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = height ? height : $('#document-content-identifier').height();\r\n\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n removeStickyTitle();\r\n $('#document-content-identifier').scroll(function () {\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat && !isAdded) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n title.parentNode.insertBefore(placeholder, title);\r\n isAdded = true;\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n $('#document-content-identifier').css('margin-top', '85px');\r\n $('#document-content-identifier').css('height', heightScroll - 85);\r\n } else if (currentPosition < heightToFloat && isAdded) {\r\n title.classList.remove('sticky');\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n title.parentNode.removeChild(placeholder);\r\n isAdded = false;\r\n $('#document-content-identifier').css('margin-top', '0px');\r\n $('#document-content-identifier').css('height', heightScroll);\r\n } else {\r\n //$('#document-content-identifier').css('height', heightScroll);\r\n }\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n\r\n });\r\n }\r\n else {\r\n $('#document-content-identifier').scroll(function () {\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? $('#document-content-identifier').scrollTop() : contentPosition.top + $('#document-content-identifier').scrollTop();\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n });\r\n }\r\n }\r\n\r\n function runInitforIE(height) {\r\n if ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title.getBoundingClientRect();\r\n var content = document.querySelector('#document-content-identifier');\r\n var contentPosition = content.getBoundingClientRect();\r\n var placeholder = $(\"#placeholderTitleId\")\r\n if (placeholder.length > 0) {\r\n placeholder.remove();\r\n }\r\n placeholder = document.createElement('div');\r\n placeholder.id = \"placeholderTitleId\";\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n var heightScroll = height ? height : $('#document-content-identifier').height();\r\n var scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n if (currentPosition >= heightToFloat) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n title.parentNode.insertBefore(placeholder, title);\r\n var contentWidth = $('#document-content-identifier').width() + 10;\r\n if (!isfullScreen) {\r\n $('#documentTitle').css('top', contentPosition.top);\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n } else {\r\n $('#documentTitle').css('width', contentWidth);\r\n $('#documentTitle').css('background-color', 'white');\r\n }\r\n heightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n $('#document-content-identifier').css('margin-top', '90px');\r\n $('#document-content-identifier').css('height', heightScroll - 90);\r\n }\r\n }\r\n }\r\n\r\n function redirectGoToDocumentFields(fieldId) {\r\n if (user.fromState && user.fromState.name == 'documentfields'\r\n && user.fromParams && user.fromParams.documentId == vm.documentId) {\r\n window.history.go(-1);\r\n } else {\r\n var hash = window.location.hash;\r\n goToDocumentFields(fieldId, hash);\r\n }\r\n }\r\n\r\n $rootScope.$on('$stateChangeStart', function (e, toState, toParams, fromState, fromParams) {\r\n user.fromState = fromState;\r\n user.fromParams = fromParams;\r\n });\r\n\r\n function removeFromFavorite() {\r\n var requestUrl = vm.removeFavoriteRequest + '/' + vm.documentId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n var target = {\r\n data: {\r\n id: vm.documentId,\r\n isDocument: true\r\n },\r\n requestType: requestType.removeRequest\r\n };\r\n broadcastService(broadcastType.favoriteTarget, target);\r\n });\r\n }\r\n\r\n function searchAndHighlightText() {\r\n highlightTextInContent();\r\n documentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n }\r\n\r\n function navForward() {\r\n documentContentsSearchService.navForward(vm.highlights);\r\n }\r\n\r\n function navBackward() {\r\n documentContentsSearchService.navBackward(vm.highlights);\r\n }\r\n\r\n function checkShowFieldName(fieldContent) {\r\n if (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function convertToNodeType(documentType) {\r\n switch (documentType.toString()) {\r\n case E.documentTypes.Document:\r\n return E.nodeTypes.Document;\r\n case E.documentTypes.LinkDocument:\r\n return E.nodeTypes.LinkDocument;\r\n case E.documentTypes.FileDocument:\r\n return E.nodeTypes.FileDocument;\r\n case E.documentTypes.ShortcutDocument:\r\n return E.nodeTypes.ShortcutDocument;\r\n }\r\n }\r\n\r\n function selectViewModeChange() { \r\n history.replaceState(\"\", document.title, window.location.pathname\r\n + window.location.search);\r\n setTimeout(function () {\r\n if (vm.currentData.fieldContents[0]);\r\n showContent(vm.currentData.fieldContents[0].fieldId, vm.currentData.fieldContents[0]);\r\n runServicesAfterInit();\r\n\r\n // change height content of document\r\n var mainBody = angular.element(\".main-container_body\").height();\r\n var docContent = angular.element(\"#content-tab\").height();\r\n\r\n angular.element('#document-content-identifier').css({\r\n height: (mainBody - docContent - 122)\r\n });\r\n\r\n }, 500)\r\n addScroll();\r\n }\r\n\r\n function runErrorServicesAfterInit() {\r\n tabStateService.closeOpenedTabIfNoPrivilege(tabStateType.documentTabState);\r\n }\r\n\r\n function scrollToAnchorIfExists() {\r\n var hash = $location.hash();\r\n if (hash != '') {\r\n $anchorScroll();\r\n }\r\n }\r\n\r\n function updateLocalAnchors() {\r\n var domContent = angular.element('div#document-content-identifier');\r\n anchorService.updateLocalAnchors(domContent);\r\n }\r\n\r\n function highlightTextInContent() {\r\n if (vm.currentData.fieldContents != undefined) {\r\n var viewMode = angular.copy(vm.currentData.viewMode);\r\n angular.copy(vm.originalData, vm.currentData);\r\n vm.currentData.viewMode = viewMode;\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n fieldContent.content = documentContentsSearchService.searchAndHighlight(fieldContent.content, vm.highlights.highlightText);\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n });\r\n }\r\n }\r\n\r\n function relatedDocumentForDependencies(relatedDocumentAll) {\r\n var relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n return [item.processRelationType];\r\n });\r\n var relatedDocumentManagements = [];\r\n var relatedDocumentResources = [];\r\n relatedDocumentGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n relatedDocumentManagements = relatedDocumentManagements.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n relatedDocumentResources = relatedDocumentResources.concat(item.value.data);\r\n }\r\n }\r\n });\r\n\r\n vm.currentData.relatedDocumentManagement = relatedDocumentManagements;\r\n vm.currentData.relatedDocumentResources = relatedDocumentResources;\r\n }\r\n\r\n function relatedAttachmentForDependencies(relatedAttachmentAll) {\r\n var relatedAttachmentGroups = groupBy(relatedAttachmentAll, function (item) {\r\n return [item.processRelationType];\r\n });\r\n\r\n var relatedAttachmentManagements = [];\r\n var relatedAttachmentResources = [];\r\n relatedAttachmentGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n relatedAttachmentManagements = relatedAttachmentManagements.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n relatedAttachmentResources = relatedAttachmentResources.concat(item.value.data);\r\n }\r\n }\r\n });\r\n vm.currentData.relatedAttachmentManagement = relatedAttachmentManagements;\r\n vm.currentData.relatedAttachmentResources = relatedAttachmentResources;\r\n }\r\n\r\n function attachRelatedItemsFieldsForDependencies() {\r\n vm.currentData.fieldContentsProcess.forEach(function (field) {\r\n var relatedDocumetFieldGroups = groupBy(field.relatedDocuments, function (item) {\r\n return [item.processRelationType];\r\n });\r\n var relatedDocumentInputValues = [];\r\n var relatedDocumentOutputValue = [];\r\n relatedDocumetFieldGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n relatedDocumentInputValues = relatedDocumentInputValues.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n relatedDocumentOutputValue = relatedDocumentOutputValue.concat(item.value.data);\r\n }\r\n }\r\n });\r\n field.relatedDocumentInputValues = relatedDocumentInputValues;\r\n field.relatedDocumentOutputValue = relatedDocumentOutputValue;\r\n\r\n var relatedAttachmentFieldGroups = groupBy(field.relatedAttachments, function (item) {\r\n return [item.processRelationType];\r\n });\r\n var relatedAttachmentInputValues = [];\r\n var relatedAttachmentOutputValue = [];\r\n relatedAttachmentFieldGroups.forEach(function (item) {\r\n if (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n relatedAttachmentInputValues = relatedAttachmentInputValues.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n relatedAttachmentOutputValue = relatedAttachmentOutputValue.concat(item.value.data);\r\n }\r\n }\r\n });\r\n field.relatedAttachmentInputValues = relatedAttachmentInputValues;\r\n field.relatedAttachmentOutputValue = relatedAttachmentOutputValue;\r\n });\r\n }\r\n\r\n function sendDocumentOpenedEvent() {\r\n var target = {\r\n id: vm.currentData.documentId,\r\n name: vm.currentData.documentName,\r\n type: vm.currentData.nodeType,\r\n levelType: vm.currentData.levelType,\r\n defaultFieldView: vm.currentData.defaultFieldView\r\n };\r\n broadcastService(broadcastType.documentOpenedTarget, target);\r\n }\r\n\r\n function showSidebarFields() {\r\n vm.isToggleSidebarFields = true;\r\n }\r\n\r\n function hideSidebarFields() {\r\n vm.isToggleSidebarFields = false;\r\n }\r\n\r\n function executeDocumentTypeIfNeeded() {\r\n if (vm.currentData.type == E.documentTypes.LinkDocument) {\r\n openUrlDocument();\r\n }\r\n\r\n if (vm.currentData.type == E.documentTypes.FileDocument) {\r\n openFileDocument();\r\n }\r\n }\r\n\r\n function openUrlDocument() {\r\n var urlLink = vm.currentData.url;\r\n if (vm.currentData.url != null && vm.currentData.url.length > 3) {\r\n if (vm.currentData.url.substring(0, 3) == 'www') {\r\n urlLink = 'http://' + vm.currentData.url;\r\n }\r\n }\r\n window.open(urlLink, '_blank');\r\n }\r\n\r\n function runServicesAfterInit() {\r\n updateLocalAnchors();\r\n }\r\n\r\n function openFileDocument() {\r\n if (!vm.enableOpenDocumentOnline)\r\n window.open(handbookRequests.GetFileDocumentRequest + vm.currentData.entityId, '_blank');\r\n }\r\n\r\n function compareDocument() {\r\n window.open(String.format('/document/{0}/compareWithEarlierVersion', vm.currentData.documentId), '_blank');\r\n }\r\n\r\n function registDeviationWithDocument() {\r\n window.open(vm.deviationUrl + vm.documentDeviationCategoryLink + '?documentRelatedId=' + vm.currentData.documentId, '_blank');\r\n }\r\n\r\n function fullScreen() {\r\n if (vm.isFullScreen) {\r\n documentService.showFullscreen();\r\n } else {\r\n documentService.showNormal();\r\n tabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n $('#document-content-identifier').css('margin-top', '0px');\r\n }\r\n vm.isFullScreen = !vm.isFullScreen;\r\n setTimeout(function () {\r\n var height = $('#document-content-identifier').height();\r\n stickyTitle(height);\r\n if (isIE) {\r\n runInitforIE(height);\r\n }\r\n }, 500);\r\n }\r\n\r\n function linkToDocumentManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&documentId=' + vm.documentId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'document/' + vm.documentId, '_blank');\r\n }\r\n }\r\n\r\n function getNextSearchResultByEnter(keyEvent) {\r\n if (keyEvent.which == 13) {\r\n navForward();\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.linkToDocumentManagement, function (e, target) {\r\n linkToDocumentManagement();\r\n });\r\n\r\n $scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n fullScreen();\r\n });\r\n\r\n function fullScreenInit() {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n } else {\r\n documentService.showNormal();\r\n vm.isFullScreen = true;\r\n }\r\n }\r\n\r\n function processEmbedUrl() {\r\n if (vm.isEmbedUrl) {\r\n if (vm.typeHideHeader) {\r\n angular.element('#documentHeader1Container').hide();\r\n angular.element('#fieldTitle').hide();\r\n }\r\n }\r\n }\r\n\r\n function moveToDefaultField(hash) {\r\n var hashTemp = hash.split('#p');\r\n if (hashTemp.length < 1) {\r\n var elmnt = document.getElementById(hash.split('#')[1]);\r\n if (elmnt) elmnt.scrollIntoView();\r\n return;\r\n }\r\n\r\n var field = vm.currentData.fieldContents.find(function (x) {\r\n return x.fieldId == hashTemp[1];\r\n });\r\n if (field) {\r\n\r\n showContent(hashTemp[1], field)\r\n\r\n } else {\r\n var elmnt = document.getElementById(hash.split('#')[1]);\r\n if (elmnt) elmnt.scrollIntoView();\r\n }\r\n\r\n }\r\n\r\n function clearActive() {\r\n vm.activeRelatedDocuments = false;\r\n vm.activeAttachments = false;\r\n vm.activeLink = false;\r\n vm.activeFile = false;\r\n vm.activeAgreeFiles = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n vm.currentData.fieldContents[i].activeField = '';\r\n }\r\n };\r\n\r\n function showContent(id, fieldContent) {\r\n isFieldActive = true;\r\n animationChangeBackgroundColor(id);\r\n clearActive();\r\n clearAnchorActive();\r\n if (fieldContent) {\r\n fieldContent.activeField = 'active';\r\n } else {\r\n if (String(id).indexOf('IdrelatedDocument') > -1)\r\n vm.activeRelatedDocuments = true;\r\n else if (String(id).indexOf('Idattachment') > -1)\r\n vm.activeAttachments = true;\r\n else if (String(id).indexOf('IdLink') > -1)\r\n vm.activeLink = true;\r\n else if (String(id).indexOf('IdAgreeFildes') > -1) {\r\n vm.activeAgreeFiles = true;\r\n }\r\n else\r\n vm.activeFile = true;\r\n }\r\n\r\n setTimeout(function () {\r\n isFieldActive = false;\r\n }, 2000);\r\n };\r\n\r\n\r\n function showContentanchor(id, fieldContent, itemAnchor) {\r\n isFieldActive = true;\r\n clearActive();\r\n clearAnchorActive();\r\n if (fieldContent) {\r\n fieldContent.activeField = 'active';\r\n itemAnchor.activeField = 'active';\r\n let e = document.getElementById(itemAnchor.id);\r\n e.className += \" activeAnchor\";\r\n e.scrollIntoView({\r\n block: 'start',\r\n behavior: 'smooth',\r\n inline: 'start'\r\n });\r\n } else {\r\n if (String(id).indexOf('IdrelatedDocument') > -1)\r\n vm.activeRelatedDocuments = true;\r\n else if (String(id).indexOf('Idattachment') > -1)\r\n vm.activeAttachments = true;\r\n else if (String(id).indexOf('IdLink') > -1)\r\n vm.activeLink = true;\r\n else if (String(id).indexOf('IdAgreeFildes') > -1) {\r\n vm.activeAgreeFiles = true;\r\n }\r\n else\r\n vm.activeFile = true;\r\n }\r\n \r\n setTimeout(function () {\r\n isFieldActive = false;\r\n }, 2000);\r\n };\r\n\r\n function clearAnchorActive() {\r\n vm.currentData.fieldContents.forEach((content) => {\r\n let anchors = content.fieldsAnchor;\r\n if (anchors) {\r\n anchors = anchors.filter((x) => x.id != \"\");\r\n if (anchors) {\r\n anchors.forEach((anchor) => {\r\n anchor.activeField = '';\r\n let e = document.getElementById(anchor.id);\r\n if (e) {\r\n e.className -= \" activeAnchor\";\r\n }\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n function getMousePosition() {\r\n return cursorY\r\n }\r\n\r\n function removeStickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n title.classList.remove('sticky');\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n $('#documentTitle').css('margin-left', '');\r\n var placeholder = document.querySelector('#placeholderTitleId');\r\n if (placeholder != null) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#document-content-identifier').unbind('scroll');\r\n }\r\n\r\n function animationChangeBackgroundColor(id) {\r\n id = String(id);\r\n var indexHash = id.indexOf('#');\r\n if (indexHash > 0) {\r\n id = id.substr(0, indexHash);\r\n }\r\n var hash = '#Id' + id;\r\n var elementId = '#Id' + id;\r\n if (id.indexOf('IdrelatedDocument') > -1 || id.indexOf('IdLink') > -1 || id.indexOf('IdFile') > -1 || id.indexOf('Idattachment') > -1\r\n || id.indexOf('IdAgreeFiles') > -1) {\r\n hash = '#' + id;\r\n elementId = '#' + id;\r\n }\r\n var $parentDiv = $('.document-detail');\r\n if ($(hash).position()) {\r\n $parentDiv.animate({ scrollTop: $(hash).position().top }, 'slow');\r\n }\r\n var $element = $(elementId);\r\n if ($element) {\r\n\r\n $element.animate({ backgroundColor: '#D7D7D7' }, 1500);\r\n $timeout(function () {\r\n $element.css(\"background-color\", \"\");\r\n }, 2000);\r\n }\r\n }\r\n\r\n function printAgreeFile(type) {\r\n if (type == 2) {\r\n window.open(String.format(handbookRequests.PrintPicoFormPdfRequest, vm.currentData.documentId, false), '_blank');\r\n return;\r\n }\r\n if (vm.currentData.knowledgeTypeId == KnowledgeType.shortVersionOfAgreeRequirements) {\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportShortVersionRequest, vm.currentData.documentId, false), '_blank');\r\n return;\r\n }\r\n window.open(String.format(handbookRequests.PrintAgreeMethodReportFullVersionRequest, vm.currentData.documentId, false), '_blank');\r\n }\r\n\r\n function feedbackDocument(positive) {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.FeedbackModalView,\r\n controller: controllers.feedbackController,\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n entityId: vm.currentData.entityId,\r\n positive: positive\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n function goToDocumentInPublicHandbook(documentId) {\r\n if (HandbookConfiguration.PublicURL && !vm.isPublishedVersion) {\r\n window.open(vm.documentPublishUrl, '_blank');\r\n }\r\n }\r\n\r\n function openAboutDocument() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/document/aboutDocumentModal.html',\r\n controller: 'AboutDocumentModalController as vm',\r\n size: 'lg',\r\n backdrop: 'static',\r\n resolve: {\r\n model: function () {\r\n return {\r\n documentData: vm.currentData,\r\n publishedVersion: vm.publishedVersion,\r\n folderLinks: vm.FolderLinks,\r\n enableElementsIntegration: vm.enableElementsIntegration,\r\n };\r\n }\r\n }\r\n });\r\n }\r\n\r\n function handleScrollInMobile() {\r\n setTimeout(function () {\r\n angular.element(document.querySelector('#documentDetailContainer')).bind('scroll', function () {\r\n const contentWithLayoutTop = $('#topmenuMobile').position().top;\r\n const topmenuMobileBottom = $('#documentHeader1Container').position().top + $('#documentHeader1Container').height();\r\n if (contentWithLayoutTop < topmenuMobileBottom) {\r\n angular.element('#documentHeader1Container').addClass('shadow-effect');\r\n angular.element('#goHeadButton').removeClass('hide');\r\n }\r\n else {\r\n angular.element('#documentHeader1Container').removeClass('shadow-effect');\r\n angular.element('#goHeadButton').addClass('hide');\r\n }\r\n })\r\n }, 0)\r\n }\r\n\r\n function scrollDocumentContentToTop() {\r\n var hash = '#topmenuMobile';\r\n var $parentDiv = $('.document-detail');\r\n if ($(hash).position()) {\r\n $parentDiv.animate({ scrollTop: $(hash).position().top }, 'slow');\r\n angular.element('#goHeadButton').addClass('hide');\r\n }\r\n \r\n }\r\n\r\n function addDocumetEmailSubscription() {\r\n var requestUrl = handbookRequests.AddEmailSubscriptionDocument + '/' + vm.currentData.documentId;\r\n $http.post(requestUrl)\r\n .then(function () {\r\n vm.currentData.isEmailSubscribe = !vm.currentData.isEmailSubscribe;\r\n });\r\n };\r\n\r\n function setViewMode(viewMode) {\r\n vm.currentData.viewMode = viewMode;\r\n selectViewModeChange();\r\n }\r\n\r\n function adjustHeightDocument() {\r\n setTimeout(() => {\r\n var documentContentIdentifierHeight = $('#document-content-identifier').outerHeight();\r\n var reportMenuIconHeight = $('#reportMenuIcon').outerHeight();\r\n var documentFieldListNameHeight = $('#documentFieldListName').outerHeight();\r\n var documentFieldTitleHeight = $('#documentFieldTitle').outerHeight();\r\n var sum = documentContentIdentifierHeight - reportMenuIconHeight - documentFieldListNameHeight - documentFieldTitleHeight - 120;\r\n\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: (sum)\r\n });\r\n },0);\r\n }\r\n\r\n function goToProcessDetail(item) {\r\n if (vm.processClassificationTypes.Processes == item.processClassification) {\r\n return '/process-fe/process-detail/' + item.processNumber;\r\n }\r\n if (vm.processClassificationTypes.ProcessInterconnected == item.processClassification) {\r\n return '/process-fe/process-interconnected/' + item.processNumber;\r\n }\r\n }\r\n\r\n function popUpWasBlocked(popUp) {\r\n return !popUp || popUp.closed || typeof popUp.closed === 'undefined'\r\n }\r\n\r\n function openFileAttachOnline(entityId, documentName, isLastVersion, isOneDrive) {\r\n var endPoint = isOneDrive ? \"/api/OneDrive/GetFileToOneDrive\" : \"/api/OneDrive/GetFile\";\r\n\r\n return $http.get(endPoint, { params: { entityId: entityId, documentName: documentName, isLastVersion: isLastVersion, showLoading: true } })\r\n .success(function (url) {\r\n const w = window.open(url, '_blank')\r\n if (popUpWasBlocked(w)) {\r\n alert(globalResources.EnablePopupBrowser);\r\n }\r\n\r\n });\r\n }\r\n\r\n function openFileDocumentOnline(entityId, documentName, isOneDrive) {\r\n var endPoint = isOneDrive ? \"/api/OneDrive/GetFileDocumentToOneDrive\" : \"/api/OneDrive/GetFileDocument\";\r\n\r\n return $http.get(endPoint, { params: { entityId: entityId, documentName: documentName, showLoading: true } })\r\n .success(function (url) {\r\n const w = window.open(url, '_blank')\r\n if (popUpWasBlocked(w)) {\r\n alert(globalResources.EnablePopupBrowser);\r\n }\r\n });\r\n }\r\n }\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('documentFieldsModule', [])\r\n .controller(\"DocumentFieldsController\", documentFieldsController);\r\n\r\n\tdocumentFieldsController.$inject = ['$http', '$sce', '$timeout', '$location', '$scope', '$rootScope', '$anchorScroll',\r\n 'documentService', 'anchorService', 'documentContentsSearchService', 'resizeService', '$stateParams', 'pubSub',\r\n 'folderService', 'treeNavigationService', '$q', 'configService'];\r\n\r\n\tfunction documentFieldsController($http, $sce, $timeout, $location, $scope, $rootScope, $anchorScroll,\r\n documentService, anchorService, documentContentsSearchService, resizeService, $stateParams, pubSub,\r\n folderService, treeNavigationService, $q, configService) {\r\n var ignoreRichText = configService.getBool(HandbookConfiguration.LazyLoadRichText);\r\n\r\n var vm = this;\r\n\r\n vm.documentInformation = {};\r\n vm.originalData = {};\r\n vm.fieldId = -1;\r\n vm.currentData = {};\r\n vm.oldData = {};\r\n vm.highlights = {\r\n highlightText: '',\r\n currentIndex: 0,\r\n totalFound: 0\r\n };\r\n vm.FolderLinks = [];\r\n\r\n\r\n var urlParams = $location.url().split('/');\r\n vm.isEmbedUrl = false;\r\n vm.typeHideHeader = false;\r\n vm.documentId = $stateParams.documentId;\r\n\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteDocument;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteDocument;\r\n\r\n if (urlParams != null && urlParams.length > 0) {\r\n vm.isEmbedUrl = urlParams[1] == 'embed';\r\n if (vm.isEmbedUrl) {\r\n vm.fieldId = urlParams[5];\r\n vm.typeHideHeader = urlParams.length == 7 ? (urlParams[6] == '1') : false;\r\n vm.documentId = urlParams[3];\r\n }\r\n }\r\n vm.urlDocument = window.location.origin + '/document/' + vm.documentId + '?preview=true';\r\n vm.showDocumentLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend);\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n\r\n vm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n vm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.showContent = showContent;\r\n vm.clearActive = clearActive;\r\n vm.searchAndHighlightText = searchAndHighlightText;\r\n vm.navForward = navForward;\r\n vm.navBackward = navBackward;\r\n vm.printDocumentField = printDocumentField;\r\n vm.fullScreen = fullScreen;\r\n vm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n vm.linkToDocumentManagement = linkToDocumentManagement;\r\n vm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n vm.documentViewOption = parseInt(HandbookConfiguration.DocumentViewOption);\r\n vm.isToggleSidebarFields = true;\r\n vm.showSidebarFields = showSidebarFields;\r\n vm.hideSidebarFields = hideSidebarFields;\r\n vm.compareDocument = compareDocument;\r\n vm.hideCompareButton = false;\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.deviationUrl = HandbookConfiguration.DeviationUrl;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n fullScreenInit();\r\n\r\n processEmbedUrl();\r\n //check and resize the view\r\n resizeService.resizeView();\r\n //get document info from service\r\n if (!vm.isEmbedUrl) {\r\n var currentDocument = documentService.getDocuments();\r\n\r\n if (currentDocument && currentDocument.documentInformation) {\r\n vm.isFavoriteNodeSelected = true;\r\n buildDocumentObjectFromCurrentDocument(currentDocument);\r\n $rootScope.title = globalResources.Handbook + \" - \" + currentDocument.documentInformation.documentName;\r\n angular.copy(vm.documentInformation, vm.originalData);\r\n runServicesAfterInit();\r\n }\r\n else {\r\n getDocument();\r\n }\r\n folderService.getFolderByVirtualDocumentId($stateParams.documentId).then(function (response) {\r\n vm.FolderLinks = response.data;\r\n });\r\n } else {\r\n getDocument();\r\n }\r\n treeNavigationService.navigateToItemLocation(true);\r\n };\r\n\r\n function processEmbedUrl() {\r\n if (vm.isEmbedUrl) {\r\n if (vm.typeHideHeader) {\r\n angular.element('#documentHeader1Container').hide();\r\n angular.element('#fieldTitle').hide();\r\n }\r\n }\r\n }\r\n\r\n function linkToDocumentManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&documentId=' + vm.documentId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'document/' + vm.documentId, '_blank');\r\n }\r\n };\r\n\r\n function getDocument() {\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n getMetadataTab();\r\n }\r\n\r\n var params = {\r\n params: {\r\n 'documentId': vm.documentId,\r\n 'ignoreRichText': ignoreRichText,\r\n showLoading: true\r\n }\r\n };\r\n vm.currentDataPromise =\r\n $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (result) {\r\n vm.isFavoriteNodeSelected = true;\r\n createTooltipsRelatedDocument(result.data);\r\n vm.oldData = result.data;\r\n vm.documentCKVersion = vm.oldData.isNewCKVersion;\r\n if (vm.oldData.description) {\r\n vm.oldData.description = $sce.trustAsHtml(vm.oldData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n }\r\n vm.oldData.nodeType = convertToNodeType(vm.oldData.type);\r\n if (vm.oldData.fieldContents != null) {\r\n\r\n var richTextRequests = [];\r\n\r\n vm.oldData.fieldContents.forEach(function (fieldContent) {\r\n if (!vm.oldData.fieldId) {\r\n vm.oldData.fieldId = fieldContent.fieldId;\r\n }\r\n\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n }\r\n\r\n if (ignoreRichText && fieldContent.fieldType == 6 && fieldContent.fieldContentId) {\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId,\r\n documentId: vm.documentId\r\n }\r\n }\r\n\r\n var getRichText = $http.get('/api/documents/getRichText', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content,false, vm.deviationUrl);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n fieldContent.isVisible = true;\r\n }\r\n });\r\n\r\n richTextRequests.push(getRichText);\r\n } else {\r\n if (fieldContent.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content, false, vm.deviationUrl);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n }\r\n }\r\n });\r\n\r\n\r\n if (ignoreRichText) {\r\n $q.all(richTextRequests).then(function () {\r\n angular.copy(vm.oldData, vm.originalData);\r\n vm.oldData.documentInformation = angular.copy(vm.oldData);\r\n vm.oldData.confirmInformation = vm.currentData.confirmInformation;\r\n\r\n if (vm.isEmbedUrl) {\r\n vm.oldData.fieldId = vm.fieldId;\r\n } else {\r\n vm.oldData.fieldId = $stateParams.fieldId;\r\n }\r\n buildDocumentObjectFromCurrentDocument(vm.oldData);\r\n runServicesAfterInit();\r\n });\r\n }\r\n\r\n updateFields();\r\n }\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n vm.oldData.metadatas = angular.copy(vm.metadataList);\r\n formatMetadata();\r\n }\r\n\r\n if (!ignoreRichText || !vm.oldData.fieldContents){\r\n angular.copy(vm.oldData, vm.originalData);\r\n vm.oldData.documentInformation = angular.copy(vm.oldData);\r\n vm.oldData.confirmInformation = vm.currentData.confirmInformation;\r\n\r\n if (vm.isEmbedUrl) {\r\n vm.oldData.fieldId = vm.fieldId;\r\n } else {\r\n vm.oldData.fieldId = $stateParams.fieldId;\r\n }\r\n buildDocumentObjectFromCurrentDocument(vm.oldData);\r\n runServicesAfterInit();\r\n }\r\n\r\n documentService.setDocuments(null); // clear service\r\n vm.showDocumentLinkToBackend = vm.showDocumentLinkToBackend &&\r\n\t\t\t\t\t\t\t(vm.oldData.hasEditPermission || vm.oldData.hasApprovalPermission);\r\n\r\n vm.isCompare = configService.getBool(HandbookConfiguration.EnableCompare) && vm.oldData.version > 0;\r\n if (vm.currentData.type == E.documentTypes.LinkDocument || vm.currentData.type == E.documentTypes.FileDocument) {\r\n vm.hideCompareButton = true;\r\n }\r\n $rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n return vm.currentData;\r\n })\r\n .catch(function (result) {\r\n vm.errorMessage = result.data;\r\n vm.showError = true;\r\n // Update currentData so favorite button work\r\n vm.currentData.documentId = vm.documentId;\r\n runErrorServicesAfterInit();\r\n });\r\n };\r\n\r\n function getMetadataTab() {\r\n $http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n .then(function (result) {\r\n vm.metadataList = result.data;\r\n });\r\n };\r\n\r\n function formatMetadata() {\r\n if (vm.isShowMetadata && vm.oldData.metadatas && vm.oldData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n vm.oldData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n });\r\n }\r\n }\r\n\r\n function updateFields() {\r\n var relatedDocumentAll = angular.copy(vm.oldData.relatedDocuments);\r\n var relatedAttachmentAll = angular.copy(vm.oldData.relatedAttachments);\r\n\r\n vm.oldData.isShowTopBoxContent = false;\r\n\r\n for (var i = 0; i < vm.oldData.fieldContents.length; i++) {\r\n var fieldContent = vm.oldData.fieldContents[i];\r\n if (checkShowFieldName(fieldContent)) {\r\n vm.oldData.isShowTopBoxContent = true;\r\n }\r\n\r\n var relatedDocuments = fieldContent.relatedDocuments;\r\n relatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n var relatedAttachments = fieldContent.relatedAttachments;\r\n relatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n var relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n return [item.verticalAlign];\r\n });\r\n var relatedBottomImages = [];\r\n var relatedTopImages = [];\r\n relatedImageGroups.forEach(function (item) {\r\n if (item.key == parseInt(E.VerticalAlign.Top)) {\r\n relatedTopImages = relatedTopImages.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n relatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n }\r\n }\r\n });\r\n fieldContent.relatedTopImages = relatedTopImages;\r\n fieldContent.relatedBottomImages = relatedBottomImages;\r\n }\r\n };\r\n\r\n function checkShowFieldName(fieldContent) {\r\n\t\t\tif (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function convertToNodeType(documentType) {\r\n switch (documentType.toString()) {\r\n case E.documentTypes.Document:\r\n return E.nodeTypes.Document;\r\n case E.documentTypes.LinkDocument:\r\n return E.nodeTypes.LinkDocument;\r\n case E.documentTypes.FileDocument:\r\n return E.nodeTypes.FileDocument;\r\n case E.documentTypes.ShortcutDocument:\r\n return E.nodeTypes.ShortcutDocument;\r\n }\r\n }\r\n\r\n function setIconForDocument(data) {\r\n data = data == null ? vm.currentData : data;\r\n var icon = '';\r\n switch (data.levelType.toString()) {\r\n case E.HandbookLevelTypes.Enterprise:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n case E.HandbookLevelTypes.Regional:\r\n icon = paths.DocumentLevelTypeRegional;\r\n break;\r\n case E.HandbookLevelTypes.Local:\r\n icon = paths.DocumentLevelTypeLocal;\r\n break;\r\n default:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n }\r\n data.docIcon = icon;\r\n }\r\n\r\n function buildDocumentObjectFromCurrentDocument(currentDocument) {\r\n if (currentDocument) {\r\n vm.documentInformation = angular.copy(currentDocument.documentInformation);\r\n vm.currentData = angular.copy(currentDocument.documentInformation);\r\n setIconForDocument(vm.documentInformation);\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n }\r\n if (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.nameDisplay.toString());\r\n });\r\n }\r\n if (vm.documentInformation) {\r\n for (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n if (vm.documentInformation.fieldContents[i].fieldId == currentDocument.fieldId) {\r\n vm.fieldId = currentDocument.fieldId;\r\n vm.currentData.confirmInformation = currentDocument.confirmInformation;\r\n vm.documentInformation.fieldContents[i].activeField = 'active';\r\n if (vm.documentInformation.fieldContents[i].fieldName) {\r\n vm.documentInformation.fieldName = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].fieldName.toString());\r\n }\r\n if (vm.documentInformation.fieldContents[i].content) {\r\n vm.documentInformation.content = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].content.toString());\r\n }\r\n vm.documentInformation.relatedDocuments = vm.documentInformation.fieldContents[i].relatedDocuments;\r\n vm.documentInformation.relatedAttachments = vm.documentInformation.fieldContents[i].relatedAttachments;\r\n\r\n vm.documentInformation.relatedTopImages = vm.documentInformation.fieldContents[i].relatedTopImages;\r\n vm.documentInformation.relatedBottomImages = vm.documentInformation.fieldContents[i].relatedBottomImages;\r\n }\r\n else {\r\n vm.documentInformation.fieldContents[i].activeField = '';\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n function showContent(fieldItem, type) {\r\n vm.clearActive();\r\n if (fieldItem) {\r\n fieldItem.activeField = 'active';\r\n if (fieldItem.fieldName) {\r\n vm.documentInformation.fieldName = $sce.trustAsHtml(fieldItem.fieldName);\r\n }\r\n if (fieldItem.content) {\r\n vm.documentInformation.content = $sce.trustAsHtml(fieldItem.content.toString());\r\n } else {\r\n vm.documentInformation.content = '';\r\n }\r\n vm.documentInformation.relatedDocuments = fieldItem.relatedDocuments;\r\n vm.documentInformation.relatedAttachments = fieldItem.relatedAttachments;\r\n vm.documentInformation.relatedTopImages = fieldItem.relatedTopImages;\r\n vm.documentInformation.relatedBottomImages = fieldItem.relatedBottomImages;\r\n vm.fieldId = fieldItem.fieldId;\r\n angular.copy(vm.documentInformation, vm.originalData);\r\n updateLocalAnchors();\r\n } else {\r\n clearDocumentInformation();\r\n if (type == 0) {\r\n vm.activeRelatedDocuments = true;\r\n vm.documentInformation.relatedDocuments = vm.currentData.relatedDocuments;\r\n } else {\r\n vm.activeAttachments = true;\r\n vm.documentInformation.relatedAttachments = vm.currentData.relatedAttachments;\r\n }\r\n }\r\n };\r\n\r\n $scope.$watch('vm.documentInformation.fieldName', function (newValue, oldValue) {\r\n pubSub.publish(broadcastType.loadContentFieldDone, { fieldName: newValue });\r\n });\r\n\r\n function clearDocumentInformation() {\r\n vm.documentInformation.fieldName = '';\r\n vm.documentInformation.content = '';\r\n vm.documentInformation.relatedDocuments = null;\r\n vm.documentInformation.relatedAttachments = null;\r\n vm.documentInformation.relatedTopImages = null;\r\n vm.documentInformation.relatedBottomImages = null;\r\n }\r\n\r\n function clearActive() {\r\n\r\n vm.activeRelatedDocuments = false;\r\n vm.activeAttachments = false;\r\n\r\n for (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n vm.documentInformation.fieldContents[i].activeField = '';\r\n }\r\n };\r\n\r\n function searchAndHighlightText() {\r\n highlightTextInContent();\r\n documentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n };\r\n\r\n function navForward() {\r\n documentContentsSearchService.navForward(vm.highlights);\r\n };\r\n\r\n function navBackward() {\r\n documentContentsSearchService.navBackward(vm.highlights);\r\n };\r\n\r\n function printDocumentField() {\r\n window.open(String.format(handbookRequests.PrintHtmlFieldRequest, vm.documentInformation.documentId, vm.fieldId));\r\n };\r\n\r\n function highlightTextInContent() {\r\n if (vm.documentInformation.content != undefined) {\r\n angular.copy(vm.originalData, vm.documentInformation);\r\n vm.documentInformation.content = documentContentsSearchService.searchAndHighlight(vm.documentInformation.content, vm.highlights.highlightText);\r\n }\r\n };\r\n\r\n function updateLocalAnchors() {\r\n $timeout(function () {\r\n var domContent = angular.element('div.contentWithLayout');\r\n\t\t\t\tanchorService.updateLocalAnchors(domContent, true);\r\n\t\t\t\tscrollToAnchorIfExists();\r\n });\r\n }\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\r\n function runServicesAfterInit() {\r\n updateLocalAnchors();\r\n }\r\n\r\n function fullScreen() {\r\n if (vm.isFullScreen) {\r\n documentService.showFullscreen();\r\n } else {\r\n documentService.showNormal();\r\n }\r\n vm.isFullScreen = !vm.isFullScreen;\r\n }\r\n\r\n function fullScreenInit() {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n } else {\r\n documentService.showNormal();\r\n vm.isFullScreen = true;\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n fullScreen();\r\n });\r\n\r\n function anchorClick(hash) {\r\n if (vm.documentInformation.fieldContents.length == 1)\r\n return;\r\n var existedAnchor = false;\r\n var domContent = angular.element('div.contentWithLayout');\r\n angular.forEach(domContent.find('a[name]'), function (tag) {\r\n if (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n existedAnchor = true;\r\n }\r\n });\r\n if (existedAnchor)\r\n return;\r\n\r\n if (hash.hash.indexOf('AndreEH%C3%A5ndboksdokumenter') != -1) {\r\n if (vm.currentData.relatedDocuments.length > 0) {\r\n showContent(null, 0);\r\n }\r\n return;\r\n }\r\n if (hash.hash.indexOf('vedlegg') != -1) {\r\n if (vm.currentData.relatedAttachments.length > 0) {\r\n showContent(null, 1);\r\n }\r\n return;\r\n }\r\n var field = null;\r\n for (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n var fieldContent = vm.documentInformation.fieldContents[i];\r\n if (fieldContent.fieldId == vm.fieldId || !fieldContent.content) {\r\n continue;\r\n }\r\n\r\n var div = document.createElement('div');\r\n div.innerHTML = fieldContent.content;\r\n domContent = angular.element(div);\r\n angular.forEach(domContent.find('a[name]'), function (tag) {\r\n if (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n existedAnchor = true;\r\n }\r\n });\r\n if (existedAnchor) {\r\n field = fieldContent;\r\n break;\r\n }\r\n }\r\n if (field != null) {\r\n showContent(field);\r\n }\r\n }\r\n\r\n function getNextSearchResultByEnter(keyEvent) {\r\n if (keyEvent.which == 13) {\r\n navForward();\r\n }\r\n }\r\n\r\n $scope.$on('anchorclick', function (e, target) {\r\n anchorClick(target);\r\n });\r\n\r\n function showSidebarFields() {\r\n vm.isToggleSidebarFields = true;\r\n }\r\n\r\n function hideSidebarFields() {\r\n vm.isToggleSidebarFields = false;\r\n\t\t}\r\n\r\n\t\tfunction compareDocument() {\r\n\t\t\twindow.open(String.format('/document/{0}/compareWithEarlierVersion', vm.documentId), '_blank');\r\n\t\t}\r\n };\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('handbookApp')\r\n .controller(\"FieldsContentWholeDocumentController\", FieldsContentWholeDocumentController);\r\n\r\n FieldsContentWholeDocumentController.$inject = ['$http','$state', '$sce', '$timeout', '$location', '$scope', '$rootScope', '$anchorScroll',\r\n 'documentService', 'anchorService', 'documentContentsSearchService', 'resizeService', '$stateParams', 'pubSub', 'folderService',\r\n 'treeNavigationService', '$q', 'tabStateService', 'configService'];\r\n\r\n function FieldsContentWholeDocumentController($http, $state, $sce, $timeout, $location, $scope, $rootScope, $anchorScroll,\r\n documentService, anchorService, documentContentsSearchService, resizeService, $stateParams, pubSub, folderService,\r\n treeNavigationService, $q, tabStateService, configService) {\r\n\r\n var ignoreRichText = configService.getBool(HandbookConfiguration.LazyLoadRichText);\r\n\r\n var vm = this;\r\n\r\n //vm.documentInformation = {};\r\n vm.originalData = {};\r\n vm.fieldId = -1;\r\n vm.currentData = {};\r\n vm.highlights = {\r\n highlightText: '',\r\n currentIndex: 0,\r\n totalFound: 0\r\n };\r\n vm.FolderLinks = [];\r\n vm.menuFields = [];\r\n\t\tvar isIE = detectIE();\r\n\r\n var urlParams = $location.url().split('/');\r\n var isFieldActive;\r\n vm.isEmbedUrl = false;\r\n vm.typeHideHeader = false;\r\n vm.documentId = $stateParams.documentId;\r\n vm.hideGoToDocumentFields = true;\r\n\r\n vm.addFavoriteRequest = handbookRequests.AddFavoriteDocument;\r\n vm.removeFavoriteRequest = handbookRequests.RemoveFavoriteDocument;\r\n\r\n if (urlParams != null && urlParams.length > 0) {\r\n vm.isEmbedUrl = urlParams[1] == 'embed';\r\n if (vm.isEmbedUrl) {\r\n vm.fieldId = urlParams[5];\r\n vm.typeHideHeader = urlParams.length == 7 ? (urlParams[6] == '1') : false;\r\n vm.documentId = urlParams[3];\r\n }\r\n }\r\n vm.urlDocument = window.location.origin + '/document/' + vm.documentId + '?preview=true';\r\n vm.showDocumentLinkToBackend = configService.getBool(HandbookConfiguration.ShowDocumentLinkToBackend);\r\n vm.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n\r\n vm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n vm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.showContent = showContent;\r\n vm.searchAndHighlightText = searchAndHighlightText;\r\n vm.navForward = navForward;\r\n vm.navBackward = navBackward;\r\n vm.printDocumentField = printDocumentField;\r\n vm.fullScreen = fullScreen;\r\n vm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n vm.linkToDocumentManagement = linkToDocumentManagement;\r\n vm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n vm.documentViewOption = parseInt(HandbookConfiguration.DocumentViewOption);\r\n vm.isToggleSidebarFields = true;\r\n vm.showSidebarFields = showSidebarFields;\r\n vm.hideSidebarFields = hideSidebarFields;\r\n\t\tvm.setStickyTitle = setStickyTitle;\r\n vm.compareDocument = compareDocument;\r\n vm.hideCompareButton = false;\r\n vm.documentCKVersion = CkVersion.CK4;\r\n vm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n initialize();\r\n\r\n function initialize() {\r\n window.location.replace('/document/' + $stateParams.documentId + '#' + $stateParams.fieldId)\r\n };\r\n\r\n function processEmbedUrl() {\r\n if (vm.isEmbedUrl) {\r\n if (vm.typeHideHeader) {\r\n angular.element('#documentHeader1Container').hide();\r\n angular.element('#fieldTitle').hide();\r\n }\r\n }\r\n }\r\n\r\n function linkToDocumentManagement() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n if (vm.backendIsDb4) {\r\n var url = backendUrl + '&documentId=' + vm.documentId;\r\n url = url.replace('gk=2', 'gk=1');\r\n window.open(url, '_blank');\r\n } else {\r\n window.open(backendUrl + commonAdd + 'document/' + vm.documentId, '_blank');\r\n }\r\n };\r\n\r\n function getDocument() {\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n getMetadataTab();\r\n }\r\n\r\n var params = {\r\n params: {\r\n 'documentId': vm.documentId,\r\n 'ignoreRichText': ignoreRichText,\r\n showLoading: true\r\n }\r\n };\r\n\r\n vm.currentDataPromise =\r\n $http.get(handbookRequests.GetDocumentInformationRequest, params)\r\n .then(function (result) {\r\n var fieldIdTemp = vm.isEmbedUrl ? vm.fieldId : $stateParams.fieldId;\r\n vm.isFavoriteNodeSelected = true;\r\n createTooltipsRelatedDocument(result.data);\r\n vm.currentData = result.data;\r\n vm.documentCKVersion = vm.currentData.isNewCKVersion;\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n }\r\n vm.currentData.nodeType = convertToNodeType(vm.currentData.type);\r\n var fieldContentTemp = null;\r\n if (vm.currentData.fieldContents != null) {\r\n\r\n var richTextRequests = [];\r\n\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n if (fieldContent.fieldId == fieldIdTemp) {\r\n fieldContentTemp = fieldContent;\r\n }\r\n if (fieldContent.description) {\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n }\r\n vm.menuFields.push(\"Id\" + fieldContent.fieldId);\r\n\r\n if (ignoreRichText && fieldContent.fieldType == 6 && fieldContent.fieldContentId) {\r\n var params = {\r\n params: {\r\n id: fieldContent.fieldContentId\r\n }\r\n }\r\n\r\n var getRichText = $http.get('/api/documents/getRichText', params).then(function (response) {\r\n if (response.data && response.data.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n fieldContent.isVisible = true;\r\n }\r\n });\r\n\r\n richTextRequests.push(getRichText);\r\n } else {\r\n if (fieldContent.content) {\r\n fieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content);\r\n fieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n }\r\n }\r\n });\r\n\r\n if (ignoreRichText) {\r\n $q.all(richTextRequests).then(function () {\r\n angular.copy(vm.currentData, vm.originalData);\r\n $timeout(function () {\r\n showContent(fieldIdTemp, fieldContentTemp);\r\n });\r\n $timeout(function () {\r\n runServicesAfterInit();\r\n }, 2000);\r\n });\r\n }\r\n\r\n updateFields();\r\n\r\n if (vm.currentData.relatedDocuments.length > 0) {\r\n vm.menuFields.push(\"IdrelatedDocument\");\r\n }\r\n if (vm.currentData.relatedAttachments.length > 0) {\r\n vm.menuFields.push(\"Idattachment\");\r\n }\r\n }\r\n if (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas = angular.copy(vm.metadataList);\r\n formatMetadata();\r\n }\r\n\r\n documentService.setDocuments(null); // clear service\r\n vm.showDocumentLinkToBackend = vm.showDocumentLinkToBackend &&\r\n\t\t\t\t\t\t\t(vm.currentData.hasEditPermission || vm.currentData.hasApprovalPermission);\r\n\r\n $rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n\r\n angular.copy(vm.currentData, vm.originalData);\r\n vm.currentData.fieldId = fieldIdTemp;\r\n\r\n if(!ignoreRichText || !vm.currentData.fieldContents){\r\n $timeout(function () {\r\n showContent(fieldIdTemp, fieldContentTemp);\r\n });\r\n $timeout(function () {\r\n runServicesAfterInit();\r\n }, 2000);\r\n }\r\n\r\n setTimeout(function () { stickyTitle(); }, 0);\r\n updateAfterCurrentDataChanged();\r\n vm.isCompare = configService.getBool(HandbookConfiguration.EnableCompare) && vm.currentData.version > 0;\r\n if (vm.currentData.type == E.documentTypes.LinkDocument || vm.currentData.type == E.documentTypes.FileDocument) {\r\n vm.hideCompareButton = true;\r\n }\r\n return vm.currentData;\r\n })\r\n .catch(function (result) {\r\n vm.errorMessage = result.data;\r\n vm.showError = true;\r\n // Update currentData so favorite button work\r\n vm.currentData.documentId = vm.documentId;\r\n });\r\n };\r\n\r\n function scrollAffectFieldSelected() {\r\n var lastId,\r\n topMenuDocument = $(\"#document-top-menu-identifier\"),\r\n topMenuDocumentHeight = topMenuDocument.outerHeight(),\r\n idCurrent = '';\r\n for (var i = 0; i < vm.menuFields.length; i++) {\r\n var item = \"#\" + vm.menuFields[i];\r\n if ($(item).length) {\r\n var top = $(item).offset().top;\r\n if ((top < topMenuDocumentHeight + 250) && (top > 0)) {\r\n idCurrent = vm.menuFields[i];\r\n break;\r\n }\r\n }\r\n }\r\n if ((lastId !== idCurrent) && (idCurrent != '')) {\r\n lastId = idCurrent;\r\n angular.forEach(vm.currentData.fieldContents, function (fieldContent) {\r\n fieldContent.activeField = '';\r\n });\r\n switch (lastId) {\r\n case 'Idattachment':\r\n vm.activeAttachments = true;\r\n break;\r\n case 'IdrelatedDocument':\r\n vm.activeRelatedDocuemnts = true;\r\n break;\r\n default:\r\n var fieldId = lastId.substring(2);\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n if (vm.currentData.fieldContents[i].fieldId == parseInt(fieldId)) {\r\n $scope.$apply(function () {\r\n vm.currentData.fieldContents[i].activeField = 'active';\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\t\t}\r\n\r\n\t\tfunction setStickyTitle() {\r\n\t\t\tsetTimeout(function () { stickyTitle(); }, 0);\r\n\t\t}\r\n\r\n\t\tfunction stickyTitle(height) {\r\n var title = document.querySelector('#documentTitle');\r\n var titlePosition = title.getBoundingClientRect();\r\n var content = document.querySelector('#document-content-identifier');\r\n if (!content) {\r\n return;\r\n }\r\n\r\n var contentPosition = content.getBoundingClientRect();\r\n\t\t\tvar placeholder = $(\"#placeholderTitleId\")\r\n\t\t\tif (placeholder.length > 0) {\r\n\t\t\t\tplaceholder.remove();\r\n\t\t\t}\r\n\t\t\tplaceholder = document.createElement('div');\r\n\t\t\tplaceholder.id = \"placeholderTitleId\";\r\n placeholder.style.height = titlePosition.height + 'px';\r\n var isAdded = false;\r\n var heightToFloat = 0, currentPosition = 0;\r\n heightToFloat = contentPosition.top + 50;\r\n\t\t\tvar heightScroll = height ? height : $('#document-content-identifier').height();\r\n\r\n\t\t\tif ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n\t\t\t\tremoveStickyTitle();\r\n\t\t\t\t$('#document-content-identifier').scroll(function () {\r\n\t\t\t\t\tvar scrollTop = $('#document-content-identifier').scrollTop();\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n\t\t\t\t\tcurrentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n\t\t\t\t\tif (currentPosition >= heightToFloat && !isAdded) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n\t\t\t\t\t\ttitle.parentNode.insertBefore(placeholder, title);\r\n\t\t\t\t\t\tisAdded = true;\r\n\t\t\t\t\t\tvar contentWidth = $('#document-content-identifier').width() + 10;\r\n\t\t\t\t\t\tif (!isfullScreen) {\r\n\t\t\t\t\t\t\t$('#documentTitle').css('top', contentPosition.top);\r\n\t\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\theightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n\t\t\t\t\t\t$('#document-content-identifier').css('margin-top', '85px');\r\n\t\t\t\t\t\t$('#document-content-identifier').css('height', heightScroll -85);\r\n\t\t\t\t\t} else if (currentPosition < heightToFloat && isAdded) {\r\n title.classList.remove('sticky');\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n\r\n\t\t\t\t\t\t$('#documentTitle').css('top', '');\r\n\t\t\t\t\t\t$('#documentTitle').css('width', '');\r\n\t\t\t\t\t\t$('#documentTitle').css('background-color', '');\r\n\t\t\t\t\t\t$('#documentTitle').css('margin-left', '');\r\n\t\t\t\t\t\ttitle.parentNode.removeChild(placeholder);\r\n\t\t\t\t\t\tisAdded = false;\r\n\t\t\t\t\t\t$('#document-content-identifier').css('margin-top', '0px');\r\n\t\t\t\t\t\t$('#document-content-identifier').css('height', heightScroll);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//$('#document-content-identifier').css('height', heightScroll);\r\n\t\t\t\t\t}\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n\r\n });\r\n }\r\n else {\r\n $('#document-content-identifier').scroll(function () {\r\n var isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n currentPosition = isfullScreen ? $('#document-content-identifier').scrollTop() : contentPosition.top + $('#document-content-identifier').scrollTop();\r\n if (!isFieldActive) {\r\n scrollAffectFieldSelected();\r\n }\r\n });\r\n }\r\n }\r\n\r\n\t\tfunction runInitforIE(height) {\r\n\t\t\tif ($(window).height() > HandbookConfiguration.DocumentTitleScreenHeight) {\r\n\t\t\t\tvar title = document.querySelector('#documentTitle');\r\n\t\t\t\tvar titlePosition = title.getBoundingClientRect();\r\n\t\t\t\tvar content = document.querySelector('#document-content-identifier');\r\n\t\t\t\tvar contentPosition = content.getBoundingClientRect();\r\n\t\t\t\tvar placeholder = $(\"#placeholderTitleId\")\r\n\t\t\t\tif (placeholder.length > 0) {\r\n\t\t\t\t\tplaceholder.remove();\r\n\t\t\t\t}\r\n\t\t\t\tplaceholder = document.createElement('div');\r\n\t\t\t\tplaceholder.id = \"placeholderTitleId\";\r\n\t\t\t\tvar heightToFloat = 0, currentPosition = 0;\r\n\t\t\t\theightToFloat = contentPosition.top + 50;\r\n\t\t\t\tvar heightScroll = height ? height: $('#document-content-identifier').height();\r\n\t\t\t\tvar scrollTop = $('#document-content-identifier').scrollTop();\r\n\t\t\t\tvar isfullScreen = $('#document-content-identifier').hasClass('fullScreen-height');\r\n\t\t\t\tcurrentPosition = isfullScreen ? scrollTop : contentPosition.top + scrollTop;\r\n\t\t\t\tif (currentPosition >= heightToFloat) {\r\n title.classList.add('sticky');\r\n document.querySelector('#document-content-identifier').classList.add('scrolling');\r\n\r\n\t\t\t\t\ttitle.parentNode.insertBefore(placeholder, title);\r\n\t\t\t\t\tvar contentWidth = $('#document-content-identifier').width() + 10;\r\n\t\t\t\t\tif (!isfullScreen) {\r\n\t\t\t\t\t\t$('#documentTitle').css('top', contentPosition.top);\r\n\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$('#documentTitle').css('width', contentWidth);\r\n\t\t\t\t\t\t$('#documentTitle').css('background-color', 'white');\r\n\t\t\t\t\t}\r\n\t\t\t\t\theightScroll = !isfullScreen ? heightScroll : screen.availHeight - 100;\r\n\t\t\t\t\t$('#document-content-identifier').css('margin-top', '90px');\r\n\t\t\t\t\t$('#document-content-identifier').css('height', heightScroll - 90);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n function removeStickyTitle() {\r\n var title = document.querySelector('#documentTitle');\r\n title.classList.remove('sticky');\r\n $('#documentTitle').css('top', '');\r\n $('#documentTitle').css('width', '');\r\n $('#documentTitle').css('background-color', '');\r\n\t\t\t$('#documentTitle').css('margin-left', '');\r\n var placeholder = document.querySelector('#placeholderTitleId');\r\n if (placeholder != null) {\r\n title.parentNode.removeChild(placeholder);\r\n }\r\n document.querySelector('#document-content-identifier').classList.remove('scrolling');\r\n $('#document-content-identifier').unbind('scroll');\r\n }\r\n\r\n\r\n function getMetadataTab() {\r\n $http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n .then(function (result) {\r\n vm.metadataList = result.data;\r\n });\r\n };\r\n\r\n function formatMetadata() {\r\n if (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n vm.currentData.metadatas.forEach(function (item) {\r\n item.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n });\r\n }\r\n }\r\n\r\n function updateFields() {\r\n var relatedDocumentAll = angular.copy(vm.currentData.relatedDocuments);\r\n var relatedAttachmentAll = angular.copy(vm.currentData.relatedAttachments);\r\n\r\n vm.currentData.isShowTopBoxContent = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n var fieldContent = vm.currentData.fieldContents[i];\r\n if (checkShowFieldName(fieldContent)) {\r\n vm.currentData.isShowTopBoxContent = true;\r\n }\r\n\r\n var relatedDocuments = fieldContent.relatedDocuments;\r\n relatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n var relatedAttachments = fieldContent.relatedAttachments;\r\n relatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n var relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n return [item.verticalAlign];\r\n });\r\n var relatedBottomImages = [];\r\n var relatedTopImages = [];\r\n relatedImageGroups.forEach(function (item) {\r\n if (item.key == parseInt(E.VerticalAlign.Top)) {\r\n relatedTopImages = relatedTopImages.concat(item.value.data);\r\n } else {\r\n if (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n relatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n }\r\n }\r\n });\r\n fieldContent.relatedTopImages = relatedTopImages;\r\n fieldContent.relatedBottomImages = relatedBottomImages;\r\n }\r\n };\r\n\r\n function checkShowFieldName(fieldContent) {\r\n if (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function convertToNodeType(documentType) {\r\n switch (documentType.toString()) {\r\n case E.documentTypes.Document:\r\n return E.nodeTypes.Document;\r\n case E.documentTypes.LinkDocument:\r\n return E.nodeTypes.LinkDocument;\r\n case E.documentTypes.FileDocument:\r\n return E.nodeTypes.FileDocument;\r\n case E.documentTypes.ShortcutDocument:\r\n return E.nodeTypes.ShortcutDocument;\r\n }\r\n }\r\n\r\n function setIconForDocument(data) {\r\n data = data == null ? vm.currentData : data;\r\n var icon = '';\r\n switch (data.levelType.toString()) {\r\n case E.HandbookLevelTypes.Enterprise:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n case E.HandbookLevelTypes.Regional:\r\n icon = paths.DocumentLevelTypeRegional;\r\n break;\r\n case E.HandbookLevelTypes.Local:\r\n icon = paths.DocumentLevelTypeLocal;\r\n break;\r\n default:\r\n icon = paths.DocumentLevelTypeEnterprise;\r\n break;\r\n }\r\n data.docIcon = icon;\r\n }\r\n\r\n function updateAfterCurrentDataChanged() {\r\n setIconForDocument(vm.currentData);\r\n }\r\n\r\n function buildDocumentObjectFromCurrentDocument(currentDocument) {\r\n if (currentDocument) {\r\n vm.currentData = angular.copy(currentDocument.documentInformation);\r\n angular.copy(currentDocument.documentInformation, vm.originalData);\r\n updateAfterCurrentDataChanged();\r\n if (vm.currentData.description) {\r\n vm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n }\r\n var fieldContent = '';\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n if (vm.currentData.fieldContents[i].fieldId == currentDocument.fieldId) {\r\n vm.fieldId = currentDocument.fieldId;\r\n fieldContent = vm.currentData.fieldContents[i];\r\n $timeout(function () {\r\n showContent(vm.fieldId, fieldContent);\r\n });\r\n }\r\n }\r\n setTimeout(function () { stickyTitle(); }, 0);\r\n }\r\n };\r\n\r\n function clearActive() {\r\n vm.activeRelatedDocuments = false;\r\n vm.activeAttachments = false;\r\n\r\n for (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n vm.currentData.fieldContents[i].activeField = '';\r\n }\r\n };\r\n\r\n function showContent(id, fieldContent) {\r\n isFieldActive = true;\r\n animationChangeBackgroundColor(id);\r\n clearActive();\r\n if (fieldContent) {\r\n fieldContent.activeField = 'active';\r\n } else {\r\n if (String(id).indexOf('IdrelatedDocument') > -1)\r\n vm.activeRelatedDocuments = true;\r\n else\r\n vm.activeAttachments = true;\r\n }\r\n setTimeout(function () {\r\n isFieldActive = false;\r\n }, 2000);\r\n };\r\n\r\n function animationChangeBackgroundColor(id) {\r\n\t\t\tid = String(id);\r\n\t\t\tvar indexHash = id.indexOf('#');\r\n\t\t\tif (indexHash > 0) {\r\n\t\t\t\tid = id.substr(0, indexHash);\r\n\t\t\t}\r\n var hash = '#p' + id;\r\n var elementId = '#Id' + id;\r\n if (id.indexOf('IdrelatedDocument') > -1 || id.indexOf('Idattachment') > -1) {\r\n hash = '#' + id;\r\n elementId = '#' + id;\r\n }\r\n var $parentDiv = $('.document-detail');\r\n $parentDiv.animate({ scrollTop: $(hash).position().top }, 'slow');\r\n\r\n var $element = $(elementId);\r\n $element.animate({ backgroundColor: '#D7D7D7' }, 1500);\r\n $timeout(function () {\r\n $element.css(\"background-color\", \"\");\r\n }, 2000);\r\n }\r\n\r\n function searchAndHighlightText() {\r\n highlightTextInContent();\r\n documentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n };\r\n\r\n function navForward() {\r\n documentContentsSearchService.navForward(vm.highlights);\r\n };\r\n\r\n function navBackward() {\r\n documentContentsSearchService.navBackward(vm.highlights);\r\n };\r\n\r\n function printDocumentField() {\r\n window.open(String.format(handbookRequests.PrintHtmlFieldRequest, vm.documentInformation.documentId, vm.fieldId));\r\n };\r\n\r\n function highlightTextInContent() {\r\n if (vm.currentData.fieldContents != undefined) {\r\n var viewMode = angular.copy(vm.currentData.viewMode);\r\n angular.copy(vm.originalData, vm.currentData);\r\n vm.currentData.viewMode = viewMode;\r\n vm.currentData.fieldContents.forEach(function (fieldContent) {\r\n fieldContent.content = documentContentsSearchService.searchAndHighlight(fieldContent.content, vm.highlights.highlightText);\r\n fieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n });\r\n }\r\n };\r\n\r\n function updateLocalAnchors() {\r\n $timeout(function () {\r\n var domContent = angular.element('div.contentWithLayout');\r\n anchorService.updateLocalAnchors(domContent, true);\r\n scrollToAnchorIfExists();\r\n });\r\n }\r\n\r\n function scrollToAnchorIfExists() {\r\n var hash = $location.hash();\r\n if (hash != '') {\r\n $anchorScroll();\r\n }\r\n }\r\n\r\n function runServicesAfterInit() {\r\n updateLocalAnchors();\r\n }\r\n\r\n\t\tfunction fullScreen() {\r\n if (vm.isFullScreen) {\r\n documentService.showFullscreen();\r\n\t\t\t} else {\r\n\t\t\t\tdocumentService.showNormal();\r\n\t\t\t\ttabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n\t\t\t\t$('#document-content-identifier').css('margin-top', '0px');\r\n }\r\n\t\t\tvm.isFullScreen = !vm.isFullScreen;\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvar height = $('#document-content-identifier').height();\r\n\t\t\t\tstickyTitle(height);\r\n\t\t\t\tif (isIE) {\r\n\t\t\t\t\trunInitforIE(height);\r\n\t\t\t\t}\r\n }, 500);\r\n }\r\n\r\n function fullScreenInit() {\r\n if (angular.element('#handbook-nav:visible').length == 0) {\r\n documentService.showFullscreen();\r\n vm.isFullScreen = false;\r\n } else {\r\n documentService.showNormal();\r\n vm.isFullScreen = true;\r\n }\r\n }\r\n\r\n function getNextSearchResultByEnter(keyEvent) {\r\n if (keyEvent.which == 13) {\r\n navForward();\r\n }\r\n }\r\n\r\n $scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n fullScreen();\r\n });\r\n\r\n function showSidebarFields() {\r\n vm.isToggleSidebarFields = true;\r\n }\r\n\r\n function hideSidebarFields() {\r\n vm.isToggleSidebarFields = false;\r\n\t\t}\r\n\r\n\t\tfunction compareDocument() {\r\n\t\t\twindow.open(String.format('/document/{0}/compareWithEarlierVersion', vm.documentId), '_blank');\r\n\t\t}\r\n\r\n };\r\n\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module('hearingFeedbackModule', [])\r\n\t\t.controller('HearingFeedbackController', HearingFeedbackController);\r\n\r\n\tHearingFeedbackController.$inject = ['$scope', '$http', '$stateParams', '$state', '$sce', '$location', '$anchorScroll', '$timeout', '$uibModal', '$filter',\r\n\t\t'broadcastService', 'documentService', 'tabStateService', 'anchorService', 'documentContentsSearchService', 'resizeService', 'npDialog', 'folderService', 'configService', '$q'];\r\n\r\n\tfunction HearingFeedbackController($scope, $http, $stateParams, $state, $sce, $location, $anchorScroll, $timeout, $uibModal, $filter,\r\n\t\tbroadcastService, documentService, tabStateService, anchorService, documentContentsSearchService, resizeService, npDialog, folderService, configService, $q) {\r\n\r\n\t\tvar vm = this;\r\n\t\tvm.translation = globalResources;\r\n\r\n\t\tvm.enableDocumentExtention = configService.getBool(HandbookConfiguration.EnableDocumentExtention);\r\n\t\tvm.currentData = {};\r\n\t\tvm.originalData = {};\r\n\t\tvm.isMyAssessment = false;\r\n\t\tvm.hearing = {};\r\n\t\tvm.commentDocuments = [];\r\n\t\tvm.preCommentDocuments = [];\r\n\t\tvm.preHearingMembers = [];\r\n\r\n\t\tvm.loginUserName = user.fullName;\r\n\t\tvm.loginUserId = user.userId;\r\n\t\tvm.responseFlag = 0;\r\n\t\tvm.documentTypes = E.documentTypes;\r\n\r\n\t\tvm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\r\n\t\tvm.hearingCommentAfterResponse = configService.getBool(HandbookConfiguration.HearingCommentAfterResponse);\r\n\r\n\t\tvm.highlights = {\r\n\t\t\thighlightText: '',\r\n\t\t\tcurrentIndex: 0,\r\n\t\t\ttotalFound: 0\r\n\t\t};\r\n\r\n\t\tvm.userLoginPublishComment = [];\r\n\t\tvm.userLoginDraftComment = [];\r\n\r\n\t\tvm.viewModeList =\r\n\t\t\t[\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.ProcessDependencies), name: globalResources.documentTemplateViewModeName.ProcessDependencies },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.Normal), name: globalResources.documentTemplateViewModeName.Normal },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.Process), name: globalResources.documentTemplateViewModeName.Process },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.RelatedDocuments), name: globalResources.documentTemplateViewModeName.RelatedDocuments },\r\n\t\t\t\t{ id: parseInt(E.documentTemplateViewMode.InvolvedChapters), name: globalResources.documentTemplateViewModeName.InvolvedChapters },\r\n\t\t\t];\r\n\r\n\t\tvm.hearings = [];\r\n\t\tvm.closeHearingGridSetting = [];\r\n\t\tvm.hearingMemberGridSetting = [];\r\n\t\tvm.preHearingMembersGridSetting = [];\r\n\t\tvm.preHearingMembersActiveGridSetting = [];\r\n\t\tvm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n\r\n\t\tvm.columnNotRemove = 'fullName';\r\n\t\tfunction builHearingGridSetting() {\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 35, coldefault: true });\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'countComment', name: globalResources.NumberOfComments, width: 15, coldefault: true });\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 15, coldefault: true });\r\n\t\t\tvm.closeHearingGridSetting.push({ id: 'reason', name: globalResources.Appreciation, width: 35, coldefault: true });\r\n\t\t}\r\n\t\tfunction builHearingMemberGridSetting() {\r\n\t\t\tvm.hearingMemberGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 70, coldefault: true });\r\n\t\t\tvm.hearingMemberGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 30, coldefault: true });\r\n\t\t}\r\n\r\n\t\tfunction builPreHearingMembersGridSetting() {\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 35, coldefault: true });\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'countComment', name: globalResources.NumberOfComments, width: 15, coldefault: true });\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 15, coldefault: true });\r\n\t\t\tvm.preHearingMembersGridSetting.push({ id: 'reason', name: globalResources.Appreciation, width: 35, coldefault: true });\r\n\t\t}\r\n\t\tfunction builPreHearingMembersActiveGridSetting() {\r\n\t\t\tvm.preHearingMembersActiveGridSetting.push({ id: 'fullName', name: globalResources.Name, width: 70, coldefault: true });\r\n\t\t\tvm.preHearingMembersActiveGridSetting.push({ id: 'response', name: globalResources.Assessment, width: 30, coldefault: true });\r\n\t\t}\r\n\r\n\t\tvm.documentId = $stateParams.documentId;\r\n\t\tvm.contentAnchorPrefix = prefix.contentAnchorPrefix;\r\n\t\tvm.processRelationTypes = E.ProcessRelationType;\r\n\t\tvm.showError = false;\r\n\t\tvm.isFullScreen = true;\r\n\t\tvm.FolderLinks = [];\r\n\r\n\t\tvm.urlDocument = window.location.origin + '/document/' + vm.documentId;\r\n\t\tvm.updateFields = updateFields;\r\n\t\tvm.searchAndHighlightText = searchAndHighlightText;\r\n\t\tvm.navForward = navForward;\r\n\t\tvm.navBackward = navBackward;\r\n\t\tvm.fullScreen = fullScreen;\r\n\t\tvm.saveCommentDocument = saveCommentDocument;\r\n\t\tvm.saveCommentField = saveCommentField;\r\n\t\tvm.editCommentDocument = editCommentDocument;\r\n\t\tvm.editCommentField = editCommentField;\r\n\t\tvm.deleteCommentDocument = deleteCommentDocument;\r\n\t\tvm.deleteCommentField = deleteCommentField;\r\n\t\tvm.focusItem = focusItem;\r\n\t\tvm.postHearingResponse = postHearingResponse;\r\n\t\tvm.closeHearingFeedback = closeHearingFeedback;\r\n\t\tvm.activeTab = activeTab;\r\n\t\tvm.printPDF = printPDF;\r\n\t\tvm.openFileDocument = openFileDocument;\r\n\t\tvm.editCommentDraf = editCommentDraf;\r\n\t\tvm.addPerson = addPerson;\r\n\t\tvm.publishDocumentComment = publishDocumentComment;\r\n\t\tvm.publishFieldComment = publishFieldComment;\r\n\t\tvm.goToDocumentFields = goToDocumentFields;\r\n\t\tvm.openCompareDocument = openCompareDocument;\r\n\t\tvm.onTabSelectedDocument = onTabSelectedDocument;\r\n\t\tvm.documentCKVersion = CkVersion.CK4;\r\n\t\tvm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n vm.deviationUrl = HandbookConfiguration.DeviationUrl;\r\n\t\tvm.processClassificationTypes = E.processClassificationTypes;\r\n\t\tvm.goToProcessDetail = goToProcessDetail;\r\n\t\tvm.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tbuilHearingGridSetting();\r\n\t\t\tbuilHearingMemberGridSetting();\r\n\t\t\tbuilPreHearingMembersGridSetting();\r\n\t\t\tbuilPreHearingMembersActiveGridSetting();\r\n\r\n\t\t\tif (angular.element('#handbook-nav:visible').length == 0) {\r\n\t\t\t\tdocumentService.showFullscreen();\r\n\t\t\t\tvm.isFullScreen = false;\r\n\t\t\t}\r\n\t\t\t//Check and resize the view\r\n\t\t\tresizeService.resizeView();\r\n\t\t\t//Get current document and request for document if current is null\r\n\t\t\tgetDocument();\r\n\r\n\t\t\tfolderService.getFolderByVirtualDocumentId(vm.documentId).then(function (response) {\r\n\t\t\t\tvm.FolderLinks = response.data;\r\n\t\t\t});\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\tvm.relatedToOrDocuments = resources.L.Document.relatedTo;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvm.relatedToOrDocuments = resources.L.Document.relatedDocuments;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction calculatorHeightContent(timeOut) {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n\t\t\t}, timeOut ? timeOut : 2000);\r\n\t\t}\r\n\r\n\t\tfunction onTabSelectedDocument() {\r\n\t\t\tcalculatorHeightContent(500);\r\n\t\t}\r\n\r\n\t\tfunction getDocument() {\r\n\t\t\tvm.currentDataPromise =\r\n\t\t\t\t$http.get(handbookRequests.GetDocumentInformationForHearingRequest, { params: { 'documentId': $stateParams.documentId, showLoading: true } })\r\n\t\t\t\t\t.then(function (result) {\r\n\t\t\t\t\t\tif (result.data.hidden) {\r\n\t\t\t\t\t\t\tshowMessageError(globalResources.NoAccessDocument, '632');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcreateTooltipsRelatedDocument(result.data);\r\n\t\t\t\t\t\tvm.currentData = result.data;\r\n\t\t\t\t\t\tvm.documentCKVersion = vm.currentData.isNewCKVersion;\r\n\r\n\t\t\t\t\t\tif (vm.currentData.description) {\r\n\t\t\t\t\t\t\tvm.currentData.description = $sce.trustAsHtml(vm.currentData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.currentData.nodeType = convertToNodeType(vm.currentData.type);\r\n\t\t\t\t\t\tvar richTextRequests = [];\r\n\r\n\t\t\t\t\t\tif (vm.currentData.fieldContents != null) {\r\n\t\t\t\t\t\t\tvar indexTemp = 0;\r\n\t\t\t\t\t\t\tvm.currentData.fieldContents.forEach(function (fieldContent) {\r\n\t\t\t\t\t\t\t\tif (fieldContent.description) {\r\n\t\t\t\t\t\t\t\t\tfieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (fieldContent.fieldType == E.DocumentFieldTypes.RichText && fieldContent.fieldContentId) {\r\n\t\t\t\t\t\t\t\t\tvar params = {\r\n\t\t\t\t\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\t\t\t\t\tid: fieldContent.fieldContentId,\r\n\t\t\t\t\t\t\t\t\t\t\tdocumentId: vm.documentId,\r\n\t\t\t\t\t\t\t\t\t\t\thasExtention: vm.enableDocumentExtention,\r\n\t\t\t\t\t\t\t\t\t\t\tisHiddenContent: fieldContent.isHiddenContent\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvar getRickText = $http.get('/api/documents/getRichTextViewDocument', params).then(function (response) {\r\n\t\t\t\t\t\t\t\t\t\tif (response.data && response.data.content) {\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, response.data.content, true, vm.deviationUrl);\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.isVisible = true;\r\n\t\t\t\t\t\t\t\t\t\t\tfieldContent.fieldsAnchor = [];\r\n\t\t\t\t\t\t\t\t\t\t\tvar aElement = document.createElement('div');\r\n\t\t\t\t\t\t\t\t\t\t\taElement.innerHTML = response.data.content;\r\n\t\t\t\t\t\t\t\t\t\t\tvar aTags = aElement.getElementsByTagName('a');\r\n\t\t\t\t\t\t\t\t\t\t\tif (aTags) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfor (var i = 0; i < aTags.length; i++) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (aTags[i].text.trim().length) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar itemAnchor = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: aTags[i].text,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: aTags[i].name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: aTags[i].id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfieldContent.fieldsAnchor.push(itemAnchor);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\trichTextRequests.push(getRickText);\r\n\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tif (fieldContent.content) {\r\n\t\t\t\t\t\t\t\t\t\tfieldContent.content = documentService.changeUrlBackendToFrontend(window.location.origin, fieldContent.content, true, vm.deviationUrl);\r\n\t\t\t\t\t\t\t\t\t\tfieldContent.content = $sce.trustAsHtml(`${fieldContent.content} `);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfieldContent.indexShow = indexTemp;\r\n\t\t\t\t\t\t\t\tindexTemp = indexTemp + 1;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tvm.updateFields();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (richTextRequests.length) {\r\n\t\t\t\t\t\t\t$q.all(richTextRequests).then(function () {\r\n\t\t\t\t\t\t\t\trunServicesAfterInit();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tdocumentService.setDocuments(null); // clear service\r\n\r\n\t\t\t\t\t\tgetHearingData();\r\n\r\n\t\t\t\t\t\tcalculatorHeightContent();\r\n\t\t\t\t\t\tupdateAfterCurrentDataChanged();\r\n\t\t\t\t\t\treturn vm.currentData;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(function (result, status, headers, config) {\r\n\t\t\t\t\t\tshowMessageError(result.data, result.status);\r\n\t\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction showMessageError(message, status) {\r\n\t\t\tif (!status || status.toString() == '600') {\r\n\t\t\t\tvm.errorMessage = globalResources.RequiredPermissionsToReadDocument;\r\n\t\t\t} else if (status.toString() == '632') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchived;\r\n\t\t\t} else if (status.toString() == '633') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchivedOrNotPublished;\r\n\t\t\t\tvm.showDocumentLinkToBackendWhenError = true;\r\n\t\t\t} else {\r\n\t\t\t\tvm.errorMessage = message;\r\n\t\t\t}\r\n\t\t\tvm.showError = true;\r\n\t\t\tvm.currentData.documentId = vm.documentId;\r\n\r\n\t\t\trunErrorServicesAfterInit();\r\n\t\t}\r\n\r\n\r\n\t\tfunction updateAfterCurrentDataChanged() {\r\n\t\t\tsetIconForDocument(vm.currentData);\r\n\t\t}\r\n\r\n\t\tfunction setIconForDocument(data) {\r\n\t\t\tdata = data == null ? vm.currentData : data;\r\n\t\t\tvar icon = '';\r\n\t\t\tswitch (data.levelType.toString()) {\r\n\t\t\t\tcase E.HandbookLevelTypes.Enterprise:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Regional:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeRegional;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Local:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeLocal;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdata.docIcon = icon;\r\n\t\t}\r\n\r\n\t\tfunction getHearingData() {\r\n\t\t\t$http.get(handbookRequests.GetHearingForFeedbackRequest, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'entityId': vm.currentData.entityId\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data && response.data.id != null && response.data.id > 0) {\r\n\t\t\t\t\t\tvm.hearing = response.data;\r\n\r\n\t\t\t\t\t\tif (vm.hearing.description && vm.hearing.description != '') {\r\n\t\t\t\t\t\t\tvm.hearing.description = $sce.trustAsHtml(vm.hearing.description.replace(/[\\r\\n\\t]/g, \"
\"));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tcheckMemberHearing();\r\n\t\t\t\t\t\tif (vm.currentData.approvalStatus == 3) {\r\n\t\t\t\t\t\t\tvm.showComment = (!vm.hearing.public && vm.isMemberHearing) || vm.hearing.public;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.hearingClose) {\r\n\t\t\t\t\t\t\tvm.hearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t\tdocumentService.getHearingTooltip(vm.hearings);\r\n\t\t\t\t\t\t\tbroadcastService(broadcastType.gridDataChanges, { id: 'closeHearing', data: vm.hearings, isForced: true });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.hearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar preHearingMembers = vm.hearing.preHearingMembers;\r\n\t\t\t\t\t\tdocumentService.getHearingTooltip(preHearingMembers);\r\n\t\t\t\t\t\tgroupPreHearingMembers(preHearingMembers);\r\n\r\n\t\t\t\t\t\tif (!vm.hearingCommentAfterResponse && !vm.isMyAssessment) {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tadjustmentHearingComments(vm.hearing.hearingComments, vm.hearing.preHearingComments);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tangular.copy(vm.currentData, vm.originalData);\r\n\t\t\t\t\tupdateAfterCurrentDataChanged();\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction groupPreHearingMembers(preHearingMembers) {\r\n\t\t\tif (preHearingMembers == null || preHearingMembers.length <= 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar result = groupBy(preHearingMembers, function (item) {\r\n\t\t\t\treturn [item.hearingsId];\r\n\t\t\t});\r\n\t\t\tresult = $filter('orderBy')(result, ['key']);\r\n\r\n\t\t\tfor (var i = 0; i < result.length - 1; i++) {\r\n\t\t\t\tvar order = 1;\r\n\t\t\t\tfor (var j = i + 1; j < result.length; j++) {\r\n\t\t\t\t\tif (result[i].value.data[0].dueDate == result[j].value.data[0].dueDate) {\r\n\t\t\t\t\t\tresult[i].order = !result[i].order ? order : result[i].order;\r\n\t\t\t\t\t\tresult[j].order = order + 1;\r\n\t\t\t\t\t\torder = order + 1;\r\n\t\t\t\t\t\tif (j == result.length - 1)\r\n\t\t\t\t\t\t\ti = j;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ti = j - 1;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvm.preHearingMembers = [];\r\n\r\n\t\t\tfor (var i = 0; i < result.length; i++) {\r\n\t\t\t\tvar membersGroup = result[i].value.data;\r\n\t\t\t\tmembersGroup = $filter('orderBy')(membersGroup, ['fullName']);\r\n\r\n\t\t\t\tvm.preHearingMembers.push({\r\n\t\t\t\t\tmembers: membersGroup,\r\n\t\t\t\t\tname: membersGroup[0].dueDate + (result[i].order ? ' - ' + result[i].order : ''),\r\n\t\t\t\t\thref: 'preMemberTab' + result[i].key,\r\n\t\t\t\t\ticon: 'typcn typcn-message fa-lg',\r\n\t\t\t\t\ttabIndex: i,\r\n\t\t\t\t\tactive: (i == 0)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction adjustmentHearingComments(dataComments, preDataComments) {\r\n\t\t\tvar commentDocuments = [];\r\n\t\t\tvar commentFields = [];\r\n\t\t\tif (dataComments.length > 0) {\r\n\t\t\t\tdataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tcommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvm.commentDocuments = commentDocuments;\r\n\r\n\t\t\tvar preCommentDocuments = [];\r\n\t\t\tvar preCommentFields = [];\r\n\t\t\tif (preDataComments.length > 0) {\r\n\t\t\t\tpreDataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tpreCommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpreCommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tvm.preCommentDocuments = preCommentDocuments;\r\n\r\n\t\t\tif ((commentFields != null && commentFields.length > 0) || (preCommentFields != null && preCommentFields.length > 0)) {\r\n\t\t\t\tfor (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n\t\t\t\t\tvar fieldContent = vm.currentData.fieldContents[i];\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t\tif (commentFields != null && commentFields.length > 0) {\r\n\t\t\t\t\t\tvar comments = [];\r\n\t\t\t\t\t\tcommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tcomments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.comments = comments;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (preCommentFields != null && preCommentFields.length > 0) {\r\n\t\t\t\t\t\tvar preComments = [];\r\n\t\t\t\t\t\tpreCommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tpreComments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.preComments = preComments;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction editCommentDraf(comment) {\r\n\t\t\tcomment.showCommentDocument = true;\r\n\t\t\tvm.focusItem('editCommentText' + comment.id);\r\n\t\t\tcomment.commentDocumentText = comment.comment.replace(new RegExp('
', 'g'), '\\n');\r\n\t\t}\r\n\r\n\t\tfunction saveCommentDocument(isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: vm.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.CreateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.commentDocuments = data;\r\n\t\t\t\t\tvm.commentDocumentText = '';\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction saveCommentField(fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: fieldContent.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.CreateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction publishDocumentComment(comment) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\tcomment: comment.comment\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.PublishHearingComment, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.commentDocuments = data;\r\n\t\t\t\t\tgetHearingData();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction publishFieldComment(comment, fieldContent) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tfieldId: fieldContent.fieldId,\r\n\t\t\t\tcomment: comment.comment\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.PublishHearingComment, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t\tgetHearingData();\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction editCommentDocument(comment, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\tcomment: comment.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t};\r\n\r\n\t\t\t$http.post(handbookRequests.UpdateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.commentDocuments = data;\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction editCommentField(comment, fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: comment.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.UpdateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction deleteCommentDocument(comment) {\r\n\t\t\tvar isConfirm = confirm(globalResources.DeleteHearingCommentConfirmMessage);\r\n\t\t\tif (isConfirm) {\r\n\t\t\t\tvar request = {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\tid: comment.id\r\n\t\t\t\t};\r\n\t\t\t\t$http.post(handbookRequests.DeleteHearingCommentRequest, request)\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.commentDocuments.splice($.inArray(comment, vm.commentDocuments), 1);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction deleteCommentField(comment, comments) {\r\n\t\t\tvar isConfirm = confirm(globalResources.DeleteHearingCommentConfirmMessage);\r\n\t\t\tif (isConfirm) {\r\n\t\t\t\tvar request = {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\tid: comment.id\r\n\t\t\t\t};\r\n\t\t\t\t$http.post(handbookRequests.DeleteHearingCommentRequest, request)\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tcomments.splice($.inArray(comment, comments), 1);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction checkMemberHearing() {\r\n\t\t\tif (vm.hearing.hearingMembers.length > 0) {\r\n\t\t\t\tvm.hearing.hearingMembers.forEach(function (item) {\r\n\t\t\t\t\tif (item.employeeId == vm.loginUserId) {\r\n\t\t\t\t\t\tvm.isMyAssessment = !item.hearingResponse && vm.currentData.approvalStatus == 3;\r\n\t\t\t\t\t\tvm.isMemberHearing = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction getPublishAndDraftCommentOfLoginUser() {\r\n\t\t\tvm.userLoginDraftComment = [];\r\n\t\t\tvm.userLoginPublishComment = [];\r\n\r\n\t\t\tvm.commentDocuments.forEach(function (item) {\r\n\t\t\t\tif (item.createdBy == vm.loginUserId) {\r\n\t\t\t\t\tif (item.isDraft) {\r\n\t\t\t\t\t\tvm.userLoginDraftComment.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvm.userLoginPublishComment.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfor (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.currentData.fieldContents[i];\r\n\t\t\t\tif (fieldContent.comments && fieldContent.comments.length > 0) {\r\n\t\t\t\t\tfieldContent.comments.forEach(function (item) {\r\n\t\t\t\t\t\tif (item.createdBy == vm.loginUserId) {\r\n\t\t\t\t\t\t\tif (item.isDraft) {\r\n\t\t\t\t\t\t\t\tvm.userLoginDraftComment.push(angular.copy(item));\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tvm.userLoginPublishComment.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction postHearingResponse(message) {\r\n\t\t\tgetPublishAndDraftCommentOfLoginUser();\r\n\t\t\tvm.responseFlag = message;\r\n\t\t\tif (vm.userLoginDraftComment.length > 0) {\r\n\t\t\t\tnpDialog.showDialog(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: dialogTypes.YES_NO,\r\n\t\t\t\t\t\tmessage: globalResources.ResponseConfirmDraftMessage,\r\n\t\t\t\t\t\ttitle: globalResources.HearingDocument,\r\n\t\t\t\t\t\thearingEmailNotification: true\r\n\t\t\t\t\t}, processResponseWithDraftComment);\r\n\t\t\t} else {\r\n\t\t\t\tpostResponse(false);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction processResponseWithDraftComment(result) {\r\n\t\t\tvar hasDraftComment = false;\r\n\t\t\tif (result == dialogResults.CONFIRM) {\r\n\t\t\t\t$http.post(handbookRequests.UpdatePublishAllCommentRequest, {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\thearingsId: vm.hearing.id\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tgetHearingData();\r\n\t\t\t\t\t\tpostResponse(false);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tpostResponse(true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction postResponse(hasDraftComment) {\r\n\t\t\tvar countPushlishMessage = (vm.userLoginPublishComment.length != null ? vm.userLoginPublishComment.length : 0) + (hasDraftComment == false ? (vm.userLoginDraftComment.length != null ? vm.userLoginDraftComment.length : 0) : 0);\r\n\t\t\tvar publishMessage = String.format(globalResources.PublishCommentToDocument, countPushlishMessage);\r\n\t\t\tvar messageConfirm = '';\r\n\t\t\tswitch (vm.responseFlag) {\r\n\t\t\t\tcase RESPONSE_MESSAGE.recommended:\r\n\t\t\t\t\tmessageConfirm = String.format(globalResources.ResponseRecommendedMessage, countPushlishMessage > 0 ? publishMessage : '');\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase RESPONSE_MESSAGE.notRecommended:\r\n\t\t\t\t\tmessageConfirm = String.format(globalResources.ResponseNotRecommendedMessage, countPushlishMessage > 0 ? publishMessage : '');\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase RESPONSE_MESSAGE.neutral:\r\n\t\t\t\t\tmessageConfirm = String.format(globalResources.ResponseNeutralMessage, countPushlishMessage > 0 ? publishMessage : '');\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tnpDialog.showDialog(\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: dialogTypes.OK_CANCEL,\r\n\t\t\t\t\tmessage: messageConfirm,\r\n\t\t\t\t\ttitle: globalResources.HearingDocument,\r\n\t\t\t\t\ttoggleReason: true,\r\n\t\t\t\t\tenableButton: vm.responseFlag == RESPONSE_MESSAGE.notRecommended,\r\n\t\t\t\t\thearingEmailNotification: true\r\n\t\t\t\t}, processSendHearingResponse);\r\n\t\t}\r\n\r\n\t\tfunction processSendHearingResponse(result) {\r\n\t\t\tif (result.result == dialogResults.CONFIRM) {\r\n\t\t\t\t$http.post(handbookRequests.UpdateHearingResponseForMemberRequest, {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\t\thearingResponse: vm.responseFlag,\r\n\t\t\t\t\treason: result.reason,\r\n\t\t\t\t\temailNotification: result.emailNotification\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tcloseHearingFeedback();\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction focusItem(itemId) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tangular.element('#' + itemId).show();\r\n\t\t\t\tangular.element('#' + itemId).focus();\r\n\t\t\t}, 0);\r\n\t\t};\r\n\r\n\t\tfunction updateFields() {\r\n\t\t\tif (vm.currentData.relatedAttachments && vm.currentData.relatedAttachments.length > 0) {\r\n\t\t\t\tvm.currentData.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\tx.isLastVersion = true;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvar relatedDocumentAll = angular.copy(vm.currentData.relatedDocuments);\r\n\t\t\tvar relatedAttachmentAll = angular.copy(vm.currentData.relatedAttachments);\r\n\t\t\tvar fieldContentsProcess = [];\r\n\t\t\tvar fieldContentsNonProcess = [];\r\n\r\n\t\t\tvm.currentData.isShowTopBoxContent = false;\r\n\r\n\t\t\tfor (var i = 0; i < vm.currentData.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.currentData.fieldContents[i];\r\n\t\t\t\tif (fieldContent.relatedAttachments && fieldContent.relatedAttachments.length > 0) {\r\n\t\t\t\t\tfieldContent.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (checkShowFieldName(fieldContent)) {\r\n\t\t\t\t\tvm.currentData.isShowTopBoxContent = true;\r\n\t\t\t\t\tif (fieldContent.isProcess) {\r\n\t\t\t\t\t\tfieldContentsProcess.push(fieldContent);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tfieldContentsNonProcess.push(fieldContent);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar relatedDocuments = fieldContent.relatedDocuments;\r\n\t\t\t\trelatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n\t\t\t\tvar relatedAttachments = fieldContent.relatedAttachments;\r\n\t\t\t\trelatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n\t\t\t\tvar relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n\t\t\t\t\treturn [item.verticalAlign];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedBottomImages = [];\r\n\t\t\t\tvar relatedTopImages = [];\r\n\t\t\t\trelatedImageGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Top)) {\r\n\t\t\t\t\t\trelatedTopImages = relatedTopImages.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n\t\t\t\t\t\t\trelatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfieldContent.relatedTopImages = relatedTopImages;\r\n\t\t\t\tfieldContent.relatedBottomImages = relatedBottomImages;\r\n\t\t\t}\r\n\t\t\tif (vm.currentData.isProcess) {\r\n\t\t\t\tvm.currentData.relatedDocumentAll = relatedDocumentAll;\r\n\t\t\t\tvm.currentData.relatedAttachmentAll = relatedAttachmentAll;\r\n\r\n\t\t\t\tvm.currentData.fieldContentsProcess = fieldContentsProcess;\r\n\t\t\t\tvm.currentData.fieldContentsNonProcess = fieldContentsNonProcess;\r\n\r\n\t\t\t\tvar relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n\t\t\t\t\treturn [item.folderId];\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvm.currentData.relatedDocumentGroups = [];\r\n\t\t\t\trelatedDocumentGroups.forEach(function (item) {\r\n\t\t\t\t\tvar relatedDocumentGroup = {};\r\n\t\t\t\t\trelatedDocumentGroup.id = item.key;\r\n\t\t\t\t\trelatedDocumentGroup.name = item.value.data[0].folderName;\r\n\t\t\t\t\trelatedDocumentGroup.relatedDocuments = item.value.data;\r\n\t\t\t\t\tvm.currentData.relatedDocumentGroups.push(relatedDocumentGroup);\r\n\t\t\t\t});\r\n\r\n\t\t\t\trelatedDocumentForDependencies(relatedDocumentAll);\r\n\t\t\t\trelatedAttachmentForDependencies(relatedAttachmentAll);\r\n\t\t\t\tattachRelatedItemsFieldsForDependencies();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction attachRelatedItemsFieldsForDependencies() {\r\n\t\t\tvm.currentData.fieldContentsProcess.forEach(function (field) {\r\n\t\t\t\tvar relatedDocumetFieldGroups = groupBy(field.relatedDocuments, function (item) {\r\n\t\t\t\t\treturn [item.processRelationType];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedDocumentInputValues = [];\r\n\t\t\t\tvar relatedDocumentOutputValue = [];\r\n\t\t\t\trelatedDocumetFieldGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n\t\t\t\t\t\trelatedDocumentInputValues = relatedDocumentInputValues.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n\t\t\t\t\t\t\trelatedDocumentOutputValue = relatedDocumentOutputValue.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfield.relatedDocumentInputValues = relatedDocumentInputValues;\r\n\t\t\t\tfield.relatedDocumentOutputValue = relatedDocumentOutputValue;\r\n\r\n\t\t\t\tvar relatedAttachmentFieldGroups = groupBy(field.relatedAttachments, function (item) {\r\n\t\t\t\t\treturn [item.processRelationType];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedAttachmentInputValues = [];\r\n\t\t\t\tvar relatedAttachmentOutputValue = [];\r\n\t\t\t\trelatedAttachmentFieldGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.InputOrInputValues)) {\r\n\t\t\t\t\t\trelatedAttachmentInputValues = relatedAttachmentInputValues.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.OutputOrOutputValues)) {\r\n\t\t\t\t\t\t\trelatedAttachmentOutputValue = relatedAttachmentOutputValue.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfield.relatedAttachmentInputValues = relatedAttachmentInputValues;\r\n\t\t\t\tfield.relatedAttachmentOutputValue = relatedAttachmentOutputValue;\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction relatedDocumentForDependencies(relatedDocumentAll) {\r\n\t\t\tvar relatedDocumentGroups = groupBy(relatedDocumentAll, function (item) {\r\n\t\t\t\treturn [item.processRelationType];\r\n\t\t\t});\r\n\t\t\tvar relatedDocumentManagements = [];\r\n\t\t\tvar relatedDocumentResources = [];\r\n\t\t\trelatedDocumentGroups.forEach(function (item) {\r\n\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n\t\t\t\t\trelatedDocumentManagements = relatedDocumentManagements.concat(item.value.data);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n\t\t\t\t\t\trelatedDocumentResources = relatedDocumentResources.concat(item.value.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvm.currentData.relatedDocumentManagement = relatedDocumentManagements;\r\n\t\t\tvm.currentData.relatedDocumentResources = relatedDocumentResources;\r\n\t\t};\r\n\r\n\t\tfunction relatedAttachmentForDependencies(relatedAttachmentAll) {\r\n\t\t\tvar relatedAttachmentGroups = groupBy(relatedAttachmentAll, function (item) {\r\n\t\t\t\treturn [item.processRelationType];\r\n\t\t\t});\r\n\r\n\t\t\tvar relatedAttachmentManagements = [];\r\n\t\t\tvar relatedAttachmentResources = [];\r\n\t\t\trelatedAttachmentGroups.forEach(function (item) {\r\n\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Management)) {\r\n\t\t\t\t\trelatedAttachmentManagements = relatedAttachmentManagements.concat(item.value.data);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (item.key == parseInt(vm.processRelationTypes.Resources)) {\r\n\t\t\t\t\t\trelatedAttachmentResources = relatedAttachmentResources.concat(item.value.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvm.currentData.relatedAttachmentManagement = relatedAttachmentManagements;\r\n\t\t\tvm.currentData.relatedAttachmentResources = relatedAttachmentResources;\r\n\t\t};\r\n\r\n\t\tfunction searchAndHighlightText() {\r\n\t\t\thighlightTextInContent();\r\n\t\t\tdocumentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navForward() {\r\n\t\t\tdocumentContentsSearchService.navForward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navBackward() {\r\n\t\t\tdocumentContentsSearchService.navBackward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction checkShowFieldName(fieldContent) {\r\n\t\t\tif (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfunction convertToNodeType(documentType) {\r\n\t\t\tswitch (documentType.toString()) {\r\n\t\t\t\tcase E.documentTypes.Document:\r\n\t\t\t\t\treturn E.nodeTypes.Document;\r\n\t\t\t\tcase E.documentTypes.LinkDocument:\r\n\t\t\t\t\treturn E.nodeTypes.LinkDocument;\r\n\t\t\t\tcase E.documentTypes.FileDocument:\r\n\t\t\t\t\treturn E.nodeTypes.FileDocument;\r\n\t\t\t\tcase E.documentTypes.ShortcutDocument:\r\n\t\t\t\t\treturn E.nodeTypes.ShortcutDocument;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction runServicesAfterInit() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tupdateLocalAnchors();\r\n\t\t\t\tscrollToAnchorIfExists();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction runErrorServicesAfterInit() {\r\n\t\t\ttabStateService.closeOpenedTabIfNoPrivilege(tabStateType.documentTabState);\r\n\t\t}\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateLocalAnchors() {\r\n\t\t\tvar domContent = angular.element('div#document-content');\r\n\t\t\tanchorService.updateLocalAnchors(domContent);\r\n\t\t}\r\n\r\n\t\tfunction highlightTextInContent() {\r\n\t\t\tif (vm.currentData.fieldContents != undefined) {\r\n\t\t\t\tvar viewMode = angular.copy(vm.currentData.viewMode);\r\n\t\t\t\tangular.copy(vm.originalData, vm.currentData);\r\n\t\t\t\tvm.currentData.viewMode = viewMode;\r\n\t\t\t\tvm.currentData.fieldContents.forEach(function (fieldContent) {\r\n\t\t\t\t\tfieldContent.content = documentContentsSearchService.searchAndHighlight(fieldContent.content, vm.highlights.highlightText);\r\n\t\t\t\t\tfieldContent.description = $sce.trustAsHtml(fieldContent.description.toString());\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction fullScreen() {\r\n\t\t\tif (vm.isFullScreen) {\r\n\t\t\t\tdocumentService.showFullscreen();\r\n\t\t\t} else {\r\n\t\t\t\tdocumentService.showNormal();\r\n\t\t\t}\r\n\t\t\tvm.isFullScreen = !vm.isFullScreen;\r\n\t\t}\r\n\r\n\t\t$scope.$on(broadcastType.toggleDocumentFullscreen, function (e, target) {\r\n\t\t\tfullScreen();\r\n\t\t});\r\n\r\n\t\tfunction closeHearingFeedback() {\r\n\t\t\twindow.close();\r\n\t\t};\r\n\r\n\t\tfunction activeTab() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n\t\t\t}, 500);\r\n\t\t};\r\n\r\n\t\tfunction printPDF() {\r\n\t\t\twindow.open(String.format(\"/Printing/PrintHearingFeedback?documentId={0}\", vm.documentId));\r\n\t\t};\r\n\r\n\t\tfunction openFileDocument() {\r\n\t\t\twindow.open(handbookRequests.GetFileDocumentRequest + vm.currentData.entityId, '_blank');\r\n\t\t}\r\n\r\n\t\tfunction addPerson() {\r\n\t\t\tvar employees = [];\r\n\t\t\tvm.hearings.forEach(function (item) {\r\n\t\t\t\temployees.push({ id: item.employeeId });\r\n\t\t\t});\r\n\t\t\tvar modalInstance = openAddMembersDialog($uibModal, employees, vm.translation.AddToHearingsPerson, null, true, vm.currentData.folderId, true);\r\n\t\t\tmodalInstance.result.then(function (data) {\r\n\t\t\t\tonAddedMembers(data);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction onAddedMembers(data) {\r\n\t\t\tif (!data) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvm.members = [];\r\n\t\t\tdata.forEach(function (item) {\r\n\t\t\t\tvm.members.push({\r\n\t\t\t\t\tfullName: item.fullName,\r\n\t\t\t\t\temail: item.email,\r\n\t\t\t\t\tdepartmentName: item.departmentName,\r\n\t\t\t\t\tid: item.id\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tif (vm.members.length != 0) {\r\n\t\t\t\tvar url = String.format('{0}/document/{1}/hearing', window.location.origin, vm.documentId);\r\n\t\t\t\tvar objectEmailContent = {\r\n\t\t\t\t\tdocumentName: vm.currentData.documentName,\r\n\t\t\t\t\tdocumentResponsible: vm.currentData.responsible,\r\n\t\t\t\t\turl: url,\r\n\t\t\t\t\tdueDate: $filter('date')(vm.hearing.dueDate, \"dd.MM.yyyy\"),\r\n\t\t\t\t\tallowForwarding: vm.hearing.allowForwarding\r\n\t\t\t\t};\r\n\t\t\t\tvar modalInstance = $uibModal.open({\r\n\t\t\t\t\ttemplateUrl: '/app/components/document/sendDocumentToHearingEmail.html',\r\n\t\t\t\t\tcontroller: 'SendDocumentToHearingEmailController as vm',\r\n\t\t\t\t\tsize: 'md',\r\n\t\t\t\t\tresolve: {\r\n\t\t\t\t\t\tobjectEmailContent: function () {\r\n\t\t\t\t\t\t\treturn objectEmailContent;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tmodalInstance.result.then(function (data) {\r\n\t\t\t\t\tonSendEmail(data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction onSendEmail(data) {\r\n\t\t\tif (!data) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar request = {\r\n\t\t\t\tsubject: data.subject,\r\n\t\t\t\tbody: data.body,\r\n\t\t\t\temployees: vm.members,\r\n\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\tdocumentId: vm.documentId,\r\n\t\t\t\thearingId: vm.hearing.id\r\n\t\t\t};\r\n\r\n\t\t\t$http.post('/api/Documents/AddMembersToHearingDocument', request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearings = data;\r\n\t\t\t\t\tbroadcastService(broadcastType.gridDataChanges, { id: 'activeHearing', data: vm.hearings, isForced: true });\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tif (status == httpStatusCodes.METHOD_NOT_ALLOWED) {\r\n\t\t\t\t\t\tvm.alerts.unshift({ type: 'danger', message: resources.M.Common.dontHaveActionPermission });\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tvm.alerts.unshift({ type: 'danger', message: getErrorMessage(status) });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction goToDocumentFields(fieldId) {\r\n\t\t\t$state.go('hearingFieldsContent', { documentId: vm.documentId, fieldId: fieldId });\r\n\t\t};\r\n\r\n\t\tfunction openCompareDocument() {\r\n\t\t\twindow.open(String.format('/documenthearing/{0}/compareWithEarlierVersion', vm.currentData.documentId), '_blank');\r\n\t\t}\r\n\r\n\t\tfunction getNextSearchResultByEnter(keyEvent) {\r\n\t\t\tif (keyEvent.which == 13) {\r\n\t\t\t\tnavForward();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction goToProcessDetail(item) {\r\n\t\t\tif (vm.processClassificationTypes.Processes == item.processClassification) {\r\n\t\t\t\treturn '/process-fe/process-detail/' + item.processNumber;\r\n\t\t\t}\r\n\t\t\tif (vm.processClassificationTypes.ProcessInterconnected == item.processClassification) {\r\n\t\t\t\treturn '/process-fe/process-interconnected/' + item.processNumber;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module('documentHearingFieldsModule', [])\r\n\t\t.controller(\"DocumentHearingFieldsController\", documentHearingFieldsController);\r\n\r\n\tdocumentHearingFieldsController.$inject = ['$http', '$sce', '$timeout', '$location', '$scope', '$rootScope', '$state', '$anchorScroll',\r\n\t\t'documentService', 'anchorService', 'documentContentsSearchService', 'resizeService', '$stateParams', 'folderService', 'localStorageService', 'configService'];\r\n\r\n\tfunction documentHearingFieldsController($http, $sce, $timeout, $location, $scope, $rootScope, $state, $anchorScroll,\r\n\t\tdocumentService, anchorService, documentContentsSearchService, resizeService, $stateParams, folderService, localStorageService, configService) {\r\n\r\n\t\tvar vm = this;\r\n\r\n\t\tvm.documentInformation = {};\r\n\t\tvm.originalData = {};\r\n\t\tvm.fieldId = -1;\r\n\t\tvm.currentData = {};\r\n\t\tvm.oldData = {};\r\n\t\tvm.highlights = {\r\n\t\t\thighlightText: '',\r\n\t\t\tcurrentIndex: 0,\r\n\t\t\ttotalFound: 0\r\n\t\t};\r\n\r\n\t\tvm.loginUserId = user.userId;\r\n\t\tvar urlParams = $location.url().split('/');\r\n\t\tvm.isEmbedUrl = false;\r\n\t\tvm.typeHideHeader = false;\r\n\t\tvm.documentId = $stateParams.documentId;\r\n\t\tif (urlParams != null && urlParams.length > 0) {\r\n\t\t\tvm.isEmbedUrl = urlParams[1] == 'embed';\r\n\t\t\tif (vm.isEmbedUrl) {\r\n\t\t\t\tvm.fieldId = urlParams[5];\r\n\t\t\t\tvm.typeHideHeader = urlParams.length == 7 ? (urlParams[6] == '1') : false;\r\n\t\t\t\tvm.documentId = urlParams[3];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvm.isShowMetadata = configService.getBool(HandbookConfiguration.MetadataEnabled);\r\n\t\tvm.isShowMetatagTab = configService.getBool(HandbookConfiguration.ShowMetatagTab);\r\n\t\tvm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\t\tvm.showContent = showContent;\r\n\t\tvm.clearActive = clearActive;\r\n\t\tvm.searchAndHighlightText = searchAndHighlightText;\r\n\t\tvm.navForward = navForward;\r\n\t\tvm.navBackward = navBackward;\r\n\r\n\t\tvm.focusItem = focusItem;\r\n\t\tvm.goBackDocumentHearing = goBackDocumentHearing;\r\n\t\tvm.editCommentField = editCommentField;\r\n\t\tvm.saveCommentField = saveCommentField;\r\n\t\tvm.editCommentDraf = editCommentDraf;\r\n\t\tvm.deleteCommentField = deleteCommentField;\r\n\t\tvm.goBackDocumentHearing = goBackDocumentHearing;\r\n\t\tvm.printPDF = printPDF;\r\n\t\tvm.getNextSearchResultByEnter = getNextSearchResultByEnter;\r\n\r\n\t\tvm.isFloatTitle = $(window).height() > HandbookConfiguration.DocumentTitleScreenHeight ? true : false;\r\n\r\n\t\tvm.clickChangeTab = clickChangeTab;\r\n\t\tconst listTabCanChange = ['document-about', 'document-searchincontent', 'document-metadata'];\r\n\t\tvm.documentCKVersion = CkVersion.CK4;\r\n\t\tvm.ckVersion = { 'CK4': CkVersion.CK4, 'CK5': CkVersion.CK5 };\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\r\n\t\t\tprocessEmbedUrl();\r\n\t\t\t//check and resize the view\r\n\t\t\tresizeService.resizeView();\r\n\r\n\t\t\tlet tabState = localStorageService.getItem('DocumentTabState');\r\n\t\t\tif (tabState && listTabCanChange.includes(tabState)) {\r\n\t\t\t\tangular.element('#document-top-menu-identifier').css('top', '0px');\r\n\t\t\t\tangular.element('#document-content-identifier').css('top', '0px');\r\n\t\t\t}\r\n\t\t\tgetDocument();\r\n\t\t};\r\n\r\n\t\tfunction processEmbedUrl() {\r\n\t\t\tif (vm.isEmbedUrl) {\r\n\t\t\t\tif (vm.typeHideHeader) {\r\n\t\t\t\t\tangular.element('#documentHeader1Container').hide();\r\n\t\t\t\t\tangular.element('#fieldTitle').hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getDocument() {\r\n\t\t\tif (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n\t\t\t\tgetMetadataTab();\r\n\t\t\t}\r\n\t\t\tvm.currentDataPromise =\r\n\t\t\t\t$http.get(handbookRequests.GetDocumentInformationForHearingRequest, { params: { 'documentId': vm.documentId } })\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\t\tif (result.data.hidden) {\r\n\t\t\t\t\t\t\tshowMessageError(globalResources.NoAccessDocument, '632');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcreateTooltipsRelatedDocument(result.data);\r\n\t\t\t\t\t\tvm.oldData = result.data;\r\n\t\t\t\t\t\tvm.documentCKVersion = vm.oldData.isNewCKVersion;\r\n\r\n\t\t\t\t\t\tif (vm.oldData.description) {\r\n\t\t\t\t\t\t\tvm.oldData.description = $sce.trustAsHtml(vm.oldData.description.replace(new RegExp(String.fromCharCode(13) + String.fromCharCode(10), 'g'), '
'));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.oldData.nodeType = convertToNodeType(vm.oldData.type);\r\n\t\t\t\t\t\tif (vm.oldData.fieldContents != null) {\r\n\t\t\t\t\t\t\tvm.oldData.fieldContents.forEach(function (fieldContent) {\r\n\t\t\t\t\t\t\t\tif (!vm.oldData.fieldId) {\r\n\t\t\t\t\t\t\t\t\tvm.oldData.fieldId = fieldContent.fieldId;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (fieldContent.content) {\r\n\t\t\t\t\t\t\t\t\tfieldContent.content = $sce.trustAsHtml(fieldContent.content);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (fieldContent.description) {\r\n\t\t\t\t\t\t\t\t\tfieldContent.description = $sce.trustAsHtml(fieldContent.description);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tupdateFields();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.isShowMetadata && vm.isShowMetatagTab) {\r\n\t\t\t\t\t\t\tvm.oldData.metadatas = angular.copy(vm.metadataList);\r\n\t\t\t\t\t\t\tformatMetadata();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tangular.copy(vm.oldData, vm.originalData);\r\n\t\t\t\t\t\trunServicesAfterInit();\r\n\r\n\t\t\t\t\t\tvm.oldData.documentInformation = angular.copy(vm.oldData);\r\n\t\t\t\t\t\tvm.oldData.confirmInformation = vm.currentData.confirmInformation;\r\n\r\n\t\t\t\t\t\tvm.oldData.fieldId = $stateParams.fieldId;\r\n\r\n\t\t\t\t\t\tbuildDocumentObjectFromCurrentDocument(vm.oldData);\r\n\r\n\t\t\t\t\t\tgetHearingData();\r\n\r\n\t\t\t\t\t\t$rootScope.title = globalResources.Handbook + \" - \" + result.data.documentName;\r\n\r\n\t\t\t\t\t\tcalculateMaxHeightOForDocumentContentIdentifierInit()\r\n\t\t\t\t\t\treturn vm.currentData;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(function (result, status, headers, config) {\r\n\t\t\t\t\t\tshowMessageError(result.data, result.status);\r\n\t\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction showMessageError(message, status) {\r\n\t\t\tif (!status || status.toString() == '600') {\r\n\t\t\t\tvm.errorMessage = globalResources.RequiredPermissionsToReadDocument;\r\n\t\t\t} else if (status.toString() == '632') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchived;\r\n\t\t\t} else if (status.toString() == '633') {\r\n\t\t\t\tvm.errorMessage = globalResources.DocumentDoNotExistOrIsArchivedOrNotPublished;\r\n\t\t\t\tvm.showDocumentLinkToBackendWhenError = true;\r\n\t\t\t} else {\r\n\t\t\t\tvm.errorMessage = message;\r\n\t\t\t}\r\n\t\t\tvm.showError = true;\r\n\t\t\tvm.currentData.documentId = vm.documentId;\r\n\r\n\t\t\trunErrorServicesAfterInit();\r\n\t\t}\r\n\r\n\t\tfunction runErrorServicesAfterInit() {\r\n\t\t\ttabStateService.closeOpenedTabIfNoPrivilege(tabStateType.documentTabState);\r\n\t\t}\r\n\r\n\t\tfunction getMetadataTab() {\r\n\t\t\t$http.get(handbookRequests.GetDocumentMetadataRequest, { params: { 'documentId': $stateParams.documentId } })\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\tvm.metadataList = result.data;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction formatMetadata() {\r\n\t\t\tif (vm.isShowMetadata && vm.oldData.metadatas && vm.oldData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n\t\t\t\tvm.oldData.metadatas.forEach(function (item) {\r\n\t\t\t\t\titem.nameDisplay = $sce.trustAsHtml(item.registerName + ' - ' + item.registerItemName + ' - ' + item.registerValue);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateFields() {\r\n\t\t\tif (vm.oldData.relatedAttachments && vm.oldData.relatedAttachments.length > 0) {\r\n\t\t\t\tvm.oldData.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvar relatedDocumentAll = angular.copy(vm.oldData.relatedDocuments);\r\n\t\t\tvar relatedAttachmentAll = angular.copy(vm.oldData.relatedAttachments);\r\n\r\n\t\t\tvm.oldData.isShowTopBoxContent = false;\r\n\r\n\t\t\tfor (var i = 0; i < vm.oldData.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.oldData.fieldContents[i];\r\n\t\t\t\tif (fieldContent.relatedAttachments && fieldContent.relatedAttachments.length > 0) {\r\n\t\t\t\t\tfieldContent.relatedAttachments.forEach(function (x) {\r\n\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (checkShowFieldName(fieldContent)) {\r\n\t\t\t\t\tvm.oldData.isShowTopBoxContent = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar relatedDocuments = fieldContent.relatedDocuments;\r\n\t\t\t\trelatedDocumentAll = relatedDocumentAll.concat(relatedDocuments);\r\n\r\n\t\t\t\tvar relatedAttachments = fieldContent.relatedAttachments;\r\n\t\t\t\trelatedAttachmentAll = relatedAttachmentAll.concat(relatedAttachments);\r\n\r\n\t\t\t\tvar relatedImageGroups = groupBy(fieldContent.images, function (item) {\r\n\t\t\t\t\treturn [item.verticalAlign];\r\n\t\t\t\t});\r\n\t\t\t\tvar relatedBottomImages = [];\r\n\t\t\t\tvar relatedTopImages = [];\r\n\t\t\t\trelatedImageGroups.forEach(function (item) {\r\n\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Top)) {\r\n\t\t\t\t\t\trelatedTopImages = relatedTopImages.concat(item.value.data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (item.key == parseInt(E.VerticalAlign.Bottom)) {\r\n\t\t\t\t\t\t\trelatedBottomImages = relatedBottomImages.concat(item.value.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tfieldContent.relatedTopImages = relatedTopImages;\r\n\t\t\t\tfieldContent.relatedBottomImages = relatedBottomImages;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction getHearingData() {\r\n\t\t\t$http.get(handbookRequests.GetHearingForFeedbackRequest, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'entityId': vm.oldData.entityId\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data && response.data.id != null && response.data.id > 0) {\r\n\t\t\t\t\t\tvm.hearing = response.data;\r\n\t\t\t\t\t\tif (vm.hearing.description && vm.hearing.description != '') {\r\n\t\t\t\t\t\t\tvm.hearing.description = $sce.trustAsHtml(vm.hearing.description.replace(/[\\r\\n\\t]/g, \"
\"));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcheckMemberHearing();\r\n\t\t\t\t\t\tif (vm.oldData.approvalStatus == 3) {\r\n\t\t\t\t\t\t\tvm.showComment = (!vm.hearing.public && vm.isMemberHearing) || vm.hearing.public;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (vm.hearingClose) {\r\n\t\t\t\t\t\t\tvm.closeHearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t\tpubSub.publish(broadcastType.gridDataChanges, { id: 'closeHearing', data: vm.closeHearings }, { isForced: true });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.hearings = vm.hearing.hearingMembers;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvm.preHearingMembers = vm.hearing.preHearingMembers;\r\n\r\n\t\t\t\t\t\tif (!vm.hearingCommentAfterResponse && !vm.isMyAssessment) {\r\n\t\t\t\t\t\t\tvm.showComment = false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tadjustmentHearingComments(vm.hearing.hearingComments, vm.hearing.preHearingComments);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction checkShowFieldName(fieldContent) {\r\n\t\t\tif (fieldContent.fieldName != '' && fieldContent.fieldName != undefined && fieldContent.isVisible && !fieldContent.isHideByBooklet) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfunction adjustmentHearingComments(dataComments, preDataComments) {\r\n\t\t\tvar commentDocuments = [];\r\n\t\t\tvar commentFields = [];\r\n\t\t\tif (dataComments.length > 0) {\r\n\t\t\t\tdataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tcommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvm.commentDocuments = commentDocuments;\r\n\r\n\t\t\tvar preCommentDocuments = [];\r\n\t\t\tvar preCommentFields = [];\r\n\t\t\tif (preDataComments.length > 0) {\r\n\t\t\t\tpreDataComments.forEach(function (item) {\r\n\t\t\t\t\tif (item.fieldId == null) {\r\n\t\t\t\t\t\tpreCommentDocuments.push(angular.copy(item));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpreCommentFields.push(angular.copy(item));\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tvm.preCommentDocuments = preCommentDocuments;\r\n\r\n\t\t\tif ((commentFields != null && commentFields.length > 0) || (preCommentFields != null && preCommentFields.length > 0)) {\r\n\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\tvar fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t\tif (commentFields != null && commentFields.length > 0) {\r\n\t\t\t\t\t\tvar comments = [];\r\n\t\t\t\t\t\tcommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tcomments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.comments = comments;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (preCommentFields != null && preCommentFields.length > 0) {\r\n\t\t\t\t\t\tvar preComments = [];\r\n\t\t\t\t\t\tpreCommentFields.forEach(function (item) {\r\n\t\t\t\t\t\t\tif (fieldContent.fieldId == item.fieldId) {\r\n\t\t\t\t\t\t\t\tpreComments.push(angular.copy(item));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfieldContent.preComments = preComments;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (fieldContent.fieldId == $stateParams.fieldId) {\r\n\t\t\t\t\t\tvm.documentInformation.fieldContent = angular.copy(fieldContent);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\tvar fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\t\tif (fieldContent.fieldId == $stateParams.fieldId) {\r\n\t\t\t\t\t\tvm.documentInformation.fieldContent = angular.copy(fieldContent);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction convertToNodeType(documentType) {\r\n\t\t\tswitch (documentType.toString()) {\r\n\t\t\t\tcase E.documentTypes.Document:\r\n\t\t\t\t\treturn E.nodeTypes.Document;\r\n\t\t\t\tcase E.documentTypes.LinkDocument:\r\n\t\t\t\t\treturn E.nodeTypes.LinkDocument;\r\n\t\t\t\tcase E.documentTypes.FileDocument:\r\n\t\t\t\t\treturn E.nodeTypes.FileDocument;\r\n\t\t\t\tcase E.documentTypes.ShortcutDocument:\r\n\t\t\t\t\treturn E.nodeTypes.ShortcutDocument;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction setIconForDocument(data) {\r\n\t\t\tdata = data == null ? vm.currentData : data;\r\n\t\t\tvar icon = '';\r\n\t\t\tswitch (data.levelType.toString()) {\r\n\t\t\t\tcase E.HandbookLevelTypes.Enterprise:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Regional:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeRegional;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase E.HandbookLevelTypes.Local:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeLocal;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\ticon = paths.DocumentLevelTypeEnterprise;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tdata.docIcon = icon;\r\n\t\t}\r\n\r\n\t\tfunction buildDocumentObjectFromCurrentDocument(currentDocument) {\r\n\t\t\tif (currentDocument) {\r\n\t\t\t\tvm.documentInformation = angular.copy(currentDocument.documentInformation);\r\n\t\t\t\tvm.currentData = angular.copy(currentDocument.documentInformation);\r\n\t\t\t\tsetIconForDocument(vm.documentInformation);\r\n\t\t\t\tif (vm.currentData.description) {\r\n\t\t\t\t\tvm.currentData.description = $sce.trustAsHtml(vm.currentData.description.toString());\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.isShowMetadata && vm.currentData.metadatas && vm.currentData.metadatas.length > 0 && vm.isShowMetatagTab) {\r\n\t\t\t\t\tvm.currentData.metadatas.forEach(function (item) {\r\n\t\t\t\t\t\titem.nameDisplay = $sce.trustAsHtml(item.nameDisplay.toString());\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.documentInformation) {\r\n\t\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldId == currentDocument.fieldId) {\r\n\t\t\t\t\t\t\tvm.fieldId = currentDocument.fieldId;\r\n\t\t\t\t\t\t\tvm.currentData.confirmInformation = currentDocument.confirmInformation;\r\n\t\t\t\t\t\t\tvm.documentInformation.fieldContents[i].activeField = 'active';\r\n\t\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldName) {\r\n\t\t\t\t\t\t\t\tvm.documentInformation.fieldName = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].fieldName.toString());\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].content) {\r\n\t\t\t\t\t\t\t\tvm.documentInformation.content = $sce.trustAsHtml(vm.documentInformation.fieldContents[i].content.toString());\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedDocuments = vm.documentInformation.fieldContents[i].relatedDocuments;\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedAttachments = vm.documentInformation.fieldContents[i].relatedAttachments;\r\n\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedTopImages = vm.documentInformation.fieldContents[i].relatedTopImages;\r\n\t\t\t\t\t\t\tvm.documentInformation.relatedBottomImages = vm.documentInformation.fieldContents[i].relatedBottomImages;\r\n\r\n\t\t\t\t\t\t\tvm.documentInformation.fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvm.documentInformation.fieldContents[i].activeField = '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tangular.copy(vm.documentInformation, vm.originalData);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction showContent(fieldItem) {\r\n\t\t\tvm.clearActive();\r\n\t\t\tfieldItem.activeField = 'active';\r\n\t\t\tif (fieldItem.fieldName) {\r\n\t\t\t\tvm.documentInformation.fieldName = $sce.trustAsHtml(fieldItem.fieldName);\r\n\t\t\t}\r\n\t\t\tif (fieldItem.content) {\r\n\t\t\t\tvm.documentInformation.content = $sce.trustAsHtml(fieldItem.content.toString());\r\n\t\t\t} else {\r\n\t\t\t\tvm.documentInformation.content = '';\r\n\t\t\t}\r\n\t\t\tvm.documentInformation.fieldContent = angular.copy(fieldItem);\r\n\r\n\t\t\tvm.documentInformation.relatedDocuments = fieldItem.relatedDocuments;\r\n\t\t\tvm.documentInformation.relatedAttachments = fieldItem.relatedAttachments;\r\n\t\t\tvm.documentInformation.relatedTopImages = fieldItem.relatedTopImages;\r\n\t\t\tvm.documentInformation.relatedBottomImages = fieldItem.relatedBottomImages;\r\n\t\t\tvm.fieldId = fieldItem.fieldId;\r\n\t\t\tangular.copy(vm.documentInformation, vm.originalData);\r\n\t\t\tupdateLocalAnchors();\r\n\t\t};\r\n\r\n\t\tfunction clearActive() {\r\n\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\tvm.documentInformation.fieldContents[i].activeField = '';\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction searchAndHighlightText() {\r\n\t\t\thighlightTextInContent();\r\n\t\t\tdocumentContentsSearchService.searchAndHighlightText(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navForward() {\r\n\t\t\tdocumentContentsSearchService.navForward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction navBackward() {\r\n\t\t\tdocumentContentsSearchService.navBackward(vm.highlights);\r\n\t\t};\r\n\r\n\t\tfunction highlightTextInContent() {\r\n\t\t\tif (vm.documentInformation.content != undefined) {\r\n\t\t\t\tangular.copy(vm.originalData, vm.documentInformation);\r\n\t\t\t\tvm.documentInformation.content = documentContentsSearchService.searchAndHighlight(vm.documentInformation.content, vm.highlights.highlightText);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction updateLocalAnchors() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tvar domContent = angular.element('div.contentWithLayout');\r\n\t\t\t\tanchorService.updateLocalAnchors(domContent, true);\r\n\t\t\t\tscrollToAnchorIfExists();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction scrollToAnchorIfExists() {\r\n\t\t\tvar hash = $location.hash();\r\n\t\t\tif (hash != '') {\r\n\t\t\t\t$anchorScroll();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction runServicesAfterInit() {\r\n\t\t\tupdateLocalAnchors();\r\n\t\t}\r\n\r\n\t\tfunction checkMemberHearing() {\r\n\t\t\tif (vm.hearing.hearingMembers.length > 0) {\r\n\t\t\t\tvm.hearing.hearingMembers.forEach(function (item) {\r\n\t\t\t\t\tif (item.employeeId == vm.loginUserId) {\r\n\t\t\t\t\t\tvm.isMyAssessment = !item.hearingResponse && vm.currentData.approvalStatus == 3;\r\n\t\t\t\t\t\tvm.isMemberHearing = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction focusItem(itemId) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tangular.element('#' + itemId).show();\r\n\t\t\t\tangular.element('#' + itemId).focus();\r\n\t\t\t}, 0);\r\n\t\t};\r\n\r\n\t\tfunction goBackDocumentHearing() {\r\n\t\t\t$state.go(handbookActions.HearingAction, { documentId: vm.documentId });\r\n\t\t}\r\n\r\n\t\tfunction saveCommentField(fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.oldData.entityId,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: fieldContent.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.CreateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tupdateCommentsInformation(fieldContent, data);\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t\tfieldContent.commentDocumentText = '';\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction editCommentField(comment, fieldContent, isDraft) {\r\n\t\t\tvar request = {\r\n\t\t\t\tentityId: vm.oldData.entityId,\r\n\t\t\t\tid: comment.id,\r\n\t\t\t\thearingsId: vm.hearing.id,\r\n\t\t\t\tcomment: comment.commentDocumentText,\r\n\t\t\t\tisDraft: isDraft,\r\n\t\t\t\tfieldId: fieldContent.fieldId\r\n\t\t\t};\r\n\t\t\t$http.post(handbookRequests.UpdateHearingCommentRequest, request)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tupdateCommentsInformation(fieldContent, data);\r\n\t\t\t\t\tfieldContent.comments = data;\r\n\t\t\t\t})\r\n\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction updateCommentsInformation(fieldContent, data) {\r\n\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldId == fieldContent.fieldId) {\r\n\t\t\t\t\tvm.documentInformation.fieldContents[i].comments = data;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction deleteCommentField(comment, comments) {\r\n\t\t\tvar isConfirm = confirm(globalResources.DeleteHearingCommentConfirmMessage);\r\n\t\t\tif (isConfirm) {\r\n\t\t\t\tvar request = {\r\n\t\t\t\t\tentityId: vm.currentData.entityId,\r\n\t\t\t\t\tid: comment.id\r\n\t\t\t\t};\r\n\t\t\t\t$http.post(handbookRequests.DeleteHearingCommentRequest, request)\r\n\t\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\t\tcomments.splice($.inArray(comment, comments), 1);\r\n\t\t\t\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\t\t\t\tif (vm.documentInformation.fieldContents[i].fieldId == vm.documentInformation.fieldContent.fieldId) {\r\n\t\t\t\t\t\t\t\tvm.documentInformation.fieldContents[i].comments.splice($.inArray(comment, vm.documentInformation.fieldContents.comments), 1);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.error(function (data, status, headers, config) {\r\n\t\t\t\t\t\tvm.hearingClose = true;\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction editCommentDraf(comment) {\r\n\t\t\tcomment.showCommentDocument = true;\r\n\t\t\tvm.focusItem('txtUpdateComment');\r\n\t\t\tcomment.commentDocumentText = comment.comment.replace(new RegExp('
', 'g'), '\\n');\r\n\t\t}\r\n\r\n\t\tfunction printPDF() {\r\n\t\t\twindow.open(String.format(\"/Printing/PrintHearingFeedback?documentId={0}\", vm.documentId));\r\n\t\t};\r\n\r\n\t\tfunction anchorClick(hash) {\r\n\t\t\tif (vm.documentInformation.fieldContents.length == 1)\r\n\t\t\t\treturn;\r\n\t\t\tvar existedAnchor = false;\r\n\t\t\tvar domContent = angular.element('div.contentWithLayout');\r\n\t\t\tangular.forEach(domContent.find('a[name]'), function (tag) {\r\n\t\t\t\tif (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n\t\t\t\t\texistedAnchor = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (existedAnchor)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar field = null;\r\n\t\t\tfor (var i = 0; i < vm.documentInformation.fieldContents.length; i++) {\r\n\t\t\t\tvar fieldContent = vm.documentInformation.fieldContents[i];\r\n\t\t\t\tif (fieldContent.fieldId == vm.fieldId || !fieldContent.content) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar div = document.createElement('div');\r\n\t\t\t\tdiv.innerHTML = fieldContent.content;\r\n\t\t\t\tdomContent = angular.element(div);\r\n\t\t\t\tangular.forEach(domContent.find('a[name]'), function (tag) {\r\n\t\t\t\t\tif (hash.hash.indexOf(tag.attributes.name.value) != -1) {\r\n\t\t\t\t\t\texistedAnchor = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (existedAnchor) {\r\n\t\t\t\t\tfield = fieldContent;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (field != null) {\r\n\t\t\t\tshowContent(field);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getNextSearchResultByEnter(keyEvent) {\r\n\t\t\tif (keyEvent.which == 13) {\r\n\t\t\t\tnavForward();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.$on('anchorclick', function (e, target) {\r\n\t\t\tanchorClick(target);\r\n\t\t});\r\n\r\n\t\tfunction clickChangeTab() {\r\n\t\t\tlet tabStateChange = localStorageService.getItem('DocumentTabState');\r\n\r\n\t\t\tif (!listTabCanChange.includes(tabStateChange)) {\r\n\t\t\t\tangular.element('#document-top-menu-identifier').css('top', '65px');\r\n\t\t\t\tangular.element('#document-content-identifier').css('top', '65px');\r\n\t\t\t} else {\r\n\t\t\t\tangular.element('#document-top-menu-identifier').css('top', '0px');\r\n\t\t\t\tangular.element('#document-content-identifier').css('top', '0px');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction calculateMaxHeightOForDocumentContentIdentifierInit() {\r\n\t\t\tlet calculateMaxHeight = localStorageService.getItem('DocumentTabState');\r\n\t\t\tif (!calculateMaxHeight || calculateMaxHeight == 'null' ) {\r\n\t\t\t\tif (angular.element('#document-content-identifier')) {\r\n\t\t\t\t\tangular.element('#document-content-identifier').css('maxHeight', `calc(100vh - ${angular.element('#document-content-identifier').position(0).top}px)`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(\"handbookApp\")\r\n .controller('SendDocumentToHearingEmailController', controller);\r\n\r\n controller.$inject = ['$uibModalInstance', 'objectEmailContent'];\r\n\r\n function controller($modalInstance, objectEmailContent) {\r\n var vm = this;\r\n\r\n vm.translation = globalResources;\r\n vm.email = {\r\n subject: '',\r\n body: ''\r\n };\r\n\r\n vm.saveChanges = saveChanges;\r\n vm.cancel = cancel;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n vm.email.subject = vm.translation.SubjectSendToHearingCreate;\r\n var extraInfo = objectEmailContent.allowForwarding ? vm.translation.ExtraInfoSendToHearingCreate : '';\r\n vm.email.body = String.format(vm.translation.BodySendToHearingCreate, objectEmailContent.documentName, objectEmailContent.dueDate, objectEmailContent.url, objectEmailContent.documentResponsible, extraInfo);\r\n };\r\n\r\n function saveChanges() {\r\n if (vm.email.subject && vm.email.body) {\r\n $modalInstance.close(vm.email);\r\n }\r\n }\r\n\r\n function cancel() {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n };\r\n})();","(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('AboutController', controller);\r\n\r\n controller.$inject = ['$uibModalInstance'];\r\n\r\n function controller($modalInstance) {\r\n var vm = this;\r\n vm.translation = {\r\n about: globalResources.About,\r\n netpowerHandbook: globalResources.NetpowerHandbook,\r\n version: globalResources.CommonGridColumns.Version,\r\n close: globalResources.Close\r\n };\r\n\r\n vm.applicationVersion = HandbookConfiguration.ApplicationVersion;\r\n\r\n vm.close = close;\r\n\r\n function close() {\r\n $modalInstance.dismiss('cancel');\r\n }\r\n }\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module(modules.homeModule)\r\n\t\t.controller(controllers.homeController, homeController);\r\n\r\n\thomeController.$inject = ['$scope', '$http', '$state', '$timeout', '$sce', '$location', '$q',\r\n\t\t'favoriteService', 'tabStateService', 'localStorageService', 'resizeService', 'broadcastService', 'documentService',\r\n\t\t'$filter', 'browserService', 'configService'];\r\n\r\n\tfunction homeController($scope, $http, $state, $timeout, $sce, $location, $q,\r\n\t\tfavoriteService, tabStateService, localStorageService, resizeService, broadcastService, documentService,\r\n\t\t$filter, browserService, configService) {\r\n\t\tvar vm = this;\r\n\r\n\t\t$scope.translation = globalResources;\r\n\t\tvm.enabledProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\t\tvm.annualCycleModuleEnable = configService.getBool(HandbookConfiguration.EnabledAnnualCycle);\r\n\t\tvm.readingListEnabled = configService.getBool(HandbookConfiguration.ReadingListEnabled);\r\n\t\tvm.hearingEnabled = configService.getBool(HandbookConfiguration.HearingEnabled);\r\n\t\tvm.checkHearingTab = false;\r\n\r\n\t\tvm.commonGridSettingKey = gridSettingKeys.commonVisibilitySettings;\r\n\t\tvm.readingListGridSettingKey = gridSettingKeys.readingListVisibilitySettings;\r\n\t\tvm.groupDocumentAnchorPrefix = prefix.groupDocumentAnchorPrefix;\r\n\r\n\t\tvm.loadWhatNew = loadWhatNew;\r\n\t\tvm.loadFavorite = loadFavorite;\r\n\t\tvm.loadReadingDocumentsLists = loadReadingDocumentsLists;\r\n\t\tvm.loadHearingDocuments = loadHearingDocuments;\r\n\t\tvm.hearingRowClick = hearingRowClick;\r\n\t\tvm.onRowClick = onRowClick;\r\n\t\tvm.adjustMenuPosition = adjustMenuPosition;\r\n\t\tvm.ajustmentNews = ajustmentNews;\r\n\t\tvm.goToRegisterDeviation = goToRegisterDeviation;\r\n\t\tvm.goToChecklist = goToChecklist;\r\n\t\tvm.goToAnnualCycle = goToAnnualCycle;\r\n\t\tvm.goToRiskModule = goToRiskModule;\r\n\t\tvm.viewReport = viewReport;\r\n\t\tvm.clickNavTab = clickNavTab;\r\n\r\n\t\tvm.hearingGridSetting = [];\r\n\t\tvm.HearingsSetting = [];\r\n\t\tvm.readingList = [];\r\n\t\tvm.allReadingDocuments = [];\r\n\t\tvm.processAwaitingHearings = [];\r\n\t\tvm.processPublicHearings = [];\r\n\t\tvm.aWaitingHearings = [];\r\n\t\tvm.publicHearings = [];\r\n\t\tvm.selectedTab = \"\";\r\n\r\n\t\tvm.messageWhatNew = String.format(globalResources.RecentlyApprovedDocumentsInTheHandbook, globalResources.AllFolders);\r\n\r\n\t\tvm.normalStartpage = HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.Normal;\r\n\r\n\t\tvm.changeSelectedOption = changeSelectedOption;\r\n\t\tvm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n\r\n\t\tvar BACKEND_URL = HandbookConfiguration.BackendURL;\r\n\t\tvm.processClassification = E.processClassificationTypes;\r\n\r\n\t\tvm.enableInterconnectedProcess = configService.getBool(HandbookConfiguration.InterconnectedProcess);\r\n\t\tvm.processClassificationTypes = E.processClassificationTypes;\r\n\r\n\t\tfunction getBackendUrl() {\r\n\t\t\tconst url = new URL(BACKEND_URL);\r\n\t\t\turl.protocol = $location.protocol();\r\n\t\t\treturn url.href;\r\n\t\t}\r\n\r\n\t\tvar lastChar = BACKEND_URL.charAt(BACKEND_URL.length - 1);\r\n\t\tvar commonAdd = lastChar == '/' ? '' : '/';\r\n\t\tvm.columnNotRemove = 'name';\r\n\t\tvm.BROWSER_TYPE = BrowserType;\r\n\t\tvm.browserType = browserService.detectBrowserWindow();\r\n\t\tvm.periodWhatNewOptions = [\r\n\t\t\t{ id: 0, name: globalResources.Today },\r\n\t\t\t{ id: 1, name: globalResources.LastWeek },\r\n\t\t\t{ id: 2, name: globalResources.LastMonth },\r\n\t\t\t{ id: 3, name: globalResources.Last3Months }\r\n\t\t];\r\n\r\n\t\tvm.whatNewData = [\r\n\t\t\t{ id: 0, name: globalResources.Today, data: [] },\r\n\t\t\t{ id: 1, name: globalResources.LastWeek, data: [] },\r\n\t\t\t{ id: 2, name: globalResources.LastMonth, data: [] },\r\n\t\t\t{ id: 3, name: globalResources.Last3Months, data: [] }\r\n\t\t];\r\n\r\n\t\tvm.summaryNewData =\r\n\t\t{\r\n\t\t\ttotalWhatNews: 0,\r\n\t\t\ttotalFavorities: 0,\r\n\t\t\ttotalReadingDocuments: 0,\r\n\t\t\ttotalMissingReadingDocuments: 0,\r\n\t\t\ttotalAwaitingHearings: 0,\r\n\t\t\ttotalPublicHearings: 0\r\n\t\t};\r\n\t\tvm.WhatsNewCountConfig = parseInt(HandbookConfiguration.WhatsNewCount);\r\n\t\tvm.UpdatedFavoritesCountConfig = parseInt(HandbookConfiguration.UpdatedFavoritesCount);\r\n\r\n\t\tfunction buildHearingsGridSetting() {\r\n\t\t\tvar nameFolder = vm.enabledProcessModule ? $scope.translation.CommonGridColumns.Chapter + '/' + $scope.translation.CommonGridColumns.ProcessArea\r\n\t\t\t\t: $scope.translation.CommonGridColumns.Chapter;\r\n\t\t\tvm.hearingGridSetting.push({ id: 'information', name: '', width: '20px', coldefault: true });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'name', name: $scope.translation.CommonGridColumns.Title, width: 50, coldefault: true });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'dueDate', name: $scope.translation.HearingDueDate, width: 22, coldefault: true, customCss: 'min-width-90', type: COLUMN_DATA_TYPES.STRING_DATE });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'isPublic', name: $scope.translation.Public, width: 5, coldefault: true, customCss: 'min-width-45' });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'folderName', name: nameFolder, width: 26, coldefault: true });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'version', name: $scope.translation.CommonGridColumns.Version, width: '90px', coldefault: true, customCss: 'align-right' });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'documentId', name: $scope.translation.CommonGridColumns.DocumentId, width: '60px', coldefault: true, customCss: 'align-right' });\r\n\t\t\tvm.hearingGridSetting.push({ id: 'responsible', name: $scope.translation.CommonGridColumns.Responsible, width: 20, coldefault: true });\r\n\t\t}\r\n\r\n\t\tvar url = angular.copy($location.$$url);\r\n\t\turl = url.toLowerCase();\r\n\t\tif (url.indexOf('checklist-fe') > -1) {\r\n\t\t\t//triggerTabClicked('#checklist-tab', true);\r\n\t\t\tgoTochecklistFromUrl(url);\r\n\t\t} else if (url.indexOf('/ac/') > -1) {\r\n\t\t\tgoToAnnualCycleFromUrl(url);\r\n\t\t}\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\r\n\t\t\tvar storageWhatsNewPeriodAll = localStorageService.getItem(\"WhatsNewPeriodAll\");\r\n\t\t\tvm.selectedOption = storageWhatsNewPeriodAll != null ? parseInt(storageWhatsNewPeriodAll) : parseInt(HandbookConfiguration.WhatsNewPeriodAll);\r\n\r\n\t\t\tif (vm.hearingEnabled) {\r\n\t\t\t\tbuildHearingsGridSetting();\r\n\t\t\t\tvm.HearingsSetting = angular.copy(vm.hearingGridSetting);\r\n\t\t\t\tvm.HearingsSetting[0].name = $scope.translation.CommonGridColumns.DocumentInfo;\r\n\t\t\t}\r\n\t\t\tresizeService.resizeView();\r\n\t\t\tgridConfiguration();\r\n\t\t\tdetectBrowser();\r\n\t\t\tangular.element(prefix.hashbangPrefix + 'homeTabs li').removeClass(cssClass.active);\r\n\r\n\t\t\tvar mandatatoryRequests = [\r\n\t\t\t\t$http.get(\"/api/UserDocuments/GetDocumentSummaryNewData\", { params: { periodOption: vm.selectedOption } })\r\n\t\t\t];\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\tmandatatoryRequests.push($http.get(\"/api/CombineDocumentAndProcess/GetProcessSummaryNewData\", { params: { periodOption: vm.selectedOption, includeInterconnectedProcess: vm.enableInterconnectedProcess } }));\r\n\t\t\t}\r\n\r\n\t\t\t$q.all(mandatatoryRequests).then(function (response) {\r\n\t\t\t\tif (!response || response.length < mandatatoryRequests.length || !response[0].data) return;\r\n\t\t\t\tvar sum_Document = response[0].data;\r\n\t\t\t\tvar sum_Process = {\r\n\t\t\t\t\ttotalWhatNews: 0,\r\n\t\t\t\t\ttotalFavorities: 0,\r\n\t\t\t\t\ttotalReadingDocuments: 0,\r\n\t\t\t\t\ttotalMissingReadingDocuments: 0,\r\n\t\t\t\t\ttotalAwaitingHearings: 0,\r\n\t\t\t\t\ttotalPublicHearings: 0\r\n\t\t\t\t};;\r\n\r\n\t\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\t\tif (!response[1].data) return;\r\n\t\t\t\t\tsum_Process = response[1].data;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvm.summaryNewData =\r\n\t\t\t\t{\r\n\t\t\t\t\ttotalWhatNews: sum_Document.totalWhatNews + sum_Process.totalWhatNews,\r\n\t\t\t\t\ttotalFavorities: sum_Document.totalFavorities + sum_Process.totalFavorities,\r\n\t\t\t\t\ttotalReadingDocuments: sum_Document.totalReadingDocuments + sum_Process.totalReadingDocuments,\r\n\t\t\t\t\ttotalMissingReadingDocuments: sum_Document.totalMissingReadingDocuments + sum_Process.totalMissingReadingDocuments,\r\n\t\t\t\t\ttotalAwaitingHearings: sum_Document.totalAwaitingHearings + sum_Process.totalAwaitingHearings,\r\n\t\t\t\t\ttotalPublicHearings: sum_Document.totalPublicHearings + sum_Process.totalPublicHearings\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (vm.summaryNewData.totalWhatNews > vm.WhatsNewCountConfig)\r\n\t\t\t\t\tvm.summaryNewData.totalWhatNews = vm.WhatsNewCountConfig;\r\n\r\n\t\t\t\tif (vm.summaryNewData.totalFavorities > vm.UpdatedFavoritesCountConfig)\r\n\t\t\t\t\tvm.summaryNewData.totalFavorities = vm.UpdatedFavoritesCountConfig;\r\n\r\n\t\t\t\tvm.checkHearingTab = (vm.summaryNewData.totalAwaitingHearings + vm.summaryNewData.totalPublicHearings) > 0; // if summary have AwaitingHearings or PublicHearings enable hearingTab\r\n\r\n\t\t\t\tif (vm.readingListEnabled && (vm.summaryNewData.totalReadingDocuments > 0 && vm.summaryNewData.totalMissingReadingDocuments == 0))\r\n\t\t\t\t\tvm.selectedTab = \"reading-lists-tab\";\r\n\r\n\t\t\t\tif (vm.annualCycleModuleEnable && (vm.summaryNewData.totalReadingDocuments <= 0 && vm.summaryNewData.totalMissingReadingDocuments <= 0))\r\n\t\t\t\t\tvm.selectedTab = \"new-annual-cycle-tab\";\r\n\r\n\t\t\t\thandleNavigate();\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tsetTabPanelActive();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.Normal) {\r\n\t\t\t\ttabStateService.adjustContentHeightHomeStartPageTab();\r\n\t\t\t}\r\n\r\n\t\t\t$scope.$on('annualCyclesLength', function (e, arg) {\r\n\t\t\t\tif (vm.annualCycleModuleEnable) {\r\n\r\n\t\t\t\t\tvar url = $location.$$url;\r\n\t\t\t\t\tif (!url)\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\turl = url.toLowerCase();\r\n\r\n\t\t\t\t\tif (url.indexOf('tab?') == -1) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (url.indexOf('mypage') > -1 && url.indexOf('annualcycle') > -1 && vm.annualCycleModuleEnable) {\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\ttriggerTabClicked('#reading-list-tab', true);\r\n\t\t\t\t\t\t\ttriggerTabClicked('#annual-cycle-tab', false);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$(window).on('resize', function () {\r\n\t\t\tvm.browserType = browserService.detectBrowserWindow();\r\n\t\t});\r\n\r\n\t\tfunction viewReport() {\r\n\t\t\t$state.go(handbookActions.MyReadingListsReport, {});\r\n\t\t};\r\n\r\n\t\tfunction clickNavTab(tab) {\r\n\t\t\tvm.selectedTab = tab;\r\n\t\t};\r\n\r\n\t\tfunction handleNavigate() {\r\n\t\t\tvar url = angular.copy($location.$$url);\r\n\t\t\tif (!url)\r\n\t\t\t\treturn;\r\n\t\t\turl = url.toLowerCase();\r\n\r\n\t\t\tif (url.indexOf('checklist-fe') > -1) {\r\n\t\t\t\ttriggerTabClicked('#checklist-tab', true);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (url.indexOf('ac') > -1) {\r\n\t\t\t\ttriggerTabClicked('#new-annual-cycle-tab', true);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (url.indexOf('tab?') == -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (url.indexOf('whatsnew') > -1) {\r\n\t\t\t\ttriggerTabClicked('#what-new-tab', true);\r\n\t\t\t} else if (url.indexOf('updatedfavorites') > -1) {\r\n\r\n\t\t\t\ttriggerTabClicked('#favorite-tab', true);\r\n\t\t\t} else if (url.indexOf('mypage') > -1) {\r\n\t\t\t\tif (vm.readingListEnabled &&\r\n\t\t\t\t\t((url.indexOf('readinglist') > -1 && vm.summaryNewData.totalReadingDocuments > 0)\r\n\t\t\t\t\t\t|| (url.indexOf('missingreadingreceipts') > -1 && vm.summaryNewData.totalMissingReadingDocuments > 0))) {\r\n\t\t\t\t\ttriggerTabClicked('#reading-list-tab', true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.readingListEnabled && url.indexOf('readinglist') > -1\r\n\t\t\t\t\t&& vm.summaryNewData.totalReadingDocuments > 0) {\r\n\t\t\t\t\ttriggerTabClicked('#reading-lists-tab', false);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (vm.readingListEnabled && url.indexOf('missingreadingreceipts') > -1\r\n\t\t\t\t\t&& vm.summaryNewData.totalMissingReadingDocuments > 0) {\r\n\t\t\t\t\ttriggerTabClicked('#missing-reading-tab', false);\r\n\t\t\t\t}\r\n\t\t\t} else if (url.indexOf('home') > -1) {\r\n\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t} else if (url.indexOf('tohearing') > -1) {\r\n\t\t\t\tif ((vm.summaryNewData.totalAwaitingHearings > 0 && url.indexOf('awaitinghearing') > -1)\r\n\t\t\t\t\t|| (vm.summaryNewData.totalPublicHearings > 0 && url.indexOf('publichearings') > -1)) {\r\n\t\t\t\t\ttriggerTabClicked('#hearings-tab', true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.summaryNewData.totalAwaitingHearings > 0 && url.indexOf('awaitinghearing') > -1) {\r\n\t\t\t\t\ttriggerTabClicked('#aWaitingHearingstab', false);\r\n\t\t\t\t}\r\n\t\t\t\tif (vm.summaryNewData.totalPublicHearings > 0 && url.indexOf('publichearings') > -1) {\r\n\t\t\t\t\ttriggerTabClicked('#publicHearingstab', false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfunction triggerTabClicked(tabId, clickItSelf) {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvar childTab = $(tabId + ' a');\r\n\t\t\t\tif (childTab) {\r\n\t\t\t\t\t$(childTab).click();\r\n\t\t\t\t\tif (clickItSelf && $(tabId)) {\r\n\t\t\t\t\t\t$(tabId).click();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction changeSelectedOption() {\r\n\t\t\tlocalStorageService.setItem(\"WhatsNewPeriodAll\", vm.selectedOption);\r\n\t\t\tloadWhatNew();\r\n\t\t}\r\n\r\n\t\tfunction ajustmentNews() {\r\n\t\t\tbroadcastService('adjustmentNews', {});\r\n\t\t}\r\n\r\n\t\tfunction updateNewestDocuments(documents, type) {\r\n\t\t\tvar storageObject = localStorageService.getItem(localStorageKeys.readDocuments);\r\n\t\t\tvar readDocuments = [];\r\n\t\t\tif (storageObject != null) {\r\n\t\t\t\treadDocuments = JSON.parse(storageObject);\r\n\t\t\t}\r\n\t\t\tvar count = 0\r\n\t\t\tif (documents != null) {\r\n\t\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\t\tfor (var j = 0; j < readDocuments.length; j++) {\r\n\t\t\t\t\t\tif (documents[i].id == readDocuments[j].id\r\n\t\t\t\t\t\t\t&& documents[i].longApprovedDate == readDocuments[j].approvedDate\r\n\t\t\t\t\t\t\t&& documents[i].isNew) {\r\n\t\t\t\t\t\t\tcount += 1;\r\n\t\t\t\t\t\t\tdocuments[i].isNew = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (count > 0) {\r\n\t\t\t\tswitch (type) {\r\n\t\t\t\t\tcase 1: // what's new\r\n\t\t\t\t\t\tvm.summaryNewData.totalWhatNews -= count;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 2: // updated favorite\r\n\t\t\t\t\t\tvm.summaryNewData.totalFavorities -= count;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction detectBrowser() {\r\n\t\t\tvar ieVersion = msieversion();\r\n\t\t\tif (ieVersion > 0 && ieVersion < 9) {\r\n\t\t\t\tvm.unsupportBrowserMessage = $sce.trustAsHtml(String.format(globalResources.UnsupportedBrowser + '' + HandbookConfiguration.OldHandbookUrl + ''));\r\n\t\t\t\tangular.element('#sidebar-wrapper').addClass('toggle-sidebar');\r\n\t\t\t\tangular.element('#resizeBar').addClass('toggle-sidebar');\r\n\t\t\t\tangular.element('#wrapper').addClass('toggle-wrapper');\r\n\t\t\t\tangular.element('.tabbable').addClass('toggle-mainview');\r\n\t\t\t\t$state.go(handbookActions.UnsupportBrowser, {});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction gridConfiguration() {\r\n\t\t\tgetGridSetting(vm.commonGridSettingKey);\r\n\t\t\tgetColumnsDefinition(vm.commonGridSettingKey);\r\n\t\t\tvm.commonColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n\r\n\t\t\tgetGridSetting(vm.readingListGridSettingKey);\r\n\t\t\tgetColumnsDefinition(vm.readingListGridSettingKey);\r\n\t\t\tvm.readingListColumnsDefinition = angular.copy(optionalColumnsDenifinition);\r\n\t\t}\r\n\r\n\t\tfunction loadWhatNew() {\r\n\t\t\tif (vm.whatNewData[vm.selectedOption].data && vm.whatNewData[vm.selectedOption].data.length > 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get(handbookRequests.GetRecentlyApprovedDocumentsProcessesRequest, { params: { periodOption: vm.selectedOption, showLoading: true } })\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\t\tvm.whatNewData[vm.selectedOption].data = data;\r\n\t\t\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\t\t\tupdateTotalWhatNew();\r\n\t\t\t\t\t\t\tupdateNewestDocuments(vm.whatNewData[vm.selectedOption].data, 1);\r\n\t\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\t\t\tupdateAttachmentsForProcesses(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\t\t\tvm.periodWhatNewOptions[vm.selectedOption].isLoaded = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn $http.get(handbookRequests.GetRecentlyApprovedDocumentsRequest, { params: { periodOption: vm.selectedOption, showLoading: true } })\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tvm.whatNewData[vm.selectedOption].data = data;\r\n\t\t\t\t\tupdateAttachmentsForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.whatNewData[vm.selectedOption].data);\r\n\t\t\t\t\tupdateTotalWhatNew();\r\n\t\t\t\t\tupdateNewestDocuments(vm.whatNewData[vm.selectedOption].data, 1);\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction updateTotalWhatNew() {\r\n\t\t\tvm.summaryNewData.totalWhatNews = getNewCount(vm.whatNewData[vm.selectedOption].data);\r\n\t\t}\r\n\r\n\t\tfunction loadFavorite() {\r\n\t\t\tif (vm.favoriteData && vm.favoriteData.length > 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get(handbookRequests.GetProcessAndDocumentLatestFavoriteRequest, {\r\n\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\tshowLoading: true,\r\n\t\t\t\t\t\t\tincludeInterconnectedProcess: vm.enableInterconnectedProcess\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tvm.favoriteData = data;\r\n\t\t\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\t\tupdateTotalNewestFavorites();\r\n\t\t\t\t\t\t\tupdateNewestDocuments(vm.favoriteData, 2);\r\n\t\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\t\tupdateAttachmentsForProcesses(vm.favoriteData);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn $http\r\n\t\t\t\t.get(handbookRequests.GetLatestFavoriteRequest, {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data) {\r\n\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\tvm.favoriteData = data;\r\n\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\tdocumentService.getAgreeFilesForDocuments(vm.favoriteData);\r\n\t\t\t\t\t\tupdateTotalNewestFavorites();\r\n\t\t\t\t\t\tupdateNewestDocuments(vm.favoriteData, 2);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction loadReadingDocumentsLists() {\r\n\t\t\tif (!vm.readingListEnabled) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (vm.allReadingDocuments && vm.allReadingDocuments.length > 0)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tif (vm.enabledProcessModule) {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get('/api/CombineDocumentAndProcess/GetReadingDocumentsAndProcessesList', {\r\n\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tdata.forEach(function (item) {\r\n\t\t\t\t\t\t\t\tif (item.confirmDate) {\r\n\t\t\t\t\t\t\t\t\tif (item.readingReceiptsExpire) {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsExpired, item.confirmDate, item.readingReceiptValidity);\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsNoExpired, item.confirmDate);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tupdateAttachmentsForDocuments(data);\r\n\t\t\t\t\t\t\tupdateAttachmentsForProcesses(data);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t(data || []).forEach(function (item) {\r\n\t\t\t\t\t\t\t//todo: compare with id instead\r\n\t\t\t\t\t\t\tvar existing = vm.readingList.filter(function (d) {\r\n\t\t\t\t\t\t\t\treturn d.readingListId == item.readingListId;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tif (!existing || !existing.length) {\r\n\t\t\t\t\t\t\t\tvm.readingList.push({\r\n\t\t\t\t\t\t\t\t\treadingListId: item.readingListId,\r\n\t\t\t\t\t\t\t\t\treadingListName: item.readingListName,\r\n\t\t\t\t\t\t\t\t\treadingReceiptValidity: item.readingReceiptValidity,\r\n\t\t\t\t\t\t\t\t\treadingReceiptsExpire: item.readingReceiptsExpire,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedDate: item.readingListCreatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedDate: item.readingListUpdatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedBy: item.readingListCreatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedBy: item.readingListUpdatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListDescription: item.readingListDescription\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tvm.allReadingDocuments = decorateDocumentReadingListName(data);\r\n\t\t\t\t\t\tvm.summaryNewData.totalReadingDocuments = vm.allReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.allReadingDocuments)\r\n\t\t\t\t\t\tupdateAttachmentsForProcesses(vm.allReadingDocuments)\r\n\t\t\t\t\t\tvm.documentsGroups = getDocumentGroupsByReadingListId(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.missingReadingDocuments = getMissingReadingDocuments(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.summaryNewData.totalMissingReadingDocuments = vm.missingReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tvm.documentsGroups.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.tooltips = generateReadingListTooltip(item);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn $http\r\n\t\t\t\t\t.get('/api/UserDocuments/GetReadingDocumentsList', {\r\n\t\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tdata.forEach(function (item) {\r\n\t\t\t\t\t\t\t\tif (item.confirmDate) {\r\n\t\t\t\t\t\t\t\t\tif (item.readingReceiptsExpire) {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsExpired, item.confirmDate, item.readingReceiptValidity);\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\titem.tooltipExpired = String.format(globalResources.TooltipReadingReceiptsNoExpired, item.confirmDate);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t(data || []).forEach(function (document) {\r\n\t\t\t\t\t\t\t//todo: compare with id instead\r\n\t\t\t\t\t\t\tvar existing = vm.readingList.filter(function (d) {\r\n\t\t\t\t\t\t\t\treturn d.readingListId == document.readingListId;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tif (!existing || !existing.length) {\r\n\t\t\t\t\t\t\t\tvm.readingList.push({\r\n\t\t\t\t\t\t\t\t\treadingListId: document.readingListId,\r\n\t\t\t\t\t\t\t\t\treadingListName: document.readingListName,\r\n\t\t\t\t\t\t\t\t\treadingReceiptValidity: document.readingReceiptValidity,\r\n\t\t\t\t\t\t\t\t\treadingReceiptsExpire: document.readingReceiptsExpire,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedDate: document.readingListCreatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedDate: document.readingListUpdatedDate,\r\n\t\t\t\t\t\t\t\t\treadingListCreatedBy: document.readingListCreatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListUpdatedBy: document.readingListUpdatedBy,\r\n\t\t\t\t\t\t\t\t\treadingListDescription: document.readingListDescription\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tvm.allReadingDocuments = decorateDocumentReadingListName(angular.copy(data));\r\n\t\t\t\t\t\tvm.summaryNewData.totalReadingDocuments = vm.allReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tupdateAttachmentsForDocuments(vm.allReadingDocuments)\r\n\t\t\t\t\t\tvm.documentsGroups = getDocumentGroupsByReadingListId(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.missingReadingDocuments = getMissingReadingDocuments(vm.allReadingDocuments);\r\n\t\t\t\t\t\tvm.summaryNewData.totalMissingReadingDocuments = vm.missingReadingDocuments.length;\r\n\r\n\t\t\t\t\t\tvm.documentsGroups.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.tooltips = generateReadingListTooltip(item);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction generateReadingListTooltip(row) {\r\n\r\n\t\t\tvar groups = vm.readingList.filter(function (d) {\r\n\t\t\t\treturn d.readingListName == row.templateName;\r\n\t\t\t});\r\n\r\n\t\t\tvar group = groups[0];\r\n\t\t\tvar result = \"
\";\r\n\r\n\t\t\tresult += getElementForTooltips(globalResources.Name, group.readingListName);\r\n\t\t\tvar createdDate = (group.readingListCreatedDate != null && group.readingListCreatedDate != 'null') ? group.readingListCreatedDate : '';\r\n\t\t\tvar updatedDate = (group.readingListUpdatedDate != null && group.readingListUpdatedDate != 'null') ? group.readingListUpdatedDate : '';\r\n\t\t\tresult += getElementForTooltips(globalResources.CreatedDate, createdDate);\r\n\t\t\tresult += getElementForTooltips(globalResources.CreatedBy, group.readingListCreatedBy);\r\n\t\t\tresult += getElementForTooltips(globalResources.UpdatedDate, updatedDate);\r\n\t\t\tresult += getElementForTooltips(globalResources.UpdatedBy, group.readingListUpdatedBy);\r\n\t\t\tif (group.readingReceiptsExpire) {\r\n\r\n\t\t\t\tresult += getElementForTooltips(globalResources.Validity, group.readingReceiptValidity + \" \" + globalResources.Months);\r\n\t\t\t}\r\n\t\t\tresult += getElementForTooltips(globalResources.Description, group.readingListDescription);\r\n\t\t\tresult += \"
\";\r\n\t\t\treturn result;\r\n\t\t}\r\n\r\n\t\tfunction loadHearingDocuments() {\r\n\t\t\tif (!vm.hearingEnabled)\r\n\t\t\t\treturn;\r\n\t\t\tif ((vm.aWaitingHearings && vm.aWaitingHearings.length > 0) || (vm.publicHearings && vm.publicHearings.length > 0))\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar params = {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tpageIndex: 0,\r\n\t\t\t\t\tpageSize: 0,\r\n\t\t\t\t\tshowLoading: true\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\treturn $http.get(handbookRequests.GetHearingDocumentsRequest, params)\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tvm.aWaitingHearings = data.awaitingHearings ? data.awaitingHearings.filter(x => !x.hidden) : [];\r\n\t\t\t\t\t\tvm.publicHearings = data.publicHearings ? data.publicHearings.filter(x => !x.hidden) : [];\r\n\r\n\t\t\t\t\t\tvm.aWaitingHearings.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.information = _buildDocumentTooltip(item);\r\n\t\t\t\t\t\t\titem.isPublic = item.isPublic ? globalResources.Yes : globalResources.No;\r\n\t\t\t\t\t\t\titem.folderName = '' + item.folderName;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tvm.publicHearings.forEach(function (item) {\r\n\t\t\t\t\t\t\titem.information = _buildDocumentTooltip(item);\r\n\t\t\t\t\t\t\titem.isPublic = item.isPublic ? globalResources.Yes : globalResources.No;\r\n\t\t\t\t\t\t\titem.folderName = '' + item.folderName;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tloadHearingProcesses();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction loadHearingProcesses() {\r\n\t\t\tif (!vm.enabledProcessModule) return;\r\n\r\n\t\t\tgetProcessAwaitingHearings();\r\n\t\t\tgetProcessPublicHearings();\r\n\t\t}\r\n\r\n\t\tfunction getProcessAwaitingHearings() {\r\n\t\t\t$http\r\n\t\t\t\t.get(handbookRequests.GetProcessAwaitingHearing, {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tvm.processAwaitingHearings = data;\r\n\t\t\t\t\t\tcombineProcessHearings(vm.aWaitingHearings, vm.processAwaitingHearings);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.checkHearingTab = vm.aWaitingHearings.length || vm.publicHearings.length;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction getProcessPublicHearings() {\r\n\t\t\t$http\r\n\t\t\t\t.get(handbookRequests.GetProcessPublicHearing, {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tshowLoading: true\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.success(function (data, status, headers, config) {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tvm.processPublicHearings = data;\r\n\t\t\t\t\t\tcombineProcessHearings(vm.publicHearings, vm.processPublicHearings);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tvm.checkHearingTab = vm.aWaitingHearings.length || vm.publicHearings.length;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction combineProcessHearings(documents, processes) {\r\n\t\t\tif (processes) {\r\n\t\t\t\tprocesses.forEach(function (p) {\r\n\t\t\t\t\tvar d = {\r\n\t\t\t\t\t\tagreeFiles: [],\r\n\t\t\t\t\t\tapprovalStatus: \"Hearing\",\r\n\t\t\t\t\t\tapprovedBy: p.approvedBy,\r\n\t\t\t\t\t\tapprovedDate: p.approvedDate,\r\n\t\t\t\t\t\tapproverResponsible: null,\r\n\t\t\t\t\t\tattachments: null,\r\n\t\t\t\t\t\tchapterLevel: 0,\r\n\t\t\t\t\t\tcreatedDate: p.createdDate,\r\n\t\t\t\t\t\tdeleted: p.deleted,\r\n\t\t\t\t\t\tdocumentIcon: \"typcn typcn-document-text\",\r\n\t\t\t\t\t\tdocumentId: p.id,\r\n\t\t\t\t\t\tdocumentStatus: 3,\r\n\t\t\t\t\t\tdraft: p.IsDraft,\r\n\t\t\t\t\t\tdueDate: p.dueDate,\r\n\t\t\t\t\t\tdueDateDisplay: null,\r\n\t\t\t\t\t\tentityId: p.entityId,\r\n\t\t\t\t\t\texpirationDate: null,\r\n\t\t\t\t\t\texpired: false,\r\n\t\t\t\t\t\texpiredDate: p.expiredDate,\r\n\t\t\t\t\t\tfeedBackCount: 0,\r\n\t\t\t\t\t\tfeedBackDislike: 0,\r\n\t\t\t\t\t\tfeedBackLike: 0,\r\n\t\t\t\t\t\tfeedBackNull: 0,\r\n\t\t\t\t\t\tfolderIcon: \"f-normal typcn typcn-folder\",\r\n\t\t\t\t\t\tareaId: p.areaId,\r\n\t\t\t\t\t\tfolderName: ' ' + p.folderName,\r\n\t\t\t\t\t\thandbookId: 0,\r\n\t\t\t\t\t\thasAgreeFiles: false,\r\n\t\t\t\t\t\thasAttachment: false,\r\n\t\t\t\t\t\tid: p.id,\r\n\t\t\t\t\t\tinternetDocument: p.internetDocument,\r\n\t\t\t\t\t\tisAddNewVirtual: false,\r\n\t\t\t\t\t\tisHearing: false,\r\n\t\t\t\t\t\tisPublic: p.isPublic ? 'Yes' : 'No',\r\n\t\t\t\t\t\tknowledgeTypeId: 0,\r\n\t\t\t\t\t\tlastContentEdit: \"\",\r\n\t\t\t\t\t\tlocation: p.location,\r\n\t\t\t\t\t\tmetatagValue: null,\r\n\t\t\t\t\t\tname: p.name,\r\n\t\t\t\t\t\torder: p.order,\r\n\t\t\t\t\t\torgiginApprovedDate: null,\r\n\t\t\t\t\t\torgiginPublishedDate: p.publishedDate,\r\n\t\t\t\t\t\tpermissions: null,\r\n\t\t\t\t\t\tpublishedDate: p.publishedDate,\r\n\t\t\t\t\t\treadCount: 0,\r\n\t\t\t\t\t\tregisterItemItemId: 0,\r\n\t\t\t\t\t\tresponsible: p.responsible,\r\n\t\t\t\t\t\tresponsibleId: p.responsibleId,\r\n\t\t\t\t\t\ttemplate: null,\r\n\t\t\t\t\t\ttemplateId: null,\r\n\t\t\t\t\t\ttype: 0,\r\n\t\t\t\t\t\tupdatedDate: p.updatedDate,\r\n\t\t\t\t\t\tversion: p.version,\r\n\t\t\t\t\t\tvirtual: false,\r\n\t\t\t\t\t\tisProcess: p.isProcess,\r\n\t\t\t\t\t\tprocessClassification: p.processClassification,\r\n\t\t\t\t\t\tinformation: _buildDocumentTooltip(p)\r\n\t\t\t\t\t};\r\n\t\t\t\t\tdocuments.push(d);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tdocuments.sort(function (x, y) {\r\n\t\t\t\t\tvar d1 = x.dueDate.toString().substr(6, 4) + x.dueDate.toString().substr(3, 2) + x.dueDate.toString().substr(0, 2);\r\n\t\t\t\t\tvar d2 = y.dueDate.toString().substr(6, 4) + y.dueDate.toString().substr(3, 2) + y.dueDate.toString().substr(0, 2);\r\n\t\t\t\t\treturn d1 > d2 ? -1 : (d1 == d2 ? 0 : 1);\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction _buildDocumentTooltip(row) {\r\n\t\t\tvar tooltipData = [];\r\n\t\t\ttooltipData.push({ label: globalResources.LinkedVirtually, data: row.virtual ? globalResources.Yes : globalResources.No });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Title, data: row.name });\r\n\t\t\tif (row.isProcess && row.processClassification && row.processClassification == vm.processClassification.ProcessInterconnected) {\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Type, data: E.documentExportColumns.interconnectedProcessName.header });\r\n\t\t\t} else if (!row.isProcess || (row.processClassification && row.processClassification == vm.processClassification.Processes)) {\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Type, data: row.template });\r\n\t\t\t}\r\n\t\t\ttooltipData.push({ label: row.isProcess ? globalResources.ProcessArea : globalResources.CommonGridColumns.Chapter, data: row.folderName });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Location, data: row.location });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Version, data: row.version });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.DocumentId, data: row.isProcess ? row.id : row.documentId });\r\n\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.ApprovedDate, data: row.approvedDate });\r\n\t\t\tif (!vm.publishedVersion) {\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Approver, data: row.approvedBy });\r\n\t\t\t\ttooltipData.push({ label: globalResources.CommonGridColumns.Responsible, data: row.responsible });\r\n\t\t\t}\r\n\t\t\treturn tooltipData;\r\n\t\t}\r\n\r\n\t\tfunction hearingRowClick(id, isProcess = false, version, row) {\r\n\t\t\tvar linkDirect = isProcess ? urlOpenProcessHearing : urlOpenHearingFeedback;\r\n\t\t\t//redirect to hearing feedback page\r\n\t\t\tif (isProcess && (!row.processClassification || row.processClassification == Number(vm.processClassification.Processes))) {\r\n\t\t\t\twindow.open(String.format(linkDirect, String(id), String(version)));\r\n\t\t\t}\r\n\t\t\telse if (isProcess && (row.processClassification && row.processClassification == Number(vm.processClassification.ProcessInterconnected))) {\r\n\t\t\t\twindow.open(String.format(urlOpenInterconnectedHearing, String(id), String(version)));\r\n\t\t\t}\r\n\t\t\telse if (!isProcess) {\r\n\t\t\t\twindow.open(String.format(urlOpenHearingFeedback, String(id)));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getMissingReadingDocuments(documents) {\r\n\t\t\tdocumentService.getAgreeFilesForDocuments(documents);\r\n\t\t\tvar isNotConfirmId = [];\r\n\t\t\tvar missingDocuments = [];\r\n\t\t\tdocuments.forEach((document) => {\r\n\t\t\t\tvar existing = isNotConfirmId.find(function (id) {\r\n\t\t\t\t\treturn id === document.documentId;\r\n\t\t\t\t});\r\n\t\t\t\tif (!document.isConfirmed && !existing) {\r\n\t\t\t\t\tisNotConfirmId.push(document.documentId);\r\n\t\t\t\t\tmissingDocuments.push(document);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn missingDocuments;\r\n\t\t}\r\n\r\n\t\tfunction getDocumentGroupsByReadingListId(documents) {\r\n\r\n\t\t\tif (!vm.readingList || !vm.readingList.length) {\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\r\n\t\t\tif (!documents || !documents.length) {\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t\tvar documentsGroups = [];\r\n\t\t\tfor (var i = 0; i < vm.readingList.length; i++) {\r\n\t\t\t\tvar readingList = vm.readingList[i];\r\n\t\t\t\tvar documentsOfEachReadingList = [];\r\n\t\t\t\tdocuments.forEach(function (item) {\r\n\t\t\t\t\tif (item.readingListId == readingList.readingListId) {\r\n\t\t\t\t\t\tdocumentsOfEachReadingList.push(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (documentsOfEachReadingList.length) {\r\n\t\t\t\t\tdocumentsGroups.push({\r\n\t\t\t\t\t\tdocuments: documentsOfEachReadingList,\r\n\t\t\t\t\t\ttemplateName: readingList.readingListName,\r\n\t\t\t\t\t\ttotalDocuments: documentsOfEachReadingList.length\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfor (var i = 0; i < documentsGroups.length; i++) {\r\n\t\t\t\tdocumentsGroups[i].documents = $filter('orderBy')(documentsGroups[i].documents, ['sort', 'name']);\r\n\t\t\t}\r\n\t\t\treturn documentsGroups;\r\n\t\t}\r\n\r\n\t\tfunction decorateDocumentReadingListName(documents) {\r\n\t\t\tvar results = [];\r\n\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\tvar document = documents[i];\r\n\t\t\t\tvar existing = results.filter(function (item) {\r\n\t\t\t\t\treturn item.documentId == document.documentId;\r\n\t\t\t\t});\r\n\t\t\t\tif (existing.length) {\r\n\t\t\t\t\tvar existingIndex = results.indexOf(existing[0]);\r\n\t\t\t\t\tresults[existingIndex].readingListName = (results[existingIndex].readingListName + \", \").concat(document.readingListName);\r\n\t\t\t\t\tdocument.readingListName = results[existingIndex].readingListName;\r\n\t\t\t\t}\r\n\t\t\t\tresults.push(document);\r\n\t\t\t}\r\n\t\t\treturn results;\r\n\t\t}\r\n\r\n\t\tfunction getDistinctItems(items) {\r\n\t\t\tvar distincItems = [];\r\n\t\t\titems.forEach(function (item) {\r\n\t\t\t\tvar existing = distincItems.filter(function (v, i) {\r\n\t\t\t\t\treturn v === item;\r\n\t\t\t\t});\r\n\t\t\t\tif (!existing.length) {\r\n\t\t\t\t\tdistincItems.push(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn distincItems;\r\n\t\t}\r\n\r\n\t\tfunction updateTotalNewestFavorites() {\r\n\t\t\tvm.summaryNewData.totalFavorities = getNewCount(vm.favoriteData);\r\n\t\t}\r\n\r\n\t\tfunction getNewCount(data) {\r\n\t\t\tvar countItemNew = 0;\r\n\t\t\t(data || []).forEach(function (item) {\r\n\t\t\t\tif (item.isNew) {\r\n\t\t\t\t\tcountItemNew += 1;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn countItemNew;\r\n\t\t}\r\n\r\n\t\tfunction adjustContentPosition() {\r\n\t\t\tvar tabState = tabStateService.getState(tabStateType.homeTabState);\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentPosition(tabState, tabStateType.homeTabState);\r\n\t\t\t}, 0, false);\r\n\t\t}\r\n\r\n\t\tfunction onRowClick($event) {\r\n\t\t\tfavoriteService.setFavoriteNodeState({ isFavorited: false });\r\n\t\t\tdocumentService.goToDocument($event);\r\n\t\t}\r\n\r\n\t\tfunction adjustMenuPosition(toggleSidebar, tabId) {\r\n\t\t\t// Extra processing for 'Updated Favorite' and What's new tab. It depends on the sidebar toggle.\r\n\t\t\tif (tabId == homeTabs.updatedFavorite) {\r\n\t\t\t\tvar updateFavoritePrintbox = angular.element('#' + homeContent.updatedFavoritePage + ' #print-box2');\r\n\t\t\t\tif (toggleSidebar == true) {\r\n\t\t\t\t\tupdateFavoritePrintbox.removeClass(avoidCustomPageClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tupdateFavoritePrintbox.addClass(avoidCustomPageClass);\r\n\t\t\t\t}\r\n\t\t\t} else if (tabId == homeTabs.whatNew) {\r\n\t\t\t\tvar whatNewPrintbox = angular.element('#' + homeContent.whatNewPage + ' #print-box2');\r\n\t\t\t\tif (toggleSidebar == true) {\r\n\t\t\t\t\twhatNewPrintbox.removeClass(avoidCustomPageClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twhatNewPrintbox.addClass(avoidCustomPageClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateAttachmentsForDocuments(documents) {\r\n\t\t\tvar documentIds = [];\r\n\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\tif (documents[i].hasAttachment && !documents[i].isProcess) {\r\n\t\t\t\t\tdocumentIds.push(documents[i].id);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdocumentIds = getDistinctItems(documentIds);\r\n\t\t\tif (documentIds.length) {\r\n\t\t\t\t$http\r\n\t\t\t\t\t.post('/api/Documents/GetAttachmentsForDocuments', { documentIds: documentIds })\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tif (data && data.length) {\r\n\t\t\t\t\t\t\tdata.forEach(function (x) {\r\n\t\t\t\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (var i = 0; i < documents.length; i++) {\r\n\t\t\t\t\t\t\tif (documents[i].hasAttachment && !documents[i].isProcess) {\r\n\t\t\t\t\t\t\t\tdocuments[i].attachments = [];\r\n\t\t\t\t\t\t\t\tfor (var j = 0; j < data.length; j++) {\r\n\t\t\t\t\t\t\t\t\tif (data[j].documentId == documents[i].id) {\r\n\t\t\t\t\t\t\t\t\t\tdocuments[i].attachments.push(data[j]);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction updateAttachmentsForProcesses(processes) {\r\n\t\t\tif (!processes || !processes.length) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tvar processEntityIds = [];\r\n\t\t\tvar processInterconnectedEntityIds = [];\r\n\t\t\tprocesses.forEach(process => {\r\n\t\t\t\tif (!process.hasAttachment || !process.isProcess) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (process.processClassification && process.processClassification == vm.processClassificationTypes.ProcessInterconnected) {\r\n\t\t\t\t\tprocessInterconnectedEntityIds.push(process.entityId);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tprocessEntityIds.push(process.entityId);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tprocessEntityIds = getDistinctItems(processEntityIds);\r\n\t\t\tif (processEntityIds.length) {\r\n\t\t\t\t$http.get('/api/Processes/GetAttachmentsForProcesses', {\r\n\t\t\t\t\tparams: { processEntityIds },\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tsetAttachmentForProcesses(data, processes);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tprocessInterconnectedEntityIds = getDistinctItems(processInterconnectedEntityIds);\r\n\t\t\tif (processInterconnectedEntityIds.length) {\r\n\t\t\t\t$http.get('/api/ProcessesInterconnected/GetAttachmentsForProcessesInterconnected', {\r\n\t\t\t\t\tparams: { processInterconnectedEntityIds },\r\n\t\t\t\t})\r\n\t\t\t\t\t.success(function (data) {\r\n\t\t\t\t\t\tsetAttachmentForProcesses(data, processes);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfunction goToRegisterDeviation() {\r\n\t\t\twindow.open(HandbookConfiguration.DeviationUrl);\r\n\t\t}\r\n\r\n\t\tfunction goToRiskModule() {\r\n\t\t\twindow.open(getBackendUrl() + commonAdd + 'rm');\r\n\t\t}\r\n\r\n\t\tfunction goToChecklist() {\r\n\t\t\tvar url = angular.copy($location.$$url);\r\n\t\t\turl = url.toLowerCase();\r\n\t\t\tif (url.indexOf('checklist') > -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvm.linkToChecklist = $sce.trustAsResourceUrl(commonAdd + 'checklist/category/main?isHideTopbar');\r\n\t\t}\r\n\r\n\t\tfunction goTochecklistFromUrl(url) {\r\n\t\t\tlet linkChecklist = '';\r\n\t\t\tif (url.indexOf('home') > -1 || url == 'checklist') {\r\n\t\t\t\tlinkChecklist = 'checklist';\r\n\t\t\t} else {\r\n\t\t\t\tlinkChecklist = url.substring(1, url.length).replace('checklist-fe', 'checklist');\r\n\t\t\t}\r\n\t\t\tvm.linkToChecklist = $sce.trustAsResourceUrl('/' + linkChecklist + '?isHideTopbar');\r\n\t\t}\r\n\r\n\t\tfunction setTabPanelActive() {\r\n\t\t\tvar tabPanel = $(\".home-content>.tab-pane.active\");\r\n\t\t\tif (tabPanel) {\r\n\t\t\t\tvar id = getTabId(tabPanel);\r\n\t\t\t\tswitch (id) {\r\n\t\t\t\t\tcase 'tab1':\r\n\t\t\t\t\t\ttriggerTabClicked('#master-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab2':\r\n\t\t\t\t\t\ttriggerTabClicked('#what-new-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab3':\r\n\t\t\t\t\t\ttriggerTabClicked('#favorite-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab4':\r\n\t\t\t\t\t\ttriggerTabClicked('#reading-list-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab5':\r\n\t\t\t\t\t\ttriggerTabClicked('#hearings-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab6':\r\n\t\t\t\t\t\ttriggerTabClicked('#checklist-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tab9':\r\n\t\t\t\t\t\ttriggerTabClicked('#new-annual-cycle-tab', true);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfunction getTabId(arrTabPanelActive) {\r\n\t\t\tfor (var i = 0; i < arrTabPanelActive.length; i++) {\r\n\t\t\t\tif (arrTabPanelActive[i].id.indexOf('tab') > -1)\r\n\t\t\t\t\treturn arrTabPanelActive[i].id;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$(window).on('resize', function () {\r\n\t\t\t// This function use to adjust the height of document content/folder content when user try to resize browser viewport.\r\n\t\t\t// TODO: If we regardless the height of document/folder when user resize browser viewport, we can remove this code.\r\n\t\t\tvar currentTabState = tabStateService.getCurrentTabState();\r\n\t\t\tif (tabStateService.getCurrentStateType() == tabStateType.homeTabState) {\r\n\t\t\t\tif (currentTabState == null) {\r\n\t\t\t\t\tvar tabState = localStorageService.getItem(tabStateType.homeTabState);\r\n\t\t\t\t\tcurrentTabState = tabState;\r\n\t\t\t\t}\r\n\t\t\t\ttabStateService.adjustContentPosition(currentTabState, tabStateType.homeTabState);\r\n\t\t\t}\r\n\t\t\t//Fix for safari When local storage is not enable\r\n\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.Normal) {\r\n\t\t\t\ttabStateService.adjustContentHeightHomeStartPageTab();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfunction goToAnnualCycle() {\r\n\t\t\tvar path = angular.copy($location.$$url);\r\n\t\t\tpath = path.toLowerCase();\r\n\t\t\tif (path.indexOf('ac/') > -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconst url = getBackendUrl();\r\n\t\t\tvar linkAnnualCycle = url + commonAdd + 'ac/home';\r\n\t\t\tvm.linkAnnualCycle = $sce.trustAsResourceUrl(linkAnnualCycle + '?hideTopBar');\r\n\t\t}\r\n\r\n\t\tfunction goToAnnualCycleFromUrl() {\r\n\t\t\tvar path = angular.copy($location.$$url);\r\n\t\t\tvar linkAnnualCycle = getBackendUrl() + commonAdd + path.substring(1, path.length);\r\n\t\t\tvm.linkAnnualCycle = $sce.trustAsResourceUrl(linkAnnualCycle + '?hideTopBar');\r\n\t\t}\r\n\r\n\t\tfunction setAttachmentForProcesses(attachments, processes) {\r\n\t\t\tif (attachments && attachments.length) {\r\n\t\t\t\tattachments.forEach(x => {\r\n\t\t\t\t\tx.itemId = x.extraId ? x.extraId : x.itemId;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tfor (var i = 0; i < processes.length; i++) {\r\n\t\t\t\tif (processes[i].hasAttachment && processes[i].isProcess) {\r\n\t\t\t\t\tprocesses[i].attachments = processes[i].attachments && processes[i].attachments.length ? processes[i].attachments : [];\r\n\t\t\t\t\tprocesses[i].attachmentHtml = processes[i].attachmentHtml && processes[i].attachmentHtml.length ? processes[i].attachmentHtml : '';\r\n\t\t\t\t\tfor (var j = 0; j < attachments.length; j++) {\r\n\t\t\t\t\t\tif (attachments[j].processEntityId === processes[i].entityId\r\n\t\t\t\t\t\t\t|| attachments[j].processInterconnectedEntityId === processes[i].entityId) {\r\n\t\t\t\t\t\t\tprocesses[i].attachments.push(attachments[j]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('MainPageController', mainPageController);\r\n\r\n mainPageController.$inject = ['$scope', '$http', '$window', '$uibModal', '$location', 'hotkeys', 'resizeService',\r\n 'broadcastService', 'tabStateService', 'shortcutKeysService', 'localStorageService', 'npDialog',\r\n 'helpPagesService', '$sce', 'configService', 'commonService', '$q'];\r\n\r\n function mainPageController($scope, $http, $window, $uibModal, $location, hotkeys, resizeService,\r\n broadcastService, tabStateService, shortcutKeysService, localStorageService, npDialog,\r\n helpPagesService, $sce, configService, commonService, $q) {\r\n var vm = this;\r\n vm.translation = {\r\n aboutNetpowerHandbook: globalResources.About + ' ' + globalResources.NetpowerHandbook,\r\n changePassword: globalResources.ChangePassword,\r\n userManual: globalResources.UserManual\r\n };\r\n\r\n var urlParams = $location.url().split('/');\r\n vm.isEmbedUrl = false;\r\n vm.isHearingUrl = false;\r\n vm.isFolderUrl = false;\r\n vm.isDocumentUrl = false;\r\n vm.isMainUrl = false;\r\n if (urlParams != null && urlParams.length) {\r\n vm.isMainUrl = urlParams[1] == '';\r\n vm.isEmbedUrl = (urlParams[1] == 'embed' || urlParams[1] == 'annualCycle');\r\n vm.isFolderUrl = urlParams[1] == 'folder';\r\n vm.isDocumentUrl = urlParams[1] == 'document';\r\n vm.isHearingUrl = ((urlParams[3] == 'hearing') || (urlParams[3] == 'hearingfields') || urlParams[3] == 'compareWithEarlierVersion') || (urlParams[3] == 'viewsendtohearing');\r\n }\r\n\r\n vm.rememberedChangedWidth = 0;\r\n vm.userId = user.userId;\r\n vm.annualCycleHomeUrl = new URL('annualCycle/home', HandbookConfiguration.BackendURL).href;\r\n vm.isTest = configService.getBool(HandbookConfiguration.IsTest);\r\n vm.enabledAnnualCycle = configService.getBool(HandbookConfiguration.EnabledAnnualCycle);\r\n vm.publishedVersion = configService.getBool(HandbookConfiguration.PublishedVersion);\r\n vm.publicAlert = HandbookConfiguration.PublicAlert;\r\n vm.activityPopupSize = parseInt(HandbookConfiguration.ActivityPopupSize);\r\n vm.sidebarAdjustmentWidth = sidebarAdjustmentWidth;\r\n vm.autoHideSidebar = autoHideSidebar;\r\n vm.openMyReadingReceipt = openMyReadingReceipt;\r\n vm.changePassword = changePassword;\r\n vm.showStartpageImage = configService.getBool(HandbookConfiguration.ShowStartpageImage);\r\n vm.setMasterTab = setMasterTab;\r\n vm.changeFontsizeGuide = globalResources.ChangeFontsizeMessage;\r\n vm.toggleActivities = toggleActivities;\r\n vm.editActivity = editActivity;\r\n vm.stopPropagation = stopPropagation;\r\n vm.openAboutDialog = openAboutDialog;\r\n vm.changeColor = changeColor;\r\n vm.changeLanguage = changeLanguage;\r\n vm.keydown = keydown;\r\n vm.helpEnabled = configService.getBool(HandbookConfiguration.HelpEnabled);\r\n vm.goToHelpPages = goToHelpPages;\r\n vm.showSearchBoxHeader = false;\r\n vm.toggleSearchBox = toggleSearchBox;\r\n vm.LANGUAGES = LANGUAGES;\r\n vm.annualCyclePermissions = null;\r\n\r\n vm.currentActivityNotifyTab = 0 // 0: active tab\t1: upcoming tab\r\n vm.onChangeActivityNotifyTab = onChangeActivityNotifyTab;\r\n let currentPageIndexNotifyAc = 1;\r\n vm.activitiesNotify = [];\r\n \r\n vm.activeActivityCounter = 0;\r\n vm.calendarLoading = false;\r\n vm.calendarChangeTabLoading = false;\r\n vm.calendarLoadingMore = false;\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n vm.currentLanguage = commonService.getCurrentLanguageText();\r\n\r\n vm.changeFontsizeGuide = $sce.trustAsHtml(String.format('
{0}
', vm.changeFontsizeGuide));\r\n if (vm.enabledAnnualCycle) {\r\n getActiveActivitiesForNotificationCounter();\r\n }\r\n\r\n if (vm.isTest) {\r\n updatePositionForTestModeHeader();\r\n }\r\n\r\n var hasShownPublicAlert = localStorageService.getItem(hasShownPublicAlertKeyStorage);\r\n if (vm.publishedVersion && vm.publicAlert && !hasShownPublicAlert) {\r\n npDialog.showDialog(\r\n {\r\n type: dialogTypes.OK,\r\n message: vm.publicAlert,\r\n title: globalResources.Information\r\n }, function () { });\r\n localStorageService.setItem(hasShownPublicAlertKeyStorage, true);\r\n }\r\n }\r\n\r\n $(document).bind('click', function (event) {\r\n var isClickedElementChildOfPopup = $('#dropdownusername')\r\n .find(event.target)\r\n .length > 0;\r\n\r\n if (isClickedElementChildOfPopup)\r\n return;\r\n vm.showDropdownTopbar = false;\r\n angular.element('#dropdownusername').removeClass('open');\r\n $scope.$apply();\r\n });\r\n\r\n function toggleSearchBox() {\r\n vm.showSearchBoxHeader = !vm.showSearchBoxHeader;\r\n setTimeout(function () {\r\n tabStateService.adjustContentHeightPosition(tabStateType.documentTabState);\r\n }, 0)\r\n }\r\n\r\n function changeColor() {\r\n if (vm.showDropdownTopbar) {\r\n angular.element('#dropdownusername').addClass('open');\r\n } else {\r\n angular.element('#dropdownusername').removeClass('open');\r\n }\r\n };\r\n\r\n function changeLanguage(language) {\r\n $http.post(handbookRequests.ChangeLanguage,\r\n {\r\n language: language\r\n }).then(function (data, status, headers, config) {\r\n vm.currentLanguage = commonService.getCurrentLanguageText();\r\n user.language = vm.currentLanguage;\r\n var hasShownPublicAlert = localStorageService.getItem(hasShownPublicAlertKeyStorage);\r\n localStorageService.clearAll();\r\n if (hasShownPublicAlert) {\r\n localStorageService.setItem(hasShownPublicAlertKeyStorage, hasShownPublicAlert);\r\n }\r\n location.reload();\r\n });\r\n };\r\n\r\n function setMasterTab() {\r\n tabStateService.setState(tabStateType.homeTabState, homeTabs.startPage);\r\n }\r\n\r\n function sidebarAdjustmentWidth() {\r\n if ($window.innerWidth > 980) {\r\n _setWidthWhenLargerThan980px();\r\n }\r\n else {\r\n _setWidthWhenSmallerThan980px();\r\n }\r\n\r\n broadcastService(broadcastType.toggleSidebar, $scope.toggleSidebar);\r\n };\r\n\r\n $scope.$on(broadcastType.hideSidebarInMobileWhenOpenDocument, function (e, target) {\r\n $scope.toggleSidebar = !$scope.toggleSidebar;\r\n sidebarAdjustmentWidth();\r\n setTimeout(() => {\r\n angular.element('#document-content-information-id').css('paddingLeft', '0px');\r\n }, 0);\r\n });\r\n\r\n function autoHideSidebar() {\r\n if ($window.innerWidth < 960 && angular.element('#sidebar-wrapper').hasClass('toggle-sidebar')) {\r\n angular.element('#sidebar-wrapper').removeClass('toggle-sidebar');\r\n angular.element('#resizeBar').removeClass('toggle-sidebar');\r\n angular.element('#wrapper').removeClass('toggle-wrapper');\r\n angular.element('.tabbable').removeClass('toggle-mainview');\r\n $scope.toggleSidebar = false;\r\n }\r\n };\r\n\r\n function _setWidthWhenLargerThan980px() {\r\n if (angular.element('#sidebar-wrapper').hasClass('toggle-sidebar')) {\r\n _resizeSidebarWithRememberedChangedWidth();\r\n }\r\n else {\r\n _rememberWidthChangedAndResizeToOrginalSize();\r\n }\r\n };\r\n\r\n function _setWidthWhenSmallerThan980px() {\r\n if (angular.element('#sidebar-wrapper').hasClass('toggle-sidebar')) {\r\n _rememberWidthChangedAndResizeToOrginalSize();\r\n }\r\n else {\r\n _resizeSidebarWithRememberedChangedWidth();\r\n }\r\n };\r\n\r\n function _rememberWidthChangedAndResizeToOrginalSize() {\r\n vm.rememberedChangedWidth = angular.element(elementId.sidebarWrapper).width();\r\n resizeService.resizeToOrginalSize();\r\n };\r\n\r\n function _resizeSidebarWithRememberedChangedWidth() {\r\n if (vm.rememberedChangedWidth != 0 && vm.rememberedChangedWidth != 320) {\r\n resizeService.resizeToChangedSize(vm.rememberedChangedWidth);\r\n }\r\n };\r\n\r\n function openMyReadingReceipt() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/home/templates/myReadingReceipts.html',\r\n controller: controllers.myReadingReceiptsController + ' as vm',\r\n size: 'lg',\r\n resolve: {\r\n items: function () {\r\n }\r\n }\r\n });\r\n };\r\n\r\n function changePassword() {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: '/app/components/account/templates/changePassword.html',\r\n controller: 'ChangePasswordController as vm',\r\n size: 'md'\r\n });\r\n }\r\n\r\n let currentTabPromise = undefined;\r\n // 0: active tab\t1: upcoming tab\r\n function onChangeActivityNotifyTab(value) {\r\n if (vm.currentActivityNotifyTab === value)\r\n return;\r\n\r\n if (currentTabPromise) {\r\n currentTabPromise.cancel();\r\n currentTabPromise = undefined;\r\n }\r\n \r\n vm.activitiesNotify = [];\r\n currentPageIndexNotifyAc = 1;\r\n vm.currentActivityNotifyTab = value;\r\n currentTabPromise = getActivitiesForNotifyPromise();\r\n\r\n setTimeout(() => {\r\n vm.calendarChangeTabLoading = true;\r\n currentTabPromise.promise.then(res => {\r\n vm.calendarChangeTabLoading = false;\r\n vm.activitiesNotify = res.data;\r\n observableScrollModal();\r\n }).catch(() => vm.calendarChangeTabLoading = false);\r\n }, 0);\r\n }\r\n\r\n function getActivitiesForNotifyPromise(pageIndex = 1) {\r\n switch (vm.currentActivityNotifyTab) {\r\n case 0:\r\n return getActiveActivitiesForNotification(pageIndex);\r\n case 1:\r\n return getUpcomingActivities(pageIndex);\r\n default:\r\n throw Error('invalid tab')\r\n }\r\n }\r\n\r\n function getActiveActivitiesForNotification(pageIndex = 1) {\r\n const def = $q.defer();\r\n const cancel = function () {\r\n def.resolve();\r\n };\r\n\r\n const promise = $http.get('/api/Activity/GetActiveActivitiesForNotification', {\r\n params: {\r\n pageIndex: pageIndex\r\n },\r\n timeout: def.promise\r\n }).then(function (response) {\r\n return response.data;\r\n });\r\n\r\n return {\r\n promise: promise,\r\n cancel: cancel\r\n };\r\n }\r\n\r\n function getUpcomingActivities(pageIndex = 1) {\r\n const def = $q.defer();\r\n const cancel = function () {\r\n def.resolve();\r\n };\r\n\r\n const promise = $http.get('/api/Activity/GetUpcomingActivities', {\r\n params: {\r\n pageIndex: pageIndex\r\n },\r\n timeout: def.promise\r\n }).then(function (response) {\r\n return response.data;\r\n });\r\n\r\n return {\r\n promise: promise,\r\n cancel: cancel\r\n };\r\n }\r\n\r\n function getActiveActivitiesForNotificationCounter() {\r\n $http.get('/api/Activity/GetActiveActivitiesForNotificationCounter').then(res => {\r\n vm.activeActivityCounter = res.data;\r\n });\r\n }\r\n\r\n function toggleActivities(event) {\r\n stopPropagation(event);\r\n const element = angular.element('.activity-notifications > div');\r\n if (!element)\r\n return;\r\n\r\n const visible = element.css('display') == 'block';\r\n angular.element('#sidebar_right').css('display', 'none');\r\n\r\n if (visible)\r\n return element.css('display', 'none');\r\n\r\n currentPageIndexNotifyAc = 1;\r\n vm.calendarLoading = true;\r\n\r\n getActivitiesForNotifyPromise().promise.then(res => {\r\n vm.activitiesNotify = res.data;\r\n vm.calendarLoading = false;\r\n if (vm.activitiesNotify.length) {\r\n element.css('display', 'block');\r\n observableScrollModal();\r\n }\r\n }).catch(() => {\r\n vm.calendarLoading = false;\r\n });\r\n }\r\n\r\n let loadMorePromise;\r\n function observableScrollModal() {\r\n angular.element(\"#activityCalendarModal\").scrollTop(0);\r\n setTimeout(() => {\r\n const activityModal = angular.element(\"#activityCalendarModal\");\r\n if (!activityModal)\r\n return;\r\n activityModal.scrollTop(0);\r\n\r\n activityModal.ready(\r\n function () {\r\n activityModal.off('scroll');\r\n activityModal.scroll(\r\n function () {\r\n const limit = activityModal.prop('scrollHeight') - activityModal.prop('clientHeight');\r\n if (limit === activityModal.scrollTop()) {\r\n if (loadMorePromise)\r\n return;\r\n loadMorePromise = getActivitiesForNotifyPromise(currentPageIndexNotifyAc + 1);\r\n vm.calendarLoadingMore = true;\r\n loadMorePromise.promise.then(\r\n res => {\r\n vm.calendarLoadingMore = false;\r\n loadMorePromise = null;\r\n currentPageIndexNotifyAc = res.pageIndex;\r\n vm.activitiesNotify = [...vm.activitiesNotify, ...res.data];\r\n }\r\n ).catch(() => vm.calendarLoadingMore = false);\r\n }\r\n }\r\n );\r\n }\r\n );\r\n }, 0);\r\n }\r\n\r\n\r\n function editActivity(activity) {\r\n angular.element('.activity-notifications > div').css('display', 'none');\r\n if (configService.getBool(HandbookConfiguration.ShowNewAnnualCycleDetailPage)) {\r\n window.open(String.format('/ac/activity/{0}', activity.activityId));\r\n return;\r\n }\r\n if (!vm.annualCyclePermissions) {\r\n $http\r\n .get('/api/AnnualCycle/GetAnnualCyclePermission')\r\n .success(function (data) {\r\n vm.annualCyclePermissions = data; \r\n navigateToEditActivityBackend(activity);\r\n });\r\n return;\r\n }\r\n navigateToEditActivityBackend(activity);\r\n }\r\n\r\n function navigateToEditActivityBackend(activity) {\r\n window.open(vm.annualCyclePermissions.annualCycleAdmin ? \r\n String.format('{0}ac/annualCycle/activities/{1}/edit', HandbookConfiguration.BackendURL, activity.activityId) :\r\n String.format('{0}ac/activity/{1}/edit', HandbookConfiguration.BackendURL, activity.activityId)\r\n )\r\n }\r\n\r\n function stopPropagation(event) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n function openAboutDialog() {\r\n $uibModal.open({\r\n templateUrl: '/app/components/home/templates/about.html',\r\n controller: 'AboutController as vm',\r\n size: 'md'\r\n });\r\n }\r\n\r\n hotkeys.bindTo($scope)\r\n .add({\r\n combo: shortcutKeysService.gotoStartpage.shortcut,\r\n description: 'Open start page', // The description just explain in code, not use in GUI\r\n callback: shortcutKeysService.gotoStartpage.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openFavouritesMenu.shortcut, // because shilf+alt+f is hotkey of browser, so we use ctrl instead.\r\n description: 'Open faviroute sidebar',\r\n callback: shortcutKeysService.openFavouritesMenu.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openDocumentsMenu.shortcut,\r\n description: 'Open document sidebar',\r\n callback: shortcutKeysService.openDocumentsMenu.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openSimpleSearch.shortcut,\r\n description: 'Open simple search. Set focus on search field in top bar so user can start typing',\r\n callback: shortcutKeysService.openSimpleSearch.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.navigateItemInSidebar.shortcut,\r\n description: 'Navigate folder in folder view.',\r\n callback: shortcutKeysService.navigateItemInSidebar.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.printFolderPDFIndex.shortcut,\r\n description: 'Print folder/document index PDF',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.printFolderPDFIndex.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.printDocumentPDFA4.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleFavorite.shortcut,\r\n description: 'Toggle folder favorite',\r\n callback: shortcutKeysService.toggleFavorite.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleEmailNotification.shortcut,\r\n description: 'Toggle email subscription',\r\n callback: shortcutKeysService.toggleEmailNotification.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleOnlyFolderEmailNotification.shortcut,\r\n description: 'Toggle only folder email subscription',\r\n callback: shortcutKeysService.toggleOnlyFolderEmailNotification.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openGridSetting.shortcut,\r\n description: 'Open grid settings. First column should have focus so user can use space to toggle and tab to go to next one',\r\n callback: shortcutKeysService.openGridSetting.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleFolderContentTab.shortcut,\r\n description: 'Toggle folder/document content tab',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.toggleFolderContentTab.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.toggleDocumentContentTab.method();\r\n } else {\r\n shortcutKeysService.toggleMasterHomeTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleFolderAboutTab.shortcut,\r\n description: 'Toggle folder/document about tab',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.toggleFolderAboutTab.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.toggleDocumentAboutTab.method();\r\n } else {\r\n shortcutKeysService.toggleWhatsNewsTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleDocumentMetadataTab.shortcut,\r\n description: 'Toggle metadata if enabled',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('document') > 0) {\r\n if (configService.getBool(HandbookConfiguration.MetadataEnabled)) {\r\n shortcutKeysService.toggleDocumentMetadataTab.method();\r\n } else {\r\n shortcutKeysService.toggleDocumentSearchInContentTab.method();\r\n }\r\n } else {\r\n shortcutKeysService.toggleUpdatedFavoriteTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleDocumentSearchInContentTab.shortcut,\r\n description: 'Toggle metadata if enabled',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('document') > 0) {\r\n if (configService.getBool(HandbookConfiguration.MetadataEnabled)) {\r\n shortcutKeysService.toggleDocumentSearchInContentTab.method();\r\n }\r\n } else if (configService.getBool(HandbookConfiguration.ReadingListEnabled)) {\r\n shortcutKeysService.toggleMyReadingListTab.method();\r\n }\r\n }\r\n })\r\n .add({\r\n combo: shortcutKeysService.openDocumentReadingReceipt.shortcut,\r\n description: 'Open reading receipt',\r\n callback: shortcutKeysService.openDocumentReadingReceipt.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.openDocumentFeedback.shortcut,\r\n description: 'Open feedback',\r\n callback: shortcutKeysService.openDocumentFeedback.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.toggleDocumentFullScreenViewing.shortcut,\r\n description: 'Toggle fullscreen viewing',\r\n callback: shortcutKeysService.toggleDocumentFullScreenViewing.method\r\n })\r\n .add({\r\n combo: shortcutKeysService.linkToDocumentManagement.shortcut,\r\n description: 'Link to document management',\r\n callback: function () {\r\n var url = $location.url();\r\n if (url.indexOf('folder') > 0) {\r\n shortcutKeysService.linkToFolderManagement.method();\r\n } else if (url.indexOf('document') > 0) {\r\n shortcutKeysService.linkToDocumentManagement.method();\r\n }\r\n }\r\n });\r\n\r\n $(window).keyup(function (event) { // handle number 0 on number pad\r\n if (event.ctrlKey && event.altKey && event.keyCode == 96) {\r\n shortcutKeysService.gotoStartpage.method();\r\n }\r\n });\r\n\r\n $(window).on('resize', function () {\r\n resizeService.resizeToOrginalSize();\r\n if (vm.isTest) {\r\n updatePositionForTestModeHeader();\r\n }\r\n });\r\n\r\n $(window).on('click', function () {\r\n angular.element('.activity-notifications > div').css('display', 'none');\r\n })\r\n\r\n function updatePositionForTestModeHeader() {\r\n var widthOfDocument = $(document).width();\r\n var widthOfToggleSidebarButton = 42;\r\n var widthOfSearchDocumentsControl = 280;\r\n var widthOfLeftControls = widthOfToggleSidebarButton + widthOfSearchDocumentsControl;\r\n var widthOfTestModeHeader = 50;\r\n var widthOfRightMenu = $('#navbar-header .navbar-right').width();\r\n var remainingWidth = widthOfDocument - widthOfLeftControls - widthOfTestModeHeader - widthOfRightMenu;\r\n\r\n $('#navbar-header .test-mode-header').css('left', (remainingWidth) / 2 + widthOfLeftControls);\r\n\r\n }\r\n\r\n function keydown(e) {\r\n if (e.which === 112) {\r\n if (vm.helpEnabled) {\r\n document.onhelp = function () {\r\n return (false);\r\n };\r\n window.onhelp = function () {\r\n return (false);\r\n };\r\n e.returnValue = false;\r\n e.keyCode = 0;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n goToHelpPages();\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n function goToHelpPages() {\r\n if (vm.helpEnabled) {\r\n var urlParams = $location.url().split('/');\r\n var viewId = 1;\r\n if (urlParams != null && urlParams.length > 0) {\r\n switch (urlParams[1]) {\r\n case 'folder':\r\n viewId = 2;\r\n break;\r\n case 'document':\r\n viewId = 3;\r\n break;\r\n case '':\r\n if (angular.element('#hearings-tab').hasClass('active')) {\r\n viewId = 4;\r\n }\r\n break;\r\n default:\r\n viewId = 1;\r\n }\r\n }\r\n var newWindow = window.open(\"\", \"_blank\");\r\n helpPagesService.getHelpPages(viewId).then(function (data, status, headers, config) {\r\n newWindow.location.href = data.helpURL;\r\n });\r\n }\r\n }\r\n };\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller(controllers.myReadingReceiptsController, myReadingReceiptsController);\r\n\r\n myReadingReceiptsController.$inject = ['$scope', '$http', '$state', '$uibModalInstance', 'localStorageService'];\r\n\r\n function myReadingReceiptsController($scope, $http, $state, $modalInstance, localStorageService) {\r\n var vm = this;\r\n vm.initialize = initialize;\r\n vm.translation = globalResources;\r\n vm.openTree = openTree;\r\n vm.clearSelectedFolder = clearSelectedFolder;\r\n vm.viewReport = viewReport;\r\n vm.cancel = cancel;\r\n vm.chooseAmongFavorites = chooseAmongFavorites;\r\n\r\n vm.originalFolderTree = null;\r\n vm.originalFavorites = null;\r\n\r\n var itemAll = { id: -1, name: vm.translation.All };\r\n\r\n function initialize() {\r\n vm.includeSubfolders = false;\r\n vm.showFolderTree = false;\r\n vm.selectedFolder = null;\r\n vm.style = {\r\n folderClass: '',\r\n inputClass: ''\r\n };\r\n var chooseAmongFavorites = localStorageService.getItem('ChooseAmongFavorites');\r\n if (chooseAmongFavorites == null || chooseAmongFavorites == 'false') {\r\n getFolderTree();\r\n } else {\r\n vm.chooseFavorite = true;\r\n getFolderFavorites();\r\n }\r\n vm.title = String.format(globalResources.MyReadingReceipt, user.fullName);\r\n };\r\n\r\n function openTree() {\r\n vm.showFolderTree = !vm.showFolderTree;\r\n };\r\n\r\n function clearSelectedFolder($event) {\r\n vm.selectedFolder = null;\r\n vm.style.folderClass = '';\r\n vm.style.inputClass = '';\r\n };\r\n\r\n $scope.$watch('vm.selectedFolder', function (selected) {\r\n if (selected) {\r\n if (selected.id == -1) {\r\n vm.includeSubfolders = true;\r\n }\r\n }\r\n });\r\n\r\n function viewReport() {\r\n var id = 0, includeSubfolders = true;\r\n if (vm.selectedFolder.id > 0) {\r\n id = vm.selectedFolder.id;\r\n includeSubfolders = vm.includeSubfolders;\r\n }\r\n $state.go(handbookActions.MyReadingReceiptsReport, {\r\n folderId: id,\r\n recursive: includeSubfolders\r\n });\r\n\r\n $modalInstance.close();\r\n };\r\n\r\n function cancel() {\r\n $modalInstance.close();\r\n };\r\n\r\n $scope.selectNodeLabel = function (node) {\r\n vm.selectedFolder = node;\r\n vm.showFolderTree = false;\r\n vm.style.folderClass = 'mrc-folder-' + node.type;\r\n if (node.id > 0) {\r\n vm.style.inputClass = 'padding-left-65';\r\n } else {\r\n vm.style.inputClass = '';\r\n }\r\n };\r\n\r\n $scope.selectNodeHead = function (node) {\r\n //check if type of selected node is in [1, 2, 3, 4] = [Document, LinkDocument, FileDocument, ShortcutDocument] refer to enum NodeType, we dont call request\r\n if (!node.isLoaded && node.type > 4) {\r\n // Does not follow config ShowDocumentsInTree\r\n\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'Id': node.id, 'showDocumentInTree': false } })\r\n .success(function (data, status, headers, config) {\r\n node.children = data;\r\n node.isLoaded = true;\r\n })\r\n .error(function (data, status, headers, config) {\r\n node.isLoaded = true;\r\n });\r\n }\r\n };\r\n\r\n function getFolderFavorites() {\r\n if (vm.originalFavorites == null) {\r\n $http.get(handbookRequests.GetFavoritesRequest).\r\n success(function (data, status, headers, config) {\r\n var tempData = [];\r\n tempData.push(itemAll);\r\n if (data && data.length > 0) {\r\n data.forEach(function (item) {\r\n if (isFolderNode(item)) {\r\n tempData.push(item);\r\n }\r\n })\r\n }\r\n vm.documents = tempData;\r\n vm.originalFavorites = tempData;\r\n vm.selectedFolder = itemAll;\r\n });\r\n } else {\r\n vm.documents = vm.originalFavorites;\r\n }\r\n };\r\n\r\n function getFolderTree() {\r\n if (vm.originalFolderTree == null) {\r\n\t\t\t\t$http.get(handbookRequests.GetFoldersRequest, { params: { 'id': null, 'showDocumentInTree': false } })\r\n .success(function (data, status, headers, config) {\r\n data.splice(0, 0, itemAll);\r\n vm.documents = data;\r\n vm.originalFolderTree = data;\r\n vm.selectedFolder = itemAll;\r\n });\r\n } else {\r\n vm.documents = vm.originalFolderTree;\r\n }\r\n };\r\n\r\n function chooseAmongFavorites() {\r\n if (vm.chooseFavorite) {\r\n getFolderFavorites();\r\n localStorageService.setItem('ChooseAmongFavorites', true);\r\n } else {\r\n getFolderTree();\r\n localStorageService.setItem('ChooseAmongFavorites', false);\r\n }\r\n };\r\n\r\n function isFolderNode(node) {\r\n return node.type == E.nodeTypes.Folder || node.type == E.nodeTypes.TopFolder || node.type == E.nodeTypes.DepartmentFolder || node.type == E.nodeTypes.RegionalFolder;\r\n };\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('NewsCategoryModule', [])\r\n .controller('NewsCategoryController', NewsCategoryController);\r\n\r\n NewsCategoryController.$inject = ['$state', '$scope','newsService'];\r\n\r\n function NewsCategoryController($state, $scope, newsService) {\r\n var vm = this;\r\n vm.loadNews = loadNews;\r\n vm.toggleLoadAllNews = false;\r\n vm.news = [];\r\n vm.currentPage = -1;\r\n vm.startPage = -1;\r\n vm.totalResults = 0;\r\n vm.maxDisplayPage = NewsGridConfig.maxDisplayPage;\r\n vm.itemPerPage = HandbookConfiguration.NewsPageSize;\r\n vm.pageSize = HandbookConfiguration.NewsPageSize;\r\n vm.translation = {\r\n title: globalResources.CommonGridColumns.Title,\r\n createdDate: globalResources.CreatedDate,\r\n first: globalResources.First,\r\n last: globalResources.Last,\r\n description: globalResources.Description,\r\n publishedDate: globalResources.Published\r\n };\r\n\r\n vm.newsSetting = [];\r\n function newsSetting() {\r\n vm.newsSetting.push({ id: 'title', name: vm.translation.title, width: 30, coldefault: true });\r\n vm.newsSetting.push({ id: 'dtmPublish', name: vm.translation.publishedDate, width: 20, coldefault: true });\r\n vm.newsSetting.push({ id: 'ingress', name: vm.translation.description, width: 50, coldefault: true });\r\n };\r\n\r\n initialize();\r\n function initialize() {\r\n newsSetting();\r\n loadAllNews($state.params.pageIndex);\r\n };\r\n function loadNews(id) {\r\n newsService\r\n .updateNewsReadCount(id)\r\n .then(function (result) {\r\n $state.go(handbookActions.StartpageNews, { newsId: id, isPreview: false });\r\n });\r\n };\r\n\r\n function loadAllNews(pageIndex, pageSize) {\r\n if (!pageIndex || pageIndex == -1) {\r\n pageIndex = 1;\r\n }\r\n if (pageIndex != vm.startPage) {\r\n user.currentNewsPage = pageIndex;\r\n newsService\r\n .getNewsByCategoryId($state.params.categoryId, E.NewsCategoryShownIn.shownInHandbookFrontend, pageIndex - 1, pageSize || vm.pageSize)\r\n .then(function (result) {\r\n vm.news = result.data.news;\r\n vm.totalResults = result.data.totalResults;\r\n vm.currentPage = pageIndex;\r\n vm.startPage = pageIndex;\r\n });\r\n }\r\n };\r\n\r\n $scope.$watch('vm.currentPage', function (newPage) {\r\n if (vm.currentPage != -1) {\r\n loadAllNews(newPage);\r\n }\r\n });\r\n\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('NewsDetailsController', newsDetailsController);\r\n\r\n newsDetailsController.$inject = ['$stateParams', '$sce', '$timeout',\r\n 'newsService', 'anchorService', 'resizeService'];\r\n\r\n function newsDetailsController($stateParams, $sce, $timeout,\r\n newsService, anchorService, resizeService) {\r\n var vm = this;\r\n\r\n vm.news = null;\r\n vm.id = $stateParams.newsId;\r\n vm.translation = {\r\n attachments: globalResources.CommonGridColumns.HasAttachment,\r\n editNews: globalResources.EditNews\r\n };\r\n vm.GetFileRequest = handbookRequests.GetFileRequest;\r\n vm.linkToEditNewsView = linkToEditNewsView;\r\n\r\n vm.copyUserFriendlyUrlTooltip = globalResources.CopyUserFriendlyUrl;\r\n\r\n\r\n initialize();\r\n\r\n vm.urlNews = window.location.origin + '/news/' + vm.id;\r\n\r\n function initialize() {\r\n resizeService.resizeView();\r\n getNewsById(vm.id);\r\n };\r\n\r\n function getNewsById(id) {\r\n newsService\r\n .getActiveNewsById(id)\r\n .then(function (result) {\r\n vm.news = result.data;\r\n if (vm.news !== null && vm.news.image !== null) {\r\n newsService\r\n .getNewsImageById(vm.news.id)\r\n .then(function (result) {\r\n if (result.data !== null && result.data.value !== null) {\r\n if (result.data.id === -1) {\r\n vm.news.image.value = result.data.value;\r\n }\r\n else {\r\n vm.news.image.value = 'data:image/png;base64,' + result.data.value;\r\n }\r\n }\r\n });\r\n }\r\n vm.news.body = $sce.trustAsHtml(vm.news.body);\r\n runServicesAfterInit();\r\n })\r\n };\r\n\r\n function runServicesAfterInit() {\r\n $timeout(function () {\r\n updateLocalAnchors();\r\n }, 500);\r\n }\r\n\r\n function updateLocalAnchors() {\r\n var domContent = angular.element('div.news-detail-body');\r\n anchorService.updateLocalAnchors(domContent);\r\n }\r\n\r\n function linkToEditNewsView() {\r\n var backendUrl = HandbookConfiguration.BackendURL;\r\n var lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n var commonAdd = lastChar == '/' ? '' : '/';\r\n\r\n var url = backendUrl + commonAdd + 'admin/newsCategories/' + vm.news.categoryId + '/' + vm.id + '/edit';\r\n window.open(url, '_blank');\r\n\r\n }\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('newsListModule', [])\r\n .controller('NewsListController', NewsListController);\r\n\r\n NewsListController.$inject = ['$state', '$http', '$scope', '$timeout', '$window', 'newsService', 'tabStateService'];\r\n\r\n function NewsListController($state, $http, $scope, $timeout, $window, newsService, tabStateService) {\r\n var vm = this;\r\n vm.loadNews = loadNews;\r\n vm.toggleLoadAllNews = false;\r\n vm.news = [];\r\n vm.currentPage = -1;\r\n vm.startPage = -1;\r\n vm.totalResults = 0;\r\n vm.maxDisplayPage = NewsGridConfig.maxDisplayPage;\r\n vm.itemPerPage = HandbookConfiguration.NewsPageSize;\r\n vm.pageSize = HandbookConfiguration.NewsPageSize;\r\n vm.translation = {\r\n title: globalResources.CommonGridColumns.Title,\r\n createdDate: globalResources.CreatedDate,\r\n first: globalResources.First,\r\n last: globalResources.Last,\r\n description: globalResources.Description,\r\n publishedDate: globalResources.Published,\r\n ingress: globalResources.Ingress\r\n };\r\n\r\n vm.newsSetting = [];\r\n function newsSetting() {\r\n vm.newsSetting.push({ id: 'title', name: vm.translation.title, width: 35, coldefault: true });\r\n vm.newsSetting.push({ id: 'dtmPublish', name: vm.translation.publishedDate, width: '90px', coldefault: true });\r\n vm.newsSetting.push({ id: 'ingress', name: vm.translation.ingress, width: 60, coldefault: true });\r\n }\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n getHeightGrid();\r\n newsSetting();\r\n loadAllNews($state.params.pageIndex);\r\n }\r\n\r\n function loadNews(id) {\r\n newsService\r\n .updateNewsReadCount(id)\r\n .then(function (result) {\r\n $state.go(handbookActions.StartpageNews, { newsId: id, isPreview: false });\r\n });\r\n }\r\n\r\n function getInternetExplorerVersion() {\r\n var rv = -1;\r\n if (navigator.appName == 'Microsoft Internet Explorer') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null)\r\n rv = parseFloat(RegExp.$1);\r\n }\r\n else if (navigator.appName == 'Netscape') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null)\r\n rv = parseFloat(RegExp.$1);\r\n }\r\n return rv;\r\n }\r\n\r\n\t\tfunction isMobile() {\r\n\t\t\ttry {\r\n\t\t\t\tif (/Android|webOS|iPhone|iPad|iPod|pocket|psp|kindle|avantgo|blazer|midori|Tablet|Palm|maemo|plucker|phone|BlackBerry|symbian|IEMobile|mobile|ZuneWP7|Windows Phone|Opera Mini/i.test(navigator.userAgent)) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t};\r\n\t\t\t\treturn false;\r\n\t\t\t} catch (e) { console.log(\"Error in isMobile\"); return false; }\r\n\t\t}\r\n\r\n function getHeightGrid() {\r\n\t\t\tvar documentHeight = isMobile() ? window.innerHeight : $(window).height();\r\n\t\t\tvar $gridTop = $('.table.gridStyle.margin-bottom-0');\r\n\t\t\tvar top = ($gridTop.eq(0).offset() == null) ? 0 : $gridTop.eq(0).offset().top;\r\n\t\t\tvar height = (documentHeight - top - 160);\r\n\r\n\t\t\tif (getInternetExplorerVersion() > -1) {\r\n\t\t\t\tangular.element('.scrollableTable').css('max-height', height + 'px');\r\n\t\t\t} else {\r\n\t\t\t\tangular.element('#gridController').css('max-height', height + 'px');\r\n\t\t\t}\r\n }\r\n\r\n $(window).on('resize', function () {\r\n getHeightGrid();\r\n });\r\n\r\n function loadAllNews(pageIndex, pageSize) {\r\n if (!pageIndex || pageIndex == -1) {\r\n pageIndex = 1;\r\n }\r\n if (pageIndex != vm.startPage) {\r\n user.currentNewsPage = pageIndex;\r\n newsService\r\n .getNewsWithPaging(pageIndex - 1, pageSize || vm.pageSize)\r\n .then(function (result) {\r\n vm.news = result.data.news;\r\n vm.totalResults = result.data.totalResults;\r\n vm.currentPage = pageIndex;\r\n vm.startPage = pageIndex;\r\n });\r\n }\r\n }\r\n\r\n $scope.$watch('vm.currentPage', function (newPage) {\r\n if (vm.currentPage != -1) {\r\n loadAllNews(newPage);\r\n }\r\n });\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller(controllers.personChapterConfirmsSumsListController, personChapterConfirmsSumsListController);\r\n\r\n personChapterConfirmsSumsListController.$inject = ['$scope', '$http'];\r\n\r\n function personChapterConfirmsSumsListController($scope, $http) {\r\n var vm = this;\r\n vm.initialize = initialize;\r\n\r\n function initialize() {\r\n };\r\n };\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('reportsMyReadingListViewController', reportsMyReadingListViewController);\r\n\r\n reportsMyReadingListViewController.$inject = ['$state', '$stateParams', '$http'];\r\n\r\n function reportsMyReadingListViewController($state, $stateParams, $http) {\r\n var vm = this; \r\n\r\n initialize();\r\n\r\n function initialize() {\r\n \r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n\r\n vm.reportPage = `/Reports/Viewer.aspx?reportType=11&userId=${user.userId}`;\r\n };\r\n\r\n $(window).on('resize', function () {\r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n });\r\n };\r\n\r\n})();","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module(modules.homeModule)\r\n .controller('reportsViewController', reportsViewController);\r\n\r\n reportsViewController.$inject = ['$state', '$stateParams', '$http'];\r\n\r\n function reportsViewController($state, $stateParams, $http) {\r\n var vm = this;\r\n vm.filter = {\r\n folderId: $stateParams.folderId != null ? $stateParams.folderId : null,\r\n includeSubfolders: $stateParams.recursive\r\n };\r\n\r\n initialize();\r\n\r\n function initialize() {\r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n\r\n vm.reportPage = '/Reports/Viewer.aspx?folderId=' + vm.filter.folderId + '&recursive=' + vm.filter.includeSubfolders;\r\n\r\n };\r\n\r\n $(window).on('resize', function () {\r\n var screenHeight = window.innerHeight;\r\n angular.element('#frameReport').height(screenHeight - 50);\r\n });\r\n };\r\n\r\n})();","\r\n(function () {\r\n\t'use strict';\r\n\r\n\tangular.module(modules.homeModule)\r\n\t\t.controller('StartpageController', startpageController);\r\n\r\n\tstartpageController.$inject = ['$state', '$http', '$scope', '$sce', '$timeout', '$window', 'newsService',\r\n\t\t'tabStateService', 'localStorageService', 'documentService', 'browserService', 'configService'];\r\n\r\n\tfunction startpageController($state, $http, $scope, $sce, $timeout, $window, newsService,\r\n\t\ttabStateService, localStorageService, documentService, browserService, configService) {\r\n\t\tvar vm = this;\r\n\t\t\r\n\t\tvm.toggleLoadAllNews = localStorageService.getItem('toggleLoadAllNews') || false;\r\n\t\tvm.news = [];\r\n\t\tvm.leftMenuGroups = [];\r\n\t\tvm.rightMenuGroups = [];\r\n\t\tvm.currentPage = -1;\r\n\t\tvm.totalResults = 0;\r\n\t\tvm.maxDisplayPage = NewsGridConfig.maxDisplayPage;\r\n\t\tvm.itemPerPage = NewsGridConfig.pageSize;\r\n\t\tvm.translation = {\r\n\t\t\tmore: globalResources.More,\r\n\t\t\tshowmore: globalResources.Showmore,\r\n\t\t\tfirst: globalResources.First,\r\n\t\t\tlast: globalResources.Last,\r\n\t\t\tnewsHeader: globalResources.NewsHeader,\r\n\t\t\tnews: globalResources.News,\r\n\t\t\trun: globalResources.Run,\r\n\t\t\tyourReports: globalResources.YourReports,\r\n\t\t\tsearchDocumentTitleOrId: globalResources.SearchDocumentTitleOrId,\r\n\t\t\tselectTheTypeOfSearch: globalResources.SelectTheTypeOfSearch,\r\n\t\t\tmyReports: globalResources.MyReports,\r\n\t\t\tprocesses: globalResources.Processes,\r\n\t\t\tmyPage: globalResources.MyPage\r\n\t\t};\r\n\r\n\t\tvm.reportTypes = DEVIATION_REPORTS_TYPES;\r\n\r\n\t\tvm.loadAllNews = loadAllNews;\r\n\t\tvm.gotoUrl = gotoUrl;\r\n\t\tvm.collapseHandle = collapseHandle;\r\n\t\tvm.goToNewsDetails = loadNews;\r\n\t\tvm.runReport = runReport;\r\n\t\tvm.enableHomepageSearch = configService.getBool(HandbookConfiguration.EnableHomepageSearch);\r\n\t\tvm.dashboardIframeUrl = $sce.trustAsResourceUrl(HandbookConfiguration.BackendURL + 'dashboard?hideTopBar=true');\r\n\t\tvm.BROWSER_TYPE = BrowserType;\r\n\t\tvm.browserType = browserService.detectBrowserWindow();\r\n\r\n\t\tinitialize();\r\n\r\n\t\tfunction initialize() {\r\n\t\t\tvm.isDataAvailable = (HandbookConfiguration.StartpageThemeKey != E.StartpageTheme.StartpageWithNewsAndImage);\r\n\t\t\tif (vm.toggleLoadAllNews) {\r\n\t\t\t\tloadAllNews(localStorageService.getItem('pageIndex'));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tgetNews();\r\n\t\t\t\t//add for device\r\n\t\t\t\t$timeout(function () {\r\n\t\t\t\t\tnewsService.adjustNewsHeight();\r\n\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t}, 3000, false);\r\n\t\t\t}\r\n\t\t\tgetMenuGroups();\r\n\t\t\tgetUserFilterSearches();\r\n\r\n\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.StartpageWithProcessAndWidgets) {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t$('#processTabTrigger').trigger('click');\r\n\t\t\t\t});\r\n }\r\n\t\t};\r\n\r\n\t\tfunction getUserFilterSearches() {\r\n\t\t\treturn $http.get('/api/Users/GetUserSavedSearches', { params: { searchFilterType: searchFilterTypes.handbookReports } })\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data) {\r\n\t\t\t\t\t\tresponse.data.forEach(function (item) {\r\n\t\t\t\t\t\t\tvar type = getReportType(item.searchFilters);\r\n\t\t\t\t\t\t\titem.reportType = getReportTypeText(type);\r\n\t\t\t\t\t\t\titem.module = searchFilterTypes.handbookReports;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tvm.saveSearches = response.data;\r\n\t\t\t\t\t\tgetUserFilterSearchesForDeviation();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tfunction getUserFilterSearchesForDeviation() {\r\n\t\t\treturn $http.get('/api/Users/GetUserSavedSearches', { params: { searchFilterType: searchFilterTypes.deviationReports } })\r\n\t\t\t\t.then(function (response, status, headers, config) {\r\n\t\t\t\t\tif (response.data) {\r\n\t\t\t\t\t\tif (!vm.saveSearches)\r\n\t\t\t\t\t\t\tvm.saveSearches = [];\r\n\r\n\t\t\t\t\t\tresponse.data.forEach(function (item) {\r\n\t\t\t\t\t\t\tvar type = getReportType(item.searchFilters);\r\n\t\t\t\t\t\t\titem.module = searchFilterTypes.deviationReports;\r\n\t\t\t\t\t\t\titem.reportType = getReportTypeTextForDeviation(type);\r\n\t\t\t\t\t\t\tvm.saveSearches.push(item);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t}\r\n\r\n\t\tfunction getReportType(searchFilters) {\r\n\t\t\tif (!searchFilters)\r\n\t\t\t\treturn '';\r\n\r\n\t\t\tvar arrSearchFilter = decodeURIComponent(searchFilters).split('&');\r\n\t\t\tif (arrSearchFilter == null || arrSearchFilter.length <= 0)\r\n\t\t\t\treturn '';\r\n\r\n\t\t\tfor (var i = 0; i < arrSearchFilter.length; i++) {\r\n\t\t\t\tvar values = arrSearchFilter[i].split('=');\r\n\t\t\t\tif (values != null && values.length > 0 && values[0] == 'reportType') {\r\n\t\t\t\t\treturn values[1];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tfunction getReportTypeText(type) {\r\n\t\t\tif (type != '')\r\n\t\t\t\ttype = parseInt(type);\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\treturn globalResources.ReadingReceiptsPerson;\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\treturn globalResources.ReadingReceiptsDocument;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\treturn globalResources.ReadingReceiptsFolder;\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\treturn globalResources.NumberOfDocumentsPerFolder;\r\n\t\t\t\tcase 5:\r\n\t\t\t\t\treturn globalResources.FolderStatistics;\r\n\t\t\t\tcase 6:\r\n\t\t\t\t\treturn globalResources.NewRevisedDocuments;\r\n\t\t\t\tcase 7:\r\n\t\t\t\t\treturn globalResources.WritePermissionsPerson;\r\n\t\t\t\tcase 8:\r\n\t\t\t\t\treturn globalResources.ApprovePermissionsPerson;\r\n\t\t\t\tcase 9:\r\n\t\t\t\t\treturn globalResources.WritePermissions;\r\n\t\t\t\tcase 10:\r\n\t\t\t\t\treturn globalResources.ApprovePermissions;\r\n\t\t\t\tcase 11:\r\n\t\t\t\t\treturn globalResources.ReadingListsPerson;\r\n\t\t\t\tcase 12:\r\n\t\t\t\t\treturn globalResources.ReadingListDepartment;\r\n\t\t\t\tcase 13:\r\n\t\t\t\t\treturn globalResources.ReadingListClosestLeader;\r\n\t\t\t\tcase 14:\r\n\t\t\t\t\treturn globalResources.ReadingListRole;\r\n\t\t\t\tcase 15:\r\n\t\t\t\t\treturn globalResources.MostReadDocumentsTotal;\r\n\t\t\t\tcase 16:\r\n\t\t\t\t\treturn globalResources.MostReadDocumentsVersion;\r\n\t\t\t\tcase 17:\r\n\t\t\t\t\treturn globalResources.StatusDocumentsPerFolder;\r\n\t\t\t\tcase 18:\r\n\t\t\t\t\treturn globalResources.LeastReadDocumentsTotal;\r\n\t\t\t\tcase 19:\r\n\t\t\t\t\treturn globalResources.LeastReadDocumentsVersion;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tfunction getReportTypeTextForDeviation(type) {\r\n\t\t\tif (type != '')\r\n\t\t\t\ttype = parseInt(type);\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER:\r\n\t\t\t\t\treturn globalResources.categoryNumberPerStatus;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_METATAG:\r\n\t\t\t\t\treturn globalResources.metatagCategoryReport;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_SUB_CATEGORY:\r\n\t\t\t\t\treturn globalResources.subCategoryCategoryReport;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_HANDLING_UNIT:\r\n\t\t\t\t\treturn globalResources.categoryNumberPerHandlingUnit;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_YEAR_AND_MONTH_NUMBER:\r\n\t\t\t\t\treturn globalResources.categoryYearAndMonthNumber;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_NUMBER_PER_MONTH_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.categoryNumberPerMonthPerYear;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_SEVERITY_NUMBER:\r\n\t\t\t\t\treturn globalResources.categorySeverityNumbers;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_KPI:\r\n\t\t\t\t\treturn globalResources.category + ' - ' + globalResources.kpi;\r\n\t\t\t\tcase vm.reportTypes.ACTIONS_NUMBER_AND_TYPE:\r\n\t\t\t\t\treturn globalResources.actionsNumberAndType;\r\n\t\t\t\tcase vm.reportTypes.ACTIONS_NUMBER_PER_MONTH_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.actionsNumberPerMonthPerYear;\r\n\t\t\t\tcase vm.reportTypes.STATISTICS:\r\n\t\t\t\t\treturn globalResources.statistics;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_COST_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.costCategory;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_COST_PER_MONTH_PER_YEAR:\r\n\t\t\t\t\treturn globalResources.costTypeSumPerMonthPerYear;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_CUSTOM_FIELD:\r\n\t\t\t\t\treturn globalResources.categoryCustomFieldReport;\r\n\t\t\t\tcase vm.reportTypes.CATEGORY_EQUIPMENT:\r\n\t\t\t\t\treturn globalResources.categoryEquipmentReport;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tfunction getNews() {\r\n\t\t\tnewsService\r\n\t\t\t\t.getNews({ showInModule: E.NewsCategoryShownIn.shownInHandbookFrontend })\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\thandleDevicesSize(result.data.length);\r\n\t\t\t\t\tvm.news = result.data;\r\n\t\t\t\t\tif (vm.news.length > 0) {\r\n\t\t\t\t\t\tvm.news.filter(function (x) {\r\n\t\t\t\t\t\t\tif (x.image !== null) {\r\n\t\t\t\t\t\t\t\tnewsService\r\n\t\t\t\t\t\t\t\t\t.getNewsImageById(x.id)\r\n\t\t\t\t\t\t\t\t\t.then(function (result) {\r\n\t\t\t\t\t\t\t\t\t\tif (result.data !== null && result.data.value !== null) {\r\n\t\t\t\t\t\t\t\t\t\t\tif (result.data.id === -1) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tx.image.value = result.data.value;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tx.image.value = 'data:image/png;base64,' + result.data.value;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t.catch(function (result) {\r\n\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$timeout(function () {\r\n\t\t\t\t\t\tnewsService.adjustNewsHeight();\r\n\t\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t\t}, 500, false);\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tfunction loadNews(id) {\r\n\t\t\tuser.currentNewsPage = 1;\r\n\t\t\tnewsService\r\n\t\t\t\t.updateNewsReadCount(id);\r\n\t\t};\r\n\r\n\t\tfunction loadAllNews(pageIndex, pageSize) {\r\n\t\t\tif (!vm.toggleLoadAllNews) {\r\n\t\t\t\tpageIndex = 1;\r\n\t\t\t}\r\n\r\n\t\t\tnewsService\r\n\t\t\t\t.getNewsWithPaging(pageIndex - 1, pageSize || NewsGridConfig.pageSize)\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\tvm.news = result.data.news;\r\n\t\t\t\t\tvm.toggleLoadAllNews = true;\r\n\t\t\t\t\tvm.totalResults = result.data.totalResults;\r\n\t\t\t\t\tvm.currentPage = pageIndex;\r\n\t\t\t\t\tlocalStorageService.setItem('toggleLoadAllNews', true);\r\n\t\t\t\t\tlocalStorageService.setItem('pageIndex', pageIndex);\r\n\t\t\t\t});\r\n\r\n\t\t\tadjustContentPosition();\r\n\t\t};\r\n\r\n\t\tfunction getMenuGroups() {\r\n\t\t\t$http\r\n\t\t\t\t.get(handbookRequests.GetMenuGroups)\r\n\t\t\t\t.then(function (result) {\r\n\t\t\t\t\tvar menus = result.data;\r\n\t\t\t\t\tvar rootMenuId = HandbookConfiguration.MenuId;\r\n\r\n\t\t\t\t\tvar columns = [];\r\n\t\t\t\t\tfor (var i = 0; i < menus.length; i++) {\r\n\t\t\t\t\t\tif (menus[i].parentItemId == rootMenuId) {\r\n\t\t\t\t\t\t\tcolumns.push(menus[i]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar groups = getGroupsPerCoumn(menus, columns);\r\n\t\t\t\t\tgroups = getGroupItems(menus, groups);\r\n\r\n\t\t\t\t\tvm.menus = groups;\r\n\t\t\t\t\tbuildGroupsStyle(vm.menus);\r\n\r\n\t\t\t\t\tif (configService.getBool(HandbookConfiguration.CollapseMenuGroups)) {\r\n\t\t\t\t\t\tcollapseMenuGroups();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvm.isDataAvailable = true;\r\n\t\t\t\t})\r\n\t\t};\r\n\r\n\t\tfunction collapseMenuGroups() {\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tfor (var i = 0; i < vm.menus.length; i++) {\r\n\t\t\t\t\tfor (var j = 0; j < vm.menus[i].groups.length; j++) {\r\n\t\t\t\t\t\tif (!vm.menus[i].groups[j].expanded) {\r\n\t\t\t\t\t\t\tangular.element('#spgroup_' + vm.menus[i].groups[j].itemId).toggleClass('collapsed');\r\n\t\t\t\t\t\t\tangular.element('#spgroup_' + vm.menus[i].groups[j].itemId + '_icon').removeClass('collapse-arrow').addClass('collapsed-arrow');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, 500, false);\r\n\t\t}\r\n\r\n\t\tfunction getGroupsPerCoumn(menus, columns) {\r\n\t\t\tvar groups = [];\r\n\t\t\tvar index = 0, hasGroupItems = false;\r\n\t\t\tfor (var i = 0; i < columns.length; i++) {\r\n\t\t\t\tfor (var j = 0; j < menus.length; j++) {\r\n\t\t\t\t\tif (menus[j].parentItemId == columns[i].itemId) {\r\n\t\t\t\t\t\thasGroupItems = true;\r\n\t\t\t\t\t\tif (groups[index] == null) {\r\n\t\t\t\t\t\t\tvar children = []; children.push(menus[j]);\r\n\t\t\t\t\t\t\tgroups.push({ groups: children });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tgroups[index].groups.push(menus[j]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (hasGroupItems) {\r\n\t\t\t\t\tfor (var k = 0; k < groups[index].groups.length; k++) {\r\n\t\t\t\t\t\tmenus.splice($.inArray(groups[index].groups[k], menus), 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tindex += 1;\r\n\t\t\t\t}\r\n\t\t\t\thasGroupItems = false;\r\n\t\t\t}\r\n\t\t\treturn groups;\r\n\t\t}\r\n\r\n\t\tfunction buildGroupsStyle(menus) {\r\n\t\t\tvar length = menus.length;\r\n\t\t\tvar padding = 2, css = '';\r\n\t\t\tvar width = 100 / length - padding;\r\n\r\n\t\t\tswitch (length) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.StartpageWithNewsAndImage) {\r\n\t\t\t\t\t\tcss = 'col-md-6 col6res';\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcss = 'col-md-12';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tif (HandbookConfiguration.StartpageThemeKey == E.StartpageTheme.StartpageWithNewsAndImage) {\r\n\t\t\t\t\t\tcss = 'col-md-4 col4res';\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcss = 'col-md-6';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tcss = 'col-md-4';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\tcss = 'col-md-3';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tcss = 'col-md-2';\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tvm.imageCss = css;\r\n\r\n\t\t\tfor (var i = 0; i < length; i++) {\r\n\t\t\t\tmenus[i].style = 'width: ' + width + '%; float: left;';\r\n\t\t\t\tmenus[i].css = css;\r\n\t\t\t\tif (i < length - 1) {\r\n\t\t\t\t\tmenus[i].style += 'margin-right: ' + padding + '%;'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getGroupItems(menus, groups) {\r\n\t\t\tfor (var i = 0; i < menus.length; i++) {\r\n\t\t\t\tfor (var j = 0; j < groups.length; j++) {\r\n\t\t\t\t\tfor (var k = 0; k < groups[j].groups.length; k++) {\r\n\t\t\t\t\t\tif (menus[i].parentItemId == groups[j].groups[k].itemId) {\r\n\t\t\t\t\t\t\tif (groups[j].groups[k].items == null) {\r\n\t\t\t\t\t\t\t\tvar items = []; items.push(menus[i]);\r\n\t\t\t\t\t\t\t\tgroups[j].groups[k].items = items;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tgroups[j].groups[k].items.push(menus[i]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn groups;\r\n\t\t}\r\n\r\n\t\tfunction adjustContentPosition() {\r\n\t\t\tvar tabState = tabStateService.getState(tabStateType.homeTabState);\r\n\t\t\t$timeout(function () {\r\n\t\t\t\ttabStateService.adjustContentPosition(tabState, tabStateType.homeTabState);\r\n\t\t\t}, 0, false);\r\n\t\t};\r\n\r\n\t\tfunction gotoUrl(item, e) {\r\n\t\t\tvar requestUrl = '/api/Menu/SaveClickedCount';\r\n\t\t\tvar request = { itemId: item.itemId };\r\n\t\t\tif (item.url) {\r\n\t\t\t\t$http.post(requestUrl, request);\r\n\t\t\t}\r\n\t\t\tif (item.url.indexOf('http') >= 0) {\r\n\t\t\t\tif (item.url.indexOf($window.location.hostname) < 0) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (item.url.indexOf('document/') >= 0) {\r\n\t\t\t\tif (item.newWindow != '1') {\r\n\t\t\t\t\tdocumentService.goToDocument(item.url.substr(item.url.lastIndexOf('/') + 1));\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t} else if (item.url.indexOf('folder/') >= 0) {\r\n\t\t\t\tif (item.newWindow != '1') {\r\n\t\t\t\t\t$state.go(handbookActions.FolderAction, { folderId: item.url.substr(item.url.lastIndexOf('/') + 1) });\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.$watch('vm.currentPage', function (newPage) {\r\n\t\t\tif (vm.currentPage != -1) {\r\n\t\t\t\tloadAllNews(newPage);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(window).on('resize', function () {\r\n\t\t\thandleDevicesSize(vm.news.length);\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tnewsService.adjustNewsHeight();\r\n\t\t\t\t$scope.$apply();\r\n\t\t\t}, 500, false);\r\n\t\t});\r\n\r\n\t\tfunction collapseHandle(collapsedFlag) {\r\n\t\t\tvm.collapsed = collapsedFlag;\r\n\t\t};\r\n\r\n\t\t$scope.$on('adjustmentNews', function (e, target) {\r\n\r\n\t\t\t$timeout(function () {\r\n\t\t\t\tnewsService.adjustNewsHeight()\r\n\t\t\t}, 500, false);\r\n\t\t});\r\n\r\n\t\tfunction handleDevicesSize(newsLength) {\r\n\t\t\tvar availWidth = screen.availWidth;\r\n\t\t\tvar availHeight = screen.availHeight;\r\n\r\n\t\t\tif (availWidth <= 768) {\r\n\t\t\t\t//mobile\r\n\t\t\t\tvm.newsItemClass = 'col-xs-12';\r\n\t\t\t} else {\r\n\t\t\t\tswitch (newsLength) {\r\n\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\tvm.newsItemClass = 'col-xs-12';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\tvm.newsItemClass = 'col-xs-6';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tvm.newsItemClass = 'col-xs-4';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction runReport(saveReport) {\r\n\t\t\tvar backendUrl = HandbookConfiguration.BackendURL;\r\n\t\t\tvar lastChar = backendUrl.charAt(backendUrl.length - 1);\r\n\t\t\tvar commonAdd = lastChar == '/' ? '' : '/';\r\n\t\t\tif (saveReport.module == searchFilterTypes.handbookReports) {\r\n\t\t\t\twindow.open(backendUrl + commonAdd + 'handbook/reportsView/param?' + saveReport.searchFilters, '_blank');\r\n\t\t\t} else {\r\n\t\t\t\twindow.open(backendUrl + commonAdd + 'deviation/reports/param?' + saveReport.searchFilters, '_blank');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t};\r\n})();\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n\r\n angular.module('tabModule', [])\r\n .controller('TabController', tabController);\r\n\r\n tabController.$inject = ['$scope', 'tabStateService', 'readingConfirmationService', 'feedBackService', 'documentService', '$location', 'broadcastService'];\r\n\r\n function tabController($scope, tabStateService, readingConfirmationService, feedBackService, documentService, $location, broadcastService) {\r\n var vm = this;\r\n\r\n vm.feedbackText = '';\r\n vm.setState = setState;\r\n vm.initializeTabs = initializeTabs;\r\n vm.sendFeedback = sendFeedback;\r\n vm.sendReadingConfirmation = sendReadingConfirmation;\r\n vm.getConfirmInformation = getConfirmInformationBaseOnView;\r\n\r\n function setState(tabId, tabType) {\r\n var tabStateType = getTabStateType(tabType);\r\n \r\n setFocusTextSearchForTabActive(tabId);\r\n\r\n if (tabStateService.isTabActive(tabId)) {\r\n var extendHeight = $('#tab-content-document').height();\r\n tabStateService.removeState(tabStateType);\r\n if (tabId == \"more-tab\") {\r\n const activeItem = {\r\n tabId: '#more-tab',\r\n tabContentId: '.tab-content.home-content #tab8'\r\n }\r\n angular.element(activeItem.tabId).toggleClass('active');\r\n angular.element(activeItem.tabContentId).toggleClass('active');\r\n triggerTabClicked('#more-tab', false);\r\n }\r\n\r\n var documentContentHeight = $('#document-content-identifier').outerHeight();\r\n var documentFieldListHeight = $('#documentDetailFieldContentList').outerHeight();\r\n\r\n angular.element('#document-content-identifier').css({\r\n height: documentContentHeight + extendHeight\r\n });\r\n angular.element('#documentDetailFieldContentList').css({\r\n maxHeight: documentFieldListHeight + extendHeight\r\n });\r\n \r\n } else {\r\n tabStateService.setState(tabStateType, tabId);\r\n tabStateService.setCurrentTabState(tabId);\r\n }\r\n\t\t\tvar element = $location.url().split('/');\r\n\t\t\tif (tabId.includes('document') && element[3] != 'fields' && element[3] != 'hearingfields') {\r\n setTimeout(function () { documentService.stickyTitle(); }, 0);\r\n }\r\n\r\n if ($('#folder-content-identifier').position()) {\r\n setTimeout(() => {\r\n tabStateService.adjustFolderContentIdentifierHeight();\r\n broadcastService('processChangeHeightForTable');\r\n }, 100);\r\n }\r\n\r\n setTimeout(function () {\r\n $scope.$apply(function () {\r\n $scope.$broadcast(\"tabActived\", tabId);\r\n });\r\n }, 100);\r\n };\r\n\r\n function triggerTabClicked(tabId, clickItSelf) {\r\n setTimeout(function () {\r\n var childTab = $(tabId + ' a');\r\n if (childTab) {\r\n $(childTab).click();\r\n if (clickItSelf && $(tabId)) {\r\n $(tabId).click();\r\n }\r\n }\r\n });\r\n }\r\n\r\n function initializeTabs(tabType, isInitReadingConfirmationTab) {\r\n var _tabStateType = getTabStateType(tabType);\r\n tabStateService.setCurrentStateType(_tabStateType);\r\n\r\n var tabState = tabStateService.getState(_tabStateType);\r\n if ((tabState == null || tabState == \"\") && _tabStateType == tabStateType.homeTabState) {\r\n tabStateService.setState(tabStateType.homeTabState, homeTabs.startPage);\r\n }\r\n else {\r\n setState(tabState, tabType);\r\n }\r\n\r\n setFocusTextSearchForTabActive(tabState);\r\n\r\n tabStateService.initTabState(_tabStateType);\r\n if (isInitReadingConfirmationTab) {// not loading data again if fieldview\r\n initializeReadingReceiptTab();\r\n }\r\n };\r\n\r\n function setFocusTextSearchForTabActive(tabState) {\r\n if (tabState != null) {\r\n if (tabState == 'document-searchincontent') {\r\n setTimeout(function () {\r\n angular.element('#input-search-in-document').focus();\r\n }, 0);\r\n }\r\n } \r\n };\r\n\r\n function sendFeedback() {\r\n if (vm.feedbackText == '' || vm.feedbackText == null) {\r\n alert(globalResources.PleaseEnterFeedback);\r\n return false;\r\n }\r\n return feedBackService\r\n .sendFeedback($scope.$parent.vm.currentData.entityId, vm.feedbackText)\r\n .then(function (data) {\r\n if (data == true) {\r\n vm.feedbackText = '';\r\n alert(globalResources.ThanksForYourFeedback);\r\n }\r\n });\r\n };\r\n\r\n function sendReadingConfirmation() {\r\n var currentData = $scope.$parent.vm.currentData;\r\n if (currentData.confirmInformation) {\r\n readingConfirmationService\r\n .sendReadingConfirmation(currentData.entityId, currentData.folderId)\r\n .then(function (data) {\r\n if (data) {\r\n var currentDate = new Date();\r\n currentData.confirmInformation.readConfirmationDate = currentDate.toLocaleDateString();\r\n }\r\n });\r\n }\r\n }\r\n\r\n function getConfirmInformationBaseOnView() {\r\n if ($scope.$parent.vm.currentDataPromise) { //documentView\r\n $scope.$parent.vm.currentDataPromise.then(function (data) {\r\n if (data.entityId && !data.confirmInformation) {\r\n getConfirmInformation(data);\r\n }\r\n });\r\n }\r\n else { //fieldView\r\n if ($scope.$parent.vm.currentData.entityId && !$scope.$parent.vm.currentData.confirmInformation) {\r\n getConfirmInformation($scope.$parent.vm.currentData);\r\n }\r\n }\r\n };\r\n\r\n function getTabStateType(tabType) {\r\n var type = '';\r\n switch (tabType) {\r\n case tabStateType.documentTabState:\r\n type = tabStateType.documentTabState;\r\n break;\r\n case tabStateType.chapterTabState:\r\n type = tabStateType.chapterTabState;\r\n break;\r\n case tabStateType.homeTabState:\r\n type = tabStateType.homeTabState;\r\n break;\r\n default:\r\n type = tabStateType.documentTabState;\r\n break;\r\n }\r\n\r\n return type;\r\n };\r\n\r\n function initializeReadingReceiptTab() {\r\n if (tabStateService.isTabActive(documentTab.readingReceipt)) {\r\n getConfirmInformationBaseOnView();\r\n };\r\n };\r\n\r\n function getConfirmInformation(data) {\r\n readingConfirmationService.GetConfirmInformation(data.entityId)\r\n .then(function (response) {\r\n data.confirmInformation = response.data;\r\n });\r\n };\r\n };\r\n\r\n})();","(function () {\r\n var model = angular.module('managementModule', ['ngDraggable']);\r\n\r\n model.controller(controllers.manageFavoritesController, ['$scope', '$http', '$state', '$uibModal', '$uibModalInstance', 'broadcastService', 'items', 'pubSub', '$q', 'configService',\r\n function ($scope, $http, $state, $uibModal, $modalInstance, broadcastService, items, pubSub, $q, configService) {\r\n $scope.translation = globalResources;\r\n $scope.folders = [];\r\n $scope.forcedAndDepartmentFolders = [];\r\n $scope.originalFoldersData = [];\r\n $scope.documents = [];\r\n $scope.originalDocumentsData = [];\r\n $scope.emailSubsribed = [];\r\n $scope.manageFavoriteTabs = manageFavoriteTabs;\r\n $scope.currentTab = manageFavoriteTabs.folder;\r\n $scope.isChanged = false;\r\n $scope.isSortByAlphabet = true;\r\n $scope.runOnce = false;\r\n $scope.areas = [];\r\n $scope.processes = [];\r\n $scope.showSort = $scope.currentTab !== manageFavoriteTabs.emailSubscribed;\r\n\r\n $scope.simpleSubscription = configService.getBool(HandbookConfiguration.SimpleSubscription);\r\n $scope.enableProcessModule = configService.getBool(HandbookConfiguration.EnableProcess);\r\n\r\n initDataSource();\r\n\r\n $scope.loadEmailSubscribedFolder = function () {\r\n if ($scope.enableProcessModule) {\r\n $http.get('/api/CombineDocumentAndProcess/GetUserEmailSubscriptionsForDocumentAndProcess')\r\n .then(function (res) {\r\n if (res) {\r\n var items = []\r\n items = res.data;\r\n items.forEach(function (item) {\r\n if (checkFolder(item.type) || item.isProcessArea) {\r\n if (item.isRecursiveFolder) {\r\n item.subscriptionName = $scope.translation.FolderAndSubFolders;\r\n } else {\r\n item.subscriptionName = $scope.translation.FolderOnly;\r\n }\r\n }\r\n });\r\n $scope.emailSubsribed = items;\r\n }\r\n });\r\n return;\r\n }\r\n \r\n $http.get(handbookRequests.GetUserEmailSubscriptionsForFoldersAndDocuments)\r\n .then(function (result) {\r\n result.data.forEach(function (item) {\r\n if (checkFolder(item.type)) {\r\n if (item.isRecursiveFolder) {\r\n item.subscriptionName = $scope.translation.FolderAndSubFolders;\r\n } else {\r\n item.subscriptionName = $scope.translation.FolderOnly;\r\n }\r\n }\r\n });\r\n $scope.emailSubsribed = result.data;\r\n })\r\n };\r\n\r\n function checkFolder(type){\r\n if(type == E.nodeTypes.Folder || type == E.nodeTypes.TopFolder || type == E.nodeTypes.DepartmentFolder || type == E.nodeTypes.RegionalFolder){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n $scope.removeAreaFromFavorites = function (area) {\r\n var params = {\r\n areaId: area.id\r\n }\r\n var requestUrl = handbookRequests.RemoveAreaFromFavoritesRequest;\r\n confirmAndDeleteItem(area, requestUrl, $scope.areas, null, true, params);\r\n };\r\n\r\n $scope.removeProcessFromFavorites = function (process) {\r\n var params = {\r\n processId: process.processId\r\n };\r\n var requestUrl = \"/api/ProcessAreas/RemoveProcessFromFavorites/\" + params;\r\n confirmAndDeleteItem(process, requestUrl, $scope.processes, null, true, params);\r\n };\r\n\r\n $scope.removeFolderFromFavorite = function (folder) {\r\n var requestUrl = handbookRequests.RemoveFavoriteFolder + '/' + folder.id;\r\n confirmAndDeleteItem(folder, requestUrl, $scope.folders, $scope.originalFoldersData, true);\r\n };\r\n\r\n $scope.removeDocumentFromFavorite = function (document) {\r\n var requestUrl = handbookRequests.RemoveFavoriteDocument + '/' + document.id;\r\n confirmAndDeleteItem(document, requestUrl, $scope.documents, $scope.originalDocumentsData, true);\r\n };\r\n\r\n $scope.removeEmailSubscribed = function (folder) {\r\n var requestUrl = '';\r\n var params;\r\n if (folder.isProcess) {\r\n requestUrl = handbookRequests.RemoveProcessEmailSubscription;\r\n params = { ProcessId: folder.id };\r\n confirmAndDeleteItem(folder, requestUrl, $scope.emailSubsribed, null, false, { ProcessId: folder.id });\r\n return;\r\n }\r\n else if (folder.isProcessArea) {\r\n params = { AreaId: folder.id };\r\n if (folder.isRecursiveFolder) {\r\n requestUrl = handbookRequests.RemoveAreaAndItsChildrenFromEmailSubscription;\r\n }\r\n else {\r\n requestUrl = handbookRequests.RemoveOnlyAreaFromEmailSubscription;\r\n }\r\n confirmAndDeleteItem(folder, requestUrl, $scope.emailSubsribed, null, false, { AreaId: folder.id });\r\n return;\r\n }\r\n else if (checkFolder(folder.type)) {\r\n params = false;\r\n if (folder.isRecursiveFolder) {\r\n requestUrl = handbookRequests.RemoveEmailSubscription + '/' + folder.id;\r\n } else {\r\n requestUrl = handbookRequests.RemoveOnlyFolderFromEmailSubscription + '/' + folder.id;\r\n }\r\n } else {\r\n params = false;\r\n requestUrl = handbookRequests.RemoveEmailSubscriptionDocument + '/' + folder.id;\r\n }\r\n confirmAndDeleteItem(folder, requestUrl, $scope.emailSubsribed, null, false);\r\n };\r\n\r\n $scope.onDragSuccess = function (data, evt) {\r\n $scope.runOnce = false;\r\n };\r\n\r\n $scope.onDropComplete = function (index, obj, evt, isProcessAreaItem) {\r\n if (!$scope.runOnce) { // to prevent this evt run twice\r\n $scope.isChanged = true;\r\n var dataSource = isProcessAreaItem ? getSourceProcessAreasByItemType(obj.type) : getSourceByItemType(obj.type);\r\n removeBorderAndUpdateOrder(index, evt.element, obj, dataSource, false, false);\r\n }\r\n }\r\n\r\n $scope.onDropCompleteForLastItem = function (index, obj, evt, isProcessAreaItem) {\r\n $scope.isChanged = true;\r\n var dataSource = isProcessAreaItem ? getSourceProcessAreasByItemType(obj.type) : getSourceByItemType(obj.type);\r\n removeBorderAndUpdateOrder(index, evt.element, obj, dataSource, false, true);\r\n }\r\n\r\n $scope.onDropCompleteForTopItem = function (index, obj, evt, isProcessAreaItem) {\r\n $scope.isChanged = true;\r\n var dataSource = isProcessAreaItem ? getSourceProcessAreasByItemType(obj.type) : getSourceByItemType(obj.type);\r\n removeBorderAndUpdateOrder(index, evt.element, obj, dataSource, true, false);\r\n }\r\n\r\n $scope.setCurrentTab = function (tab) {\r\n $scope.currentTab = tab;\r\n $scope.showSort = $scope.currentTab !== manageFavoriteTabs.emailSubscribed;\r\n };\r\n\r\n $scope.addCurrentActiveClass = function (id) {\r\n removeOldActiveDragItem();\r\n angular.element(prefix.hashbangPrefix + id).addClass(cssClass.currentDrag);\r\n };\r\n\r\n $scope.sortAlphabet = function () {\r\n if (!$scope.isSortByAlphabet) {\r\n $scope.isChanged = true;\r\n var source = getSourceByCurrentTab(false);\r\n setOrderByAlphabet(source);\r\n }\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.close();\r\n };\r\n\r\n $scope.saveAndClose = function () {\r\n if ($scope.isChanged) {\r\n $q.all([updateSortOrderProcessItems(), updateSortOrderHandbookItems()]).then(function () {\r\n closeAndUpdateFavoriteTree();\r\n });\r\n }\r\n else {\r\n $modalInstance.close();\r\n }\r\n };\r\n\r\n function updateSortOrderHandbookItems() {\r\n var documents = reArrangeAndGetChangedSortOrderItems($scope.documents, $scope.originalDocumentsData);\r\n var folders = reArrangeAndGetChangedSortOrderItems($scope.folders, $scope.originalFoldersData);\r\n var updatedItems = documents.concat(folders);\r\n return $http.post(handbookRequests.UpdateFavoritesSortOrder, updatedItems)\r\n .then(function () {\r\n $scope.isChanged = false;\r\n updateOriginalData();\r\n });\r\n }\r\n\r\n function updateSortOrderProcessItems() {\r\n if ($scope.enableProcessModule) {\r\n var originalAreas = angular.copy($scope.areas);\r\n var originalProcesses = angular.copy($scope.processes);\r\n var areas = reArrangeAndGetChangedSortOrderItems($scope.areas, originalAreas);\r\n var processes = reArrangeAndGetChangedSortOrderItems($scope.processes, originalProcesses);\r\n var params = {\r\n areas: areas,\r\n processes: processes\r\n };\r\n return $http.post(\"/api/ProcessAreas/UpdateFavoritesSortOrder\", params)\r\n .success(function (data, status, headers, config) {\r\n if (data) {\r\n pubSub.publish(broadcastType.updateFavoritesProcesses, true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n function initDataSource() {\r\n for (var index = 0; index < items.length; index++) {\r\n if (isFolder(items[index].type)) {\r\n if (!items[index].isForced && items[index].type != E.nodeTypes.DepartmentFolder) {\r\n $scope.folders.splice(index, 0, items[index]);\r\n $scope.originalFoldersData.splice(index, 0, angular.copy(items[index]));\r\n }\r\n else {\r\n $scope.forcedAndDepartmentFolders.splice(index, 0, items[index]);\r\n }\r\n }\r\n else {\r\n $scope.documents.splice(index, 0, items[index]);\r\n $scope.originalDocumentsData.splice(index, 0, angular.copy(items[index]));\r\n }\r\n\r\n if (items[index].sort > 0) {\r\n $scope.isSortByAlphabet = false;\r\n }\r\n }\r\n loadProcessAndAreas();\r\n }\r\n\r\n function loadProcessAndAreas() {\r\n $http.get(handbookRequests.GetFavoritesItemsExcludeForcedFavoriteRequest)\r\n .success(function (data, status, headers, config) {\r\n if (data) {\r\n decorateNodes(data.areas, data.processes);\r\n $scope.areas = data.areas;\r\n $scope.processes = data.processes;\r\n var existedSort = $scope.areas.some(function (item) { return item.sort > 0; }) || $scope.processes.some(function (item) { return item.sort > 0; });\r\n if (existedSort) {\r\n $scope.isSortByAlphabet = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function decorateNodes(areas, processes) {\r\n if (areas && areas.length > 0) {\r\n for (var i = 0; i < areas.length; i++) {\r\n areas[i].type = 0;\r\n }\r\n }\r\n if (processes && processes.length > 0) {\r\n for (var i = 0; i < processes.length; i++) {\r\n processes[i].type = 1;\r\n processes[i].id = processes[i].processNumber;\r\n }\r\n }\r\n }\r\n\r\n function isFolder(type) {\r\n return type > E.nodeTypes.ShortcutDocument;\r\n }\r\n\r\n function confirmAndDeleteItem(object, requestUrl, dataSource, originalDataSource, isUpdateFavoriteTree, params) {\r\n var modalInstance = $uibModal.open({\r\n templateUrl: paths.ConfirmationView,\r\n controller: controllers.confirmController,\r\n resolve: {\r\n item: function () {\r\n return object.name;\r\n }\r\n }\r\n });\r\n\r\n modalInstance.result.then(function (isConfirm) {\r\n if (isConfirm) {\r\n $http.post(requestUrl, params)\r\n .then(function () {\r\n //remove item in manage window\r\n dataSource.splice($.inArray(object, dataSource), 1);\r\n\r\n //remove item in original data\r\n if (originalDataSource != null) {\r\n removeItemFromList(object.id, originalDataSource);\r\n }\r\n //remove item in favorite tree\r\n if (isUpdateFavoriteTree) {\r\n broadcastToUpdateFavoriteTree(object);\r\n if ($scope.enableProcessModule) {\r\n pubSub.publish(broadcastType.updateFavoritesProcesses, true);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n function removeItemFromList(id, dataSource) {\r\n for (var index = 0; index < dataSource.length; index++) {\r\n if (dataSource[index].id == id) {\r\n dataSource.splice(index, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n function removeOldActiveDragItem() {\r\n var oldActive = angular.element.find(elementClass.currentDrag);\r\n if (oldActive.length > 0) {\r\n oldActive.forEach(function (element) {\r\n var css = element.className.replace(' ' + cssClass.currentDrag, '');\r\n element.className = css;\r\n });\r\n }\r\n }\r\n\r\n function broadcastToUpdateFavoriteTree(item) {\r\n var target = {\r\n data: {\r\n id: item.id,\r\n name: item.name,\r\n type: item.type,\r\n isDocument: !isFolder(item.type)\r\n },\r\n requestType: requestType.removeRequest\r\n };\r\n broadcastService(broadcastType.favoriteTarget, target);\r\n }\r\n\r\n function removeBorderAndUpdateOrder(index, element, object, dataSource, isTop, isBottom) {\r\n element.removeClass(cssClass.dragEnter);\r\n if (isTop || isBottom) {\r\n removeItemFromList(object.id, dataSource);\r\n if (isTop) {\r\n dataSource.splice(0, 0, object);\r\n }\r\n else {\r\n dataSource.splice(dataSource.length, 0, object);\r\n }\r\n }\r\n else {\r\n var moveObjectIndex = dataSource.indexOf(object);\r\n if (index != moveObjectIndex) {\r\n removeItemFromList(object.id, dataSource);\r\n }\r\n if (index > moveObjectIndex) {\r\n dataSource.splice(index, 0, object); //move down\r\n }\r\n if (index < moveObjectIndex) {\r\n dataSource.splice(index + 1, 0, object); //move up\r\n }\r\n }\r\n $scope.runOnce = true;\r\n removeOldActiveDragItem();\r\n }\r\n\r\n function getSourceByItemType(type) {\r\n if (isFolder(type)) {\r\n return $scope.folders;\r\n } else {\r\n return $scope.documents;\r\n }\r\n }\r\n\r\n function getSourceProcessAreasByItemType(type) {\r\n return type == 0 ? $scope.areas : $scope.processes;\r\n }\r\n\r\n function getSourceByCurrentTab(isOriginalSource) {\r\n switch ($scope.currentTab) {\r\n case manageFavoriteTabs.folder:\r\n if (isOriginalSource) {\r\n return $scope.originalFoldersData;\r\n }\r\n else {\r\n return $scope.folders;\r\n }\r\n case manageFavoriteTabs.document:\r\n if (isOriginalSource) {\r\n return $scope.originalDocumentsData;\r\n }\r\n else {\r\n return $scope.documents;\r\n }\r\n case manageFavoriteTabs.processArea:\r\n return $scope.areas;\r\n\r\n case manageFavoriteTabs.process:\r\n return $scope.processes;\r\n\r\n default:\r\n return $scope.folders;\r\n }\r\n }\r\n\r\n function reArrangeAndGetChangedSortOrderItems(dataSource, originalDataSource) {\r\n var changedItems = [];\r\n for (var index = 0; index < dataSource.length; index++) {\r\n dataSource[index].sort = index;\r\n if (dataSource[index].sort != originalDataSource[index].sort || dataSource[index].id != originalDataSource[index].id) {\r\n changedItems.splice(changedItems.length, 0, dataSource[index]);\r\n }\r\n }\r\n return changedItems;\r\n }\r\n\r\n function setOrderByAlphabet(dataSource) {\r\n dataSource.sort(function (item1, item2) {\r\n if (item1.name.toLowerCase() > item2.name.toLowerCase())\r\n return 1;\r\n else\r\n return -1;\r\n return 0;\r\n });\r\n for (var index = 0; index < dataSource.length; index++) {\r\n dataSource[index].sort = 0;\r\n }\r\n }\r\n\r\n function closeAndUpdateFavoriteTree() {\r\n var source = $scope.documents.concat($scope.folders).concat($scope.forcedAndDepartmentFolders);\r\n $modalInstance.close(source);\r\n }\r\n\r\n function updateOriginalData() {\r\n $scope.originalFoldersData = angular.copy($scope.folders);\r\n $scope.originalDocumentsData = angular.copy($scope.documents);\r\n }\r\n\r\n }]);\r\n\r\n model.controller(controllers.confirmController, ['$scope', 'item', '$uibModalInstance', function ($scope, item, $modalInstance) {\r\n $scope.translation = globalResources;\r\n $scope.confirmMessage = String.format(globalResources.DeleteConfirmMessage, '\"' + item + '\"');\r\n\r\n $scope.confirm = function () {\r\n $modalInstance.close(true);\r\n };\r\n\r\n $scope.cancel = function () {\r\n $modalInstance.close(false);\r\n };\r\n\r\n }]);\r\n\r\n})();","(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})();","\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"]}