Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
c1281fe0
Commit
c1281fe0
authored
Jun 18, 2017
by
Jacob Schatz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adds store and editor files.
parent
232f282b
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
91 additions
and
32 deletions
+91
-32
app/assets/javascripts/dispatcher.js
app/assets/javascripts/dispatcher.js
+3
-4
app/assets/javascripts/repo/repo_bundle.js
app/assets/javascripts/repo/repo_bundle.js
+10
-20
app/assets/javascripts/repo/repo_editor.js
app/assets/javascripts/repo/repo_editor.js
+46
-0
app/assets/javascripts/repo/repo_helper.js
app/assets/javascripts/repo/repo_helper.js
+7
-0
app/assets/javascripts/repo/repo_service.js
app/assets/javascripts/repo/repo_service.js
+1
-1
app/assets/javascripts/repo/repo_sidebar.js
app/assets/javascripts/repo/repo_sidebar.js
+10
-4
app/assets/javascripts/repo/repo_store.js
app/assets/javascripts/repo/repo_store.js
+13
-0
app/views/projects/blob/_blob.html.haml
app/views/projects/blob/_blob.html.haml
+1
-3
No files found.
app/assets/javascripts/dispatcher.js
View file @
c1281fe0
...
...
@@ -55,6 +55,7 @@ import RefSelectDropdown from './ref_select_dropdown';
import
GfmAutoComplete
from
'
./gfm_auto_complete
'
;
import
ShortcutsBlob
from
'
./shortcuts_blob
'
;
import
initSettingsPanels
from
'
./settings_panels
'
;
import
RepoBundle
from
'
./repo/repo_bundle
'
;
(
function
()
{
var
Dispatcher
;
...
...
@@ -323,15 +324,13 @@ import initSettingsPanels from './settings_panels';
break
;
case
'
projects:tree:show
'
:
shortcut_handler
=
new
ShortcutsNavigation
();
new
TreeView
();
new
BlobViewer
();
new
RepoBundle
();
break
;
case
'
projects:find_file:show
'
:
shortcut_handler
=
true
;
break
;
case
'
projects:blob:show
'
:
new
BlobViewer
();
initBlob
();
new
RepoBundle
();
break
;
case
'
projects:blame:show
'
:
initBlob
();
...
...
app/assets/javascripts/repo/repo_bundle.js
View file @
c1281fe0
/* global monaco */
import
Sidebar
from
'
./repo_sidebar
'
import
Editor
from
'
./repo_editor
'
import
Service
from
'
./repo_service
'
import
Store
from
'
./repo_store
'
class
RepoBundle
{
constructor
(
id
,
url
)
{
this
.
service
=
Service
;
this
.
service
.
url
=
url
;
this
.
sidebar
=
new
Sidebar
(
url
);
export
default
class
RepoBundle
{
constructor
()
{
const
url
=
document
.
getElementById
(
'
ide
'
).
dataset
.
url
;
Store
.
service
=
Service
;
Store
.
service
.
url
=
url
;
Store
.
sidebar
=
new
Sidebar
(
url
);
Store
.
editor
=
new
Editor
();
Store
.
sidebar
.
getContent
();
}
}
window
.
require
.
config
({
paths
:
{
vs
:
'
/monaco-editor/min/vs
'
}
});
window
.
require
([
'
vs/editor/editor.main
'
],
()
=>
{
var
editor
=
monaco
.
editor
.
create
(
document
.
getElementById
(
'
ide
'
),
{
value
:
"
function hello() {
\n\t
alert('Hello world!');
\n
}
"
,
language
:
'
javascript
'
,
});
});
document
.
addEventListener
(
'
DOMContentLoaded
'
,
()
=>
{
const
ideRoot
=
document
.
getElementById
(
'
ide
'
);
const
bundle
=
new
RepoBundle
(
ideRoot
,
ideRoot
.
dataset
.
url
);
});
app/assets/javascripts/repo/repo_editor.js
0 → 100644
View file @
c1281fe0
import
Vue
from
'
vue
'
;
import
Store
from
'
./repo_store
'
export
default
class
RepoEditor
{
constructor
()
{
this
.
initMonaco
();
}
initMonaco
()
{
window
.
require
.
config
({
paths
:
{
vs
:
'
/monaco-editor/min/vs
'
}
});
window
.
require
([
'
vs/editor/editor.main
'
],
()
=>
{
this
.
monaco
=
monaco
.
create
(
document
.
getElementById
(
'
ide
'
),
{
model
:
null
}
)
console
.
log
(
"
HELLLOOOO!!!
"
)
this
.
initVue
();
});
}
initVue
()
{
const
editor
=
this
.
editor
;
this
.
vue
=
new
Vue
({
el
:
'
#ide
'
,
data
:
()
=>
Store
,
created
()
{
if
(
this
.
blobRaw
!==
''
){
console
.
log
(
'
models
'
,
this
.
monaco
.
getModels
());
}
},
watch
:
{
blobRaw
()
{
if
(
this
.
isTree
)
{
}
else
{
// this.blobRaw
console
.
log
(
'
models
'
,
editor
.
getModels
())
}
}
}
});
}
}
\ No newline at end of file
app/assets/javascripts/repo/repo_helper.js
0 → 100644
View file @
c1281fe0
let
RepoHelper
=
{
isTree
(
data
)
{
return
data
.
hasOwnProperty
(
'
blobs
'
);
}
};
export
default
RepoHelper
;
\ No newline at end of file
app/assets/javascripts/repo/repo_service.js
View file @
c1281fe0
...
...
@@ -7,7 +7,7 @@ let RepoService = {
this
.
url
=
url
;
},
get
Tree
()
{
get
Content
()
{
return
axios
.
get
(
this
.
url
);
}
};
...
...
app/assets/javascripts/repo/repo_sidebar.js
View file @
c1281fe0
import
Service
from
'
./repo_service
'
import
Helper
from
'
./repo_helper
'
import
Vue
from
'
vue
'
;
import
Store
from
'
./repo_store
'
export
default
class
RepoSidebar
{
constructor
(
url
)
{
this
.
url
=
url
;
this
.
getTree
();
this
.
initVue
();
}
getTree
()
{
Service
.
getTree
()
// may be tree or file.
getContent
()
{
Service
.
getContent
()
.
then
((
response
)
=>
{
console
.
log
(
'
response
'
,
response
.
data
);
let
data
=
response
.
data
;
Store
.
isTree
=
Helper
.
isTree
(
data
);
if
(
!
Store
.
isTree
)
{
Store
.
blobRaw
=
data
.
plain
;
}
})
.
catch
((
response
)
=>
{
console
.
log
(
'
error response
'
,
response
);
...
...
app/assets/javascripts/repo/repo_store.js
0 → 100644
View file @
c1281fe0
let
RepoStore
=
{
service
:
''
,
editor
:
''
,
sidebar
:
''
,
isTree
:
false
,
trees
:
[],
blobs
:
[],
submodules
:
[],
blobRaw
:
''
,
blobRendered
:
''
};
export
default
RepoStore
;
app/views/projects/blob/_blob.html.haml
View file @
c1281fe0
...
...
@@ -8,6 +8,4 @@
=
render
"projects/blob/auxiliary_viewer"
,
blob:
blob
#blob-content-holder
.blob-content-holder
%article
.file-holder
=
render
"projects/blob/header"
,
blob:
blob
=
render
'projects/blob/content'
,
blob:
blob
#ide
{
data:
{
url:
repo_url
},
style:
"height:400px;"
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment