chg: [decaying] Improve UI when multiple eventTags get overriden by

attributeTag
pull/5032/head
mokaddem 2019-09-12 13:26:26 +02:00
parent 5322527c65
commit 9b7f997443
No known key found for this signature in database
GPG Key ID: 164C473F627A06FA
2 changed files with 21 additions and 14 deletions

View File

@ -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
$overridden_tags[] = array(
'EventTag' => $tags[$temp_mapping[$namespace_predicate]],
'AttributeTag' => $tag
);
$tags[$temp_mapping[$namespace_predicate]] = $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[$eventtag_index],
'AttributeTag' => $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)

View File

@ -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>';