UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

13 lines (11 loc) 5.07 kB
var b=Object.create;var o=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),C=(e,t)=>{for(var r in t)o(e,r,{get:t[r],enumerable:!0})},l=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of q(t))!v.call(e,i)&&i!==r&&o(e,i,{get:()=>t[i],enumerable:!(s=P(t,i))||s.enumerable});return e};var $=(e,t,r)=>(r=e!=null?b(F(e)):{},l(t||!e||!e.__esModule?o(r,"default",{value:e,enumerable:!0}):r,e)),N=e=>l(o({},"__esModule",{value:!0}),e);var S=T((B,p)=>{"use strict";var h=require("url"),g=h.parse,u=h.Url;p.exports=D;p.exports.original=L;function D(e){var t=e.url;if(t!==void 0){var r=e._parsedUrl;return I(t,r)?r:(r=f(t),r._raw=t,e._parsedUrl=r)}}function L(e){var t=e.originalUrl;if(typeof t!="string")return D(e);var r=e._parsedOriginalUrl;return I(t,r)?r:(r=f(t),r._raw=t,e._parsedOriginalUrl=r)}function f(e){if(typeof e!="string"||e.charCodeAt(0)!==47)return g(e);for(var t=e,r=null,s=null,i=1;i<e.length;i++)switch(e.charCodeAt(i)){case 63:s===null&&(t=e.substring(0,i),r=e.substring(i+1),s=e.substring(i));break;case 9:case 10:case 12:case 13:case 32:case 35:case 160:case 65279:return g(e)}var a=u!==void 0?new u:{};return a.path=e,a.href=e,a.pathname=t,s!==null&&(a.query=r,a.search=s),a}function I(e,t){return typeof t=="object"&&t!==null&&(u===void 0||t instanceof u)&&t._raw===e}});var w={};C(w,{default:()=>m});module.exports=N(w);var R=$(S());var y=e=>e&&e!==""?`?dataProductDefinitionsPath=${e}`:"";var m=class{constructor(t){this.build=()=>this.userStoreItem;this.initialiseItem=()=>this.addReportData({type:this.requestFormData.type,reportId:this.requestFormData.reportId,reportName:this.requestFormData.reportName,description:this.requestFormData.description,id:this.requestFormData.id,name:this.requestFormData.name});this.addReportData=({type:t,reportId:r,reportName:s,description:i,id:a,name:n})=>(this.userStoreItem={type:t,reportId:r,reportName:s,description:i,id:a,name:n,timestamp:{}},this);this.addExecutionData=t=>(this.userStoreItem={...this.userStoreItem,...t},this);this.addChildExecutionData=t=>(this.userStoreItem={...this.userStoreItem,childExecutionData:t},this);this.addFilters=t=>{let r=new URLSearchParams(t).toString();return this.userStoreItem={...this.userStoreItem,filters:{data:t,queryString:r}},this};this.addSortData=t=>{let r=new URLSearchParams(t).toString();return this.userStoreItem={...this.userStoreItem,sortBy:{data:t,queryString:r}},this};this.addRequestUrls=t=>{let{origin:r,pathname:s,search:i,href:a,defaultInteractiveQueryString:n}=this.requestFormData,{executionId:x,dataProductDefinitionsPath:A,dpdPathFromQuery:E}=this.userStoreItem,c=E?`${y(A)}`:"",d=t.baseUrl.replace("/filters",`/${x}/status`),U=`${r}${d}`;return this.userStoreItem={...this.userStoreItem,url:{origin:r,request:{fullUrl:a,pathname:s,search:i},polling:{fullUrl:U,pathname:d},report:{...n?.length&&{search:c.length?`${c}&${n}`:`?${n}`,default:`?${n}`}}}},this};this.addAsyncUrls=t=>(this.userStoreItem={...this.userStoreItem,url:t},this);this.addReportUrls=t=>{let r=t.get("host"),s=`${t.protocol}://${t.get("host")}${t.originalUrl}`,i=(0,R.default)(t);return this.userStoreItem={...this.userStoreItem,url:{origin:r||this.userStoreItem.url.origin,...this.userStoreItem.url?.request&&{request:this.userStoreItem.url.request},...this.userStoreItem.url?.polling&&{polling:this.userStoreItem.url.polling},report:{...this.userStoreItem.url?.report&&this.userStoreItem.url.report,fullUrl:s,...i.search&&{search:i.search}}}},this};this.addLoadType=t=>(this.userStoreItem={...this.userStoreItem,loadType:t},this);this.addQuery=t=>(this.userStoreItem={...this.userStoreItem,query:{data:t.query,summary:t.querySummary}},this);this.addInteractiveQuery=t=>(t&&(this.userStoreItem={...this.userStoreItem,interactiveQuery:{data:t.query,summary:t.querySummary}}),this);this.addStatus=t=>(this.userStoreItem={...this.userStoreItem,status:t},this);this.addMetrics=t=>(this.userStoreItem={...this.userStoreItem,metrics:t.map(r=>({name:r.display}))},this);this.addTimestamp=()=>{let{status:t}=this.userStoreItem,r=new Date;switch(t){case"FAILED":this.userStoreItem.timestamp.failed=r;break;case"EXPIRED":this.userStoreItem.timestamp.expired=r;break;case"ABORTED":this.userStoreItem.timestamp.aborted=r;break;case"FINISHED":this.userStoreItem.timestamp.completed=r;break;case"SUBMITTED":this.userStoreItem.timestamp.requested=r;break;case"STARTED":case"PICKED":break;default:this.userStoreItem.timestamp.lastViewed=r;break}return this};this.addDefinitionsPath=(t,r)=>(t&&(this.userStoreItem={...this.userStoreItem,dataProductDefinitionsPath:t,dpdPathFromQuery:r}),this);this.requestFormData=t,this.requestFormData&&this.initialiseItem()}}; /*! Bundled license information: parseurl/index.js: (*! * parseurl * Copyright(c) 2014 Jonathan Ong * Copyright(c) 2014-2017 Douglas Christopher Wilson * MIT Licensed *) */ //# sourceMappingURL=UserStoreItemBuilder.js.map