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
4e62a062
Commit
4e62a062
authored
Jul 11, 2017
by
kevalbhatt
Committed by
Madhan Neethiraj
Jul 12, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-1902: updated search UI to allow user to select columns in search result
Signed-off-by:
Madhan Neethiraj
<
madhan@apache.org
>
parent
ea1c3b68
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
81 additions
and
25 deletions
+81
-25
gruntfile.js
dashboardv2/gruntfile.js
+3
-0
package.json
dashboardv2/package.json
+1
-0
main.scss
dashboardv2/public/css/scss/main.scss
+1
-1
override.scss
dashboardv2/public/css/scss/override.scss
+20
-2
index.html
dashboardv2/public/index.html
+1
-0
main.js
dashboardv2/public/js/main.js
+4
-0
CommonViewFunction.js
dashboardv2/public/js/utils/CommonViewFunction.js
+8
-2
TableLayout.js
dashboardv2/public/js/utils/TableLayout.js
+19
-8
AuditTableLayoutView.js
dashboardv2/public/js/views/audit/AuditTableLayoutView.js
+2
-2
CreateAuditTableLayoutView.js
...ardv2/public/js/views/audit/CreateAuditTableLayoutView.js
+2
-2
DetailPageLayoutView.js
...ardv2/public/js/views/detail_page/DetailPageLayoutView.js
+2
-2
EntityDetailTableLayoutView.js
...dv2/public/js/views/entity/EntityDetailTableLayoutView.js
+2
-2
SearchLayoutView.js
dashboardv2/public/js/views/search/SearchLayoutView.js
+16
-4
SearchResultLayoutView.js
dashboardv2/public/js/views/search/SearchResultLayoutView.js
+0
-0
No files found.
dashboardv2/gruntfile.js
View file @
4e62a062
...
...
@@ -119,6 +119,7 @@ module.exports = function(grunt) {
'backgrid-orderable-columns/js'
:
'backgrid-orderable-columns/backgrid-orderable-columns.js'
,
'backgrid-paginator/js'
:
'backgrid-paginator/backgrid-paginator.min.js'
,
'backgrid-sizeable-columns/js'
:
'backgrid-sizeable-columns/backgrid-sizeable-columns.js'
,
'backgrid-columnmanager/js'
:
'backgrid-columnmanager/src/Backgrid.ColumnManager.js'
,
'jquery-asBreadcrumbs/js'
:
'jquery-asBreadcrumbs/dist/jquery-asBreadcrumbs.min.js'
,
'd3'
:
'd3/d3.min.js'
,
'd3/'
:
'd3-tip/index.js'
,
...
...
@@ -144,6 +145,7 @@ module.exports = function(grunt) {
'backgrid-orderable-columns/css'
:
'backgrid-orderable-columns/backgrid-orderable-columns.css'
,
'backgrid-paginator/css'
:
'backgrid-paginator/backgrid-paginator.css'
,
'backgrid-sizeable-columns/css'
:
'backgrid-sizeable-columns/backgrid-sizeable-columns.css'
,
'backgrid-columnmanager/css'
:
'backgrid-columnmanager/lib/Backgrid.ColumnManager.css'
,
'jquery-asBreadcrumbs/css'
:
'jquery-asBreadcrumbs/dist/css/asBreadcrumbs.min.css'
,
'select2/css'
:
'select2/dist/css/select2.min.css'
,
'backgrid-select-all'
:
'backgrid-select-all/backgrid-select-all.min.css'
,
...
...
@@ -172,6 +174,7 @@ module.exports = function(grunt) {
'backgrid-orderable-columns'
:
'backgrid-orderable-columns/LICENSE-MIT'
,
'backgrid-paginator'
:
'backgrid-paginator/LICENSE-MIT'
,
'backgrid-sizeable-columns'
:
'backgrid-sizeable-columns/LICENSE-MIT'
,
'backgrid-columnmanager'
:
'backgrid-columnmanager/LICENSE'
,
'jquery-asBreadcrumbs'
:
'jquery-asBreadcrumbs/LICENSE'
,
'd3'
:
'd3/LICENSE'
,
'd3/'
:
'd3-tip/LICENSE'
,
...
...
dashboardv2/package.json
View file @
4e62a062
...
...
@@ -21,6 +21,7 @@
"backbone.paginator"
:
"2.0.5"
,
"backbone.wreqr"
:
"1.4.0"
,
"backgrid"
:
"0.3.8"
,
"backgrid-columnmanager"
:
"0.2.4"
,
"backgrid-filter"
:
"0.3.7"
,
"backgrid-orderable-columns"
:
"0.1.2"
,
"backgrid-paginator"
:
"0.3.9"
,
...
...
dashboardv2/public/css/scss/main.scss
View file @
4e62a062
...
...
@@ -199,7 +199,7 @@ ul {
}
.termTableBreadcrumb
{
min-width
:
200px
;
/* min-width: 200px; */
/* width: 200px; */
/* display: inline-block; */
i
{
...
...
dashboardv2/public/css/scss/override.scss
View file @
4e62a062
...
...
@@ -76,7 +76,7 @@
border-color
:
$color_jungle_green_approx
;
border-bottom-style
:
solid
;
box-shadow
:
none
;
padding
:
20px
30
px
;
padding
:
20px
15
px
;
background-color
:
transparent
;
text-align
:
left
;
font-weight
:
800
;
...
...
@@ -89,7 +89,7 @@
border-color
:
$color_gallery_approx
;
color
:
#333333
;
font-weight
:
100
;
padding
:
1
5px
30
px
;
padding
:
1
0px
15
px
;
}
.backgrid-paginator
ul
>
li
>
a
:hover
,
...
...
@@ -286,3 +286,21 @@
.query-builder
.rule-value-container
input
{
padding
:
6px
12px
!
important
;
}
div
.columnmanager-visibilitycontrol
{
width
:
auto
;
margin-bottom
:
5px
;
}
.columnmanager-dropdown-container
>
li
>
span
.column-label
{
width
:
auto
;
}
div
.columnmanager-dropdown-container.open
{
overflow
:
auto
;
}
.columnmanager-visibilitycontrol.open
.btn-atlasAction
{
background-color
:
#37bb9b
;
color
:
#fff
;
}
dashboardv2/public/index.html
View file @
4e62a062
...
...
@@ -42,6 +42,7 @@
<link
rel=
"stylesheet"
href=
"js/libs/backgrid-paginator/css/backgrid-paginator.css"
>
<link
rel=
"stylesheet"
href=
"js/libs/backgrid-orderable-columns/css/backgrid-orderable-columns.css"
>
<link
rel=
"stylesheet"
href=
"js/libs/backgrid-sizeable-columns/css/backgrid-sizeable-columns.css"
>
<link
rel=
"stylesheet"
href=
"js/libs/backgrid-columnmanager/css/Backgrid.ColumnManager.css"
>
<link
rel=
"stylesheet"
href=
"js/libs/select2/css/select2.min.css"
>
<link
rel=
"stylesheet"
href=
"js/libs/bootstrap/css/bootstrap.min.css"
>
<link
rel=
"stylesheet"
href=
"js/libs/jquery-asBreadcrumbs/css/asBreadcrumbs.min.css"
>
...
...
dashboardv2/public/js/main.js
View file @
4e62a062
...
...
@@ -84,6 +84,9 @@ require.config({
'backgrid-select-all'
:
{
'deps'
:
[
'backbone'
,
'backgrid'
]
},
'backgrid-columnmanager'
:
{
'deps'
:
[
'backbone'
,
'backgrid'
],
},
'hbs'
:
{
'deps'
:
[
'underscore'
,
'handlebars'
]
},
...
...
@@ -126,6 +129,7 @@ require.config({
'backgrid-orderable'
:
'libs/backgrid-orderable-columns/js/backgrid-orderable-columns'
,
'backgrid-paginator'
:
'libs/backgrid-paginator/js/backgrid-paginator.min'
,
'backgrid-sizeable'
:
'libs/backgrid-sizeable-columns/js/backgrid-sizeable-columns'
,
'backgrid-columnmanager'
:
'libs/backgrid-columnmanager/js/Backgrid.ColumnManager'
,
'asBreadcrumbs'
:
'libs/jquery-asBreadcrumbs/js/jquery-asBreadcrumbs.min'
,
'd3'
:
'libs/d3/d3.min'
,
'd3-tip'
:
'libs/d3/index'
,
...
...
dashboardv2/public/js/utils/CommonViewFunction.js
View file @
4e62a062
...
...
@@ -92,7 +92,8 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
var
scope
=
options
.
scope
,
valueObject
=
options
.
valueObject
,
extractJSON
=
options
.
extractJSON
,
entityDef
=
options
.
entityDef
;
isTable
=
_
.
isUndefined
(
options
.
isTable
)
?
true
:
options
.
isTable
,
attributeDefs
=
options
.
attributeDefs
;
var
table
=
""
,
fetchInputOutputValue
=
function
(
id
)
{
...
...
@@ -212,7 +213,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
_
.
sortBy
(
_
.
keys
(
valueObject
)).
map
(
function
(
key
)
{
key
=
_
.
escape
(
key
);
var
keyValue
=
valueObject
[
key
];
var
defEntity
=
_
.
find
(
entityDef
,
{
name
:
key
});
var
defEntity
=
_
.
find
(
attributeDefs
,
{
name
:
key
});
if
(
defEntity
&&
defEntity
.
typeName
)
{
var
defEntityType
=
defEntity
.
typeName
.
toLocaleLowerCase
();
if
(
defEntityType
===
'date'
||
defEntityType
===
'time'
)
{
...
...
@@ -225,7 +226,12 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
keyValue
=
extractObject
(
keyValue
)
}
}
if
(
isTable
)
{
table
+=
'<tr><td>'
+
_
.
escape
(
key
)
+
'</td><td>'
+
(
_
.
isObject
(
valueObject
[
key
])
?
keyValue
:
_
.
escape
(
keyValue
))
+
'</td></tr>'
;
}
else
{
table
+=
'<div>'
+
(
_
.
isObject
(
valueObject
[
key
])
?
keyValue
:
_
.
escape
(
keyValue
))
+
'</div>'
;
}
});
return
table
;
}
...
...
dashboardv2/public/js/utils/TableLayout.js
View file @
4e62a062
...
...
@@ -26,7 +26,8 @@ define(['require',
'backgrid-paginator'
,
'backgrid-sizeable'
,
'backgrid-orderable'
,
'backgrid-select-all'
'backgrid-select-all'
,
'backgrid-columnmanager'
],
function
(
require
,
Backbone
,
FSTablelayoutTmpl
)
{
'use strict'
;
...
...
@@ -103,11 +104,14 @@ define(['require',
}
},
columnOpts
:
{
opts
:
{
initialColumnsVisible
:
4
,
// State settings
saveState
:
false
,
loadStateOnInit
:
true
},
visibilityControlOpts
:
{}
},
includePagination
:
true
,
...
...
@@ -301,14 +305,20 @@ define(['require',
* ColumnManager for the table
*/
renderColumnManager
:
function
()
{
var
$el
=
this
.
$
(
"[data-id='control']"
);
var
colManager
=
new
Backgrid
.
Extension
.
ColumnManager
(
this
.
columns
,
this
.
columnOpts
);
var
that
=
this
,
$el
=
this
.
$
(
"[data-id='control']"
),
colManager
=
new
Backgrid
.
Extension
.
ColumnManager
(
this
.
columns
,
this
.
columnOpts
.
opts
),
// Add control
var
colVisibilityControl
=
new
Backgrid
.
Extension
.
ColumnManagerVisibilityControl
({
columnManager
:
colManager
});
colVisibilityControl
=
new
Backgrid
.
Extension
.
ColumnManagerVisibilityControl
(
_
.
extend
({
columnManager
:
colManager
,
},
this
.
columnOpts
.
visibilityControlOpts
));
$el
.
append
(
colVisibilityControl
.
render
().
el
);
colManager
.
on
(
"state-changed"
,
function
(
state
)
{
that
.
collection
.
trigger
(
"state-changed"
,
state
);
});
colManager
.
on
(
"state-saved"
,
function
()
{
that
.
collection
.
trigger
(
"state-changed"
);
});
},
renderSizeAbleColumns
:
function
()
{
...
...
@@ -323,7 +333,7 @@ define(['require',
// Add resize handlers
var
sizeHandler
=
new
Backgrid
.
Extension
.
SizeAbleColumnsHandlers
({
sizeAbleColumns
:
sizeAbleCol
,
grid
:
this
.
getGridObj
(),
//
grid: this.getGridObj(),
saveModelWidth
:
true
});
this
.
$
(
'thead'
).
before
(
sizeHandler
.
render
().
el
);
...
...
@@ -341,6 +351,7 @@ define(['require',
grid
:
this
.
getGridObj
(),
columns
:
this
.
columns
});
this
.
$
(
'thead'
).
before
(
sizeAbleCol
.
render
().
el
);
var
orderHandler
=
new
Backgrid
.
Extension
.
OrderableColumns
({
grid
:
this
.
getGridObj
(),
sizeAbleColumns
:
sizeAbleCol
...
...
dashboardv2/public/js/views/audit/AuditTableLayoutView.js
View file @
4e62a062
...
...
@@ -57,7 +57,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'guid'
,
'entity'
,
'entityName'
,
'
entityDef
'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'guid'
,
'entity'
,
'entityName'
,
'
attributeDefs
'
));
this
.
entityCollection
=
new
VEntityList
();
this
.
limit
=
26
;
this
.
entityCollection
.
url
=
UrlLinks
.
entityCollectionaudit
(
this
.
guid
);
...
...
@@ -239,7 +239,7 @@ define(['require',
that
.
action
=
$
(
e
.
target
).
data
(
"action"
);
var
eventModel
=
that
.
entityCollection
.
fullCollection
.
findWhere
({
'eventKey'
:
$
(
e
.
currentTarget
).
data
(
'modalid'
)
}).
toJSON
(),
collectionModel
=
new
that
.
entityCollection
.
model
(
eventModel
),
view
=
new
CreateAuditTableLayoutView
({
guid
:
that
.
guid
,
entityModel
:
collectionModel
,
action
:
that
.
action
,
entity
:
that
.
entity
,
entityName
:
that
.
entityName
,
entityDef
:
that
.
entityDef
});
view
=
new
CreateAuditTableLayoutView
({
guid
:
that
.
guid
,
entityModel
:
collectionModel
,
action
:
that
.
action
,
entity
:
that
.
entity
,
entityName
:
that
.
entityName
,
attributeDefs
:
that
.
attributeDefs
});
var
modal
=
new
Modal
({
title
:
that
.
action
,
content
:
view
,
...
...
dashboardv2/public/js/views/audit/CreateAuditTableLayoutView.js
View file @
4e62a062
...
...
@@ -55,7 +55,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'guid'
,
'entityModel'
,
'action'
,
'entity'
,
'entityName'
,
'
entityDef
'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'guid'
,
'entityModel'
,
'action'
,
'entity'
,
'entityName'
,
'
attributeDefs
'
));
},
bindEvents
:
function
()
{},
onRender
:
function
()
{
...
...
@@ -84,7 +84,7 @@ define(['require',
var
tagHeader
=
((
name
?
name
:
this
.
entityName
));
this
.
ui
.
tagHeader
.
append
(
tagHeader
);
this
.
ui
.
auditHeaderValue
.
html
(
'<th>Key</th><th>New Value</th>'
);
table
=
CommonViewFunction
.
propertyTable
({
scope
:
this
,
valueObject
:
values
,
entityDef
:
this
.
entityDef
,
extractJSON
:
{
extractKey
:
'value'
}
});
table
=
CommonViewFunction
.
propertyTable
({
scope
:
this
,
valueObject
:
values
,
attributeDefs
:
this
.
attributeDefs
,
extractJSON
:
{
extractKey
:
'value'
}
});
if
(
table
.
length
)
{
this
.
ui
.
noData
.
hide
();
this
.
ui
.
tableAudit
.
show
();
...
...
dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
View file @
4e62a062
...
...
@@ -242,12 +242,12 @@ define(['require',
},
getEntityDef
:
function
(
obj
)
{
var
data
=
this
.
entityDefCollection
.
fullCollection
.
findWhere
({
name
:
obj
.
entity
.
typeName
}).
toJSON
();
var
entityDef
=
Utils
.
getNestedSuperTypeObj
({
var
attributeDefs
=
Utils
.
getNestedSuperTypeObj
({
data
:
data
,
attrMerge
:
true
,
collection
:
this
.
entityDefCollection
});
obj
[
'
entityDef'
]
=
entityDef
;
obj
[
'
attributeDefs'
]
=
attributeDefs
;
this
.
renderEntityDetailTableLayoutView
(
obj
);
this
.
renderAuditTableLayoutView
(
obj
);
},
...
...
dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
View file @
4e62a062
...
...
@@ -48,7 +48,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'entity'
,
'referredEntities'
,
'typeHeaders'
,
'
entityDef
'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'entity'
,
'referredEntities'
,
'typeHeaders'
,
'
attributeDefs
'
));
this
.
entityModel
=
new
VEntity
({});
},
bindEvents
:
function
()
{},
...
...
@@ -65,7 +65,7 @@ define(['require',
});
attributeObject
.
columns
=
valueSorted
;
}
var
table
=
CommonViewFunction
.
propertyTable
({
scope
:
this
,
valueObject
:
attributeObject
,
entityDef
:
this
.
entityDef
});
var
table
=
CommonViewFunction
.
propertyTable
({
scope
:
this
,
valueObject
:
attributeObject
,
attributeDefs
:
this
.
attributeDefs
});
that
.
ui
.
detailValue
.
append
(
table
);
}
});
...
...
dashboardv2/public/js/views/search/SearchLayoutView.js
View file @
4e62a062
...
...
@@ -403,16 +403,28 @@ define(['require',
},
triggerSearch
:
function
(
value
)
{
this
.
query
[
this
.
type
].
query
=
value
||
null
;
var
params
=
{
searchType
:
this
.
type
,
dslChecked
:
this
.
ui
.
searchType
.
is
(
':checked'
)
}
this
.
query
[
this
.
type
].
type
=
this
.
ui
.
typeLov
.
select2
(
'val'
)
||
null
;
if
(
!
this
.
dsl
)
{
this
.
query
[
this
.
type
].
tag
=
this
.
ui
.
tagLov
.
select2
(
'val'
)
||
null
;
}
if
(
this
.
dsl
)
{
params
[
'attributes'
]
=
null
;
}
else
{
var
columnList
=
JSON
.
parse
(
Utils
.
localStorage
.
getValue
(
'columnList'
));
if
(
columnList
)
{
params
[
'attributes'
]
=
columnList
[
this
.
query
[
this
.
type
].
type
];
}
else
{
params
[
'attributes'
]
=
null
;
}
}
Utils
.
setUrl
({
url
:
'#!/search/searchResult'
,
urlParams
:
_
.
extend
(
this
.
query
[
this
.
type
],
{
searchType
:
this
.
type
,
dslChecked
:
this
.
ui
.
searchType
.
is
(
':checked'
)
}),
urlParams
:
_
.
extend
(
this
.
query
[
this
.
type
],
params
),
updateTabState
:
function
()
{
return
{
searchUrl
:
this
.
url
,
stateChanged
:
true
};
},
...
...
dashboardv2/public/js/views/search/SearchResultLayoutView.js
View file @
4e62a062
This diff is collapsed.
Click to expand it.
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