Giter VIP home page Giter VIP logo

reproschema-ui's People

Contributors

akeshavan avatar alishakodibagkar avatar dependabot[bot] avatar djarecka avatar remi-gau avatar sanuann avatar satra avatar shnizzedy avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reproschema-ui's Issues

List of UI Components

Lets make a list here of the UI components we want to support and their label names.

  • radio buttons inputType: 'radio'
  • text input inputType: 'text'
  • audio record inputType: 'audioRecord'
  • integer input inputType: 'xsd:int'
  • number input inputType: 'number' (this can be ints or floats)
  • date picker inputType: 'date'
  • checkboxes ??
  • place input
  • multitext input
  • audioRecordNumberTask

@sanuann can you continue this list?

voice task description

add instructions:

stop once you are done speaking. You may hit play to hear what was recorded.```

add different input types to readme

to make it easier for schema writers to know what inputtype to use, there should be a list provided by schema-ui and this should be consistent with the validator in reproschema.

Licence?

As I am working on the readme for this, by reinjecting some of my own doc notes and some of the content of other issues (#133 #4 #18) I realize that this does not have a license.

Should I add one in the [DOC] PR I am working on? Apache 2.0 like for the reproschema?

schema-ui fixes:

  1. select dropdown needs to be fixed in demographics.
  2. fix the error in console (not sure why it occurs)
  3. other questions assessment - branching between the items
  4. branching in voice task feedback questions.

Fix and enhance the mic test

When this happens:
image

Then this appears
image

But if you click on "show result" nothing happens, it just goes to the next activity.

Option A) we could run a signal-to-noise ratio test (SNR) on that audio sample to see if the environment is too noisy. Then we can give feedback: "Your environment is too noisy, please go somewhere quieter and try again".

So we'd need to run some code to run the SNR and depending on the score either proceed or give feedback, is that possible?

Option B) A simpler option is what you have now, and it's just playing the audio back to them and instructing "If you think there is too much background noise, please go somewhere quieter".

@satra , what do you think?

voice recording widget

  • play button should turn to stop when playing and back to play when playing is done
  • on android, playing appears to stop shorter than it should
  • when you click redo recording, the time limit changes to 10000s from 10s

feature wishlist #1

  • keep previous answers highlighted when new item is loaded
  • hitting skip at any time, highlights the skip for that item and unselects any selected answer
  • selecting an answer on a skipped question, removes skip highlight

for both of the last two cases the answer dictionary is updated to reflect current state.

  • something that indicates progress perhaps a bar on top of the screen that stays as you scroll up and down.

a few new bugs

  1. in the results, two records are being created for each item (including two wav files for each audio item).
  2. the attributed to field should generate a unique uuid for a participant (common across all items in a session).

should we make the timeRange input more general?

@sanuann @satra

I was going through the checklist for the PET guidelines and the time range widget seems to have some hard coded aspects that won't be usable for the needs for that use case.

I suspect though this might require some changes on the schema side to allow more flexibility, no?

<template>
  <div class="TimeRangeInput container ml-3 pl-3">
    <b-row class="mt-2 mb-2">
      <b-col class="mt-2 mb-2">
        went to bed:
        {{yesterday}}
        <vue-timepicker v-model="slept" format="hh:mm A"></vue-timepicker>
      </b-col>
      <b-col class="mt-2 mb-2">
        woke up:
        {{today}}
        <vue-timepicker v-model="woke" format="hh:mm A"></vue-timepicker>
      </b-col>
    </b-row>

    <div class="mt-2 mb-2" v-if="timeSlept != null">
      <div class="mt-2 mb-2" v-if="timeSlept < 0">
        <b-alert show variant="danger">You can't sleep negative hours!</b-alert>
      </div>
      <b-button v-else @click="sendData">Submit {{timeSlept}} hours</b-button>
    </div>
  </div>
</template>

[UI] inputType for "arrays"?

@sanuann @satra

This might be cryptic way to describe this but for MRI and PET we are getting a lot items that require answer in terms of

X= ; Y= ; Z=

Very often for voxel dimension, image resolution...

It does not seem like a good idea to have 3 separate "float" items for this.

Did I miss it or is this something covered by the schema at the moment on the UI part in terms of possible inputType?

Add participant ID widget

should behave as follows:

  1. initialize the widget with default UUID.
  2. option to replace with personal UUID.
  3. when url is called with particpant_id, the widget is initialized with the participant_id

visibility of widget:
if url is called with participant_id => do not show the widget
else => read only.

allow list to allow this widget to be readonly.

zip export

zip each blob in responses so that less data is sent

serving the schema-ui on github pages

Hello,

quick question from total noob: is it possible to serve this schema-ui repo using github pages?

trying to build a standalone proof of concept website so I figured this would the first easy solution.

Thanks

Remi

multitext widget

all parts of name (first, middle, last) in NDA items to be in a single widget

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.