From 728284ab6120ce5d80d0a34a2a0bba550d23f5c7 Mon Sep 17 00:00:00 2001 From: Neil Fraser Date: Fri, 14 Oct 2016 08:57:39 -0700 Subject: [PATCH] Disable options in readonly mode. (Block Factory) --- demos/blockfactory/app_controller.js | 21 ++++----- demos/blockfactory/factory.css | 7 +-- demos/blockfactory/index.html | 44 ++++++++++++------- .../workspacefactory/wfactory_init.js | 7 +-- 4 files changed, 47 insertions(+), 32 deletions(-) diff --git a/demos/blockfactory/app_controller.js b/demos/blockfactory/app_controller.js index 5598ce62a..b556b4f8d 100644 --- a/demos/blockfactory/app_controller.js +++ b/demos/blockfactory/app_controller.js @@ -414,7 +414,8 @@ AppController.prototype.assignExporterChangeListeners = function() { // Checking the block definitions checkbox displays preview of code to export. document.getElementById('blockDefCheck').addEventListener('change', function(e) { - self.ifCheckedDisplay(blockDefCheck, ['blockDefs', 'blockDefSettings']); + self.ifCheckedEnable(blockDefCheck.checked, + ['blockDefs', 'blockDefSettings']); }); // Preview updates when user selects different block definition format. @@ -426,7 +427,8 @@ AppController.prototype.assignExporterChangeListeners = function() { // Checking the generator stub checkbox displays preview of code to export. document.getElementById('genStubCheck').addEventListener('change', function(e) { - self.ifCheckedDisplay(genStubCheck, ['genStubs', 'genStubSettings']); + self.ifCheckedEnable(genStubCheck.checked, + ['genStubs', 'genStubSettings']); }); // Preview updates when user selects different generator stub language. @@ -437,24 +439,23 @@ AppController.prototype.assignExporterChangeListeners = function() { }; /** - * If given checkbox is checked, display given elements. Otherwise, hide. - * @param {!Element} checkbox Input element of type checkbox. - * @param {!Array.} idArray Array of element IDs to show when - * block is checked. + * If given checkbox is checked, enable the given elements. Otherwise, disable. + * @param {boolean} enabled True if enabled, false otherwise. + * @param {!Array.} idArray Array of element IDs to enable when + * checkbox is checked. */ -AppController.prototype.ifCheckedDisplay = function(checkbox, idArray) { +AppController.prototype.ifCheckedEnable = function(enabled, idArray) { for (var i = 0, id; id = idArray[i]; i++) { var element = document.getElementById(id); - if (checkbox.checked) { + if (enabled) { element.classList.remove('disabled'); } else { element.classList.add('disabled'); } var fields = element.querySelectorAll('input, textarea, select'); for (var j = 0, field; field = fields[j]; j++) { - field.disabled = !checkbox.checked; + field.disabled = !enabled; } - //element.style.display = checkbox.checked ? 'block' : 'none'; } }; diff --git a/demos/blockfactory/factory.css b/demos/blockfactory/factory.css index ce8ebe319..fa99314bb 100644 --- a/demos/blockfactory/factory.css +++ b/demos/blockfactory/factory.css @@ -466,12 +466,13 @@ td.taboff:hover { #preload_div { display: table; - height: 70%; - margin-right: 5%; + height: 75%; + margin-left: 2%; + margin-right: 2%; max-height: 500px; overflow: hidden; overflow-y: scroll; - width: 35%; + width: 30%; } #shadowBlockDropdown { diff --git a/demos/blockfactory/index.html b/demos/blockfactory/index.html index 66a8fd7c1..b76151b74 100644 --- a/demos/blockfactory/index.html +++ b/demos/blockfactory/index.html @@ -226,10 +226,16 @@

-
-
+
+
+
+
+
+

-
+
+
+

-
-