Skip to content

Commit 195c2a2

Browse files
author
vikasrohit
authored
Merge pull request #1265 from appirio-tech/dev
Promoting changes to production for release
2 parents 726c5a3 + 7c9155f commit 195c2a2

File tree

19 files changed

+166
-167
lines changed

19 files changed

+166
-167
lines changed

circle.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ compile:
1919

2020
deployment:
2121
development:
22-
branch: [dev, 'feature/back-forward-button-project-wizard']
22+
branch: dev
2323
owner: appirio-tech
2424
commands:
2525
- ./deploy.sh DEV
@@ -28,6 +28,11 @@ deployment:
2828
owner: appirio-tech
2929
commands:
3030
- ./deploy.sh TEST01
31+
test02:
32+
branch: test02
33+
owner: appirio-tech
34+
commands:
35+
- ./deploy.sh TEST02
3136
qa:
3237
branch: qa
3338
owner: appirio-tech

src/components/ActionCard/ActionCard.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class Header extends React.Component{
7575
<div className="portrait">
7676
&nbsp;
7777
</div>
78-
<div className="object">
78+
<div className="object topicBody">
7979
<div className="card-header">
8080
<div className="card-title">
8181
<div>{this.props.title}</div>

src/components/ActionCard/ActionCard.scss

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@
124124
&::before {
125125
content: " · ";
126126
}
127+
128+
a {
129+
color: $tc-gray-70;
130+
}
127131
}
128132

129133
.card-status {
@@ -132,13 +136,18 @@
132136
}
133137
}
134138

139+
.topicBody{
140+
width: calc(100% - 40px);
141+
}
142+
135143
.card-body {
136144
@include roboto;
137145
font-size: $tc-label-lg;
138146
color: $tc-gray-70;
139147
line-height: $base-unit*5;
140148
padding: 10px 0;
141149
word-break: break-word;
150+
overflow-x:auto;
142151

143152
&.comment-section {
144153
margin-bottom: -50px;

src/components/Feed/Feed.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class Feed extends React.Component {
7777
<div className="portrait">
7878
<Avatar avatarUrl={user.photoURL} userName={authorName} />
7979
</div>
80-
<div className="object">
80+
<div className="object topicBody">
8181
<div className="card-title">
8282
<div>{title}</div>
8383
{self && (

src/components/Home/Home.scss

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
padding-bottom: $base-unit*6;
7171
}
7272
.tc-btn{
73+
color: #cfe6ff;
7374
height:$base-unit*8;
7475
width: $base-unit*50;
7576
text-align: center;
@@ -79,6 +80,14 @@
7980
font-size: $tc-label-lg;
8081
display: block;
8182
margin-bottom: $base-unit * 4;
83+
&:hover {
84+
color:#ffffff;
85+
background-image: linear-gradient(#3996FF 0%, #127BF3 100%) !important;
86+
}
87+
&:active {
88+
color:#ffffff;
89+
background-image: linear-gradient(#3996FF 0%, #127BF3 100%) !important;
90+
}
8291
}
8392
}
8493
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
.loading-indicator {
22
height: 80%;
33
width: 100%;
4+
min-height: 70px;
5+
min-width: 70px;
46
background: 50% 50% no-repeat;
57
background-size: 70px 70px;
68
}

src/components/TopBar/ProjectsToolBar.js

Lines changed: 6 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
11
require('./ProjectsToolBar.scss')
22

33
import React, {PropTypes, Component} from 'react'
4+
import { Link } from 'react-router'
45
import { connect } from 'react-redux'
56
import cn from 'classnames'
67
import _ from 'lodash'
7-
import Modal from 'react-modal'
88
import { SearchBar } from 'appirio-tech-react-components'
99
import Filters from './Filters'
1010

11-
import ModalControl from '../ModalControl'
12-
import SVGIconImage from '../SVGIconImage'
13-
import CoderBot from '../CoderBot/CoderBot'
14-
import ProjectWizard from '../../projects/create/components/ProjectWizard'
15-
16-
import { createProjectWithStatus as createProjectAction } from '../../projects/actions/project'
1711
import { projectSuggestions, loadProjects } from '../../projects/actions/loadProjects'
1812
import {
1913
ROLE_CONNECT_COPILOT,
2014
ROLE_CONNECT_MANAGER,
21-
ROLE_ADMINISTRATOR,
22-
PROJECT_STATUS_IN_REVIEW
15+
ROLE_ADMINISTRATOR
2316
} from '../../config/constants'
2417

2518

@@ -28,18 +21,14 @@ class ProjectsToolBar extends Component {
2821
constructor(props) {
2922
super(props)
3023
this.state = {
31-
isCreateProjectModalVisible : false,
3224
errorCreatingProject: false,
3325
isFilterVisible: false
3426
}
3527
this.applyFilters = this.applyFilters.bind(this)
3628
this.toggleFilter = this.toggleFilter.bind(this)
37-
this.showCreateProjectDialog = this.showCreateProjectDialog.bind(this)
38-
this.hideCreateProjectDialog = this.hideCreateProjectDialog.bind(this)
3929
this.handleTermChange = this.handleTermChange.bind(this)
4030
this.handleSearch = this.handleSearch.bind(this)
4131
this.handleMyProjectsFilter = this.handleMyProjectsFilter.bind(this)
42-
this.createProject = this.createProject.bind(this)
4332
this.onLeave = this.onLeave.bind(this)
4433
}
4534

@@ -51,7 +40,6 @@ class ProjectsToolBar extends Component {
5140
this.setState({
5241
isProjectDirty : false
5342
}, () => {
54-
this.hideCreateProjectDialog()
5543
this.props.router.push('/projects/' + nextProps.project.id)
5644
})
5745
} else {
@@ -103,26 +91,6 @@ class ProjectsToolBar extends Component {
10391
this.applyFilters({memberOnly: event.target.checked})
10492
}
10593

106-
showCreateProjectDialog() {
107-
this.setState({
108-
isCreateProjectModalVisible : true
109-
})
110-
}
111-
112-
hideCreateProjectDialog() {
113-
let confirm = true
114-
if (this.state.isProjectDirty) {
115-
confirm = window.confirm('You have unsaved changes. Are you sure you want to leave?')
116-
}
117-
if (confirm === true) {
118-
this.setState({
119-
isProjectDirty: false,
120-
isCreateProjectModalVisible : false,
121-
errorCreatingProject: false
122-
})
123-
}
124-
}
125-
12694
applyFilters(filter) {
12795
const criteria = _.assign({}, this.props.criteria, filter)
12896
if (criteria && criteria.keyword) {
@@ -155,62 +123,27 @@ class ProjectsToolBar extends Component {
155123
this.props.loadProjects(criteria, page)
156124
}
157125

158-
createProject(project) {
159-
this.props.createProjectAction(project, PROJECT_STATUS_IN_REVIEW)
160-
}
161-
162126
shouldComponentUpdate(nextProps, nextState) {
163127
const { user, criteria, creatingProject, projectCreationError, searchTermTag } = this.props
164-
const { isCreateProjectModalVisible, errorCreatingProject, isFilterVisible } = this.state
128+
const { errorCreatingProject, isFilterVisible } = this.state
165129
return nextProps.user.handle !== user.handle
166130
|| JSON.stringify(nextProps.criteria) !== JSON.stringify(criteria)
167131
|| nextProps.creatingProject !== creatingProject
168132
|| nextProps.projectCreationError !== projectCreationError
169133
|| nextProps.searchTermTag !== searchTermTag
170-
|| nextState.isCreateProjectModalVisible !== isCreateProjectModalVisible
171134
|| nextState.errorCreatingProject !== errorCreatingProject
172135
|| nextState.isFilterVisible !== isFilterVisible
173136
}
174137

175138
render() {
176139
const { logo, userMenu, userRoles, criteria, isPowerUser } = this.props
177-
const { isCreateProjectModalVisible, errorCreatingProject, isFilterVisible } = this.state
140+
const { isFilterVisible } = this.state
178141
const isLoggedIn = userRoles && userRoles.length
179142

180143
const noOfFilters = _.keys(criteria).length - 1 // -1 for default sort criteria
181144

182145
return (
183146
<div className="ProjectsToolBar">
184-
<Modal
185-
isOpen={ isCreateProjectModalVisible }
186-
className="project-creation-dialog"
187-
overlayClassName="project-creation-dialog-overlay"
188-
onRequestClose={ this.hideCreateProjectDialog }
189-
contentLabel=""
190-
>
191-
<ModalControl
192-
className="escape-button"
193-
icon={<SVGIconImage filePath="x-mark" />}
194-
label="esc"
195-
onClick={ this.hideCreateProjectDialog }
196-
/>
197-
{ !errorCreatingProject &&
198-
<ProjectWizard
199-
showModal={ false }
200-
processing={ this.props.creatingProject }
201-
createProject={ this.createProject }
202-
closeModal={ this.hideCreateProjectDialog }
203-
userRoles={ userRoles }
204-
onProjectUpdate={ (updatedProject, dirty=true) => {
205-
this.setState({
206-
isProjectDirty: dirty
207-
})
208-
}
209-
}
210-
/>
211-
}
212-
{ errorCreatingProject && <CoderBot code={ 500 } message="Unable to create project" />}
213-
</Modal>
214147
<div className="primary-toolbar">
215148
{ logo }
216149
{
@@ -240,7 +173,7 @@ class ProjectsToolBar extends Component {
240173
{
241174
!!isLoggedIn &&
242175
<div>
243-
<a onClick={ this.showCreateProjectDialog } href="javascript:" className="tc-btn tc-btn-sm tc-btn-primary">+ New Project</a>
176+
<Link to="/new-project" className="tc-btn tc-btn-sm tc-btn-primary">+ New Project</Link>
244177
</div>
245178
}
246179
{ userMenu }
@@ -289,6 +222,6 @@ const mapStateToProps = ({ projectSearchSuggestions, searchTerm, projectSearch,
289222
}
290223
}
291224

292-
const actionsToBind = { projectSuggestions, loadProjects, createProjectAction }
225+
const actionsToBind = { projectSuggestions, loadProjects }
293226

294227
export default connect(mapStateToProps, actionsToBind)(ProjectsToolBar)

src/config/projectWizard/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ const products = {
116116
details: 'Translate designs to a web (HTML/CSS/JavaScript) or mobile prototype',
117117
icon: 'product-dev-prototype',
118118
id: 'visual_prototype',
119-
aliases: ['visual-prototype','visual_prototype'],
119+
aliases: ['visual-prototype', 'visual_prototype'],
120120
disabled: true
121121
},
122122
'Front-end': {

src/projects/create/components/FillProjectDetails.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import _ from 'lodash'
22
import React, { PropTypes as PT, Component } from 'react'
3-
import { Link } from 'react-router'
43
import Sticky from 'react-stickynode'
54

65
import config from '../../../config/projectWizard'
7-
import SVGIconImage from '../../../components/SVGIconImage'
86
import './FillProjectDetails.scss'
97
import ProjectBasicDetailsForm from '../components/ProjectBasicDetailsForm'
108
import ProjectOutline from '../components/ProjectOutline'
@@ -34,9 +32,7 @@ class FillProjectDetails extends Component {
3432
}
3533

3634
render() {
37-
const { project, dirtyProject, processing, submitBtnText, userRoles } = this.props
38-
const isLoggedIn = userRoles && userRoles.length
39-
const logoTargetUrl = isLoggedIn ? '/projects' : '/'
35+
const { project, dirtyProject, processing, submitBtnText } = this.props
4036
const product = _.get(project, 'details.products[0]')
4137
const projectTypeId = _.get(project, 'type')
4238
const subConfig = config[_.findKey(config, {id : projectTypeId})]
@@ -49,8 +45,6 @@ class FillProjectDetails extends Component {
4945
return (
5046
<div className="FillProjectDetailsWrapper">
5147
<div className="header headerFillProjectDetails">
52-
{ !isLoggedIn && <Link className="logo" to={logoTargetUrl} target="_self"><SVGIconImage filePath="connect-logo-mono" className="connectLogo"/></Link>}
53-
{ !isLoggedIn && <button className="tc-btn tc-btn-default tc-btn-sm" onClick={ this.props.onChangeProjectType }><SVGIconImage filePath="arrows-undo" />Change project type</button> }
5448
</div>
5549
<div className="FillProjectDetails">
5650
<div className="header">

src/projects/create/components/IncompleteProjectConfirmation.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
import React, { PropTypes as PT } from 'react'
2-
import { Link } from 'react-router'
32
import SVGIconImage from '../../../components/SVGIconImage'
43
import './IncompleteProjectConfirmation.scss'
54

6-
function IncompleteProjectConfirmation({ loadIncompleteProject, removeIncompleteProject, userRoles }) {
7-
const isLoggedIn = userRoles && userRoles.length
8-
const logoTargetUrl = isLoggedIn ? '/projects' : '/'
5+
function IncompleteProjectConfirmation({ loadIncompleteProject, removeIncompleteProject }) {
6+
// const isLoggedIn = userRoles && userRoles.length
97
return (
108
<div className="IncompleteProjectConfirmation">
119
<div className="header">
12-
{ !isLoggedIn && <Link className="logo" to={logoTargetUrl} target="_self"><SVGIconImage filePath="connect-logo-mono" className="connectLogo"/></Link>}
10+
<SVGIconImage filePath="connect-logo-mono" className="connectLogo"/>
1311
</div>
1412
<h3>Welcome back!</h3>
1513
<h5>You started a project with us recently.</h5>

0 commit comments

Comments
 (0)