Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
0ecc1c89
Commit
0ecc1c89
authored
Mar 27, 2015
by
Thomas Müller
Browse files
Merge pull request #15254 from owncloud/fix-14853-master
Adding a pending indicator to the files summary
parents
4d57b7bb
2b0906cd
Changes
2
Hide whitespace changes
Inline
Side-by-side
apps/files/js/filesummary.js
View file @
0ecc1c89
...
...
@@ -40,7 +40,8 @@
totalFiles
:
0
,
totalDirs
:
0
,
totalSize
:
0
,
filter
:
''
filter
:
''
,
sumIsPending
:
false
},
/**
...
...
@@ -58,7 +59,12 @@
else
{
this
.
summary
.
totalFiles
++
;
}
this
.
summary
.
totalSize
+=
parseInt
(
file
.
size
,
10
)
||
0
;
var
size
=
parseInt
(
file
.
size
,
10
)
||
0
;
if
(
size
>=
0
)
{
this
.
summary
.
totalSize
+=
size
;
}
else
{
this
.
summary
.
sumIsPending
=
true
;
}
if
(
!!
update
)
{
this
.
update
();
}
...
...
@@ -78,7 +84,10 @@
else
{
this
.
summary
.
totalFiles
--
;
}
this
.
summary
.
totalSize
-=
parseInt
(
file
.
size
,
10
)
||
0
;
var
size
=
parseInt
(
file
.
size
,
10
)
||
0
;
if
(
size
>=
0
)
{
this
.
summary
.
totalSize
-=
size
;
}
if
(
!!
update
)
{
this
.
update
();
}
...
...
@@ -103,7 +112,8 @@
totalDirs
:
0
,
totalFiles
:
0
,
totalSize
:
0
,
filter
:
this
.
summary
.
filter
filter
:
this
.
summary
.
filter
,
sumIsPending
:
false
};
for
(
var
i
=
0
;
i
<
files
.
length
;
i
++
)
{
...
...
@@ -117,7 +127,12 @@
else
{
summary
.
totalFiles
++
;
}
summary
.
totalSize
+=
parseInt
(
file
.
size
,
10
)
||
0
;
var
size
=
parseInt
(
file
.
size
,
10
)
||
0
;
if
(
size
>=
0
)
{
summary
.
totalSize
+=
size
;
}
else
{
summary
.
sumIsPending
=
true
;
}
}
this
.
setSummary
(
summary
);
},
...
...
@@ -160,7 +175,8 @@
// Substitute old content with new translations
$dirInfo
.
html
(
n
(
'
files
'
,
'
%n folder
'
,
'
%n folders
'
,
this
.
summary
.
totalDirs
));
$fileInfo
.
html
(
n
(
'
files
'
,
'
%n file
'
,
'
%n files
'
,
this
.
summary
.
totalFiles
));
this
.
$el
.
find
(
'
.filesize
'
).
html
(
OC
.
Util
.
humanFileSize
(
this
.
summary
.
totalSize
));
var
fileSize
=
this
.
summary
.
sumIsPending
?
t
(
'
files
'
,
'
Pending
'
)
:
OC
.
Util
.
humanFileSize
(
this
.
summary
.
totalSize
);
this
.
$el
.
find
(
'
.filesize
'
).
html
(
fileSize
);
// Show only what's necessary (may be hidden)
if
(
this
.
summary
.
totalDirs
===
0
)
{
...
...
@@ -194,10 +210,9 @@
var
summary
=
this
.
summary
;
var
directoryInfo
=
n
(
'
files
'
,
'
%n folder
'
,
'
%n folders
'
,
summary
.
totalDirs
);
var
fileInfo
=
n
(
'
files
'
,
'
%n file
'
,
'
%n files
'
,
summary
.
totalFiles
);
if
(
this
.
summary
.
filter
===
''
)
{
var
filterInfo
=
''
;
}
else
{
var
filterInfo
=
'
'
+
n
(
'
files
'
,
'
matches
\'
{filter}
\'
'
,
'
match
\'
{filter}
\'
'
,
summary
.
totalFiles
+
summary
.
totalDirs
,
{
filter
:
summary
.
filter
});
var
filterInfo
=
''
;
if
(
this
.
summary
.
filter
!==
''
)
{
filterInfo
=
'
'
+
n
(
'
files
'
,
'
matches
\'
{filter}
\'
'
,
'
match
\'
{filter}
\'
'
,
summary
.
totalFiles
+
summary
.
totalDirs
,
{
filter
:
summary
.
filter
});
}
var
infoVars
=
{
...
...
@@ -208,7 +223,8 @@
// don't show the filesize column, if filesize is NaN (e.g. in trashbin)
var
fileSize
=
''
;
if
(
!
isNaN
(
summary
.
totalSize
))
{
fileSize
=
'
<td class="filesize">
'
+
OC
.
Util
.
humanFileSize
(
summary
.
totalSize
)
+
'
</td>
'
;
fileSize
=
summary
.
sumIsPending
?
t
(
'
files
'
,
'
Pending
'
)
:
OC
.
Util
.
humanFileSize
(
summary
.
totalSize
);
fileSize
=
'
<td class="filesize">
'
+
fileSize
+
'
</td>
'
;
}
var
info
=
t
(
'
files
'
,
'
{dirs} and {files}
'
,
infoVars
,
null
,
{
'
escape
'
:
false
});
...
...
apps/files/tests/js/filesummarySpec.js
View file @
0ecc1c89
...
...
@@ -148,4 +148,37 @@ describe('OCA.Files.FileSummary tests', function() {
expect
(
s
.
summary
.
totalFiles
).
toEqual
(
1
);
expect
(
s
.
summary
.
totalSize
).
toEqual
(
127903
);
});
it
(
'
properly sum up pending folder sizes after adding
'
,
function
()
{
var
s
=
new
FileSummary
(
$container
);
s
.
setSummary
({
totalDirs
:
0
,
totalFiles
:
0
,
totalSize
:
0
});
s
.
add
({
type
:
'
dir
'
,
size
:
-
1
});
s
.
update
();
expect
(
$container
.
hasClass
(
'
hidden
'
)).
toEqual
(
false
);
expect
(
$container
.
find
(
'
.info
'
).
text
()).
toEqual
(
'
1 folder and 0 files
'
);
expect
(
$container
.
find
(
'
.filesize
'
).
text
()).
toEqual
(
'
Pending
'
);
expect
(
s
.
summary
.
totalDirs
).
toEqual
(
1
);
expect
(
s
.
summary
.
totalFiles
).
toEqual
(
0
);
expect
(
s
.
summary
.
totalSize
).
toEqual
(
0
);
});
it
(
'
properly sum up pending folder sizes after remove
'
,
function
()
{
var
s
=
new
FileSummary
(
$container
);
s
.
setSummary
({
totalDirs
:
0
,
totalFiles
:
0
,
totalSize
:
0
});
s
.
add
({
type
:
'
dir
'
,
size
:
-
1
});
s
.
remove
({
type
:
'
dir
'
,
size
:
-
1
});
s
.
update
();
expect
(
$container
.
hasClass
(
'
hidden
'
)).
toEqual
(
true
);
expect
(
$container
.
find
(
'
.info
'
).
text
()).
toEqual
(
'
0 folders and 0 files
'
);
expect
(
$container
.
find
(
'
.filesize
'
).
text
()).
toEqual
(
'
0 B
'
);
expect
(
s
.
summary
.
totalDirs
).
toEqual
(
0
);
expect
(
s
.
summary
.
totalFiles
).
toEqual
(
0
);
expect
(
s
.
summary
.
totalSize
).
toEqual
(
0
);
});
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment