{"version":3,"file":"760.305b281570e801d50d16.chunk.js","mappings":"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","sources":["webpack://LessMeeting/./wwwroot/src/js/utils/fetcher.ts","webpack://LessMeeting/./wwwroot/src/js/components/common/tooltip-slider.tsx","webpack://LessMeeting/./wwwroot/src/js/components/cost-calculator.tsx"],"sourcesContent":["import download from \"downloadjs\"\r\n\r\nexport enum RequestMethod {\r\n GET = \"GET\",\r\n POST = \"POST\",\r\n PUT = \"PUT\",\r\n DELETE = \"DELETE\"\r\n}\r\n\r\nexport enum ContentType {\r\n FormUrlEncoded = \"application/x-www-form-urlencoded;charset=UTF-8\",\r\n ApplicationJson = \"application/json\",\r\n MultipartFormData = \"multipart/form-data\"\r\n}\r\n\r\ninterface RequestOptions {\r\n signal?: RequestInit['signal']\r\n body?: any\r\n method?: RequestMethod\r\n contentType?: ContentType\r\n}\r\n\r\nfunction objectToUrlEncoded(element, key?, list?) {\r\n list = list || []\r\n\r\n if (typeof (element) == 'object') {\r\n for (const idx in element) {\r\n objectToUrlEncoded(element[idx], key ? key + '[' + idx + ']' : idx, list)\r\n }\r\n } else {\r\n list.push(key + '=' + encodeURIComponent(element));\r\n }\r\n\r\n return list.join('&');\r\n}\r\n\r\nfunction objectToFromData(data: any) {\r\n const formData = new FormData()\r\n\r\n for (const name in data) {\r\n formData.append(name, data[name])\r\n }\r\n\r\n return formData\r\n}\r\n\r\nconst bodyBuilderStrategy: { [id: string]: (body: any) => any } = {\r\n [ContentType.FormUrlEncoded]: (body: any) => {\r\n return objectToUrlEncoded(body)\r\n },\r\n [ContentType.ApplicationJson]: (body: any) => {\r\n return JSON.stringify(body)\r\n },\r\n [ContentType.MultipartFormData]: (body: any) => {\r\n return objectToFromData(body)\r\n }\r\n}\r\n\r\nexport const fetcher = async (url: string, options: RequestOptions = {}): Promise => {\r\n const body: string = bodyBuilderStrategy[options.contentType](options.body)\r\n\r\n const headers = {\r\n // This was added for backward compatibility with \\WebApp\\Controllers\\BaseController.cs IsAjaxRequest property.\r\n // This property was used to determine wheather the request was made via JS or via HTML form.\r\n 'X-Requested-With': 'XMLHttpRequest',\r\n 'Version-Frontend': window.SENTRY_RELEASE\r\n }\r\n\r\n if (options.contentType != ContentType.MultipartFormData) {\r\n headers['Content-Type'] = options.contentType\r\n }\r\n\r\n const res = await fetch(url, {\r\n ...options,\r\n headers,\r\n body\r\n })\r\n\r\n if (res.status === 401) {\r\n window.location.reload()\r\n return Promise.resolve()\r\n }\r\n\r\n if (res.status === 204 || res.status === 304) {\r\n return Promise.resolve()\r\n }\r\n\r\n if (res.headers.get('Content-Type')?.indexOf('application/pdf') > -1) {\r\n const blob = await res.blob()\r\n // workaround to get file name\r\n const fileName = res.headers.get('Content-Disposition').match(/filename=\"(.+)\"/)[1];\r\n return download(blob, fileName)\r\n }\r\n\r\n let data = await res.text()\r\n\r\n if (res.headers.get('Content-Type')?.indexOf('application/json') > -1 && data) {\r\n data = JSON.parse(data)\r\n }\r\n\r\n if (res.status >= 400 && res.status < 600) {\r\n return Promise.reject({ status: res.status, data, headers: res.headers })\r\n }\r\n\r\n return data\r\n}\r\n","import type { SliderProps } from 'rc-slider';\r\nimport Slider from 'rc-slider';\r\nimport type { TooltipRef } from 'rc-tooltip';\r\nimport Tooltip from 'rc-tooltip';\r\nimport raf from 'rc-util/lib/raf';\r\nimport * as React from 'react';\r\n\r\ninterface HandleTooltipProps {\r\n value: number;\r\n children: React.ReactElement;\r\n visible: boolean;\r\n tipFormatter?: (value: number) => React.ReactNode;\r\n}\r\n\r\nconst HandleTooltip: React.FC = (props) => {\r\n const { value, children, visible, tipFormatter = (val) => val, ...restProps } = props;\r\n\r\n const tooltipRef = React.useRef();\r\n const rafRef = React.useRef(null);\r\n\r\n function cancelKeepAlign() {\r\n raf.cancel(rafRef.current!);\r\n }\r\n\r\n function keepAlign() {\r\n rafRef.current = raf(() => {\r\n tooltipRef.current?.forceAlign();\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n if (visible) {\r\n keepAlign();\r\n } else {\r\n cancelKeepAlign();\r\n }\r\n\r\n return cancelKeepAlign;\r\n }, [value, visible]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const handleRender: SliderProps['handleRender'] = (node, props) => (\r\n \r\n {node}\r\n \r\n);\r\n\r\ninterface TooltipSliderProps extends SliderProps {\r\n tipFormatter?: (value: number) => React.ReactNode;\r\n tipProps?: any;\r\n}\r\n\r\nconst TooltipSlider: React.FC = ({ tipFormatter, tipProps, ...props }) => {\r\n const tipHandleRender: SliderProps['handleRender'] = (node, { value, dragging }) => (\r\n \r\n {node}\r\n \r\n );\r\n\r\n return ;\r\n};\r\n\r\nexport default TooltipSlider;\r\n","import { PropsWithChildren, useState } from 'react'\r\nimport { useDebouncedCallback } from 'use-debounce'\r\nimport Tooltip from 'rc-tooltip'\r\nimport Slider, { handleRender } from './common/tooltip-slider';\r\n\r\nimport { fetcher, ContentType, RequestMethod } from \"../utils/fetcher\"\r\n\r\ntype Workforce = {\r\n pctOfWorkforce: number\r\n pctMeeting: number\r\n avgSalary: number\r\n hourlyCost: string\r\n meetingsPerDay: number\r\n}\r\n\r\ntype Calculator = {\r\n employees: number\r\n execs: Workforce\r\n mgmt: Workforce\r\n workers: Workforce\r\n execsCnt: number\r\n mgrsCnt: number\r\n workersCnt: number\r\n avgPctInMeetings: string\r\n annualHours: string\r\n annualMeetingHours: string\r\n avgAttendees: number\r\n annualMeetings: string\r\n annualCostOfMeetings: string\r\n annualLaborCost: string\r\n blendedRate: string\r\n annualFollowUpCost: string\r\n pctAttendeesNotNecessary: number\r\n annualUnncessaryAttendeeCost: string\r\n pctWithAgenda: number\r\n annualAgendaLessCost: string\r\n pctMeetingsWithoutKeyAttendees: number\r\n annualCostOfMissingKeyAttendees: string\r\n pctOffTopic: number\r\n annualOffTopicCost: string\r\n pctAchievingGoal: number\r\n annualCostOfMeetingGoalsUnachieved: string\r\n minsLateStart: number\r\n annualLateStartCost: string\r\n minsLateFinish: number\r\n annualLateFinishCost: string\r\n pctWithoutMinutes: number\r\n annualMinutesCost: string\r\n pctActionsNotCompleted: number\r\n annualMissedActionsCost: string\r\n avgMeetingCost: string\r\n annualMeetingSavingsPotential: string\r\n}\r\n\r\ntype Props = {\r\n refreshCalculatorUrl: string\r\n downloadCalculatorPdfUrl: string\r\n avgMeetingMins: number\r\n calculator: Calculator\r\n}\r\n\r\nexport default function CostCalculatorComponent({\r\n refreshCalculatorUrl,\r\n downloadCalculatorPdfUrl,\r\n avgMeetingMins,\r\n calculator\r\n}: Props): JSX.Element {\r\n const [calculatorState, setCalculator] = useState(calculator)\r\n\r\n const addCommas = (nStr: string) => {\r\n nStr += ''\r\n const x = nStr.split('.')\r\n let x1 = x[0]\r\n const x2 = x.length > 1 ? '.' + x[1] : ''\r\n const rgx = /(\\d+)(\\d{3})/\r\n\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, '$1' + ',' + '$2')\r\n }\r\n\r\n return x1 + x2\r\n }\r\n\r\n const recalculate = useDebouncedCallback(async (calculator?: Calculator) => {\r\n const result: Calculator = await fetcher(refreshCalculatorUrl, {\r\n method: RequestMethod.POST,\r\n contentType: ContentType.FormUrlEncoded,\r\n body: calculator || calculatorState\r\n })\r\n\r\n Object.keys(result).forEach(key => {\r\n if (typeof result[key] === 'number' && key !== 'employees') {\r\n result[key] = addCommas(result[key].toFixed())\r\n }\r\n })\r\n\r\n setCalculator(result)\r\n }, 300)\r\n\r\n const downloadCalculatorPdf = async () => {\r\n await fetcher(downloadCalculatorPdfUrl, {\r\n method: RequestMethod.POST,\r\n contentType: ContentType.FormUrlEncoded,\r\n body: calculatorState\r\n })\r\n }\r\n\r\n const onChange = async (value: any, field: string) => {\r\n const newModel = {\r\n ...calculatorState,\r\n [field]: value\r\n }\r\n\r\n setCalculator(newModel)\r\n await recalculate(newModel)\r\n }\r\n\r\n const onEmployeesChange = async (event: React.ChangeEvent) => {\r\n await onChange(+event.target.value, 'employees')\r\n }\r\n\r\n const onExecsPctMeetingChange = async (value: number) => {\r\n await onChange({\r\n ...calculatorState.execs,\r\n pctMeeting: value\r\n }, 'execs')\r\n }\r\n\r\n const onExecsAvgSalaryChange = async (value: number) => {\r\n await onChange({\r\n ...calculatorState.execs,\r\n avgSalary: value\r\n }, 'execs')\r\n }\r\n\r\n const onMgmtPctMeetingChange = async (value: number) => {\r\n await onChange({\r\n ...calculatorState.mgmt,\r\n pctMeeting: value\r\n }, 'mgmt')\r\n }\r\n\r\n const onMgmtAvgSalaryChange = async (value: number) => {\r\n await onChange({\r\n ...calculatorState.mgmt,\r\n avgSalary: value\r\n }, 'mgmt')\r\n }\r\n\r\n const onWorkersPctMeetingChange = async (value: number) => {\r\n await onChange({\r\n ...calculatorState.workers,\r\n pctMeeting: value\r\n }, 'workers')\r\n }\r\n\r\n const onWorkersAvgSalaryChange = async (value: number) => {\r\n await onChange({\r\n ...calculatorState.workers,\r\n avgSalary: value\r\n }, 'workers')\r\n }\r\n\r\n const onAvgAttendeesChange = async (value: number) => {\r\n await onChange(value, 'avgAttendees')\r\n }\r\n\r\n const onPctAttendeesNotNecessaryChange = async (value: number) => {\r\n await onChange(value, 'pctAttendeesNotNecessary')\r\n }\r\n\r\n const onPctWithAgendaChange = async (value: number) => {\r\n await onChange(value, 'pctWithAgenda')\r\n }\r\n\r\n const onPctMeetingsWithoutKeyAttendeesChange = async (value: number) => {\r\n await onChange(value, 'pctMeetingsWithoutKeyAttendees')\r\n }\r\n\r\n const onPctOffTopicChange = async (value: number) => {\r\n await onChange(value, 'pctOffTopic')\r\n }\r\n\r\n const onPctAchievingGoalChange = async (value: number) => {\r\n await onChange(value, 'pctAchievingGoal')\r\n }\r\n\r\n const onMinsLateStartChange = async (value: number) => {\r\n await onChange(value, 'minsLateStart')\r\n }\r\n\r\n const onMinsLateFinishChange = async (value: number) => {\r\n await onChange(value, 'minsLateFinish')\r\n }\r\n\r\n const onPctWithoutMinutesChange = async (value: number) => {\r\n await onChange(value, 'pctWithoutMinutes')\r\n }\r\n\r\n const onPctActionsNotCompletedChange = async (value: number) => {\r\n await onChange(value, 'pctActionsNotCompleted')\r\n }\r\n\r\n const onPercentOfWorkersChange = async (values: number[]) => {\r\n const newModel = {\r\n ...calculatorState,\r\n workers: {\r\n ...calculatorState.workers,\r\n pctOfWorkforce: 100 - values[1]\r\n },\r\n execs: {\r\n ...calculatorState.execs,\r\n pctOfWorkforce: values[0]\r\n },\r\n mgmt: {\r\n ...calculatorState.mgmt,\r\n pctOfWorkforce: values[1] - values[0]\r\n }\r\n }\r\n\r\n setCalculator(newModel)\r\n }\r\n\r\n const meetingFollowupCost = (\r\n <>\r\n
assumed: 1 Hr per Meeting Writing Minutes
\r\n
assumed: 3.5 Todos per Meeting (45 mins each)
\r\n
\r\n {calculatorState.blendedRate} Avg. Hourly Rate\r\n
\r\n
\r\n {calculatorState.annualMeetings} Meetings/Yr\r\n
\r\n
{calculatorState.annualFollowUpCost}
\r\n \r\n )\r\n\r\n const meetingAnnualCost = (\r\n <>\r\n
assumed: 1800 Hours/Year
\r\n
\r\n Exec Meetings: {calculatorState.execs.hourlyCost} Hourly\r\n
\r\n
\r\n Mgr Meetings: {calculatorState.mgmt.hourlyCost} Hourly\r\n
\r\n
\r\n Worker Meetings: {calculatorState.workers.hourlyCost} Hourly\r\n
\r\n
{calculatorState.annualCostOfMeetings} in Meetings/Yr
\r\n \r\n )\r\n\r\n const meetingsYrCalc = (\r\n <>\r\n
\r\n ({calculatorState.avgPctInMeetings}% of {calculatorState.annualHours})\r\n
\r\n
\r\n = {calculatorState.annualMeetingHours} Meeting\r\n
\r\n
\r\n Avg: {calculatorState.avgAttendees} Attendees, {avgMeetingMins} mins\r\n
\r\n
{calculatorState.annualMeetings} Meetings/Yr
\r\n \r\n )\r\n\r\n return (<>\r\n
Meeting Cost Calculator
\r\n
How much could you save from your annual meeting costs?
\r\n
\r\n
Company Stats
\r\n
\r\n
\r\n
# of Employees
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{calculatorState.execs.pctOfWorkforce}%
\r\n
{calculatorState.mgmt.pctOfWorkforce}%
\r\n
{calculatorState.workers.pctOfWorkforce}%
\r\n
\r\n recalculate()} />\r\n
\r\n
exec
\r\n
mgmt
\r\n
workers
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
% of Time in MeetingsAvg Hourly Salary
\r\n
\r\n
Executives
\r\n
{calculatorState.execsCnt}
\r\n
\r\n
\r\n
\r\n
\r\n
0%
\r\n `${val} %`}\r\n />\r\n
100%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
$10
\r\n `$ ${val}`}\r\n />\r\n
$200
\r\n
\r\n
\r\n
\r\n
\r\n
Management
\r\n
{calculatorState.mgrsCnt}
\r\n
\r\n
\r\n
\r\n
\r\n
0%
\r\n `${val} %`}\r\n />\r\n
100%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
$10
\r\n `$ ${val}`}\r\n />\r\n
$200
\r\n
\r\n
\r\n
\r\n
\r\n
Workers
\r\n
{calculatorState.workersCnt}
\r\n
\r\n
\r\n
\r\n
\r\n
0%
\r\n `${val} %`}\r\n />\r\n
100%
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
$10
\r\n `$ ${val}`}\r\n />\r\n
$200
\r\n
\r\n
\r\n
\r\n
\r\n Annual Totals\r\n
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualMeetings} Meetings/Yr
\r\n \r\n {meetingsYrCalc}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualCostOfMeetings} in Meetings/Yr
\r\n \r\n {meetingAnnualCost}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Annual Labor Costs
\r\n
{calculatorState.annualLaborCost}
\r\n
Annual Cost in Meetings
\r\n
\r\n
{calculatorState.annualCostOfMeetings}
\r\n \r\n {meetingAnnualCost}\r\n \r\n
\r\n
Annual Cost in Followups
\r\n
\r\n
{calculatorState.annualFollowUpCost}
\r\n \r\n {meetingFollowupCost}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Meeting Stats
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Planning\r\n \r\n Annual Potential Savings\r\n
Avg # of Attendees per Meeting\r\n
\r\n
2
\r\n
\r\n \r\n
\r\n
10+
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualMeetings} meetings/yr
\r\n \r\n {meetingsYrCalc}\r\n \r\n
\r\n
% of Attendees Not Necessary\r\n
\r\n
0%
\r\n
\r\n `${val} %`}\r\n />\r\n
\r\n
100%
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualUnncessaryAttendeeCost} in wasted time
\r\n \r\n
Attendees Not Necessary
\r\n
People invited to meetings who don't need to be there often end up wasting an entire hour of their time.
\r\n
assumed: 90% of Attendee's time is wasted
\r\n
\r\n
\r\n
% Meetings with a Prepared Agenda\r\n
\r\n
0%
\r\n
\r\n `${val} %`}\r\n />\r\n
\r\n
100%
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualAgendaLessCost} in \"ad hoc\" agenda creation
\r\n \r\n
No Agenda
\r\n
Meetings without a prepared agenda often fail to meet their goals and lack focus.
\r\n
\r\n
assumed: Lose 5% productivity
\r\n
assumed: Lose first 5 minutes of Meeting
\r\n
\r\n
\r\n
\r\n
Execution
% of Meetings w/out Key Attendees Present\r\n
\r\n
0%
\r\n
\r\n `${val} %`}\r\n />\r\n
\r\n
20%+
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualCostOfMissingKeyAttendees} in \"lost\" meetings
\r\n \r\n
Key Attendee Missing
\r\n
Meetings without a prepared agenda often fail to meet their goals and lack focus.
\r\n
\r\n
assumed: Lose 5% productivity
\r\n
assumed: Lose first 5 minutes of Meeting
\r\n
\r\n
\r\n
\r\n
% Time in Meeting Spent off-Topic\r\n
\r\n
0%
\r\n
\r\n `${val} %`}\r\n />\r\n
\r\n
100%
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualOffTopicCost} in repeat meetings and lost time
\r\n \r\n {meetingFollowupCost}\r\n \r\n
\r\n
% of Meetings that Achieve their Purpose\r\n
\r\n
0%
\r\n
\r\n `${val} %`}\r\n />\r\n
\r\n
100%
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualCostOfMeetingGoalsUnachieved} in repeat meetings
\r\n \r\n {meetingFollowupCost}\r\n \r\n
\r\n
Timing
Avg Mins Starting Late\r\n
\r\n
0
\r\n
\r\n `${val} min${val == 1 ? '' : 's'}`}\r\n />\r\n
\r\n
20+
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualLateStartCost} in lost time
\r\n \r\n {meetingFollowupCost}\r\n \r\n
\r\n
Avg Mins Finishing Late\r\n
\r\n
0
\r\n
\r\n `${val} min${val == 1 ? '' : 's'}`}\r\n />\r\n
\r\n
20+
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualLateFinishCost} in lost time
\r\n \r\n {meetingFollowupCost}\r\n \r\n
\r\n
Followup
% Meetings Without Minutes Shared Afterward\r\n
\r\n
0%
\r\n
\r\n `${val} %`}\r\n />\r\n
\r\n
100%
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualMinutesCost} in lost direction
\r\n \r\n {meetingFollowupCost}\r\n \r\n
\r\n
% Action Items Not Completed\r\n
\r\n
0%
\r\n
\r\n `${val} %`}\r\n />\r\n
\r\n
100%
\r\n
\r\n
\r\n
\r\n
{calculatorState.annualMissedActionsCost} in lost actions
\r\n \r\n {meetingFollowupCost}\r\n \r\n
\r\n
\r\n
\r\n
{calculatorState.annualMeetingSavingsPotential} in potential savings
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nfunction DescriptionTooltip({\r\n children\r\n}: PropsWithChildren): JSX.Element {\r\n return (\r\n {children}}>\r\n
\r\n ?\r\n
\r\n
\r\n )\r\n}\r\n"],"names":["RequestMethod","ContentType","objectToUrlEncoded","element","key","list","idx","push","encodeURIComponent","join","bodyBuilderStrategy","FormUrlEncoded","body","ApplicationJson","JSON","stringify","MultipartFormData","data","formData","FormData","name","append","objectToFromData","fetcher","async","url","options","contentType","headers","window","SENTRY_RELEASE","res","fetch","status","location","reload","Promise","resolve","get","indexOf","blob","fileName","match","text","parse","reject","HandleTooltip","props","value","children","visible","tipFormatter","val","restProps","tooltipRef","rafRef","cancelKeepAlign","raf","cancel","current","forceAlign","placement","overlay","overlayInnerStyle","minHeight","ref","handleRender","node","dragging","tipProps","CostCalculatorComponent","refreshCalculatorUrl","downloadCalculatorPdfUrl","avgMeetingMins","calculator","calculatorState","setCalculator","useState","recalculate","result","method","POST","Object","keys","forEach","nStr","x","split","x1","x2","length","rgx","test","replace","addCommas","toFixed","onChange","field","newModel","meetingFollowupCost","className","blendedRate","annualMeetings","annualFollowUpCost","meetingAnnualCost","execs","hourlyCost","mgmt","workers","annualCostOfMeetings","meetingsYrCalc","avgPctInMeetings","annualHours","id","annualMeetingHours","avgAttendees","type","employees","event","target","style","width","pctOfWorkforce","allowCross","defaultValue","values","onChangeComplete","execsCnt","pctMeeting","min","max","step","avgSalary","mgrsCnt","workersCnt","DescriptionTooltip","annualLaborCost","pctAttendeesNotNecessary","annualUnncessaryAttendeeCost","pctWithAgenda","annualAgendaLessCost","pctMeetingsWithoutKeyAttendees","annualCostOfMissingKeyAttendees","pctOffTopic","annualOffTopicCost","pctAchievingGoal","annualCostOfMeetingGoalsUnachieved","minsLateStart","annualLateStartCost","minsLateFinish","annualLateFinishCost","pctWithoutMinutes","annualMinutesCost","pctActionsNotCompleted","annualMissedActionsCost","annualMeetingSavingsPotential","onClick"],"sourceRoot":""}