Commit 5e8b7f34 by kevalbhatt

ATLAS-3851:- UI: Remove hourglass icon from in progress entity

parent a3fd6441
......@@ -21,6 +21,7 @@
>li:first-child {
font-weight: 600;
word-break: break-all;
}
.business-metadata-tree-child {
......@@ -38,6 +39,26 @@
margin-top: 10px;
font-weight: 100;
}
.custom-table {
&:not(.bm-create) {
.custom-tr {
.custom-col-1 {
width: calc(50% - 55px);
.select2-selection--multiple .select2-selection__rendered {
overflow: scroll;
}
}
.custom-col-2 {
width: 45px;
}
}
}
}
}
.business-metadata-options.dropdown {
......@@ -165,6 +186,8 @@
.panel-title {
font-size: 14px;
word-break: break-all;
width: inherit;
a:hover {
color: #686868 !important;
......@@ -176,4 +199,10 @@
.btn-group>button {
color: #686868 !important;
}
.business-metadata-detail-attr-key {
width: 30%;
word-break: break-word;
}
}
\ No newline at end of file
......@@ -14,9 +14,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
/* common.scss */
.readOnly {
span,
......@@ -221,10 +219,18 @@ pre {
.custom-table {
width: 100%;
display: flex;
tbody {
display: flex;
flex-flow: column;
width: 100%;
}
.custom-tr {
margin-left: 15px;
margin-right: 15px;
display: flex;
width: calc(100% - 15px);
.custom-col-0,
.custom-col-1,
......@@ -242,20 +248,30 @@ pre {
.custom-col-0 {
text-align: center;
vertical-align: middle;
line-height: 31px;
width: 3%;
width: 9px;
padding: 0px 2px;
}
.custom-col-1 {
width: 39%;
width: calc(50% - 90px);
flex-grow: 2;
&:first-child {
width: 30% !important;
flex-grow: 1;
}
}
.custom-col-2 {
text-align: center;
width: 17%;
margin-left: 1%;
width: 80px;
padding-left: 10px;
&>button {
padding: 7px 10px;
margin-bottom: 10px;
}
}
}
}
......
......@@ -546,94 +546,6 @@ hr[size="10"] {
border-bottom-color: #000;
}
td.searchTableName:hover {
.isIncomplete {
&.show.search-result-page {
i {
left: 7px;
}
}
}
}
.globalsearchImgItem.isIncomplete {
display: inline-block !important;
position: relative;
i.fa {
left: 10px;
top: 7px;
font-size: 12px;
}
}
.isIncomplete {
&.show {
img {
opacity: .2;
//animation: blink 2.5s infinite;
}
i.fa {
display: block;
}
.entity-icon-box {
background: none;
i.fa {
top: 27px;
font-size: 18px;
}
}
foreignObject {
display: block;
i.fa {
font-size: 15px;
top: 17px;
left: 18.5px;
}
}
image,
circle {
opacity: 0.2;
//animation: blink 2.5s infinite;
}
&.search-result-page {
position: relative;
i {
left: 13px;
font-size: 9px;
top: 5px;
}
}
}
foreignObject {
display: none;
}
i.fa {
color: #898989;
display: none;
text-align: center;
font-size: 16px;
top: 0;
position: absolute;
z-index: 1;
left: calc(50% - 8px);
}
}
.dropdown-menu.multi-level {
.dropdown-submenu {
position: relative;
......
......@@ -19,7 +19,7 @@
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
<div class="entityDetail form-horizontal col-sm-12">
<h1 class="title isIncomplete">
<h1 class="title">
<div data-id="entityIcon" class="entity-icon-box position-relative"></div>
<span data-id="title"></span>
</h1> {{#if entityUpdate}}
......
......@@ -15,7 +15,7 @@
* limitations under the License.
-->
{{#ifCond model "has" "isNew"}}
<table class="custom-table" style="font-weight: 100;">
<table class="custom-table bm-create" style="font-weight: 100;">
<tr class="custom-tr">
<td class="custom-col-1">
{{{callmyfunction getBusinessMetadataDroupdown businessMetadataCollection}}}
......
......@@ -139,7 +139,6 @@
</div>
<div class="legends pull-left" style="height: 25px; padding: 2px;">
<span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-circle-o fa-fw"></i>Current Entity</span>
<span style="margin-right: 8px;"><i class="fa fa-hourglass-half fa-fw"></i>In Progress</span>
<span style="margin-right: 8px; color:#df9b00;"><i class="fa fa-long-arrow-right fa-fw"></i>Lineage</span>
<span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-long-arrow-right fa-fw"></i>Impact</span>
</div>
......
......@@ -221,9 +221,9 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
tempLink += '<div data-id="' + fetchId + '"><div class="value-loader"></div></div>';
} else {
if (inputOutputField.typeName == "AtlasGlossaryTerm") {
tempLink += '<a href="#!/glossary/' + id + '?guid=' + id + '&gType=term&viewType=term&fromView=entity">' + getValue(name) + '</a>'
tempLink += '<a href="#!/glossary/' + id + '?guid=' + id + '&gType=term&viewType=term&fromView=entity">' + name + '</a>'
} else {
tempLink += '<a href="#!/detailPage/' + id + '">' + getValue(name) + '</a>'
tempLink += '<a href="#!/detailPage/' + id + '">' + name + '</a>'
}
}
}
......@@ -254,7 +254,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
valueObjectKeysList = _.sortBy(valueObjectKeysList);
}
valueObjectKeysList.map(function(key) {
key = _.escape(key);
if (key == "profileData") {
return;
}
......@@ -276,8 +275,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
var val = "";
if (_.isObject(valueObject[key])) {
val = keyValue
} else if (Utils.isUrl(keyValue)) {
val = '<a target="_blank" class="blue-link" href="' + _.escape(keyValue) + '">' + getValue(keyValue) + '</a>';
} else if (key === 'guid' || key === "__guid") {
if (options.fromAdminAudit) {
val = getValue(keyValue);
......@@ -322,9 +319,9 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
var className = "btn btn-action btn-sm btn-blue btn-icon",
deleteIcon = "";
if (obj.guid === tag.entityGuid) {
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '"data-name="' + tag.typeName + '" data-type="tag" data-guid="' + obj.guid + '" ></i>';
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '" data-name="' + tag.typeName + '" data-type="tag" data-guid="' + obj.guid + '" ></i>';
} else if (obj.guid !== tag.entityGuid && tag.entityStatus === "DELETED") {
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '"data-name="' + tag.typeName + '" data-type="tag" data-entityguid="' + tag.entityGuid + '" data-guid="' + obj.guid + '" ></i>';
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '" data-name="' + tag.typeName + '" data-type="tag" data-entityguid="' + tag.entityGuid + '" data-guid="' + obj.guid + '" ></i>';
} else {
className += " propagte-classification";
}
......@@ -358,9 +355,10 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
entityName = Utils.getName(obj);
if (terms) {
terms.map(function(term) {
var displayText = _.escape(term.displayText);
var className = "btn btn-action btn-sm btn-blue btn-icon",
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '"data-name="' + term.displayText + '" data-type="term" data-guid="' + obj.guid + '" data-termGuid="' + term.termGuid + '" ></i>',
termString = '<a class="' + className + '" data-id="termClick"><span title="' + _.escape(term.displayText) + '">' + _.escape(term.displayText) + '</span>' + deleteIcon + '</a>';
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '" data-name="' + displayText + '" data-type="term" data-guid="' + obj.guid + '" data-termGuid="' + term.termGuid + '" ></i>',
termString = '<a class="' + className + '" data-id="termClick"><span title="' + displayText + '">' + displayText + '</span>' + deleteIcon + '</a>';
if (count >= 1) {
popTerm += termString;
} else {
......
......@@ -233,8 +233,8 @@ define(['require',
selectedEnumValues = selectedEnum ? selectedEnum.get('elementDefs') : null,
savedValues = [];
_.each(selectedEnumValues, function(enumVal, index) {
selectedValues.push(_.unescape(enumVal.value));
enumValues += "<option>" + enumVal.value + "</option>";
selectedValues.push(enumVal.value);
enumValues += "<option>" + _.escape(enumVal.value) + "</option>";
});
this.ui.enumValueSelector.empty();
this.ui.enumValueSelector.append(enumValues);
......
......@@ -53,7 +53,7 @@ define(['require',
renderDetail: function() {
this.ui.title.html('<span>' + this.model.get('name') + '</span>');
if (this.model.get('description')) {
this.ui.description.text((this.model.get('description')));
this.ui.description.text(this.model.get('description'));
}
},
onDestroy: function() {
......
......@@ -296,7 +296,7 @@ define(['require',
editable: false,
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
return model.get('description');
return _.escape(model.get('description'));
}
})
},
......@@ -351,7 +351,7 @@ define(['require',
editable: false,
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
return "<button type='button' data-id='addAttribute' data-guid='" + model.get('guid') + "'' title='' class='btn btn-action btn-sm ' style='margin-bottom: 10px;' data-action='createAttr' data-original-title='Add Business Metadata attribute'><i class='fa fa-plus'></i> Attributes</button>";
return "<button type='button' data-id='addAttribute' data-guid='" + model.get('guid') + "' class='btn btn-action btn-sm' style='margin-bottom: 10px;' data-action='createAttr' data-original-title='Add Business Metadata attribute'><i class='fa fa-plus'></i> Attributes</button>";
}
})
}
......
......@@ -223,7 +223,7 @@ define(['require',
};
this.loaderStatus(true);
var name = this.ui.name.val(),
description = _.escape(this.ui.description.val());
description = this.ui.description.val();
var attributeObj = this.collection.toJSON();
if (this.collection.length === 1 && this.collection.first().get("name") === "") {
attributeObj = [];
......
......@@ -104,8 +104,8 @@ define(["require", "backbone", "hbs!tmpl/business_metadata/EnumCreateUpdateItemV
selectedEnum = this.enumDefCollection.fullCollection.findWhere({ name: enumName }),
selectedEnumValues = selectedEnum ? selectedEnum.get("elementDefs") : null;
_.each(selectedEnumValues, function(enumVal, index) {
selectedValues.push(_.unescape(enumVal.value));
enumValues += "<option>" + enumVal.value + "</option>";
selectedValues.push(enumVal.value);
enumValues += "<option>" + _.escape(enumVal.value) + "</option>";
});
this.ui.enumCancleBtn.removeAttr("disabled");
......@@ -197,7 +197,7 @@ define(["require", "backbone", "hbs!tmpl/business_metadata/EnumCreateUpdateItemV
_.each(selectedEnumValues, function(inputEnumVal, index) {
elementValues.push({
ordinal: index + 1,
value: _.escape(inputEnumVal)
value: inputEnumVal
});
});
......
......@@ -202,10 +202,7 @@ define(['require',
} else {
this.ui.entityIcon.removeClass('disabled');
}
if (collectionJSON.isIncomplete === true) {
this.$(".isIncomplete").addClass("show");
}
this.ui.entityIcon.attr('title', _.escape(collectionJSON.typeName)).html('<img src="' + Utils.getEntityIconPath({ entityData: entityData }) + '"/><i class="fa fa-hourglass-half"></i>').find("img").on('error', function() {
this.ui.entityIcon.attr('title', _.escape(collectionJSON.typeName)).html('<img src="' + Utils.getEntityIconPath({ entityData: entityData }) + '"/>').find("img").on('error', function() {
this.src = Utils.getEntityIconPath({ entityData: entityData, errorUrl: this.src });
});
} else {
......@@ -378,7 +375,7 @@ define(['require',
CommonViewFunction.deleteTag(_.extend({}, {
guid: that.id,
associatedGuid: that.id != entityGuid ? entityGuid : null,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + this.name + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + this.name + "?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......@@ -405,7 +402,7 @@ define(['require',
relationshipGuid: termObj.relationshipGuid
},
collection: that.glossaryCollection,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from" + " " + "<b>" + this.name + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from <b>" + this.name + "?</b></div>",
titleMessage: Messages.glossary.removeTermfromEntity,
isEntityView: true,
buttonText: "Remove",
......@@ -428,11 +425,11 @@ define(['require',
val.entityGuid === that.id ? tag['self'].push(val) : tag['propagated'].push(val);
});
_.each(tag.self, function(val) {
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClick"><span title=' + val.typeName + ' >' + val.typeName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="tag" title="Remove Classification"></i></span>';
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClick"><span>' + val.typeName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="tag" title="Remove Classification"></i></span>';
});
_.each(tag.propagated, function(val) {
var crossButton = '<i class="fa fa-close" data-id="deleteTag" data-entityguid="' + val.entityGuid + '" data-type="tag" title="Remove Classification"></i>';
propagatedTagListData += '<span class="btn btn-action btn-sm btn-icon btn-blue" title=' + val.typeName + ' data-id="tagClick"><span>' + val.typeName + '</span>' + ((that.id !== val.entityGuid && val.entityStatus === "DELETED") ? crossButton : "") + '</span>';
propagatedTagListData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClick"><span>' + val.typeName + '</span>' + ((that.id !== val.entityGuid && val.entityStatus === "DELETED") ? crossButton : "") + '</span>';
});
propagatedTagListData !== "" ? this.ui.propagatedTagDiv.show() : this.ui.propagatedTagDiv.hide();
this.ui.tagList.find("span.btn").remove();
......@@ -445,9 +442,7 @@ define(['require',
var that = this,
termData = "";
_.each(data, function(val) {
// if (val.relationshipStatus == "ACTIVE") {
termData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span title=' + _.escape(val.displayText) + '>' + _.escape(val.displayText) + '</span><i class="' + (val.relationshipStatus == "ACTIVE" ? 'fa fa-close' : "") + '" data-id="deleteTerm" data-guid="' + val.guid + '" data-type="term" title="Remove Term"></i></span>';
// }
termData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span>' + _.escape(val.displayText) + '</span><i class="' + (val.relationshipStatus == "ACTIVE" ? 'fa fa-close' : "") + '" data-id="deleteTerm" data-guid="' + val.guid + '" data-type="term" title="Remove Term"></i></span>';
});
this.ui.termList.find("span.btn").remove();
this.ui.termList.prepend(termData);
......
......@@ -513,7 +513,7 @@ define(['require',
},
getSelect: function(object) {
var value = object.value,
entityValue = object.entityValue,
entityValue = _.escape(object.entityValue),
isAttribute = object.isAttribute,
isRelation = object.isRelation;
if (value.typeName === "boolean") {
......@@ -543,7 +543,7 @@ define(['require',
},
getTextArea: function(object) {
var value = object.value,
setValue = object.entityValue,
setValue = _.escape(object.entityValue),
isAttribute = object.isAttribute,
isRelation = object.isRelation,
structType = object.structType;
......@@ -567,7 +567,7 @@ define(['require',
},
getInput: function(object) {
var value = object.value,
entityValue = object.entityValue,
entityValue = _.escape(object.entityValue),
isAttribute = object.isAttribute,
isRelation = object.isRelation;
return '<input class="form-control entityInputBox ' + (value.isOptional === true ? "false" : "true") + '"' +
......
......@@ -153,7 +153,8 @@ define(['require',
val = options.val.value,
isMultiValued = typeName && typeName.indexOf("array<") === 0,
businessMetadata = options.businessMetadata,
allowOnlyNum = false;
allowOnlyNum = false,
isEnum = false;
var elType = isMultiValued ? "select" : "input";
if (!isMultiValued && !_.isEmpty(val)) {
val = _.escape(val);
......@@ -175,7 +176,7 @@ define(['require',
}
}
if (typeName.indexOf("string") > -1) {
returnEL = '<' + elType + ' type="text" data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" data-tags="true" placeholder="Enter String" class="form-control" ' + (!_.isUndefinedNull(val) ? 'value="' + val + '"' : "") + '></' + elType + '>';
returnEL = '<' + elType + ' type="text" data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" data-tags="true" placeholder="Enter String" class="form-control" ' + (isMultiValued === false && !_.isUndefinedNull(val) ? 'value="' + val + '"' : "") + '></' + elType + '>';
} else if (typeName.indexOf("boolean") > -1) {
returnEL = '<select data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" class="form-control">' + (isMultiValued ? "" : '<option value="">--Select Value--</option>') + '<option value="true" ' + (!_.isUndefinedNull(val) && val == "true" ? "selected" : "") + '>true</option><option value="false" ' + (!_.isUndefinedNull(val) && val == "false" ? "selected" : "") + '>false</option></select>';
} else if (typeName.indexOf("date") > -1) {
......@@ -198,6 +199,7 @@ define(['require',
allowOnlyNum = true;
returnEL = '<' + elType + ' data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" type="number" data-multi="' + isMultiValued + '" data-tags="true" placeholder="Enter Number" class="form-control" ' + (!_.isUndefinedNull(val) ? 'value="' + val + '"' : "") + '></' + elType + '>';
} else if (typeName) {
isEnum = true;
var modTypeName = typeName;
if (isMultiValued) {
var multipleType = typeName.match("array<(.*)>");
......@@ -209,30 +211,31 @@ define(['require',
if (foundEnumType) {
var enumOptions = "";
_.forEach(foundEnumType.get("elementDefs"), function(obj) {
enumOptions += '<option value="' + obj.value + '">' + obj.value + '</option>'
enumOptions += '<option value="' + _.escape(obj.value) + '">' + _.escape(obj.value) + '</option>'
});
returnEL = '<select data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" >' + enumOptions + '</select>';
returnEL = '<select data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" data-enum="true">' + enumOptions + '</select>';
}
setTimeout(function() {
if (!isMultiValued) {
var selectEl = that.$el.find('.custom-col-1[data-id="value"] select[data-key="' + key + '"]');
selectEl.val((val || ""));
selectEl.select2();
}
}, 0);
}
if (isMultiValued) {
if (isEnum || elType === "select") {
setTimeout(function() {
var selectEl = that.$el.find('.custom-col-1[data-id="value"] select[data-key="' + key + '"][data-multi="true"]');
var data = val && val.length && (_.isArray(val) ? val : val.split(",")) || [];
var selectEl = that.$el.find('.custom-col-1[data-id="value"] select[data-key="' + key + '"]');
var data = [];
if (selectEl.data("multi")) {
data = val && val.length && (_.isArray(val) ? val : val.split(",")) || [];
} else {
data = _.unescape(val);
}
if (allowOnlyNum) {
selectEl.parent().addClass("select2_only_number");
}
selectEl.select2({
var opt = {
tags: selectEl.data("tags") ? true : false,
multiple: true,
data: data
});
multiple: selectEl.data("multi")
}
if (!selectEl.data("enum")) {
opt.data = data;
}
selectEl.select2(opt);
selectEl.val(data).trigger("change");
}, 0);
}
......
......@@ -25,9 +25,9 @@ define([
"utils/Utils",
"utils/Messages",
"utils/CommonViewFunction",
'utils/Globals',
'moment'
], function(require, Backbone, EntityBusinessMetaDataView_tmpl, EntityBusinessMetaDataItemView, VEntity, Utils, Messages, CommonViewFunction, Globals, moment) {
"moment",
"utils/Globals"
], function(require, Backbone, EntityBusinessMetaDataView_tmpl, EntityBusinessMetaDataItemView, VEntity, Utils, Messages, CommonViewFunction, moment, Globals) {
"use strict";
return Backbone.Marionette.CompositeView.extend({
......@@ -237,7 +237,7 @@ define([
}
}
attrLi += "<tr><td>" + _.escape(key) + " (" + _.escape(val.typeName) + ")</td><td>" + _.escape(newVal) + "</td></tr>";
attrLi += "<tr><td class='business-metadata-detail-attr-key'>" + _.escape(key) + " (" + _.escape(val.typeName) + ")</td><td>" + _.escape(newVal) + "</td></tr>";
}
});
li += that.associateAttributePanel(obj, attrLi);
......@@ -250,7 +250,7 @@ define([
},
associateAttributePanel: function(obj, tableBody) {
return '<div class="panel panel-default custom-panel expand_collapse_panel-icon no-border business-metadata-detail-attr">' +
'<div class="panel-heading" data-toggle="collapse" href="#' + _.escape(obj.get("__internal_UI_businessMetadataName")) + '" aria-expanded="true" style="width: 70%;">' +
'<div class="panel-heading" data-toggle="collapse" href="#' + _.escape(obj.get("__internal_UI_businessMetadataName")) + '" aria-expanded="true" style="width: 90%;">' +
'<h4 class="panel-title"> <a>' + _.escape(obj.get("__internal_UI_businessMetadataName")) + '</a></h4>' +
'<div class="btn-group pull-left"> <button type="button" title="Collapse"><i class="ec-icon fa"></i></button></div>' +
'</div>' +
......
......@@ -72,7 +72,7 @@ define(['require',
populateLabelOptions: function() {
var that = this,
str = this.labels.map(function(label) {
return "<option selected > " + label + " </option>";
return "<option selected > " + _.escape(label) + " </option>";
});
this.ui.addLabelOptions.html(str);
var getLabelData = function(data, selectedData) {
......@@ -104,7 +104,7 @@ define(['require',
delay: 250,
data: function(params) {
return {
prefixString: _.escape(params.term), // search term
prefixString: params.term, // search term
fieldName: '__labels'
};
},
......@@ -131,7 +131,7 @@ define(['require',
}
},
onChangeLabelChange: function() {
this.labels = this.ui.addLabelOptions.val().map(function(v) { return _.escape(v) });
this.labels = this.ui.addLabelOptions.val();
},
handleBtnClick: function() {
this.swapItem = !this.swapItem;
......
......@@ -99,7 +99,7 @@ define(['require',
var el = e.currentTarget;
this.handleCharSupport(el);
if (!el.value.trim().includes(':')) {
this.items[el.dataset.index].value = _.escape(el.value.trim());
this.items[el.dataset.index].value = el.value.trim();
}
},
handleCharSupport: function(el) {
......
......@@ -281,7 +281,7 @@ define(['require',
categories = "";
_.each(data, function(val) {
var name = _.escape(val.displayText);
categories += '<span data-guid="' + val.categoryGuid + '"" class="btn btn-action btn-sm btn-icon btn-blue" data-id="categoryClick"><span title=' + name + '>' + name + '</span><i class="fa fa-close" data-id="removeCategory" data-type="category" title="Remove Category"></i></span>';
categories += '<span data-guid="' + val.categoryGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" data-id="categoryClick"><span>' + name + '</span><i class="fa fa-close" data-id="removeCategory" data-type="category" title="Remove Category"></i></span>';
});
this.ui.categoryList.find("span.btn").remove();
this.ui.categoryList.prepend(categories);
......@@ -291,7 +291,7 @@ define(['require',
terms = "";
_.each(data, function(val) {
var name = _.escape(val.displayText);
terms += '<span data-guid="' + val.termGuid + '"" class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span title=' + name + '>' + name + '</span><i class="fa fa-close" data-id="removeTerm" data-type="term" title="Remove Term"></i></span>';
terms += '<span data-guid="' + val.termGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span>' + name + '</span><i class="fa fa-close" data-id="removeTerm" data-type="term" title="Remove Term"></i></span>';
});
this.ui.termList.find("span.btn").remove();
this.ui.termList.prepend(terms);
......@@ -301,7 +301,7 @@ define(['require',
var that = this,
tagData = "";
_.each(tagObject, function(val) {
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClickTerm"><span title=' + val.typeName + '>' + val.typeName + '</span><i class="fa fa-close" data-id="removeTagTerm" data-type="tag" title="Remove Classification"></i></span>';
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClickTerm"><span>' + val.typeName + '</span><i class="fa fa-close" data-id="removeTagTerm" data-type="tag" title="Remove Classification"></i></span>';
});
this.ui.tagList.find("span.btn").remove();
this.ui.tagList.prepend(tagData);
......@@ -389,7 +389,7 @@ define(['require',
tagName = $(e.currentTarget).text(),
termName = this.data.name;
CommonViewFunction.deleteTag(_.extend({}, {
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + _.escape(termName) + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + _.escape(termName) + "?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......@@ -410,7 +410,7 @@ define(['require',
selectedGuid: guid,
model: that.data,
collection: that.glossaryCollection,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(name) + "</b> assignment from" + " " + "<b>" + _.escape(that.data.name) + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(name) + "</b> assignment from <b>" + _.escape(that.data.name) + "?</b></div>",
titleMessage: Messages.glossary[that.isTermView ? "removeCategoryfromTerm" : "removeTermfromCategory"],
isCategoryView: that.isCategoryView,
isTermView: that.isTermView,
......@@ -433,7 +433,7 @@ define(['require',
require(['views/tag/TagDetailTableLayoutView'], function(TagDetailTableLayoutView) {
if (that.RTagTableLayoutView) {
that.RTagTableLayoutView.show(new TagDetailTableLayoutView(_.extend({}, options, {
"entityName": that.ui.title.text(),
"entityName": _.escape(that.ui.title.text()),
"fetchCollection": that.getData.bind(that),
"entity": that.data
})));
......
......@@ -85,7 +85,7 @@ define(['require',
};
events["click " + this.ui.importGlossary] = 'onClickImportGlossary';
events["keyup " + this.ui.searchTerm] = function() {
this.ui.termTree.jstree("search", this.ui.searchTerm.val());
this.ui.termTree.jstree("search", _.escape(this.ui.searchTerm.val()));
};
events["keyup " + this.ui.searchCategory] = function() {
this.ui.categoryTree.jstree("search", this.ui.searchCategory.val());
......
......@@ -231,7 +231,7 @@ define(['require',
getTerms: function(key) {
var terms = _.map(that.data[key], function(obj) {
var name = _.escape(obj.displayText);
return '<span data-guid="' + obj.termGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" title=' + _.escape(name) + ' data-id="termClick"><span>' + name + '</span><i class="fa fa-close" data-id="deleteAttribute" data-attributename="' + key + '" data-termguid="' + obj.termGuid + '" data-type="term" title="Remove Term"></i></span>';
return '<span data-guid="' + obj.termGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span>' + name + '</span><i class="fa fa-close" data-id="deleteAttribute" data-attributename="' + key + '" data-termguid="' + obj.termGuid + '" data-type="term" title="Remove Term"></i></span>';
}).join(""),
attributeButtons = "";
if (terms.length) {
......
......@@ -326,18 +326,6 @@ define(['require', 'utils/Utils'], function(require, Utils) {
shapeSvg.attr("stroke", "#fb4200")
}
if (node.isIncomplete === true) {
parent.attr("class", "node isIncomplete show");
parent.insert("foreignObject")
.attr("x", "-25")
.attr("y", "-25")
.attr("width", "50")
.attr("height", "50")
.append("xhtml:div")
.insert("i")
.attr("class", "fa fa-hourglass-half");
}
if ($defs.select('pattern[id="img_' + imgName + '"]').empty()) {
var $pattern = $defs.append("pattern")
.attr("x", "0%")
......
......@@ -151,7 +151,7 @@ define(['require',
fromEntity = this.lineageData.guidEntityMap[obj.fromEntityId],
toEntity = this.lineageData.guidEntityMap[obj.toEntityId];
if (fromEntity && toEntity) {
this.ui.edgeDetailName.html(fromEntity.displayText + " <span class='navigation-font'><i class='fa fa-long-arrow-right fa-color'></i></span> " + toEntity.displayText);
this.ui.edgeDetailName.html(_.escape(fromEntity.displayText) + " <span class='navigation-font'><i class='fa fa-long-arrow-right fa-color'></i></span> " + _.escape(toEntity.displayText));
}
if (obj && obj.relationshipId) {
this.showLoader();
......
......@@ -142,12 +142,12 @@ define(['require',
updateRelationshipDetails: function(options) {
var data = options.obj.value,
typeName = data.typeName || options.obj.name,
searchString = options.searchString,
searchString = _.escape(options.searchString),
listString = "",
getEntityTypelist = function(options) {
var activeEntityColor = "#4a90e2",
deletedEntityColor = "#BB5838",
entityTypeHtml = '',
entityTypeHtml = '<pre>',
getdefault = function(obj) {
var options = obj.options,
status = (Enums.entityStateReadOnly[options.entityStatus || options.status] ? " deleted-relation" : ''),
......@@ -155,7 +155,6 @@ define(['require',
entityColor = obj.color,
name = obj.name,
typeName = options.typeName;
if (typeName === "AtlasGlossaryTerm") {
return '<li class=' + status + '>' +
'<a style="color:' + entityColor + '" href="#!/glossary/' + guid + '?guid=' + guid + '&gType=term&viewType=term&fromView=entity">' + name + ' (' + typeName + ')</a>' +
......@@ -194,13 +193,13 @@ define(['require',
entityTypeHtml = getdefault({
"color": activeEntityColor,
"options": options,
"name": _.escape(name)
"name": name
});
} else if (options.relationshipStatus == "DELETED") {
entityTypeHtml = getWithButton({
"color": activeEntityColor,
"options": options,
"name": _.escape(name),
"name": name,
"relationship": true
})
}
......@@ -208,18 +207,17 @@ define(['require',
entityTypeHtml = getWithButton({
"color": deletedEntityColor,
"options": options,
"name": _.escape(name),
"name": name,
"entity": true
})
} else {
entityTypeHtml = getdefault({
"color": activeEntityColor,
"options": options,
"name": _.escape(name)
"name": name
});
}
return entityTypeHtml;
return entityTypeHtml + '</pre>';
};
this.ui.searchNode.hide();
this.$("[data-id='typeName']").text(typeName);
......
......@@ -207,7 +207,7 @@ define(['require',
className: "searchTableName",
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
var value = model.get('attributes')[key];
var value = _.escape(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')]) {
......@@ -288,7 +288,7 @@ define(['require',
CommonViewFunction.deleteTag({
tagName: tagName,
guid: guid,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + _.escape(assetName) + " ?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......
......@@ -621,7 +621,7 @@ define(['require',
_.each(dataList, function(obj) {
if (obj) {
if (obj.guid) {
obj['id'] = Utils.getName(obj, 'qualifiedName');
obj['id'] = obj.attributes['qualifiedName'];
}
foundOptions.push(obj);
}
......@@ -705,7 +705,7 @@ define(['require',
}
if (this.value.term) {
this.ui.termLov.append('<option value="' + this.value.term + '" selected="selected">' + this.value.term + '</option>');
this.ui.termLov.append('<option value="' + _.escape(this.value.term) + '" selected="selected">' + _.escape(this.value.term) + '</option>');
}
if (this.ui.termLov.data('select2')) {
if (this.ui.termLov.val() !== this.value.term) {
......
......@@ -710,12 +710,8 @@ define(['require',
}
});
}
var img = "",
isIncompleteClass = "isIncomplete search-result-page";
if (obj.isIncomplete === true) {
isIncompleteClass += " show";
}
img = "<div class='" + isIncompleteClass + "'><img data-imgGuid='" + obj.guid + "' class='searchTableLogoLoader'><i class='fa fa-hourglass-half'></i></div>";
var img = "";
img = "<div><img data-imgGuid='" + obj.guid + "' class='searchTableLogoLoader'></div>";
getImageData({ imagePath: Utils.getEntityIconPath({ entityData: obj }) });
return (img + nameHtml);
}
......@@ -879,7 +875,7 @@ define(['require',
if (values[values.length - 1] === "") { values.pop(); }
if (values[0] === "") { values.shift(); }
_.each(values, function(names) {
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span title="" data-original-title="' + names + '" >' + names + '</span></a></span>');
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span>' + _.escape(names) + '</span></a></span>');
});
return valueOfArray.join(' ');
}
......@@ -889,7 +885,7 @@ define(['require',
valueOfArray = [];
if (customAttributes) {
_.each(Object.keys(customAttributes), function(value, index) {
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span title="" data-original-title="' + value + ' : ' + Object.values(customAttributes)[index] + '" ><span>' + value + '</span> : <span>' + Object.values(customAttributes)[index] + '</span></span></a></span>');
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span><span>' + _.escape(value) + '</span> : <span>' + _.escape(Object.values(customAttributes)[index]) + '</span></span></a></span>');
});
return valueOfArray.join(' ');
}
......@@ -949,7 +945,7 @@ define(['require',
var modelObj = model.toJSON();
if (key == "name") {
var nameHtml = "",
name = modelObj[key];
name = _.escape(modelObj[key]);
if (modelObj.guid) {
nameHtml = '<a title="' + name + '" href="#!/detailPage/' + modelObj.guid + (that.fromView ? "?from=" + that.fromView : "") + '">' + name + '</a>';
} else {
......@@ -1139,7 +1135,7 @@ define(['require',
tagName: tagName,
guid: guid,
associatedGuid: guid != entityGuid ? entityGuid : null,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + _.escape(assetName) + " ?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......@@ -1166,7 +1162,7 @@ define(['require',
relationshipGuid: termObj.relationGuid
},
collection: that.glossaryCollection,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from" + " " + "<b>" + assetname + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from <b>" + _.escape(assetname) + "?</b></div>",
titleMessage: Messages.glossary.removeTermfromEntity,
isEntityView: true,
buttonText: "Remove",
......
......@@ -276,10 +276,9 @@ define(['require',
}
item.serviceType = Globals.serviceTypeMap[item.typeName];
options.entityData = item;
var imgEl = $('<img src="' + Utils.getEntityIconPath(options) + '">').on("error", function(error, s) {
var img = $('<img src="' + Utils.getEntityIconPath(options) + '">').on("error", function(error, s) {
this.src = Utils.getEntityIconPath(_.extend(options, { errorUrl: this.src }));
});
var img = $('<div class="globalsearchImgItem isIncomplete ' + (item.isIncomplete ? "show" : "") + '"><i class="fa fa-hourglass-half"></i><div>').prepend(imgEl);
var span = $("<span>" + (getHighlightedTerm(item.itemText)) + "</span>")
.prepend(img);
li = $("<li class='with-icon'>")
......
......@@ -355,7 +355,7 @@ define(['require',
var str = '<option value=""' + (!that.tagModel ? 'selected' : '') + '>-- Select ' + typeName + " --</option>";
var enumValue = typeNameValue.get('elementDefs');
_.each(enumValue, function(key, value) {
str += '<option ' + ((that.tagModel && key.value === that.tagModel.attributes[name]) ? 'selected' : '') + '>' + key.value + '</option>';
str += '<option ' + ((that.tagModel && key.value === that.tagModel.attributes[name]) ? 'selected' : '') + '>' + _.escape(key.value) + '</option>';
})
that.ui.tagAttribute.append('<div class="form-group"><label>' + name + '</label>' + ' (' + typeName + ')' +
'<select class="form-control attributeInputVal attrName" data-key="' + name + '">' + str + '</select></div>');
......@@ -393,7 +393,7 @@ define(['require',
}
},
getElement: function(labelName, typeName) {
var value = this.tagModel && this.tagModel.attributes ? (this.tagModel.attributes[labelName] || "") : "",
var value = this.tagModel && this.tagModel.attributes ? (this.tagModel.attributes[_.unescape(labelName)] || "") : "",
isTypeNumber = typeName === "int" || typeName === "byte" || typeName === "short" || typeName === "double" || typeName === "float",
inputClassName = "form-control attributeInputVal attrName";
if (isTypeNumber) {
......@@ -405,7 +405,7 @@ define(['require',
'<option value="true">true</option>' +
'<option value="false">false</option></select>';
} else {
return '<input type="text" value="' + value + '" class="' + inputClassName + '" data-key="' + labelName + '" data-type="' + typeName + '"/>';
return '<input type="text" value="' + _.escape(value) + '" class="' + inputClassName + '" data-key="' + labelName + '" data-type="' + typeName + '"/>';
}
},
......
......@@ -228,7 +228,7 @@ define(['require',
return activeTagObj.name.toLowerCase() === obj.name.toLowerCase();
});
if (duplicateCheck) {
duplicateAttributeList.push(obj.name);
duplicateAttributeList.push(_.escape(obj.name));
} else {
saveObj.attributeDefs.push(obj);
}
......
......@@ -207,7 +207,7 @@ define(['require',
tagName: tagName,
guid: that.guid,
associatedGuid: that.guid != entityGuid ? entityGuid : null,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + this.entityName + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + this.entityName + "?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: function() {
......
......@@ -447,7 +447,7 @@ define(['require',
return activeTagObj.name.toLowerCase() === obj.name.toLowerCase();
});
if (duplicateCheck) {
duplicateAttributeList.push(obj.name);
duplicateAttributeList.push(_.escape(obj.name));
}
});
var notifyObj = {
......
......@@ -21,6 +21,7 @@
>li:first-child {
font-weight: 600;
word-break: break-all;
}
.business-metadata-tree-child {
......@@ -38,6 +39,26 @@
margin-top: 10px;
font-weight: 100;
}
.custom-table {
&:not(.bm-create) {
.custom-tr {
.custom-col-1 {
width: calc(50% - 55px);
.select2-selection--multiple .select2-selection__rendered {
overflow: scroll;
}
}
.custom-col-2 {
width: 45px;
}
}
}
}
}
.business-metadata-options.dropdown {
......@@ -165,6 +186,8 @@
.panel-title {
font-size: 14px;
word-break: break-all;
width: inherit;
a:hover {
color: #686868 !important;
......@@ -176,4 +199,10 @@
.btn-group>button {
color: #686868 !important;
}
.business-metadata-detail-attr-key {
width: 30%;
word-break: break-word;
}
}
\ No newline at end of file
......@@ -219,10 +219,18 @@ pre {
.custom-table {
width: 100%;
display: flex;
tbody {
display: flex;
flex-flow: column;
width: 100%;
}
.custom-tr {
margin-left: 15px;
margin-right: 15px;
display: flex;
width: calc(100% - 15px);
.custom-col-0,
.custom-col-1,
......@@ -239,22 +247,25 @@ pre {
.custom-col-0 {
text-align: center;
vertical-align: middle;
line-height: 31px;
width: 3%;
width: 9px;
padding: 0px 2px;
}
.custom-col-1 {
width: 39%;
margin-bottom: 10px;
width: calc(50% - 90px);
flex-grow: 2;
&:first-child {
width: 30% !important;
flex-grow: 1;
}
}
.custom-col-2 {
text-align: center;
width: 17%;
padding-left: 1%;
margin-bottom: 10px;
width: 80px;
padding-left: 10px;
&>button {
padding: 7px 10px;
......
......@@ -684,90 +684,6 @@ hr[size="10"] {
border-bottom-color: #000;
}
td.searchTableName:hover {
.isIncomplete {
&.show.search-result-page {
i {
left: 7px;
}
}
}
}
.globalsearchImgItem.isIncomplete {
display: inline-block !important;
position: relative;
i.fa {
left: 10px;
top: 7px;
font-size: 12px;
}
}
.isIncomplete {
&.show {
img {
opacity: 0.2;
//animation: blink 2.5s infinite;
}
i.fa {
display: block;
}
.entity-icon-box {
background: none;
i.fa {
top: 27px;
font-size: 18px;
}
}
foreignObject {
display: block;
i.fa {
font-size: 15px;
top: 17px;
left: 18.5px;
}
}
image,
circle {
opacity: 0.2;
//animation: blink 2.5s infinite;
}
&.search-result-page {
position: relative;
i {
left: 13px;
font-size: 9px;
top: 5px;
}
}
}
foreignObject {
display: none;
}
i.fa {
color: #898989;
display: none;
text-align: center;
font-size: 16px;
top: 0;
position: absolute;
z-index: 1;
left: calc(50% - 8px);
}
}
.dropdown-menu.multi-level {
.dropdown-submenu {
position: relative;
......
......@@ -22,7 +22,7 @@
<i class="fa fa-refresh fa-spin-custom"></i>
</div>
<div class="entityDetail form-horizontal col-sm-12">
<h1 class="title isIncomplete">
<h1 class="title">
<div data-id="entityIcon" class="entity-icon-box position-relative"></div>
<span data-id="title"></span>
</h1> {{#if entityUpdate}}
......
......@@ -15,7 +15,7 @@
* limitations under the License.
-->
{{#ifCond model "has" "isNew"}}
<table class="custom-table" style="font-weight: 100;">
<table class="custom-table bm-create" style="font-weight: 100;">
<tr class="custom-tr">
<td class="custom-col-1">
{{{callmyfunction getBusinessMetadataDroupdown businessMetadataCollection}}}
......
......@@ -139,7 +139,6 @@
</div>
<div class="legends pull-left" style="height: 25px; padding: 2px;">
<span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-circle-o fa-fw"></i>Current Entity</span>
<span style="margin-right: 8px;"><i class="fa fa-hourglass-half fa-fw"></i>In Progress</span>
<span style="margin-right: 8px; color:#df9b00;"><i class="fa fa-long-arrow-right fa-fw"></i>Lineage</span>
<span style="margin-right: 8px; color:#fb4200;"><i class="fa fa-long-arrow-right fa-fw"></i>Impact</span>
</div>
......
......@@ -221,9 +221,9 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
tempLink += '<div data-id="' + fetchId + '"><div class="value-loader"></div></div>';
} else {
if (inputOutputField.typeName == "AtlasGlossaryTerm") {
tempLink += '<a href="#!/glossary/' + id + '?guid=' + id + '&gType=term&viewType=term">' + getValue(name) + '</a>'
tempLink += '<a href="#!/glossary/' + id + '?guid=' + id + '&gType=term&viewType=term">' + name + '</a>'
} else {
tempLink += '<a href="#!/detailPage/' + id + '">' + getValue(name) + '</a>'
tempLink += '<a href="#!/detailPage/' + id + '">' + name + '</a>'
}
}
}
......@@ -254,7 +254,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
valueObjectKeysList = _.sortBy(valueObjectKeysList);
}
valueObjectKeysList.map(function(key) {
key = _.escape(key);
if (key == "profileData") {
return;
}
......@@ -276,8 +275,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
var val = "";
if (_.isObject(valueObject[key])) {
val = keyValue
} else if (Utils.isUrl(keyValue)) {
val = '<a target="_blank" class="blue-link" href="' + _.escape(keyValue) + '">' + getValue(keyValue) + '</a>';
} else if (key === 'guid' || key === "__guid") {
if (options.fromAdminAudit) {
val = getValue(keyValue);
......@@ -322,9 +319,9 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
var className = "btn btn-action btn-sm btn-blue btn-icon",
deleteIcon = "";
if (obj.guid === tag.entityGuid) {
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '"data-name="' + tag.typeName + '" data-type="tag" data-guid="' + obj.guid + '" ></i>';
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '" data-name="' + tag.typeName + '" data-type="tag" data-guid="' + obj.guid + '" ></i>';
} else if (obj.guid !== tag.entityGuid && tag.entityStatus === "DELETED") {
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '"data-name="' + tag.typeName + '" data-type="tag" data-entityguid="' + tag.entityGuid + '" data-guid="' + obj.guid + '" ></i>';
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '" data-name="' + tag.typeName + '" data-type="tag" data-entityguid="' + tag.entityGuid + '" data-guid="' + obj.guid + '" ></i>';
} else {
className += " propagte-classification";
}
......@@ -358,9 +355,10 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
entityName = Utils.getName(obj);
if (terms) {
terms.map(function(term) {
var displayText = _.escape(term.displayText);
var className = "btn btn-action btn-sm btn-blue btn-icon",
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '"data-name="' + term.displayText + '" data-type="term" data-guid="' + obj.guid + '" data-termGuid="' + term.termGuid + '" ></i>',
termString = '<a class="' + className + '" data-id="termClick"><span title="' + _.escape(term.displayText) + '">' + _.escape(term.displayText) + '</span>' + deleteIcon + '</a>';
deleteIcon = '<i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '" data-name="' + displayText + '" data-type="term" data-guid="' + obj.guid + '" data-termGuid="' + term.termGuid + '" ></i>',
termString = '<a class="' + className + '" data-id="termClick"><span title="' + displayText + '">' + displayText + '</span>' + deleteIcon + '</a>';
if (count >= 1) {
popTerm += termString;
} else {
......
......@@ -233,8 +233,8 @@ define(['require',
selectedEnumValues = selectedEnum ? selectedEnum.get('elementDefs') : null,
savedValues = [];
_.each(selectedEnumValues, function(enumVal, index) {
selectedValues.push(_.unescape(enumVal.value));
enumValues += "<option>" + enumVal.value + "</option>";
selectedValues.push(enumVal.value);
enumValues += "<option>" + _.escape(enumVal.value) + "</option>";
});
this.ui.enumValueSelector.empty();
this.ui.enumValueSelector.append(enumValues);
......
......@@ -56,7 +56,7 @@ define(['require',
renderDetail: function() {
this.ui.title.html('<span>' + this.model.get('name') + '</span>');
if (this.model.get('description')) {
this.ui.description.text((this.model.get('description')));
this.ui.description.text(this.model.get('description'));
}
}
});
......
......@@ -296,7 +296,7 @@ define(['require',
editable: false,
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
return model.get('description');
return _.escape(model.get('description'));
}
})
},
......@@ -351,7 +351,7 @@ define(['require',
editable: false,
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
return "<button type='button' data-id='addAttribute' data-guid='" + model.get('guid') + "'' title='' class='btn btn-action btn-xs ' style='margin-bottom: 10px;' data-action='createAttr' data-original-title='Add Business Metadata attribute'><i class='fa fa-plus'></i> Attributes</button>";
return "<button type='button' data-id='addAttribute' data-guid='" + model.get('guid') + "' class='btn btn-action btn-sm' style='margin-bottom: 10px;' data-action='createAttr' data-original-title='Add Business Metadata attribute'><i class='fa fa-plus'></i> Attributes</button>";
}
})
}
......
......@@ -223,7 +223,7 @@ define(['require',
};
this.loaderStatus(true);
var name = this.ui.name.val(),
description = _.escape(this.ui.description.val());
description = this.ui.description.val();
var attributeObj = this.collection.toJSON();
if (this.collection.length === 1 && this.collection.first().get("name") === "") {
attributeObj = [];
......
......@@ -104,8 +104,8 @@ define(["require", "backbone", "hbs!tmpl/business_metadata/EnumCreateUpdateItemV
selectedEnum = this.enumDefCollection.fullCollection.findWhere({ name: enumName }),
selectedEnumValues = selectedEnum ? selectedEnum.get("elementDefs") : null;
_.each(selectedEnumValues, function(enumVal, index) {
selectedValues.push(_.unescape(enumVal.value));
enumValues += "<option>" + enumVal.value + "</option>";
selectedValues.push(enumVal.value);
enumValues += "<option>" + _.escape(enumVal.value) + "</option>";
});
this.ui.enumCancleBtn.removeAttr("disabled");
......@@ -197,7 +197,7 @@ define(["require", "backbone", "hbs!tmpl/business_metadata/EnumCreateUpdateItemV
_.each(selectedEnumValues, function(inputEnumVal, index) {
elementValues.push({
ordinal: index + 1,
value: _.escape(inputEnumVal)
value: inputEnumVal
});
});
......
......@@ -206,10 +206,7 @@ define(['require',
} else {
this.ui.entityIcon.removeClass('disabled');
}
if (collectionJSON.isIncomplete === true) {
this.$(".isIncomplete").addClass("show");
}
this.ui.entityIcon.attr('title', _.escape(collectionJSON.typeName)).html('<img src="' + Utils.getEntityIconPath({ entityData: entityData }) + '"/><i class="fa fa-hourglass-half"></i>').find("img").on('error', function() {
this.ui.entityIcon.attr('title', _.escape(collectionJSON.typeName)).html('<img src="' + Utils.getEntityIconPath({ entityData: entityData }) + '"/>').find("img").on('error', function() {
this.src = Utils.getEntityIconPath({ entityData: entityData, errorUrl: this.src });
});
} else {
......@@ -382,7 +379,7 @@ define(['require',
CommonViewFunction.deleteTag(_.extend({}, {
guid: that.id,
associatedGuid: that.id != entityGuid ? entityGuid : null,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + this.name + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + this.name + "?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......@@ -409,7 +406,7 @@ define(['require',
relationshipGuid: termObj.relationshipGuid
},
collection: that.glossaryCollection,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from" + " " + "<b>" + this.name + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from <b>" + this.name + "?</b></div>",
titleMessage: Messages.glossary.removeTermfromEntity,
isEntityView: true,
buttonText: "Remove",
......@@ -432,11 +429,11 @@ define(['require',
val.entityGuid === that.id ? tag['self'].push(val) : tag['propagated'].push(val);
});
_.each(tag.self, function(val) {
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClick"><span title=' + val.typeName + ' >' + val.typeName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="tag" title="Remove Classification"></i></span>';
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClick"><span>' + val.typeName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="tag" title="Remove Classification"></i></span>';
});
_.each(tag.propagated, function(val) {
var crossButton = '<i class="fa fa-close" data-id="deleteTag" data-entityguid="' + val.entityGuid + '" data-type="tag" title="Remove Classification"></i>';
propagatedTagListData += '<span class="btn btn-action btn-sm btn-icon btn-blue" title=' + val.typeName + ' data-id="tagClick"><span>' + val.typeName + '</span>' + ((that.id !== val.entityGuid && val.entityStatus === "DELETED") ? crossButton : "") + '</span>';
propagatedTagListData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClick"><span>' + val.typeName + '</span>' + ((that.id !== val.entityGuid && val.entityStatus === "DELETED") ? crossButton : "") + '</span>';
});
propagatedTagListData !== "" ? this.ui.propagatedTagDiv.show() : this.ui.propagatedTagDiv.hide();
this.ui.tagList.find("span.btn").remove();
......@@ -449,9 +446,7 @@ define(['require',
var that = this,
termData = "";
_.each(data, function(val) {
// if (val.relationshipStatus == "ACTIVE") {
termData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span title=' + _.escape(val.displayText) + '>' + _.escape(val.displayText) + '</span><i class="' + (val.relationshipStatus == "ACTIVE" ? 'fa fa-close' : "") + '" data-id="deleteTerm" data-guid="' + val.guid + '" data-type="term" title="Remove Term"></i></span>';
// }
termData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span>' + _.escape(val.displayText) + '</span><i class="' + (val.relationshipStatus == "ACTIVE" ? 'fa fa-close' : "") + '" data-id="deleteTerm" data-guid="' + val.guid + '" data-type="term" title="Remove Term"></i></span>';
});
this.ui.termList.find("span.btn").remove();
this.ui.termList.prepend(termData);
......
......@@ -516,7 +516,7 @@ define(['require',
},
getSelect: function(object) {
var value = object.value,
entityValue = object.entityValue,
entityValue = _.escape(object.entityValue),
isAttribute = object.isAttribute,
isRelation = object.isRelation;
if (value.typeName === "boolean") {
......@@ -546,7 +546,7 @@ define(['require',
},
getTextArea: function(object) {
var value = object.value,
setValue = object.entityValue,
setValue = _.escape(object.entityValue),
isAttribute = object.isAttribute,
isRelation = object.isRelation,
structType = object.structType;
......@@ -570,7 +570,7 @@ define(['require',
},
getInput: function(object) {
var value = object.value,
entityValue = object.entityValue,
entityValue = _.escape(object.entityValue),
isAttribute = object.isAttribute,
isRelation = object.isRelation;
return '<input class="form-control entityInputBox ' + (value.isOptional === true ? "false" : "true") + '"' +
......
......@@ -153,7 +153,8 @@ define(['require',
val = options.val.value,
isMultiValued = typeName && typeName.indexOf("array<") === 0,
businessMetadata = options.businessMetadata,
allowOnlyNum = false;
allowOnlyNum = false,
isEnum = false;
var elType = isMultiValued ? "select" : "input";
if (!isMultiValued && !_.isEmpty(val)) {
val = _.escape(val);
......@@ -175,7 +176,7 @@ define(['require',
}
}
if (typeName.indexOf("string") > -1) {
returnEL = '<' + elType + ' type="text" data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" data-tags="true" placeholder="Enter String" class="form-control" ' + (!_.isUndefinedNull(val) ? 'value="' + val + '"' : "") + '></' + elType + '>';
returnEL = '<' + elType + ' type="text" data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" data-tags="true" placeholder="Enter String" class="form-control" ' + (isMultiValued === false && !_.isUndefinedNull(val) ? 'value="' + val + '"' : "") + '></' + elType + '>';
} else if (typeName.indexOf("boolean") > -1) {
returnEL = '<select data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" class="form-control">' + (isMultiValued ? "" : '<option value="">--Select Value--</option>') + '<option value="true" ' + (!_.isUndefinedNull(val) && val == "true" ? "selected" : "") + '>true</option><option value="false" ' + (!_.isUndefinedNull(val) && val == "false" ? "selected" : "") + '>false</option></select>';
} else if (typeName.indexOf("date") > -1) {
......@@ -198,6 +199,7 @@ define(['require',
allowOnlyNum = true;
returnEL = '<' + elType + ' data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" type="number" data-multi="' + isMultiValued + '" data-tags="true" placeholder="Enter Number" class="form-control" ' + (!_.isUndefinedNull(val) ? 'value="' + val + '"' : "") + '></' + elType + '>';
} else if (typeName) {
isEnum = true;
var modTypeName = typeName;
if (isMultiValued) {
var multipleType = typeName.match("array<(.*)>");
......@@ -209,30 +211,31 @@ define(['require',
if (foundEnumType) {
var enumOptions = "";
_.forEach(foundEnumType.get("elementDefs"), function(obj) {
enumOptions += '<option value="' + obj.value + '">' + obj.value + '</option>'
enumOptions += '<option value="' + _.escape(obj.value) + '">' + _.escape(obj.value) + '</option>'
});
returnEL = '<select data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" >' + enumOptions + '</select>';
returnEL = '<select data-key="' + key + '" data-businessMetadata="' + businessMetadata + '" data-typename="' + typeName + '" data-multi="' + isMultiValued + '" data-enum="true">' + enumOptions + '</select>';
}
setTimeout(function() {
if (!isMultiValued) {
var selectEl = that.$el.find('.custom-col-1[data-id="value"] select[data-key="' + key + '"]');
selectEl.val((val || ""));
selectEl.select2();
}
}, 0);
}
if (isMultiValued) {
if (isEnum || elType === "select") {
setTimeout(function() {
var selectEl = that.$el.find('.custom-col-1[data-id="value"] select[data-key="' + key + '"][data-multi="true"]');
var data = val && val.length && (_.isArray(val) ? val : val.split(",")) || [];
var selectEl = that.$el.find('.custom-col-1[data-id="value"] select[data-key="' + key + '"]');
var data = [];
if (selectEl.data("multi")) {
data = val && val.length && (_.isArray(val) ? val : val.split(",")) || [];
} else {
data = _.unescape(val);
}
if (allowOnlyNum) {
selectEl.parent().addClass("select2_only_number");
}
selectEl.select2({
var opt = {
tags: selectEl.data("tags") ? true : false,
multiple: true,
data: data
});
multiple: selectEl.data("multi")
}
if (!selectEl.data("enum")) {
opt.data = data;
}
selectEl.select2(opt);
selectEl.val(data).trigger("change");
}, 0);
}
......
......@@ -25,8 +25,8 @@ define([
"utils/Utils",
"utils/Messages",
"utils/CommonViewFunction",
'moment',
'utils/Globals'
"moment",
"utils/Globals"
], function(require, Backbone, EntityBusinessMetaDataView_tmpl, EntityBusinessMetaDataItemView, VEntity, Utils, Messages, CommonViewFunction, moment, Globals) {
"use strict";
......@@ -237,7 +237,7 @@ define([
}
}
attrLi += "<tr><td>" + _.escape(key) + " (" + _.escape(val.typeName) + ")</td><td>" + _.escape(newVal) + "</td></tr>";
attrLi += "<tr><td class='business-metadata-detail-attr-key'>" + _.escape(key) + " (" + _.escape(val.typeName) + ")</td><td>" + _.escape(newVal) + "</td></tr>";
}
});
li += that.associateAttributePanel(obj, attrLi);
......@@ -250,7 +250,7 @@ define([
},
associateAttributePanel: function(obj, tableBody) {
return '<div class="panel panel-default custom-panel expand_collapse_panel-icon no-border business-metadata-detail-attr">' +
'<div class="panel-heading" data-toggle="collapse" href="#' + _.escape(obj.get("__internal_UI_businessMetadataName")) + '" aria-expanded="true" style="width: 70%;">' +
'<div class="panel-heading" data-toggle="collapse" href="#' + _.escape(obj.get("__internal_UI_businessMetadataName")) + '" aria-expanded="true" style="width: 90%;">' +
'<h4 class="panel-title"> <a>' + _.escape(obj.get("__internal_UI_businessMetadataName")) + '</a></h4>' +
'<div class="btn-group pull-left"> <button type="button" title="Collapse"><i class="ec-icon fa"></i></button></div>' +
'</div>' +
......
......@@ -72,7 +72,7 @@ define(['require',
populateLabelOptions: function() {
var that = this,
str = this.labels.map(function(label) {
return "<option selected > " + label + " </option>";
return "<option selected > " + _.escape(label) + " </option>";
});
this.ui.addLabelOptions.html(str);
var getLabelData = function(data, selectedData) {
......@@ -104,7 +104,7 @@ define(['require',
delay: 250,
data: function(params) {
return {
prefixString: _.escape(params.term), // search term
prefixString: params.term, // search term
fieldName: '__labels'
};
},
......@@ -131,7 +131,7 @@ define(['require',
}
},
onChangeLabelChange: function() {
this.labels = this.ui.addLabelOptions.val().map(function(v) { return _.escape(v) });
this.labels = this.ui.addLabelOptions.val();
},
handleBtnClick: function() {
this.swapItem = !this.swapItem;
......
......@@ -99,7 +99,7 @@ define(['require',
var el = e.currentTarget;
this.handleCharSupport(el);
if (!el.value.trim().includes(':')) {
this.items[el.dataset.index].value = _.escape(el.value.trim());
this.items[el.dataset.index].value = el.value.trim();
}
},
handleCharSupport: function(el) {
......
......@@ -296,7 +296,7 @@ define(['require',
categories = "";
_.each(data, function(val) {
var name = _.escape(val.displayText);
categories += '<span data-guid="' + val.categoryGuid + '"" class="btn btn-action btn-sm btn-icon btn-blue" data-id="categoryClick"><span title=' + name + '>' + name + '</span><i class="fa fa-close" data-id="removeCategory" data-type="category" title="Remove Category"></i></span>';
categories += '<span data-guid="' + val.categoryGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" data-id="categoryClick"><span>' + name + '</span><i class="fa fa-close" data-id="removeCategory" data-type="category" title="Remove Category"></i></span>';
});
this.ui.categoryList.find("span.btn").remove();
this.ui.categoryList.prepend(categories);
......@@ -306,7 +306,7 @@ define(['require',
terms = "";
_.each(data, function(val) {
var name = _.escape(val.displayText);
terms += '<span data-guid="' + val.termGuid + '"" class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span title=' + name + '>' + name + '</span><i class="fa fa-close" data-id="removeTerm" data-type="term" title="Remove Term"></i></span>';
terms += '<span data-guid="' + val.termGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span>' + name + '</span><i class="fa fa-close" data-id="removeTerm" data-type="term" title="Remove Term"></i></span>';
});
this.ui.termList.find("span.btn").remove();
this.ui.termList.prepend(terms);
......@@ -316,7 +316,7 @@ define(['require',
var that = this,
tagData = "";
_.each(tagObject, function(val) {
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClickTerm"><span title=' + val.typeName + '>' + val.typeName + '</span><i class="fa fa-close" data-id="removeTagTerm" data-type="tag" title="Remove Classification"></i></span>';
tagData += '<span class="btn btn-action btn-sm btn-icon btn-blue" data-id="tagClickTerm"><span>' + val.typeName + '</span><i class="fa fa-close" data-id="removeTagTerm" data-type="tag" title="Remove Classification"></i></span>';
});
this.ui.tagList.find("span.btn").remove();
this.ui.tagList.prepend(tagData);
......@@ -407,7 +407,7 @@ define(['require',
tagName = $(e.currentTarget).text(),
termName = this.data.name;
CommonViewFunction.deleteTag(_.extend({}, {
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + _.escape(termName) + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + _.escape(termName) + "?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......@@ -431,7 +431,7 @@ define(['require',
selectedGuid: guid,
model: that.data,
collection: that.glossaryCollection,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(name) + "</b> assignment from" + " " + "<b>" + _.escape(that.data.name) + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(name) + "</b> assignment from <b>" + _.escape(that.data.name) + "?</b></div>",
titleMessage: Messages.glossary[that.isTermView ? "removeCategoryfromTerm" : "removeTermfromCategory"],
isCategoryView: that.isCategoryView,
isTermView: that.isTermView,
......@@ -454,7 +454,7 @@ define(['require',
require(['views/tag/TagDetailTableLayoutView'], function(TagDetailTableLayoutView) {
if (that.RTagTableLayoutView) {
that.RTagTableLayoutView.show(new TagDetailTableLayoutView(_.extend({}, options, {
"entityName": that.ui.title.text(),
"entityName": _.escape(that.ui.title.text()),
"fetchCollection": that.getData.bind(that),
"entity": that.data
})));
......
......@@ -231,7 +231,7 @@ define(['require',
getTerms: function(key) {
var terms = _.map(that.data[key], function(obj) {
var name = _.escape(obj.displayText);
return '<span data-guid="' + obj.termGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" title=' + _.escape(name) + ' data-id="termClick"><span>' + name + '</span><i class="fa fa-close" data-id="deleteAttribute" data-attributename="' + key + '" data-termguid="' + obj.termGuid + '" data-type="term" title="Remove Term"></i></span>';
return '<span data-guid="' + obj.termGuid + '" class="btn btn-action btn-sm btn-icon btn-blue" data-id="termClick"><span>' + name + '</span><i class="fa fa-close" data-id="deleteAttribute" data-attributename="' + key + '" data-termguid="' + obj.termGuid + '" data-type="term" title="Remove Term"></i></span>';
}).join(""),
attributeButtons = "";
if (terms.length) {
......
......@@ -326,18 +326,6 @@ define(['require', 'utils/Utils'], function(require, Utils) {
shapeSvg.attr("stroke", "#fb4200")
}
if (node.isIncomplete === true) {
parent.attr("class", "node isIncomplete show");
parent.insert("foreignObject")
.attr("x", "-25")
.attr("y", "-25")
.attr("width", "50")
.attr("height", "50")
.append("xhtml:div")
.insert("i")
.attr("class", "fa fa-hourglass-half");
}
if ($defs.select('pattern[id="img_' + imgName + '"]').empty()) {
var $pattern = $defs.append("pattern")
.attr("x", "0%")
......
......@@ -151,7 +151,7 @@ define(['require',
fromEntity = this.lineageData.guidEntityMap[obj.fromEntityId],
toEntity = this.lineageData.guidEntityMap[obj.toEntityId];
if (fromEntity && toEntity) {
this.ui.edgeDetailName.html(fromEntity.displayText + " <span class='navigation-font'><i class='fa fa-long-arrow-right fa-color'></i></span> " + toEntity.displayText);
this.ui.edgeDetailName.html(_.escape(fromEntity.displayText) + " <span class='navigation-font'><i class='fa fa-long-arrow-right fa-color'></i></span> " + _.escape(toEntity.displayText));
}
if (obj && obj.relationshipId) {
this.showLoader();
......
......@@ -146,12 +146,12 @@ define(['require',
updateRelationshipDetails: function(options) {
var data = options.obj.value,
typeName = data.typeName || options.obj.name,
searchString = options.searchString,
searchString = _.escape(options.searchString),
listString = "",
getEntityTypelist = function(options) {
var activeEntityColor = "#4a90e2",
deletedEntityColor = "#BB5838",
entityTypeHtml = '',
entityTypeHtml = '<pre>',
getdefault = function(obj) {
var options = obj.options,
status = (Enums.entityStateReadOnly[options.entityStatus || options.status] ? " deleted-relation" : ''),
......@@ -197,13 +197,13 @@ define(['require',
entityTypeHtml = getdefault({
"color": activeEntityColor,
"options": options,
"name": _.escape(name)
"name": name
});
} else if (options.relationshipStatus == "DELETED") {
entityTypeHtml = getWithButton({
"color": activeEntityColor,
"options": options,
"name": _.escape(name),
"name": name,
"relationship": true
})
}
......@@ -211,18 +211,17 @@ define(['require',
entityTypeHtml = getWithButton({
"color": deletedEntityColor,
"options": options,
"name": _.escape(name),
"name": name,
"entity": true
})
} else {
entityTypeHtml = getdefault({
"color": activeEntityColor,
"options": options,
"name": _.escape(name)
"name": name
});
}
return entityTypeHtml;
return entityTypeHtml + '</pre>';
};
this.ui.searchNode.hide();
this.$("[data-id='typeName']").text(typeName);
......
......@@ -207,7 +207,7 @@ define(['require',
className: "searchTableName",
formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
fromRaw: function(rawValue, model) {
var value = model.get('attributes')[key];
var value = _.escape(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')]) {
......@@ -291,7 +291,7 @@ define(['require',
CommonViewFunction.deleteTag({
tagName: tagName,
guid: guid,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + _.escape(assetName) + " ?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......
......@@ -305,12 +305,10 @@ define(["require",
}
item.serviceType = Globals.serviceTypeMap[item.typeName];
options.entityData = item;
var imgEl = $('<img src="' + Utils.getEntityIconPath(options) + '">').on("error", function(error, s) {
var img = $('<img src="' + Utils.getEntityIconPath(options) + '">').on("error", function(error, s) {
this.src = Utils.getEntityIconPath(_.extend(options, { errorUrl: this.src }));
});
var img = $('<div class="globalsearchImgItem isIncomplete ' + (item.isIncomplete ? "show" : "") + '"><i class="fa fa-hourglass-half"></i><div>').prepend(imgEl);
var span = $("<span>" + getHighlightedTerm(item.itemText) + "</span>").prepend(img);
li = $("<li class='with-icon'>").append(span);
} else {
......
......@@ -311,7 +311,7 @@ define(["require", "backbone", "utils/Globals", "hbs!tmpl/search/SearchDefaultLa
attrObj: attrTypeObj
}), this.RQueryBuilderEntity);
this.ui.entityName.html(that.options.value.type);
this.ui.entityName.html(_.escape(that.options.value.type));
}
}
......
......@@ -40,7 +40,6 @@ define([
RBusinessMetadataTreeRender: '[data-id="r_businessMetadataTreeRender"]'
},
ui: {
//search
searchNode: '[data-id="searchNode"]',
sliderBar: '[data-id="sliderBar"]',
menuItems: ".menu-items"
......@@ -66,16 +65,9 @@ define([
};
events["keyup " + this.ui.searchNode] = function(e) {
// var type = $(e.currentTarget).data("type");
// var showEmpty = false;
// this.RClassificationTreeRender.currentView.onSearchClassificationNode(showEmpty);
// this.REntityTreeRender.currentView.onSearchEntityNode(showEmpty);
var searchString = e.target.value;
var searchString = _.escape(e.target.value);
if (searchString.trim() === "") {
this.$(".panel").removeClass("hide");
// showEmpty = true;
// this.RClassificationTreeRender.currentView.onSearchClassificationNode(showEmpty);
// this.REntityTreeRender.currentView.onSearchEntityNode(showEmpty);
}
this.entitySearchTree = this.$('[data-id="entitySearchTree"]');
this.classificationSearchTree = this.$('[data-id="classificationSearchTree"]');
......@@ -99,7 +91,6 @@ define([
events["click " + this.ui.menuItems] = function(e) {
e.stopPropagation();
//this.$('.menu-items').removeClass('open');
};
return events;
},
......
......@@ -723,12 +723,8 @@ define(['require',
}
});
}
var img = "",
isIncompleteClass = "isIncomplete search-result-page";
if (obj.isIncomplete === true) {
isIncompleteClass += " show";
}
img = "<div class='" + isIncompleteClass + "'><img data-imgGuid='" + obj.guid + "' class='searchTableLogoLoader'><i class='fa fa-hourglass-half'></i></div>";
var img = "";
img = "<div><img data-imgGuid='" + obj.guid + "' class='searchTableLogoLoader'></div>";
getImageData({ imagePath: Utils.getEntityIconPath({ entityData: obj }) });
return (img + nameHtml);
}
......@@ -890,7 +886,7 @@ define(['require',
if (values[values.length - 1] === "") { values.pop(); }
if (values[0] === "") { values.shift(); }
_.each(values, function(names) {
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span title="" data-original-title="' + names + '" >' + names + '</span></a></span>');
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span>' + _.escape(names) + '</span></a></span>');
});
return valueOfArray.join(' ');
}
......@@ -900,7 +896,7 @@ define(['require',
valueOfArray = [];
if (customAttributes) {
_.each(Object.keys(customAttributes), function(value, index) {
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span title="" data-original-title="' + value + ' : ' + Object.values(customAttributes)[index] + '" ><span>' + value + '</span> : <span>' + Object.values(customAttributes)[index] + '</span></span></a></span>');
valueOfArray.push('<span class="json-string"><a class="btn btn-action btn-sm btn-blue btn-icon" ><span><span>' + _.escape(value) + '</span> : <span>' + _.escape(Object.values(customAttributes)[index]) + '</span></span></a></span>');
});
return valueOfArray.join(' ');
}
......@@ -960,7 +956,7 @@ define(['require',
var modelObj = model.toJSON();
if (key == "name") {
var nameHtml = "",
name = modelObj[key];
name = _.escape(modelObj[key]);
if (modelObj.guid) {
nameHtml = '<a title="' + name + '" href="#!/detailPage/' + modelObj.guid + (that.fromView ? "?from=" + that.fromView : "") + '">' + name + '</a>';
} else {
......@@ -1154,7 +1150,7 @@ define(['require',
tagName: tagName,
guid: guid,
associatedGuid: guid != entityGuid ? entityGuid : null,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + _.escape(assetName) + " ?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: that.showLoader.bind(that),
......@@ -1184,7 +1180,7 @@ define(['require',
relationshipGuid: termObj.relationGuid
},
collection: that.glossaryCollection,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from" + " " + "<b>" + assetname + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(termName) + "</b> assignment from <b>" + _.escape(assetname) + "?</b></div>",
titleMessage: Messages.glossary.removeTermfromEntity,
isEntityView: true,
buttonText: "Remove",
......
......@@ -724,7 +724,7 @@ define([
return activeTagObj.name.toLowerCase() === obj.name.toLowerCase();
});
if (duplicateCheck) {
duplicateAttributeList.push(obj.name);
duplicateAttributeList.push(_.escape(obj.name));
}
});
var notifyObj = {
......
......@@ -429,7 +429,7 @@ define([
var notifyObj = {
modal: true,
html: true,
text: Messages.conformation.deleteMessage + "<b>" + options.model.get('name') + "</b>" + " ?",
text: Messages.conformation.deleteMessage + "<b>" + _.escape(options.model.get('name')) + "</b>" + " ?",
ok: function(argument) {
that.onDeleteNotifyOk(options);
},
......
......@@ -355,7 +355,7 @@ define(['require',
var str = '<option value=""' + (!that.tagModel ? 'selected' : '') + '>-- Select ' + typeName + " --</option>";
var enumValue = typeNameValue.get('elementDefs');
_.each(enumValue, function(key, value) {
str += '<option ' + ((that.tagModel && key.value === that.tagModel.attributes[name]) ? 'selected' : '') + '>' + key.value + '</option>';
str += '<option ' + ((that.tagModel && key.value === that.tagModel.attributes[name]) ? 'selected' : '') + '>' + _.escape(key.value) + '</option>';
})
that.ui.tagAttribute.append('<div class="form-group"><label>' + name + '</label>' + ' (' + typeName + ')' +
'<select class="form-control attributeInputVal attrName" data-key="' + name + '">' + str + '</select></div>');
......@@ -393,7 +393,7 @@ define(['require',
}
},
getElement: function(labelName, typeName) {
var value = this.tagModel && this.tagModel.attributes ? (this.tagModel.attributes[labelName] || "") : "",
var value = this.tagModel && this.tagModel.attributes ? (this.tagModel.attributes[_.unescape(labelName)] || "") : "",
isTypeNumber = typeName === "int" || typeName === "byte" || typeName === "short" || typeName === "double" || typeName === "float",
inputClassName = "form-control attributeInputVal attrName";
if (isTypeNumber) {
......@@ -405,7 +405,7 @@ define(['require',
'<option value="true">true</option>' +
'<option value="false">false</option></select>';
} else {
return '<input type="text" value="' + value + '" class="' + inputClassName + '" data-key="' + labelName + '" data-type="' + typeName + '"/>';
return '<input type="text" value="' + _.escape(value) + '" class="' + inputClassName + '" data-key="' + labelName + '" data-type="' + typeName + '"/>';
}
},
......
......@@ -232,7 +232,7 @@ define(['require',
return activeTagObj.name.toLowerCase() === obj.name.toLowerCase();
});
if (duplicateCheck) {
duplicateAttributeList.push(obj.name);
duplicateAttributeList.push(_.escape(obj.name));
} else {
saveObj.attributeDefs.push(obj);
}
......
......@@ -207,7 +207,7 @@ define(['require',
tagName: tagName,
guid: that.guid,
associatedGuid: that.guid != entityGuid ? entityGuid : null,
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + this.entityName + "?</b></div>",
msg: "<div class='ellipsis-with-margin'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from <b>" + this.entityName + "?</b></div>",
titleMessage: Messages.removeTag,
okText: "Remove",
showLoader: function() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment