Select to view content in your preferred language

Nastavení barvy hodnoty atributu v popup okně

260
5
3 weeks ago
vlakol
by
Occasional Contributor

Zdravím komunito. Měl bych dotaz ohledně formátování hodnot atributů ve vyskakovacím okně. Mám atributovou tabulku ve které jeden z nich (Více informací) je odkaz na stránky s detailem záměru, viz. níže. Kolegům se bohužel nelíbí barva toho textu zobrazit, že je to nevýrazné, a chtěli by to obarvit. Je nějaká možnost, třeba pomocí Arcade, jak nastavit barvu této položky?

Vím, že řešením je vytvořit pole text a do něj to napsat a naformátovat tam, ale to už je oddělené od té tabulky a za mě to nevypadá moc konzistentně.

vlakol_0-1765886693453.png

Děkuji za případné komentáře.

S pozdravem

Vladimír Koláček

 

0 Kudos
5 Replies
VHolubec
Esri Regular Contributor

Dobrý den,

v jazyce Arcade můžete použít HTML formátování - například jako tento příklad:

var url = $feature.esritask_description;
var htmlLink = "<a href=\"" +
  url +
  "\" target=\"_blank\" style=\"color:red;\">" +
  url +
  "</a>";
return { type: "text", text: htmlLink };
 
 
Výsledek pak může vypadat takto:
 
VHolubec_0-1765893381924.png

 

Obecně s psaním Arcade výrazů, včetně jejich HTML formátování Vám může pomoci i Arcade Assistant, který je součásti Map Vieweru v Arcade Editoru.

Hezký den,

Vladimir
vlakol
by
Occasional Contributor

Dobrý den,

moc děkuji za zaslání příkladu. Vyzkoušel jsem a v popupu mi zobrazuje výsledek [object Object]. Jako by vracel pole, jestli to dobře chápu.

S pozdravem

Vladimír Koláček

0 Kudos
VHolubec
Esri Regular Contributor

Dobrý den, 

kód, který jsem uvedl výše by Vám měl fungovat a je kompletní - vrací text, typu text.

VHolubec_0-1765963509084.png

když to kombinuji s výchozí tabulkou atributů, tak to vypadá takhle.

VHolubec_1-1765963524569.png

Pokud chcete mít custom tabulku tak je potřeba ji celou naformátovat - opět můžete použít HTML - například (pro vrstvu ArcČR obce):

var html = "<table style=\"border-collapse: collapse; width: 100%;\">";
html +=
  "<tr style=\"background-color: #f2f2f2;\"><th colspan=\"2\" style=\"text-align: left; font-weight: bold;\">Základní informace o obci</th></tr>";

var rows = [
  ["Kód obce", $feature.kod],
  ["Název obce", $feature.nazev],
  ["Počet obyvatel", $feature.Poc_obyv_SLDB_2021],
  ["Počet mužů", $feature.poc_muzu],
  ["Počet žen", $feature.poc_zen]
];

for (var i = 0; i < Count(rows); i++) {
  var bgColor = IIf(i % 2 == 0, "#e6f7ff", "");
  html += "<tr style=\"background-color: " + bgColor + ";\">";
  html += "<td style=\"padding: 8px;\">" + rows[i][0] + "</td>";
  html += "<td style=\"padding: 8px;\">" + rows[i][1] + "</td>";
  html += "</tr>";
}

html += "</table>";
return { type: "text", text: html };

 

VHolubec_2-1765963839046.png

 

Vladimir
0 Kudos
vlakol
by
Occasional Contributor

Dobrý den,

tak jak kód máte přidaný Vy, tak vkládá a formátuje text na nový, samostatný řádek. Tak jak to mám na mysli já, tak by měl upravit barvu atributu v tabulce a po zadání to právě vypíše ten [object Object]

vlakol_0-1765964991293.png

vlakol_1-1765965190109.png

 

S pozravem

Vladimír Koláček

0 Kudos
vlakol
by
Occasional Contributor

Dobrý den,

nakonec jsem to vyřešil, tak jak jste navrhoval. Z atributové tabulky jsem vypustil atribut pro Více informací a umístil ho na samostatný řádek.

Děkuji

 

S pozdravem

Vladimír Koláček