@lookit/record 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -8,7 +8,7 @@ var Handlebars = require('handlebars');
8
8
 
9
9
  var _package = {
10
10
  name: "@lookit/record",
11
- version: "4.0.0",
11
+ version: "4.1.0",
12
12
  description: "Recording extensions and plugins for CHS studies.",
13
13
  homepage: "https://github.com/lookit/lookit-jspsych#readme",
14
14
  bugs: {
@@ -289,6 +289,7 @@ class Recorder {
289
289
  } else {
290
290
  await this.s3.completeUpload();
291
291
  }
292
+ this.reset();
292
293
  resolve();
293
294
  };
294
295
  }
@@ -383,6 +384,11 @@ const info$3 = {
383
384
  prompt_only_adults: { type: jspsych.ParameterType.BOOL, default: false },
384
385
  consent_statement_text: { type: jspsych.ParameterType.STRING, default: "" },
385
386
  omit_injury_phrase: { type: jspsych.ParameterType.BOOL, default: false }
387
+ },
388
+ data: {
389
+ chs_type: {
390
+ type: jspsych.ParameterType.STRING
391
+ }
386
392
  }
387
393
  };
388
394
  const _VideoConsentPlugin = class {
@@ -511,7 +517,6 @@ const _VideoConsentPlugin = class {
511
517
  stop.disabled = true;
512
518
  this.addMessage(display, this.uploadingMsg);
513
519
  await this.recorder.stop(true);
514
- this.recorder.reset();
515
520
  this.recordFeed(display);
516
521
  this.getImg(display, "record-icon").style.visibility = "hidden";
517
522
  this.addMessage(display, this.notRecordingMsg);
@@ -536,7 +541,12 @@ const _VideoConsentPlugin = class {
536
541
  let VideoConsentPlugin = _VideoConsentPlugin;
537
542
  VideoConsentPlugin.info = info$3;
538
543
 
539
- const info$2 = { name: "start-record-plugin", parameters: {} };
544
+ const info$2 = {
545
+ name: "start-record-plugin",
546
+ version: _package.version,
547
+ parameters: {},
548
+ data: {}
549
+ };
540
550
  const _StartRecordPlugin = class {
541
551
  constructor(jsPsych) {
542
552
  this.jsPsych = jsPsych;
@@ -558,9 +568,18 @@ StartRecordPlugin.info = info$2;
558
568
 
559
569
  const info$1 = {
560
570
  name: "stop-record-plugin",
571
+ version: _package.version,
561
572
  parameters: {
562
- locale: { type: jspsych.ParameterType.STRING, default: "en-us" }
563
- }
573
+ wait_for_upload_message: {
574
+ type: jspsych.ParameterType.HTML_STRING,
575
+ default: null
576
+ },
577
+ locale: {
578
+ type: jspsych.ParameterType.STRING,
579
+ default: "en-us"
580
+ }
581
+ },
582
+ data: {}
564
583
  };
565
584
  class StopRecordPlugin {
566
585
  constructor(jsPsych) {
@@ -572,11 +591,17 @@ class StopRecordPlugin {
572
591
  }
573
592
  }
574
593
  trial(display_element, trial) {
575
- display_element.innerHTML = chsTemplates.uploadingVideo(trial);
594
+ if (trial.wait_for_upload_message == null) {
595
+ display_element.innerHTML = chsTemplates.uploadingVideo(trial);
596
+ } else {
597
+ display_element.innerHTML = trial.wait_for_upload_message;
598
+ }
576
599
  this.recorder.stop().then(() => {
577
600
  window.chs.sessionRecorder = null;
578
601
  display_element.innerHTML = "";
579
602
  this.jsPsych.finishTrial();
603
+ }).catch((err) => {
604
+ console.error("StopRecordPlugin: recorder stop/upload failed.", err);
580
605
  });
581
606
  }
582
607
  }
@@ -585,19 +610,50 @@ StopRecordPlugin.info = info$1;
585
610
  class TrialRecordExtension {
586
611
  constructor(jsPsych) {
587
612
  this.jsPsych = jsPsych;
613
+ this.uploadMsg = null;
614
+ this.locale = "en-us";
588
615
  autoBind(this);
589
616
  }
590
- async initialize() {
617
+ async initialize(params) {
618
+ await new Promise((resolve) => {
619
+ this.uploadMsg = params?.wait_for_upload_message ? params.wait_for_upload_message : null;
620
+ this.locale = params?.locale ? params.locale : "en-us";
621
+ console.log(this.uploadMsg);
622
+ console.log(this.locale);
623
+ resolve();
624
+ });
591
625
  }
592
- on_start() {
626
+ on_start(startParams) {
627
+ if (startParams?.wait_for_upload_message) {
628
+ this.uploadMsg = startParams.wait_for_upload_message;
629
+ }
630
+ if (startParams?.locale) {
631
+ this.locale = startParams.locale;
632
+ }
633
+ console.log(this.uploadMsg);
634
+ console.log(this.locale);
593
635
  this.recorder = new Recorder(this.jsPsych);
594
636
  }
595
637
  on_load() {
596
638
  this.pluginName = this.getCurrentPluginName();
597
639
  this.recorder?.start(false, `${this.pluginName}`);
598
640
  }
599
- on_finish() {
600
- this.recorder?.stop();
641
+ async on_finish() {
642
+ const displayEl = this.jsPsych.getDisplayElement();
643
+ if (this.uploadMsg == null) {
644
+ displayEl.innerHTML = chsTemplates.uploadingVideo({
645
+ type: this.jsPsych.getCurrentTrial().type,
646
+ locale: this.locale
647
+ });
648
+ } else {
649
+ displayEl.innerHTML = this.uploadMsg;
650
+ }
651
+ try {
652
+ await this.recorder?.stop();
653
+ displayEl.innerHTML = "";
654
+ } catch (err) {
655
+ console.error("TrialRecordExtension: recorder stop/upload failed.", err);
656
+ }
601
657
  return {};
602
658
  }
603
659
  getCurrentPluginName() {
@@ -606,7 +662,9 @@ class TrialRecordExtension {
606
662
  }
607
663
  }
608
664
  TrialRecordExtension.info = {
609
- name: "chs-trial-record-extension"
665
+ name: "chs-trial-record-extension",
666
+ version: _package.version,
667
+ data: {}
610
668
  };
611
669
 
612
670
  var img$6 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAnCAYAAAB9qAq4AAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAACigAwAEAAAAAQAAACcAAAAAC4ycfgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGV7hBwAACY5JREFUWAnFmA1wFdUVx89+v488AgkEIzGEfAAPB2mBoXxYaUHQtmhFtINAgI5AFZ1By+gM0hE7DpSxSIVBLG0dmNGK2AK2qAWZQYFgQSF8I1YghpgUSUiAvLz3dvfubv9neYvhoyCV0Dtzc3fvxzm/Pefec88L0f+heJ4noUYC1WdbGkfhfRXqEdRG1ErLsR4Nxm9oC+UqqsZKG8yGnq7rvod3vzSm671jDYfx7PrvjuM8fqPhjEBhS7p5OijOMMnn9Qe9RVtmeVP/FnfGriZ3zvuTbMezeahWCha0dQtlYUmSUqzHEuZyTdEnuyTojU+WemurZ7i2R3JYJilb60Ubzx6iLT8+Km7JKXbVtgZj+XVeXQRwyZozNTn50fx1iqIMrmmqoiXbZzr7m9fKuTophlRC2Vop7W7eQM/3WJQCXBhL17e5BWE5H+5M+kxZzIhBoVT8SdVWemn3HY7pkdJeLSFZ0igsd6bKxGYqL5xnThs8i7eCMMns1aYWzLg12WK19I9okfVQmrv+0F/dlw8+SO1UUnLUXuR6KTLkjj7cw8ULzckDnmQ4T5AYFpJCn7cZYLDnUqnmoSEt8h6URt6q/KPz6pFpcr6eLelyAQnvNEWVItqbqKDpZa+kH+r3SAjzLCHEME3TtkGG3CYuDuAS6cSIqBF9F0q1FdsXOiuPz5QLjEJJkaKAawJcKe1rqaDHypaZP+s7jS2XsMkeqkt6JcPh3bvugAFc2k6PNFSDLacs2zbXWfvlr5RbQqVEkkLCbaQstQcdANwvSl8xx/Z7hOHOWlbL7YaRtf88nCT5lBi7PiWAS9mp4QHc0opfO2trARfuATgZcA2A606HkxU0qWiBlYFLWJY1JAOngMbDqfeYis14XUoA15xqviOkhvhAKAz397rnlMJQHCod33JRtYyqUtvonptmi8nfm6ljnp20k0MNwzgAGQznBnAMdl1cDMEhCE3DRf01LbIVckN/2DbPWVM7G3B8Uk1yvASFlC7UYFVSr9hE95lhy2RDDVFapH8Y1sIfXg7uugBCsAE40zSb47qetR1C2y3fsUC8+cVTatcww6XJJZNUqR2ZbjUgS735wzY5HaK5Ku7asaqqcpJwieUYjsv5MINJbG6eyIX976CK1ubmgdaF1zBcMpks0PXwhxhrt3LnUrEScEUZOI9suEn16xmRpDmD37IAZwhXzNZUjeF4m13g1tY6OLPgCSoUWa0H+BljQeZhY1y0HseYxmsaGxuzQ6HQZozlvb33NfHq0cfU4nDcdyvDebhvw3IhfZbcQXP6bjCL83oYjuus1BRtXiAPcvwDEby3bhnMRYeVsJr6qBQeCFrNdq3j/245uRtjNRjzwQDEQdRBH6cZSqaVXc/dhOfijZ++LZYcnqh2w2l1PQtgXF0KyTdTdXoHjS9aYH+/bCSHk4OKrExAywaQsZb1/9fiu1g4YhkWTQtmaWRQiRE7CwG7TDv5l6+SR9+EoCYeRx9f4iY/C8f6h6roff959APx2/2jlaJQCSY4AONhGW6JUbPYRfGsUe64fo9xDiiwWe+HxTnhY+Nc4BWWeXGRsFGfkWV5bu3paqo4th5f71BeVgGVdb6VCttD4bly0nbsVSlxenF2KO8Id1nCWgE3Tdpfu8uZ9VF/OU/v4t8QrpfEKG9lhzQpl+rMvfS7H3xql3TqqUHGz3VVXwE43h42y7la4dS7yqJ00Yx1g8Sx1B4FOZknsCM4N4vHxktDCkbT4NLhFNPbsywb9+RSJJOOoYV/Wd1wxHtqSxnmhiVD7uqHEracB7iQnE9HUzvp8fgb1j29H9JdclcpkjIW+njPnw/E3wRQVDd87v1oQ3d1ePbtlHJqoUD4ytJuk9eMs3yT3pWGd3laGhEfTZ2i+b7MU4mT9MymEV7C2SdFlV6Y34z+c2FVkSKUEIepJDrOff6uPzNQfVNTU1lOTg5n0Ffdd62h2YIV6Biybv/K1MJD48K9IgPJwnV07li5vjVsxK8mQV4Unru3cIk0uGgkvb73BW9X05+kPL23n5UEcIgYvmtr4dqXMq7FNfYAborV0PWNXRtAMmA3vHCAzXv/0Fpz/v77jZ6R/giqX6ELfj4fKmFX7wRAkwh+hByOpLBcBpw05p2zHDxHmpxLNek9NKF4qf1Qv0c1j7zVsiQ/AD188jm2XlPxJWPxzVi1DbUI4cL8zb7RRjwygFJuLVTzhvcyoOwtF+5sIU6ZOIzwWFB4LiegmtzRe/Guj6QsI5ZKUaosIkVqoeOaXBvIlDNfVpegxAB0fjEifp/xRPx167Pkx9j8BVDPh403PnyM2MZFQfi4GI7fNbkD1ZgnqDz+ogAckgPxXAaOXXvFeOcLvswf/iqHIWNSrB5X1hDMOXnvbeP18V0XiCoE2JDcJQPJxpbwzHGOQb+2HMvlg3HGrqRBHSY4t5eN5Jj3L4ShF3gM5arx7ty0S/+yzygDqUaj0TrLSgxDlz154JPqoA5T3QZrp7/p2bVfl2DPBT0ugnKUTgHjwVtn+OT4z8AsHsXHc0C+8GuCZd+g9QF5HoQIFmYYsYOOY46R4NbpA+fi5HYi22uE7fiWunxhl5+ydtOdnWY4vbv059upAgnrGshjD/3P1mNt5wH5JYBU1dA67J/nc7M6KU/0e8eqNWuxv7Lh1NZW5BVc8IubdOJ4+dP4w34Pcrxn/YeL5Gf6rqm5ADCz0g8F2D/PwgJb+9wyQC/vtlgcT1citHTClAshFSmLTtl76c7OM0X3m3rzkd+IBPQDrOWw8q2sxzyXAEIoZPsJJOFiL8cc84HvTlFLIkO9pLMXCzipCQqsJxm+9X7SvdzfmEKk5waj16O9BJCFApJPthYOh6tt134ipIZpap8F4oSFwyAHIQZfh5N72t5Dd3R8RPTM78PW+1DTwpux1o8ObQaYgeS8T9YV/fdoN/cu6K+NKZgr6tK7SZdyMIVPbgTuJbq7dKLPYjrmixmoy354ZuyamqsJ8t1m2/Z0ljrmtilqTOVsJwFXc0Kwm77TbpTTt3AQn9x9+DX3Dj4GDvj2ey/4iisCBq7GRX/IdcX83Kw8mtRjjahOH6OImk8nEK/v7jbFPzXYCi9nhLKrb1xhi7C2qqqqEJ5rUL2n37vPKV9DXvla3T2bPs1dX9XX18d4Hp4vjuLc3bYFSvnqIlOY45nmwJe70rScvNc+Xpzid2TKi3gcj/48fr7hBcr97YB2C6p3/NQxvnmCUsZAeLnilmlT6EA52jzUd1Et1KOeJ0Zl4Npk7/0HL4Dtx/60f2MAAAAASUVORK5CYII=";