@contraagent/ui 0.1.0 → 0.2.0
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/README.md +9 -2
- package/custom-elements.json +3300 -3098
- package/dist/adapters/check-rows.d.ts +2 -0
- package/dist/adapters/check-rows.d.ts.map +1 -1
- package/dist/adapters/check-rows.js +2 -0
- package/dist/adapters/check-rows.js.map +1 -1
- package/dist/adapters/panel-body.d.ts +15 -1
- package/dist/adapters/panel-body.d.ts.map +1 -1
- package/dist/adapters/panel-body.js +27 -0
- package/dist/adapters/panel-body.js.map +1 -1
- package/dist/contraagent-ui.js +684 -641
- package/dist/elements/lists/ca-panel-body.d.ts +16 -3
- package/dist/elements/lists/ca-panel-body.d.ts.map +1 -1
- package/dist/elements/lists/ca-panel-body.js +74 -8
- package/dist/elements/lists/ca-panel-body.js.map +1 -1
- package/dist/elements/overview/ca-overview.d.ts +2 -1
- package/dist/elements/overview/ca-overview.d.ts.map +1 -1
- package/dist/elements/overview/ca-overview.js +8 -1
- package/dist/elements/overview/ca-overview.js.map +1 -1
- package/dist/elements/overview/ca-services.d.ts +25 -0
- package/dist/elements/overview/ca-services.d.ts.map +1 -0
- package/dist/elements/overview/ca-services.js +77 -0
- package/dist/elements/overview/ca-services.js.map +1 -0
- package/dist/elements/overview/index.d.ts +1 -0
- package/dist/elements/overview/index.d.ts.map +1 -1
- package/dist/elements/overview/index.js +1 -0
- package/dist/elements/overview/index.js.map +1 -1
- package/dist/elements/shared/contract-parts.d.ts.map +1 -1
- package/dist/elements/shared/contract-parts.js +18 -2
- package/dist/elements/shared/contract-parts.js.map +1 -1
- package/dist/elements/shell/ca-monitor.d.ts +4 -2
- package/dist/elements/shell/ca-monitor.d.ts.map +1 -1
- package/dist/elements/shell/ca-monitor.js +4 -2
- package/dist/elements/shell/ca-monitor.js.map +1 -1
- package/dist/elements/task/header.d.ts.map +1 -1
- package/dist/elements/task/header.js +7 -3
- package/dist/elements/task/header.js.map +1 -1
- package/dist/locales/ja.d.ts +24 -0
- package/dist/locales/ja.d.ts.map +1 -1
- package/dist/locales/ja.js +24 -0
- package/dist/locales/ja.js.map +1 -1
- package/dist/words/changes.d.ts +2 -2
- package/dist/words/changes.d.ts.map +1 -1
- package/dist/words/changes.js +2 -0
- package/dist/words/changes.js.map +1 -1
- package/dist/words/index.d.ts +1 -0
- package/dist/words/index.d.ts.map +1 -1
- package/dist/words/index.js +1 -0
- package/dist/words/index.js.map +1 -1
- package/dist/words/panels.d.ts +6 -0
- package/dist/words/panels.d.ts.map +1 -1
- package/dist/words/panels.js +13 -0
- package/dist/words/panels.js.map +1 -1
- package/dist/words/services.d.ts +16 -0
- package/dist/words/services.d.ts.map +1 -0
- package/dist/words/services.js +45 -0
- package/dist/words/services.js.map +1 -0
- package/docs/embed.md +4 -1
- package/package.json +3 -3
- package/src/adapters/check-rows.ts +3 -0
- package/src/adapters/panel-body.ts +40 -2
- package/src/elements/lists/ca-panel-body.ts +70 -9
- package/src/elements/overview/ca-overview.ts +8 -1
- package/src/elements/overview/ca-services.ts +66 -0
- package/src/elements/overview/index.ts +1 -0
- package/src/elements/shared/contract-parts.ts +18 -2
- package/src/elements/shell/ca-monitor.ts +4 -2
- package/src/elements/task/header.ts +7 -3
- package/src/locales/ja.ts +24 -0
- package/src/words/changes.ts +4 -2
- package/src/words/index.ts +1 -0
- package/src/words/panels.ts +18 -0
- package/src/words/services.ts +57 -0
- package/dist/core/clock.d.ts +0 -20
- package/dist/core/clock.d.ts.map +0 -1
- package/dist/core/clock.js +0 -45
- package/dist/core/clock.js.map +0 -1
- package/dist/core/route.d.ts +0 -62
- package/dist/core/route.d.ts.map +0 -1
- package/dist/core/route.js +0 -143
- package/dist/core/route.js.map +0 -1
- package/dist/core/router.d.ts +0 -27
- package/dist/core/router.d.ts.map +0 -1
- package/dist/core/router.js +0 -57
- package/dist/core/router.js.map +0 -1
- package/dist/elements/lists/filters.d.ts +0 -28
- package/dist/elements/lists/filters.d.ts.map +0 -1
- package/dist/elements/lists/filters.js +0 -71
- package/dist/elements/lists/filters.js.map +0 -1
- package/dist/elements/overview/ca-pipeline-progress.d.ts +0 -17
- package/dist/elements/overview/ca-pipeline-progress.d.ts.map +0 -1
- package/dist/elements/overview/ca-pipeline-progress.js +0 -119
- package/dist/elements/overview/ca-pipeline-progress.js.map +0 -1
- package/dist/elements/overview/ca-plan-matrix.d.ts +0 -27
- package/dist/elements/overview/ca-plan-matrix.d.ts.map +0 -1
- package/dist/elements/overview/ca-plan-matrix.js +0 -113
- package/dist/elements/overview/ca-plan-matrix.js.map +0 -1
- package/dist/elements/overview/flow-types.d.ts +0 -2
- package/dist/elements/overview/flow-types.d.ts.map +0 -1
- package/dist/elements/overview/flow-types.js +0 -2
- package/dist/elements/overview/flow-types.js.map +0 -1
- package/dist/elements/overview/graph/arrange.d.ts +0 -16
- package/dist/elements/overview/graph/arrange.d.ts.map +0 -1
- package/dist/elements/overview/graph/arrange.js +0 -152
- package/dist/elements/overview/graph/arrange.js.map +0 -1
- package/dist/elements/overview/graph/card.d.ts +0 -64
- package/dist/elements/overview/graph/card.d.ts.map +0 -1
- package/dist/elements/overview/graph/card.js +0 -160
- package/dist/elements/overview/graph/card.js.map +0 -1
- package/dist/elements/overview/graph/flow-index.d.ts +0 -52
- package/dist/elements/overview/graph/flow-index.d.ts.map +0 -1
- package/dist/elements/overview/graph/flow-index.js +0 -121
- package/dist/elements/overview/graph/flow-index.js.map +0 -1
- package/dist/elements/overview/graph/highlight.d.ts +0 -14
- package/dist/elements/overview/graph/highlight.d.ts.map +0 -1
- package/dist/elements/overview/graph/highlight.js +0 -33
- package/dist/elements/overview/graph/highlight.js.map +0 -1
- package/dist/elements/overview/graph/layer.d.ts +0 -32
- package/dist/elements/overview/graph/layer.d.ts.map +0 -1
- package/dist/elements/overview/graph/layer.js +0 -92
- package/dist/elements/overview/graph/layer.js.map +0 -1
- package/dist/elements/overview/graph/layout.d.ts +0 -80
- package/dist/elements/overview/graph/layout.d.ts.map +0 -1
- package/dist/elements/overview/graph/layout.js +0 -261
- package/dist/elements/overview/graph/layout.js.map +0 -1
- package/dist/elements/overview/graph/marks.d.ts +0 -18
- package/dist/elements/overview/graph/marks.d.ts.map +0 -1
- package/dist/elements/overview/graph/marks.js +0 -17
- package/dist/elements/overview/graph/marks.js.map +0 -1
- package/dist/elements/overview/graph/matrix.d.ts +0 -58
- package/dist/elements/overview/graph/matrix.d.ts.map +0 -1
- package/dist/elements/overview/graph/matrix.js +0 -93
- package/dist/elements/overview/graph/matrix.js.map +0 -1
- package/dist/elements/overview/graph/nav.d.ts +0 -15
- package/dist/elements/overview/graph/nav.d.ts.map +0 -1
- package/dist/elements/overview/graph/nav.js +0 -80
- package/dist/elements/overview/graph/nav.js.map +0 -1
- package/dist/elements/overview/graph/pan-zoom.d.ts +0 -83
- package/dist/elements/overview/graph/pan-zoom.d.ts.map +0 -1
- package/dist/elements/overview/graph/pan-zoom.js +0 -189
- package/dist/elements/overview/graph/pan-zoom.js.map +0 -1
- package/dist/elements/overview/graph/paths.d.ts +0 -9
- package/dist/elements/overview/graph/paths.d.ts.map +0 -1
- package/dist/elements/overview/graph/paths.js +0 -44
- package/dist/elements/overview/graph/paths.js.map +0 -1
- package/dist/elements/overview/graph/place-card.d.ts +0 -36
- package/dist/elements/overview/graph/place-card.d.ts.map +0 -1
- package/dist/elements/overview/graph/place-card.js +0 -68
- package/dist/elements/overview/graph/place-card.js.map +0 -1
- package/dist/elements/overview/graph/project.d.ts +0 -31
- package/dist/elements/overview/graph/project.d.ts.map +0 -1
- package/dist/elements/overview/graph/project.js +0 -455
- package/dist/elements/overview/graph/project.js.map +0 -1
- package/dist/elements/overview/graph/selection.d.ts +0 -31
- package/dist/elements/overview/graph/selection.d.ts.map +0 -1
- package/dist/elements/overview/graph/selection.js +0 -44
- package/dist/elements/overview/graph/selection.js.map +0 -1
- package/dist/elements/overview/graph/states.d.ts +0 -6
- package/dist/elements/overview/graph/states.d.ts.map +0 -1
- package/dist/elements/overview/graph/states.js +0 -5
- package/dist/elements/overview/graph/states.js.map +0 -1
- package/dist/elements/overview/graph/types.d.ts +0 -124
- package/dist/elements/overview/graph/types.d.ts.map +0 -1
- package/dist/elements/overview/graph/types.js +0 -3
- package/dist/elements/overview/graph/types.js.map +0 -1
- package/dist/elements/overview/graph/view.d.ts +0 -16
- package/dist/elements/overview/graph/view.d.ts.map +0 -1
- package/dist/elements/overview/graph/view.js +0 -20
- package/dist/elements/overview/graph/view.js.map +0 -1
- package/dist/elements/overview/kpis-model.d.ts +0 -31
- package/dist/elements/overview/kpis-model.d.ts.map +0 -1
- package/dist/elements/overview/kpis-model.js +0 -30
- package/dist/elements/overview/kpis-model.js.map +0 -1
- package/dist/elements/overview/logic.d.ts +0 -442
- package/dist/elements/overview/logic.d.ts.map +0 -1
- package/dist/elements/overview/logic.js +0 -1431
- package/dist/elements/overview/logic.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/dag.d.ts +0 -4
- package/dist/elements/overview/pipeline-graph/dag.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/dag.js +0 -259
- package/dist/elements/overview/pipeline-graph/dag.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/icons.d.ts +0 -5
- package/dist/elements/overview/pipeline-graph/icons.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/icons.js +0 -13
- package/dist/elements/overview/pipeline-graph/icons.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/legend.d.ts +0 -9
- package/dist/elements/overview/pipeline-graph/legend.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/legend.js +0 -59
- package/dist/elements/overview/pipeline-graph/legend.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/matrix.d.ts +0 -4
- package/dist/elements/overview/pipeline-graph/matrix.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/matrix.js +0 -193
- package/dist/elements/overview/pipeline-graph/matrix.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/table.d.ts +0 -11
- package/dist/elements/overview/pipeline-graph/table.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/table.js +0 -74
- package/dist/elements/overview/pipeline-graph/table.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/tools.d.ts +0 -5
- package/dist/elements/overview/pipeline-graph/tools.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/tools.js +0 -48
- package/dist/elements/overview/pipeline-graph/tools.js.map +0 -1
- package/dist/elements/overview/pipeline-graph/words.d.ts +0 -45
- package/dist/elements/overview/pipeline-graph/words.d.ts.map +0 -1
- package/dist/elements/overview/pipeline-graph/words.js +0 -108
- package/dist/elements/overview/pipeline-graph/words.js.map +0 -1
- package/dist/elements/overview/place-card.d.ts +0 -36
- package/dist/elements/overview/place-card.d.ts.map +0 -1
- package/dist/elements/overview/place-card.js +0 -68
- package/dist/elements/overview/place-card.js.map +0 -1
- package/dist/elements/overview/timeline-model.d.ts +0 -44
- package/dist/elements/overview/timeline-model.d.ts.map +0 -1
- package/dist/elements/overview/timeline-model.js +0 -53
- package/dist/elements/overview/timeline-model.js.map +0 -1
- package/dist/elements/shared/ca-count.d.ts +0 -17
- package/dist/elements/shared/ca-count.d.ts.map +0 -1
- package/dist/elements/shared/ca-count.js +0 -59
- package/dist/elements/shared/ca-count.js.map +0 -1
- package/dist/elements/shared/ca-elapsed.d.ts +0 -14
- package/dist/elements/shared/ca-elapsed.d.ts.map +0 -1
- package/dist/elements/shared/ca-elapsed.js +0 -33
- package/dist/elements/shared/ca-elapsed.js.map +0 -1
- package/dist/elements/shared/ca-json-tree.d.ts +0 -16
- package/dist/elements/shared/ca-json-tree.d.ts.map +0 -1
- package/dist/elements/shared/ca-json-tree.js +0 -52
- package/dist/elements/shared/ca-json-tree.js.map +0 -1
- package/dist/elements/shared/ca-markdown.d.ts +0 -19
- package/dist/elements/shared/ca-markdown.d.ts.map +0 -1
- package/dist/elements/shared/ca-markdown.js +0 -59
- package/dist/elements/shared/ca-markdown.js.map +0 -1
- package/dist/elements/shared/fact-line.d.ts +0 -4
- package/dist/elements/shared/fact-line.d.ts.map +0 -1
- package/dist/elements/shared/fact-line.js +0 -8
- package/dist/elements/shared/fact-line.js.map +0 -1
- package/dist/elements/task/rounds.d.ts +0 -14
- package/dist/elements/task/rounds.d.ts.map +0 -1
- package/dist/elements/task/rounds.js +0 -59
- package/dist/elements/task/rounds.js.map +0 -1
- package/dist/elements/task/transcript-model.d.ts +0 -106
- package/dist/elements/task/transcript-model.d.ts.map +0 -1
- package/dist/elements/task/transcript-model.js +0 -280
- package/dist/elements/task/transcript-model.js.map +0 -1
- package/dist/elements/task/who.d.ts +0 -5
- package/dist/elements/task/who.d.ts.map +0 -1
- package/dist/elements/task/who.js +0 -30
- package/dist/elements/task/who.js.map +0 -1
- package/dist/events.d.ts +0 -107
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -5
- package/dist/events.js.map +0 -1
- package/dist/i18n.d.ts +0 -16
- package/dist/i18n.d.ts.map +0 -1
- package/dist/i18n.js +0 -48
- package/dist/i18n.js.map +0 -1
- package/dist/lib/clock.d.ts +0 -20
- package/dist/lib/clock.d.ts.map +0 -1
- package/dist/lib/clock.js +0 -45
- package/dist/lib/clock.js.map +0 -1
- package/dist/lib/format.d.ts +0 -35
- package/dist/lib/format.d.ts.map +0 -1
- package/dist/lib/format.js +0 -117
- package/dist/lib/format.js.map +0 -1
- package/dist/lib/highlight.d.ts +0 -5
- package/dist/lib/highlight.d.ts.map +0 -1
- package/dist/lib/highlight.js +0 -86
- package/dist/lib/highlight.js.map +0 -1
- package/dist/lib/labels.d.ts +0 -103
- package/dist/lib/labels.d.ts.map +0 -1
- package/dist/lib/labels.js +0 -249
- package/dist/lib/labels.js.map +0 -1
- package/dist/lib/markdown.d.ts +0 -13
- package/dist/lib/markdown.d.ts.map +0 -1
- package/dist/lib/markdown.js +0 -118
- package/dist/lib/markdown.js.map +0 -1
- package/dist/lib/memory.d.ts +0 -27
- package/dist/lib/memory.d.ts.map +0 -1
- package/dist/lib/memory.js +0 -117
- package/dist/lib/memory.js.map +0 -1
- package/dist/lib/quota-format.d.ts +0 -28
- package/dist/lib/quota-format.d.ts.map +0 -1
- package/dist/lib/quota-format.js +0 -67
- package/dist/lib/quota-format.js.map +0 -1
- package/dist/lib/scroll.d.ts +0 -16
- package/dist/lib/scroll.d.ts.map +0 -1
- package/dist/lib/scroll.js +0 -70
- package/dist/lib/scroll.js.map +0 -1
- package/dist/lib/status.d.ts +0 -25
- package/dist/lib/status.d.ts.map +0 -1
- package/dist/lib/status.js +0 -40
- package/dist/lib/status.js.map +0 -1
- package/dist/route.d.ts +0 -46
- package/dist/route.d.ts.map +0 -1
- package/dist/route.js +0 -102
- package/dist/route.js.map +0 -1
- package/dist/router.d.ts +0 -23
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -55
- package/dist/router.js.map +0 -1
- package/dist/styles/base.d.ts +0 -11
- package/dist/styles/base.d.ts.map +0 -1
- package/dist/styles/base.js +0 -241
- package/dist/styles/base.js.map +0 -1
- package/dist/styles/chips.d.ts +0 -2
- package/dist/styles/chips.d.ts.map +0 -1
- package/dist/styles/chips.js +0 -18
- package/dist/styles/chips.js.map +0 -1
- package/dist/styles/executor-icon.d.ts +0 -3
- package/dist/styles/executor-icon.d.ts.map +0 -1
- package/dist/styles/executor-icon.js +0 -9
- package/dist/styles/executor-icon.js.map +0 -1
- package/dist/styles/facts.d.ts +0 -2
- package/dist/styles/facts.d.ts.map +0 -1
- package/dist/styles/facts.js +0 -7
- package/dist/styles/facts.js.map +0 -1
- package/dist/styles/index.d.ts +0 -17
- package/dist/styles/index.d.ts.map +0 -1
- package/dist/styles/index.js +0 -16
- package/dist/styles/index.js.map +0 -1
- package/dist/styles/layout.d.ts +0 -2
- package/dist/styles/layout.d.ts.map +0 -1
- package/dist/styles/layout.js +0 -30
- package/dist/styles/layout.js.map +0 -1
- package/dist/styles/legend.d.ts +0 -2
- package/dist/styles/legend.d.ts.map +0 -1
- package/dist/styles/legend.js +0 -8
- package/dist/styles/legend.js.map +0 -1
- package/dist/styles/meter.d.ts +0 -3
- package/dist/styles/meter.d.ts.map +0 -1
- package/dist/styles/meter.js +0 -9
- package/dist/styles/meter.js.map +0 -1
- package/dist/styles/motion.d.ts +0 -2
- package/dist/styles/motion.d.ts.map +0 -1
- package/dist/styles/motion.js +0 -27
- package/dist/styles/motion.js.map +0 -1
- package/dist/styles/prose.d.ts +0 -3
- package/dist/styles/prose.d.ts.map +0 -1
- package/dist/styles/prose.js +0 -59
- package/dist/styles/prose.js.map +0 -1
- package/dist/styles/reset.d.ts +0 -2
- package/dist/styles/reset.d.ts.map +0 -1
- package/dist/styles/reset.js +0 -13
- package/dist/styles/reset.js.map +0 -1
- package/dist/styles/status.d.ts +0 -2
- package/dist/styles/status.d.ts.map +0 -1
- package/dist/styles/status.js +0 -52
- package/dist/styles/status.js.map +0 -1
- package/dist/styles/text.d.ts +0 -2
- package/dist/styles/text.d.ts.map +0 -1
- package/dist/styles/text.js +0 -21
- package/dist/styles/text.js.map +0 -1
- package/dist/styles/theme-sheet.d.ts +0 -12
- package/dist/styles/theme-sheet.d.ts.map +0 -1
- package/dist/styles/theme-sheet.js +0 -24
- package/dist/styles/theme-sheet.js.map +0 -1
- package/dist/styles/themes.d.ts +0 -75
- package/dist/styles/themes.d.ts.map +0 -1
- package/dist/styles/themes.js +0 -452
- package/dist/styles/themes.js.map +0 -1
- package/dist/styles/tokens.d.ts +0 -8
- package/dist/styles/tokens.d.ts.map +0 -1
- package/dist/styles/tokens.js +0 -32
- package/dist/styles/tokens.js.map +0 -1
- package/dist/themes/boot.d.ts +0 -7
- package/dist/themes/boot.d.ts.map +0 -1
- package/dist/themes/boot.js +0 -14
- package/dist/themes/boot.js.map +0 -1
- package/dist/themes/choice.d.ts +0 -16
- package/dist/themes/choice.d.ts.map +0 -1
- package/dist/themes/choice.js +0 -45
- package/dist/themes/choice.js.map +0 -1
- package/dist/themes/data.d.ts +0 -42
- package/dist/themes/data.d.ts.map +0 -1
- package/dist/themes/data.js +0 -356
- package/dist/themes/data.js.map +0 -1
- package/dist/themes/index.d.ts +0 -5
- package/dist/themes/index.d.ts.map +0 -1
- package/dist/themes/index.js +0 -8
- package/dist/themes/index.js.map +0 -1
- package/dist/themes/sheet.d.ts +0 -12
- package/dist/themes/sheet.d.ts.map +0 -1
- package/dist/themes/sheet.js +0 -24
- package/dist/themes/sheet.js.map +0 -1
- package/dist/themes/tokens-list.d.ts +0 -15
- package/dist/themes/tokens-list.d.ts.map +0 -1
- package/dist/themes/tokens-list.js +0 -62
- package/dist/themes/tokens-list.js.map +0 -1
- package/dist/words/units.d.ts +0 -9
- package/dist/words/units.d.ts.map +0 -1
- package/dist/words/units.js +0 -12
- package/dist/words/units.js.map +0 -1
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// The words for what the view shows.
|
|
2
|
-
import { legend as legendRow } from '@contraagent/elements/primitives';
|
|
3
|
-
import { msg } from '@lit/localize';
|
|
4
|
-
import { html, svg } from 'lit';
|
|
5
|
-
import { executorIcon } from '../../../words/executor.js';
|
|
6
|
-
import { asBar } from '../graph/marks.js';
|
|
7
|
-
import { slotsOf } from './host.js';
|
|
8
|
-
import { innerIcon } from './icons.js';
|
|
9
|
-
import { LEGEND, stateWord } from './words.js';
|
|
10
|
-
/**
|
|
11
|
-
* What the view shows that needs a word: the states of the marks shown, the pass number
|
|
12
|
-
* when a mark shows one, who runs the kind nodes' tasks, the kinds of edges when there is
|
|
13
|
-
* more than one, a loop's return to its next pass, and the mark of a node or a box with an
|
|
14
|
-
* inner view.
|
|
15
|
-
*/
|
|
16
|
-
export function legend(h) {
|
|
17
|
-
const mx = h.matrix;
|
|
18
|
-
const g = h.graph;
|
|
19
|
-
const flat = h.asTable && !mx;
|
|
20
|
-
// The marks drawn: a node with a bar draws its failed marks only; the table draws none.
|
|
21
|
-
const marks = flat
|
|
22
|
-
? []
|
|
23
|
-
: mx
|
|
24
|
-
? mx.rows.flatMap((r) => r.cells)
|
|
25
|
-
: g.nodes.flatMap((n) => (asBar(n) ? slotsOf(n).map((m) => m && { ...m, passes: undefined }) : slotsOf(n)));
|
|
26
|
-
const shown = marks.filter((m) => m !== null);
|
|
27
|
-
const present = new Set(shown.map((m) => m.state));
|
|
28
|
-
const passes = !mx && shown.some((m) => m.passes);
|
|
29
|
-
const created = !mx && !flat && [...g.edges, ...g.stubs].some((e) => e.type === 'created');
|
|
30
|
-
const nodes = mx ? mx.columns.map((c) => c.node) : g.nodes;
|
|
31
|
-
const ex = new Set(nodes.flatMap((n) => (n.executor === 'mixed' ? ['agent', 'python'] : n.executor ? [n.executor] : [])));
|
|
32
|
-
const loops = !mx && !flat && g.boxes.length > 0;
|
|
33
|
-
const inner = !mx && (loops || g.nodes.some((n) => n.type === 'flow'));
|
|
34
|
-
const line = (dash) => svg `<svg width="22" height="8" aria-hidden="true"><path d="M1,4 H21" stroke-dasharray=${dash ? '5 4' : 'none'}></path></svg>`;
|
|
35
|
-
const items = [
|
|
36
|
-
...LEGEND.filter((s) => present.has(s)).map((s) => ({ label: stateWord(s, h.live), icon: html `<i class="mark ${s}"></i>`, decorative: true })),
|
|
37
|
-
...(passes ? [{ label: msg('number of passes'), icon: html `<i class="mark done" data-n="2"></i>`, decorative: true }] : []),
|
|
38
|
-
...(ex.has('agent') ? [{ label: msg('agent task'), icon: executorIcon(false) }] : []),
|
|
39
|
-
...(ex.has('python') ? [{ label: msg('Python task'), icon: executorIcon(true) }] : []),
|
|
40
|
-
...(created
|
|
41
|
-
? [
|
|
42
|
-
{ label: msg('waits for output'), icon: line(false) },
|
|
43
|
-
{ label: msg('created after result'), icon: line(true) },
|
|
44
|
-
]
|
|
45
|
-
: []),
|
|
46
|
-
...(loops
|
|
47
|
-
? [
|
|
48
|
-
{
|
|
49
|
-
label: msg('next pass'),
|
|
50
|
-
icon: html `<svg width="24" height="12" aria-hidden="true"><path class="ret" d="M20,1.5 V5.5 Q20,9.5 16,9.5 H8 Q4,9.5 4,5.5 V5"></path>
|
|
51
|
-
<path class="ret-head" d="M4,0.8 L1.4,5 L6.6,5 z"></path></svg>`,
|
|
52
|
-
},
|
|
53
|
-
]
|
|
54
|
-
: []),
|
|
55
|
-
...(inner ? [{ label: msg('has an inner view'), icon: innerIcon() }] : []),
|
|
56
|
-
];
|
|
57
|
-
return legendRow(items, { cls: 'big' });
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=legend.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legend.js","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/legend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/matrix.ts"],"names":[],"mappings":"AAQA,OAAO,EAA8D,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKjH,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAG7F,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,mCAyGtD"}
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
// A loop's passes: a row per unit, a column per node and pass, the nested loops'
|
|
2
|
-
// passes as nested groups of columns; only the rows in view above `WINDOW_AT` rows.
|
|
3
|
-
import { msg, str } from '@lit/localize';
|
|
4
|
-
import { html, nothing } from 'lit';
|
|
5
|
-
import { repeat } from 'lit/directives/repeat.js';
|
|
6
|
-
import { executorIcon } from '../../../words/executor.js';
|
|
7
|
-
import { facts, listText } from '../../../words/format.js';
|
|
8
|
-
import { loopLabel, passCount, passLabel, passSpread } from '../../../words/index.js';
|
|
9
|
-
import { sortRows } from '../graph/matrix.js';
|
|
10
|
-
import { gridStep } from '../graph/nav.js';
|
|
11
|
-
import { markSel } from '../graph/selection.js';
|
|
12
|
-
import { focusSelect, open, select } from './actions.js';
|
|
13
|
-
import { OVERSCAN, ROW_H, WINDOW_AT, causeOf, highlighted } from './host.js';
|
|
14
|
-
import { executorWord, markText, where } from './words.js';
|
|
15
|
-
export function matrixView(h, mx) {
|
|
16
|
-
const rows = sortRows(mx.rows, h.sort);
|
|
17
|
-
const cols = mx.columns;
|
|
18
|
-
const hl = highlighted(h);
|
|
19
|
-
// Where a group of columns starts: 0 at a pass of the loop shown, 1 at a pass of a loop in it, ...
|
|
20
|
-
const starts = cols.map((c, i) => {
|
|
21
|
-
const p = cols[i - 1]?.passes;
|
|
22
|
-
if (!p)
|
|
23
|
-
return -1;
|
|
24
|
-
const k = c.passes.findIndex((x, j) => x !== p[j]);
|
|
25
|
-
return k < 0 ? (c.passes.length !== p.length ? Math.min(c.passes.length, p.length) : -1) : k;
|
|
26
|
-
});
|
|
27
|
-
const groupCls = (ci) => (starts[ci] === 0 ? 'g0' : (starts[ci] ?? -1) > 0 ? 'g1' : '');
|
|
28
|
-
const headRows = mx.head.length;
|
|
29
|
-
// The rows in view (all of them up to `WINDOW_AT`).
|
|
30
|
-
const many = rows.length > WINDOW_AT;
|
|
31
|
-
const from = many ? Math.max(0, h.scrollRow - OVERSCAN) : 0;
|
|
32
|
-
const to = many ? Math.min(rows.length, h.scrollRow + 2 * OVERSCAN + 20) : rows.length;
|
|
33
|
-
const cur = h.cell && h.cell[0] < rows.length ? h.cell : firstCell(rows);
|
|
34
|
-
const units = mx.rows.filter((r) => r.unit).length;
|
|
35
|
-
// A header cell's class: where a group of columns starts.
|
|
36
|
-
const headCls = (col) => (col === 0 || starts[col] === 0 ? 'g0' : (starts[col] ?? -1) > 0 ? 'g1' : '');
|
|
37
|
-
const headCell = (hd, col, level) => {
|
|
38
|
-
const style = `top:${level * 22}px`;
|
|
39
|
-
if (hd.type === 'pass')
|
|
40
|
-
return html `<th scope="colgroup" colspan=${hd.span} class="pass ${headCls(col)}" style=${style}
|
|
41
|
-
title=${hd.box.id === mx.box.id ? msg(str `Loop at ${where(hd.box.loop, hd.box.file)}`) : msg(str `Nested loop at ${where(hd.box.loop, hd.box.file)}`)}>${passLabel(hd.pass)}</th>`;
|
|
42
|
-
if (hd.type === 'loop')
|
|
43
|
-
return html `<th scope="colgroup" colspan=${hd.span} class="loop ${headCls(col)}" style=${style}
|
|
44
|
-
title=${msg(str `Nested loop at ${where(hd.box.loop, hd.box.file)}`)}>${loopLabel()}</th>`;
|
|
45
|
-
return html `<th scope="col" rowspan=${hd.rows} class="nh ${headCls(col)}" style=${style}
|
|
46
|
-
title=${hd.node.type === 'flow' ? msg(str `Function ${hd.node.name}`) : facts(hd.node.label, executorWord(hd.node))}
|
|
47
|
-
aria-label=${hd.node.type === 'flow' ? hd.node.label : facts(hd.node.label, executorWord(hd.node))}>${hd.node.executor && hd.node.executor !== 'mixed'
|
|
48
|
-
? executorIcon(hd.node.executor === 'python')
|
|
49
|
-
: nothing}${hd.node.label}</th>`;
|
|
50
|
-
};
|
|
51
|
-
// The column each cell of a header row starts at: a cell under one that spans down starts after it.
|
|
52
|
-
const firstCols = (level) => {
|
|
53
|
-
const out = [];
|
|
54
|
-
let c = 0;
|
|
55
|
-
for (const hd of mx.head[level] ?? []) {
|
|
56
|
-
while (spannedAt(mx.head, level, c))
|
|
57
|
-
c++;
|
|
58
|
-
out.push(c);
|
|
59
|
-
c += hd.span;
|
|
60
|
-
}
|
|
61
|
-
return out;
|
|
62
|
-
};
|
|
63
|
-
const summary = [
|
|
64
|
-
passCount(mx.box.passes),
|
|
65
|
-
mx.box.spread.length > 1 ? passSpread(mx.box.spread) : '',
|
|
66
|
-
units === 1 ? msg('1 unit') : msg(str `${units} units`),
|
|
67
|
-
].filter(Boolean);
|
|
68
|
-
// In the graph's frame, at least as tall as the graph was (and as the card needs), the passes centred in it.
|
|
69
|
-
const least = h.down ? 0 : Math.round(Math.max(h.pz.frameH, h.card.room));
|
|
70
|
-
return html `<div class="frame mxframe" style=${least ? `min-height:${least}px` : ''}><div class="mxblock view">
|
|
71
|
-
<div class="mxbar">
|
|
72
|
-
<span class="cap" title=${mx.box.file ? `${mx.box.file}:${mx.box.loop}` : nothing}>${msg(str `Loop at ${where(mx.box.loop, mx.box.file)}`)}</span>
|
|
73
|
-
<label>${msg('Sort units')}
|
|
74
|
-
<select @change=${(e) => (h.sort = e.target.value)}>
|
|
75
|
-
<option value="order" ?selected=${h.sort === 'order'}>${msg('Scheduled order')}</option>
|
|
76
|
-
<option value="passes" ?selected=${h.sort === 'passes'}>${msg('Number of passes')}</option>
|
|
77
|
-
<option value="state" ?selected=${h.sort === 'state'}>${msg('Status', { id: 'status', desc: 'The status of a task: done, failed, not started' })}</option>
|
|
78
|
-
</select>
|
|
79
|
-
</label>
|
|
80
|
-
<span class="sum">${summary.map((t, i) => html `${i ? html `<span class="sep"> | </span>` : nothing}<span class="f">${t}</span>`)}</span>
|
|
81
|
-
</div>
|
|
82
|
-
<div class="mx ${hl ? 'hl' : ''}" @scroll=${(e) => onMatrixScroll(h, e)} @mouseleave=${() => (h.hover = null)}>
|
|
83
|
-
<table class="matrix big" role="grid" aria-rowcount=${rows.length + headRows} aria-colcount=${cols.length + 2}
|
|
84
|
-
aria-label=${facts(msg(str `Loop at ${where(mx.box.loop, mx.box.file)}`), passCount(mx.box.passes))}>
|
|
85
|
-
<thead>
|
|
86
|
-
${mx.head.map((hr, level) => {
|
|
87
|
-
const fc = firstCols(level);
|
|
88
|
-
return html `<tr>
|
|
89
|
-
${level === 0
|
|
90
|
-
? html `<th scope="col" rowspan=${headRows} class="uh" style="top:0">${msg('Unit')}</th>
|
|
91
|
-
<th scope="col" rowspan=${headRows} class="pn" style="top:0" title=${msg('Passes of this loop')}>${msg('Passes')}</th>`
|
|
92
|
-
: nothing}
|
|
93
|
-
${hr.map((hd, i) => headCell(hd, fc[i] ?? 0, level))}
|
|
94
|
-
</tr>`;
|
|
95
|
-
})}
|
|
96
|
-
</thead>
|
|
97
|
-
<tbody @keydown=${(e) => onMatrixKey(h, e, rows)}>
|
|
98
|
-
${from > 0 ? html `<tr class="gap" aria-hidden="true"><td colspan=${cols.length + 2} style="height:${from * ROW_H}px"></td></tr>` : nothing}
|
|
99
|
-
${repeat(rows.slice(from, to), (r) => r.unit, (r, k) => {
|
|
100
|
-
const ri = from + k;
|
|
101
|
-
return html `<tr class=${r.unit && r.unit === hl ? 'on' : ''} aria-rowindex=${ri + headRows + 1}>
|
|
102
|
-
${r.unit
|
|
103
|
-
? html `<th scope="row" title=${r.unit}>${r.unit}</th>`
|
|
104
|
-
: html `<th scope="row" class="none" title=${msg('Tasks that run once per run, not once per unit')}>${msg('No unit')}</th>`}
|
|
105
|
-
<td class="pn ${r.passes > 1 ? 'many' : ''}">${r.passes}</td>
|
|
106
|
-
${r.cells.map((m, ci) => {
|
|
107
|
-
const col = cols[ci];
|
|
108
|
-
const focusable = !!m && cur !== null && cur[0] === ri && cur[1] === ci;
|
|
109
|
-
return html `<td class="c ${groupCls(ci)}" role="gridcell">${m && col ? cellMark(h, r, m, ri, ci, col.node, col.passes, focusable) : nothing}</td>`;
|
|
110
|
-
})}
|
|
111
|
-
</tr>`;
|
|
112
|
-
})}
|
|
113
|
-
${to < rows.length ? html `<tr class="gap" aria-hidden="true"><td colspan=${cols.length + 2} style="height:${(rows.length - to) * ROW_H}px"></td></tr>` : nothing}
|
|
114
|
-
</tbody>
|
|
115
|
-
</table>
|
|
116
|
-
</div>
|
|
117
|
-
</div></div>`;
|
|
118
|
-
}
|
|
119
|
-
function cellMark(h, r, m, ri, ci, node, passes, tabStop) {
|
|
120
|
-
const { name, parts } = markText(node.label, m, { task: h.links.byKey.get(m.key), causeOf: (k) => causeOf(h, k), live: h.live }, listText(passes.map(passLabel)));
|
|
121
|
-
const hlKey = m.unit || m.key;
|
|
122
|
-
const id = markSel(node.id, m, passes);
|
|
123
|
-
const sel = h.sel === id;
|
|
124
|
-
return html `<button type="button" class="mark ${m.state} ${r.unit && r.unit === highlighted(h) ? 'on' : ''} ${sel ? 'sel' : ''}" data-r=${ri} data-c=${ci} tabindex=${tabStop ? 0 : -1}
|
|
125
|
-
title=${[name, parts[0] ?? ''].filter(Boolean).join('\n')} aria-label=${facts(name, ...parts)} aria-pressed=${sel}
|
|
126
|
-
@mouseenter=${() => (h.hover = hlKey)}
|
|
127
|
-
@focus=${() => {
|
|
128
|
-
h.hover = hlKey;
|
|
129
|
-
h.cell = [ri, ci];
|
|
130
|
-
focusSelect(h, id);
|
|
131
|
-
}}
|
|
132
|
-
@blur=${() => (h.hover = null)}
|
|
133
|
-
@click=${() => select(h, id)}
|
|
134
|
-
@dblclick=${() => open(h, m)}></button>`;
|
|
135
|
-
}
|
|
136
|
-
/** The first mark of the sorted rows, as (row, column). */
|
|
137
|
-
function firstCell(rows) {
|
|
138
|
-
for (let i = 0; i < rows.length; i++) {
|
|
139
|
-
const j = rows[i]?.cells.findIndex((c) => c !== null) ?? -1;
|
|
140
|
-
if (j >= 0)
|
|
141
|
-
return [i, j];
|
|
142
|
-
}
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
function onMatrixScroll(h, e) {
|
|
146
|
-
const top = Math.floor(e.currentTarget.scrollTop / ROW_H);
|
|
147
|
-
if (Math.abs(top - h.scrollRow) >= OVERSCAN / 2)
|
|
148
|
-
h.scrollRow = top;
|
|
149
|
-
h.card.place();
|
|
150
|
-
}
|
|
151
|
-
function onMatrixKey(h, e, rows) {
|
|
152
|
-
const t = e.target;
|
|
153
|
-
if (!t.classList.contains('mark'))
|
|
154
|
-
return;
|
|
155
|
-
const r = Number(t.dataset['r']);
|
|
156
|
-
const c = Number(t.dataset['c']);
|
|
157
|
-
if (e.key === 'Enter') {
|
|
158
|
-
const m = rows[r]?.cells[c];
|
|
159
|
-
e.preventDefault();
|
|
160
|
-
if (m)
|
|
161
|
-
open(h, m);
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
const has = rows.map((row) => row.cells.map((x) => x !== null));
|
|
165
|
-
const next = gridStep(has, r, c, e.key, e.ctrlKey || e.metaKey);
|
|
166
|
-
if (!next)
|
|
167
|
-
return;
|
|
168
|
-
e.preventDefault();
|
|
169
|
-
h.cell = next;
|
|
170
|
-
const box = h.root.querySelector('.mx');
|
|
171
|
-
if (box && rows.length > WINDOW_AT) {
|
|
172
|
-
// Bring the row into view first: only the rows in view are drawn.
|
|
173
|
-
const y = next[0] * ROW_H;
|
|
174
|
-
if (y < box.scrollTop + ROW_H * 2 || y > box.scrollTop + box.clientHeight - ROW_H * 3)
|
|
175
|
-
box.scrollTop = Math.max(0, y - box.clientHeight / 2);
|
|
176
|
-
h.scrollRow = Math.floor(box.scrollTop / ROW_H);
|
|
177
|
-
}
|
|
178
|
-
h.el.requestUpdate();
|
|
179
|
-
void h.el.updateComplete.then(() => h.root.querySelector(`.matrix .mark[data-r="${next[0]}"][data-c="${next[1]}"]`)?.focus());
|
|
180
|
-
}
|
|
181
|
-
/** A header row's column `c` is under a cell of an earlier row that spans down past it. */
|
|
182
|
-
function spannedAt(head, level, c) {
|
|
183
|
-
for (let l = 0; l < level; l++) {
|
|
184
|
-
let x = 0;
|
|
185
|
-
for (const hd of head[l] ?? []) {
|
|
186
|
-
if (c >= x && c < x + hd.span && l + hd.rows > level)
|
|
187
|
-
return true;
|
|
188
|
-
x += hd.span;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
//# sourceMappingURL=matrix.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/matrix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { GraphNode } from '../graph/types.js';
|
|
2
|
-
import type { GraphHost } from './host.js';
|
|
3
|
-
/**
|
|
4
|
-
* The layer as a table, in the graph's frame: a row per node with its status (the graph
|
|
5
|
-
* node's facts: done of all, then the others by state) and the nodes it waits for, was
|
|
6
|
-
* created after and feeds. A row is selected as a node is, with the same card.
|
|
7
|
-
*/
|
|
8
|
-
export declare function table(h: GraphHost): import("lit").TemplateResult<1>;
|
|
9
|
-
/** A node's status in one row, as its node in the graph says it: "28/30 | 1 failed | 1 not started". */
|
|
10
|
-
export declare function statusLine(n: GraphNode, live: boolean): import("lit").TemplateResult<1>;
|
|
11
|
-
//# sourceMappingURL=table.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/table.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,SAAS,mCAoDjC;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,mCAMrD"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
// A layer as a table, in the graph's frame: a row per node.
|
|
2
|
-
import { msg, str } from '@lit/localize';
|
|
3
|
-
import { html, nothing } from 'lit';
|
|
4
|
-
import { repeat } from 'lit/directives/repeat.js';
|
|
5
|
-
import { executorIcon } from '../../../words/executor.js';
|
|
6
|
-
import { facts, listText } from '../../../words/format.js';
|
|
7
|
-
import { passCount } from '../../../words/index.js';
|
|
8
|
-
import { FRAME_MIN, FRAME_SHARE } from '../graph/pan-zoom.js';
|
|
9
|
-
import { focusSelect, go, onNameKey, primary, select } from './actions.js';
|
|
10
|
-
import { innerIcon, loopIcon } from './icons.js';
|
|
11
|
-
import { doneOf, exceptions, neighbours, nodeTip, where } from './words.js';
|
|
12
|
-
/**
|
|
13
|
-
* The layer as a table, in the graph's frame: a row per node with its status (the graph
|
|
14
|
-
* node's facts: done of all, then the others by state) and the nodes it waits for, was
|
|
15
|
-
* created after and feeds. A row is selected as a node is, with the same card.
|
|
16
|
-
*/
|
|
17
|
-
export function table(h) {
|
|
18
|
-
const g = h.graph;
|
|
19
|
-
const nodes = g.nodes;
|
|
20
|
-
const flows = nodes.some((n) => n.type === 'flow');
|
|
21
|
-
const created = [...g.edges, ...g.stubs].some((e) => e.type === 'created');
|
|
22
|
-
const boxes = new Map(g.boxes.map((b) => [b.id, b]));
|
|
23
|
-
const list = (xs) => listText(xs) || msg('none', { id: 'none', desc: 'An empty value' });
|
|
24
|
-
// The frame keeps the graph's height when the graph of this layer was drawn (left to right); else the table's own, up to the frame's limit.
|
|
25
|
-
const height = !h.down && h.layPath === g.path.join('/') && h.pz.frameH > 0
|
|
26
|
-
? `height:${Math.round(h.pz.frameH)}px`
|
|
27
|
-
: `max-height:max(${FRAME_MIN}px, ${FRAME_SHARE * 100}vh)`;
|
|
28
|
-
return html `<div class="frame tframe" style=${height} @scroll=${() => h.card.place()}
|
|
29
|
-
@click=${(e) => !e.target.closest('tbody tr') && select(h, '')}>
|
|
30
|
-
<table class="list view">
|
|
31
|
-
<thead>
|
|
32
|
-
<tr>
|
|
33
|
-
<th scope="col" class="fit">${flows ? msg('Kind or function') : msg('Kind')}</th>
|
|
34
|
-
<th scope="col" class="fit">${msg('Status', { id: 'status', desc: 'The status of a task: done, failed, not started' })}</th>
|
|
35
|
-
<th scope="col">${msg('Waits for')}</th>
|
|
36
|
-
${created ? html `<th scope="col">${msg('Created after')}</th>` : nothing}
|
|
37
|
-
<th scope="col">${msg('Later tasks')}</th>
|
|
38
|
-
</tr>
|
|
39
|
-
</thead>
|
|
40
|
-
<tbody>
|
|
41
|
-
${repeat(nodes, (n) => n.id, (n) => {
|
|
42
|
-
const { waits, after, feeds } = neighbours(n, g);
|
|
43
|
-
const box = n.box ? boxes.get(n.box) : undefined;
|
|
44
|
-
const on = h.sel === n.id;
|
|
45
|
-
const icon = n.type === 'flow' ? innerIcon() : n.executor && n.executor !== 'mixed' ? executorIcon(n.executor === 'python') : n.executor ? html `${executorIcon(false)}${executorIcon(true)}` : nothing;
|
|
46
|
-
const at = box ? msg(str `Loop at ${where(box.loop, box.file)}`) : '';
|
|
47
|
-
return html `<tr class=${on ? 'sel' : ''} data-id=${n.id}
|
|
48
|
-
@click=${(e) => !e.target.closest('.loopchip') && e.detail < 2 && select(h, n.id)}
|
|
49
|
-
@dblclick=${(e) => !e.target.closest('.loopchip') && primary(h, { type: 'node', id: n.id, node: n })}>
|
|
50
|
-
<th scope="row" class="fit">
|
|
51
|
-
<span class="nm">${icon}<button type="button" class="name" title=${nodeTip(n)} aria-pressed=${on}
|
|
52
|
-
@focus=${() => focusSelect(h, n.id)} @keydown=${(e) => onNameKey(h, e, n.id)}>${n.label}</button>${box
|
|
53
|
-
? html `<button type="button" class="taskchip loopchip" title=${facts(at, passCount(box.passes))}
|
|
54
|
-
aria-label=${facts(msg(str `Passes of the loop at ${where(box.loop, box.file)}`), passCount(box.passes))}
|
|
55
|
-
@click=${() => go(h, [...g.path, box.id])}>${loopIcon(12)}${passCount(box.passes)}</button>`
|
|
56
|
-
: nothing}</span>
|
|
57
|
-
</th>
|
|
58
|
-
<td class="fit st">${statusLine(n, h.live)}</td>
|
|
59
|
-
<td class="rel">${list(waits)}</td>
|
|
60
|
-
${created ? html `<td class="rel">${list(after)}</td>` : nothing}
|
|
61
|
-
<td class="rel">${list(feeds)}</td>
|
|
62
|
-
</tr>`;
|
|
63
|
-
})}
|
|
64
|
-
</tbody>
|
|
65
|
-
</table>
|
|
66
|
-
</div>`;
|
|
67
|
-
}
|
|
68
|
-
/** A node's status in one row, as its node in the graph says it: "28/30 | 1 failed | 1 not started". */
|
|
69
|
-
export function statusLine(n, live) {
|
|
70
|
-
const c = n.counts;
|
|
71
|
-
const sep = html `<span class="sep" aria-hidden="true"> | </span>`;
|
|
72
|
-
return html `<span class="n" aria-hidden="true" title=${doneOf(c)}>${c.done}/${c.total}</span><span class="sr">${doneOf(c)}</span>${exceptions(n, live).map(([cls, t]) => html `${sep}<span class=${cls}>${t}</span>`)}`;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import '@contraagent/elements/segmented/define';
|
|
2
|
-
import type { GraphHost } from './host.js';
|
|
3
|
-
/** The legend on the left, the tools at the right end of the first line, and the keys under them while the graph has the focus. */
|
|
4
|
-
export declare function foot(h: GraphHost): import("lit").TemplateResult<1>;
|
|
5
|
-
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/tools.ts"],"names":[],"mappings":"AACA,OAAO,wCAAwC,CAAC;AAKhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,mIAAmI;AACnI,wBAAgB,IAAI,CAAC,CAAC,EAAE,SAAS,mCAOhC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// The row under the frame: the legend, the zoom buttons and the view switch, and the keys of the view shown.
|
|
2
|
-
import '@contraagent/elements/segmented/define';
|
|
3
|
-
import { msg } from '@lit/localize';
|
|
4
|
-
import { html, nothing } from 'lit';
|
|
5
|
-
import { parentLayer } from '../graph/layer.js';
|
|
6
|
-
import { showView } from './actions.js';
|
|
7
|
-
import { legend } from './legend.js';
|
|
8
|
-
/** The legend on the left, the tools at the right end of the first line, and the keys under them while the graph has the focus. */
|
|
9
|
-
export function foot(h) {
|
|
10
|
-
const table = !!h.matrix || h.asTable;
|
|
11
|
-
return html `<div class="foot">
|
|
12
|
-
${legend(h)}
|
|
13
|
-
<div class="tools">${table ? nothing : zoomTools(h)}${viewSwitch(h, table)}</div>
|
|
14
|
-
<div class="keys">${keyHints(h).map((k, i) => html `${i ? ' | ' : ''}<span>${k}</span>`)}</div>
|
|
15
|
-
</div>`;
|
|
16
|
-
}
|
|
17
|
-
/** Zoom out, zoom in, and back to the whole graph (which does nothing while the whole graph shows at its own size). */
|
|
18
|
-
function zoomTools(h) {
|
|
19
|
-
const pz = h.pz;
|
|
20
|
-
const whole = !pz.moved && pz.fitK >= 1;
|
|
21
|
-
return html `<button type="button" aria-label=${msg('Zoom out')} title=${msg('Zoom out (Ctrl + scroll)')} @click=${() => pz.zoomBy(1 / 1.25)}>−</button>
|
|
22
|
-
<button type="button" aria-label=${msg('Zoom in')} title=${msg('Zoom in (Ctrl + scroll)')} @click=${() => pz.zoomBy(1.25)}>+</button>
|
|
23
|
-
<button type="button" ?disabled=${whole} @click=${() => pz.showAll()}>${msg('Show all')}</button>`;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* The two views of a layer, at the same place in each: the graph, and the table (a loop's
|
|
27
|
-
* passes, or a row per node). From a loop's passes, the graph is the layer the loop is
|
|
28
|
-
* in, with its box selected.
|
|
29
|
-
*/
|
|
30
|
-
function viewSwitch(h, table) {
|
|
31
|
-
const options = [
|
|
32
|
-
{ value: 'graph', label: msg('Graph', { id: 'view-graph', desc: 'Button: show the pipeline as a graph' }) },
|
|
33
|
-
{ value: 'table', label: msg('Table', { id: 'view-table', desc: 'Button: show the pipeline as a table' }) },
|
|
34
|
-
];
|
|
35
|
-
return html `<cae-segmented class="views" .options=${options} .value=${table ? 'table' : 'graph'} label=${msg('View')}
|
|
36
|
-
@cae-change=${(e) => showView(h, e.detail.value === 'table' ? 'table' : 'graph')}></cae-segmented>`;
|
|
37
|
-
}
|
|
38
|
-
/** The keys of the view shown. */
|
|
39
|
-
function keyHints(h) {
|
|
40
|
-
const up = h.sel ? msg('Esc: clear selection') : parentLayer(h.segments, h.auto) ? msg('Esc: up a level') : '';
|
|
41
|
-
const keys = h.matrix
|
|
42
|
-
? [msg('Arrow keys: marks'), msg('Enter: open'), up]
|
|
43
|
-
: h.asTable
|
|
44
|
-
? [msg('Tab: next row'), msg('Enter: open'), up]
|
|
45
|
-
: [msg('Tab: next node'), msg('Arrow keys: marks'), msg('Shift + arrow keys: earlier and later tasks'), msg('Enter: open'), up];
|
|
46
|
-
return keys.filter(Boolean);
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { type PlanNode, type TaskState } from '@contraagent/api';
|
|
2
|
-
import type { GraphMark, GraphNode, LayerGraph, NodeCounts } from '../graph/types.js';
|
|
3
|
-
/** The states the legend can show, in this order; it shows the ones the view has. */
|
|
4
|
-
export declare const LEGEND: readonly TaskState[];
|
|
5
|
-
/** A pending task waits while the run runs; once the run is over, it did not run. */
|
|
6
|
-
export declare function stateWord(s: TaskState, live: boolean): string;
|
|
7
|
-
/** How many marks are in a state, number first: "3 failed". */
|
|
8
|
-
export declare function countOf(s: TaskState, n: number, live: boolean): string;
|
|
9
|
-
/** How many tasks are in each state, in words: "2 done | 1 failed". */
|
|
10
|
-
export declare function stateCounts(c: NodeCounts, live: boolean): string;
|
|
11
|
-
/** How many tasks are done (plan state done: done, and done after retrying): "5 of 6 tasks done". Skipped tasks are counted apart. */
|
|
12
|
-
export declare function doneOf(c: NodeCounts): string;
|
|
13
|
-
/** The tasks that are not done, by state, most severe first: "1 failed", "1 not started". */
|
|
14
|
-
export declare function notDone(c: NodeCounts, live: boolean): string[];
|
|
15
|
-
/** A fact's class: failed, not started, running, or muted (waiting, not run, skipped). */
|
|
16
|
-
export type ExceptionClass = 'err' | 'warn' | 'live' | 'mut';
|
|
17
|
-
/** What a node needs a word for: its tasks that are not done, by state, and its flow calls that stopped with an error. */
|
|
18
|
-
export declare function exceptions(n: Pick<GraphNode, 'counts' | 'errors'>, live: boolean): [ExceptionClass, string][];
|
|
19
|
-
/** Where a loop is: `flow.py:130` (the file's name and the loop's first line), or `line 130` when the file is not known. */
|
|
20
|
-
export declare function where(line: number | string, file?: string): string;
|
|
21
|
-
/** Who runs a kind node's tasks, in the words the Tasks list uses. */
|
|
22
|
-
export declare function executorWord(n: Pick<GraphNode, 'executor'>): string;
|
|
23
|
-
/** A node's tooltip: what it is, and its tasks done. */
|
|
24
|
-
export declare function nodeTip(n: GraphNode): string;
|
|
25
|
-
/** The names of the nodes `n` waits for, was created after, and feeds. */
|
|
26
|
-
export declare function neighbours(n: GraphNode, g: Pick<LayerGraph, 'nodes' | 'edges' | 'stubs'>): {
|
|
27
|
-
waits: string[];
|
|
28
|
-
after: string[];
|
|
29
|
-
feeds: string[];
|
|
30
|
-
};
|
|
31
|
-
/** The node for a screen reader: its counts, and the nodes it waits for, was created after and feeds. */
|
|
32
|
-
export declare function nodeLabel(n: GraphNode, g: Pick<LayerGraph, 'nodes' | 'edges' | 'stubs'>, live: boolean): string;
|
|
33
|
-
/** What a mark's words come from: its task (none for a flow call's mark), why a task did not start, and the run being live. */
|
|
34
|
-
export interface MarkContext {
|
|
35
|
-
task: PlanNode | undefined;
|
|
36
|
-
causeOf: (key: string) => string;
|
|
37
|
-
live: boolean;
|
|
38
|
-
}
|
|
39
|
-
/** What a mark says: its name, state, passes, attempts, tasks and time, for its tooltip and its label. */
|
|
40
|
-
export declare function markText(label: string, m: GraphMark, x: MarkContext, pass?: string): {
|
|
41
|
-
name: string;
|
|
42
|
-
parts: string[];
|
|
43
|
-
id: string;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=words.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"words.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/pipeline-graph/words.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEtF,qFAAqF;AACrF,eAAO,MAAM,MAAM,EAAE,SAAS,SAAS,EAAmE,CAAC;AAE3G,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAE7D;AAED,+DAA+D;AAC/D,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAGtE;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAEhE;AAED,sIAAsI;AACtI,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAE5C;AAED,6FAA6F;AAC7F,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAE9D;AAED,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,0HAA0H;AAC1H,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAU7G;AAED,4HAA4H;AAC5H,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,CAInE;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAE5C;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAUhJ;AAED,yGAAyG;AACzG,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAY/G;AAED,+HAA+H;AAC/H,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,SAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAc9H"}
|