Skip to content

Commit 02b832f

Browse files
author
opcodewriter
committed
Open gist dialog
Implemented open gist dialog
1 parent f8dcfe7 commit 02b832f

12 files changed

+393
-138
lines changed

config.js

+127-127
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,19 @@ System.config({
1616

1717
map: {
1818
"ace": "github:ajaxorg/[email protected]",
19-
"alertify.js": "npm:[email protected]",
20-
"aurelia-bootstrapper": "npm:[email protected]",
19+
"alertify.js": "npm:[email protected]",
20+
"aurelia-bootstrapper": "npm:[email protected]",
21+
"aurelia-dialog": "npm:[email protected]",
2122
"aurelia-event-aggregator": "npm:[email protected]",
22-
"aurelia-framework": "npm:[email protected].0.8",
23-
"aurelia-logging": "npm:[email protected].1",
24-
"aurelia-logging-console": "npm:[email protected]",
25-
"aurelia-pal": "npm:[email protected].0.2",
26-
"babel": "npm:[email protected].34",
27-
"babel-runtime": "npm:[email protected].34",
23+
"aurelia-framework": "npm:[email protected].1.4",
24+
"aurelia-logging": "npm:[email protected].2",
25+
"aurelia-logging-console": "npm:[email protected].1.4",
26+
"aurelia-pal": "npm:[email protected].1.1",
27+
"babel": "npm:[email protected].35",
28+
"babel-runtime": "npm:[email protected].35",
2829
"core-js": "npm:[email protected]",
29-
"github/octicons": "github:github/octicons@3.3.0",
30-
"primer/primer": "github:primer/primer@2.5.0",
30+
"github/octicons": "github:github/octicons@3.5.0",
31+
"primer/primer": "github:primer/primer@2.7.1",
3132
"split.js": "npm:[email protected]",
3233
"text": "github:systemjs/[email protected]",
3334
"github:jspm/[email protected]": {
@@ -45,128 +46,127 @@ System.config({
4546
4647
"util": "npm:[email protected]"
4748
},
48-
49-
"aurelia-metadata": "npm:[email protected]",
50-
"aurelia-pal": "npm:[email protected]",
51-
"aurelia-task-queue": "npm:[email protected]",
52-
"core-js": "npm:[email protected]"
49+
50+
"aurelia-metadata": "npm:[email protected]",
51+
"aurelia-pal": "npm:[email protected]",
52+
"aurelia-task-queue": "npm:[email protected]"
5353
},
54-
"npm:[email protected].0.2": {
54+
"npm:[email protected].1.4": {
5555
"aurelia-event-aggregator": "npm:[email protected]",
56-
"aurelia-framework": "npm:[email protected]",
57-
"aurelia-history": "npm:[email protected]",
58-
"aurelia-history-browser": "npm:[email protected]",
59-
"aurelia-loader-default": "npm:[email protected]",
60-
"aurelia-logging-console": "npm:[email protected]",
61-
"aurelia-pal": "npm:[email protected]",
62-
"aurelia-pal-browser": "npm:[email protected]",
63-
"aurelia-router": "npm:[email protected]",
64-
"aurelia-templating": "npm:[email protected]",
65-
"aurelia-templating-binding": "npm:[email protected]",
66-
"aurelia-templating-resources": "npm:[email protected]",
67-
"aurelia-templating-router": "npm:[email protected]",
68-
"core-js": "npm:[email protected]"
69-
},
70-
71-
"aurelia-logging": "npm:[email protected]",
72-
"aurelia-metadata": "npm:[email protected]",
73-
"aurelia-pal": "npm:[email protected]",
74-
"core-js": "npm:[email protected]"
56+
"aurelia-framework": "npm:[email protected]",
57+
"aurelia-history": "npm:[email protected]",
58+
"aurelia-history-browser": "npm:[email protected]",
59+
"aurelia-loader-default": "npm:[email protected]",
60+
"aurelia-logging-console": "npm:[email protected]",
61+
"aurelia-pal": "npm:[email protected]",
62+
"aurelia-pal-browser": "npm:[email protected]",
63+
"aurelia-polyfills": "npm:[email protected]",
64+
"aurelia-router": "npm:[email protected]",
65+
"aurelia-templating": "npm:[email protected]",
66+
"aurelia-templating-binding": "npm:[email protected]",
67+
"aurelia-templating-resources": "npm:[email protected]",
68+
"aurelia-templating-router": "npm:[email protected]"
69+
},
70+
71+
"aurelia-logging": "npm:[email protected]",
72+
"aurelia-metadata": "npm:[email protected]",
73+
"aurelia-pal": "npm:[email protected]"
74+
},
75+
76+
"aurelia-dependency-injection": "npm:[email protected]",
77+
"aurelia-metadata": "npm:[email protected]",
78+
"aurelia-pal": "npm:[email protected]",
79+
"aurelia-templating": "npm:[email protected]"
7580
},
7681
77-
"aurelia-logging": "npm:[email protected]"
78-
},
79-
80-
"aurelia-binding": "npm:[email protected]",
81-
"aurelia-dependency-injection": "npm:[email protected]",
82-
"aurelia-loader": "npm:[email protected]",
83-
"aurelia-logging": "npm:[email protected]",
84-
"aurelia-metadata": "npm:[email protected]",
85-
"aurelia-pal": "npm:[email protected]",
86-
"aurelia-path": "npm:[email protected]",
87-
"aurelia-task-queue": "npm:[email protected]",
88-
"aurelia-templating": "npm:[email protected]",
89-
"core-js": "npm:[email protected]"
90-
},
91-
92-
"aurelia-history": "npm:[email protected]",
93-
"aurelia-pal": "npm:[email protected]",
94-
"core-js": "npm:[email protected]"
95-
},
96-
97-
"aurelia-loader": "npm:[email protected]",
98-
"aurelia-metadata": "npm:[email protected]",
99-
"aurelia-pal": "npm:[email protected]"
100-
},
101-
102-
"aurelia-metadata": "npm:[email protected]",
103-
"aurelia-path": "npm:[email protected]"
104-
},
105-
106-
"aurelia-logging": "npm:[email protected]",
107-
"aurelia-pal": "npm:[email protected]"
108-
},
109-
110-
"aurelia-pal": "npm:[email protected]",
111-
"core-js": "npm:[email protected]"
112-
},
113-
114-
"aurelia-pal": "npm:[email protected]",
115-
"core-js": "npm:[email protected]"
116-
},
117-
118-
"aurelia-path": "npm:[email protected]",
119-
"core-js": "npm:[email protected]"
120-
},
121-
122-
"aurelia-dependency-injection": "npm:[email protected]",
82+
"aurelia-logging": "npm:[email protected]"
83+
},
84+
85+
"aurelia-binding": "npm:[email protected]",
86+
"aurelia-dependency-injection": "npm:[email protected]",
87+
"aurelia-loader": "npm:[email protected]",
88+
"aurelia-logging": "npm:[email protected]",
89+
"aurelia-metadata": "npm:[email protected]",
90+
"aurelia-pal": "npm:[email protected]",
91+
"aurelia-path": "npm:[email protected]",
92+
"aurelia-task-queue": "npm:[email protected]",
93+
"aurelia-templating": "npm:[email protected]"
94+
},
95+
96+
"aurelia-history": "npm:[email protected]",
97+
"aurelia-pal": "npm:[email protected]"
98+
},
99+
100+
"aurelia-loader": "npm:[email protected]",
101+
"aurelia-metadata": "npm:[email protected]",
102+
"aurelia-pal": "npm:[email protected]"
103+
},
104+
105+
"aurelia-metadata": "npm:[email protected]",
106+
"aurelia-path": "npm:[email protected]"
107+
},
108+
109+
"aurelia-logging": "npm:[email protected]",
110+
"aurelia-pal": "npm:[email protected]"
111+
},
112+
113+
"aurelia-pal": "npm:[email protected]"
114+
},
115+
116+
"aurelia-pal": "npm:[email protected]"
117+
},
118+
119+
"aurelia-pal": "npm:[email protected]"
120+
},
121+
122+
"aurelia-path": "npm:[email protected]"
123+
},
124+
125+
"aurelia-dependency-injection": "npm:[email protected]",
123126
"aurelia-event-aggregator": "npm:[email protected]",
124-
"aurelia-history": "npm:[email protected]",
125-
"aurelia-logging": "npm:[email protected]",
126-
"aurelia-path": "npm:[email protected]",
127-
"aurelia-route-recognizer": "npm:[email protected]",
128-
"core-js": "npm:[email protected]"
129-
},
130-
131-
"aurelia-pal": "npm:[email protected]"
132-
},
133-
134-
"aurelia-binding": "npm:[email protected]",
135-
"aurelia-logging": "npm:[email protected]",
136-
"aurelia-templating": "npm:[email protected]"
137-
},
138-
139-
"aurelia-binding": "npm:[email protected]",
140-
"aurelia-dependency-injection": "npm:[email protected]",
141-
"aurelia-loader": "npm:[email protected]",
142-
"aurelia-logging": "npm:[email protected]",
143-
"aurelia-pal": "npm:[email protected]",
144-
"aurelia-path": "npm:[email protected]",
145-
"aurelia-task-queue": "npm:[email protected]",
146-
"aurelia-templating": "npm:[email protected]",
147-
"core-js": "npm:[email protected]"
148-
},
149-
150-
"aurelia-dependency-injection": "npm:[email protected]",
151-
"aurelia-logging": "npm:[email protected]",
152-
"aurelia-metadata": "npm:[email protected]",
153-
"aurelia-pal": "npm:[email protected]",
154-
"aurelia-path": "npm:[email protected]",
155-
"aurelia-router": "npm:[email protected]",
156-
"aurelia-templating": "npm:[email protected]"
157-
},
158-
159-
"aurelia-binding": "npm:[email protected]",
160-
"aurelia-dependency-injection": "npm:[email protected]",
161-
"aurelia-loader": "npm:[email protected]",
162-
"aurelia-logging": "npm:[email protected]",
163-
"aurelia-metadata": "npm:[email protected]",
164-
"aurelia-pal": "npm:[email protected]",
165-
"aurelia-path": "npm:[email protected]",
166-
"aurelia-task-queue": "npm:[email protected]",
167-
"core-js": "npm:[email protected]"
168-
},
169-
127+
"aurelia-history": "npm:[email protected]",
128+
"aurelia-logging": "npm:[email protected]",
129+
"aurelia-path": "npm:[email protected]",
130+
"aurelia-route-recognizer": "npm:[email protected]"
131+
},
132+
133+
"aurelia-pal": "npm:[email protected]"
134+
},
135+
136+
"aurelia-binding": "npm:[email protected]",
137+
"aurelia-logging": "npm:[email protected]",
138+
"aurelia-templating": "npm:[email protected]"
139+
},
140+
141+
"aurelia-binding": "npm:[email protected]",
142+
"aurelia-dependency-injection": "npm:[email protected]",
143+
"aurelia-loader": "npm:[email protected]",
144+
"aurelia-logging": "npm:[email protected]",
145+
"aurelia-pal": "npm:[email protected]",
146+
"aurelia-path": "npm:[email protected]",
147+
"aurelia-task-queue": "npm:[email protected]",
148+
"aurelia-templating": "npm:[email protected]"
149+
},
150+
151+
"aurelia-dependency-injection": "npm:[email protected]",
152+
"aurelia-logging": "npm:[email protected]",
153+
"aurelia-metadata": "npm:[email protected]",
154+
"aurelia-pal": "npm:[email protected]",
155+
"aurelia-path": "npm:[email protected]",
156+
"aurelia-router": "npm:[email protected]",
157+
"aurelia-templating": "npm:[email protected]"
158+
},
159+
160+
"aurelia-binding": "npm:[email protected]",
161+
"aurelia-dependency-injection": "npm:[email protected]",
162+
"aurelia-loader": "npm:[email protected]",
163+
"aurelia-logging": "npm:[email protected]",
164+
"aurelia-metadata": "npm:[email protected]",
165+
"aurelia-pal": "npm:[email protected]",
166+
"aurelia-path": "npm:[email protected]",
167+
"aurelia-task-queue": "npm:[email protected]"
168+
},
169+
170170
"process": "github:jspm/[email protected]"
171171
},
172172

img/octocat-spinner-32.gif

2.26 KB
Loading

index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
}
2626
</script>
2727
<link rel="icon" href="img/favicon32x32.ico">
28-
<link rel="stylesheet" href="jspm_packages/github/github/octicons@3.3.0/octicons.css">
29-
<link rel="stylesheet" href="jspm_packages/github/primer/primer@2.5.0/css/primer.css">
28+
<link rel="stylesheet" href="jspm_packages/github/github/octicons@3.5.0/octicons.css">
29+
<link rel="stylesheet" href="jspm_packages/github/primer/primer@2.7.1/css/primer.css">
3030
<link rel="stylesheet" href="styles/base-styles.css">
3131
<link rel="stylesheet" href="styles/app-styles.css">
3232
</head>

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"ace": "github:ajaxorg/ace-builds@^1.2.2",
6262
"alertify.js": "npm:alertify.js@^1.0.9",
6363
"aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0-beta.1",
64+
"aurelia-dialog": "npm:aurelia-dialog@^0.5.8",
6465
"aurelia-event-aggregator": "npm:aurelia-event-aggregator@^1.0.0-beta.1.1.1",
6566
"aurelia-framework": "npm:aurelia-framework@^1.0.0-beta.1",
6667
"aurelia-logging": "npm:aurelia-logging@^1.0.0-beta.1",

src/github/gists.js

+11
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,15 @@ export class Gists {
7575
})
7676
.then(fork => this.load(fork.id));
7777
}
78+
79+
list() {
80+
return this.api.fetch(`gists`)
81+
.then(response => {
82+
if (response.ok) {
83+
return response.json();
84+
}
85+
// todo: handle rate limit, etc
86+
throw new Error('unable to list gists');
87+
});
88+
}
7889
}

src/main.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
export function configure(aurelia) {
2-
aurelia.use.standardConfiguration();
2+
aurelia.use
3+
.standardConfiguration()
4+
.plugin('aurelia-dialog');
35

46
aurelia.start()
57
.then(() => {

src/ui/edit-file-panel.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<template bindables="editSession">
1+
<template bindable="editSession">
22
<require from="./ace-editor"></require>
33
<require from="./focus-target"></require>
44
<require from="./ga"></require>

src/ui/header.html

+8
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,12 @@
3838
ga ga-category="nav-panel" ga-action="new">
3939
New Gist
4040
</button>
41+
42+
<button class="btn btn-sm right" type="button"
43+
show.bind="user.authenticated"
44+
disabled.bind="user.loading"
45+
click.delegate="openGist()"
46+
ga ga-category="header" ga-action="open-gist">
47+
Open Gist
48+
</button>
4149
</template>

src/ui/header.js

+19-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,24 @@
11
import {inject, bindable} from 'aurelia-framework';
2+
import {DialogService} from 'aurelia-dialog';
23
import {User} from '../github/user';
4+
import {OpenGist} from './open-gist';
35

4-
@inject(User)
6+
@inject(User, DialogService)
57
export class Header {
6-
@bindable import;
7-
@bindable new;
8+
@bindable import;
9+
@bindable new;
810

9-
constructor(user) {
10-
this.user = user;
11-
}
12-
}
11+
constructor(user, dialogService) {
12+
this.user = user;
13+
this.dialogService = dialogService;
14+
}
15+
16+
openGist() {
17+
const importGist = this.import;
18+
this.dialogService.open({ viewModel: OpenGist }).then(response => {
19+
if (!response.wasCancelled) {
20+
importGist({ urlOrId: response.output.url });
21+
}
22+
});
23+
}
24+
}

0 commit comments

Comments
 (0)