{"version":3,"sources":["assets/images/tendencieslogo.svg","assets/images/tendencies.png","serviceWorker.ts","history.ts","components/SliderComponents.tsx","components/Question.tsx","components/SpinningLoader.tsx","Constants.ts","api/Assessment.tsx","presentation/Assessment.tsx","models/RoleEnums.ts","components/Logo.tsx","api/User.tsx","api/OrgAdmin.tsx","context/UserContext.tsx","presentation/Nav.tsx","presentation/Footer.tsx","components/ForgotPasswordModal.tsx","presentation/Login/Login.tsx","presentation/Register/Register.tsx","presentation/Login/PasswordReset.tsx","api/Admin.tsx","presentation/AddOrg.tsx","presentation/ConsultantAdminHome.tsx","components/InviteInput.tsx","components/InviteOthersModal.tsx","components/MeAtAGlance.tsx","components/MyAssessments.tsx","components/ListItemView.tsx","components/PersonalityLineChart.tsx","components/MyResults.tsx","components/RelationshipManuals.tsx","presentation/PersonalPage.tsx","components/OrgUserListView.tsx","components/OrganizationalTendenciesChart.tsx","components/CoworkersAtAGlanceChart.tsx","presentation/OrganizationPage.tsx","components/StaffListing.tsx","components/OrganizationDetails.tsx","models/EmailTemplates.ts","presentation/InviteOrgAdmin.tsx","components/ManageAdminsPopup.tsx","components/OrganizationAdmins.tsx","presentation/OrgAdminHome/OrgAdminHome.tsx","presentation/About/About.tsx","presentation/ThankyouPage.tsx","presentation/PrivacyPage.tsx","presentation/Home/WelcomePage.tsx","App.tsx","routes.tsx","index.tsx"],"names":["module","exports","__webpack_require__","p","Boolean","window","location","hostname","match","createHistory","Handle","_ref","_ref$domain","Object","slicedToArray","domain","min","max","_ref$handle","handle","id","value","percent","getHandleProps","react","assign","role","aria-valuemin","aria-valuemax","aria-valuenow","style","left","concat","position","marginTop","zIndex","width","height","cursor","boxShadow","backgroundColor","Track","_ref2","source","target","getTrackProps","background","borderRadius","Math","abs","Tick","_ref3","tick","count","format","fontSize","textAlign","marginLeft","sliderStyle","margin","railStyle","QuestionContainer","styled","div","_templateObject","QuestionDescription","_templateObject2","LeftDescription","_templateObject3","RightDescription","_templateObject4","Question","props","_this","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","state","values","onChange","setState","_this2","react_default","a","createElement","question","leftDescription1","rightDescription1","className","es","mode","step","rootStyle","numbers","onUpdate","index","getRailProps","handles","map","SliderComponents_Handle","key","right","tracks","_ref4","SliderComponents_Track","_ref5","ticks","SliderComponents_Tick","length","display","justifyContent","marginRight","React","Component","SpinningLoader","Dimmer","active","Loader","size","CONSTANTS","localStorage","getItem","process","Assessment","fetch","Constants","getUrl","method","credentials","then","result","catch","err","json","getAssessmentAnswers","uuid","getAssessmentStatistics","_callee","userId","regenerator_default","wrap","_context","prev","next","abrupt","sent","stop","submitSelfAssessment","headers","Content-Type","Authorization","getToken","body","JSON","stringify","submitInviteeAssessment","guid","pageNumber","isSubmitted","getAggregateAssessmentResults","_callee2","_context2","getAllOrgMemberResults","_callee3","orgId","_context3","RoleEnum","AssessmentContainer","Assessment_templateObject","QuestionsContainer","Assessment_templateObject2","updateValue","submitAssessment","asyncToGenerator","mark","isFinished","isLoading","isSubmitButtonDisabled","surveyUuid","scaledAnswers","params","objectSpread","assessmentApi","t0","currentPageNum","status","redirect","savedAssessment","_x","apply","arguments","changePage","newPageNum","currentQuestions","i","push","questions","isLoadedAnswers","getAllSavedAnswers","page_Number","answers","forEach","answer","questionId","getAllQuestions","_this3","getAssessmentQuestions","_this4","components_SpinningLoader","Redirect","to","currentPercentage","steps","react_step_progress_bar","accomplished","Icon","name","Divider","components_Question","Grid","Row","filledBackground","columns","Column","Button","onClick","disabled","color","Fragment","Logo","Link","src","logo","UserApi","loggedInUser","response","console","log","selfResetPassword","newPassword","content-type","sendResetPasswordEmail","email","updateUserDetails","firstName","lastName","generateInviteeLinks","invitees","invites","sendUserInvitations","submitLoginCredentials","loginCredentials","submitRegistrationDetails","_callee4","newUserDetails","_context4","confirmValidUuid","_callee5","_context5","OrgAdmin","signUpLink","getOrganizationDetails","addDepartmentToOrg","addTeamToOrg","deleteDepartment","deptId","deleteTeam","teamId","getAllDepartments","depts","addUserToDepartment","addUserToTeam","removeUserFromDepartment","removeUserFromTeam","updateOrgDetails","updatedOrgDetails","getAllUsersByDept","checkIfAdmin","isAdmin","resetPassword","UserContext","createContext","isLoggedIn","user","updateUser","UserProvider","_React$Component","_getPrototypeOf2","_len","args","Array","_key","newUser","updateLoginStatus","updateAdminStatus","inherits","createClass","_componentDidMount","_isAdmin","orgAdminApi","t1","pathname","toLowerCase","includes","Provider","children","UserConsumer","Consumer","Nav","logout","Cookies","remove","undefined","componentDidMount","clearToken","removeItem","handleItemClick","activeMenuItem","e","activeItem","roleId","Menu","stackable","pointing","secondary","Item","components_Logo","Consultant","SuperAdmin","as","organizationId","href","Footer","Segment","padded","ForgotPasswordModal","updateEmail","generateResetPasswordEmail","isSent","handleOpen","stopPropagation","preventDefault","isModalOpen","handleClose","modalBody","Modal","Content","Header","Form","Input","focus","placeholder","modalButtons","Actions","trigger","triggerElement","open","onClose","Login","password","error","submitLogin","responseJSON","setItem","token","context","renderForgotPasswordBtn","clickFn","User","es_Redirect","Container","GridRow","Field","type","ForgotPasswordModal_ForgotPasswordModal","contextType","Register","submitRegistration","newUserObj","passwordConfirmation","uuidInfo","_this$state","PasswordReset","submitPasswordReset","passwordConfirmed","isError","label","Message","header","Admin","message","orgType","msg","msgJson","adminArray","join","getOrganizations","addOrganization","AddOrg","DROPDOWN_ITEMS","text","updateName","updateOrg","createOrg","adminApi","updateOrglist","newOrgId","Select","options","primary","AdminHome","fetchOrgData","responseJson","organizations","orgs","renderAddOrgBtn","inverted","AddOrg_AddOrg","Table","basic","striped","Body","org","Cell","staff_Number","InviteInput","updateRelationship","selectedRelationship","updateInvitees","invitee","isValidEmail","onBlur","Group","grouped","widths","Radio","checked","InviteOthersModal","generateInviteLinks","allValidEmails","allValidNames","formattedInvitees","every","validateEmail","trim","filter","relationship","generatedLinks","isEmailsValid","isNamesValid","test","addInviteeField","deleteInviteeField","pop","updateinvitees","updatedName","updatedEmail","closeModal","InviteInput_InviteInput","horizontal","MeAtAGlance","analyticalEngagingHeader","analyticalEngagingScore","structuredConceptualHeader","structuredConceptualScore","agreeableAutonomousHeader","agreeableAutonomousScore","attached","fluid","Subheader","getTendenciesStrength","renderPageBody","analyticalEngagingSection","List","bulleted","structuredConceptualSection","agreeableAutonomousSection","getTendenciesStrengthSummary","score","MyAssessments","renderInviteOthersBtn","nextProps","Tab","Pane","float","InviteOthersModal_InviteOthersModal","renderCompletedAssessments","renderPendingAssessments","completedRows","statistics","CompletedAssessments","completedAssessment","Moment","createdAt","selectable","HeaderCell","pendingRows","PendingAssessments","pendingAssessments","ListItemView","listItem","fullName","backgroundImage","image","assessmentsLabel","isNullOrUndefined","completedAssessments","isOrganizationPage","Extra","Label","circular","title","Meta","companyName","Description","assignment","assignmentStat","itemIndex","assignmentIcon","PersonalityLineChart","viewBox","x","y","y1","fill","stroke","strokeWidth","x1","x2","y2","Popup","content","average","TICK_UNIT","cx","cy","r","toFixed","MyResults","ANALYTICAL_COLOR","ENGAGING_COLOR","STRUCTURED_COLOR","CONCEPTUAL_COLOR","AGREEABLE_COLOR","AUTONOMOUS_COLOR","Y1","Y2","switchResultStat","profileType","agreeableAutonomousStat","selfAgreeableAutonomousStat","analyticalEngagingStat","selfAnalyticalEngagingStat","structuredConceptualStat","selfStructuredConceptualStat","pageStat","bind","assertThisInitialized","numAssessments","descriptor","fileName","updateFileName","userProfile","divided","ListItemView_ListItemView","typology","tertiary","floated","PersonalityLineChart_PersonalityLineChart","currentFileName","RelationshipManuals","folderName","updateFileAndFolderName","isDiscoverTypologies","stretched","currentFolderName","PersonalPage","getAssessmentStat","onTabClick","nextTab","activeTab","Completed","Invites","getTendenciesAndTypology","profileTitle","centered","MyResults_MyResults","renderMenu","RelationshipManuals_RelationshipManuals","MyAssessments_MyAssessments","MeAtAGlance_MeAtAGlance","results","assessmentDto","selfAssessmentDto","OrgUserListView","copied","resetUserPassword","isDepartmentMember","departmentId","Departments","findIndex","dept","isTeamMember","Teams","searchTeam","updateDepartment","resultJSON","updateStaff","updateTeam","_this$props","departments","teams","hasDepartments","keys","hasTeams","popup","isAdminPage","on","lib_default","onCopy","Checkbox","team","isAdminView","Card","OrganizationalTendenciesChart","orgTendencies","Analytical","Engaging","Structured","Conceptual","Agreeable","Autonomous","countOrgTendencies","prevProps","filterStaff","upperRowData","labels","datasets","data","lowerRowData","segmentClassName","react_chartjs_2_es","legend","plugins","datalabels","scales","xAxes","barPercentage","gridLines","fontStyle","yAxes","beginAtZero","reverse","tendencies","tendenciesCount","staffResults","item","find","toString","round","CowokersAtAGlanceChart","staffAtAGlance","HarmonyArchitect","Theorist","DecisionMaker","Philosopher","Socializer","Driver","Sympathizer","Challenger","Chameleon","countStaffAtAGlance","option","font","formatter","atAGlance","OrganizationPage","staff","users","Number","parseInt","getOrganizationalDetails","orgDetails","info","getStaffAssessmentResults","sortByFilter","selectedFilter","getFilteredStaffs","searchQuery","handleRadioChange","previousSibling","getDropDown","searchCards","dropDownItems","Promise","all","newMenu","unshift","renderStaffCards","Dropdown","selection","paddingLeft","CoworkersAtAGlanceChart_CowokersAtAGlanceChart","OrganizationalTendenciesChart_OrganizationalTendenciesChart","icon","currentStaffs","filteredStaffs","toConsumableArray","staffCards","staffCard","assessmentStat","AEStat","AAStat","SCStat","OrgUserListView_OrgUserListView","completed","itemsPerRow","StaffListing","filteredStaff","generateStaffListing","member","OrganizationDetails","PROVINCE_DROPDOWN_ITEMS","toggleEditOrgDetails","editOrgDetails","cancelOrgDetails","address1","Address1","address2","Address2","city","City","province","Province","postalCode","Postal_Code","handleOrgDetailUpdate","_e$target","defineProperty","handleOrgProvinceUpdate","handleUpdateCallback","callback","orgDetailsObj","EmailTemplates","InviteOrgAdmin","onEmailUpdate","inviteSentSuccess","inviteSentFailure","requestPending","sendInvite","sendOrgAdminInvite","inviteOrgAdmin","success","ManageAdminsPopup","updateRemoveAdmins","event","adminsToBeRemoved","checkedAdminIds","adminId","adminIndex","searchAdmin","splice","removeAdmins","removeOrgAdminGroup","adminsCopy","admins","slice","checkedAdmin","updateAdmins","admin","OrganizationAdmins","manageAdminsPopup","ManageAdminsPopup_ManageAdminsPopup","renderInviteBtn","InviteOrgAdmin_InviteOrgAdmin","OrgAdminHome","updateAllUsers","dbQuery","teamName","departmentName","toggleDepartmentInput","displayDepartmentInput","teamCount","deptCount","toggleTeamInput","displayTeamInput","updateDepartmentName","updateTeamName","addDepartment","errorMessage","isMessageVisible","messageType","isSectionLoading","alert","finish","addTeam","deptsCopy","deletedIndex","searchDept","teamsCopy","renderTabsSection","paneProps","panes","menuItem","render","renderOrganizationOverview","renderDepartments","renderTeams","renderStaffOverview","menu","onTeamClick","isTeamDeptStatShow","activeName","category","updatedUser","searchUser","newStaffList","userIndex","deptIndex","newDept","teamIndex","newTeam","onDeptClick","filterTeamStaffs","filterDeptStaffs","newOrgDetail","generateOrgDetails","OrganizationDetails_OrganizationDetails","generateSignupLink","getUserSignupLink","url","handleMessageDismiss","StaffListing_StaffListing","floating","negative","onDismiss","GridColumn","OrganizationAdmins_OrganizationAdmins","minWidth","Home","Image","tendenciesImage","ThankyouPage","PrivacyPage","WelcomePage","About_Home","App","UserContext_UserProvider","Route","path","presentation_Nav","presentation_Assessment_Assessment","PasswordReset_PasswordReset","exact","WelcomePage_WelcomePage","Login_Login","Register_Register","ThankyouPage_ThankyouPage","PrivacyPage_PrivacyPage","ConsultantAdminHome_AdminHome","PersonalPage_PersonalPage","OrgAdminHome_OrgAdminHome","OrganizationPage_OrganizationPage","Footer_Footer","makeMainRoutes","Router","history","App_App","ReactDOM","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.bc9d21ee.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/tendencieslogo.52bc8326.svg\";","module.exports = __webpack_public_path__ + \"static/media/tendencies.7675dd89.png\";","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import createHistory from 'history/createBrowserHistory';\r\n\r\nexport default createHistory();","import * as React from 'react';\r\nimport {\r\n SliderItem,\r\n GetHandleProps,\r\n GetTrackProps\r\n} from 'react-compound-slider';\r\n\r\n// *******************************************************\r\n// HANDLE COMPONENT\r\n// *******************************************************\r\ninterface IHandleProps {\r\n domain: number[];\r\n handle: SliderItem;\r\n getHandleProps: GetHandleProps;\r\n}\r\n\r\nexport const Handle: React.SFC = ({\r\n domain: [min, max],\r\n handle: { id, value, percent },\r\n getHandleProps\r\n}) => (\r\n \r\n);\r\n\r\n// *******************************************************\r\n// TRACK COMPONENT\r\n// *******************************************************\r\ninterface ITrackProps {\r\n source: SliderItem;\r\n target: SliderItem;\r\n getTrackProps: GetTrackProps;\r\n}\r\n\r\nexport const Track: React.SFC = ({\r\n source,\r\n target,\r\n getTrackProps\r\n}) => (\r\n = 50 ? \"linear-gradient(to right, rgb(71,88,167, 0.7), rgb(97,162,67, 0.7))\" : \"linear-gradient(to left, rgb(71,88,167, 0.7), rgb(97,162,67, 0.7))\"}`,\r\n position: 'absolute',\r\n height: 14,\r\n zIndex: 1,\r\n borderRadius: 7,\r\n cursor: 'pointer',\r\n left: `${target.percent >= 50 ? 50 : target.percent}%`,\r\n width: `${Math.abs(target.percent - 50)}%`\r\n }}\r\n {...getTrackProps()}\r\n />\r\n);\r\n\r\n// *******************************************************\r\n// TICK COMPONENT\r\n// *******************************************************\r\ninterface ITickProps {\r\n key: String;\r\n tick: SliderItem;\r\n count: number;\r\n format: Function;\r\n}\r\n\r\nexport const Tick: React.SFC = ({ tick, count, format }) => (\r\n
\r\n \r\n \r\n {format(tick.value)}\r\n
\r\n \r\n);\r\n","import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Slider, Rail, Handles, Tracks, Ticks } from 'react-compound-slider';\r\nimport { Handle, Track, Tick } from './SliderComponents'; // example render components\r\nimport { IQuestionObject } from '../models/ObjectsModel';\r\nimport styled from 'styled-components';\r\n\r\ninterface IQuestionProps {\r\n index: number;\r\n onUpdate: (key: number, index: number) => void;\r\n question: IQuestionObject;\r\n value: number;\r\n}\r\n\r\nconst sliderStyle: React.CSSProperties = {\r\n margin: '0%',\r\n marginTop: '2%',\r\n position: 'relative',\r\n width: '100%',\r\n};\r\n\r\nconst railStyle: React.CSSProperties = {\r\n position: 'absolute',\r\n width: '100%',\r\n height: 14,\r\n borderRadius: 7,\r\n cursor: 'pointer',\r\n backgroundColor: '#D7D7D7',\r\n};\r\n\r\nconst domain: number[] = [1, 9];\r\n\r\nconst QuestionContainer = styled.div`\r\n display: flex;\r\n margin: 0px 20px;\r\n flex-direction: column;\r\n max-width: 1800px;\r\n padding: 20px;\r\n`;\r\n\r\nconst QuestionDescription = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n`;\r\n\r\nconst LeftDescription = styled.div`\r\n margin-right: 20px;\r\n`;\r\n\r\nconst RightDescription = styled.div`\r\n margin-left: 20px;\r\n text-align: right;\r\n`;\r\n\r\nclass Question extends React.Component {\r\n constructor(props: IQuestionProps) {\r\n super(props);\r\n }\r\n public state = {\r\n values: [5],\r\n };\r\n\r\n public onChange = (values: number[]) => {\r\n this.setState({ values });\r\n };\r\n\r\n public render() {\r\n const values = [20, 15, 10, 5, 0, 5, 10, 15, 20];\r\n const labels = [\r\n 'Always',\r\n '',\r\n '',\r\n '',\r\n 'Balanced',\r\n '',\r\n '',\r\n '',\r\n 'Always',\r\n ];\r\n\r\n return (\r\n \r\n \r\n \r\n

{this.props.question.leftDescription1}

\r\n
\r\n \r\n

{this.props.question.rightDescription1}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n this.props.onUpdate(numbers[0], this.props.index)\r\n }\r\n values={[this.props.value]}\r\n >\r\n \r\n {({ getRailProps }) => (\r\n
\r\n )}\r\n \r\n \r\n {({ handles, getHandleProps }) => (\r\n
\r\n {handles.map(handle => (\r\n \r\n ))}\r\n
\r\n )}\r\n
\r\n \r\n {({ tracks, getTrackProps }) => (\r\n
\r\n {tracks.map(({ id, source, target }) => (\r\n \r\n ))}\r\n
\r\n )}\r\n
\r\n {/* Tick values at the bottom of slider */}\r\n \r\n {({ ticks }) => (\r\n
\r\n {ticks.map((tick: any) => (\r\n ''}\r\n key={tick.id}\r\n tick={tick}\r\n count={ticks.length}\r\n />\r\n ))}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n {/* \r\n {values.map((value, index) => (\r\n {value}\r\n ))}\r\n
*/}\r\n \r\n {labels.map((value, index) => (\r\n {value}\r\n ))}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Question;\r\n","import * as React from 'react';\r\nimport { Dimmer, Loader } from 'semantic-ui-react';\r\n\r\nconst SpinningLoader = () => (\r\n \r\n Loading\r\n \r\n\r\n)\r\n\r\nexport default SpinningLoader;","\r\nexport default class CONSTANTS {\r\n static getToken(){\r\n return localStorage.getItem('JWT');\r\n }\r\n\r\n static getUrl() {\r\n if(!process.env.REACT_APP_API_URL){\r\n return \"http://localhost:5000\";\r\n }\r\n return process.env.REACT_APP_API_URL;\r\n }\r\n\r\n static getWebUrl() {\r\n if(process.env.NODE_ENV === 'development'){\r\n return \"http://localhost:5000\";\r\n }\r\n return process.env;\r\n }\r\n}\r\n","import Constants from '../Constants';\r\nimport { IUserObj } from '../models/ObjectsModel';\r\n\r\nexport default class Assessment {\r\n public static calculateAssessment() {\r\n return fetch(`${Constants.getUrl()}/assessment/calculateAssessment`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n }\r\n\r\n public static getAssessmentQuestions() {\r\n return fetch(`${Constants.getUrl()}/assessment`)\r\n .then(result => {\r\n return result.json();\r\n })\r\n .catch(err => {\r\n return err;\r\n });\r\n }\r\n public static getAssessmentAnswers = (uuid: string) => {\r\n return fetch(`${Constants.getUrl()}/assessment/${uuid}/savedanswer`)\r\n .then(result => {\r\n return result.json();\r\n })\r\n .catch(err => {\r\n return err;\r\n });\r\n }\r\n\r\n static getAssessmentStatistics = async (userId: number) => {\r\n return (await fetch(\r\n `${Constants.getUrl()}/assessment/${userId}/getAssessmentStatistics`,\r\n {\r\n method: 'GET',\r\n credentials: 'include',\r\n }\r\n )).json();\r\n };\r\n\r\n static submitSelfAssessment = (values: any): Promise => {\r\n return fetch(`${Constants.getUrl()}/assessment/submit`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n body: JSON.stringify(values),\r\n })\r\n .then(result => {\r\n return result;\r\n })\r\n .catch(err => {\r\n return err;\r\n });\r\n };\r\n\r\n static submitInviteeAssessment = (values: any, guid: string, pageNumber: number, isSubmitted: boolean) => {\r\n return fetch(`${Constants.getUrl()}/assessment/${guid}/submit`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n values,\r\n pageNumber,\r\n isSubmitted,\r\n }),\r\n })\r\n .then(result => {\r\n return result;\r\n })\r\n .catch(err => {\r\n return err;\r\n });\r\n };\r\n\r\n // Individual assessment results\r\n static getAggregateAssessmentResults = async (userId: number) => {\r\n return (await fetch(\r\n `${Constants.getUrl()}/assessment/${userId}/get_aggregate`,\r\n {\r\n method: 'GET',\r\n credentials: 'include',\r\n }\r\n )).json();\r\n };\r\n\r\n static getAllOrgMemberResults = async (orgId: number) => {\r\n return (await fetch(\r\n `${Constants.getUrl()}/${orgId}/all_individual_results`,\r\n {\r\n method: 'GET',\r\n credentials: 'include',\r\n }\r\n )).json();\r\n };\r\n}\r\n","import React from 'react';\r\nimport Question from '../components/Question';\r\nimport SpinningLoader from '../components/SpinningLoader';\r\nimport { ILocationObject, IQuestionObject } from '../models/ObjectsModel';\r\nimport { Redirect } from 'react-router-dom';\r\nimport styled from 'styled-components';\r\nimport Constants from '../Constants';\r\nimport assessmentApi from '../api/Assessment';\r\nimport { Button, Grid, Icon, Divider } from 'semantic-ui-react';\r\nimport \"react-step-progress-bar/styles.css\";\r\nimport { ProgressBar, Step } from \"react-step-progress-bar\";\r\n\r\ninterface IAssessmentState {\r\n currentQuestions: IQuestionObject[];\r\n questions: IQuestionObject[];\r\n values: {\r\n [questionId: string]: number;\r\n };\r\n savedAssessment: boolean;\r\n redirect: boolean;\r\n isSubmitButtonDisabled: boolean;\r\n isLoading: boolean;\r\n isLoadedAnswers: boolean;\r\n currentPageNum: number;\r\n}\r\n\r\ninterface IAssessmentProps {\r\n history: any;\r\n location: ILocationObject;\r\n match: any;\r\n}\r\n\r\nconst AssessmentContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n max-width: 800px;\r\n margin: 10px auto;\r\n`;\r\n\r\nconst QuestionsContainer = styled.div`\r\n display: flex;\r\n flex: 1;\r\n width: 100%;\r\n justify-content: center;\r\n margin: auto;\r\n flex-direction: column;\r\n`;\r\n\r\nexport default class Assessment extends React.Component<\r\n IAssessmentProps,\r\n IAssessmentState\r\n > {\r\n constructor(props: IAssessmentProps) {\r\n super(props);\r\n this.state = {\r\n currentPageNum: 1,\r\n currentQuestions: [],\r\n questions: [],\r\n values: {},\r\n savedAssessment: false,\r\n redirect: false,\r\n isSubmitButtonDisabled: false,\r\n isLoading: true,\r\n isLoadedAnswers: false,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n await this.getAllSavedAnswers();\r\n }\r\n\r\n getAllSavedAnswers() {\r\n const { surveyUuid } = this.props.match.params;\r\n if (surveyUuid) {\r\n assessmentApi.getAssessmentAnswers(surveyUuid)\r\n .then(result => {\r\n if (result.page_Number) {\r\n this.setState({ currentPageNum: result.page_Number });\r\n }\r\n if (result.answers.length !== 0 && result.answers) {\r\n const values: { [questionId: string]: number } = {};\r\n result.answers.forEach((answer: any) => (values[answer.questionId] = answer.value / 5 + 5));\r\n this.setState({\r\n isLoadedAnswers: true,\r\n values,\r\n })\r\n }\r\n this.getAllQuestions(result.page_Number ? result.page_Number : 1);\r\n })\r\n }else{\r\n this.getAllQuestions(1);\r\n }\r\n }\r\n\r\n getAllQuestions(page_Number: number) {\r\n assessmentApi.getAssessmentQuestions()\r\n .then(questions => {\r\n if (!this.state.isLoadedAnswers) {\r\n const values: { [questionId: string]: number } = {};\r\n questions.forEach((question: any) => (values[question.id] = 5));\r\n\r\n this.setState({\r\n values\r\n });\r\n }\r\n\r\n const currentQuestions: any[] = [];\r\n let i: number = 4;\r\n\r\n for (i = 4; i > 0; i--) {\r\n currentQuestions.push(questions[4 * page_Number - i]);\r\n }\r\n\r\n this.setState(\r\n {\r\n currentQuestions,\r\n questions,\r\n isLoading: false,\r\n }\r\n );\r\n });\r\n }\r\n\r\n\r\n updateValue = (value: number, index: number): void => {\r\n const values = this.state.values;\r\n values[index] = value;\r\n this.setState({\r\n values,\r\n });\r\n };\r\n\r\n submitAssessment = async (isFinished: boolean) => {\r\n this.setState(\r\n {\r\n isLoading: true,\r\n isSubmitButtonDisabled: true,\r\n },\r\n async () => {\r\n const { surveyUuid } = this.props.match.params;\r\n\r\n const scaledAnswers = { ...this.state.values};\r\n\r\n for (let key in scaledAnswers) {\r\n scaledAnswers[key] =\r\n scaledAnswers[key] == 5\r\n ? 0\r\n : scaledAnswers[key] > 5\r\n ? (scaledAnswers[key] - 5) * 5\r\n : (5 - scaledAnswers[key]) * -5;\r\n }\r\n const isSelfAssessment = !surveyUuid;\r\n const result = isSelfAssessment\r\n ? await assessmentApi.submitSelfAssessment(scaledAnswers)\r\n : await assessmentApi.submitInviteeAssessment(\r\n scaledAnswers,\r\n surveyUuid,\r\n this.state.currentPageNum,\r\n isFinished\r\n );\r\n // const resultJSON = await result.json();\r\n // if success\r\n // TODO: Add alternate redirect route if invitee completed survey vs self assessment\r\n if (result.status === 200) {\r\n if(isFinished){\r\n this.setState({\r\n redirect: true,\r\n savedAssessment: true,\r\n isLoading: false,\r\n });\r\n }else{\r\n this.setState({\r\n isSubmitButtonDisabled: false,\r\n isLoading: false\r\n })\r\n }\r\n }\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n // if (!userAuthenticated) {\r\n // this.setState({ redirect: true });\r\n // }\r\n if (this.state.isLoading) {\r\n return ;\r\n }\r\n\r\n if (this.state.redirect) {\r\n if (this.state.savedAssessment) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const { surveyUuid } = this.props.match.params;\r\n\r\n const currentPercentage = 100 * (this.state.currentPageNum - 1) / 8;\r\n let steps: JSX.Element[] = [];\r\n let i: number = 0;\r\n\r\n for (i = 0; i < 9; i++) {\r\n steps.push(\r\n \r\n {({ accomplished, index }) => (\r\n \r\n {index === 8 ? : index + 1}\r\n \r\n )}\r\n )\r\n }\r\n /* Will use this part to replace <> when we want to have save progress\r\n \r\n */\r\n\r\n return (\r\n \r\n

\r\n Please complete the following 36 questions.\r\n

\r\n

\r\n When answering, consider what the{' '}\r\n \r\n best fit\r\n {' '}\r\n between the two points is for the person you are evaluating.\r\n

\r\n

\r\n Click on the bar to make your selection, accounting for{' '}\r\n \r\n how strong\r\n {' '}\r\n that tendency is.\r\n

\r\n

\r\n If the person is balanced, leave the marker in the middle.\r\n

\r\n \r\n {this.state.currentQuestions.length > 0 ? (\r\n \r\n {this.state.currentQuestions &&\r\n this.state.currentQuestions.map((question, index) => (\r\n \r\n ))}\r\n \r\n ) : (\r\n
Loading questions...
\r\n )}\r\n\r\n \r\n \r\n \r\n {steps}\r\n \r\n \r\n \r\n \r\n this.changePage(-1)}\r\n disabled={this.state.currentPageNum === 1 ? true : false}\r\n color='green'\r\n >Previous Page\r\n \r\n \r\n {(this.state.currentPageNum === 9 || !surveyUuid)\r\n ? this.submitAssessment(true)}\r\n disabled={this.state.isSubmitButtonDisabled ? true : false}\r\n color='blue'\r\n >Submit Assessment\r\n : <>}\r\n \r\n \r\n \r\n this.changePage(1)}\r\n disabled={this.state.currentPageNum === 9 ? true : false}\r\n color='green'\r\n >Next Page\r\n \r\n \r\n \r\n\r\n
\r\n );\r\n }\r\n private changePage = (newPageNum: number) => {\r\n const currentPageNum = this.state.currentPageNum + newPageNum;\r\n const currentQuestions: any[] = [];\r\n let i: number = 4;\r\n\r\n for (i = 4; i > 0; i--) {\r\n currentQuestions.push(this.state.questions[4 * currentPageNum - i]);\r\n }\r\n\r\n this.setState({\r\n currentQuestions,\r\n currentPageNum\r\n })\r\n }\r\n\r\n}\r\n","export enum RoleEnum {\r\n Default = 0,\r\n SuperAdmin = 1,\r\n Consultant = 2,\r\n OrgAdmin = 3,\r\n User = 4,\r\n}\r\n","import React from 'react';\r\nimport logo from '../assets/images/tendencieslogo.svg';\r\nimport styled from 'styled-components';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst Logo = () => (\r\n
\r\n \r\n \r\n \r\n
\r\n);\r\n\r\nexport default Logo;\r\n","import Constants from '../Constants';\r\nimport { IInviteeObj } from '../components/InviteOthersModal';\r\nimport { ILoginCredentialObj } from '../presentation/Login/Login';\r\nimport { INewUserObj } from '../presentation/Register/Register';\r\n\r\nexport default class UserApi {\r\n static loggedInUser = () => {\r\n return fetch(`${Constants.getUrl()}/user_check`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n }\r\n }).then(response =>\r\n response\r\n .json()\r\n .then(loggedInUser => {\r\n return loggedInUser;\r\n })\r\n\r\n .catch(err => console.log(err))\r\n );\r\n };\r\n\r\n static selfResetPassword = (guid: string, newPassword: string) => {\r\n return fetch(`${Constants.getUrl()}/users/resetPassword/${guid}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n body: JSON.stringify({ newPassword})\r\n },\r\n ).then(response => response.json());\r\n };\r\n\r\n static sendResetPasswordEmail = async (email: string) => {\r\n return (await fetch(`${Constants.getUrl()}/users/sendResetPassword`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n body: JSON.stringify({ email }),\r\n })).json();\r\n };\r\n\r\n static updateUserDetails = ( firstName: string, lastName: string, userId: number) => {\r\n return fetch(`${Constants.getUrl()}/users/update`,{\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n firstName,\r\n lastName,\r\n userId\r\n }),\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n }\r\n\r\n static generateInviteeLinks = (invitees: IInviteeObj[], userId: number) => {\r\n return fetch(`${Constants.getUrl()}/${userId}/generate_invite_links`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n body: JSON.stringify(invitees),\r\n }).then(response => response.json().then(invites => invites));\r\n };\r\n\r\n static sendUserInvitations = async (\r\n invitees: IInviteeObj[],\r\n userId: number\r\n ) => {\r\n return (await fetch(`${Constants.getUrl()}/${userId}/send_invite_links`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n body: JSON.stringify(invitees),\r\n })).json();\r\n };\r\n\r\n static submitLoginCredentials = async (\r\n loginCredentials: ILoginCredentialObj\r\n ) => {\r\n return await fetch(`${Constants.getUrl()}/local-auth`, {\r\n method: 'POST',\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n credentials: 'include',\r\n body: JSON.stringify(loginCredentials),\r\n });\r\n };\r\n\r\n static submitRegistrationDetails = async (newUserDetails: INewUserObj) => {\r\n return (await fetch(`${Constants.getUrl()}/users/register/local`, {\r\n method: 'POST',\r\n headers: {\r\n 'content-type': 'application/json',\r\n },\r\n credentials: 'include',\r\n body: JSON.stringify(newUserDetails),\r\n })).json();\r\n };\r\n\r\n static confirmValidUuid = async (uuid: string) => {\r\n return (await fetch(`${Constants.getUrl()}/users/confirmUuid/${uuid}`, {\r\n method: 'GET',\r\n })).json();\r\n };\r\n}\r\n","import Constants from '../Constants';\r\nimport { IOrgDetailsObj } from '../models/ObjectsModel';\r\n\r\nexport default class OrgAdmin {\r\n // TODO: Will have to refactor because getUsersByDept takes care of a lot of the querying already\r\n static getOrganizationDetails = (orgId: number) => {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n //TODO: Deal with error situation so user knows they can't add duplicates\r\n static addDepartmentToOrg = (orgId: number, name: string) => {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin/addDept?name=${name}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(response => {\r\n return response;\r\n })\r\n .catch(err => {\r\n return err;\r\n });\r\n };\r\n static addTeamToOrg = (orgId: number, name: string) => {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin/addTeam?name=${name}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(response => response)\r\n .catch(err => err);\r\n };\r\n\r\n static deleteDepartment = (orgId: number, deptId: number) => {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin/delete_dept/${deptId}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(response => response)\r\n .catch(err => err);\r\n };\r\n\r\n static deleteTeam = (orgId: number, teamId: number) => {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin/delete_team/${teamId}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(response => response)\r\n .catch(err => err);\r\n };\r\n\r\n static getAllDepartments = (orgId: number) => {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin/getDepts`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(depts => depts)\r\n .catch(err => err);\r\n };\r\n\r\n static addUserToDepartment = (\r\n userId: number,\r\n deptId: number,\r\n orgId: number\r\n ) => {\r\n return fetch(\r\n `${Constants.getUrl()}/${orgId}/admin/${deptId}/add/${userId}`,\r\n {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n }\r\n )\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static addUserToTeam = (userId: number, teamId: number, orgId: number) => {\r\n return fetch(\r\n `${Constants.getUrl()}/${orgId}/admin/${teamId}/add_to_team/${userId}`,\r\n {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n }\r\n )\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static removeUserFromDepartment = (\r\n userId: number,\r\n deptId: number,\r\n orgId: number\r\n ) => {\r\n return fetch(\r\n `${Constants.getUrl()}/${orgId}/admin/${deptId}/remove/${userId}`,\r\n {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n }\r\n )\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static removeUserFromTeam = (\r\n userId: number,\r\n teamId: number,\r\n orgId: number\r\n ) => {\r\n return fetch(\r\n `${Constants.getUrl()}/${orgId}/admin/${teamId}/remove_from_team/${userId}`,\r\n {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n }\r\n )\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static updateOrgDetails = (\r\n orgId: number,\r\n updatedOrgDetails: IOrgDetailsObj\r\n ) => {\r\n fetch(`${Constants.getUrl()}/${orgId}/admin/update`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n body: JSON.stringify(updatedOrgDetails),\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static getAllUsersByDept = (orgId: number) => {\r\n return fetch(`${Constants.getUrl()}/${orgId}/users`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static getUserSignupLink(orgId: number) {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin/generate_signup_link`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(response =>\r\n response.json().then(signUpLink => {\r\n return signUpLink;\r\n })\r\n )\r\n .catch(err => console.log(err));\r\n }\r\n\r\n static checkIfAdmin = () => {\r\n return fetch(`${Constants.getUrl()}/admin_check`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n }).then(response =>\r\n response\r\n .json()\r\n .then(isAdmin => {\r\n return isAdmin;\r\n })\r\n\r\n .catch(err => console.log(err))\r\n );\r\n };\r\n\r\n static resetPassword = async (userId: number) => {\r\n return (await fetch(`${Constants.getUrl()}/${userId}/resetPassword`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })).json();\r\n };\r\n}\r\n","import React, { createContext } from 'react';\r\nimport { IUserObj } from '../models/ObjectsModel';\r\nimport UserApi from '../api/User';\r\nimport orgAdminApi from '../api/OrgAdmin';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\ninterface IUserContext {\r\n isAdmin: boolean;\r\n isLoggedIn: boolean;\r\n user: null | IUserObj;\r\n updateUser(user: IUserObj): void;\r\n}\r\n\r\nexport const UserContext = createContext({\r\n isAdmin: false,\r\n isLoggedIn: false,\r\n user: null,\r\n updateUser: () => {},\r\n});\r\n\r\nexport class UserProvider extends React.Component {\r\n updateUser = (newUser: IUserObj) => {\r\n this.setState({\r\n user: newUser,\r\n });\r\n };\r\n\r\n updateLoginStatus = (isLoggedIn: boolean) => {\r\n this.setState({\r\n isLoggedIn,\r\n });\r\n };\r\n updateAdminStatus = (isAdmin: boolean) => {\r\n this.setState({\r\n isAdmin,\r\n });\r\n };\r\n\r\n state = {\r\n user: null,\r\n updateUser: this.updateUser,\r\n isLoggedIn: true,\r\n updateLoginStatus: this.updateLoginStatus,\r\n isAdmin: false,\r\n updateAdminStatus: this.updateAdminStatus,\r\n };\r\n\r\n async componentDidMount() {\r\n if(!this.state.user){\r\n try {\r\n const { loggedInUser } = await UserApi.loggedInUser();\r\n this.setState({ user: loggedInUser });\r\n } catch (err) {\r\n this.setState({\r\n user: null,\r\n });\r\n }\r\n\r\n try {\r\n const { isAdmin } = await orgAdminApi.checkIfAdmin();\r\n this.setState({ isAdmin });\r\n } catch (err) {\r\n this.setState({\r\n isAdmin: false,\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n if(window.location.pathname != '/login'\r\n && window.location.pathname != '/'\r\n && window.location.pathname != '/about'\r\n && window.location.pathname != '/thankyou'\r\n && !window.location.pathname.toLowerCase().includes(\"password_reset\")\r\n && !window.location.pathname.toLowerCase().includes(\"register\")\r\n && !window.location.pathname.toLowerCase().includes(\"invitee_survey\")\r\n && !this.state.user){\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport const UserConsumer = UserContext.Consumer;\r\n","import * as React from 'react';\r\nimport Logo from '../components/Logo';\r\nimport Cookies from 'js-cookie';\r\nimport { Menu } from 'semantic-ui-react';\r\nimport CONSTANTS from '../Constants';\r\nimport { Link } from 'react-router-dom';\r\nimport { RoleEnum } from '../models/RoleEnums';\r\nimport { IUserObj } from '../models/ObjectsModel';\r\nimport { UserConsumer } from '../context/UserContext';\r\n\r\ninterface INavProps { }\r\n\r\ninterface INavState {\r\n user: undefined | IUserObj;\r\n roleId: number | undefined;\r\n activeItem: string;\r\n}\r\n\r\nclass Nav extends React.Component {\r\n constructor(props: INavProps) {\r\n super(props);\r\n this.state = {\r\n user: undefined,\r\n activeItem: '',\r\n roleId: undefined,\r\n };\r\n }\r\n\r\n logout = () => {\r\n Cookies.remove('connect.sid');\r\n this.setState({\r\n user: undefined,\r\n });\r\n };\r\n\r\n componentDidMount = async () => { };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {({ user }) =>\r\n !user ? (\r\n // User not logged in\r\n \r\n \r\n About Tendencies\r\n \r\n \r\n Login\r\n \r\n \r\n ) : (\r\n // User logged in\r\n \r\n \r\n

{`Logged in as ${user.email}`}

\r\n
\r\n {(user.roleId === RoleEnum.Consultant ||\r\n user.roleId === RoleEnum.SuperAdmin) && (\r\n \r\n Administration\r\n \r\n )}\r\n {user.roleId === RoleEnum.OrgAdmin && (\r\n \r\n Organization Admin\r\n \r\n )}\r\n \r\n My Organization\r\n \r\n \r\n My Profile\r\n \r\n {/* My Organization\r\n My Relationships */}\r\n \r\n About Tendencies\r\n \r\n \r\n Log out\r\n \r\n
\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n\r\n clearToken = () => {\r\n localStorage.removeItem('JWT');\r\n }\r\n\r\n handleItemClick = (activeMenuItem: string) => (\r\n e: React.FormEvent\r\n ) => this.setState({ activeItem: activeMenuItem });\r\n}\r\n\r\nexport default Nav;\r\n","import * as React from 'react';\r\nimport {\r\n Segment,\r\n Grid\r\n} from 'semantic-ui-react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default class Footer extends React.Component<{}, {}>{\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n © 2019 Tendencies\r\n \r\n \r\n \r\n \r\n Privacy Information\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n}","import * as React from 'react';\r\nimport { Modal, Button, Form, Segment, Icon, Header } from 'semantic-ui-react';\r\nimport UserApi from '../api/User';\r\nimport SpinningLoader from '../components/SpinningLoader'; \r\n\r\nexport interface IForgotPasswordModalProps {\r\n triggerElement: (clickFn: (e: React.SyntheticEvent) => void) => JSX.Element\r\n}\r\n\r\nexport interface IForgotPasswordModalState {\r\n email: string;\r\n isModalOpen: boolean;\r\n isSent: boolean;\r\n isLoading: boolean;\r\n}\r\n\r\nexport default class ForgotPasswordModal extends React.Component{\r\n constructor(props: IForgotPasswordModalProps) {\r\n super(props);\r\n this.state = {\r\n email: '',\r\n isModalOpen: false,\r\n isSent: false,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n updateEmail = (value: string) => {\r\n this.setState({\r\n email: value\r\n });\r\n };\r\n\r\n public render() {\r\n const modalBody = this.state.isSent ?\r\n \r\n \r\n \r\n
OK! We'll send you an email and help you reset your password!
\r\n
\r\n
:\r\n \r\n

Enter the email you used for registration, and we'll send you account recovery information.

\r\n this.updateEmail(e.target.value)} />\r\n
;\r\n const modalButtons = this.state.isSent ?\r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n if(this.state.isLoading){\r\n return \r\n }else{\r\n return (\r\n \r\n \r\n Forgot your password?\r\n \r\n {modalBody}\r\n {modalButtons}\r\n \r\n );\r\n }\r\n }\r\n\r\n generateResetPasswordEmail = async () => {\r\n this.setState({isLoading: true})\r\n const response: any = await UserApi.sendResetPasswordEmail(this.state.email);\r\n this.setState({ \r\n isSent: true,\r\n isLoading: false\r\n });\r\n }\r\n\r\n private handleOpen = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this.setState({ isModalOpen: true });\r\n };\r\n\r\n private handleClose = () => {\r\n this.setState({\r\n isModalOpen: false,\r\n isSent: false,\r\n email: ''\r\n })\r\n }\r\n}","import * as React from 'react';\r\nimport CONSTANTS from '../../Constants';\r\nimport { Container, Input, GridRow, Button, Form } from 'semantic-ui-react';\r\nimport UserApi from '../../api/User';\r\nimport { Redirect } from 'react-router';\r\nimport { RoleEnum } from '../../models/RoleEnums';\r\nimport { UserContext } from '../../context/UserContext';\r\nimport ForgotPasswordModal from '../../components/ForgotPasswordModal';\r\n\r\nexport interface ILoginState {\r\n email: string;\r\n password: string;\r\n error: string | undefined;\r\n redirect: boolean;\r\n roleId: number | undefined;\r\n}\r\n\r\nexport interface ILoginCredentialObj {\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport default class Login extends React.Component<{}, ILoginState> {\r\n public readonly state: ILoginState = {\r\n email: '',\r\n password: '',\r\n error: undefined,\r\n redirect: false,\r\n roleId: undefined\r\n };\r\n\r\n submitLogin = async (email: string, password: string) => {\r\n this.setState({\r\n error: ''\r\n });\r\n const response = await UserApi.submitLoginCredentials({ email, password });\r\n if (response.status === 200) {\r\n const responseJSON = await response.json();\r\n\r\n localStorage.setItem('JWT', responseJSON.token);\r\n\r\n // Updates the context 'user' state to newly signed in user\r\n this.context.updateUser(responseJSON.user);\r\n\r\n // Redirects the appropriate URL based on the roleID (done in render method)\r\n this.setState({\r\n redirect: true\r\n });\r\n }\r\n if (response.status === 401) {\r\n this.setState({\r\n error: 'That is not a valid email or password',\r\n });\r\n }\r\n };\r\n\r\n public render() {\r\n if (this.state.redirect) {\r\n if (this.context.user.roleId === RoleEnum.User) {\r\n return ;\r\n } else if(this.context.user.roleId === RoleEnum.OrgAdmin) {\r\n return ;\r\n }\r\n else {\r\n return ;\r\n }\r\n } else {\r\n return (\r\n \r\n \r\n
\r\n \r\n {this.state.error &&

{this.state.error}

}\r\n \r\n this.setState({ email: e.target.value.toLowerCase() })}\r\n />\r\n
\r\n \r\n \r\n this.setState({ password: e.target.value })}\r\n />\r\n \r\n \r\n \r\n this.submitLogin(this.state.email, this.state.password)\r\n }\r\n >\r\n Login\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n\r\n private renderForgotPasswordBtn = (clickFn: (e: React.SyntheticEvent) => void) => {\r\n return(\r\n \r\n );\r\n }\r\n}\r\n\r\n// This is needed to indicate the context used by the Login component\r\nLogin.contextType = UserContext;\r\n","import * as React from 'react';\r\nimport { Container, GridRow, Input, Button, Form } from 'semantic-ui-react';\r\nimport UserApi from '../../api/User';\r\nimport { Redirect } from 'react-router';\r\nimport { UserContext } from '../../context/UserContext';\r\n\r\nexport interface IRegisterProps {\r\n match: any;\r\n}\r\n\r\nexport interface IRegisterState {\r\n error: undefined | string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n password: string;\r\n passwordConfirmation: string;\r\n organizationId: number | undefined;\r\n roleId: number | undefined;\r\n redirect: boolean;\r\n}\r\n\r\nexport interface INewUserObj {\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n password: string;\r\n passwordConfirmation: string;\r\n organizationId: number | undefined;\r\n roleId: number | undefined;\r\n uuid: string;\r\n}\r\n\r\nexport default class Register extends React.Component<\r\n IRegisterProps,\r\n IRegisterState\r\n > {\r\n constructor(props: IRegisterProps) {\r\n super(props);\r\n\r\n this.state = {\r\n error: undefined,\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n password: '',\r\n passwordConfirmation: '',\r\n organizationId: undefined,\r\n roleId: undefined,\r\n redirect: false,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n const uuidInfo = await UserApi.confirmValidUuid(\r\n this.props.match.params.uuid\r\n );\r\n\r\n if (uuidInfo.err) {\r\n this.setState({\r\n error: uuidInfo.err,\r\n });\r\n }\r\n\r\n this.setState({\r\n organizationId: uuidInfo.orgId,\r\n roleId: uuidInfo.roleId,\r\n });\r\n }\r\n\r\n submitRegistration = async (newUserObj: INewUserObj) => {\r\n if (newUserObj.organizationId === undefined || !newUserObj.roleId) {\r\n this.setState({\r\n error: 'The link you are using to register does not appear to be valid',\r\n });\r\n } else if (newUserObj.password !== newUserObj.passwordConfirmation) {\r\n this.setState({\r\n error: 'The passwords you have entered do not match',\r\n });\r\n } else {\r\n const response = await UserApi.submitRegistrationDetails(newUserObj);\r\n\r\n localStorage.setItem('JWT', response.token);\r\n\r\n // Updates the context 'user' state to newly signed in user\r\n this.context.updateUser(response.user);\r\n\r\n if (response.err) {\r\n this.setState({\r\n error: response.err,\r\n });\r\n }\r\n if (response.user) {\r\n this.context.updateUser(response.user);\r\n this.setState({\r\n error: '',\r\n redirect: true,\r\n });\r\n }\r\n }\r\n };\r\n\r\n public render() {\r\n const {\r\n firstName,\r\n lastName,\r\n email,\r\n password,\r\n passwordConfirmation,\r\n organizationId,\r\n roleId,\r\n redirect,\r\n } = this.state;\r\n\r\n const { uuid } = this.props.match.params;\r\n\r\n if (redirect) return ;\r\n return (\r\n \r\n \r\n {this.state.error &&

{this.state.error}

}\r\n
\r\n \r\n \r\n this.setState({ firstName: e.target.value })}\r\n />\r\n \r\n \r\n \r\n this.setState({ lastName: e.target.value })}\r\n />\r\n \r\n \r\n \r\n this.setState({ email: e.target.value.toLowerCase() })}\r\n />\r\n \r\n \r\n \r\n this.setState({ password: e.target.value })}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState({ passwordConfirmation: e.target.value })\r\n }\r\n />\r\n \r\n \r\n \r\n this.submitRegistration({\r\n firstName,\r\n lastName,\r\n email,\r\n password,\r\n passwordConfirmation,\r\n organizationId,\r\n roleId,\r\n uuid,\r\n })\r\n }\r\n >\r\n Register\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nRegister.contextType = UserContext;\r\n","import * as React from 'react';\r\nimport { Form, Button, Container, GridRow, Message} from 'semantic-ui-react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport UserApi from '../../api/User';\r\n\r\ninterface IPasswordResetState {\r\n password: string;\r\n passwordConfirmed: string;\r\n redirect: boolean;\r\n isError: boolean;\r\n error: string;\r\n}\r\n\r\ninterface IPasswordResetProps {\r\n match: any;\r\n}\r\n\r\nexport default class PasswordReset extends React.Component {\r\n constructor(props: IPasswordResetProps) {\r\n super(props);\r\n this.state = {\r\n password: '',\r\n passwordConfirmed: '',\r\n redirect: false,\r\n isError: false,\r\n error: ''\r\n };\r\n }\r\n\r\n public render() {\r\n\r\n if (this.state.redirect) return ;\r\n \r\n return (\r\n \r\n \r\n
\r\n this.setState({ password: e.target.value, isError: false})}/>\r\n this.setState({ passwordConfirmed: e.target.value, isError: false})}/>\r\n\r\n \r\n\r\n {this.state.isError &&\r\n \r\n }\r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n private submitPasswordReset = () => {\r\n const { uuid } = this.props.match.params;\r\n \r\n if(this.state.password !== this.state.passwordConfirmed){\r\n this.setState({\r\n isError : true,\r\n error: 'New password is not matched your confirmed password!'\r\n });\r\n }else{\r\n UserApi.selfResetPassword( uuid, this.state.password).then(\r\n response => {\r\n if(response.err){\r\n this.setState({\r\n isError: true,\r\n error: response.err,\r\n })\r\n }else{\r\n this.setState({\r\n isError: false,\r\n redirect: true,\r\n error: ''\r\n })\r\n }\r\n }\r\n )\r\n }\r\n }\r\n}","import Constants from '../Constants';\r\nimport { IUserObj } from '../models/ObjectsModel';\r\n\r\nexport default class Admin {\r\n \r\n static getOrganizations = () => {\r\n return fetch(`${Constants.getUrl()}/admin/orgs`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n }\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static addOrganization = (name: any, orgType: any) => {\r\n return fetch(`${Constants.getUrl()}/admin/create-org`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n body: JSON.stringify({ name, orgType }),\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static getOrganizationDetails = (id: number) => {\r\n return fetch(`${Constants.getUrl()}/admin/${id}`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n }\r\n })\r\n .then(result => result)\r\n .catch(err => err);\r\n };\r\n\r\n static sendOrgAdminInvite(email: string, message: string, orgId: number) {\r\n return fetch(`${Constants.getUrl()}/admin/invite`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n body: JSON.stringify({ email, message, orgId }),\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n });\r\n }\r\n\r\n static updateOrgDetails(orgId: number, name: string, orgType: string) {\r\n return fetch(`${Constants.getUrl()}/admin/${orgId}/update`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n body: JSON.stringify({ name, orgType }),\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n });\r\n }\r\n\r\n static deleteOrg(orgId: number) {\r\n return fetch(`${Constants.getUrl()}/admin/${orgId}/delete`, {\r\n method: 'DELETE',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(msg =>\r\n msg.json().then(msgJson => {\r\n return msgJson;\r\n })\r\n )\r\n .catch(err => console.log(err));\r\n }\r\n\r\n static removeOrgAdmin(orgId: number, userId: number) {\r\n return fetch(`${Constants.getUrl()}/admin/${orgId}/removeAdmin/${userId}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(msg =>\r\n msg.json().then(msgJson => {\r\n return msgJson;\r\n })\r\n )\r\n .catch(err => console.log(err));\r\n }\r\n\r\n static removeOrgAdminGroup(orgId: number, adminArray: number[]) {\r\n return fetch(\r\n `${Constants.getUrl()}/admin/${orgId}/removeAdminGroup?admins=${adminArray.join(\r\n ','\r\n )}`,\r\n {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n }\r\n )\r\n .then(msg =>\r\n msg.json().then(msgJson => {\r\n return msgJson;\r\n })\r\n )\r\n .catch(err => console.log(err));\r\n }\r\n\r\n static removeUser(userId: number) {\r\n return fetch(`${Constants.getUrl()}/admin/remove/${userId}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(msg =>\r\n msg.json().then(msgJson => {\r\n return msgJson;\r\n })\r\n )\r\n .catch(err => console.log(err));\r\n }\r\n\r\n static getUserSignupLink(orgId: number) {\r\n return fetch(`${Constants.getUrl()}/${orgId}/admin/generate_signup_link`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization' : `jwt ${Constants.getToken()}`\r\n },\r\n })\r\n .then(response =>\r\n response.json().then(signUpLink => {\r\n return signUpLink;\r\n })\r\n )\r\n .catch(err => console.log(err));\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport adminApi from '../api/Admin';\r\nimport { Modal, Button, Form, DropdownItemProps } from 'semantic-ui-react';\r\n\r\nexport interface IAddOrgProps {\r\n triggerElement: (clickFn: (e: React.SyntheticEvent) => void) => JSX.Element\r\n updateOrglist: () => any \r\n}\r\n\r\nexport interface IAddOrgState {\r\n name: string;\r\n orgType: string;\r\n newOrgId: number | null;\r\n isModalOpen: boolean;\r\n}\r\n\r\nexport default class AddOrg extends React.Component<\r\n IAddOrgProps,\r\n IAddOrgState\r\n > {\r\n private readonly DROPDOWN_ITEMS: DropdownItemProps[] = [\r\n { key: 0, text: 'Corporate-Private', value: 'Corporate-Private' },\r\n { key: 1, text: 'Corporate-Public', value: 'Corporate-Public' },\r\n { key: 2, text: 'Government', value: 'Government' },\r\n { key: 3, text: 'Non-Profit Human Services', value: 'Non-Profit Human Services' },\r\n { key: 4, text: 'Non-Profit Other', value: 'Non-Profit Other' },\r\n { key: 5, text: 'Student', value: 'Student' },\r\n ];\r\n constructor(props: IAddOrgProps) {\r\n super(props);\r\n this.state = {\r\n name: '',\r\n orgType: 'Corporate-Private',\r\n newOrgId: null,\r\n isModalOpen: false,\r\n };\r\n }\r\n\r\n updateName = (value: string) => {\r\n this.setState({\r\n name: value,\r\n });\r\n };\r\n\r\n updateOrg = (e: any, { name, value }: any) => {\r\n this.setState({\r\n orgType: value,\r\n });\r\n };\r\n\r\n createOrg = () => {\r\n adminApi\r\n .addOrganization(this.state.name, this.state.orgType)\r\n .then(result =>\r\n this.handleClose()\r\n )\r\n .catch(err => console.log(err));\r\n };\r\n\r\n public render() {\r\n return (\r\n \r\n \r\n Add New Organization\r\n \r\n \r\n
\r\n this.updateName(e.target.value)}\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 private handleOpen = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this.setState({ isModalOpen: true });\r\n };\r\n\r\n private handleClose = () =>{\r\n this.props.updateOrglist();\r\n\r\n this.setState({\r\n name: '',\r\n orgType: 'Corporate-Private',\r\n newOrgId: null,\r\n isModalOpen: false\r\n });\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport {\r\n Header,\r\n Button,\r\n Segment,\r\n Grid,\r\n Table\r\n} from 'semantic-ui-react';\r\nimport adminApi from '../api/Admin';\r\nimport { IOrgObj } from '../models/ObjectsModel';\r\nimport SpinningLoader from '../components/SpinningLoader';\r\nimport AddOrg from '../presentation/AddOrg';\r\n\r\nexport interface IAdminHomeProps { }\r\n\r\nexport interface IAdminHomeState {\r\n isLoading: boolean;\r\n organizations: IOrgObj[];\r\n redirect: boolean;\r\n}\r\n\r\nexport default class AdminHome extends React.Component<\r\n IAdminHomeProps,\r\n IAdminHomeState\r\n > {\r\n constructor(props: IAdminHomeProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true,\r\n organizations: [],\r\n redirect: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchOrgData();\r\n }\r\n\r\n fetchOrgData = () => {\r\n this.setState({ isLoading: true });\r\n adminApi.getOrganizations().then(response =>\r\n response\r\n .json()\r\n .then((responseJson: any) => {\r\n this.setState({\r\n organizations: responseJson.orgs,\r\n isLoading: false,\r\n });\r\n })\r\n .catch((err: any) => {\r\n if (response.status == 401) {\r\n this.setState({\r\n redirect: true,\r\n isLoading: false,\r\n });\r\n }\r\n })\r\n );\r\n };\r\n public render() {\r\n const { organizations } = this.state;\r\n\r\n if (this.state.isLoading) {\r\n return ;\r\n }\r\n\r\n if (this.state.redirect) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n
Consultant's Administration
\r\n
\r\n
\r\n \r\n \r\n
You clients:
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {organizations.map((org: IOrgObj) => (\r\n \r\n {org.name}\r\n {org.staff_Number} Staff\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 private renderAddOrgBtn = (clickFn: (e: React.SyntheticEvent) => void) => {\r\n return (\r\n \r\n );\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport { Form } from 'semantic-ui-react';\r\nimport { IInviteeObj } from './InviteOthersModal';\r\n\r\nexport interface IInviteInputProps {\r\n invitee: IInviteeObj;\r\n index: number;\r\n updateInvitees: (\r\n name: string,\r\n email: string,\r\n relationship: string,\r\n index: number\r\n ) => void;\r\n}\r\n\r\nexport interface IInviteInputState {\r\n name: string;\r\n email: string;\r\n isValidEmail: boolean;\r\n selectedRelationship: string;\r\n}\r\n\r\nexport default class InviteInput extends React.Component<\r\n IInviteInputProps,\r\n IInviteInputState\r\n > {\r\n constructor(props: IInviteInputProps) {\r\n super(props);\r\n\r\n this.state = {\r\n name: this.props.invitee.name,\r\n email: this.props.invitee.email,\r\n selectedRelationship: 'Coworker',\r\n isValidEmail: true,\r\n };\r\n }\r\n\r\n updateName = (e: any) => {\r\n this.setState({\r\n name: e.target.value,\r\n });\r\n };\r\n\r\n updateEmail = (e: any) => {\r\n this.setState({\r\n email: e.target.value,\r\n });\r\n };\r\n\r\n updateRelationship = (e: any, { value }: any) => {\r\n this.setState(\r\n {\r\n selectedRelationship: value,\r\n },\r\n () =>\r\n this.props.updateInvitees(\r\n this.state.name,\r\n this.state.email,\r\n this.state.selectedRelationship,\r\n this.props.index\r\n )\r\n );\r\n };\r\n public render() {\r\n return (\r\n
\r\n
\r\n this.updateName(e)}\r\n onBlur={() =>\r\n this.props.updateInvitees(\r\n this.state.name,\r\n this.state.email,\r\n this.state.selectedRelationship,\r\n this.props.index\r\n )\r\n }\r\n />\r\n this.updateEmail(e)}\r\n placeholder='Email'\r\n onBlur={() =>\r\n this.props.updateInvitees(\r\n this.state.name,\r\n this.state.email,\r\n this.state.selectedRelationship,\r\n this.props.index\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","import * as React from 'react';\r\nimport { Modal, Form, Button, Divider, Header, Icon } from 'semantic-ui-react';\r\nimport InviteInput from './InviteInput';\r\nimport UserApi from '../api/User';\r\n\r\nexport interface IInviteOthersModalProps {\r\n userId: number;\r\n triggerElement: (clickFn: (e: React.SyntheticEvent) => void) => JSX.Element\r\n closeModal: () => void;\r\n}\r\n\r\nexport interface IInviteOthersModalState {\r\n invitees: IInviteeObj[];\r\n generatedLinks: boolean;\r\n isEmailsValid: boolean;\r\n isNamesValid: boolean;\r\n isModalOpen: boolean;\r\n}\r\n\r\nexport interface IInviteeObj {\r\n name: string;\r\n email: string;\r\n relationship: string;\r\n}\r\n\r\nexport interface IInviteeLinkObj {\r\n id: number;\r\n guid: string;\r\n name: string;\r\n sourceUserId: number;\r\n relationship: string;\r\n}\r\nexport default class InviteOthersModal extends React.Component<\r\n IInviteOthersModalProps,\r\n IInviteOthersModalState\r\n > {\r\n constructor(props: IInviteOthersModalProps) {\r\n super(props);\r\n\r\n this.state = {\r\n invitees: [{ name: '', email: '', relationship: 'Family' }],\r\n generatedLinks: false,\r\n isEmailsValid: true,\r\n isNamesValid: true,\r\n isModalOpen: false,\r\n };\r\n }\r\n\r\n // TODO: Convert to 'sendEmails'\r\n // TODO: Save old code in case Brad wants both options...\r\n generateInviteLinks = async () => {\r\n const allValidEmails = this.state.invitees.every(invitee => {\r\n return this.validateEmail(invitee.email);\r\n });\r\n\r\n const allValidNames = this.state.invitees.every(invitee => {\r\n return invitee.name === '' ? false : true;\r\n });\r\n\r\n if (allValidEmails && allValidNames) {\r\n const formattedInvitees = this.state.invitees\r\n .map((invitee, index) => {\r\n invitee.name.trim();\r\n\r\n return invitee;\r\n })\r\n .filter(invitee => invitee.name !== '');\r\n\r\n const response: any = await UserApi.sendUserInvitations(\r\n formattedInvitees,\r\n this.props.userId\r\n );\r\n\r\n if (response) {\r\n this.setState({\r\n invitees: [{ name: '', email: '', relationship: 'Family' }],\r\n generatedLinks: true,\r\n });\r\n }\r\n // const isAllEmailsSent = response.invitesStatus.every(\r\n // (status: any, index: number) => status[index] == true\r\n // );\r\n\r\n // const response = await UserApi.generateInviteeLinks(\r\n // formattedinvitees,\r\n // this.props.userId\r\n // );\r\n // this.setState({\r\n // generatedLinks: response,\r\n // });\r\n } else {\r\n this.setState({\r\n isEmailsValid: allValidEmails,\r\n isNamesValid: allValidNames\r\n });\r\n }\r\n };\r\n\r\n validateEmail = (email: string) => {\r\n const re = /\\S+@\\S+\\.\\S+/;\r\n return re.test(email);\r\n };\r\n\r\n addInviteeField = () => {\r\n const invitees = this.state.invitees;\r\n if (invitees.length > 10) return;\r\n\r\n invitees.push({ name: '', email: '', relationship: 'Family' });\r\n this.setState({\r\n invitees,\r\n });\r\n };\r\n\r\n deleteInviteeField = () => {\r\n const invitees = this.state.invitees;\r\n if (invitees.length === 1) return;\r\n invitees.pop();\r\n this.setState({\r\n invitees,\r\n });\r\n };\r\n\r\n updateinvitees = (\r\n updatedName: string,\r\n updatedEmail: string,\r\n relationship: string,\r\n index: number\r\n ) => {\r\n const invitees = this.state.invitees;\r\n invitees[index].name = updatedName;\r\n invitees[index].email = updatedEmail;\r\n invitees[index].relationship = relationship;\r\n this.setState({\r\n invitees,\r\n });\r\n };\r\n\r\n public render() {\r\n const { generatedLinks, invitees } = this.state;\r\n return (\r\n \r\n Invite Others to Assess You\r\n \r\n

\r\n Send links to your colleagues, friends, and family to assess your tendencies!\r\n Enter their names and email addresses, we'll take care of the rest.\r\n

\r\n

\r\n Remember, you need at least 6 assessments to see your results.\r\n

\r\n
\r\n {generatedLinks\r\n ? null\r\n : this.state.invitees.map((invitee, index) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n Add another invite\r\n
\r\n
\r\n
\r\n \r\n {generatedLinks ? (\r\n <>\r\n \r\n Links have been emailed!\r\n \r\n \r\n this.setState({\r\n generatedLinks: false,\r\n invitees: [{ name: '', email: '', relationship: 'Family' }],\r\n })\r\n }\r\n >\r\n Invite More People\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {!this.state.isEmailsValid && (\r\n \r\n At least one email address is not valid!\r\n \r\n )}\r\n {!this.state.isNamesValid && (\r\n \r\n At least one name field is empty!\r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n );\r\n }\r\n\r\n private handleOpen = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this.setState({ isModalOpen: true });\r\n };\r\n\r\n private handleClose = () => {\r\n this.props.closeModal();\r\n\r\n this.setState({\r\n invitees: [{ name: '', email: '', relationship: 'Family' }],\r\n generatedLinks: false,\r\n isEmailsValid: true,\r\n isNamesValid: true,\r\n isModalOpen: false,\r\n })\r\n }\r\n\r\n}\r\n","import * as React from 'react';\r\nimport { Segment, Grid, Menu, List, Header } from 'semantic-ui-react';\r\n\r\nexport interface IMeAtAGlanceProps {\r\n analyticalEngagingScore: number;\r\n structuredConceptualScore: number;\r\n agreeableAutonomousScore: number;\r\n}\r\n\r\n\r\nexport default class MeAtAGlance extends React.Component{\r\n\r\n public render() {\r\n let analyticalEngagingHeader = 'Equilibrium';\r\n if (this.props.analyticalEngagingScore > 2) {\r\n analyticalEngagingHeader = 'Engaging';\r\n } else if (this.props.analyticalEngagingScore < -2) {\r\n analyticalEngagingHeader = 'Analytical';\r\n }\r\n\r\n let structuredConceptualHeader = 'Equilibrium';\r\n if (this.props.structuredConceptualScore > 2) {\r\n structuredConceptualHeader = 'Conceptual';\r\n } else if (this.props.structuredConceptualScore < -2) {\r\n structuredConceptualHeader = 'Structured'\r\n }\r\n\r\n let agreeableAutonomousHeader = 'Equilibrium';\r\n if (this.props.agreeableAutonomousScore > 2) {\r\n agreeableAutonomousHeader = 'Autonomous'\r\n } else if (this.props.structuredConceptualScore < -2) {\r\n agreeableAutonomousHeader = 'Agreeable'\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
{analyticalEngagingHeader}\r\n \r\n {this.getTendenciesStrength(Math.abs(this.props.analyticalEngagingScore))}\r\n \r\n
\r\n
\r\n \r\n
{structuredConceptualHeader}\r\n \r\n {this.getTendenciesStrength(Math.abs(this.props.structuredConceptualScore))}\r\n \r\n
\r\n
\r\n \r\n
{agreeableAutonomousHeader}\r\n \r\n {this.getTendenciesStrength(Math.abs(this.props.agreeableAutonomousScore))}\r\n \r\n
\r\n
\r\n
\r\n \r\n {this.renderPageBody()}\r\n \r\n
\r\n )\r\n }\r\n\r\n private renderPageBody() {\r\n let analyticalEngagingSection = \r\n Listens to others patiently with full receptivity and empathy and responds with tactful and appropriate replies.\r\n Recognizes a difficult situation and steps away to take time, reflect and realize a course of action.\r\n Makes decisions carefully without being overcautious.\r\n Is aware of the appropriate tendency for the situation\r\n Centered\r\n \r\n\r\n if (this.props.analyticalEngagingScore < -2) {\r\n analyticalEngagingSection = \r\n Thinks before Speaking\r\n Contemplative\r\n Emotionally Reserved\r\n Precise\r\n Cautious\r\n Quiet\r\n \r\n } else if (this.props.analyticalEngagingScore > 2) {\r\n analyticalEngagingSection = \r\n Thinks while Speaking\r\n Reactive\r\n Emotionally Dynamic\r\n Flexible\r\n Impulsive\r\n Conversational\r\n \r\n }\r\n\r\n let structuredConceptualSection = \r\n Adjusts to a changing environment and considers different points of view\r\n Handles diversity and accepts other people's preferences\r\n Maintains structure and organization, but allows time for fun and spontaneity\r\n Is aware of the appropriate tendency for the situation\r\n Centered\r\n \r\n\r\n if (this.props.structuredConceptualScore < -2) {\r\n structuredConceptualSection = \r\n Adheres to Proven Concepts\r\n Pragmatic\r\n Dislikes Change\r\n Conventional\r\n Deals strictly in Facts\r\n Methodical\r\n \r\n } else if (this.props.structuredConceptualScore > 2) {\r\n structuredConceptualSection = \r\n Open to ideas\r\n Idealistic\r\n Very Creative\r\n Varied in Approach\r\n Enjoys abstract Thinking\r\n Open to Alternative Options\r\n \r\n }\r\n\r\n let agreeableAutonomousSection = \r\n Exhibits a true sense of empathy that allows them to relate to others and show compassion, yet provide distance if that is required\r\n Knows when to be open to others and when to be guarded and set boundaries\r\n Works either collaboratively or independently relatively easily\r\n Is aware of the appropriate tendency for the situation\r\n Centered\r\n \r\n\r\n if (this.props.agreeableAutonomousScore < -2) {\r\n agreeableAutonomousSection = \r\n Energized around Others\r\n Team Player\r\n Eager to Compromise\r\n Compassionate\r\n Conscious of Others\r\n \r\n } else if (this.props.agreeableAutonomousScore > 2) {\r\n agreeableAutonomousSection = \r\n Self-Energized\r\n Solitary\r\n Steadfast\r\n Indifferent\r\n Conscious of Self\r\n \r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {analyticalEngagingSection}\r\n \r\n\r\n\r\n \r\n \r\n \r\n {structuredConceptualSection}\r\n \r\n\r\n\r\n \r\n \r\n \r\n {agreeableAutonomousSection}\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {this.getTendenciesStrengthSummary(Math.abs(this.props.analyticalEngagingScore))}\r\n \r\n \r\n \r\n \r\n {this.getTendenciesStrengthSummary(Math.abs(this.props.structuredConceptualScore))}\r\n \r\n \r\n \r\n \r\n {this.getTendenciesStrengthSummary(Math.abs(this.props.agreeableAutonomousScore))}\r\n \r\n \r\n \r\n\r\n )\r\n }\r\n\r\n private getTendenciesStrength(score: number) {\r\n if (score >= 0 && score <= 2) {\r\n return 'Balanced'\r\n } else if (score > 2 && score <= 6) {\r\n return 'Noticeable'\r\n } else if (score > 6 && score <= 10) {\r\n return 'Common'\r\n } else if (score > 10 && score <= 14) {\r\n return 'Frequent'\r\n } else {\r\n return 'Dominant'\r\n }\r\n }\r\n\r\n private getTendenciesStrengthSummary(score: number) {\r\n if (score >= 0 && score <= 2) {\r\n return (

\r\n Centered & Balanced – You are easily able to flex between the two tendencies within this pairing.\r\n You can adapt to the people and situations around you by using both Tendencies as required. You\r\n tend not to favor or use one more than the other unless the situation demands it.\r\n

);\r\n } else if (score > 2 && score <= 6) {\r\n return (

\r\n Noticeable Tendency – You can move with relative ease between the two tendencies of this pairing,\r\n although a slight preference for one over the other is visible to others. You are likely able to avoid\r\n incidental conflict within this pairing as you exhibit good flexibility in your interactions.\r\n

);\r\n } else if (score > 6 && score <= 10) {\r\n return (

\r\n Common Tendency – You tend to demonstrate this tendency more often, however, you are likely\r\n able to move between both tendencies within this pairing. During times of difficulty, stress or\r\n change you likely will lean to this tendency as it is more comfortable for you. Your conscious\r\n awareness is required during those times.\r\n

);\r\n } else if (score > 10 && score <= 14) {\r\n return (

\r\n Frequent Tendency – You tend to demonstrate this tendency in many of your interactions. This can\r\n be of great value in situations that require this tendency. However, others around you can\r\n potentially become increasingly frustrated if you continue to overuse this tendency. A real\r\n potential for conflict exists with a frequently used tendency. Your ongoing vigilance is required to\r\n consciously be aware of not over-using this tendency.\r\n

);\r\n } else {\r\n return (

\r\n Dominant Tendency – You likely demonstrate this tendency is all that you do, and all your\r\n interactions. This can be of great value in situations that require this tendency, but it must be\r\n consciously controlled. A dominant tendency can easily lead to conflict with others as you tend not\r\n to display any flexibility. Your ongoing vigilance is required to consciously be aware of not over-\r\n using this tendency.\r\n

);\r\n }\r\n }\r\n}","import * as React from 'react';\r\nimport Moment from 'moment';\r\nimport { Tab, Table, Grid, Button, Modal, Icon } from 'semantic-ui-react';\r\nimport InviteOthersModal from '../components/InviteOthersModal';\r\nimport { IAssignment } from '../models/IAssignment';\r\n\r\n\r\ninterface IMyAssessmentsProps {\r\n userId: number;\r\n statistics: {\r\n CompletedAssessments: [],\r\n PendingAssessments: [],\r\n Completed: number,\r\n Invites: number,\r\n };\r\n closeModal: () => void;\r\n}\r\n\r\n\r\nexport default class MyAssessments extends React.Component {\r\n // TODO: Placeholder for MyAssessment section on Personal page\r\n\r\n\r\n componentWillReceiveProps(nextProps: IMyAssessmentsProps) {\r\n }\r\n\r\n public 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\n

Completed Assessments

\r\n
\r\n
\r\n \r\n \r\n {this.renderCompletedAssessments()}\r\n \r\n \r\n\r\n \r\n \r\n

Pending Assessments

\r\n
\r\n
\r\n \r\n \r\n {this.renderPendingAssessments()}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n private renderCompletedAssessments() {\r\n var completedRows;\r\n if (this.props.statistics.CompletedAssessments.length > 0) {\r\n completedRows = this.props.statistics.CompletedAssessments.map((completedAssessment: IAssignment, index) => {\r\n return (\r\n \r\n {completedAssessment.name}\r\n {completedAssessment.relationship}\r\n {Moment(completedAssessment.createdAt).format('DD MMM YY')}\r\n \r\n \r\n );\r\n });\r\n }\r\n return (\r\n \r\n \r\n \r\n Name\r\n Relationship\r\n Status\r\n  \r\n \r\n \r\n \r\n {completedRows}\r\n \r\n
\r\n )\r\n }\r\n\r\n private renderInviteOthersBtn = (clickFn: (e: React.SyntheticEvent) => void) => {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private renderPendingAssessments() {\r\n var pendingRows;\r\n if (this.props.statistics.PendingAssessments.length > 0) {\r\n pendingRows = this.props.statistics.PendingAssessments.map((pendingAssessments: IAssignment, index) => {\r\n return (\r\n \r\n {pendingAssessments.name}\r\n {pendingAssessments.relationship}\r\n {Moment(pendingAssessments.createdAt).format('DD MMM YY')}\r\n \r\n \r\n );\r\n });\r\n return (\r\n \r\n \r\n Name\r\n Relationship\r\n Status\r\n  \r\n \r\n \r\n \r\n {pendingRows}\r\n \r\n
)\r\n }\r\n }\r\n\r\n\r\n}\r\n","import * as React from 'react';\r\nimport '../index.css';\r\nimport Moment from 'moment';\r\nimport { Item, Icon, SemanticICONS, Label, Header } from 'semantic-ui-react';\r\nimport { ListItem } from '../models/ListItem';\r\nimport { IAssignment } from '../models/IAssignment';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\ninterface ListItemProps {\r\n listItem?: ListItem,\r\n assignmentIcon?: SemanticICONS,\r\n assignment?: IAssignment,\r\n assignmentStat?: string,\r\n itemIndex?: number,\r\n isOrganizationPage?: boolean,\r\n completedAssessments?: number\r\n}\r\n\r\nexport default class ListItemView extends React.Component {\r\n constructor(props: ListItemProps) {\r\n super(props)\r\n }\r\n\r\n public render() {\r\n let sectionStyle;\r\n\r\n\r\n if (this.props.listItem) {\r\n const fullName = `${this.props.listItem.firstName} ${this.props.listItem.lastName}`\r\n\r\n sectionStyle = {\r\n backgroundImage: `url(${this.props.listItem.image})`\r\n };\r\n\r\n let assessmentsLabel = <>;\r\n \r\n\r\n if(!isNullOrUndefined(this.props.completedAssessments) && !this.props.isOrganizationPage){\r\n if(this.props.completedAssessments >= 6) {\r\n assessmentsLabel = \r\n \r\n {this.props.completedAssessments} assessments \r\n \r\n }else{\r\n assessmentsLabel = \r\n \r\n {this.props.listItem.firstName} needs {6 - this.props.completedAssessments} more!\r\n \r\n ;\r\n }\r\n }else if(!isNullOrUndefined(this.props.completedAssessments) && this.props.isOrganizationPage){\r\n if(this.props.completedAssessments < 6){\r\n assessmentsLabel = \r\n \r\n
{this.props.completedAssessments}/6 Completed
\r\n
\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {fullName}\r\n \r\n {\r\n (this.props.listItem.title !== undefined && this.props.listItem.title !== null)\r\n ? {this.props.listItem.title}\r\n : <>\r\n }\r\n {\r\n (this.props.listItem.companyName !== undefined && this.props.listItem.companyName !== null)\r\n ? {this.props.listItem.companyName}\r\n : <>\r\n }\r\n {assessmentsLabel}\r\n \r\n )\r\n\r\n } else if (this.props.assignment && this.props.assignmentStat && this.props.itemIndex) {\r\n sectionStyle = {\r\n backgroundImage: `url(${this.props.assignment.image})`\r\n };\r\n return (\r\n \r\n \r\n {this.props.assignment.name}\r\n \r\n \r\n {this.props.assignment.relationship}\r\n \r\n \r\n
\r\n \r\n \r\n {this.props.assignmentStat}\r\n \r\n \r\n {Moment(this.props.assignment.createdAt).format('DD MMM YY')}\r\n \r\n \r\n \r\n
\r\n
)\r\n } else {\r\n return (<>)\r\n }\r\n }\r\n}","import * as React from 'react';\r\nimport { Popup } from 'semantic-ui-react';\r\n\r\nexport interface IPersonalityLineChartProps {\r\n average: number;\r\n min: number;\r\n max?: number;\r\n y1: number;\r\n y2: number;\r\n TICK_UNIT: number;\r\n color: string;\r\n}\r\n\r\nexport default class PersonalityLineChart extends React.Component<\r\n IPersonalityLineChartProps, {}\r\n >{\r\n public render() {\r\n return (\r\n \r\n\r\n\r\n {/* Middle tick */}\r\n \r\n\r\n\r\n {/* Display the charts} */}\r\n {this.props.max != null ? (\r\n \r\n \r\n \r\n }\r\n />\r\n ) : (\r\n = 0 ? '0' : this.props.min * this.props.TICK_UNIT} y={this.props.y1} width={Math.abs(this.props.min) * this.props.TICK_UNIT} height='9' style={{ fill: this.props.color }} />\r\n )}\r\n\r\n \r\n\r\n {/* Min text */}\r\n \r\n {Math.abs(this.props.min).toFixed(1)}\r\n \r\n\r\n {/* Max text */}\r\n {this.props.max != null && (\r\n \r\n {this.props.max}\r\n \r\n )}\r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport {\r\n Segment,\r\n Grid,\r\n Header,\r\n List\r\n} from 'semantic-ui-react';\r\nimport { AssessmentStatModel } from '../models/AssessmentStatModel';\r\nimport ListItemView from '../components/ListItemView';\r\nimport PersonalityLineChart from '../components/PersonalityLineChart';\r\nimport { ListItem } from '../models/ListItem';\r\n\r\n\r\nexport interface IMyResultsState {\r\n numAssessments: number;\r\n descriptor: string;\r\n analyticalEngagingStat: AssessmentStatModel;\r\n agreeableAutonomousStat: AssessmentStatModel;\r\n structuredConceptualStat: AssessmentStatModel;\r\n pageStat: string;\r\n fileName: string;\r\n}\r\n\r\nexport interface IMyResultsProps {\r\n analyticalEngagingStat: AssessmentStatModel;\r\n agreeableAutonomousStat: AssessmentStatModel;\r\n structuredConceptualStat: AssessmentStatModel;\r\n selfAnalyticalEngagingStat: AssessmentStatModel;\r\n selfAgreeableAutonomousStat: AssessmentStatModel;\r\n selfStructuredConceptualStat: AssessmentStatModel;\r\n userId: number;\r\n firstName: string;\r\n lastName: string;\r\n typology: string;\r\n}\r\n\r\nexport default class MyResults extends React.Component<\r\n IMyResultsProps,\r\n IMyResultsState\r\n > {\r\n constructor(props: any) {\r\n super(props);\r\n this.switchResultStat = this.switchResultStat.bind(this);\r\n this.state = {\r\n numAssessments: 0,\r\n descriptor: '',\r\n fileName: '',\r\n pageStat: 'Other',\r\n analyticalEngagingStat: this.props.analyticalEngagingStat,\r\n agreeableAutonomousStat: this.props.agreeableAutonomousStat,\r\n structuredConceptualStat: this.props.structuredConceptualStat\r\n }\r\n }\r\n private readonly ANALYTICAL_COLOR: string = 'darkviolet';\r\n private readonly ENGAGING_COLOR: string = 'crimson';\r\n private readonly STRUCTURED_COLOR: string = 'black';\r\n private readonly CONCEPTUAL_COLOR: string = 'sandybrown';\r\n private readonly AGREEABLE_COLOR: string = 'darkolivegreen';\r\n private readonly AUTONOMOUS_COLOR: string = 'dodgerblue';\r\n\r\n private readonly TICK_UNIT: number = 5;\r\n private readonly Y1: number = 2;\r\n private readonly Y2: number = 11;\r\n\r\n // TODO: Confirm the assessment categories and hook these up accordingly\r\n /* private readonly DROPDOWN_ITEMS: DropdownItemProps[] = [\r\n { key: 0, text: 'All Assessments', value: 0 },\r\n { key: 1, text: 'Family/Friends', value: 1 },\r\n { key: 2, text: 'Coworkers', value: 2 },\r\n ]; */\r\n\r\n public componentDidMount() {\r\n /**\r\n * GET:\r\n * - User type\r\n * - Tendencies\r\n */\r\n this.updateFileName();\r\n }\r\n\r\n public render() {\r\n const userProfile = { firstName: this.props.firstName, lastName: this.props.lastName, id: this.props.userId } as ListItem;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

How I view me

\r\n

How others view me

\r\n {(this.props.typology === '')\r\n ? <>\r\n :

Typology – {this.props.typology}

}\r\n
\r\n
\r\n \r\n {(this.state.pageStat === \"Self\")\r\n ?

How I view me

\r\n :

How others view me

}\r\n \r\n \r\n
\r\n ANALYTICAL\r\n
\r\n
\r\n ENGAGING\r\n
\r\n = 0 ? this.ENGAGING_COLOR : this.ANALYTICAL_COLOR}\r\n />\r\n
\r\n \r\n
\r\n STRUCTURED\r\n
\r\n
\r\n CONCEPTUAL\r\n
\r\n = 0 ? this.CONCEPTUAL_COLOR : this.STRUCTURED_COLOR}\r\n />\r\n
\r\n \r\n
\r\n AGREEABLE\r\n
\r\n
\r\n AUTONOMOUS\r\n
\r\n = 0 ? this.AUTONOMOUS_COLOR : this.AGREEABLE_COLOR}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private updateFileName() {\r\n let currentFileName = '';\r\n\r\n switch (this.props.typology) {\r\n case 'Harmony Architect':\r\n currentFileName = `1 - ${this.props.typology}`;\r\n break;\r\n case 'Decision Maker':\r\n currentFileName = `2 - ${this.props.typology}`;\r\n break;\r\n case 'Philosopher':\r\n currentFileName = `3 - ${this.props.typology}`;\r\n break;\r\n case 'Theorist':\r\n currentFileName = `4 - ${this.props.typology}`;\r\n break;\r\n case 'Socializer':\r\n currentFileName = `5 - ${this.props.typology}`;\r\n break;\r\n case 'Sympathizer':\r\n currentFileName = `6 - ${this.props.typology}`;\r\n break;\r\n case 'Driver':\r\n currentFileName = `7 - ${this.props.typology}`;\r\n break;\r\n case 'Challenger':\r\n currentFileName = `8 - ${this.props.typology}`;\r\n break;\r\n case 'Chameleon':\r\n currentFileName = `9 - ${this.props.typology}`;\r\n break;\r\n default:\r\n currentFileName = '';\r\n break;\r\n };\r\n this.setState({\r\n fileName: currentFileName\r\n });\r\n }\r\n\r\n private switchResultStat = (profileType: string) => (e: React.FormEvent) => {\r\n if (profileType === \"Self\") {\r\n this.setState({\r\n agreeableAutonomousStat: this.props.selfAgreeableAutonomousStat,\r\n analyticalEngagingStat: this.props.selfAnalyticalEngagingStat,\r\n structuredConceptualStat: this.props.selfStructuredConceptualStat,\r\n pageStat: profileType\r\n })\r\n } else if (profileType === \"Other\") {\r\n this.setState({\r\n agreeableAutonomousStat: this.props.agreeableAutonomousStat,\r\n analyticalEngagingStat: this.props.analyticalEngagingStat,\r\n structuredConceptualStat: this.props.structuredConceptualStat,\r\n pageStat: profileType\r\n })\r\n }\r\n\r\n\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { Segment, Grid, Button } from 'semantic-ui-react';\r\n\r\ninterface RelationshipManualsProps {\r\n typology: string;\r\n isDiscoverTypologies?: boolean;\r\n}\r\n\r\ninterface RelationshipManualsState {\r\n fileName: string;\r\n folderName: string;\r\n}\r\n\r\nexport default class RelationshipManuals extends React.Component<\r\n RelationshipManualsProps,\r\n RelationshipManualsState\r\n > {\r\n // TODO: Placeholder for the Relationship Manual sidebar on the Personal page\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n fileName: '',\r\n folderName: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.updateFileAndFolderName();\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n

Discover the Typologies

:\r\n

Relationship Hints

}\r\n \r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n {(this.props.isDiscoverTypologies) ?\r\n :\r\n }\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n private updateFileAndFolderName() {\r\n let currentFileName = '';\r\n let currentFolderName = '';\r\n switch (this.props.typology) {\r\n case 'Harmony Architect':\r\n currentFileName = 'HA';\r\n currentFolderName = `1 - ${this.props.typology}`;\r\n break;\r\n case 'Decision Maker':\r\n currentFileName = 'DM';\r\n currentFolderName = `2 - ${this.props.typology}`;\r\n break;\r\n case 'Philosopher':\r\n currentFileName = 'Phi';\r\n currentFolderName = `3 - ${this.props.typology}`;\r\n break;\r\n case 'Theorist':\r\n currentFileName = 'Theo';\r\n currentFolderName = `4 - ${this.props.typology}`;\r\n break;\r\n case 'Socializer':\r\n currentFileName = 'Soc';\r\n currentFolderName = `5 - ${this.props.typology}`;\r\n break;\r\n case 'Sympathizer':\r\n currentFileName = 'Sym';\r\n currentFolderName = `6 - ${this.props.typology}`;\r\n break;\r\n case 'Driver':\r\n currentFileName = 'Dri';\r\n currentFolderName = `7 - ${this.props.typology}`;\r\n break;\r\n case 'Challenger':\r\n currentFileName = 'Chal';\r\n currentFolderName = `8 - ${this.props.typology}`;\r\n break;\r\n case 'Chameleon':\r\n currentFileName = 'Cham';\r\n currentFolderName = `9 - ${this.props.typology}`;\r\n break;\r\n default:\r\n currentFileName = '';\r\n currentFolderName = '';\r\n break;\r\n }\r\n\r\n this.setState({\r\n fileName: currentFileName,\r\n folderName: currentFolderName,\r\n });\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n Button,\r\n Segment,\r\n Grid,\r\n Header,\r\n Icon,\r\n Menu,\r\n} from 'semantic-ui-react';\r\nimport { Link } from 'react-router-dom';\r\nimport InviteOthersModal from '../components/InviteOthersModal';\r\nimport MeAtAGlance from '../components/MeAtAGlance';\r\nimport MyAssessments from '../components/MyAssessments';\r\nimport MyResults from '../components/MyResults';\r\nimport RelationshipManuals from '../components/RelationshipManuals';\r\nimport SpinningLoader from '../components/SpinningLoader';\r\nimport { AssessmentStatModel } from '../models/AssessmentStatModel';\r\nimport assessmentApi from '../api/Assessment';\r\nimport UserApi from '../api/User';\r\n\r\nexport interface IPersonalPageProps { }\r\n\r\nexport interface IPersonalPageState {\r\n analyticalEngagingStat: AssessmentStatModel;\r\n agreeableAutonomousStat: AssessmentStatModel;\r\n structuredConceptualStat: AssessmentStatModel;\r\n isLoading: boolean;\r\n firstName: string;\r\n lastName: string;\r\n userId: number;\r\n activeTab: string;\r\n typology: string;\r\n selfAgreeableAutonomousStat: AssessmentStatModel;\r\n selfAnalyticalEngagingStat: AssessmentStatModel;\r\n selfStructuredConceptualStat: AssessmentStatModel;\r\n statistics: {\r\n CompletedAssessments: [],\r\n PendingAssessments: [],\r\n Completed: number,\r\n Invites: number,\r\n };\r\n}\r\n\r\nexport default class PersonalPage extends React.Component<\r\n IPersonalPageProps,\r\n IPersonalPageState\r\n > {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n activeTab: 'profileDetail',\r\n agreeableAutonomousStat: {\r\n min: 0,\r\n average: 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n analyticalEngagingStat: {\r\n min: 0,\r\n average: 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n userId: 0,\r\n firstName: '',\r\n lastName: '',\r\n isLoading: true,\r\n structuredConceptualStat: {\r\n min: 0,\r\n average: 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n typology: '',\r\n selfAgreeableAutonomousStat: {\r\n min: 0,\r\n average: 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n selfAnalyticalEngagingStat: {\r\n min: 0,\r\n average: 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n selfStructuredConceptualStat: {\r\n min: 0,\r\n average: 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n statistics: {\r\n CompletedAssessments: [],\r\n PendingAssessments: [],\r\n Completed: 0,\r\n Invites: 0\r\n }\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n const user = await UserApi.loggedInUser();\r\n this.setState({\r\n userId: user.loggedInUser.id,\r\n firstName: user.loggedInUser.firstName,\r\n lastName: user.loggedInUser.lastName,\r\n });\r\n this.getAssessmentStat();\r\n await this.getTendenciesAndTypology(user.loggedInUser.id);\r\n }\r\n\r\n closeModal = () => {\r\n this.getAssessmentStat();\r\n };\r\n\r\n public render() {\r\n const profileTitle = `I am a ${this.state.typology}`;\r\n if (this.state.isLoading) {\r\n return ();\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
My Profile
\r\n {this.state.typology == '' ? (\r\n <>\r\n ) : (\r\n
\r\n {profileTitle}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {this.renderMenu()}\r\n {this.renderPageBody()}\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 public renderMenu() {\r\n return (\r\n \r\n \r\n Me at a Glance\r\n \r\n \r\n My Other Assessments\r\n \r\n \r\n );\r\n }\r\n\r\n private renderPageBody() {\r\n if (this.state.activeTab === 'assessment')\r\n return (\r\n \r\n \r\n \r\n );\r\n else {\r\n return (\r\n \r\n {(this.state.statistics.Completed < 6)\r\n ?\r\n \r\n \r\n
Please have others complete assessments for you in order to see your results. Remember you need 6 others to have completed results.
\r\n
\r\n : < MeAtAGlance analyticalEngagingScore={this.state.analyticalEngagingStat.average}\r\n structuredConceptualScore={this.state.structuredConceptualStat.average}\r\n agreeableAutonomousScore={this.state.agreeableAutonomousStat.average} />}\r\n\r\n
\r\n );\r\n }\r\n }\r\n\r\n private onTabClick = (nextTab: string) => (\r\n e: React.FormEvent\r\n ) => {\r\n this.setState({\r\n activeTab: nextTab,\r\n });\r\n };\r\n\r\n private getAssessmentStat() {\r\n assessmentApi.getAssessmentStatistics(this.state.userId).then((statistics) => {\r\n this.setState({\r\n statistics: statistics\r\n });\r\n });\r\n }\r\n\r\n private renderInviteOthersBtn = (clickFn: (e: React.SyntheticEvent) => void) => {\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n private async getTendenciesAndTypology(userId: number) {\r\n const results = await assessmentApi.getAggregateAssessmentResults(userId);\r\n\r\n this.setState({\r\n isLoading: false,\r\n typology: results.typology,\r\n analyticalEngagingStat: {\r\n min: results.assessmentDto\r\n ? results.assessmentDto.analyticalEngagingScore\r\n : 0,\r\n average: results.assessmentDto\r\n ? results.assessmentDto.analyticalEngagingScore\r\n : 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n agreeableAutonomousStat: {\r\n min: results.assessmentDto\r\n ? results.assessmentDto.agreeableAutonomousScore\r\n : 0,\r\n average: results.assessmentDto\r\n ? results.assessmentDto.agreeableAutonomousScore\r\n : 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n structuredConceptualStat: {\r\n min: results.assessmentDto\r\n ? results.assessmentDto.structuredConceptualScore\r\n : 0,\r\n average: results.assessmentDto\r\n ? results.assessmentDto.structuredConceptualScore\r\n : 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n selfAnalyticalEngagingStat: {\r\n min: results.selfAssessmentDto\r\n ? results.selfAssessmentDto.analyticalEngagingScore\r\n : 0,\r\n average: results.selfAssessmentDto\r\n ? results.selfAssessmentDto.analyticalEngagingScore\r\n : 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n selfAgreeableAutonomousStat: {\r\n min: results.selfAssessmentDto\r\n ? results.selfAssessmentDto.agreeableAutonomousScore\r\n : 0,\r\n average: results.selfAssessmentDto\r\n ? results.selfAssessmentDto.structuredConceptualScore\r\n : 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n selfStructuredConceptualStat: {\r\n min: results.selfAssessmentDto\r\n ? results.selfAssessmentDto.structuredConceptualScore\r\n : 0,\r\n average: results.selfAssessmentDto\r\n ? results.selfAssessmentDto.structuredConceptualScore\r\n : 0,\r\n max: undefined,\r\n } as AssessmentStatModel,\r\n });\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n Button,\r\n Card,\r\n Label,\r\n Header,\r\n Segment,\r\n Popup,\r\n Checkbox,\r\n Icon,\r\n Item\r\n} from 'semantic-ui-react';\r\nimport ListItemView from '../components/ListItemView';\r\nimport PersonalityLineChart from '../components/PersonalityLineChart';\r\nimport {\r\n IUserObj,\r\n IDeptObj,\r\n ITeamObj\r\n} from '../models/ObjectsModel';\r\nimport adminApi from '../api/OrgAdmin';\r\nimport OrgAdmin from '../api/OrgAdmin';\r\nimport CopyToClipboard from 'react-copy-to-clipboard';\r\nimport { AssessmentStatModel } from '../models/AssessmentStatModel';\r\nimport { ListItem } from '../models/ListItem';\r\n\r\nexport interface IOrgUserListViewProps {\r\n isAdminPage: boolean;\r\n isAdminView?: boolean;\r\n isOrganizationPage?: boolean;\r\n user: IUserObj;\r\n teams?: ITeamObj[];\r\n departments?: IDeptObj[];\r\n updateStaff?: (userId: number, category: string, id: number) => void;\r\n analyticalEngagingStat: AssessmentStatModel;\r\n agreeableAutonomousStat: AssessmentStatModel;\r\n structuredConceptualStat: AssessmentStatModel;\r\n typology: string;\r\n completedAssessments: number;\r\n}\r\n\r\nexport interface IOrgUserListViewState {\r\n newPassword: string;\r\n copied: boolean;\r\n}\r\n\r\nexport default class OrgUserListView extends React.Component {\r\n private readonly TICK_UNIT: number = 5;\r\n private readonly Y1: number = 2;\r\n private readonly Y2: number = 11;\r\n private readonly ANALYTICAL_COLOR: string = 'darkviolet';\r\n private readonly ENGAGING_COLOR: string = 'crimson';\r\n private readonly STRUCTURED_COLOR: string = 'black';\r\n private readonly CONCEPTUAL_COLOR: string = 'sandybrown';\r\n private readonly AGREEABLE_COLOR: string = 'darkolivegreen';\r\n private readonly AUTONOMOUS_COLOR: string = 'dodgerblue';\r\n\r\n state = {\r\n newPassword: '',\r\n copied: false,\r\n };\r\n\r\n resetUserPassword = async () => {\r\n const response = await OrgAdmin.resetPassword(this.props.user.id);\r\n\r\n this.setState({\r\n newPassword: response.newPassword,\r\n });\r\n };\r\n\r\n isDepartmentMember = (departmentId: number) => {\r\n const index = this.props.user.Departments.findIndex((dept: IDeptObj) => {\r\n return dept.id == departmentId;\r\n });\r\n\r\n return index == -1 ? false : true;\r\n };\r\n\r\n isTeamMember = (teamId: number) => {\r\n const index = this.props.user.Teams.findIndex((searchTeam: ITeamObj) => {\r\n return searchTeam.id == teamId;\r\n });\r\n\r\n return index == -1 ? false : true;\r\n };\r\n\r\n updateDepartment = (departmentId: number) => {\r\n if (!this.isDepartmentMember(departmentId)) {\r\n adminApi\r\n .addUserToDepartment(\r\n this.props.user.id,\r\n departmentId,\r\n this.props.user.organizationId\r\n )\r\n .then(result => {\r\n result.json();\r\n })\r\n .then(resultJSON => {\r\n if (this.props.updateStaff)\r\n this.props.updateStaff(this.props.user.id, 'dept', departmentId);\r\n })\r\n .catch(err => console.log(err));\r\n } else {\r\n adminApi\r\n .removeUserFromDepartment(\r\n this.props.user.id,\r\n departmentId,\r\n this.props.user.organizationId\r\n )\r\n .then((result: any) => {\r\n result.json();\r\n })\r\n .then((resultJSON: any) => {\r\n if (this.props.updateStaff)\r\n this.props.updateStaff(this.props.user.id, 'dept', departmentId);\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n };\r\n\r\n updateTeam = (teamId: number) => {\r\n if (!this.isTeamMember(teamId)) {\r\n adminApi\r\n .addUserToTeam(\r\n this.props.user.id,\r\n teamId,\r\n this.props.user.organizationId\r\n )\r\n .then(result => {\r\n result.json();\r\n })\r\n .then(resultJSON => {\r\n if (this.props.updateStaff)\r\n this.props.updateStaff(this.props.user.id, 'team', teamId);\r\n });\r\n } else {\r\n adminApi\r\n .removeUserFromTeam(\r\n this.props.user.id,\r\n teamId,\r\n this.props.user.organizationId\r\n )\r\n .then((result: any) => {\r\n result.json();\r\n })\r\n .then((resultJSON: any) => {\r\n if (this.props.updateStaff)\r\n this.props.updateStaff(this.props.user.id, 'team', teamId);\r\n });\r\n }\r\n };\r\n\r\n public render() {\r\n const userProfile = { firstName: this.props.user.firstName, lastName: this.props.user.lastName, id: this.props.user.id } as ListItem;\r\n\r\n const { departments, teams } = this.props;\r\n const { newPassword, copied } = this.state;\r\n const hasDepartments = departments\r\n ? Object.keys(departments).length > 0\r\n : false;\r\n const hasTeams = teams ? Object.keys(teams).length > 0 : false;\r\n\r\n const popup = this.props.isAdminPage ?\r\n Edit\r\n }\r\n on='click'\r\n basic\r\n >\r\n \r\n {newPassword && (\r\n
\r\n

{newPassword} Click to copy =>

\r\n this.setState({ copied: true })}\r\n >\r\n \r\n \r\n
\r\n )}\r\n {copied &&

Copied!

}\r\n\r\n {hasDepartments && (\r\n
Add/Remove from Departments
\r\n )}\r\n {departments &&\r\n departments.map((dept: IDeptObj) => (\r\n this.updateDepartment(dept.id)}\r\n />\r\n ))}\r\n {hasTeams &&
Add/Remove from Teams
}\r\n {teams &&\r\n teams.map((team: ITeamObj) => (\r\n this.updateTeam(team.id)}\r\n />\r\n ))}\r\n \r\n : <>;\r\n if (this.props.isAdminView) {\r\n return (\r\n \r\n \r\n \r\n {`${this.props.user.firstName} ${this.props.user.lastName}`}\r\n \r\n \r\n {this.props.typology}\r\n \r\n \r\n \r\n {popup}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n {(this.props.completedAssessments < 6)\r\n ? \r\n : }\r\n \r\n \r\n
\r\n ANALYTICAL\r\n
\r\n
\r\n ENGAGING\r\n
\r\n = 0 ? this.ENGAGING_COLOR : this.ANALYTICAL_COLOR}\r\n />\r\n
\r\n \r\n
\r\n STRUCTURED\r\n
\r\n
\r\n CONCEPTUAL\r\n
\r\n = 0 ? this.CONCEPTUAL_COLOR : this.STRUCTURED_COLOR}\r\n />\r\n
\r\n \r\n
\r\n AGREEABLE\r\n
\r\n
\r\n AUTONOMOUS\r\n
\r\n = 0 ? this.AUTONOMOUS_COLOR : this.AGREEABLE_COLOR}\r\n />\r\n
\r\n
\r\n {popup}\r\n
\r\n
\r\n )\r\n }\r\n }\r\n}","import * as React from 'react';\r\nimport {\r\n Segment,\r\n Header\r\n} from 'semantic-ui-react';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport 'chartjs-plugin-datalabels';\r\nimport { IStaffResultsObj } from '../models/StaffResultModel';\r\nimport {\r\n IUserObj\r\n} from '../models/ObjectsModel';\r\n\r\nexport interface OrganizationalTendenciesChartProps {\r\n staffResults: IStaffResultsObj | undefined;\r\n filterStaff: IUserObj[];\r\n segmentClassName: string;\r\n name?:string;\r\n}\r\n\r\nexport interface OrganizationalTendenciesChartState {\r\n orgTendencies: any;\r\n}\r\n\r\nexport default class OrganizationalTendenciesChart extends React.Component {\r\n constructor(props: OrganizationalTendenciesChartProps) {\r\n super(props);\r\n this.state = {\r\n orgTendencies: {\r\n Analytical: 0,\r\n Engaging: 0,\r\n Structured: 0,\r\n Conceptual: 0,\r\n Agreeable: 0,\r\n Autonomous: 0\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.countOrgTendencies();\r\n }\r\n\r\n componentDidUpdate(prevProps: any) {\r\n if (prevProps.filterStaff !== this.props.filterStaff) {\r\n this.countOrgTendencies();\r\n }\r\n }\r\n\r\n public render() {\r\n const upperRowData = {\r\n labels: ['ANALYTICAL', 'STRUCTURED', 'AGREEABLE'],\r\n datasets: [{\r\n data: [this.state.orgTendencies.Analytical, this.state.orgTendencies.Structured, this.state.orgTendencies.Agreeable],\r\n backgroundColor: [\"darkviolet\", \"black\", \"darkolivegreen\"]\r\n }]\r\n };\r\n\r\n const lowerRowData = {\r\n labels: ['ENGAGING', 'CONCEPTUAL', 'AUTONOMOUS'],\r\n datasets: [{\r\n data: [this.state.orgTendencies.Engaging, this.state.orgTendencies.Conceptual, this.state.orgTendencies.Autonomous],\r\n backgroundColor: [\"darkred\", \"sandybrown\", \"lightseagreen\"]\r\n }]\r\n };\r\n\r\n\r\n const upperOption = {\r\n legend: {\r\n display: false\r\n },\r\n plugins: {\r\n datalabels: {\r\n display: false\r\n }\r\n },\r\n scales: {\r\n xAxes: [{\r\n barPercentage: 0.3,\r\n gridLines: {\r\n display: false\r\n },\r\n ticks: {\r\n fontSize: 15,\r\n fontStyle: \"bold\"\r\n }\r\n }],\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n max: 50\r\n }\r\n }]\r\n }\r\n };\r\n\r\n const lowerOption = {\r\n legend: {\r\n display: false\r\n },\r\n plugins: {\r\n datalabels: {\r\n display: false\r\n }\r\n },\r\n scales: {\r\n xAxes: [{\r\n position: 'top',\r\n barPercentage: 0.3,\r\n gridLines: {\r\n display: false\r\n },\r\n ticks: {\r\n fontSize: 15,\r\n fontStyle: \"bold\"\r\n }\r\n }],\r\n yAxes: [{\r\n ticks: {\r\n reverse: true,\r\n beginAtZero: true,\r\n max: 50\r\n }\r\n }]\r\n }\r\n };\r\n\r\n return (\r\n
{this.props.name ? `Overview of ${this.props.name}` : 'Organizational tendencies'}
\r\n \r\n \r\n
)\r\n }\r\n\r\n private countOrgTendencies() {\r\n let tendencies = {\r\n Analytical: 0,\r\n Engaging: 0,\r\n Structured: 0,\r\n Conceptual: 0,\r\n Agreeable: 0,\r\n Autonomous: 0\r\n };\r\n\r\n let tendenciesCount = {\r\n Analytical: 0,\r\n Engaging: 0,\r\n Structured: 0,\r\n Conceptual: 0,\r\n Agreeable: 0,\r\n Autonomous: 0\r\n };\r\n\r\n if (this.props.staffResults) {\r\n for (var item in this.props.staffResults) {\r\n if (this.props.filterStaff.find(x => x.id.toString() === item)) {\r\n if (this.props.staffResults[item].assessmentDto.agreeableAutonomousScore > 0) {\r\n tendencies.Autonomous += Math.abs(this.props.staffResults[item].assessmentDto.agreeableAutonomousScore);\r\n tendenciesCount.Autonomous++;\r\n } else if (this.props.staffResults[item].assessmentDto.agreeableAutonomousScore < 0) {\r\n tendencies.Agreeable += Math.abs(this.props.staffResults[item].assessmentDto.agreeableAutonomousScore);\r\n tendenciesCount.Agreeable++;\r\n }\r\n\r\n if (this.props.staffResults[item].assessmentDto.analyticalEngagingScore > 0) {\r\n tendencies.Engaging += Math.abs(this.props.staffResults[item].assessmentDto.analyticalEngagingScore);\r\n tendenciesCount.Engaging++;\r\n\r\n } else if (this.props.staffResults[item].assessmentDto.analyticalEngagingScore < 0) {\r\n tendencies.Analytical += Math.abs(this.props.staffResults[item].assessmentDto.analyticalEngagingScore);\r\n tendenciesCount.Analytical++;\r\n }\r\n\r\n if (this.props.staffResults[item].assessmentDto.structuredConceptualScore > 0) {\r\n tendencies.Conceptual += Math.abs(this.props.staffResults[item].assessmentDto.structuredConceptualScore);\r\n tendenciesCount.Conceptual++;\r\n } else if (this.props.staffResults[item].assessmentDto.structuredConceptualScore < 0) {\r\n tendencies.Structured += Math.abs(this.props.staffResults[item].assessmentDto.structuredConceptualScore);\r\n tendenciesCount.Structured++;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (tendenciesCount.Agreeable !== 0) {\r\n tendencies.Agreeable = Math.round(tendencies.Agreeable * 5 / this.props.filterStaff.length);\r\n }\r\n\r\n if (tendenciesCount.Analytical !== 0) {\r\n tendencies.Analytical = Math.round(tendencies.Analytical * 5 / this.props.filterStaff.length);\r\n }\r\n\r\n if (tendenciesCount.Autonomous !== 0) {\r\n tendencies.Autonomous = Math.round(tendencies.Autonomous * 5 / this.props.filterStaff.length);\r\n }\r\n if (tendenciesCount.Conceptual !== 0) {\r\n tendencies.Conceptual = Math.round(tendencies.Conceptual * 5 / this.props.filterStaff.length);\r\n }\r\n if (tendenciesCount.Engaging !== 0) {\r\n tendencies.Engaging = Math.round(tendencies.Engaging * 5 / this.props.filterStaff.length);\r\n }\r\n if (tendenciesCount.Structured !== 0) {\r\n tendencies.Structured = Math.round(tendencies.Structured * 5 / this.props.filterStaff.length);\r\n }\r\n\r\n this.setState({\r\n orgTendencies: tendencies\r\n });\r\n }\r\n}","import * as React from 'react';\r\nimport {\r\n Segment,\r\n Header\r\n} from 'semantic-ui-react';\r\nimport { HorizontalBar } from 'react-chartjs-2';\r\nimport 'chartjs-plugin-datalabels';\r\nimport { IStaffResultsObj } from '../models/StaffResultModel';\r\nimport {\r\n IUserObj\r\n} from '../models/ObjectsModel';\r\n\r\n\r\nexport interface ICowokersAtAGlanceChartProps {\r\n staffResults: IStaffResultsObj | undefined;\r\n filterStaff: IUserObj[];\r\n segmentClassName: string;\r\n name?:string;\r\n}\r\n\r\nexport interface ICowokersAtAGlanceChartState {\r\n staffAtAGlance: any;\r\n}\r\nexport default class CowokersAtAGlanceChart extends React.Component{\r\n constructor(props: ICowokersAtAGlanceChartProps) {\r\n super(props);\r\n this.state = {\r\n staffAtAGlance: {\r\n HarmonyArchitect: 0,\r\n Theorist: 0,\r\n DecisionMaker: 0,\r\n Philosopher: 0,\r\n Socializer: 0,\r\n Driver: 0,\r\n Sympathizer: 0,\r\n Challenger: 0,\r\n Chameleon: 0\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.countStaffAtAGlance();\r\n }\r\n\r\n componentDidUpdate(prevProps: any) {\r\n if (prevProps.filterStaff !== this.props.filterStaff) {\r\n this.countStaffAtAGlance();\r\n }\r\n }\r\n\r\n public render() {\r\n const data = {\r\n labels: ['Harmony Architect', 'Decision Maker', 'Philosopher', 'Theorist', 'Socializer', 'Sympathizer', 'Driver', 'Challenger', 'Chameleon'],\r\n datasets: [{\r\n backgroundColor: 'rgba(52,198,244)',\r\n data: [this.state.staffAtAGlance.HarmonyArchitect, this.state.staffAtAGlance.DecisionMaker, this.state.staffAtAGlance.Philosopher,\r\n this.state.staffAtAGlance.Theorist, this.state.staffAtAGlance.Socializer, this.state.staffAtAGlance.Sympathizer,\r\n this.state.staffAtAGlance.Driver, this.state.staffAtAGlance.Challenger, this.state.staffAtAGlance.Chameleon]\r\n }]\r\n };\r\n\r\n const option = {\r\n plugins: {\r\n datalabels: {\r\n display: true,\r\n color: 'white',\r\n font: {\r\n style: \"bold\",\r\n size: 18\r\n },\r\n formatter: (value: any, context: any) => {\r\n let percent = (this.props.filterStaff.length !== 0 ? (value / this.props.filterStaff.length) * 100 : 0);\r\n percent = Math.round(percent);\r\n return percent === 0 ? '' : `${percent}%`;\r\n }\r\n }\r\n },\r\n legend: {\r\n display: false\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: false,\r\n ticks: {\r\n max: this.props.filterStaff.length\r\n }\r\n }],\r\n yAxes: [\r\n {\r\n ticks: {\r\n fontSize: 15\r\n }\r\n }\r\n ]\r\n }\r\n };\r\n\r\n return (\r\n
{this.props.name ? `Tendencies of ${this.props.name}` : 'My Co-workers at a glance'}
\r\n \r\n
\r\n );\r\n }\r\n\r\n private countStaffAtAGlance() {\r\n let atAGlance = {\r\n HarmonyArchitect: 0,\r\n Theorist: 0,\r\n DecisionMaker: 0,\r\n Philosopher: 0,\r\n Socializer: 0,\r\n Driver: 0,\r\n Sympathizer: 0,\r\n Challenger: 0,\r\n Chameleon: 0\r\n };\r\n if(this.props.staffResults) {\r\n for(var item in this.props.staffResults) {\r\n if(this.props.filterStaff.find(x => x.id.toString() === item)) {\r\n switch (this.props.staffResults[item].typology) {\r\n case 'Harmony Architect':\r\n atAGlance.HarmonyArchitect++;\r\n break;\r\n case 'Decision Maker':\r\n atAGlance.DecisionMaker++;\r\n break;\r\n case 'Philosopher':\r\n atAGlance.Philosopher++;\r\n break;\r\n case 'Theorist':\r\n atAGlance.Theorist++;\r\n break;\r\n case 'Socializer':\r\n atAGlance.Socializer++;\r\n break;\r\n case 'Sympathizer':\r\n atAGlance.Sympathizer++;\r\n break;\r\n case 'Driver':\r\n atAGlance.Driver++;\r\n break;\r\n case 'Challenger':\r\n atAGlance.Challenger++;\r\n break;\r\n case 'Chameleon':\r\n atAGlance.Chameleon++;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.setState({\r\n staffAtAGlance: atAGlance\r\n });\r\n }\r\n}","import * as React from 'react';\r\nimport {\r\n Card,\r\n Segment,\r\n Grid,\r\n Header,\r\n Input,\r\n DropdownItemProps,\r\n Dropdown,\r\n Radio\r\n} from 'semantic-ui-react';\r\nimport { IStaffResultsObj } from '../models/StaffResultModel';\r\nimport {\r\n IUserObj,\r\n ITeamObj,\r\n IDeptObj\r\n} from '../models/ObjectsModel';\r\nimport { AssessmentStatModel } from '../models/AssessmentStatModel';\r\nimport Assessment from '../api/Assessment';\r\nimport orgAdminApi from '../api/OrgAdmin';\r\nimport SpinningLoader from '../components/SpinningLoader';\r\nimport OrgUserListView from '../components/OrgUserListView';\r\nimport OrganizationalTendenciesChart from '../components/OrganizationalTendenciesChart';\r\nimport CowokersAtAGlanceChart from '../components/CoworkersAtAGlanceChart';\r\n\r\n\r\nexport interface IOrganizationPageProps {\r\n match: any;\r\n}\r\n\r\nexport interface IOrganizationPageState {\r\n checked: string | null;\r\n selectedFilter: string;\r\n dropDownItems: DropdownItemProps[];\r\n orgDetails: any;\r\n orgId: number;\r\n filterStaff: IUserObj[];\r\n staff: IUserObj[];\r\n staffResults: IStaffResultsObj | undefined;\r\n depts: IDeptObj[];\r\n teams: ITeamObj[];\r\n isLoading: boolean;\r\n searchQuery: string;\r\n}\r\n\r\nexport default class OrganizationPage extends React.Component<\r\n IOrganizationPageProps, IOrganizationPageState\r\n >{\r\n constructor(props: IOrganizationPageProps) {\r\n super(props);\r\n this.state = {\r\n checked: 'depts',\r\n dropDownItems: [],\r\n orgDetails: null,\r\n selectedFilter: '',\r\n filterStaff: [],\r\n staff: [],\r\n staffResults: undefined,\r\n orgId: 0,\r\n depts: [],\r\n teams: [],\r\n isLoading: true,\r\n searchQuery: ''\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n await Promise.all([\r\n this.getOrganizationalDetails(),\r\n this.getAllUsersByDept(),\r\n this.getStaffAssessmentResults(),\r\n ]);\r\n\r\n this.getDropDown();\r\n }\r\n\r\n getDropDown() {\r\n let newMenu: any = [];\r\n if (this.state.checked === 'depts') {\r\n newMenu = this.state.depts.map((dept: IDeptObj, index: number) => {\r\n return {\r\n key: index,\r\n text: dept.name,\r\n value: dept.name,\r\n };\r\n });\r\n newMenu.unshift({\r\n key: 'All Departments',\r\n text: 'All Departments',\r\n value: 'All Departments',\r\n });\r\n\r\n this.setState({\r\n selectedFilter: 'All Departments',\r\n dropDownItems: newMenu,\r\n });\r\n\r\n this.getFilteredStaffs('All Departments', this.state.checked, this.state.searchQuery);\r\n } else {\r\n newMenu = this.state.teams.map((team: ITeamObj, index: number) => {\r\n return {\r\n key: index,\r\n text: team.name,\r\n value: team.name,\r\n };\r\n });\r\n newMenu.unshift({\r\n key: 'All Teams',\r\n text: 'All Teams',\r\n value: 'All Teams',\r\n });\r\n this.setState({ selectedFilter: 'All Teams', dropDownItems: newMenu });\r\n this.getFilteredStaffs('All Teams', this.state.checked, this.state.searchQuery);\r\n }\r\n }\r\n\r\n\r\n getAllUsersByDept = async() => {\r\n await orgAdminApi\r\n .getAllUsersByDept(this.props.match.params.orgId)\r\n .then((result: any) =>\r\n result.json().then((resultJSON: any) => {\r\n const staff: IUserObj[] = [];\r\n if (resultJSON) {\r\n resultJSON.users.map((user: any) => {\r\n staff.push(user);\r\n });\r\n }\r\n this.setState({\r\n orgId: Number.parseInt(this.props.match.params.orgId),\r\n staff\r\n });\r\n })\r\n );\r\n };\r\n\r\n getOrganizationalDetails = () => {\r\n orgAdminApi\r\n .getOrganizationDetails(this.props.match.params.orgId)\r\n .then(response => {\r\n response\r\n .json()\r\n .then((responseJSON: any) => {\r\n this.setState({\r\n orgDetails: responseJSON.orgDetails.info,\r\n depts: responseJSON.orgDetails.departments,\r\n teams: responseJSON.orgDetails.teams\r\n });\r\n });\r\n });\r\n };\r\n\r\n getStaffAssessmentResults = async () => {\r\n const orgId = this.props.match.params.orgId;\r\n\r\n const results = await Assessment.getAllOrgMemberResults(orgId);\r\n this.setState({\r\n staffResults: results,\r\n });\r\n };\r\n\r\n // Query returns users with associated departments. Find staff that contain the selected department.\r\n sortByFilter = (e: any, data: any) => {\r\n const selectedFilter = data.value;\r\n this.setState({ selectedFilter });\r\n\r\n this.getFilteredStaffs(selectedFilter, this.state.checked, this.state.searchQuery);\r\n };\r\n\r\n handleRadioChange = (e: any) => {\r\n this.setState(\r\n {\r\n checked: e.target.previousSibling.value\r\n },\r\n () => {\r\n this.getDropDown();\r\n }\r\n );\r\n\r\n\r\n };\r\n\r\n public render() {\r\n if (this.state.isLoading) {\r\n return \r\n } else {\r\n this.renderStaffCards();\r\n return \r\n \r\n \r\n \r\n \r\n
My Organization
\r\n
{this.state.orgDetails ? this.state.orgDetails.name : ''}
\r\n
\r\n
\r\n \r\n \r\n
Filter By:
\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 {this.renderStaffCards()}\r\n \r\n
\r\n
\r\n
\r\n }\r\n }\r\n\r\n private searchCards = (e: React.ChangeEvent) => {\r\n this.setState({\r\n searchQuery: e.target.value.toLowerCase()\r\n });\r\n this.getFilteredStaffs(this.state.selectedFilter, this.state.checked, e.target.value.toLowerCase());\r\n };\r\n\r\n private getFilteredStaffs(selectedFilter: string, checked: string | null, searchQuery: string) {\r\n let currentStaffs: IUserObj[] = [];\r\n let fullName = ''\r\n let filteredStaffs: IUserObj[] = [];\r\n\r\n if (selectedFilter == 'All Departments' || selectedFilter == 'All Teams' || selectedFilter == '') {\r\n filteredStaffs = [...this.state.staff];\r\n } else {\r\n filteredStaffs = checked == 'depts'\r\n ? this.state.staff.filter((staff: IUserObj) => {\r\n let departments = staff.Departments.map(\r\n (dept: IDeptObj) => dept.name\r\n );\r\n return departments.includes(selectedFilter);\r\n })\r\n : this.state.staff.filter((staff: IUserObj) => {\r\n let teams = staff.Teams.map((team: ITeamObj) => team.name);\r\n return teams.includes(selectedFilter);\r\n });\r\n }\r\n\r\n if (filteredStaffs.length > 0 && searchQuery !== '') {\r\n filteredStaffs.map((item) => {\r\n if (item.firstName) {\r\n fullName = item.firstName;\r\n }\r\n if (item.lastName) {\r\n fullName = `${fullName} ${item.lastName}`\r\n }\r\n if (fullName.toLowerCase().includes(searchQuery)) {\r\n currentStaffs.push(item);\r\n }\r\n\r\n })\r\n } else {\r\n currentStaffs = [...filteredStaffs];\r\n }\r\n\r\n this.setState({\r\n filterStaff: currentStaffs,\r\n isLoading: false\r\n });\r\n }\r\n\r\n private renderStaffCards() {\r\n\r\n if (this.state.filterStaff.length > 0) {\r\n const staffCards = this.state.filterStaff.map((staffCard: IUserObj) => {\r\n if (this.state.staffResults) {\r\n const assessmentStat = this.state.staffResults[staffCard.id];\r\n const AEStat = {\r\n min: assessmentStat.assessmentDto.analyticalEngagingScore,\r\n average: assessmentStat.assessmentDto.analyticalEngagingScore\r\n } as AssessmentStatModel;\r\n const AAStat = {\r\n min: assessmentStat.assessmentDto.agreeableAutonomousScore,\r\n average: assessmentStat.assessmentDto.agreeableAutonomousScore\r\n } as AssessmentStatModel;\r\n const SCStat = {\r\n min: assessmentStat.assessmentDto.structuredConceptualScore,\r\n average: assessmentStat.assessmentDto.structuredConceptualScore\r\n }\r\n return \r\n }\r\n });\r\n return (\r\n {staffCards}\r\n );\r\n }\r\n }\r\n}","import * as React from 'react';\r\nimport {\r\n Card,\r\n Segment,\r\n Grid,\r\n Header,\r\n Dropdown,\r\n DropdownItemProps,\r\n Radio,\r\n Input\r\n} from 'semantic-ui-react';\r\nimport adminApi from '../api/OrgAdmin';\r\nimport {\r\n IUserObj,\r\n IDeptObj,\r\n ITeamObj,\r\n} from '../models/ObjectsModel';\r\nimport { AssessmentStatModel } from '../models/AssessmentStatModel';\r\nimport { IStaffResultsObj } from '../models/StaffResultModel';\r\nimport OrgUserListView from '../components/OrgUserListView';\r\n\r\n\r\nexport interface IStaffListingProps {\r\n staff: IUserObj[];\r\n width?: number;\r\n orgId: number;\r\n departments: IDeptObj[];\r\n teams: ITeamObj[];\r\n updateStaff: (user: number, category: string, id: number) => void;\r\n staffResults: IStaffResultsObj;\r\n}\r\n\r\nexport interface IStaffListingState {\r\n checked: string | null;\r\n dropDownItems: DropdownItemProps[];\r\n selectedFilter: string;\r\n filteredStaff: IUserObj[];\r\n searchQuery: string;\r\n}\r\n\r\nexport default class StaffListing extends React.Component<\r\n IStaffListingProps,\r\n IStaffListingState\r\n > {\r\n constructor(props: IStaffListingProps) {\r\n super(props);\r\n\r\n this.state = {\r\n checked: 'depts',\r\n dropDownItems: [],\r\n selectedFilter: '',\r\n filteredStaff: this.props.staff,\r\n searchQuery: ''\r\n };\r\n }\r\n\r\n addUserToDepartment = (userId: number, deptId: number, orgId: number) => {\r\n adminApi.addUserToDepartment(userId, deptId, orgId);\r\n };\r\n\r\n // Semantic UI targets label, which is sibling after the input\r\n handleRadioChange = (e: any) => {\r\n this.setState(\r\n {\r\n checked: e.target.previousSibling.value,\r\n filteredStaff: this.props.staff,\r\n },\r\n () => {\r\n this.getDropDown();\r\n }\r\n );\r\n };\r\n\r\n componentDidMount() {\r\n this.getDropDown();\r\n }\r\n\r\n // componentDidUpdate(prevProps: any) {\r\n // if (prevProps.staffResults !== this.props.staffResults) {\r\n\r\n // }\r\n // }\r\n\r\n getDropDown() {\r\n let newMenu: any = [];\r\n if (this.state.checked === 'depts') {\r\n newMenu = this.props.departments.map((dept: IDeptObj, index: number) => {\r\n return {\r\n key: index,\r\n text: dept.name,\r\n value: dept.name,\r\n };\r\n });\r\n newMenu.unshift({\r\n key: 'All Departments',\r\n text: 'All Departments',\r\n value: 'All Departments',\r\n });\r\n\r\n this.setState({\r\n selectedFilter: 'All Departments',\r\n dropDownItems: newMenu,\r\n });\r\n } else {\r\n newMenu = this.props.teams.map((team: ITeamObj, index: number) => {\r\n return {\r\n key: index,\r\n text: team.name,\r\n value: team.name,\r\n };\r\n });\r\n newMenu.unshift({\r\n key: 'All Teams',\r\n text: 'All Teams',\r\n value: 'All Teams',\r\n });\r\n this.setState({ selectedFilter: 'All Teams', dropDownItems: newMenu });\r\n }\r\n }\r\n\r\n // Query returns users with associated departments. Find staff that contain the selected department.\r\n sortByFilter = (e: any, data: any) => {\r\n const selectedFilter = data.value;\r\n\r\n this.setState({ selectedFilter });\r\n };\r\n\r\n generateStaffListing = (filter: string, searchQuery: string) => {\r\n // const { filteredStaff } = this.state;\r\n const { departments, teams } = this.props;\r\n let staff: IUserObj[] = [];\r\n let fullName = ''\r\n\r\n if (this.props.staff.length > 0 && searchQuery != '') {\r\n this.props.staff.map((item) => {\r\n if (item.firstName) {\r\n fullName = item.firstName;\r\n }\r\n if (item.lastName) {\r\n fullName = `${fullName} ${item.lastName}`\r\n }\r\n if (fullName.toLowerCase().includes(searchQuery)) {\r\n staff.push(item);\r\n }\r\n })\r\n } else {\r\n staff = [...this.props.staff];\r\n }\r\n\r\n let filteredStaff =\r\n this.state.checked == 'depts'\r\n ? staff.filter((staff: IUserObj) => {\r\n let departments = staff.Departments.map(\r\n (dept: IDeptObj) => dept.name\r\n );\r\n return departments.includes(filter);\r\n })\r\n : staff.filter((staff: IUserObj) => {\r\n let teams = staff.Teams.map((team: ITeamObj) => team.name);\r\n return teams.includes(filter);\r\n });\r\n\r\n if (filter == 'All Departments' || filter == 'All Teams') {\r\n return staff.map((member: any) => {\r\n\r\n const assessmentStat = this.props.staffResults[member.id];\r\n const AEStat = {\r\n min: assessmentStat.assessmentDto.analyticalEngagingScore,\r\n average: assessmentStat.assessmentDto.analyticalEngagingScore\r\n } as AssessmentStatModel;\r\n const AAStat = {\r\n min: assessmentStat.assessmentDto.agreeableAutonomousScore,\r\n average: assessmentStat.assessmentDto.agreeableAutonomousScore\r\n } as AssessmentStatModel;\r\n const SCStat = {\r\n min: assessmentStat.assessmentDto.structuredConceptualScore,\r\n average: assessmentStat.assessmentDto.structuredConceptualScore\r\n }\r\n\r\n return (\r\n \r\n );\r\n });\r\n } else {\r\n return filteredStaff.map((member: any) => {\r\n const assessmentStat = this.props.staffResults[member.id];\r\n const AEStat = {\r\n min: assessmentStat.assessmentDto.analyticalEngagingScore,\r\n average: assessmentStat.assessmentDto.analyticalEngagingScore\r\n } as AssessmentStatModel;\r\n const AAStat = {\r\n min: assessmentStat.assessmentDto.agreeableAutonomousScore,\r\n average: assessmentStat.assessmentDto.agreeableAutonomousScore\r\n } as AssessmentStatModel;\r\n const SCStat = {\r\n min: assessmentStat.assessmentDto.structuredConceptualScore,\r\n average: assessmentStat.assessmentDto.structuredConceptualScore\r\n }\r\n return (\r\n \r\n );\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n const { filteredStaff } = this.state;\r\n if (!this.props.staffResults) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n
Staff Overview
\r\n
\r\n \r\n
Filter By:
\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 {filteredStaff.length == 0\r\n ? 'There are no staff in this group'\r\n : this.generateStaffListing(this.state.selectedFilter, this.state.searchQuery)}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n private searchCards = (e: React.ChangeEvent) => {\r\n this.setState({\r\n searchQuery: e.target.value.toLowerCase()\r\n });\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n DropdownItemProps,\r\n Segment,\r\n Grid,\r\n Header,\r\n Button,\r\n Icon,\r\n Form\r\n} from 'semantic-ui-react';\r\nimport adminApi from '../api/OrgAdmin';\r\nimport { IOrgDetailsObj } from '../models/ObjectsModel';\r\n\r\nexport interface IOrganizationDetailsProps {\r\n orgDetails: IOrgDetailsObj;\r\n callback: any;\r\n}\r\n\r\nexport interface IOrganizationDetailsState {\r\n name: string;\r\n editOrgDetails: boolean;\r\n address1: string | null;\r\n address2: string | null;\r\n city: string;\r\n province: string;\r\n postalCode: string;\r\n}\r\n\r\nexport default class OrganizationDetails extends React.Component<\r\n IOrganizationDetailsProps,\r\n IOrganizationDetailsState\r\n > {\r\n private readonly PROVINCE_DROPDOWN_ITEMS: DropdownItemProps[] = [\r\n { key: 0, text: 'Alberta', value: 'Alberta' },\r\n { key: 1, text: 'British Columbia', value: 'British Columbia' },\r\n { key: 2, text: 'Manitoba', value: 'Manitoba' },\r\n { key: 3, text: 'New Brunswick', value: 'New Brunswick' },\r\n { key: 4, text: 'Newfoundland and Labrador', value: 'Newfoundland and Labrador' },\r\n { key: 5, text: 'North West Territories', value: 'North West Territories' },\r\n { key: 6, text: 'Nova Scotia', value: 'Nova Scotia' },\r\n { key: 7, text: 'Nunavut', value: 'Nunavut' },\r\n { key: 8, text: 'Ontario', value: 'Ontario' },\r\n { key: 9, text: 'Prince Edward Island', value: 'Prince Edward Island' },\r\n { key: 10, text: 'Quebec', value: 'Quebec' },\r\n { key: 11, text: 'Saskatchewan', value: 'Saskatchewan' },\r\n { key: 12, text: 'Yukon', value: 'Yukon' }\r\n ];\r\n\r\n constructor(props: IOrganizationDetailsProps) {\r\n super(props);\r\n\r\n this.state = {\r\n editOrgDetails: false,\r\n name: this.props.orgDetails? this.props.orgDetails.name : '',\r\n address1: this.props.orgDetails ? this.props.orgDetails.Address1 : '',\r\n address2: this.props.orgDetails ? this.props.orgDetails.Address2 : '',\r\n city: this.props.orgDetails ? this.props.orgDetails.City : '',\r\n province: this.props.orgDetails ? this.props.orgDetails.Province : '',\r\n postalCode: this.props.orgDetails ? this.props.orgDetails.Postal_Code : '',\r\n };\r\n }\r\n\r\n componentDidMount() { }\r\n\r\n toggleEditOrgDetails = () => {\r\n this.setState({ editOrgDetails: !this.state.editOrgDetails });\r\n };\r\n\r\n cancelOrgDetails = () => {\r\n this.setState({\r\n editOrgDetails: false,\r\n name: this.props.orgDetails.name,\r\n address1: this.props.orgDetails.Address1,\r\n address2: this.props.orgDetails.Address2,\r\n city: this.props.orgDetails.City,\r\n province: this.props.orgDetails.Province,\r\n postalCode: this.props.orgDetails.Postal_Code,\r\n });\r\n };\r\n\r\n handleOrgDetailUpdate = (e: React.ChangeEvent) => {\r\n const { name, value } = e.target;\r\n this.setState({\r\n [name]: value,\r\n } as Pick);\r\n };\r\n\r\n handleOrgProvinceUpdate = (e: any, { name, value }: any) => {\r\n this.setState({\r\n province: value\r\n } as Pick);\r\n };\r\n\r\n handleUpdateCallback = (orgDetails: IOrgDetailsObj) => {\r\n this.props.callback(orgDetails);\r\n this.setState({\r\n editOrgDetails: !this.state.editOrgDetails,\r\n });\r\n };\r\n\r\n public render() {\r\n const { orgDetails } = this.props;\r\n const orgDetailsObj: IOrgDetailsObj = {\r\n Address1: this.state.address1,\r\n Address2: this.state.address2,\r\n City: this.state.city,\r\n Province: this.state.province,\r\n Postal_Code: this.state.postalCode,\r\n name: this.state.name,\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n
Organization Details
\r\n
\r\n \r\n {this.state.editOrgDetails ? (\r\n
\r\n \r\n Cancel\r\n \r\n this.handleUpdateCallback(orgDetailsObj)}\r\n floated='right'\r\n >\r\n Update\r\n \r\n
\r\n ) : (\r\n \r\n Edit Details\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","export default class EmailTemplates {\r\n static inviteOrgAdmin() {\r\n return `

Admin Registration Request

\r\n

Firstly, thank you for choosing Tendencies as an organizational development \r\n tool for you and your staff!! We believe you will find it very helpful in \r\n strengthening the culture of mutual understanding and respect amongst\r\n your staff.

\r\n

Secondly, you will serve as the Administrator for the Tendencies application.\r\n You can add (and delete when necessary) others to serve as Administrators if you\r\n wish.

`;\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport adminApi from '../api/Admin';\r\nimport { Modal, Button, Form, Message } from 'semantic-ui-react';\r\nimport EmailTemplates from '../models/EmailTemplates';\r\n\r\nexport interface IInviteOrgAdminProps {\r\n orgId: number;\r\n triggerElement: (clickFn: (e: React.SyntheticEvent) => void) => JSX.Element\r\n}\r\n\r\nexport interface IInviteOrgAdminState {\r\n email: string;\r\n inviteSentSuccess: boolean;\r\n inviteSentFailure: boolean;\r\n requestPending: boolean;\r\n isModalOpen: boolean\r\n}\r\n\r\nexport default class InviteOrgAdmin extends React.Component<\r\n IInviteOrgAdminProps,\r\n IInviteOrgAdminState\r\n > {\r\n constructor(props: IInviteOrgAdminProps) {\r\n super(props);\r\n\r\n this.state = {\r\n email: '',\r\n inviteSentSuccess: false,\r\n inviteSentFailure: false,\r\n isModalOpen: false,\r\n requestPending: false,\r\n };\r\n }\r\n\r\n onEmailUpdate = (value: string) => {\r\n this.setState({\r\n email: value,\r\n inviteSentSuccess: false,\r\n inviteSentFailure: false,\r\n requestPending: false\r\n });\r\n };\r\n\r\n sendInvite = () => {\r\n const orgId = this.props.orgId;\r\n this.setState(\r\n {\r\n requestPending: true,\r\n },\r\n () =>\r\n adminApi\r\n .sendOrgAdminInvite(\r\n this.state.email,\r\n EmailTemplates.inviteOrgAdmin(),\r\n orgId\r\n )\r\n .then(() => {\r\n this.setState({\r\n inviteSentSuccess: true,\r\n requestPending: false,\r\n });\r\n })\r\n .catch(() => {\r\n this.setState({\r\n inviteSentFailure: true,\r\n requestPending: false,\r\n });\r\n })\r\n );\r\n };\r\n\r\n public render() {\r\n return (\r\n \r\n \r\n Invite Organization Admin\r\n \r\n \r\n
\r\n this.onEmailUpdate(e.target.value)}\r\n />\r\n {this.state.inviteSentSuccess &&\r\n }\r\n {this.state.inviteSentFailure &&\r\n }\r\n \r\n {this.state.requestPending &&\r\n \r\n

Request pending.....

\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n private handleOpen = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this.setState({ isModalOpen: true });\r\n };\r\n private handleClose = () =>\r\n this.setState({\r\n email: '',\r\n inviteSentSuccess: false,\r\n inviteSentFailure: false,\r\n isModalOpen: false,\r\n requestPending: false,\r\n });\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n Header,\r\n Grid,\r\n Checkbox,\r\n Button,\r\n CheckboxProps,\r\n} from 'semantic-ui-react';\r\nimport { IUserObj } from '../models/ObjectsModel';\r\nimport adminApi from '../api/Admin';\r\n\r\nexport interface IManageAdminsPopupProps {\r\n admins: IUserObj[];\r\n orgId: number;\r\n updateAdmins: (orgId: number, admins: IUserObj[]) => void;\r\n}\r\n\r\nexport interface IManageAdminsPopupState {\r\n checkedAdminIds: number[];\r\n}\r\n\r\nexport default class ManageAdminsPopup extends React.Component<\r\n IManageAdminsPopupProps,\r\n IManageAdminsPopupState\r\n > {\r\n constructor(props: IManageAdminsPopupProps) {\r\n super(props);\r\n\r\n this.state = { checkedAdminIds: [] };\r\n }\r\n\r\n updateRemoveAdmins = (\r\n event: React.FormEvent,\r\n data: CheckboxProps\r\n ) => {\r\n const adminsToBeRemoved: number[] = this.state.checkedAdminIds;\r\n if (data.value) {\r\n const adminId = Number.parseInt(data.value.toString());\r\n if (data.checked) {\r\n adminsToBeRemoved.push(adminId);\r\n } else {\r\n const adminIndex = adminsToBeRemoved.findIndex(\r\n searchAdmin => searchAdmin === adminId\r\n );\r\n adminsToBeRemoved.splice(adminIndex, 1);\r\n }\r\n this.setState({\r\n checkedAdminIds: adminsToBeRemoved,\r\n });\r\n }\r\n };\r\n\r\n removeAdmins = () => {\r\n adminApi\r\n .removeOrgAdminGroup(this.props.orgId, this.state.checkedAdminIds)\r\n .then(response => {\r\n if (response.msg) {\r\n const adminsCopy = this.props.admins.slice();\r\n this.state.checkedAdminIds.forEach(checkedAdmin => {\r\n const index = adminsCopy.findIndex(\r\n searchAdmin => searchAdmin.id === checkedAdmin\r\n );\r\n adminsCopy.splice(index, 1);\r\n });\r\n this.props.updateAdmins(this.props.orgId, adminsCopy);\r\n this.setState({ checkedAdminIds: [] }, () => { });\r\n } else {\r\n console.log(response.err);\r\n }\r\n });\r\n };\r\n public render() {\r\n return (\r\n \r\n \r\n \r\n
Remove Admin
\r\n
\r\n
\r\n {this.props.admins.map(admin => (\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","import * as React from 'react';\r\nimport {\r\n Icon,\r\n Segment,\r\n Header,\r\n Grid,\r\n Button,\r\n Popup,\r\n Item\r\n} from 'semantic-ui-react';\r\nimport OrgUserListView from '../components/OrgUserListView';\r\nimport { IUserObj } from '../models/ObjectsModel';\r\nimport InviteOrgAdmin from '../presentation/InviteOrgAdmin';\r\nimport ManageAdminsPopup from './ManageAdminsPopup';\r\nimport { IStaffResultsObj } from '../models/StaffResultModel';\r\nimport { AssessmentStatModel } from '../models/AssessmentStatModel';\r\n\r\nexport interface IOrganizationAdminsProps {\r\n admins: IUserObj[];\r\n orgId: number;\r\n updateAdmins: (orgID: number, admins: IUserObj[]) => void;\r\n staffResults: IStaffResultsObj;\r\n}\r\n\r\nexport default class OrganizationAdmins extends React.Component<\r\n IOrganizationAdminsProps, {}> {\r\n\r\n manageAdminsPopup = () => (\r\n Remove Admin -}\r\n on='click'\r\n basic\r\n position='bottom center'\r\n >\r\n \r\n \r\n );\r\n\r\n public render() {\r\n return (\r\n \r\n \r\n \r\n \r\n
Administrators
\r\n
\r\n \r\n \r\n {this.manageAdminsPopup()}\r\n \r\n
\r\n
\r\n \r\n {this.props.admins.map((admin) => {\r\n const analyticalEngagingStat = {\r\n min: this.props.staffResults[admin.id].assessmentDto.analyticalEngagingScore,\r\n average: this.props.staffResults[admin.id].assessmentDto.analyticalEngagingScore\r\n } as AssessmentStatModel;\r\n\r\n const agreeableAutonomousStat = {\r\n min: this.props.staffResults[admin.id].assessmentDto.agreeableAutonomousScore,\r\n average: this.props.staffResults[admin.id].assessmentDto.agreeableAutonomousScore\r\n } as AssessmentStatModel;\r\n\r\n const structuredConceptualStat = {\r\n min: this.props.staffResults[admin.id].assessmentDto.structuredConceptualScore,\r\n average: this.props.staffResults[admin.id].assessmentDto.structuredConceptualScore\r\n } as AssessmentStatModel;\r\n\r\n return ();\r\n })}\r\n \r\n
\r\n );\r\n }\r\n\r\n private renderInviteBtn = (clickFn: (e: React.SyntheticEvent) => void) => {\r\n return (\r\n \r\n );\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n Segment,\r\n Header,\r\n Grid,\r\n GridColumn,\r\n Button,\r\n Input,\r\n Tab,\r\n Icon,\r\n Label,\r\n Popup,\r\n Message,\r\n Card\r\n} from 'semantic-ui-react';\r\nimport orgAdminApi from '../../api/OrgAdmin';\r\nimport StaffListing from '../../components/StaffListing';\r\nimport { Redirect } from 'react-router';\r\nimport OrganizationDetails from '../../components/OrganizationDetails';\r\nimport { RoleEnum } from '../../models/RoleEnums';\r\nimport { IStaffResultsObj } from '../../models/StaffResultModel';\r\nimport {\r\n IUserObj,\r\n ITeamObj,\r\n IDeptObj,\r\n IOrgDetailsObj\r\n} from '../../models/ObjectsModel';\r\nimport OrganizationAdmins from '../../components/OrganizationAdmins';\r\nimport SpinningLoader from '../../components/SpinningLoader';\r\nimport OrganizationalTendenciesChart from '../../components/OrganizationalTendenciesChart';\r\nimport CowokersAtAGlanceChart from '../../components/CoworkersAtAGlanceChart';\r\nimport CopyToClipboard from 'react-copy-to-clipboard';\r\nimport Assessment from '../../api/Assessment';\r\n\r\nexport interface IOrgAdminHomeProps {\r\n match: any;\r\n}\r\nexport interface IOrgAdminHomeState {\r\n orgDetails: any;\r\n activeName: string;\r\n admins: IUserObj[];\r\n depts: IDeptObj[];\r\n teams: ITeamObj[];\r\n isLoading: boolean;\r\n isSectionLoading: boolean;\r\n isTeamDeptStatShow: boolean;\r\n redirect: boolean;\r\n displayDepartmentInput: boolean;\r\n displayTeamInput: boolean;\r\n departmentName: string;\r\n teamName: string;\r\n activeTab: string;\r\n dbQuery: any;\r\n orgId: number;\r\n filterStaff: IUserObj[];\r\n staff: IUserObj[];\r\n staffResults: IStaffResultsObj | undefined;\r\n deptCount: any;\r\n teamCount: any;\r\n orgTendencies: any;\r\n staffAtAGlance: any;\r\n signUpLink: string;\r\n errorMessage: string;\r\n isMessageVisible: boolean;\r\n messageType: string;\r\n}\r\n\r\nexport default class OrgAdminHome extends React.Component<\r\n IOrgAdminHomeProps,\r\n IOrgAdminHomeState\r\n > {\r\n constructor(props: IOrgAdminHomeProps) {\r\n super(props);\r\n\r\n this.state = {\r\n activeName: '',\r\n orgDetails: null,\r\n admins: [],\r\n staff: [],\r\n filterStaff: [],\r\n staffResults: undefined,\r\n orgId: 0,\r\n depts: [],\r\n teams: [],\r\n isLoading: true,\r\n isSectionLoading: false,\r\n isTeamDeptStatShow: false,\r\n redirect: false,\r\n displayDepartmentInput: false,\r\n displayTeamInput: false,\r\n departmentName: '',\r\n teamName: '',\r\n activeTab: 'organization',\r\n dbQuery: '',\r\n deptCount: {},\r\n teamCount: {},\r\n signUpLink: '',\r\n errorMessage: '',\r\n isMessageVisible: false,\r\n messageType: '',\r\n orgTendencies: {\r\n Analytical: 0,\r\n Engaging: 0,\r\n Structured: 0,\r\n Conceptual: 0,\r\n Agreeable: 0,\r\n Autonomous: 0\r\n },\r\n staffAtAGlance: {\r\n HarmonyArchitect: 0,\r\n Theorist: 0,\r\n DecisionMaker: 0,\r\n Philosopher: 0,\r\n Socializer: 0,\r\n Driver: 0,\r\n Sympathizer: 0,\r\n Challenger: 0,\r\n Chameleon: 0\r\n },\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n Promise.all([\r\n this.getOrganizationalDetails(),\r\n this.getAllUsersByDept(),\r\n this.getStaffAssessmentResults(),\r\n ]).then(() => {\r\n this.setState({\r\n isLoading: false\r\n })\r\n });\r\n }\r\n\r\n getAllUsersByDept = () => {\r\n orgAdminApi\r\n .getAllUsersByDept(this.props.match.params.orgId)\r\n .then((result: any) =>\r\n result.json().then((resultJSON: any) => {\r\n if (resultJSON) {\r\n this.updateAllUsers(resultJSON.users);\r\n }\r\n\r\n this.setState({\r\n dbQuery: resultJSON.results,\r\n orgId: Number.parseInt(this.props.match.params.orgId),\r\n });\r\n })\r\n );\r\n };\r\n //TODO: Handle 401 error more graciously... Right now, redirects to home\r\n getOrganizationalDetails = () => {\r\n orgAdminApi\r\n .getOrganizationDetails(this.props.match.params.orgId)\r\n .then(response => {\r\n response\r\n .json()\r\n .then((responseJSON: any) => {\r\n this.setState({\r\n orgDetails: responseJSON.orgDetails.info,\r\n depts: responseJSON.orgDetails.departments,\r\n teams: responseJSON.orgDetails.teams,\r\n teamName: '',\r\n departmentName: '',\r\n });\r\n })\r\n .catch((err: any) => {\r\n if (response.status == 401) {\r\n this.setState({\r\n redirect: true\r\n });\r\n }\r\n });\r\n });\r\n };\r\n\r\n toggleDepartmentInput = () => {\r\n this.setState({\r\n displayDepartmentInput: !this.state.displayDepartmentInput,\r\n });\r\n };\r\n\r\n updateAllUsers = (users: any) => {\r\n const staff: IUserObj[] = [];\r\n const admins: IUserObj[] = [];\r\n const teamCount: any = {};\r\n const deptCount: any = {};\r\n\r\n users.map((user: any) => {\r\n staff.push(user);\r\n if (user.roleId === RoleEnum.OrgAdmin) {\r\n admins.push(user);\r\n }\r\n\r\n user.Departments.map((dept: IDeptObj) => {\r\n if (deptCount[dept.id]) deptCount[dept.id]++;\r\n else {\r\n deptCount[dept.id] = 1;\r\n }\r\n });\r\n user.Teams.map((team: ITeamObj) => {\r\n if (teamCount[team.id]) teamCount[team.id]++;\r\n else {\r\n teamCount[team.id] = 1;\r\n }\r\n });\r\n });\r\n\r\n this.setState({\r\n staff,\r\n admins,\r\n deptCount,\r\n teamCount\r\n });\r\n }\r\n\r\n toggleTeamInput = () => {\r\n this.setState({\r\n displayTeamInput: !this.state.displayTeamInput,\r\n });\r\n };\r\n\r\n updateDepartmentName = (e: any) => {\r\n this.setState({\r\n departmentName: e.target.value,\r\n });\r\n };\r\n\r\n updateTeamName = (e: any) => {\r\n this.setState({\r\n teamName: e.target.value,\r\n });\r\n };\r\n addDepartment = async () => {\r\n if (this.state.departmentName === '') {\r\n return this.setState({\r\n errorMessage: 'Invalid Name: Name cannot be blank',\r\n isMessageVisible: true,\r\n messageType: 'error',\r\n });\r\n }\r\n try {\r\n this.setState({ isSectionLoading: true });\r\n const response = await orgAdminApi.addDepartmentToOrg(\r\n this.props.match.params.orgId,\r\n this.state.departmentName\r\n );\r\n\r\n const responseJSON = await response.json();\r\n if (responseJSON.err) {\r\n this.setState({\r\n errorMessage: responseJSON.err,\r\n isMessageVisible: true,\r\n messageType: 'error',\r\n });\r\n } else {\r\n this.setState(\r\n {\r\n departmentName: ''\r\n },\r\n () => this.getOrganizationalDetails()\r\n );\r\n }\r\n } catch (err) {\r\n alert(err);\r\n } finally {\r\n this.setState({ isSectionLoading: false });\r\n }\r\n };\r\n\r\n public addTeam = async () => {\r\n if (this.state.teamName === '') {\r\n return this.setState({\r\n errorMessage: 'Invalid Name: Name cannot be blank',\r\n isMessageVisible: true,\r\n messageType: 'error',\r\n });\r\n }\r\n try {\r\n this.setState({\r\n isSectionLoading: true\r\n });\r\n\r\n const response = await orgAdminApi.addTeamToOrg(\r\n this.props.match.params.orgId,\r\n this.state.teamName\r\n );\r\n const responseJSON = await response.json();\r\n if (responseJSON.err) {\r\n this.setState({\r\n errorMessage: responseJSON.err,\r\n isMessageVisible: true,\r\n messageType: 'error',\r\n });\r\n } else {\r\n this.setState(\r\n {\r\n teamName: ''\r\n },\r\n () => this.getOrganizationalDetails()\r\n );\r\n }\r\n } catch (err) {\r\n alert(err);\r\n } finally {\r\n this.setState({ isSectionLoading: false });\r\n }\r\n };\r\n\r\n deleteDepartment = (deptId: number) => {\r\n this.setState({ isSectionLoading: true });\r\n orgAdminApi\r\n .deleteDepartment(this.props.match.params.orgId, deptId)\r\n .then(response =>\r\n response.json().then((responseJSON: any) => {\r\n if (responseJSON.err) console.log(responseJSON.err);\r\n else {\r\n let deptsCopy = this.state.depts.slice();\r\n const deletedIndex = deptsCopy.findIndex(\r\n searchDept => searchDept.id == deptId\r\n );\r\n deptsCopy.splice(deletedIndex, 1);\r\n this.setState({\r\n depts: deptsCopy,\r\n isSectionLoading: false\r\n });\r\n }\r\n })\r\n );\r\n };\r\n\r\n deleteTeam = (teamId: number) => {\r\n this.setState({ isSectionLoading: true });\r\n orgAdminApi\r\n .deleteTeam(this.props.match.params.orgId, teamId)\r\n .then(response =>\r\n response.json().then((responseJSON: any) => {\r\n if (responseJSON.err) console.log(responseJSON.err);\r\n else {\r\n let teamsCopy = this.state.teams.slice();\r\n const deletedIndex = teamsCopy.findIndex(\r\n searchTeam => searchTeam.id == teamId\r\n );\r\n teamsCopy.splice(deletedIndex, 1);\r\n this.setState({\r\n teams: teamsCopy,\r\n isSectionLoading: false\r\n });\r\n }\r\n })\r\n );\r\n };\r\n\r\n renderTabsSection = () => {\r\n const paneProps = {\r\n orgId: this.props.match.params.orgId,\r\n };\r\n const panes = [\r\n {\r\n menuItem: {\r\n key: 'organization',\r\n content: 'Organization',\r\n active: this.state.activeTab === 'organization',\r\n onClick: this.onTabClick('organization'),\r\n className: 'menuItem',\r\n },\r\n render: this.renderOrganizationOverview,\r\n },\r\n {\r\n menuItem: {\r\n key: 'departments',\r\n content: 'Departments',\r\n active: this.state.activeTab === 'departments',\r\n onClick: this.onTabClick('departments'),\r\n className: 'menuItem',\r\n },\r\n render: this.renderDepartments,\r\n },\r\n {\r\n menuItem: {\r\n key: 'teams',\r\n content: 'Teams',\r\n active: this.state.activeTab === 'teams',\r\n onClick: this.onTabClick('teams'),\r\n className: 'menuItem',\r\n },\r\n render: this.renderTeams,\r\n },\r\n {\r\n menuItem: {\r\n key: 'staff',\r\n content: 'Staff',\r\n active: this.state.activeTab === 'staff',\r\n onClick: this.onTabClick('staff'),\r\n className: 'menuItem',\r\n },\r\n render: () => (\r\n \r\n {this.renderStaffOverview(paneProps.orgId)}\r\n \r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n getStaffAssessmentResults = async () => {\r\n const orgId = this.props.match.params.orgId;\r\n\r\n const results = await Assessment.getAllOrgMemberResults(orgId);\r\n\r\n this.setState({\r\n staffResults: results,\r\n });\r\n };\r\n private renderTeams = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.teams.map((team: ITeamObj) => (\r\n \r\n \r\n \r\n \r\n {team.name}\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 {this.state.displayTeamInput && (\r\n \r\n \r\n {this.state.teams.map(team => (\r\n \r\n \r\n \r\n \r\n {team.name}\r\n   \r\n \r\n {this.state.teamCount[team.id] ? (\r\n \r\n Remove staff in 'Staff' before deleting\r\n \r\n ) : (\r\n this.deleteTeam(team.id)}\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 {this.state.isTeamDeptStatShow && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n };\r\n private renderStaffOverview(orgId: any) {\r\n return (\r\n this.state.staffResults && (\r\n \r\n )\r\n );\r\n }\r\n\r\n\r\n\r\n updateStaff = (userId: number, category: string, id: number) => {\r\n const updatedUser = this.state.staff.find(\r\n searchUser => userId === searchUser.id\r\n );\r\n let newStaffList = this.state.staff.slice();\r\n\r\n const deptCount = this.state.deptCount;\r\n const teamCount = this.state.teamCount;\r\n\r\n if (updatedUser && category == 'dept') {\r\n const userIndex = this.state.staff.findIndex(\r\n user => user.id == updatedUser.id\r\n );\r\n const deptIndex = updatedUser.Departments.findIndex(\r\n (searchDept: IDeptObj) => searchDept.id === id\r\n );\r\n // If the department already exists, remove it\r\n if (deptIndex != -1) {\r\n // console.log('zee dept is', dept);\r\n updatedUser.Departments.splice(deptIndex, 1);\r\n\r\n newStaffList[userIndex] = updatedUser;\r\n deptCount[id]--; // reduce count for that dept\r\n } else {\r\n // Otherwise, add it user's departments and update staff list in state\r\n const newDept = this.state.depts.find(\r\n searchDept => searchDept.id === id\r\n );\r\n if (newDept) {\r\n updatedUser.Departments.push(newDept);\r\n newStaffList[userIndex] = updatedUser;\r\n deptCount[id]++;\r\n }\r\n }\r\n }\r\n if (updatedUser && category == 'team') {\r\n const userIndex = this.state.staff.findIndex(\r\n user => user.id == updatedUser.id\r\n );\r\n const teamIndex = updatedUser.Teams.findIndex(team => team.id === id);\r\n if (teamIndex != -1) {\r\n updatedUser.Teams.splice(teamIndex, 1);\r\n\r\n newStaffList[userIndex] = updatedUser;\r\n teamCount[id]--;\r\n } else {\r\n const newTeam = this.state.teams.find(\r\n searchTeam => searchTeam.id === id\r\n );\r\n\r\n if (newTeam) {\r\n updatedUser.Teams.push(newTeam);\r\n newStaffList[userIndex] = updatedUser;\r\n teamCount[id]++;\r\n }\r\n }\r\n }\r\n this.setState({\r\n staff: newStaffList,\r\n teamCount,\r\n deptCount\r\n });\r\n };\r\n\r\n private renderOrganizationOverview = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n
Organization Overview
\r\n
\r\n
\r\n \r\n \r\n
Staff at a glance
\r\n
{this.state.staff.length}
\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 private renderDepartments = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.depts.map((dept: IDeptObj) => (\r\n \r\n \r\n \r\n \r\n {dept.name}\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 {this.state.displayDepartmentInput && (\r\n \r\n \r\n {this.state.depts.map(dept => (\r\n \r\n \r\n \r\n \r\n {dept.name}\r\n   \r\n \r\n {this.state.deptCount[dept.id] ? (\r\n \r\n Remove staff in 'Staff' before deleting\r\n \r\n ) : (\r\n this.deleteDepartment(dept.id)}\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 {this.state.isTeamDeptStatShow && (\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 private onTabClick = (nextTab: string) => (\r\n e: React.FormEvent\r\n ) => {\r\n this.setState({\r\n isTeamDeptStatShow: false,\r\n activeTab: nextTab,\r\n });\r\n };\r\n\r\n private onTeamClick = (team: ITeamObj) =>\r\n (e: React.FormEvent) => {\r\n const filterTeamStaffs: IUserObj[] = [];\r\n\r\n this.state.staff.map((item) => {\r\n if (item.Teams.findIndex(x => x.id === team.id) !== -1) {\r\n filterTeamStaffs.push(item);\r\n }\r\n });\r\n\r\n this.setState({\r\n activeName: team.name,\r\n isTeamDeptStatShow: true,\r\n filterStaff: filterTeamStaffs\r\n })\r\n }\r\n\r\n private onDeptClick = (dept: IDeptObj) =>\r\n (e: React.FormEvent) => {\r\n const filterDeptStaffs: IUserObj[] = [];\r\n\r\n this.state.staff.map((item) => {\r\n if (item.Departments.findIndex(x => x.id === dept.id) !== -1) {\r\n filterDeptStaffs.push(item);\r\n }\r\n });\r\n\r\n this.setState({\r\n activeName: dept.name,\r\n isTeamDeptStatShow: true,\r\n filterStaff: filterDeptStaffs\r\n });\r\n }\r\n\r\n\r\n updateOrgDetails = (orgDetails: IOrgDetailsObj) => {\r\n orgAdminApi.updateOrgDetails(this.props.match.params.orgId, orgDetails)\r\n const newOrgDetail = this.state.orgDetails;\r\n newOrgDetail.name = orgDetails.name;\r\n\r\n this.setState({ orgDetails: newOrgDetail});\r\n };\r\n\r\n generateOrgDetails = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n updateAdmins = (orgId: number, admins: IUserObj[]) => {\r\n this.setState({ admins });\r\n };\r\n\r\n generateSignupLink = async () => {\r\n\r\n const signUpLink = await orgAdminApi.getUserSignupLink(this.state.orgId);\r\n this.setState({\r\n signUpLink: signUpLink.url\r\n });\r\n };\r\n\r\n handleMessageDismiss = () => {\r\n this.setState({\r\n isMessageVisible: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { orgDetails, errorMessage, messageType, staffResults } = this.state;\r\n if (this.state.isLoading) {\r\n return (\r\n \r\n );\r\n } else if (this.state.redirect) {\r\n return ;\r\n } else {\r\n return (\r\n \r\n {this.state.isMessageVisible && (\r\n \r\n {errorMessage}\r\n \r\n )}\r\n \r\n
My Organization Administration
\r\n
{(orgDetails) ? orgDetails.name : ''}
\r\n

{(orgDetails) ? orgDetails.orgType : ''}

\r\n \r\n Generate Invite Link\r\n \r\n }\r\n >\r\n \r\n \r\n Copy and send the link below to your staff. This will allow\r\n your staff to join this organization.\r\n \r\n {this.state.signUpLink}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {this.generateOrgDetails()}\r\n \r\n {staffResults && (\r\n \r\n )}\r\n \r\n\r\n {/* Tabs */}\r\n \r\n {this.renderTabsSection()}\r\n \r\n \r\n
\r\n );\r\n }\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { Container, Grid, Header, Image, Segment } from 'semantic-ui-react';\r\nimport tendenciesImage from '../../assets/images/tendencies.png';\r\n\r\nexport interface IHomeProps { }\r\n\r\ninterface IHomeState {\r\n isAdmin: boolean;\r\n}\r\n\r\nexport default class Home extends React.Component {\r\n constructor(props: IHomeProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isAdmin: false,\r\n };\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n TENDENCIES (a personality perspective)\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\"When I Let Go of What I Am, I Become What I Might Be\"
\r\n
\"Knowing Others is Intelligence; Knowing Yourself is True Wisdom.
\r\n Mastering Others is Strength; Mastering Yourself is True Power\"
\r\n
\r\n
\r\n

\r\n The words of ancient Chinese philosopher, Lao-Tzu, teach\r\n us that one can master circumstances by understanding their\r\n fundamental nature and then shaping one's action appropriately.\r\n This sage wisdom has stood the test of time and is central to\r\n the TENDENCIES method.\r\n

\r\n

\r\n Human minds are complex, and research suggests that our behaviors\r\n are shaped by both nature and nurture. These two forces interact\r\n in a wide variety of ways to form our individual personalities.\r\n The aim of the TENDENCIES method is to assist people in how\r\n they manage and interpret the world around them; becoming cognizant\r\n of how their personalities interact with others. When people achieve\r\n this insight, they are better positioned to engage positively and\r\n effectively.\r\n\r\n

\r\n

\r\n TENDENCIES is based on the following tenets:\r\n

\r\n
    \r\n
  1. \r\n Person Perception – How You Perceive and are Perceived by Others.\r\n Perception acts as a filter through which all communication\r\n passes as it travels from one person to the next. Because people tend to\r\n perceive things differently, the same message may be interpreted\r\n quite differently by different people. Understanding your TENDENCIES \r\n and how they are perceived by others is a vital step in forming positive\r\n relationships.\r\n
  2. \r\n
  3. \r\n Impact of Stress – How You Cope. Stress is not the external event\r\n itself, but rather an interpretation and response. In times of difficulty,\r\n tension and/or change; your words and actions may not match your beliefs\r\n or intentions. Being conscious of your TENDENCIES during stressful\r\n periods will help you manage these emotions and in turn you will have more\r\n productive interactions.\r\n
  4. \r\n
  5. \r\n Self-Awareness – How You Monitor Your Emotions and Thoughts. Self-Awareness \r\n is the foundational building block of many other healthy habits. To achieve balanced\r\n TENDENCIES and a true understanding of yourself and be at peace with who you\r\n are requires proactively managing your thoughts, emotions, and behaviors.\r\n
  6. \r\n
  7. \r\n Accountability – How You Own Your Behavior. Gaining Self-awareness enables you\r\n to comprehend how your TENDENCIES may have a negative impact on you and your\r\n relationships/interactions. Once you acknowledge this, you can then take the appropriate\r\n steps toward positive change.\r\n
  8. \r\n
\r\n

\r\n In using these principles, the TENDENCIES method will\r\n ultimately make you aware of the value you bring to situations\r\n and relationships but also alert you to potential challenges.\r\n

\r\n

\r\n Understanding your TENDENCIES is step one. Using them in\r\n connection with your Emotional and Social Intelligence \r\n is another facet of your journey to enlightenment.\r\n

\r\n
\r\n What is Emotional Intelligence (EQ) and Social Intelligence (SQ)?\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

\r\n Emotional Intelligence (EQ) \r\n is the ability in the present to monitor your own emotions as\r\n well as the emotions of others, to distinguish between and\r\n label different emotions correctly, and to use this\r\n information to guide your thinking and behavior and ability to\r\n influence that of others.* Emotional Intelligence is about\r\n now, the present, and emotions or feelings.\r\n

\r\n

\r\n For example:
\r\n Two people have an argument with their boss at work. One of them is emotionally\r\n intelligent and the other isn’t.
\r\n On returning to their homes; the first person, who isn't emotionally intelligent,\r\n starts yelling at his children for being noisy. This person acted based on his\r\n emotions without thinking about them in an emotionally intelligent way. \r\n

\r\n

\r\n When the second person returns home and finds the kids are noisy he tells himself\r\n : “Why should I shout at the kids? They are not the ones to blame for my feelings\r\n , they always make that loud noise while playing. The main reason I am feeling\r\n bad is because of my boss.”
\r\n That person recognized his emotions, thought about them, then acted in an\r\n emotionally intelligent way.\r\n

\r\n

*Goleman, 1995; Mayer & Salovey, 1990; Positive Psychology Program, 2018

\r\n
\r\n \r\n

\r\n Social Intelligence (SQ) \r\n Uses some of the same skills as emotional intelligence but is\r\n focused towards the future. You are using the knowledge\r\n of the present to improve the future by finding the best\r\n pathway for you. Social intelligence is about understanding\r\n personalities and reactive behaviors of people to know\r\n how to best get along.*\r\n

\r\n

\r\n For example:
\r\n In his first few days at a new job, Bob notices his boss gets mad at\r\n trivial bad news. By discerning this, Bob knows he must phrase bad\r\n news in a way that starts off with good news, so he doesn’t make his\r\n boss angry.
\r\n Bob is using his present knowledge and observations to make his\r\n future interactions with his boss more constructive.\r\n

\r\n

*Chou, 2016

\r\n
\r\n\r\n \r\n

\r\n The TENDENCIES method illustrates that you can have varying levels\r\n of Emotional Intelligence and Social Intelligence across 3\r\n pairings of tendencies.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { Container, Segment, Header, Icon, Button } from 'semantic-ui-react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default class ThankyouPage extends React.Component<{}, {}> {\r\n public render() {\r\n return (\r\n \r\n \r\n \r\n
Thank you for your assessment!
\r\n
We have received your assessment.
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n}","import * as React from 'react';\r\nimport { Container, Header, Segment, Grid } from 'semantic-ui-react';\r\n\r\nexport default class PrivacyPage extends React.Component<{}, {}> {\r\n public render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
PRIVACY POLICY
\r\n

\r\n At Tendencies - A Personality Perspective, (TendenciesApp.com), (“Tendencies”) we\r\n are committed to maintaining the privacy and security of your personal information. We take\r\n protection of your privacy seriously, and we comply with the federal privacy legislation known as\r\n the Personal Information Protection and Electronics Documents Act (the “Act”), the EU General\r\n Data Protection Regulation (GDPR) and the Canadian Standards Association’s National Standard\r\n Model Code for the Protection of Personal Information. This Privacy Policy details how\r\n Tendencies collects, uses and discloses personal information from www.tendenciesapp.com (the\r\n “Site”); it also applies to other online or offline Tendencies sites, products or services, unless\r\n specifically stated otherwise on such sites, products or services. Your provision of Personal\r\n Information (as defined below) to Tendencies means that you agree that we may collect, use and\r\n disclose your Personal Information in accordance with this Privacy Policy.\r\n

\r\n

\r\n If you do not agree with these terms, please do not provide any Personal Information to\r\n Tendencies. Unfortunately, certain services can only be offered if you provide Personal\r\n Information to us. Consequently, if you choose not to provide us with any required Personal\r\n Information, we may not be able to offer you those services. Tendencies reserves the right to\r\n modify this Privacy Policy at any time without notice. We therefore recommend that you visit\r\n this page often to ensure that you are up-to-date on our latest Privacy Policy.\r\n

\r\n
\r\n
\r\n \r\n \r\n
WHAT IS PERSONAL INFORMATION?
\r\n

\r\n “Personal Information” means information about an identifiable individual (such as a name,\r\n address, telephone number, and e-mail address, etc.). Information such as the name, title or\r\n business address or telephone number of an employee of an organization is not considered\r\n “Personal Information”.\r\n

\r\n
\r\n
\r\n \r\n \r\n
WHAT DATA WE COLLECT AND HOW WE COLLECT IT
\r\n

\r\n When you fill out an online form, register as a newsletter subscriber, or contact us, we may ask\r\n for your name, work-related address & email address, and postal/zip code.\r\n

\r\n

\r\n In order to better understand our audience to serve their needs, we use Google Analytics to track\r\n the numbers of visitors using our site. We do not collect any personal information or store IP\r\n addresses locally on our site. This information is only used to monitor the usage on our pages and\r\n location at the city level, therefore we cannot and will not track or\r\n trace individual users or their physical addresses.\r\n

\r\n

\r\n Tendencies may use cookies to personalize the Site. A cookie is a small text file that is placed on\r\n your hard disk by a Web page server. Cookies cannot be used to run programs or deliver viruses\r\n to your computer. Cookies are uniquely assigned to you and can only be read by a Web server in\r\n the domain that issued the cookie to you. Cookies help the Site recall your specific work-related\r\n information to ease your Site navigation, allowing you easier use of the features on the Site that\r\n you employer (and perhaps you) customized.\r\n

\r\n

\r\n Users to the Tendencies website can opt-out of Google’s use of cookies by visiting Google Ads\r\n Settings page. Alternatively, users can opt out of a third-party vendor’s use of cookies by visiting\r\n the Network Advertising Initiative opt-out page.\r\n

\r\n

\r\n Please note: Tendencies does not sell, trade, or otherwise provide to third parties any Personal\r\n or work-related Information it has obtained except as described in this Privacy Policy. \r\n

\r\n
\r\n
\r\n \r\n \r\n
HOW WE USE YOUR PERSONAL INFORMATION
\r\n

\r\n Any personal and work-related information that you provide to Tendencies will be used for the\r\n purpose for which it was collected. If you are located in European Economic Area or the United\r\n States, you must be informed that your data is being transferred outside of your home Country,\r\n to Canada. We will always inform you why we are collecting the Personal and work-related\r\n Information and if you are not comfortable with that use, please do not provide us with your\r\n information.\r\n

\r\n

\r\n Your Personal Information used for this purpose is specifically related to your work with your\r\n Employer. It will not be used to contact you (the Employee) regarding other products and\r\n services of Tendencies. You can also opt of any future contact, meaning you can ask us to no\r\n longer send you e-mails or direct mail in the event of work-related services. Every direct mail\r\n piece or e-mail that we send you will detail how you may opt out of being contacted. Tendencies\r\n will delete Personal Information that is no longer required to perform the identified purposes.\r\n

\r\n
\r\n
\r\n \r\n \r\n
LEGAL GROUNDS
\r\n

\r\n By agreeing to this privacy policy, subscribing to Tendencies updates online, communicating with,\r\n commenting in proprietary online spaces, or asking us to contact you, you understand that you\r\n are providing this information to us voluntarily and there is a legitimate reason to retain this\r\n information for the period required to discharge those obligations mentioned above. Without\r\n the contact information we will not be able to provide the products/services/information about\r\n which you have requested information.\r\n

\r\n
\r\n
\r\n \r\n \r\n
YOUR RIGHTS
\r\n

\r\n Depending on the legal grounds for processing, you may:\r\n

\r\n
    \r\n
  • \r\n have your Personal Information updated and amended if it is incorrect, out of date or\r\n incomplete.\r\n
  • \r\n
  • \r\n restrict the level of processing or automated processing.\r\n
  • \r\n
  • \r\n know how long we keep your Personal Information.\r\n
  • \r\n
  • \r\n ask us to erase your Personal Information at any point and be forgotten.\r\n
  • \r\n
  • \r\n ask us to provide details of your Personal Information we hold.\r\n
  • \r\n
  • \r\n You can do this by emailing us at tendenciesapp@gmail.com. We will, of course, need to \r\n verify your identity before we can speak to you about the Personal Information or act on \r\n your instructions.\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
HOW LONG WE KEEP YOUR PERSONAL INFORMATION
\r\n

\r\n Your Personal Information will be retained for the period needed to interact with you, but no\r\n longer than 5 years subsequent or as required by law.\r\n

\r\n

\r\n Blog and Collaboration Platform Comments: Your comments and information will be retained for\r\n the length of time the platform is published and active, or until you choose to delete such\r\n information.\r\n

\r\n
\r\n
\r\n \r\n \r\n
SHARING OF PERSONAL INFORMATION
\r\n

\r\n Tendencies may transfer Personal Information to organizations/consultants hired to perform\r\n services on our behalf for your Employer/Company. Personal Information will only be provided\r\n to organizations/consultants providing services to Tendencies if they agree to use such\r\n information solely for the purposes of providing services to Tendencies, under the instruction of\r\n Tendencies and to act in a manner consistent with this Privacy Policy. We disclose only as much\r\n of the Personal Information as is required by these agents to perform the task they have been\r\n retained to perform. Please note that we will release Personal Information if in our opinion we\r\n are required to do so pursuant to law (including the Act), or by a search warrant, subpoena, court\r\n order or other legal process.\r\n

\r\n
\r\n
\r\n \r\n \r\n
TENDENCIES’S COMMITMENT TO DATA SECURITY
\r\n

\r\n Although Tendencies does not collect sensitive information, we do have physical measures,\r\n organizational measures and technological measures in place to ensure protection of your limited\r\n Personal and work-related Information in our possession. Our security procedures are continually\r\n enhanced as new technology becomes available. Tendencies assumes no liability for interception,\r\n alteration or misuse of information transmitted over the Internet.\r\n

\r\n
\r\n
\r\n \r\n \r\n
COLLECTION OF INFORMATION THAT IS NOT “IDENTIFIABLE”
\r\n

\r\n We may collect additional demographic information which will never be connected to any\r\n Personal Information you may provide. We do this in an effort to provide the highest quality of\r\n services to our clients. This data is collected in the aggregate to provide research information and\r\n trending models. For instance, we may collect just your postal code, or your work position/title,\r\n etc.\r\n

\r\n
\r\n
\r\n \r\n \r\n
WHO TO CONTACT
\r\n

\r\n If you have any issues with our privacy policy or if you feel your Personal Information has been\r\n used unfairly, then please contact us at: tendenciesapp@gmail.com. You will receive a response\r\n within 5 working days.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { Container, Grid, Segment, Header, Button } from 'semantic-ui-react';\r\nimport logo from '../../assets/images/tendencieslogo.svg'\r\nimport { Link } from 'react-router-dom';\r\nimport { IUserObj } from '../../models/ObjectsModel';\r\nimport { UserConsumer } from '../../context/UserContext';\r\nimport About from '../../presentation/About/About';\r\n\r\ninterface IWelcomePageState {\r\n user: undefined | IUserObj;\r\n}\r\n\r\nexport default class WelcomePage extends React.Component<{}, IWelcomePageState> {\r\n public readonly state = {\r\n user: undefined\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n {({ user}) => user ? \r\n \r\n \r\n \r\n \r\n \r\n
WELCOME
\r\n
\r\n
\r\n \r\n \r\n

\r\n \r\n Approximately 50% of people see some or all of their own personality\r\n tendencies differently then how others actually perceive them! Because of\r\n that, you are being asked to complete a personality style assessment to\r\n determine what your main tendencies are…through the eyes of others.\r\n \r\n

\r\n

\r\n \r\n To complete your assessment, you will need to do the following:\r\n \r\n

\r\n
\r\n
\r\n \r\n \r\n
    \r\n
  1.  \r\n Think of at least 6 others (a combination of work colleagues, family\r\n & friends) who know you relatively well. A completed assessment\r\n needs 6 others!\r\n
  2. \r\n
    \r\n
  3.  \r\n Ask if them if they would be willing to complete a quick assessment\r\n on you.\r\n
  4. \r\n
    \r\n
  5.  \r\n Let them know it will take 10 minutes or less to complete the\r\n assessment for you, and that they will receive an email from you\r\n with all the instructions.\r\n
  6. \r\n
    \r\n
  7.  \r\n Make sure you have their correct email address so the Tendencies\r\n can automatically send the link and instructions to them.\r\n
  8. \r\n
    \r\n
  9.  \r\n Complete your own self-assessment as well. Once you have 6\r\n others complete your assessment, your Tendencies results can be\r\n viewed on your MY PROFILE page.\r\n
  10. \r\n
    \r\n
  11.  \r\n Simply click on Begin Assessment \r\n below and let your journey begin.\r\n
  12. \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}","import * as React from 'react';\r\nimport { Route } from 'react-router';\r\nimport Assessment from './presentation/Assessment';\r\nimport Nav from './presentation/Nav';\r\nimport Footer from './presentation/Footer';\r\nimport Login from './presentation/Login/Login';\r\nimport Register from './presentation/Register/Register';\r\nimport PasswordReset from './presentation/Login/PasswordReset';\r\nimport AdminHome from './presentation/ConsultantAdminHome';\r\nimport PersonalPage from './presentation/PersonalPage';\r\nimport OrganizationPage from './presentation/OrganizationPage';\r\nimport OrgAdminHome from './presentation/OrgAdminHome/OrgAdminHome';\r\nimport About from './presentation/About/About';\r\nimport ThankYou from './presentation/ThankyouPage';\r\nimport PrivacyPage from './presentation/PrivacyPage';\r\nimport WelcomePage from './presentation/Home/WelcomePage';\r\nimport { UserProvider } from './context/UserContext';\r\n\r\nexport interface IAppProps { }\r\n\r\nexport interface IAppState { }\r\n\r\nexport default class App extends React.Component {\r\n constructor(props: IAppProps) {\r\n super(props);\r\n\r\n this.state = {};\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Router } from 'react-router-dom';\r\nimport history from './history';\r\nimport App from './App';\r\n\r\nconst makeMainRoutes = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default makeMainRoutes;\r\n","import * as React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\n// import 'semantic-ui-css/semantic.min.css';\r\nimport 'fomantic-ui-css/semantic.min.css';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport makeMainRoutes from './routes';\r\n// import { pdfjs } from 'react-pdf';\r\n// pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${\r\n// pdfjs.version\r\n// }/pdf.worker.js`;\r\n\r\nReactDOM.render(makeMainRoutes(), document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}