Fixed computation and removed unwanted scripts
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
This commit is contained in:
parent
9616074f58
commit
6ee75e16af
|
@ -136,7 +136,6 @@
|
|||
$crumb.on('click', this.onClick);
|
||||
}
|
||||
}
|
||||
$crumb.addClass('last');
|
||||
|
||||
_.each(this._detailViews, function(view) {
|
||||
view.render({
|
||||
|
@ -160,8 +159,7 @@
|
|||
hoverClass: 'canDrop'
|
||||
});
|
||||
}
|
||||
|
||||
this._updateTotalWidth();
|
||||
this._resize();
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -197,55 +195,36 @@
|
|||
return crumbs;
|
||||
},
|
||||
|
||||
/**
|
||||
* Calculate the total breadcrumb width when
|
||||
* all crumbs are expanded
|
||||
*/
|
||||
_updateTotalWidth: function () {
|
||||
this.totalWidth = 0;
|
||||
for (var i = 0; i < this.breadcrumbs.length; i++ ) {
|
||||
var $crumb = $(this.breadcrumbs[i]);
|
||||
this.totalWidth += $crumb.width();
|
||||
}
|
||||
this._resize();
|
||||
},
|
||||
/**
|
||||
* Hide the middle crumb
|
||||
*/
|
||||
_hideCrumb: function() {
|
||||
var length = this.$el.find('.crumb:not(.hidden)').length;
|
||||
// Get the middle one floored down
|
||||
var elmt = Math.floor(length / 2 - 0.5);
|
||||
this.$el.find('.crumb:not(.hidden):eq('+elmt+')').addClass('hidden');
|
||||
},
|
||||
|
||||
/**
|
||||
* Show/hide breadcrumbs to fit the given width
|
||||
*
|
||||
* @param {int} availableWidth available width
|
||||
*/
|
||||
setMaxWidth: function (availableWidth) {
|
||||
if (this.availableWidth !== availableWidth) {
|
||||
this.availableWidth = availableWidth;
|
||||
this._resize();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Return the number of items to hide
|
||||
*/
|
||||
_toShrink: function() {
|
||||
var maxWidth = this.$el.parent().width();
|
||||
console.log('Available width:' +maxWidth);
|
||||
var smallestWidth = 50;
|
||||
// 50px by default for the ellipsis crumb
|
||||
return Math.ceil((this.totalWidth + 50 - maxWidth) / smallestWidth);
|
||||
},
|
||||
|
||||
/**
|
||||
* Hide the desired number of items
|
||||
*
|
||||
* @param {int} number to hide
|
||||
*/
|
||||
_hideCrumbs: function(toHide) {
|
||||
var min = Math.round(this.breadcrumbs.length/2 - toHide/2);
|
||||
var max = Math.round(this.breadcrumbs.length/2 + toHide/2 - 1);
|
||||
console.log('toShrink: '+toHide);
|
||||
this.$el.find('.crumb').removeClass('hidden')
|
||||
.slice(min, max).addClass('hidden');
|
||||
/**
|
||||
* Get the crumb to show
|
||||
*/
|
||||
_getCrumbElement: function() {
|
||||
var length = this.$el.find('.crumb.hidden').length;
|
||||
// Get the outer one with priority to the highest
|
||||
var elmt = (length % 2) * (length - 1);
|
||||
return this.$el.find('.crumb.hidden:eq('+elmt+')');
|
||||
},
|
||||
|
||||
/**
|
||||
* Show the middle crumb
|
||||
*/
|
||||
_showCrumb: function() {
|
||||
if(this.$el.find('.crumb.hidden').length === 1) {
|
||||
this.$el.find('.crumb.hidden').removeClass('hidden');
|
||||
}
|
||||
this._getCrumbElement().removeClass('hidden');
|
||||
},
|
||||
|
||||
_resize: function() {
|
||||
var i, $crumb, $ellipsisCrumb;
|
||||
|
||||
|
@ -256,9 +235,17 @@
|
|||
if (this.breadcrumbs.length <= 1) {
|
||||
return;
|
||||
}
|
||||
this._hideCrumbs(this._toShrink());
|
||||
|
||||
|
||||
// If container is smaller than content
|
||||
while (this.$el.width() > this.$el.parent().width()) {
|
||||
this._hideCrumb();
|
||||
}
|
||||
// If container is bigger than content + element to be shown
|
||||
// AND if there is at least one hidden crumb
|
||||
while (this.$el.find('.crumb.hidden').length > 0
|
||||
&& this.$el.width() + this._getCrumbElement().width() < this.$el.parent().width()) {
|
||||
this._showCrumb();
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
|
|
@ -322,7 +322,7 @@
|
|||
|
||||
this.$el.find('thead th .columntitle').click(_.bind(this._onClickHeader, this));
|
||||
|
||||
this._onResize = _.debounce(_.bind(this._onResize, this), 100);
|
||||
this._onResize = _.debounce(_.bind(this._onResize, this), 250);
|
||||
$('#app-content').on('appresized', this._onResize);
|
||||
$(window).resize(this._onResize);
|
||||
|
||||
|
@ -555,7 +555,7 @@
|
|||
// subtract app navigation toggle when visible
|
||||
containerWidth -= $('#app-navigation-toggle').width();
|
||||
|
||||
this.breadcrumb.setMaxWidth(containerWidth - actionsWidth - 10);
|
||||
this.breadcrumb._resize();
|
||||
|
||||
this.$table.find('>thead').width($('#app-content').width() - OC.Util.getScrollBarWidth());
|
||||
},
|
||||
|
@ -1709,7 +1709,7 @@
|
|||
if (status === 500) {
|
||||
// Go home
|
||||
this.changeDirectory('/');
|
||||
OC.Notification.show(t('files', 'This directory is unavailable, please check the logs or contact the administrator'),
|
||||
OC.Notification.show(t('files', 'This directory is unavailable, please check the logs or contact the administrator'),
|
||||
{type: 'error'}
|
||||
);
|
||||
return false;
|
||||
|
@ -1720,7 +1720,7 @@
|
|||
if (this.getCurrentDirectory() !== '/') {
|
||||
this.changeDirectory('/');
|
||||
// TODO: read error message from exception
|
||||
OC.Notification.show(t('files', 'Storage is temporarily not available'),
|
||||
OC.Notification.show(t('files', 'Storage is temporarily not available'),
|
||||
{type: 'error'}
|
||||
);
|
||||
}
|
||||
|
@ -2036,11 +2036,11 @@
|
|||
.fail(function(status) {
|
||||
if (status === 412) {
|
||||
// TODO: some day here we should invoke the conflict dialog
|
||||
OC.Notification.show(t('files', 'Could not move "{file}", target exists',
|
||||
OC.Notification.show(t('files', 'Could not move "{file}", target exists',
|
||||
{file: fileName}), {type: 'error'}
|
||||
);
|
||||
} else {
|
||||
OC.Notification.show(t('files', 'Could not move "{file}"',
|
||||
OC.Notification.show(t('files', 'Could not move "{file}"',
|
||||
{file: fileName}), {type: 'error'}
|
||||
);
|
||||
}
|
||||
|
@ -2267,7 +2267,7 @@
|
|||
// TODO: 409 means current folder does not exist, redirect ?
|
||||
if (status === 404) {
|
||||
// source not found, so remove it from the list
|
||||
OC.Notification.show(t('files', 'Could not rename "{fileName}", it does not exist any more',
|
||||
OC.Notification.show(t('files', 'Could not rename "{fileName}", it does not exist any more',
|
||||
{fileName: oldName}), {timeout: 7, type: 'error'}
|
||||
);
|
||||
|
||||
|
@ -2287,7 +2287,7 @@
|
|||
);
|
||||
} else {
|
||||
// restore the item to its previous state
|
||||
OC.Notification.show(t('files', 'Could not rename "{fileName}"',
|
||||
OC.Notification.show(t('files', 'Could not rename "{fileName}"',
|
||||
{fileName: oldName}), {type: 'error'}
|
||||
);
|
||||
}
|
||||
|
@ -2372,18 +2372,18 @@
|
|||
self.addAndFetchFileInfo(targetPath, '', {scrollTo: true}).then(function(status, data) {
|
||||
deferred.resolve(status, data);
|
||||
}, function() {
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}"',
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}"',
|
||||
{file: name}), {type: 'error'}
|
||||
);
|
||||
});
|
||||
})
|
||||
.fail(function(status) {
|
||||
if (status === 412) {
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}" because it already exists',
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}" because it already exists',
|
||||
{file: name}), {type: 'error'}
|
||||
);
|
||||
} else {
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}"',
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}"',
|
||||
{file: name}), {type: 'error'}
|
||||
);
|
||||
}
|
||||
|
@ -2422,7 +2422,7 @@
|
|||
self.addAndFetchFileInfo(targetPath, '', {scrollTo:true}).then(function(status, data) {
|
||||
deferred.resolve(status, data);
|
||||
}, function() {
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}"',
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}"',
|
||||
{dir: name}), {type: 'error'}
|
||||
);
|
||||
});
|
||||
|
@ -2433,20 +2433,20 @@
|
|||
// add it to the list, for completeness
|
||||
self.addAndFetchFileInfo(targetPath, '', {scrollTo:true})
|
||||
.done(function(status, data) {
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}" because it already exists',
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}" because it already exists',
|
||||
{dir: name}), {type: 'error'}
|
||||
);
|
||||
// still consider a failure
|
||||
deferred.reject(createStatus, data);
|
||||
})
|
||||
.fail(function() {
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}"',
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}"',
|
||||
{dir: name}), {type: 'error'}
|
||||
);
|
||||
deferred.reject(status);
|
||||
});
|
||||
} else {
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}"',
|
||||
OC.Notification.show(t('files', 'Could not create folder "{dir}"',
|
||||
{dir: name}), {type: 'error'}
|
||||
);
|
||||
deferred.reject(createStatus);
|
||||
|
@ -2503,7 +2503,7 @@
|
|||
deferred.resolve(status, data);
|
||||
})
|
||||
.fail(function(status) {
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}"',
|
||||
OC.Notification.show(t('files', 'Could not create file "{file}"',
|
||||
{file: name}), {type: 'error'}
|
||||
);
|
||||
deferred.reject(status);
|
||||
|
@ -2612,7 +2612,7 @@
|
|||
removeFromList(file);
|
||||
} else {
|
||||
// only reset the spinner for that one file
|
||||
OC.Notification.show(t('files', 'Error deleting file "{fileName}".',
|
||||
OC.Notification.show(t('files', 'Error deleting file "{fileName}".',
|
||||
{fileName: file}), {type: 'error'}
|
||||
);
|
||||
var deleteAction = self.findFileEl(file).find('.action.delete');
|
||||
|
|
|
@ -1625,39 +1625,6 @@ function initCore() {
|
|||
// initial call
|
||||
toggleSnapperOnSize();
|
||||
|
||||
// adjust controls bar width
|
||||
var adjustControlsWidth = function() {
|
||||
if($('#controls').length) {
|
||||
var controlsWidth;
|
||||
// if there is a scrollbar …
|
||||
if($('#app-content').get(0).scrollHeight > $('#app-content').height()) {
|
||||
if($(window).width() > 768) {
|
||||
controlsWidth = $('#content').width() - $('#app-navigation').width() - getScrollBarWidth();
|
||||
if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) {
|
||||
controlsWidth -= $('#app-sidebar').width();
|
||||
}
|
||||
} else {
|
||||
controlsWidth = $('#content').width() - getScrollBarWidth();
|
||||
}
|
||||
} else { // if there is none
|
||||
if($(window).width() > 768) {
|
||||
controlsWidth = $('#content').width() - $('#app-navigation').width();
|
||||
if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) {
|
||||
controlsWidth -= $('#app-sidebar').width();
|
||||
}
|
||||
} else {
|
||||
controlsWidth = $('#content').width();
|
||||
}
|
||||
}
|
||||
$('#controls').css('width', controlsWidth);
|
||||
$('#controls').css('min-width', controlsWidth);
|
||||
}
|
||||
};
|
||||
|
||||
$(window).resize(_.debounce(adjustControlsWidth, 250));
|
||||
|
||||
$('body').delegate('#app-content', 'apprendered appresized', _.debounce(adjustControlsWidth, 150));
|
||||
|
||||
}
|
||||
|
||||
// Update live timestamps every 30 seconds
|
||||
|
|
Loading…
Reference in New Issue