Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sencha-core
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
project-open
sencha-core
Commits
24ca0b7e
Commit
24ca0b7e
authored
Mar 05, 2021
by
Project Open
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Budget field WIP
parent
dcf0a27d
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
91 additions
and
122 deletions
+91
-122
ObjectMemberPanel.js
www/view/ObjectMemberPanel.js
+52
-87
POObjectMembers.js
www/view/field/POObjectMembers.js
+39
-35
No files found.
www/view/ObjectMemberPanel.js
View file @
24ca0b7e
This diff is collapsed.
Click to expand it.
www/view/field/POObjectMembers.js
View file @
24ca0b7e
...
...
@@ -22,6 +22,8 @@ Ext.define('PO.view.field.POObjectMembers', {
memberStore
:
null
,
// Config: Store with users as candidates for members
groupStore
:
null
,
gridPanelId
:
null
,
// ID of underlying panel that has a selection model
objectMemberPanel
:
null
,
// Singleton
statics
:
{
/**
...
...
@@ -33,8 +35,6 @@ Ext.define('PO.view.field.POObjectMembers', {
if
(
!
Ext
.
isString
(
value
))
{
return
value
;
}
var
result
=
[];
// if ("" == value) return null;
var
names
=
value
.
split
(
";"
);
for
(
var
i
=
0
;
i
<
names
.
length
;
i
++
)
{
var
name
=
names
[
i
];
// BB[20%]
...
...
@@ -75,14 +75,10 @@ Ext.define('PO.view.field.POObjectMembers', {
var
role
=
this
.
parseMembersRole
(
me
,
roleString
.
trim
());
// FullMember = 1300
if
(
Ext
.
isString
(
role
))
{
return
role
;
}
// Return an error string
// ToDo: Sort the user store alphabetically in order to create
// deterministic results
// ToDo: Sort the user alphabetically in order to create deterministic results
var
result
=
null
;
// var projectMemberStore = Ext.StoreManager.get('projectMemberStore');
var
projectMemberStore
=
me
.
memberStore
;
var
letters
=
value
.
toUpperCase
().
split
(
""
);
projectM
emberStore
.
each
(
function
(
user
)
{
me
.
m
emberStore
.
each
(
function
(
user
)
{
if
(
null
!=
result
)
{
return
;
}
var
firstNames
=
user
.
get
(
'first_names'
);
var
lastName
=
user
.
get
(
'last_name'
);
...
...
@@ -146,15 +142,12 @@ Ext.define('PO.view.field.POObjectMembers', {
}
if
(
me
.
debug
)
console
.
log
(
'POObjectMembers.formatMembers: Starting: memberExpr='
+
memberExpr
);
var
projectMemberStore
=
me
.
memberStore
;
var
groupStore
=
me
.
groupStore
;
var
result
=
""
;
memberExpr
.
forEach
(
function
(
member
)
{
if
(
""
!=
result
)
{
result
=
result
+
";"
;
}
var
userId
=
""
+
member
.
user_id
;
var
userModel
=
projectM
emberStore
.
getById
(
userId
);
var
groupModel
=
groupStore
.
getById
(
userId
);
var
userModel
=
me
.
m
emberStore
.
getById
(
userId
);
var
groupModel
=
me
.
groupStore
.
getById
(
userId
);
if
(
null
==
userModel
&&
null
==
groupModel
)
{
// This can happen when moving sub-projects around, even though it shouldn't...
result
=
result
+
'#'
+
userId
;
...
...
@@ -167,11 +160,11 @@ Ext.define('PO.view.field.POObjectMembers', {
}
}
if
(
!!
member
.
role
&&
1300
!=
member
.
role
)
{
var
roleString
=
""
switch
(
member
.
role
)
{
case
1310
:
roleString
=
"M"
;
break
;
default
:
roleString
=
"#"
+
member
.
role
;
}
var
roleString
=
""
switch
(
member
.
role
)
{
case
1310
:
roleString
=
"M"
;
break
;
default
:
roleString
=
"#"
+
member
.
role
;
}
result
=
result
+
'['
+
roleString
+
']'
;
}
});
...
...
@@ -179,7 +172,6 @@ Ext.define('PO.view.field.POObjectMembers', {
}
},
// End statics
// Add specialkey listener
initComponent
:
function
()
{
var
me
=
this
;
...
...
@@ -188,7 +180,6 @@ Ext.define('PO.view.field.POObjectMembers', {
me
.
gridPanelId
=
me
.
initialConfig
.
gridPanelId
;
if
(
me
.
debug
)
console
.
log
(
'POObjectMembers.initComponent: Finished'
);
},
initValue
:
function
()
{
var
me
=
this
;
...
...
@@ -210,12 +201,8 @@ Ext.define('PO.view.field.POObjectMembers', {
var
me
=
this
;
if
(
me
.
debug
)
console
.
log
(
'POObjectMembers.rawToValue: Starting'
);
var
val
=
this
.
statics
().
parseMembers
(
me
,
rawValue
)
||
rawValue
||
null
;
// if (val.constructor === Array) { if (val.length == 0) { val = ""; } }
if
(
me
.
debug
)
console
.
log
(
'POObjectMembers.rawToValue: '
+
rawValue
+
' -> '
+
val
);
if
(
me
.
debug
)
console
.
log
(
val
);
return
val
;
},
...
...
@@ -248,20 +235,37 @@ Ext.define('PO.view.field.POObjectMembers', {
var
budgetItem
=
panel
.
getSelectionModel
().
getLastSelected
();
var
fieldValue
=
this
.
getValue
();
var
objectMemberPanel
=
Ext
.
getCmp
(
'objectMemberPanel'
);
objectMemberPanel
.
show
();
// Show handled by picker management
objectMemberPanel
.
setValue
(
fieldValue
);
objectMemberPanel
.
setActiveTab
(
'objectMembers'
);
if
(
0
)
{
// Create the panel showing properties of a task, but don't show it yet.
var
objectMemberPanel
=
Ext
.
create
(
"PO.view.gantt.GanttTaskPropertyPanel"
,
{
debug
:
getDebug
(
'objectMemberPanel'
),
senchaPreferenceStore
:
senchaPreferenceStore
,
ganttTreePanelController
:
ganttTreePanelController
});
objectMemberPanel
.
hide
();
var
objectMemberPanel
=
Ext
.
getCmp
(
'objectMemberPanel'
);
objectMemberPanel
.
setField
(
me
);
objectMemberPanel
.
setStore
(
me
.
memberStore
);
objectMemberPanel
.
setValue
(
fieldValue
);
objectMemberPanel
.
setActiveTab
(
'objectMembers'
);
objectMemberPanel
.
show
();
// Show handled by picker management
}
else
{
if
(
!
me
.
objectMemberPanel
)
{
// Create the panel showing properties of a task, but don't show it yet.
me
.
objectMemberPanel
=
Ext
.
create
(
"PO.view.ObjectMemberPanel"
,
{
debug
:
getDebug
(
'objectMemberPanel'
),
senchaPreferenceStore
:
null
,
memberStore
:
me
.
memberStore
,
potentialMemberStore
:
me
.
memberStore
});
}
me
.
objectMemberPanel
.
setField
(
me
);
me
.
objectMemberPanel
.
setStore
(
me
.
memberStore
);
me
.
objectMemberPanel
.
setValue
(
fieldValue
);
me
.
objectMemberPanel
.
setActiveTab
(
'objectMembers'
);
me
.
objectMemberPanel
.
show
();
// Show handled by picker management
}
}
});
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