diff --git a/frontend/app/components/elem/icon-toggle.js b/frontend/app/components/elem/icon-toggle.js
index 0291127f..48377e5d 100644
--- a/frontend/app/components/elem/icon-toggle.js
+++ b/frontend/app/components/elem/icon-toggle.js
@@ -15,13 +15,23 @@ import IconBase from './icon-base';
* e.g. {{#elem/icon-toggle state=userSettings.genotype.hideControls }}
* @param iconTrue name of icon to show when value is true
* @param iconFalse name of icon to show when value is false
+* @param changed optional. action to signal when state changes.
+* Called as changed(state).
+* example usage : entry-tab.hbs : {{#elem/icon-toggle ... changed=(action this.allActiveChanged)
*/
export default IconBase.extend({
click(event) {
// console.log('click', event, this.get('state'));
this.toggleProperty('state');
- this.sendAction('changed', this.get('state'));
+ /** optional action to signal change of state
+ * The param will be in .attrs until this is changed to a Glimmer
+ * component, then it will be in .args
+ */
+ const changed = this.attrs?.changed || this.args?.changed;
+ if (changed) {
+ changed(this.get('state'));
+ }
},
/** name is used by icon-base to construct the icon name.
diff --git a/frontend/app/components/elem/input-range-text.hbs b/frontend/app/components/elem/input-range-text.hbs
index 81596c8d..4ba8353f 100644
--- a/frontend/app/components/elem/input-range-text.hbs
+++ b/frontend/app/components/elem/input-range-text.hbs
@@ -5,11 +5,11 @@
{{yield}}
{{#unless @disabled}}
- {{input
+
{{/unless}}
diff --git a/frontend/app/components/elem/input-range-text.js b/frontend/app/components/elem/input-range-text.js
index ac9ae999..6e48c17a 100644
--- a/frontend/app/components/elem/input-range-text.js
+++ b/frontend/app/components/elem/input-range-text.js
@@ -94,7 +94,7 @@ export default class ElemInputRangeTextComponent extends Component {
@action
valueTextChanged(value) {
/* {{input value=valueText ... }} sets
- * this.valueText, and (action ... value=target.value)
+ * this.valueText, and (action ... value="target.value")
* passes the same value to this function.
* this.valueText is already set by value=this.valueText in hbs
*/
diff --git a/frontend/app/components/matrix-view.js b/frontend/app/components/matrix-view.js
index d177b861..865af530 100644
--- a/frontend/app/components/matrix-view.js
+++ b/frontend/app/components/matrix-view.js
@@ -631,8 +631,10 @@ export default Component.extend({
const
fnName = 'afterScrollVertically_tablePosition',
table = this.table,
- /** refn : https://github.com/handsontable/handsontable/issues/2429#issuecomment-406616217 */
- wtScroll = table.view.wt.wtScroll,
+ /** refn : https://github.com/handsontable/handsontable/issues/2429#issuecomment-406616217
+ * This was table.view.wt.wtScroll in earlier version. not a public API.
+ */
+ wtScroll = table.view._wt._wot.wtScroll,
/** When called from event afterScrollVertically,
* .get{First,Last}VisibleRow() are defined; they may be -1 otherwise, e.g.
* table is empty / not initialised or no scroll yet.
diff --git a/frontend/app/components/panel/dataset-intersection-dialog.hbs b/frontend/app/components/panel/dataset-intersection-dialog.hbs
index 5e9f614f..522b34e2 100644
--- a/frontend/app/components/panel/dataset-intersection-dialog.hbs
+++ b/frontend/app/components/panel/dataset-intersection-dialog.hbs
@@ -30,11 +30,11 @@
- {{#each axisBrush.brushedAxes as |block| }}
+ {{#each this.axisBrush.brushedAxes as |block| }}
@@ -126,7 +126,7 @@
{{block.axis.axis1d.referenceBlock.datasetId.id}}
{{block.block.scope}}
-
{{brushedDomainRounded}}
+
{{this.brushedDomainRounded}}
{{blockId}}
{{zoomCounter}}
@@ -139,7 +139,7 @@
-
{{referenceDatasetName}}
+
{{this.referenceDatasetName}}
- {{input id="sampleNameFilter" type="search" value=sampleNameFilter
- input=(action this.nameFilterChanged value="target.value")
- placeholder="Filter available samples by name" }}
+
{{!-- maybe autocomplete="sample-name", but samples names are mostly numeric so it may be more of an impediment than a benefit for the user --}}
@@ -214,7 +214,7 @@