PageSourceSearch

https://openelectricity.org.au/_app/immutable/nodes/54.Dz-4J9-j.js

js openelectricity.org.au collected 2026-10-02 04:11:31 UTC 15,873 bytes, 1 lines download raw bytes

1import"../chunks/DsnmJJEf.js";import{p as Pt,b as ut,d as C,n as pe,a as s,e as kt,c as o,h as t,r as n,t as T,l as d,m as E,u as _,i as rt,f as m,s as l,k as Ht,aJ as he,j as Yt}from"../chunks/CrZWGQw6.js";import{d as se,s as R,a as gt}from"../chunks/Cf9b1Pg_.js";import{s as ye,r as _e,p as wt,i as A}from"../chunks/Dm50tvsH.js";import{e as Ft,i as xe}from"../chunks/DvQYBH6E.js";import{c as bt}from"../chunks/DyozxAKL.js";import{a as be,s as V,r as we}from"../chunks/CfLjgYS-.js";import{s as Y,c as Nt}from"../chunks/Dz3h3GFh.js";import{b as Pe}from"../chunks/CElzeSkq.js";import{g as xt}from"../chunks/DtbC8mqk.js";import{p as mt}from"../chunks/DFfNUHL_.js";import{M as ke}from"../chunks/DrsoFkGA.js";import{C as Bt}from"../chunks/ZALLrvB_.js";import{C as Kt}from"../chunks/Cc0a8Nsp.js";import{S as Se}from"../chunks/0PV9Np_B.js";import{C as Ce,S as Qt,l as Xt,d as Ae,g as Me,c as De,f as qe}from"../chunks/tNgwehY5.js";import{b as Te}from"../chunks/B6lfLGkN.js";import{S as Ie}from"../chunks/CXZY9i0V.js";import{M as Ne}from"../chunks/DbcAEJcS.js";import{M as Fe}from"../chunks/Dz-BCAU_.js";import{C as Zt}from"../chunks/DEpPkVLP.js";import{C as $t}from"../chunks/C1pLh9Eh.js";import{S as ze}from"../chunks/BhCqoFAU.js";import{s as Ee}from"../chunks/DxT3OYjk.js";import{I as Ue}from"../chunks/XuHo7gsq.js";var je=new Set(["$$slots","$$events","$$legacy"]);function Le(q,a){Pt(a,!0);let M=_e(a,je);const x=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M8 12h8"}],["path",{d:"M12 8v8"}]];Ue(q,ye({name:"circle-plus"},()=>M,{get iconNode(){return x},children:(f,p)=>{var g=ut(),h=C(g);Ee(h,()=>a.children??pe),s(f,g)},$$slots:{default:!0}})),kt()}function Oe(q){const a=Date.now(),M=new Date(q).getTime(),x=a-M,f=Math.floor(x/6e4);if(f<1)return"just now";if(f<60)return`${f}m ago`;const p=Math.floor(f/60);if(p<24)return`${p}h ago`;const g=Math.floor(p/24);return g<30?`${g}d ago`:new Date(q).toLocaleDateString("en-AU",{day:"numeric",month:"short"})}var Re=m('<div class="absolute inset-0 flex flex-col items-center justify-center gap-2 bg-light-warm-grey text-mid-grey"><!> <span class="text-[10px]">Map chart</span></div>'),te=m("<div><!></div>");function We(q,a){Pt(a,!0);let M=wt(a,"muted",3,!1);const x=500;let f=E(0),p=_(()=>Ne.has(a.chart.chartType)),g=_(()=>({...a.chart,title:"",description:"",dataSource:"",notes:"",showLegend:!1,chartHeight:340,animateAsOneChart:!1,animationAutoPlay:!1}));var h=te(),b=o(h);{var v=w=>{var P=Re(),U=o(P);Fe(U,{size:28,strokeWidth:1.5}),rt(2),n(P),s(w,P)},W=w=>{var P=te(),U=o(P);Ie(U,{get chart(){return t(g)}}),n(P),T(()=>{Y(P,1,`absolute top-0 left-0 origin-top-left pointer-events-none p-3 text-dark-grey ${M()?"opacity-75":""}`),be(P,`width: 500px; height: 400px; transform: scale(${t(f)/x});`)}),s(w,P)};A(b,w=>{t(p)?w(v):t(f)>0&&w(W,1)})}n(h),T(()=>Y(h,1,`relative w-full aspect-[5/4] overflow-hidden ${M()?"bg-light-warm-grey/60":"bg-white"}`)),Te(h,"clientWidth",w=>d(f,w)),s(q,h),kt()}var He=m('<span class="absolute top-[14px] -right-[34px] w-[120px] rotate-45 bg-black text-white text-center text-[8px] tracking-tight py-1 pointer-events-none z-10">published</span>'),Be=m('<span class="shrink-0 rounded bg-warm-grey px-1.5 py-0.5 text-xxs uppercase tracking-wide text-mid-grey">Draft</span>'),Ge=m('<span class="truncate"> </span> &middot;',1),Je=m('<button type="button">Duplicate</button> <button type="button"> </button>',1),Ve=m('<a>Edit</a> <button type="button"> </button>',1),Ye=m('<button type="button"> </button> <!>',1),Ke=m('<a class="relative block"><!> <!></a> <div><div class="flex items-center gap-2 mb-1"><a class="min-w-0 flex-1 truncate font-sans text-sm font-medium leading-snug text-dark-grey hover:text-red"> </a> <!></div> <div class="flex items-center justify-between min-h-5"><span class="inline-flex items-center gap-1.5 truncate text-xs text-mid-grey"><!> </span> <div class="flex items-center gap-2 shrink-0 opacity-0 group-hover:opacity-100 focus-within:opacity-100 pointer-coarse:opacity-100 transition-opacity"><!></div></div></div>',1);function ee(q,a){Pt(a,!0);let M=wt(a,"isSuperAdmin",3,!1),x=wt(a,"deleting",3,!1),f=wt(a,"forking",3,!1),p=_(()=>a.variant==="my"?`/stratify/${a.chart._id}`:`/strata/${a.chart._id}`),g=_(()=>a.variant==="community"?"_blank":void 0),h=_(()=>a.chart.status!=="published");const b="text-xs text-mid-grey hover:text-dark-grey py-0.5",v="text-xs text-mid-grey hover:text-dark-red disabled:opacity-40 py-0.5";var W=ut(),w=C(W);{let P=_(()=>t(h)?"border border-dashed border-mid-warm-grey bg-light-warm-grey/40 hover:border-mid-grey":"border border-warm-grey bg-white hover:border-mid-warm-grey");bt(w,()=>Bt,(U,y)=>{y(U,{get class(){return`group flex flex-col gap-0 overflow-hidden py-0 shadow-none transition-all hover:shadow-sm ${t(P)??""}`},children:(c,I)=>{var O=Ke(),G=C(O),Z=o(G);We(Z,{get chart(){return a.chart},get muted(){return t(h)}});var it=l(Z,2);{var vt=u=>{var D=He();s(u,D)};
1A(it,u=>{t(h)||u(vt)})}n(G);var nt=l(G,2),$=o(nt),K=o($),St=o(K,!0);n(K);var Q=l(K,2);{var ft=u=>{var D=Be();s(u,D)};A(Q,u=>{t(h)&&u(ft)})}n($);var st=l($,2),pt=o(st),Ct=o(pt);{var zt=u=>{var D=Ge(),S=C(D),j=o(S,!0);n(S),rt(),T(()=>R(j,a.chart.userEmail||"Unknown")),s(u,D)};A(Ct,u=>{a.variant==="community"&&u(zt)})}var At=l(Ct);n(pt);var Mt=l(pt,2),Et=o(Mt);{var Ut=u=>{var D=Je(),S=C(D);Y(S,1,Nt(b));var j=l(S,2);Y(j,1,Nt(v));var ot=o(j,!0);n(j),T(()=>{j.disabled=x(),R(ot,x()?"...":"Delete")}),gt("click",S,()=>a.onduplicate?.()),gt("click",j,()=>a.ondelete?.()),s(u,D)},jt=u=>{var D=Ye(),S=C(D);Y(S,1,"text-xs text-mid-grey hover:text-dark-grey py-0.5 disabled:opacity-40");var j=o(S,!0);n(S);var ot=l(S,2);{var Dt=tt=>{var ht=Ve(),et=C(ht);Y(et,1,Nt(b));var X=l(et,2);Y(X,1,Nt(v));var qt=o(X,!0);n(X),T(()=>{V(et,"href",`/stratify/${a.chart._id??""}`),X.disabled=x(),R(qt,x()?"...":"Delete")}),gt("click",X,()=>a.ondelete?.()),s(tt,ht)};A(ot,tt=>{M()&&tt(Dt)})}T(()=>{S.disabled=f(),R(j,f()?"Forking...":"Fork")}),gt("click",S,()=>a.onfork?.()),s(u,D)};A(Et,u=>{a.variant==="my"?u(Ut):u(jt,-1)})}n(Mt),n(st),n(nt),T(u=>{V(G,"href",t(p)),V(G,"target",t(g)),V(G,"aria-label",a.chart.title||"Untitled"),Y(nt,1,`px-3 py-2.5 border-t ${t(h)?"border-dashed border-mid-warm-grey":"border-warm-grey"}`),V(K,"href",t(p)),V(K,"target",t(g)),R(St,a.chart.title||"Untitled"),R(At,` ${u??""}`)},[()=>Oe(a.chart._updatedAt)]),s(c,O)},$$slots:{default:!0}})})}s(q,W),kt()}se(["click"]);var Qe=m('<a class="inline-flex items-center gap-1 text-xs text-dark-grey hover:text-mid-grey" rel="prev"><!> Previous</a>'),Xe=m('<span class="inline-flex cursor-not-allowed items-center gap-1 text-xs text-mid-grey/50"><!> Previous</span>'),Ze=m('<a class="inline-flex items-center gap-1 text-xs text-dark-grey hover:text-mid-grey" rel="next">Next <!></a>'),$e=m('<span class="inline-flex cursor-not-allowed items-center gap-1 text-xs text-mid-grey/50">Next <!></span>'),ta=m('<nav class="flex items-center justify-center gap-4 mt-4"><!> <span class="text-xs text-mid-grey tabular-nums"> </span> <!></nav>');function ae(q,a){Pt(a,!0);let M=wt(a,"label",3,"Pagination"),x=_(()=>a.page>1),f=_(()=>a.page<a.totalPages);var p=ta(),g=o(p);{var h=y=>{var c=Qe(),I=o(c);Zt(I,{size:12}),rt(),n(c),T(O=>V(c,"href",O),[()=>a.hrefFor(a.page-1)]),s(y,c)},b=y=>{var c=Xe(),I=o(c);Zt(I,{size:12}),rt(),n(c),s(y,c)};A(g,y=>{t(x)?y(h):y(b,-1)})}var v=l(g,2),W=o(v);n(v);var w=l(v,2);{var P=y=>{var c=Ze(),I=l(o(c));$t(I,{size:12}),n(c),T(O=>V(c,"href",O),[()=>a.hrefFor(a.page+1)]),s(y,c)},U=y=>{var c=$e(),I=l(o(c));$t(I,{size:12}),n(c),s(y,c)};A(w,y=>{t(f)?y(P):y(U,-1)})}n(p),T(()=>{V(p,"aria-label",M()),R(W,`Page ${a.page??""} of ${a.totalPages??""}`)}),s(q,p),kt()}const re=q=>{var a=aa();Ft(a,20,()=>({length:3}),xe,(M,x)=>{var f=ea();s(M,f)}),n(a),s(q,a)};var ea=m('<div class="border border-warm-grey rounded-xl overflow-hidden animate-pulse bg-white"><div class="aspect-[5/4] bg-warm-grey/60"></div> <div class="px-3 py-3 border-t border-warm-grey"><div class="h-3 bg-warm-grey/60 rounded w-2/3 mb-2"></div> <div class="h-2.5 bg-warm-grey/60 rounded w-1/3"></div></div></div>'),aa=m('<div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 min-[2560px]:grid-cols-6 gap-4"></div>'),ra=m("<!> New chart",1),ia=m('<button type="button"> </button>'),ie=m('<span class="rounded-full bg-warm-grey px-2 py-0.5 font-mono text-[10px] text-mid-grey tabular-nums"> </span>'),na=m('<p class="mb-4 text-sm text-mid-grey"> </p> <!>',1),ne=m('<div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 min-[2560px]:grid-cols-6 gap-4"></div> <!>',1),sa=m('<section><h2 class="mb-5 flex items-center gap-3"><span class="font-sans text-xl font-semibold tracking-tight">Community charts</span> <!></h2> <!></section>'),oa=m('<!> <!> <div class="flex h-dvh flex-col overflow-hidden bg-white font-sans text-sm text-dark-grey"><!> <div class="flex flex-wrap items-center gap-3 border-b border-warm-grey bg-white px-4 py-3 sm:px-6 lg:px-8"><!> <div class="inline-flex items-center gap-1 rounded-full border border-warm-grey bg-light-warm-grey p-1"></div> <div class="relative order-last w-full sm:order-none sm:ml-auto sm:w-80"><!> <input type="text" placeholder="Search your charts" class="w-full rounded-lg border border-warm-grey bg-white py-2.5 pr-4 pl-9 text-sm transition-colors placeholder:text-mid-grey focus:border-red focus:ring-2 focus:ring-red/10 focus:outline-none"/></div></div> <div class="flex-1 overflow-y-auto bg-light-warm-grey/50 px-4 py-7 sm:px-6 lg:px-8 lg:py-10"><section class="mb-10"><h2 class="mb-5 flex items-center gap-3"><span class="font-sans text-xl font-semibold tracking-tight">My charts</span> <!></h2> <!></section> <!></div></div>',1);function Na(q,a){Pt(a,!0);function M(r,e){const i=Number.parseInt(r??"",10);return Number.isFinite(i)&&i>0?i:e}let x=_(()=>M(mt.url.searchParams.get("myPage"),1)),f=_(()=>M(mt.url.searchParams.get("communityPage"),1)),p=_(()=>mt.url.searchParams.get("q")??""),g=_(()=>mt.url.searchParams.get("status")??"all"),h=_(()=>t(p).trim()!==""||t(g)!=="all"),b=E(null),v=E(null),W=E(!0),w=E(!0),P=E(!1),U=E(""),y=E(""),c=E(!1),I=E(""),O=E(""),G=E("my"),Z=0,it=0;function vt(){return{scope:"my",myPage:t(x),q:t(p).trim()||void 0,status:t(g)==="all"?void 0:t(g)}}function nt(){return{scope:"community",communityPage:t(f),q:t(p).trim()||void 0,status:t(g)==="all"?void 0:t(g)}}Ht(()=>{$(vt())}),Ht(()=>{K(nt())});async function $(r){const e=++Z;d(W,!0);try{const i=await Xt(r);if(e!==Z)return;d(b,i.my??null,!0),d(P,i.isSuperAdmin,!0),St("myPage",i.my)}catch{if(e!==Z)return;d(b,{items:[],total:0,page:1,totalPages:1},!0)}finally{e===Z&&d(W,!1)}}async function K(r){const e=++it;d(w,!0);try{const i=await Xt(r);if(e!==it)return;d(v,i.community??null,!0),d(P,i.isSuperAdmin,!0),St("communityPage",i.community)}catch{if(e!==it)return;d(v,{items:[],total:0,page:1,totalPages:1},!0)}finally{e===it&&d(w,!1)}}function St(r,e){e&&e.items.length===0&&e.page>e.totalPages&&xt(Q({[r]:e.totalPages}),{replaceState:!0,noScroll:!0})}function Q(r={}){const e={myPage:t(x),communityPage:t(f),q:t(p),status:t(g),...r},i=new URLSearchParams;e.myPage>1&&i.set("myPage",String(e.myPage)),e.communityPage>1&&i.set("communityPage",String(e.communityPage)),e.q.trim()&&i.set("q",e.q.trim()),e.status!=="all"&&i.set("status",e.status);const N=i.toString();return N?`?${N}`:mt.url.pathname}let ft=E(he(mt.url.searchParams.get("q")??"")),st;Ht(()=>()=>clearTimeout(st));function pt(){clearTimeout(st),st=setTimeout(()=>{xt(Q({q:t(ft),myPage:1,communityPage:1}),{replaceState:!0,keepFocus:!0,noScroll:!0})},300)}function Ct(r){xt(Q({status:r,myPage:1,communityPage:1}),{noScroll:!0})}async function zt(r){try{const e=await Me(r._id);if(!e)return;const{_id:i,_createdAt:N,_updatedAt:lt,userId:L,userEmail:H,status:at,publishedAt:Tt,...k}=e,F={...k,title:`${e.title||"Untitled"} (copy)`};await De(F),t(x)!==1?xt(Q({myPage:1}),{noScroll:!0}):await $(vt())}catch{}}function At(r,e){d(I,r._id,!0),d(O,r.title||"Untitled",!0),d(G,e,!0),d(c,!0)}async function Mt(){const r=t(I),e=t(G);d(c,!1),d(I,""),d(O,""),d(U,r,!0);try{await Ae(r),e==="my"?await $(vt()):await K(nt())}catch{}finally{d(U,"")}}function Et(){d(c,!1),d(I,""),d(O,"")}async function Ut(r){d(y,r,!0);try{const e=await qe(r);xt(`/stratify/${e._id}`)}catch{}finally{d(y,"")}}const jt=["all","draft","published"];let u=_(()=>t(w)||t(v)!==null&&(t(v).total>0||t(h)));var D=oa(),S=C(D);ke(S,{title:"Stratify",description:"Create and embed data charts"});var j=l(S,2);{let r=_(()=>`Are you sure you want to delete "${t(O)}"? This cannot be undone.`);Ce(j,{get open(){return t(c)},title:"Delete chart",get message(){return t(r)},onconfirm:Mt,oncancel:Et})}var ot=l(j,2),Dt=o(ot);Se(Dt,{});var tt=l(Dt,2),ht=o(tt);Qt(ht,{href:"/stratify/new",variant:"primary",children:(r,e)=>{var i=ra(),N=C(i);Le(N,{size:15}),rt(),s(r,i)},$$slots:{default:!0}});var et=l(ht,2);Ft(et,20,()=>jt,r=>r,(r,e)=>{var i=ia(),N=o(i,!0);n(i),T(()=>{Y(i,1,`rounded-full px-3 py-1.5 font-space text-sm font-medium capitalize transition-colors ${t(g)===e?"bg-dark-grey text-white shadow-sm":"text-mid-grey hover:bg-white hover:text-dark-grey"}`),R(N,e)}),gt("click",i,()=>
1Ct(e)),s(r,i)}),n(et);var X=l(et,2),qt=o(X);ze(qt,{size:15,class:"pointer-events-none absolute top-1/2 left-3 -translate-y-1/2 text-mid-grey"});var Lt=l(qt,2);we(Lt),n(X),n(tt);var Gt=l(tt,2),Ot=o(Gt),Rt=o(Ot),oe=l(o(Rt),2);{var le=r=>{var e=ie(),i=o(e,!0);n(e),T(()=>R(i,t(b).total)),s(r,e)};A(oe,r=>{t(b)&&r(le)})}n(Rt);var de=l(Rt,2);{var ce=r=>{re(r)},me=r=>{var e=ut(),i=C(e);bt(i,()=>Bt,(N,lt)=>{lt(N,{class:"gap-0 border-dashed bg-white py-0 text-center shadow-none",children:(L,H)=>{var at=ut(),Tt=C(at);bt(Tt,()=>Kt,(k,F)=>{F(k,{class:"px-6 py-14",children:(J,It)=>{var dt=na(),z=C(dt),B=o(z,!0);n(z);var ct=l(z,2);{var yt=_t=>{Qt(_t,{href:"/stratify/new",variant:"primary",children:(Wt,Jt)=>{rt();var Vt=Yt("Create your first chart");s(Wt,Vt)},$$slots:{default:!0}})};A(ct,_t=>{t(h)||_t(yt)})}T(()=>R(B,t(h)?"No matching charts":"No charts yet")),s(J,dt)},$$slots:{default:!0}})}),s(L,at)},$$slots:{default:!0}})}),s(r,e)},ue=r=>{var e=ne(),i=C(e);Ft(i,21,()=>t(b).items,L=>L._id,(L,H)=>{{let at=_(()=>t(U)===t(H)._id);ee(L,{get chart(){return t(H)},variant:"my",get deleting(){return t(at)},onduplicate:()=>zt(t(H)),ondelete:()=>At(t(H),"my")})}}),n(i);var N=l(i,2);{var lt=L=>{ae(L,{get page(){return t(b).page},get totalPages(){return t(b).totalPages},hrefFor:H=>Q({myPage:H}),label:"My charts pagination"})};A(N,L=>{t(b).totalPages>1&&L(lt)})}s(r,e)};A(de,r=>{t(W)?r(ce):!t(b)||t(b).total===0?r(me,1):r(ue,-1)})}n(Ot);var ge=l(Ot,2);{var ve=r=>{var e=sa(),i=o(e),N=l(o(i),2);{var lt=k=>{var F=ie(),J=o(F,!0);n(F),T(()=>R(J,t(v).total)),s(k,F)};A(N,k=>{t(v)&&k(lt)})}n(i);var L=l(i,2);{var H=k=>{re(k)},at=k=>{var F=ut(),J=C(F);bt(J,()=>Bt,(It,dt)=>{dt(It,{class:"gap-0 border-dashed bg-white py-0 text-center shadow-none",children:(z,B)=>{var ct=ut(),yt=C(ct);bt(yt,()=>Kt,(_t,Wt)=>{Wt(_t,{class:"px-6 py-12 text-sm text-mid-grey",children:(Jt,Vt)=>{rt();var fe=Yt("No matching community charts");s(Jt,fe)},$$slots:{default:!0}})}),s(z,ct)},$$slots:{default:!0}})}),s(k,F)},Tt=k=>{var F=ne(),J=C(F);Ft(J,21,()=>t(v).items,z=>z._id,(z,B)=>{{let ct=_(()=>t(U)===t(B)._id),yt=_(()=>t(y)===t(B)._id);ee(z,{get chart(){return t(B)},variant:"community",get isSuperAdmin(){return t(P)},get deleting(){return t(ct)},get forking(){return t(yt)},onfork:()=>Ut(t(B)._id),ondelete:()=>At(t(B),"community")})}}),n(J);var It=l(J,2);{var dt=z=>{ae(z,{get page(){return t(v).page},get totalPages(){return t(v).totalPages},hrefFor:B=>Q({communityPage:B}),label:"Community charts pagination"})};A(It,z=>{t(v).totalPages>1&&z(dt)})}s(k,F)};A(L,k=>{t(w)?k(H):!t(v)||t(v).total===0?k(at,1):k(Tt,-1)})}n(e),s(r,e)};A(ge,r=>{t(u)&&r(ve)})}n(Gt),n(ot),gt("input",Lt,pt),Pe(Lt,()=>t(ft),r=>d(ft,r)),s(q,D),kt()}se(["click","input"]);export{Na as component};

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.