summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2016-11-09 15:22:11 +0000
committerFilipa Lacerda <filipa@gitlab.com>2016-11-16 11:58:10 +0000
commit60099d9027e3d7816b1fb8de237dfd70a0c5cb3d (patch)
tree9788d9fcd08cfee7705d23b3af47571ed28a2338
parent5cfc2d0c1ce3ec170a531e5da39703698c4f8e59 (diff)
downloadgitlab-ce-60099d9027e3d7816b1fb8de237dfd70a0c5cb3d.tar.gz
Adds environments actions component
-rw-r--r--app/assets/javascripts/environments/components/environment_actions.js.es639
-rw-r--r--app/assets/javascripts/environments/components/environment_item.js.es61
-rw-r--r--app/assets/javascripts/environments/environments_bundle.js.es64
-rw-r--r--app/views/projects/environments/index.html.haml2
4 files changed, 43 insertions, 3 deletions
diff --git a/app/assets/javascripts/environments/components/environment_actions.js.es6 b/app/assets/javascripts/environments/components/environment_actions.js.es6
new file mode 100644
index 00000000000..6b0555360b5
--- /dev/null
+++ b/app/assets/javascripts/environments/components/environment_actions.js.es6
@@ -0,0 +1,39 @@
+/*= require vue
+/* global Vue */
+
+(() => {
+ window.gl = window.gl || {};
+ window.gl.environmentsList = window.gl.environmentsList || {};
+
+ window.gl.environmentsList.ActionsComponent = Vue.component('actions-component', {
+ props: {
+ actions: {
+ type: Array,
+ required: false,
+ default: () => []
+ }
+ },
+
+ template: `
+ <div class="inline">
+ <div class="dropdown">
+ <a class="dropdown-new btn btn-default" data-toggle="dropdown">
+ playIcon
+ <i class="fa fa-caret-down"></i>
+ </a>
+
+ <ul class="dropdown-menu dropdown-menu-align-right">
+ <li v-for="action in actions">
+ <a :href="action.play_url" data-method="post" rel="nofollow">
+ icon play
+ <span>
+ {{action.name}}
+ </span>
+ </a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ `
+ });
+})(); \ No newline at end of file
diff --git a/app/assets/javascripts/environments/components/environment_item.js.es6 b/app/assets/javascripts/environments/components/environment_item.js.es6
index d029cc8c92e..c51ea8707dd 100644
--- a/app/assets/javascripts/environments/components/environment_item.js.es6
+++ b/app/assets/javascripts/environments/components/environment_item.js.es6
@@ -1,5 +1,4 @@
/*= require vue_common_component/commit
-/*= require timeago
/* globals Vue, timeago */
(() => {
diff --git a/app/assets/javascripts/environments/environments_bundle.js.es6 b/app/assets/javascripts/environments/environments_bundle.js.es6
index 1192f3e5bfb..9766bd1da27 100644
--- a/app/assets/javascripts/environments/environments_bundle.js.es6
+++ b/app/assets/javascripts/environments/environments_bundle.js.es6
@@ -41,7 +41,9 @@ $(() => {
data: {
state: Store.state,
- endpoint: environmentsListApp.dataset.endpoint,
+ endpoint: environmentsListApp.dataset.environmentsDataEndpoint,
+ canCreateDeployment: environmentsListApp.dataset.canCreateDeployment,
+ canReadEnvironment: environmentsListApp.dataset.canReadEnvironment,
loading: true,
visibility: 'available',
},
diff --git a/app/views/projects/environments/index.html.haml b/app/views/projects/environments/index.html.haml
index 61a3d76274e..532b617b7b8 100644
--- a/app/views/projects/environments/index.html.haml
+++ b/app/views/projects/environments/index.html.haml
@@ -5,7 +5,7 @@
- content_for :page_specific_javascripts do
= page_specific_javascript_tag("environments/environments_bundle.js")
-#environments-list-view{ data: environments_list_data, class: container_class }
+#environments-list-view{ data: { environments_data: environments_list_data, "can-create-deployment" => can?(current_user, :create_deployment, @environment), "can_read_environment" => can?(current_user, :read_environment, @project)}, class: container_class }
.top-area
%ul.nav-links{ "v-if" => "!loading" }
%li{class: ('active' if @scope.nil?)}