From a4267f52dbbc048b7028d16fd923e06439e4587c Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 22 Oct 2020 00:11:20 +0100 Subject: [PATCH] [webcam] Add show image timeout and hide button options --- node-red-node-ui-webcam/package.json | 2 +- node-red-node-ui-webcam/ui_webcam.html | 76 ++++++++++++++++++++++++-- node-red-node-ui-webcam/ui_webcam.js | 48 ++++++++++++++-- 3 files changed, 114 insertions(+), 12 deletions(-) diff --git a/node-red-node-ui-webcam/package.json b/node-red-node-ui-webcam/package.json index 7c7104d..90db2f0 100644 --- a/node-red-node-ui-webcam/package.json +++ b/node-red-node-ui-webcam/package.json @@ -1,6 +1,6 @@ { "name": "node-red-node-ui-webcam", - "version": "0.1.1", + "version": "0.2.0", "description": "A Node-RED ui node to capture images from a webcam.", "author": "Nick O'Leary", "license": "Apache-2.0", diff --git a/node-red-node-ui-webcam/ui_webcam.html b/node-red-node-ui-webcam/ui_webcam.html index d53c911..324ee8b 100644 --- a/node-red-node-ui-webcam/ui_webcam.html +++ b/node-red-node-ui-webcam/ui_webcam.html @@ -33,6 +33,8 @@ name: {value: ''}, countdown: { value: false }, autoStart: { value: false }, + hideCaptureButton: { value: false }, + showImage: { value: 2 }, format: { value:"png" } }, inputs:1, @@ -51,17 +53,60 @@ height: "#node-input-height", group: "#node-input-group" }); + + var showImage = this.showImage === undefined ? 2 : this.showImage; + if (showImage === 0) { + // Show image without clearing + $("#node-input-showImage-enable").attr("checked",true) + $("#node-input-showImage-timeout").attr("checked",false) + $("#node-input-showImage-time").val("2") + } else if (showImage === -1) { + // Don't show image + $("#node-input-showImage-enable").attr("checked",false) + $("#node-input-showImage-timeout").attr("checked",false) + $("#node-input-showImage-time").val("2") + } else { + // Show image with clear + $("#node-input-showImage-enable").attr("checked",true) + $("#node-input-showImage-timeout").attr("checked",true) + $("#node-input-showImage-time").val(showImage) + } + + $("#node-input-showImage-enable").on("change", function() { + $("#node-input-showImage-timeout").attr("disabled",!this.checked) + if (!this.checked) { + $(".node-row-ui-webcam-showImage-timeout").css("opacity",0.6); + $("#node-input-showImage-time").attr("disabled",true) + } else { + $("#node-input-showImage-time").attr("disabled",!$("#node-input-showImage-timeout")[0].checked) + $(".node-row-ui-webcam-showImage-timeout").css("opacity",1); + } + }) + $("#node-input-showImage-timeout").on("change", function() { + $("#node-input-showImage-time").attr("disabled",!this.checked) + }) + + $("#node-input-showImage-enable").trigger("change"); + }, oneditsave: function() { - // var ts = $("#node-input-select-timeslice").val(); - // if (ts === 'once') { - // $("#node-input-timeslice").val("") - // } + var showImageEnable = $("#node-input-showImage-enable")[0].checked; + var showImageTimeout = $("#node-input-showImage-timeout")[0].checked; + var showImageTime = $("#node-input-showImage-time").val(); + + if (!showImageEnable) { + this.showImage = -1; + } else if (!showImageTimeout) { + this.showImage = 0; + } else { + this.showImage = showImageTime; + } + } }); - -