added 260907 version of worker toolkit
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
{{save-status record=checkin}}
|
||||
|
||||
<h2>{{step.title}}</h2>
|
||||
|
||||
{{#if step.hint}}
|
||||
<div class="tip">{{{step.hint}}}</div>
|
||||
{{/if}}
|
||||
@@ -0,0 +1,15 @@
|
||||
{{#if trackableTypeIsTreatment}}
|
||||
{{checkin/treatment-taker model=tracked
|
||||
disabled=isSaving
|
||||
onTitleClicked=(action 'onTrackableClicked')
|
||||
onIsTakenChanged=(action 'saveChanges')
|
||||
onDoseChanged=(action 'saveChanges')
|
||||
onRemove=(action 'remove') }}
|
||||
{{else}}
|
||||
{{checkin/tracked-level model=tracked
|
||||
valueKey='value'
|
||||
disabled=isSaving
|
||||
onTitleClicked=(action 'onTrackableClicked')
|
||||
onValueChanged=(action 'saveChanges')
|
||||
onRemove=(action 'remove') }}
|
||||
{{/if}}
|
||||
@@ -0,0 +1,21 @@
|
||||
<div class="checkin-days-nav">
|
||||
<div class="yesterday">
|
||||
<a href="#" {{action 'goToYesterday'}}>‹</a>
|
||||
</div>
|
||||
|
||||
<a class="calendar-opener" {{action 'openPicker' bubbles=false}}>
|
||||
{{inline-svg 'calendar-icon' class='calendar-icon'}}
|
||||
|
||||
{{checkinDateLabel}}
|
||||
|
||||
{{pick-a-date
|
||||
date=(readonly checkinDate)
|
||||
options=(readonly pickadateOptions)
|
||||
on-selected=(action 'checkinDateChanged')
|
||||
}}
|
||||
</a>
|
||||
|
||||
<div class="tomorrow">
|
||||
<a href="#" {{action 'goToTomorrow'}}>›</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,131 @@
|
||||
<div class="flaredown-white-box">
|
||||
{{partial "components/checkin/step-header"}}
|
||||
|
||||
{{#if (or hbi.hasDirtyAttributes hbi.isNew)}}
|
||||
{{#form-for for=hbi onSubmit="save"}}
|
||||
{{#form-field for="wellBeing" label="General well-being yesterday"}}
|
||||
{{#power-select
|
||||
class="fs-private"
|
||||
options=hbi.wellBeingOptions
|
||||
onchange=(action "selectOption" "wellBeing")
|
||||
selected=hbi.selectedWellBeing
|
||||
placeholder="Select"
|
||||
renderInPlace=true
|
||||
as |wellBeing| }}
|
||||
{{wellBeing.label}}
|
||||
{{/power-select}}
|
||||
{{/form-field}}
|
||||
|
||||
{{#form-field for="abdominalPain" label="Abdominal pain yesterday"}}
|
||||
{{#power-select
|
||||
class="fs-private"
|
||||
options=hbi.abdominalPainOptions
|
||||
onchange=(action "selectOption" "abdominalPain")
|
||||
selected=hbi.selectedAbdominalPain
|
||||
placeholder="Select"
|
||||
renderInPlace=true
|
||||
as |abdominalPain| }}
|
||||
{{abdominalPain.label}}
|
||||
{{/power-select}}
|
||||
{{/form-field}}
|
||||
|
||||
{{#form-field for="stoolsString" label="Number of liquid or soft stools yesterday"}}
|
||||
{{input value=hbi.stoolsString placeholder="Enter number" class="fs-private" type="number"}}
|
||||
{{/form-field}}
|
||||
|
||||
{{#form-field for="abdominalMass" label="Do you have an abdominal mass?"}}
|
||||
{{#power-select
|
||||
class="fs-private"
|
||||
options=hbi.abdominalMassOptions
|
||||
onchange=(action "selectOption" "abdominalMass")
|
||||
selected=hbi.selectedAbdominalMass
|
||||
placeholder="Select"
|
||||
renderInPlace=true
|
||||
as |abdominalMass| }}
|
||||
{{abdominalMass.label}}
|
||||
{{/power-select}}
|
||||
{{/form-field}}
|
||||
|
||||
<label>Do you have any of these complications?</label>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.arthralgia)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">Arthralgia</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.uveitis)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">Uveitis</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.erythemaNodosum)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">Erythema nodosum</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.aphthousUlcers)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">Aphthous ulcers</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.pyodermaGangrenosum)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">Pyoderma gangrenosum</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.analFissure)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">Anal fissure</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.newFistula)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">New fistula</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{label-switch
|
||||
checked=(mut hbi.abscess)
|
||||
bgColorClass="colorable-bg-35"
|
||||
}}
|
||||
<h5 class="switch-name">Abscess</h5>
|
||||
</div>
|
||||
|
||||
{{input type="submit" class="submit" value="Calculate score" disabled=hbi.notReady}}
|
||||
{{/form-for}}
|
||||
{{else}}
|
||||
<div class="score">
|
||||
<p>Your result:</p>
|
||||
<h3>{{hbi.score}}</h3>
|
||||
<p>{{hbi-label hbi.score}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{step-controls
|
||||
step=step
|
||||
onForward=(action "completeStep")
|
||||
onBackward=(action "goBack")
|
||||
forwardLabel="Next"
|
||||
}}
|
||||
</div>
|
||||
@@ -0,0 +1,29 @@
|
||||
<div class="flaredown-white-box">
|
||||
{{partial "components/checkin/step-header"}}
|
||||
|
||||
<h3>Food</h3>
|
||||
|
||||
{{checkin/multi-select-group
|
||||
idsKey='foodIds'
|
||||
modelName='food'
|
||||
relationName='foods'
|
||||
onBeforeAdd=(action 'onBeforeAddFood')
|
||||
}}
|
||||
|
||||
<h3 class="vert-offset-top-2">Tags</h3>
|
||||
|
||||
{{checkin/multi-select-group
|
||||
idsKey='tagIds'
|
||||
modelName='tag'
|
||||
badgeStyle=true
|
||||
relationName='tags'
|
||||
onBeforeAdd=(action 'onBeforeAddTag')
|
||||
}}
|
||||
|
||||
{{step-controls
|
||||
step=step
|
||||
forwardLabel='Next'
|
||||
onBackward=(action "goBack")
|
||||
onForward=(action "completeStep")
|
||||
}}
|
||||
</div>
|
||||
@@ -0,0 +1,25 @@
|
||||
<ul>
|
||||
{{#each objects as |object|}}
|
||||
<li class="choosen-object" {{action "clicked" object}}>
|
||||
{{#if badgeStyle}}
|
||||
<img class="badge-pointer" src="/assets/tag-point.svg">
|
||||
<div class="badge-text">{{object.name}}</div>
|
||||
{{else}}
|
||||
<div class="regular">{{object.name}}</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
{{#power-select-with-create
|
||||
search=(action "searchObjects")
|
||||
onchange=(action "handleChange")
|
||||
oncreate=(action "createObject")
|
||||
showCreateWhen=(action "shouldShowCreateOption")
|
||||
placeholder=selectPlaceholder
|
||||
onfocus=(action "handleFocus")
|
||||
onblur=(action "handleBlur")
|
||||
renderInPlace=true
|
||||
as |object| }}
|
||||
{{object.name}}
|
||||
{{/power-select-with-create}}
|
||||
@@ -0,0 +1,22 @@
|
||||
{{checkin/multi-select-edit
|
||||
objects=relatedObjects
|
||||
modelName=modelName
|
||||
badgeStyle=badgeStyle
|
||||
onClicked=(action "remove")
|
||||
onSelected=(action "add")
|
||||
onBeforeAdd=(action "onBeforeAdd")
|
||||
}}
|
||||
|
||||
{{multi-group
|
||||
scope="most_popular"
|
||||
title="Popular"
|
||||
modelName=modelName
|
||||
onItemClicked=(action "add")
|
||||
}}
|
||||
<br>
|
||||
{{multi-group
|
||||
scope="most_recent"
|
||||
title="Recent"
|
||||
modelName=modelName
|
||||
onItemClicked=(action "add")
|
||||
}}
|
||||
@@ -0,0 +1,4 @@
|
||||
<h2>Journal</h2>
|
||||
{{textarea value=(mut checkin.note)
|
||||
placeholder="Leave a note about your day"
|
||||
class="note-textarea fs-private" }}
|
||||
@@ -0,0 +1,43 @@
|
||||
<div class="flaredown-white-box">
|
||||
{{save-status record=checkin}}
|
||||
|
||||
<h2>{{step.title}}</h2>
|
||||
|
||||
{{#if showRatePage}}
|
||||
<h4>{{prBody}}</h4>
|
||||
|
||||
<ul class="prRate">
|
||||
{{#each prRates as |prRate|}}
|
||||
<li class="{{if (eq selectedRate prRate) 'active'}}" {{action (mut selectedRate) prRate}}>
|
||||
{{prRate}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
<div class="container">
|
||||
<button class="btn-primary pr-btn" {{action "sendFeedback"}} disabled={{not selectedRate}}>
|
||||
{{feedBackLabel}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{{step-controls
|
||||
step=step
|
||||
onForward=(action "skipStep")
|
||||
linkForward=true
|
||||
onBackward=(action "goBack")
|
||||
forwardLabel="Skip"
|
||||
}}
|
||||
|
||||
{{else}}
|
||||
{{promotion-score
|
||||
pr=pr
|
||||
onForward=onStepCompleted
|
||||
onBackward=onGoBack
|
||||
forwardLabel='Next'
|
||||
stepHasPrev=step.prevId
|
||||
title=step.title
|
||||
feedBackLabel=feedBackLabel
|
||||
}}
|
||||
{{/if}}
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
<h3 class="centered">Your daily digest</h3>
|
||||
|
||||
{{#if model.isPending}}
|
||||
{{partial "application/three-bounce-spinner"}}
|
||||
{{else}}
|
||||
{{#each model as |post|}}
|
||||
{{posts/topic-post post=post isAuthenticatedUser= session.isAuthenticated}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
@@ -0,0 +1,14 @@
|
||||
<br>
|
||||
|
||||
{{checkin/note-edit checkin=checkin}}
|
||||
|
||||
<div class="flaredown-white-box">
|
||||
{{checkin/weather-step}}
|
||||
</div>
|
||||
|
||||
{{checkin/summary-posts}}
|
||||
|
||||
{{step-controls step=step
|
||||
showBack=false
|
||||
forwardLabel=(inline-svg 'history_white')
|
||||
onForward=(action "completeStep") }}
|
||||
@@ -0,0 +1,42 @@
|
||||
<div class="flaredown-white-box">
|
||||
{{partial "components/checkin/step-header"}}
|
||||
|
||||
{{#each sortedTrackeds as |tracked|}}
|
||||
{{#unless tracked.isPreparedForDestroy}}
|
||||
<div class="trackable-row {{trackableType}}-row">
|
||||
{{draggable-dropzone itemId=tracked.id
|
||||
onDropped=(action 'move') }}
|
||||
{{#if session.isMobileDevice}}
|
||||
{{#if (eq clickedTrackableId tracked.id)}}
|
||||
{{#draggable-item itemId=tracked.id class="activated"}}
|
||||
{{partial "components/checkin/trackable-item"}}
|
||||
{{/draggable-item}}
|
||||
{{else}}
|
||||
{{partial "components/checkin/trackable-item"}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{#draggable-item itemId=tracked.id}}
|
||||
{{partial "components/checkin/trackable-item"}}
|
||||
{{/draggable-item}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
<div class="trackable-row {{trackableType}}-row">
|
||||
{{draggable-dropzone itemId="after-last"
|
||||
onDropped=(action 'move') }}
|
||||
</div>
|
||||
|
||||
{{trackables-select trackableType=trackableType
|
||||
selected=selectedTrackable
|
||||
disabled=isSaving
|
||||
onSelect=(action "add") }}
|
||||
|
||||
{{step-controls
|
||||
step=step
|
||||
disabled=isSaving
|
||||
onForward=(action "completeStep")
|
||||
onBackward=(action "goBack")
|
||||
forwardLabel="Next"
|
||||
}}
|
||||
</div>
|
||||
@@ -0,0 +1,16 @@
|
||||
<h4 {{action "titleClicked"}}>
|
||||
{{label}}
|
||||
{{#unless disabled}}
|
||||
<span class="x-to-remove" {{action 'xClick'}}>×</span>
|
||||
{{/unless}}
|
||||
</h4>
|
||||
<div>
|
||||
<ul class="pips">
|
||||
{{#each pips as |pip|}}
|
||||
{{pip-tag value=pip.value selected=selectedValue current=currentValue modelBgClass=model.bgClass
|
||||
onClick=(action "setSelectedValue")
|
||||
onMouseEnter=(action "setCurrentValue")
|
||||
onMouseLeave=(action "unsetCurrentValue")}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -0,0 +1,41 @@
|
||||
{{label-switch checked=(mut isTaken)
|
||||
bgColorClass=model.bgClass}}
|
||||
|
||||
<div class="treatment-data">
|
||||
<h4 class="name {{unless isTaken 'untaken'}}" {{action "titleClicked"}}>
|
||||
{{treatment.name}}
|
||||
<span class="x-to-remove" {{action 'removeTreatment'}}>×</span>
|
||||
</h4>
|
||||
|
||||
{{#if isTaken}}
|
||||
<div class="treatment-dose">
|
||||
{{#if isEditMode}}
|
||||
{{#power-select-with-create options=allTreatmentDoses
|
||||
search=(action "searchObjects")
|
||||
onchange=(action "handleChange")
|
||||
oncreate=(action "createDose")
|
||||
showCreateWhen=(action "shouldShowCreateOption")
|
||||
selected=dose
|
||||
placeholder="e.g. 2 x 30mg"
|
||||
initiallyOpened=true
|
||||
onfocus=(action "handleFocus")
|
||||
onblur=(action "handleBlur")
|
||||
renderInPlace=true
|
||||
disabled=disabled
|
||||
triggerClass=(concat "dose-trigger " model.borderClass)
|
||||
dropdownClass=(concat "dose-dropdown " model.borderClass)
|
||||
as |dose| }}
|
||||
{{dose.name}}
|
||||
{{/power-select-with-create}}
|
||||
|
||||
{{else}}
|
||||
<a href="#" class="indented dose {{model.borderClass}} {{model.clrClass}}" {{action 'edit'}}>
|
||||
{{if dose dose.name "No dose"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if dose}}
|
||||
<span class="x-to-remove" {{action 'clearDose'}}>×</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
@@ -0,0 +1,59 @@
|
||||
<h2>Weather</h2>
|
||||
|
||||
{{#if inputVisible}}
|
||||
<div class="grey">
|
||||
{{#if hasWeather}}
|
||||
Set location:
|
||||
{{else if validPostalCode }}
|
||||
To enable weather tracking,
|
||||
<br>
|
||||
enter your location below
|
||||
{{else}}
|
||||
We couldn't find that location
|
||||
<br>
|
||||
Try entering a postal code or an address.
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{input placeholder="Address or postal code" value=newPostalCode}}
|
||||
|
||||
<a class="save-status" {{action "updatePostalCode"}}>Submit</a>
|
||||
<br>
|
||||
{{else}}
|
||||
<div class="grey clickable" {{action "showInput"}}>{{checkin.locationName}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasWeather}}
|
||||
<img class="vert-offset-top-1" src="/assets/weather/{{iconType}}.png">
|
||||
|
||||
<h5 class="vert-offset-top-1">{{weather.summary}}</h5>
|
||||
|
||||
<div class="measurements vert-offset-top-1">
|
||||
<div class="measurement clickable" {{action "toggleTemperatureUnits"}} >
|
||||
<h3>{{shownTemperatureMin}}°{{temperatureUnits}}</h3>
|
||||
<label>Low</label>
|
||||
</div>
|
||||
|
||||
<div class="measurement clickable" {{action "toggleTemperatureUnits"}}>
|
||||
<h3>{{shownTemperatureMax}}°{{temperatureUnits}}</h3>
|
||||
<label>High</label>
|
||||
</div>
|
||||
|
||||
<div class="measurement">
|
||||
<h3>.{{formattedPrecipitation}}</h3>
|
||||
<label>Precip.</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="measurements vert-offset-top-1">
|
||||
<div class="measurement clickable" {{action "togglePressureUnits"}}>
|
||||
<h3>{{shownPressure}}{{pressureUnits}}</h3>
|
||||
<label>Pressure</label>
|
||||
</div>
|
||||
|
||||
<div class="measurement">
|
||||
<h3>{{weather.humidity}}%</h3>
|
||||
<label>Humidity</label>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
Reference in New Issue
Block a user