Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
morpheus.js
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Daria Zenkova
morpheus.js
Commits
c2db34e2
Commit
c2db34e2
authored
May 24, 2016
by
Joshua Gould
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
quote terms
parent
7a4eca6e
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
81 additions
and
71 deletions
+81
-71
src/matrix/metadata_util.js
src/matrix/metadata_util.js
+78
-66
src/util/util.js
src/util/util.js
+3
-5
No files found.
src/matrix/metadata_util.js
View file @
c2db34e2
morpheus
.
MetadataUtil
=
function
()
{
morpheus
.
MetadataUtil
=
function
()
{
};
morpheus
.
MetadataUtil
.
renameFields
=
function
(
dataset
,
options
)
{
_
.
each
(
options
.
rows
,
function
(
item
)
{
morpheus
.
MetadataUtil
.
renameFields
=
function
(
dataset
,
options
)
{
_
.
each
(
options
.
rows
,
function
(
item
)
{
if
(
item
.
renameTo
)
{
var
v
=
dataset
.
getRowMetadata
().
getByName
(
item
.
field
);
if
(
v
)
{
...
...
@@ -10,7 +10,7 @@ morpheus.MetadataUtil.renameFields = function(dataset, options) {
}
}
});
_
.
each
(
options
.
columns
,
function
(
item
)
{
_
.
each
(
options
.
columns
,
function
(
item
)
{
if
(
item
.
renameTo
)
{
var
v
=
dataset
.
getColumnMetadata
().
getByName
(
item
.
field
);
if
(
v
)
{
...
...
@@ -31,7 +31,7 @@ morpheus.MetadataUtil.renameFields = function(dataset, options) {
* 'exact' or 'contains'
*
*/
morpheus
.
MetadataUtil
.
search
=
function
(
options
)
{
morpheus
.
MetadataUtil
.
search
=
function
(
options
)
{
var
model
=
options
.
model
;
var
text
=
options
.
text
;
var
isColumns
=
options
.
isColumns
;
...
...
@@ -47,9 +47,9 @@ morpheus.MetadataUtil.search = function(options) {
var
fieldNames
=
morpheus
.
MetadataUtil
.
getMetadataNames
(
model
);
fieldNames
.
push
(
indexField
);
var
predicates
=
morpheus
.
Util
.
createSearchPredicates
({
tokens
:
tokens
,
fields
:
fieldNames
,
defaultMatchMode
:
options
.
defaultMatchMode
tokens
:
tokens
,
fields
:
fieldNames
,
defaultMatchMode
:
options
.
defaultMatchMode
});
var
vectors
=
[];
var
nameToVector
=
new
morpheus
.
Map
();
...
...
@@ -57,9 +57,9 @@ morpheus.MetadataUtil.search = function(options) {
var
v
=
model
.
get
(
j
);
var
dataType
=
morpheus
.
VectorUtil
.
getDataType
(
v
);
var
wrapper
=
{
vector
:
v
,
dataType
:
dataType
,
isArray
:
dataType
.
indexOf
(
'
[
'
)
===
0
vector
:
v
,
dataType
:
dataType
,
isArray
:
dataType
.
indexOf
(
'
[
'
)
===
0
};
nameToVector
.
set
(
v
.
getName
(),
wrapper
);
vectors
.
push
(
wrapper
);
...
...
@@ -135,18 +135,18 @@ morpheus.MetadataUtil.search = function(options) {
return
indices
;
};
morpheus
.
MetadataUtil
.
shallowCopy
=
function
(
model
)
{
morpheus
.
MetadataUtil
.
shallowCopy
=
function
(
model
)
{
var
copy
=
new
morpheus
.
MetadataModel
(
model
.
getItemCount
());
for
(
var
i
=
0
;
i
<
model
.
getMetadataCount
();
i
++
)
{
var
v
=
model
.
get
(
i
);
// copy properties b/c they can be modified via ui
var
newVector
=
new
morpheus
.
VectorAdapter
(
v
);
newVector
.
properties
=
new
morpheus
.
Map
();
newVector
.
getProperties
=
function
()
{
newVector
.
getProperties
=
function
()
{
return
this
.
properties
;
};
v
.
getProperties
().
forEach
(
function
(
val
,
key
)
{
v
.
getProperties
().
forEach
(
function
(
val
,
key
)
{
if
(
!
morpheus
.
VectorKeys
.
COPY_IGNORE
.
has
(
key
))
{
newVector
.
properties
.
set
(
key
,
val
);
}
...
...
@@ -157,8 +157,8 @@ morpheus.MetadataUtil.shallowCopy = function(model) {
}
return
copy
;
};
morpheus
.
MetadataUtil
.
autocomplete
=
function
(
model
)
{
return
function
(
tokens
,
cb
)
{
morpheus
.
MetadataUtil
.
autocomplete
=
function
(
model
)
{
return
function
(
tokens
,
cb
)
{
// check for term:searchText
var
matches
=
[];
var
regex
=
null
;
...
...
@@ -184,7 +184,7 @@ morpheus.MetadataUtil.autocomplete = function(model) {
if
(
index
!==
-
1
)
{
token
=
$
.
trim
(
token
.
substring
(
semi
+
1
));
searchModel
=
new
morpheus
.
MetadataModelColumnView
(
model
,
[
index
]);
model
,
[
index
]);
}
}
...
...
@@ -219,8 +219,8 @@ morpheus.MetadataUtil.autocomplete = function(model) {
if
(
val
!=
null
)
{
if
(
isArray
[
j
])
{
for
(
var
k
=
0
;
k
<
val
.
length
;
k
++
)
{
var
id
=
new
morpheus
.
Identifier
([
val
[
k
],
v
.
getName
()
]);
var
id
=
new
morpheus
.
Identifier
([
val
[
k
],
v
.
getName
()
]);
if
(
!
set
.
has
(
id
)
&&
regex
.
test
(
val
[
k
]))
{
set
.
add
(
id
);
if
(
set
.
size
()
===
max
)
{
...
...
@@ -229,8 +229,8 @@ morpheus.MetadataUtil.autocomplete = function(model) {
}
}
}
else
{
var
id
=
new
morpheus
.
Identifier
([
val
,
v
.
getName
()
]);
var
id
=
new
morpheus
.
Identifier
([
val
,
v
.
getName
()
]);
if
(
!
set
.
has
(
id
)
&&
regex
.
test
(
val
))
{
set
.
add
(
id
);
if
(
set
.
size
()
===
max
)
{
...
...
@@ -243,13 +243,21 @@ morpheus.MetadataUtil.autocomplete = function(model) {
}
}
set
.
forEach
(
function
(
id
)
{
set
.
forEach
(
function
(
id
)
{
var
array
=
id
.
getArray
();
var
field
=
array
[
1
];
var
val
=
array
[
0
];
var
quotedField
=
field
;
if
(
quotedField
.
indexOf
(
'
'
)
!==
-
1
)
{
quotedField
=
'
"
'
+
quotedField
+
'
"
'
;
}
var
quotedValue
=
val
;
if
(
quotedValue
.
indexOf
(
'
'
)
!==
-
1
)
{
quotedValue
=
'
"
'
+
quotedValue
+
'
"
'
;
}
matches
.
push
({
value
:
field
+
'
:
'
+
val
,
label
:
'
<span style="font-weight:300;">
'
+
field
value
:
quotedField
+
'
:
'
+
quotedValue
,
label
:
'
<span style="font-weight:300;">
'
+
field
+
'
:</span>
'
+
'
<span style="font-weight:900;">
'
+
val
+
'
</span>
'
...
...
@@ -271,11 +279,15 @@ morpheus.MetadataUtil.autocomplete = function(model) {
if
(
dataType
===
'
number
'
||
dataType
===
'
string
'
||
dataType
===
'
[string]
'
)
{
if
(
regex
.
test
(
field
))
{
var
quotedField
=
field
;
if
(
quotedField
.
indexOf
(
'
'
)
!==
-
1
)
{
quotedField
=
'
"
'
+
quotedField
+
'
"
'
;
}
matches
.
push
({
value
:
f
ield
+
'
:
'
,
label
:
'
<span style="font-weight:300;">
'
+
field
value
:
quotedF
ield
+
'
:
'
,
label
:
'
<span style="font-weight:300;">
'
+
field
+
'
:</span>
'
,
show
:
true
show
:
true
});
}
}
...
...
@@ -284,21 +296,21 @@ morpheus.MetadataUtil.autocomplete = function(model) {
};
};
morpheus
.
MetadataUtil
.
getMetadataNames
=
function
(
metadataModel
)
{
morpheus
.
MetadataUtil
.
getMetadataNames
=
function
(
metadataModel
)
{
var
names
=
[];
for
(
var
i
=
0
,
count
=
metadataModel
.
getMetadataCount
();
i
<
count
;
i
++
)
{
names
.
push
(
metadataModel
.
get
(
i
).
getName
(
i
));
}
names
.
sort
(
function
(
a
,
b
)
{
names
.
sort
(
function
(
a
,
b
)
{
a
=
a
.
toLowerCase
();
b
=
b
.
toLowerCase
();
return
(
a
<
b
?
-
1
:
(
a
===
b
?
0
:
1
));
});
return
names
;
};
morpheus
.
MetadataUtil
.
getVectors
=
function
(
metadataModel
,
names
)
{
morpheus
.
MetadataUtil
.
getVectors
=
function
(
metadataModel
,
names
)
{
var
vectors
=
[];
names
.
forEach
(
function
(
name
)
{
names
.
forEach
(
function
(
name
)
{
var
v
=
metadataModel
.
getByName
(
name
);
if
(
!
v
)
{
throw
name
+
'
not found. Available fields are
'
...
...
@@ -308,7 +320,7 @@ morpheus.MetadataUtil.getVectors = function(metadataModel, names) {
});
return
vectors
;
};
morpheus
.
MetadataUtil
.
indexOf
=
function
(
metadataModel
,
name
)
{
morpheus
.
MetadataUtil
.
indexOf
=
function
(
metadataModel
,
name
)
{
for
(
var
i
=
0
,
length
=
metadataModel
.
getMetadataCount
();
i
<
length
;
i
++
)
{
if
(
name
===
metadataModel
.
get
(
i
).
getName
())
{
return
i
;
...
...
@@ -317,10 +329,10 @@ morpheus.MetadataUtil.indexOf = function(metadataModel, name) {
return
-
1
;
};
morpheus
.
MetadataUtil
.
DEFAULT_STRING_ARRAY_FIELDS
=
[
'
target
'
,
'
moa
'
];
morpheus
.
MetadataUtil
.
DEFAULT_STRING_ARRAY_FIELDS
=
[
'
target
'
,
'
moa
'
];
morpheus
.
MetadataUtil
.
DEFAULT_HIDDEN_FIELDS
=
new
morpheus
.
Set
();
[
'
pr_analyte_id
'
,
'
pr_gene_title
'
,
'
pr_gene_id
'
,
'
pr_analyte_num
'
,
[
'
pr_analyte_id
'
,
'
pr_gene_title
'
,
'
pr_gene_id
'
,
'
pr_analyte_num
'
,
'
pr_bset_id
'
,
'
pr_lua_id
'
,
'
pr_pool_id
'
,
'
pr_is_bing
'
,
'
pr_is_inf
'
,
'
pr_is_lmark
'
,
'
qc_slope
'
,
'
qc_f_logp
'
,
'
qc_iqr
'
,
'
bead_batch
'
,
'
bead_revision
'
,
'
bead_set
'
,
'
det_mode
'
,
'
det_plate
'
,
'
det_well
'
,
...
...
@@ -328,16 +340,16 @@ morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS = new morpheus.Set();
'
mfc_plate_well
'
,
'
pert_dose_unit
'
,
'
pert_id_vendor
'
,
'
pert_mfc_desc
'
,
'
pert_mfc_id
'
,
'
pert_time
'
,
'
pert_time_unit
'
,
'
pert_univ_id
'
,
'
pert_vehicle
'
,
'
pool_id
'
,
'
rna_plate
'
,
'
rna_well
'
,
'
count_mean
'
,
'
count_cv
'
,
'
provenance_code
'
].
forEach
(
function
(
name
)
{
'
count_cv
'
,
'
provenance_code
'
].
forEach
(
function
(
name
)
{
morpheus
.
MetadataUtil
.
DEFAULT_HIDDEN_FIELDS
.
add
(
name
);
});
morpheus
.
MetadataUtil
.
maybeConvertStrings
=
function
(
metadata
,
morpheus
.
MetadataUtil
.
maybeConvertStrings
=
function
(
metadata
,
metadataStartIndex
)
{
for
(
var
i
=
metadataStartIndex
,
count
=
metadata
.
getMetadataCount
();
i
<
count
;
i
++
)
{
morpheus
.
VectorUtil
.
maybeConvertStringToNumber
(
metadata
.
get
(
i
));
}
morpheus
.
MetadataUtil
.
DEFAULT_STRING_ARRAY_FIELDS
.
forEach
(
function
(
field
)
{
morpheus
.
MetadataUtil
.
DEFAULT_STRING_ARRAY_FIELDS
.
forEach
(
function
(
field
)
{
if
(
metadata
.
getByName
(
field
))
{
morpheus
.
VectorUtil
.
maybeConvertToStringArray
(
metadata
.
getByName
(
field
),
'
,
'
);
...
...
@@ -345,7 +357,7 @@ morpheus.MetadataUtil.maybeConvertStrings = function(metadata,
});
};
morpheus
.
MetadataUtil
.
copy
=
function
(
src
,
dest
)
{
morpheus
.
MetadataUtil
.
copy
=
function
(
src
,
dest
)
{
if
(
src
.
getItemCount
()
!=
dest
.
getItemCount
())
{
throw
'
Item count not equal in source and destination.
'
+
src
.
getItemCount
()
+
'
!=
'
+
dest
.
getItemCount
();
...
...
@@ -363,14 +375,14 @@ morpheus.MetadataUtil.copy = function(src, dest) {
}
}
};
morpheus
.
MetadataUtil
.
addVectorIfNotExists
=
function
(
metadataModel
,
name
)
{
morpheus
.
MetadataUtil
.
addVectorIfNotExists
=
function
(
metadataModel
,
name
)
{
var
v
=
metadataModel
.
getByName
(
name
);
if
(
!
v
)
{
v
=
metadataModel
.
add
(
name
);
}
return
v
;
};
morpheus
.
MetadataUtil
.
getMatchingIndices
=
function
(
metadataModel
,
tokens
)
{
morpheus
.
MetadataUtil
.
getMatchingIndices
=
function
(
metadataModel
,
tokens
)
{
var
indices
=
{};
for
(
var
itemIndex
=
0
,
nitems
=
metadataModel
.
getItemCount
();
itemIndex
<
nitems
;
itemIndex
++
)
{
var
matches
=
false
;
...
...
src/util/util.js
View file @
c2db34e2
...
...
@@ -493,12 +493,8 @@ morpheus.Util.autosuggest = function (options) {
trim
:
false
,
selectionStart
:
options
.
$el
[
0
].
selectionStart
});
// quote value if needed
var
value
=
(
ui
.
item
.
value
[
0
]
!==
'
"
'
&&
ui
.
item
.
value
.
indexOf
(
'
'
)
>
0
?
(
'
"
'
+
ui
.
item
.
value
+
'
"
'
)
:
ui
.
item
.
value
);
var
value
=
ui
.
item
.
value
;
var
show
=
ui
.
item
.
show
;
// || (ui.item.space
// &&
// options.suggestWhenEmpty);
...
...
@@ -598,6 +594,7 @@ morpheus.Util.getAutocompleteTokens = function (text, options) {
if
(
i
===
options
.
selectionStart
-
1
)
{
currentToken
.
inSelectionStart
=
true
;
}
}
tokens
.
push
({
...
...
@@ -1054,6 +1051,7 @@ morpheus.Util.createSearchPredicates = function (options) {
possibleToken
=
'
"
'
+
possibleToken
;
}
if
(
!
validateFieldNames
||
availableFields
.
indexOf
(
possibleField
)
!==
-
1
)
{
token
=
possibleToken
;
...
...
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