@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/README.md +125 -6
- package/dist/index.browser.js +70 -12
- package/dist/index.browser.js.map +1 -1
- package/dist/index.browser.min.js +16 -16
- package/dist/index.browser.min.js.map +1 -1
- package/dist/index.cjs +69 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +104 -9
- package/dist/index.js +69 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/consentVideo.spec.ts +0 -1
- package/src/consentVideo.ts +5 -1
- package/src/index.spec.ts +387 -12
- package/src/recorder.spec.ts +50 -6
- package/src/recorder.ts +9 -1
- package/src/start.ts +7 -1
- package/src/stop.ts +41 -7
- package/src/trial.ts +97 -11
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.
|
|
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 = {
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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=";
|