summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/commit.js.coffee5
-rw-r--r--app/assets/javascripts/dashboard.js.coffee83
-rw-r--r--app/assets/javascripts/dispatcher.js.coffee23
-rw-r--r--app/assets/javascripts/project.js.coffee37
-rw-r--r--app/assets/javascripts/projects.js.coffee35
-rw-r--r--app/assets/javascripts/wall.js.coffee42
-rw-r--r--app/assets/javascripts/wikis.js.coffee19
-rw-r--r--app/views/graph/show.html.haml13
-rw-r--r--app/views/layouts/project_resource.html.haml2
-rw-r--r--app/views/merge_requests/_show.html.haml18
-rw-r--r--app/views/walls/show.html.haml5
-rw-r--r--app/views/wikis/_new.html.haml21
12 files changed, 158 insertions, 145 deletions
diff --git a/app/assets/javascripts/commit.js.coffee b/app/assets/javascripts/commit.js.coffee
index 42af060a58e..9f55a1e6368 100644
--- a/app/assets/javascripts/commit.js.coffee
+++ b/app/assets/javascripts/commit.js.coffee
@@ -1,5 +1,6 @@
-@Commit =
- init: ->
+class Commit
+ constructor: ->
$('.files .file').each ->
new CommitFile(this)
+@Commit = Commit
diff --git a/app/assets/javascripts/dashboard.js.coffee b/app/assets/javascripts/dashboard.js.coffee
index 4189c90bbfa..9beca261467 100644
--- a/app/assets/javascripts/dashboard.js.coffee
+++ b/app/assets/javascripts/dashboard.js.coffee
@@ -1,39 +1,44 @@
-window.dashboardPage = ->
- Pager.init 20, true
- initSidebarTab()
- $(".event_filter_link").bind "click", (event) ->
- event.preventDefault()
- toggleFilter $(this)
- reloadActivities()
-
-reloadActivities = ->
- $(".content_list").html ''
- Pager.init 20, true
-
-toggleFilter = (sender) ->
- sender.parent().toggleClass "inactive"
- event_filters = $.cookie("event_filter")
- filter = sender.attr("id").split("_")[0]
- if event_filters
- event_filters = event_filters.split(",")
- else
- event_filters = new Array()
-
- index = event_filters.indexOf(filter)
- if index is -1
- event_filters.push filter
- else
- event_filters.splice index, 1
-
- $.cookie "event_filter", event_filters.join(",")
-
-initSidebarTab = ->
- key = "dashboard_sidebar_filter"
-
- # store selection in cookie
- $('.dash-sidebar-tabs a').on 'click', (e) ->
- $.cookie(key, $(e.target).attr('id'))
-
- # show tab from cookie
- sidebar_filter = $.cookie(key)
- $("#" + sidebar_filter).tab('show') if sidebar_filter
+class Dashboard
+ constructor: ->
+ Pager.init 20, true
+ @initSidebarTab()
+
+ $(".event_filter_link").bind "click", (event) =>
+ event.preventDefault()
+ @toggleFilter($(event.currentTarget))
+ @reloadActivities()
+
+ reloadActivities: ->
+ $(".content_list").html ''
+ Pager.init 20, true
+
+ toggleFilter: (sender) ->
+ sender.parent().toggleClass "inactive"
+ event_filters = $.cookie("event_filter")
+ filter = sender.attr("id").split("_")[0]
+ if event_filters
+ event_filters = event_filters.split(",")
+ else
+ event_filters = new Array()
+
+ index = event_filters.indexOf(filter)
+ if index is -1
+ event_filters.push filter
+ else
+ event_filters.splice index, 1
+
+ $.cookie "event_filter", event_filters.join(",")
+
+ initSidebarTab: ->
+ key = "dashboard_sidebar_filter"
+
+ # store selection in cookie
+ $('.dash-sidebar-tabs a').on 'click', (e) ->
+ $.cookie(key, $(e.target).attr('id'))
+
+ # show tab from cookie
+ sidebar_filter = $.cookie(key)
+ $("#" + sidebar_filter).tab('show') if sidebar_filter
+
+
+@Dashboard = Dashboard
diff --git a/app/assets/javascripts/dispatcher.js.coffee b/app/assets/javascripts/dispatcher.js.coffee
index cb48fff02e3..044f6ffdd47 100644
--- a/app/assets/javascripts/dispatcher.js.coffee
+++ b/app/assets/javascripts/dispatcher.js.coffee
@@ -4,16 +4,27 @@ $ ->
class Dispatcher
constructor: () ->
page = $('body').attr('data-page')
+ project_id = $('body').attr('data-project-id')
console.log(page)
+
+ path = page.split(':')
switch page
- when 'issues:index' then Issues.init()
- when 'dashboard:show' then dashboardPage()
- when 'commit:show' then Commit.init()
+ when 'issues:index'
+ Issues.init()
+ when 'dashboard:show'
+ new Dashboard()
+ when 'commit:show'
+ new Commit()
when 'groups:show', 'teams:show', 'projects:show'
Pager.init(20, true)
when 'projects:new', 'projects:edit'
- new Projects()
- when 'admin:teams:show', 'admin:groups:show', 'admin:logs:show', 'admin:users:new'
- Admin.init()
+ new Project()
+ when 'walls:show'
+ new Wall(project_id)
+
+ switch path.first()
+ when 'admin' then Admin.init()
+ when 'wikis' then new Wikis()
+
diff --git a/app/assets/javascripts/project.js.coffee b/app/assets/javascripts/project.js.coffee
new file mode 100644
index 00000000000..f926188d23f
--- /dev/null
+++ b/app/assets/javascripts/project.js.coffee
@@ -0,0 +1,37 @@
+class Project
+ constructor: ->
+ $('.new_project, .edit_project').on 'ajax:before', ->
+ $('.project_new_holder, .project_edit_holder').hide()
+ $('.save-project-loader').show()
+
+ $('form #project_default_branch').chosen()
+ disableButtonIfEmptyField '#project_name', '.project-submit'
+
+ $('#project_issues_enabled').change ->
+ if ($(this).is(':checked') == true)
+ $('#project_issues_tracker').removeAttr('disabled')
+ else
+ $('#project_issues_tracker').attr('disabled', 'disabled')
+
+ $('#project_issues_tracker').change()
+
+ $('#project_issues_tracker').change ->
+ if ($(this).val() == gon.default_issues_tracker || $(this).is(':disabled'))
+ $('#project_issues_tracker_id').attr('disabled', 'disabled')
+ else
+ $('#project_issues_tracker_id').removeAttr('disabled')
+
+@Project = Project
+
+$ ->
+ # Git clone panel switcher
+ scope = $ '.project_clone_holder'
+ if scope.length > 0
+ $('a, button', scope).click ->
+ $('a, button', scope).removeClass 'active'
+ $(@).addClass 'active'
+ $('#project_clone', scope).val $(@).data 'clone'
+
+ # Ref switcher
+ $('.project-refs-select').on 'change', ->
+ $(@).parents('form').submit()
diff --git a/app/assets/javascripts/projects.js.coffee b/app/assets/javascripts/projects.js.coffee
deleted file mode 100644
index 24106c61b75..00000000000
--- a/app/assets/javascripts/projects.js.coffee
+++ /dev/null
@@ -1,35 +0,0 @@
-window.Projects = ->
- $('.new_project, .edit_project').on 'ajax:before', ->
- $('.project_new_holder, .project_edit_holder').hide()
- $('.save-project-loader').show()
-
- $('form #project_default_branch').chosen()
- disableButtonIfEmptyField '#project_name', '.project-submit'
-
-$ ->
- # Git clone panel switcher
- scope = $ '.project_clone_holder'
- if scope.length > 0
- $('a, button', scope).click ->
- $('a, button', scope).removeClass 'active'
- $(@).addClass 'active'
- $('#project_clone', scope).val $(@).data 'clone'
-
- # Ref switcher
- $('.project-refs-select').on 'change', ->
- $(@).parents('form').submit()
-
- $('#project_issues_enabled').change ->
- if ($(this).is(':checked') == true)
- $('#project_issues_tracker').removeAttr('disabled')
- else
- $('#project_issues_tracker').attr('disabled', 'disabled')
-
- $('#project_issues_tracker').change()
-
- $('#project_issues_tracker').change ->
- if ($(this).val() == gon.default_issues_tracker || $(this).is(':disabled'))
- $('#project_issues_tracker_id').attr('disabled', 'disabled')
- else
- $('#project_issues_tracker_id').removeAttr('disabled')
-
diff --git a/app/assets/javascripts/wall.js.coffee b/app/assets/javascripts/wall.js.coffee
index e2fca3ddee4..c8fc960e174 100644
--- a/app/assets/javascripts/wall.js.coffee
+++ b/app/assets/javascripts/wall.js.coffee
@@ -1,32 +1,32 @@
-@Wall =
- note_ids: []
- project_id: null
-
- init: (project_id) ->
- Wall.project_id = project_id
- Wall.getContent()
- Wall.initRefresh()
- Wall.initForm()
+class Wall
+ constructor: (project_id) ->
+ @project_id = project_id
+ @note_ids = []
+ @getContent()
+ @initRefresh()
+ @initForm()
#
# Gets an initial set of notes.
#
getContent: ->
- Api.notes Wall.project_id, (notes) ->
- $.each notes, (i, note) ->
+ Api.notes @project_id, (notes) =>
+ $.each notes, (i, note) =>
# render note if it not present in loaded list
# or skip if rendered
- if $.inArray(note.id, Wall.note_ids) == -1
- Wall.note_ids.push(note.id)
- Wall.renderNote(note)
- Wall.scrollDown()
+ if $.inArray(note.id, @note_ids) == -1
+ @note_ids.push(note.id)
+ @renderNote(note)
+ @scrollDown()
$("abbr.timeago").timeago()
initRefresh: ->
- setInterval("Wall.refresh()", 10000)
+ setInterval =>
+ @refresh()
+ , 10000
refresh: ->
- Wall.getContent()
+ @getContent()
scrollDown: ->
notes = $('ul.notes')
@@ -36,8 +36,8 @@
form = $('.wall-note-form')
form.find("#target_type").val('wall')
- form.on 'ajax:success', ->
- Wall.refresh()
+ form.on 'ajax:success', =>
+ @refresh()
form.find(".js-note-text").val("").trigger("input")
form.on 'ajax:complete', ->
@@ -58,7 +58,7 @@
form.show()
renderNote: (note) ->
- template = Wall.noteTemplate()
+ template = @noteTemplate()
template = template.replace('{{author_name}}', note.author.name)
template = template.replace('{{created_at}}', note.created_at)
template = template.replace('{{text}}', linkify(sanitize(note.body)))
@@ -81,3 +81,5 @@
</span>
<abbr class="timeago" title="{{created_at}}">{{created_at}}</abbr>
</li>'
+
+@Wall = Wall
diff --git a/app/assets/javascripts/wikis.js.coffee b/app/assets/javascripts/wikis.js.coffee
new file mode 100644
index 00000000000..f2867c8026e
--- /dev/null
+++ b/app/assets/javascripts/wikis.js.coffee
@@ -0,0 +1,19 @@
+class Wikis
+ constructor: ->
+ modal = $('#modal-new-wiki').modal({modal: true, show:false})
+
+ $('.add-new-wiki').bind "click", ->
+ modal.show()
+
+ $('.build-new-wiki').bind "click", ->
+ field = $('#new_wiki_path')
+ slug = field.val()
+ path = field.attr('data-wikis-path')
+
+ if(slug.length > 0)
+ location.href = path + "/" + slug
+
+ $('.modal-header .close').bind "click", ->
+ modal.hide()
+
+@Wikis = Wikis
diff --git a/app/views/graph/show.html.haml b/app/views/graph/show.html.haml
index e45aca1ddcb..682d2798906 100644
--- a/app/views/graph/show.html.haml
+++ b/app/views/graph/show.html.haml
@@ -7,11 +7,10 @@
:javascript
var branch_graph;
- $(function(){
- branch_graph = new BranchGraph($("#holder"), {
- url: '#{project_graph_path(@project, @ref, q: @q, format: :json)}',
- commit_url: '#{project_commit_path(@project, 'ae45ca32').gsub("ae45ca32", "%s")}',
- ref: '#{@ref}',
- commit_id: '#{@commit.id}'
- });
+
+ branch_graph = new BranchGraph($("#holder"), {
+ url: '#{project_graph_path(@project, @ref, q: @q, format: :json)}',
+ commit_url: '#{project_commit_path(@project, 'ae45ca32').gsub("ae45ca32", "%s")}',
+ ref: '#{@ref}',
+ commit_id: '#{@commit.id}'
});
diff --git a/app/views/layouts/project_resource.html.haml b/app/views/layouts/project_resource.html.haml
index f6c5b166ed2..1fc36410668 100644
--- a/app/views/layouts/project_resource.html.haml
+++ b/app/views/layouts/project_resource.html.haml
@@ -1,7 +1,7 @@
!!! 5
%html{ lang: "en"}
= render "layouts/head", title: @project.name_with_namespace
- %body{class: "#{app_theme} project", :'data-page' => body_data_page}
+ %body{class: "#{app_theme} project", :'data-page' => body_data_page, :'data-project-id' => @project.id }
= render "layouts/head_panel", title: project_title(@project)
= render "layouts/flash"
- if can?(current_user, :download_code, @project)
diff --git a/app/views/merge_requests/_show.html.haml b/app/views/merge_requests/_show.html.haml
index 08b80172645..d6e00ca9b8b 100644
--- a/app/views/merge_requests/_show.html.haml
+++ b/app/views/merge_requests/_show.html.haml
@@ -26,14 +26,12 @@
:javascript
var merge_request;
- $(function(){
- merge_request = new MergeRequest({
- url_to_automerge_check: "#{automerge_check_project_merge_request_path(@project, @merge_request)}",
- check_enable: #{@merge_request.unchecked? ? "true" : "false"},
- url_to_ci_check: "#{ci_status_project_merge_request_path(@project, @merge_request)}",
- ci_enable: #{@project.gitlab_ci? ? "true" : "false"},
- current_status: "#{@merge_request.merge_status_name}",
- action: "#{controller.action_name}"
- });
- });
+ merge_request = new MergeRequest({
+ url_to_automerge_check: "#{automerge_check_project_merge_request_path(@project, @merge_request)}",
+ check_enable: #{@merge_request.unchecked? ? "true" : "false"},
+ url_to_ci_check: "#{ci_status_project_merge_request_path(@project, @merge_request)}",
+ ci_enable: #{@project.gitlab_ci? ? "true" : "false"},
+ current_status: "#{@merge_request.merge_status_name}",
+ action: "#{controller.action_name}"
+ });
diff --git a/app/views/walls/show.html.haml b/app/views/walls/show.html.haml
index 139e66f5dd0..88aecee0815 100644
--- a/app/views/walls/show.html.haml
+++ b/app/views/walls/show.html.haml
@@ -21,8 +21,3 @@
.hint.pull-right CTRL + Enter to send message
.clearfix
-
-:javascript
- $(function(){
- Wall.init(#{@project.id});
- });
diff --git a/app/views/wikis/_new.html.haml b/app/views/wikis/_new.html.haml
index bc1635eb174..ca8e7c1b4b4 100644
--- a/app/views/wikis/_new.html.haml
+++ b/app/views/wikis/_new.html.haml
@@ -5,27 +5,8 @@
.modal-body
= label_tag :new_wiki_path do
%span Page slug
- = text_field_tag :new_wiki_path, nil, placeholder: 'how-to-setup', class: 'input-xlarge', required: true
+ = text_field_tag :new_wiki_path, nil, placeholder: 'how-to-setup', class: 'input-xlarge', required: true, :'data-wikis-path' => project_wikis_path(@project)
%p.hint
Please dont use spaces and slashes
.modal-footer
= link_to 'Build', '#', class: 'build-new-wiki btn btn-create'
-
-:javascript
- $(function(){
- var modal = $('#modal-new-wiki').modal({modal: true, show:false});
- $('.add-new-wiki').bind("click", function(){
- modal.show();
- });
- $('.build-new-wiki').bind("click", function(){
- var slug = $('#new_wiki_path').val();
-
- if(slug.length > 0) {
- location.href = "#{project_wikis_path(@project)}/" + slug;
- }
- });
- $('.modal-header .close').bind("click", function(){
- modal.hide();
- })
- })
-