PageSourceSearch

https://rehab.tactustherapy.com/assets/SortingPlayArea-de8f59ac.js

js tactustherapy.com collected 2026-10-01 12:40:21 UTC 15,099 bytes, 1 lines download raw bytes

1var U=Object.defineProperty,q=Object.defineProperties;var R=Object.getOwnPropertyDescriptors;var z=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;var K=(t,e,n)=>e in t?U(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,D=(t,e)=>{for(var n in e||(e={}))X.call(e,n)&&K(t,n,e[n]);if(z)for(var n of z(e))Y.call(e,n)&&K(t,n,e[n]);return t},N=(t,e)=>q(t,R(e));import{Q as W,L as p,m as O,_ as H,r as g,o as a,i as d,k as f,j as v,f as V,q as w,v as T,x,F as I,d as b,y as L,c as B,g as A,H as Z,a as F,w as k,a1 as j}from"./index-d9d2400b.js";import{a as Q}from"./activity-session-locations-de17670e.js";import{T as G}from"./TopBarLevelInfo-4382fa5d.js";import{S as J,p as tt}from"./Score-42fd8d03.js";import{B as et}from"./BaseLayout-91082ca4.js";import{D as it}from"./DragSelect-8d601c3b.js";import{I as nt}from"./Img-3e0f4e46.js";import{E as st}from"./ExerciseSubmitButton-740637b3.js";import{B as rt}from"./BaseImage-57dd4cd8.js";import{P as lt}from"./TopBar-e9e12933.js";import"./Exercise-cb6f8091.js";import"./BottomBar-45722969.js";import"./Page-189c7a05.js";import"./index-a61ae392.js";import"./ProfileIcon-83eecc20.js";import"./ScalableText-7a6b346a.js";import"./ExerciseButton-1ffb0be5.js";import"./OptionSelectionScreen-e395f4d2.js";import"./scale-options-de9b12cf.js";import"./AnimationPlayer-5966b5a4.js";import"./AddToPatientModal-233bc83c.js";import"./BaseTable-c13a7601.js";import"./BaseFilters-1e2d9295.js";import"./string-utils-d99e3d4e.js";import"./Caps-0094676e.js";import"./RelatedItemsModal-b9dc2895.js";import"./Card-7755553c.js";import"./TreatmentCard-f1fe792d.js";import"./date-utils-ec02abc1.js";import"./ViewResourceButton-f46f7f24.js";import"./NewPatientButton-f9a3e2df.js";import"./NewPatientForm-8ce03776.js";import"./rank-search-items-a35d0a3d.js";import"./AspectRatio-dc7c2f8f.js";import"./ConfirmModal-42f214e2.js";const at={name:"PillBottle",components:{BaseImage:rt,Icon:W},inject:["$exerciseEmitter"],inheritAttrs:!1,props:{imageIds:{type:Object,required:!0},hint:{type:Array,required:!0},isActive:{type:Boolean,default:!1}},computed:D({wrapperClasses(){return["pill-bottle-wrapper",{"pill-bottle-wrapper-active":this.isActive,"pill-bottle-wrapper-active-border":this.isActive&&this.isHintActive}]},pillBottleClasses(){return["pill-bottle",{"pill-bottle-active-border":this.isActive&&!this.isHintActive}]},isHintActive(){return p.some(this.activeExerciseActiveHints,{type:"short-pill-instruction"})},hintData(){return p.map(this.hint,t=>{let e=t.count,n;switch(t.time){case"AM":case"PM":e+=" - "+t.time;break;case"morning":case"noon":case"night":n=t.time;break}const s={text:e};return n&&(s.icon=n),s})}},O("activity-sessions",["activeExerciseActiveHints"])),methods:{handleImageLoaded(){this.$exerciseEmitter.emit("handleLoadedExerciseImage")}}},ot={class:"hint-wrapper"};function ct(t,e,n,s,l,i){const r=g("BaseImage"),o=g("Icon");return a(),d("div",{class:x(i.wrapperClasses)},[f("div",V(D({},t.$attrs),{class:["pill","pill-bottle-pill-img-wrapper",{"pill-active":n.isActive}]}),[v(r,{"image-id":n.imageIds.imageId,size:"xl","is-expandable":!1,class:"pill-image",onLoaded:i.handleImageLoaded},null,8,["image-id","onLoaded"])],16),f("div",{class:x(i.pillBottleClasses)},[w(v(r,{"image-id":n.imageIds.activeBottleImageId,size:"xl","is-expandable":!1,onLoaded:i.handleImageLoaded},null,8,["image-id","onLoaded"]),[[T,n.isActive]]),w(v(r,{"image-id":n.imageIds.bottleImageId,size:"xl","is-expandable":!1,onLoaded:i.handleImageLoaded},null,8,["image-id","onLoaded"]),[[T,!n.isActive]])],2),f("div",{class:x(["hint-full-height-wrapper",{visible:i.isHintActive}])},[f("div",ot,[(a(!0),d(I,null,b(i.hintData,({text:u,icon:c},C)=>(a(),d("div",{key:C,class:"hint"},[f("span",null,L(u),1),c?(a(),B(o,{key:0,icon:c},null,8,["icon"])):A("",!0)]))),128))])],2)],2)}const dt=H(at,[["render",ct]]);const ut={name:"ManagingMedicationsLayout",components:{BaseLayout:et,Icon:W,Img:nt,ExerciseSubmitButton:st,PillBottle:dt,PlainText:lt},inject:["$exerciseEmitter","$media"],data(){return{ds:void 0,activeBottleIndex:-1,pillKeyPrefix:"pill-key-",pillContainerContents:void 0,numPillContainersM
1ounted:0,daysOfTheWeekHeaders:["SUN","MON","TUE","WED","THU","FRI","SAT"],currentlyDraggingPillData:void 0,dragAreaElementId:"managing_medications_layout",didDragOutOfDragArea:!1}},computed:D({instruction(){return(this.activeBottleIndex>-1?this.bottleData[this.activeBottleIndex].instruction:"Select a bottle to sort")+"."},numDaysInOrganizer(){return this.daysOfTheWeekHeaders.length},numTimeSlots(){return this.level.schema.numTimeSlots},timeSlotDescs(){switch(this.numTimeSlots){case 1:break;case 2:return[{text:"AM"},{text:"PM"}];case 3:return[{icon:"morning"},{icon:"noon"},{icon:"night"}]}},numPillContainers(){return this.numTimeSlots*this.numDaysInOrganizer},maxNumPillsPerContainer(){return this.level.schema.maxNumPillsPerContainer},isExerciseStatusCorrect(){return this.activeExercise.status==="correct"||this.activeExercise.status==="corrected"||this.activeExercise.status==="correct-with-hint"}},O("activity-sessions",["activeExercise","activeExerciseIndex","bottleData","pillContainerObjectives","hints","level"])),watch:{activeExerciseIndex(){this.activeBottleIndex=-1,this.pillContainerContents=void 0,this.numPillContainersMounted=0,this.initPillContainerContents()}},mounted(){this.initPillContainerContents(),this.initDragSelect(),this.$exerciseEmitter.on("handleHint",this.handleHint)},unmounted(){this.$exerciseEmitter.off("handleHint",this.handleHint)},methods:D({initPillContainerContents(){this.pillContainerContents=[];for(let t=0;t<this.numTimeSlots;t++){const e=[];for(let n=0;n<this.numDaysInOrganizer;n++)e.push({status:"default"});this.pillContainerContents.push(e)}},initDragSelect(){this.ds||(this.ds=new it({}),this.subscriptionId=this.ds.subscribe("callback",this.dragSelectCallback),this.ds.subscribe("dragstart",this.handleDragStart),this.ds.subscribe("dragmove",this.handleDragMove),this.ds.subscribe("elementunselect",this.handleElementUnselect))},handleDragStart(t){if(t.items&&t.items[0]){const e=t.items[0],n=e.classList,s=this.getSuffixOfClassWithPrefix(n,"pill-container-pill-");if(s){const P=s.split("-"),h=P[0],m=P[1],y=P[2];this.currentlyDraggingPillData={row:h,col:m,index:y}}const l=t.event,i=e.getBoundingClientRect();let r=0,o=0;if(typeof TouchEvent!="undefined"&&l instanceof TouchEvent&&l.touches&&l.touches.length>0){const{clientX:P,clientY:h}=l.touches[0],{x:m,y}=i;o=P-m,r=h-y}else"offsetX"in l&&"offsetY"in l&&(o=t.event.offsetX,r=t.event.offsetY);const{width:u,height:c}=i,C=o-u/2,_=r-c/2;e.style.left=C+"px",e.style.top=_+"px"}},handleDragMove(t){if(p.isEmpty(t.items))return;const e=t.event,s=document.getElementById(this.dragAreaElementId).getBoundingClientRect(),{pageX:l,pageY:i}=e,{x:r,y:o,width:u,height:c}=s;(l<r||l>r+u||i>o+c||i<o)&&(this.didDragOutOfDragArea=!0)},updateDragSelect(){const t=[];for(let s=0;s<this.pillContainerContents.length;s++){const l=this.pillContainerContents[s];for(let i=0;i<l.length;i++)t.push({element:document.querySelector(`#pill-container-row-${s}-column-${i}`),id:`container_${s}_${i}`})}const e=".pill-active",n=document.querySelectorAll(e);this.ds.setSettings({area:document.getElementById(this.dragAreaElementId),selectables:[...n],dropZones:[...t]}),this.verifyPillBottlePillZindex()},verifyPillBottlePillZindex(){const t=document.querySelectorAll(".pill-bottle-pill-img-wrapper");for(const e of t)e.style.zIndex<0&&(e.style.zIndex="auto")},handlePillBottleMounted(){this.updateDragSelect()},handlePillContainerMounted(){this.numPillContainersMounted+=1,this.numPillContainers==this.numPillContainersMounted&&(this.updateDragSelect(),Object.keys(this.bottleData).length==1&&this.handleBottleClick(this.bottleData[0].key))},handlePillContainerPillMounted(){this.updateDragSelect()},getPillClassKey(t){return this.getSuffixOfClassWithPrefix(t,this.pillKeyPrefix)},getSuffixOfClassWithPrefix(t,e){const n=p.find(t,s=>s.startsWith(e));return n?n.substring(e.length):void 0},dragSelectCallback(t){const e=t.items[0];if(this.didDragOutOfDragArea){this.currentlyDraggingPillData&&this.removeCurrentlyDraggingPill(),this.ds.removeSelection(e);return}const s=t.event.target.classList,l=s.contains("pill"),i=t.event.target.parentElement.classList.contains("pill-bottle-wrapper"),r=t.event.target.parentElement.classList.contains("pill-bottle-wrapper-active");if(l&&i&&!r){const o=this.getPillClassKey(s);this.handleBottleClick(o);return}if(t.dropTarget&&e){const u=t.dropTarget.id.split("_"),c=u[1],C=u[2],_=this.pillContainerContents[c][C];if(_.status!="correct"&&(typeof _.pills=="undefined"&&(_.pills=[]),_.pills.length<this.maxNumPillsPerContainer)){const P=this.getPillClassKey(e.classList);_.pills.push({key:P})}}this.currentlyDraggingPillData&&this.removeCurrentlyDraggingPill(),this.ds.removeSelection(e),this.verifyPillBottlePillZindex()},removeCurrentlyDraggingPill(){if(this.currentlyDraggingPillData){const{row:t,col:e,index:n}=this.currentlyDraggingPillData;this.pillContainerContents[t][e].pills.splice(n,1),this.currentlyDraggingPillData=void 0}},handleElementUnselect(t){t.item.removeAttribute("style"),t.item.classList.remove("tile-dragging"),this.didDragOutOfDragArea&&(this.didDragOutOfDragArea=!1)},handleBottleClick(t){const e=p.findIndex(this.bottleData,{key:t});this.activeBottleIndex=e},getTimeSlotKey(t){return{1:{0:"daily"},2:{0:"AM",1:"PM"},3:{0:"morning",1:"noon",2:"night"}}[this.numTimeSlots][t]},getPillContainerStatus(t,e){const n=this.getTimeSlotKey(t),s=this.pillContainerObjectives[n],i=this.pillContainerContents[t][e].pills;if(!s)return typeof i=="undefined"||p.isEmpty(i)?"correct":"incorrect";if(typeof i=="undefined"||p.isEmpty(i))return"incorrect";const r={};for(const{key:c}of i)r[c]?r[c]+=1:r[c]=1;const o=Object.keys(r).length,u=s.length;if(o!=u)return"incorrect";for(const{key:c,count:C}of s)if(typeof r[c]=="undefined"||r[c]!=C)return"incorrect";return"correct"},handleSubmit(){const t=[];for(let i=0;i<this.numTimeSlots;i++)for(let r=0;r<this.numDaysInOrganizer;r++){const o=this.getPillContainerStatus(i,r);t.push(o);const u=this.pillContainerContents[i][r];u.status=o}const e=p.every(p.filter(t,i=>i!="default"),i=>i=="correct"),n=e?"ui-correct":"ui-incorrect";this.$media.play(n),e&&(Z("activity-sessions").autoAdvancing=!0);const s=this.activeExercise,l=s.status;switch(l){case null:s.status=e?"correct":"incorrect";break;case"incorrect":s.status=e?"corrected":"incorrect";break;case"hint-used":s.status=e?"correct-with-hint":"incorrect";break;case"correct":case"corrected":case"correct-with-hint":default:return}e&&(s.completed=!0),this.updateResults(l).then(()=>{switch(s.status){case"correct":case"corrected":case"correct-with-hint":this.$exerciseEmitter.emit("goToNext");break;case"incorrect":case"incomplete":case"hint-used":setTimeout(()=>{this.removeIncorrectContainerStatus()},1500);break}})},handleHint(){const t=this.activeExercise;if(t.completed)return;const e=t.status;switch(t.status){case null:case"incorrect":case"hint-used":t.status="hint-used";break;case"correct":case"corrected":case"correct-with-hint":default:return}t.usedHints||(t.usedHints={}),p.isArray(t.usedHints.history)||(t.usedHints.history=[]),t.usedHints.used=!0,t.usedHints.history.push({type:this.hints[0].type});const n=t.usedHints.history.length-1;t.usedHints.activeIndices||(t.usedHints.activeIndices=[]),p.isArray(t.usedHints.activeIndices)||(t.usedHints.activeIndices=[]),t.usedHints.activeIndices.push(n),this.updateResults(e)},removeIncorrectContainerStatus(){for(let t=0;t<this.numTimeSlots;t++)for(let e=0;e<this.numDaysInOrganizer;e++){const n=this.pillContainerContents[t][e];n.status=="incorrect"&&(n.status="default")}},getPillImageId(t){return p.find(this.bottleData,{key:t}).imageIds.imageId},pillContainerAttributes(t){const e=this.getTimeSlotKey(t),n=this.pillContainerObjectives[e];if(!n)return{};const s={};for(const l of n){const i=l.count;if(i===0)continue;const r=l.key;s[`data-test-correct-num-${r}`]=i}return s}},F("activity-sessions",["updateResults"]))},mt={class:"pill-organizer"},ht={key:0,class:"time-slot-descs"},pt={key:0},gt={class:"pill-organizer-body"},ft={class:"days-of-the-week-headers"},yt=["id"],vt=f("div",{class:"top-bar"},null,-1);function Ct(t,e,n,s,l,i){const r=g("PlainText"),o=g("PillBottle"),u=g("Icon"),c=g("Img"),C=g("ExerciseSubmitButton"),_=g("Portal"),P=g("BaseLayout");return a(),B(P,{id:"managing_medications_layout"},{top:k(()=>[v(r,{text:i.instruction},null,8,["text"])]),bottom:k(()=>[f("div",mt,[i.timeSlotDescs?(a(),d("div",ht,[(a(!0),d(I,null,b(i.timeSlotDescs,(h,m)=>(a(),d("div",{key:m,class:"time-slot-desc"},[h.text?(a(),d("span",pt,L(h.text),1)):A("",!0),h.icon?(a(),B(u,{key:1,icon:h.icon},null,8,["icon"])):A("",!0)]))),128))])):A("",!0),f("div",gt,[f("div",ft,[(a(!0),d(I,null,b(l.daysOfTheWeekHeaders,(h,m)=>(a(),d("div",{key:m},L(h),1))),128))]),f("div",{class:x(["pill-containers","num-time-slots-"+i.numTimeSlots,{"pill-containers-all-correct":i.isExerciseStatusCorrect}])},[(a(!0),d(I,null,b(l.pillContainerContents,(h,m)=>(a(),d("div",{key:m,class:x(["time-slot-row","row-"+m])},[(a(!0),d(I,null,b(h,(y,S)=>(a(),d("div",V({id:`pill-container-row-${m}-column-${S}`,key:S,class:["pill-container",`pill-container-${m}-${S}`,`pill-container-status-${y.status}`]},i.pillContainerAttributes(m),{onVnodeMounted:e[1]||(e[1]=(...E)=>i.handlePillContainerMounted&&i.handlePillContainerMounted(...E))}),[vt,(a(!0),d(I,null,b(y.pills,(E,M)=>
1(a(),d("div",{key:M+"-"+E.key,class:x(["pill",`${l.pillKeyPrefix}${E.key}`,`pill-container-pill-${m}-${S}-${M}`,{"pill-active":y.status!="correct"}]),onVnodeMounted:e[0]||(e[0]=(...$)=>i.handlePillContainerPillMounted&&i.handlePillContainerPillMounted(...$))},[v(c,{img:i.getPillImageId(E.key),size:"md"},null,8,["img"])],2))),128))],16,yt))),128))],2))),128))],2)])])]),default:k(()=>[f("div",{class:x(["pill-bottles","pill-bottles-num-time-slots-"+i.numTimeSlots])},[(a(!0),d(I,null,b(t.bottleData,({imageIds:h,hint:m,key:y},S)=>(a(),B(o,{key:S,class:x(l.pillKeyPrefix+y),"image-ids":h,hint:m,"is-active":l.activeBottleIndex===S,"data-test-pill-type":y,onVnodeUpdated:i.handlePillBottleMounted},null,8,["class","image-ids","hint","is-active","data-test-pill-type","onVnodeUpdated"]))),128))],2),v(_,{to:"bottom_bar_right_edge"},{default:k(()=>[v(C,{onClick:i.handleSubmit},null,8,["onClick"])]),_:1})]),_:1})}const _t=H(ut,[["render",Ct]]),Pt={name:"SortingPlayArea",components:{ManagingMedicationsLayout:_t,TopBarLevelInfo:G,Score:J},mixins:[tt],data(){return{}},computed:N(D({},O("activity-sessions",["level","activitySession"])),{isAtHomeSession(){return Q(this.activitySession.location)}})},xt={id:"sorting_play_area"};function St(t,e,n,s,l,i){const r=g("TopBarLevelInfo"),o=g("Portal"),u=g("Score");return w((a(),d("div",xt,[i.isAtHomeSession?A("",!0):(a(),B(o,{key:0,to:"top_bar_left"},{default:k(()=>[v(r)]),_:1})),v(o,{to:"top_bar_right"},{default:k(()=>[v(u)]),_:1}),(a(),B(j(t.level.layout)))],512)),[[T,t.shouldShowLayout]])}const le=H(Pt,[["render",St]]);export{le as default};

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.