Some refactoring for get_value_as_html for Compound metadata.

This commit is contained in:
mateuswetah 2020-04-14 17:35:45 -03:00
parent 81b45f46a5
commit 2fe1383416
4 changed files with 95 additions and 49 deletions

View File

@ -128,39 +128,50 @@ class Compound extends Metadata_Type {
$separator = $item_metadata->get_multivalue_separator();
if ( $item_metadata->is_multiple() ) {
$return .= '<div class="tainacan-compound-group">';
foreach ( $value as $compound_element ) {
if ( sizeof($value) > 0 ) {
$return .= '<div class="tainacan-compound-metadatum">';
foreach ( $compound_element as $meta ) {
if ( $meta instanceof Item_Metadata_Entity ) {
$return .= '<label class="label">' . $meta->get_metadatum()->get_name() . "</label>\n";
$return .= '<p>' . $meta->get_value_as_html() . '</p>' . "\n\n";
}
$return .= '<div class="tainacan-compound-group">';
$count = 0;
foreach ( $value as $compound_element ) {
$count++;
if ( sizeof($compound_element) > 0 ) {
$return .= '<div class="tainacan-compound-metadatum">';
foreach ( $compound_element as $meta ) {
if ( $meta instanceof Item_Metadata_Entity && $meta->get_value_as_html() != '' ) {
$return .= '<label class="label">' . $meta->get_metadatum()->get_name() . "</label>\n";
$return .= '<p>' . $meta->get_value_as_html() . '</p>' . "\n\n";
}
}
if ($count < sizeof($compound_element)) {
$return .= '</div>' . "\n" . $separator . "\n";
}
}
}
$return .= '</div>' . "\n" . $separator . "\n";
$return .= '</div>' . "\n\n";
}
$return .= '</div>' . "\n\n";
} else {
foreach ( $value as $meta ) {
$return .= '<div class="tainacan-metadatum">';
if ( $meta instanceof Item_Metadata_Entity ) {
$return .= '<label class="label">' . $meta->get_metadatum()->get_name() . "</label>\n";
$return .= '<p>' . $meta->get_value_as_html() . '</p>';
}
$return .= '</div>' . "\n\n";
if ( $meta->get_value_as_html() != '' ) {
$return .= '<div class="tainacan-metadatum">';
if ( $meta instanceof Item_Metadata_Entity ) {
$return .= '<label class="label">' . $meta->get_metadatum()->get_name() . "</label>\n";
$return .= '<p>' . $meta->get_value_as_html() . '</p>';
}
$return .= '</div>' . "\n\n";
}
}

View File

@ -192,7 +192,8 @@
& .hierarchy-separator {
color: var(--tainacan-info-color);
}
&.metadata-type-textarea {
&.metadata-type-textarea,
&.metadata-type-compound {
.multivalue-separator {
display: block;
max-height: 1px;
@ -203,4 +204,30 @@
margin: 1em auto;
}
}
.tainacan-compound-group {
margin-left: 2px;
padding-left: 0.875em;
border-left: 1px solid var(--tainacan-gray3);
.tainacan-compound-metadatum .label {
margin-bottom: 0.25em;
font-size: 1em;
color: var(--tainacan-info-color);
}
.tainacan-compound-metadatum p {
margin-bottom: 0.75em;
font-size: 1em;
}
.multivalue-separator {
display: block;
max-height: 1px;
width: 35px;
background: var(--tainacan-gray3);
content: none;
color: transparent;
margin: 1em auto;
}
}
}

View File

@ -104,8 +104,8 @@
transition: background-color 0.3s ease;
p {
line-height: 2;
font-size: 0.875em !important;
line-height: 1.8;
font-size: 1.0em !important;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
@ -144,27 +144,6 @@
font-size: 0.75em;
margin-bottom: 1em;
color: var(--tainacan-info-color);
.tainacan-compound-group {
margin-left: 2px;
padding-left: 0.75em;
border-left: 1px solid var(--tainacan-info-color);
.tainacan-compound-metadatum .label {
font-size: 1.125em;
color: var(--tainacan-info-color);
}
.multivalue-separator {
display: block;
max-height: 1px;
width: 35px;
background: var(--tainacan-gray3);
content: none;
color: transparent;
margin: 1em auto;
}
}
}
& span:last-of-type>.metadata-value {

View File

@ -148,6 +148,35 @@ a:hover {
.hierarchy-separator {
color: var(--tainacan-gray3);
}
.metadata-value {
.tainacan-compound-group {
margin-left: 2px;
padding-left: 0.875em;
border-left: 1px solid var(--tainacan-gray3);
.tainacan-compound-metadatum .label {
margin-bottom: 0.25em;
font-size: 1em;
color: var(--tainacan-info-color);
}
.tainacan-compound-metadatum p {
margin-bottom: 0.75em;
font-size: 1em;
}
.multivalue-separator {
display: block;
max-height: 1px;
width: 35px;
background: var(--tainacan-gray3);
content: none;
color: transparent;
margin: 1em auto;
}
}
}
.metadata-type-textarea,
.metadata-type-compound {
.multivalue-separator {