Skip to content

Commit ca65dce

Browse files
authored
Merge pull request #3320 from jankyzhang/cf19
bug #3273 Show Created By for files and links list in Assets Library
2 parents 2050c58 + 865349c commit ca65dce

File tree

6 files changed

+147
-41
lines changed

6 files changed

+147
-41
lines changed

src/components/AssetsLibrary/FilesGridView.jsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import DeleteFileLinkModal from '../LinksMenu/DeleteFileLinkModal'
1010
import EditFileAttachment from '../LinksMenu/EditFileAttachment'
1111
import SubFolder from './SubFolder'
1212
import ItemOperations from './ItemOperations'
13+
import UserTooltip from '../User/UserTooltip'
1314

1415
import FolderIcon from '../../assets/icons/v.2.5/icon-folder-small.svg'
1516

@@ -28,6 +29,7 @@ const FilesGridView = ({
2829
title,
2930
selectedUsers,
3031
onAddAttachment,
32+
assetsMembers,
3133
isSharingAttachment,
3234
discardAttachments,
3335
onChangePermissions,
@@ -78,6 +80,7 @@ const FilesGridView = ({
7880
link={ subFolderContent }
7981
renderLink={ renderLink }
8082
goBack={goBack}
83+
assetsMembers={assetsMembers}
8184
onDeletePostAttachment={onDeletePostAttachment}
8285
loggedInUser={loggedInUser}
8386
formatModifyDate={formatModifyDate}
@@ -99,6 +102,7 @@ const FilesGridView = ({
99102
<li styleName="assets-gridview-header" key="assets-gridview-header">
100103
<div styleName="flex-item-title item-type">Type</div>
101104
<div styleName="flex-item-title item-name">Name</div>
105+
<div styleName="flex-item-title item-created-by">Created By</div>
102106
<div styleName="flex-item-title item-modified">Modified</div>
103107
<div styleName="flex-item-title item-action"/>
104108
</li>
@@ -119,12 +123,14 @@ const FilesGridView = ({
119123
const canEdit = `${link.createdBy}` === `${loggedInUser.userId}`
120124

121125
const changeSubFolder = () => onChangeSubFolder(link)
126+
const owner = _.find(assetsMembers, m => m.userId === _.parseInt(link.createdBy))
122127

123128
if (Array.isArray(link.children) && link.children.length > 0) {
124129
return (
125130
<li styleName="assets-gridview-row" onClick={changeSubFolder} key={'assets-gridview-folder-' + idx}>
126131
<div styleName="flex-item item-type"><FolderIcon /></div>
127132
<div styleName="flex-item item-name hand"><p>{formatFolderTitle(link.title)}</p></div>
133+
<div styleName="flex-item item-created-by"></div>
128134
<div styleName="flex-item item-modified">{formatModifyDate(link)}</div>
129135
<div styleName="flex-item item-action"/>
130136
</li>)
@@ -161,6 +167,15 @@ const FilesGridView = ({
161167
<img width={42} height={42} src={iconPath} />
162168
</div>
163169
<div styleName="flex-item item-name"><p>{renderLink(link)}</p></div>
170+
<div styleName="flex-item item-created-by">
171+
{!owner && (<div className="user-block txt-italic">Unknown</div>)}
172+
{owner && (
173+
<div className="spacing">
174+
<div className="user-block">
175+
<UserTooltip usr={owner} id={idx} size={35} />
176+
</div>
177+
</div>)}
178+
</div>
164179
<div styleName="flex-item item-modified">{formatModifyDate(link)}</div>
165180
<div styleName="flex-item item-action">
166181
{canEdit && (

src/components/AssetsLibrary/GridView.scss

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
}
8686
}
8787

88-
.item-modified {
88+
.item-modified, .item-created-by {
8989
-webkit-box-flex: 0;
9090
-ms-flex: none;
9191
flex: none;
@@ -134,4 +134,11 @@
134134

135135
.assets-gridview-container-active {
136136
position: relative;
137+
}
138+
139+
:global {
140+
.user-block .tooltip-container {
141+
text-align: left;
142+
line-height: 20px;
143+
}
137144
}

src/components/AssetsLibrary/LinksGridView.jsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import DeleteLinkModal from '../LinksMenu/DeleteLinkModal'
88
import EditLinkModal from '../LinksMenu/EditLinkModal'
99
import SubFolder from './SubFolder'
1010
import ItemOperations from './ItemOperations'
11+
import UserTooltip from '../User/UserTooltip'
1112

1213
import FolderIcon from '../../assets/icons/v.2.5/icon-folder-small.svg'
1314
import LinkIcon from '../../assets/icons/link-12.svg'
@@ -28,6 +29,7 @@ const LinksGridView = ({
2829
title,
2930
formatModifyDate,
3031
formatFolderTitle,
32+
assetsMembers,
3133
}) => {
3234
const renderLink = (link) => {
3335
if (link.onClick) {
@@ -59,6 +61,7 @@ const LinksGridView = ({
5961
renderLink={ renderLink }
6062
goBack={goBack}
6163
formatModifyDate={formatModifyDate}
64+
assetsMembers={assetsMembers}
6265
isLinkSubFolder
6366
/>)}
6467
{(!subFolderContent) && (
@@ -69,6 +72,7 @@ const LinksGridView = ({
6972
<li styleName="assets-gridview-header" key="assets-gridview-header">
7073
<div styleName="flex-item-title item-type">Type</div>
7174
<div styleName="flex-item-title item-name">Name</div>
75+
<div styleName="flex-item-title item-created-by">Created By</div>
7276
<div styleName="flex-item-title item-modified">Modified</div>
7377
<div styleName="flex-item-title item-action"/>
7478
</li>
@@ -87,12 +91,14 @@ const LinksGridView = ({
8791
const onEditCancel = () => onEditIntent(-1)
8892
const handleEditClick = () => onEditIntent(idx)
8993
const changeSubFolder = () => onChangeSubFolder(link)
94+
const owner = _.find(assetsMembers, m => m.userId === _.parseInt(link.createdBy))
9095

9196
if (Array.isArray(link.children) && link.children.length > 0) {
9297
return (
9398
<li styleName="assets-gridview-row" onClick={changeSubFolder} key={'assets-gridview-folder-' + idx}>
9499
<div styleName="flex-item item-type"><FolderIcon /></div>
95100
<div styleName="flex-item item-name hand"><p>{formatFolderTitle(link.title)}</p></div>
101+
<div styleName="flex-item item-created-by"></div>
96102
<div styleName="flex-item item-modified">{formatModifyDate(link)}</div>
97103
<div styleName="flex-item item-action"/>
98104
</li>)
@@ -119,6 +125,16 @@ const LinksGridView = ({
119125
<li styleName="assets-gridview-row" key={'assets-gridview-item-' +idx}>
120126
<div styleName="flex-item item-type"><LinkIcon/></div>
121127
<div styleName="flex-item item-name"><p>{renderLink(link)}</p></div>
128+
<div styleName="flex-item item-created-by">
129+
{!owner && !link.createdBy && (<div className="user-block"></div>)}
130+
{!owner && link.createdBy && (<div className="user-block txt-italic">Unknown</div>)}
131+
{owner && (
132+
<div className="spacing">
133+
<div className="user-block">
134+
<UserTooltip usr={owner} id={idx} size={35} />
135+
</div>
136+
</div>)}
137+
</div>
122138
<div styleName="flex-item item-modified">{formatModifyDate(link)}</div>
123139
<div styleName="flex-item item-action">
124140
{(canEdit || canDelete) && (

src/components/AssetsLibrary/SubFolder.jsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import React from 'react'
22
import PropTypes from 'prop-types'
3+
import _ from 'lodash'
34
import cn from 'classnames'
45

56
import DeleteFileLinkModal from '../LinksMenu/DeleteFileLinkModal'
67
import ItemOperations from './ItemOperations'
8+
import UserTooltip from '../User/UserTooltip'
79
import FolderIcon from '../../assets/icons/v.2.5/icon-folder-small.svg'
810

911
import './GridView.scss'
@@ -54,7 +56,7 @@ class SubFolder extends React.Component {
5456
}
5557

5658
render() {
57-
const { link, renderLink, goBack, formatModifyDate, isLinkSubFolder } = this.props
59+
const { link, renderLink, goBack, formatModifyDate, isLinkSubFolder, assetsMembers } = this.props
5860
const { linkToDelete } = this.state
5961
return (
6062
<div styleName={cn({'assets-gridview-container-active': (linkToDelete >= 0)}, '')}>
@@ -64,17 +66,20 @@ class SubFolder extends React.Component {
6466
<li styleName="assets-gridview-header" key="assets-gridview-header">
6567
<div styleName="flex-item-title item-type">Type</div>
6668
<div styleName="flex-item-title item-name">Name</div>
69+
<div styleName="flex-item-title item-created-by">Created By</div>
6770
<div styleName="flex-item-title item-modified">Modified</div>
6871
<div styleName="flex-item-title item-action"/>
6972
</li>
7073
<li styleName="assets-gridview-row" key="assets-gridview-subfolder" onClick={goBack}>
7174
<div styleName="flex-item item-type"><FolderIcon /></div>
7275
<div styleName="flex-item item-name hand">..</div>
76+
<div styleName="flex-item item-created-by"/>
7377
<div styleName="flex-item item-modified"/>
7478
<div styleName="flex-item item-action"/>
7579
</li>
7680
{
7781
link.children.map((childLink, i) => {
82+
const owner = _.find(assetsMembers, m => m.userId === _.parseInt(childLink.createdBy))
7883
if (linkToDelete === i) {
7984
return (
8085
<li styleName="delete-confirmation-modal" key={'delete-confirmation-post-attachment-' + i}>
@@ -100,6 +105,16 @@ class SubFolder extends React.Component {
100105
return (<li styleName="assets-gridview-row" key={`childlink-${childLink.address}-${i}`}>
101106
<div styleName="flex-item item-type"><img width={42} height={42} src={ iconPath } /></div>
102107
<div styleName="flex-item item-name"><p>{renderLink(childLink)}</p></div>
108+
<div styleName="flex-item item-created-by">
109+
{!owner && childLink.createdBy !== 'CoderBot' && (<div className="user-block txt-italic">Unknown</div>)}
110+
{!owner && childLink.createdBy === 'CoderBot' && (<div className="user-block">CoderBot</div>)}
111+
{owner && (
112+
<div className="spacing">
113+
<div className="user-block">
114+
<UserTooltip usr={owner} id={i} size={35} />
115+
</div>
116+
</div>)}
117+
</div>
103118
<div styleName="flex-item item-modified">{formatModifyDate(childLink)}</div>
104119
<div styleName="flex-item item-action">
105120
{childLink.deletable && this.hasAccess(childLink.createdBy) && (

0 commit comments

Comments
 (0)