Skip to content

Commit 3ca36c3

Browse files
authored
Merge pull request #3341 from jankyzhang/cf19-2
bug #3273 Created By and Created At improvement
2 parents bc2c16a + 9635f9a commit 3ca36c3

File tree

4 files changed

+44
-20
lines changed

4 files changed

+44
-20
lines changed

src/components/AssetsLibrary/FilesGridView.jsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ const FilesGridView = ({
8383
assetsMembers={assetsMembers}
8484
onDeletePostAttachment={onDeletePostAttachment}
8585
loggedInUser={loggedInUser}
86-
formatModifyDate={formatModifyDate}
8786
/>)}
8887
{(!subFolderContent) && (
8988
<div styleName={cn({'assets-gridview-container-active': (linkToEdit >= 0 || linkToDelete >= 0)}, '')}>
@@ -130,7 +129,15 @@ const FilesGridView = ({
130129
<li styleName="assets-gridview-row" onClick={changeSubFolder} key={'assets-gridview-folder-' + idx}>
131130
<div styleName="flex-item item-type"><FolderIcon /></div>
132131
<div styleName="flex-item item-name hand"><p>{formatFolderTitle(link.title)}</p></div>
133-
<div styleName="flex-item item-created-by"></div>
132+
<div styleName="flex-item item-created-by">
133+
{!owner && (<div className="user-block txt-italic">Unknown</div>)}
134+
{owner && (
135+
<div className="spacing">
136+
<div className="user-block">
137+
<UserTooltip usr={owner} id={idx} size={35} />
138+
</div>
139+
</div>)}
140+
</div>
134141
<div styleName="flex-item item-modified">{formatModifyDate(link)}</div>
135142
<div styleName="flex-item item-action"/>
136143
</li>)

src/components/AssetsLibrary/LinksGridView.jsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ const LinksGridView = ({
6060
link={ subFolderContent }
6161
renderLink={ renderLink }
6262
goBack={goBack}
63-
formatModifyDate={formatModifyDate}
6463
assetsMembers={assetsMembers}
6564
isLinkSubFolder
6665
/>)}
@@ -98,7 +97,17 @@ const LinksGridView = ({
9897
<li styleName="assets-gridview-row" onClick={changeSubFolder} key={'assets-gridview-folder-' + idx}>
9998
<div styleName="flex-item item-type"><FolderIcon /></div>
10099
<div styleName="flex-item item-name hand"><p>{formatFolderTitle(link.title)}</p></div>
101-
<div styleName="flex-item item-created-by"></div>
100+
<div styleName="flex-item item-created-by">
101+
{!owner && !link.createdBy && (<div className="user-block"></div>)}
102+
{!owner && link.createdBy !== 'CoderBot' && (<div className="user-block txt-italic">Unknown</div>)}
103+
{!owner && link.createdBy === 'CoderBot' && (<div className="user-block">CoderBot</div>)}
104+
{owner && (
105+
<div className="spacing">
106+
<div className="user-block">
107+
<UserTooltip usr={owner} id={idx} size={35} />
108+
</div>
109+
</div>)}
110+
</div>
102111
<div styleName="flex-item item-modified">{formatModifyDate(link)}</div>
103112
<div styleName="flex-item item-action"/>
104113
</li>)

src/components/AssetsLibrary/SubFolder.jsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react'
22
import PropTypes from 'prop-types'
33
import _ from 'lodash'
44
import cn from 'classnames'
5+
import moment from 'moment'
56

67
import DeleteFileLinkModal from '../LinksMenu/DeleteFileLinkModal'
78
import ItemOperations from './ItemOperations'
@@ -56,8 +57,10 @@ class SubFolder extends React.Component {
5657
}
5758

5859
render() {
59-
const { link, renderLink, goBack, formatModifyDate, isLinkSubFolder, assetsMembers } = this.props
60+
const { link, renderLink, goBack, isLinkSubFolder, assetsMembers } = this.props
6061
const { linkToDelete } = this.state
62+
63+
const formatCreateDate = (link) => ((link.createdAt) ? moment(link.createdAt).format('MM/DD/YYYY h:mm A') : '—')
6164
return (
6265
<div styleName={cn({'assets-gridview-container-active': (linkToDelete >= 0)}, '')}>
6366
{(linkToDelete >= 0) && <div styleName="assets-gridview-modal-overlay"/>}
@@ -67,7 +70,7 @@ class SubFolder extends React.Component {
6770
<div styleName="flex-item-title item-type">Type</div>
6871
<div styleName="flex-item-title item-name">Name</div>
6972
<div styleName="flex-item-title item-created-by">Created By</div>
70-
<div styleName="flex-item-title item-modified">Modified</div>
73+
<div styleName="flex-item-title item-modified">Created At</div>
7174
<div styleName="flex-item-title item-action"/>
7275
</li>
7376
<li styleName="assets-gridview-row" key="assets-gridview-subfolder" onClick={goBack}>
@@ -115,7 +118,7 @@ class SubFolder extends React.Component {
115118
</div>
116119
</div>)}
117120
</div>
118-
<div styleName="flex-item item-modified">{formatModifyDate(childLink)}</div>
121+
<div styleName="flex-item item-modified">{formatCreateDate(childLink)}</div>
119122
<div styleName="flex-item item-action">
120123
{childLink.deletable && this.hasAccess(childLink.createdBy) && (
121124
<ItemOperations
@@ -138,7 +141,6 @@ SubFolder.propTypes = {
138141
onDeletePostAttachment: PropTypes.func,
139142
goBack: PropTypes.func.isRequired,
140143
loggedInUser: PropTypes.object,
141-
formatModifyDate: PropTypes.func.isRequired,
142144
}
143145

144146
export default SubFolder

src/projects/detail/containers/AssetsInfoContainer.jsx

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -233,11 +233,11 @@ class AssetsInfoContainer extends React.Component {
233233
this.props.uploadProjectAttachments(project.id, attachment)
234234
}
235235

236-
extractHtmlLink(str, userId) {
236+
extractHtmlLink(post) {
237237
const links = []
238238
const regex = /<a[^>]+href="(.*?)"[^>]*>([\s\S]*?)<\/a>/gm
239239
const urlRegex = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/gm // eslint-disable-line no-useless-escape
240-
const rawLinks = regex.exec(str)
240+
const rawLinks = regex.exec(post.rawContent)
241241

242242
if (Array.isArray(rawLinks)) {
243243
let i = 0
@@ -249,7 +249,8 @@ class AssetsInfoContainer extends React.Component {
249249
links.push({
250250
title,
251251
address,
252-
createdBy: userId
252+
createdAt: post.date,
253+
createdBy: post.userId
253254
})
254255
}
255256

@@ -260,11 +261,11 @@ class AssetsInfoContainer extends React.Component {
260261
return links
261262
}
262263

263-
extractMarkdownLink(str, userId) {
264+
extractMarkdownLink(post) {
264265
const links = []
265266
const regex = /(?:__|[*#])|\[(.*?)\]\((.*?)\)/gm
266267
const urlRegex = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/gm // eslint-disable-line no-useless-escape
267-
const rawLinks = regex.exec(str)
268+
const rawLinks = regex.exec(post.rawContent)
268269

269270
if (Array.isArray(rawLinks)) {
270271
let i = 0
@@ -276,7 +277,8 @@ class AssetsInfoContainer extends React.Component {
276277
links.push({
277278
title,
278279
address,
279-
createdBy: userId
280+
createdAt: post.date,
281+
createdBy: post.userId
280282
})
281283
}
282284

@@ -287,10 +289,10 @@ class AssetsInfoContainer extends React.Component {
287289
return links
288290
}
289291

290-
extractRawLink(str, userId) {
292+
extractRawLink(post) {
291293
let links = []
292294
const regex = /(\s|^)(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,}[\s])(\s|$)/igm // eslint-disable-line no-useless-escape
293-
const rawLinks = str.match(regex)
295+
const rawLinks = post.rawContent.match(regex)
294296

295297
if (Array.isArray(rawLinks)) {
296298
links = rawLinks
@@ -302,7 +304,8 @@ class AssetsInfoContainer extends React.Component {
302304
return {
303305
title: name,
304306
address: url,
305-
createdBy: userId
307+
createdAt: post.date,
308+
createdBy: post.userId
306309
}
307310
})
308311
}
@@ -316,15 +319,16 @@ class AssetsInfoContainer extends React.Component {
316319
let childrenLinks = []
317320
feed.posts.forEach(post => {
318321
childrenLinks = childrenLinks.concat([
319-
...this.extractHtmlLink(post.rawContent, post.userId),
320-
...this.extractMarkdownLink(post.rawContent, post.userId),
321-
...this.extractRawLink(post.rawContent, post.userId)
322+
...this.extractHtmlLink(post),
323+
...this.extractMarkdownLink(post),
324+
...this.extractRawLink(post)
322325
])
323326
})
324327

325328
if (childrenLinks.length > 0) {
326329
links.push({
327330
title: feed.title,
331+
createdBy: feed.userId,
328332
children: childrenLinks
329333
})
330334
}
@@ -349,6 +353,7 @@ class AssetsInfoContainer extends React.Component {
349353
attachmentId: attachment.id,
350354
attachment: true,
351355
deletable: true,
356+
createdAt: post.date,
352357
createdBy: attachment.createdBy,
353358
postId: post.id,
354359
topicId: feed.id,
@@ -361,6 +366,7 @@ class AssetsInfoContainer extends React.Component {
361366
if (attachmentLinksPerFeed.length > 0) {
362367
attachmentLinks.push({
363368
title: feed.title,
369+
createdBy: feed.userId,
364370
children: attachmentLinksPerFeed
365371
})
366372
}

0 commit comments

Comments
 (0)