sf-i-events 1.0.754 → 1.0.756

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.756",
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-between align-center" part="filter-label-container"><label class="filter-label" part="filter-label">Filters</label><button id="button-submit-features" part="button-icon-small" class="material-icons button-expand invisible">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,41 @@ 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
+ filterButton.innerHTML = (filterList.style.display != 'block' ? 'filter_list' : 'close');
3681
+ const filterSubmitButton = filterList.querySelector('#button-submit-features');
3682
+ filterSubmitButton.addEventListener('click', () => {
3683
+ this.processDateSelection(eventsContainer);
3684
+ });
3685
+ const selectFeatureAll = filterList.querySelector('.input-select-feature-all');
3686
+ selectFeatureAll.addEventListener('click', async (ev) => {
3687
+ let target = ev.target;
3688
+ if (target.checked) {
3689
+ for (let feature of this.getFeatures()) {
3690
+ if (this.selectedFeatures.indexOf(feature) < 0) {
3691
+ this.selectedFeatures.push(feature);
3692
+ }
3693
+ }
3694
+ }
3695
+ else {
3696
+ this.selectedFeatures = [];
3697
+ }
3698
+ const selectFeatures = filterList.querySelectorAll('.input-select-feature');
3699
+ for (let selectFeature of selectFeatures) {
3700
+ let id = selectFeature.id;
3701
+ let i = id.split('-')[3];
3702
+ let selectedFeature = this.getFeatures()[parseInt(i)];
3703
+ selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0;
3704
+ }
3705
+ filterSubmitButton.style.visibility = 'visible';
3706
+ });
3707
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all');
3708
+ selectFeatureAllLabel.addEventListener('click', () => {
3709
+ selectFeatureAll.checked = !selectFeatureAll.checked;
3710
+ selectFeatureAll.click();
3711
+ });
3678
3712
  const selectFeatures = filterList.querySelectorAll('.input-select-feature');
3679
- for (let selectFeature of selectFeatures) {
3713
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label');
3714
+ for (let [i, selectFeature] of selectFeatures.entries()) {
3680
3715
  selectFeature.addEventListener('click', (ev) => {
3681
3716
  let target = ev.target;
3682
3717
  let id = target.id;
@@ -3692,29 +3727,14 @@ let SfIEvents = class SfIEvents extends LitElement {
3692
3727
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature), 1);
3693
3728
  }
3694
3729
  }
3695
- this.processDateSelection(eventsContainer);
3730
+ filterSubmitButton.style.visibility = 'visible';
3731
+ });
3732
+ selectFeatureLabels[i].addEventListener('click', () => {
3733
+ selectFeature.checked = !selectFeature.checked;
3734
+ selectFeature.click();
3696
3735
  });
3697
3736
  }
3698
3737
  });
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
3738
  const radioExpander = eventsContainer.querySelector('#graph-radios-expander');
3719
3739
  radioExpander === null || radioExpander === void 0 ? void 0 : radioExpander.addEventListener('click', (e) => {
3720
3740
  const button = e.currentTarget;
@@ -6717,6 +6737,19 @@ let SfIEvents = class SfIEvents extends LitElement {
6717
6737
  filterButton === null || filterButton === void 0 ? void 0 : filterButton.addEventListener('click', () => {
6718
6738
  const filterList = this._SfThisContainer.querySelector('#filter-list-container');
6719
6739
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none');
6740
+ filterButton.innerHTML = (filterList.style.display != 'block' ? 'filter_list' : 'close');
6741
+ const filterSubmitButton = filterList.querySelector('#button-submit-features');
6742
+ filterSubmitButton.addEventListener('click', async () => {
6743
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
6744
+ console.log('dateresult', dateResult, index);
6745
+ console.log('selectedfeatures', this.selectedFeatures);
6746
+ this.currentColumnIndex = index + "";
6747
+ if (dateResult != null) {
6748
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
6749
+ }
6750
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
6751
+ this.renderStream(index);
6752
+ });
6720
6753
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all');
6721
6754
  selectFeatureAll.addEventListener('click', async (ev) => {
6722
6755
  let target = ev.target;
@@ -6737,18 +6770,16 @@ let SfIEvents = class SfIEvents extends LitElement {
6737
6770
  let selectedFeature = this.getFeatures()[parseInt(i)];
6738
6771
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0;
6739
6772
  }
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);
6773
+ filterSubmitButton.style.visibility = 'visible';
6774
+ });
6775
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all');
6776
+ selectFeatureAllLabel.addEventListener('click', () => {
6777
+ selectFeatureAll.checked = !selectFeatureAll.checked;
6778
+ selectFeatureAll.click();
6749
6779
  });
6750
6780
  const selectFeatures = filterList.querySelectorAll('.input-select-feature');
6751
- for (let selectFeature of selectFeatures) {
6781
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label');
6782
+ for (let [i, selectFeature] of selectFeatures.entries()) {
6752
6783
  selectFeature.addEventListener('click', async (ev) => {
6753
6784
  let target = ev.target;
6754
6785
  let id = target.id;
@@ -6764,13 +6795,11 @@ let SfIEvents = class SfIEvents extends LitElement {
6764
6795
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature), 1);
6765
6796
  }
6766
6797
  }
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);
6798
+ filterSubmitButton.style.visibility = 'visible';
6799
+ });
6800
+ selectFeatureLabels[i].addEventListener('click', () => {
6801
+ selectFeature.checked = !selectFeature.checked;
6802
+ selectFeature.click();
6774
6803
  });
6775
6804
  }
6776
6805
  });
@@ -7122,6 +7151,21 @@ let SfIEvents = class SfIEvents extends LitElement {
7122
7151
  filterButton === null || filterButton === void 0 ? void 0 : filterButton.addEventListener('click', () => {
7123
7152
  const filterList = this._SfStreamContainer.querySelector('#filter-list-container');
7124
7153
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none');
7154
+ filterButton.innerHTML = (filterList.style.display != 'block' ? 'filter_list' : 'close');
7155
+ const filterSubmitButton = filterList.querySelector('#button-submit-features');
7156
+ filterSubmitButton.addEventListener('click', async () => {
7157
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
7158
+ const monthResult = this.calculateMonthFromIndex(index);
7159
+ console.log('monthResult', monthResult);
7160
+ console.log('dateresult', dateResult, index);
7161
+ console.log('selectedfeatures', this.selectedFeatures);
7162
+ this.currentColumnIndex = index + "";
7163
+ if (dateResult != null) {
7164
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate, "", "no", ("0" + monthResult).slice(-2));
7165
+ }
7166
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
7167
+ this.renderStream(index);
7168
+ });
7125
7169
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all');
7126
7170
  selectFeatureAll.addEventListener('click', async (ev) => {
7127
7171
  let target = ev.target;
@@ -7142,20 +7186,16 @@ let SfIEvents = class SfIEvents extends LitElement {
7142
7186
  let selectedFeature = this.getFeatures()[parseInt(i)];
7143
7187
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0;
7144
7188
  }
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);
7189
+ filterSubmitButton.style.visibility = 'visible';
7190
+ });
7191
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all');
7192
+ selectFeatureAllLabel.addEventListener('click', () => {
7193
+ selectFeatureAll.checked = !selectFeatureAll.checked;
7194
+ selectFeatureAll.click();
7156
7195
  });
7157
7196
  const selectFeatures = filterList.querySelectorAll('.input-select-feature');
7158
- for (let selectFeature of selectFeatures) {
7197
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label');
7198
+ for (let [i, selectFeature] of selectFeatures.entries()) {
7159
7199
  selectFeature.addEventListener('click', async (ev) => {
7160
7200
  let target = ev.target;
7161
7201
  let id = target.id;
@@ -7171,15 +7211,11 @@ let SfIEvents = class SfIEvents extends LitElement {
7171
7211
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature), 1);
7172
7212
  }
7173
7213
  }
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);
7214
+ filterSubmitButton.style.visibility = 'visible';
7215
+ });
7216
+ selectFeatureLabels[i].addEventListener('click', () => {
7217
+ selectFeature.checked = !selectFeature.checked;
7218
+ selectFeature.click();
7183
7219
  });
7184
7220
  }
7185
7221
  });
@@ -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-between align-center" part="filter-label-container"><label class="filter-label" part="filter-label">Filters</label><button id="button-submit-features" part="button-icon-small" class="material-icons button-expand invisible">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,40 @@ 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
+ filterButton.innerHTML = (filterList.style.display != 'block' ? 'filter_list' : 'close')
6070
+ const filterSubmitButton = filterList.querySelector('#button-submit-features') as HTMLButtonElement
6071
+ filterSubmitButton.addEventListener('click',() => {
6072
+ this.processDateSelection(eventsContainer);
6073
+ })
6074
+ const selectFeatureAll = filterList.querySelector('.input-select-feature-all') as HTMLInputElement
6075
+ selectFeatureAll.addEventListener('click',async(ev: any) => {
6076
+ let target = ev.target;
6077
+ if(target.checked){
6078
+ for(let feature of this.getFeatures()){
6079
+ if(this.selectedFeatures.indexOf(feature) < 0){
6080
+ this.selectedFeatures.push(feature);
6081
+ }
6082
+ }
6083
+ }else{
6084
+ this.selectedFeatures = []
6085
+ }
6086
+ const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
6087
+ for(let selectFeature of selectFeatures){
6088
+ let id = selectFeature.id;
6089
+ let i = id.split('-')[3];
6090
+ let selectedFeature = this.getFeatures()[parseInt(i)]
6091
+ selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0
6092
+ }
6093
+ filterSubmitButton.style.visibility = 'visible'
6094
+ })
6095
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all') as HTMLLabelElement
6096
+ selectFeatureAllLabel.addEventListener('click',()=>{
6097
+ selectFeatureAll.checked = !selectFeatureAll.checked
6098
+ selectFeatureAll.click();
6099
+ })
6067
6100
  const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
6068
- for(let selectFeature of selectFeatures){
6101
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label') as NodeListOf<HTMLLabelElement>
6102
+ for(let [i,selectFeature] of selectFeatures.entries()){
6069
6103
  selectFeature.addEventListener('click',(ev: any) => {
6070
6104
  let target = ev.target;
6071
6105
  let id = target.id;
@@ -6080,29 +6114,14 @@ export class SfIEvents extends LitElement {
6080
6114
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
6081
6115
  }
6082
6116
  }
6083
- this.processDateSelection(eventsContainer)
6117
+ filterSubmitButton.style.visibility = 'visible'
6118
+ })
6119
+ selectFeatureLabels[i].addEventListener('click',() => {
6120
+ selectFeature.checked = !selectFeature.checked
6121
+ selectFeature.click();
6084
6122
  })
6085
6123
  }
6086
6124
  })
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
6125
  const radioExpander = eventsContainer.querySelector('#graph-radios-expander') as HTMLButtonElement;
6107
6126
  radioExpander?.addEventListener('click', (e: any) => {
6108
6127
 
@@ -9766,6 +9785,19 @@ export class SfIEvents extends LitElement {
9766
9785
  filterButton?.addEventListener('click',() => {
9767
9786
  const filterList = (this._SfThisContainer as HTMLDivElement).querySelector('#filter-list-container') as HTMLDivElement
9768
9787
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none')
9788
+ filterButton.innerHTML = (filterList.style.display != 'block' ? 'filter_list' : 'close')
9789
+ const filterSubmitButton = filterList.querySelector('#button-submit-features') as HTMLButtonElement
9790
+ filterSubmitButton.addEventListener('click',async() => {
9791
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
9792
+ console.log('dateresult', dateResult, index);
9793
+ console.log('selectedfeatures', this.selectedFeatures);
9794
+ this.currentColumnIndex = index + "";
9795
+ if(dateResult != null) {
9796
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate);
9797
+ }
9798
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
9799
+ this.renderStream(index);
9800
+ })
9769
9801
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all') as HTMLInputElement
9770
9802
  selectFeatureAll.addEventListener('click',async(ev: any) => {
9771
9803
  let target = ev.target;
@@ -9785,18 +9817,16 @@ export class SfIEvents extends LitElement {
9785
9817
  let selectedFeature = this.getFeatures()[parseInt(i)]
9786
9818
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0
9787
9819
  }
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);
9820
+ filterSubmitButton.style.visibility = 'visible'
9821
+ })
9822
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all') as HTMLLabelElement
9823
+ selectFeatureAllLabel.addEventListener('click',()=>{
9824
+ selectFeatureAll.checked = !selectFeatureAll.checked
9825
+ selectFeatureAll.click();
9797
9826
  })
9798
9827
  const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
9799
- for(let selectFeature of selectFeatures){
9828
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label') as NodeListOf<HTMLLabelElement>
9829
+ for(let [i,selectFeature] of selectFeatures.entries()){
9800
9830
  selectFeature.addEventListener('click',async (ev: any) => {
9801
9831
  let target = ev.target;
9802
9832
  let id = target.id;
@@ -9811,14 +9841,11 @@ export class SfIEvents extends LitElement {
9811
9841
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
9812
9842
  }
9813
9843
  }
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
-
9844
+ filterSubmitButton.style.visibility = 'visible'
9845
+ })
9846
+ selectFeatureLabels[i].addEventListener('click',() => {
9847
+ selectFeature.checked = !selectFeature.checked
9848
+ selectFeature.click();
9822
9849
  })
9823
9850
  }
9824
9851
  })
@@ -10267,6 +10294,21 @@ export class SfIEvents extends LitElement {
10267
10294
  filterButton?.addEventListener('click',() => {
10268
10295
  const filterList = (this._SfStreamContainer as HTMLDivElement).querySelector('#filter-list-container') as HTMLDivElement
10269
10296
  filterList.style.display = (filterList.style.display != 'block' ? 'block' : 'none')
10297
+ filterButton.innerHTML = (filterList.style.display != 'block' ? 'filter_list' : 'close')
10298
+ const filterSubmitButton = filterList.querySelector('#button-submit-features') as HTMLButtonElement
10299
+ filterSubmitButton.addEventListener('click',async() => {
10300
+ const dateResult = this.calculateStartAndEndDateOfStream(index);
10301
+ const monthResult = this.calculateMonthFromIndex(index);
10302
+ console.log('monthResult', monthResult);
10303
+ console.log('dateresult', dateResult, index);
10304
+ console.log('selectedfeatures', this.selectedFeatures);
10305
+ this.currentColumnIndex = index + "";
10306
+ if(dateResult != null) {
10307
+ await this.renderWithFeatures(dateResult.startDate, dateResult.endDate,"","no",("0" + monthResult).slice(-2));
10308
+ }
10309
+ this.flowGraph = this.FLOW_GRAPH_COMPLETENESS;
10310
+ this.renderStream(index);
10311
+ })
10270
10312
  const selectFeatureAll = filterList.querySelector('.input-select-feature-all') as HTMLInputElement
10271
10313
  selectFeatureAll.addEventListener('click',async(ev: any) => {
10272
10314
  let target = ev.target;
@@ -10286,20 +10328,16 @@ export class SfIEvents extends LitElement {
10286
10328
  let selectedFeature = this.getFeatures()[parseInt(i)]
10287
10329
  selectFeature.checked = this.selectedFeatures.indexOf(selectedFeature) >= 0
10288
10330
  }
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);
10331
+ filterSubmitButton.style.visibility = 'visible'
10332
+ })
10333
+ const selectFeatureAllLabel = filterList.querySelector('#input-select-feature-label-all') as HTMLLabelElement
10334
+ selectFeatureAllLabel.addEventListener('click',()=>{
10335
+ selectFeatureAll.checked = !selectFeatureAll.checked;
10336
+ selectFeatureAll.click();
10300
10337
  })
10301
10338
  const selectFeatures = filterList.querySelectorAll('.input-select-feature') as NodeListOf<HTMLInputElement>
10302
- for(let selectFeature of selectFeatures){
10339
+ const selectFeatureLabels = filterList.querySelectorAll('.input-select-feature-label') as NodeListOf<HTMLLabelElement>
10340
+ for(let [i,selectFeature] of selectFeatures.entries()){
10303
10341
  selectFeature.addEventListener('click',async (ev: any) => {
10304
10342
  let target = ev.target;
10305
10343
  let id = target.id;
@@ -10314,17 +10352,13 @@ export class SfIEvents extends LitElement {
10314
10352
  this.selectedFeatures.splice(this.selectedFeatures.indexOf(selectedFeature),1);
10315
10353
  }
10316
10354
  }
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);
10355
+ filterSubmitButton.style.visibility = 'visible'
10326
10356
 
10327
10357
  })
10358
+ selectFeatureLabels[i].addEventListener('click',() => {
10359
+ selectFeature.checked = !selectFeature.checked
10360
+ selectFeature.click()
10361
+ })
10328
10362
  }
10329
10363
  })
10330
10364