Dashboard con link <p:knob
Last updated
Was this helpful?
Last updated
Was this helpful?
usar un commandLink que se renderiza si tiene permisos e invoca a un metodo que devuelve el url de la pagina hacia donde ir
<b:row>
<!-- Row 1 -->
<b:column span="4">
<h3><p:outputLabel value="#{msg['label.totalarticulo']}" rendered="#{!applicationMenu.articulo.menu}"/>
<b:commandLink value="#{msg['label.totalarticulo']}" outcome="/pages/articulo/list" rendered="#{applicationMenu.articulo.menu}"/></h3>
<div class="knob-container ui-corner-all">
<p:knob value="#{dashboardIndexController.totalarticulos}" max="#{dashboardIndexController.totalarticulos}"
disabled="true"
foregroundColor="red" backgroundColor="#00000"
/>
</div>
</b:column>
<b:column span="4">
<h3><p:outputLabel value="#{msg['label.totalclientes']}" rendered="#{!applicationMenu.cliente.menu}"/>
<b:commandLink value="#{msg['label.totalclientes']}" outcome="/pages/cliente/list" rendered="#{applicationMenu.cliente.menu}"/>
</h3>
<div class="knob-container ui-corner-all">
<p:knob value="#{dashboardIndexController.totalclientes}" max="#{dashboardIndexController.totalclientes}"
foregroundColor="blue" backgroundColor="#00000"
disabled="true"
/>
</div>
</b:column>
<b:column span="4">
<h3><p:outputLabel value="#{msg['label.totalordenes']}" rendered="#{!applicationMenu.orden.menu}"/>
<b:commandLink value="#{msg['label.totalordenes']}" outcome="/pages/orden/list" rendered="#{applicationMenu.orden.menu}"/>
</h3>
<div class="knob-container ui-corner-all">
<p:knob value="#{dashboardIndexController.totalordenes}" max="#{dashboardIndexController.totalordenes}"
disabled="true"
foregroundColor="green" backgroundColor="#00000"
/>
</div>
</b:column>
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.avbravo.store.controller;
// <editor-fold defaultstate="collapsed" desc="imports">
import com.avbravo.avbravoutils.JsfUtil;
import com.avbravo.store.util.ResourcesFiles;
import com.avbravo.storeejb.entity.Almacen;
import com.avbravo.storeejb.repository.AlmacenRepository;
import com.avbravo.storeejb.repository.ArticuloRepository;
import com.avbravo.storeejb.repository.ClienteRepository;
import com.avbravo.storeejb.repository.OrdenRepository;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.bson.Document;
import org.primefaces.model.chart.PieChartModel;
// </editor-fold>
/**
*
* @author avbravo
*/
@Named
@ViewScoped
public class DashboardIndexController implements Serializable {
// <editor-fold defaultstate="collapsed" desc="fields">
private static final long serialVersionUID = 1L;
@Inject
ClienteRepository clienteRepository;
@Inject
AlmacenRepository almacenRepository;
@Inject
ArticuloRepository articuloRepository;
@Inject
OrdenRepository ordenRepository;
@Inject
ResourcesFiles rf;
Integer totalarticulos;
Integer totalclientes;
Integer totalordenes;
// </editor-fold>
/**
* Creates a new instance of DashboardController
*/
public DashboardIndexController() {
}
// <editor-fold defaultstate="collapsed" desc="init">
@PostConstruct
public void init() {
calcularTotales();
} // </editor-fold>
public Integer getTotalordenes() {
return totalordenes;
}
public void setTotalordenes(Integer totalordenes) {
this.totalordenes = totalordenes;
}
public Integer getTotalclientes() {
return totalclientes;
}
public void setTotalclientes(Integer totalclientes) {
this.totalclientes = totalclientes;
}
public Integer getTotalarticulos() {
return totalarticulos;
}
public void setTotalarticulos(Integer totalarticulos) {
this.totalarticulos = totalarticulos;
}
// <editor-fold defaultstate="collapsed" desc="calcularTotales()">
public void calcularTotales(){
try {
totalarticulos = articuloRepository.count(new Document("activo","si"));
totalclientes = clienteRepository.count(new Document("activo","si"));
totalordenes =ordenRepository.count(new Document("activo","si"));
} catch (Exception e) {
JsfUtil.errorMessage("calcularTotales() "+e.getLocalizedMessage());
}
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="goArticulos()">
public String goArticulos(){
return "/pages/articulo/view.xhtml";
}
// </editor-fold>
}