vendor: 4,900 bytes, line 1
1_N_E=(window.webpackJsonp_N_E=window.webpackJsonp_N_E||[]).push([[81],{"3mqu":function(e,t,n){"use strict";n.r(t);var r=n("HaE+"),a=n("q1tI"),o=n.n(a),i=n("nOHt"),l=n.n(i),c=n("1yJj"),u=n("fUW5"),s=n("pDt0"),v=n.n(s),d=o.a.createElement;function p(){var e=_(),t=e.m(p),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function r(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===n||"GeneratorFunction"===(t.displayName||t.name))}var a={throw:1,return:2,break:3,continue:3};function o(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,a[e],t)},delegateYield:function(e,a,o){return t.resultName=a,n(r.d,m(e),o)},finish:function(e){return n(r.f,e)}},n=function(e,n,a){r.p=t.prev,r.n=t.next;try{return e(n,a)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(p=function(){return{wrap:function(t,n,r,a){return e.w(o(t),n,r,a&&a.reverse())},isGeneratorFunction:r,mark:e.m,awrap:function(e,t){return new w(e,t)},AsyncIterator:b,async:function(e,t,n,a,i){return(r(t)?h:y)(o(e),t,n,a,i)},keys:f,values:m}})()}function m(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(typeof e+" is not iterable")}function f(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}function y(e,t,n,r,a){var o=h(e,t,n,r,a);return o.next().then((function(e){return e.done?e.value:o.next()}))}function h(e,t,n,r,a){return new b(_().w(e,t,n,r),a||Promise)}function b(e,t){function n(r,a,o,i){try{var l=e[r](a),c=l.value;return c instanceof w?t.resolve(c.v).then((function(e){n("next",e,o,i)}),(function(e){n("throw",e,o,i)})):t.resolve(c).then((function(e){l.value=e,o(l)}),(function(e){return n("throw",e,o,i)}))}catch(e){i(e)}}var r;this.next||(g(b.prototype),g(b.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),g(this,"_invoke",(function(e,a,o){function i(){return new t((function(t,r){n(e,o,t,r)}))}return r=r?r.then(i,i):i()}),!0)}function _(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var c=r&&r.prototype instanceof l?r:l,u=Object.create(c.prototype);return g(u,"_invoke",function(n,r,a){var o,l,c,u=0,s=a||[],v=!1,d={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return o=t,l=0,c=e,d.n=n,i}};function p(n,r){for(l=n,c=r,t=0;!v&&u&&!a&&t<s.length;t++){var a,o=s[t],p=d.p,m=o[2];n>3?(a=m===r)&&(c=o[(l=o[4])?5:(l=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=n<2&&p<o[1])?(l=0,d.v=r,d.n=o[1]):p<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,d.n=m,l=0))}if(a||n>1)return i;throw v=!0,r}return function(a,s,m){if(u>1)throw TypeError("Generator is already running");for(v&&1===s&&p(s,m),l=s,c=m;(t=l<2?e:c)||!v;){o||(l?l<3?(l>1&&(d.n=-1),p(l,c)):d.n=c:d.v=c);try{if(u=2,o){if(l||(a="next"),t=o[a]){if(!(t=t.call(o,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,l<2&&(l=0)}else 1===l&&(t=o.return)&&t.call(o),l<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),l=1);o=e}else if((t=(v=d.n<0)?c:n.call(r,d))!==i)break}catch(t){o=e,l=1,c=t}finally{u=1}}return{value:t,done:v}}}(n,a,o),!0),u}var i={};function l(){}function c(){}function u(){}t=Object.getPrototypeOf;var s=[][r]?t(t([][r]())):(g(t={},r,(function(){return this})),t),v=u.prototype=l.prototype=Object.create(s);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,g(e,a,"GeneratorFunction")),e.prototype=Object.create(v),e}return c.prototype=u,g(v,"constructor",u),g(u,"constructor",c),c.displayName="GeneratorFunction",g(u,a,"GeneratorFunction"),g(v),g(v,a,"Generator"),g(v,r,(function(){return this})),g(v,"toString",(function(){return"[object Generator]"})),(_=function(){return{w:o,m:d}})()}function g(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(g=function(e,t,n,r){function o(t,n){g(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))})(e,t,n,r)}function w(e,t){this.v=e,this.k=t}var O=function(e){return Number(e||0)},j=[{label:"Product Paid by Client",key:"paidProductClientTotal",subLabel:"Actual Cost",subKey:"paidProductActualCost"},{label:"Invoice Due from Client",key:"totalInvoiceDue"},{label:"Invoice Paid by Client",key:"totalInvoicePaid",subLabel:"Actual Cost",subKey:"realizedActualCost"},{label:"Products Ordered",key:"totalProductOrderedQty",type:"number"}
1,{label:"Product Ordered Amount",key:"totalProductOrderedPaid"},{label:"Service/Expense Paid by Client",key:"paidServiceExpenseClientTotal",subLabel:"Actual Cost",subKey:"paidServiceExpenseActualCost"},{label:"Current Project Client Total",key:"totalSpend",getValue:function(e){return O(e.totalClientProducts)+O(e.totalClientSrvcs)}},{label:"Project Budget Target",key:"targetBudget"},{label:"Realized Profit Margin",key:"profitMargin",highlight:!0,subText:"Based on payments received from client."}],C=function(e){var t=e.initialStatus,n=Object(a.useState)(t||"active"),i=n[0],s=n[1],m=Object(a.useState)("all"),f=m[0],y=m[1],h=Object(a.useState)(""),b=h[0],_=h[1],g=Object(a.useState)(""),w=g[0],C=g[1],N=Object(a.useState)({totals:{},projects:[]}),S=N[0],P=N[1],k=Object(a.useState)(!1),D=k[0],x=k[1],T=Object(a.useState)(""),F=T[0],E=T[1],A=Object(a.useMemo)((function(){var e=new Date,t=e.getFullYear();if("year"===f)return{startDate:"".concat(t,"-01-01"),endDate:"".concat(t,"-12-31")};if("month"===f){var n=String(e.getMonth()+1).padStart(2,"0"),r=new Date(t,e.getMonth()+1,0).getDate();return{startDate:"".concat(t,"-").concat(n,"-01"),endDate:"".concat(t,"-").concat(n,"-").concat(String(r).padStart(2,"0"))}}return"custom"===f?{startDate:b,endDate:w}:{startDate:"",endDate:""}}),[f,b,w]),I=function(){var e=Object(r.a)(p().mark((function e(){var t,n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return x(!0),E(""),e.prev=2,(t=new URLSearchParams).set("status",i),A.startDate&&t.set("startDate",A.startDate),A.endDate&&t.set("endDate",A.endDate),e.next=9,c.a.get("/api/projects/company-overview?".concat(t.toString()));case 9:n=e.sent,P({totals:(null===n||void 0===n?void 0:n.totals)||{},projects:(null===n||void 0===n?void 0:n.projects)||[]}),e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.error(e.t0),E(403===(null===e.t0||void 0===e.t0||null===(r=e.t0.response)||void 0===r?void 0:r.status)?"You do not have permission to view company financial overview.":"Unable to load company overview.");case 17:return e.prev=17,x(!1),e.finish(17);case 20:case"end":return e.stop()}}),e,null,[[2,13,17,20]])})));return function(){return e.apply(this,arguments)}}();Object(a.useEffect)((function(){I()}),[i,A.startDate,A.endDate]);var L=S.totals||{},M=S.projects||[];return d("div",{className:v.a.page},d("header",{className:v.a.header},d("div",{className:v.a.eyebrow},"Fluidity"),d("h1",{className:v.a.title},"Company Overview"),d("div",{className:v.a.subtitle},"Company-wide financial summary across projects using the same budgetary calculations as project overview.")),d("section",{className:v.a.filters},d("div",{className:v.a.filterField},d("label",{htmlFor:"company-overview-status"},"Projects"),d("select",{id:"company-overview-status",value:i,onChange:function(e){return s(e.target.value)}},d("option",{value:"active"},"All active projects"),d("option",{value:"open"},"Open projects only"),d("option",{value:"completed"},"Completed projects only"),d("option",{value:"canceled"},"Canceled projects only"),d("option",{value:"archived"},"Archived projects only"),d("option",{value:"all"},"All projects"))),d("div",{className:v.a.filterField},d("label",{htmlFor:"company-overview-date-preset"},"Created date"),d("select",{id:"company-overview-date-preset",value:f,onChange:function(e){return y(e.target.value)}},d("option",{value:"all"},"All time"),d("option",{value:"year"},"This year"),d("option",{value:"month"},"This month"),d("option",{value:"custom"},"Custom range"))),"custom"===f&&d(o.a.Fragment,null,d("div",{className:v.a.filterField},d("label",{htmlFor:"company-overview-start"},"Start"),d("input",{id:"company-overview-start",type:"date",value:b,onChange:function(e){return _(e.target.value)}})),d("div",{className:v.a.filterField},d("label",{htmlFor:"company-overview-end"},"End"),d("input",{id:"company-overview-end",type:"date",value:w,onChange:function(e){return C(e.target.value)}})))),F&&d("div",{className:v.a.error},F),d("section",{className:v.a.summaryCard},d("div",{className:v.a.cardHeader},d("h2",null,"Company Budgetary Numbers"),d("p",null,D?"Loading\u2026":"".concat(M.length," project").concat(1===M.length?"":"s"," included"))),d("div",{className:v.a.metricsGrid},j.map((function(e){return d("div",{key:e.key,className:[v.a.metric,e.highlight?v.a.highlightMetric:""].filter(
1Boolean).join(" ")},d("span",{className:v.a.metricLabel},e.label),d("span",{className:e.highlight?v.a.highlightValue:v.a.metricValue},D?"\u2026":function(e,t){var n=e.getValue?e.getValue(t||{}):O(null===t||void 0===t?void 0:t[e.key]);return"number"===e.type?n.toLocaleString():Object(u.a)(n)}(e,L)),e.subKey&&d("span",{className:v.a.metricSub},e.subLabel,": ",Object(u.a)(O(L[e.subKey]))),e.subText&&d("span",{className:v.a.metricSub},e.subText))})))),d("section",{className:v.a.projectsCard},d("div",{className:v.a.cardHeader},d("h2",null,"Projects in this view"),d("p",null,"Click a project to open its overview.")),M.length||D?d("div",{className:v.a.tableWrap},d("table",{className:v.a.projectsTable},d("thead",null,d("tr",null,d("th",null,"Project"),d("th",null,"Status"),d("th",null,"Product Paid"),d("th",null,"Invoice Due"),d("th",null,"Invoice Paid"),d("th",null,"Products Ordered"),d("th",null,"Ordered Amount"),d("th",null,"Services Paid"),d("th",null,"Current Client Total"),d("th",null,"Budget Target"),d("th",null,"Realized Profit"))),d("tbody",null,M.map((function(e){var t=e.amounts||{},n=O(t.totalClientProducts)+O(t.totalClientSrvcs);return d("tr",{key:e.id,onClick:function(){return l.a.push("/app/fluidity/projects/".concat(e.id))}},d("td",null,d("div",{className:v.a.projectName},e.name),e.clientName&&d("div",{className:v.a.muted},e.clientName)),d("td",null,e.archived?"Archived":e.status),d("td",null,Object(u.a)(O(t.paidProductClientTotal))),d("td",null,Object(u.a)(O(t.totalInvoiceDue))),d("td",null,Object(u.a)(O(t.totalInvoicePaid))),d("td",null,O(t.totalProductOrderedQty).toLocaleString()),d("td",null,Object(u.a)(O(t.totalProductOrderedPaid))),d("td",null,Object(u.a)(O(t.paidServiceExpenseClientTotal))),d("td",null,Object(u.a)(n)),d("td",null,Object(u.a)(O(t.targetBudget))),d("td",null,Object(u.a)(O(t.profitMargin))))}))))):d("div",{className:v.a.emptyState},"No projects match these filters.")))};C.defaultProps={initialStatus:"active"};var N=C,S=n("qFuM"),P=n("DMjr");N.Layout=P.a;t.default=Object(S.a)(N)},fUW5:function(e,t,n){"use strict";var r=n("ZhIB"),a=n.n(r);t.a=function(e){return a()(e||0).format("$0,0.00")}},l3UJ:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/app/fluidity/company-overview",function(){return n("3mqu")}])},pDt0:function(e,t,n){e.exports={page:"CompanyOverview_page__ZNj1r",header:"CompanyOverview_header__ct6ks",eyebrow:"CompanyOverview_eyebrow__1Oi3E",title:"CompanyOverview_title__11BKL",subtitle:"CompanyOverview_subtitle__14ust",filters:"CompanyOverview_filters__3XOzb",filterField:"CompanyOverview_filterField__3PuEM",summaryCard:"CompanyOverview_summaryCard__d4tZF",projectsCard:"CompanyOverview_projectsCard__37MsO",cardHeader:"CompanyOverview_cardHeader__L1Gq4",metricsGrid:"CompanyOverview_metricsGrid__2ZxSL",metric:"CompanyOverview_metric__3enKq",metricLabel:"CompanyOverview_metricLabel__1MqOB",metricValue:"CompanyOverview_metricValue__15-sA",metricSub:"CompanyOverview_metricSub__26cxH",highlightMetric:"CompanyOverview_highlightMetric__2d45B",highlightValue:"CompanyOverview_highlightValue__3DKWw",tableWrap:"CompanyOverview_tableWrap__2Yl4Z",projectsTable:"CompanyOverview_projectsTable__xXkzX",projectName:"CompanyOverview_projectName__1R1Ve",muted:"CompanyOverview_muted__X7IQ_",emptyState:"CompanyOverview_emptyState__gn34C",error:"CompanyOverview_error__IbiKl","skeleton-loading":"CompanyOverview_skeleton-loading__2VBOc"}}},[["l3UJ",0,1,11,9,14,13,5,8,12,10,7,6,2,4,3,15,16,18,19,23]]]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.