Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
一杯枸杞茶ya
csdn-workflow
提交
76d6f49b
C
csdn-workflow
项目概览
一杯枸杞茶ya
/
csdn-workflow
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
csdn-workflow
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
76d6f49b
编写于
10月 11, 2018
作者:
F
Fatih Acet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Initial discussions component.
上级
1955b659
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
47 addition
and
5 deletion
+47
-5
src/gitlab_service.js
src/gitlab_service.js
+13
-0
src/webview/src/App.vue
src/webview/src/App.vue
+2
-0
src/webview/src/components/IssuableDiscussions.vue
src/webview/src/components/IssuableDiscussions.vue
+21
-0
src/webview_controller.js
src/webview_controller.js
+11
-5
未找到文件。
src/gitlab_service.js
浏览文件 @
76d6f49b
...
...
@@ -374,6 +374,18 @@ async function validateCIConfig(content) {
return
response
;
}
async
function
fetchDiscussions
(
issuable
)
{
let
discussions
=
[];
try
{
discussions
=
await
fetch
(
`/projects/
${
issuable
.
project_id
}
/issues/
${
issuable
.
iid
}
/discussions?sort=asc`
);
}
catch
(
e
)
{
vscode
.
window
.
showInformationMessage
(
'
GitLab Workflow: Failed to fetch discussions for this issuable.
'
);
}
return
discussions
;
}
exports
.
fetchUser
=
fetchUser
;
exports
.
fetchIssuesAssignedToMe
=
fetchIssuesAssignedToMe
;
exports
.
fetchIssuesCreatedByMe
=
fetchIssuesCreatedByMe
;
...
...
@@ -391,3 +403,4 @@ exports.fetchMRIssues = fetchMRIssues;
exports
.
createSnippet
=
createSnippet
;
exports
.
validateCIConfig
=
validateCIConfig
;
exports
.
fetchVersion
=
fetchVersion
;
exports
.
fetchDiscussions
=
fetchDiscussions
;
src/webview/src/App.vue
浏览文件 @
76d6f49b
...
...
@@ -8,6 +8,7 @@ export default {
issuable
:
{
title
:
'
Loading...
'
,
},
discussions
:
[],
};
},
components
:
{
...
...
@@ -24,6 +25,7 @@ export default {
<
template
>
<div
id=
"app"
>
<issuable-details
:issuable=
"issuable"
/>
<issuable-discussions
:discussions=
"discussions"
/>
</div>
</
template
>
...
...
src/webview/src/components/IssuableDiscussions.vue
0 → 100644
浏览文件 @
76d6f49b
<
script
>
const
moment
=
require
(
'
moment
'
);
const
md
=
require
(
'
markdown-it
'
)().
use
(
require
(
'
markdown-it-checkbox
'
));
export
default
{
props
:
{
discussions
:
{
type
:
Array
,
required
:
true
,
},
},
}
</
script
>
<
template
>
<div
class=
"issuable-discussions"
>
<ul>
</ul>
</div>
</
template
>
src/webview_controller.js
浏览文件 @
76d6f49b
const
fs
=
require
(
'
fs
'
);
const
path
=
require
(
'
path
'
);
const
vscode
=
require
(
'
vscode
'
);
const
gitLabService
=
require
(
'
./gitlab_service
'
);
let
context
=
null
;
...
...
@@ -34,6 +35,12 @@ const getResources = () => {
return
paths
;
}
const
getIndexPath
=
()
=>
{
const
isDev
=
!
(
fs
.
existsSync
(
path
.
join
(
context
.
extensionPath
,
'
src/webview/dist/js/app.js
'
)));
return
isDev
?
'
src/webview/public/dev.html
'
:
'
src/webview/public/index.html
'
;
}
async
function
create
(
issuable
)
{
const
panel
=
vscode
.
window
.
createWebviewPanel
(
'
glWorkflow
'
,
'
GL Workflow
'
,
vscode
.
ViewColumn
.
One
,
{
enableScripts
:
true
,
...
...
@@ -42,11 +49,8 @@ async function create(issuable) {
]
});
const
isDev
=
!
(
fs
.
existsSync
(
path
.
join
(
context
.
extensionPath
,
'
src/webview/dist/js/app.js
'
)));
const
indexPath
=
isDev
?
'
src/webview/public/dev.html
'
:
'
src/webview/public/index.html
'
;
const
{
appScriptUri
,
vendorUri
,
styleUri
,
devScriptUri
}
=
getResources
();
let
html
=
fs
.
readFileSync
(
path
.
join
(
context
.
extensionPath
,
indexPath
),
'
UTF-8
'
);
let
html
=
fs
.
readFileSync
(
path
.
join
(
context
.
extensionPath
,
getIndexPath
()
),
'
UTF-8
'
);
html
=
html
.
replace
(
/{{nonce}}/gm
,
getNonce
())
.
replace
(
'
{{styleUri}}
'
,
styleUri
)
...
...
@@ -54,8 +58,10 @@ async function create(issuable) {
.
replace
(
'
{{appScriptUri}}
'
,
appScriptUri
)
.
replace
(
'
{{devScriptUri}}
'
,
devScriptUri
);
const
discussions
=
await
gitLabService
.
fetchDiscussions
(
issuable
);
panel
.
webview
.
html
=
html
;
panel
.
webview
.
postMessage
({
issuable
});
panel
.
webview
.
postMessage
({
issuable
,
discussions
});
}
exports
.
addDeps
=
addDeps
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录