react-terminal-viewer-cicd 3.0.0-beta.24 → 3.0.0-beta.26

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,7 +1,7 @@
1
1
  function LogWorker() {
2
2
  var workerPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '/worker';
3
3
  var worker = null;
4
- var version = "3.0.0-beta.24" || '0.0.0';
4
+ var version = "3.0.0-beta.26" || '0.0.0';
5
5
  var path = workerPath.includes('http') ? "".concat(workerPath, "/log.worker.js") : "".concat(window.location.origin).concat(workerPath, "/log.worker.js");
6
6
  var blob = new Blob(["importScripts(\"".concat(path, "?v=").concat(version, "\")")], {
7
7
  type: 'application/javascript'
@@ -199,5 +199,5 @@ export interface TerminalViewerProps {
199
199
  */
200
200
  disableStickyHeader?: boolean;
201
201
  }
202
- declare const TerminalViewer: React.ForwardRefExoticComponent<Omit<TerminalViewerProps, "ref"> & React.RefAttributes<TerminalRef<VirtualDomTerminal | Terminal> | undefined>>;
202
+ declare const TerminalViewer: React.ForwardRefExoticComponent<Omit<TerminalViewerProps, "ref"> & React.RefAttributes<TerminalRef<Terminal | VirtualDomTerminal> | undefined>>;
203
203
  export default TerminalViewer;
@@ -83,5 +83,5 @@ export interface TerminalViewerBodyProps {
83
83
  */
84
84
  onLoading?: (loading: boolean) => void;
85
85
  }
86
- declare const TerminalViewerBody: React.ForwardRefExoticComponent<TerminalViewerBodyProps & React.RefAttributes<TerminalRef<import("../types").VirtualDomTerminal | Terminal> | undefined>>;
86
+ declare const TerminalViewerBody: React.ForwardRefExoticComponent<TerminalViewerBodyProps & React.RefAttributes<TerminalRef<Terminal | import("../types").VirtualDomTerminal> | undefined>>;
87
87
  export default TerminalViewerBody;
@@ -98,5 +98,5 @@ export interface TerminalViewerHeaderProps<T extends Terminal | VirtualDomTermin
98
98
  */
99
99
  collapseAction?: (terminal: T, allCollapsed: boolean) => React.ReactNode;
100
100
  }
101
- declare const TerminalViewerHeader: <T extends VirtualDomTerminal | Terminal = VirtualDomTerminal | Terminal>({ placeholder, defaultValue, clearable, refreshable, loading, activeTitleIndex, titles, searchResult, inputAddonBefore, inputAddonAfter, icons, onTitleChange, onSearchPrev, onSearchNext, onSearchChange, onSearchClear, onRefresh, terminalRef, allCollapsed, collapseAction, }: TerminalViewerHeaderProps<T>) => React.JSX.Element;
101
+ declare const TerminalViewerHeader: <T extends Terminal | VirtualDomTerminal = Terminal | VirtualDomTerminal>({ placeholder, defaultValue, clearable, refreshable, loading, activeTitleIndex, titles, searchResult, inputAddonBefore, inputAddonAfter, icons, onTitleChange, onSearchPrev, onSearchNext, onSearchChange, onSearchClear, onRefresh, terminalRef, allCollapsed, collapseAction, }: TerminalViewerHeaderProps<T>) => React.JSX.Element;
102
102
  export default TerminalViewerHeader;
@@ -84,5 +84,5 @@ export interface TerminalViewerVirtualDomProps {
84
84
  * 最后一个分组折叠时,在折叠之前,添加底部空间
85
85
  * 最后一个分组展开时,在展开之前,删除底部空间
86
86
  */
87
- declare const ReactVirtuoso: React.ForwardRefExoticComponent<TerminalViewerVirtualDomProps & React.RefAttributes<TerminalRef<VirtualDomTerminal | import("src").Terminal> | undefined>>;
87
+ declare const ReactVirtuoso: React.ForwardRefExoticComponent<TerminalViewerVirtualDomProps & React.RefAttributes<TerminalRef<import("src").Terminal | VirtualDomTerminal> | undefined>>;
88
88
  export default ReactVirtuoso;
@@ -29,8 +29,6 @@
29
29
 
30
30
  .terminal-viewer-line-number,
31
31
  .terminal-viewer-text-placeholder {
32
- margin-right: 8px;
33
- padding-right: 8px;
34
32
  color: #959da5bf;
35
33
  font-size: 12px;
36
34
  font-family: Roboto Mono, Andale Mono, Consolas, Courier New, monospace;
@@ -41,6 +39,7 @@
41
39
  .terminal-viewer-line-number {
42
40
  display: inline-block;
43
41
  flex-shrink: 0;
42
+ margin-top: 16px;
44
43
  overflow: hidden;
45
44
  white-space: nowrap;
46
45
  text-overflow: ellipsis;
@@ -184,6 +184,12 @@ export var useStreamStepWorkerLogs = function useStreamStepWorkerLogs(string, ch
184
184
  useEffect(function () {
185
185
  var preLength = 0;
186
186
  var preStagesLength = 0;
187
+ var preStagesSignature = '';
188
+ var getStagesSignature = function getStagesSignature(stageList) {
189
+ return (stageList || []).map(function (s) {
190
+ return "".concat(s.stepId, "_").concat(s.status, "_").concat(s.endStatus || '');
191
+ }).join('_');
192
+ };
187
193
  var worker = globalContext.getWorker();
188
194
  var onHighlightSuccess = function onHighlightSuccess(_ref) {
189
195
  var id = _ref.id,
@@ -199,7 +205,11 @@ export var useStreamStepWorkerLogs = function useStreamStepWorkerLogs(string, ch
199
205
  setWorking(false);
200
206
  if ((array === null || array === void 0 ? void 0 : array.length) > 0) {
201
207
  var stagesLength = (stages === null || stages === void 0 ? void 0 : stages.length) || 0;
202
- if (array.length !== preLength || stagesLength !== preStagesLength) {
208
+ var stagesSignature = getStagesSignature(stages);
209
+ var hasArrayChanged = array.length !== preLength;
210
+ var hasStagesLengthChanged = stagesLength !== preStagesLength;
211
+ var hasStagesContentChanged = stagesLength > 0 && stagesSignature !== preStagesSignature;
212
+ if (hasArrayChanged || hasStagesLengthChanged || hasStagesContentChanged) {
203
213
  // 直接使用 Worker 返回的解析结果
204
214
  if (flatLines) {
205
215
  setLogs(flatLines);
@@ -250,6 +260,7 @@ export var useStreamStepWorkerLogs = function useStreamStepWorkerLogs(string, ch
250
260
  // 同步长度记录
251
261
  preLength = array.length;
252
262
  preStagesLength = stagesLength;
263
+ preStagesSignature = stagesSignature;
253
264
  }
254
265
  }
255
266
  }
@@ -276,6 +287,7 @@ export var useStreamStepWorkerLogs = function useStreamStepWorkerLogs(string, ch
276
287
  return function () {
277
288
  preLength = 0;
278
289
  preStagesLength = 0;
290
+ preStagesSignature = '';
279
291
  worker === null || worker === void 0 || worker.off('highlight-log-success', onHighlightSuccess);
280
292
  worker === null || worker === void 0 || worker.off('search-log-success', onSearchSuccess);
281
293
  };
@@ -22,6 +22,7 @@
22
22
 
23
23
  .terminal-viewer-line-number,
24
24
  .terminal-viewer-text-placeholder {
25
+ box-sizing: border-box;
25
26
  margin-right: 8px;
26
27
  padding-right: 8px;
27
28
  color: #959da5bf;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-terminal-viewer-cicd",
3
- "version": "3.0.0-beta.24",
3
+ "version": "3.0.0-beta.26",
4
4
  "author": "https://gitee.com/gitee-frontend",
5
5
  "license": "MIT",
6
6
  "keywords": [