UNPKG

adaptorex

Version:

Connect all your live interactive storytelling devices and software

2 lines (1 loc) 10.5 kB
import{r as L,o as l,b as i,d as e,l as U,F as y,e as S,c as E,a as O,i as h,f as r,t as a,w as M,m as j,n as q,p as R,h as g,k as D,q as A,s as B,u as F,x as K,g as N,y as W,_ as G}from"./index-BijsIkza.js";import{_ as T,a as I}from"./SessionLauncher-CDFqAzXW.js";const P={class:"control"},z=["value","title"],H={id:"statuses"},J=["value"],Q={__name:"DataList",props:{selection:{type:String,default:""},options:{type:Array,required:!0}},emits:["selected"],setup(k,{emit:p}){const $=k,v=p,_=L(null),f=L(!1);function C(m){m=="edit"?(f.value=!0,_.value.focus()):(f.value=!1,_.value.blur())}function d(){const m=_.value.value;m!==$.selection&&v("selected",m),C("default")}return(m,n)=>(l(),i("div",{class:"field has-addons",onMouseover:n[3]||(n[3]=s=>m.showEditBtn=!f.value),onMouseleave:n[4]||(n[4]=s=>m.showEditBtn=!1)},[e("div",P,[e("input",{ref_key:"inputNode",ref:_,list:"statuses",name:"status",class:"input has-overflow-ellipsis is-cursor-default has-text-black",type:"text",value:k.selection,title:k.selection,onClick:n[0]||(n[0]=s=>C("edit")),onChange:n[1]||(n[1]=s=>d()),onKeyup:n[2]||(n[2]=U(s=>d(),["enter"]))},null,40,z),e("datalist",H,[(l(!0),i(y,null,S(k.options,(s,c)=>(l(),i("option",{key:"option"+c,value:s},null,8,J))),128))])])],32))}},X={class:"table has-background-transparent is-bordered is-hoverable is-fullwidth"},Y={class:"is-flex is-align-items-center is-unselectable"},Z=e("th",{style:{width:"25ch"}},"Status/Comment",-1),ee=e("th",null,"Description",-1),te=e("th",null,"Arguments",-1),se=e("th",null,"Default",-1),ne={class:"is-flex is-align-items-center is-unselectable"},le={class:"is-flex is-align-items-center is-unselectable"},oe=e("th",{class:"has-no-outline"},null,-1),ie={class:"is-clickable"},ae=["onClick"],ce={class:""},ue={class:"content is-small"},de={class:"content is-small"},re={class:"content is-small"},_e=e("br",null,null,-1),me={class:"content is-small"},he=e("br",null,null,-1),ve={class:"content is-small"},pe=e("br",null,null,-1),fe={class:"has-no-outline pl-1"},be={class:"is-flex"},ke={__name:"LevelList",props:{levels:{type:Array,required:!0}},emits:["levelSelect","levelUpdate","levelDelete"],setup(k,{emit:p}){const $=k,v=p,_=E(()=>j.cloneDeep($.levels)),f=L(!0),C=L("name");function d(n){C.value=n,f.value=!f.value}const m=E(()=>{let n=1,s=-1;switch(f.value==!1&&(n=-1,s=1),C.value){case"name":_.value.sort((c,t)=>{const u=c.name.toUpperCase(),o=t.name.toUpperCase();return u<o?s:u>o?n:0});break;case"modified":_.value.sort((c,t)=>{const u=c.modified_at.toUpperCase(),o=t.modified_at.toUpperCase();return u<o?s:u>o?n:0});break;case"created":_.value.sort((c,t)=>{const u=c.created_at.toUpperCase(),o=t.created_at.toUpperCase();return u<o?s:u>o?n:0});break}return _.value});return(n,s)=>{const c=O("Icon");return l(),i("table",X,[e("thead",null,[e("tr",null,[e("th",{onClick:s[0]||(s[0]=t=>d("name"))},[e("p",Y,[h(" Name "),r(c,{icon:C.value=="name"?f.value?"arrow-down":"arrow-up":"minus",class:"ml-2"},null,8,["icon"])])]),Z,ee,te,se,e("th",{onClick:s[1]||(s[1]=t=>d("modified"))},[e("p",ne,[h(" Modified "),r(c,{icon:C.value=="modified"?f.value?"arrow-down":"arrow-up":"minus",class:"ml-2"},null,8,["icon"])])]),e("th",{onClick:s[2]||(s[2]=t=>d("created"))},[e("p",le,[h(" Created "),r(c,{icon:C.value=="created"?f.value?"arrow-down":"arrow-up":"minus",class:"ml-2"},null,8,["icon"])])]),oe])]),e("tbody",null,[(l(!0),i(y,null,S(m.value,t=>{var u,o,b,w,V;return l(),i("tr",{key:t.name},[e("td",ie,[e("button",{class:"button p-0 is-primary is-fullwidth has-text-weight-semibold is-justify-content-flex-start",onClick:x=>v("levelSelect",t.name)},[r(c,{class:"m-1 has-text-adaptor",icon:"arrow-up-right"}),h(" "+a(t.name),1)],8,ae)]),e("td",ce,[r(Q,{selection:(u=t==null?void 0:t.config)==null?void 0:u.status,options:["done","work in progress","translate"],onSelected:x=>v("levelUpdate",t.name,x)},null,8,["selection","onSelected"])]),e("td",ue,a((o=t==null?void 0:t.config)==null?void 0:o.description),1),e("td",de,a(Object.keys((b=t==null?void 0:t.config)==null?void 0:b.arguments).join(", ")),1),e("td",re,[h(a((w=t.default)==null?void 0:w.item)+" ",1),_e,h(" "+a((V=t.default)==null?void 0:V.plugin),1)]),e("td",me,[h(a(t.modified_by)+" ",1),he,h(" "+a(new Date(t.modified_at).toDateString().replace("Invalid Date","")),1)]),e("td",ve,[h(a(t.created_by)+" ",1),pe,h(" "+a(new Date(t.created_at).toDateString().replace("Invalid Date","")),1)]),e("td",fe,[e("div",be,[r(c,{class:"m-1 has-text-adaptor",icon:"arrow-up-right",onClick:x=>v("levelSelect",t.name)},null,8,["onClick"]),r(c,{class:"m-1",icon:"trash-2",onClick:M(x=>v("levelDelete",t.name),["stop"])},null,8,["onClick"])])])])}),128))])])}}},Ce={class:"table has-background-transparent is-hoverable is-bordered is-fullwidth"},$e=e("thead",null,[e("tr",null,[e("th",null,"LEVEL"),e("th",null,"SESSION"),e("th",null,"ACTIVE STATE"),e("th",null,"IN STATE"),e("th",null,"REFERENCES"),e("th",null,"CONTENT"),e("th",null,"IN SESSION"),e("th",{class:"has-no-outline"})])],-1),ge={key:0},ye=["onClick"],we=["onClick"],Se={class:"dropdown-item p-0"},Ee=e("td",null,null,-1),Le=e("td",null,null,-1),xe=e("td",null,null,-1),De=e("td",null,null,-1),Ne=e("td",null,null,-1),Ie=e("td",null,null,-1),Ve=["rowspan"],Ae=["onClick"],Be=["onClick"],Te={class:"dropdown-item p-0"},Oe=["onClick"],Ue=e("br",null,null,-1),Me={class:"is-family-monospace"},je=e("br",null,null,-1),qe={class:"content is-small"},Re={class:"is-clickable"},Fe={class:"pl-3 has-overflow-ellipsis"},Ke={class:"pl-3 has-overflow-ellipsis"},We={class:"content is-small"},Ge={class:"is-family-monospace"},Pe={class:"pl-1 has-no-outline"},ze={class:"is-flex"},He={class:"dropdown-item p-1"},Je={class:"field is-grouped"},Qe={class:"control"},Xe=["onClick"],Ye={class:"control"},Ze=["onClick"],et={__name:"SessionList",props:{levels:{type:Object,required:!0},sessions:{type:Object,required:!0}},emits:["levelSelect","sessionSelect","sessionDelete"],setup(k,{emit:p}){const $=p,v=L(new Date);let _;function f(){v.value=new Date}return q(()=>_=setInterval(f,1e3)),R(()=>clearInterval(_)),(C,d)=>{const m=O("Icon");return l(),i("table",Ce,[$e,e("tbody",null,[(l(!0),i(y,null,S(k.levels,n=>(l(),i(y,{key:n._id},[!k.sessions||!k.sessions.hasOwnProperty(n._id)?(l(),i("tr",ge,[e("td",null,[e("button",{class:"button p-0 is-ghost has-text-weight-semibold",onClick:s=>$("levelSelect",n.name)},a(n.name),9,ye),r(I,{class:"is-pulled-right"},{anchor:g(({togglePopup:s})=>[e("button",{class:"button has-no-outline has-background-transparent",onClick:s},[r(m,{icon:"plus-circle"})],8,we)]),content:g(({togglePopup:s})=>[e("div",Se,[r(T,{"level-id":n._id,"level-name":n.name,onClose:s},null,8,["level-id","level-name","onClose"])])]),_:2},1024)]),Ee,Le,xe,De,Ne,Ie])):(l(!0),i(y,{key:1},S(k.sessions[n._id],(s,c)=>(l(),i("tr",{key:s,style:{border:"none"}},[c==0?(l(),i("th",{key:0,rowspan:k.sessions[n._id].length},[e("button",{class:"button p-0 is-ghost has-text-weight-semibold",onClick:t=>$("levelSelect",n.name)},a(n.name),9,Ae),r(I,{class:"is-pulled-right"},{anchor:g(({togglePopup:t})=>[e("button",{class:"button has-no-outline has-background-transparent",onClick:t},[r(m,{icon:"plus-circle"})],8,Be)]),content:g(({togglePopup:t})=>[e("div",Te,[r(T,{"level-id":n._id,"level-name":n.name,onClose:t},null,8,["level-id","level-name","onClose"])])]),_:2},1024)],8,Ve)):D("",!0),e("td",null,[e("button",{class:"button is-ghost has-text-is-live has-text-weight-semibold",onClick:t=>$("sessionSelect",n.name,s._id)},a(s.name),9,Oe)]),e("td",null,[(l(!0),i(y,null,S(s.current_states,t=>(l(),i("div",{key:t._id},[e("span",null,a(t.name),1),Ue]))),128))]),e("td",Me,[(l(!0),i(y,null,S(s.current_states,t=>(l(),i("div",{key:t._id},[e("span",null,a(A(B)(t.date,v.value)),1),je]))),128))]),e("td",qe,[(l(!0),i(y,null,S(s.references,(t,u,o)=>(l(),i("details",{key:s._id+u+o,class:"mb-2"},[e("summary",Re,[e("strong",null,a(u),1),(l(!0),i(y,null,S(t,(b,w)=>(l(),i("div",{key:s._id+u+o+"_"+w},[e("div",Fe,[h(" Name: "),e("i",null,a(b.name),1)]),e("div",Ke,[h(" ID: "),e("i",null,a(b._id),1)])]))),128))]),h(" "+a(t),1)]))),128))]),e("td",We,a(s.content),1),e("td",Ge,a(A(B)(s.created_at,v.value)),1),e("td",Pe,[e("div",ze,[r(m,{class:"m-1 has-text-is-live",icon:"external-link",onClick:t=>$("sessionSelect",n.name,s._id)},null,8,["onClick"]),r(I,{"unfold-right":!0},{anchor:g(({togglePopup:t})=>[r(m,{icon:"trash-2",onClick:t},null,8,["onClick"])]),content:g(({togglePopup:t})=>[e("div",He,[e("div",Je,[e("p",Qe,[e("button",{class:"button is-danger",onClick:u=>$("sessionDelete",s)},"Delete",8,Xe)]),e("p",Ye,[e("button",{class:"button",onClick:t},"Cancel",8,Ze)])])])]),_:2},1024)])])]))),128))],64))),128))])])}}},tt={class:"p-4 is-flex is-flex-direction-column"},st={class:"subtitle"},nt={key:0,class:"py-2 is-not-clipped is-max-full-height"},lt={key:1,class:"mt-5"},ot=["onClick"],ct={__name:"GameOverview",setup(k){const p=F(),$=K(),v=E(()=>p.state.game.selected),_=E(()=>p.getters["game/extendedLevelList"]),f=E(()=>p.getters["live/sessionsByLevel"]),C=E(()=>p.state.live.isLive),d=L({visible:!1,name:null});function m(o){d.value.name=o,d.value.visible=!0}function n(){p.dispatch("game/deleteLevel",{game:v.value,level:d.value.name}).then(()=>d.value.visible=!1)}function s(o,b){p.dispatch("live/selectSession",b),$.push({name:"Editor",params:{game:v.value,level:o}})}function c(o){p.dispatch("live/cancelSession",{game:v.value,session:o})}function t(o){$.push({name:"Editor",params:{game:v.value,level:o}})}function u(o,b){p.dispatch("level/editStatus",{level:o,status:b})}return(o,b)=>(l(),i("div",tt,[e("h1",st,a(C.value?"SESSIONS":"LEVEL")+" OVERVIEW",1),_.value?(l(),i("section",nt,[C.value?(l(),N(et,{key:0,levels:_.value,sessions:f.value,onSessionSelect:s,onSessionDelete:c,onLevelSelect:s},null,8,["levels","sessions"])):(l(),N(ke,{key:1,levels:_.value,onLevelSelect:t,onLevelDelete:m,onLevelUpdate:u},null,8,["levels"]))])):D("",!0),C.value?D("",!0):(l(),i("section",lt,[r(W,null,{anchor:g(({onClick:w})=>[e("button",{class:"button is-link",onClick:w},"NEW LEVEL",8,ot)]),_:1})])),d.value.visible?(l(),N(G,{key:2,modal:d.value,"css-classes":["is-danger"],onCloseModal:b[1]||(b[1]=w=>d.value.visible=!1)},{header:g(()=>[h("DELETE LEVEL")]),footer:g(()=>[e("button",{class:"button is-danger m-1",onClick:n},"DELETE"),e("button",{class:"button m-1",onClick:b[0]||(b[0]=w=>d.value.visible=!1)},"CANCEL")]),default:g(()=>[h(" Do you really want do delete level "),e("b",null,a(d.value.name),1),h(" ? ")]),_:1},8,["modal"])):D("",!0)]))}};export{ct as default};