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
fc7d3009
Commit
fc7d3009
authored
8 years ago
by
kevalbhatt
Committed by
Madhan Neethiraj
8 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-1756: UI update to allow user to edit tag attribute values
Signed-off-by:
Madhan Neethiraj
<
madhan@apache.org
>
parent
b2bee2cc
master
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
255 additions
and
156 deletions
+255
-156
main.scss
dashboardv2/public/css/scss/main.scss
+43
-0
main.js
dashboardv2/public/js/main.js
+13
-2
VEntity.js
dashboardv2/public/js/models/VEntity.js
+2
-2
Router.js
dashboardv2/public/js/router/Router.js
+68
-46
addTagModalView_tmpl.html
...boardv2/public/js/templates/tag/addTagModalView_tmpl.html
+3
-0
UrlLinks.js
dashboardv2/public/js/utils/UrlLinks.js
+8
-0
DetailPageLayoutView.js
...ardv2/public/js/views/detail_page/DetailPageLayoutView.js
+5
-3
SchemaLayoutView.js
dashboardv2/public/js/views/schema/SchemaLayoutView.js
+7
-7
SearchDetailLayoutView.js
dashboardv2/public/js/views/search/SearchDetailLayoutView.js
+3
-2
SearchResultLayoutView.js
dashboardv2/public/js/views/search/SearchResultLayoutView.js
+3
-2
TagDetailTableLayoutView.js
dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
+25
-3
addTagModalView.js
dashboardv2/public/js/views/tag/addTagModalView.js
+75
-89
No files found.
dashboardv2/public/css/scss/main.scss
View file @
fc7d3009
...
...
@@ -188,6 +188,9 @@ ul {
background-color
:
$transparent
;
border
:
1px
solid
$color_jungle_green_approx
;
cursor
:
pointer
;
&
+
.auditDetailBtn
{
margin-left
:
5px
;
}
}
.add-seperator
{
...
...
@@ -315,6 +318,10 @@ ul {
&
.editbutton
[
data-id
=
"editButton"
]
{
display
:
none
!
important
;
}
&
[
data-id
=
"delete"
],
&
[
data-id
=
"edit"
]
{
display
:
none
;
}
}
}
...
...
@@ -340,3 +347,39 @@ ul {
.no-padding
{
padding
:
0px
!
important
;
}
.no-padding-bottom
{
padding-bottom
:
0px
!
important
;
}
.no-padding-top
{
padding-top
:
0px
!
important
;
}
.no-padding-left
{
padding-left
:
0px
!
important
;
}
.no-padding-right
{
padding-right
:
0px
!
important
;
}
.no-margin
{
margin
:
0px
!
important
;
}
.no-margin-bottom
{
margin-bottom
:
0px
!
important
;
}
.no-margin-top
{
margin-top
:
0px
!
important
;
}
.no-margin-left
{
margin-left
:
0px
!
important
;
}
.no-margin-right
{
margin-right
:
0px
!
important
;
}
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/main.js
View file @
fc7d3009
...
...
@@ -168,15 +168,19 @@ require(['App',
'select2'
],
function
(
App
,
Router
,
CommonViewFunction
,
Globals
,
UrlLinks
,
VEntityList
,
VTagList
)
{
var
that
=
this
;
this
.
asyncFetchCounter
=
3
;
this
.
asyncFetchCounter
=
4
;
this
.
entityDefCollection
=
new
VEntityList
();
this
.
entityDefCollection
.
url
=
UrlLinks
.
entitiesDefApiUrl
();
this
.
typeHeaders
=
new
VTagList
();
this
.
typeHeaders
.
url
=
UrlLinks
.
typesApiUrl
();
this
.
enumDefCollection
=
new
VTagList
();
this
.
enumDefCollection
.
url
=
UrlLinks
.
enumDefApiUrl
();
this
.
enumDefCollection
.
modelAttrName
=
"enumDefs"
;
App
.
appRouter
=
new
Router
({
entityDefCollection
:
this
.
entityDefCollection
,
typeHeaders
:
this
.
typeHeaders
typeHeaders
:
this
.
typeHeaders
,
enumDefCollection
:
this
.
enumDefCollection
});
var
startApp
=
function
()
{
...
...
@@ -228,4 +232,11 @@ require(['App',
startApp
();
}
});
this
.
enumDefCollection
.
fetch
({
skipDefaultError
:
true
,
complete
:
function
()
{
--
that
.
asyncFetchCounter
;
startApp
();
}
});
});
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/models/VEntity.js
View file @
fc7d3009
...
...
@@ -52,8 +52,8 @@ define(['require',
return
this
.
constructor
.
nonCrudOperation
.
call
(
this
,
url
,
'GET'
,
options
);
},
saveTraitsEntity
:
function
(
options
)
{
var
url
=
UrlLinks
.
entitiesTraitsApiUrl
();
saveTraitsEntity
:
function
(
token
,
options
)
{
var
url
=
UrlLinks
.
entitiesTraitsApiUrl
(
token
);
options
=
_
.
extend
({
contentType
:
'application/json'
,
dataType
:
'json'
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/router/Router.js
View file @
fc7d3009
...
...
@@ -42,12 +42,17 @@ define([
'*actions'
:
'defaultAction'
},
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'entityDefCollection'
,
'typeHeaders'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'entityDefCollection'
,
'typeHeaders'
,
'enumDefCollection'
));
this
.
showRegions
();
this
.
bindCommonEvents
();
this
.
listenTo
(
this
,
'route'
,
this
.
postRouteExecute
,
this
);
this
.
tagCollection
=
new
VTagList
();
this
.
searchVent
=
new
Backbone
.
Wreqr
.
EventAggregator
();
this
.
preFetchedCollectionLists
=
{
'entityDefCollection'
:
this
.
entityDefCollection
,
'typeHeaders'
:
this
.
typeHeaders
,
'enumDefCollection'
:
this
.
enumDefCollection
}
},
bindCommonEvents
:
function
()
{
var
that
=
this
;
...
...
@@ -110,17 +115,29 @@ define([
var
paramObj
=
Utils
.
getUrlState
.
getQueryParams
();
this
.
collection
=
new
VCatalogList
();
this
.
collection
.
url
=
url
;
App
.
rNHeader
.
show
(
new
BusinessCatalogHeader
({
'url'
:
url
,
'collection'
:
this
.
collection
}));
App
.
rNHeader
.
show
(
new
BusinessCatalogHeader
(
_
.
extend
({
'url'
:
url
,
'collection'
:
this
.
collection
},
that
.
preFetchedCollectionLists
)
));
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
({
'url'
:
url
,
'collection'
:
that
.
tagCollection
,
'typeHeaders'
:
that
.
typeHeaders
}));
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'url'
:
url
,
'collection'
:
that
.
tagCollection
},
that
.
preFetchedCollectionLists
)
));
}
else
{
App
.
rSideNav
.
currentView
.
RBusinessCatalogLayoutView
.
currentView
.
manualRender
(
"/"
+
url
);
App
.
rSideNav
.
currentView
.
selectTab
();
}
App
.
rNContent
.
show
(
new
BusinessCatalogDetailLayoutView
({
'url'
:
url
,
'collection'
:
this
.
collection
}));
App
.
rNContent
.
show
(
new
BusinessCatalogDetailLayoutView
(
_
.
extend
({
'url'
:
url
,
'collection'
:
this
.
collection
},
that
.
preFetchedCollectionLists
)
));
this
.
collection
.
fetch
({
reset
:
true
});
}
else
{
that
.
defaultAction
()
...
...
@@ -139,16 +156,18 @@ define([
this
.
entityCollection
=
new
VEntityList
([],
{});
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
({
'collection'
:
that
.
tagCollection
,
'typeHeaders'
:
that
.
typeHeaders
}));
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'collection'
:
that
.
tagCollection
,
},
that
.
preFetchedCollectionLists
)
));
}
else
{
App
.
rSideNav
.
currentView
.
selectTab
();
}
App
.
rNContent
.
show
(
new
DetailPageLayoutView
({
App
.
rNContent
.
show
(
new
DetailPageLayoutView
(
_
.
extend
(
{
'collection'
:
this
.
entityCollection
,
'id'
:
id
,
'entityDefCollection'
:
that
.
entityDefCollection
,
'typeHeaders'
:
that
.
typeHeaders
}));
},
that
.
preFetchedCollectionLists
)));
this
.
entityCollection
.
url
=
UrlLinks
.
entitiesApiUrl
(
id
);
this
.
entityCollection
.
fetch
({
reset
:
true
});
});
...
...
@@ -164,23 +183,24 @@ define([
],
function
(
Header
,
BusinessCatalogLayoutView
,
SideNavLayoutView
,
TagDetailLayoutView
)
{
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
({
'tag'
:
tagName
,
'typeHeaders'
:
that
.
typeHeaders
,
'collection'
:
that
.
tagCollection
}));
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'tag'
:
tagName
,
'collection'
:
that
.
tagCollection
},
that
.
preFetchedCollectionLists
)
));
}
else
{
App
.
rSideNav
.
currentView
.
RTagLayoutView
.
currentView
.
manualRender
(
tagName
);
App
.
rSideNav
.
currentView
.
selectTab
();
}
if
(
tagName
)
{
App
.
rNContent
.
show
(
new
TagDetailLayoutView
(
{
'tag'
:
tagName
,
'entityDefCollection'
:
that
.
entityDefCollection
,
'collection'
:
that
.
tagCollection
,
'typeHeaders'
:
that
.
typeHeaders
}
));
App
.
rNContent
.
show
(
new
TagDetailLayoutView
(
_
.
extend
({
'tag'
:
tagName
,
'collection'
:
that
.
tagCollection
,
},
that
.
preFetchedCollectionLists
)
));
}
});
},
...
...
@@ -195,10 +215,11 @@ define([
var
paramObj
=
Utils
.
getUrlState
.
getQueryParams
();
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
({
'collection'
:
that
.
tagCollection
,
'typeHeaders'
:
that
.
typeHeaders
}));
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'collection'
:
that
.
tagCollection
},
that
.
preFetchedCollectionLists
)
));
}
else
{
App
.
rSideNav
.
currentView
.
selectTab
();
if
(
Utils
.
getUrlState
.
isTagTab
())
{
...
...
@@ -208,12 +229,12 @@ define([
}
}
if
(
Globals
.
entityCreate
&&
Utils
.
getUrlState
.
isSearchTab
())
{
App
.
rNContent
.
show
(
new
SearchDetailLayoutView
(
{
'value'
:
paramObj
,
'entityDefCollection'
:
that
.
entityDefCollection
,
'initialView'
:
true
,
'typeHeaders'
:
that
.
typeHeaders
}))
App
.
rNContent
.
show
(
new
SearchDetailLayoutView
(
_
.
extend
({
'value'
:
paramObj
,
'initialView'
:
true
},
that
.
preFetchedCollectionLists
)
));
}
else
{
App
.
rNContent
.
$el
.
html
(
""
);
App
.
rNContent
.
destroy
();
...
...
@@ -231,23 +252,24 @@ define([
var
paramObj
=
Utils
.
getUrlState
.
getQueryParams
();
App
.
rNHeader
.
show
(
new
Header
());
if
(
!
App
.
rSideNav
.
currentView
)
{
App
.
rSideNav
.
show
(
new
SideNavLayoutView
({
'value'
:
paramObj
,
'collection'
:
that
.
tagCollection
,
'searchVent'
:
that
.
searchVent
,
'typeHeaders'
:
that
.
typeHeaders
}));
App
.
rSideNav
.
show
(
new
SideNavLayoutView
(
_
.
extend
({
'value'
:
paramObj
,
'collection'
:
that
.
tagCollection
,
'searchVent'
:
that
.
searchVent
},
that
.
preFetchedCollectionLists
)
));
}
else
{
App
.
rSideNav
.
currentView
.
RSearchLayoutView
.
currentView
.
manualRender
(
paramObj
);
}
App
.
rSideNav
.
currentView
.
selectTab
();
App
.
rNContent
.
show
(
new
SearchDetailLayoutView
(
{
'value'
:
paramObj
,
'entityDefCollection'
:
that
.
entityDefCollection
,
'typeHeaders'
:
that
.
typeHeaders
,
'searchVent'
:
that
.
searchVent
,
'initialView'
:
(
paramObj
.
type
||
(
paramObj
.
dslChecked
==
"true"
?
""
:
paramObj
.
tag
)
||
(
paramObj
.
query
?
paramObj
.
query
.
trim
()
:
""
)).
length
===
0
}
));
App
.
rNContent
.
show
(
new
SearchDetailLayoutView
(
_
.
extend
({
'value'
:
paramObj
,
'searchVent'
:
that
.
searchVent
,
'initialView'
:
(
paramObj
.
type
||
(
paramObj
.
dslChecked
==
"true"
?
""
:
paramObj
.
tag
)
||
(
paramObj
.
query
?
paramObj
.
query
.
trim
()
:
""
)).
length
===
0
},
that
.
preFetchedCollectionLists
)
));
});
},
defaultAction
:
function
(
actions
)
{
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/templates/tag/addTagModalView_tmpl.html
View file @
fc7d3009
...
...
@@ -16,8 +16,11 @@
-->
<div>
<div
class=
"form-group hide"
>
{{#if tagModel}}
<h4>
{{tagModel.typeName}}
</h4>
{{else}}
<select
class=
"form-control row-margin-bottom"
data-id=
"addTagOptions"
required
>
</select>
{{/if}}
</div>
<div
class=
"row modalHeight"
>
<div
class=
"col-sm-12"
>
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/utils/UrlLinks.js
View file @
fc7d3009
...
...
@@ -52,6 +52,14 @@ define(['require', 'utils/Enums'], function(require, Enums) {
return
entitieDefUrl
.
defs
+
'?type=entity'
;
}
},
enumDefApiUrl
:
function
(
name
)
{
var
enumDefApiUrl
=
this
.
typedefsUrl
();
if
(
name
)
{
return
enumDefApiUrl
.
def
+
'/name/'
+
name
+
'?type=enum'
;
}
else
{
return
enumDefApiUrl
.
defs
+
'?type=enum'
;
}
},
entitiesTraitsApiUrl
:
function
(
token
)
{
if
(
token
)
{
return
this
.
baseUrlV2
+
'/entity/guid/'
+
token
+
'/classifications'
;
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
View file @
fc7d3009
...
...
@@ -104,7 +104,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'collection'
,
'id'
,
'entityDefCollection'
,
'typeHeaders'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'collection'
,
'id'
,
'entityDefCollection'
,
'typeHeaders'
,
'enumDefCollection'
));
this
.
bindEvents
();
},
bindEvents
:
function
()
{
...
...
@@ -171,7 +171,8 @@ define(['require',
entityName
:
this
.
name
,
typeHeaders
:
this
.
typeHeaders
,
entityDefCollection
:
this
.
entityDefCollection
,
fetchCollection
:
this
.
fetchCollection
.
bind
(
that
)
fetchCollection
:
this
.
fetchCollection
.
bind
(
that
),
enumDefCollection
:
this
.
enumDefCollection
}
this
.
getEntityDef
(
obj
);
this
.
renderTagTableLayoutView
(
obj
);
...
...
@@ -325,7 +326,8 @@ define(['require',
that
.
fetchCollection
();
},
showLoader
:
that
.
showLoader
.
bind
(
that
),
hideLoader
:
that
.
hideLoader
.
bind
(
that
)
hideLoader
:
that
.
hideLoader
.
bind
(
that
),
enumDefCollection
:
that
.
enumDefCollection
});
view
.
modal
.
on
(
'ok'
,
function
()
{
Utils
.
showTitleLoader
(
that
.
$
(
'.page-title .fontLoader'
),
that
.
$
(
'.entityDetail'
));
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/views/schema/SchemaLayoutView.js
View file @
fc7d3009
...
...
@@ -48,8 +48,7 @@ define(['require',
showMoreLess
:
'[data-id="showMoreLess"]'
,
showMoreLessTerm
:
'[data-id="showMoreLessTerm"]'
,
addAssignTag
:
"[data-id='addAssignTag']"
,
checkDeletedEntity
:
"[data-id='checkDeletedEntity']"
,
checkDeletedEntity
:
"[data-id='checkDeletedEntity']"
},
/** ui events hash */
events
:
function
()
{
...
...
@@ -95,7 +94,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'guid'
,
'entityDefCollection'
,
'attribute'
,
'referredEntities'
,
'fetchCollection'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'guid'
,
'entityDefCollection'
,
'attribute'
,
'referredEntities'
,
'fetchCollection'
,
'enumDefCollection'
));
this
.
schemaCollection
=
new
VSchemaList
([],
{});
this
.
commonTableOptions
=
{
collection
:
this
.
schemaCollection
,
...
...
@@ -228,7 +227,7 @@ define(['require',
// return this;
// }
});
var
columns
=
new
columnCollection
(
that
.
getSchemaTableColumns
());
var
columns
=
new
columnCollection
(
that
.
getSchemaTableColumns
(
deleteEnity
));
//columns.setPositions().sort();
that
.
RSchemaTableLayoutView
.
show
(
new
TableLayout
(
_
.
extend
({},
that
.
commonTableOptions
,
{
columns
:
columns
...
...
@@ -247,7 +246,7 @@ define(['require',
});
});
},
getSchemaTableColumns
:
function
()
{
getSchemaTableColumns
:
function
(
deleteEnity
)
{
var
that
=
this
,
col
=
{
Check
:
{
...
...
@@ -271,7 +270,7 @@ define(['require',
var
value
=
model
.
get
(
'attributes'
)[
key
];
if
(
key
===
"name"
&&
model
.
get
(
'guid'
))
{
var
nameHtml
=
'<a href="#!/detailPage/'
+
model
.
get
(
'guid'
)
+
'">'
+
value
+
'</a>'
;
if
(
model
.
get
(
'status'
)
&&
Enums
.
entityStateReadOnly
[
model
.
get
(
'status'
)])
{
if
(
model
.
get
(
'status'
)
&&
Enums
.
entityStateReadOnly
[
model
.
get
(
'status'
)]
&&
deleteEnity
)
{
nameHtml
+=
'<button type="button" title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'
;
return
'<div class="readOnly readOnlyLink">'
+
nameHtml
+
'</div>'
;
}
else
{
...
...
@@ -369,7 +368,8 @@ define(['require',
that
.
arr
=
[];
},
hideLoader
:
that
.
hideLoader
.
bind
(
that
),
showLoader
:
that
.
showLoader
.
bind
(
that
)
showLoader
:
that
.
showLoader
.
bind
(
that
),
enumDefCollection
:
that
.
enumDefCollection
});
// view.saveTagData = function() {
//override saveTagData function
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/views/search/SearchDetailLayoutView.js
View file @
fc7d3009
...
...
@@ -43,7 +43,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'value'
,
'initialView'
,
'entityDefCollection'
,
'typeHeaders'
,
'searchVent'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'value'
,
'initialView'
,
'entityDefCollection'
,
'typeHeaders'
,
'searchVent'
,
'enumDefCollection'
));
},
bindEvents
:
function
()
{},
onRender
:
function
()
{
...
...
@@ -61,7 +61,8 @@ define(['require',
initialView
:
that
.
initialView
,
entityDefCollection
:
that
.
entityDefCollection
,
typeHeaders
:
that
.
typeHeaders
,
searchVent
:
that
.
searchVent
searchVent
:
that
.
searchVent
,
enumDefCollection
:
that
.
enumDefCollection
}));
}
});
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/views/search/SearchResultLayoutView.js
View file @
fc7d3009
...
...
@@ -126,7 +126,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'value'
,
'initialView'
,
'entityDefCollection'
,
'typeHeaders'
,
'searchVent'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'value'
,
'initialView'
,
'entityDefCollection'
,
'typeHeaders'
,
'searchVent'
,
'enumDefCollection'
));
var
pagination
=
""
;
this
.
entityModel
=
new
VEntity
();
this
.
searchCollection
=
new
VSearchList
();
...
...
@@ -490,7 +490,8 @@ define(['require',
},
tagList
:
that
.
getTagList
(
guid
,
multiple
),
showLoader
:
that
.
showLoader
.
bind
(
that
),
hideLoader
:
that
.
hideLoader
.
bind
(
that
)
hideLoader
:
that
.
hideLoader
.
bind
(
that
),
enumDefCollection
:
that
.
enumDefCollection
});
});
},
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
View file @
fc7d3009
...
...
@@ -43,6 +43,7 @@ define(['require',
detailValue
:
"[data-id='detailValue']"
,
addTag
:
"[data-id='addTag']"
,
deleteTag
:
"[data-id='delete']"
,
editTag
:
"[data-id='edit']"
,
},
/** ui events hash */
events
:
function
()
{
...
...
@@ -53,6 +54,9 @@ define(['require',
events
[
"click "
+
this
.
ui
.
deleteTag
]
=
function
(
e
)
{
this
.
deleteTagDataModal
(
e
);
};
events
[
"click "
+
this
.
ui
.
editTag
]
=
function
(
e
)
{
this
.
editTagDataModal
(
e
);
};
return
events
;
},
/**
...
...
@@ -60,7 +64,7 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
_
.
extend
(
this
,
_
.
pick
(
options
,
'entity'
,
'guid'
,
'term'
,
'entityName'
,
'fetchCollection'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'entity'
,
'guid'
,
'term'
,
'entityName'
,
'fetchCollection'
,
'enumDefCollection'
));
this
.
collectionObject
=
this
.
entity
;
this
.
tagTermCollection
=
new
VTagList
();
var
tagorterm
=
_
.
toArray
(
this
.
collectionObject
.
classifications
),
...
...
@@ -151,7 +155,7 @@ define(['require',
sortable
:
false
,
formatter
:
_
.
extend
({},
Backgrid
.
CellFormatter
.
prototype
,
{
fromRaw
:
function
(
rawValue
,
model
)
{
return
'<
a href="javascript:void(0)"><i class="fa fa-trash" data-id="delete" data-name="'
+
model
.
get
(
'typeName'
)
+
'"></i></a
>'
;
return
'<
button class="btn btn-atlasAction btn-atlas no-margin-bottom typeLOV" data-id="delete" data-name="'
+
model
.
get
(
'typeName'
)
+
'"><i class="fa fa-trash"></i></button> <button class="btn btn-atlasAction btn-atlas no-margin-bottom typeLOV" data-id="edit" data-name="'
+
model
.
get
(
'typeName'
)
+
'"><i class="fa fa-pencil"></i></button
>'
;
}
})
},
...
...
@@ -164,7 +168,8 @@ define(['require',
require
([
'views/tag/addTagModalView'
],
function
(
AddTagModalView
)
{
var
view
=
new
AddTagModalView
({
guid
:
that
.
guid
,
modalCollection
:
that
.
collection
modalCollection
:
that
.
collection
,
enumDefCollection
:
that
.
enumDefCollection
});
// view.saveTagData = function() {
//override saveTagData function
...
...
@@ -218,6 +223,23 @@ define(['require',
}
});
},
editTagDataModal
:
function
(
e
)
{
var
that
=
this
,
tagName
=
$
(
e
.
currentTarget
).
data
(
'name'
),
tagModel
=
_
.
findWhere
(
that
.
collectionObject
.
classifications
,
{
typeName
:
tagName
});
require
([
'views/tag/addTagModalView'
],
function
(
AddTagModalView
)
{
var
view
=
new
AddTagModalView
({
'tagModel'
:
tagModel
,
callback
:
function
()
{
that
.
fetchCollection
();
},
guid
:
that
.
guid
,
'enumDefCollection'
:
that
.
enumDefCollection
});
});
}
});
return
TagDetailTableLayoutView
;
...
...
This diff is collapsed.
Click to expand it.
dashboardv2/public/js/views/tag/addTagModalView.js
View file @
fc7d3009
...
...
@@ -31,6 +31,11 @@ define(['require',
var
AddTagModel
=
Marionette
.
LayoutView
.
extend
({
template
:
AddTagModalViewTmpl
,
templateHelpers
:
function
()
{
return
{
tagModel
:
this
.
tagModel
};
},
regions
:
{},
ui
:
{
...
...
@@ -47,38 +52,40 @@ define(['require',
* @constructs
*/
initialize
:
function
(
options
)
{
var
that
=
this
;
_
.
extend
(
this
,
_
.
pick
(
options
,
'modalCollection'
,
'guid'
,
'callback'
,
'multiple'
,
'showLoader'
,
'hideLoader'
,
'tagList'
));
_
.
extend
(
this
,
_
.
pick
(
options
,
'modalCollection'
,
'guid'
,
'callback'
,
'multiple'
,
'showLoader'
,
'hideLoader'
,
'tagList'
,
'tagModel'
,
'enumDefCollection'
));
this
.
collection
=
new
VTagList
();
this
.
commonCollection
=
new
VTagList
();
this
.
enumCollection
=
new
VTagList
();
this
.
enumCollection
.
url
=
UrlLinks
.
typedefsUrl
().
defs
;
this
.
enumCollection
.
modelAttrName
=
"enumDefs"
;
this
.
asyncAttrFetchCounter
=
0
;
this
.
asyncEnumFetchCounter
=
2
;
this
.
modal
=
new
Modal
({
title
:
'Add Tag'
,
content
:
this
,
okText
:
'Add'
,
cancelText
:
"Cancel"
,
allowCancel
:
true
,
}).
open
();
this
.
modal
.
$el
.
find
(
'button.ok'
).
attr
(
"disabled"
,
true
);
var
that
=
this
,
modalObj
=
{
title
:
'Add Tag'
,
content
:
this
,
okText
:
'Add'
,
cancelText
:
"Cancel"
,
allowCancel
:
true
,
},
state
=
this
.
tagModel
?
false
:
true
;
if
(
this
.
tagModel
)
{
modalObj
.
title
=
'Edit Tag'
;
modalObj
.
okText
=
'Update'
;
}
this
.
modal
=
new
Modal
(
modalObj
).
open
();
this
.
modal
.
$el
.
find
(
'button.ok'
).
attr
(
"disabled"
,
state
);
this
.
on
(
'ok'
,
function
()
{
var
tagName
=
this
.
ui
.
addTagOptions
.
val
();
var
tagAttributes
=
{};
var
tagAttributeNames
=
this
.
$
(
".attrName"
);
var
tagName
=
this
.
tagModel
?
this
.
tagModel
.
typeName
:
this
.
ui
.
addTagOptions
.
val
(),
tagAttributes
=
{},
tagAttributeNames
=
this
.
$
(
".attrName"
),
obj
=
{
tagName
:
tagName
,
tagAttributes
:
tagAttributes
,
guid
:
[],
skipEntity
:
[],
deletedEntity
:
[]
};
tagAttributeNames
.
each
(
function
(
i
,
item
)
{
var
selection
=
$
(
item
).
data
(
"key"
);
tagAttributes
[
selection
]
=
$
(
item
).
val
()
||
null
;
});
var
obj
=
{
tagName
:
tagName
,
tagAttributes
:
tagAttributes
,
guid
:
[],
skipEntity
:
[],
deletedEntity
:
[]
}
if
(
that
.
multiple
)
{
_
.
each
(
that
.
multiple
,
function
(
entity
,
i
)
{
var
name
=
Utils
.
getName
(
entity
.
model
);
...
...
@@ -172,21 +179,16 @@ define(['require',
onRender
:
function
()
{
var
that
=
this
;
$
.
extend
(
this
.
collection
.
queryParams
,
{
type
:
'
TRAIT'
,
notsupertype
:
'TaxonomyTerm
'
});
$
.
extend
(
this
.
collection
.
queryParams
,
{
type
:
'
classification
'
});
this
.
hideAttributeBox
();
this
.
collection
.
fetch
({
reset
:
true
,
complete
:
function
()
{
--
that
.
asyncEnumFetchCounter
;
that
.
showAttributeBox
(
that
.
asyncEnumFetchCounter
);
},
});
that
.
enumCollection
.
fetch
({
complete
:
function
()
{
--
that
.
asyncEnumFetchCounter
;
that
.
showAttributeBox
(
that
.
asyncEnumFetchCounter
);
if
(
that
.
tagModel
)
{
that
.
fetchTagSubData
(
that
.
tagModel
.
typeName
);
}
that
.
showAttributeBox
();
},
reset
:
true
});
},
bindEvents
:
function
()
{
...
...
@@ -213,7 +215,7 @@ define(['require',
}
// using obj.get('name') insted of name variable because if html is presen in name then escaped name will not found in tagList.
if
(
_
.
indexOf
(
that
.
tagList
,
obj
.
get
(
'name'
))
===
-
1
)
{
str
+=
'<option>'
+
name
+
'</option>'
;
str
+=
'<option
'
+
(
that
.
tagModel
&&
that
.
tagModel
.
typeName
===
name
?
'selected'
:
''
)
+
'
>'
+
name
+
'</option>'
;
}
});
this
.
ui
.
addTagOptions
.
html
(
str
);
...
...
@@ -232,24 +234,18 @@ define(['require',
this
.
fetchTagSubData
(
tagname
);
},
fetchTagSubData
:
function
(
tagname
)
{
var
that
=
this
;
++
this
.
asyncAttrFetchCounter
;
this
.
commonCollection
.
url
=
UrlLinks
.
typesClassicationApiUrl
(
tagname
);
this
.
commonCollection
.
fetch
({
reset
:
true
,
complete
:
function
()
{
--
that
.
asyncAttrFetchCounter
;
that
.
showAttributeBox
();
}
var
attributeDefs
=
Utils
.
getNestedSuperTypeObj
({
data
:
this
.
collection
.
fullCollection
.
find
({
name
:
tagname
}).
toJSON
(),
collection
:
this
.
collection
,
attrMerge
:
true
});
this
.
subAttributeData
(
attributeDefs
);
},
showAttributeBox
:
function
(
counter
)
{
if
((
counter
||
this
.
asyncAttrFetchCounter
)
===
0
)
{
this
.
$
(
'.attrLoader'
).
hide
();
this
.
$
(
'.form-group.hide'
).
removeClass
(
'hide'
);
if
(
this
.
ui
.
tagAttribute
.
children
().
length
!==
0
)
{
this
.
ui
.
tagAttribute
.
parent
().
show
();
}
showAttributeBox
:
function
()
{
this
.
$
(
'.attrLoader'
).
hide
();
this
.
$
(
'.form-group.hide'
).
removeClass
(
'hide'
);
if
(
this
.
ui
.
tagAttribute
.
children
().
length
!==
0
)
{
this
.
ui
.
tagAttribute
.
parent
().
show
();
}
},
hideAttributeBox
:
function
()
{
...
...
@@ -257,44 +253,26 @@ define(['require',
this
.
ui
.
tagAttribute
.
parent
().
hide
();
this
.
$
(
'.attrLoader'
).
show
();
},
subAttributeData
:
function
()
{
subAttributeData
:
function
(
attributeDefs
)
{
var
that
=
this
;
if
(
this
.
commonCollection
.
models
[
0
])
{
if
(
this
.
commonCollection
.
models
[
0
].
get
(
'attributeDefs'
))
{
_
.
each
(
this
.
commonCollection
.
models
[
0
].
get
(
'attributeDefs'
),
function
(
obj
)
{
var
name
=
Utils
.
getName
(
obj
,
'name'
);
var
typeName
=
Utils
.
getName
(
obj
,
'typeName'
);
var
typeNameValue
=
that
.
enumCollection
.
fullCollection
.
findWhere
({
'name'
:
typeName
});
if
(
typeNameValue
)
{
var
str
=
"<option disabled='disabled' selected>-- Select "
+
typeName
+
" --</option>"
;
var
enumValue
=
typeNameValue
.
get
(
'elementDefs'
);
_
.
each
(
enumValue
,
function
(
key
,
value
)
{
str
+=
'<option>'
+
key
.
value
+
'</option>'
;
})
that
.
ui
.
tagAttribute
.
append
(
'<div class="form-group"><label>'
+
name
+
'</label>'
+
'<select class="form-control attributeInputVal attrName" data-key="'
+
name
+
'">'
+
str
+
'</select></div>'
);
}
else
{
that
.
ui
.
tagAttribute
.
append
(
'<div class="form-group"><label>'
+
name
+
'</label>'
+
'<input type="text" class="form-control attributeInputVal attrName" data-key="'
+
name
+
'" ></input></div>'
);
}
});
}
if
(
this
.
commonCollection
.
models
[
0
].
get
(
'superTypes'
))
{
var
superTypes
=
this
.
commonCollection
.
models
[
0
].
get
(
'superTypes'
);
if
(
!
_
.
isArray
(
superTypes
))
{
superTypes
=
[
superTypes
];
}
if
(
superTypes
.
length
)
{
_
.
each
(
superTypes
,
function
(
name
)
{
that
.
fetchTagSubData
(
name
);
});
if
(
attributeDefs
)
{
_
.
each
(
attributeDefs
,
function
(
obj
)
{
var
name
=
Utils
.
getName
(
obj
,
'name'
);
var
typeName
=
Utils
.
getName
(
obj
,
'typeName'
);
var
typeNameValue
=
that
.
enumDefCollection
.
fullCollection
.
findWhere
({
'name'
:
typeName
});
if
(
typeNameValue
)
{
var
str
=
"<option disabled='disabled'"
+
(
!
that
.
tagModel
?
'selected'
:
''
)
+
">-- Select "
+
typeName
+
" --</option>"
;
var
enumValue
=
typeNameValue
.
get
(
'elementDefs'
);
_
.
each
(
enumValue
,
function
(
key
,
value
)
{
str
+=
'<option '
+
(
that
.
tagModel
&&
key
.
value
===
_
.
values
(
that
.
tagModel
.
attributes
)[
0
]
?
'selected'
:
''
)
+
'>'
+
key
.
value
+
'</option>'
;
})
that
.
ui
.
tagAttribute
.
append
(
'<div class="form-group"><label>'
+
name
+
'</label>'
+
'<select class="form-control attributeInputVal attrName" data-key="'
+
name
+
'">'
+
str
+
'</select></div>'
);
}
else
{
this
.
showAttributeBox
();
that
.
ui
.
tagAttribute
.
append
(
'<div class="form-group"><label>'
+
name
+
'</label>'
+
'<input type="text" value="'
+
(
that
.
tagModel
?
(
that
.
tagModel
.
attributes
[
name
]
==
null
?
''
:
that
.
tagModel
.
attributes
[
name
])
:
''
)
+
'" class="form-control attributeInputVal attrName" data-key="'
+
name
+
'" ></input></div>'
);
}
}
else
{
this
.
showAttributeBox
();
}
}
else
{
});
this
.
showAttributeBox
();
}
},
...
...
@@ -310,15 +288,23 @@ define(['require',
},
"entityGuids"
:
options
.
guid
};
if
(
this
.
tagModel
)
{
json
=
[{
"typeName"
:
tagName
,
"attributes"
:
tagAttributes
}]
}
if
(
this
.
showLoader
)
{
this
.
showLoader
();
}
this
.
entityModel
.
saveTraitsEntity
({
this
.
entityModel
.
saveTraitsEntity
(
this
.
tagModel
?
options
.
guid
:
null
,
{
skipDefaultError
:
true
,
data
:
JSON
.
stringify
(
json
),
type
:
this
.
tagModel
?
'PUT'
:
'POST'
,
success
:
function
(
data
)
{
var
addupdatetext
=
that
.
tagModel
?
'updated successfully to '
:
'added to '
;
Utils
.
notifySuccess
({
content
:
"Tag "
+
tagName
+
" has been
added to "
+
(
that
.
multiple
?
"entities"
:
"entity"
)
content
:
"Tag "
+
tagName
+
" has been
"
+
addupdatetext
+
(
that
.
multiple
?
"entities"
:
"entity"
)
});
if
(
options
.
modalCollection
)
{
options
.
modalCollection
.
fetch
({
reset
:
true
});
...
...
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