fix(cypress): formatFileSize change revert from files library

Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
pull/41010/head
John Molakvoæ 2 years ago
parent 50417bcee8
commit 32c1aebaae
No known key found for this signature in database
GPG Key ID: 60C25B8C072916CF
  1. 36
      apps/files/src/components/FileEntry/FileEntryActions.vue
  2. 4
      apps/files/src/components/NavigationQuota.vue
  3. 6
      apps/files/tests/js/filelistSpec.js
  4. 18
      apps/files/tests/js/filesummarySpec.js
  5. 2
      apps/files/tests/js/mainfileinfodetailviewSpec.js
  6. 8
      apps/files_reminders/src/actions/setReminderSuggestionActions.scss
  7. 18
      apps/files_reminders/src/actions/setReminderSuggestionActions.ts
  8. 4
      apps/files_reminders/src/components/SetCustomReminderModal.vue
  9. 2
      apps/files_reminders/src/services/customPicker.ts
  10. 8
      apps/files_reminders/src/shared/utils.ts
  11. 4
      dist/dav-settings-personal-availability.js
  12. 2
      dist/dav-settings-personal-availability.js.LICENSE.txt
  13. 2
      dist/dav-settings-personal-availability.js.map
  14. 4
      dist/files-init.js
  15. 2
      dist/files-init.js.map
  16. 4
      dist/files-main.js
  17. 2
      dist/files-main.js.map
  18. 4
      dist/files_reminders-init.js
  19. 2
      dist/files_reminders-init.js.map
  20. 4
      dist/files_sharing-init.js
  21. 2
      dist/files_sharing-init.js.map

@ -42,25 +42,23 @@
:open.sync="openedMenu" :open.sync="openedMenu"
@close="openedSubmenu = null"> @close="openedSubmenu = null">
<!-- Default actions list--> <!-- Default actions list-->
<template> <NcActionButton v-for="action in enabledMenuActions"
<NcActionButton v-for="action in enabledMenuActions" :key="action.id"
:key="action.id" :class="{
:class="{ [`files-list__row-action-${action.id}`]: true,
[`files-list__row-action-${action.id}`]: true, [`files-list__row-action--menu`]: isMenu(action.id)
[`files-list__row-action--menu`]: isMenu(action.id) }"
}" :close-after-click="!isMenu(action.id)"
:close-after-click="!isMenu(action.id)" :data-cy-files-list-row-action="action.id"
:data-cy-files-list-row-action="action.id" :is-menu="isMenu(action.id)"
:is-menu="isMenu(action.id)" :title="action.title?.([source], currentView)"
:title="action.title?.([source], currentView)" @click="onActionClick(action)">
@click="onActionClick(action)"> <template #icon>
<template #icon> <NcLoadingIcon v-if="loading === action.id" :size="18" />
<NcLoadingIcon v-if="loading === action.id" :size="18" /> <NcIconSvgWrapper v-else :svg="action.iconSvgInline([source], currentView)" />
<NcIconSvgWrapper v-else :svg="action.iconSvgInline([source], currentView)" /> </template>
</template> {{ actionDisplayName(action) }}
{{ actionDisplayName(action) }} </NcActionButton>
</NcActionButton>
</template>
<!-- Submenu actions list--> <!-- Submenu actions list-->
<template v-if="openedSubmenu && enabledSubmenuActions[openedSubmenu?.id]"> <template v-if="openedSubmenu && enabledSubmenuActions[openedSubmenu?.id]">

@ -51,8 +51,8 @@ export default {
computed: { computed: {
storageStatsTitle() { storageStatsTitle() {
const usedQuotaByte = formatFileSize(this.storageStats?.used, false, false) const usedQuotaByte = formatFileSize(this.storageStats?.used, false, false, true)
const quotaByte = formatFileSize(this.storageStats?.quota, false, false) const quotaByte = formatFileSize(this.storageStats?.quota, false, false, true)
// If no quota set // If no quota set
if (this.storageStats?.quota < 0) { if (this.storageStats?.quota < 0) {

@ -539,7 +539,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.find('.fileinfo').text()).toEqual('2 files'); expect($summary.find('.fileinfo').text()).toEqual('2 files');
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false); expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false); expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.filesize').text()).toEqual('70 KB'); expect($summary.find('.filesize').text()).toEqual('69 KB');
expect(fileList.isEmpty).toEqual(false); expect(fileList.isEmpty).toEqual(false);
}); });
it('Shows empty content when removing last file', function() { it('Shows empty content when removing last file', function() {
@ -609,7 +609,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.find('.fileinfo').text()).toEqual('1 file'); expect($summary.find('.fileinfo').text()).toEqual('1 file');
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false); expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false); expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.filesize').text()).toEqual('58 KB'); expect($summary.find('.filesize').text()).toEqual('57 KB');
expect(fileList.isEmpty).toEqual(false); expect(fileList.isEmpty).toEqual(false);
expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false); expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false);
expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true); expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true);
@ -1138,7 +1138,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.hasClass('hidden')).toEqual(false); expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder'); expect($summary.find('.dirinfo').text()).toEqual('1 folder');
expect($summary.find('.fileinfo').text()).toEqual('3 files'); expect($summary.find('.fileinfo').text()).toEqual('3 files');
expect($summary.find('.filesize').text()).toEqual('70 KB'); expect($summary.find('.filesize').text()).toEqual('69 KB');
}); });
it('shows headers, summary and hide empty content message after setting files', function(){ it('shows headers, summary and hide empty content message after setting files', function(){
fileList.setFiles(testFiles); fileList.setFiles(testFiles);

@ -44,7 +44,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.hasClass('hidden')).toEqual(false); expect($container.hasClass('hidden')).toEqual(false);
expect($container.find('.dirinfo').text()).toEqual('5 folders'); expect($container.find('.dirinfo').text()).toEqual('5 folders');
expect($container.find('.fileinfo').text()).toEqual('2 files'); expect($container.find('.fileinfo').text()).toEqual('2 files');
expect($container.find('.filesize').text()).toEqual('256 KB'); expect($container.find('.filesize').text()).toEqual('250 KB');
}); });
it('hides summary when no files or folders', function() { it('hides summary when no files or folders', function() {
var s = new FileSummary($container); var s = new FileSummary($container);
@ -68,7 +68,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.hasClass('hidden')).toEqual(false); expect($container.hasClass('hidden')).toEqual(false);
expect($container.find('.dirinfo').text()).toEqual('6 folders'); expect($container.find('.dirinfo').text()).toEqual('6 folders');
expect($container.find('.fileinfo').text()).toEqual('3 files'); expect($container.find('.fileinfo').text()).toEqual('3 files');
expect($container.find('.filesize').text()).toEqual('512 KB'); expect($container.find('.filesize').text()).toEqual('500 KB');
expect(s.summary.totalDirs).toEqual(6); expect(s.summary.totalDirs).toEqual(6);
expect(s.summary.totalFiles).toEqual(3); expect(s.summary.totalFiles).toEqual(3);
expect(s.summary.totalSize).toEqual(512100); expect(s.summary.totalSize).toEqual(512100);
@ -86,7 +86,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.hasClass('hidden')).toEqual(false); expect($container.hasClass('hidden')).toEqual(false);
expect($container.find('.dirinfo').text()).toEqual('4 folders'); expect($container.find('.dirinfo').text()).toEqual('4 folders');
expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.filesize').text()).toEqual('128 KB'); expect($container.find('.filesize').text()).toEqual('125 KB');
expect(s.summary.totalDirs).toEqual(4); expect(s.summary.totalDirs).toEqual(4);
expect(s.summary.totalFiles).toEqual(1); expect(s.summary.totalFiles).toEqual(1);
expect(s.summary.totalSize).toEqual(127900); expect(s.summary.totalSize).toEqual(127900);
@ -104,7 +104,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('5 folders'); expect($container.find('.dirinfo').text()).toEqual('5 folders');
expect($container.find('.fileinfo').text()).toEqual('2 files'); expect($container.find('.fileinfo').text()).toEqual('2 files');
expect($container.find('.filter').text()).toEqual(' match "foo"'); expect($container.find('.filter').text()).toEqual(' match "foo"');
expect($container.find('.filesize').text()).toEqual('256 KB'); expect($container.find('.filesize').text()).toEqual('250 KB');
}); });
it('hides filtered summary when no files or folders', function() { it('hides filtered summary when no files or folders', function() {
var s = new FileSummary($container); var s = new FileSummary($container);
@ -133,7 +133,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('6 folders'); expect($container.find('.dirinfo').text()).toEqual('6 folders');
expect($container.find('.fileinfo').text()).toEqual('3 files'); expect($container.find('.fileinfo').text()).toEqual('3 files');
expect($container.find('.filter').text()).toEqual(' match "foo"'); expect($container.find('.filter').text()).toEqual(' match "foo"');
expect($container.find('.filesize').text()).toEqual('512 KB'); expect($container.find('.filesize').text()).toEqual('500 KB');
expect(s.summary.totalDirs).toEqual(6); expect(s.summary.totalDirs).toEqual(6);
expect(s.summary.totalFiles).toEqual(3); expect(s.summary.totalFiles).toEqual(3);
expect(s.summary.totalSize).toEqual(512103); expect(s.summary.totalSize).toEqual(512103);
@ -155,7 +155,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('4 folders'); expect($container.find('.dirinfo').text()).toEqual('4 folders');
expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.filter').text()).toEqual(' match "foo"'); expect($container.find('.filter').text()).toEqual(' match "foo"');
expect($container.find('.filesize').text()).toEqual('128 KB'); expect($container.find('.filesize').text()).toEqual('125 KB');
expect(s.summary.totalDirs).toEqual(4); expect(s.summary.totalDirs).toEqual(4);
expect(s.summary.totalFiles).toEqual(1); expect(s.summary.totalFiles).toEqual(1);
expect(s.summary.totalSize).toEqual(127903); expect(s.summary.totalSize).toEqual(127903);
@ -215,7 +215,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(false); expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(false);
expect($container.find('.hiddeninfo').text()).toEqual(' (including 1 hidden)'); expect($container.find('.hiddeninfo').text()).toEqual(' (including 1 hidden)');
expect($container.find('.filesize').text()).toEqual('768 KB'); expect($container.find('.filesize').text()).toEqual('750 KB');
}); });
it('does not render hidden count section when hidden files exist but are visible', function() { it('does not render hidden count section when hidden files exist but are visible', function() {
window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: true }); window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: true });
@ -228,7 +228,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('2 folders'); expect($container.find('.dirinfo').text()).toEqual('2 folders');
expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true); expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true);
expect($container.find('.filesize').text()).toEqual('768 KB'); expect($container.find('.filesize').text()).toEqual('750 KB');
}); });
it('does not render hidden count section when no hidden files exist', function() { it('does not render hidden count section when no hidden files exist', function() {
window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: false }); window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: false });
@ -240,7 +240,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('1 folder'); expect($container.find('.dirinfo').text()).toEqual('1 folder');
expect($container.find('.fileinfo').text()).toEqual('1 file'); expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true); expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true);
expect($container.find('.filesize').text()).toEqual('256 KB'); expect($container.find('.filesize').text()).toEqual('250 KB');
}); });
}); });
}); });

@ -62,7 +62,7 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() {
view.setFileInfo(testFileInfo); view.setFileInfo(testFileInfo);
expect(view.$el.find('.fileName h3').text()).toEqual('One.txt'); expect(view.$el.find('.fileName h3').text()).toEqual('One.txt');
expect(view.$el.find('.fileName h3').attr('title')).toEqual('One.txt'); expect(view.$el.find('.fileName h3').attr('title')).toEqual('One.txt');
expect(view.$el.find('.size').text()).toEqual('123.5 MB'); expect(view.$el.find('.size').text()).toEqual('117.7 MB');
expect(view.$el.find('.size').attr('title')).toEqual('123456789 bytes'); expect(view.$el.find('.size').attr('title')).toEqual('123456789 bytes');
expect(view.$el.find('.date').text()).toEqual('seconds ago'); expect(view.$el.find('.date').text()).toEqual('seconds ago');
expect(view.$el.find('.date').attr('title')).toEqual(dateExpected); expect(view.$el.find('.date').attr('title')).toEqual(dateExpected);

@ -21,10 +21,11 @@
*/ */
// TODO: remove when/if the actions API supports a separator // TODO: remove when/if the actions API supports a separator
// This the last preset action, so we need to add a separator // This the last preset action, so we need to add a separator
.files-list__row-action-set-reminder-3 { .files-list__row-action-set-reminder-custom {
margin-bottom: 13px; margin-top: 13px;
position: relative;
&::after { &::before {
content: ""; content: "";
margin: 3px 10px 3px 15px; margin: 3px 10px 3px 15px;
border-bottom: 1px solid var(--color-border-dark); border-bottom: 1px solid var(--color-border-dark);
@ -34,5 +35,6 @@
position: absolute; position: absolute;
left: 0; left: 0;
right: 0; right: 0;
top: -10px;
} }
} }

@ -63,8 +63,13 @@ const nextWeek: ReminderOption = {
ariaLabel: t('files_reminders', 'Set reminder for next week'), ariaLabel: t('files_reminders', 'Set reminder for next week'),
} }
// Generate the default preset actions /**
export const actions = [laterToday, tomorrow, thisWeekend, nextWeek].map((option): FileAction|null => { * Generate a file action for the given option
*
* @param option The option to generate the action for
* @return The file action or null if the option should not be shown
*/
const generateFileAction = (option): FileAction|null => {
const dateTime = getDateTime(option.dateTimePreset) const dateTime = getDateTime(option.dateTimePreset)
if (!dateTime) { if (!dateTime) {
return null return null
@ -72,7 +77,7 @@ export const actions = [laterToday, tomorrow, thisWeekend, nextWeek].map((option
return new FileAction({ return new FileAction({
id: `set-reminder-${option.dateTimePreset}`, id: `set-reminder-${option.dateTimePreset}`,
displayName: () => `${option.label} - ${getDateString(dateTime)}`, displayName: () => `${option.label} ${getDateString(dateTime)}`,
title: () => `${option.ariaLabel}${getVerboseDateString(dateTime)}`, title: () => `${option.ariaLabel}${getVerboseDateString(dateTime)}`,
// Empty svg to hide the icon // Empty svg to hide the icon
@ -103,4 +108,9 @@ export const actions = [laterToday, tomorrow, thisWeekend, nextWeek].map((option
order: 21, order: 21,
}) })
}).filter(Boolean) as FileAction[] }
// Generate the default preset actions
export const actions = [laterToday, tomorrow, thisWeekend, nextWeek]
.map(generateFileAction)
.filter(Boolean) as FileAction[]

@ -148,8 +148,8 @@ export default Vue.extend({
}, },
async setCustom(): Promise<void> { async setCustom(): Promise<void> {
// Handle input cleared // Handle input cleared or invalid date
if (this.customDueDate === '') { if (!(this.customDueDate instanceof Date) || isNaN(this.customDueDate)) {
showError(t('files_reminders', 'Please choose a valid date & time')) showError(t('files_reminders', 'Please choose a valid date & time'))
return return
} }

@ -37,8 +37,6 @@ const CustomReminderModal = new View({
}) })
export const pickCustomDate = async (node: Node): Promise<void> => { export const pickCustomDate = async (node: Node): Promise<void> => {
console.debug('CustomReminderModal', mount, CustomReminderModal)
CustomReminderModal.open(node) CustomReminderModal.open(node)
// Wait for the modal to close // Wait for the modal to close

@ -24,10 +24,10 @@ import moment from '@nextcloud/moment'
import { getCanonicalLocale } from '@nextcloud/l10n' import { getCanonicalLocale } from '@nextcloud/l10n'
export enum DateTimePreset { export enum DateTimePreset {
LaterToday, LaterToday = 'later-today',
Tomorrow, Tomorrow = 'tomorrow',
ThisWeekend, ThisWeekend = 'this-weekend',
NextWeek, NextWeek = 'next-week',
} }
export const getDateTime = (dateTime: DateTimePreset): null | Date => { export const getDateTime = (dateTime: DateTimePreset): null | Date => {

File diff suppressed because one or more lines are too long

@ -19,8 +19,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/** /**
* @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at> * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
* *

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save