@pb33f/cowboy-components 0.7.5 → 0.7.7
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/auth/login-button.d.ts +3 -0
- package/dist/components/auth/login-button.js +29 -8
- package/dist/components/auth/login-panel.d.ts +2 -1
- package/dist/components/auth/login-panel.js +3 -2
- package/dist/components/auth/oauth-login.d.ts +1 -0
- package/dist/components/auth/oauth-login.js +11 -5
- package/dist/components/editor/editor-breadcrumb.css.js +1 -1
- package/dist/components/model-renderer/rendered-node.d.ts +2 -0
- package/dist/components/model-renderer/rendered-node.js +18 -0
- package/dist/components/model-renderer/responses.d.ts +11 -0
- package/dist/components/model-renderer/responses.js +46 -0
- package/dist/components/model-tree/tree.js +1 -1
- package/dist/components/paginator/paginator.css.js +1 -1
- package/dist/components/paginator/paginator.d.ts +2 -0
- package/dist/components/paginator/paginator.js +6 -6
- package/dist/components/problems-overview/problems-overview.js +6 -0
- package/dist/components/rodeo/rodeo.js +1 -1
- package/dist/components/the-doctor/sparks.d.ts +1 -0
- package/dist/components/the-doctor/sparks.js +36 -21
- package/dist/components/the-doctor/status-bar.css.js +10 -8
- package/dist/components/the-doctor/status-bar.d.ts +2 -0
- package/dist/components/the-doctor/status-bar.js +18 -8
- package/dist/components/the-doctor/the-doctor.css.js +1 -1
- package/dist/components/the-doctor/the-doctor.d.ts +113 -120
- package/dist/components/the-doctor/the-doctor.js +141 -1735
- package/dist/components/the-doctor/upload-archive.d.ts +1 -0
- package/dist/components/the-doctor/upload-archive.js +29 -12
- package/dist/controllers/{auth.d.ts → auth-controller.d.ts} +11 -6
- package/dist/controllers/auth-controller.js +165 -0
- package/dist/controllers/broker-controller.d.ts +22 -0
- package/dist/controllers/broker-controller.js +107 -0
- package/dist/controllers/diagnostic-controller.d.ts +6 -0
- package/dist/controllers/diagnostic-controller.js +262 -0
- package/dist/controllers/docs-controller.d.ts +8 -0
- package/dist/controllers/docs-controller.js +144 -0
- package/dist/controllers/model-controller.d.ts +8 -0
- package/dist/controllers/model-controller.js +87 -0
- package/dist/controllers/node-clicker-controller.d.ts +11 -0
- package/dist/controllers/node-clicker-controller.js +362 -0
- package/dist/controllers/problem-controller.d.ts +7 -0
- package/dist/controllers/problem-controller.js +46 -0
- package/dist/controllers/rolodex-controller.d.ts +10 -0
- package/dist/controllers/rolodex-controller.js +126 -0
- package/dist/controllers/rule-controller.d.ts +19 -0
- package/dist/controllers/rule-controller.js +264 -0
- package/dist/controllers/spec-controller.d.ts +8 -0
- package/dist/controllers/spec-controller.js +78 -0
- package/dist/controllers/state-controller.d.ts +9 -0
- package/dist/controllers/state-controller.js +279 -0
- package/dist/cowboy-components.umd.cjs +768 -736
- package/dist/css/pb33f-theme.css +1 -0
- package/dist/css/shared.css.js +5 -0
- package/dist/events/doctor.d.ts +12 -0
- package/dist/events/doctor.js +4 -0
- package/dist/model/api-response.d.ts +7 -0
- package/dist/model/api-response.js +2 -0
- package/dist/services/auth-service.d.ts +1 -0
- package/dist/services/auth-service.js +28 -0
- package/dist/services/linting-service.js +11 -2
- package/dist/services/model-service.d.ts +2 -1
- package/dist/services/model-service.js +31 -5
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/controllers/auth.js +0 -101
package/dist/css/pb33f-theme.css
CHANGED
|
@@ -146,6 +146,7 @@ html {
|
|
|
146
146
|
--error-color: #ff3c74;
|
|
147
147
|
--error-color-glow: #fd497b;
|
|
148
148
|
--error-font-color: #ff246b;
|
|
149
|
+
--error-color-dimmed: rgba(255, 60, 116, 0.6);
|
|
149
150
|
--error-color-lowalpha: rgba(255, 60, 116, 0.4);
|
|
150
151
|
--error-color-dark: #250911;
|
|
151
152
|
--error-color-loweralpha: rgba(255, 60, 116, 0.2);
|
package/dist/css/shared.css.js
CHANGED
package/dist/events/doctor.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { Toast } from "../model/toast.js";
|
|
|
5
5
|
import { RuleActionComponent } from "../components/manage-ruleset/rule-action";
|
|
6
6
|
import { GraphResponse, Node, References, Spacing, Options, Change } from "../model/graph";
|
|
7
7
|
import { SpecSummary } from "../model/timeline";
|
|
8
|
+
import { AuthenticationState } from "../model/auth";
|
|
8
9
|
export declare const EditorUpdated: string;
|
|
9
10
|
export declare const EditorClicked: string;
|
|
10
11
|
export declare const ProblemClicked: string;
|
|
@@ -52,14 +53,25 @@ export declare const DocumentReferenceClicked: string;
|
|
|
52
53
|
export declare const LoadRenderedNodeIntoInspector: string;
|
|
53
54
|
export declare const NukeWorkspaceEvent: string;
|
|
54
55
|
export declare const AuthenticationGithubRequested = "authenticationGithubRequested";
|
|
56
|
+
export declare const AuthenticationStateChange = "authenticationStateChange";
|
|
55
57
|
export declare const LogoutRequested = "logoutRequested";
|
|
56
58
|
export declare const TimelineHistoryRefresh = "timelineHistoryRefresh";
|
|
57
59
|
export declare const RevisionClicked = "revisionClicked";
|
|
58
60
|
export declare const ShowTimelineSummary = "showTimelineSummary";
|
|
59
61
|
export declare const OpenSettings = "openSettings";
|
|
62
|
+
export declare const OpenAuthentication = "openAuthentication";
|
|
63
|
+
export declare const StartSessionFailed = "startSessionFailed";
|
|
64
|
+
export declare const CreditEmpty = "creditEmpty";
|
|
60
65
|
export interface RevisionClickedEvent {
|
|
61
66
|
specSummary: SpecSummary;
|
|
62
67
|
}
|
|
68
|
+
export interface NukeLogout {
|
|
69
|
+
resetFiles: boolean;
|
|
70
|
+
}
|
|
71
|
+
export interface AuthenticationMeta {
|
|
72
|
+
redirectURL?: string;
|
|
73
|
+
state?: AuthenticationState;
|
|
74
|
+
}
|
|
63
75
|
export interface ArchiveURLRequestedEvent {
|
|
64
76
|
url: string;
|
|
65
77
|
}
|
package/dist/events/doctor.js
CHANGED
|
@@ -45,11 +45,15 @@ export const DocumentReferenceClicked = "documentReferenceClicked";
|
|
|
45
45
|
export const LoadRenderedNodeIntoInspector = "loadRenderedNodeIntoInspector";
|
|
46
46
|
export const NukeWorkspaceEvent = "nukeWorkspace";
|
|
47
47
|
export const AuthenticationGithubRequested = "authenticationGithubRequested";
|
|
48
|
+
export const AuthenticationStateChange = "authenticationStateChange";
|
|
48
49
|
export const LogoutRequested = "logoutRequested";
|
|
49
50
|
export const TimelineHistoryRefresh = "timelineHistoryRefresh";
|
|
50
51
|
export const RevisionClicked = "revisionClicked";
|
|
51
52
|
export const ShowTimelineSummary = "showTimelineSummary";
|
|
52
53
|
export const OpenSettings = "openSettings";
|
|
54
|
+
export const OpenAuthentication = "openAuthentication";
|
|
55
|
+
export const StartSessionFailed = "startSessionFailed";
|
|
56
|
+
export const CreditEmpty = "creditEmpty";
|
|
53
57
|
export var ActiveView;
|
|
54
58
|
(function (ActiveView) {
|
|
55
59
|
ActiveView["Problems"] = "problems";
|
|
@@ -20,5 +20,33 @@ export class AuthService {
|
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
+
static async logout(redirectUrl) {
|
|
24
|
+
return new Promise(async (resolve, reject) => {
|
|
25
|
+
try {
|
|
26
|
+
let redirect = '';
|
|
27
|
+
{
|
|
28
|
+
if (redirectUrl) {
|
|
29
|
+
redirect = '?redirectUrl=' + redirectUrl;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const authState = await fetch(AuthService.doctorEndpoint + '/auth/logout' + redirect, {
|
|
33
|
+
method: 'GET',
|
|
34
|
+
credentials: 'include',
|
|
35
|
+
redirect: 'manual'
|
|
36
|
+
});
|
|
37
|
+
let state = await authState.text();
|
|
38
|
+
if (!authState.ok) {
|
|
39
|
+
reject(false);
|
|
40
|
+
}
|
|
41
|
+
resolve(true);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
reject({
|
|
45
|
+
tile: "platform error", detail: "cannot logout " +
|
|
46
|
+
"please try again later."
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
23
51
|
}
|
|
24
52
|
AuthService.doctorEndpoint = 'https://doctor.pb33f.io';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Problem } from "../model/problem.js";
|
|
2
2
|
import { HeaderService } from "./header-service";
|
|
3
|
+
import { AuthController } from "../controllers/auth-controller";
|
|
3
4
|
export class LintingService {
|
|
4
5
|
static compareProblems(a, b) {
|
|
5
6
|
if (a.startLineNumber < b.startLineNumber) {
|
|
@@ -131,11 +132,19 @@ export class LintingService {
|
|
|
131
132
|
static async bootstrapEditor() {
|
|
132
133
|
return new Promise(async (resolve, reject) => {
|
|
133
134
|
try {
|
|
134
|
-
|
|
135
|
+
let bootstrapSpec;
|
|
136
|
+
// check state from the auth service to determine if we're extracting trains, or a workspace.
|
|
137
|
+
const authController = AuthController.getInstance();
|
|
138
|
+
let endpoint = '/bootstrap/train-travel';
|
|
139
|
+
// get the current spec if we're authenticated.
|
|
140
|
+
if (authController && authController.state && authController.authenticated) {
|
|
141
|
+
endpoint = '/model/current-spec';
|
|
142
|
+
}
|
|
143
|
+
bootstrapSpec = await fetch(LintingService.doctorEndpoint + endpoint, {
|
|
135
144
|
method: 'GET',
|
|
136
145
|
credentials: 'include',
|
|
137
146
|
});
|
|
138
|
-
const spec = await
|
|
147
|
+
const spec = await bootstrapSpec.text();
|
|
139
148
|
resolve(spec);
|
|
140
149
|
}
|
|
141
150
|
catch (e) {
|
|
@@ -5,7 +5,7 @@ import { ArchiveFileResponse, RolodexResponse } from "../model/rolodex";
|
|
|
5
5
|
export declare class ModelService {
|
|
6
6
|
static doctorEndpoint: string;
|
|
7
7
|
static fetchLatestGraph(): Promise<GraphResponse>;
|
|
8
|
-
static fetchReferenceMap(): Promise<Reference[]>;
|
|
8
|
+
static fetchReferenceMap(currentPath?: string): Promise<Reference[]>;
|
|
9
9
|
static uploadArchive(formData: FormData): Promise<ArchiveFileResponse>;
|
|
10
10
|
static selectRootPath(path: string): Promise<Node>;
|
|
11
11
|
static queryRolodex(id?: string, path?: string): Promise<RolodexResponse>;
|
|
@@ -13,4 +13,5 @@ export declare class ModelService {
|
|
|
13
13
|
static generateExample(example: ExampleContainer): Promise<ExampleContainer>;
|
|
14
14
|
static convertJSONToYAML(json?: string): Promise<any>;
|
|
15
15
|
static resetWorkspace(): Promise<boolean>;
|
|
16
|
+
static getCurrentSpec(): Promise<string>;
|
|
16
17
|
}
|
|
@@ -47,10 +47,14 @@ export class ModelService {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
static async fetchReferenceMap() {
|
|
50
|
+
static async fetchReferenceMap(currentPath = '') {
|
|
51
51
|
return new Promise(async (resolve, reject) => {
|
|
52
52
|
try {
|
|
53
|
-
|
|
53
|
+
let cp = '';
|
|
54
|
+
if (currentPath !== '') {
|
|
55
|
+
cp = '?path=' + currentPath;
|
|
56
|
+
}
|
|
57
|
+
const refs = await fetch(ModelService.doctorEndpoint + '/model/reference-map' + cp, {
|
|
54
58
|
method: 'GET',
|
|
55
59
|
credentials: 'include',
|
|
56
60
|
headers: {
|
|
@@ -75,7 +79,7 @@ export class ModelService {
|
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
catch (e) {
|
|
78
|
-
reject({ detail: 'unable fetch
|
|
82
|
+
reject({ detail: 'unable fetch reference map ' + e });
|
|
79
83
|
}
|
|
80
84
|
});
|
|
81
85
|
}
|
|
@@ -119,14 +123,14 @@ export class ModelService {
|
|
|
119
123
|
reject({ detail: 'unable to fetch archive data' });
|
|
120
124
|
return;
|
|
121
125
|
}
|
|
122
|
-
if (
|
|
126
|
+
if (!graph.ok) {
|
|
123
127
|
reject(archiveData);
|
|
124
128
|
return;
|
|
125
129
|
}
|
|
126
130
|
resolve(await archiveData);
|
|
127
131
|
}
|
|
128
132
|
catch (e) {
|
|
129
|
-
reject(
|
|
133
|
+
reject(e);
|
|
130
134
|
}
|
|
131
135
|
});
|
|
132
136
|
}
|
|
@@ -264,5 +268,27 @@ export class ModelService {
|
|
|
264
268
|
resolve(true);
|
|
265
269
|
});
|
|
266
270
|
}
|
|
271
|
+
static async getCurrentSpec() {
|
|
272
|
+
return new Promise(async (resolve, reject) => {
|
|
273
|
+
try {
|
|
274
|
+
const spec = await fetch(ModelService.doctorEndpoint + '/model/current-spec', {
|
|
275
|
+
method: 'GET',
|
|
276
|
+
credentials: 'include',
|
|
277
|
+
headers: {
|
|
278
|
+
'Content-Type': 'application/json'
|
|
279
|
+
},
|
|
280
|
+
});
|
|
281
|
+
const latestSpec = await spec.text();
|
|
282
|
+
if (!latestSpec) {
|
|
283
|
+
reject("cannot fetch latest specification from pb33f platform");
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
resolve(latestSpec);
|
|
287
|
+
}
|
|
288
|
+
catch (e) {
|
|
289
|
+
reject("cannot fetch latest specification from pb33f platform: " + e);
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
}
|
|
267
293
|
}
|
|
268
294
|
ModelService.doctorEndpoint = 'https://doctor.pb33f.io';
|