tuimon 0.3.34 → 0.3.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"generator-js.d.ts","sourceRoot":"","sources":["../../src/layout/generator-js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE3D,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,CA6WvE"}
1
+ {"version":3,"file":"generator-js.d.ts","sourceRoot":"","sources":["../../src/layout/generator-js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE3D,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,CAkYvE"}
@@ -12,6 +12,7 @@ export function generateJs(layout, t) {
12
12
  var lastUpdateTime = {};
13
13
  var charts = {};
14
14
  var lineHistory = {};
15
+ var lineLabels = {};
15
16
  var MAX_LINE_POINTS = 60;
16
17
  var MAX_BAR_POINTS = 20;
17
18
  var MAX_EVENTS = 10;
@@ -98,6 +99,7 @@ export function generateJs(layout, t) {
98
99
  var canvas = document.getElementById('chart-' + id);
99
100
  if (!canvas) return null;
100
101
  lineHistory[id] = {};
102
+ lineLabels[id] = [];
101
103
  charts[id] = new Chart(canvas, {
102
104
  type: 'line',
103
105
  data: { labels: [], datasets: [] },
@@ -105,7 +107,17 @@ export function generateJs(layout, t) {
105
107
  responsive: true, maintainAspectRatio: false, animation: false,
106
108
  scales: {
107
109
  y: { grid: { color: theme.border + '22' }, ticks: { color: theme.text, font: { size: 12 } } },
108
- x: { display: false },
110
+ x: { ticks: { color: theme.text, font: { size: 11 }, maxRotation: 45,
111
+ callback: function(val, index, ticks) {
112
+ var label = this.chart.data.labels[val];
113
+ if (!label) return '';
114
+ if (index > 0) {
115
+ var prev = ticks[index - 1];
116
+ if (prev && this.chart.data.labels[prev.value] === label) return '';
117
+ }
118
+ return label;
119
+ }
120
+ } },
109
121
  },
110
122
  plugins: { legend: { labels: { color: theme.text, font: { size: 12 } } } },
111
123
  },
@@ -117,14 +129,23 @@ export function generateJs(layout, t) {
117
129
  var chart = ensureLineChart(id);
118
130
  if (!chart) return;
119
131
  var hist = lineHistory[id];
132
+ if (!lineLabels[id]) lineLabels[id] = [];
133
+ var lbls = lineLabels[id];
120
134
 
121
135
  if (data._kvUpdate) {
122
136
  var kv = data._kvUpdate;
137
+ var ts = kv['_t'];
123
138
  Object.keys(kv).forEach(function(key) {
139
+ if (key === '_t') return;
124
140
  if (!hist[key]) hist[key] = [];
125
141
  hist[key].push(kv[key]);
126
142
  if (hist[key].length > MAX_LINE_POINTS) hist[key].shift();
127
143
  });
144
+ if (ts != null) {
145
+ var d = new Date(ts);
146
+ lbls.push((d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear());
147
+ if (lbls.length > MAX_LINE_POINTS) lbls.shift();
148
+ }
128
149
  } else if (data.series) {
129
150
  data.series.forEach(function(s) {
130
151
  if (!hist[s.label]) hist[s.label] = [];
@@ -133,11 +154,11 @@ export function generateJs(layout, t) {
133
154
  });
134
155
  }
135
156
 
136
- var labels = Object.keys(hist);
157
+ var seriesKeys = Object.keys(hist);
137
158
  var maxLen = 0;
138
- labels.forEach(function(k) { if (hist[k].length > maxLen) maxLen = hist[k].length; });
139
- chart.data.labels = Array.from({ length: maxLen }, function(_, i) { return i; });
140
- chart.data.datasets = labels.map(function(label, i) {
159
+ seriesKeys.forEach(function(k) { if (hist[k].length > maxLen) maxLen = hist[k].length; });
160
+ chart.data.labels = lbls.length > 0 ? lbls : Array.from({ length: maxLen }, function(_, i) { return i; });
161
+ chart.data.datasets = seriesKeys.map(function(label, i) {
141
162
  return {
142
163
  label: label,
143
164
  data: hist[label],
@@ -1 +1 @@
1
- {"version":3,"file":"generator-js.js","sourceRoot":"","sources":["../../src/layout/generator-js.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,MAAoB,EAAE,CAAc;IAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAClC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1D,CAAA;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CACpC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxF,CAAA;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IAErD,OAAO;;;2BAGkB,eAAe;yBACjB,aAAa;2BACX,eAAe;;;;;;;oBAOtB,IAAI,CAAC,SAAS,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8UL,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"generator-js.js","sourceRoot":"","sources":["../../src/layout/generator-js.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,MAAoB,EAAE,CAAc;IAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAClC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1D,CAAA;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CACpC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxF,CAAA;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IAErD,OAAO;;;2BAGkB,eAAe;yBACjB,aAAa;2BACX,eAAe;;;;;;;;oBAQtB,IAAI,CAAC,SAAS,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkWL,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tuimon",
3
- "version": "0.3.34",
3
+ "version": "0.3.36",
4
4
  "description": "Render beautiful HTML dashboards directly in your terminal.",
5
5
  "type": "module",
6
6
  "bin": {