Hotfix for mobile device

This commit is contained in:
Haocen Xu 2018-07-06 12:48:46 -04:00
parent 6c7eab4456
commit 43d86d7d5d
7 changed files with 82 additions and 12 deletions

View file

@ -1,5 +1,5 @@
const subManager = new SubsManager();
const { calculateIndex } = Utils;
const { calculateIndex, enableClickOnTouch } = Utils;
BlazeComponent.extendComponent({
onCreated() {
@ -74,6 +74,11 @@ BlazeComponent.extendComponent({
},
});
// ugly touch event hotfix
$('.js-swimlane:not(.placeholder)').each(function() {
enableClickOnTouch(this);
});
function userIsMember() {
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
}

View file

@ -1,4 +1,4 @@
const { calculateIndexData } = Utils;
const { calculateIndexData, enableClickOnTouch } = Utils;
function initSorting(items) {
items.sortable({
@ -36,6 +36,11 @@ function initSorting(items) {
checklistItem.move(checklistId, sortIndex.base);
},
});
// ugly touch event hotfix
$('.js-checklist-item:not(.placeholder)').each(function() {
enableClickOnTouch(this);
});
}
BlazeComponent.extendComponent({

View file

@ -1,4 +1,4 @@
const { calculateIndex } = Utils;
const { calculateIndex, enableClickOnTouch } = Utils;
BlazeComponent.extendComponent({
// Proxy
@ -83,6 +83,11 @@ BlazeComponent.extendComponent({
},
});
// ugly touch event hotfix
$(itemsSelector).each(function() {
enableClickOnTouch(this);
});
// Disable drag-dropping if the current user is not a board member or is comment only
this.autorun(() => {
$cards.sortable('option', 'disabled', !userIsMember());

View file

@ -218,7 +218,7 @@
position: absolute
right: 0px
padding: 10px
margin: -10px
margin: -10px 0 -10px -10px
.announcement,
.offline-warning

View file

@ -1,12 +1,16 @@
const { isTouchDevice } = Utils;
Mixins.PerfectScrollbar = BlazeComponent.extendComponent({
onRendered() {
const component = this.mixinParent();
const domElement = component.find('.js-perfect-scrollbar');
Ps.initialize(domElement);
if (!isTouchDevice()) {
const component = this.mixinParent();
const domElement = component.find('.js-perfect-scrollbar');
Ps.initialize(domElement);
// XXX We should create an event map to be consistent with other components
// but since BlazeComponent doesn't merge Mixins events transparently I
// prefered to use a jQuery event (which is what an event map ends up doing)
component.$(domElement).on('mouseenter', () => Ps.update(domElement));
// XXX We should create an event map to be consistent with other components
// but since BlazeComponent doesn't merge Mixins events transparently I
// prefered to use a jQuery event (which is what an event map ends up doing)
component.$(domElement).on('mouseenter', () => Ps.update(domElement));
}
},
});

View file

@ -1,4 +1,4 @@
const { calculateIndex } = Utils;
const { calculateIndex, enableClickOnTouch } = Utils;
function currentCardIsInThisList(listId, swimlaneId) {
const currentCard = Cards.findOne(Session.get('currentCard'));
@ -66,6 +66,11 @@ function initSortable(boardComponent, $listsDom) {
},
});
// ugly touch event hotfix
$('.js-list:not(.js-list-composer)').each(function() {
enableClickOnTouch(this);
});
function userIsMember() {
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
}