@pb33f/cowboy-components 0.2.0 → 0.2.2

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 (43) hide show
  1. package/dist/components/manage-ruleset/manage-ruleset.d.ts +5 -1
  2. package/dist/components/manage-ruleset/manage-ruleset.js +27 -5
  3. package/dist/components/model-renderer/rendered-node.css.d.ts +2 -0
  4. package/dist/components/model-renderer/rendered-node.css.js +96 -0
  5. package/dist/components/model-renderer/rendered-node.d.ts +8 -0
  6. package/dist/components/model-renderer/rendered-node.js +117 -0
  7. package/dist/components/model-renderer/rendered-property.css.d.ts +2 -0
  8. package/dist/components/model-renderer/rendered-property.css.js +118 -0
  9. package/dist/components/model-renderer/rendered-property.d.ts +14 -0
  10. package/dist/components/model-renderer/rendered-property.js +204 -0
  11. package/dist/components/model-tree/tree-item.d.ts +10 -0
  12. package/dist/components/model-tree/tree-item.js +37 -0
  13. package/dist/components/model-tree/tree.css.d.ts +2 -0
  14. package/dist/components/model-tree/tree.css.js +20 -0
  15. package/dist/components/model-tree/tree.d.ts +16 -0
  16. package/dist/components/model-tree/tree.js +103 -0
  17. package/dist/components/the-doctor/the-doctor.css.js +2 -2
  18. package/dist/components/the-doctor/the-doctor.d.ts +4 -2
  19. package/dist/components/the-doctor/the-doctor.js +42 -18
  20. package/dist/components/visualizer/explorer.d.ts +52 -0
  21. package/dist/components/visualizer/explorer.js +296 -0
  22. package/dist/components/visualizer/node.d.ts +11 -0
  23. package/dist/components/visualizer/node.js +27 -0
  24. package/dist/components/visualizer/operation.css.d.ts +2 -0
  25. package/dist/components/visualizer/operation.css.js +53 -0
  26. package/dist/components/visualizer/operation.d.ts +12 -0
  27. package/dist/components/visualizer/operation.js +52 -0
  28. package/dist/components/visualizer/visualizer.css.d.ts +2 -0
  29. package/dist/components/visualizer/visualizer.css.js +157 -0
  30. package/dist/components/visualizer/visualizer.d.ts +60 -0
  31. package/dist/components/visualizer/visualizer.js +137 -0
  32. package/dist/cowboy-components.d.ts +1 -0
  33. package/dist/cowboy-components.js +2 -0
  34. package/dist/cowboy-components.umd.cjs +950 -324
  35. package/dist/css/pb33f-theme.css +1 -1
  36. package/dist/events/doctor.d.ts +9 -0
  37. package/dist/events/doctor.js +3 -0
  38. package/dist/model/graph.d.ts +6 -0
  39. package/dist/model/graph.js +1 -0
  40. package/dist/services/model-service.d.ts +5 -0
  41. package/dist/services/model-service.js +30 -0
  42. package/dist/style.css +1 -1
  43. package/package.json +6 -3
@@ -0,0 +1,137 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, query, state } from "lit/decorators.js";
8
+ import { html, LitElement } from "lit";
9
+ import visualizerCss from "./visualizer.css.js";
10
+ import { ModelService } from "../../services/model-service";
11
+ import { ModelTree } from "../model-tree/tree";
12
+ import { ExplorerNodeClicked, ModelTreeNodeClicked } from "../../events/doctor";
13
+ import { RenderedNodeComponent } from "../model-renderer/rendered-node";
14
+ import { ExplorerComponent } from "./explorer";
15
+ export var Direction;
16
+ (function (Direction) {
17
+ Direction["UP"] = "UP";
18
+ Direction["DOWN"] = "DOWN";
19
+ Direction["LEFT"] = "LEFT";
20
+ Direction["RIGHT"] = "RIGHT";
21
+ })(Direction || (Direction = {}));
22
+ export class Node {
23
+ }
24
+ export class Edge {
25
+ }
26
+ let Visualizer = class Visualizer extends LitElement {
27
+ constructor() {
28
+ super();
29
+ this.nodeComponents = [];
30
+ this.scale = 1;
31
+ this.direction = Direction.RIGHT;
32
+ this.renderedNode = new RenderedNodeComponent();
33
+ this.nodeMap = new Map();
34
+ this.renderedNodeMap = new Map();
35
+ const targets = new Map();
36
+ this.modelTree = new ModelTree();
37
+ this.explorer = new ExplorerComponent();
38
+ // @ts-ignore
39
+ this.modelTree.addEventListener(ModelTreeNodeClicked, this.modelTreeNodeClicked.bind(this));
40
+ ModelService.doctorEndpoint = 'http://localhost:9090';
41
+ ModelService.createGraph().then((result) => {
42
+ this.modelTree.node = result.nodes[0];
43
+ this.explorer.nodes = result.nodes;
44
+ this.explorer.edges = result.edges;
45
+ this.explorer.models = result.nodesRendered;
46
+ for (let i = 0; i < result.nodesRendered.length; i++) {
47
+ this.renderedNodeMap.set(result.nodesRendered[i].idHash, result.nodesRendered[i]);
48
+ }
49
+ this.explorer.buildGraph();
50
+ this.explorer.buildLayout();
51
+ });
52
+ // @ts-ignore
53
+ this.addEventListener(ExplorerNodeClicked, this.explorerNodeClicked.bind(this));
54
+ }
55
+ explorerNodeClicked(evt) {
56
+ this.explorer.nodes.forEach((node) => {
57
+ if (node.idHash === evt.detail.nodeHashId) {
58
+ const renderedNode = this.renderedNodeMap.get(node.idHash);
59
+ if (renderedNode) {
60
+ this.renderedNode.node = renderedNode;
61
+ }
62
+ node.active = true;
63
+ }
64
+ else {
65
+ node.active = false;
66
+ }
67
+ });
68
+ this.modelTree.explorerClicked(evt.detail.nodeHashId);
69
+ this.explorer.requestUpdate();
70
+ }
71
+ rotate() {
72
+ switch (this.direction) {
73
+ case Direction.UP:
74
+ this.explorer.direction = Direction.RIGHT;
75
+ break;
76
+ case Direction.RIGHT:
77
+ this.explorer.direction = Direction.DOWN;
78
+ break;
79
+ case Direction.DOWN:
80
+ this.explorer.direction = Direction.LEFT;
81
+ break;
82
+ case Direction.LEFT:
83
+ this.explorer.direction = Direction.UP;
84
+ break;
85
+ }
86
+ this.explorer.buildGraph();
87
+ }
88
+ modelTreeNodeClicked(evt) {
89
+ this.explorer.nodes.forEach((node) => {
90
+ if (node.idHash === evt.detail.nodeHashId.replaceAll('model-', '')) {
91
+ // lookup rendered node
92
+ const renderedNode = this.renderedNodeMap.get(node.idHash);
93
+ if (renderedNode) {
94
+ this.renderedNode.node = renderedNode;
95
+ }
96
+ node.active = true;
97
+ }
98
+ else {
99
+ node.active = false;
100
+ }
101
+ });
102
+ this.explorer.requestUpdate();
103
+ }
104
+ render() {
105
+ return html `
106
+ <div class="visualizer">
107
+ <div class="explorer">
108
+ <sl-icon-button name="arrow-90deg-right" @click="${this.rotate}"></sl-icon-button>
109
+ <sl-icon-button name="zoom-in" @click="${this.explorer.zoomIn}"></sl-icon-button>
110
+ <sl-icon-button name="zoom-out" @click="${this.explorer.zoomOut}"></sl-icon-button>
111
+ <sl-icon-button name="arrow-clockwise" @click="${this.explorer.reset}"></sl-icon-button>
112
+ <div class="svg-container">
113
+ ${this.explorer}
114
+ </div>
115
+ </div>
116
+ <div class="model">
117
+ <div class="tree">
118
+ ${this.modelTree}
119
+ </div>
120
+ <div class="renderer">
121
+ ${this.renderedNode}
122
+ </div>
123
+ </div>
124
+ `;
125
+ }
126
+ };
127
+ Visualizer.styles = [visualizerCss];
128
+ __decorate([
129
+ state()
130
+ ], Visualizer.prototype, "ready", void 0);
131
+ __decorate([
132
+ query('.svg-container')
133
+ ], Visualizer.prototype, "svgContainer", void 0);
134
+ Visualizer = __decorate([
135
+ customElement("pb33f-visualizer")
136
+ ], Visualizer);
137
+ export { Visualizer };
@@ -15,6 +15,7 @@ import './components/attention-box/attention-box.js';
15
15
  import './components/render-operation-path/render-operation-path.js';
16
16
  import './components/render-json-path/render-json-path.js';
17
17
  import './components/footer/footer.js';
18
+ import './components/visualizer/visualizer.js';
18
19
  import './components/problem-list/problem-list.js';
19
20
  import './components/problem-list/problem-item.js';
20
21
  import './components/the-doctor/the-doctor.js';
@@ -15,6 +15,8 @@ import './components/attention-box/attention-box.js';
15
15
  import './components/render-operation-path/render-operation-path.js';
16
16
  import './components/render-json-path/render-json-path.js';
17
17
  import './components/footer/footer.js';
18
+ // visualizer
19
+ import './components/visualizer/visualizer.js';
18
20
  // problems
19
21
  import './components/problem-list/problem-list.js';
20
22
  import './components/problem-list/problem-item.js';