Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
a6a7a0e1
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a6a7a0e1
编写于
7月 26, 2017
作者:
L
Luke "Jared" Bennett
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make RepoEditor an async component to load monaco before mounting
上级
98ad6706
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
30 addition
and
25 deletion
+30
-25
app/assets/javascripts/repo/index.js
app/assets/javascripts/repo/index.js
+1
-1
app/assets/javascripts/repo/repo_editor.js
app/assets/javascripts/repo/repo_editor.js
+27
-23
app/assets/javascripts/repo/repo_store.js
app/assets/javascripts/repo/repo_store.js
+1
-0
spec/javascripts/repo/repo_editor_spec.js
spec/javascripts/repo/repo_editor_spec.js
+1
-1
未找到文件。
app/assets/javascripts/repo/index.js
浏览文件 @
a6a7a0e1
...
...
@@ -9,7 +9,7 @@ import RepoCommitSection from './repo_commit_section.vue';
import
RepoTabs
from
'
./repo_tabs.vue
'
;
import
RepoFileButtons
from
'
./repo_file_buttons.vue
'
;
import
RepoBinaryViewer
from
'
./repo_binary_viewer.vue
'
;
import
RepoEditor
from
'
./repo_editor
.vue
'
;
import
RepoEditor
from
'
./repo_editor
'
;
import
RepoMiniMixin
from
'
./repo_mini_mixin
'
;
function
initRepo
()
{
...
...
app/assets/javascripts/repo/repo_editor.
vue
→
app/assets/javascripts/repo/repo_editor.
js
浏览文件 @
a6a7a0e1
<
script
>
/* global monaco */
import
Store
from
'
./repo_store
'
;
import
Helper
from
'
./repo_helper
'
;
...
...
@@ -7,28 +6,28 @@ import monacoLoader from './monaco_loader';
const
RepoEditor
=
{
data
:
()
=>
Store
,
template
:
'
<div id="ide"></div>
'
,
mounted
()
{
monacoLoader
([
'
vs/editor/editor.main
'
],
()
=>
{
const
monacoInstance
=
monaco
.
editor
.
create
(
this
.
$el
,
{
model
:
null
,
readOnly
:
true
,
contextmenu
:
false
,
});
const
monacoInstance
=
this
.
monaco
.
editor
.
create
(
this
.
$el
,
{
model
:
null
,
readOnly
:
true
,
contextmenu
:
false
,
});
Store
.
monacoInstance
=
monacoInstance
;
Store
.
monacoInstance
=
monacoInstance
;
this
.
addMonacoEvents
();
this
.
addMonacoEvents
();
Helper
.
getContent
().
then
(()
=>
{
this
.
showHide
();
Helper
.
getContent
().
then
(()
=>
{
this
.
showHide
();
if
(
this
.
blobRaw
===
''
)
return
;
if
(
this
.
blobRaw
===
''
)
return
;
const
newModel
=
monaco
.
editor
.
createModel
(
this
.
blobRaw
,
'
plaintext
'
);
const
newModel
=
this
.
monaco
.
editor
.
createModel
(
this
.
blobRaw
,
'
plaintext
'
);
this
.
monacoInstance
.
setModel
(
newModel
);
}).
catch
(
Helper
.
loadingError
);
});
this
.
monacoInstance
.
setModel
(
newModel
);
}).
catch
(
Helper
.
loadingError
);
},
methods
:
{
...
...
@@ -98,18 +97,23 @@ const RepoEditor = {
this
.
monacoInstance
.
setModel
(
null
);
const
languages
=
monaco
.
languages
.
getLanguages
();
const
languages
=
this
.
monaco
.
languages
.
getLanguages
();
const
languageID
=
Helper
.
getLanguageIDForFile
(
this
.
activeFile
,
languages
);
const
newModel
=
monaco
.
editor
.
createModel
(
this
.
blobRaw
,
languageID
);
const
newModel
=
this
.
monaco
.
editor
.
createModel
(
this
.
blobRaw
,
languageID
);
this
.
monacoInstance
.
setModel
(
newModel
);
},
},
};
export
default
RepoEditor
;
</
script
>
function
asyncLoadRepoEditor
()
{
return
new
Promise
((
resolve
)
=>
{
monacoLoader
([
'
vs/editor/editor.main
'
],
()
=>
{
Store
.
monaco
=
monaco
;
resolve
(
RepoEditor
);
});
});
}
<
template
>
<div
id=
"ide"
></div>
</
template
>
export
default
asyncLoadRepoEditor
;
app/assets/javascripts/repo/repo_store.js
浏览文件 @
a6a7a0e1
...
...
@@ -3,6 +3,7 @@ import RepoHelper from './repo_helper';
const
RepoStore
=
{
ideEl
:
{},
monaco
:
{},
monacoInstance
:
{},
service
:
''
,
editor
:
''
,
...
...
spec/javascripts/repo/repo_editor_spec.js
浏览文件 @
a6a7a0e1
import
Vue
from
'
vue
'
;
import
repoEditor
from
'
~/repo/repo_editor
.vue
'
;
import
repoEditor
from
'
~/repo/repo_editor
'
;
describe
(
'
RepoEditor
'
,
()
=>
{
function
createComponent
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录