@pb33f/cowboy-components 0.3.2 → 0.3.4
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/dist/components/manage-ruleset/manage-ruleset.css.js +14 -3
- package/dist/components/manage-ruleset/manage-ruleset.d.ts +3 -0
- package/dist/components/manage-ruleset/manage-ruleset.js +85 -2
- package/dist/components/manage-ruleset/rule-input.js +8 -1
- package/dist/components/manage-ruleset/rule.css.js +3 -1
- package/dist/components/manage-ruleset/rule.js +42 -3
- package/dist/components/model-renderer/schema.js +10 -0
- package/dist/components/paginator/paginator-navigator.js +3 -0
- package/dist/components/paginator/paginator.css.js +5 -2
- package/dist/components/paginator/paginator.d.ts +1 -0
- package/dist/components/paginator/paginator.js +9 -3
- package/dist/components/problems-overview/diagnostic-evaluation.js +0 -3
- package/dist/components/problems-overview/problem-overview-group.d.ts +2 -0
- package/dist/components/problems-overview/problem-overview-group.js +15 -2
- package/dist/components/problems-overview/problems-overview.js +8 -2
- package/dist/components/the-doctor/sparks.d.ts +17 -0
- package/dist/components/the-doctor/sparks.js +81 -0
- package/dist/components/the-doctor/the-doctor.css.js +74 -26
- package/dist/components/the-doctor/the-doctor.d.ts +31 -1
- package/dist/components/the-doctor/the-doctor.js +234 -32
- package/dist/cowboy-components.umd.cjs +1793 -1642
- package/dist/events/doctor.d.ts +6 -2
- package/dist/events/doctor.js +1 -0
- package/dist/model/channels.d.ts +11 -0
- package/dist/model/channels.js +11 -0
- package/dist/model/errors.d.ts +1 -1
- package/dist/services/header-service.d.ts +5 -0
- package/dist/services/header-service.js +16 -0
- package/dist/services/linting-service.d.ts +1 -1
- package/dist/services/linting-service.js +19 -9
- package/package.json +1 -1
|
@@ -24,11 +24,11 @@ export default css `
|
|
|
24
24
|
overflow: hidden;
|
|
25
25
|
width: 100%;
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
#manager-controls::part(nav) {
|
|
29
|
-
max-width: 96%;
|
|
29
|
+
max-width: 96%;
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
.problems-data {
|
|
33
33
|
height: min-content;
|
|
34
34
|
max-height: calc(100vh - 50px);
|
|
@@ -50,7 +50,7 @@ export default css `
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
sl-split-panel {
|
|
53
|
-
width:100%;
|
|
53
|
+
width: 100%;
|
|
54
54
|
height: 100%;
|
|
55
55
|
--divider-width: 2px;
|
|
56
56
|
}
|
|
@@ -79,13 +79,13 @@ export default css `
|
|
|
79
79
|
background-color: var(--primary-color);
|
|
80
80
|
color: var(--background-color);
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
|
|
83
83
|
|
|
84
84
|
.unavailable {
|
|
85
85
|
opacity: 0.4;
|
|
86
86
|
transition: all 0.5s;
|
|
87
87
|
}
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
.model-tree {
|
|
90
90
|
height: calc(100vh - 95px);
|
|
91
91
|
overflow-x: auto;
|
|
@@ -106,8 +106,8 @@ export default css `
|
|
|
106
106
|
background: var(--secondary-color-lowalpha);
|
|
107
107
|
padding: var(--global-padding);
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
|
|
110
|
+
|
|
111
111
|
.split-panel {
|
|
112
112
|
--min: 550px;
|
|
113
113
|
--max: calc(100vw - 550px);
|
|
@@ -118,10 +118,10 @@ export default css `
|
|
|
118
118
|
--max: 550px;
|
|
119
119
|
max-width: 100vw;
|
|
120
120
|
}
|
|
121
|
-
|
|
121
|
+
|
|
122
122
|
.explorer-panel {
|
|
123
123
|
height: calc(100vh - 85px);
|
|
124
|
-
width: 100%;
|
|
124
|
+
width: 100%;
|
|
125
125
|
overflow-y: auto;
|
|
126
126
|
}
|
|
127
127
|
|
|
@@ -139,8 +139,8 @@ export default css `
|
|
|
139
139
|
background: var(--secondary-color-lowalpha);
|
|
140
140
|
padding: var(--global-padding);
|
|
141
141
|
}
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
|
|
143
|
+
|
|
144
144
|
.overlay {
|
|
145
145
|
width: 100%;
|
|
146
146
|
opacity: 1;
|
|
@@ -159,27 +159,27 @@ export default css `
|
|
|
159
159
|
margin-left: 10px;
|
|
160
160
|
margin-right: 10px;
|
|
161
161
|
}
|
|
162
|
-
|
|
162
|
+
|
|
163
163
|
h3.loading {
|
|
164
164
|
margin-top: 20px;
|
|
165
165
|
padding-top: 0;
|
|
166
166
|
text-align: center;
|
|
167
167
|
}
|
|
168
|
-
|
|
169
|
-
.tab-panel {
|
|
170
|
-
height: calc(100vh - 110px);
|
|
171
|
-
}
|
|
172
168
|
|
|
173
|
-
|
|
169
|
+
.tab-panel {
|
|
170
|
+
height: calc(100vh - 110px);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
sl-tab-panel.tab-panel::part(base) {
|
|
174
174
|
height: 100%;
|
|
175
|
-
padding-top:5px;
|
|
175
|
+
padding-top: 5px;
|
|
176
176
|
}
|
|
177
|
-
|
|
177
|
+
|
|
178
178
|
sl-tab-panel::part(base) {
|
|
179
179
|
height: 100%;
|
|
180
|
-
padding-top:5px;
|
|
180
|
+
padding-top: 5px;
|
|
181
181
|
}
|
|
182
|
-
|
|
182
|
+
|
|
183
183
|
sl-switch::part(label) {
|
|
184
184
|
font-family: var(--font-stack), monospace;
|
|
185
185
|
}
|
|
@@ -208,7 +208,7 @@ export default css `
|
|
|
208
208
|
top: 3px;
|
|
209
209
|
right: 25px;
|
|
210
210
|
}
|
|
211
|
-
|
|
211
|
+
|
|
212
212
|
.spinner-draw-closed {
|
|
213
213
|
top: 35px;
|
|
214
214
|
right: 8px;
|
|
@@ -230,11 +230,11 @@ export default css `
|
|
|
230
230
|
display: flex;
|
|
231
231
|
margin-bottom: 20px;
|
|
232
232
|
}
|
|
233
|
-
|
|
233
|
+
|
|
234
234
|
.right {
|
|
235
235
|
text-align: right;
|
|
236
236
|
}
|
|
237
|
-
|
|
237
|
+
|
|
238
238
|
.export-block {
|
|
239
239
|
width: 50%;
|
|
240
240
|
}
|
|
@@ -243,7 +243,7 @@ export default css `
|
|
|
243
243
|
margin-left: 20px;
|
|
244
244
|
padding-top: 3px;
|
|
245
245
|
}
|
|
246
|
-
|
|
246
|
+
|
|
247
247
|
sl-badge::part(base) {
|
|
248
248
|
width: 10px;
|
|
249
249
|
padding: 0;
|
|
@@ -251,6 +251,7 @@ export default css `
|
|
|
251
251
|
margin-top: 2px;
|
|
252
252
|
height: 10px;
|
|
253
253
|
}
|
|
254
|
+
|
|
254
255
|
.collapse-side {
|
|
255
256
|
position: absolute;
|
|
256
257
|
right: 5px;
|
|
@@ -259,8 +260,55 @@ export default css `
|
|
|
259
260
|
color: var(--secondary-color);
|
|
260
261
|
font-size: 1.4rem;
|
|
261
262
|
}
|
|
263
|
+
|
|
262
264
|
sl-icon-button.collapse-side::part(base) {
|
|
263
265
|
padding: 0;
|
|
264
266
|
}
|
|
267
|
+
|
|
268
|
+
.controls {
|
|
269
|
+
display: flex;
|
|
270
|
+
margin-left: 10px;
|
|
271
|
+
padding-top: 2px;
|
|
272
|
+
font-size: 0.8rem;
|
|
273
|
+
height: 38px;
|
|
274
|
+
border-bottom: 1px dashed var(--secondary-color-dimmer);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.url-input {
|
|
278
|
+
width: 50%;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.url-problem {
|
|
282
|
+
padding: 50px;
|
|
283
|
+
display: none;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
#url-spinner {
|
|
287
|
+
padding: 5px 50px 5px 50px;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.main-view {
|
|
291
|
+
position: relative;
|
|
292
|
+
width: 100%;
|
|
293
|
+
height: 100%;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
sl-button.url-input-button::part(base) {
|
|
297
|
+
margin-top: 0;
|
|
298
|
+
margin-left: 10px;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.editor-url-overlay {
|
|
302
|
+
position: absolute;
|
|
303
|
+
height: calc(100% - 5px);
|
|
304
|
+
width: 100%;
|
|
305
|
+
left: 0;
|
|
306
|
+
top: 0;
|
|
307
|
+
z-index: 3;
|
|
308
|
+
display: none;
|
|
309
|
+
backdrop-filter: blur(2px);
|
|
310
|
+
-webkit-backdrop-filter: blur(2px);
|
|
311
|
+
background-color: var(--background-color-withopacity);
|
|
312
|
+
}
|
|
265
313
|
|
|
266
314
|
`;
|
|
@@ -10,7 +10,8 @@ import '@shoelace-style/shoelace/dist/components/avatar/avatar.js';
|
|
|
10
10
|
import { LitElement } from "lit";
|
|
11
11
|
import { AddToastEvent, EditorUpdatedEvent, ProblemRuleFilterChangedEvent, RulesetSavedEvent, RuleClickedEvent, NodeClickedEvent, NodeReferenceEvent, ExplorerEqualizerChangedEvent } from "../../events/doctor.js";
|
|
12
12
|
import { ProblemDrawerEvent } from "../problem-list/details-drawer.js";
|
|
13
|
-
import { SlDialog, SlIcon, SlRadioGroup, SlSplitPanel, SlTab, SlTabGroup } from "@shoelace-style/shoelace";
|
|
13
|
+
import { SlButton, SlDialog, SlIcon, SlInput, SlRadioGroup, SlSplitPanel, SlTab, SlTabGroup } from "@shoelace-style/shoelace";
|
|
14
|
+
import { PlatformError } from "../../model/errors.js";
|
|
14
15
|
import { AttentionBox } from "../attention-box/attention-box.js";
|
|
15
16
|
import { Toast } from "../../model/toast.js";
|
|
16
17
|
import SlIconButton from "@shoelace-style/shoelace/dist/components/icon-button/icon-button.js";
|
|
@@ -18,6 +19,7 @@ import { Node } from "../../model/graph.js";
|
|
|
18
19
|
import { ModelTree } from "../model-tree/tree.js";
|
|
19
20
|
import { ExplorerComponent } from "../visualizer/explorer.js";
|
|
20
21
|
import { RenderedNodeComponent } from "../model-renderer/rendered-node.js";
|
|
22
|
+
import { BusCallback, CommandResponse } from "@pb33f/ranch";
|
|
21
23
|
export declare const GraphBag = "pb33f-doctor-graph";
|
|
22
24
|
export declare const DoctorDocumentBag = "pb33f-doctor-editor";
|
|
23
25
|
export declare const HowToFixBag = "pb33f-doctor-howtofix";
|
|
@@ -40,6 +42,7 @@ export declare class TheDoctor extends LitElement {
|
|
|
40
42
|
overviewPanel: SlTab;
|
|
41
43
|
problemsPanel: SlTab;
|
|
42
44
|
viewerPanel: SlTab;
|
|
45
|
+
explorerPanel: SlTab;
|
|
43
46
|
controlTabGroup: SlTabGroup;
|
|
44
47
|
editorTabGroup: SlTabGroup;
|
|
45
48
|
welcomeBox: AttentionBox;
|
|
@@ -47,6 +50,8 @@ export declare class TheDoctor extends LitElement {
|
|
|
47
50
|
downloadRulesetLink: HTMLAnchorElement;
|
|
48
51
|
loadingOverlay: SlDialog;
|
|
49
52
|
problemsDataDiv: HTMLDivElement;
|
|
53
|
+
urlInputButton: SlButton;
|
|
54
|
+
urlInput: SlInput;
|
|
50
55
|
private unavailable;
|
|
51
56
|
doctorEndpoint: string;
|
|
52
57
|
exportRulesetDialog: SlDialog;
|
|
@@ -56,6 +61,7 @@ export declare class TheDoctor extends LitElement {
|
|
|
56
61
|
private rulesetPulse;
|
|
57
62
|
explorerVisible: boolean;
|
|
58
63
|
explorerBooted: boolean;
|
|
64
|
+
activeURL: string;
|
|
59
65
|
private readonly errorBanner;
|
|
60
66
|
private bagManager;
|
|
61
67
|
private readonly editor;
|
|
@@ -107,8 +113,23 @@ export declare class TheDoctor extends LitElement {
|
|
|
107
113
|
filteredNodes: Map<string, Node>;
|
|
108
114
|
renderedNode: RenderedNodeComponent;
|
|
109
115
|
activeNode: Node;
|
|
116
|
+
private readonly bus;
|
|
117
|
+
private readonly specStreamChannel;
|
|
118
|
+
private readonly doctorServiceChannel;
|
|
119
|
+
private specChannelSubscription;
|
|
120
|
+
private doctorChannelSubscription;
|
|
121
|
+
private brokerConnectionId;
|
|
122
|
+
private readonly busPort;
|
|
123
|
+
private readonly busHost;
|
|
124
|
+
private readonly busVersion;
|
|
125
|
+
private useTLS;
|
|
110
126
|
readonly nodeLimit: number;
|
|
111
127
|
constructor(doctorEndpoint?: string);
|
|
128
|
+
whoAmI(): void;
|
|
129
|
+
protected connectToBroker(): void;
|
|
130
|
+
addClickTrack(node: Node): void;
|
|
131
|
+
doctorServiceHandler(): BusCallback<CommandResponse>;
|
|
132
|
+
specStreamHandler(): BusCallback<CommandResponse>;
|
|
112
133
|
filterTreeModel(event: CustomEvent<ExplorerEqualizerChangedEvent>): void;
|
|
113
134
|
explorerReferenceClicked(evt: CustomEvent<NodeReferenceEvent>): void;
|
|
114
135
|
modelTreeNodeClicked(evt: CustomEvent<NodeClickedEvent>): void;
|
|
@@ -149,5 +170,14 @@ export declare class TheDoctor extends LitElement {
|
|
|
149
170
|
toggleExplorer(): void;
|
|
150
171
|
closeExplorer(): void;
|
|
151
172
|
render(): import("lit-html").TemplateResult<1>;
|
|
173
|
+
fetchUrl(): void;
|
|
174
|
+
urlOverlay: HTMLElement;
|
|
175
|
+
urlProblem: HTMLElement;
|
|
176
|
+
urlSpinner: HTMLDivElement;
|
|
177
|
+
urlErrorCode: number;
|
|
178
|
+
urlErrorMessage: string;
|
|
179
|
+
hideUrlError(): void;
|
|
180
|
+
showUrlError(e: PlatformError): void;
|
|
181
|
+
validateUrl(evt: KeyboardEvent): void;
|
|
152
182
|
ungrabExplorer(): void;
|
|
153
183
|
}
|