UNPKG

adaptorex

Version:

Connect all your live interactive storytelling devices and software

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