diff --git a/web-app/js/components/appcomponents/AppComponent.js b/web-app/js/components/appcomponents/AppComponent.js
index 01bdada6..936ef600 100644
--- a/web-app/js/components/appcomponents/AppComponent.js
+++ b/web-app/js/components/appcomponents/AppComponent.js
@@ -29,7 +29,11 @@
'' +
'
<%- name %>
'+
'<% if (details) { %>' +
- '' +
+ '<% if (style) { %>'+
+ '' +
+ '<% } else { %>'+
+ '' +
+ '<% } %>'+
'<% } %>',
// boolean flag indicating whether or not to show details link
@@ -42,9 +46,14 @@
};
},
+ isMobile: function () {
+ return /Mobi/.test(navigator.userAgent);
+ },
+
render: function () {
var tpl = _.template(this.tpl, _.extend({
- details: this.details
+ details: this.details,
+ style: this.isMobile()
}, this.model.attributes));
this.$el.append(tpl);
diff --git a/web-app/js/components/appcomponents/AppComponentsList.js b/web-app/js/components/appcomponents/AppComponentsList.js
index ae1902d1..993a60e1 100644
--- a/web-app/js/components/appcomponents/AppComponentsList.js
+++ b/web-app/js/components/appcomponents/AppComponentsList.js
@@ -38,6 +38,7 @@
events: {
'click .widget': '_onClick',
'click .widget-details': '_showDetailsTip',
+ 'touchend .widget': '_onTouch',
'mouseenter .widget': '_showDetailsTipOption',
'mouseleave .widget': '_hideDetailsOption'
},
@@ -152,6 +153,18 @@
return SuperClass.prototype.remove.call(this);
},
+ _onTouch: function (evt) {
+ if(this.selectable && this._isMobile()) {
+ var view = $(evt.currentTarget).data('view');
+
+ if(this.selected) {
+ this.selected.$el.removeClass(this.selectClass);
+ }
+ this.selected = view;
+ this.selected.$el.addClass(this.selectClass);
+ }
+ },
+
_onClick: function (evt) {
if(this.selectable) {
var view = $(evt.currentTarget).data('view');
@@ -216,13 +229,21 @@
tip.shown();
},
+ _isMobile: function () {
+ return /Mobi/.test(navigator.userAgent);
+ },
+
_showDetailsTipOption: function (evt) {
- this.$el.find('.widget-details').css('visibility', 'hidden');
- $(evt.currentTarget).children('.widget-details').css('visibility', '');
+ if(!this._isMobile()) {
+ this.$el.find('.widget-details').css('visibility', 'hidden');
+ $(evt.currentTarget).children('.widget-details').css('visibility', '');
+ }
},
_hideDetailsOption: function (evt) {
- $(evt.currentTarget).children('.widget-details').css('visibility', 'hidden');
+ if(!this._isMobile()) {
+ $(evt.currentTarget).children('.widget-details').css('visibility', 'hidden');
+ }
}
});
diff --git a/web-app/js/components/window/MyAppsWindow.js b/web-app/js/components/window/MyAppsWindow.js
old mode 100644
new mode 100755
index bab2c19e..05b824e7
--- a/web-app/js/components/window/MyAppsWindow.js
+++ b/web-app/js/components/window/MyAppsWindow.js
@@ -56,7 +56,7 @@ Ext.define('Ozone.components.window.MyAppsWindow', {
_dragging: false,
initComponent: function() {
-
+
var me = this,
stackOrDashboards = [],
stacks = {}, dashboards = {},
@@ -143,7 +143,11 @@ Ext.define('Ozone.components.window.MyAppsWindow', {
},
getActions: function (values) {
- return '';
+ if (/Mobi/.test(navigator.userAgent)) {
+ return '';
+ } else {
+ return '';
+ }
}
});
@@ -218,7 +222,8 @@ Ext.define('Ozone.components.window.MyAppsWindow', {
.on('mouseover', '.stack, .dashboard', $.proxy(me.onMouseOver, me))
.on('mouseout', '.stack, .dashboard', $.proxy(me.onMouseLeave, me))
.on('focus', '.stack, .dashboard', $.proxy(me.onMouseOver, me))
- .on('blur', '.stack, .dashboard', $.proxy(me.onMouseLeave, me));
+ .on('blur', '.stack, .dashboard', $.proxy(me.onMouseLeave, me))
+ .on('touchend', '.dashboard', $.proxy(me.onDashboardTouch, me));
me.initKeyboardNav();
@@ -807,6 +812,15 @@ Ext.define('Ozone.components.window.MyAppsWindow', {
return $dashboard.hasClass('cls') ? $dashboard : $dashboard.parents('.' + cls);
},
+ onDashboardTouch: function (evt) {
+ if (evt.type !== 'touchend' && evt.which !== Ext.EventObject.ENTER)
+ return;
+
+ var $clickedDashboard = $(evt.currentTarget),
+ dashboard = this.getDashboard( $clickedDashboard );
+ this.launchDashboard(evt, dashboard);
+ },
+
onDashboardClick: function (evt) {
if (evt.type !== 'click' && evt.which !== Ext.EventObject.ENTER)
return;
@@ -1099,15 +1113,17 @@ Ext.define('Ozone.components.window.MyAppsWindow', {
},
onMouseOver: function (evt) {
- var el = $(evt.currentTarget);
+ if (!/Mobi/.test(navigator.userAgent)) {
+ var el = $(evt.currentTarget);
- if (this._previouslyHoveredStackOrDashboard != null) {
- $('.details-btn', this._previouslyHoveredStackOrDashboard).addClass('hide');
- }
+ if (this._previouslyHoveredStackOrDashboard != null) {
+ $('.details-btn', this._previouslyHoveredStackOrDashboard).addClass('hide');
+ }
- $('.details-btn', el).removeClass('hide');
+ $('.details-btn', el).removeClass('hide');
- this._previouslyHoveredStackOrDashboard = el;
+ this._previouslyHoveredStackOrDashboard = el;
+ }
},
onMouseLeave: function(evt) {