diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2016-11-09 15:22:11 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2016-11-16 11:58:10 +0000 |
commit | 60099d9027e3d7816b1fb8de237dfd70a0c5cb3d (patch) | |
tree | 9788d9fcd08cfee7705d23b3af47571ed28a2338 | |
parent | 5cfc2d0c1ce3ec170a531e5da39703698c4f8e59 (diff) | |
download | gitlab-ce-60099d9027e3d7816b1fb8de237dfd70a0c5cb3d.tar.gz |
Adds environments actions component
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?)} |