Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mytime
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Narendar Vakiti
mytime
Commits
64c64bd4
Commit
64c64bd4
authored
Jul 19, 2018
by
mduppanapudi-nisum-com
Committed by
tdutta-nisum-com
Jul 19, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge conflict and reverting Mt-49 scrollIssue (#23)
parent
27a29b2e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
558 additions
and
392 deletions
+558
-392
ProjectController.js
src/main/webapp/WEB-INF/controllers/ProjectController.js
+230
-37
default-styles.css
src/main/webapp/WEB-INF/css/default-styles.css
+212
-174
newProject.html
src/main/webapp/WEB-INF/templates/newProject.html
+116
-181
No files found.
src/main/webapp/WEB-INF/controllers/ProjectController.js
View file @
64c64bd4
...
...
@@ -14,13 +14,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope
.
managers
=
[];
//code added
$window
.
addEventListener
(
'click'
,
function
(
e
)
{
if
(
e
.
target
.
type
!==
'search'
)
{
$mdSelect
.
hide
();
}
});
...
...
@@ -38,7 +32,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
pageSize
:
10
,
enableFiltering
:
true
,
columnDefs
:
[
{
field
:
'projectId'
,
displayName
:
'Project ID'
,
enableColumnMenu
:
false
,
enableSorting
:
false
,
enableFiltering
:
false
,
width
:
120
,
},
{
field
:
'projectId'
,
displayName
:
'Project ID'
,
enableColumnMenu
:
false
,
enableSorting
:
false
,
enableFiltering
:
false
,
width
:
120
},
{
field
:
'projectName'
,
displayName
:
'Project '
,
enableColumnMenu
:
false
,
enableSorting
:
true
,
enableFiltering
:
true
},
{
field
:
'account'
,
displayName
:
'Account '
,
enableColumnMenu
:
false
,
enableSorting
:
true
,
enableFiltering
:
true
},
//{field : 'managerId',displayName: 'Manager ID ', enableColumnMenu: false, enableSorting: false},
...
...
@@ -263,12 +257,19 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
function
AddProjectController
(
$scope
,
$mdDialog
,
dataToPass
,
gridOptionsData
,
managers
)
{
function
AddProjectController
(
$scope
,
$mdDialog
,
dataToPass
,
gridOptionsData
,
managers
,
$window
,
$mdSelect
)
{
$scope
.
templateTitle
=
dataToPass
.
action
;
$scope
.
alertMsg
=
""
;
$scope
.
isDisabled
=
false
;
$scope
.
result
=
""
;
$scope
.
managerDetails
=
managers
;
$scope
.
employee
;
$scope
.
projectModel
;
$scope
.
isSecondTab
=
false
;
$scope
.
prjctStses
=
[
"Active"
,
"Completed"
,
"On Hold"
,
"Proposed"
];
$scope
.
billableStatuses
=
[
"Billable"
,
"Shadow"
,
"Non-Billable"
,
"Reserved"
];
$scope
.
accounts
=
myFactory
.
getAccounts
();
$scope
.
selectedTab
=
0
;
$scope
.
managersSelectedList
=
[];
$scope
.
employeeInTeam
=
[];
// code added
...
...
@@ -281,9 +282,43 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
var
re
=
new
RegExp
(
$scope
.
searchTerm
,
'i'
);
return
!
$scope
.
searchTerm
||
re
.
test
(
obj
.
employeeName
);
};
$scope
.
addTab
=
function
()
{
if
(
$scope
.
isSecondTab
===
false
){
$scope
.
templateTitle
=
"Add"
;
document
.
getElementsByClassName
(
"md-tab"
)[
1
].
style
.
visibility
=
"visible"
;
$scope
.
isSecondTab
=
true
;
$scope
.
selectedTab
=
1
;
}
};
var
removeTab
=
function
(
action
)
{
if
(
action
==
"Add"
){
if
(
$scope
.
isSecondTab
===
true
){
$
(
'.md-select-value'
)[
0
].
childNodes
[
0
].
innerHTML
=
null
$
(
'.md-select-value'
)[
1
].
childNodes
[
0
].
innerHTML
=
null
$
(
'.md-datepicker-input'
)[
0
].
value
=
null
;
$
(
'.md-datepicker-input'
)[
1
].
value
=
null
;
$
(
'.md-datepicker-input'
)[
2
].
value
=
null
;
$scope
.
employeeModel
=
{};
}
}
$scope
.
selectedTab
=
0
;
document
.
getElementsByClassName
(
"md-tab"
)[
1
].
style
.
visibility
=
"hidden"
;
$scope
.
isSecondTab
=
!
$scope
.
isSecondTab
;
};
$window
.
addEventListener
(
'click'
,
function
(
e
)
{
if
(
e
.
target
.
type
!==
'search'
)
{
$mdSelect
.
hide
();
}
});
// code added
$scope
.
prjctStses
=
[
"Active"
,
"Completed"
,
"On Hold"
,
"Proposed"
];
$scope
.
clearSearchTerm
=
function
()
{
console
.
log
(
$scope
.
managersSelectedList
);
...
...
@@ -310,8 +345,19 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
})
return
$scope
.
employeeInTeam
;
}
$scope
.
accounts
=
myFactory
.
getAccounts
();
$scope
.
getEmployeeDetails
=
function
(){
$http
({
method
:
"GET"
,
url
:
appConfig
.
appUri
+
"projectTeam/getEmployeesToTeam"
}).
then
(
function
mySuccess
(
response
)
{
$scope
.
employeeList
=
response
.
data
;
},
function
myError
(
response
)
{
showAlert
(
"Something went wrong while fetching data!!!"
);
});
};
if
(
dataToPass
.
action
==
"Assign"
)
{
$scope
.
projectId
=
""
;
$scope
.
projectName
=
""
;
...
...
@@ -341,9 +387,21 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
else
if
(
dataToPass
.
action
==
"View"
)
{
$scope
.
projectId
=
dataToPass
.
projectId
;
$scope
.
projectName
=
dataToPass
.
projectName
;
$scope
.
account
=
dataToPass
.
account
;
$scope
.
managerId
=
dataToPass
.
managerId
;
$scope
.
managerName
=
dataToPass
.
managerName
;
$scope
.
projectStatus
=
dataToPass
.
status
;
$scope
.
domain
=
dataToPass
.
domain
;
$scope
.
managerModel
=
{
'employeeName'
:
dataToPass
.
managerName
,
'employeeId'
:
dataToPass
.
managerId
};
$scope
.
projectModel
=
{
'projectName'
:
dataToPass
.
projectName
,
'projectId'
:
dataToPass
.
projectId
};
var
employeeModel
=
$scope
.
employeeModel
;
var
getCellActiveTemplate
=
'<div ng-show="COL_FIELD==true"><p class="col-lg-12">Y</P></div><div ng-show="COL_FIELD==false"><p class="col-lg-12">N</p></div>'
;
$scope
.
gridOptions
=
{
paginationPageSizes
:
[
10
,
20
,
30
,
40
,
50
,
100
],
...
...
@@ -370,6 +428,13 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
showAlert
(
"Something went wrong while fetching data!!!"
);
$scope
.
gridOptions
.
data
=
[];
});
document
.
addEventListener
(
"DOMSubtreeModified"
,
function
(
e
)
{
if
(
document
.
getElementsByClassName
(
"md-tab"
)[
1
]
&&
(
document
.
getElementsByClassName
(
"md-tab"
)[
1
].
style
.
visibility
===
""
)){
document
.
getElementsByClassName
(
"md-tab"
)[
1
].
style
.
visibility
=
"hidden"
;
}
},
false
);
}
else
if
(
dataToPass
.
action
==
"UnAssigned"
)
{
$scope
.
gridOptions
=
{
paginationPageSizes
:
[
10
,
20
,
30
,
40
,
50
,
100
],
...
...
@@ -543,55 +608,153 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
return
false
;
}
$scope
.
getSelected
=
function
()
{
return
null
;
if
(
$scope
.
managersSelectedList
.
length
>
0
)
{
return
null
;
}
else
{
return
"Please select a lead"
;
}
}
$scope
.
validateFields
=
function
()
{
$scope
.
currentBillabilityDateChange
=
function
(){
$scope
.
startDate
=
$scope
.
newBillingStartDate
;
}
$scope
.
validateFields
=
function
(
action
)
{
var
project
=
$scope
.
projectId
;
var
projectName
=
$scope
.
projectName
;
var
managerModel
=
$scope
.
managerModel
;
var
account
=
$scope
.
account
;
var
managerId
=
$scope
.
managerId
;
var
managerName
=
$scope
.
managerName
;
var
employeeModel
=
$scope
.
employeeModel
;
var
projectModel
=
$scope
.
projectModel
;
var
domain
=
$scope
.
domain
;
var
newBillingStartDate
=
$scope
.
newBillingStartDate
if
(
action
===
"Add"
){
if
(
employeeModel
==
undefined
){
$scope
.
alertMsg
=
"Please select a employee"
;
angular
.
element
(
document
.
getElementById
(
'selectEmp'
)).
focus
();
}
else
if
(
$scope
.
empBillableStatus
==
undefined
){
$scope
.
alertMsg
=
"Please select a billable status"
;
angular
.
element
(
document
.
getElementById
(
'empBillableStatus'
)).
focus
();
}
else
if
(
$scope
.
startDate
==
undefined
)
{
$scope
.
alertMsg
=
"Please select Start Date"
;
angular
.
element
(
document
.
getElementById
(
'startDate'
)).
focus
();
}
else
if
(
$scope
.
endDate
==
undefined
)
{
$scope
.
alertMsg
=
"Please select End Date"
;
angular
.
element
(
document
.
getElementById
(
'endDate'
)).
focus
();
}
else
if
(
$scope
.
newBillingStartDate
==
undefined
){
$scope
.
alertMsg
=
"Please select new Billing StartDate"
;
angular
.
element
(
document
.
getElementById
(
'newBillingStartDate'
)).
focus
();
}
else
if
(
$scope
.
newBillingStartDate
>
$scope
.
endDate
){
$scope
.
alertMsg
=
"Assignment End Date should be less than Current Billability Start Date "
;
}
else
if
(
employeeModel
!=
undefined
&&
projectModel
!=
undefined
&&
getExistingRecordProjectStatus
(
employeeModel
.
employeeId
,
projectModel
.
projectName
)){
$scope
.
alertMsg
=
"Employee is already assigned to the selected project"
;
return
false
;
}
else
{
$scope
.
alertMsg
=
""
;
var
record
=
{
"employeeId"
:
employeeModel
.
employeeId
,
"employeeName"
:
employeeModel
.
employeeName
,
"emailId"
:
employeeModel
.
emailId
,
"designation"
:
employeeModel
.
designation
,
"projectId"
:
project
,
"projectName"
:
projectName
,
"managerId"
:
managerId
,
"managerName"
:
managerName
,
"mobileNumber"
:
employeeModel
.
mobileNumber
,
"active"
:
true
,
"billableStatus"
:
$scope
.
empBillableStatus
,
"startDate"
:
$scope
.
startDate
,
"endDate"
:
$scope
.
endDate
,
"account"
:
account
,
"newBillingStartDate"
:
newBillingStartDate
};
addRecord
(
record
,
action
);
$timeout
(
function
(){
updateGrid
(
'Add'
,
record
);
removeTab
(
'Add'
);
$mdDialog
.
show
(
$mdDialog
.
alert
({
skipHide
:
true
,
textContent
:
'Employee Added'
,
ok
:
'ok'
}));
},
500
);
}
}
// if(project == ""){
// $scope.alertMsg = "Project ID is mandatory";
// document.getElementById('projectId').focus();
// }else
if
(
projectName
==
""
)
{
$scope
.
alertMsg
=
"Project Name is mandatory"
;
document
.
getElementById
(
'projectName'
).
focus
();
}
else
if
(
account
==
undefined
||
account
==
""
)
{
$scope
.
alertMsg
=
"Account is mandatory"
;
document
.
getElementById
(
'account'
).
focus
();
}
else
if
(
domain
==
undefined
||
domain
==
""
)
{
$scope
.
alertMsg
=
"Domain is mandatory"
;
document
.
getElementById
(
'domain'
).
focus
();
}
// else if(managerModel == undefined){
// $scope.alertMsg = "Please select a Lead";
// }
else
{
$scope
.
alertMsg
=
""
;
console
.
log
(
getSelectedLead
());
var
record
=
{
"projectId"
:
$scope
.
projectId
,
"projectName"
:
$scope
.
projectName
,
"managerIds"
:
getSelectedLead
(),
"status"
:
$scope
.
projectStatus
,
"account"
:
$scope
.
account
.
accountName
,
"domain"
:
$scope
.
domain
};
addOrUpdateProject
(
record
,
$scope
.
templateTitle
);
$timeout
(
function
()
{
updateGrid
(
$scope
.
templateTitle
,
record
)
},
500
);
else
{
if
(
projectName
==
""
)
{
$scope
.
alertMsg
=
"Project Name is mandatory"
;
document
.
getElementById
(
'projectName'
).
focus
();
}
else
if
(
account
==
undefined
||
account
==
""
)
{
$scope
.
alertMsg
=
"Account is mandatory"
;
document
.
getElementById
(
'account'
).
focus
();
}
else
if
(
domain
==
undefined
||
domain
==
""
)
{
$scope
.
alertMsg
=
"Domain is mandatory"
;
document
.
getElementById
(
'domain'
).
focus
();
}
// else if(managerModel == undefined){
// $scope.alertMsg = "Please select a Lead";
// }
else
{
$scope
.
alertMsg
=
""
;
console
.
log
(
getSelectedLead
());
var
record
=
{
"projectId"
:
$scope
.
projectId
,
"projectName"
:
$scope
.
projectName
,
"managerIds"
:
getSelectedLead
(),
"status"
:
$scope
.
projectStatus
,
"account"
:
$scope
.
account
.
accountName
,
"domain"
:
$scope
.
domain
};
addOrUpdateProject
(
record
,
$scope
.
templateTitle
);
$timeout
(
function
()
{
updateGrid
(
$scope
.
templateTitle
,
record
)
},
500
);
}
}
};
$scope
.
cancel
=
function
()
{
$mdDialog
.
hide
(
'Cancelled'
);
};
$scope
.
cancelDialog
=
function
()
{
$mdDialog
.
hide
(
'Cancelled'
);
};
$scope
.
cancelTab
=
function
()
{
removeTab
(
"cancel"
);
};
$scope
.
getEmployeeSelected
=
function
(){
if
(
$scope
.
employeeModel
!==
undefined
)
{
$scope
.
employee
=
$scope
.
employeeModel
;
return
$scope
.
employeeModel
.
employeeName
;
}
else
{
return
"Please select a employee"
;
}
};
// $scope.getProjectSelected = function(){
// if ($scope.projectModel !== undefined) {
// $scope.project=$scope.projectModel;
// return $scope.projectModel.projectName;
// } else {
// return "Please select a project";
// }
// };
$scope
.
getSelectedBillableStatus
=
function
(){
if
(
$scope
.
empBillableStatus
!==
undefined
)
{
return
$scope
.
empBillableStatus
;
}
else
{
return
"Please select a billable status"
;
}
};
function
updateGrid
(
action
,
record
)
{
if
(
$scope
.
alertMsg
==
""
)
{
if
(
$scope
.
result
==
"Success"
)
{
if
(
action
==
"Assign"
)
{
gridOptionsData
.
push
(
record
);
$mdDialog
.
hide
(
action
);
}
else
if
(
action
==
"Update"
)
{
var
existingRecord
=
getRowEntity
(
$scope
.
projectId
);
var
index
=
gridOptionsData
.
indexOf
(
existingRecord
);
gridOptionsData
[
index
]
=
record
;
$mdDialog
.
hide
(
action
);
}
else
if
(
action
==
"Add"
){
$scope
.
gridOptions
.
data
.
push
(
record
);
}
$mdDialog
.
hide
(
action
);
}
else
{
$mdDialog
.
hide
(
"Error"
);
}
...
...
@@ -599,6 +762,25 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
}
function
addRecord
(
record
,
action
){
var
urlRequest
=
""
;
urlRequest
=
appConfig
.
appUri
+
"projectTeam/addEmployeeToTeam"
;
var
req
=
{
method
:
'POST'
,
url
:
urlRequest
,
headers
:
{
"Content-type"
:
"application/json"
},
data
:
record
}
$http
(
req
).
then
(
function
mySuccess
(
response
)
{
$scope
.
result
=
"Success"
;
$scope
.
objectId
=
response
.
data
.
id
;
},
function
myError
(
response
){
$scope
.
result
=
"Error"
;
});
}
function
addOrUpdateProject
(
record
,
action
)
{
var
urlRequest
=
""
;
...
...
@@ -630,5 +812,16 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
}
}
function
getExistingRecordProjectStatus
(
empId
,
projectName
){
for
(
var
i
=
0
;
i
<
$scope
.
gridOptions
.
data
.
length
;
i
++
){
var
record
=
$scope
.
gridOptions
.
data
[
i
];
if
(
record
.
employeeId
==
empId
){
if
(
record
.
active
==
true
&&
record
.
projectName
==
projectName
)
return
true
;
}
}
return
false
;
}
}
});
src/main/webapp/WEB-INF/css/default-styles.css
View file @
64c64bd4
#header
{
width
:
100%
;
height
:
8%
;
background-color
:
darkslategray
;
}
#sidebar-left
{
float
:
left
;
width
:
20%
;
height
:
87.5%
;
}
#main
{
float
:
left
;
width
:
80%
;
height
:
87.5%
;
background-color
:
floralwhite
;
margin-left
:
-7px
;
}
#footer
{
height
:
8%
;
width
:
100%
;
}
.myGrid
{
width
:
98.5%
;
height
:
300px
;
margin-left
:
5px
;
}
#gridTest
,
#gridTest1
.ui-grid-cell-contents
{
text-align
:
center
;
}
.watermark
{
position
:
absolute
;
top
:
50%
;
transform
:
translateY
(
-50%
);
opacity
:
0.75
;
width
:
100%
;
text-align
:
center
;
z-index
:
1000
;
}
.md-button
{
text-transform
:
capitalize
!important
;
}
.carousel-indicators
li
{
background-color
:
orange
;
border-color
:
#ff9200
;
}
.carousel-indicators
.active
{
background-color
:
orange
;
border-color
:
#ff9200
;
}
md-dialog
{
margin-left
:
15%
;
}
.navbar-inverse
{
background-color
:
darkslategray
;
border-color
:
darkslategray
;
color
:
#fff
;
}
.navbar-inverse
.navbar-nav
>
.dropdown
>
a
.caret
{
border-top-color
:
#fff
;
border-bottom-color
:
#fff
;
}
.navbar-inverse
.navbar-nav
>
.active
>
a
,
.navbar-inverse
.navbar-nav
>
.active
>
a
:hover
,
.navbar-inverse
.navbar-nav
>
.active
>
a
:focus
{
color
:
#fff
;
background-color
:
darkslategray
;
}
.mainDivHeaderClass
{
text-align
:
center
;
background
:
cadetblue
;
color
:
floralwhite
;
border-radius
:
5px
;
}
.dropdown-menu
{
position
:
absolute
;
top
:
100%
;
left
:
0
;
z-index
:
1000
;
display
:
none
;
float
:
left
;
width
:
290px
;
height
:
261px
;
padding
:
0
;
margin
:
0
;
list-style
:
none
;
background-color
:
transparent
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.15
);
border-radius
:
5px
;
-webkit-box-shadow
:
0
6px
6px
rgba
(
0
,
0
,
0
,
0.175
);
box-shadow
:
0
6px
6px
rgba
(
0
,
0
,
0
,
0.175
);
background-clip
:
padding-box
;
}
.autoComplete-dropdown
{
font
:
inherit
;
border-color
:
#ececec
;
border-width
:
1px
;
width
:
206px
;
cursor
:
pointer
;
position
:
absolute
;
z-index
:
9999
;
top
:
35px
;
overflow-y
:
auto
;
max-height
:
206px
;
}
.selectHeader
{
Please
note
:
All
these
selectors
are
only
applied
to
children
of
elements
with
the
'selectdemoSelectHeader'
class
}
.selectHeader
.searchBoxHeader
{
border
:
none
;
outline
:
none
;
}
.selectHeader
.selectHeaderChild
{
box-shadow
:
0
1px
0
0
rgba
(
0
,
0
,
0
,
0.1
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.14
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.12
);
padding-left
:
10.667px
;
height
:
48px
;
cursor
:
pointer
;
position
:
relative
;
display
:
flex
;
width
:
auto
;
position
:
fixed
;
z-index
:
10
;
background
:
white
;
width
:
100%
;
}
.optionScroll
{
margin-top
:
50px
;
}
.selectHeader
.md-content._md
{
max-height
:
240px
;
}
.md-dialog-container
{
z-index
:
100
!important
;
}
.md-select-menu-container
{
z-index
:
100
!important
;
}
/* Styles added*/
.selectdemoSelectHeader
{
/* Please note: All these selectors are only applied to children of elements with the 'selectdemoSelectHeader' class */
}
.selectdemoSelectHeader
.demo-header-searchbox
{
border
:
none
;
outline
:
none
;
height
:
100%
;
width
:
100%
;
padding
:
0
;
}
.selectdemoSelectHeader
.demo-select-header
{
box-shadow
:
0
1px
0
0
rgba
(
0
,
0
,
0
,
0.1
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.14
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.12
);
padding-left
:
10.667px
;
height
:
48px
;
cursor
:
pointer
;
position
:
relative
;
display
:
flex
;
align-items
:
center
;
width
:
auto
;
}
.selectdemoSelectHeader
md-content
._md
{
max-height
:
240px
;
}
.leads-data
{
border
:
1px
solid
#ccc
;
padding
:
5px
10px
;
float
:
left
;
width
:
100%
;}
.leads-data
p
{
float
:
left
;
width
:
auto
;
background
:
#ccc
;
margin-right
:
5px
;
padding
:
2px
2px
;}
.close-mdselect
{
right
:
9px
;
position
:
absolute
;
top
:
17px
;}
.search-spacingleft
{
height
:
48px
!important
;
padding-left
:
5px
;}
.header-spacing
{
padding-left
:
0px
!important
;}
/* Styles added*/
\ No newline at end of file
width
:
100%
;
height
:
8%
;
background-color
:
darkslategray
;
}
#sidebar-left
{
float
:
left
;
width
:
20%
;
height
:
87.5%
;
}
#main
{
float
:
left
;
width
:
80%
;
height
:
87.5%
;
background-color
:
floralwhite
;
margin-left
:
-7px
;
}
#footer
{
height
:
8%
;
width
:
100%
;
}
.myGrid
{
width
:
98.5%
;
height
:
300px
;
margin-left
:
5px
;
}
#gridTest
,
#gridTest1
.ui-grid-cell-contents
{
text-align
:
center
;
}
.watermark
{
position
:
absolute
;
top
:
50%
;
transform
:
translateY
(
-50%
);
opacity
:
0.75
;
width
:
100%
;
text-align
:
center
;
z-index
:
1000
;
}
.md-button
{
text-transform
:
capitalize
!important
;
}
.carousel-indicators
li
{
background-color
:
orange
;
border-color
:
#ff9200
;
}
.carousel-indicators
.active
{
background-color
:
orange
;
border-color
:
#ff9200
;
}
md-dialog
{
margin-left
:
15%
;
}
.navbar-inverse
{
background-color
:
darkslategray
;
border-color
:
darkslategray
;
color
:
#fff
;
}
.navbar-inverse
.navbar-nav
>
.dropdown
>
a
.caret
{
border-top-color
:
#fff
;
border-bottom-color
:
#fff
;
}
.navbar-inverse
.navbar-nav
>
.active
>
a
,
.navbar-inverse
.navbar-nav
>
.active
>
a
:hover
,
.navbar-inverse
.navbar-nav
>
.active
>
a
:focus
{
color
:
#fff
;
background-color
:
darkslategray
;
}
.mainDivHeaderClass
{
text-align
:
center
;
background
:
cadetblue
;
color
:
floralwhite
;
border-radius
:
5px
;
}
.dropdown-menu
{
position
:
absolute
;
top
:
100%
;
left
:
0
;
z-index
:
1000
;
display
:
none
;
float
:
left
;
width
:
290px
;
height
:
261px
;
padding
:
0
;
margin
:
0
;
list-style
:
none
;
background-color
:
transparent
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.15
);
border-radius
:
5px
;
-webkit-box-shadow
:
0
6px
6px
rgba
(
0
,
0
,
0
,
0.175
);
box-shadow
:
0
6px
6px
rgba
(
0
,
0
,
0
,
0.175
);
background-clip
:
padding-box
;
}
.autoComplete-dropdown
{
font
:
inherit
;
border-color
:
#ececec
;
border-width
:
1px
;
width
:
206px
;
cursor
:
pointer
;
position
:
absolute
;
z-index
:
9999
;
top
:
35px
;
overflow-y
:
auto
;
max-height
:
206px
;
}
.selectHeader
{
Please
note
:
All
these
selectors
are
only
applied
to
children
of
elements
with
the
'selectdemoSelectHeader'
class
}
.selectHeader
.searchBoxHeader
{
border
:
none
;
outline
:
none
;
}
.selectHeader
.selectHeaderChild
{
box-shadow
:
0
1px
0
0
rgba
(
0
,
0
,
0
,
0.1
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.14
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.12
);
padding-left
:
10.667px
;
height
:
48px
;
cursor
:
pointer
;
position
:
relative
;
display
:
flex
;
width
:
auto
;
position
:
fixed
;
z-index
:
10
;
background
:
white
;
width
:
100%
;
}
.optionScroll
{
margin-top
:
50px
;
}
.selectHeader
.md-content._md
{
max-height
:
240px
;
}
.md-dialog-container
{
z-index
:
100
!important
;
}
.md-select-menu-container
{
z-index
:
100
!important
;
}
.md-dialog-custom-height
{
max-height
:
95%
!important
;
}
.md-content
{
height
:
1100px
!important
;
}
.selectdemoSelectHeader
.demo-header-searchbox
{
border
:
none
;
outline
:
none
;
height
:
100%
;
width
:
100%
;
padding
:
0
;
}
.selectdemoSelectHeader
.demo-select-header
{
box-shadow
:
0
1px
0
0
rgba
(
0
,
0
,
0
,
0.1
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.14
),
0
0
0
0
rgba
(
0
,
0
,
0
,
0.12
);
padding-left
:
10.667px
;
height
:
48px
;
cursor
:
pointer
;
position
:
relative
;
display
:
flex
;
align-items
:
center
;
width
:
auto
;
}
.selectdemoSelectHeader
md-content
._md
{
max-height
:
240px
;
}
.leads-data
{
border
:
1px
solid
#ccc
;
padding
:
5px
10px
;
float
:
left
;
width
:
100%
;
}
.leads-data
p
{
float
:
left
;
width
:
auto
;
background
:
#ccc
;
margin-right
:
5px
;
padding
:
2px
2px
;
}
.close-mdselect
{
right
:
9px
;
position
:
absolute
;
top
:
17px
;
}
.search-spacingleft
{
height
:
48px
!important
;
padding-left
:
5px
;
}
.header-spacing
{
padding-left
:
0px
!important
;
}
/* Styles added*/
src/main/webapp/WEB-INF/templates/newProject.html
View file @
64c64bd4
<md-dialog
aria-label=
"Role Template"
style=
"width:520px;height:450px;"
>
<form
ng-cloak
name=
"myForm"
>
<md-toolbar>
<div
class=
"md-toolbar-tools"
style=
"background: cadetblue;"
>
<h2>
{{templateTitle}} Project
</h2>
<span
flex
></span>
<md-button
class=
"md-icon-button"
ng-click=
"cancel()"
>
<i
class=
"fa fa-times fa-2x"
style=
"margin-top: 5px; font-size: 1.5em; float: left"
></i>
</md-button>
</div>
</md-toolbar>
<md-dialog-content>
<div
class=
"md-dialog-content"
>
<div
class=
"form-group"
>
<div
class=
"row"
>
<table
width=
"450px"
>
<tr>
<td
colspan=
"4"
>
<b>
Project ID
</b>
</td>
<td
colspan=
"8"
>
<input
type=
"text"
class=
"form-control"
id=
"projectId"
name=
"projectId"
ng-model=
"projectId"
placeholder=
"Project Id Auto Generates"
ng-blur=
""
ng-disabled=
"true"
/>
</td>
<tr>
<td
colspan=
"4"
>
<b>
Project Name
</b>
</td>
<td
colspan=
"8"
>
<input
type=
"text"
class=
"form-control"
id=
"projectName"
name=
"projectName"
ng-model=
"projectName"
placeholder=
"Project Name"
/>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Account
</b>
</td>
<td
colspan=
"8"
>
<md-select
ng-model=
"account"
md-selected-text=
"getAccountText()"
id=
"account"
>
<md-optgroup
label=
"account"
>
<md-option
ng-value=
"account1"
ng-repeat=
"account1 in accounts"
>
{{account1.accountName}}
</md-option>
</md-optgroup>
</md-select>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Domain
</b>
</td>
<td
colspan=
"8"
>
<md-select
ng-model=
"domain"
md-selected-text=
"getDomainText()"
id=
"domain"
>
<md-optgroup
label=
"domain"
>
<md-option
ng-value=
"domain"
ng-repeat=
"domain in account.subDomains"
>
{{domain}}
</md-option>
</md-optgroup>
</md-select>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Lead
</b>
</td>
<!-- <td colspan="8"><md-select ng-model="managerModel" md-selected-text="getManagers()" >
<md-optgroup label="managers"> <md-option<< ng-value="manager"
ng-repeat="manager in managerDetails">{{manager.employeeName}}</md-option> </md-optgroup> </md-select>
</td> -->
<td
id=
"lead"
>
<div
class=
"leads-data"
ng-show=
"managersSelectedList.length > 0"
>
<div
ng-repeat=
"item in managersSelectedList"
>
<p>
{{item.employeeName}}
<span
ng-click=
"removeSelectedLead(item)"
class=
"glyphicon glyphicon-remove"
></span>
</p>
</div>
</div>
<md-input-container
style=
"display: block; float: left; width: 100%;"
>
<label>
Lead
</label>
<md-select
class=
"lead-search"
ng-model=
"managersSelectedList"
data-md-container-class=
"selectHeader"
md-selected-text=
"getSelected()"
multiple
>
<md-select-header
class=
"selectHeaderChild header-spacing"
layout=
"column"
>
<input
ng-model=
"searchTerm"
type=
"search"
ng-keydown=
"updateSearch($event)"
ng-model-options=
"{debounce: {'default': 500, 'blur': 0}}"
placeholder=
"Please Search for a lead"
class=
"demo-header-searchbox md-text search-spacingleft"
/>
<span
class=
"glyphicon glyphicon-remove close-mdselect"
ng-click=
"closeSelectBox()"
></span>
</md-select-header>
<md-optgroup
label=
"managers"
class=
"optionScroll"
>
<md-option
ng-value=
"manager"
ng-repeat=
"manager in managerDetails | filter:searchTerm"
>
{{manager.employeeName}}
</md-option>
</md-optgroup>
</md-select>
</md-input-container>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Project Status
</b>
</td>
<td
colspan=
"8"
>
<md-select
ng-model=
"projectStatus"
md-selected-text=
"getProjectStatus()"
id=
"projectStatus"
>
<md-optgroup
label=
"projectStatus"
>
<md-option
ng-value=
"prjctSts"
ng-repeat=
"prjctSts in prjctStses"
>
{{prjctSts}}
</md-option>
</md-optgroup>
</md-select>
</td>
</tr>
</table>
<div
role=
"alert"
>
<span
class=
"error"
style=
"color: red;"
>
{{alertMsg}}
</span>
</div>
</div>
</div>
</div>
</md-dialog-content>
<md-dialog-actions
layout=
"row"
>
<md-button
class=
"md-raised"
data-ng-click=
"validateFields()"
style=
"width:120px;background: cadetblue;color:white;"
>
{{templateTitle}}
</md-button>
<md-button
class=
"md-raised"
ng-click=
"cancel()"
style=
"width:120px;background: cadetblue;color:white;"
>
Cancel
</md-button>
</md-dialog-actions>
</form>
<form
ng-cloak
name=
"myForm"
>
<md-toolbar>
<div
class=
"md-toolbar-tools"
style=
"background: cadetblue;"
>
<h2>
{{templateTitle}} Project
</h2>
<span
flex
></span>
<md-button
class=
"md-icon-button"
ng-click=
"cancel()"
>
<i
class=
"fa fa-times fa-2x"
style=
"margin-top: 5px; font-size: 1.5em; float: left"
></i>
</md-button>
</div>
</md-toolbar>
<md-dialog-content>
<div
class=
"md-dialog-content"
>
<div
class=
"form-group"
>
<div
class=
"row"
>
<table
width=
"450px"
>
<tr>
<td
colspan=
"4"
>
<b>
Project ID
</b>
</td>
<td
colspan=
"8"
>
<input
type=
"text"
class=
"form-control"
id=
"projectId"
name=
"projectId"
ng-model=
"projectId"
placeholder=
"Project Id Auto Generates"
ng-blur=
""
ng-disabled=
"true"
/>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Project Name
</b>
</td>
<td
colspan=
"8"
>
<input
type=
"text"
class=
"form-control"
id=
"projectName"
name=
"projectName"
ng-model=
"projectName"
placeholder=
"Project Name"
/>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Account
</b>
</td>
<td
colspan=
"8"
>
<md-select
ng-model=
"account"
md-selected-text=
"getAccountText()"
id=
"account"
>
<md-optgroup
label=
"account"
>
<md-option
ng-value=
"account1"
ng-repeat=
"account1 in accounts"
>
{{account1.accountName}}
</md-option>
</md-optgroup>
</md-select>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Domain
</b>
</td>
<td
colspan=
"8"
>
<md-select
ng-model=
"domain"
md-selected-text=
"getDomainText()"
id=
"domain"
>
<md-optgroup
label=
"domain"
>
<md-option
ng-value=
"domain"
ng-repeat=
"domain in account.subDomains"
>
{{domain}}
</md-option>
</md-optgroup>
</md-select>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Lead
</b>
</td>
<td
colspan=
"8"
>
<div
class=
"leads-data"
ng-show=
"managersSelectedList.length > 0"
>
<div
ng-repeat=
"item in managersSelectedList"
>
<p>
{{item.employeeName}}
<span
ng-click=
"removeSelectedLead(item)"
class=
"glyphicon glyphicon-remove"
></span>
</p>
</div>
</div>
<div
style=
"display: block; float: left; width: 100%;"
>
<md-select
ng-model=
"managersSelectedList"
data-md-container-class=
"selectHeader"
md-selected-text=
"getSelected()"
multiple
>
<md-select-header
class=
"selectHeaderChild header-spacing"
layout=
"column"
>
<input
ng-model=
"searchTerm"
type=
"search"
ng-keydown=
"updateSearch($event)"
ng-model-options=
"{debounce: {'default': 500, 'blur': 0}}"
placeholder=
"Please Search for a lead"
class=
"searchBoxHeader demo-header-searchbox md-text search-spacingleft"
/>
<span
class=
"glyphicon glyphicon-remove close-mdselect"
ng-click=
"closeSelectBox()"
></span>
</md-select-header>
<md-optgroup
label=
"managers"
class=
"optionScroll"
>
<md-option
ng-value=
"manager"
ng-repeat=
"manager in managerDetails | filter:searchTerm"
>
{{manager.employeeName}}
</md-option>
</md-optgroup>
</md-select>
</div>
</td>
</tr>
<tr>
<td
colspan=
"4"
>
<b>
Project Status
</b>
</td>
<td
colspan=
"8"
>
<md-select
ng-model=
"projectStatus"
md-selected-text=
"getProjectStatus()"
id=
"projectStatus"
>
<md-optgroup
label=
"projectStatus"
>
<md-option
ng-value=
"prjctSts"
ng-repeat=
"prjctSts in prjctStses"
>
{{prjctSts}}
</md-option>
</md-optgroup>
</md-select>
</td>
</tr>
</table>
<div
role=
"alert"
>
<span
class=
"error"
style=
"color: red;"
>
{{alertMsg}}
</span>
</div>
</div>
</div>
</div>
</md-dialog-content>
<md-dialog-actions
layout=
"row"
>
<md-button
class=
"md-raised"
data-ng-click=
"validateFields()"
style=
"width:120px;background: cadetblue;color:white;"
>
{{templateTitle}}
</md-button>
<md-button
class=
"md-raised"
ng-click=
"cancel()"
style=
"width:120px;background: cadetblue;color:white;"
>
Cancel
</md-button>
</md-dialog-actions>
</form>
</md-dialog>
\ No newline at end of file
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