Revision 1b6dd4b5

b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/okeanos-ember.js
291 291
	addNewBtn: false,
292 292
	template: Ember.TEMPLATES['snfElem'],
293 293
	tagName: 'li',
294
	selectable: true,
295
	initSelect: 'unchecked',
294 296
	classNameBindings: ['status'],
295 297
	attributeBindings: ['data-status'],
296 298
	'data-status': function() {
......
302 304
});
303 305

  
304 306

  
307
// to evala ws view gt thelw na kanw diaxeirisi tou interaction tou xristi
308
Okeanos.ElementSidebarView = Ember.View.extend({
309
	tagName: 'ul',
310
	classNames: ['side-actions'],
311
	template: Ember.TEMPLATES['elementSidebar']
312
});
313

  
305 314
/* Components */
306 315

  
307 316
Okeanos.Btn1Component = Ember.Component.extend({
......
314 323
Okeanos.AddNewComponent = Ember.Component.extend({
315 324
	template: Ember.TEMPLATES['snfElem'],
316 325
	addNewBtn: true,
326
	selectable: false,
317 327
	icon: function() {
318 328
		baseIcon = Okeanos.places.findBy('destination', this.get('type')).icon;
319 329
		return	baseIcon.replace('outline', 'create-full');
......
334 344
			return msg + 'Network';
335 345
	}.property()
336 346

  
337
})
347
});
338 348

  
339 349
Okeanos.LoginMenuComponent = Ember.Component.extend({
340 350
	classNames: ['login'],
......
350 360

  
351 361
	}
352 362
});
363

  
364
Okeanos.SnfCheckboxComponent = Ember.Component.extend({
365
	tagName: 'a',
366
	classNames: ['check'],
367
	initState: function() {
368
		return this.get('initState');
369
	}.property(),
370
	template: Ember.TEMPLATES['snf-checkbox'],
371
	didInsertElement: function() {
372
		var domRef = this.$();
373
		var self =this;
374
		this.setInitClasses();
375
		domRef.click(function(e) {
376
            e.preventDefault();
377
            e.stopPropagation();
378
            self.changeState(domRef);
379
            // ui.entitiesActionsEnabled();
380
            console.log(self.get('elementID'))
381
        });
382
	},
383
	setInitClasses: function() {
384
		var self =this.$();
385
		switch(this.initState){
386
			case 'unchecked': {
387
				this.uncheck(self);
388
				break;
389
			}
390
			case 'prechecked': {
391
				self.find('span').addClass('prechecked')
392
				this.check(self);
393
				break;
394
			}
395
		}
396
	},
397
	// used to be in ui.checkbox
398
	changeState : function(checkbox_link) {
399
        $(checkbox_link).find('.snf-checkbox-unchecked, .snf-checkbox-checked').toggleClass('snf-checkbox-unchecked snf-checkbox-checked');
400
        $(checkbox_link).closest('li').toggleClass('selected');
401
    },
402
    check : function(checkbox_link) {
403
        $(checkbox_link).find('span').removeClass('snf-checkbox-unchecked').addClass('snf-checkbox-checked');
404
        $(checkbox_link).closest('li').addClass('selected');
405
    },
406
    uncheck : function(checkbox_link) {
407
        $(checkbox_link).find('span').removeClass('snf-checkbox-checked').addClass('snf-checkbox-unchecked');
408
        $(checkbox_link).closest('li').removeClass('selected');
409
    },
410

  
411
    reset: function(area) {
412
        $(area).find('.snf-radio-checked').not('.prechecked').toggleClass('snf-radio-checked snf-radio-unchecked');
413
        $(area).find('.snf-radio-unchecked.prechecked').toggleClass('snf-radio-checked snf-radio-unchecked');
414
    },
415
});
b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/okeanos-ember/ember-all.js
159 159
	addNewBtn: false,
160 160
	template: Ember.TEMPLATES['snfElem'],
161 161
	tagName: 'li',
162
	selectable: true,
163
	initSelect: 'unchecked',
162 164
	classNameBindings: ['status'],
163 165
	attributeBindings: ['data-status'],
164 166
	'data-status': function() {
......
170 172
});
171 173

  
172 174

  
175
// to evala ws view gt thelw na kanw diaxeirisi tou interaction tou xristi
176
Okeanos.ElementSidebarView = Ember.View.extend({
177
	tagName: 'ul',
178
	classNames: ['side-actions'],
179
	template: Ember.TEMPLATES['elementSidebar']
180
});
181

  
173 182
/* Components */
174 183

  
175 184
Okeanos.Btn1Component = Ember.Component.extend({
......
182 191
Okeanos.AddNewComponent = Ember.Component.extend({
183 192
	template: Ember.TEMPLATES['snfElem'],
184 193
	addNewBtn: true,
194
	selectable: false,
185 195
	icon: function() {
186 196
		baseIcon = Okeanos.places.findBy('destination', this.get('type')).icon;
187 197
		return	baseIcon.replace('outline', 'create-full');
......
202 212
			return msg + 'Network';
203 213
	}.property()
204 214

  
205
})
215
});
206 216

  
207 217
Okeanos.LoginMenuComponent = Ember.Component.extend({
208 218
	classNames: ['login'],
......
218 228

  
219 229
	}
220 230
});
231

  
232
Okeanos.SnfCheckboxComponent = Ember.Component.extend({
233
	tagName: 'a',
234
	classNames: ['check'],
235
	initState: function() {
236
		return this.get('initState');
237
	}.property(),
238
	template: Ember.TEMPLATES['snf-checkbox'],
239
	didInsertElement: function() {
240
		var domRef = this.$();
241
		var self =this;
242
		this.setInitClasses();
243
		domRef.click(function(e) {
244
            e.preventDefault();
245
            e.stopPropagation();
246
            self.changeState(domRef);
247
            // ui.entitiesActionsEnabled();
248
            console.log(self.get('elementID'))
249
        });
250
	},
251
	setInitClasses: function() {
252
		var self =this.$();
253
		switch(this.initState){
254
			case 'unchecked': {
255
				this.uncheck(self);
256
				break;
257
			}
258
			case 'prechecked': {
259
				self.find('span').addClass('prechecked')
260
				this.check(self);
261
				break;
262
			}
263
		}
264
	},
265
	// used to be in ui.checkbox
266
	changeState : function(checkbox_link) {
267
        $(checkbox_link).find('.snf-checkbox-unchecked, .snf-checkbox-checked').toggleClass('snf-checkbox-unchecked snf-checkbox-checked');
268
        $(checkbox_link).closest('li').toggleClass('selected');
269
    },
270
    check : function(checkbox_link) {
271
        $(checkbox_link).find('span').removeClass('snf-checkbox-unchecked').addClass('snf-checkbox-checked');
272
        $(checkbox_link).closest('li').addClass('selected');
273
    },
274
    uncheck : function(checkbox_link) {
275
        $(checkbox_link).find('span').removeClass('snf-checkbox-checked').addClass('snf-checkbox-unchecked');
276
        $(checkbox_link).closest('li').removeClass('selected');
277
    },
278

  
279
    reset: function(area) {
280
        $(area).find('.snf-radio-checked').not('.prechecked').toggleClass('snf-radio-checked snf-radio-unchecked');
281
        $(area).find('.snf-radio-unchecked.prechecked').toggleClass('snf-radio-checked snf-radio-unchecked');
282
    },
283
});
b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/templates.js
1
Ember.TEMPLATES["elementSidebar"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data
2
/**/) {
3
this.compilerInfo = [4,'>= 1.0.0'];
4
helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {};
5
  var buffer = '', stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;
6

  
7
function program1(depth0,data) {
8
  
9
  var buffer = '', helper, options;
10
  data.buffer.push("\n			<li>\n				");
11
  data.buffer.push(escapeExpression((helper = helpers['btn-1'] || (depth0 && depth0['btn-1']),options={hash:{
12
    'actionLabel': ("description"),
13
    'elementID': ("controller.id"),
14
    'action': ("description"),
15
    'param': ("controller.id")
16
  },hashTypes:{'actionLabel': "ID",'elementID': "ID",'action': "ID",'param': "ID"},hashContexts:{'actionLabel': depth0,'elementID': depth0,'action': depth0,'param': depth0},contexts:[],types:[],data:data},helper ? helper.call(depth0, options) : helperMissing.call(depth0, "btn-1", options))));
17
  data.buffer.push("\n			</li>\n		");
18
  return buffer;
19
  }
20

  
21
  data.buffer.push("<li>\n	<a href=\"vm_details.html\" data-tooltip title=\"view details\" class=\"details has-tip\">i</a>\n</li>\n<li>\n	<a href=\"#\" title=\"connect to machine\" data-tooltip data-reveal-id=\"vm-connect\" class=\"has-tip\">\n		<span class=\"snf-thunder-full\"></span>\n	</a>\n</li>\n<li class=\"more-actions\">\n	<a href=\"#\" title=\"\">...</a>\n	<ul class=\"many\">\n		");
22
  stack1 = helpers.each.call(depth0, "setAvailableActions", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],data:data});
23
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
24
  data.buffer.push("\n	</ul>\n</li>\n<li class=\"bottom\">\n	<a href=\"\" title=\"\"><span></span></a>\n	<ul class=\"options\">\n		<li class=\"selected\"><a href=\"\">My awesome project</a></li>\n		<li><a href=\"\">Project 1</a></li>\n		<li><a href=\"\">Project 2</a></li>\n		<li><a href=\"\">Project 3</a></li>\n		<li><a href=\"\">Project 4</a></li>\n	</ul>\n	<ul>\n		<li>My awesome project</li>\n		<li><a href=\"\" class=\"reassign\">Reassign<span class=\"arrow-right\"></span></a></li>\n	</ul>\n</li>");
25
  return buffer;
26
  
27
});
28

  
1 29
Ember.TEMPLATES["navigationItem"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data
2 30
/**/) {
3 31
this.compilerInfo = [4,'>= 1.0.0'];
......
28 56
/**/) {
29 57
this.compilerInfo = [4,'>= 1.0.0'];
30 58
helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {};
31
  var buffer = '', stack1, helperMissing=helpers.helperMissing, escapeExpression=this.escapeExpression, self=this;
59
  var buffer = '', stack1, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, self=this;
32 60

  
33 61
function program1(depth0,data) {
34 62
  
35
  var buffer = '', stack1;
36
  data.buffer.push("\n<ul class=\"side-actions\">\n			<li>\n				<a href=\"vm_details.html\" data-tooltip title=\"view details\" class=\"details has-tip\">i</a>\n			</li>\n			<li>\n				<a href=\"#\" title=\"connect to machine\" data-tooltip data-reveal-id=\"vm-connect\" class=\"has-tip\">\n					<span class=\"snf-thunder-full\"></span>\n				</a>\n			</li>\n			<li class=\"more-actions\">\n				<a href=\"#\" title=\"\">...</a>\n				<ul class=\"many\">\n					");
37
  stack1 = helpers.each.call(depth0, "setAvailableActions", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(2, program2, data),contexts:[depth0],types:["ID"],data:data});
38
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
39
  data.buffer.push("\n				</ul>\n			</li>\n			<li class=\"bottom\">\n				<a href=\"\" title=\"\"><span></span></a>\n				<ul class=\"options\">\n					<li class=\"selected\"><a href=\"\">My awesome project</a></li>\n					<li><a href=\"\">Project 1</a></li>\n					<li><a href=\"\">Project 2</a></li>\n					<li><a href=\"\">Project 3</a></li>\n					<li><a href=\"\">Project 4</a></li>\n				</ul>\n				<ul>\n					<li>My awesome project</li>\n					<li><a href=\"\" class=\"reassign\">Reassign<span class=\"arrow-right\"></span></a></li>\n				</ul>\n			</li>\n		</ul>\n		");
63
  var buffer = '';
64
  data.buffer.push("\n	");
65
  data.buffer.push(escapeExpression(helpers.view.call(depth0, "Okeanos.ElementSidebarView", {hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data})));
66
  data.buffer.push("\n");
40 67
  return buffer;
41 68
  }
42
function program2(depth0,data) {
69

  
70
function program3(depth0,data) {
43 71
  
44 72
  var buffer = '', helper, options;
45
  data.buffer.push("\n						<li>\n							");
46
  data.buffer.push(escapeExpression((helper = helpers['btn-1'] || (depth0 && depth0['btn-1']),options={hash:{
47
    'actionLabel': ("description"),
48
    'elementID': ("controller.id"),
49
    'action': ("description"),
50
    'param': ("controller.id")
51
  },hashTypes:{'actionLabel': "ID",'elementID': "ID",'action': "ID",'param': "ID"},hashContexts:{'actionLabel': depth0,'elementID': depth0,'action': depth0,'param': depth0},contexts:[],types:[],data:data},helper ? helper.call(depth0, options) : helperMissing.call(depth0, "btn-1", options))));
52
  data.buffer.push("\n						</li>\n					");
73
  data.buffer.push("\n			");
74
  data.buffer.push(escapeExpression((helper = helpers['snf-checkbox'] || (depth0 && depth0['snf-checkbox']),options={hash:{
75
    'initState': ("view.initSelect"),
76
    'elementID': ("id")
77
  },hashTypes:{'initState': "ID",'elementID': "ID"},hashContexts:{'initState': depth0,'elementID': depth0},contexts:[],types:[],data:data},helper ? helper.call(depth0, options) : helperMissing.call(depth0, "snf-checkbox", options))));
78
  data.buffer.push("\n		");
53 79
  return buffer;
54 80
  }
55 81

  
56
function program4(depth0,data) {
57
  
58
  
59
  data.buffer.push("\n				<span class=\"snf-checkbox-unchecked\"></span>\n			");
60
  }
61

  
62
function program6(depth0,data) {
82
function program5(depth0,data) {
63 83
  
64 84
  var buffer = '';
65
  data.buffer.push("\n				<span ");
85
  data.buffer.push("\n					<span ");
66 86
  data.buffer.push(escapeExpression(helpers['bind-attr'].call(depth0, {hash:{
67 87
    'class': ("view.icon :snf-font")
68 88
  },hashTypes:{'class': "STRING"},hashContexts:{'class': depth0},contexts:[],types:[],data:data})));
69
  data.buffer.push("></span>\n			\n			");
89
  data.buffer.push("></span>\n				");
70 90
  return buffer;
71 91
  }
72 92

  
73
function program8(depth0,data) {
93
function program7(depth0,data) {
74 94
  
75 95
  var buffer = '';
76 96
  data.buffer.push("\n					<span ");
......
81 101
  return buffer;
82 102
  }
83 103

  
84
function program10(depth0,data) {
104
function program9(depth0,data) {
85 105
  
86 106
  var buffer = '', stack1;
87 107
  data.buffer.push("\n				<h4>");
......
91 111
  return buffer;
92 112
  }
93 113

  
94
function program12(depth0,data) {
114
function program11(depth0,data) {
95 115
  
96 116
  var buffer = '', stack1;
97 117
  data.buffer.push("\n				<h4>");
98 118
  stack1 = helpers._triageMustache.call(depth0, "name", {hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});
99 119
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
100 120
  data.buffer.push("</h4>\n				<div class=\"actions\">\n					<a href=\"\" data-reveal-id=\"vm-connect\" data-tooltip title=\"connect\" class=\"connect has-tip\"><span class=\"snf-thunder-full\"></span></a>\n					<a href=\"vm_details.html\" data-tooltip title=\"view vm details\" class=\"snf-info-outline has-tip\">i</a>\n				</div>\n				");
101
  stack1 = helpers['if'].call(depth0, "parentController.hasTags", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(13, program13, data),contexts:[depth0],types:["ID"],data:data});
121
  stack1 = helpers['if'].call(depth0, "parentController.hasTags", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(12, program12, data),contexts:[depth0],types:["ID"],data:data});
102 122
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
103 123
  data.buffer.push("\n				<div class= \"status\">\n					<span class=\"state\">");
104 124
  stack1 = helpers._triageMustache.call(depth0, "view.status", {hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});
......
113 133
  data.buffer.push("</a></div>\n				</div>\n			");
114 134
  return buffer;
115 135
  }
116
function program13(depth0,data) {
136
function program12(depth0,data) {
117 137
  
118 138
  
119 139
  data.buffer.push("\n					<div class=\"tags\">tags</div>\n				");
......
121 141

  
122 142
  stack1 = helpers.unless.call(depth0, "view.addNewBtn", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(1, program1, data),contexts:[depth0],types:["ID"],data:data});
123 143
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
124
  data.buffer.push("\n		<div class=\"container\">\n			<a href=\"\" class=\"check\">\n			");
125
  stack1 = helpers.unless.call(depth0, "view.addNewBtn", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(4, program4, data),contexts:[depth0],types:["ID"],data:data});
144
  data.buffer.push("\n		<div class=\"container\">\n		");
145
  stack1 = helpers['if'].call(depth0, "view.selectable", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(3, program3, data),contexts:[depth0],types:["ID"],data:data});
126 146
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
127
  data.buffer.push("\n			</a>\n			<div class=\"img-wrap\">\n			");
128
  stack1 = helpers['if'].call(depth0, "view.addNewBtn", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(6, program6, data),contexts:[depth0],types:["ID"],data:data});
147
  data.buffer.push("\n			<div class=\"img-wrap\">\n				");
148
  stack1 = helpers['if'].call(depth0, "view.addNewBtn", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(5, program5, data),contexts:[depth0],types:["ID"],data:data});
129 149
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
130 150
  data.buffer.push("\n				<span ");
131 151
  data.buffer.push(escapeExpression(helpers['bind-attr'].call(depth0, {hash:{
132 152
    'class': ("parentController.icon :snf-font")
133 153
  },hashTypes:{'class': "STRING"},hashContexts:{'class': depth0},contexts:[],types:[],data:data})));
134 154
  data.buffer.push("></span>\n				");
135
  stack1 = helpers['if'].call(depth0, "parentController.hasOS", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(8, program8, data),contexts:[depth0],types:["ID"],data:data});
155
  stack1 = helpers['if'].call(depth0, "parentController.hasOS", {hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(7, program7, data),contexts:[depth0],types:["ID"],data:data});
136 156
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
137
  data.buffer.push("\n			</div>\n\n			");
138
  stack1 = helpers['if'].call(depth0, "view.addNewBtn", {hash:{},hashTypes:{},hashContexts:{},inverse:self.program(12, program12, data),fn:self.program(10, program10, data),contexts:[depth0],types:["ID"],data:data});
157
  data.buffer.push("\n			</div>\n			");
158
  stack1 = helpers['if'].call(depth0, "view.addNewBtn", {hash:{},hashTypes:{},hashContexts:{},inverse:self.program(11, program11, data),fn:self.program(9, program9, data),contexts:[depth0],types:["ID"],data:data});
139 159
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
140 160
  data.buffer.push("\n");
141 161
  return buffer;
......
159 179

  
160 180
  data.buffer.push("<div ");
161 181
  data.buffer.push(escapeExpression(helpers['bind-attr'].call(depth0, {hash:{
162
    'class': (":entities :grid-view")
182
    'class': (":entities :list-view")
163 183
  },hashTypes:{'class': "STRING"},hashContexts:{'class': depth0},contexts:[],types:[],data:data})));
164 184
  data.buffer.push(">\n<ul class=\"items-list\">\n	");
165 185
  data.buffer.push(escapeExpression((helper = helpers['add-new'] || (depth0 && depth0['add-new']),options={hash:{
......
207 227
  var buffer = '', stack1;
208 228

  
209 229

  
210
  data.buffer.push("	\n		<div class=\"wrap\">\n			<a href=\"\">");
230
  data.buffer.push("<div class=\"wrap\">\n	<a href=\"\">");
211 231
  stack1 = helpers._triageMustache.call(depth0, "email", {hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});
212 232
  if(stack1 || stack1 === 0) { data.buffer.push(stack1); }
213
  data.buffer.push("</a>\n			<ul>\n				<li><a href=\"\">dashboard</a></li>\n				<li><a href=\"\">sign out</a></li>\n			</ul>\n		</div>");
233
  data.buffer.push("</a>\n	<ul>\n		<li><a href=\"\">dashboard</a></li>\n		<li><a href=\"\">sign out</a></li>\n	</ul>\n</div>");
214 234
  return buffer;
215 235
  
236
});
237

  
238
Ember.TEMPLATES["components/snf-checkbox"] = Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data
239
/**/) {
240
this.compilerInfo = [4,'>= 1.0.0'];
241
helpers = this.merge(helpers, Ember.Handlebars.helpers); data = data || {};
242
  
243

  
244

  
245
  data.buffer.push("<span></span>");
246
  
216 247
});
b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/templates/components/login-menu.hbs
1
	
2
		<div class="wrap">
3
			<a href="">{{email}}</a>
4
			<ul>
5
				<li><a href="">dashboard</a></li>
6
				<li><a href="">sign out</a></li>
7
			</ul>
8
		</div>
1
<div class="wrap">
2
	<a href="">{{email}}</a>
3
	<ul>
4
		<li><a href="">dashboard</a></li>
5
		<li><a href="">sign out</a></li>
6
	</ul>
7
</div>
b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/templates/components/snf-checkbox.hbs
1
<span></span>
b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/templates/elementSidebar.hbs
1
<li>
2
	<a href="vm_details.html" data-tooltip title="view details" class="details has-tip">i</a>
3
</li>
4
<li>
5
	<a href="#" title="connect to machine" data-tooltip data-reveal-id="vm-connect" class="has-tip">
6
		<span class="snf-thunder-full"></span>
7
	</a>
8
</li>
9
<li class="more-actions">
10
	<a href="#" title="">...</a>
11
	<ul class="many">
12
		{{#each setAvailableActions}}
13
			<li>
14
				{{btn-1 actionLabel=this.description elementID=controller.id action= this.description param=controller.id}}
15
			</li>
16
		{{/each}}
17
	</ul>
18
</li>
19
<li class="bottom">
20
	<a href="" title=""><span></span></a>
21
	<ul class="options">
22
		<li class="selected"><a href="">My awesome project</a></li>
23
		<li><a href="">Project 1</a></li>
24
		<li><a href="">Project 2</a></li>
25
		<li><a href="">Project 3</a></li>
26
		<li><a href="">Project 4</a></li>
27
	</ul>
28
	<ul>
29
		<li>My awesome project</li>
30
		<li><a href="" class="reassign">Reassign<span class="arrow-right"></span></a></li>
31
	</ul>
32
</li>
b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/templates/snfElem.hbs
1 1
{{#unless view.addNewBtn}}
2
<ul class="side-actions">
3
			<li>
4
				<a href="vm_details.html" data-tooltip title="view details" class="details has-tip">i</a>
5
			</li>
6
			<li>
7
				<a href="#" title="connect to machine" data-tooltip data-reveal-id="vm-connect" class="has-tip">
8
					<span class="snf-thunder-full"></span>
9
				</a>
10
			</li>
11
			<li class="more-actions">
12
				<a href="#" title="">...</a>
13
				<ul class="many">
14
					{{#each setAvailableActions}}
15
						<li>
16
							{{btn-1 actionLabel=this.description elementID=controller.id action= this.description param=controller.id}}
17
						</li>
18
					{{/each}}
19
				</ul>
20
			</li>
21
			<li class="bottom">
22
				<a href="" title=""><span></span></a>
23
				<ul class="options">
24
					<li class="selected"><a href="">My awesome project</a></li>
25
					<li><a href="">Project 1</a></li>
26
					<li><a href="">Project 2</a></li>
27
					<li><a href="">Project 3</a></li>
28
					<li><a href="">Project 4</a></li>
29
				</ul>
30
				<ul>
31
					<li>My awesome project</li>
32
					<li><a href="" class="reassign">Reassign<span class="arrow-right"></span></a></li>
33
				</ul>
34
			</li>
35
		</ul>
36
		{{/unless}}
2
	{{view Okeanos.ElementSidebarView}}
3
{{/unless}}
37 4
		<div class="container">
38
			<a href="" class="check">
39
			{{#unless view.addNewBtn}}
40
				<span class="snf-checkbox-unchecked"></span>
41
			{{/unless}}
42
			</a>
5
		{{#if view.selectable}}
6
			{{snf-checkbox initState=view.initSelect elementID=id}}
7
		{{/if}}
43 8
			<div class="img-wrap">
44
			{{#if view.addNewBtn}}
45
				<span {{bind-attr class="view.icon :snf-font"}}></span>
46
			
47
			{{/if}}
9
				{{#if view.addNewBtn}}
10
					<span {{bind-attr class="view.icon :snf-font"}}></span>
11
				{{/if}}
48 12
				<span {{bind-attr class="parentController.icon :snf-font"}}></span>
49 13
				{{#if parentController.hasOS}}
50 14
					<span {{bind-attr class="os :os"}}></span>
51 15
				{{/if}}
52 16
			</div>
53

  
54 17
			{{#if view.addNewBtn}}
55 18
				<h4>{{view.name}}</h4>			
56 19
			{{else}}
b/snf-cyclades-app/synnefo/ui/new_ui/ui/javascripts/templates/snfElems.hbs
1
<div {{bind-attr class=":entities :grid-view"}}>
1
<div {{bind-attr class=":entities :list-view"}}>
2 2
<ul class="items-list">
3 3
	{{add-new type=controller.type}}
4 4
	{{#each}}

Also available in: Unified diff