All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ui.common.util.ftl Maven / Gradle / Ivy

The newest version!
<#-- @ftlvariable name="appUrl" type="com.infobip.kafkistry.webapp.url.AppUrl" -->
<#-- @ftlvariable name="kafkistryUser"  type="com.infobip.kafkistry.webapp.security.User" -->

<#function enumListToStringList enumList>
<#-- @ftlvariable name="enumList" type="java.util.List" -->
    <#assign result = []>
    <#list enumList as enum>
        <#assign result = result + [enum.name()]>
    
    <#return result>


<#function namedTypeListToStringList namedTypesList>
<#-- @ftlvariable name="namedTypesList" type="java.util.List" -->
    <#assign result = []>
    <#list namedTypesList as namedType>
        <#assign result = result + [namedType.name]>
    
    <#return result>


<#function levelToHtmlClass level>
<#-- @ftlvariable name="level"  type="com.infobip.kafkistry.service.StatusLevel" -->
    <#switch level>
        <#case "SUCCESS">
            <#return "alert-success">
        <#case "IMPORTANT">
            <#return "alert-primary">
        <#case "IGNORE">
            <#return "alert-secondary">
        <#case "INFO">
            <#return "alert-info">
        <#case "WARNING">
            <#return "alert-warning">
        <#case "ERROR">
            <#return "alert-danger">
        <#case "CRITICAL">
            <#return "bg-danger text-white">
        <#default >
            <#return "">
    


<#function clusterStatusFlags statusPerClusters>
<#-- @ftlvariable name="statusPerClusters"  type="java.util.List" -->
    <#assign clusterFlags = {}>
    <#list statusPerClusters as clusterStatus>
        <#assign clusterFlags = clusterFlags + {clusterStatus.clusterIdentifier: clusterStatus.status.flags}>
    
    <#return clusterFlags>


<#function nonOkTopicStatusTypes statusPerClusters>
<#-- @ftlvariable name="statusPerClusters"  type="java.util.List" -->
    <#assign allTypes = []>
    <#list statusPerClusters as clusterStatus>
        <#list clusterStatus.status.types as statusType>
            <#if !statusType.category.ok && !allTypes?seq_contains(statusType)>
                <#assign allTypes = allTypes + [statusType]>
            
        
    
    <#return allTypes>


<#macro newTag>
    
      NEW
    


<#function numberToString number ensureSign=false>
<#-- @ftlvariable name="number"  type="java.lang.Number" -->
    <#if number?is_nan>
        <#return "NaN">
    
    <#if ensureSign && number gt 0>
        <#return "+" + numberToString(number)>
    
    <#if number < 0>
        <#return "-" + numberToString(-number)>
    
    <#return "${number}">


<#function prettyNumber number ensureSign=false>
<#-- @ftlvariable name="number"  type="java.lang.Number" -->
    <#if number?is_nan>
        <#return "NaN">
    
    <#if ensureSign && number gt 0>
        <#return "+" + prettyNumber(number)>
    
    <#if number < 0>
        <#return "-" + prettyNumber(-number)>
    
    <#if number?is_infinite>
        <#return "Inf">
    
    <#if number < 1000>
        <#if number == 0>
            <#return "0">
        <#elseif number == number?round>
            <#return "${number}">
        <#elseif number < 0.005>
            <#return ">#{number; m1M2}">
        <#else>
            <#return "#{number; m1M2}">
        
    
    <#assign numK = number / 1000>
    <#if numK < 1000>
        <#return "#{numK; m1M2}k">
    
    <#assign numM = numK / 1000>
    <#if numM < 1000>
        <#return "#{numM; m1M2}M">
    
    <#assign numG = numM / 1000>
    <#return "#{numG; m1M2}G">


<#function prettyDataSize number ensureSign=false>
<#-- @ftlvariable name="number"  type="java.lang.Number" -->
    <#if ensureSign && number gt 0>
        <#return "+" + prettyDataSize(number)>
    

    <#if number < 0>
        <#return "-" + prettyDataSize(-number)>
    
    <#if number < 1024>
        <#if number == number?round>
            <#return "${number}B">
        <#else>
            <#return "#{number; m1M2}B">
        
    
    <#assign numK = number / 1024>
    <#if numK < 1024>
        <#return "#{numK; m1M2}kB">
    
    <#assign numM = numK / 1024>
    <#if numM < 1024>
        <#return "#{numM; m1M2}MB">
    
    <#assign numG = numM / 1024>
    <#if numG < 1024>
        <#return "#{numG; m1M2}GB">
    
    <#assign numT = numG / 1024>
    <#if numT < 1024>
        <#return "#{numT; m1M2}TB">
    
    <#assign numY = numT / 1024>
    <#return "#{numY; m1M2}YB">


<#function prettyDuration secs ensureSign=false>
    <#if ensureSign && secs gt 0>
        <#return "+" + prettyDuration(secs)>
    

    <#if secs < 0>
        <#return "-" + prettyDuration(-secs)>
    
    <#if secs < 1>
        <#assign ms = secs * 1000.0>
        <#return "#{ms; m0M2} ms">
    
    <#if secs < 120>
        <#return "#{secs; m1M2} sec(s)">
    
    <#assign mins = secs / 60>
    <#if mins < 120>
        <#return "#{mins; m1M2} min(s)">
    
    <#assign hours = mins / 60>
    <#if hours < 48>
        <#return "#{hours; m1M2} hour(s)">
    
    <#assign days = hours / 24>
    <#return "#{days; m1M2} day(s)">


<#function commitHashUrl commitId gitCommitBaseUrl, gitEmbeddedBrowse>
<#-- @ftlvariable name="commitId"  type="java.lang.String" -->
<#-- @ftlvariable name="gitCommitBaseUrl"  type="java.lang.String" -->
<#-- @ftlvariable name="gitEmbeddedBrowse"  type="java.lang.Boolean" -->
    <#if gitCommitBaseUrl?length gt 0>
        <#assign commitUrl = gitCommitBaseUrl + commitId>
        <#assign link>
            target="_blank" href="${commitUrl}">${commitId?substring(0, 8)}
        
        <#return link>
    
    <#return commitId?substring(0, 8)>


<#function changeTypeClass changeType>
<#-- @ftlvariable name="changeType"  type="com.infobip.kafkistry.repository.storage.ChangeType" -->
    <#switch changeType>
        <#case "ADD">
            <#return "badge-success">
        <#case "DELETE">
            <#return "badge-danger">
        <#case "UPDATE">
            <#return "badge-primary">
    
    <#return "badge-secondary">


<#function presenceTypeClass presenceType>
<#-- @ftlvariable name="presenceType"  type="com.infobip.kafkistry.model.PresenceType" -->
    <#switch presenceType>
        <#case "ALL_CLUSTERS">
            <#return "alert-primary">
        <#case "INCLUDED_CLUSTERS">
            <#return "alert-success">
        <#case "EXCLUDED_CLUSTERS">
            <#return "alert-danger">
        <#case "TAGGED_CLUSTERS">
            <#return "alert-info">
    
    <#return "alert-secondary">


<#macro presence presence inline = true>
<#-- @ftlvariable name="presence"  type="com.infobip.kafkistry.model.Presence" -->
    
${presence.type.name()?replace("_", " ")}
<#if (presence.kafkaClusterIdentifiers)??> <#if !inline>
<#list presence.kafkaClusterIdentifiers as cluster> ${cluster}<#if !cluster?is_last>, <#if (presence.tag)??> <#if !inline>
${presence.tag} <#macro ok ok> <#-- @ftlvariable name="ok" type="java.lang.Boolean" --> <#macro inRegistry flag> <#-- @ftlvariable name="flag" type="java.lang.Boolean" --> ${flag?then("YES", "NO")} <#macro namedTypeStatusAlert type alertInline=true small=false quantity=1> <#-- @ftlvariable name="type" type="com.infobip.kafkistry.service.NamedType" --> <#import "infoIcon.ftl" as infoForAlert> <#function usageLevelToHtmlClass level> <#-- @ftlvariable name="level" type="com.infobip.kafkistry.service.resources.UsageLevel" --> <#switch level> <#case "LOW"> <#return "alert-success"> <#case "MEDIUM"> <#return "alert-warning"> <#case "HIGH"> <#return "alert-danger"> <#case "OVERFLOW"> <#return "bg-danger text-white"> <#default> <#return ""> <#return ""> <#macro yourOwned what> <#if kafkistryUser??> <#assign asUser = " as ${kafkistryUser.fullName} "> <#else> <#assign asUser = " "> YOUR




© 2015 - 2025 Weber Informatics LLC | Privacy Policy