{"version":3,"sources":["app.js","angular/app/login.js","angular/app/documents.js","angular/app/portal.js","angular/app/logout.js","angular/app/workflow.js","angular/app/projects.js","angular/app/reports.js","angular/app/search.js","angular/app/saved-search.js","angular/common/grid.js","angular/common/columns.js","angular/common/auth.js","angular/common/alerts.js","angular/common/menu.js","angular/common/file.js","angular/common/util.js","angular/common/legacy.js","angular/common/dialog.js","angular/common/settings.js","angular/common/filters.js","angular/common/checkbox.js","angular/common/context-menu.js","angular/common/dragdrop.js","angular/common/profile.js","angular/common/properties.js","angular/common/section-panel.js","angular/common/preview.js","angular/common/multiselect.js","angular/common/path-select.js","angular/common/responsive.js","angular/common/tooltip.js","angular/common/upload.js","angular/common/header.js","angular/common/dropHandler.js","angular/common/project-editor.js","containers/Layout.js","components/ResponsiveImage/index.js","components/DetailsPane/DetailsPreview.js","components/DetailsPane/EmptyDetail.js","components/DetailsPane/index.js","react-angular.js","store/actions/index.js","components/Sidebar/SidebarButton.js","store/index.js","containers/DownloadHelper.js","containers/Portal.js","containers/Logout.js","components/UserButton.js","components/QuickSearchBox.js","components/Breadcrumb.js","components/MultifactorVerification/index.js","components/modals/QuickApprovalWorkflow/index.js","components/modals/DirectLink/index.js","components/modals/index.js","containers/ModalRoot.js","components/ContextMenu/ContextMenu.js","containers/ContextMenuRoot.js","components/Sidebar/Sidebar.js","components/MenuBar/MenuBar.js","store/reducers/index.js","../../dlweb-components/build/components/Icon.js","../../dlweb-components/build/components/Widget.js","../../dlweb-components/build/components/Editor.js","store/sagas/index.js","index.js","vendors.js"],"names":["sagaMiddleware","createSagaMiddleware","global","loginPages","webTools","angular","module","ngRoute","ngCookies","ngAnimate","ngRedux","factory","$q","$injector","$location","$rootScope","$ngRedux","_popupTimer","_logoutTimer","clearTimers","window","clearTimeout","logout","onbeforeunload","undefined","url","$apply","showPopup","get","openConfirmation","stayAlive","resetSessionTimers","loggedIn","sessionTimeout","getTimeout","alertTimeout","path","setTimeout","axios","interceptors","response","use","error","Promise","reject","request","state","getState","indexOf","app","endpoint","when","invoke","this","options","then","token","rejection","status","location","href","config","$routeProvider","$httpProvider","$locationProvider","$ngReduxProvider","__REDUX_DEVTOOLS_EXTENSION__","createStoreWith","rootReducer","html5Mode","notification","placement","push","templateUrl","controller","reloadOnSearch","caseInsensitiveMatch","resolve","sessionCheck","Auth","ModalWindow","checkPermissions","loadSession","Utility","loadLogin","otherwise","redirectTo","search","run","$window","$timeout","$cookies","oidcServer","sessionStorage","getItem","oidcRepository","oidcRedirect","decodeURIComponent","length","$on","event","preventDefault","loadSettings","data","msalConfig","auth","clientId","authority","tenantId","redirectUri","URL","absUrl","origin","cache","cacheLocation","storeAuthStateInCookie","loginRequest","scopes","msalObject","msal","PublicClientApplication","handleRedirectPromise","login","idToken","authorized","redirect","message","removeItem","document","cookie","loginRedirect","dl","addEventListener","source","type","console","log","relayMessage","postMessage","rs","rootSaga","action","payload","catch","subscribe","mobile","isMobile","navigator","userAgent","vendor","opera","q","$$absUrl","substr","u","_","bypassMobile","pageSize","localStorage","put","sendToDefaultView","nodes","getAllowedNodes","store","view","defaultView","setItem","defer","checkSession","link","buildWebLink","getWebLinkPath","res","linkPath","promise","node","$broadcast","openNotification","test","$scope","$routeParams","clientSSO","ssoClientID","formData","webLink","loginError","invalidLogin","loginSubmitted","showForgotPassword","isEdit","ssoServer","ssoRepo","remove","launchForgotPassword","server","repository","openForgotPassword","user","resetPassword","replace","loginOptions","id","value","text","visible","windowsAuth","ssoType","selectedOption","defaultLoginOption","setLoginOption","option","defaultServer","defaultRepository","setFormValues","defaultUser","pass","domain","defaultDomain","showDomain","showUser","showPassword","showLoginOptions","showLoginForm","showMFA","autoLogin","enableAutoLogin","r","$emit","callLogin","loginPopup","clientSSOLogin","redirectUrl","encodeURIComponent","toLowerCase","openChangePassword","newPass","changePassword","a","m","submitted","MenuBuilder","Columns","GridTools","Dialog","File","$http","kendo","gridName","page","history","replaceState","linkError","workingFolder","folder","currentLocation","unload","selectFile","file","fileLink","wtObject","find","_data","ds","ID","element","css","detailsPaneIsOpen","preview","previewObject","version","VersionID","minor","Minor","selectGridItem","e","menuOptions","documentGridOptions","allowSelectFolders","closeDetailsPane","selectedObject","webView","isWebView","nodeSelect","sender","dataItem","documentsData","transport","read","Date","getTime","contentType","parameterMap","operation","sort","sortField","field","sortDirection","dir","$","extend","folderID","schema","Path","breadcrumb","breadcrumbName","pathCopy","cloneDeep","forEach","p","pathId","Data","total","serverPaging","serverSorting","gridSort","userView","isUserView","resetColumns","showFileButton","fileMenuData","folderMenuData","rightClickMenu","showRightClickMenu","hideRightClickMenu","selectedItems","getRecycleContextMenu","getFileContextMenu","populateFolderMenu","getRecycleMenu","getFolderMenu","fileIds","map","partialRight","pick","launch","legacyDialog","launchLegacyDialog","getUsername","isInProject","item","toString","returnData","packageCallback","download","undoCheckout","dispatch","actions","title","maskClosable","footer","Version","directLink","getLinkURL","width","isFolder","openRename","newName","dialog","folderId","checkForIE","openImport","pathNode","Name","nodeIndex","currentPath","JSON","stringify","updateObjectPaths","getRepository","join","closeDialog","currentPage","launchCheckout","fileId","getColumns","getDocumentColums","loadOnInit","mainGrid","allowRowSelect","allowMultiselect","allowColumnState","enableContextMenu","columnMenu","sortable","resizable","reorderable","scrollable","responsive","pageable","info","refresh","getObjectFromGrid","detailsMargin","openDetails","Reports","$route","selectedId","showMessageMenuArrow","showMessageMenu","getMargin","margin","dialogWidth","setBreadcrumb","bc","selectView","taskId","loaded","dialogPaneIsOpen","workflowGridOptions","gridData","messageData","taskData","taskHistoryData","closeDialogPane","MessageRead","getMessageContextMenu","showMenu","hideMenu","getWorkflowColums","directive","restrict","transclude","template","scope","attributes","html","AddressID","StepNumber","RouteID","children","deleteMessage","each","row","removeRow","Project","setWorkingFolder","project","Folder","getProjectDocumentColums","getProjectColumns","projectsGridOptions","setGridOptions","projectsData","dataType","setPermissions","Permissions","params","expandNode","openProjectEditor","openNewProject","openDownload","getFileList","fileList","includes","projectDownload","addFile","w","screen","availWidth","h","availHeight","open","projectData","selectedProject","ProjectName","folderMenuOptions","last","o","uid","getProjectContextMenu","getProjectFolderMenu","createNewVersion","deleteProject","removeFile","service","projectId","alert","post","ProjectId","Files","rename","objectId","IsFolder","ObjectID","ObjectType","NewName","createProject","parentFolder","projectName","ExceptionMessage","saveProject","name","description","notes","versionId","versionNotes","err","getProjectInfo","getVersionInfo","deleteVersion","addVersionFile","files","removeVersionFile","showReportFrame","showReportList","currentReport","reportList","getReportList","loadReport","reportName","onResize","height","centerHeight","on","off","attr","Search","loadTab","fileMenuOptions","forms","breadcrumbEnabled","currentQuickSearch","viewOnly","webViewMode","quickSearch","propertiesControl","showError","editSearchPath","resetForm","advancedSearchForm","$setPristine","searchForm","copy","pristineSearchForm","profileDropDown","defaultProfile","selectedProfile","profileName","fileDateType","selectedIndex","showDateOne","fileDateOne","showDateTwo","fileDateTwo","showTimespan","getPageSettings","settings","EditSearchPath","DefaultSearchProfile","profile","widget","tabstrip","select","tabSelect","currentSavedSearch","advanced","getSearchColumns","resizeCalendar","dateView","calendar","wrapper","searchGridOptions","filename","filenameOperator","fullText","fullTextOperator","documentStatus","documentNotes","checkedOutBy","createdBy","fileDateDuration","fileDateDurationType","fileDateOperation","fileSize","fileSizeOperator","lastUpdatedBy","lastAccessedBy","recordPolicy","recordCategory","recordStatus","recordManager","recordLocked","properties","routeName","routeStepName","routeParticipant","workflowComments","workflowSubmittedBy","workflowActive","workflowStepActive","versionHistory","lastOperator","nonVersionedFiles","compressedFiles","dependentMaster","dependentChild","renderedPDF","subFolders","templateFiles","blockSecurity","searchData","parse","searchOptions","query","checked","propertyValues","useOrOperator","searchParameters","toJson","isEmpty","searchLink","nocache","searchInfo","setNavigation","getVersionedSearchMenu","setSearchPath","checkSearchExists","exists","saveSearch","successMessage","showSuccessMessage","advancedSearchSaved","chooseSearchPath","checkSearchForm","equals","errorMessage","showErrorMessage","filenameOptions","phrasesOptions","dateOptions","dateOperations","timespanOptions","recordStatusOptions","sizeComparison","versionOptions","lastOptions","profileList","result","unshift","ProfileID","propertyList","showProperties","loadProperties","showSuccess","errorClick","successClick","getPropertyValues","parseDate","toLocaleDateString","parseInt","filter","property","propertyValue","propertyOperator","propertyName","propertyValue2","runSearch","setVisibility","optionValue","dateSearchSelected","dateComparison","dateSearchTypeSelected","index","navigateWarning","newLocation","oldLocation","newPath","removeEventListener","loadSearch","autoSearch","filePath","fileName","fullTextValue","profilePropertyValues","getAdvancedSearch","parameters","versionedSearch","Versioned","currentSearch","currentFolder","curentPage","$compile","$document","PageSizes","localOptions","gridDataSource","gridColumns","onColumnReset","showColumnReset","enableCheckbox","prop","getCurrentPage","gridItem","click","animate","scrollTop","position","top","pageSizes","dataBound","updateItems","visibleRows","masterCheckboxRef","unbind","hasClass","uncheckAll","checkAll","toggleClass","$watch","allSelected","addClass","removeClass","show","hide","resizeGrid","dataSource","selectedClass","lastSelected","itemSelected","bind","ctrlKey","metaKey","parent","shiftKey","prevAll","nextUntil","addBack","add","nextAll","shouldSelect","target","className","closest","closeContextMenu","contextMenu","coordinates","x","pageX","y","pageY","contextMenuOptions","menuItems","columnShow","columns","column","hidden","saveState","columnHide","columnReorder","splice","oldIndex","newIndex","columnResize","columnMenuInit","menu","container","handler","proxy","append","callback","c","columnObject","columnArray","sortColumn","sortDir","_sort","slice","saveColumns","grid","loadGrid","compileGrid","gridScope","$new","$root","defaultSort","noRecords","gridElement","forOwn","flowOptions","key","el","pager","fadeIn","resize","innerHeight","siblings","not","i","outerHeight","clearSelectedItems","$destroy","kendoId","itemIndex","findIndex","markRead","markUnread","removeSelectedItems","addSelectedItems","gridRowCollection","objectIdArray","FileName","Type","Status","StatusFlags","Activity","CheckedOutBy","gridRow","stopPropagation","Tray","fileObject","toggleLit","addFavorite","removeFavorite","getObjectsFromGrid","kendoIdArray","selectedArray","_defaultColumns","_isUserView","checkColumn","headerTemplate","checkColumnNoFolders","checkStarColumn","statusColumn","fileNameColumn","subjectColumn","instanceColumn","projectColumn","savedSearchColumn","getDefaultColumns","localColumns","viewType","IsUserView","skipColumns","ColumnID","Width","Sort","Visible","DisplayName","defaultColumns","readOnly","MessageID","Action","_user","_repository","_loggedIn","_workingFolderPermissions","_timeout","_webView","_allowedNodes","appendScripts","widgets","component","scriptPath","componentName","componentScript","now","setSession","array","Uint32Array","crypto","getRandomValues","str","getId","handleChange","newValue","permissions","getPermissions","timeout","allowedNodes","portalWidgets","ssoToken","req","method","LoginType","User","Password","Domain","Server","Repository","WebLink","headers","Authorization","ClientID","IsEdit","Authorized","newpass","NewPassword","forceUpdate","appSettings","close","dialogText","successCallback","cancelCallback","kendoWindow","modal","destroy","activate","content","center","end","titleText","closeCallback","val","keypress","which","self","dragend","restrictWindowDragging","getElementById","focus","selectionStart","selectionEnd","lastIndexOf","initialValue","closeWindow","fullName","removeAttr","Error","Message","NodeIndex","hasExt","newExt","renameFile","keyup","windowName","winObject","windowWrapper","windowPosition","offset","shouldOverridePosition","left","menuCollection","icon","bravaVersion","getProjectFileContextMenu","compact","getProjectMenu","operationType","isProject","isProjectSync","isElectron","createdownloadpackage","localPath","machineName","objects","zipMultipleFiles","showErrors","errorList","errorString","ff","Array","isArray","isCheckout","workingDirectory","obj","useWorkingFolder","downloadItem","fileInfo","packageId","repositoryPath","upload","operationId","getDetails","promises","deferred","canceler","objectType","newFileName","getWorkingPaths","$eval","wtEnter","$last","lastNode","getPath","View","ua","msie","substring","rv","edge","objectID","linkURL","port","$$port","$$protocol","$$host","lowerCaseParameters","v","k","LinkType","Preview","WFRow","WFStep","WFRoute","dialogType","originWindow","openerWindow","selectedItemsArray","windowOptions","selected","selectedItemsColon","RegExp","selectedItemsSemiColon","isMulti","clearLegacyForm","submit","injector","split","pathCheckCallback","newFileList","badList","alertMessage","badFile","dialogHeight","Import","droppedFiles","importFolderSettings","fileService","userFilter","filterColumn","importFolder","policyStatusEnabled","filterOptions","policyStatus","existingFileBehavior","fileAdded","$file","size","maxFileSize","maxChunkSize","Setting","autoNameTemplate","autoPath","policyId","workflowRoute","workflowInstanceOption","Value","importSettings","FolderId","ProfileName","Properties","Description","VersionNotes","AutoName","AutoPath","RecordPolicy","RecordPolicyStatus","ExistingFileBehavior","FullText","CreateNewVersion","ExtractZip","MaintainZipStructure","NotificationSubject","NotificationMessage","NotificationList","MessageOption","RouteName","RequestMessage","RouteOption","setDefault","complete","f","$flow","importFiles","cancelUpload","checkUnique","relativePath","webkitRelativePath","oldValue","profilesLoaded","importProfileDropDown","routeDataBound","selectedItem","routeList","trigger","formatNumber","num","autoNameList","autoPathList","policyList","routeSelect","RouteId","todayDate","todayHour","getHours","AMPM","getMonth","getDate","getFullYear","getMinutes","getSeconds","recordPolicySelect","PolicyId","enable","users","showProcessingOverlay","removeProcessingOverlay","submitUpload","validateProperties","startImport","openImportProgess","setDefaultProfile","profileArea","messageArea","addFiles","newScope","resizeDialog","minWidth","draggable","getFolderSettings","wtDroppedFiles","wtImportSettings","flow","reCenter","downloadType","dirty","projectInfo","_importSettings","setImportSettings","getImportSettings","bindToParent","model","check","menuData","DropHandler","enterTarget","isIE11","dataTransfer","dropEffect","getFiles","openDialog","checkFileSize","getProfileList","getProperties","profileId","Profiles","PropertyValues","elem","attrs","ngModel","msapi","internalControl","checkRequired","includeBlankValues","isRequired","required","textValue","multiValue","propertyType","date1","date2","inputValue","propertyOptions","datePropertyOptions","textOnBlur","textOnKeydown","keyCode","inputList","searchValue","resetOptions","setPropertyName","getValues","currentValues","currentFile","body","fadeOut","getPreview","isImage","imageScope","loopCounter","showCloseButton","frameBody","contentWindow","querySelector","style","display","CharacterThreshold","wtDataSource","defaultValue","linkedParent","autoBind","autoPopulate","typeToBind","serverFiltering","clearInput","filterList","textBox","inputText","list","populate","repositionList","initialHeight","addSelected","idIndex","arr","fromJson","showList","elementWidth","outerWidth","hideList","clear","hasItems","mousedown","typeTimer","setInputWidth","lit","pop","prev","scrollToElement","first","next","textWidth","spanWidth","parentWidth","elementTop","elementHeight","parentHeight","parentScrollTop","s","mv","textContent","empty","allowEdit","timer","setPath","tooltipElement","effect","fx","duration","play","cancel","imageSource","leftRightPadding","topBottomPadding","headerCompensate","originalWidth","originalHeight","img","imageWidth","imageHeight","containerWidth","containerHeight","scaleX1","scaleY1","scaleX2","scaleY2","Math","floor","targetleft","targettop","tooltip","reportTooltip","$templateCache","flowObject","userName","isLoggedIn","showQuickSearch","showWebView","has","customMenu","searchOptionsEmpty","openWebHelp","folderDefer","items","entryCount","fileReadSuccess","fullPath","readSuccess","entries","entry","isDirectory","createReader","readEntries","webkitGetAsEntry","filteredItems","kind","handleWebkitEntry","all","$element","$attrs","addFileButton","versions","reverse","workingVersion","versionDetails","showDelete","setVersionInfo","previousValue","versionClick","newVersion","addFileEditor","saveChanges","projectForm","openLink","projectEditorOptions","projectEditorData","Sider","Layout","SubMenu","Menu","SiderDemo","collapsed","onCollapse","setState","onSelect","collapsible","collapsedWidth","backgroundColor","minHeight","alt","src","defaultSelectedKeys","defaultOpenKeys","onClick","mode","padding","color","border","Item","iconType","paddingLeft","marginRight","Divider","React","Component","memo","ReponsiveImage","imagePath","angularScope","elementRef","useRef","imageRef","useState","setOriginalWidth","setOriginalHeight","useCallback","lrPadding","tbPadding","hCompensate","current","parentNode","clientWidth","clientHeight","cssText","useEffect","callResize","once","ref","IframContainer","styled","div","PreviewFrame","iframe","SpinContainer","connect","dlObject","iframeRef","setPreview","setCancel","loading","setLoading","CancelToken","previewPaneLoaded","openPreview","cancelToken","encodedFilename","framePath","ResponsiveImage","transform","antIcon","LoadingOutlined","fontSize","spin","EmptyDetail","EmptyDetails","marginTop","indicator","marginLeft","DetailItem","DetailLabel","DetailValue","DetailsHeader","scrolled","IconHolder","ScrollingContainer","DetailSection","DetailsProperties","DetailsNotes","DetailsWorkflows","WorkflowRouteDetails","WorkflowStepDetails","Note","previewPane","TabPane","Tabs","Panel","Collapse","defaultDetails","workflows","dependencies","primary","projects","details","setDetails","setScrolled","scrollRef","statusImage","handleScroll","srcElement","apiEndpoint","defaultActiveKey","onChange","tab","flexDirection","thumbnail","float","FileSize","KeyWords","CreateDate","CreatedBy","LastAccessed","LastAccessedBy","LastUpdated","LastUpdatedBy","accordion","bordered","header","propertyID","displayValue","note","userID","logDate","versionID","workflow","instanceName","instanceID","routeStarted","requestedBy","requestMessage","stepName","stepType","stepStartDate","stepEndDate","stepInstructions","routeInstructions","recordPolicyId","recordAssignedDate","recordActionDate","recordPolicyAction","paddingBottom","require","react2angular","Breadcrumb","DetailsPane","ModalRoot","DownloadHelper","Sidebar","Portal","Logout","MenuBar","UserButton","ContextMenuRoot","QuickSearchBox","Icon","MultifactorVerification","LOAD_APP_SETTINGS","loadAppSettings","TOAST_SHOW","TOAST_DISMISS","showToast","MODAL_SHOW","MODAL_HIDE","showModal","modalType","modalProps","modalContentProps","hideModal","INITIATE_DOWNLOAD","initiateDownload","RESET_DOWNLOAD","resetDownload","LOAD_USER_DATA","loadUserData","userData","LOAD_PORTAL","loadPortal","portalComponents","CONTEXT_MENU_SHOW","CONTEXT_MENU_HIDE","showContextMenu","menuProps","hideContextMenu","POPOVER_SHOW","POPOVER_HIDE","SidebarButton","SidebarIcon","fixedWidth","reactStore","setReactStore","form","createRef","nextProps","props","encType","mapDispatchToProps","DashboardContainer","DashboardRow","DashboardWidget","portal","isAdmin","Widget","default","LogoutContainer","Header","rel","MenuText","span","ButtonContainer","Username","overlay","overlayClassName","Input","QuickSearchContainer","IconContainer","inputEl","defaultOptions","setVisible","setSearchValue","setSearchOptions","searchOption","optionsCopy","optionId","buttonDropdown","onVisibleChange","flag","placeholder","onSearch","stopListening","originalPath","addonAfter","paths","setOverflowPaths","breadcrumbPaths","setBreadcrumbPaths","widths","setWidths","breadcrumbRef","insert","newItems","visibleWidth","getBoundingClientRect","breadcrumbWidth","offsetWidth","prevOverflowPaths","addedPaths","newBreadcrumbWidth","addedPath","newOverflowPaths","prevBreadcrumbPaths","breadcrumbCopy","removedPaths","removedPath","pathsCopy","prevPaths","BreadcrumbContainer","routes","itemRender","route","Container","disabled","setDisabled","starting","setStarting","Form","useForm","labelCol","xs","sm","wrapperCol","onFinish","values","labelAlign","label","paddingTop","textAlign","valuePropName","htmlType","TextArea","toasts","setUsers","postData","objectIds","success","rules","Option","userId","maxHeight","overflow","overflowY","renderItem","rows","CheckContainer","Modals","QUICK_APPROVAL_WORKFLOW","QuickApprovalWorkflow","DIRECT_LINK","setLink","buttonRef","setClipboard","Clipboard","ReactDOM","findDOMNode","onClickCapture","addonBefore","openModal","modalOptions","onOk","onCancel","destroyOnClose","forceRender","cancelButtonProps","dangerouslySetInnerHTML","__html","ModalContents","MenuContainer","ContextMenu","setX","setY","contextMenuHeight","setcontextMenuHeight","menuRef","menuHeight","offsetHeight","menuWidth","bottomOffset","innerWidth","setCoordinates","handleGlobalClick","contains","handleClose","onContextMenu","onClose","itemArray","handleMenuClick","SidebarContainer","MainMenu","HelpMenu","enablePortal","enableMessages","setCollapsed","currentSelection","setCurrentSelection","setActiveButton","cleanup","selectedKeys","onTitleClick","bottom","TextDiv","IconDiv","setMenuItems","selectable","contextMenuInitialState","combineReducers","toast","popover","popoverType","popoverProps","_templateObject","library","fas","fal","strings","raw","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_ref","faStyle","createElement","FontAwesomeIcon","Object","freeze","defineProperties","_taggedTemplateLiteral","WidgetContainer","InnerContainer","WidgetContent","WidgetContentContainer","Spinner","MenuButtonContainer","Content","_ref2","Spin","MenuButton","_ref3","Dropdown","_defineProperty","defineProperty","enumerable","configurable","writable","Editor","editorRef","onModelChange","arguments","ownKeys","keys","getOwnPropertySymbols","concat","sym","getOwnPropertyDescriptor","_objectSpread","imageUploadParam","imageUploadURL","imageUploadParams","imageUploadMethod","imageMaxSize","imageAllowedTypes","imageManagerPageSize","imageManagerScrollOffset","imageManagerLoadURL","imageManagerLoadMethod","imageManagerDeleteURL","imageManagerDeleteMethod","toolbarButtons","pluginsEnabled","attribution","FroalaEditorComponent","tag","watchNotifications","handleNotification","actionChannel","notificationRequest","take","call","fork","dlwebComponents","jquery","jQuery","redux","lodash","react","PropTypes","less","antd"],"mappings":"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","file":"static/js/main.1a7c6f68.chunk.js","sourcesContent":["import angular from 'angular';\r\nimport ngRoute from 'angular-route';\r\nimport ngCookies from 'angular-cookies';\r\nimport ngAnimate from 'angular-animate';\r\nimport ngRedux from 'ng-redux';\r\nimport { notification } from 'antd';\r\n\r\nimport * as rs from './store';\r\nimport { rootReducer } from './store/reducers'\r\nimport * as _ from 'lodash';\r\nimport axios from 'axios';\r\n\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport { rootSaga } from './store/sagas';\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\n\r\nglobal.loginPages = ['/login'];\r\nglobal.webTools = angular.module('webTools',\r\n [ngRoute,\r\n ngCookies,\r\n ngAnimate,\r\n ngRedux,\r\n 'kendo.directives',\r\n 'flow',\r\n ]);\r\n\r\n// register the interceptor as a service\r\nangular.module('webTools').factory('wtHttpInterceptor', ['$q', '$injector', '$location', '$rootScope', '$ngRedux',\r\n function ($q, $injector, $location, $rootScope, $ngRedux) {\r\n\r\n var _popupTimer = '';\r\n var _logoutTimer = '';\r\n\r\n var clearTimers = function () {\r\n window.clearTimeout(_popupTimer);\r\n window.clearTimeout(_logoutTimer);\r\n };\r\n\r\n var logout = function () {\r\n clearTimers();\r\n window.onbeforeunload = undefined;\r\n $location.url('/logout');\r\n $rootScope.$apply();\r\n }\r\n\r\n var showPopup = function () {\r\n $injector.get('ModalWindow').openConfirmation(\"Your session is about to expire.

Stay logged in?\", stayAlive, logout);\r\n }\r\n\r\n var stayAlive = function () {\r\n $injector.get('$http').get('/api/authentication/KeepSessionAlive');\r\n }\r\n\r\n const resetSessionTimers = () => {\r\n\r\n const loggedIn = $injector.get('Auth').loggedIn();\r\n const sessionTimeout = $injector.get('Auth').getTimeout() * 60000\r\n const alertTimeout = sessionTimeout - 120000;\r\n\r\n if (loggedIn) {\r\n if (sessionTimeout > 0 && $location.path() !== '/logout') {\r\n clearTimers();\r\n _popupTimer = window.setTimeout(showPopup, alertTimeout);\r\n _logoutTimer = window.setTimeout(logout, sessionTimeout);\r\n }\r\n } else {\r\n clearTimers();\r\n }\r\n\r\n }\r\n\r\n // make sure React is resetting the timer\r\n axios.interceptors.response.use(function (response) {\r\n resetSessionTimers();\r\n return response;\r\n }, function (error) {\r\n return Promise.reject(error);\r\n });\r\n\r\n // Electron\r\n axios.interceptors.request.use(function (request) {\r\n const state = $ngRedux.getState();\r\n if (request.url.indexOf('/api/') > -1 && state.app.endpoint) {\r\n request.url = state.app.endpoint + request.url\r\n }\r\n return request;\r\n }, function (error) {\r\n return Promise.reject(error);\r\n });\r\n\r\n return {\r\n // optional method\r\n 'request': function (request) {\r\n\r\n const state = $ngRedux.getState();\r\n\r\n let tokenPromise = $q.when($injector.invoke(() => { }, this, {\r\n options: request\r\n }));\r\n\r\n return tokenPromise.then(function (token) {\r\n if (request.url.indexOf('/api/') > -1 && state.app.endpoint) {\r\n request.url = state.app.endpoint + request.url\r\n }\r\n return request;\r\n });\r\n },\r\n\r\n // optional method\r\n 'requestError': function (rejection) {\r\n return $q.reject(rejection);\r\n },\r\n\r\n // optional method\r\n 'response': function (response) {\r\n\r\n resetSessionTimers();\r\n\r\n return response || $q.when(response);\r\n },\r\n\r\n // optional method\r\n 'responseError': function (rejection) {\r\n\r\n if (rejection.status === 401) {\r\n window.location.href = '/';\r\n }\r\n\r\n return $q.reject(rejection);\r\n }\r\n };\r\n }\r\n]);\r\n\r\nangular.module('webTools').config(['$routeProvider', '$httpProvider', '$locationProvider', '$ngReduxProvider',\r\n function ($routeProvider, $httpProvider, $locationProvider, $ngReduxProvider) {\r\n\r\n // Create Redux store\r\n if (window.__REDUX_DEVTOOLS_EXTENSION__) {\r\n $ngReduxProvider.createStoreWith(rootReducer, [sagaMiddleware], [window.__REDUX_DEVTOOLS_EXTENSION__()]);\r\n } else {\r\n $ngReduxProvider.createStoreWith(rootReducer, [sagaMiddleware]);\r\n }\r\n\r\n // no hash in URL\r\n $locationProvider.html5Mode(true);\r\n\r\n // global config for notifications\r\n notification.config({\r\n placement: 'bottomRight'\r\n });\r\n\r\n //$locationProvider.hashPrefix('');\r\n $httpProvider.interceptors.push('wtHttpInterceptor');\r\n\r\n $routeProvider.when('/documents/:folder?',\r\n {\r\n templateUrl: '/partials/documents.html',\r\n controller: 'DocumentsCtrl',\r\n reloadOnSearch: false,\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'ModalWindow',\r\n function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow) {\r\n if (!Auth.loggedIn()) {\r\n return loadSession($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, 'documents');\r\n } else {\r\n return checkPermissions($q, $rootScope, $location, $ngRedux, Auth, 'documents');\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/workflow',\r\n {\r\n templateUrl: '/partials/workflow.html',\r\n controller: 'WorkflowCtrl',\r\n reloadOnSearch: false,\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'ModalWindow',\r\n function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow) {\r\n if (!Auth.loggedIn()) {\r\n return loadSession($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, 'workflow');\r\n } else {\r\n return checkPermissions($q, $rootScope, $location, $ngRedux, Auth, 'workflow');\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/search',\r\n {\r\n templateUrl: '/partials/search.html',\r\n controller: 'SearchCtrl',\r\n reloadOnSearch: false,\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'ModalWindow',\r\n function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow) {\r\n if (!Auth.loggedIn()) {\r\n return loadSession($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, 'search');\r\n } else {\r\n return checkPermissions($q, $rootScope, $location, $ngRedux, Auth, 'search');\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/saved-search',\r\n {\r\n templateUrl: '/partials/saved-search.html',\r\n controller: 'SavedSearchCtrl',\r\n reloadOnSearch: false,\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'ModalWindow',\r\n function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow) {\r\n if (!Auth.loggedIn()) {\r\n return loadSession($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, 'search');\r\n } else {\r\n return checkPermissions($q, $rootScope, $location, $ngRedux, Auth, 'search');\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/projects',\r\n {\r\n templateUrl: '/partials/projects.html',\r\n controller: 'ProjectsCtrl',\r\n reloadOnSearch: false,\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'ModalWindow',\r\n function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow) {\r\n if (!Auth.loggedIn()) {\r\n return loadSession($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, 'projects');\r\n } else {\r\n return checkPermissions($q, $rootScope, $location, $ngRedux, Auth, 'projects');\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/reports',\r\n {\r\n templateUrl: '/partials/reports.html',\r\n controller: 'ReportsCtrl',\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'ModalWindow',\r\n function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow) {\r\n if (!Auth.loggedIn()) {\r\n return loadSession($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, 'reports');\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/portal',\r\n {\r\n templateUrl: '/partials/portal.html',\r\n controller: 'PortalCtrl',\r\n reloadOnSearch: false,\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'ModalWindow',\r\n function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow) {\r\n if (!Auth.loggedIn()) {\r\n return loadSession($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, 'portal');\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/login',\r\n {\r\n templateUrl: '/partials/login.html',\r\n controller: 'DefaultLogin',\r\n reloadOnSearch: false,\r\n caseInsensitiveMatch: true,\r\n resolve: {\r\n sessionCheck: ['$q', '$location', '$rootScope', '$ngRedux', 'Auth', 'Utility', function ($q, $location, $rootScope, $ngRedux, Auth, Utility) {\r\n return window.loadLogin($q, $location, $rootScope, $ngRedux, Auth, Utility);\r\n }]\r\n }\r\n }\r\n );\r\n $routeProvider.when('/logout',\r\n {\r\n templateUrl: '/partials/logout.html',\r\n controller: 'LogoutCtrl',\r\n caseInsensitiveMatch: true\r\n }\r\n );\r\n\r\n $routeProvider.otherwise({ redirectTo: () => `/login${window.location.search}` });\r\n }\r\n]).run(['$rootScope', '$location', '$ngRedux', '$window', '$timeout', '$cookies', 'Auth',\r\n function ($rootScope, $location, $ngRedux, $window, $timeout, $cookies, Auth) {\r\n\r\n const oidcServer = sessionStorage.getItem('mobile-oidc-server');\r\n const oidcRepository = sessionStorage.getItem('mobile-oidc-repository');\r\n const oidcRedirect = decodeURIComponent(sessionStorage.getItem('mobile-oidc-redirect'));\r\n\r\n // this is for the OIDC login from mobile\r\n if (oidcServer !== null && oidcServer.length > 0 && oidcRepository != null && oidcRepository.length > 0) {\r\n \r\n $rootScope.$on('$routeChangeStart', (event) => {\r\n event.preventDefault()\r\n })\r\n\r\n Auth.loadSettings(true, (data) => {\r\n const msalConfig = {\r\n auth: {\r\n clientId: data.clientId,\r\n authority: `https://login.microsoftonline.com/${data.tenantId}/`,\r\n redirectUri: new $window.URL($location.absUrl()).origin // get base URL\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n }\r\n };\r\n\r\n const loginRequest = {\r\n scopes: [\"User.Read\"]\r\n };\r\n\r\n const msalObject = new msal.PublicClientApplication(msalConfig);\r\n\r\n function handleResponse(response) {\r\n\r\n if (response !== null) {\r\n\r\n Auth.login('mobile-oidc', '', '', '', oidcRepository, oidcServer, '', response.idToken, (authorized, redirect, message) => {\r\n\r\n\r\n sessionStorage.removeItem('mobile-oidc-server');\r\n sessionStorage.removeItem('mobile-oidc-repository');\r\n sessionStorage.removeItem('mobile-oidc-redirect');\r\n \r\n if (!authorized) {\r\n document.cookie = `loginError=${message ? message : 'Login failed'}; path=/mobile`;\r\n }\r\n\r\n window.location.href = `/mobile/${oidcRedirect}`;\r\n return;\r\n });\r\n }\r\n else {\r\n msalObject.loginRedirect(loginRequest);\r\n }\r\n }\r\n\r\n msalObject.handleRedirectPromise().then(handleResponse);\r\n\r\n return;\r\n });\r\n }\r\n else {\r\n window.dl = window.dl || {};\r\n\r\n window.addEventListener('message', (event) => {\r\n if (event.source !== window) return\r\n if (event.data.type === 'downloadComplete') {\r\n console.log(event)\r\n }\r\n })\r\n\r\n window.relayMessage = (message) => {\r\n window.postMessage(message);\r\n }\r\n\r\n // Set the store for React\r\n rs.setReactStore($ngRedux);\r\n\r\n // Run Saga\r\n sagaMiddleware.run(rootSaga);\r\n\r\n window.dl.logout = () => {\r\n axios.get('/api/authentication/logout')\r\n .then(() => { window.postMessage({ action: 'logged-out', payload: 'loggedout' }) })\r\n .catch(() => { window.postMessage({ action: 'logged-out', payload: 'logout-failed' }) })\r\n }\r\n\r\n // Angular will listen for change events\r\n $ngRedux.subscribe(() => {\r\n $timeout(() => { $rootScope.$apply(() => { }) }, 100);\r\n });\r\n\r\n var mobile = isMobile(navigator.userAgent || navigator.vendor || window.opera);\r\n var q = $location.$$absUrl.indexOf('?') > -1 ? $location.$$absUrl.substr($location.$$absUrl.indexOf('?')) : '';\r\n var u = '/mobile/default.aspx' + q;\r\n\r\n if (_.indexOf(window.loginPages, $location.path()) >= 0) {\r\n u = '/mobile' + $location.path() + '.aspx' + q;\r\n }\r\n\r\n if (mobile) {\r\n if ($cookies.bypassMobile) {\r\n if ($cookies.bypassMobile !== 'true') {\r\n $window.location.href = u;\r\n }\r\n } else {\r\n $window.location.href = u;\r\n }\r\n }\r\n\r\n // SETTING MOVED TO LOCAL STORAGE BUT COOKIE CURRENTLY NEEDED FOR LINK SUPPORT\r\n var pageSize = localStorage.getItem('pageSize');\r\n\r\n if (pageSize) {\r\n $cookies.put('pageSize', pageSize);\r\n }\r\n }\r\n }\r\n]);\r\n\r\nglobal.sendToDefaultView = function ($ngRedux, $location, Auth) {\r\n var nodes = Auth.getAllowedNodes();\r\n\r\n const store = $ngRedux.getState();\r\n let view = store.app.defaultView;\r\n\r\n if (nodes.length > 0) {\r\n if (!_.includes(nodes, view === 'messages' ? 'workflow' : view)) {\r\n view = nodes[0];\r\n } else {\r\n switch (store.app.defaultView) {\r\n case 'messages':\r\n view = 'workflow?view=messages'\r\n break;\r\n case 'workflow':\r\n view = 'workflow?view=tasks'\r\n break;\r\n default:\r\n view = store.app.defaultView;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n $location.url('/' + view);\r\n}\r\n\r\nglobal.loadLogin = function ($q, $location, $rootScope, $ngRedux, Auth, Utility) {\r\n\r\n localStorage.setItem('loginPage', $location.path());\r\n\r\n var defer = $q.defer();\r\n const store = $ngRedux.getState();\r\n\r\n Auth.loadSettings(true, () => {\r\n Auth.checkSession(function (loggedIn) {\r\n\r\n if (!loggedIn) {\r\n defer.resolve();\r\n return;\r\n } else {\r\n // check for link\r\n if (!_.isEmpty($location.search())) {\r\n const link = Utility.buildWebLink($location.search());\r\n\r\n if (link) {\r\n Utility.getWebLinkPath(link).then((res) => {\r\n $location.url(res.linkPath);\r\n })\r\n }\r\n } else {\r\n if (store.app.redirect) {\r\n $location.url(store.app.redirect);\r\n delete $ngRedux.get('redirect');\r\n defer.resolve()\r\n } else {\r\n window.sendToDefaultView($ngRedux, $location, Auth);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n\r\n return defer.promise;\r\n}\r\n\r\nconst loadSession = function ($q, $location, $rootScope, $ngRedux, Auth, ModalWindow, node) {\r\n\r\n var defer = $q.defer();\r\n\r\n Auth.loadSettings(false, () => {\r\n Auth.checkSession(function (loggedIn) {\r\n if (!loggedIn) {\r\n $location.url(`/login?redirect=${$location.url()}`);\r\n } else {\r\n $rootScope.$broadcast('userUpdated');\r\n if (!_.includes(Auth.getAllowedNodes(), node)) {\r\n defer.reject();\r\n ModalWindow.openNotification('You do not have access to view this link.', function () {\r\n window.sendToDefaultView($ngRedux, $location, Auth);\r\n })\r\n } else {\r\n defer.resolve();\r\n }\r\n }\r\n });\r\n })\r\n\r\n return defer.promise;\r\n}\r\n\r\nconst checkPermissions = function ($q, $rootScope, $location, $ngRedux, Auth, node) {\r\n var defer = $q.defer();\r\n\r\n if (_.includes(Auth.getAllowedNodes(), node)) {\r\n defer.resolve();\r\n } else {\r\n defer.reject();\r\n window.sendToDefaultView($ngRedux, $location, Auth);\r\n }\r\n\r\n return defer.promise;\r\n}\r\n\r\n/* eslint-disable no-useless-escape */\r\nconst isMobile = function (userAgent) {\r\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(userAgent) ||\r\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(userAgent.substr(0, 4))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n/* eslint-enable no-useless-escape */\r\n\r\nfunction dialog(x, y, url) {\r\n var w = window.screen.availWidth;\r\n var h = window.screen.availHeight;\r\n w = (w - x) / 2;\r\n h = (h - y) / 2;\r\n\r\n var windowOptions = \"resizable=no,menubar=no,toolbar=no,status=no,scrollbars=no,location=no,menubar=no,width=\" + x + \",height=\" + y + \",top=\" + h + \",left=\" + w;\r\n var dialogWin = window.open(url, \"cleanUp\", windowOptions);\r\n dialogWin.blur()\r\n window.focus()\r\n\r\n return dialogWin;\r\n}\r\n\r\nwindow.onbeforeunload = function () {\r\n\r\n /* \r\n * COMMENTING OUT THIS SECTION UNTIL WE FIGURE OUT WHAT TO DO WITH LOGOUT\r\n * USERS WILL BE REQUIRED TO CLICK THE LOGOUT BUTTON IN WT TO RELEASE LICENSE\r\n */\r\n\r\n // 0\tTYPE_NAVIGATE\tThe page was accessed by following a link, a bookmark, a form submission, a script, or typing the URL in the address bar.\r\n // 1\tTYPE_RELOAD\tThe page was accessed by clicking the Reload button or via the Location.reload() method.\r\n // 2\tTYPE_BACK_FORWARD\tThe page was accessed by navigating into the history.\r\n // 255\tTYPE_RESERVED\tAny other way.\r\n\r\n //https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigation/type\r\n\r\n // we don't want to logout in electron if it returns 0 on refresh\r\n //const electronRefresh = window.dl.isElectron && performance.navigation.type === 0;\r\n\r\n //if (!electronRefresh && performance.navigation.type !== 1) {\r\n // localStorage.removeItem('sessionId');\r\n // this.navigator.sendBeacon('/api/authentication/logout')\r\n //}\r\n}\r\n","import angular from 'angular';\r\n\r\nangular.module('webTools').controller('LoginCtrl', ['$scope', '$location', 'Auth', 'ModalWindow', '$routeParams', 'Utility', '$ngRedux', '$window', '$cookies',\r\n\tfunction ($scope, $location, Auth, ModalWindow, $routeParams, Utility, $ngRedux, $window, $cookies) {\r\n\r\n\t\tconst store = $ngRedux.getState();\r\n\t\tconst clientSSO = $routeParams.ssoClientID;\r\n\r\n\t\t$scope.formData = {};\r\n\t\t$scope.webLink = Utility.buildWebLink($routeParams);\r\n\r\n\t\tif (!clientSSO) {\r\n\t\t\tif (Auth.loggedIn()) {\r\n\t\t\t\tUtility.getWebLinkPath($scope.webLink).then((res) => {\r\n\t\t\t\t\t$location.url(res.linkPath);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.loginError = '';\r\n\t\t$scope.invalidLogin = false;\r\n\t\t$scope.loginSubmitted = false;\r\n\t\t$scope.showForgotPassword = false;\r\n\r\n\t\t$scope.isEdit = (typeof $routeParams.ssoServer !== 'undefined' && $routeParams.ssoServer !== '') && (typeof $routeParams.ssoRepo !== 'undefined' && $routeParams.ssoRepo != '');\r\n\r\n\t\tif ($cookies.get('loginError')) {\r\n\t\t\t$scope.loginError = $cookies.get('loginError');\r\n\t\t\t$scope.invalidLogin = true;\r\n\t\t\t$cookies.remove('loginError');\r\n\t\t}\r\n\r\n\t\t$scope.launchForgotPassword = function () {\r\n\t\t\tif ($scope.formData.server && $scope.formData.repository) {\r\n\t\t\t\tModalWindow.openForgotPassword(function (user) {\r\n\t\t\t\t\tAuth.resetPassword(user, $scope.formData.server, $scope.formData.repository, function (res) {\r\n\t\t\t\t\t\tconsole.log(res)\r\n\t\t\t\t\t\tModalWindow.openNotification(res.data.replace(/\"/g, \"\"));\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tModalWindow.openNotification('Please enter server name and repository.')\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.loginOptions = [\r\n\t\t\t{ id: 1, value: 'SQL', text: 'SQL User', visible: !clientSSO },\r\n\t\t\t{ id: 2, value: 'windows', text: 'Current Windows User', visible: store.app.windowsAuth && !clientSSO },\r\n\t\t\t{ id: 3, value: 'differentWindows', text: 'Different Windows User', visible: !clientSSO },\r\n\t\t\t{ id: 4, value: 'office365', text: 'Microsoft Office 365', visible: store.app.ssoType != null },\r\n\t\t];\r\n\r\n\t\t// DEFAULT LOGIN OPTION :: 0 = SQL, 1 = CurrentNT, 2 = DifferentNT, 3 = Office 365 SSO\r\n\t\tif (!clientSSO) {\r\n\t\t\t$scope.selectedOption = $scope.loginOptions[$scope.defaultLoginOption];\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$scope.selectedOption = $scope.loginOptions[3];\r\n }\r\n\r\n\t\t$scope.setLoginOption = function (option) {\r\n\t\t\t$scope.selectedOption = option;\r\n\t\t\tif ($scope.selectedOption.id === 1) {\r\n\t\t\t\t$scope.showForgotPassword = store.app.showForgotPassword;\r\n\t\t\t} else {\r\n\t\t\t\t$scope.showForgotPassword = false;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif($scope.isEdit) {\r\n\t\t\t$scope.defaultServer = $routeParams.ssoServer;\r\n\t\t\t$scope.defaultRepository = $routeParams.ssoRepo;\r\n\t\t}\r\n\r\n\t\t// default form values\r\n\t\t$scope.setFormValues = function () {\r\n\t\t\t$scope.formData.user = $scope.defaultUser;\r\n\t\t\t$scope.formData.pass = '';\r\n\t\t\t$scope.formData.domain = $scope.defaultDomain;\r\n\t\t\t$scope.formData.server = $scope.defaultServer;\r\n\t\t\t$scope.formData.repository = $scope.defaultRepository;\r\n\t\t\t$scope.setLoginOption($scope.selectedOption);\r\n\t\t}\r\n\r\n\t\t$scope.setFormValues();\r\n\r\n\t\t$scope.showDomain = function () { return $scope.selectedOption.id === 3; }\r\n\t\t$scope.showUser = function () { return $scope.selectedOption.id !== 2 && $scope.selectedOption.id !== 4; }\r\n\t\t$scope.showPassword = function () { return $scope.selectedOption.id !== 2 && $scope.selectedOption.id !== 4; }\r\n\r\n\t\t$scope.showLoginOptions = false;\r\n\t\t$scope.showLoginForm = false;\r\n\t\t$scope.showMFA = false;\r\n\r\n\t\tif (store.app.autoLogin && $scope.enableAutoLogin) {\r\n\r\n\t\t\tAuth.login('auto', '', '', '', '', '', $scope.webLink, '',\r\n\t\t\t\tfunction (authorized, redirect, message) {\r\n\r\n\t\t\t\t\tif (!authorized) {\r\n\t\t\t\t\t\t$scope.invalidLogin = true;\r\n\t\t\t\t\t\t$scope.loginSubmitted = false;\r\n\t\t\t\t\t\t$scope.loginError = message;\r\n\t\t\t\t\t\t$scope.showLoginForm = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif(redirect) {\r\n\t\t\t\t\t\t\t$location.url(redirect);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if ($routeParams.redirect) {\r\n\t\t\t\t\t\t\tvar r = $routeParams.redirect;\r\n\t\t\t\t\t\t\t$location.url(r);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\twindow.sendToDefaultView($ngRedux, $location, Auth);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$scope.$emit('userUpdated');\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\t$scope.showLoginForm = true;\r\n\t\t}\r\n\r\n\t\t$scope.callLogin = function (formData) {\r\n\r\n\t\t\tif (!formData.user && $scope.selectedOption.id !== 2 && $scope.selectedOption.id !== 4) { $scope.loginError = 'Please enter your username.'; $scope.invalidLogin = true; return; }\r\n\t\t\tif (!formData.pass && $scope.selectedOption.id !== 2 && $scope.selectedOption.id !== 4) { $scope.loginError = 'Please enter your password.'; $scope.invalidLogin = true; return; }\r\n\t\t\tif (!formData.server) { $scope.loginError = 'Please enter the server name.'; $scope.invalidLogin = true; return; }\r\n\t\t\tif (!formData.repository) { $scope.loginError = 'Please enter the repository name.'; $scope.invalidLogin = true; return; }\r\n\t\t\tif (!formData.domain && $scope.selectedOption.id === 3) { $scope.loginError = 'Please enter the domain name.'; $scope.invalidLogin = true; return; }\r\n\r\n\t\t\t$scope.invalidLogin = false;\r\n\t\t\t$scope.loginSubmitted = true;\r\n\r\n\r\n\t\t\tif ($scope.selectedOption.id === 4) { // HANDLE AZURE SSO\r\n\r\n\t\t\t\t\tif (store.app.ssoType === 'oidc') {\r\n\t\t\t\t\t\tconst msalConfig = {\r\n\t\t\t\t\t\t\tauth: {\r\n\t\t\t\t\t\t\t\tclientId: store.app.clientId,\r\n\t\t\t\t\t\t\t\tauthority: `https://login.microsoftonline.com/${store.app.tenantId}/`,\r\n\t\t\t\t\t\t\t\tredirectUri: new $window.URL($location.absUrl()).origin // get base URL\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tcache: {\r\n\t\t\t\t\t\t\t\tcacheLocation: \"sessionStorage\", // This configures where your cache will be stored\r\n\t\t\t\t\t\t\t\tstoreAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\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\tconst loginRequest = {\r\n\t\t\t\t\t\t\tscopes: [\"User.Read\"]\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\tconst myMSALObj = new msal.PublicClientApplication(msalConfig);\r\n\r\n\t\t\t\t\t\tmyMSALObj.loginPopup(loginRequest).then((data) => {\r\n\r\n\t\t\t\t\t\t\t// handle thick client SSO\r\n\t\t\t\t\t\t\tif (clientSSO) {\r\n\r\n\t\t\t\t\t\t\t\tconst clientId = $routeParams.ssoClientID;\r\n\r\n\t\t\t\t\t\t\t\tAuth.clientSSOLogin('oidc', clientId, formData.server, formData.repository, data.idToken, $scope.isEdit, (authorized, data) => {\r\n\t\t\t\t\t\t\t\t\tlocation.href = 'sso-complete.html'\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n \t\telse {\r\n\t\t\t\t\t\t\t\tAuth.login('oidc', '', '', '', formData.server, formData.repository, $scope.webLink, data.idToken, (authorized, redirect, message) => {\r\n\r\n\t\t\t\t\t\t\t\t\tif (!authorized) {\r\n\t\t\t\t\t\t\t\t\t\t$scope.invalidLogin = true;\r\n\t\t\t\t\t\t\t\t\t\t$scope.loginSubmitted = false;\r\n\t\t\t\t\t\t\t\t\t\t$scope.loginError = message;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\tif (redirect) {\r\n\t\t\t\t\t\t\t\t\t\t\t$location.url(redirect);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse if ($routeParams.redirect) {\r\n\t\t\t\t\t\t\t\t\t\t\tvar r = $routeParams.redirect;\r\n\t\t\t\t\t\t\t\t\t\t\t$location.url(r);\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\twindow.sendToDefaultView($ngRedux, $location, Auth);\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}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.catch(error => {\r\n\t\t\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\t\t\t$scope.invalidLogin = true;\r\n\t\t\t\t\t\t\t$scope.loginSubmitted = false;\r\n\t\t\t\t\t\t\t$scope.loginError = \"Login failed.\";\r\n\t\t\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (store.app.ssoType === 'saml') {\r\n\r\n\t\t\t\t\t\tif (clientSSO) {\r\n\t\t\t\t\t\t\tconst clientId = $routeParams.ssoClientID;\r\n\r\n\t\t\t\t\t\t\tlet redirectUrl = `/login-saml.aspx?clientId=${clientId}&repository=${formData.repository}&server=${formData.server}`\r\n\r\n\t\t\t\t\t\t\tif ($scope.isEdit) {\r\n\t\t\t\t\t\t\t\t\tredirectUrl += '&isEdit=1'\r\n \t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t$window.location.href = redirectUrl;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\r\n\t\t\t\t\t\t\tlet redirectUrl = `/login-saml.aspx?repository=${formData.repository}&server=${formData.server}&redirect=${encodeURIComponent($location.url())}`;\r\n\t\t\t\t\t\t\t$window.location.href = redirectUrl;\r\n \t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tAuth.login(\r\n\t\t\t\t\t$scope.selectedOption.value,\r\n\t\t\t\t\tformData.user,\r\n\t\t\t\t\tformData.pass,\r\n\t\t\t\t\tformData.domain,\r\n\t\t\t\t\tformData.server,\r\n\t\t\t\t\tformData.repository,\r\n\t\t\t\t\t$scope.webLink,\r\n\t\t\t\t\t'',\r\n\t\t\t\t\tfunction (authorized, redirect, message) {\r\n\t\t\t\t\t\tif (!authorized) { // BAD LOGIN\r\n\t\t\t\t\t\t\tif (message && message.toLowerCase().indexOf('password is expired') > -1) {\r\n\t\t\t\t\t\t\t\tModalWindow.openChangePassword('Your password has expired.', function (newPass) {\r\n\t\t\t\t\t\t\t\t\tAuth.changePassword(formData.user,\r\n\t\t\t\t\t\t\t\t\t\tformData.pass,\r\n\t\t\t\t\t\t\t\t\t\tnewPass,\r\n\t\t\t\t\t\t\t\t\t\tformData.domain,\r\n\t\t\t\t\t\t\t\t\t\tformData.server,\r\n\t\t\t\t\t\t\t\t\t\tformData.repository,\r\n\t\t\t\t\t\t\t\t\t\tfunction (a, r, m) {\r\n\t\t\t\t\t\t\t\t\t\t\tif (!a) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tModalWindow.openNotification(m, function () {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$scope.invalidLogin = false;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$scope.loginSubmitted = false;\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} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\tModalWindow.openNotification('Password has been changed.', function () {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (redirect) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$location.url(redirect);\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\telse if ($routeParams.redirect) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar r = $routeParams.redirect;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$location.url(r);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.sendToDefaultView($ngRedux, $location, Auth);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$scope.$emit('userUpdated');\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}, function (submitted) {\r\n\t\t\t\t\t\t\t\t\tif (!submitted) {\r\n\t\t\t\t\t\t\t\t\t\t$scope.invalidLogin = false;\r\n\t\t\t\t\t\t\t\t\t\t$scope.loginSubmitted = false;\r\n\t\t\t\t\t\t\t\t\t\t$scope.$apply();\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} else { // not authorized\r\n\t\t\t\t\t\t\t\t$scope.invalidLogin = true;\r\n\t\t\t\t\t\t\t\t$scope.loginSubmitted = false;\r\n\t\t\t\t\t\t\t\t$scope.loginError = message;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else { // SUCCESSFUL LOGIN\r\n\r\n\t\t\t\t\t\t\tif (redirect) {\r\n\t\t\t\t\t\t\t\t$location.url(redirect);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if ($routeParams.redirect) {\r\n\t\t\t\t\t\t\t\tvar r = $routeParams.redirect;\r\n\t\t\t\t\t\t\t\t$location.url(r);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\twindow.sendToDefaultView($ngRedux, $location, Auth);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$scope.$emit('userUpdated');\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]);","import angular from 'angular';\r\nimport _ from 'lodash';\r\nimport $ from 'jquery';\r\nimport * as actions from '../../store/actions';\r\n\r\nangular.module('webTools').controller('DocumentsCtrl', ['$scope', '$rootScope', '$routeParams', '$location', '$timeout', 'MenuBuilder', 'Columns', 'Auth', 'GridTools', 'ModalWindow', 'Dialog', 'Utility', 'File', '$ngRedux', '$http',\r\n\tfunction ($scope, $rootScope, $routeParams, $location, $timeout, MenuBuilder, Columns, Auth, GridTools, ModalWindow, Dialog, Utility, File, $ngRedux, $http) {\r\n\t\tconst state = $ngRedux.getState();\r\n\r\n\t\t$scope.kendo = $scope.kendo || {};\r\n\t\t$rootScope.view = 'Documents';\r\n\t\t$scope.gridName = 'documentsGrid';\r\n\r\n\t\t$scope.store = $ngRedux;\r\n\r\n\t\tif (!$routeParams.page) {\r\n\t\t\t$location.search('page', 1);\r\n\t\t\twindow.history.replaceState({}, '', $location.url());\r\n\t\t}\r\n\r\n\t\tif ($routeParams.linkError) {\r\n\t\t\tModalWindow.openNotification('The file or folder you are trying to access does not exist
or you do not have the permissions required to view it.');\r\n\t\t\t$location.search('linkError', null)\r\n\t\t}\r\n\r\n\t\t$rootScope.workingFolder = $routeParams.folder ? $routeParams.folder : 'Documents';\r\n\r\n\t\t/* eslint-disable no-useless-escape */\r\n\t\t$scope.currentLocation = $location.url().replace(/page\\=\\d+/g, '');\r\n\t\t/* eslint-enable no-useless-escape */\r\n\r\n\t\tvar unload = null;\r\n\r\n\t\t$scope.selectFile = () => {\r\n\t\t\tif (!unload) {\r\n\t\t\t\tunload = $scope.$on('gridLoaded', function () {\r\n\r\n\t\t\t\t\t$scope.file = $routeParams.file;\r\n\t\t\t\t\t$scope.fileLink = true;\r\n\r\n\t\t\t\t\tvar wtObject = _.find($scope.kendo[$scope.gridName]._data, function (ds) { return ds.ID === $scope.file; });\r\n\r\n\t\t\t\t\tangular.element('#details-pane').css({ 'display': 'block' })\r\n\t\t\t\t\t$timeout(() => angular.element('#details-pane').css({ 'margin-right': 0 }), 100)\r\n\t\t\t\t\t$scope.detailsPaneIsOpen = true;\r\n\r\n\t\t\t\t\tif ($routeParams.preview === '1') {\r\n\t\t\t\t\t\tvar previewObject = {\r\n\t\t\t\t\t\t\tid: wtObject.ID,\r\n\t\t\t\t\t\t\tversion: wtObject.VersionID,\r\n\t\t\t\t\t\t\tminor: wtObject.Minor\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t$scope.$emit('loadObjectPreview', previewObject);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$scope.kendo.selectGridItem(wtObject.ID);\r\n\t\t\t\t\t$scope.$apply()\r\n\t\t\t\t\tunload();\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ($routeParams.file) {\r\n\t\t\t$scope.selectFile();\r\n\t\t}\r\n\r\n\t\t$scope.$on('$routeUpdate', function (e, data) {\r\n\r\n\t\t\tif ($routeParams.file) {\r\n\t\t\t\t$scope.selectFile();\r\n\t\t\t}\r\n\t\t\t$scope.menuOptions = [];\r\n\t\t\tif ($routeParams.folder === 'recyclebin') {\r\n\t\t\t\t$scope.documentGridOptions.allowSelectFolders = true;\r\n\t\t\t} else {\r\n\t\t\t\t$scope.documentGridOptions.allowSelectFolders = false;\r\n\t\t\t}\r\n\r\n\t\t\t/* eslint-disable no-useless-escape */\r\n\t\t\tif ($scope.currentLocation === $location.url().replace(/page\\=\\d+/g, '')) {\r\n\t\t\t\t$scope.closeDetailsPane();\r\n\t\t\t} else {\r\n\t\t\t\t$scope.closeDetailsPane();\r\n\t\t\t\t$rootScope.workingFolder = $routeParams.folder ? $routeParams.folder : 'Documents';\r\n\t\t\t\t$scope.selectedObject = {};\r\n\t\t\t\t$scope.$broadcast('reloadGrid');\r\n\t\t\t}\r\n\r\n\t\t\t$scope.currentLocation = $location.url().replace(/page\\=\\d+/g, '');\r\n\t\t});\r\n\t\t/* eslint-enable no-useless-escape */\r\n\r\n\t\t$scope.webView = function () { return Auth.isWebView() };\r\n\r\n\t\t$scope.nodeSelect = function (e) {\r\n\t\t\t$location.search({ folder: e.sender.dataItem(e.node).id, page: 1 });\r\n\t\t};\r\n\r\n\t\tconst endpoint = state.app.endpoint;\r\n\r\n\t\t$scope.kendo.documentsData = {\r\n\t\t\ttransport: {\r\n\t\t\t\tread: {\r\n\t\t\t\t\turl: `${endpoint ? endpoint : ''}/api/Documents/GetDocuments?nocache=` + new Date().getTime(),\r\n\t\t\t\t\tcontentType: 'application/json'\r\n\t\t\t\t},\r\n\t\t\t\tparameterMap: function (data, operation) {\r\n\r\n\t\t\t\t\tif (data.sort && data.sort.length > 0) {\r\n\t\t\t\t\t\tconst sort = { sortField: data.sort[0].field, sortDirection: data.sort[0].dir };\r\n\r\n\t\t\t\t\t\tif (operation === 'read') { delete data.sort; data = $.extend(sort, data); }\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdata = $.extend({ folderID: $rootScope.workingFolder }, data);\r\n\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tschema: {\r\n\t\t\t\tdata: function (response) {\r\n\t\t\t\t\tvar path = response.Path;\r\n\t\t\t\t\t$scope.$apply(() => {\r\n\t\t\t\t\t\tswitch ($rootScope.workingFolder.toLowerCase()) {\r\n\t\t\t\t\t\t\tcase 'favorites':\r\n\t\t\t\t\t\t\t\t$scope.breadcrumb = [{ path: 'favorites', breadcrumbName: 'Favorites' }];\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'recyclebin':\r\n\t\t\t\t\t\t\t\t$scope.breadcrumb = [{ path: 'recyclebin', breadcrumbName: 'Recycle Bin' }];\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\tlet pathCopy = _.cloneDeep(path);\r\n\r\n\t\t\t\t\t\t\t\tpathCopy.forEach(p => {\r\n\t\t\t\t\t\t\t\t\tp.pathId = p.path;\r\n\t\t\t\t\t\t\t\t\tp.path = `/documents?folder=${p.path}`;\r\n\t\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\t\t$scope.breadcrumb = pathCopy;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\treturn response.Data;\r\n\t\t\t\t},\r\n\t\t\t\ttotal: 'TotalRows'\r\n\t\t\t},\r\n\t\t\tserverPaging: true,\r\n\t\t\tserverSorting: true,\r\n\t\t\tpageSize: $rootScope.pageSize || 50,\r\n\t\t\tpage: $routeParams.page || 1,\r\n\t\t\tsort: $scope.gridSort\r\n\t\t};\r\n\r\n\t\t$scope.userView = function () { return Columns.isUserView(); };\r\n\r\n\t\t$scope.resetColumns = function () {\r\n\t\t\t$scope.$broadcast('hideGrid');\r\n\t\t\tColumns.resetColumns($rootScope.workingFolder, function () { $scope.selectedObject = {}; $scope.$broadcast('reloadGrid'); });\r\n\t\t};\r\n\r\n\t\t$scope.showFileButton = false;\r\n\r\n\t\t$scope.data = {\r\n\t\t\tbreadcrumb: [],\r\n\t\t\tfileMenuData: [],\r\n\t\t\tfolderMenuData: []\r\n\t\t};\r\n\r\n\t\t$scope.rightClickMenu = false;\r\n\t\t$scope.data.showRightClickMenu = function () { $scope.rightClickMenu = true; };\r\n\t\t$scope.hideRightClickMenu = function () { $scope.rightClickMenu = false; };\r\n\r\n\t\t$scope.menuOptions = [];\r\n\t\t$scope.selectedItems = [];\r\n\r\n\t\t$scope.$on('selectedItemsUpdated', function (e, selectedItems) {\r\n\r\n\t\t\t$scope.selectedItems = selectedItems;\r\n\t\t\t$scope.showFileButton = selectedItems.length > 0 ? true : false;\r\n\r\n\t\t\tif (selectedItems.length === 0) { $scope.closeDetailsPane(); }\r\n\r\n\t\t\tif ($rootScope.workingFolder.toLowerCase() === 'recyclebin') {\r\n\t\t\t\tif (selectedItems.length === 0) {\r\n\t\t\t\t\t$scope.menuOptions = $scope.data.folderMenuData;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$scope.menuOptions = MenuBuilder.getRecycleContextMenu();\r\n\t\t\t\t}\r\n\t\t\t} else if ($rootScope.workingFolder.toLowerCase() === 'favorites') {\r\n\t\t\t\tif (selectedItems.length === 0) {\r\n\t\t\t\t\t$scope.menuOptions = [];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$scope.menuOptions = MenuBuilder.getFileContextMenu(selectedItems, $scope.kendo[$scope.gridName]._data);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (selectedItems.length === 0) {\r\n\t\t\t\t\t$scope.menuOptions = $scope.data.folderMenuData;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$scope.menuOptions = MenuBuilder.getFileContextMenu(selectedItems, $scope.kendo[$scope.gridName]._data);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.populateFolderMenu = function () {\r\n\t\t\tif ($rootScope.workingFolder.toLowerCase() === 'recyclebin') {\r\n\t\t\t\t$scope.data.folderMenuData = MenuBuilder.getRecycleMenu();\r\n\t\t\t} else if ($rootScope.workingFolder.toLowerCase() === 'favorites') {\r\n\t\t\t\t$scope.data.folderMenuData = [];\r\n\t\t\t} else {\r\n\t\t\t\t$scope.data.folderMenuData = MenuBuilder.getFolderMenu();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.$on('gridLoaded', function (e) {\r\n\r\n\t\t\t// refresh menu options if there are no selected items\r\n\t\t\tif ($scope.selectedItems.length === 0) {\r\n\t\t\t\t$scope.$apply(() => {\r\n\t\t\t\t\t$scope.populateFolderMenu();\r\n\t\t\t\t\t$scope.menuOptions = $scope.data.folderMenuData;\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\t\r\n\t\t\t\t$scope.$emit('selectedItemsUpdated', $scope.selectedItems);\r\n\t\t\t\t$scope.$apply()\r\n\r\n\t\t\t\t//$scope.$apply(() => {\r\n\t\t\t\t//\t$scope.menuOptions = MenuBuilder.getFileContextMenu($scope.selectedItems, $scope.kendo[$scope.gridName]._data);\r\n\t\t\t\t//})\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.$on('launchLegacyDialog', function (e, data) {\r\n\r\n\t\t\tconst fileIds = _.map($scope.selectedItems, _.partialRight(_.pick, ['ID', 'Name', 'Type']));\r\n\r\n\t\t\tvar launch = function (legacyDialog) {\r\n\t\t\t\twindow.launchLegacyDialog(data, $scope.selectedItems, $rootScope.workingFolder, '', $scope.kendo[$scope.gridName], Auth.getUsername());\r\n\t\t\t}\r\n\r\n\t\t\t// Check to see if file is member of a project on delete\r\n\t\t\tif (data === 'delete') {\r\n\t\t\t\tFile.isInProject(_.map($scope.selectedItems, function (item) { return \"'\" + item.ID + \"'\" }).toString()).then(function (returnData) {\r\n\t\t\t\t\tif (returnData === 'true') {\r\n\t\t\t\t\t\tvar m = \"\";\r\n\t\t\t\t\t\tif ($scope.selectedItems.length === 1) {\r\n\t\t\t\t\t\t\tm = \"The selected file is in a project.
Are you sure you want to delete?\";\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tm = \"One or more of the selected files are in a project.
Are you sure you want to delete?\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tModalWindow.openConfirmation(m, function (data) { launch(data); });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlaunch(data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\telse if (data === 'bravahtml' || data === 'updateprofile') {\r\n\t\t\t\twindow.launchLegacyDialog(data, fileIds);\r\n\t\t\t}\r\n\t\t\telse { // Call React dialogs\r\n\r\n\t\t\t\tconst packageCallback = () => { $scope.$broadcast('reloadGrid'); }\r\n\r\n\t\t\t\tswitch (data) {\r\n\t\t\t\t\tcase 'download':\r\n\t\t\t\t\t\tFile.download(fileIds, 'download')\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'checkout':\r\n\t\t\t\t\t\tFile.download(fileIds, 'checkout', packageCallback)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'undocheckout':\r\n\t\t\t\t\t\tFile.undoCheckout(fileIds, false, packageCallback);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'quickapprovalworkflow':\r\n\t\t\t\t\t\tconst modalOptions = {\r\n\t\t\t\t\t\t\ttitle: 'Quick Approval Workflow',\r\n\t\t\t\t\t\t\tmaskClosable: false,\r\n\t\t\t\t\t\t\tfooter: null\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$ngRedux.dispatch(actions.showModal('QUICK_APPROVAL_WORKFLOW', modalOptions, { selectedItems: $scope.selectedItems }));\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'preview':\r\n\r\n\t\t\t\t\t\tlet previewObject = {\r\n\t\t\t\t\t\t\tid: $scope.selectedItems[0].ID,\r\n\t\t\t\t\t\t\tversion: $scope.selectedItems[0].Version,\r\n\t\t\t\t\t\t\tminor: $scope.selectedItems[0].Minor\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t$scope.$emit('loadObjectPreview', previewObject);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tlaunch(data);\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.$on('openLinkDialog', function (e, data) {\r\n\t\t\tconst directLink = Utility.getLinkURL($scope.selectedItems[0].ID);\r\n\t\t\t$ngRedux.dispatch(actions.showModal('DIRECT_LINK', { title: 'Link', footer: null, width: 400 }, { isFolder: false, directLink }));\r\n\t\t});\r\n\r\n\t\t$scope.$on('openRenameDialog', function (e, data) {\r\n\t\t\tModalWindow.openRename($scope.selectedItems[0], false, function (newName) {\r\n\t\t\t\t$scope.$broadcast('reloadGrid');\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t$scope.$on('launchFolderDialog', function (e, dialog) {\r\n\r\n\t\t\tvar folderId = $rootScope.workingFolder;\r\n\r\n\t\t\tif (dialog === 'import' && Utility.checkForIE() !== 9) {\r\n\t\t\t\tDialog.openImport();\r\n\t\t\t} else if (dialog === 'getFolderLink') {\r\n\t\t\t\tconst directLink = Utility.getLinkURL(folderId);\r\n\t\t\t\t$ngRedux.dispatch(actions.showModal('DIRECT_LINK', { title: 'Link', footer: null, width: 400 }, { isFolder: true, directLink }));\r\n\t\t\t} else if (dialog === 'renameFolder') {\r\n\r\n\t\t\t\tvar pathNode = _.find($scope.breadcrumb, { pathId: folderId });\r\n\t\t\t\tlet data = { Name: pathNode.breadcrumbName, ID: pathNode.pathId };\r\n\r\n\t\t\t\tModalWindow.openRename(data, true, function (nodeIndex, newName) {\r\n\t\t\t\t\tif (pathNode) {\r\n\t\t\t\t\t\t//_.find($scope.breadcrumb, { pathId: folderId }).breadcrumbName = 'test';\r\n\t\t\t\t\t\tpathNode.breadcrumbName = newName;\r\n\t\t\t\t\t\tsessionStorage.currentPath = JSON.stringify($scope.breadcrumb);\r\n\r\n\t\t\t\t\t\t$scope.breadcrumb = _.cloneDeep($scope.breadcrumb)\r\n\r\n\t\t\t\t\t\tGridTools.updateObjectPaths(Auth.getRepository() + '\\\\' + _.map($scope.breadcrumb, 'breadcrumbName').join('\\\\') + '\\\\', $scope.kendo[$scope.gridName]._data);\r\n\r\n\t\t\t\t\t\tif ($scope.detailsPaneIsOpen || $scope.selectedItems.length > 0) {\r\n\t\t\t\t\t\t\t$scope.$broadcast('populateDetails', $scope.selectedObject);\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} else {\r\n\t\t\t\twindow.launchLegacyDialog(dialog, '', folderId, '', $scope.kendo[$scope.gridName]._data, Auth.getUsername());\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.closeDialog = function () {\r\n\t\t\t$scope.kendo.documentsData.page = $scope.currentPage;\r\n\t\t\t$scope.selectedObject = {};\r\n\t\t\t$scope.$broadcast('reloadGrid');\r\n\t\t};\r\n\r\n\t\t$scope.launchCheckout = function (fileId) {\r\n\t\t\twindow.launchLegacyDialog('alternateCheckout', '', $rootScope.workingFolder, fileId, $scope.kendo[$scope.gridName]._data, Auth.getUsername());\r\n\t\t};\r\n\r\n\t\t$scope.getColumns = function () { return Columns.getDocumentColums($rootScope.workingFolder); };\r\n\r\n\t\t$scope.documentGridOptions = {\r\n\t\t\tloadOnInit: true,\r\n\t\t\tmainGrid: true,\r\n\t\t\tallowRowSelect: true,\r\n\t\t\tallowMultiselect: true,\r\n\t\t\tallowColumnState: true,\r\n\t\t\tallowSelectFolders: false,\r\n\t\t\tenableContextMenu: true,\r\n\t\t\tcolumnMenu: true,\r\n\t\t\tsortable: true,\r\n\t\t\tresizable: true,\r\n\t\t\treorderable: true,\r\n\t\t\tscrollable: true,\r\n\t\t\tresponsive: true,\r\n\t\t\tpageable: {\r\n\t\t\t\tinfo: true,\r\n\t\t\t\trefresh: false\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$scope.$on('gridFolderLinkClicked', function (e, data) {\r\n\t\t\tif ($rootScope.workingFolder !== 'recyclebin') {\r\n\t\t\t\t$scope.$apply(function () { $location.search({ folder: GridTools.getObjectFromGrid(data, $scope.kendo[$scope.gridName]._data).ID, page: 1 }); });\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.detailsPaneIsOpen = false;\r\n\t\t$scope.selectedObject = {};\r\n\r\n\t\t$scope.detailsMargin = '-350px';\r\n\r\n\t\t$scope.$on('gridItemSelected', function (e, data) {\r\n\r\n\t\t\tvar wtObject = GridTools.getObjectFromGrid(data.id, $scope.kendo[$scope.gridName]._data);\r\n\r\n\t\t\tif (data.openDetails) {\r\n\t\t\t\tif (!$scope.detailsPaneIsOpen) {\r\n\t\t\t\t\tangular.element('#details-pane').css({ 'display': 'block' })\r\n\t\t\t\t\t$timeout(() => angular.element('#details-pane').css({ 'margin-right': 0 }), 100)\r\n\t\t\t\t\t$scope.detailsPaneIsOpen = true;\r\n\t\t\t\t\t$scope.selectedObject = wtObject;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (data.id !== wtObject.ID && $scope.detailsPaneIsOpen) {\r\n\t\t\t\t\t\t$scope.selectedObject = wtObject;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (data.id !== wtObject.ID && $scope.detailsPaneIsOpen) {\r\n\t\t\t\t\t$scope.selectedObject = wtObject;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t$scope.$apply();\r\n\t\t});\r\n\r\n\t\t$scope.closeDetailsPane = function () {\r\n\t\t\tif ($scope.detailsPaneIsOpen) { angular.element('#details-pane').css({ 'margin-right': '-350px' }) }\r\n\t\t\t$scope.detailsPaneIsOpen = false;\r\n\t\t\t$scope.$broadcast('detailsPaneClosed');\r\n\t\t};\r\n\r\n\t\t$scope.$on('breadcrumbClicked', function (e, data) {\r\n\t\t\t$location.search({ folder: data.id, page: 1 })\r\n\t\t});\r\n\t}\r\n]);","import angular from 'angular';\r\n\r\nangular.module('webTools').controller('PortalCtrl', ['$scope', '$window', 'Reports',\r\n\tfunction($scope, $window, Reports) {\r\n\r\n\t}\r\n]);\r\n","import angular from 'angular';\r\n\r\nangular.module('webTools').controller('LogoutCtrl', ['$scope', '$window', 'Reports',\r\n\tfunction($scope, $window, Reports) {\r\n\r\n\t}\r\n]);\r\n","import angular from 'angular';\r\nimport _ from 'lodash';\r\nimport $ from 'jquery';\r\n\r\nangular.module('webTools').controller('WorkflowCtrl', ['$scope', '$rootScope', '$location', '$routeParams', '$route', '$timeout', 'MenuBuilder', 'Columns', 'GridTools', 'ModalWindow', '$ngRedux',\r\n\tfunction ($scope, $rootScope, $location, $routeParams, $route, $timeout, MenuBuilder, Columns, GridTools, ModalWindow, $ngRedux) {\r\n\r\n\t\tconst state = $ngRedux.getState();\r\n\r\n\t\t$scope.kendo = $scope.kendo || {};\r\n\t\t$scope.gridName = 'workflowGrid';\r\n\t\t$scope.breadcrumb = [];\r\n\r\n\t\t$scope.rightClickMenu = false;\r\n\t\t$scope.selectedItems = [];\r\n\t\t$scope.selectedId = '';\r\n\r\n\t\t$scope.showMessageMenuArrow = false;\r\n\t\t$scope.showMessageMenu = false;\r\n\r\n\t\t$rootScope.workingFolder = $routeParams.view ? $routeParams.view : 'messages';\r\n\r\n\t\t$scope.data = {\r\n\t\t\tworkingFolder: $routeParams.view ? $routeParams.view : 'messages',\r\n\t\t\tview: 'workflow'\r\n\t\t};\r\n\r\n\t\tif (!$routeParams.page) {\r\n\t\t\t$location.search('page', 1);\r\n\t\t\twindow.history.replaceState({}, '', $location.url());\r\n\t\t}\r\n\r\n\t\t$scope.getMargin = view => {\r\n\t\t\tlet margin = 0;\r\n\r\n\t\t\tswitch ($routeParams.view.toLowerCase()) {\r\n\t\t\t\tcase 'messages':\r\n\t\t\t\t\tmargin = 420;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'tasks':\r\n\t\t\t\t\tmargin = 575;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'history':\r\n\t\t\t\t\tmargin = 535;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\treturn margin;\r\n\t\t}\r\n\r\n\t\t$scope.dialogWidth = $scope.getMargin($rootScope.workingFolder);\r\n\r\n\t\t// set breadcrumb\r\n\t\t$scope.setBreadcrumb = () => {\r\n\t\t\tlet bc = [];\r\n\r\n\t\t\tswitch ($routeParams.view.toLowerCase()) {\r\n\t\t\t\tcase 'messages':\r\n\t\t\t\t\tbc = [{ path: '/workflow?view=messages', breadcrumbName: 'Messages' }];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'tasks':\r\n\t\t\t\t\tbc = [{ path: '/workflow?view=tasks', breadcrumbName: 'Workflow Tasks' }];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'history':\r\n\t\t\t\t\tbc = [{ path: '/workflow?view=history', breadcrumbName: 'Workflow History' }];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t$scope.breadcrumb = bc;\r\n\t\t}\r\n\r\n\t\t$scope.setBreadcrumb();\r\n\r\n\t\t$scope.$on('$routeUpdate', function (e, data) {\r\n\r\n\t\t\t$routeParams.view && $scope.selectView($routeParams.view);\r\n\r\n\t\t\t$scope.setBreadcrumb();\r\n\t\t\t$scope.dialogWidth = $scope.getMargin();\r\n\r\n\t\t\t$scope.data = {\r\n\t\t\t\tworkingFolder: $routeParams.view ? $routeParams.view : 'messages',\r\n\t\t\t\tview: 'workflow'\r\n\t\t\t};\r\n\r\n\t\t\t$scope.menuOptions = [];\r\n\r\n\t\t});\r\n\r\n\t\tif ($routeParams.view === 'messages') {\r\n\t\t\t$scope.$on('gridLoaded', function (e) {\r\n\t\t\t\t// refresh menu options if there are no selected items\r\n\t\t\t\tif ($scope.selectedItems.length !== 0) {\r\n\t\t\t\t\t$scope.$emit('selectedItemsUpdated', $scope.selectedItems);\r\n\t\t\t\t\t$scope.$apply()\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\t\tif ($routeParams.taskId) {\r\n\r\n\t\t\t$scope.taskId = $routeParams.taskId;\r\n\r\n\t\t\tif ($routeParams.page !== 0) {\r\n\r\n\t\t\t\tvar loaded = $scope.$on('gridLoaded', function () {\r\n\t\t\t\t\tvar wtObject = _.find($scope.kendo[$scope.gridName]._data, function (ds) { return ds.ID === $scope.taskId; });\r\n\r\n\t\t\t\t\t$scope.$broadcast('loadLegacyDialog', $rootScope.workingFolder, wtObject);\r\n\r\n\t\t\t\t\tif (!$scope.dialogPaneIsOpen) {\r\n\t\t\t\t\t\tangular.element('#details-pane').css({ 'display': 'block' })\r\n\t\t\t\t\t\t$timeout(() => angular.element('#details-pane').css({ 'margin-right': 0 }), 100)\r\n\t\t\t\t\t\t$scope.dialogPaneIsOpen = true;\r\n\t\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$scope.kendo.selectGridItem(wtObject.ID);\r\n\r\n\t\t\t\t\tloaded();\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\t$location.search('page', 1);\r\n\t\t\t\tModalWindow.openNotification('The task you are attempting to navigate to does not exist in this repository.');\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.selectView = function (view) {\r\n\t\t\tif ($rootScope.workingFolder !== view) {\r\n\r\n\t\t\t\tswitch (view) {\r\n\t\t\t\t\tcase 'messages':\r\n\t\t\t\t\t\t$scope.workflowGridOptions.allowRowSelect = true;\r\n\t\t\t\t\t\t$scope.workflowGridOptions.allowMultiselect = true;\r\n\t\t\t\t\t\t$scope.workflowGridOptions.enableContextMenu = true;\r\n\t\t\t\t\t\t$scope.gridData = messageData;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'tasks':\r\n\t\t\t\t\t\t$scope.workflowGridOptions.allowRowSelect = true;\r\n\t\t\t\t\t\t$scope.workflowGridOptions.allowMultiselect = false;\r\n\t\t\t\t\t\t$scope.workflowGridOptions.enableContextMenu = false;\r\n\t\t\t\t\t\t$scope.gridData = taskData;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'history':\r\n\t\t\t\t\t\t$scope.workflowGridOptions.allowRowSelect = true;\r\n\t\t\t\t\t\t$scope.workflowGridOptions.allowMultiselect = false;\r\n\t\t\t\t\t\t$scope.workflowGridOptions.enableContextMenu = false;\r\n\t\t\t\t\t\t$scope.gridData = taskHistoryData;\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\r\n\t\t\t\t$rootScope.workingFolder = view;\r\n\t\t\t\t$location.search({ view: view });\r\n\t\t\t\t$scope.selectedId = '';\r\n\t\t\t\t$scope.$broadcast('reloadGrid');\r\n\t\t\t\t$scope.closeDialogPane();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.userView = function () { return Columns.isUserView(); };\r\n\r\n\t\t$scope.resetColumns = function () {\r\n\t\t\t$scope.$broadcast('hideGrid');\r\n\t\t\tColumns.resetColumns($rootScope.workingFolder, function () { $scope.selectedId = ''; $scope.$broadcast('reloadGrid'); });\r\n\t\t};\r\n\r\n\t\tvar wtObject = {};\r\n\t\t$scope.dialogPaneIsOpen = false;\r\n\r\n\t\t$scope.$on('gridItemSelected', function (e, data) {\r\n\r\n\t\t\tif (data.openDetails) {\r\n\t\t\t\tif (!$scope.dialogPaneIsOpen) {\r\n\t\t\t\t\tangular.element('#details-pane').css({ 'display': 'block' })\r\n\t\t\t\t\t$timeout(() => angular.element('#details-pane').css({ 'margin-right': 0 }), 100)\r\n\t\t\t\t\t$scope.dialogPaneIsOpen = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\twtObject = GridTools.getObjectFromGrid(data.id, $scope.kendo[$scope.gridName]._data);\r\n\t\t\t\t$scope.$broadcast('loadLegacyDialog', $rootScope.workingFolder, wtObject)\r\n\r\n\t\t\t\tif (wtObject.MessageRead === '0') {\r\n\t\t\t\t\t$rootScope.$broadcast('markRead', data.id);\r\n\t\t\t\t\t$timeout($scope.menuOptions = MenuBuilder.getMessageContextMenu($scope.selectedItems, $scope.kendo[$scope.gridName]._data));\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t} else {\r\n\t\t\t\tif (data.id !== $scope.selectedId && $scope.dialogPaneIsOpen) {\r\n\t\t\t\t\t$scope.selectedId = data.id;\r\n\t\t\t\t\twtObject = GridTools.getObjectFromGrid(data.id, $scope.kendo[$scope.gridName]._data);\r\n\t\r\n\t\t\t\t\tif (wtObject.MessageRead === '0') {\r\n\t\t\t\t\t\t$rootScope.$broadcast('markRead', data.id);\r\n\t\t\t\t\t\t$timeout($scope.menuOptions = MenuBuilder.getMessageContextMenu($scope.selectedItems, $scope.kendo[$scope.gridName]._data));\r\n\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t$scope.$broadcast('loadLegacyDialog', $rootScope.workingFolder, wtObject)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.closeDialogPane = function () {\r\n\t\t\tif ($scope.dialogPaneIsOpen) { angular.element('#details-pane').css({ 'margin-right': -$scope.getMargin() + 'px' }) }\r\n\t\t\t$scope.selectedId = '';\r\n\t\t\t$scope.dialogPaneIsOpen = false;\r\n\t\t};\r\n\r\n\t\t$scope.closeDialog = function () {\r\n\t\t\t$scope.closeDialogPane();\r\n\t\t\t$scope.selectedId = '';\r\n\t\t\t$scope.$broadcast('reloadGrid');\r\n\t\t};\r\n\r\n\t\t$scope.showMenu = function () {\r\n\t\t\t$scope.showMessageMenu = $scope.selectedItems.length > 0 && $scope.showMessageMenu === false ? true : false;\r\n\t\t}\r\n\r\n\t\t$scope.hideMenu = function () {\r\n\t\t\t$scope.showMessageMenu = false;\r\n\t\t}\r\n\r\n\t\t$scope.$on('selectedItemsUpdated', function (e, selectedItems) {\r\n\t\t\t\r\n\t\t\tif (selectedItems.length === 0) { $scope.closeDialogPane() }\r\n\t\t\t$scope.selectedItems = selectedItems;\r\n\t\t\tif (selectedItems.length > 0 && $routeParams.view !== 'tasks' && $routeParams.view !== 'history') {\r\n\t\t\t\t$scope.menuOptions = MenuBuilder.getMessageContextMenu(selectedItems, $scope.kendo[$scope.gridName]._data);\r\n\t\t\t} else {\r\n\t\t\t\t$scope.menuOptions = [];\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.getColumns = function () { return Columns.getWorkflowColums($rootScope.workingFolder); };\r\n\r\n\t\t$scope.workflowGridOptions = {\r\n\t\t\tmainGrid: true,\r\n\t\t\tloadOnInit: true,\r\n\t\t\tallowRowSelect: true,\r\n\t\t\tallowMultiselect: true,\r\n\t\t\tallowColumnState: true,\r\n\t\t\tallowSelectFolders: false,\r\n\t\t\tenableContextMenu: true,\r\n\t\t\tcolumnMenu: true,\r\n\t\t\tsortable: true,\r\n\t\t\tresizable: true,\r\n\t\t\treorderable: true,\r\n\t\t\tscrollable: true,\r\n\t\t\tresponsive: true,\r\n\t\t\tpageable: {\r\n\t\t\t\tinfo: true,\r\n\t\t\t\trefresh: false\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst endpoint = state.app.endpoint;\r\n\r\n\t\tvar messageData = {\r\n\t\t\ttransport: {\r\n\t\t\t\tread: {\r\n\t\t\t\t\turl: `${endpoint ? endpoint : ''}/api/messages/getmessages/?nocache=` + new Date().getTime(),\r\n\t\t\t\t\tcontentType: 'application/json'\r\n\t\t\t\t},\r\n\t\t\t\tparameterMap: function (data, operation) {\r\n\r\n\t\t\t\t\tif (data.sort && data.sort.length > 0) {\r\n\t\t\t\t\t\tconst sort = { sortField: data.sort[0].field, sortDirection: data.sort[0].dir };\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (operation === 'read') { delete data.sort; data = $.extend(sort, data); }\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdata = $.extend({ folderID: $rootScope.workingFolder }, data);\r\n\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tschema: {\r\n\t\t\t\tdata: 'Data',\r\n\t\t\t\ttotal: 'TotalRows'\r\n\t\t\t},\r\n\t\t\tserverPaging: true,\r\n\t\t\tserverSorting: true,\r\n\t\t\tpageSize: 50,\r\n\t\t\tpage: 1,\r\n\t\t\tsort: $scope.gridSort\r\n\t\t};\r\n\r\n\t\tvar taskData = {\r\n\t\t\ttransport: {\r\n\t\t\t\tread: {\r\n\t\t\t\t\turl: `${endpoint ? endpoint : ''}/api/Workflow/gettasks?nocache=` + new Date().getTime(),\r\n\t\t\t\t\tcontentType: 'application/json'\r\n\t\t\t\t},\r\n\t\t\t\tparameterMap: function (data, operation) {\r\n\r\n\t\t\t\t\tif (data.sort && data.sort.length > 0) {\r\n\t\t\t\t\t\tconst sort = { sortField: data.sort[0].field, sortDirection: data.sort[0].dir };\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (operation === 'read') { delete data.sort; data = $.extend(sort, data); }\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdata = $.extend({ folderID: $rootScope.workingFolder }, data);\r\n\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tschema: {\r\n\t\t\t\tdata: 'Data',\r\n\t\t\t\ttotal: 'TotalRows'\r\n\t\t\t},\r\n\t\t\tserverPaging: true,\r\n\t\t\tserverSorting: true,\r\n\t\t\tpageSize: 50,\r\n\t\t\tpage: 1,\r\n\t\t\tsort: $scope.gridSort\r\n\t\t};\r\n\r\n\t\tvar taskHistoryData = {\r\n\t\t\ttransport: {\r\n\t\t\t\tread: {\r\n\t\t\t\t\turl: `${endpoint ? endpoint : ''}/api/workflow/gettaskhistory/?nocache=` + new Date().getTime(),\r\n\t\t\t\t\tcontentType: 'application/json'\r\n\t\t\t\t},\r\n\t\t\t\tparameterMap: function (data, operation) {\r\n\r\n\t\t\t\t\tif (data.sort && data.sort.length > 0) {\r\n\t\t\t\t\t\tconst sort = { sortField: data.sort[0].field, sortDirection: data.sort[0].dir };\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (operation === 'read') { delete data.sort; data = $.extend(sort, data); }\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdata = $.extend({ folderID: $rootScope.workingFolder }, data);\r\n\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tschema: {\r\n\t\t\t\tdata: 'Data',\r\n\t\t\t\ttotal: 'TotalRows'\r\n\t\t\t},\r\n\t\t\tserverPaging: true,\r\n\t\t\tserverSorting: true,\r\n\t\t\tpageSize: 50,\r\n\t\t\tpage: 1,\r\n\t\t\tsort: $scope.gridSort\r\n\t\t};\r\n\r\n\t\tswitch ($routeParams.view) {\r\n\t\t\tcase 'tasks':\r\n\t\t\t\t$scope.workflowGridOptions.allowRowSelect = true;\r\n\t\t\t\t$scope.workflowGridOptions.allowMultiselect = false;\r\n\t\t\t\t$scope.workflowGridOptions.enableContextMenu = false;\r\n\t\t\t\t$scope.gridData = taskData;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'history':\r\n\t\t\t\t$scope.workflowGridOptions.allowRowSelect = true;\r\n\t\t\t\t$scope.workflowGridOptions.allowMultiselect = false;\r\n\t\t\t\t$scope.workflowGridOptions.enableContextMenu = false;\r\n\t\t\t\t$scope.gridData = taskHistoryData;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\t$scope.workflowGridOptions.allowRowSelect = true;\r\n\t\t\t\t$scope.workflowGridOptions.allowMultiselect = true;\r\n\t\t\t\t$scope.workflowGridOptions.enableContextMenu = true;\r\n\t\t\t\t$scope.gridData = messageData;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\t$scope.$on('launchMessageForward', function (e) {\r\n\t\t\tif (!$scope.dialogPaneIsOpen) {\r\n\t\t\t\tangular.element('#details-pane').css({ 'display': 'block' })\r\n\t\t\t\t$timeout(() => angular.element('#details-pane').css({ 'margin-right': 0 }), 100)\r\n\t\t\t\t$scope.dialogPaneIsOpen = true;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$scope.$on('launchMessageReply', function (e) {\r\n\t\t\tif (!$scope.dialogPaneIsOpen) {\r\n\t\t\t\tangular.element('#details-pane').css({ 'display': 'block' })\r\n\t\t\t\t$timeout(() => angular.element('#details-pane').css({ 'margin-right': 0 }), 100)\r\n\t\t\t\t$scope.dialogPaneIsOpen = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n]);\r\n\r\nangular.module('webTools').directive('wtWorkflowDialog', ['Columns', '$rootScope',\r\n\tfunction (Columns, $rootScope) {\r\n\t\treturn {\r\n\t\t\trestrict: 'E',\r\n\t\t\treplace: true,\r\n\t\t\ttransclude: false,\r\n\t\t\ttemplate: '
',\r\n\t\t\tlink: function (scope, element, attributes) {\r\n\t\t\t\tscope.$on('loadLegacyDialog', function (e, workingFolder, selectedItems) {\r\n\r\n\t\t\t\t\tif (workingFolder === 'messages') {\r\n\t\t\t\t\t\telement.html('')\r\n angular.element('#loading').hide();\r\n angular.element('#previewFrame').fadeIn(function () { angular.element('.fakeHeader').hide(); });\r\n\r\n let loopCounter = 0;\r\n\r\n const showCloseButton = () => {\r\n const frameBody = $('#previewOverlay').find('iframe')[0].contentWindow.document.body;\r\n const el = frameBody && frameBody.querySelector('.closeButton');\r\n\r\n if (loopCounter < 250) {\r\n if (el) {\r\n el.style.display = 'block';\r\n } else {\r\n $timeout(function () {\r\n showCloseButton();\r\n loopCounter++;\r\n }, 100)\r\n }\r\n }\r\n }\r\n\r\n showCloseButton();\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n]);\r\n\r\nangular.module('webTools').service('Preview', ['$q', '$http',\r\n function ($q, $http) {\r\n\r\n return {\r\n getPreview: function (id, version, minor) {\r\n\r\n var promises = {\r\n deferred: $q.defer(),\r\n canceler: $q.defer()\r\n }\r\n\r\n $http.get('/api/preview/getpreview?id=' + id + '&version=' + version + '&minor=' + minor, { timeout: promises.canceler.promise })\r\n .then(function (response) {\r\n let data = response.data;\r\n promises.deferred.resolve(data);\r\n });\r\n\r\n return promises;\r\n }\r\n }\r\n }\r\n]);","import angular from 'angular';\r\nimport _ from 'lodash';\r\nimport $ from 'jquery';\r\n\r\nangular.module('webTools').directive('wtMultiselect', ['$timeout', '$rootScope', '$window', '$q', '$document', 'CharacterThreshold', function ($timeout, $rootScope, $window, $q, $document, CharacterThreshold) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n transclude: false,\r\n scope: {\r\n wtDataSource: '&',\r\n defaultValue: '=?',\r\n linkedParent: '=',\r\n autoBind: '=',\r\n autoPopulate: '=',\r\n typeToBind: '=',\r\n serverFiltering: '=',\r\n clearInput: '=',\r\n filterList: '=',\r\n model: '=?ngModel',\r\n },\r\n template: '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '{{item.text}}' +\r\n '
x
' +\r\n '
' +\r\n '' +\r\n '{{inputText}}' +\r\n '
' +\r\n '
',\r\n link: function (scope, element, attributes) {\r\n\r\n var w = angular.element($window);\r\n scope.textBox = element.children('.multiselected').children('.multiselect-input');\r\n\r\n scope.inputText = '';\r\n\r\n if (scope.clearInput === true) { scope.textBox.bind('blur', function () { scope.$apply(function () { scope.inputText = ''; }) }); }\r\n\r\n scope.list = angular.element('
');\r\n\r\n scope.model = scope.model || [];\r\n\r\n $document.find('body').append(scope.list);\r\n\r\n scope.$on('$destroy', function () {\r\n scope.list.remove();\r\n })\r\n\r\n var el = scope.list.children('ul');\r\n\r\n scope.list.bind('mousedown click', function (e) { e.stopPropagation(); e.preventDefault();})\r\n \r\n if (scope.linkedParent) {\r\n\r\n scope.linkedParent = scope.linkedParent.split(';');\r\n \r\n scope.$on('propertyChanged', function (event, name) {\r\n\r\n if (_.indexOf(scope.linkedParent, name) > -1) {\r\n\r\n if (scope.model.length > 0) {\r\n scope.$apply(function () { scope.model = []; });\r\n $rootScope.$broadcast('propertyChanged', attributes.name);\r\n }\r\n\r\n element.find('#multiselectStatus').removeClass('multiselect-arrow').addClass('k-loading multiselect-loading');\r\n\r\n scope.populate().then(function () {\r\n element.find('#multiselectStatus').removeClass('k-loading multiselect-loading').addClass('multiselect-arrow');\r\n });\r\n }\r\n })\r\n }\r\n\r\n var repositionList = function () {\r\n if (scope.initialHeight !== element.outerHeight()) {\r\n scope.initialHeight = element.outerHeight();\r\n scope.list.css('top', element.offset().top + scope.initialHeight);\r\n }\r\n }\r\n\r\n scope.addSelected = function (id, text, value) {\r\n $timeout(function () {\r\n scope.list.find('li.list-highlight').removeClass('list-highlight');\r\n scope.$apply(function () { scope.model.push({ id: id, text: text, value: value }) });\r\n $rootScope.$broadcast('propertyChanged', attributes.name);\r\n if (scope.clearInput) { scope.inputText = ''; }\r\n repositionList(); // we need to reposition the list if the selected items have expanded the height\r\n })\r\n }\r\n\r\n scope.removeItem = function (e, id) {\r\n e.stopPropagation();\r\n\r\n el.find('[data-item-index=\"' + id + '\"]').removeClass('k-state-selected');\r\n $timeout(function () {\r\n var idIndex = _.findIndex(scope.model, { 'id': id });\r\n\r\n scope.model.splice(idIndex, 1);\r\n scope.$apply();\r\n $rootScope.$broadcast('propertyChanged', attributes.name);\r\n repositionList(); // we need to reposition the list if the selected items have expanded the height\r\n });\r\n }\r\n\r\n\r\n scope.$on('propertiesLoaded', function () {\r\n if (scope.defaultValue) {\r\n var arr = angular.fromJson(scope.defaultValue.replace(/'/g, '\"'))\r\n for (var i = 0; i < arr.length; i++) {\r\n var id = 'auto' + i;\r\n scope.addSelected(id, arr[i], id);\r\n }\r\n }\r\n\r\n if (scope.autoBind) {\r\n scope.populate();\r\n }\r\n });\r\n\r\n\r\n\r\n scope.showList = function () {\r\n\r\n if(el.children('li:not(.hidden)').length > 0) {\r\n if (scope.filterList) { el.children('li:not(.hidden):first').addClass('list-highlight'); }\r\n\r\n var position = element.offset();\r\n var elementWidth = element.outerWidth();\r\n scope.initialHeight = element.outerHeight();\r\n\r\n scope.list.css({ 'left': position.left, 'top': position.top + scope.initialHeight, 'width': elementWidth});\r\n scope.list.removeClass('hidden');\r\n }\r\n }\r\n\r\n scope.hideList = function (clear) {\r\n if (scope.clearInput === true && clear !== false) { $timeout(function () { scope.$apply(function () { scope.inputText = '' }); }); }\r\n scope.list.find('li.list-highlight').removeClass('list-highlight');\r\n scope.list.addClass('hidden');\r\n w.unbind('click mousedown');\r\n }\r\n\r\n element.bind('click', function (e) {\r\n \r\n scope.textBox.focus();\r\n\r\n if (scope.list.hasClass('hidden')) {\r\n if (el.children().length > 0) {\r\n scope.showList();\r\n } else {\r\n element.find('#multiselectStatus').removeClass('multiselect-arrow').addClass('k-loading multiselect-loading')\r\n\r\n scope.populate().then(function (hasItems) {\r\n element.find('#multiselectStatus').removeClass('k-loading multiselect-loading').addClass('multiselect-arrow');\r\n hasItems ? scope.showList() : scope.list.addClass('hidden');\r\n });\r\n }\r\n\r\n $timeout(function () {\r\n w.on('click mousedown', function (e) {\r\n scope.hideList();\r\n })\r\n })\r\n\r\n var dialog = $(\"#importDialog\").data(\"kendoWindow\");\r\n\r\n if (dialog) {\r\n dialog.bind(\"resize\", function () { scope.hideList(); dialog.unbind('resize'); });\r\n }\r\n\r\n } else {\r\n scope.hideList(false);\r\n }\r\n }).mousedown(function (e) { e.stopPropagation(); })\r\n\r\n scope.$watch('inputText', function (newValue, oldValue) {\r\n if (scope.typeTimer) { window.clearTimeout(scope.typeTimer); }\r\n if ((newValue !== oldValue)) {\r\n scope.setInputWidth();\r\n scope.typeTimer = window.setTimeout(function () {\r\n if (scope.filterList) {\r\n scope.list.find('li.list-highlight').removeClass('list-highlight');\r\n if (scope.serverFiltering) {\r\n scope.populate().then(function (hasItems) {\r\n hasItems && scope.inputText !== '' ? scope.showList() : scope.hideList(false);\r\n });\r\n } else {\r\n el.children('li').removeClass('hidden');\r\n el.children('li')\r\n .filter(function (index) {\r\n return $(this).html().toLowerCase().indexOf(scope.inputText.toLowerCase()) !== 0;\r\n }).addClass('hidden');\r\n\r\n el.children('li').not('.hidden').length > 0 && scope.inputText !== '' ? scope.showList() : scope.hideList(false);\r\n }\r\n }\r\n }, 500);\r\n }\r\n })\r\n\r\n element.bind('keydown', function (event) {\r\n var lit = null;\r\n switch (event.keyCode) {\r\n case 8: // backspace\r\n scope.$apply(function () {\r\n if ((scope.inputText === null || scope.inputText.length === 0) && scope.model.length !== 0) {\r\n el.find('[data-item-index=\"' + _.last(scope.model).id + '\"]').removeClass('k-state-selected');\r\n scope.model.pop();\r\n $timeout(function () { \r\n repositionList();\r\n $rootScope.$broadcast('propertyChanged', attributes.name);\r\n })\r\n }\r\n });\r\n break;\r\n case 9: // tab\r\n if (!scope.list.hasClass('hidden')) {\r\n if(scope.list.find('li.list-highlight').length > 0) {\r\n scope.list.find('li.list-highlight').click();\r\n event.preventDefault();\r\n }\r\n \r\n }\r\n break;\r\n case 13: // enter\r\n scope.list.find('li.list-highlight').click();\r\n event.preventDefault();\r\n break;\r\n case 17: // ctrl\r\n event.preventDefault();\r\n break;\r\n case 27: // escape\r\n scope.list.find('li.list-highlight').removeClass('list-highlight');\r\n scope.hideList();\r\n event.preventDefault();\r\n break;\r\n case 38: // up arrow\r\n lit = scope.list.find('li.list-highlight');\r\n\r\n if (lit.prev().length !== 0) {\r\n scrollToElement(scope.list, lit.prev())\r\n lit.removeClass('list-highlight').prev().addClass('list-highlight');\r\n } else {\r\n lit.removeClass('list-highlight');\r\n scope.list.addClass('hidden');\r\n }\r\n\r\n event.preventDefault();\r\n break;\r\n case 40: // down arrow\r\n lit = scope.list.find('li.list-highlight');\r\n\r\n if (lit.length === 0) {\r\n scope.list.find('li').first().addClass('list-highlight');\r\n scope.list.removeClass('hidden');\r\n } else {\r\n if (lit.next().length !== 0) {\r\n scrollToElement(scope.list, lit.next())\r\n lit.removeClass('list-highlight').next().addClass('list-highlight');\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n scope.setInputWidth = function () {\r\n\r\n var spanWidth = scope.textBox.siblings('span').width() + 4;\r\n var parentWidth = element.children('.multiselected').width();\r\n var textWidth;\r\n \r\n if (spanWidth < 25) {\r\n textWidth = 25; \r\n } else if (spanWidth > parentWidth) {\r\n textWidth = parentWidth;\r\n } else {\r\n textWidth = spanWidth + 4;\r\n }\r\n\r\n scope.textBox.css('width', textWidth + 'px');\r\n }\r\n\r\n var scrollToElement = function (list, element, offset) {\r\n var elementTop = element.prop('offsetTop');\r\n var elementHeight = element.outerHeight() + 2;\r\n var parentHeight = list.prop('clientHeight');\r\n var parentScrollTop = list.scrollTop();\r\n \r\n if (elementTop < parentScrollTop) {\r\n list.scrollTop(elementTop - 2);\r\n }\r\n else if (elementTop + elementHeight > parentHeight + parentScrollTop) {\r\n list.scrollTop(elementTop + elementHeight - parentHeight);\r\n }\r\n }\r\n\r\n scope.canceler = null;\r\n\r\n scope.populate = function () {\r\n\r\n var defer = $q.defer();\r\n var hasItems = false;\r\n\r\n if ((scope.typeToBind && scope.inputText.length >= CharacterThreshold) || !scope.typeToBind) {\r\n\r\n if (scope.canceler) { scope.canceler.resolve(); } //cancel any pending request\r\n\r\n var promises = scope.wtDataSource({ q: scope.inputText });\r\n scope.canceler = promises.canceler;\r\n\r\n promises.deferred.promise.then(function (data) {\r\n if (data.length > 0) {\r\n\r\n hasItems = true;\r\n\r\n var i = 0;\r\n var s = '';\r\n\r\n var mv = element.find('.multi-value');\r\n\r\n _.forEach(data, function (value) {\r\n // custom search might add values before we have the list\r\n // we'll need to select them\r\n var o = _.find(scope.model, { text: value.name })\r\n if (scope.model.length > 0 && o) {\r\n var e = $(_.find(mv, function (x) { return x.textContent === value.name }));\r\n e.parent().attr('id', value.id);\r\n o.id = value.id;\r\n s += '
  • ' + value.name + '
  • ';\r\n } else {\r\n s += '
  • ' + value.name + '
  • ';\r\n }\r\n\r\n i++;\r\n })\r\n\r\n el.html(s);\r\n data = null;\r\n\r\n el.find('li').bind('click', function (e) {\r\n e.stopPropagation();\r\n\r\n var id = $(this).attr('data-item-index');\r\n var value = $(this).attr('data-value');\r\n\r\n if (angular.element(this).hasClass('k-state-selected')) {\r\n scope.removeItem(e, id);\r\n angular.element(this).removeClass('k-state-selected');\r\n } else {\r\n scope.addSelected(id, $(this).text(), value);\r\n angular.element(this).addClass('k-state-selected');\r\n }\r\n\r\n if (!e.ctrlKey && !e.metaKey) {\r\n scope.hideList(false);\r\n }\r\n\r\n })\r\n\r\n if (el.find('li').length === 1 && scope.autoPopulate && !scope.defaultValue) {\r\n el.find('li').click();\r\n }\r\n\r\n $timeout(function () { scope.defaultValue = null; })\r\n } else {\r\n hasItems = false;\r\n scope.list.addClass('hidden');\r\n el.empty();\r\n }\r\n\r\n defer.resolve(hasItems);\r\n })\r\n } else {\r\n el.empty();\r\n defer.resolve(false)\r\n }\r\n\r\n return defer.promise;\r\n }\r\n }\r\n };\r\n}]);","import angular from 'angular';\r\nimport kendo from '@progress/kendo-ui';\r\n\r\nangular.module('webTools').directive('wtPathSelect', ['$compile', '$document', '$timeout',\r\n function($compile, $document, $timeout) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n transclude: false,\r\n scope: {\r\n model: '=',\r\n allowEdit: '='\r\n },\r\n template: '
    ' +\r\n '' +\r\n '' +\r\n '' +\r\n '
    ',\r\n link: function(scope, element, attributes) {\r\n\r\n //scope.model = '';\r\n\r\n element.children('span').bind('click', function() {\r\n window.launchLegacyDialog('select-path');\r\n });\r\n\r\n scope.setPath = function(path) {\r\n scope.$apply(function() { scope.model = path; });\r\n };\r\n\r\n var timer;\r\n var tooltipElement = '';\r\n\r\n element.bind('mouseover', function() {\r\n\r\n tooltipElement = $compile('
    ' +\r\n '
    ' +\r\n scope.model +\r\n '
    ' +\r\n '
    ')(scope);\r\n\r\n $document.find('body').append(tooltipElement);\r\n\r\n var position = element.offset();\r\n\r\n var el = tooltipElement;\r\n\r\n el.css({ 'left': position.left + 25, 'top': position.top + 1 });\r\n\r\n var effect = kendo.fx(el).fadeIn().duration(700);\r\n\r\n timer = $timeout(function() { effect.play() }, 500);\r\n });\r\n\r\n element.bind('mouseout', function() {\r\n tooltipElement.remove();\r\n });\r\n\r\n element.bind('click', function() {\r\n tooltipElement.remove();\r\n });\r\n\r\n scope.$on('$destroy',\r\n function(event) {\r\n $timeout.cancel(timer);\r\n }\r\n );\r\n }\r\n };\r\n }\r\n]);","import angular from 'angular';\r\nimport $ from 'jquery';\r\n\r\nangular.module('webTools').directive('wtResponsiveImage', ['$timeout', '$window', function ($timeout, $window) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n transclude: false,\r\n scope: {\r\n imageSource: '=',\r\n leftRightPadding: '=?',\r\n topBottomPadding: '=?',\r\n headerCompensate: '=?'\r\n },\r\n template: '
    ' +\r\n '' +\r\n '
    ',\r\n link: function (scope, element, attributes) {\r\n\r\n scope.originalWidth = '';\r\n scope.originalHeight = '';\r\n\r\n scope.leftRightPadding = scope.leftRightPadding || 0;\r\n scope.topBottomPadding = scope.topBottomPadding || 0;\r\n scope.headerCompensate = scope.headerCompensate || 0;\r\n\r\n var resize = function (callback) {\r\n var img = $(element).find('img');\r\n var result = {};\r\n\r\n var imageWidth = $(img).width();\r\n var imageHeight = $(img).height();\r\n var containerWidth = $(element).parent().width() - scope.leftRightPadding;\r\n var containerHeight = $(element).parent().height() - scope.topBottomPadding;\r\n\r\n var scaleX1 = containerWidth;\r\n var scaleY1 = (imageHeight * containerWidth) / imageWidth;\r\n\r\n var scaleX2 = (imageWidth * containerHeight) / imageHeight;\r\n var scaleY2 = containerHeight;\r\n\r\n var scaleOnWidth = (scaleX2 > containerWidth);\r\n\r\n if (scaleOnWidth) {\r\n result.width = Math.floor(scaleX1) > scope.originalWidth ? scope.originalWidth : Math.floor(scaleX1);\r\n result.height = Math.floor(scaleY1) > scope.originalHeight ? scope.originalHeight : Math.floor(scaleY1);\r\n }\r\n else {\r\n result.width = Math.floor(scaleX2) > scope.originalWidth ? scope.originalWidth : Math.floor(scaleX2);\r\n result.height = Math.floor(scaleY2) > scope.originalHeight ? scope.originalHeight : Math.floor(scaleY2);\r\n }\r\n\r\n result.targetleft = Math.floor((containerWidth - result.width) / 2);\r\n result.targettop = Math.floor((containerHeight - result.height) / 2);\r\n\r\n if (callback) { img.hide(); };\r\n\r\n element.width(result.width);\r\n element.height(result.height);\r\n element.css(\"left\", result.targetleft + scope.leftRightPadding / 2);\r\n element.css(\"top\", result.targettop + (scope.topBottomPadding / 2) - scope.headerCompensate);\r\n\r\n if (callback) { $timeout(function () { callback(); }) }\r\n }\r\n\r\n element.find('img').on('load', function () {\r\n scope.originalWidth = element.find('img').width();\r\n scope.originalHeight = element.find('img').height();\r\n\r\n resize(function () { scope.$emit('imagePreviewLoaded'); element.find('img').fadeIn(); });\r\n })\r\n\r\n angular.element($window).bind('resize', function () {\r\n\r\n if ($(element).parent().width() < 200 || $(element).parent().height() < 250) { return; }\r\n\r\n resize();\r\n })\r\n }\r\n };\r\n}]);","import angular from 'angular';\r\nimport kendo from '@progress/kendo-ui';\r\nimport $ from 'jquery';\r\n\r\nangular.module('webTools').directive('tooltip', ['$document', '$compile', '$timeout',\r\n function($document, $compile, $timeout) {\r\n return {\r\n restrict: 'A',\r\n link: function(scope, element, attributes) {\r\n\r\n var timer;\r\n var tooltipElement = '';\r\n\r\n element.bind('mouseover', function() {\r\n\r\n tooltipElement = $compile('
    ' +\r\n '
    ' +\r\n '
    ' +\r\n attributes.tooltip +\r\n '
    ' +\r\n '
    ')(scope);\r\n\r\n $document.find('body').append(tooltipElement);\r\n\r\n var position = element.offset();\r\n var w = element.outerWidth();\r\n var h = element.outerHeight();\r\n\r\n var el = tooltipElement;\r\n\r\n el.css({ 'left': position.left + ((w / 2) - (el.outerWidth() / 2)), 'top': position.top + h });\r\n\r\n var effect = kendo.fx(el).fadeIn().duration(700);\r\n\r\n timer = $timeout(function() { effect.play() }, 500);\r\n });\r\n\r\n element.bind('mouseout', function() {\r\n tooltipElement.remove();\r\n });\r\n\r\n element.bind('click', function() {\r\n tooltipElement.remove();\r\n });\r\n\r\n scope.$on('$destroy',\r\n function(event) {\r\n $timeout.cancel(timer);\r\n }\r\n );\r\n }\r\n }\r\n }\r\n]);\r\n\r\nangular.module('webTools').directive('reportTooltip', ['$document', '$compile', '$timeout',\r\n function($document, $compile, $timeout) {\r\n return {\r\n restrict: 'A',\r\n link: function(scope, element, attributes) {\r\n\r\n var timer;\r\n var tooltipElement = '';\r\n\r\n element.bind('mouseover', function() {\r\n\r\n tooltipElement = $compile('
    ' +\r\n '
    ' +\r\n '
    ' +\r\n attributes.reportTooltip +\r\n '
    ' +\r\n '
    ')(scope);\r\n\r\n $document.find('body').append(tooltipElement);\r\n\r\n var position = element.offset();\r\n var w = element.outerWidth();\r\n var h = element.outerHeight();\r\n\r\n var el = tooltipElement;\r\n\r\n el.css({ 'left': position.left + w, 'top': position.top + (h / 2) - (el.height() / 2) });\r\n $('.report-popover-arrow').css('top', (el.height() / 2) - 7);\r\n\r\n var effect = kendo.fx(el).fadeIn().duration(700);\r\n\r\n timer = $timeout(function() { effect.play() }, 500);\r\n });\r\n\r\n element.bind('mouseout', function() {\r\n tooltipElement.remove();\r\n });\r\n\r\n scope.$on('$destroy',\r\n function(event) {\r\n $timeout.cancel(timer);\r\n }\r\n );\r\n }\r\n }\r\n }\r\n]);","import angular from 'angular';\r\n\r\nangular.module('webTools').directive('wtUploadProgress', ['$rootScope', '$compile', '$timeout', '$templateCache', 'File',\r\nfunction ($rootScope, $compile, $timeout, $templateCache, File) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n transclude: true,\r\n template: '
    ' +\r\n '
    ' +\r\n 'Importing {{flowObject.files.length}} files' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '' +\r\n '
    ' +\r\n '' +\r\n 'Uploading files to server...' +\r\n '' +\r\n '
    ' +\r\n '
    ',\r\n scope: {\r\n flowObject: '='\r\n },\r\n link: function (scope, element, attributes) {\r\n\r\n scope.fileService = File;\r\n\r\n scope.cancelUpload = function () {\r\n scope.flowObject.cancel();\r\n element.remove();\r\n scope.$destroy();\r\n }\r\n\r\n scope.flowObject.upload();\r\n }\r\n }\r\n }\r\n]);\r\n","import angular from \"angular\";\r\nimport * as _ from \"lodash\";\r\n\r\nangular.module(\"webTools\").controller(\"HeaderCtrl\", [\r\n \"$scope\",\r\n \"$injector\",\r\n \"Auth\",\r\n \"$ngRedux\",\r\n \"$rootScope\",\r\n function($scope, $injector, Auth, $ngRedux, $rootScope) {\r\n $scope.store = $ngRedux;\r\n \r\n $scope.kendo = {} || $scope.kendo;\r\n $scope.breadcrumb = $rootScope.breadcrumb;\r\n $scope.isElectron = (window.dl && window.dl.isElectron) || false;\r\n\r\n $scope.userName = \"\";\r\n $scope.repository = \"\";\r\n $scope.isLoggedIn = false;\r\n $scope.showQuickSearch = true;\r\n $scope.showWebView = false;\r\n\r\n if ($injector.has(\"CustomMenu\")) {\r\n $scope.customMenu = $injector.get(\"CustomMenu\");\r\n }\r\n\r\n $scope.searchOptionsEmpty = function() {\r\n return (\r\n _.find($scope.searchOptions, function(option) {\r\n return option.id < 7 && option.checked === true;\r\n }) === undefined\r\n );\r\n };\r\n\r\n $scope.openWebHelp = function() {\r\n window.launchLegacyDialog(\"web-help\");\r\n };\r\n\r\n $scope.$on('logout', () => {\r\n setTimeout(() => {\r\n Auth.logout()\r\n $scope.isLoggedIn = false;\r\n $scope.$apply()\r\n })\r\n })\r\n\r\n $scope.$watch(\r\n function() {\r\n return Auth.getAllowedNodes();\r\n },\r\n function(allowedNodes) {\r\n\r\n $scope.showQuickSearch = _.includes(allowedNodes, 'search');\r\n\r\n $scope.userName = Auth.getUsername();\r\n $scope.repository = Auth.getRepository();\r\n $scope.isLoggedIn = Auth.loggedIn();\r\n\r\n const store = $ngRedux.getState();\r\n\r\n $scope.showWebView = Auth.isWebView() || store.app.webViewMode;\r\n }\r\n );\r\n }\r\n]);\r\n\r\nangular.module(\"webTools\").directive(\"wtHeader\", function() {\r\n return {\r\n restrict: \"E\",\r\n replace: true,\r\n transclude: false,\r\n templateUrl: \"/partials/header.html\"\r\n };\r\n});\r\n","import angular from 'angular';\r\nimport _ from 'lodash';\r\n\r\nangular.module('webTools').service('DropHandler', ['$q',\r\n function ($q) {\r\n return {\r\n getFiles: function (dataTransfer) {\r\n var defer = $q.defer();\r\n var folderDefer = $q.defer();\r\n\r\n var files = [];\r\n var items = dataTransfer.items;\r\n var entryCount = 0;\r\n\r\n var fileReadSuccess = function (file, fullPath) {\r\n file.relativePath = fullPath.substring(1);\r\n files.push(file);\r\n entryCount--;\r\n\r\n if (entryCount === 0) {\r\n folderDefer.resolve();\r\n }\r\n };\r\n\r\n var readSuccess = function (entries) {\r\n\r\n entryCount += entries.length - 1;\r\n \r\n _.each(entries, function (entry) {\r\n if (entry.isDirectory) {\r\n entry.createReader().readEntries(readSuccess);\r\n } else {\r\n entry.file(function (file) { fileReadSuccess(file, entry.fullPath); });\r\n };\r\n });\r\n\r\n if (entries.length === 0) {\r\n folderDefer.resolve();\r\n }\r\n };\r\n\r\n var handleWebkitEntry = function (entry) {\r\n \r\n if (entry.isDirectory) {\r\n entry.createReader().readEntries(readSuccess);\r\n } else {\r\n entry.file(function (file) { fileReadSuccess(file, entry.fullPath); });\r\n }\r\n\r\n return folderDefer.promise;\r\n };\r\n\r\n // Use FileSystem API if it's supported\r\n if (items && items[0] && items[0].webkitGetAsEntry) {\r\n \r\n var promises = [];\r\n var filteredItems = _.reject(items, item => item.kind === 'string');\r\n entryCount = filteredItems.length;\r\n\r\n _.each(filteredItems, function (item) {\r\n var entry = item.webkitGetAsEntry();\r\n promises.push(handleWebkitEntry(entry));\r\n });\r\n\r\n $q.all(promises).then(function () { defer.resolve(files); });\r\n\r\n } else {\r\n _.forEach(dataTransfer.files, function (file) {\r\n files.push(file);\r\n });\r\n \r\n defer.resolve(files);\r\n }\r\n\r\n return defer.promise;\r\n }\r\n }\r\n }\r\n]);","import angular from 'angular';\r\nimport _ from 'lodash';\r\nimport $ from 'jquery';\r\nimport * as actions from '../../store/actions';\r\n\r\nangular.module('webTools').directive('wtProjectEditor', ['$timeout', 'Auth', '$rootScope', 'Project', 'ModalWindow', 'MenuBuilder', 'Utility', '$ngRedux', 'File',\r\n function ($timeout, Auth, $rootScope, Project, ModalWindow, MenuBuilder, Utility, $ngRedux, File) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n transclude: false,\r\n scope: {\r\n projectInfo: '=',\r\n dirty: '='\r\n },\r\n templateUrl: '/partials/project-editor.html',\r\n controller: ['$scope', '$element', '$attrs', '$routeParams', 'Columns', function($scope, $element, $attrs, $routeParams, Columns) {\r\n\r\n $scope.addFileButton = [{ id: \"project-addfile\", action: \"addProjectFile\", data: {}, icon: \"file-plus\", text: \"Add File\" }];\r\n $scope.versions = $scope.projectInfo.versionHistory.reverse();\r\n $scope.kendo = $scope.kendo || {};\r\n $scope.selectedItems = [];\r\n $scope.menuOptions = $scope.addFileButton;\r\n $scope.workingVersion = $scope.versions[0];\r\n $scope.versionDetails = {};\r\n $scope.gridName = 'projectEditorGrid';\r\n $scope.showDelete = false;\r\n $scope.versionNotes = '';\r\n \r\n $scope.store = $ngRedux;\r\n\r\n $scope.setVersionInfo = function (projectId, versionId) {\r\n Project.getVersionInfo(projectId, versionId).then(function (response) {\r\n\r\n $scope.versionDetails = response.data.versionDetails;\r\n $scope.versionDetails.versionNotes = response.data.versionNotes;\r\n\r\n $scope.$watch('projectForm.$dirty', function (newValue, previousValue) {\r\n if (newValue === true) {\r\n $element.find('.ok-button').removeClass('ok-button-disabled');\r\n $scope.dirty = true;\r\n }\r\n })\r\n })\r\n }\r\n\r\n $scope.setVersionInfo($scope.projectInfo.projectId, $scope.workingVersion);\r\n\r\n $scope.versionClick = function (version) {\r\n if (version !== $scope.workingVersion) {\r\n $scope.workingVersion = version;\r\n $element.find('.ok-button').addClass('ok-button-disabled');\r\n $scope.$broadcast('reloadGrid');\r\n $scope.setVersionInfo($scope.projectInfo.projectId, $scope.workingVersion);\r\n }\r\n }\r\n\r\n $scope.newVersion = function () {\r\n Project.createNewVersion($scope.projectInfo.projectId).then(function (res) {\r\n $scope.projectInfo.versionHistory = _.map(res.data, 'VersionID').reverse();\r\n $scope.versions = $scope.projectInfo.versionHistory;\r\n $scope.workingVersion = $scope.projectInfo.versionHistory[0];\r\n $rootScope.$broadcast('reloadGrid');\r\n })\r\n }\r\n\r\n $scope.deleteVersion = function (e, version) {\r\n\r\n e.stopPropagation();\r\n\r\n var message = \"Are you sure you want to delete version \" + version + \"?\";\r\n\r\n ModalWindow.openConfirmation(message, function () { \r\n Project.deleteVersion($scope.projectInfo.projectId, version).then(function (res) {\r\n $scope.projectInfo.versionHistory = _.map(res.data, 'VersionID').reverse();\r\n if (version === $scope.workingVersion) {\r\n $scope.versionClick($scope.projectInfo.versionHistory[0]);\r\n }\r\n })\r\n });\r\n }\r\n\r\n $rootScope.addFileEditor = function (fileId) {\r\n Project.addVersionFile($scope.projectInfo.projectId, $scope.workingVersion, [fileId]).then(function (res) {\r\n if (res.data.Message === '') {\r\n if ($scope.workingVersion === $scope.projectInfo.versionHistory[0]) {\r\n $rootScope.$broadcast('reloadGrid');\r\n } else {\r\n $scope.$broadcast('reloadGrid');\r\n }\r\n }\r\n else {\r\n alert(res.data.Message)\r\n }\r\n });\r\n };\r\n\r\n $scope.saveChanges = function () {;\r\n Project.saveProject($scope.projectInfo.projectId, $scope.workingVersion, $scope.projectInfo.name, $scope.projectInfo.description, $scope.versionDetails.versionNotes).then(function(data) {\r\n $scope.projectForm.$setPristine();\r\n $scope.dirty = false;\r\n $rootScope.$broadcast('reloadGrid');\r\n $element.find('.ok-button').addClass('ok-button-disabled');\r\n $ngRedux.dispatch(actions.showToast('Project saved', 'SUCCESS'));\r\n })\r\n }\r\n\r\n $scope.$on('addProjectFile', function (e, data) {\r\n\r\n window.launchLegacyDialog('project-addfile-editor');\r\n })\r\n\r\n $scope.$on('selectedItemsUpdated', function (e, selectedItems) {\r\n\r\n $scope.selectedItems = selectedItems;\r\n\r\n if (selectedItems.length > 0) {\r\n $scope.menuOptions = MenuBuilder.getProjectFileContextMenu(selectedItems, $scope.kendo[$scope.gridName]._data);\r\n }\r\n else {\r\n $scope.menuOptions = $scope.addFileButton;\r\n }\r\n });\r\n\r\n $scope.$on('launchProjectFileDialog', function (e, data) {\r\n\r\n const fileIds = _.map($scope.selectedItems, _.partialRight(_.pick, ['ID', 'Version', 'Minor', 'Name', 'Type']));\r\n\r\n const packageCallback = () => { $scope.$broadcast('reloadGrid'); }\r\n\r\n switch (data) {\r\n case 'download':\r\n File.download(fileIds, 'download')\r\n break;\r\n case 'checkout':\r\n case 'project-checkout':\r\n File.download(fileIds, 'checkout', packageCallback)\r\n break;\r\n case 'undocheckout':\r\n case 'project-undocheckout':\r\n File.undoCheckout(fileIds, false, packageCallback);\r\n break;\r\n case 'quickapprovalworkflow':\r\n const modalOptions = {\r\n title: 'Quick Approval Workflow',\r\n maskClosable: false,\r\n footer: null\r\n }\r\n $ngRedux.dispatch(actions.showModal('QUICK_APPROVAL_WORKFLOW', modalOptions, { selectedItems: $scope.selectedItems }));\r\n break;\r\n case 'preview':\r\n\r\n let previewObject = {\r\n id: $scope.selectedItems[0].ID,\r\n version: $scope.selectedItems[0].Version,\r\n minor: $scope.selectedItems[0].Minor\r\n }\r\n\r\n $scope.$emit('loadObjectPreview', previewObject);\r\n break;\r\n case 'project-removefile':\r\n ModalWindow.openConfirmation('Remove selected file(s) from project?', function () {\r\n Project.removeVersionFile($scope.projectInfo.projectId, $scope.workingVersion, _.map($scope.selectedItems, 'ID')).then(function () {\r\n if ($scope.workingVersion === $scope.projectInfo.versionHistory[0]) {\r\n $rootScope.$broadcast('reloadGrid');\r\n } else {\r\n $scope.$broadcast('reloadGrid');\r\n }\r\n });\r\n });\r\n\r\n break;\r\n default:\r\n\r\n if (data === 'project-checkin' && $scope.versions[0] !== $scope.workingVersion) {\r\n data = 'project-checkin-previous'\r\n }\r\n\r\n window.launchLegacyDialog(data, $scope.selectedItems, $scope.projectInfo.projectId, '', $scope.kendo[$scope.gridName]._data, Auth.getUsername());\r\n break;\r\n }\r\n });\r\n\r\n $scope.$on('openLinkDialog', function (e, data) {\r\n ModalWindow.openLink(Utility.getLinkURL($scope.selectedItems[0].ID));\r\n });\r\n\r\n $scope.$on('openRenameDialog', function (e, data) {\r\n ModalWindow.openRename($scope.selectedItems[0], false, function (newName) {\r\n if ($scope.workingVersion === $scope.projectInfo.versionHistory[0]) {\r\n $rootScope.$broadcast('reloadGrid');\r\n } else {\r\n $scope.$broadcast('reloadGrid');\r\n }\r\n });\r\n });\r\n\r\n $scope.$on('refreshProjectView', () => {\r\n $scope.$broadcast('reloadGrid');\r\n })\r\n\r\n $scope.projectEditorOptions = {\r\n loadOnInit: true,\r\n mainGrid: false,\r\n responsive: false,\r\n allowRowSelect: true,\r\n allowMultiselect: false,\r\n allowColumnState: false,\r\n allowSelectFolders: false,\r\n enableContextMenu: true,\r\n columnMenu: false,\r\n sortable: true,\r\n resizable: false,\r\n reorderable: true,\r\n scrollable: true,\r\n pageable: {\r\n info: true,\r\n refresh: false\r\n }\r\n };\r\n\r\n const state = $ngRedux.getState();\r\n const endpoint = state.app.endpoint;\r\n\r\n $scope.projectEditorData = {\r\n transport: {\r\n read: {\r\n url: `${endpoint ? endpoint : ''}/api/Projects/GetFiles`,\r\n contentType: 'application/json',\r\n dataType: 'json'\r\n },\r\n parameterMap: function (data, operation) {\r\n\r\n if (data.sort && data.sort.length > 0) {\r\n const sort = { sortField: data.sort[0].field, sortDirection: data.sort[0].dir };\r\n \r\n if (operation === 'read') { delete data.sort; data = $.extend(sort, data); }\r\n }\r\n\r\n data = $.extend({ folderID: $scope.projectInfo.projectId, version: $scope.workingVersion }, data);\r\n\r\n return data;\r\n }\r\n },\r\n schema: {\r\n data: function (response) {\r\n return response.Data;\r\n },\r\n total: 'TotalRows'\r\n },\r\n serverPaging: true,\r\n serverSorting: true,\r\n pageSize: 50,\r\n page: 1\r\n };\r\n\r\n $scope.getColumns = function () {\r\n return Columns.getProjectDocumentColums($scope.projectInfo.projectId);\r\n\t };\r\n\r\n // Work around a bug in the kendo grid that adds extra height to the initial grid render\r\n\t $scope.$on('gridLoaded', function () {\r\n\t $timeout(function () {\r\n\t $element.find('#projectEditorGrid .k-grid .k-grid-content').height('350px');\r\n\t })\r\n\t })\r\n }],\r\n link: function (scope, element, attributes) {\r\n\r\n }\r\n };\r\n}]);","import React from 'react';\r\nimport SidebarButton from '../components/Sidebar/SidebarButton';\r\nimport { Layout, Menu } from 'antd';\r\n\r\nconst { Sider } = Layout;\r\nconst { SubMenu } = Menu;\r\n\r\nclass SiderDemo extends React.Component {\r\n state = {\r\n collapsed: true,\r\n };\r\n\r\n onCollapse = collapsed => {\r\n this.setState({ collapsed });\r\n };\r\n\r\n onSelect = e => {\r\n switch (e.key) {\r\n case 'portal':\r\n window.location.href = '/portal';\r\n break;\r\n case 'documents':\r\n window.location.href = '/documents';\r\n break;\r\n case 'reports':\r\n window.location.href = '/reports';\r\n break;\r\n case 'projects':\r\n window.location.href = '/projects';\r\n break;\r\n case 'advanced-search':\r\n window.location.href = '/search';\r\n break;\r\n case 'saved-search':\r\n window.location.href = '/saved-search';\r\n break;\r\n case 'messages':\r\n window.location.href = '/workflow?view=messages';\r\n break;\r\n case 'workflows':\r\n window.location.href = '/workflow?view=tasks';\r\n break;\r\n case 'workflow-history':\r\n window.location.href = '/workflow?view=history';\r\n break; \r\n default:\r\n break;\r\n }\r\n }\r\n \r\n render() {\r\n return (\r\n // \r\n \r\n
    \"Document
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n //
    \r\n );\r\n }\r\n}\r\n\r\nexport default React.memo(SiderDemo);\r\n ","import React, { useEffect, useRef, useState, useCallback } from 'react';\r\n\r\nconst ReponsiveImage = ({ imagePath, leftRightPadding, topBottomPadding, headerCompensate, angularScope}) => {\r\n\r\n let elementRef = useRef(null);\r\n let imageRef = useRef(null);\r\n\r\n const [originalWidth, setOriginalWidth] = useState('');\r\n const [originalHeight, setOriginalHeight] = useState('');\r\n\r\n const resize = useCallback((callback) => {\r\n \r\n var result = {};\r\n\r\n const lrPadding = leftRightPadding || 0;\r\n const tbPadding = topBottomPadding || 0;\r\n const hCompensate = headerCompensate || 0;\r\n\r\n var imageWidth = imageRef.current.width;\r\n var imageHeight = imageRef.current.height;\r\n var containerWidth = elementRef.current.parentNode.clientWidth - lrPadding;\r\n var containerHeight = elementRef.current.parentNode.clientHeight - tbPadding;\r\n\r\n var scaleX1 = containerWidth;\r\n var scaleY1 = (imageHeight * containerWidth) / imageWidth;\r\n\r\n var scaleX2 = (imageWidth * containerHeight) / imageHeight;\r\n var scaleY2 = containerHeight;\r\n\r\n var scaleOnWidth = (scaleX2 > containerWidth);\r\n\r\n if (scaleOnWidth) {\r\n result.width = Math.floor(scaleX1) > originalWidth ? originalWidth : Math.floor(scaleX1);\r\n result.height = Math.floor(scaleY1) > originalHeight ? originalHeight : Math.floor(scaleY1);\r\n }\r\n else {\r\n result.width = Math.floor(scaleX2) > originalWidth ? originalWidth : Math.floor(scaleX2);\r\n result.height = Math.floor(scaleY2) > originalHeight ? originalHeight : Math.floor(scaleY2);\r\n }\r\n\r\n if (!originalWidth) { result.width = Math.floor(scaleX1) }\r\n\r\n result.targetleft = Math.floor((containerWidth - result.width) / 2);\r\n result.targettop = Math.floor((containerHeight - result.height) / 2);\r\n\r\n elementRef.current.style.cssText = `height: ${result.height}px;\r\n width: ${result.width}px;\r\n left: ${result.targetleft + lrPadding / 2}px;\r\n top: ${result.targettop + (tbPadding / 2) - hCompensate}px`;\r\n\r\n if (callback) { setTimeout(function () { callback(); }) }\r\n }, [elementRef, imageRef, originalHeight, originalWidth, leftRightPadding, topBottomPadding, headerCompensate])\r\n\r\n useEffect(() => {\r\n\r\n const callResize = () => {\r\n if (elementRef.current.parentNode.clientWidth < 200 || elementRef.current.parentNode.clientHeight < 250) { return; }\r\n resize();\r\n }\r\n\r\n window.addEventListener('resize', callResize)\r\n\r\n return () => {\r\n window.removeEventListener('resize', callResize)\r\n }\r\n }, [resize])\r\n\r\n useEffect(() => {\r\n if (imageRef.current) {\r\n imageRef.current.addEventListener('load', function () {\r\n\r\n setOriginalWidth(imageRef.current.width);\r\n setOriginalHeight(imageRef.current.height);\r\n\r\n angularScope.$broadcast('previewLoaded', { isImage: true })\r\n\r\n resize(); \r\n \r\n }, { once: true })\r\n }\r\n\r\n }, [imagePath, angularScope, resize])\r\n\r\n return (\r\n
    \r\n \"Preview\"\r\n
    \r\n )\r\n}\r\n\r\nexport default ReponsiveImage;","import React, { useEffect, useState, useRef } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport axios from 'axios';\r\nimport { Spin } from 'antd';\r\nimport styled from 'styled-components';\r\nimport ResponsiveImage from '../ResponsiveImage'\r\n\r\nconst DetailsPreview = ({ dlObject, angularScope, endpoint }) => {\r\n\r\n let iframeRef = useRef(null);\r\n\r\n const [preview, setPreview] = useState('');\r\n const [cancel, setCancel] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n \r\n useEffect(() => {\r\n const CancelToken = axios.CancelToken;\r\n var previewPaneLoaded = () => { }\r\n\r\n if(cancel) { cancel(); setCancel(null) };\r\n\r\n const openPreview = () => {\r\n var previewObject = {\r\n id: dlObject.ID,\r\n version: dlObject.Version,\r\n minor: dlObject.Minor\r\n }\r\n angularScope.$broadcast('loadObjectPreview', previewObject);\r\n }\r\n\r\n if (dlObject.ID) {\r\n\r\n setLoading(true);\r\n\r\n //cancel any pending request when someone selects a new file\r\n axios.get(`/api/preview/getpreview?id=${dlObject.ID}&version=${dlObject.VersionID}&minor=${dlObject.Minor}`, {\r\n cancelToken: new CancelToken(function executor(c) {\r\n // An executor function receives a cancel function as a parameter\r\n setCancel(() => c);\r\n })\r\n }).then((res) => {\r\n\r\n setPreview(res.data);\r\n setLoading(false);\r\n\r\n previewPaneLoaded = angularScope.$on('previewLoaded', function (event, data) {\r\n\r\n if (data && data.isImage) {\r\n window.document.body.querySelector('.image-preview').addEventListener('dblclick', openPreview)\r\n }\r\n else {\r\n iframeRef.current && iframeRef.current.contentWindow.document.body.querySelector('#viewerContainer').addEventListener('dblclick', openPreview)\r\n }\r\n\r\n setCancel(null);\r\n previewPaneLoaded();\r\n })\r\n }).catch(() => {})\r\n }\r\n return () => { \r\n previewPaneLoaded();\r\n }\r\n\r\n }, [dlObject])\r\n\r\n // Electron - set endpoint for PDF URL\r\n const encodedFilename = encodeURIComponent(preview.path);\r\n const framePath = endpoint ? `${endpoint}${encodedFilename}` : encodedFilename;\r\n\r\n return (\r\n \r\n {preview.isImage && !loading && (\r\n \r\n )}\r\n {!preview.isImage && framePath !== 'undefined' && !loading && (\r\n \r\n )}\r\n {(framePath === 'undefined' || loading) && (\r\n \r\n \r\n \r\n )} \r\n \r\n )\r\n}\r\n\r\nconst IframContainer = styled.div`\r\n padding: 0 !important;\r\n height: 100%;\r\n overflow: hidden;\r\n width: 350px;\r\n position: relative;\r\n box-sizing: border-box;\r\n background-color: #f8f9f9;\r\n`\r\nconst PreviewFrame = styled.iframe`\r\n background-color: #f8f9f9;\r\n`\r\nconst SpinContainer = styled.div`\r\n position: relative,\r\n height: 100%,\r\n width: 100%\r\n`\r\n\r\nconst mapStateToProps = state => { \r\n const { endpoint } = state.app;\r\n return { endpoint };\r\n};\r\n\r\nexport default connect(mapStateToProps)(DetailsPreview);","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Spin } from 'antd';\r\nimport { LoadingOutlined } from '@ant-design/icons';\r\n\r\nconst antIcon = ;\r\n\r\nconst EmptyDetails = ({loading, children}) => {\r\n\r\n return (\r\n {loading ?\r\n (<>\r\n \r\n Loading...\r\n ) : ({children}\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst EmptyDetail = styled.div`\r\n color: #cfd3d6;\r\n`\r\n\r\nexport default EmptyDetails;","import React, { useEffect, useState, useRef } from 'react';\r\nimport axios from 'axios';\r\nimport { connect } from 'react-redux';\r\nimport styled from 'styled-components';\r\nimport { Tabs, Collapse } from 'antd';\r\nimport DetailsPreview from './DetailsPreview';\r\nimport EmptyDetail from './EmptyDetail';\r\n\r\nconst DetailsPane = ({ store, dlObject, File, $rootScope, previewPane, endpoint }) => {\r\n const { TabPane } = Tabs;\r\n const { Panel } = Collapse;\r\n\r\n const defaultDetails = {\r\n properties: [],\r\n workflows: [],\r\n notes: [],\r\n recordPolicy: [],\r\n dependencies: {\r\n primary: [],\r\n children: [],\r\n projects: []\r\n }\r\n }\r\n\r\n const [details, setDetails] = useState(defaultDetails);\r\n const [preview, setPreview] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [scrolled, setScrolled] = useState(false);\r\n const [cancel, setCancel] = useState(null);\r\n\r\n const scrollRef = useRef(null);\r\n\r\n let statusImage = '';\r\n\r\n useEffect(() => {\r\n\r\n setDetails(defaultDetails);\r\n setLoading(true);\r\n\r\n const CancelToken = axios.CancelToken;\r\n const ref = scrollRef;\r\n\r\n if(cancel) { cancel(); setCancel(null) };\r\n\r\n if (dlObject.ID) {\r\n //cancel any pending request when someone selects a new file\r\n axios.get(`/api/filedetails/getdetails?id=${dlObject.ID}`, {\r\n cancelToken: new CancelToken(function executor(c) {\r\n // An executor function receives a cancel function as a parameter\r\n setCancel(() => c);\r\n })\r\n }).then((res) => {\r\n setDetails(res.data);\r\n setLoading(false);\r\n setCancel(null);\r\n }).catch(() => {})\r\n }\r\n\r\n const handleScroll = (e) => {\r\n setScrolled(e.srcElement.scrollTop !== 0);\r\n }\r\n\r\n ref.current && ref.current.addEventListener('scroll', handleScroll)\r\n\r\n return () => {\r\n ref.current && ref.current.removeEventListener('scroll', handleScroll)\r\n }\r\n\r\n }, [dlObject])\r\n\r\n var s = dlObject.Status;\r\n var a = dlObject.Activity;\r\n\r\n if (s === 'Checked Out') {\r\n statusImage = a === 'In Process' ? 'check-cog' : 'check';\r\n } else {\r\n if (s === \"Approved\") {\r\n statusImage = a === 'In Process' ? 'blue-yellow-cog' : 'blue-cog';\r\n } else {\r\n if (a === 'In Process') {\r\n statusImage = 'yellow-cog';\r\n }\r\n }\r\n }\r\n\r\n // Electron - settings endpoint for image\r\n const apiEndpoint = endpoint ? endpoint : '';\r\n\r\n return (\r\n { setPreview(index === '2')}}>\r\n \r\n \r\n \r\n {details.thumbnail &&\r\n \"file-icon\"\r\n }\r\n \r\n \r\n
    \r\n {statusImage && \"thumbnail\"}\r\n {dlObject.ObjectType ? dlObject.FileName + '.' + dlObject.ObjectType : dlObject.FileName}\r\n
    \r\n
    \r\n \r\n \r\n \r\n Status\r\n {dlObject.Status}\r\n \r\n \r\n Path\r\n {dlObject.Path}\r\n \r\n \r\n Size\r\n {dlObject.FileSize}\r\n \r\n \r\n Version\r\n {dlObject.VersionID}\r\n \r\n \r\n Description\r\n {dlObject.Description}\r\n \r\n \r\n Version Notes\r\n {dlObject.KeyWords}\r\n \r\n \r\n Created\r\n {`${dlObject.CreateDate} ${dlObject.CreatedBy}`}\r\n \r\n \r\n Last Accessed\r\n {`${dlObject.LastAccessed} ${dlObject.LastAccessedBy}`}\r\n \r\n \r\n Last Updated\r\n {`${dlObject.LastUpdated} ${dlObject.LastUpdatedBy}`}\r\n \r\n \r\n \r\n \r\n {details.profileId}\r\n \r\n {details.properties.length > 0 ? (\r\n details.properties.map((property, index) => (\r\n \r\n {property.propertyID}\r\n {property.displayValue}\r\n \r\n ))\r\n ) : (\r\n No Properties\r\n )}\r\n \r\n \r\n \r\n \r\n {details.notes.length > 0 ? (\r\n details.notes.map((note, index) => (\r\n \r\n
    {note.userID}
    \r\n
    {`${note.logDate} :: Version: ${note.versionID}`}
    \r\n
    {`${note.message}`}
    \r\n
    \r\n ))\r\n ) : (\r\n No Notes\r\n )\r\n }\r\n
    \r\n
    \r\n \r\n \r\n {details.workflows.length > 0 ? (\r\n details.workflows.map((workflow, index) => (\r\n
    \r\n \r\n \r\n Instance Name\r\n {workflow.instanceName}\r\n \r\n \r\n Instance ID\r\n {workflow.instanceID}\r\n \r\n \r\n Route Name\r\n {workflow.routeName}\r\n \r\n \r\n Route Started\r\n {workflow.routeStarted}\r\n \r\n \r\n Requested By\r\n {workflow.requestedBy}\r\n \r\n \r\n Request Message\r\n {workflow.requestMessage}\r\n \r\n \r\n \r\n \r\n Task Name\r\n {workflow.stepName}\r\n \r\n \r\n Task Type\r\n {workflow.stepType}\r\n \r\n \r\n Task Started\r\n {workflow.stepStartDate}\r\n \r\n \r\n Task Due Date\r\n {workflow.stepEndDate}\r\n \r\n \r\n Step Instructions\r\n {workflow.stepInstructions}\r\n \r\n \r\n Route Instructions\r\n {workflow.routeInstructions}\r\n \r\n \r\n
    \r\n ))\r\n ) : (\r\n No Workflows\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n Primary Files\r\n \r\n {details.dependencies.primary.length > 0 ? (\r\n details.dependencies.primary.map((file, index) => (\r\n {file.fileName}\r\n ))\r\n ) : (\r\n No Primary Files\r\n )}\r\n \r\n \r\n \r\n Child Files\r\n \r\n {details.dependencies.children.length > 0 ? (\r\n details.dependencies.children.map((file, index) => (\r\n {file.fileName}\r\n ))\r\n ) : (\r\n No Child Files\r\n )}\r\n \r\n \r\n \r\n Projects\r\n \r\n {details.dependencies.projects.length > 0 ? (\r\n details.dependencies.projects.map((project, index) => (\r\n {project.projectName}\r\n ))\r\n ) : (\r\n No Projects\r\n )}\r\n \r\n \r\n \r\n \r\n {details.recordPolicy.recordPolicyId ? (\r\n <>\r\n \r\n Policy ID\r\n {details.recordPolicy.recordPolicyId}\r\n \r\n \r\n Category\r\n {details.recordPolicy.recordCategory}\r\n \r\n \r\n Assigned Date\r\n {details.recordPolicy.recordAssignedDate}\r\n \r\n \r\n Action Date\r\n {details.recordPolicy.recordActionDate}\r\n \r\n \r\n Action Name\r\n {details.recordPolicy.recordPolicyAction}\r\n \r\n \r\n Status\r\n {details.recordPolicy.status}\r\n \r\n \r\n ) : (\r\n No Record Policy\r\n )\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n {previewPane &&\r\n \r\n {preview && }\r\n \r\n }\r\n
    \r\n )\r\n}\r\n\r\nconst DetailItem = styled.div`\r\n\twidth: 100%;\r\n\tmargin: 2px 0;\r\n\tfont-size: 12px;\r\n float: left;\r\n`\r\nconst DetailLabel = styled.div`\r\n\twidth: 50%;\r\n color: #888;\r\n float: left;\r\n padding-right: 5px;\r\n\tword-wrap: break-word;\r\n\tbox-sizing: border-box;\r\n`\r\nconst DetailValue = styled.div`\r\n\twidth: 50%;\r\n color: #333;\r\n display: inline-block;\r\n word-wrap: break-word;\r\n`\r\nconst DetailsHeader = styled.div`\r\n color: #333;\r\n padding: 20px 10px;\r\n overflow: hidden;\r\n flex: 0 0 auto;\r\n z-index: 2;\r\n box-shadow: ${p => p.scrolled ? '0px 4px 10px -4px rgba(0,0,0,0.48)' : 'none'};\r\n`\r\nconst IconHolder = styled.div`\r\n\twidth: 77px;\r\n\theight: 77px;\r\n float: left;\r\n position: relative;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n background: url(\"/images/small-loader.gif\") transparent no-repeat center;\r\n img {\r\n width: 75px;\r\n height: 75px;\r\n }\r\n`\r\nconst FileName = styled.div`\r\n padding: 0 15px;\r\n\tmargin-top: 30px;\r\n\twidth: 200px;\r\n\tcursor: default;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\tfont-size: 12px;\r\n\tfloat: left;\r\n span {\r\n display: block;\r\n margin-top: 2px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n`\r\nconst ScrollingContainer = styled.div`\r\n height: 100%;\r\n margin-bottom: 130px;\r\n overflow-y: auto;\r\n flex: 1 1 auto;\r\n overflow-x: hidden;\r\n`\r\nconst DetailSection = styled.div`\r\n\tmargin-bottom: 10px;\r\n\tpadding: 10px;\r\n\toverflow: hidden;\r\n`\r\nconst ProfileName = styled.div`\r\n color: #333;\r\n font-size: 12px;\r\n`\r\nconst DetailsProperties = styled.div`\r\n width: 100%;\r\n font-size: 12px;\r\n margin-top: 10px;\r\n display: inline-block;\r\n`\r\nconst DetailsNotes = styled.div`\r\n display: inline-block;\r\n margin-bottom: -10px;\r\n width: 100%;\r\n`\r\nconst DetailsWorkflows = styled.div`\r\n display: inline-block;\r\n margin-bottom: -10px;\r\n width: 100%;\r\n`\r\nconst WorkflowRouteDetails = styled.div`\r\n display: inline-block;\r\n background: #ecedee;\r\n width: 100%;\r\n`\r\nconst WorkflowStepDetails = styled.div`\r\n width: 100%;\r\n margin-left: 15px;\r\n margin-top: 10px;\r\n background: #f8f9f9;\r\n box-sizing: border-box;\r\n`\r\nconst Note = styled.div`\r\n width: 100%;\r\n font-size: 12px;\r\n :not(:last-child) {\r\n border-bottom: 1px solid #dee0e3;\r\n }\r\n :not(:first-child) {\r\n margin-top: 10px;\r\n }\r\n`\r\n\r\nconst mapStateToProps = state => { \r\n const { previewPane, endpoint } = state.app;\r\n return { previewPane, endpoint };\r\n};\r\n\r\nexport default connect(mapStateToProps)(DetailsPane);","import angular from 'angular';\r\nimport { react2angular } from 'react2angular'\r\nimport ModalRoot from './containers/ModalRoot'\r\nimport ContextMenuRoot from './containers/ContextMenuRoot'\r\nimport DownloadHelper from './containers/DownloadHelper';\r\nimport Portal from './containers/Portal';\r\nimport Logout from './containers/Logout';\r\nimport Sidebar from './components/Sidebar';\r\nimport MenuBar from './components/MenuBar';\r\nimport UserButton from './components/UserButton';\r\nimport QuickSearchBox from './components/QuickSearchBox';\r\nimport { Icon } from 'dlweb-components';\r\nimport Breadcrumb from './components/Breadcrumb';\r\nimport DetailsPane from './components/DetailsPane';\r\nimport MultifactorVerification from './components/MultifactorVerification';\r\n\r\nrequire('./containers/ModalRoot');\r\nrequire('./containers/ContextMenuRoot');\r\nrequire('./containers/DownloadHelper');\r\nrequire('./containers/Portal');\r\nrequire('./containers/Logout');\r\nrequire('./containers/Layout');\r\nrequire('./components/Sidebar');\r\nrequire('./components/MenuBar');\r\nrequire('./components/UserButton');\r\nrequire('./components/QuickSearchBox');\r\nrequire('./components/Breadcrumb');\r\nrequire('./components/MultifactorVerification');\r\n\r\nangular.module('webTools').component('breadcrumb', react2angular(Breadcrumb, ['paths']));\r\nangular.module('webTools').component('detailsPane', react2angular(DetailsPane, ['store', 'dlObject'], ['$rootScope', 'File']));\r\nangular.module('webTools').component('modalRoot', react2angular(ModalRoot, ['store'], ['$rootScope']));\r\nangular.module('webTools').component('downloadHelper', react2angular(DownloadHelper, ['store']));\r\nangular.module('webTools').component('sidebar', react2angular(Sidebar, ['store'], ['$rootScope', '$location', '$routeParams']));\r\nangular.module('webTools').component('portal', react2angular(Portal, ['store']));\r\nangular.module('webTools').component('logout', react2angular(Logout, ['store'], ['$location', '$rootScope']));\r\nangular.module('webTools').component('menuBar', react2angular(MenuBar, ['store', 'menuItems'], ['$rootScope']));\r\nangular.module('webTools').component('userButton', react2angular(UserButton, ['store'], ['$rootScope', '$location']));\r\nangular.module('webTools').component('contextMenuRoot', react2angular(ContextMenuRoot, ['store'], ['$rootScope']));\r\nangular.module('webTools').component('quickSearchBox', react2angular(QuickSearchBox, ['store'], ['$rootScope', '$location']));\r\nangular.module('webTools').component('icon', react2angular(Icon, ['type']));\r\nangular.module('webTools').component('multifactorVerification', react2angular(MultifactorVerification, [], ['$rootScope', '$location']));\r\n","// APP DATA\r\nexport const LOAD_APP_SETTINGS = 'LOAD_APP_SETTINGS';\r\n\r\nexport function loadAppSettings(settings) {\r\n return { type: LOAD_APP_SETTINGS, payload: settings }\r\n}\r\n\r\nexport const TOAST_SHOW = 'TOAST_SHOW';\r\nexport const TOAST_DISMISS = 'TOAST_DISMISS';\r\n\r\nexport function showToast(message, type, content) {\r\n return { type: TOAST_SHOW, payload: { message, type, content } }\r\n}\r\n\r\nexport function dismissToast(id) {\r\n return { type: TOAST_DISMISS, payload: { id }}\r\n}\r\n\r\nexport const OPEN_WINDOW = 'OPEN_WINDOW';\r\nexport const CLOSE_WINDOW = 'CLOSE_WINDOW';\r\n\r\nexport function openWindow(windowType, windowProps) {\r\n return { type: OPEN_WINDOW, payload: { windowType, windowProps } }\r\n}\r\n\r\nexport function closeWindow() {\r\n return { type: CLOSE_WINDOW }\r\n}\r\n\r\nexport const MODAL_SHOW = 'MODAL_SHOW';\r\nexport const MODAL_HIDE = 'MODAL_HIDE';\r\n\r\nexport function showModal(modalType, modalProps, modalContentProps) {\r\n return { type: MODAL_SHOW, payload: { modalType, modalProps, modalContentProps } }\r\n}\r\n\r\nexport function hideModal() {\r\n return { type: MODAL_HIDE }\r\n}\r\n\r\nexport const INITIATE_DOWNLOAD = 'INITIATE_DOWNLOAD';\r\n\r\nexport function initiateDownload(data) {\r\n return { type: INITIATE_DOWNLOAD, payload: { ...data } }\r\n}\r\n\r\nexport const RESET_DOWNLOAD = 'RESET_DOWNLOAD';\r\n\r\nexport function resetDownload() {\r\n return { type: RESET_DOWNLOAD }\r\n}\r\n\r\n// APP DATA\r\nexport const LOAD_USER_DATA = 'LOAD_USER_DATA';\r\n\r\nexport function loadUserData(userData) {\r\n return { type: LOAD_USER_DATA, payload: userData }\r\n}\r\n\r\n// PORTAL\r\nexport const LOAD_PORTAL = 'LOAD_PORTAL';\r\n\r\nexport function loadPortal(portalComponents) {\r\n return { type: LOAD_PORTAL, payload: portalComponents }\r\n}\r\n\r\n// ContextMenu\r\nexport const CONTEXT_MENU_SHOW = 'CONTEXT_MENU_SHOW';\r\nexport const CONTEXT_MENU_HIDE = 'CONTEXT_MENU_HIDE';\r\n\r\nexport function showContextMenu(menuProps) {\r\n return { type: CONTEXT_MENU_SHOW, payload: menuProps }\r\n}\r\n\r\nexport function hideContextMenu() {\r\n return { type: CONTEXT_MENU_HIDE }\r\n}\r\n\r\n// ContextMenu\r\nexport const POPOVER_SHOW = 'POPOVER_SHOW';\r\nexport const POPOVER_HIDE = 'POPOVER_HIDE';\r\n\r\nexport function showPopover(menuProps) {\r\n return { type: POPOVER_SHOW, payload: menuProps }\r\n}\r\n\r\nexport function hidePopover() {\r\n return { type: POPOVER_HIDE }\r\n}","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Icon } from 'dlweb-components';\r\n\r\nconst SidebarButton = ({ iconType, text, style }) => {\r\n return(\r\n <>\r\n \r\n {text}\r\n \r\n \r\n )\r\n}\r\n\r\nconst SidebarIcon = styled(Icon)`\r\n margin-right: 20px;\r\n margin-left: -17px;\r\n text-align: center;\r\n`\r\n\r\nexport default React.memo(SidebarButton);","// import { createStore } from 'redux'\r\n// import { rootReducer } from './reducers/reducers'\r\n// import { fileCheckout } from './actions/actions';\r\n\r\nexport let reactStore = {};\r\n\r\nexport function setReactStore(store) {\r\n reactStore = store;\r\n}\r\n\r\n//export const store = createStore(rootReducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__())\r\n\r\n// let reducer = combineReducers(reducers);\r\n// export const store = $ngReduxProvider.createStoreWith(rootReducer);\r\n\r\n// console.log(store.getState());\r\n// console.log(store.dispatch(fileCheckout()));","import React from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { resetDownload } from '../store/actions';\r\n\r\nclass DownloadHelper extends React.Component {\r\n constructor() {\r\n super();\r\n this.form = React.createRef();\r\n }\r\n\r\n shouldComponentUpdate(nextProps) {\r\n return this.path !== nextProps.path;\r\n }\r\n\r\n componentDidUpdate() {\r\n if(this.props.path !== '') {\r\n this.form.current.submit();\r\n this.props.resetDownload();\r\n }\r\n }\r\n\r\n render() {\r\n return(\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => state.download;\r\nconst mapDispatchToProps = { resetDownload }\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DownloadHelper);","import React from 'react';\r\nimport { connect, Provider } from 'react-redux';\r\nimport styled from 'styled-components'\r\n\r\nconst Portal = (props) => {\r\n return(\r\n \r\n \r\n \r\n {\r\n props.portal.widgets.map((component) => {\r\n const {componentName, id, height, width, title} = component;\r\n const Widget = window[componentName].default;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst DashboardContainer = styled.div`\r\n height: calc(100vh - 50px);\r\n padding: 24px;\r\n overflow-y: auto;\r\n`\r\nconst DashboardRow = styled.div`\r\n margin-left: -12px;\r\n margin-right: -12px;\r\n position: relative;\r\n box-sizing: border-box;\r\n ::before {\r\n display: table;\r\n content: '';\r\n }\r\n`\r\nconst DashboardWidget = styled.div`\r\n float: left;\r\n padding-left: 12px;\r\n padding-right: 12px;\r\n box-sizing: border-box;\r\n width: ${ (p) => p.width }%;\r\n @media (max-width: 1000px) {\r\n width: 100%;\r\n }\r\n`\r\n\r\nconst mapStateToProps = state => {\r\n const { portal } = state; \r\n const { isAdmin } = state.user;\r\n\r\n return { isAdmin, portal };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Portal);","import React, { useEffect } from 'react';\r\nimport { connect, Provider } from 'react-redux';\r\nimport { Button } from 'antd';\r\nimport styled from 'styled-components'\r\nimport axios from 'axios';\r\n\r\nconst Logout = ({store, $location, $rootScope}) => {\r\n\r\n useEffect(() => {\r\n $rootScope.$broadcast('closePreviewOverlay');\r\n $rootScope.$broadcast('logout');\r\n }, [$rootScope])\r\n\r\n useEffect(() => {\r\n \r\n localStorage.removeItem('sessionId')\r\n\r\n axios.get('/api/authentication/logout');\r\n \r\n }, [])\r\n \r\n const goToLogin = () => {\r\n $location.url(`${decodeURIComponent(localStorage.getItem('loginPage'))}`);\r\n $rootScope.$apply();\r\n }\r\n\r\n return(\r\n \r\n \r\n
    \r\n \"logo\"\r\n
    You have been logged out.
    \r\n \r\n
    \r\n \"logo\"
    \r\n ©ColumbiaSoft Corporation\r\n www.DocumentLocator.com\r\n
    \r\n \r\n \r\n )\r\n}\r\n\r\nconst LogoutContainer = styled.div`\r\n height: 100%;\r\n width: 100%;\r\n margin: auto;\r\n text-align: center;\r\n overflow-y: auto;\r\n background-color: var(--primary);\r\n`\r\n\r\nconst Header = styled.div`\r\n\theight: 100px;\r\n\tbackground-color: var(--primary);\r\n\tcolor: #fff;\r\n box-sizing: border-box;\r\n z-index: 1;\r\n margin-right: 136px;\r\n user-select: none;\r\n -webkit-app-region:drag;\r\n i,\r\n .window-buttons,\r\n input[type=\"submit\"],\r\n input[type=\"reset\"],\r\n input[type=\"button\"],\r\n input[type=\"text\"],\r\n button,\r\n textarea {\r\n -webkit-app-region: no-drag;\r\n }\r\n`\r\n\r\nconst mapStateToProps = state => {\r\n const { user } = state; \r\n const { isAdmin } = state.user;\r\n\r\n return { isAdmin, user };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Logout);","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Icon } from 'dlweb-components';\r\nimport { connect } from 'react-redux';\r\nimport { Dropdown, Menu } from 'antd';\r\n\r\nconst UserButton = (props) => {\r\n\r\n const handleMenuClick = () => {\r\n props.$location.url('/logout');\r\n props.$rootScope.$apply();\r\n }\r\n\r\n const menu = (\r\n \r\n \r\n \r\n Logout\r\n \r\n \r\n );\r\n \r\n return (\r\n \r\n \r\n \r\n {props.user}\r\n \r\n \r\n )\r\n}\r\n\r\nconst MenuText = styled.span`\r\n margin-left: 15px;\r\n`\r\n\r\nconst ButtonContainer = styled.div`\r\n height: 50px;\r\n line-height: 50px;\r\n padding: 0 10px;\r\n float: right;\r\n text-transform: none;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n -webkit-app-region: no-drag;\r\n`\r\n\r\nconst Username = styled.div`\r\n margin-left: 10px;\r\n display: inline-block;\r\n`\r\n\r\nconst mapStateToProps = state => { \r\n const { user } = state.user;\r\n return { \"user\": user };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserButton);","import React, { useState, useEffect, useRef } from 'react';\r\nimport styled from 'styled-components';\r\nimport { Dropdown, Menu, Input, Checkbox } from 'antd';\r\nimport { Icon } from 'dlweb-components'\r\nimport * as _ from 'lodash';\r\n\r\nconst Search = Input.Search;\r\n\r\nconst QuickSearchBox = (props) => {\r\n\r\n const inputEl = useRef(null);\r\n const defaultOptions = [\r\n { id: 1, text: 'Filename', checked: true },\r\n { id: 2, text: 'Description', checked: false },\r\n { id: 3, text: 'Version Notes', checked: false },\r\n { id: 4, text: 'Property Values', checked: false },\r\n { id: 5, text: 'Full Text', checked: true },\r\n { id: 6, text: 'Workflow Comments', checked: false },\r\n { id: 7, text: \"Use OR Operator\", checked: true }\r\n ];\r\n\r\n const [visible, setVisible] = useState(false);\r\n const [searchValue, setSearchValue] = useState('');\r\n const [searchOptions, setSearchOptions] = useState(defaultOptions);\r\n\r\n const onChange = (e, option) => {\r\n \r\n let optionsCopy = searchOptions;\r\n _.find(optionsCopy, { id: option.id }).checked = e.target.checked;\r\n \r\n localStorage.searchOptions = JSON.stringify(optionsCopy);\r\n setSearchOptions([...optionsCopy])\r\n }\r\n useEffect(() => {\r\n let localOptions = localStorage.searchOptions && JSON.parse(localStorage.searchOptions);\r\n if (localOptions && localOptions.length === 7) {\r\n setSearchOptions(localOptions);\r\n } else {\r\n localStorage.searchOptions = JSON.stringify(defaultOptions);\r\n }\r\n\r\n }, [])\r\n\r\n const handleVisibleChange = flag => {\r\n setVisible(flag)\r\n };\r\n\r\n const onSearch = (value) => {\r\n \r\n if(value === '') { return; }\r\n\r\n let stopListening = props.$rootScope.$on('$routeChangeSuccess', (e, data) => {\r\n if(data.originalPath !== '/search') {\r\n setSearchValue('');\r\n stopListening();\r\n }\r\n })\r\n\r\n const noOptions = _.find(searchOptions, function(option) { return option.id < 7 && option.checked === true }) === undefined\r\n\r\n if (noOptions) {\r\n let optionsCopy = searchOptions;\r\n optionsCopy[0].checked = true;\r\n \r\n localStorage.searchOptions = JSON.stringify(optionsCopy);\r\n setSearchOptions([...optionsCopy]);\r\n }\r\n\r\n props.$location.url('/search').search({ q: value, page: 1, nocache: new Date().getTime() });\r\n props.$rootScope.$apply();\r\n }\r\n\r\n const menu = (\r\n \r\n {\r\n searchOptions.map(searchOption => (\r\n \r\n onChange(e, searchOption)} checked={searchOption.checked} optionId={searchOption.id}>{searchOption.text}\r\n \r\n )\r\n )\r\n }\r\n \r\n );\r\n \r\n const buttonDropdown = (\r\n \r\n setVisible(!visible)}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n onSearch(value)}\r\n addonAfter={buttonDropdown}\r\n ref={inputEl}\r\n value={searchValue}\r\n onChange={e => setSearchValue(e.target.value)}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst QuickSearchContainer = styled.div`\r\n height: 50px;\r\n width: 400px;\r\n line-height: 50px;\r\n padding: 9px 12px 0 0;\r\n text-transform: none;\r\n box-sizing: border-box;\r\n float: right;\r\n`\r\n\r\nconst IconContainer = styled.div`\r\n width: 100%;\r\n padding: 0 11px;\r\n line-height: 28px;\r\n font-size: 10px;\r\n`\r\n\r\nexport default QuickSearchBox;","import React, { useRef, useEffect, useState, useCallback } from 'react';\r\nimport styled from 'styled-components';\r\nimport { Breadcrumb as AntBreadcrumb } from 'antd'\r\nimport * as _ from 'lodash';\r\n\r\nconst Breadcrumb = ({ paths }) => {\r\n\r\n const [overflowPaths, setOverflowPaths] = useState([]);\r\n const [breadcrumbPaths, setBreadcrumbPaths] = useState([]);\r\n const [widths, setWidths] = useState({})\r\n\r\n const breadcrumbRef = useRef(null);\r\n\r\n const insert = (arr, index, ...newItems) => [\r\n ...arr.slice(0, index),\r\n ...newItems,\r\n ...arr.slice(index)\r\n ]\r\n\r\n const onResize = () => {\r\n\r\n if(breadcrumbRef.current) {\r\n const visibleWidth = breadcrumbRef.current.getBoundingClientRect().width;\r\n const breadcrumbWidth = breadcrumbRef.current.children[0].offsetWidth;\r\n\r\n if (breadcrumbWidth > 0 && breadcrumbRef.current.children[0].children.length > 1) {\r\n setWidths({ visibleWidth, breadcrumbWidth });\r\n }\r\n }\r\n }\r\n\r\n function itemRender(route, params, routes, paths) {\r\n const last = routes.indexOf(route) === routes.length - 1;\r\n return last ? (\r\n {route.breadcrumbName}\r\n ) : (\r\n {route.breadcrumbName}\r\n );\r\n }\r\n\r\n // handle window resize\r\n useEffect(() => {\r\n\r\n const { visibleWidth, breadcrumbWidth } = widths;\r\n\r\n if (visibleWidth > breadcrumbWidth) {\r\n\r\n setOverflowPaths(prevOverflowPaths => {\r\n \r\n if (prevOverflowPaths.length === 0) return [];\r\n\r\n let i = 0;\r\n let addedPaths = [];\r\n let newBreadcrumbWidth = breadcrumbWidth;\r\n\r\n do {\r\n\r\n // remove overflowPath and save element width\r\n let addedPath = prevOverflowPaths[i];\r\n\r\n // add width to breadcrumb length\r\n newBreadcrumbWidth += addedPath.width;\r\n\r\n // make sure we're not adding too much size with the new element\r\n if (newBreadcrumbWidth > visibleWidth - 25) break;\r\n\r\n //delete removedPath.width;\r\n\r\n addedPaths.push(addedPath)\r\n\r\n i++;\r\n\r\n } while (newBreadcrumbWidth < visibleWidth && i < prevOverflowPaths.length)\r\n\r\n // add path to array\r\n const newOverflowPaths = _.filter(prevOverflowPaths, o => { return !_.includes(_.map(addedPaths, 'path'), o.path) });\r\n \r\n setBreadcrumbPaths(prevBreadcrumbPaths => {\r\n\r\n if (addedPaths.length === 0) return prevBreadcrumbPaths;\r\n\r\n // copy breadcrumbs\r\n let breadcrumbCopy = _.cloneDeep(prevBreadcrumbPaths);\r\n delete breadcrumbCopy[breadcrumbCopy.length - 2].children;\r\n \r\n if (newOverflowPaths.length > 0) {\r\n breadcrumbCopy.splice(prevBreadcrumbPaths.length - 1, 0, ...addedPaths)\r\n breadcrumbCopy[breadcrumbCopy.length - 2].children = [...newOverflowPaths];\r\n\r\n return breadcrumbCopy;\r\n }\r\n else {\r\n return insert(breadcrumbCopy, breadcrumbCopy.length - 1, ...addedPaths);\r\n }\r\n })\r\n\r\n if (addedPaths.length === 0) return prevOverflowPaths;\r\n\r\n return newOverflowPaths;\r\n })\r\n }\r\n\r\n if (visibleWidth - 25 < breadcrumbWidth) {\r\n\r\n setBreadcrumbPaths(prevBreadcrumbPaths => {\r\n\r\n let i = 1;\r\n let removedPaths = [];\r\n let newBreadcrumbWidth = breadcrumbWidth;\r\n\r\n do {\r\n\r\n // get width of the element we're removing\r\n const elementWidth = breadcrumbRef.current.children[0].children[breadcrumbRef.current.children[0].children.length - i].getBoundingClientRect().width;\r\n\r\n newBreadcrumbWidth -= elementWidth;\r\n\r\n // create overflowPath and save element width\r\n let removedPath = { width: elementWidth, ...prevBreadcrumbPaths[prevBreadcrumbPaths.length - 1 - i] }\r\n delete removedPath.children;\r\n\r\n removedPaths.unshift(removedPath);\r\n\r\n i++;\r\n\r\n } while (visibleWidth - 25 < newBreadcrumbWidth)\r\n\r\n // remove paths from array\r\n let pathsCopy = _.filter(prevBreadcrumbPaths, o => { return !_.includes(_.map(removedPaths, 'path'), o.path) });\r\n\r\n setOverflowPaths(prevPaths => {\r\n\r\n const newOverflowPaths = [...removedPaths, ...prevPaths];\r\n pathsCopy[pathsCopy.length - 2].children = [...newOverflowPaths];\r\n\r\n return newOverflowPaths;\r\n });\r\n\r\n return pathsCopy;\r\n })\r\n }\r\n }, [widths])\r\n\r\n useEffect(() => {\r\n if(paths) {\r\n setOverflowPaths([]);\r\n setBreadcrumbPaths(_.cloneDeep(paths));\r\n\r\n setTimeout(() => {\r\n onResize();\r\n })\r\n }\r\n }, [paths])\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', _.debounce(onResize, 150));\r\n return () => window.removeEventListener('resize', _.debounce(onResize, 150));\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst BreadcrumbContainer = styled.div`\r\n height: 50px;\r\n width: 100%;\r\n padding: 0 10px;\r\n line-height: 50px;\r\n white-space: nowrap;\r\n background-color: #fff;\r\n border-bottom: 1px solid #dee0e3;\r\n user-select: none;\r\n`\r\n\r\nexport default React.memo(Breadcrumb);","import React, { useState } from 'react';\r\nimport styled from 'styled-components';\r\nimport { Form, Input, Checkbox, Button } from 'antd';\r\nimport axios from 'axios';\r\n\r\nconst MultifactorVerification = (props) => {\r\n\r\n const [disabled, setDisabled] = useState(true);\r\n const [starting, setStarting] = useState(false);\r\n\r\n const [form] = Form.useForm();\r\n\r\n const backToLogin = () => {\r\n\r\n localStorage.removeItem('sessionId')\r\n axios.get('/api/authentication/logout');\r\n\r\n props.$location.replace();\r\n props.$location.url('/');\r\n props.$rootScope.$apply();\r\n }\r\n\r\n const formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 24 },\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 24 },\r\n },\r\n };\r\n\r\n const handleSubmit = values => {\r\n\r\n setStarting(true);\r\n setDisabled(true);\r\n\r\n axios.post('/api/multifactor/verify', { }).then((res) => {\r\n setStarting(false);\r\n setDisabled(false);\r\n })\r\n .catch(error => {\r\n setStarting(false);\r\n setDisabled(false);\r\n alert('Error during verification!')\r\n })\r\n }\r\n\r\n const handleChange = (value) => {\r\n if (value !== '') {\r\n setDisabled(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Trust this device\r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst Container = styled.div`\r\n .ant-form-item {\r\n margin-bottom: 0;\r\n }\r\n`\r\n\r\nexport default MultifactorVerification;","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport styled from 'styled-components';\r\nimport { Form, Input, Checkbox, Select, List, Button, notification } from 'antd';\r\nimport axios from 'axios';\r\nimport * as _ from 'lodash';\r\n\r\nconst { TextArea } = Input;\r\n\r\nconst SettingsForm = (props) => {\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [users, setUsers] = useState([]);\r\n const [disabled, setDisabled] = useState(true);\r\n const [starting, setStarting] = useState(false);\r\n\r\n const [form] = Form.useForm();\r\n\r\n useEffect(() => {\r\n axios.post('/api/workflow/GetApprovers', _.map(props.selectedItems, 'ID')).then((res) => {\r\n setUsers(res.data);\r\n setLoading(false);\r\n }).catch(error => { alert('Error getting user list!') })\r\n }, [props.selectedItems])\r\n\r\n const formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 24 },\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 24 },\r\n },\r\n };\r\n\r\n const handleSubmit = values => {\r\n\r\n setStarting(true);\r\n setDisabled(true);\r\n\r\n const postData = {\r\n objectIds: _.map(props.selectedItems, 'ID'),\r\n ...values,\r\n message: _.escape(values.message)\r\n }\r\n\r\n axios.post('/api/workflow/StartQuickApprovalWorkflow', postData).then((res) => {\r\n setStarting(false);\r\n setDisabled(false);\r\n props.hideModal();\r\n props.angularScope.$broadcast('reloadGrid');\r\n\r\n notification.success({ message: 'Workflow started!' });\r\n })\r\n .catch(error => {\r\n setStarting(false);\r\n setDisabled(false);\r\n alert('Error starting workflow!')\r\n })\r\n }\r\n\r\n const handleChange = (value) => {\r\n if(value !== '') {\r\n setDisabled(false);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n
    \r\n {`${item.Name}.${item.Type}`}\r\n
    \r\n )}\r\n />\r\n
    \r\n \r\n