@c8y/ngx-components 1023.14.38 → 1023.14.44

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.
Files changed (35) hide show
  1. package/datapoint-explorer/view/index.d.ts +2 -0
  2. package/datapoint-explorer/view/index.d.ts.map +1 -1
  3. package/echart/index.d.ts +7 -1
  4. package/echart/index.d.ts.map +1 -1
  5. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +1 -1
  6. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  7. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +21 -36
  8. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  9. package/fesm2022/c8y-ngx-components-echart.mjs +127 -83
  10. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  11. package/fesm2022/c8y-ngx-components-global-context.mjs +21 -6
  12. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  13. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +3 -3
  14. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  15. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +2 -2
  16. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  17. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +1 -1
  18. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  19. package/fesm2022/c8y-ngx-components.mjs +18 -6
  20. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  21. package/global-context/index.d.ts +12 -2
  22. package/global-context/index.d.ts.map +1 -1
  23. package/index.d.ts +2 -1
  24. package/index.d.ts.map +1 -1
  25. package/locales/de.po +5 -2
  26. package/locales/es.po +3 -0
  27. package/locales/fr.po +3 -0
  28. package/locales/ja_JP.po +3 -0
  29. package/locales/ko.po +3 -0
  30. package/locales/nl.po +3 -0
  31. package/locales/pl.po +3 -0
  32. package/locales/pt_BR.po +3 -0
  33. package/locales/zh_CN.po +3 -0
  34. package/locales/zh_TW.po +3 -0
  35. package/package.json +1 -1
@@ -814,6 +814,8 @@ class DatapointExplorerComponent {
814
814
  showRange: true,
815
815
  showChart: true
816
816
  };
817
+ /** Flag to skip onTimeContextChange during zoom handling */
818
+ this.isHandlingZoom = false;
817
819
  this.chartViewContext = CHART_VIEW_CONTEXT.DATAPOINT_EXPLORER;
818
820
  this.TIME_PICKER_CONFIG = {
819
821
  showMinutes: true,
@@ -873,6 +875,10 @@ class DatapointExplorerComponent {
873
875
  });
874
876
  }
875
877
  onTimeContextChange(timeProps) {
878
+ // Skip context changes during zoom handling - zoom already set the correct dates
879
+ if (this.isHandlingZoom) {
880
+ return;
881
+ }
876
882
  const realtime = this.formGroup.controls.realtime.value;
877
883
  if (timeProps.realtime !== realtime) {
878
884
  this.formGroup.patchValue({
@@ -949,6 +955,7 @@ class DatapointExplorerComponent {
949
955
  ...configSummaryGS
950
956
  });
951
957
  // Ensure realtime properties and dates are set correctly
958
+ // formGroup.valueChanges subscription will update this.config
952
959
  this.formGroup.patchValue({
953
960
  alarms: this.alarms,
954
961
  events: this.events,
@@ -958,59 +965,37 @@ class DatapointExplorerComponent {
958
965
  isAutoRefreshEnabled: config.realtime ? true : config.isAutoRefreshEnabled || false,
959
966
  refreshInterval: config.realtime ? 5000 : config.refreshInterval || 0
960
967
  });
961
- // Update config directly to ensure ChartsComponent receives correct values
962
- // Create NEW object reference so Angular detects the change
963
- const { alarms, events, ...configValues } = this.formGroup.value;
964
- this.config = {
965
- ...this.config, // Keep existing properties
966
- ...configValues,
967
- alarmsEventsConfigs: [...(alarms || []), ...(events || [])]
968
- };
969
968
  }
970
969
  onSliderZoom(timeProps) {
971
- // When user manually zooms with slider, pause realtime and disable auto-refresh
970
+ this.isHandlingZoom = true;
971
+ // Update main form - pause realtime and disable auto-refresh
972
972
  this.formGroup.patchValue({
973
973
  ...timeProps,
974
974
  realtime: false,
975
975
  isAutoRefreshEnabled: false,
976
976
  refreshInterval: 0
977
977
  });
978
- // When user zooms, it becomes a custom time range
978
+ // Update timeProps binding
979
979
  this.timeProps = {
980
980
  dateFrom: new Date(timeProps.dateFrom.getTime()),
981
981
  dateTo: new Date(timeProps.dateTo.getTime()),
982
982
  interval: 'custom',
983
983
  realtime: false
984
984
  };
985
- // Directly stop realtime and update the button state and interval
985
+ // Sync timeContext state
986
986
  if (this.timeContext) {
987
987
  this.timeContext.stopRealtime();
988
- const currentInterval = this.timeContext.form.value.currentDateContextInterval;
989
- setTimeout(() => {
990
- this.timeContext.form.patchValue({
991
- currentDateContextFromDate: timeProps.dateFrom.toISOString(),
992
- currentDateContextToDate: timeProps.dateTo.toISOString(),
993
- temporaryUserSelectedFromDate: timeProps.dateFrom.toISOString(),
994
- temporaryUserSelectedToDate: timeProps.dateTo.toISOString(),
995
- realtime: false
996
- }, { emitEvent: false });
997
- // Enable aggregation control since realtime is now off
998
- this.timeContext.form.controls.aggregation.enable();
999
- if (currentInterval !== 'custom') {
1000
- this.timeContext.form.patchValue({
1001
- currentDateContextInterval: 'custom'
1002
- });
1003
- }
1004
- else {
1005
- this.timeContext['update']({
1006
- date: [timeProps.dateFrom, timeProps.dateTo],
1007
- interval: 'custom',
1008
- realtime: false,
1009
- aggregation: this.timeContext.form.value.aggregation
1010
- });
1011
- }
1012
- }, 0);
988
+ this.timeContext.form.patchValue({
989
+ currentDateContextFromDate: timeProps.dateFrom.toISOString(),
990
+ currentDateContextToDate: timeProps.dateTo.toISOString(),
991
+ temporaryUserSelectedFromDate: timeProps.dateFrom.toISOString(),
992
+ temporaryUserSelectedToDate: timeProps.dateTo.toISOString(),
993
+ currentDateContextInterval: 'custom',
994
+ realtime: false
995
+ }, { emitEvent: false });
996
+ this.timeContext.form.controls.aggregation.enable();
1013
997
  }
998
+ this.isHandlingZoom = false;
1014
999
  }
1015
1000
  updateTimeRangeOnRealtime(timeRange) {
1016
1001
  this.formGroup.patchValue(timeRange, { emitEvent: false });