sf-i-events 1.0.754 → 1.0.755

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sf-i-events",
3
3
  "private": false,
4
- "version": "1.0.754",
4
+ "version": "1.0.755",
5
5
  "description": "Superflows Navigation Component",
6
6
  "main": "sf-i-events.js",
7
7
  "module": "sf-i-events.js",
package/sf-i-events.js CHANGED
@@ -2140,12 +2140,14 @@ let SfIEvents = class SfIEvents extends LitElement {
2140
2140
  html += '<div class="align-center d-flex flex-wrap align-start justify-between mb-10 w-100-m-0" part="duration-title-container"><h4 part="duration-title" class="m-0">' + parametersTitle + '</h4>';
2141
2141
  if (this.getFeatures().length > 1) {
2142
2142
  html += '<div class="filter-button-container"><button part="button-icon" id="filter-button" class="material-icons">filter_list</button>';
2143
- html += '<div id="filter-list-container" class="filter-list-container hide flex-col justify-center align-start p-10" part="filter-list-container" anchor="filter-button">';
2144
- html += `<div class="filter-input-container d-flex"><input class="input-select-feature-all" type="checkbox" ${this.selectedFeatures.length >= (this.getFeatures().length) ? 'checked' : ''} id="input-select-feature-all" part="input-select-feature" name="all"></input><label for="input-select-feature-all" class="input-select-feature-label" part="input-select-feature-label">all</label></div>`;
2143
+ html += '<div id="filter-list-container" class="filter-list-container hide flex-col justify-between align-start p-10" part="filter-list-container" anchor="filter-button">';
2144
+ html += '<div id="filter-label-container" class="filter-label-container d-flex justify-center align-center" part="filter-label-container"><button part="button-icon-small" class="material-icons button-expand mr-10 invisible">check</button><label class="filter-label" part="filter-label">Filters</label><button id="button-submit-features" part="button-icon-small" class="material-icons button-expand invisible ml-10">check</button></div>';
2145
+ html += `<div class="filter-input-container d-flex"><input class="input-select-feature-all" type="checkbox" ${this.selectedFeatures.length >= (this.getFeatures().length) ? 'checked' : ''} id="input-select-feature-all" part="input-select-feature" name="all"></input><label for="input-select-feature-all" class="input-select-feature-label-all" id="input-select-feature-label-all"
2146
+ part="input-select-feature-label">all</label></div>`;
2145
2147
  // html += `<div class="filter-input-container d-flex"><input class="input-select-feature-compliances" type="checkbox" ${this.selectedFeatures.indexOf('compliances') >= 0 ? 'checked' : ''} id="input-select-feature-compliances" part="input-select-feature" name="compliances"></input><label for="input-select-feature-compliances" class="input-select-feature-label" part="input-select-feature-label">compliances</label></div>`
2146
2148
  for (let [index, feature] of this.getFeatures().entries()) {
2147
2149
  console.log('rendering features', feature, this.selectedFeatures);
2148
- html += `<div class="filter-input-container d-flex"><input class="input-select-feature" type="checkbox" ${this.selectedFeatures.indexOf(feature) >= 0 ? 'checked' : ''} id="input-select-feature-${index}" part="input-select-feature" name="${feature}"></input><label for="input-select-feature-${index}" class="input-select-feature-label" part="input-select-feature-label">${feature}</label></div>`;
2150
+ html += `<div class="filter-input-container d-flex"><input class="input-select-feature" type="checkbox" ${this.selectedFeatures.indexOf(feature) >= 0 ? 'checked' : ''} id="input-select-feature-${index}" part="input-select-feature" name="${feature}"></input><label for="input-select-feature-${index}" id="input-select-feature-label-${index}" class="input-select-feature-label" part="input-select-feature-label">${feature}</label></div>`;
2149
2151
  }
2150
2152
  html += '</div></div>';
2151
2153
  }
@@ -3675,8 +3677,40 @@ let SfIEvents = class SfIEvents extends LitElement {
3675
3677
  filterButton === null || filterButton === void 0 ? void 0 : filterButton.addEventListener('click', () => {
3676
3678
  const filterList = eventsContainer.querySelector('#filter-list-container');
3677
3679
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none');
3680
+ const filterSubmitButton = filterList.querySelector('#button-submit-features');
3681
+ filterSubmitButton.addEventListener('click', () => {
3682
+ this.processDateSelection(eventsContainer);
3683
+ });
3684
+ const selectFeatureAll = filterList.querySelector('.input-select-feature-all');
3685
+ selectFeatureAll.addEventListener('click', async (ev) => {
3686
+ let target = ev.target;
3687
+ if (target.checked) {
3688
+ for (let feature of this.getFeatures()) {
3689
+ if (this.selectedFeatures.indexOf(feature) < 0) {
3690
+ this.selectedFeatures.push(feature);
3691
+ }
3692
+ }
3693
+ }
3694
+ else {
3695
+ this.selectedFeatures = [];
3696
+ }
3697
+ const selectFeatures = filterList.querySelectorAll('.input-select-feature');
3698
+ for (let selectFeature of selectFeatures) {
3699
+ let id = selectFeature.id;
3700
+ let i = id.split('-')[3];
3701
+ let selectedFeature = this.getFeatures()[parseInt(i)];
3702
+ selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0;
3703
+ }
3704
+ filterSubmitButton.style.visibility = 'visible';
3705
+ });
3706
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all');
3707
+ selectFeatureAllLabel.addEventListener('click', () => {
3708
+ selectFeatureAll.checked = !selectFeatureAll.checked;
3709
+ selectFeatureAll.click();
3710
+ });
3678
3711
  const selectFeatures = filterList.querySelectorAll('.input-select-feature');
3679
- for (let selectFeature of selectFeatures) {
3712
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label');
3713
+ for (let [i, selectFeature] of selectFeatures.entries()) {
3680
3714
  selectFeature.addEventListener('click', (ev) => {
3681
3715
  let target = ev.target;
3682
3716
  let id = target.id;
@@ -3692,29 +3726,14 @@ let SfIEvents = class SfIEvents extends LitElement {
3692
3726
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature), 1);
3693
3727
  }
3694
3728
  }
3695
- this.processDateSelection(eventsContainer);
3729
+ filterSubmitButton.style.visibility = 'visible';
3730
+ });
3731
+ selectFeatureLabels[i].addEventListener('click', () => {
3732
+ selectFeature.checked = !selectFeature.checked;
3733
+ selectFeature.click();
3696
3734
  });
3697
3735
  }
3698
3736
  });
3699
- // const selectFeatures = eventsContainer.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
3700
- // for(let selectFeature of selectFeatures){
3701
- // selectFeature.addEventListener('click',(ev: any) => {
3702
- // let target = ev.target;
3703
- // let id = target.id;
3704
- // let index = id.split('-')[3];
3705
- // let selectedFeature = this.getFeatures()[index]
3706
- // if(target.checked){
3707
- // if(this.selectedFeatures.indexOf(selectedFeature) < 0){
3708
- // this.selectedFeatures.push(selectedFeature)
3709
- // }
3710
- // }else{
3711
- // if(this.selectedFeatures.indexOf(selectedFeature) >= 0){
3712
- // this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
3713
- // }
3714
- // }
3715
- // this.processDateSelection(eventsContainer)
3716
- // })
3717
- // }
3718
3737
  const radioExpander = eventsContainer.querySelector('#graph-radios-expander');
3719
3738
  radioExpander === null || radioExpander === void 0 ? void 0 : radioExpander.addEventListener('click', (e) => {
3720
3739
  const button = e.currentTarget;
@@ -6717,6 +6736,18 @@ let SfIEvents = class SfIEvents extends LitElement {
6717
6736
  filterButton === null || filterButton === void 0 ? void 0 : filterButton.addEventListener('click', () => {
6718
6737
  const filterList = this._SfThisContainer.querySelector('#filter-list-container');
6719
6738
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none');
6739
+ const filterSubmitButton = filterList.querySelector('#button-submit-features');
6740
+ filterSubmitButton.addEventListener('click', async () => {
6741
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
6742
+ console.log('dateresult', dateResult, index);
6743
+ console.log('selectedfeatures', this.selectedFeatures);
6744
+ this.currentColumnIndex = index + "";
6745
+ if (dateResult != null) {
6746
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
6747
+ }
6748
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
6749
+ this.renderStream(index);
6750
+ });
6720
6751
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all');
6721
6752
  selectFeatureAll.addEventListener('click', async (ev) => {
6722
6753
  let target = ev.target;
@@ -6737,18 +6768,16 @@ let SfIEvents = class SfIEvents extends LitElement {
6737
6768
  let selectedFeature = this.getFeatures()[parseInt(i)];
6738
6769
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0;
6739
6770
  }
6740
- const dateResult = this.calculateStartAndEndDateOfStream(index);
6741
- console.log('dateresult', dateResult, index);
6742
- console.log('selectedfeatures', this.selectedFeatures);
6743
- this.currentColumnIndex = index + "";
6744
- if (dateResult != null) {
6745
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
6746
- }
6747
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
6748
- this.renderStream(index);
6771
+ filterSubmitButton.style.visibility = 'visible';
6772
+ });
6773
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all');
6774
+ selectFeatureAllLabel.addEventListener('click', () => {
6775
+ selectFeatureAll.checked = !selectFeatureAll.checked;
6776
+ selectFeatureAll.click();
6749
6777
  });
6750
6778
  const selectFeatures = filterList.querySelectorAll('.input-select-feature');
6751
- for (let selectFeature of selectFeatures) {
6779
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label');
6780
+ for (let [i, selectFeature] of selectFeatures.entries()) {
6752
6781
  selectFeature.addEventListener('click', async (ev) => {
6753
6782
  let target = ev.target;
6754
6783
  let id = target.id;
@@ -6764,13 +6793,11 @@ let SfIEvents = class SfIEvents extends LitElement {
6764
6793
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature), 1);
6765
6794
  }
6766
6795
  }
6767
- const dateResult = this.calculateStartAndEndDateOfStream(index);
6768
- this.currentColumnIndex = index + "";
6769
- if (dateResult != null) {
6770
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
6771
- }
6772
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
6773
- this.renderStream(index);
6796
+ filterSubmitButton.style.visibility = 'visible';
6797
+ });
6798
+ selectFeatureLabels[i].addEventListener('click', () => {
6799
+ selectFeature.checked = !selectFeature.checked;
6800
+ selectFeature.click();
6774
6801
  });
6775
6802
  }
6776
6803
  });
@@ -7122,6 +7149,20 @@ let SfIEvents = class SfIEvents extends LitElement {
7122
7149
  filterButton === null || filterButton === void 0 ? void 0 : filterButton.addEventListener('click', () => {
7123
7150
  const filterList = this._SfStreamContainer.querySelector('#filter-list-container');
7124
7151
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none');
7152
+ const filterSubmitButton = filterList.querySelector('#button-submit-features');
7153
+ filterSubmitButton.addEventListener('click', async () => {
7154
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
7155
+ const monthResult = this.calculateMonthFromIndex(index);
7156
+ console.log('monthResult', monthResult);
7157
+ console.log('dateresult', dateResult, index);
7158
+ console.log('selectedfeatures', this.selectedFeatures);
7159
+ this.currentColumnIndex = index + "";
7160
+ if (dateResult != null) {
7161
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate, "", "no", ("0" + monthResult).slice(-2));
7162
+ }
7163
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
7164
+ this.renderStream(index);
7165
+ });
7125
7166
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all');
7126
7167
  selectFeatureAll.addEventListener('click', async (ev) => {
7127
7168
  let target = ev.target;
@@ -7142,20 +7183,16 @@ let SfIEvents = class SfIEvents extends LitElement {
7142
7183
  let selectedFeature = this.getFeatures()[parseInt(i)];
7143
7184
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0;
7144
7185
  }
7145
- const dateResult = this.calculateStartAndEndDateOfStream(index);
7146
- const monthResult = this.calculateMonthFromIndex(index);
7147
- console.log('monthResult', monthResult);
7148
- console.log('dateresult', dateResult, index);
7149
- console.log('selectedfeatures', this.selectedFeatures);
7150
- this.currentColumnIndex = index + "";
7151
- if (dateResult != null) {
7152
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate, "", "no", ("0" + monthResult).slice(-2));
7153
- }
7154
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
7155
- this.renderStream(index);
7186
+ filterSubmitButton.style.visibility = 'visible';
7187
+ });
7188
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all');
7189
+ selectFeatureAllLabel.addEventListener('click', () => {
7190
+ selectFeatureAll.checked = !selectFeatureAll.checked;
7191
+ selectFeatureAll.click();
7156
7192
  });
7157
7193
  const selectFeatures = filterList.querySelectorAll('.input-select-feature');
7158
- for (let selectFeature of selectFeatures) {
7194
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label');
7195
+ for (let [i, selectFeature] of selectFeatures.entries()) {
7159
7196
  selectFeature.addEventListener('click', async (ev) => {
7160
7197
  let target = ev.target;
7161
7198
  let id = target.id;
@@ -7171,15 +7208,11 @@ let SfIEvents = class SfIEvents extends LitElement {
7171
7208
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature), 1);
7172
7209
  }
7173
7210
  }
7174
- const dateResult = this.calculateStartAndEndDateOfStream(index);
7175
- const monthResult = this.calculateMonthFromIndex(index);
7176
- this.currentColumnIndex = index + "";
7177
- console.log('rendering feature', monthResult, dateResult);
7178
- if (dateResult != null) {
7179
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate, "", "no", ("0" + monthResult).slice(-2));
7180
- }
7181
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
7182
- this.renderStream(index);
7211
+ filterSubmitButton.style.visibility = 'visible';
7212
+ });
7213
+ selectFeatureLabels[i].addEventListener('click', () => {
7214
+ selectFeature.checked = !selectFeature.checked;
7215
+ selectFeature.click();
7183
7216
  });
7184
7217
  }
7185
7218
  });
@@ -4234,12 +4234,14 @@ export class SfIEvents extends LitElement {
4234
4234
  html += '<div class="align-center d-flex flex-wrap align-start justify-between mb-10 w-100-m-0" part="duration-title-container"><h4 part="duration-title" class="m-0">' + parametersTitle + '</h4>'
4235
4235
  if(this.getFeatures().length > 1){
4236
4236
  html += '<div class="filter-button-container"><button part="button-icon" id="filter-button" class="material-icons">filter_list</button>'
4237
- html += '<div id="filter-list-container" class="filter-list-container hide flex-col justify-center align-start p-10" part="filter-list-container" anchor="filter-button">'
4238
- html += `<div class="filter-input-container d-flex"><input class="input-select-feature-all" type="checkbox" ${this.selectedFeatures.length >= (this.getFeatures().length) ? 'checked' : ''} id="input-select-feature-all" part="input-select-feature" name="all"></input><label for="input-select-feature-all" class="input-select-feature-label" part="input-select-feature-label">all</label></div>`
4237
+ html += '<div id="filter-list-container" class="filter-list-container hide flex-col justify-between align-start p-10" part="filter-list-container" anchor="filter-button">'
4238
+ html += '<div id="filter-label-container" class="filter-label-container d-flex justify-center align-center" part="filter-label-container"><button part="button-icon-small" class="material-icons button-expand mr-10 invisible">check</button><label class="filter-label" part="filter-label">Filters</label><button id="button-submit-features" part="button-icon-small" class="material-icons button-expand invisible ml-10">check</button></div>'
4239
+ html += `<div class="filter-input-container d-flex"><input class="input-select-feature-all" type="checkbox" ${this.selectedFeatures.length >= (this.getFeatures().length) ? 'checked' : ''} id="input-select-feature-all" part="input-select-feature" name="all"></input><label for="input-select-feature-all" class="input-select-feature-label-all" id="input-select-feature-label-all"
4240
+ part="input-select-feature-label">all</label></div>`
4239
4241
  // html += `<div class="filter-input-container d-flex"><input class="input-select-feature-compliances" type="checkbox" ${this.selectedFeatures.indexOf('compliances') >= 0 ? 'checked' : ''} id="input-select-feature-compliances" part="input-select-feature" name="compliances"></input><label for="input-select-feature-compliances" class="input-select-feature-label" part="input-select-feature-label">compliances</label></div>`
4240
4242
  for(let [index,feature] of this.getFeatures().entries()){
4241
4243
  console.log('rendering features', feature, this.selectedFeatures);
4242
- html += `<div class="filter-input-container d-flex"><input class="input-select-feature" type="checkbox" ${this.selectedFeatures.indexOf(feature) >= 0 ? 'checked' : ''} id="input-select-feature-${index}" part="input-select-feature" name="${feature}"></input><label for="input-select-feature-${index}" class="input-select-feature-label" part="input-select-feature-label">${feature}</label></div>`
4244
+ html += `<div class="filter-input-container d-flex"><input class="input-select-feature" type="checkbox" ${this.selectedFeatures.indexOf(feature) >= 0 ? 'checked' : ''} id="input-select-feature-${index}" part="input-select-feature" name="${feature}"></input><label for="input-select-feature-${index}" id="input-select-feature-label-${index}" class="input-select-feature-label" part="input-select-feature-label">${feature}</label></div>`
4243
4245
  }
4244
4246
  html += '</div></div>'
4245
4247
  }
@@ -6064,8 +6066,39 @@ export class SfIEvents extends LitElement {
6064
6066
  filterButton?.addEventListener('click',() => {
6065
6067
  const filterList = eventsContainer.querySelector('#filter-list-container') as HTMLDivElement
6066
6068
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none')
6069
+ const filterSubmitButton = filterList.querySelector('#button-submit-features') as HTMLButtonElement
6070
+ filterSubmitButton.addEventListener('click',() => {
6071
+ this.processDateSelection(eventsContainer);
6072
+ })
6073
+ const selectFeatureAll = filterList.querySelector('.input-select-feature-all') as HTMLInputElement
6074
+ selectFeatureAll.addEventListener('click',async(ev: any) => {
6075
+ let target = ev.target;
6076
+ if(target.checked){
6077
+ for(let feature of this.getFeatures()){
6078
+ if(this.selectedFeatures.indexOf(feature) < 0){
6079
+ this.selectedFeatures.push(feature);
6080
+ }
6081
+ }
6082
+ }else{
6083
+ this.selectedFeatures = []
6084
+ }
6085
+ const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
6086
+ for(let selectFeature of selectFeatures){
6087
+ let id = selectFeature.id;
6088
+ let i = id.split('-')[3];
6089
+ let selectedFeature = this.getFeatures()[parseInt(i)]
6090
+ selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0
6091
+ }
6092
+ filterSubmitButton.style.visibility = 'visible'
6093
+ })
6094
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all') as HTMLLabelElement
6095
+ selectFeatureAllLabel.addEventListener('click',()=>{
6096
+ selectFeatureAll.checked = !selectFeatureAll.checked
6097
+ selectFeatureAll.click();
6098
+ })
6067
6099
  const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
6068
- for(let selectFeature of selectFeatures){
6100
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label') as NodeListOf<HTMLLabelElement>
6101
+ for(let [i,selectFeature] of selectFeatures.entries()){
6069
6102
  selectFeature.addEventListener('click',(ev: any) => {
6070
6103
  let target = ev.target;
6071
6104
  let id = target.id;
@@ -6080,29 +6113,14 @@ export class SfIEvents extends LitElement {
6080
6113
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
6081
6114
  }
6082
6115
  }
6083
- this.processDateSelection(eventsContainer)
6116
+ filterSubmitButton.style.visibility = 'visible'
6117
+ })
6118
+ selectFeatureLabels[i].addEventListener('click',() => {
6119
+ selectFeature.checked = !selectFeature.checked
6120
+ selectFeature.click();
6084
6121
  })
6085
6122
  }
6086
6123
  })
6087
- // const selectFeatures = eventsContainer.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
6088
- // for(let selectFeature of selectFeatures){
6089
- // selectFeature.addEventListener('click',(ev: any) => {
6090
- // let target = ev.target;
6091
- // let id = target.id;
6092
- // let index = id.split('-')[3];
6093
- // let selectedFeature = this.getFeatures()[index]
6094
- // if(target.checked){
6095
- // if(this.selectedFeatures.indexOf(selectedFeature) < 0){
6096
- // this.selectedFeatures.push(selectedFeature)
6097
- // }
6098
- // }else{
6099
- // if(this.selectedFeatures.indexOf(selectedFeature) >= 0){
6100
- // this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
6101
- // }
6102
- // }
6103
- // this.processDateSelection(eventsContainer)
6104
- // })
6105
- // }
6106
6124
  const radioExpander = eventsContainer.querySelector('#graph-radios-expander') as HTMLButtonElement;
6107
6125
  radioExpander?.addEventListener('click', (e: any) => {
6108
6126
 
@@ -9766,6 +9784,18 @@ export class SfIEvents extends LitElement {
9766
9784
  filterButton?.addEventListener('click',() => {
9767
9785
  const filterList = (this._SfThisContainer as HTMLDivElement).querySelector('#filter-list-container') as HTMLDivElement
9768
9786
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none')
9787
+ const filterSubmitButton = filterList.querySelector('#button-submit-features') as HTMLButtonElement
9788
+ filterSubmitButton.addEventListener('click',async() => {
9789
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
9790
+ console.log('dateresult', dateResult, index);
9791
+ console.log('selectedfeatures', this.selectedFeatures);
9792
+ this.currentColumnIndex = index + "";
9793
+ if(dateResult != null) {
9794
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
9795
+ }
9796
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
9797
+ this.renderStream(index);
9798
+ })
9769
9799
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all') as HTMLInputElement
9770
9800
  selectFeatureAll.addEventListener('click',async(ev: any) => {
9771
9801
  let target = ev.target;
@@ -9785,18 +9815,16 @@ export class SfIEvents extends LitElement {
9785
9815
  let selectedFeature = this.getFeatures()[parseInt(i)]
9786
9816
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0
9787
9817
  }
9788
- const dateResult = this.calculateStartAndEndDateOfStream(index);
9789
- console.log('dateresult', dateResult, index);
9790
- console.log('selectedfeatures', this.selectedFeatures);
9791
- this.currentColumnIndex = index + "";
9792
- if(dateResult != null) {
9793
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
9794
- }
9795
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
9796
- this.renderStream(index);
9818
+ filterSubmitButton.style.visibility = 'visible'
9819
+ })
9820
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all') as HTMLLabelElement
9821
+ selectFeatureAllLabel.addEventListener('click',()=>{
9822
+ selectFeatureAll.checked = !selectFeatureAll.checked
9823
+ selectFeatureAll.click();
9797
9824
  })
9798
9825
  const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
9799
- for(let selectFeature of selectFeatures){
9826
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label') as NodeListOf<HTMLLabelElement>
9827
+ for(let [i,selectFeature] of selectFeatures.entries()){
9800
9828
  selectFeature.addEventListener('click',async (ev: any) => {
9801
9829
  let target = ev.target;
9802
9830
  let id = target.id;
@@ -9811,14 +9839,11 @@ export class SfIEvents extends LitElement {
9811
9839
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
9812
9840
  }
9813
9841
  }
9814
- const dateResult = this.calculateStartAndEndDateOfStream(index);
9815
- this.currentColumnIndex = index + "";
9816
- if(dateResult != null) {
9817
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
9818
- }
9819
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
9820
- this.renderStream(index);
9821
-
9842
+ filterSubmitButton.style.visibility = 'visible'
9843
+ })
9844
+ selectFeatureLabels[i].addEventListener('click',() => {
9845
+ selectFeature.checked = !selectFeature.checked
9846
+ selectFeature.click();
9822
9847
  })
9823
9848
  }
9824
9849
  })
@@ -10267,6 +10292,20 @@ export class SfIEvents extends LitElement {
10267
10292
  filterButton?.addEventListener('click',() => {
10268
10293
  const filterList = (this._SfStreamContainer as HTMLDivElement).querySelector('#filter-list-container') as HTMLDivElement
10269
10294
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none')
10295
+ const filterSubmitButton = filterList.querySelector('#button-submit-features') as HTMLButtonElement
10296
+ filterSubmitButton.addEventListener('click',async() => {
10297
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
10298
+ const monthResult = this.calculateMonthFromIndex(index);
10299
+ console.log('monthResult', monthResult);
10300
+ console.log('dateresult', dateResult, index);
10301
+ console.log('selectedfeatures', this.selectedFeatures);
10302
+ this.currentColumnIndex = index + "";
10303
+ if(dateResult != null) {
10304
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate,"","no",("0" + monthResult).slice(-2));
10305
+ }
10306
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
10307
+ this.renderStream(index);
10308
+ })
10270
10309
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all') as HTMLInputElement
10271
10310
  selectFeatureAll.addEventListener('click',async(ev: any) => {
10272
10311
  let target = ev.target;
@@ -10286,20 +10325,16 @@ export class SfIEvents extends LitElement {
10286
10325
  let selectedFeature = this.getFeatures()[parseInt(i)]
10287
10326
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0
10288
10327
  }
10289
- const dateResult = this.calculateStartAndEndDateOfStream(index);
10290
- const monthResult = this.calculateMonthFromIndex(index);
10291
- console.log('monthResult', monthResult);
10292
- console.log('dateresult', dateResult, index);
10293
- console.log('selectedfeatures', this.selectedFeatures);
10294
- this.currentColumnIndex = index + "";
10295
- if(dateResult != null) {
10296
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate,"","no",("0" + monthResult).slice(-2));
10297
- }
10298
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
10299
- this.renderStream(index);
10328
+ filterSubmitButton.style.visibility = 'visible'
10329
+ })
10330
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all') as HTMLLabelElement
10331
+ selectFeatureAllLabel.addEventListener('click',()=>{
10332
+ selectFeatureAll.checked = !selectFeatureAll.checked;
10333
+ selectFeatureAll.click();
10300
10334
  })
10301
10335
  const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
10302
- for(let selectFeature of selectFeatures){
10336
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label') as NodeListOf<HTMLLabelElement>
10337
+ for(let [i,selectFeature] of selectFeatures.entries()){
10303
10338
  selectFeature.addEventListener('click',async (ev: any) => {
10304
10339
  let target = ev.target;
10305
10340
  let id = target.id;
@@ -10314,17 +10349,13 @@ export class SfIEvents extends LitElement {
10314
10349
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
10315
10350
  }
10316
10351
  }
10317
- const dateResult = this.calculateStartAndEndDateOfStream(index);
10318
- const monthResult = this.calculateMonthFromIndex(index);
10319
- this.currentColumnIndex = index + "";
10320
- console.log('rendering feature', monthResult, dateResult);
10321
- if(dateResult != null) {
10322
- await this.renderWithFeatures(dateResult.startDate, dateResult.endDate,"","no",("0" + monthResult).slice(-2));
10323
- }
10324
- this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
10325
- this.renderStream(index);
10352
+ filterSubmitButton.style.visibility = 'visible'
10326
10353
 
10327
10354
  })
10355
+ selectFeatureLabels[i].addEventListener('click',() => {
10356
+ selectFeature.checked = !selectFeature.checked
10357
+ selectFeature.click()
10358
+ })
10328
10359
  }
10329
10360
  })
10330
10361