{"version":3,"file":"js/5159-e0fe374f52fc8f12e87b.js","mappings":"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","sources":["webpack://app/./app/assets-webpacker/src/javascript/apis/project_plans/api.js","webpack://app/./app/assets-webpacker/src/javascript/components/strategic_priority_category/icon_mapping.js","webpack://app/./app/assets-webpacker/src/javascript/components/actions/reorder.js","webpack://app/./app/assets-webpacker/src/javascript/components/shared/error_message.js","webpack://app/./app/assets-webpacker/src/javascript/apis/strategic_priorities/api.js","webpack://app/./app/assets-webpacker/src/javascript/components/strategic_priority/index.js","webpack://app/./app/assets-webpacker/src/javascript/resources/strategic_priority_resource.js","webpack://app/./app/assets-webpacker/src/javascript/views/strategic_priorities/index.js","webpack://app/./app/assets-webpacker/src/javascript/helpers/dnd_utils.js","webpack://app/./app/assets-webpacker/src/javascript/components/strategic_priority_template/index.js","webpack://app/./app/assets-webpacker/src/javascript/resources/strategic_priority_template_resource.js","webpack://app/./app/assets-webpacker/src/javascript/components/strategic_priority_template/custom.js","webpack://app/./app/assets-webpacker/src/javascript/components/strategic_priority_category/index.js","webpack://app/./app/assets-webpacker/src/javascript/views/strategic_priorities/new.js","webpack://app/./app/assets-webpacker/src/javascript/components/initiative/editing_form.js","webpack://app/./app/assets-webpacker/src/javascript/resources/initiative_resource.js","webpack://app/./app/assets-webpacker/src/javascript/components/initiative/scheduling_form.js","webpack://app/./app/assets-webpacker/src/javascript/components/initiative/scheduling_view.js","webpack://app/./app/assets-webpacker/src/javascript/apis/initiatives/api.js","webpack://app/./app/assets-webpacker/src/javascript/components/initiative/index.js","webpack://app/./app/assets-webpacker/src/javascript/components/initiative_template/index.js","webpack://app/./app/assets-webpacker/src/javascript/components/initiative_template/custom.js","webpack://app/./app/assets-webpacker/src/javascript/helpers/scroll_to_ref.js","webpack://app/./app/assets-webpacker/src/javascript/components/initiative/add.js","webpack://app/./app/assets-webpacker/src/javascript/resources/initiative_grouping_resource.js","webpack://app/./app/assets-webpacker/src/javascript/views/initiatives/hooks/useInitiativesManager.js","webpack://app/./app/assets-webpacker/src/javascript/views/initiatives/index.js","webpack://app/./app/assets-webpacker/src/javascript/components/deliverable/form.js","webpack://app/./app/assets-webpacker/src/javascript/components/deliverable/index.js","webpack://app/./app/assets-webpacker/src/javascript/apis/deliverables/api.js","webpack://app/./app/assets-webpacker/src/javascript/resources/deliverable_resource.js","webpack://app/./app/assets-webpacker/src/javascript/components/deliverable/add.js","webpack://app/./app/assets-webpacker/src/javascript/components/deliverable/import.js","webpack://app/./app/assets-webpacker/src/javascript/views/deliverables/index.js","webpack://app/./app/assets-webpacker/src/javascript/components/measure/add.js","webpack://app/./app/assets-webpacker/src/javascript/views/measures/index.js","webpack://app/./app/assets-webpacker/src/javascript/resources/project_plan_resource.js","webpack://app/./app/assets-webpacker/src/javascript/views/measures/mission_measures.js","webpack://app/./app/assets-webpacker/src/javascript/components/document/versions_dialog.js","webpack://app/./app/assets-webpacker/src/javascript/apis/document_versions/api.js","webpack://app/./app/assets-webpacker/src/javascript/views/project_plans/commentary.js","webpack://app/./app/assets-webpacker/src/javascript/components/shared/rte/config/full_collab_controls_config.js","webpack://app/./app/assets-webpacker/src/javascript/apis/documents/api.js","webpack://app/./app/assets-webpacker/src/javascript/views/search/index.js"],"sourcesContent":["import { getHeaders } from '../headers';\n\nexport const createApi = (defaultBaseUrl = '/project_plans') => {\n return {\n planAndDescendants: async (id) => {\n const response = await fetch(`${defaultBaseUrl}/${id}/plan_and_descendants`, {\n method: 'GET',\n headers: getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n },\n };\n};\n\nexport const exportCommentaryToPdf = async (id, html) => {\n const response = await fetch(`/project_plans/${id}/export_commentary_to_pdf`, {\n method: 'POST',\n headers: getHeaders(),\n body: JSON.stringify({ html }),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.blob();\n};\n","import Domain1 from 'images/Domain-1_Icon.png';\nimport Domain2 from 'images/Domain-2_Icon.png';\nimport Domain3 from 'images/Domain-3_Icon.png';\nimport Domain4 from 'images/Domain-4_Icon.png';\nimport Domain5 from 'images/Domain-5_Icon.png';\nimport Domain6 from 'images/Domain-6_Icon.png';\n\nexport default (slot) => {\n switch (slot) {\n case 1:\n return Domain1;\n case 2:\n return Domain2;\n case 3:\n return Domain3;\n case 4:\n return Domain4;\n case 5:\n return Domain5;\n case 6:\n return Domain6;\n }\n};\n","import * as React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faGripDotsVertical } from '@fortawesome/pro-solid-svg-icons';\n\nexport default () => {\n const style = {\n cursor: 'move',\n padding: '0 5px',\n fontSize: '20px',\n color: 'rgba(112, 112, 112, 0.5)',\n };\n\n return (\n \n \n \n );\n};\n","import * as React from 'react';\nimport FormHelperText from '@mui/material/FormHelperText';\n\nconst ErrorMessage = ({ errors = {} }) => {\n if (!errors.base) return null;\n\n return (\n \n {errors.base}\n \n );\n};\n\nexport default ErrorMessage;\n","import { getHeaders } from '../headers';\n\nexport const getStrategicPriority = async (id) => {\n const response = await fetch(`/strategic_priorities/${id}`, {\n method: 'GET',\n headers: getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n};\n","import React, { useEffect, useState } from 'react';\nimport { useDrag, useDrop } from 'react-dnd';\nimport { useScrollToAnchor } from '../../helpers/hooks';\nimport iconMapping from '../strategic_priority_category/icon_mapping';\nimport EditAction from '../actions/edit';\nimport ReorderAction from '../actions/reorder';\nimport { confirmChangesBeforeCanceling } from '../../helpers/confirm_cancel';\nimport { useBeforeunload } from 'react-beforeunload';\nimport TextField from '@mui/material/TextField';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport ErrorMessage from '../shared/error_message';\nimport { useFormStatus } from '../../helpers/form_hooks';\nimport { textError } from '../../helpers/rails_errors';\nimport ActionMenuButton from '../shared/action_menu_button';\nimport { faTrashCan, faSitemap } from '@fortawesome/pro-regular-svg-icons';\nimport { transparentButtonSX } from '../../constants/theme';\nimport { useDelegateDialog } from '../shared/delegations/plan_element/delegate_dialog_context';\nimport DelegationFieldsToolTip from '../shared/delegations/plan_element/delegation_fields_tooltip';\nimport DelegatedTag from '../shared/delegations/delegated_tag';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\nimport { showDelegationFieldsToolTip, isFieldSynced } from '../../helpers/delegation_helper';\nimport { getJobLog } from '../../apis/job_logs/api';\nimport { getInitiative } from '../../apis/initiatives/api';\nimport { getStrategicPriority } from '../../apis/strategic_priorities/api';\n\nconst style = {\n padding: '8px 0',\n paddingLeft: 8,\n margin: '1px',\n backgroundColor: 'white',\n fontSize: '20px',\n};\n\nexport default ({ id, modifiable, canDelegate, project_plan_id, delegationSyncFields, ...props }) => {\n const { openDelegateDialog, jobLog, clearJobLog } = useDelegateDialog();\n const { processWithErrorFallback, formData, isEditing, setEditing, edited, errors, loading, handleCancel, handleChange, handleEdit } =\n useFormStatus({ props, fields: ['description', 'name', 'lock_version'] });\n\n const [pendingDelegationJob, setPendingDelegationJob] = useState(null);\n const [delegationProps, setDelegationProps] = useState({\n 'delegated?': props['delegated?'],\n delegation_sync_fields: props['delegation_sync_fields'],\n delegated_from_org_name: props['delegated_from_org_name'],\n });\n\n useEffect(() => {\n const jobLogId = jobLog?.id;\n if (!pendingDelegationJob && jobLog?.originElement?.id === id && jobLogId) {\n setPendingDelegationJob(jobLog);\n clearJobLog();\n }\n }, [jobLog]);\n\n useEffect(() => {\n if (pendingDelegationJob) {\n let log;\n const intervalId = setInterval(async () => {\n log = await getJobLog(pendingDelegationJob.id);\n if (log.status !== 'pending') {\n clearInterval(intervalId);\n setPendingDelegationJob(null);\n if (log.status === 'success') {\n const newSp = await getStrategicPriority(id);\n setDelegationProps({\n 'delegated?': newSp['delegated?'],\n delegation_sync_fields: newSp['delegation_sync_fields'],\n delegated_from_org_name: newSp['delegated_from_org_name'],\n });\n } else if (log.status === 'failure') {\n alert('Delegation failed. Please reload the page and try again.');\n }\n }\n }, 2000);\n return () => clearInterval(intervalId);\n }\n }, [pendingDelegationJob]);\n\n const previewRef = React.useRef(null);\n const dragRef = React.useRef(null);\n\n // drag configuration\n const [{ isDragging }, drag, preview] = useDrag({\n type: 'strategic_priority',\n item: () => {\n return { ...props };\n },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n // drop configuration\n const [{ handlerId }, drop] = useDrop({\n accept: 'strategic_priority',\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n drop(item, monitor) {\n if (!previewRef.current) {\n return;\n }\n const dragIndex = item.index;\n const hoverIndex = props.index;\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return;\n }\n\n props.movePriority(dragIndex, hoverIndex);\n\n // Note: we're mutating the monitor item here!\n // Generally it's better to avoid mutations,\n // but it's good here for the sake of performance\n // to avoid expensive index searches.\n item.index = hoverIndex;\n },\n });\n\n useEffect(() => {\n if (!props.simple) {\n drag(dragRef);\n drop(previewRef);\n preview(previewRef);\n }\n }, [props.simple, isEditing]);\n\n useBeforeunload((event) => {\n if (edited) {\n event.preventDefault();\n }\n });\n\n useScrollToAnchor(() => {\n if (location.hash.replace('#', '') == id) {\n setEditing(true);\n }\n });\n\n const opacity = 1;\n\n const handleDelete = () => {\n const confirmDelete = confirm('Are you sure you want to delete this strategic priority?');\n if (confirmDelete) {\n processWithErrorFallback(\n props.deletePriority(id).then((response) => {\n trackCzEvent(`PlanDelete:StrategicPriority`, `User deleted Strategic Priority ${id}`, 1);\n }),\n { withMessageError: true }\n );\n }\n };\n\n const handleDone = () =>\n processWithErrorFallback(\n props.editPriority(id, { ...formData, lock_version: props.lock_version }).then((response) => {\n trackCzEvent(`PlanEdit:StrategicPriority`, `User edited Strategic Priority ${id}`, 1);\n })\n );\n\n const numbering = props.simple ? '' : props.index + 1;\n const delegatedFromName = props['delegated_from_org_name'];\n const canReorder = !props.simple && modifiable;\n\n const menuItems = [];\n if (canDelegate) {\n menuItems.push({\n label: 'Delegate',\n icon: faSitemap,\n onClick: () => {\n openDelegateDialog(project_plan_id, {\n id: id,\n type: 'strategic_priority',\n description: props.description,\n displayTitle: `Strategic Priority ${numbering}`,\n });\n },\n });\n }\n if (modifiable && !delegatedFromName) {\n menuItems.push({\n label: 'Delete',\n icon: faTrashCan,\n onClick: handleDelete,\n disabled: loading,\n });\n }\n\n return (\n
\n
\n {!props.simple && (\n
\n \n
\n )}\n
\n {isEditing && (\n <>\n
\n
\n
\n Editing Strategic Priority {numbering}\n
\n {showDelegationFieldsToolTip(delegationProps) && (\n \n )}\n
\n
\n
\n handleChange('name', e)}\n inputProps={{ 'data-cy': 'sp-name' }}\n disabled={isFieldSynced('name', props)}\n />\n
\n
\n handleChange('description', e)}\n inputProps={{ 'data-cy': 'sp-description' }}\n disabled={isFieldSynced('description', props)}\n />\n
\n
\n {!!errors?.base && (\n
\n {textError(errors.base)}\n
\n )}\n
\n
\n confirmChangesBeforeCanceling(edited, handleCancel)}\n disabled={loading}\n data-cy=\"sp-cancel\"\n >\n Cancel\n \n \n
\n \n )}\n {!isEditing && (\n <>\n
\n
\n
\n
\n {canReorder && }\n
\n
\n Strategic\n
\n Priority\n
\n
{numbering}
\n
\n
\n {pendingDelegationJob && !delegationProps['delegated?'] && (\n
\n \n
\n )}\n {delegationProps['delegated?'] && }\n {delegatedFromName && (\n \n )}\n
{formData.description}
\n
\n
\n
\n
\n {modifiable ? : null}\n {menuItems.length > 0 && }\n
\n
\n \n \n )}\n
\n
\n
\n );\n};\n","import RailsResource from './rails_resource';\nimport MeasureResource from './measure_resource';\n\nexport default class StrategicPriorityResource extends RailsResource {\n id = undefined;\n name = '';\n description = '';\n position = null;\n project_plan_id = null;\n strategic_priority_category_id = null;\n strategic_priority_template_id = null;\n measures = [];\n potential_measure_owners = [];\n default_results_reporter_id = null;\n potential_results_reporters = [];\n lock_version = null;\n\n pk() {\n return this.id;\n }\n\n static createStrategicPriorityMeasure = () => {\n const endpoint = this.create();\n return endpoint.extend({\n url(sp) {\n return `/strategic_priorities/${sp.id}/measures`;\n },\n fetch(measureParams) {\n return endpoint.fetch.call(this, measureParams);\n },\n });\n };\n\n static schema = {\n measures: [MeasureResource],\n };\n\n static urlRoot = '/strategic_priorities/';\n}\n\n/**\n\n# id :bigint not null, primary key\n# description :text\n# position :integer\n# created_at :datetime not null\n# updated_at :datetime not null\n# project_plan_id :integer\n# strategic_priority_category_id :integer\n# strategic_priority_template_id :integer\n\n*/\n","import * as React from 'react';\nimport { useState, useCallback, useEffect } from 'react';\nimport { usePrevious } from '../../helpers/hooks';\nimport { shouldReposition } from '../../helpers/dnd_utils';\nimport update from 'immutability-helper';\nimport StrategicPriority from '../../components/strategic_priority';\nimport StrategicPriorityResource from '../../resources/strategic_priority_resource';\nimport { useController } from 'rest-hooks';\nimport Layout from '../layouts/application';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { themeAttuned } from '../../constants/theme';\nimport { alertError } from '../../components/shared/alert_error';\nimport { PlanElementDelegateDialogProvider } from '../../components/shared/delegations/plan_element/delegate_dialog_context';\n\nconst Container = (props) => {\n const [priorities, setPriorities] = useState(props.strategic_priorities.sort((a, b) => a.position - b.position));\n const { fetch } = useController();\n\n const movePriority = useCallback((dragIndex, hoverIndex) => {\n setPriorities((prevPriorities) => {\n const newPriorities = update(prevPriorities, {\n $splice: [\n [dragIndex, 1],\n [hoverIndex, 0, { ...prevPriorities[dragIndex], position: hoverIndex + 1 }],\n ],\n });\n\n return newPriorities;\n });\n }, []);\n\n const editPriority = (id, data) => {\n return fetch(StrategicPriorityResource.update(), { id: id }, data).then((updatedPriority) => {\n setPriorities((prevPriorities) => [\n ...prevPriorities.map((p) => {\n if (p.id == id) {\n p = updatedPriority;\n }\n return p;\n }),\n ]);\n });\n };\n\n const deletePriority = (id) =>\n fetch(StrategicPriorityResource.delete(), { id: id }).then(() =>\n setPriorities((prevPriorities) => [...prevPriorities.filter((p) => p.id != id)])\n );\n\n const prevPriorities = usePrevious(priorities);\n\n useEffect(() => {\n if (shouldReposition(priorities, prevPriorities)) {\n priorities.forEach((p, i) => {\n fetch(StrategicPriorityResource.update(), { id: p.id }, { position: i + 1 }).catch((error) => alertError({ error }));\n });\n }\n }, [priorities]);\n\n const renderPriority = useCallback((priority, index) => {\n return (\n \n );\n }, []);\n\n return <>{priorities.map((priority, i) => renderPriority(priority, i))};\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n \n \n \n \n );\n};\n","// to enable soft deletions that re-insert entities roughly in the correct position,\n// we only want to reposition items on a reordering, not on a deletion\nfunction shouldReposition(newValues, oldValues) {\n if (oldValues && oldValues.length === newValues.length) return true;\n const positionsInOrder =\n newValues.findIndex((item, idx, arr) => {\n return idx > 0 && item.position < arr[idx - 1].position;\n }) === -1;\n return !positionsInOrder;\n}\n\nexport { shouldReposition };\n","import * as React from 'react';\nimport EditAction from '../actions/edit';\nimport TextField from '@mui/material/TextField';\n\n// eslint-disable-next-line\nlet style = {\n border: '1px solid lightgrey',\n borderRadius: '0px',\n padding: '10px 10px',\n margin: '5px 5px',\n backgroundColor: 'white',\n};\n\nexport default (props) => {\n const [internalDescription, setDescription] = React.useState(props.description);\n const [internalName, setName] = React.useState(props.name);\n const [isChecked, setChecked] = React.useState(false);\n const [isEditing, setEditing] = React.useState(false);\n const [cancelDescription, setCancelDescription] = React.useState(props.description);\n\n // eslint-disable-next-line\n const [cancelName, setCancelName] = React.useState(props.name);\n\n const handleAccept = (event) => {\n setChecked(event.target.checked);\n props.registerPriority({\n id: props.id,\n description: internalDescription,\n name: internalName,\n checked: event.target.checked,\n });\n };\n\n const handleDescriptionUpdate = (event) => {\n setDescription(event.target.value);\n setChecked(true);\n props.registerPriority({\n id: props.id,\n name: internalName,\n description: event.target.value,\n checked: true,\n });\n };\n\n const handleNameUpdate = (event) => {\n setName(event.target.value);\n setChecked(true);\n props.registerPriority({\n id: props.id,\n description: internalDescription,\n name: event.target.value,\n checked: true,\n });\n };\n\n const toggleEdit = () => {\n setEditing(!isEditing);\n setCancelDescription(internalDescription);\n setCancelName(internalName);\n };\n\n const handleCancel = () => {\n setEditing(false);\n setDescription(cancelDescription);\n props.registerPriority({ id: props.id, description: cancelDescription, checked: isChecked });\n };\n\n return (\n
\n {isEditing && (\n
\n
\n \n \n
\n
\n \n \n
\n
\n )}\n {!isEditing && (\n
\n \n \n
\n \n \n
\n
\n )}\n
\n );\n};\n","import RailsResource from './rails_resource';\n\nexport default class StrategicPriorityTemplateResource extends RailsResource {\n id = undefined;\n description = '';\n strategic_priority_category_id = null;\n\n pk() {\n return this.id;\n }\n\n static urlRoot = '/strategic_priority_templates/';\n}\n","import * as React from 'react';\nimport TextField from '@mui/material/TextField';\n\nlet style = {\n margin: '5px',\n marginBottom: '20px',\n backgroundColor: 'white',\n};\n\nexport default (props) => {\n const [internalDescription, setDescription] = React.useState(props.description);\n const [internalName, setName] = React.useState(props.name);\n\n // eslint-disable-next-line\n const [isChecked, setChecked] = React.useState(false);\n\n // eslint-disable-next-line\n const handleAccept = (event) => {\n setChecked(event.target.checked);\n props.registerPriority({\n id: props.id,\n description: internalDescription,\n checked: event.target.checked,\n });\n };\n\n const handleDescriptionUpdate = (event) => {\n setDescription(event.target.value);\n setChecked(true);\n\n // eslint-disable-next-line\n var checked = event.target.value.length > 0 ? true : false;\n\n props.registerPriority({\n id: props.id,\n name: internalName,\n description: event.target.value,\n checked: true,\n });\n };\n\n const handleNameUpdate = (event) => {\n setName(event.target.value);\n setChecked(true);\n\n // eslint-disable-next-line\n var checked = event.target.value.length > 0 ? true : false;\n\n props.registerPriority({\n id: props.id,\n name: event.target.value,\n description: internalDescription,\n checked: true,\n });\n };\n\n return (\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n );\n};\n","import * as React from 'react';\nimport StrategicPriorityTemplate from '../strategic_priority_template';\nimport StrategicPriority from '../../components/strategic_priority';\nimport StrategicPriorityResource from '../../resources/strategic_priority_resource';\nimport { useController, useSuspense } from 'rest-hooks';\nimport StrategicPriorityTemplateResource from '../../resources/strategic_priority_template_resource';\nimport Custom from '../strategic_priority_template/custom';\nimport ErrorMessage from '../shared/error_message';\nimport iconMapping from './icon_mapping';\nimport { useFormStatus } from '../../helpers/form_hooks';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\n\nlet style = {\n padding: '20px 10px',\n backgroundColor: 'white',\n};\n\nexport default (props) => {\n const { fetch } = useController();\n const [showAdd, setAdd] = React.useState(true);\n const [priorityQueue, setPriorityQueue] = React.useState({});\n const [priorities, setPriorities] = React.useState(props.strategicPriorities);\n const templates = useSuspense(StrategicPriorityTemplateResource.list(), {\n strategic_priority_category_id: props.id,\n });\n const { processWithErrorFallback, errors, loading } = useFormStatus({});\n\n const add = () => {\n setAdd(false);\n };\n\n const close = () => {\n setAdd(true);\n };\n\n const addPriority = (p) => {\n setPriorities((oldPriorities) => [...oldPriorities, p]);\n };\n\n const complete = () => {\n const queue = Object.keys(priorityQueue).map((k) => ({\n description: priorityQueue[k].description,\n name: priorityQueue[k].name,\n id: priorityQueue[k].id,\n }));\n\n // NOTE: looks like it makes sense to move it to backend and implement bulk creation there\n const fnPromises = queue.map((sp) => {\n return fetch(StrategicPriorityResource.create(), {\n project_plan_id: props.projectPlanId,\n strategic_priority_category_id: props.id,\n description: sp.description,\n name: sp.name,\n strategic_priority_template_id: sp.id,\n }).then((p) => {\n registerPriority({ id: sp.id, checked: false });\n addPriority(p);\n });\n });\n const fnAllPromises = Promise.allSettled(fnPromises).then((results) => {\n const rejected = results.find((result) => result.status === 'rejected');\n if (rejected) throw rejected.reason;\n trackCzEvent(\n `PlanAdd:StrategicPriority`,\n `User added ${Object.keys(priorityQueue).length} Strategic Priorities`,\n Object.keys(priorityQueue).length\n );\n });\n processWithErrorFallback(fnAllPromises, {\n withMessageError: true,\n withErrorThrow: true,\n })\n .then(() => close())\n .catch((_err) => {});\n };\n\n const registerPriority = ({ id, description, checked, name }) => {\n setPriorityQueue((oldQueue) => {\n checked ? (oldQueue[`id${id}`] = { description, name, id }) : delete oldQueue[`id${id}`];\n return { ...oldQueue };\n });\n };\n\n const editPriority = (id, description, name) =>\n fetch(StrategicPriorityResource.update(), { id: id }, { description: description, name: name }).then((updatedPriority) =>\n setPriorities((prevPriorities) => [\n ...prevPriorities.map((p) => {\n if (p.id == id) {\n p = updatedPriority;\n }\n return p;\n }),\n ])\n );\n\n const deletePriority = (id) =>\n fetch(StrategicPriorityResource.delete(), { id: id }).then(() =>\n setPriorities((prevPriorities) => [...prevPriorities.filter((p) => p.id != id)])\n );\n\n const renderTemplates = () => {\n return (\n
\n {templates.map((n, i) => (\n \n ))}\n \n \n
\n \n \n
\n
\n );\n };\n\n const renderPriority = React.useCallback((priority, index) => {\n return (\n \n );\n }, []);\n\n return (\n
\n
\n \n
\n
\n

{props.description}

\n {priorities.map((priority, i) => renderPriority(priority, i))}\n
\n {showAdd && (\n \n )}\n {!showAdd && renderTemplates()}\n
\n
\n
\n );\n};\n","import * as React from 'react';\nimport { useCallback } from 'react';\nimport StrategicPriorityCategory from '../../components/strategic_priority_category';\nimport Layout from '../layouts/application';\n\nconst Container = (props) => {\n const categories = props.strategic_priority_categories || [];\n\n const renderCategory = useCallback((category, index) => {\n return (\n p.strategic_priority_category_id == category.id)}\n projectPlanId={props.project_plan_id}\n />\n );\n }, []);\n\n return <>{categories.map((category, i) => renderCategory(category, i))};\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n );\n};\n","import React from 'react';\nimport DelegationFieldsToolTip from '../shared/delegations/plan_element/delegation_fields_tooltip';\nimport TextField from '@mui/material/TextField';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport { isFieldSynced, showDelegationFieldsToolTip } from '../../helpers/delegation_helper';\nimport { textError } from '../../helpers/rails_errors';\nimport { confirmChangesBeforeCanceling } from '../../helpers/confirm_cancel';\n\nexport default ({\n initiative,\n formData,\n loading,\n edited,\n errors,\n handleChange,\n handleDone,\n handleCancel,\n priorityPosition,\n position,\n delegationProps,\n}) => {\n let style = {\n border: '1px solid lightgrey',\n margin: '0',\n };\n\n return (\n
\n
\n
\n
\n Edit Initiative {priorityPosition}.{position}:\n
{' '}\n {showDelegationFieldsToolTip(delegationProps) && (\n \n )}\n
\n
\n
\n
\n handleChange('description', e)}\n disabled={isFieldSynced('description', initiative)}\n />\n
\n
\n
\n
\n handleChange('assigned_to_user_id', e)}\n defaultValue={formData.assigned_to_user_id}\n id=\"assignedTo\"\n >\n \n {initiative.assignable_users.map((u) => (\n \n ))}\n \n \n {!!errors?.assigned_to_user_id && {textError(errors.assigned_to_user_id)}}\n
\n handleChange('start_date', e)}\n disabled={isFieldSynced('start_date', initiative)}\n />\n handleChange('end_date', e)}\n disabled={isFieldSynced('end_date', initiative)}\n />\n
\n {(!!errors?.end_date || !!errors?.start_date) && (\n \n {textError(errors.start_date)}\n {textError(errors.end_date)}\n \n )}\n handleChange('name', e)}\n disabled={isFieldSynced('name', initiative)}\n />\n
\n
{!!errors?.base && {textError(errors.base)}}
\n
\n
\n confirmChangesBeforeCanceling(edited, handleCancel)}\n >\n Cancel\n \n \n
\n
\n );\n};\n","import RailsResource from './rails_resource';\nimport MeasureResource from './measure_resource';\n\nexport default class InitiativeResource extends RailsResource {\n id = undefined;\n description = '';\n name = '';\n position = null;\n strategic_priority_id = null;\n initiative_template_id = null;\n measures = [];\n deliverables = [];\n potential_measure_owners = [];\n default_results_reporter_id = null;\n potential_results_reporters = [];\n start_date = null;\n end_date = null;\n lock_version = null;\n\n pk() {\n return this.id;\n }\n\n static createInitiativeMeasure = () => {\n const endpoint = this.create();\n return endpoint.extend({\n url(sp) {\n return `/initiatives/${sp.id}/measures`;\n },\n fetch(measureParams) {\n return endpoint.fetch.call(this, measureParams);\n },\n });\n };\n\n static updateOrdering = () => {\n const endpoint = this.update();\n return endpoint.extend({\n url({ id }) {\n return `/initiatives/${id}/update_ordering`;\n },\n fetch(params, body) {\n return endpoint.fetch.call(this, params, body);\n },\n });\n };\n\n static schema = {\n measures: [MeasureResource],\n };\n\n static urlRoot = '/initiatives/';\n}\n","import * as React from 'react';\nimport InitiativeResource from '../../resources/initiative_resource';\nimport { useController } from 'rest-hooks';\nimport { on, off } from '../../helpers/events';\nimport { TextareaAutosize } from '@mui/base/TextareaAutosize';\nimport { useFormStatus } from '../../helpers/form_hooks';\n\nexport default ({ id, modifiable, ...props }) => {\n const initiative = props.initiative;\n\n const { fetch } = useController();\n const [showDetailed, setShowDetailed] = React.useState(false);\n const [backgroundColors, setBackgroundColors] = React.useState({});\n const [detailedValues, setDetailedValues] = React.useState({});\n const { processWithErrorFallback, loading } = useFormStatus({});\n\n React.useEffect(() => {\n on('initiative_form:hide_detailed', () => setShowDetailed(false));\n\n return () => {\n off('initiative_form:hide_detailed');\n };\n }, []);\n\n React.useEffect(() => {\n on('initiative_form:show_detailed', () => setShowDetailed(true));\n\n return () => {\n off('initiative_form:show_detailed');\n };\n }, []);\n\n React.useEffect(() => {\n props.years.forEach((y) => {\n var value = findDefaultValue(y, 'label');\n updateBackgroundColor(y, value);\n });\n }, []);\n\n React.useEffect(() => {\n props.years.forEach((y) => {\n var value = findDefaultValue(y, 'description');\n updateDetailedValues(y, value);\n });\n }, []);\n\n const updateBackgroundColor = (year, value) => {\n setBackgroundColors((prevColors) => {\n let newColors = { ...prevColors };\n switch (value) {\n case '':\n newColors[year] = modifiable ? 'white' : 'rgba(192, 207, 219, 0.0)';\n break;\n case props.projectPlan.initiative_stage_name_1:\n newColors[year] = '#68bbb9';\n break;\n case props.projectPlan.initiative_stage_name_2:\n newColors[year] = '#24618e'; // #24618e with 25% transparency = #6089AB\n break;\n case props.projectPlan.initiative_stage_name_3:\n newColors[year] = '#a61277';\n break;\n case props.projectPlan.initiative_stage_name_4:\n newColors[year] = '#002b59'; // #002b59 with 25% transparency = #456184\n break;\n case props.projectPlan.initiative_stage_name_5:\n newColors[year] = '#7f7f7f';\n break;\n default:\n newColors[year] = modifiable ? 'white' : 'rgba(192, 207, 219, 0.0)';\n }\n return newColors;\n });\n };\n\n const updateDetailedValues = (year, value) => {\n setDetailedValues((prevValues) => {\n var newValues = { ...prevValues };\n newValues[year] = value; //replace(new RegExp('\\r?\\n','g'), '
')\n return newValues;\n });\n };\n\n let style = {\n cursor: 'move',\n };\n\n const handleChange = (e) => {\n const field = {};\n field[e.target.name] = e.target.value;\n const fnPromise = fetch(InitiativeResource.update(), { id: initiative.id }, field).then(() => {\n const field_parts = e.target.name.split('_');\n if (field_parts[2] === 'label') {\n updateBackgroundColor(field_parts[1], e.target.value);\n }\n });\n processWithErrorFallback(fnPromise, { withAlert: true });\n };\n\n const handleTextareaBlur = (e) => {\n const field = {};\n field[e.target.name] = e.target.value;\n const fnPromise = fetch(InitiativeResource.update(), { id: initiative.id }, field).then(() => {\n const field_parts = e.target.name.split('_');\n updateDetailedValues(field_parts[1], e.target.value);\n });\n processWithErrorFallback(fnPromise, { withAlert: true });\n };\n\n const findDefaultValue = (year, field) => {\n const matches = props.initiative.initiative_years.filter((y) => y.year == year);\n if (matches.length > 0) {\n return matches[0][field];\n }\n };\n\n const renderDetailed = (y) => {\n return (\n updateDetailedValues(y, e.target.value)}\n >\n );\n };\n\n return (\n
\n {props.years.map((y) => (\n
\n \n \n {props.projectPlan.initiative_stage_name_1 && (\n \n )}\n {props.projectPlan.initiative_stage_name_2 && (\n \n )}\n {props.projectPlan.initiative_stage_name_3 && (\n \n )}\n {props.projectPlan.initiative_stage_name_4 && (\n \n )}\n {props.projectPlan.initiative_stage_name_5 && (\n \n )}\n \n {showDetailed && renderDetailed(y)}\n
\n ))}\n
\n );\n};\n","import * as React from 'react';\nimport Tooltip from '@mui/material/Tooltip';\nimport SchedulingForm from './scheduling_form';\nimport ErrorMessage from '../shared/error_message';\nimport DelegatedTag from '../shared/delegations/delegated_tag';\n\nexport default ({ initiative, formData, modifiable, years, errors, priorityPosition, position, projectPlan }) => {\n const delegatedFromName = initiative.delegated_from_org_name;\n const delegated = initiative.delegated_from_org_name !== null;\n\n return (\n
\n \n \n
\n
\n
\n
\n \n

{formData.description}

\n
\n Lead: {initiative?.assigned_to_user?.full_name}\n
\n \n }\n arrow\n componentsProps={{\n tooltip: {\n sx: {\n bgcolor: '#346189',\n padding: '10px',\n fontWeight: 400,\n fontSize: 14,\n width: 500,\n opacity: 1,\n lineHeight: 1,\n '& .MuiTooltip-arrow': {\n color: '#346189',\n opacity: 1,\n },\n },\n },\n }}\n >\n
\n
\n Initiative\n
\n {priorityPosition}.{position}\n
\n
\n
\n {delegatedFromName && (\n
\n \n
\n )}\n {formData.name}\n
\n
\n \n
\n \n
\n \n
\n
\n
\n );\n};\n","import { getHeaders } from '../headers';\n\nexport const createApi = (defaultBaseUrl) => {\n return {\n updateOrdering: async (initiative_ids) => {\n const response = await fetch(`${defaultBaseUrl}/update_ordering`, {\n method: 'PUT',\n headers: getHeaders(),\n body: JSON.stringify({ initiative_ids }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw {\n status: response.status,\n message: errorData.message,\n redirect_url: errorData.redirect_url,\n };\n }\n\n return response.json();\n },\n };\n};\n\nexport const getInitiative = async (id) => {\n const response = await fetch(`/initiatives/${id}`, {\n method: 'GET',\n headers: getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n};\n","import React, { useEffect, useState } from 'react';\nimport { useDrag, useDrop } from 'react-dnd';\nimport EditAction from '../actions/edit';\nimport ReorderAction from '../actions/reorder';\nimport { useBeforeunload } from 'react-beforeunload';\nimport ErrorMessage from '../shared/error_message';\nimport { useFormStatus } from '../../helpers/form_hooks';\nimport { useScrollToAnchor } from '../../helpers/hooks';\nimport ActionMenuButton from '../shared/action_menu_button';\nimport { faTrashCan, faSitemap } from '@fortawesome/pro-regular-svg-icons';\nimport { transparentButtonSX } from '../../constants/theme';\nimport { useDelegateDialog } from '../shared/delegations/plan_element/delegate_dialog_context';\nimport DelegatedTag from '../shared/delegations/delegated_tag';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\nimport EditingForm from './editing_form';\nimport SchedulingView from './scheduling_view';\nimport { getJobLog } from '../../apis/job_logs/api';\nimport { getInitiative } from '../../apis/initiatives/api';\n\nexport default ({ initiative, ...props }) => {\n const { modifiable, canDelegate, canReorder } = props;\n const [delegationProps, setDelegationProps] = useState({\n 'delegated?': initiative['delegated?'],\n delegation_sync_fields: initiative['delegation_sync_fields'],\n delegated_from_org_name: initiative['delegated_from_org_name'],\n });\n\n const [pendingDelegationJob, setPendingDelegationJob] = useState(null);\n const { openDelegateDialog, jobLog, clearJobLog } = useDelegateDialog();\n\n const { processWithErrorFallback, isEditing, edited, errors, loading, formData, handleCancel, handleChange, handleEdit } = useFormStatus({\n props: { ...initiative },\n fields: ['description', 'assigned_to_user_id', 'name', 'health', 'lock_version', 'start_date', 'end_date'],\n });\n const previewRef = React.useRef(null);\n const dragRef = React.useRef(null);\n\n const [{ isDragging }, drag, preview] = useDrag({\n type: 'initiative',\n item: () => {\n return { ...props };\n },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const [{ handlerId }, drop] = useDrop({\n accept: 'initiative',\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n drop(item, monitor) {\n if (!previewRef.current) {\n return;\n }\n const dragIndex = item.index;\n const hoverIndex = props.index;\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return;\n }\n // Don't allow to drop on different priority\n if (item.priorityPosition !== props.priorityPosition) {\n return;\n }\n\n props.moveInitiative(dragIndex, hoverIndex);\n\n // Note: we're mutating the monitor item here!\n // Generally it's better to avoid mutations,\n // but it's good here for the sake of performance\n // to avoid expensive index searches.\n item.index = hoverIndex;\n },\n });\n\n useEffect(() => {\n const jobLogId = jobLog?.id;\n if (!pendingDelegationJob && jobLog?.originElement?.id === initiative.id && jobLogId) {\n setPendingDelegationJob(jobLog);\n clearJobLog();\n }\n }, [jobLog]);\n\n useEffect(() => {\n if (pendingDelegationJob) {\n let log;\n const intervalId = setInterval(async () => {\n log = await getJobLog(pendingDelegationJob.id);\n if (log.status !== 'pending') {\n clearInterval(intervalId);\n setPendingDelegationJob(null);\n if (log.status === 'success') {\n const newInitiative = await getInitiative(initiative.id);\n setDelegationProps({\n 'delegated?': newInitiative['delegated?'],\n delegation_sync_fields: newInitiative['delegation_sync_fields'],\n delegated_from_org_name: newInitiative['delegated_from_org_name'],\n });\n } else if (log.status === 'failure') {\n alert('Delegation failed. Please reload the page and try again.');\n }\n }\n }, 2000);\n return () => clearInterval(intervalId);\n }\n }, [pendingDelegationJob]);\n\n useEffect(() => {\n if (props.view === 'normal' && !isEditing) {\n drag(dragRef);\n drop(previewRef);\n preview(previewRef);\n }\n }, [props.view, isEditing]);\n\n useScrollToAnchor(() => {\n if (location.hash.replace('#', '') == initiative.id) {\n handleEdit();\n }\n });\n\n useBeforeunload((event) => {\n // NOTE: we can compare form data and item to see if there are any changes\n // instead of setting edited which will not work correct way in case if we will type previous\n // value manually\n if (edited) {\n event.preventDefault();\n }\n });\n\n const handleDelete = () => {\n const confirmDelete = confirm('Are you sure you want to delete this initiative?');\n if (confirmDelete) {\n processWithErrorFallback(\n props.deleteInitiative(initiative.id).then((response) => {\n trackCzEvent(`PlanDelete:Initiative`, `User deleted Initiative ${initiative.id}`, 1);\n }),\n { withMessageError: true }\n );\n }\n };\n\n const handleDone = () => {\n processWithErrorFallback(\n props.editInitiative(initiative.id, { ...formData, lock_version: initiative.lock_version }).then((response) => {\n trackCzEvent(`PlanEdit:Initiative`, `User edited Initiative ${initiative.id}`, 1);\n })\n );\n };\n\n const computeYears = () => {\n const years = [];\n const startYear = initiative.plan_start_year;\n [...Array(6)].forEach((_, i) => {\n years.push(`${parseInt(startYear) + i}-${(parseInt(startYear) + i + 1).toString().slice(-2)}`);\n });\n return years;\n };\n\n const delegatedFromName = initiative['delegated_from_org_name'];\n const canReorderLocal = canReorder && modifiable;\n const isDelegationInProgress = () => pendingDelegationJob && !delegationProps['delegated?'];\n const isDelegated = () => delegationProps['delegated?'] && !props.hideDelegations;\n\n const menuItems = [];\n if (canDelegate) {\n menuItems.push({\n label: 'Delegate',\n icon: faSitemap,\n onClick: () => {\n openDelegateDialog(props.projectPlan.id, {\n id: initiative.id,\n type: 'initiative',\n description: initiative.description,\n displayTitle: `Initiative ${initiative.numbering}`,\n });\n },\n });\n }\n if (initiative.deletable && !delegatedFromName) {\n menuItems.push({\n label: 'Delete',\n icon: faTrashCan,\n onClick: handleDelete,\n disabled: loading,\n });\n }\n\n return (\n <>\n {props.view === 'scheduling' ? (\n \n ) : (\n
\n \n \n {isEditing && (\n \n )}\n {!isEditing && (\n <>\n
\n
\n
\n {canReorderLocal ? (\n
\n \n
\n ) : (\n
\n )}\n
\n Initiative\n
\n {props.priorityPosition}.{props.position}\n
\n
\n
\n
\n {isDelegationInProgress() && (\n
\n \n
\n )}\n {isDelegated() && (\n
\n \n
\n )}\n {delegatedFromName && !props.hideDelegations && (\n
\n \n
\n )}\n {formData.description}\n
\n
{initiative?.assigned_to_user?.full_name}
\n
\n {formData.start_date && new Date(formData.start_date).toLocaleDateString({}, { timeZone: 'UTC' })}\n
\n
\n {formData.end_date && new Date(formData.end_date).toLocaleDateString({}, { timeZone: 'UTC' })}\n
\n {!props.isMeasures && (\n
\n {modifiable ? : null}\n {menuItems.length > 0 && }\n
\n )}\n
\n
\n \n \n )}\n
\n )}\n \n );\n};\n","import * as React from 'react';\nimport EditAction from '../actions/edit';\nimport TextField from '@mui/material/TextField';\n\nlet style = {\n border: '1px solid lightgrey',\n padding: '10px 10px',\n margin: '5px',\n backgroundColor: 'white',\n};\n\nexport default (props) => {\n const template = props.template;\n\n const [internalDescription, setDescription] = React.useState(template.description);\n const [internalName, setName] = React.useState(template.name);\n const [isChecked, setChecked] = React.useState(false);\n const [isEditing, setEditing] = React.useState(false);\n\n // eslint-disable-next-line\n const [cancelDescription, setCancelDescription] = React.useState(template.description);\n // eslint-disable-next-line\n const [cancelName, setCancelName] = React.useState(template.name);\n\n const handleAccept = (event) => {\n setChecked(event.target.checked);\n props.registerInitiativeTemplate({\n ...template,\n description: internalDescription,\n name: internalName,\n checked: event.target.checked,\n });\n };\n\n const handleDescriptionUpdate = (event) => {\n setDescription(event.target.value);\n setChecked(true);\n };\n\n const handleNameUpdate = (event) => {\n setName(event.target.value);\n setChecked(true);\n };\n\n const toggleEdit = () => {\n if (isEditing) {\n props.registerInitiativeTemplate({\n ...template,\n description: internalDescription,\n name: internalName,\n checked: isChecked,\n });\n }\n setEditing(!isEditing);\n };\n\n const handleCancel = () => {\n setEditing(false);\n setDescription(cancelDescription);\n setName(cancelName);\n props.registerInitiativeTemplate({\n ...template,\n description: cancelDescription,\n name: cancelName,\n checked: isChecked,\n });\n };\n\n return (\n
\n {isEditing && (\n
\n
\n \n
\n
\n \n
\n
\n \n \n
\n
\n )}\n {!isEditing && (\n
\n
\n \n
\n
\n \n
\n
\n \n \n
\n
\n )}\n
\n );\n};\n","import * as React from 'react';\nimport TextField from '@mui/material/TextField';\n\nlet style = {\n margin: '5px',\n marginBottom: '20px',\n backgroundColor: 'white',\n};\n\nexport default (props) => {\n const [internalDescription, setDescription] = React.useState('');\n const [name, setName] = React.useState('');\n const [isChecked, setChecked] = React.useState(false);\n\n const handleAccept = (event) => {\n setChecked(event.target.checked);\n props.registerInitiativeTemplate({\n gid: props.groupId,\n description: internalDescription,\n name: name,\n checked: event.target.checked,\n custom: true,\n });\n };\n\n const handleNameUpdate = (event) => {\n setName(event.target.value);\n var checked = event.target.value.length > 0 ? true : false;\n setChecked(checked);\n props.registerInitiativeTemplate({\n gid: props.groupId,\n description: internalDescription,\n name: event.target.value,\n checked: isChecked,\n custom: true,\n });\n };\n\n const handleTextUpdate = (event) => {\n setDescription(event.target.value);\n var checked = event.target.value.length > 0 ? true : false;\n setChecked(checked);\n props.registerInitiativeTemplate({\n gid: props.groupId,\n description: event.target.value,\n name: name,\n checked: isChecked,\n custom: true,\n });\n };\n\n return (\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n );\n};\n","import { useEffect } from 'react';\n\nconst ScrollToRef = ({ condition, refToScroll, offset, onScrolled }) => {\n useEffect(() => {\n if (condition && refToScroll.current) {\n const rect = refToScroll.current.getBoundingClientRect();\n window.scrollTo({\n top: rect.top + window.scrollY - offset,\n behavior: 'smooth',\n });\n\n if (onScrolled) {\n onScrolled();\n }\n }\n }, [condition, refToScroll, offset]);\n\n return null;\n};\n\nexport default ScrollToRef;\n","import React, { useState, useRef } from 'react';\nimport { useFormStatus } from '../../helpers/form_hooks';\nimport InitiativeTemplate from '../initiative_template';\nimport Custom from '../initiative_template/custom';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport Typography from '@mui/material/Typography';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport ErrorMessage from '../shared/error_message';\nimport ScrollToRef from '../../helpers/scroll_to_ref';\n\nlet style = {\n padding: '10px',\n backgroundColor: 'white',\n cursor: 'move',\n};\n\n// eslint-disable-next-line\nexport default ({ id, ...props }) => {\n const { processWithErrorFallback, isEditing, setEditing, errors, loading } = useFormStatus({});\n const [didCloseEdit, setDidCloseEdit] = useState(false);\n const addInitiativeButtonRef = useRef(null);\n\n const toggleEditing = () => setEditing(!isEditing);\n\n const close = () => {\n setEditing(false);\n setDidCloseEdit(true);\n };\n\n const onScrolled = () => {\n setDidCloseEdit(false);\n };\n\n const complete = () => {\n processWithErrorFallback(props.completeAdd(), {\n withMessageError: true,\n withErrorThrow: true,\n })\n .then(() => close())\n .catch((_err) => {});\n };\n\n const renderControls = () => {\n if (isEditing) {\n return (\n
\n {renderGroupings()}\n \n {/*
\n Custom \n
*/}\n \n
\n \n \n
\n
\n );\n }\n\n return (\n <>\n \n \n \n );\n };\n\n const renderGroupings = () => {\n return (\n <>\n {props.initiativeGroupings.map((ig) => (\n
\n \n } aria-controls=\"panel1a-content\" id=\"panel1a-header\">\n {ig.description}\n \n {renderTemplatesByGroup(ig.id)}\n \n
\n ))}\n \n );\n };\n\n const renderTemplatesByGroup = (groupId) => {\n const filteredTemplates = props.templates.filter((t) => t.initiative_grouping_id == groupId);\n return (\n <>\n {filteredTemplates.map((t) => (\n \n ))}\n \n \n );\n };\n\n return <>{renderControls()};\n};\n","import RailsResource from './rails_resource';\n\nexport default class InitiativeGroupingResource extends RailsResource {\n id = undefined;\n description = '';\n position = null;\n strategic_priority_category_id = null;\n\n pk() {\n return this.id;\n }\n\n static urlRoot = '/initiative_groupings/';\n}\n","import { useState, useCallback, useEffect, useRef } from 'react';\nimport { usePrevious } from '../../../helpers/hooks';\nimport update from 'immutability-helper';\nimport InitiativeResource from '../../../resources/initiative_resource';\nimport { createApi } from '../../../apis/initiatives/api';\nimport { trackCzEvent } from '../../../helpers/track_cz_event';\n\nexport const useInitiativesManager = ({ strategic_priority, initiatives: unsortedInitiatives }, fetch) => {\n const [initiatives, setInitiatives] = useState(unsortedInitiatives.sort((a, b) => a.position - b.position));\n\n const initialLockVersions = {};\n initiatives.forEach((i) => {\n initialLockVersions[i.id] = i.lock_version;\n });\n\n const [lockVersions, setLockVersions] = useState(initialLockVersions);\n const [initiativeQueue, setInitiativeQueue] = useState({});\n\n const api = createApi(`strategic_priorities/${strategic_priority.id}/initiatives`);\n\n /**\n * Flag to indicate that the order of initiatives should be updated.\n * Ensures that reordering inside the useEffect hook only happens when the order of initiatives changes,\n * and not when the initiatives are updated or created.\n */\n const [shouldUpdateOrder, setShouldUpdateOrder] = useState(false);\n\n /**\n * Ref to lockVersions to avoid re-rendering\n * In the callback of editInitiative, we update the lockVersionRef.current directly,\n * instead of waiting for the next render via setLockVersions (which is a pending state transition).\n */\n const lockVersionRef = useRef({});\n useEffect(() => {\n lockVersionRef.current = lockVersions;\n }, [lockVersions]);\n\n const initiativesRef = useRef(initiatives);\n useEffect(() => {\n initiativesRef.current = initiatives;\n }, [initiatives]);\n\n const moveInitiative = useCallback((dragIndex, hoverIndex) => {\n setInitiatives((prevInitiatives) => {\n const newInitiatives = update(prevInitiatives, {\n $splice: [\n [dragIndex, 1],\n [hoverIndex, 0, { ...prevInitiatives[dragIndex], position: hoverIndex + 1 }],\n ],\n });\n setShouldUpdateOrder(true);\n return newInitiatives;\n });\n }, []);\n\n const addInitiative = (i) => {\n if (i.id) {\n setInitiatives((prevInitiatives) => [...prevInitiatives, i]);\n }\n };\n\n const completeAdd = () => {\n const queue = Object.keys(initiativeQueue).map((k) => initiativeQueue[k]);\n const numInitiatives = Object.keys(initiativeQueue).length;\n const fnPromises = queue.map((it, index) => {\n return fetch(InitiativeResource.create(), {\n name: it.name,\n description: it.description,\n initiative_template_id: it.id,\n strategic_priority_id: strategic_priority.id,\n }).then((i) => {\n registerInitiativeTemplate({\n id: it.id,\n gid: it.gid,\n checked: false,\n custom: it.custom,\n });\n addInitiative(i);\n setLockVersions((prev) => ({ ...prev, [i.id]: i.lock_version })); // Update the lockVersion for the new initiative\n lockVersionRef.current[i.id] = i.lock_version; // Also update the lockVersionRef\n });\n });\n return Promise.allSettled(fnPromises).then((results) => {\n const rejected = results.find((result) => result.status === 'rejected');\n if (rejected) throw rejected.reason;\n trackCzEvent(`PlanAdd:Initiative`, `User added ${numInitiatives} Initiatives`, numInitiatives);\n });\n };\n\n const editInitiative = (id, data) => {\n const lockVersion = lockVersionRef.current[id];\n return fetch(InitiativeResource.update(), { id: id }, { ...data, lock_version: lockVersion }).then((response) => {\n const initiativeIndex = initiativesRef.current.findIndex((element) => element.id === response.id);\n // Set the position of the response object to the position from the current state\n response.position = initiativesRef.current[initiativeIndex].position;\n const newInitiatives = update(initiativesRef.current, {\n $splice: [\n [initiativeIndex, 1],\n [initiativeIndex, 0, response],\n ],\n });\n setInitiatives(newInitiatives);\n lockVersionRef.current[id] = response.lock_version;\n });\n };\n\n const deleteInitiative = (id) => {\n return fetch(InitiativeResource.delete(), { id: id }).then(() => {\n setInitiatives((prevInitiatives) => [...prevInitiatives.filter((p) => p.id !== id)]);\n });\n };\n\n /**\n * Reordering initiatives\n */\n useEffect(() => {\n if (shouldUpdateOrder) {\n const updateInitiativesOrder = async () => {\n const response = await api.updateOrdering(initiatives.map((i) => i.id));\n const newLockVersions = {};\n response.forEach((initiative) => (newLockVersions[initiative.id] = initiative.lock_version));\n setLockVersions(newLockVersions);\n setShouldUpdateOrder(false);\n };\n updateInitiativesOrder();\n }\n }, [initiatives, shouldUpdateOrder]);\n\n const registerInitiativeTemplate = (it) => {\n setInitiativeQueue((oldQueue) => {\n if (it.checked) {\n if (it.custom) {\n oldQueue[`idCustom${it.gid}`] = it;\n } else {\n oldQueue[`id${it.id || it.gid}`] = it;\n }\n } else {\n if (it.custom) {\n delete oldQueue[`idCustom${it.gid}`];\n } else {\n delete oldQueue[`id${it.id}`];\n }\n }\n return { ...oldQueue };\n });\n };\n\n return {\n initiatives,\n completeAdd,\n editInitiative,\n moveInitiative,\n deleteInitiative,\n registerInitiativeTemplate,\n };\n};\n","import * as React from 'react';\nimport { useCallback } from 'react';\nimport { useController } from 'rest-hooks';\nimport { useSuspense } from 'rest-hooks';\nimport Initiative from '../../components/initiative';\nimport InitiativeAdd from '../../components/initiative/add';\nimport Layout from '../layouts/application';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { themeAttuned } from '../../constants/theme';\nimport InitiativeGroupingResource from '../../resources/initiative_grouping_resource';\nimport { useInitiativesManager } from './hooks/useInitiativesManager';\nimport { PlanElementDelegateDialogProvider } from '../../components/shared/delegations/plan_element/delegate_dialog_context';\n\nconst Container = (props) => {\n const { fetch } = useController();\n const initiativeGroupings = useSuspense(InitiativeGroupingResource.list(), {\n strategic_priority_category_id: props.strategic_priority.strategic_priority_category_id,\n });\n\n const { initiatives, completeAdd, editInitiative, moveInitiative, deleteInitiative, registerInitiativeTemplate } = useInitiativesManager(\n props,\n fetch\n );\n\n const style = {\n margin: '1px',\n backgroundColor: 'white',\n cursor: 'move',\n };\n\n const renderInitiative = useCallback((initiative, index) => {\n return (\n \n );\n }, []);\n\n const computeYears = () => {\n const years = [];\n const startYear = props.start_year;\n\n [...Array(6)].forEach((_, i) => {\n years.push(`${parseInt(startYear) + i}-${(parseInt(startYear) + i + 1).toString().slice(-2)}`);\n });\n return years;\n };\n\n const renderSchedulingHeader = () => {\n if (initiatives.length === 0 || props.view !== 'scheduling') {\n return <>;\n }\n return (\n
\n
\n
\n
\n
\n {computeYears().map((y) => (\n
\n {y}\n
\n ))}\n
\n
\n
\n
\n );\n };\n\n const renderTableHeader = () => {\n if (initiatives.length === 0 || props.view === 'scheduling') {\n return <>;\n }\n return (\n
\n
\n Num\n
\n
\n Initiative\n
\n
\n Lead\n
\n
\n Start\n
\n
\n End\n
\n
\n Actions\n
\n
\n );\n };\n\n return (\n <>\n {renderSchedulingHeader()}\n {renderTableHeader()}\n {initiatives.map((initiative, i) => renderInitiative(initiative, i))}\n {props.modifiable && props.view !== 'scheduling' ? (\n \n ) : null}\n \n );\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n \n \n \n \n );\n};\n","import React, { useState, useRef, useEffect } from 'react';\nimport TextField from '@mui/material/TextField';\nimport FormControl from '@mui/material/FormControl';\nimport InputLabel from '@mui/material/InputLabel';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport Resources from '../shared/resources';\nimport UploadAction from '../actions/upload';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport { useBeforeunload } from 'react-beforeunload';\nimport { textError } from '../../helpers/rails_errors';\nimport DelegationFieldsToolTip from '../shared/delegations/plan_element/delegation_fields_tooltip';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\nimport { showDelegationFieldsToolTip, isFieldSynced } from '../../helpers/delegation_helper';\n\nlet style = {\n // border: '1px solid black',\n padding: '10px 0',\n backgroundColor: 'white',\n};\n\n// eslint-disable-next-line\nexport default ({ id, ...props }) => {\n const { deliverable = {}, initiativeId, errors, delegationProps } = props;\n const [edited, setEdited] = useState(false);\n\n // create reference to description input\n const descriptionRef = useRef(null);\n\n // run on mount\n useEffect(() => {\n if (descriptionRef.current) {\n descriptionRef.current.focus();\n }\n }, []);\n\n useBeforeunload((event) => {\n if (edited) {\n event.preventDefault();\n }\n });\n\n const handleSubmit = (e) => {\n e.preventDefault();\n var data = new FormData(e.target);\n\n props.submitForm(data, (response) => {\n if (props.action == 'Edit') {\n trackCzEvent(`PlanEdit:Deliverable`, `User edited deliverable ${props.deliverable.id}`, 1);\n } else {\n trackCzEvent(`PlanAdd:Deliverable`, `User added 1 deliverable ${props.deliverable.id}`, 1);\n }\n });\n };\n\n const handleUpload = (deliverable) => {\n props.handleUpload(deliverable);\n };\n\n const handleResourceUpdate = (resources) => {\n props.handleResourceUpdate(resources);\n };\n\n const markAsEdited = () => {\n setEdited(true);\n props.clearErrors();\n };\n\n const toolTipContent =\n 'Changes to the description and to the start and end dates will be automatically copied to all plans to which you have delegated this deliverable.';\n\n return (\n \n \n \n
props.handleClose(edited)} style={{ position: 'absolute', top: 10, right: 20, cursor: 'pointer' }}>\n ✕\n
\n
\n
\n
{`${props.action} Deliverable${deliverable.numbering ? ' ' + deliverable.numbering : ''}`}
\n {props.action === 'Edit' && showDelegationFieldsToolTip(delegationProps) && (\n \n )}\n
\n \n \n
\n 0}\n helperText={textError(errors.description)}\n className=\"me-3\"\n id=\"measure-target-result-value\"\n variant=\"outlined\"\n name=\"deliverable[description]\"\n defaultValue={deliverable.description}\n onChange={markAsEdited}\n style={{ width: '50%' }}\n inputRef={descriptionRef}\n disabled={isFieldSynced('description', deliverable)}\n />\n
\n \n Lead\n \n \n {props.potentialLeads.map((user) => (\n \n {`${user.first_name} ${user.last_name || ''}`}\n \n ))}\n \n {!!errors?.assigned_to_user_id && {textError(errors.assigned_to_user_id)}}\n \n
\n \n \n
\n {(!!errors?.end_on || !!errors?.start_on) && (\n \n {textError(errors.start_on)}\n {textError(errors.end_on)}\n \n )}\n
\n {props.action === 'Edit' && (\n
\n Resources\n
\n \n \n
\n
\n )}\n
\n
{!!errors?.base && {textError(errors.base)}}
\n
\n \n \n
\n
\n
\n
\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useScrollToAnchor } from '../../helpers/hooks';\nimport Form from './form';\nimport Resources from '../shared/resources';\nimport EditAction from '../actions/edit';\nimport UploadAction from '../actions/upload';\nimport { confirmChangesBeforeCanceling } from '../../helpers/confirm_cancel';\nimport { useFormStatus } from '../../helpers/form_hooks';\nimport ErrorMessage from '../shared/error_message';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport ActionMenuButton from '../shared/action_menu_button';\nimport { faTrashCan, faSitemap } from '@fortawesome/pro-regular-svg-icons';\nimport { transparentButtonSX } from '../../constants/theme';\nimport { useDelegateDialog } from '../shared/delegations/plan_element/delegate_dialog_context';\nimport DelegatedTag from '../shared/delegations/delegated_tag';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\nimport { getJobLog } from '../../apis/job_logs/api';\nimport { getDeliverable } from '../../apis/deliverables/api';\n\n// eslint-disable-next-line\nexport default ({ id, canDelegate, project_plan_id, ...props }) => {\n const [pendingDelegationJob, setPendingDelegationJob] = useState(null);\n const [resources, setResources] = useState(props.deliverable.resources);\n const { openDelegateDialog, jobLog, clearJobLog } = useDelegateDialog();\n const { processWithErrorFallback, isEditing, errors, loading, setEditing, handleEdit, clearErrors } = useFormStatus({});\n const [delegationProps, setDelegationProps] = useState({\n 'delegated?': props.deliverable['delegated?'],\n delegation_sync_fields: props.deliverable['delegation_sync_fields'],\n delegated_from_org_name: props.deliverable['delegated_from_org_name'],\n });\n\n useScrollToAnchor(() => {\n if (location.hash.replace('#', '') == props.deliverable.id) {\n setEditing(true);\n }\n });\n\n useEffect(() => {\n const jobLogId = jobLog?.id;\n if (!pendingDelegationJob && jobLog?.originElement?.id === props.deliverable.id && jobLogId) {\n setPendingDelegationJob(jobLog);\n clearJobLog();\n }\n }, [jobLog]);\n\n useEffect(() => {\n if (pendingDelegationJob) {\n let log;\n const intervalId = setInterval(async () => {\n log = await getJobLog(pendingDelegationJob.id);\n if (log.status !== 'pending') {\n clearInterval(intervalId);\n setPendingDelegationJob(null);\n if (log.status === 'success') {\n const newDeliverable = await getDeliverable(props.deliverable.id);\n setDelegationProps({\n 'delegated?': newDeliverable['delegated?'],\n delegation_sync_fields: newDeliverable['delegation_sync_fields'],\n delegated_from_org_name: newDeliverable['delegated_from_org_name'],\n });\n } else if (log.status === 'failure') {\n alert('Delegation failed. Please reload the page and try again.');\n }\n }\n }, 2000);\n return () => clearInterval(intervalId);\n }\n }, [pendingDelegationJob]);\n\n const handleDelete = () => {\n const confirmDelete = confirm('Are you sure you want to delete this deliverable?');\n if (confirmDelete) {\n processWithErrorFallback(\n props.deleteDeliverable(props.deliverable.id).then((response) => {\n trackCzEvent(`PlanDelete:Deliverable`, `User deleted deliverable ${id}`, 1);\n }),\n {\n withMessageError: true,\n }\n );\n }\n };\n\n const handleChangeCompleted = (e) => {\n const fnPromise = props\n .editDeliverable(props.deliverable.id, {\n completed: !!e.target.checked,\n })\n .then((response) => {\n if (e.target.checked) {\n trackCzEvent(`PlanComplete:Deliverable`, `User completed deliverable ${props.deliverable.id}`, 1);\n } else {\n trackCzEvent(`PlanUncomplete:Deliverable`, `User uncompleted deliverable ${props.deliverable.id}`, 1);\n }\n });\n processWithErrorFallback(fnPromise, { withMessageError: true });\n };\n\n const submitForm = (data, callback) => {\n clearErrors();\n return processWithErrorFallback(\n props.editDeliverable(props.deliverable.id, data).then((response) => {\n callback && callback();\n })\n );\n };\n\n const handleUpload = (deliverable) => {\n setResources(deliverable.resources);\n };\n\n const handleResourceUpdate = (newResources) => {\n setResources(newResources);\n };\n\n const formatDate = (date) => {\n return date ? new Date(date).toLocaleDateString({}, { timeZone: 'UTC' }) : '';\n };\n\n const style = {\n border: '1px solid lightgrey',\n borderLeft: 0,\n borderBottom: 0,\n padding: '2px 6px',\n color: `${props.deliverable.completed ? 'lightgray' : '#333333'}`,\n breakInside: 'avoid',\n };\n\n const delegatedFromName = props.deliverable['delegated_from_org_name'];\n const isDelegated = () => delegationProps['delegated?'];\n const isDelegationInProgress = () => pendingDelegationJob && !delegationProps['delegated?'];\n\n const menuItems = [];\n if (canDelegate) {\n menuItems.push({\n label: 'Delegate',\n icon: faSitemap,\n onClick: () => {\n openDelegateDialog(project_plan_id, {\n id: props.deliverable.id,\n type: 'deliverable',\n description: props.deliverable.description,\n displayTitle: `Deliverable ${props.deliverable.numbering}`,\n });\n },\n });\n }\n if (props.deliverable.modifiable && !delegatedFromName) {\n menuItems.push({\n label: 'Delete',\n icon: faTrashCan,\n onClick: handleDelete,\n disabled: loading,\n });\n }\n\n return (\n <>\n {isEditing && (\n {\n confirmChangesBeforeCanceling(hasUnsavedChanges, () => setEditing(false));\n }}\n handleUpload={handleUpload}\n handleResourceUpdate={handleResourceUpdate}\n errors={errors}\n loading={loading}\n clearErrors={clearErrors}\n />\n )}\n {!isEditing && (\n \n \n {props.deliverable.numbering}\n \n \n {isDelegationInProgress() && (\n
\n \n
\n )}\n {isDelegated() && (\n
\n \n
\n )}\n {delegatedFromName && (\n
\n \n
\n )}\n {props.deliverable.description}\n
\n \n {props.deliverable.assigned_user}\n \n \n {formatDate(props.deliverable.start_on)}\n \n \n {formatDate(props.deliverable.end_on)}\n \n \n \n \n \n
\n \n {props.deliverable.modifiable ? (\n \n ) : null}\n
\n
\n \n
\n {props.deliverable.modifiable ? (\n <>\n \n \n ) : null}\n {menuItems.length > 0 && }\n \n
\n
\n
\n )}\n \n );\n};\n","import { getHeaders } from '../headers';\n\nexport const getDeliverable = async (id) => {\n const response = await fetch(`/deliverables/${id}`, {\n method: 'GET',\n headers: getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n};\n","import RailsResource from './rails_resource';\n\nexport default class DeliverableResource extends RailsResource {\n id = undefined;\n description = '';\n position = null;\n start_on = null;\n end_on = null;\n status = null;\n assigned_to_user_id = null;\n initiative_id = null;\n completed = null;\n resources = [];\n numbering = null;\n lock_version = null;\n\n pk() {\n return this.id;\n }\n\n static listInitiativeDeliverables = (initiativeId) => {\n const endpoint = this.list();\n return endpoint.extend({\n url() {\n return `/initiatives/${initiativeId}/deliverables`;\n },\n fetch() {\n return endpoint.fetch.call(this);\n },\n });\n };\n\n static urlRoot = '/deliverables/';\n}\n\n/**\n# id :bigint not null, primary key\n# description :text\n# end_on :date\n# position :integer\n# start_on :date\n# status :string\n# created_at :datetime not null\n# updated_at :datetime not null\n# assigned_to_user_id :integer\n# initiative_id :integer\n#\n*/\n","import * as React from 'react';\nimport DeliverableResource from '../../resources/deliverable_resource';\nimport { useController } from 'rest-hooks';\nimport Form from './form';\nimport { useFormStatus } from '../../helpers/form_hooks';\nimport Table from '@mui/material/Table';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\n\nlet style = {\n margin: '1px',\n backgroundColor: 'white',\n border: 'transparent',\n};\n\nexport default ({ id, ...props }) => {\n const { fetch } = useController();\n const { processWithErrorFallback, isEditing, errors, loading, setEditing, clearErrors } = useFormStatus();\n\n const toggleEditing = () => {\n setEditing(!isEditing);\n };\n\n const submitForm = (data) => {\n const fnPromise = fetch(DeliverableResource.create(), data).then((res) => {\n data.set('initiative_id', props.initiative.id);\n props.addDeliverable(res);\n trackCzEvent(`PlanAdd:Deliverable`, `User added Deliverable ${res.id}`, 1);\n });\n processWithErrorFallback(fnPromise);\n };\n\n const renderControls = () => {\n if (isEditing) {\n return (\n \n \n
\n );\n }\n\n return (\n \n );\n };\n\n return (\n
\n {renderControls()}\n
\n );\n};\n","import * as React from 'react';\nimport railsFetch from '../../helpers/rails_fetch';\nimport DeliverableResource from '../../resources/deliverable_resource';\nimport { useController } from 'rest-hooks';\nimport { useFormStatus } from '../../helpers/form_hooks';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\n\nlet style = {\n border: '1px solid lightblue',\n borderRadius: '8px',\n padding: '10px 20px',\n margin: '1px',\n backgroundColor: 'white',\n};\n\nexport default ({ id, ...props }) => {\n const { fetch } = useController();\n const [isEditing, setEditing] = React.useState(false);\n const { processWithErrorFallback } = useFormStatus();\n\n const importDeliverables = () => {\n const url = `/initiatives/${props.initiativeId}/import_deliverables`;\n const fnPromise = railsFetch(url, {\n method: 'POST',\n })\n .then((response) => {\n return response.json();\n })\n .then((response) => {\n loadDeliverables();\n trackCzEvent(`PlanAdd:Deliverable`, `User added ${response.added_deliverables_count} Deliverables`, response.added_deliverables_count);\n });\n processWithErrorFallback(fnPromise, { withAlert: true });\n };\n\n const loadDeliverables = () => {\n const fnPromise = fetch(DeliverableResource.list(), { initiative_id: props.initiativeId }).then((ds) => {\n ds.forEach((d) => props.addDeliverable(d));\n props.setShowImport(false);\n });\n processWithErrorFallback(fnPromise, { withAlert: true });\n };\n\n const renderControls = () => {\n return isEditing ? (\n
\n
\n

Do you want to import recommended deliverables?

\n
\n \n \n
\n \n
\n
\n ) : (\n \n );\n };\n\n return (\n
\n {renderControls()}\n
\n );\n};\n","import * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport Deliverable from '../../components/deliverable';\nimport DeliverableAdd from '../../components/deliverable/add';\nimport DeliverableImport from '../../components/deliverable/import';\nimport DeliverableResource from '../../resources/deliverable_resource';\nimport { useController } from 'rest-hooks';\nimport Layout from '../layouts/application';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { themeAttuned } from '../../constants/theme';\nimport { on, off } from '../../helpers/events';\nimport Table from '@mui/material/Table';\nimport TableHead from '@mui/material/TableHead';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport TableBody from '@mui/material/TableBody';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport { PlanElementDelegateDialogProvider } from '../../components/shared/delegations/plan_element/delegate_dialog_context';\nimport { trackCzEvent } from '../../helpers/track_cz_event';\n\nconst headerStyle = {\n border: '1px solid lightgrey',\n padding: '2px 6px',\n fontWeight: 'bold',\n};\n\n// Defining the table headers\nconst headCells = [\n {\n id: 'numbering',\n numeric: false,\n label: 'Num',\n style: { ...headerStyle, borderLeft: 0 },\n sortable: true,\n },\n {\n id: 'description',\n numeric: false,\n label: 'Deliverable',\n style: headerStyle,\n sortable: true,\n },\n { id: 'assigned_user', numeric: false, label: 'Lead', style: headerStyle, sortable: true },\n { id: 'start_on', numeric: false, label: 'Start', style: headerStyle, sortable: true },\n { id: 'end_on', numeric: false, label: 'End', style: headerStyle, sortable: true },\n { id: 'completed', numeric: false, label: 'Complete', style: headerStyle, sortable: false },\n {\n id: 'resources',\n numeric: false,\n label: 'Resources',\n style: headerStyle,\n className: 'no-print',\n sortable: false,\n },\n {\n id: 'edit',\n numeric: false,\n label: 'Actions',\n style: headerStyle,\n className: 'no-print',\n sortable: false,\n },\n];\n\nconst Container = (props) => {\n const { fetch } = useController();\n\n // State for this component:\n // deliverables: list of deliverables\n // filteredDeliverables: list of deliverables after filtering and sorting\n // hideCompleted: flag to show/hide completed deliverables\n // showImport: flag to show/hide the import feature\n // orderBy, order: fields for sorting\n const [deliverables, setDeliverables] = useState(props.initiative.deliverables || []);\n const [filteredDeliverables, setFilteredDeliverables] = useState(deliverables || []);\n const [hideCompleted, setHideCompleted] = useState(false);\n const [hideDelegated, setHideDelegated] = useState(false);\n\n const [showImport, setShowImport] = useState(\n props.modifiable && props.initiative.can_import_deliverables && props.initiative.deliverables.length == 0\n );\n\n const localStorageKey = 'SP_DELIVERABLES_SORT';\n const initSortState = JSON.parse(localStorage.getItem(localStorageKey) || '{}');\n\n // Setting initial sort state from local storage, defaulting to numbering asc (as it was before)\n const [orderBy, setOrderBy] = useState(initSortState[props.initiative.id]?.orderBy || 'numbering');\n const [order, setOrder] = useState(initSortState[props.initiative.id]?.order || 'asc');\n\n // Sort data by field and order\n const sortByField = (field, order, data) => {\n return [...data].sort((a, b) => {\n let valA;\n let valB;\n\n if (field === 'start_on' || field === 'end_on') {\n valA = new Date(a[field]);\n valB = new Date(b[field]);\n } else if (field === 'numbering') {\n valA = parseInt(a.numbering.split('.').slice(-1));\n valB = parseInt(b.numbering.split('.').slice(-1));\n } else if (field === 'assigned_user') {\n valA = a[field] || '';\n valB = b[field] || '';\n } else {\n valA = a[field];\n valB = b[field];\n }\n\n let comparison = 0;\n if (valA > valB) {\n comparison = 1;\n } else if (valA < valB) {\n comparison = -1;\n }\n return order === 'desc' ? comparison * -1 : comparison;\n });\n };\n\n // Handle a request to sort the table\n const handleRequestSort = (property) => {\n const isAsc = orderBy === property && order === 'asc';\n const newOrder = isAsc ? 'desc' : 'asc';\n setOrder(newOrder);\n setOrderBy(property);\n\n // Side-effect: Save sort state to local storage\n const currentSortState = JSON.parse(localStorage.getItem(localStorageKey) || '{}');\n currentSortState[props.initiative.id] = { orderBy: property, order: newOrder };\n localStorage.setItem(localStorageKey, JSON.stringify(currentSortState));\n };\n\n // Effect hook to sort and filter deliverables when relevant state changes\n useEffect(() => {\n if (deliverables) {\n let updatedDeliverables = [...deliverables];\n if (hideCompleted) {\n updatedDeliverables = updatedDeliverables.filter((d) => !d.completed);\n }\n\n if (hideDelegated) {\n updatedDeliverables = updatedDeliverables.filter((d) => !d['delegated?']);\n }\n const sortedDeliverables = sortByField(orderBy, order, updatedDeliverables);\n setFilteredDeliverables([...sortedDeliverables]);\n }\n }, [orderBy, order, deliverables, hideCompleted, hideDelegated]);\n\n useEffect(() => {\n on('deliverable:hide_completed', () => setHideCompleted(true));\n on('deliverable:show_completed', () => setHideCompleted(false));\n\n on('deliverable:hide_delegated', () => setHideDelegated(true));\n on('deliverable:show_delegated', () => setHideDelegated(false));\n\n return () => {\n off('deliverable:hide_completed');\n off('deliverable:show_completed');\n\n off('deliverable:hide_delegated');\n off('deliverable:show_delegated');\n };\n }, []);\n\n const addDeliverable = (d) => {\n setDeliverables((prevDeliverables) => [...prevDeliverables, d].sort((a, b) => a.numbering < b.numbering));\n };\n\n const editDeliverable = (id, data) => {\n return fetch(DeliverableResource.update(), { id: id }, data).then(() => {\n trackCzEvent(`PlanEdit:Deliverable`, `User edited Deliverable ${id}`, 1);\n DeliverableResource.listInitiativeDeliverables(props.initiative.id)().then((res) => {\n setDeliverables(res);\n });\n });\n };\n\n const deleteDeliverable = (id) => {\n // Reloading the list after deleting, to avoid having to update the numbering of all deliverables\n return fetch(DeliverableResource.delete(), { id: id })\n .then(() => fetch(DeliverableResource.listInitiativeDeliverables(props.initiative.id)))\n .then((updatedDeliverables) => setDeliverables(updatedDeliverables));\n };\n\n const renderDeliverable = (deliverable, index, props) => {\n return (\n \n );\n };\n\n const SortableTableHead = (props) => {\n const { order, orderBy, handleRequestSort } = props;\n return (\n \n \n {headCells.map((headCell) => (\n \n {headCell.sortable ? (\n handleRequestSort(headCell.id)}\n >\n {headCell.label}\n \n ) : (\n headCell.label\n )}\n \n ))}\n \n \n );\n };\n\n if (showImport) {\n return ;\n } else {\n return (\n
\n \n \n {filteredDeliverables.map((deliverable, i) => renderDeliverable(deliverable, i, props))}\n
\n {props.modifiable ? (\n \n ) : null}\n
\n );\n }\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n \n \n \n \n );\n};\n","import * as React from 'react';\nimport MeasureForm from './form';\nimport Modal from 'react-modal';\nimport { DefaultModalStyles } from '../../constants/react_modal_styles';\nimport _ from 'lodash';\n\n// eslint-disable-next-line\nexport default ({ id, ...props }) => {\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n\n const toggleIsModalOpen = () => {\n setIsModalOpen(!isModalOpen);\n };\n\n const close = () => {\n setIsModalOpen(false);\n };\n\n Modal.setAppElement(document.getElementsByClassName('.container-fluid')[0]);\n\n const className = `${_.snakeCase(props.measurableType)}-border-left`;\n const renderControls = () => {\n return (\n
\n document.querySelector('body')}>\n \n \n \n
\n );\n };\n\n return <>{renderControls()};\n};\n","/* eslint-disable prettier/prettier */\nimport * as React from 'react';\nimport { useState } from 'react';\nimport update from 'immutability-helper';\nimport Initiative from '../../components/initiative';\nimport MeasureAdd from '../../components/measure/add';\nimport InitiativeResource from '../../resources/initiative_resource';\nimport { useController } from 'rest-hooks';\nimport Layout from '../layouts/application';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { themeAttuned } from '../../constants/theme';\nimport StrategicPriorityResource from '../../resources/strategic_priority_resource';\nimport MeasureTable from '../../components/measure/table';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport { PlanElementDelegateDialogProvider } from '../../components/shared/delegations/plan_element/delegate_dialog_context';\n\nconst Container = (props) => {\n const { strategic_priority } = props;\n const [measures, setMeasures] = useState(strategic_priority.measures);\n const [initiatives, setInitiatives] = useState(strategic_priority.initiatives.sort((a, b) => a.position - b.position));\n\n const { fetch } = useController();\n\n const addInitiativeMeasure = (id) => {\n return (measureParams) => {\n delete measureParams.id;\n return fetch(InitiativeResource.createInitiativeMeasure(), { id, ...measureParams }).then((res) => {\n const initiativeIndex = initiatives.findIndex((element) => element.id == res.measurable_id);\n setInitiatives(\n update(initiatives, {\n [initiativeIndex]: {\n $set: update(initiatives[initiativeIndex], {\n measures: {\n $set: update(initiatives[initiativeIndex].measures, {\n $push: [res],\n }),\n },\n }),\n },\n })\n );\n return res;\n });\n };\n };\n\n const updateInitiativeMeasure = (measure) => {\n const initiativeIndex = initiatives.findIndex((element) => element.id == measure.measurable_id);\n const measuresIndex = initiatives[initiativeIndex].measures.findIndex((element) => element.id == measure.id);\n const newInitiatives = update(initiatives, {\n [initiativeIndex]: {\n $set: update(initiatives[initiativeIndex], {\n measures: {\n $set: update(initiatives[initiativeIndex].measures, {\n [measuresIndex]: { $set: measure },\n }),\n },\n }),\n },\n });\n setInitiatives(newInitiatives);\n };\n\n const addStrategicPriorityMeasure = (id) => {\n return (measureParams) => {\n delete measureParams.id;\n\n return fetch(StrategicPriorityResource.createStrategicPriorityMeasure(), {\n id,\n ...measureParams,\n }).then((res) => {\n setMeasures(update(measures, { $push: [res] }));\n return res;\n });\n };\n };\n\n const updateStrategicPriorityMeasure = (measure) => {\n const replaceIndex = measures.findIndex((m) => m.id == measure.id);\n const newMeasures = update(measures, {\n [replaceIndex]: { $set: measure },\n });\n setMeasures(newMeasures);\n };\n\n const renderInitiative = (initiative, index) => {\n return (\n \n \n \n \n \n \n {initiative.measures.length > 0 && (\n
\n \n
\n )}\n {initiative.modifiable ? (\n \n ) : null}\n
\n
\n
\n );\n };\n\n const deleteMeasure = (measure) => {\n if (measure.measurable_type == 'Initiative') {\n const initiativeIndex = initiatives.findIndex((element) => element.id == measure.measurable_id);\n\n setInitiatives(\n update(initiatives, {\n [initiativeIndex]: {\n $set: update(initiatives[initiativeIndex], {\n measures: {\n $set: update(initiatives[initiativeIndex].measures, {\n $apply: (measures) => measures.filter((m) => m.id !== measure.id),\n }),\n },\n }),\n },\n })\n );\n } else {\n setMeasures(\n update(measures, {\n $apply: (measures) => measures.filter((m) => m.id !== measure.id),\n })\n );\n }\n };\n\n return (\n <>\n {measures.length > 0 && (\n \n )}\n {props.modifiable ? (\n \n ) : null}\n {initiatives.map((initiative, i) => renderInitiative(initiative, i))}\n \n );\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n \n \n \n \n );\n};\n","import RailsResource from './rails_resource';\nimport MeasureResource from './measure_resource';\n\nexport default class ProjectPlanResource extends RailsResource {\n id = undefined;\n measures = [];\n strategic_priorities = [];\n initiatives = [];\n potential_measure_owners = [];\n default_results_reporter_id = null;\n potential_results_reporters = [];\n\n pk() {\n return this.id;\n }\n\n static createProjectPlanMeasure = () => {\n const endpoint = this.create();\n return endpoint.extend({\n url(sp) {\n return `/project_plans/${sp.id}/measures`;\n },\n fetch(measureParams) {\n return endpoint.fetch.call(this, measureParams);\n },\n });\n };\n\n static schema = {\n measures: [MeasureResource],\n };\n\n static urlRoot = '/project_plans/';\n}\n\n/**\n\n# id :bigint not null, primary key\n# description :text\n# position :integer\n# created_at :datetime not null\n# updated_at :datetime not null\n# project_plan_id :integer\n# strategic_priority_category_id :integer\n# strategic_priority_template_id :integer\n\n*/\n","import * as React from 'react';\nimport { useState } from 'react';\nimport update from 'immutability-helper';\nimport MeasureAdd from '../../components/measure/add';\nimport { useController } from 'rest-hooks';\nimport Layout from '../layouts/application';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { themeAttuned } from '../../constants/theme';\nimport ProjectPlanResource from '../../resources/project_plan_resource';\nimport MeasureTable from '../../components/measure/table';\nimport { PlanElementDelegateDialogProvider } from '../../components/shared/delegations/plan_element/delegate_dialog_context';\n\nconst Container = (props) => {\n const { project_plan } = props;\n const [measures, setMeasures] = useState(props.measures);\n\n const { fetch } = useController();\n\n const addMissionMeasure = (measureParams) => {\n delete measureParams.id;\n const id = project_plan.id;\n\n return fetch(ProjectPlanResource.createProjectPlanMeasure(), {\n id,\n ...measureParams,\n }).then((res) => {\n setMeasures(update(measures, { $push: [res] }));\n });\n };\n\n const updateMeasures = (measure) => {\n const replaceIndex = measures.findIndex((m) => m.id == measure.id);\n const newMeasures = update(measures, {\n [replaceIndex]: { $set: measure },\n });\n setMeasures(newMeasures);\n };\n\n // eslint-disable-next-line\n const deleteMeasure = (measure) => {};\n\n return (\n <>\n {measures.length > 0 && (\n \n )}\n {props.modifiable ? (\n \n ) : null}\n \n );\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n \n \n \n \n );\n};\n","import React, { useState, useRef } from 'react';\nimport { Button, Box, Chip, Dialog, DialogContent, DialogTitle, DialogActions, Stack, Typography, IconButton, TextField } from '@mui/material';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCodePullRequest, faTrashCan, faEye, faInputText } from '@fortawesome/pro-solid-svg-icons';\nimport { themeAttuned } from '../../constants/theme';\nimport { delegatedTagSx } from '../../constants/delegated_tag_sx';\nimport ReadOnlyRichText from '../shared/rte/readonly_rich_text';\nimport { restore, destroy, update } from '../../apis/document_versions/api';\n\nconst VersionDialog = ({ versions, setDocument }) => {\n const versionNameInput = useRef();\n const [visible, setVisible] = useState(false);\n const [viewedVersion, setViewedVersion] = useState(null);\n const [name, setName] = useState(null);\n\n const formatUpdatedAt = (version) => {\n const date = new Date(version.updated_at);\n const dateString = date.toLocaleDateString('UTC');\n const timeString = date.toLocaleTimeString('UTC');\n\n return `${dateString} ${timeString}`;\n };\n\n const viewVersion = (version) => {\n setViewedVersion(version);\n setName(version.name);\n };\n\n const updateVersion = async (payload) => {\n setName(payload.name);\n const doc = await update(viewedVersion.id, payload);\n setDocument(doc);\n setViewedVersion(doc.document_versions.find((v) => v.id === viewedVersion.id));\n };\n\n const restoreVersion = async (id) => {\n const response = await restore(id);\n setDocument(response);\n setVisible(false);\n setTimeout(() => {\n setViewedVersion(null);\n }, 500);\n };\n\n const destroyVersion = async (id) => {\n const response = await destroy(id);\n setDocument(response);\n setViewedVersion(null);\n };\n\n return (\n <>\n \n {\n setVisible(false);\n setTimeout(() => {\n setViewedVersion(null);\n }, 500);\n }}\n fullWidth\n >\n Versions\n \n {versions.map((version) => (\n \n {version.name ? `${version.name}` : `Document Updated At: ${formatUpdatedAt(version)}`}\n \n viewVersion(version)}>\n \n \n \n \n ))}\n {viewedVersion && (\n <>\n
\n \n updateVersion({\n name: e.currentTarget.value,\n })\n }\n sx={{ mb: 2 }}\n />\n \n \n }\n aria-label=\"Restore\"\n size=\"small\"\n onClick={(e) => restoreVersion(viewedVersion.id)}\n variant=\"contained\"\n >\n Restore\n \n }\n aria-label=\"Delete\"\n size=\"small\"\n onClick={(e) => destroyVersion(viewedVersion.id)}\n variant=\"contained\"\n >\n Delete\n \n \n \n )}\n
\n \n \n );\n};\n\nexport default VersionDialog;\n","import { getHeaders } from '../headers';\n\nexport const update = async (versionId, version) => {\n const response = await fetch(`/document_versions/${versionId}`, {\n method: 'PUT',\n headers: getHeaders(),\n body: JSON.stringify({\n document_version: version,\n }),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n};\n\nexport const restore = async (versionId) => {\n const response = await fetch(`/document_versions/${versionId}/restore`, {\n method: 'PUT',\n headers: getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n};\n\nexport const destroy = async (versionId) => {\n const response = await fetch(`/document_versions/${versionId}`, {\n method: 'DELETE',\n headers: getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport Layout from '../layouts/application';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { themeAttuned } from '../../constants/theme';\nimport Editor from '../../components/shared/rte/editor';\nimport VersionDialog from '../../components/document/versions_dialog';\nimport { Stack, Button, Box, ToggleButtonGroup, ToggleButton, Typography, IconButton, Snackbar } from '@mui/material';\nimport { TiptapCollabProvider } from '@hocuspocus/provider';\nimport * as Y from 'yjs';\nimport { getCurrentUser } from '../../helpers/get_current_user.js';\nimport { fullCollabControlsConfig } from '../../components/shared/rte/config/full_collab_controls_config';\nimport LockOpenIcon from '@mui/icons-material/LockOpen';\nimport LockIcon from '@mui/icons-material/Lock';\nimport Download from '@mui/icons-material/Download';\nimport { saveVersion } from '../../apis/documents/api';\nimport { exportCommentaryToPdf } from '../../apis/project_plans/api';\n\nconst Container = ({ project_plan, commentary, tip_tap_app_id, tip_tap_jwt }) => {\n const containerRef = useRef(null);\n const doc = new Y.Doc();\n\n const [provider, setProvider] = useState(false);\n const [isDisabled, setIsDisabled] = useState(true);\n const [editorInstance, setEditorInstance] = useState(null);\n const [pdfToastOpen, setPdfToastOpen] = useState(false);\n const [commentaryDoc, setCommentaryDoc] = useState(commentary);\n\n const handleEditorReady = (editor) => {\n setEditorInstance(editor);\n };\n\n const { name } = getCurrentUser();\n\n useEffect(() => {\n setProvider(\n new TiptapCollabProvider({\n name: `projectPlanCommentary${project_plan.id}`,\n appId: tip_tap_app_id,\n token: tip_tap_jwt,\n document: doc,\n\n onSynced: () => {\n if (!doc.getMap('config').get('initialContentLoaded') && editorInstance) {\n doc.getMap('config').set('initialContentLoaded', true);\n editorInstance.setContent(commentaryDoc.current_version?.content);\n }\n },\n })\n );\n return () => {\n provider.destroy();\n };\n }, []);\n\n const saveDocumentVersion = (content) => {\n saveVersion(commentary.id, content);\n };\n\n const exportAsPdf = async (event) => {\n event.preventDefault();\n if (editorInstance) {\n try {\n setPdfToastOpen(true);\n\n const html = editorInstance.getHTML();\n const blob = await exportCommentaryToPdf(project_plan.id, html);\n\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n\n a.href = url;\n a.download = `plan_commentary_${project_plan.id}_${Date.now()}.pdf`;\n a.click();\n\n // Clean up the object URL after the download is initiated\n window.URL.revokeObjectURL(url);\n\n setPdfToastOpen(false);\n } catch (error) {\n console.error('Error exporting commentary to PDF:', error);\n setPdfToastOpen(false);\n }\n }\n };\n\n const handleEditClick = () => {\n setIsDisabled(!isDisabled);\n };\n\n const editButtonText = isDisabled ? 'Edit' : 'Done';\n const editButtonIcon = isDisabled ? : ;\n\n return (\n <>\n {provider.isConnected && (\n
\n \n \n \n \n \n \n
\n )}\n setPdfToastOpen(false)}\n message=\"Generating PDF...\"\n ContentProps={{\n sx: {\n backgroundColor: themeAttuned.palette.primary.main,\n color: themeAttuned.palette.common.white,\n width: '100%',\n },\n }}\n />\n \n );\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n \n \n );\n};\n","export const fullCollabControlsConfig = () => [\n 'MenuSelectFontFamily',\n 'MenuSelectHeading',\n\n 'MenuDivider',\n 'MenuSelectFontSize',\n\n 'MenuButtonBold',\n 'MenuButtonItalic',\n 'MenuButtonStrikethrough',\n 'MenuButtonEditLink',\n 'MenuSelectTextAlign',\n\n 'MenuDivider',\n 'MenuButtonTextColor',\n 'MenuButtonHighlightColor',\n\n 'MenuDivider',\n 'MenuButtonOrderedList',\n 'MenuButtonBulletedList',\n 'MenuButtonTaskList',\n 'MenuButtonAddTable',\n\n 'MenuDivider',\n 'MenuButtonRemoveFormatting',\n];\n","import { getHeaders } from '../headers';\n\nexport const saveVersion = async (documentId, content) => {\n const response = await fetch(`/documents/${documentId}/create_or_update_version`, {\n method: 'POST',\n headers: getHeaders(),\n body: JSON.stringify({\n document: {\n document_version: {\n content: content,\n },\n },\n }),\n });\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return response.json();\n};\n","import React from 'react';\nimport Layout from '../layouts/application';\nimport algoliasearch from 'algoliasearch/lite';\nimport { InstantSearch, SearchBox, Hits, Snippet, RefinementList, Configure } from 'react-instantsearch';\nimport { startCase } from 'lodash';\n\nconst Hit = ({ hit }) => {\n return (\n
\n );\n};\n\nconst Container = (props) => {\n const searchClient = algoliasearch(props.algoliaAppId, props.algoliaSearchKey);\n const filters = `org.id=${props.orgId}`;\n\n return (\n
\n \n \n
\n a.name < b.name} />\n
\n
\n

{`Search Plan Elements for ORG with ID = ${props.orgId}`}

\n \n \n
\n
\n
\n );\n};\n\nexport default (props, railsContext) => {\n return () => (\n \n \n \n );\n};\n"],"names":["createApi","defaultBaseUrl","planAndDescendants","async","response","fetch","id","method","headers","getHeaders","ok","Error","statusText","json","exportCommentaryToPdf","html","body","JSON","stringify","blob","slot","Domain1","Domain2","Domain3","Domain4","Domain5","Domain6","React","className","FontAwesomeIcon","icon","faGripDotsVertical","style","cursor","padding","fontSize","color","ErrorMessage","errors","base","FormHelperText","error","paddingLeft","margin","backgroundColor","modifiable","canDelegate","project_plan_id","delegationSyncFields","props","openDelegateDialog","jobLog","clearJobLog","useDelegateDialog","processWithErrorFallback","formData","isEditing","setEditing","edited","loading","handleCancel","handleChange","handleEdit","useFormStatus","fields","pendingDelegationJob","setPendingDelegationJob","useState","delegationProps","setDelegationProps","delegation_sync_fields","delegated_from_org_name","useEffect","jobLogId","originElement","log","intervalId","setInterval","getJobLog","status","clearInterval","newSp","getStrategicPriority","alert","previewRef","dragRef","isDragging","drag","preview","useDrag","type","item","collect","monitor","handlerId","drop","useDrop","accept","getHandlerId","current","dragIndex","index","hoverIndex","movePriority","simple","useBeforeunload","event","preventDefault","useScrollToAnchor","location","hash","replace","handleDelete","confirm","deletePriority","then","trackCzEvent","withMessageError","numbering","delegatedFromName","canReorder","menuItems","push","label","faSitemap","onClick","description","displayTitle","faTrashCan","disabled","ref","opacity","src","iconMapping","strategic_priority_category_id","width","maxWidth","minWidth","showDelegationFieldsToolTip","DelegationFieldsToolTip","isDelegated","delegatedFromOrgName","elementType","TextField","multiline","name","join","helperText","variant","value","onChange","e","inputProps","isFieldSynced","textError","confirmChangesBeforeCanceling","handleDone","editPriority","lock_version","ReorderAction","DelegatedTag","isInProgress","sx","border","isCreatedByDelegation","textTransform","lineHeight","EditAction","handleClick","length","ActionMenuButton","transparentButtonSX","StrategicPriorityResource","RailsResource","undefined","position","strategic_priority_template_id","measures","potential_measure_owners","default_results_reporter_id","potential_results_reporters","pk","this","static","createStrategicPriorityMeasure","endpoint","create","extend","url","sp","measureParams","call","MeasureResource","Container","priorities","setPriorities","strategic_priorities","sort","a","b","useController","useCallback","prevPriorities","update","$splice","data","updatedPriority","map","p","delete","filter","usePrevious","newValues","oldValues","findIndex","idx","arr","forEach","i","catch","alertError","renderPriority","priority","StrategicPriority","Object","assign","key","can_delegate","railsContext","Layout","ThemeProvider","theme","themeAttuned","PlanElementDelegateDialogProvider","internalDescription","setDescription","internalName","setName","isChecked","setChecked","cancelDescription","setCancelDescription","cancelName","setCancelName","handleDescriptionUpdate","target","registerPriority","checked","handleNameUpdate","toggleEdit","readOnly","StrategicPriorityTemplateResource","marginBottom","showAdd","setAdd","priorityQueue","setPriorityQueue","strategicPriorities","templates","useSuspense","list","close","complete","fnPromises","keys","k","projectPlanId","oldPriorities","addPriority","fnAllPromises","Promise","allSettled","results","rejected","find","result","reason","withErrorThrow","_err","oldQueue","add","marginLeft","n","StrategicPriorityTemplate","Custom","categories","strategic_priority_categories","renderCategory","category","StrategicPriorityCategory","initiative","priorityPosition","fullWidth","marginTop","defaultValue","assigned_to_user_id","assignable_users","u","first_name","last_name","htmlFor","start_date","InputLabelProps","shrink","end_date","InitiativeResource","strategic_priority_id","initiative_template_id","deliverables","createInitiativeMeasure","updateOrdering","params","showDetailed","setShowDetailed","backgroundColors","setBackgroundColors","detailedValues","setDetailedValues","on","off","years","y","findDefaultValue","updateBackgroundColor","updateDetailedValues","year","prevColors","newColors","projectPlan","initiative_stage_name_1","initiative_stage_name_2","initiative_stage_name_3","initiative_stage_name_4","initiative_stage_name_5","prevValues","field","fnPromise","field_parts","split","withAlert","handleTextareaBlur","matches","initiative_years","borderColor","TextareaAutosize","onBlur","renderDetailed","delegated","Tooltip","title","flexShrink","assigned_to_user","full_name","arrow","componentsProps","tooltip","bgcolor","fontWeight","SchedulingForm","initiative_ids","errorData","message","redirect_url","moveInitiative","newInitiative","getInitiative","view","deleteInitiative","canReorderLocal","deletable","SchedulingView","computeYears","startYear","plan_start_year","Array","_","parseInt","toString","slice","EditingForm","editInitiative","flex","paddingRight","hideDelegations","Date","toLocaleDateString","timeZone","isMeasures","template","registerInitiativeTemplate","WebkitTextFillColor","gid","groupId","custom","ScrollToRef","condition","refToScroll","offset","onScrolled","rect","getBoundingClientRect","window","scrollTo","top","scrollY","behavior","didCloseEdit","setDidCloseEdit","addInitiativeButtonRef","useRef","toggleEditing","completeAdd","renderGroupings","initiativeGroupings","ig","Accordion","AccordionSummary","expandIcon","ExpandMoreIcon","Typography","AccordionDetails","renderTemplatesByGroup","filteredTemplates","t","initiative_grouping_id","InitiativeTemplate","InitiativeGroupingResource","useInitiativesManager","strategic_priority","initiatives","unsortedInitiatives","setInitiatives","initialLockVersions","lockVersions","setLockVersions","initiativeQueue","setInitiativeQueue","api","shouldUpdateOrder","setShouldUpdateOrder","lockVersionRef","initiativesRef","prevInitiatives","newInitiatives","newLockVersions","updateInitiativesOrder","it","queue","numInitiatives","addInitiative","prev","lockVersion","initiativeIndex","element","renderInitiative","Initiative","current_user_id","reorderable","priority_index","numberingPrefix","project_plan","textAlign","marginRight","start_year","alignItems","InitiativeAdd","initiative_templates","strategicPriority","deliverable","initiativeId","setEdited","descriptionRef","focus","markAsEdited","clearErrors","TableRow","TableCell","colSpan","handleClose","right","onSubmit","FormData","submitForm","action","toolTipContent","rows","inputRef","FormControl","size","InputLabel","Select","MenuItem","height","potentialLeads","user","start_on","end_on","Resources","resources","handleUpdate","handleResourceUpdate","UploadAction","handleUpload","setResources","newDeliverable","getDeliverable","deleteDeliverable","newResources","formatDate","date","borderLeft","borderBottom","completed","breakInside","Form","callback","editDeliverable","hasUnsavedChanges","assigned_user","defaultChecked","recordId","DeliverableResource","initiative_id","res","set","addDeliverable","Table","borderRadius","importDeliverables","railsFetch","loadDeliverables","added_deliverables_count","ds","d","setShowImport","headerStyle","headCells","numeric","sortable","setDeliverables","filteredDeliverables","setFilteredDeliverables","hideCompleted","setHideCompleted","hideDelegated","setHideDelegated","showImport","can_import_deliverables","localStorageKey","initSortState","parse","localStorage","getItem","orderBy","setOrderBy","order","setOrder","handleRequestSort","property","newOrder","currentSortState","setItem","updatedDeliverables","sortedDeliverables","sortByField","valA","valB","comparison","prevDeliverables","listInitiativeDeliverables","SortableTableHead","TableHead","headCell","align","sortDirection","TableSortLabel","active","direction","DeliverableImport","TableBody","renderDeliverable","Deliverable","positionPrefix","DeliverableAdd","isModalOpen","setIsModalOpen","toggleIsModalOpen","Modal","document","getElementsByClassName","measurableType","isOpen","DefaultModalStyles","parentSelector","querySelector","MeasureForm","toLowerCase","setMeasures","updateInitiativeMeasure","measure","measurable_id","measuresIndex","$set","deleteMeasure","measurable_type","$apply","m","MeasureTable","updateMeasure","replaceIndex","newMeasures","defaultResultsReporterId","potentialResultsReporters","MeasureAdd","$push","elevation","defaultExpanded","currentUserId","leadId","ProjectPlanResource","createProjectPlanMeasure","VersionDialog","versions","setDocument","visible","setVisible","viewedVersion","setViewedVersion","updateVersion","payload","doc","versionId","version","document_version","document_versions","v","restoreVersion","restore","setTimeout","destroyVersion","destroy","Button","Dialog","open","onClose","DialogTitle","DialogContent","Stack","mb","justifyContent","updated_at","toLocaleTimeString","formatUpdatedAt","spacing","IconButton","viewVersion","faEye","palette","grey","placeholder","currentTarget","ReadOnlyRichText","initialContent","content","mt","startIcon","faCodePullRequest","white","commentary","tip_tap_app_id","tip_tap_jwt","containerRef","Y","provider","setProvider","isDisabled","setIsDisabled","editorInstance","setEditorInstance","pdfToastOpen","setPdfToastOpen","commentaryDoc","setCommentaryDoc","getCurrentUser","TiptapCollabProvider","appId","token","onSynced","getMap","get","setContent","current_version","editButtonText","editButtonIcon","LockOpenIcon","LockIcon","isConnected","handleEditClick","getHTML","URL","createObjectURL","createElement","href","download","now","click","revokeObjectURL","console","Download","Editor","controlsConfig","onContentChange","documentId","saveVersion","onEditorReady","editor","minHeight","hideMenuBarIfDisabled","collaboration","enabled","Snackbar","autoHideDuration","ContentProps","primary","main","common","Hit","hit","search_result_path","startCase","Snippet","attribute","searchClient","algoliasearch","algoliaAppId","algoliaSearchKey","filters","orgId","InstantSearch","indexName","Configure","RefinementList","sortBy","SearchBox","Hits","hitComponent"],"sourceRoot":""}