Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
coopwire-hypothesis
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
孙灵跃 Leon Sun
coopwire-hypothesis
Commits
d20872b3
Commit
d20872b3
authored
Jul 02, 2014
by
Ujvari Gergely
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove clause parser
parent
64a3b4f1
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
102 deletions
+4
-102
displayer.coffee
h/js/displayer.coffee
+2
-2
streamfilter.coffee
h/js/streamfilter.coffee
+2
-100
No files found.
h/js/displayer.coffee
View file @
d20872b3
...
@@ -42,8 +42,8 @@ class Displayer
...
@@ -42,8 +42,8 @@ class Displayer
streamfilter
streamfilter
.
setPastDataNone
()
.
setPastDataNone
()
.
setMatchPolicyIncludeAny
()
.
setMatchPolicyIncludeAny
()
.
addClause
sParse
(
'references:^'
+
$scope
.
annotation
.
id
)
.
addClause
(
'references'
,
'first_of'
,
$scope
.
annotation
.
id
,
true
)
.
addClause
sParse
(
'id:='
+
$scope
.
annotation
.
id
)
.
addClause
(
'id'
,
'equals'
,
$scope
.
annotation
.
id
,
true
)
.
getFilter
()
.
getFilter
()
$scope
.
change_annotation_content
=
(
id
,
new_annotation
)
=>
$scope
.
change_annotation_content
=
(
id
,
new_annotation
)
=>
...
...
h/js/streamfilter.coffee
View file @
d20872b3
class
ClauseParser
filter_fields
:
[
'references'
,
'text'
,
'user'
,
'uri'
,
'id'
,
'tags'
,
'created'
,
'updated'
]
operators
:
[
'#<='
,
'#>='
,
'#<'
,
'#>'
,
'#='
,
'=>'
,
'>='
,
'<='
,
'=<'
,
'>'
,
'<'
,
'['
,
'=~'
,
'^'
,
'{'
,
'='
]
operator_mapping
:
'='
:
'equals'
'>'
:
'gt'
'<'
:
'lt'
'=>'
:
'ge'
'>='
:
'ge'
'=<'
:
'le'
'<='
:
'le'
'['
:
'one_of'
'=~'
:
'matches'
'^'
:
'first_of'
'{'
:
'match_of'
# one_of but not exact search
'#='
:
'lene'
'#>'
:
'leng'
'#>='
:
'lenge'
'#<'
:
'lenl'
'#<='
:
'lenle'
insensitive_operator
:
'i'
parse_clauses
:
(
clauses
)
->
bads
=
[]
structure
=
[]
unless
clauses
return
clauses
=
clauses
.
split
' '
for
clause
in
clauses
#Here comes the long and boring validation checking
clause
=
clause
.
trim
()
if
clause
.
length
<
1
then
continue
parts
=
clause
.
split
/:(.+)/
unless
parts
.
length
>
1
bads
.
push
[
clause
,
'Filter clause is not well separated'
]
continue
unless
parts
[
0
]
in
@
filter_fields
bads
.
push
[
clause
,
'Unknown filter field'
]
continue
field
=
parts
[
0
]
if
parts
[
1
][
0
]
is
@
insensitive_operator
sensitive
=
false
rest
=
parts
[
1
][
1
..]
else
sensitive
=
true
rest
=
parts
[
1
]
operator_found
=
false
for
operator
in
@
operators
if
(
rest
.
indexOf
operator
)
is
0
oper
=
@
operator_mapping
[
operator
]
if
operator
is
'['
or
operator
is
'{'
value
=
rest
[
operator
.
length
..].
split
','
else
value
=
rest
[
operator
.
length
..]
operator_found
=
true
if
field
is
'user'
value
=
'acct:'
+
value
+
'@'
+
window
.
location
.
hostname
break
unless
operator_found
bads
.
push
[
clause
,
'Unknown operator'
]
continue
structure
.
push
'field'
:
'/'
+
field
'operator'
:
oper
'value'
:
value
'case_sensitive'
:
sensitive
[
structure
,
bads
]
class
StreamFilter
class
StreamFilter
strategies
:
[
'include_any'
,
'include_all'
,
'exclude_any'
,
'exclude_all'
]
strategies
:
[
'include_any'
,
'include_all'
,
'exclude_any'
,
'exclude_all'
]
past_modes
:
[
'none'
,
'hits'
,
'time'
]
past_modes
:
[
'none'
,
'hits'
,
'time'
]
...
@@ -166,29 +85,13 @@ class StreamFilter
...
@@ -166,29 +85,13 @@ class StreamFilter
@
filter
.
clauses
.
push
clause
@
filter
.
clauses
.
push
clause
this
this
addClause
:
(
field
,
operator
,
value
,
case_sensitive
=
false
,
es_query_string
=
false
)
->
addClause
:
(
field
,
operator
,
value
,
case_sensitive
=
false
,
options
=
{}
)
->
@
filter
.
clauses
.
push
@
filter
.
clauses
.
push
field
:
field
field
:
field
operator
:
operator
operator
:
operator
value
:
value
value
:
value
case_sensitive
:
case_sensitive
case_sensitive
:
case_sensitive
es_query_string
:
es_query_string
options
:
options
this
setClausesParse
:
(
clauses_to_parse
,
error_checking
=
false
)
->
res
=
@
parser
.
parse_clauses
clauses_to_parse
if
res
[
1
].
length
console
.
log
"Errors while parsing clause:"
console
.
log
res
[
1
]
if
res
?
and
(
not
error_checking
)
or
(
error_checking
and
res
[
1
]
?
.
length
is
0
)
@
filter
.
clauses
=
res
[
0
]
this
addClausesParse
:
(
clauses_to_parse
,
error_checking
=
false
)
->
res
=
@
parser
.
parse_clauses
clauses_to_parse
if
res
?
and
(
not
error_checking
)
or
(
error_checking
and
res
[
1
]
?
.
length
is
0
)
for
clause
in
res
[
0
]
@
filter
.
clauses
.
push
clause
this
this
resetFilter
:
->
resetFilter
:
->
...
@@ -202,5 +105,4 @@ class StreamFilter
...
@@ -202,5 +105,4 @@ class StreamFilter
angular
.
module
(
'h.streamfilter'
,[
'bootstrap'
])
angular
.
module
(
'h.streamfilter'
,[
'bootstrap'
])
.
service
(
'clauseparser'
,
ClauseParser
)
.
service
(
'streamfilter'
,
StreamFilter
)
.
service
(
'streamfilter'
,
StreamFilter
)
\ 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