Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
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
dataplatform
atlas
Commits
66390fe8
Commit
66390fe8
authored
Jun 24, 2019
by
kevalbhatt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-3294 : UI: Quick-search UI visual appearance enhancement
parent
569d5596
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
207 additions
and
117 deletions
+207
-117
common.scss
dashboardv2/public/css/scss/common.scss
+10
-0
theme.scss
dashboardv2/public/css/scss/theme.scss
+7
-6
Router.js
dashboardv2/public/js/router/Router.js
+108
-67
CommonViewFunction.js
dashboardv2/public/js/utils/CommonViewFunction.js
+22
-8
Utils.js
dashboardv2/public/js/utils/Utils.js
+2
-2
EntityDetailTableLayoutView.js
...dv2/public/js/views/entity/EntityDetailTableLayoutView.js
+11
-1
LineageLayoutView.js
dashboardv2/public/js/views/graph/LineageLayoutView.js
+4
-1
Header.js
dashboardv2/public/js/views/site/Header.js
+43
-32
No files found.
dashboardv2/public/css/scss/common.scss
View file @
66390fe8
...
...
@@ -88,6 +88,16 @@
.details-backbutton
{
display
:
table-cell
!
important
;
}
.searched-term-highlight
{
background-color
:
#eeee31
;
transition
:
background-color
4s
,
font-weight
2s
;
&
.bold
{
background-color
:
transparent
;
font-weight
:
bold
;
}
}
}
pre
{
...
...
dashboardv2/public/css/scss/theme.scss
View file @
66390fe8
...
...
@@ -45,12 +45,6 @@ header.atlas-header {
padding
:
3px
2px
;
position
:
relative
;
transition
:
width
0
.3s
!
important
;
.global-search-container
{
width
:
input
{
width
:
100%
;
}
}
}
}
...
...
@@ -499,6 +493,13 @@ hr[size="10"] {
}
}
span
.searched-term
{
display
:
inline-block
;
padding
:
0
;
font-weight
:
bold
;
color
:
$black
!
important
;
}
.ui-state-active
{
margin
:
0px
;
border
:
none
;
...
...
dashboardv2/public/js/router/Router.js
View file @
66390fe8
...
...
@@ -89,6 +89,16 @@ define([
});
},
showRegions
:
function
()
{},
renderViewIfNotExists
:
function
(
options
)
{
var
view
=
options
.
view
,
render
=
options
.
render
,
manualRender
=
options
.
manualRender
;
if
(
!
view
.
currentView
)
{
if
(
render
)
view
.
show
(
options
.
render
());
}
else
{
if
(
manualRender
)
options
.
manualRender
();
}
},
/**
* @override
...
...
@@ -110,6 +120,17 @@ define([
// console.log("Post-Route Change Operations can be performed here !!");
// console.log("Route changed: ", name);
},
getHeaderOptions
:
function
(
Header
)
{
return
{
view
:
App
.
rNHeader
,
manualRender
:
function
()
{
this
.
view
.
currentView
.
manualRender
();
},
render
:
function
()
{
return
new
Header
();
}
}
},
detailPage
:
function
(
id
)
{
var
that
=
this
;
if
(
id
)
{
...
...
@@ -121,14 +142,18 @@ define([
],
function
(
Header
,
DetailPageLayoutView
,
SideNavLayoutView
,
VEntityList
)
{
this
.
entityCollection
=
new
VEntityList
([],
{});
var
paramObj
=
Utils
.
getUrlState
.
getQueryParams
();
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
));
}
else
{
App
.
rSideNav
.
currentView
.
selectTab
();
}
that
.
renderViewIfNotExists
(
that
.
getHeaderOptions
(
Header
));
that
.
renderViewIfNotExists
({
view
:
App
.
rSideNav
,
manualRender
:
function
()
{
this
.
view
.
currentView
.
selectTab
();
},
render
:
function
()
{
return
new
SideNavLayoutView
(
_
.
extend
({},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
);
}
});
App
.
rNContent
.
show
(
new
DetailPageLayoutView
(
_
.
extend
({
'collection'
:
this
.
entityCollection
,
'id'
:
id
,
...
...
@@ -148,32 +173,36 @@ define([
],
function
(
Header
,
SideNavLayoutView
,
TagDetailLayoutView
)
{
var
paramObj
=
Utils
.
getUrlState
.
getQueryParams
(),
url
=
Utils
.
getUrlState
.
getQueryUrl
().
queyParams
[
0
];
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
if
(
paramObj
&&
paramObj
.
dlttag
)
{
Utils
.
setUrl
({
url
:
url
,
trigger
:
false
,
updateTabState
:
true
});
}
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'tag'
:
tagName
,
'value'
:
paramObj
},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
));
}
else
{
if
(
paramObj
&&
paramObj
.
dlttag
)
{
Utils
.
setUrl
({
url
:
url
,
trigger
:
false
,
updateTabState
:
true
});
that
.
renderViewIfNotExists
(
that
.
getHeaderOptions
(
Header
));
that
.
renderViewIfNotExists
({
view
:
App
.
rSideNav
,
manualRender
:
function
()
{
if
(
paramObj
&&
paramObj
.
dlttag
)
{
Utils
.
setUrl
({
url
:
url
,
trigger
:
false
,
updateTabState
:
true
});
}
this
.
view
.
currentView
.
RTagLayoutView
.
currentView
.
manualRender
(
_
.
extend
({},
paramObj
,
{
'tagName'
:
tagName
}));
this
.
view
.
currentView
.
selectTab
();
},
render
:
function
()
{
if
(
paramObj
&&
paramObj
.
dlttag
)
{
Utils
.
setUrl
({
url
:
url
,
trigger
:
false
,
updateTabState
:
true
});
}
return
new
SideNavLayoutView
(
_
.
extend
({
'tag'
:
tagName
,
'value'
:
paramObj
},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
);
}
App
.
rSideNav
.
currentView
.
RTagLayoutView
.
currentView
.
manualRender
(
_
.
extend
({},
paramObj
,
{
'tagName'
:
tagName
}));
App
.
rSideNav
.
currentView
.
selectTab
();
}
});
if
(
tagName
)
{
// updating paramObj to check for new queryparam.
paramObj
=
Utils
.
getUrlState
.
getQueryParams
();
...
...
@@ -198,15 +227,19 @@ define([
'views/site/SideNavLayoutView'
],
function
(
Header
,
GlossaryDetailLayoutView
,
SideNavLayoutView
)
{
var
paramObj
=
Utils
.
getUrlState
.
getQueryParams
();
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
,
{
'guid'
:
id
,
'value'
:
paramObj
})
));
}
else
{
App
.
rSideNav
.
currentView
.
RGlossaryLayoutView
.
currentView
.
manualRender
(
_
.
extend
({},
{
'guid'
:
id
,
'value'
:
paramObj
}));
App
.
rSideNav
.
currentView
.
selectTab
();
}
that
.
renderViewIfNotExists
(
that
.
getHeaderOptions
(
Header
));
that
.
renderViewIfNotExists
({
view
:
App
.
rSideNav
,
manualRender
:
function
()
{
this
.
view
.
currentView
.
RGlossaryLayoutView
.
currentView
.
manualRender
(
_
.
extend
({},
{
'guid'
:
id
,
'value'
:
paramObj
}));
this
.
view
.
currentView
.
selectTab
();
},
render
:
function
()
{
return
new
SideNavLayoutView
(
_
.
extend
({},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
,
{
'guid'
:
id
,
'value'
:
paramObj
})
)
}
});
App
.
rNContent
.
show
(
new
GlossaryDetailLayoutView
(
_
.
extend
({
'guid'
:
id
,
'value'
:
paramObj
...
...
@@ -222,21 +255,25 @@ define([
'views/search/SearchDetailLayoutView'
,
],
function
(
Header
,
SideNavLayoutView
,
SearchDetailLayoutView
)
{
var
paramObj
=
Utils
.
getUrlState
.
getQueryParams
();
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'searchVent'
:
that
.
searchVent
},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
));
}
else
{
App
.
rSideNav
.
currentView
.
selectTab
();
if
(
Utils
.
getUrlState
.
isTagTab
())
{
App
.
rSideNav
.
currentView
.
RTagLayoutView
.
currentView
.
manualRender
();
}
else
if
(
Utils
.
getUrlState
.
isGlossaryTab
())
{
App
.
rSideNav
.
currentView
.
RGlossaryLayoutView
.
currentView
.
manualRender
(
_
.
extend
({
"isTrigger"
:
true
},
{
"value"
:
paramObj
}));
that
.
renderViewIfNotExists
(
that
.
getHeaderOptions
(
Header
));
that
.
renderViewIfNotExists
({
view
:
App
.
rSideNav
,
manualRender
:
function
()
{
this
.
view
.
currentView
.
selectTab
();
if
(
Utils
.
getUrlState
.
isTagTab
())
{
this
.
view
.
currentView
.
RTagLayoutView
.
currentView
.
manualRender
();
}
else
if
(
Utils
.
getUrlState
.
isGlossaryTab
())
{
this
.
view
.
currentView
.
RGlossaryLayoutView
.
currentView
.
manualRender
(
_
.
extend
({
"isTrigger"
:
true
},
{
"value"
:
paramObj
}));
}
},
render
:
function
()
{
return
new
SideNavLayoutView
(
_
.
extend
({
'searchVent'
:
that
.
searchVent
},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
)
}
}
}
);
if
(
Globals
.
entityCreate
&&
Utils
.
getUrlState
.
isSearchTab
())
{
App
.
rNContent
.
show
(
new
SearchDetailLayoutView
(
...
...
@@ -263,17 +300,21 @@ define([
var
isinitialView
=
true
,
isTypeTagNotExists
=
false
,
tempParam
=
_
.
extend
({},
paramObj
);
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'value'
:
paramObj
,
'searchVent'
:
that
.
searchVent
},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
));
}
else
{
App
.
rSideNav
.
currentView
.
RSearchLayoutView
.
currentView
.
manualRender
(
paramObj
);
}
that
.
renderViewIfNotExists
(
that
.
getHeaderOptions
(
Header
));
that
.
renderViewIfNotExists
({
view
:
App
.
rSideNav
,
manualRender
:
function
()
{
this
.
view
.
currentView
.
RSearchLayoutView
.
currentView
.
manualRender
(
paramObj
);
},
render
:
function
()
{
return
new
SideNavLayoutView
(
_
.
extend
({
'value'
:
paramObj
,
'searchVent'
:
that
.
searchVent
},
that
.
preFetchedCollectionLists
,
that
.
sharedObj
)
)
}
});
App
.
rSideNav
.
currentView
.
selectTab
();
if
(
paramObj
)
{
isinitialView
=
(
paramObj
.
type
||
(
paramObj
.
dslChecked
==
"true"
?
""
:
(
paramObj
.
tag
||
paramObj
.
term
))
||
(
paramObj
.
query
?
paramObj
.
query
.
trim
()
:
""
)).
length
===
0
;
...
...
dashboardv2/public/js/utils/CommonViewFunction.js
View file @
66390fe8
...
...
@@ -80,15 +80,29 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
attributeDefs
=
options
.
attributeDefs
,
formatIntVal
=
options
.
formatIntVal
,
showListCount
=
options
.
showListCount
||
true
,
highlightString
=
options
.
highlightString
,
numberFormat
=
options
.
numberFormat
||
_
.
numberFormatWithComa
;
var
table
=
""
,
getHighlightedString
=
function
(
resultStr
)
{
if
(
highlightString
&&
highlightString
.
length
)
{
try
{
return
resultStr
.
replace
(
new
RegExp
(
highlightString
,
"gi"
),
function
(
foundStr
)
{
return
"<span class='searched-term-highlight'>"
+
foundStr
+
"</span>"
});
}
catch
(
error
)
{
return
resultStr
;
}
}
else
{
return
resultStr
;
}
},
getValue
=
function
(
val
)
{
if
(
val
)
{
if
((
_
.
isNumber
(
val
)
||
!
_
.
isNaN
(
parseInt
(
val
)))
&&
formatIntVal
)
{
return
numberFormat
(
val
);
}
else
{
return
val
;
return
getHighlightedString
(
val
)
;
}
}
else
{
return
"N/A"
;
...
...
@@ -180,9 +194,9 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
}
}
});
valueOfArray
.
push
(
Utils
.
JSONPrettyPrint
(
newAttributesList
));
valueOfArray
.
push
(
Utils
.
JSONPrettyPrint
(
newAttributesList
,
getValue
));
}
else
{
valueOfArray
.
push
(
Utils
.
JSONPrettyPrint
(
attributesList
));
valueOfArray
.
push
(
Utils
.
JSONPrettyPrint
(
attributesList
,
getValue
));
}
}
if
(
id
&&
inputOutputField
)
{
...
...
@@ -193,7 +207,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
fetchInputOutputValue
(
fetchId
,
defEntity
);
tempLink
+=
'<div data-id="'
+
fetchId
+
'"><div class="value-loader"></div></div>'
;
}
else
{
tempLink
+=
'<a href="#!/detailPage/'
+
id
+
'">'
+
name
+
'</a>'
tempLink
+=
'<a href="#!/detailPage/'
+
id
+
'">'
+
getValue
(
name
)
+
'</a>'
}
}
if
(
readOnly
)
{
...
...
@@ -247,14 +261,14 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
if
(
_
.
isObject
(
valueObject
[
key
]))
{
val
=
keyValue
}
else
if
(
Utils
.
isUrl
(
keyValue
))
{
val
=
'<a target="_blank" class="blue-link" href="'
+
keyValue
+
'">'
+
keyValue
+
'</a>'
;
val
=
'<a target="_blank" class="blue-link" href="'
+
keyValue
+
'">'
+
getValue
(
keyValue
)
+
'</a>'
;
}
else
if
(
key
===
'guid'
||
key
===
"__guid"
)
{
val
=
'<a title="'
+
key
+
'" href="#!/detailPage/'
+
keyValue
+
'">'
+
keyValue
+
'</a>'
;
val
=
'<a title="'
+
key
+
'" href="#!/detailPage/'
+
keyValue
+
'">'
+
getValue
(
keyValue
)
+
'</a>'
;
}
else
{
val
=
_
.
escape
(
keyValue
);
val
=
getValue
(
_
.
escape
(
keyValue
)
);
}
if
(
isTable
)
{
var
value
=
getValue
(
val
)
,
var
value
=
val
,
appendClass
=
(
value
==
"N/A"
?
"hide-row"
:
""
),
htmlTag
=
'<div class="scroll-y">'
+
value
+
'</div>'
;
if
(
_
.
isObject
(
valueObject
[
key
])
&&
!
_
.
isEmpty
(
valueObject
[
key
]))
{
...
...
dashboardv2/public/js/utils/Utils.js
View file @
66390fe8
...
...
@@ -816,7 +816,7 @@ define(['require', 'utils/Globals', 'pnotify', 'utils/Messages', 'utils/Enums',
return
regexp
.
test
(
url
);
}
Utils
.
JSONPrettyPrint
=
function
(
obj
)
{
Utils
.
JSONPrettyPrint
=
function
(
obj
,
getValue
)
{
var
replacer
=
function
(
match
,
pIndent
,
pKey
,
pVal
,
pEnd
)
{
var
key
=
'<span class=json-key>'
;
var
val
=
'<span class=json-value>'
;
...
...
@@ -825,7 +825,7 @@ define(['require', 'utils/Globals', 'pnotify', 'utils/Messages', 'utils/Enums',
if
(
pKey
)
r
=
r
+
key
+
pKey
.
replace
(
/
[
":
]
/g
,
''
)
+
'</span>: '
;
if
(
pVal
)
r
=
r
+
(
pVal
[
0
]
==
'"'
?
str
:
val
)
+
pVal
+
'</span>'
;
r
=
r
+
(
pVal
[
0
]
==
'"'
?
str
:
val
)
+
getValue
(
pVal
)
+
'</span>'
;
return
r
+
(
pEnd
||
''
);
},
jsonLine
=
/^
(
*
)(
"
[\w]
+":
)?(
"
[^
"
]
*"|
[\w
.+-
]
*
)?([
,[{
])?
$/mg
;
...
...
dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
View file @
66390fe8
...
...
@@ -64,12 +64,22 @@ define(['require',
this
.
entityTableGenerate
();
},
entityTableGenerate
:
function
()
{
var
table
=
CommonViewFunction
.
propertyTable
({
scope
:
this
,
valueObject
:
this
.
entity
.
attributes
,
attributeDefs
:
this
.
attributeDefs
});
var
that
=
this
,
highlightString
=
$
(
".atlas-header .global-search-container input.global-search"
).
val
(),
table
=
CommonViewFunction
.
propertyTable
({
scope
:
this
,
valueObject
:
this
.
entity
.
attributes
,
attributeDefs
:
this
.
attributeDefs
,
highlightString
:
highlightString
});
this
.
ui
.
detailValue
.
append
(
table
);
Utils
.
togglePropertyRelationshipTableEmptyValues
({
"inputType"
:
this
.
ui
.
noValueToggle
,
"tableEl"
:
this
.
ui
.
detailValue
});
setTimeout
(
function
()
{
that
.
$el
.
find
(
".searched-term-highlight"
).
addClass
(
"bold"
);
},
5000
)
}
});
return
EntityDetailTableLayoutView
;
...
...
dashboardv2/public/js/views/graph/LineageLayoutView.js
View file @
66390fe8
...
...
@@ -228,6 +228,9 @@ define(['require',
skipDefaultError
:
true
,
queryParam
:
queryParam
,
success
:
function
(
data
)
{
if
(
that
.
isDestroyed
)
{
return
;
}
if
(
data
.
relations
.
length
)
{
that
.
lineageData
=
$
.
extend
(
true
,
{},
data
);
that
.
relationshipMap
=
that
.
crateLineageRelationshipHashMap
(
data
);
...
...
@@ -864,7 +867,7 @@ define(['require',
typeStr
+=
'<option value="'
+
obj
.
guid
+
'">'
+
obj
.
attributes
.
name
+
'</option>'
;
});
}
th
at
.
ui
.
lineageTypeSearch
.
html
(
typeStr
);
th
is
.
ui
.
lineageTypeSearch
.
html
(
typeStr
);
this
.
initilizelineageTypeSearch
();
},
initilizelineageTypeSearch
:
function
()
{
...
...
dashboardv2/public/js/views/site/Header.js
View file @
66390fe8
...
...
@@ -76,7 +76,7 @@ define(['require',
},
setSearchBoxWidth
:
function
(
options
)
{
var
atlasHeaderWidth
=
this
.
$el
.
find
(
".atlas-header"
).
width
(),
minusWidth
=
Utils
.
getUrlState
.
isDetailPage
()
?
4
00
:
250
;
minusWidth
=
Utils
.
getUrlState
.
isDetailPage
()
?
4
13
:
263
;
if
(
options
&&
options
.
updateWidth
)
{
atlasHeaderWidth
=
options
.
updateWidth
(
atlasHeaderWidth
);
}
...
...
@@ -87,7 +87,7 @@ define(['require',
bindEvent
:
function
()
{
var
that
=
this
;
$
(
window
).
resize
(
function
()
{
that
.
setSearchBoxWidth
()
that
.
setSearchBoxWidth
()
;
});
},
onRender
:
function
()
{
...
...
@@ -103,16 +103,20 @@ define(['require',
onBeforeDestroy
:
function
()
{
this
.
ui
.
globalSearch
.
atlasAutoComplete
(
"destroy"
);
},
manualRender
:
function
()
{
this
.
setSearchBoxWidth
();
},
fetchSearchData
:
function
(
options
)
{
var
that
=
this
,
request
=
options
.
request
,
response
=
options
.
response
,
term
=
request
.
term
,
data
=
{},
sendResponse
=
function
()
{
var
query
=
that
.
cache
[
term
]
.
query
,
suggestions
=
that
.
cache
[
term
]
.
suggestions
;
var
query
=
data
.
query
,
suggestions
=
data
.
suggestions
;
if
(
query
!==
undefined
&&
suggestions
!==
undefined
)
{
response
(
that
.
cache
[
term
]
);
response
(
data
);
}
};
$
.
ajax
({
...
...
@@ -124,9 +128,9 @@ define(['require',
"offset"
:
0
},
cache
:
true
,
success
:
function
(
data
)
{
var
data
=
data
.
searchResults
.
entities
||
[];
that
.
cache
[
term
]
=
_
.
extend
({},
that
.
cache
[
term
],
{
query
:
{
category
:
"entities"
,
data
:
data
,
order
:
1
}
})
;
success
:
function
(
response
)
{
var
rData
=
response
.
searchResults
.
entities
||
[];
data
.
query
=
{
category
:
"entities"
,
data
:
rData
,
order
:
1
}
;
sendResponse
();
}
});
...
...
@@ -138,10 +142,10 @@ define(['require',
"prefixString"
:
term
},
cache
:
true
,
success
:
function
(
data
)
{
var
data
=
data
.
suggestions
||
[];
that
.
cache
[
term
]
=
_
.
extend
({},
that
.
cache
[
term
],
{
suggestions
:
{
category
:
"suggestions"
,
data
:
data
,
order
:
2
}
})
;
sendResponse
(
data
);
success
:
function
(
response
)
{
var
rData
=
response
.
suggestions
||
[];
data
.
suggestions
=
{
category
:
"suggestions"
,
data
:
rData
,
order
:
2
}
;
sendResponse
();
}
});
},
...
...
@@ -152,9 +156,16 @@ define(['require',
return
str
;
}
},
triggerBuasicSearch
:
function
(
query
)
{
Utils
.
setUrl
({
url
:
'#!/search/searchResult?query='
+
encodeURIComponent
(
query
)
+
'&searchType=basic'
,
mergeBrowserUrl
:
false
,
trigger
:
true
,
updateTabState
:
true
});
},
initializeGlobalSearch
:
function
()
{
var
that
=
this
;
this
.
cache
=
{};
this
.
ui
.
globalSearch
.
atlasAutoComplete
({
minLength
:
1
,
autoFocus
:
false
,
...
...
@@ -171,13 +182,11 @@ define(['require',
var
item
=
ui
&&
ui
.
item
;
event
.
preventDefault
();
event
.
stopPropagation
();
var
$el
=
$
(
this
);
if
(
_
.
isString
(
item
))
{
var
$el
=
$
(
this
);
$el
.
val
(
item
);
$el
.
data
(
"valSelected"
,
true
);
setTimeout
(
function
()
{
$el
.
atlasAutoComplete
(
"search"
);
},
10
);
that
.
triggerBuasicSearch
(
item
);
}
else
if
(
_
.
isObject
(
item
)
&&
item
.
guid
)
{
Utils
.
setUrl
({
url
:
'#!/detailPage/'
+
item
.
guid
,
...
...
@@ -185,14 +194,10 @@ define(['require',
trigger
:
true
});
}
$el
.
blur
();
return
true
;
},
source
:
function
(
request
,
response
)
{
var
term
=
request
.
term
;
if
(
that
.
cache
&&
that
.
cache
[
term
])
{
response
(
that
.
cache
[
term
]);
return
;
}
that
.
fetchSearchData
({
request
:
request
,
response
:
response
...
...
@@ -207,19 +212,26 @@ define(['require',
that
.
ui
.
clearGlobalSearch
.
addClass
(
"in"
);
if
(
event
.
keyCode
==
13
)
{
if
(
$
(
this
).
data
(
"valSelected"
)
!==
true
)
{
Utils
.
setUrl
({
url
:
'#!/search/searchResult?query='
+
encodeURIComponent
(
that
.
getSearchString
(
$
(
this
).
val
()))
+
'&searchType=basic'
,
mergeBrowserUrl
:
false
,
trigger
:
true
});
that
.
triggerBuasicSearch
(
that
.
getSearchString
(
$
(
this
).
val
()));
}
else
{
$
(
this
).
data
(
"valSelected"
,
false
);
}
}
}
}).
atlasAutoComplete
(
"instance"
).
_renderItem
=
function
(
ul
,
searchItem
)
{
if
(
searchItem
)
{
var
data
=
searchItem
.
data
;
var
data
=
searchItem
.
data
,
searchTerm
=
this
.
term
,
getHighlightedTerm
=
function
(
resultStr
)
{
try
{
return
resultStr
.
replace
(
new
RegExp
(
searchTerm
,
"gi"
),
function
(
foundStr
)
{
return
"<span class='searched-term'>"
+
foundStr
+
"</span>"
;
});
}
catch
(
error
)
{
return
resultStr
;
}
}
if
(
data
)
{
if
(
data
.
length
==
0
)
{
return
$
(
"<li class='empty'></li>"
)
...
...
@@ -237,16 +249,15 @@ define(['require',
var
img
=
$
(
'<img src="'
+
Utils
.
getEntityIconPath
(
options
)
+
'">'
).
on
(
'error'
,
function
(
error
,
s
)
{
this
.
src
=
Utils
.
getEntityIconPath
(
_
.
extend
(
options
,
{
errorUrl
:
this
.
src
}));
});
var
span
=
$
(
"<span>"
+
item
.
itemText
+
"</span>"
)
var
span
=
$
(
"<span>"
+
(
getHighlightedTerm
(
item
.
itemText
))
+
"</span>"
)
.
prepend
(
img
);
li
=
$
(
"<li class='with-icon'>"
)
.
append
(
span
);
li
.
data
(
"ui-autocomplete-item"
,
item
);
}
else
{
li
=
$
(
"<li>"
)
.
append
(
"<span>"
+
item
+
"</span>"
)
li
.
data
(
"ui-autocomplete-item"
,
item
);
.
append
(
"<span>"
+
(
getHighlightedTerm
(
item
))
+
"</span>"
);
}
li
.
data
(
"ui-autocomplete-item"
,
item
);
if
(
searchItem
.
category
)
{
items
.
push
(
li
.
attr
(
"aria-label"
,
searchItem
.
category
+
" : "
+
(
_
.
isObject
(
item
)
?
item
.
itemText
:
item
)));
}
...
...
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