Skip to content

Commit dee164e

Browse files
deploy: 610fc0a
0 parents  commit dee164e

158 files changed

Lines changed: 1690 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nojekyll

Whitespace-only changes.

404.html

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Blazor FileAPI</title>
6+
<script type="text/javascript">
7+
// Single Page Apps for GitHub Pages
8+
// MIT License
9+
// https://github.com/rafgraph/spa-github-pages
10+
// This script takes the current url and converts the path and query
11+
// string into just a query string, and then redirects the browser
12+
// to the new url with only a query string and hash fragment
13+
14+
// If you're creating a Project Pages site and NOT using a custom domain,
15+
// then set pathSegmentsToKeep to 1 (enterprise users may need to set it to > 1).
16+
// This way the code will only replace the route part of the path, and not
17+
// the real directory in which the app resides, for example:
18+
// https://username.github.io/repo-name/one/two?a=b&c=d#qwe becomes
19+
// https://username.github.io/repo-name/?/one/two&a=b~and~c=d#qwe
20+
// Otherwise, leave pathSegmentsToKeep as 0.
21+
var pathSegmentsToKeep = 1;
22+
23+
var l = window.location;
24+
l.replace(
25+
l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') +
26+
l.pathname.split('/').slice(0, 1 + pathSegmentsToKeep).join('/') + '/?/' +
27+
l.pathname.slice(1).split('/').slice(pathSegmentsToKeep).join('/').replace(/&/g, '~and~') +
28+
(l.search ? '&' + l.search.slice(1).replace(/&/g, '~and~') : '') +
29+
l.hash
30+
);
31+
32+
</script>
33+
</head>
34+
<body>
35+
</body>
36+
</html>
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
/* /Shared/MainLayout.razor.rz.scp.css */
2+
.page[b-sjl1thtgaf] {
3+
position: relative;
4+
display: flex;
5+
flex-direction: column;
6+
}
7+
8+
main[b-sjl1thtgaf] {
9+
flex: 1;
10+
}
11+
12+
.sidebar[b-sjl1thtgaf] {
13+
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
14+
}
15+
16+
.top-row[b-sjl1thtgaf] {
17+
background-color: #f7f7f7;
18+
border-bottom: 1px solid #d6d5d5;
19+
justify-content: flex-end;
20+
height: 3.5rem;
21+
display: flex;
22+
align-items: center;
23+
}
24+
25+
.top-row[b-sjl1thtgaf] a, .top-row[b-sjl1thtgaf] .btn-link {
26+
white-space: nowrap;
27+
margin-left: 1.5rem;
28+
text-decoration: none;
29+
}
30+
31+
.top-row[b-sjl1thtgaf] a:hover, .top-row[b-sjl1thtgaf] .btn-link:hover {
32+
text-decoration: underline;
33+
}
34+
35+
.top-row[b-sjl1thtgaf] a:first-child {
36+
overflow: hidden;
37+
text-overflow: ellipsis;
38+
}
39+
40+
@media (max-width: 640.98px) {
41+
.top-row:not(.auth)[b-sjl1thtgaf] {
42+
display: none;
43+
}
44+
45+
.top-row.auth[b-sjl1thtgaf] {
46+
justify-content: space-between;
47+
}
48+
49+
.top-row[b-sjl1thtgaf] a, .top-row[b-sjl1thtgaf] .btn-link {
50+
margin-left: 0;
51+
}
52+
}
53+
54+
@media (min-width: 641px) {
55+
.page[b-sjl1thtgaf] {
56+
flex-direction: row;
57+
}
58+
59+
.sidebar[b-sjl1thtgaf] {
60+
width: 250px;
61+
height: 100vh;
62+
position: sticky;
63+
top: 0;
64+
}
65+
66+
.top-row[b-sjl1thtgaf] {
67+
position: sticky;
68+
top: 0;
69+
z-index: 1;
70+
}
71+
72+
.top-row.auth[b-sjl1thtgaf] a:first-child {
73+
flex: 1;
74+
text-align: right;
75+
width: 0;
76+
}
77+
78+
.top-row[b-sjl1thtgaf], article[b-sjl1thtgaf] {
79+
padding-left: 2rem !important;
80+
padding-right: 1.5rem !important;
81+
}
82+
}
83+
/* /Shared/NavMenu.razor.rz.scp.css */
84+
.navbar-toggler[b-igjdsc9w0u] {
85+
background-color: rgba(255, 255, 255, 0.1);
86+
}
87+
88+
.top-row[b-igjdsc9w0u] {
89+
height: 3.5rem;
90+
background-color: rgba(0,0,0,0.4);
91+
}
92+
93+
.navbar-brand[b-igjdsc9w0u] {
94+
font-size: 1.1rem;
95+
}
96+
97+
.oi[b-igjdsc9w0u] {
98+
width: 2rem;
99+
font-size: 1.1rem;
100+
vertical-align: text-top;
101+
top: -2px;
102+
}
103+
104+
.nav-item[b-igjdsc9w0u] {
105+
font-size: 0.9rem;
106+
padding-bottom: 0.5rem;
107+
}
108+
109+
.nav-item:first-of-type[b-igjdsc9w0u] {
110+
padding-top: 1rem;
111+
}
112+
113+
.nav-item:last-of-type[b-igjdsc9w0u] {
114+
padding-bottom: 1rem;
115+
}
116+
117+
.nav-item[b-igjdsc9w0u] a {
118+
color: #d7d7d7;
119+
border-radius: 4px;
120+
height: 3rem;
121+
display: flex;
122+
align-items: center;
123+
line-height: 3rem;
124+
}
125+
126+
.nav-item[b-igjdsc9w0u] a.active {
127+
background-color: rgba(255,255,255,0.25);
128+
color: white;
129+
}
130+
131+
.nav-item[b-igjdsc9w0u] a:hover {
132+
background-color: rgba(255,255,255,0.1);
133+
color: white;
134+
}
135+
136+
@media (min-width: 641px) {
137+
.navbar-toggler[b-igjdsc9w0u] {
138+
display: none;
139+
}
140+
141+
.collapse[b-igjdsc9w0u] {
142+
/* Never collapse the sidebar for wide screens */
143+
display: block;
144+
}
145+
146+
.nav-scrollable[b-igjdsc9w0u] {
147+
/* Allow sidebar to scroll for tall menus */
148+
height: calc(100vh - 3.5rem);
149+
overflow-y: auto;
150+
}
151+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
export function getAttribute(object, attribute) { return object[attribute]; }
2+
export function setAttribute(object, attribute, value) { object[attribute] = value; }
3+
4+
export function getJSReference(element) { return element.valueOf(); }
5+
6+
export function constructEventListener() {
7+
return { };
8+
}
9+
10+
export function registerEventHandlerAsync(objRef, jSInstance) {
11+
jSInstance.handleEvent = (e) => objRef.invokeMethodAsync("HandleEventAsync", DotNet.createJSObjectReference(e))
12+
}
13+
14+
export function registerInProcessEventHandlerAsync(objRef, jSInstance) {
15+
jSInstance.handleEvent = (e) => objRef.invokeMethodAsync("HandleEventInProcessAsync", DotNet.createJSObjectReference(e))
16+
}
17+
18+
export function constructEvent(type, eventInitDict = null) {
19+
return new Event(type, eventInitDict);
20+
}
21+
22+
export function constructCustomEvent(type, eventInitDict = null) {
23+
return new CustomEvent(type, eventInitDict);
24+
}
25+
26+
export function constructEventTarget() { return new EventTarget(); }
27+
28+
export function constructAbortController() { return new AbortController(); }
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
export function getAttribute(object, attribute) { return object[attribute]; }
2+
3+
export function arrayBuffer(buffer) {
4+
var bytes = new Uint8Array(buffer);
5+
return bytes;
6+
}
7+
8+
export function constructBlob(blobParts, options) {
9+
return new Blob(blobParts, options);
10+
}
11+
12+
export function constructFile(blobParts, fileName, options) {
13+
return new File(blobParts, fileName, options);
14+
}
15+
16+
export function constructFileReader() {
17+
return new FileReader();
18+
}
19+
20+
export function registerEventHandlersAsync(objRef, jSInstance) {
21+
jSInstance.addEventListener('loadstart', (e) => objRef.invokeMethodAsync('InvokeOnLoadStartAsync', DotNet.createJSObjectReference(e)));
22+
jSInstance.addEventListener('progress', (e) => objRef.invokeMethodAsync('InvokeOnProgressAsync', DotNet.createJSObjectReference(e)));
23+
jSInstance.addEventListener('load', (e) => objRef.invokeMethodAsync('InvokeOnLoadAsync', DotNet.createJSObjectReference(e)));
24+
jSInstance.addEventListener('abort', (e) => objRef.invokeMethodAsync('InvokeOnAbortAsync', DotNet.createJSObjectReference(e)));
25+
jSInstance.addEventListener('error', (e) => objRef.invokeMethodAsync('InvokeOnErrorAsync', DotNet.createJSObjectReference(e)));
26+
jSInstance.addEventListener('loadend', (e) => objRef.invokeMethodAsync('InvokeOnLoadEndAsync', DotNet.createJSObjectReference(e)));
27+
}
28+
29+
export function registerEventHandlers(objRef, jSInstance) {
30+
jSInstance.addEventListener('loadstart', (e) => objRef.invokeMethod('InvokeOnLoadStart', DotNet.createJSObjectReference(e)));
31+
jSInstance.addEventListener('progress', (e) => objRef.invokeMethod('InvokeOnProgress', DotNet.createJSObjectReference(e)));
32+
jSInstance.addEventListener('load', (e) => objRef.invokeMethod('InvokeOnLoad', DotNet.createJSObjectReference(e)));
33+
jSInstance.addEventListener('abort', (e) => objRef.invokeMethod('InvokeOnAbort', DotNet.createJSObjectReference(e)));
34+
jSInstance.addEventListener('error', (e) => objRef.invokeMethod('InvokeOnError', DotNet.createJSObjectReference(e)));
35+
jSInstance.addEventListener('loadend', (e) => objRef.invokeMethod('InvokeOnLoadEnd', DotNet.createJSObjectReference(e)));
36+
}
37+
38+
export function isArrayBuffer(fileReader) {
39+
return (fileReader.result instanceof ArrayBuffer)
40+
}
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
export function getAttribute(object, attribute) { return object[attribute]; }
2+
3+
export function setAttribute(object, attribute, value) { return object[attribute] = value; }
4+
5+
export function elementAt(array, index) { return array.at(index); }
6+
7+
export function constructReadableStreamDefaultReader(stream) {
8+
return new ReadableStreamDefaultReader(stream);
9+
}
10+
11+
export function constructReadableStreamBYOBReader(stream) {
12+
return new ReadableStreamBYOBReader(stream);
13+
}
14+
15+
export function constructReadableWritablePair(readable, writable) {
16+
return { readable: readable, writable: writable };
17+
}
18+
19+
export function constructReadableStream(underlyingSource, strategy) {
20+
if (underlyingSource == null) {
21+
if (strategy == null) {
22+
return new ReadableStream();
23+
}
24+
return new ReadableStream(null, queueingStrategy(strategy));
25+
}
26+
var source = {
27+
start(controller) {
28+
underlyingSource.objRef.invokeMethodAsync('InvokeStart', DotNet.createJSObjectReference(controller));
29+
},
30+
pull(controller) {
31+
underlyingSource.objRef.invokeMethodAsync('InvokePull', DotNet.createJSObjectReference(controller));
32+
},
33+
cancel() {
34+
underlyingSource.objRef.invokeMethodAsync('InvokeCancel');
35+
},
36+
};
37+
if (strategy == null) {
38+
return new ReadableStream(source);
39+
}
40+
return new ReadableStream(source, queueingStrategy(strategy));
41+
}
42+
43+
export function constructWritableStream(underlyingSink, strategy) {
44+
if (underlyingSink == null) {
45+
return new WritableStream(null, queueingStrategy(strategy));
46+
}
47+
var sink = {
48+
start(controller) {
49+
underlyingSink.objRef.invokeMethodAsync('InvokeStart', DotNet.createJSObjectReference(controller));
50+
},
51+
write(chunk, controller) {
52+
underlyingSink.objRef.invokeMethodAsync('InvokeWrite', DotNet.createJSObjectReference(chunk), DotNet.createJSObjectReference(controller));
53+
},
54+
close() {
55+
underlyingSink.objRef.invokeMethodAsync('InvokeClose');
56+
},
57+
abort() {
58+
underlyingSink.objRef.invokeMethodAsync('InvokeAbort');
59+
},
60+
};
61+
return new WritableStream(sink, queueingStrategy(strategy));
62+
}
63+
64+
export function constructTransformStream(transformer, writableStrategy, readableStrategy) {
65+
if (underlyingSink == null) {
66+
return new TransformStream(null, queueingStrategy(writableStrategy), queueingStrategy(readableStrategy));
67+
}
68+
var constructedTransformer = {
69+
start(controller) {
70+
underlyingSink.objRef.invokeMethodAsync('InvokeStart', DotNet.createJSObjectReference(controller));
71+
},
72+
transform(chunk, controller) {
73+
underlyingSink.objRef.invokeMethodAsync('InvokeTransform', DotNet.createJSObjectReference(chunk), DotNet.createJSObjectReference(controller));
74+
},
75+
flush(controller) {
76+
underlyingSink.objRef.invokeMethodAsync('InvokeFlush', DotNet.createJSObjectReference(controller));
77+
},
78+
cancel(reason) {
79+
underlyingSink.objRef.invokeMethodAsync('InvokeCancel', DotNet.createJSObjectReference(reason));
80+
},
81+
};
82+
return new TransformStream(constructedTransformer, queueingStrategy(writableStrategy), queueingStrategy(readableStrategy));
83+
}
84+
85+
function queueingStrategy(strategy) {
86+
if (strategy == null) {
87+
return {};
88+
}
89+
if (strategy instanceof ByteLengthQueuingStrategy || strategy instanceof CountQueuingStrategy) {
90+
return strategy;
91+
}
92+
return {
93+
highWaterMark: strategy.highWaterMark,
94+
size: (chunk) => strategy.objRef.invokeMethod('InvokeSize', DotNet.createJSObjectReference(chunk))
95+
};
96+
}
97+
98+
export function constructWritableStreamDefaultReader(stream) {
99+
return new WritableStreamDefaultReader(stream);
100+
}
101+
102+
export function constructByteLengthQueuingStrategy(init) {
103+
return new ByteLengthQueuingStrategy(init);
104+
}
105+
106+
export function constructCountQueuingStrategy(init) {
107+
return new CountQueuingStrategy(init);
108+
}
109+
110+
export function constructByteArray(size) {
111+
return new Uint8Array(size);
112+
}
113+
114+
export function byteArray(object) {
115+
var bytes = new Uint8Array(object);
116+
return bytes;
117+
}
118+
119+
export function valueOf(object) {
120+
return object;
121+
}

0 commit comments

Comments
 (0)