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 @@
//= require vue-resource
//= require_tree ./stores
//= require_tree ./services
//= require ./components/environment_item
$(() => {
......@@ -20,10 +20,11 @@ $(() => {
el: $environmentsListApp,
components: {
'tree-view': gl.environmentsList.TreeView
'environment-item': gl.environmentsList.EnvironmentItem
},
data: {
state: Store.state,
endpoint: $environmentsListApp.dataset.endpoint,
loading: true
},
......
......@@ -3,8 +3,6 @@ class EnvironmentsService {
constructor (root) {
Vue.http.options.root = root;
debugger;
this.environments = Vue.resource(root);
Vue.http.interceptors.push((request, next) => {
......
......@@ -31,10 +31,13 @@
* },
* {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) {
this.state.environments = environments.reduce((acc, environment) => {
const environmentsTree = environments.reduce((acc, environment) => {
if (environment.environment_type !== null) {
const occurs = acc.find((element, index, array) => {
return element.name === environment.environment_type;
......@@ -55,6 +58,10 @@
return acc;
}, []).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 @@
New environment
.environments-container#environments-list-view{ "v-cloak" => true, data: environments_list_data }
- if @all_environments.blank?
.blank-state.blank-state-no-icon
.environments-list-viewtext-center{ "v-if" => "loading" }
= icon("spinner spin")
.blank-state.blank-state-no-icon{ "v-if" => "state.environments.length === 0" }
%h2.blank-state-title
You don't have any environments right now.
%p.blank-state-text
......@@ -38,14 +40,15 @@
- if can?(current_user, :create_environment, @project)
= link_to new_namespace_project_environment_path(@project.namespace, @project), class: 'btn btn-create' do
New environment
- else
.table-holder
.table-holder{ "v-if" => "state.environments.length" }
%table.table.ci-table.environments
%tbody
%thead
%th Environment
%th Last Deployment
%th Build
%th Commit
%th
%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