mirror of https://github.com/MISP/MISP
chg: [decaying] Improve UI when multiple eventTags get overriden by
attributeTagpull/5032/head
parent
5322527c65
commit
9b7f997443
|
@ -46,24 +46,30 @@ abstract class DecayingModelBase
|
|||
foreach ($attribute['EventTag'] as $i => $tag) {
|
||||
$tags[] = $tag;
|
||||
$namespace_predicate = explode('=', $tag['Tag']['name'])[0];
|
||||
$temp_mapping[$namespace_predicate] = $i;
|
||||
$temp_mapping[$namespace_predicate][] = $i;
|
||||
}
|
||||
}
|
||||
if (isset($attribute['AttributeTag'])) {
|
||||
foreach ($attribute['AttributeTag'] as $tag) {
|
||||
$namespace_predicate = explode('=', $tag['Tag']['name'])[0];
|
||||
if (isset($temp_mapping[$namespace_predicate])) { // need to override event tag
|
||||
if (!empty($temp_mapping[$namespace_predicate])) { // need to override event tag
|
||||
foreach ($temp_mapping[$namespace_predicate] as $i => $eventtag_index) {
|
||||
$overridden_tags[] = array(
|
||||
'EventTag' => $tags[$temp_mapping[$namespace_predicate]],
|
||||
'EventTag' => $tags[$eventtag_index],
|
||||
'AttributeTag' => $tag
|
||||
);
|
||||
$tags[$temp_mapping[$namespace_predicate]] = $tag;
|
||||
if ($i === 0) { // override first one
|
||||
$tags[$eventtag_index] = $tag;
|
||||
} else { // remove remaining overriden
|
||||
unset($tags[$eventtag_index]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$tags[] = $tag;
|
||||
}
|
||||
}
|
||||
}
|
||||
return array('tags' => $tags, 'overridden' => $overridden_tags);
|
||||
return array('tags' => array_values($tags), 'overridden' => $overridden_tags);
|
||||
}
|
||||
|
||||
public function computeBasescore($model, $attribute)
|
||||
|
|
|
@ -513,13 +513,13 @@
|
|||
this.overriddenTags.forEach(function(entry) {
|
||||
var cur_namespace_predicate = entry.AttributeTag.Tag.name.split('=')[0];
|
||||
if (namespace_predicate == cur_namespace_predicate) {
|
||||
overridden_html += '<div style="filter: grayscale(80%);">' + that._create_tag_html(entry.EventTag) + '</div>';
|
||||
overridden_html += '<div class="overriden_tag_wrapper" style="filter: grayscale(80%);">' + that._create_tag_html(entry.EventTag) + '</div>';
|
||||
}
|
||||
});
|
||||
if (overridden_html !== '') {
|
||||
return '<div style="position:relative;" class="useCursorPointer overridden_tags_container">'
|
||||
+ overridden_html
|
||||
+ '<div style="top:-12px;margin-bottom:-12px; left:4px;margin-right:-4px; float: left; position: relative;">' + html_tag + '</div>'
|
||||
+ '<div class="attribute_tag_wrapper" style="top:-12px;margin-bottom:-12px; left:4px;margin-right:-4px; float: left; position: relative;">' + html_tag + '</div>'
|
||||
+ '</div>';
|
||||
} else {
|
||||
return html_tag;
|
||||
|
@ -616,11 +616,12 @@
|
|||
},
|
||||
|
||||
_generateOverridenExplanationPopoverHTML: function($div) {
|
||||
var $tags = $div.find('.tag');
|
||||
var $tag_event = $tags.eq(0);
|
||||
var $tag_attribute = $tags.eq(1);
|
||||
var $tags_event = $div.find('.overriden_tag_wrapper .tag');
|
||||
var $tag_attribute = $div.find('.attribute_tag_wrapper .tag');
|
||||
var html = '<div style="text-align: center;">';
|
||||
html += '<div>' + $tag_event[0].outerHTML + '</div>'
|
||||
$tags_event.each(function() {
|
||||
html += '<div>' + $(this)[0].outerHTML + '</div>'
|
||||
});
|
||||
html += '<div><i class="fa fa-arrow-down"></i></div>'
|
||||
html += '<div>' + $tag_attribute[0].outerHTML + '</div>'
|
||||
html += '</div>';
|
||||
|
|
Loading…
Reference in New Issue