Commit de990812 authored by Filipa Lacerda's avatar Filipa Lacerda

Creates component

parent 52c4f8ef
(() => {
const Store = gl.environmentsList.EnvironmentsStore;
window.gl = window.gl || {};
window.gl.environmentsList = window.gl.environmentsList || {};
gl.environmentsList.EnvironmentItem = Vue.extend({
props: {
model: Object
},
data: function () {
return {
open: false
};
},
computed: {
isFolder: function() {
debugger;
return this.model.children && this.model.children.length
}
},
methods: {
toggle: function () {
if (this.isFolder) {
this.open = !this.open;
}
}
}
})
})();
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
//= require vue-resource //= require vue-resource
//= require_tree ./stores //= require_tree ./stores
//= require_tree ./services //= require_tree ./services
//= require ./components/environment_item
$(() => { $(() => {
...@@ -20,10 +20,11 @@ $(() => { ...@@ -20,10 +20,11 @@ $(() => {
el: $environmentsListApp, el: $environmentsListApp,
components: { components: {
'tree-view': gl.environmentsList.TreeView 'environment-item': gl.environmentsList.EnvironmentItem
}, },
data: { data: {
state: Store.state,
endpoint: $environmentsListApp.dataset.endpoint, endpoint: $environmentsListApp.dataset.endpoint,
loading: true loading: true
}, },
......
...@@ -3,8 +3,6 @@ class EnvironmentsService { ...@@ -3,8 +3,6 @@ class EnvironmentsService {
constructor (root) { constructor (root) {
Vue.http.options.root = root; Vue.http.options.root = root;
debugger;
this.environments = Vue.resource(root); this.environments = Vue.resource(root);
Vue.http.interceptors.push((request, next) => { Vue.http.interceptors.push((request, next) => {
......
...@@ -31,10 +31,13 @@ ...@@ -31,10 +31,13 @@
* }, * },
* {name: "environment_1", environment_type: null} * {name: "environment_1", environment_type: null}
* ] * ]
* @param {Array} environments List of environments *
*
* @param {Array} environments List of environments.
* @returns {Array} Tree structured array with the received environments.
*/ */
storeEnvironments(environments) { storeEnvironments(environments) {
this.state.environments = environments.reduce((acc, environment) => { const environmentsTree = environments.reduce((acc, environment) => {
if (environment.environment_type !== null) { if (environment.environment_type !== null) {
const occurs = acc.find((element, index, array) => { const occurs = acc.find((element, index, array) => {
return element.name === environment.environment_type; return element.name === environment.environment_type;
...@@ -55,6 +58,10 @@ ...@@ -55,6 +58,10 @@
return acc; return acc;
}, []).sort(); }, []).sort();
this.state.environments = environmentsTree;
return environmentsTree;
} }
} }
})(); })();
\ No newline at end of file
%environment-item{"inline-template" => true,
"v-for" => "environment in state.environments",
":model" => "environment"}
%i{"v-if" => "isFolder"}
= icon("plus")
%i{"v-if" => ""}
= icon("less")
{{model.name}}
...@@ -26,8 +26,10 @@ ...@@ -26,8 +26,10 @@
New environment New environment
.environments-container#environments-list-view{ "v-cloak" => true, data: environments_list_data } .environments-container#environments-list-view{ "v-cloak" => true, data: environments_list_data }
- if @all_environments.blank? .environments-list-viewtext-center{ "v-if" => "loading" }
.blank-state.blank-state-no-icon = icon("spinner spin")
.blank-state.blank-state-no-icon{ "v-if" => "state.environments.length === 0" }
%h2.blank-state-title %h2.blank-state-title
You don't have any environments right now. You don't have any environments right now.
%p.blank-state-text %p.blank-state-text
...@@ -38,14 +40,15 @@ ...@@ -38,14 +40,15 @@
- if can?(current_user, :create_environment, @project) - if can?(current_user, :create_environment, @project)
= link_to new_namespace_project_environment_path(@project.namespace, @project), class: 'btn btn-create' do = link_to new_namespace_project_environment_path(@project.namespace, @project), class: 'btn btn-create' do
New environment New environment
- else
.table-holder .table-holder{ "v-if" => "state.environments.length" }
%table.table.ci-table.environments %table.table.ci-table.environments
%tbody %thead
%th Environment %th Environment
%th Last Deployment %th Last Deployment
%th Build %th Build
%th Commit %th Commit
%th %th
%th.hidden-xs %th.hidden-xs
/ = render @environments %tbody
=render "projects/environments/components/environment"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment