![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
filter-creator
Advanced tools
En uno de nuestros ficheros HTML, JSP... debemos hacer referencia a la librería de la siguiente manera:
<script src='<%=request.getContextPath() %>/resources/js/filter/FilterCreator.dist.min.js' charset="UTF-8"></script>
Debemos inicializar el componente de la siguiente manera.
<script type="text/javascript" charset="UTF-8">
var initConfig = {
locale: 'locale',
dateFormats: {dateFormats},
contextPath: 'contextPath',
theme: 'theme'
};
FilterCreator.init(initConfig);
</script>
locale: Idioma que se usará
dateFormats: objeto en el que le pasamos los formatos de las fechas. Ejemplo:
{ "year": "YYYY", "month": "MM/YYYY", "day": "DD/YYYY/MM", "week": "DD/MM/YYYY WW" }
contextPath: elcontexto de donde se obtendran los datos de servidor
theme: tema que se usará para generar los filtros. Las constantes se obtienen de la siguiente manera:
FilterCreator.THEMES.NONE FilterCreator.THEMES.BOOTSTRAP FilterCreator.THEMES.IK_WI_2 FilterCreator.THEMES.IK_WI_3
Ejemplo:
<script type="text/javascript" charset="UTF-8">
var initConfig = {
locale: 'eu',
dateFormats: {
"year": "YYYY",
"month": "MM/YYYY",
"day": "DD/YYYY/MM",
"week": "DD/MM/YYYY WW"
},
contextPath: 'http://localhost:8087',
theme: 'theme'
};
FilterCreator.init(initConfig);
</script>
Generaremos el filtro con la funcion generateFilter
que acepta un solo parametro que es un objeto con parametros de configuración de dicho filtro.
var filterConfig = {
targetContainerId: string,
data: object,
ajaxUrl: string,
type: string,
callback: function,
small: boolean
};
FilterCreator.generateFilter(filterConfig);
Las propiedades del objeto son las siguientes:
Ejemplo con datos en crudo:
var filterData =
[
[
{
"type": "number",
"name": "number1",
"label": "number 1"
}
]
];
var filterConfig = {
targetContainerId: 'filterContainer',
data: filterData,
type: FilterCrator.FILTER_TYPES.PLAIN_FILTER
};
FilterCreator.generateFilter(filterConfig);
Ejemplo con datos obtenidos desde servidor:
var url = "data/filterData";
var filterConfig = {
targetContainerId: 'filterContainer',
ajaxUrl: url,
type: FilterCrator.FILTER_TYPES.PLAIN_FILTER
};
FilterCreator.generateFilter(filterConfig);
###Tipos de filtro
Se renderiza el filtro en el contenedor indicado en targetContainerId
.
Es la misma funcionalidad de Añadir un filtro especifico
(mas adelante en la documentacion).
Genera el filtro en un modal (tipo bootstrap) con el id {targetContainerId]+-filter
. Por ejemplo, si targetContainerId es container
, el id del modal generado sería container-filter
.
El boton que enseña dicho modal es responsabilidad del usuario.
Es la misma funcionalidad de Añadir un filtro de componente tabla
(mas adelante en la documentacion).
Genera el filtro en un modal con el id {targetContainerId]+-filter
. Por ejemplo, si targetContainerId es container
, el id del modal generado sería container-filter
.
Es la misma funcionalidad de Añadir un filtro general
(mas adelante en la documentacion).
Genera el filtro en un modal con el id filterModal
que afecta a todos los graficos puestos en targetContainerId
(separados por coma).l modal generado sería container-filter
.
Por último necesitamos un div que lo contenga, cuyo id le proporcionaremos al componente.
El segundo parametro es un array de arrays. Cada array es un conjunto de inputs que se agruparan en un contenedor con la clase "well" de bootstrap.
FilterCreator.render("id del contenedor del grafico",
[
[{input1A}, {input1B}, ...],
[{input2A}, {input2B}, ...],
...
],
{options} [optional]
);
Ejemplo:
FilterCreator.render("chart",
[
[
{"type": "text", "name": "inputPru", "defaultValue": "default", "label": "label"},
{"type": "date", "name": "date2", "label": "date2"}
],
[
{"type": "dateFromTo", "name": "dateFromTo", "label": "label3"}
]
],
{small: true}
);
Elprimer parametro es una lista de los graficos a los que afecta el filtro separado por puntocoma ";".
El segundo parametro es un array de arrays. Cada array es un conjunto de inputs que se agruparan en un contenedor con la clase "well" de bootstrap.
FilterCreator.renderGeneral("content-intensity;content-users;content-duration",
[
[{input1A}, {input1B}, ...],
[{input2A}, {input2B}, ...],
...
],
{options} [optional]
);
Ejemplo:
FilterCreator.renderGeneral("chart",
[
[
{"type": "text", "name": "inputPru", "defaultValue": "default", "label": "label"},
{"type": "date", "name": "date2", "label": "date2"}
],
[
{"type": "dateFromTo", "name": "dateFromTo", "label": "label3"}
]
]
);
El comportamiento es igual que el de un filtro especifico, pero en vez de a la funcion render se le llama a la funcion renderForTable con los mismos parametros.
##Definicion del parametro opcional "options"
{
"small": true,
"callback": function(){}
}
small: [optional] El modal por defecto tiene un tamaño de 600px. Si le ponemos la opcion small a true tendra un ancho de 400px. Util cuando solo tenemos un imput y así centrarlo. Ese input tambien debe tener un tamaño de 12 columnas. callback: [optional] Callback que se ejecutara al finalizar el renderizado del formulario.
Input de texto normal
Se construye de la siguiente manera:
{
"type": "text",
"name": "input_name",
"defaultValue": "default_value",
"label": "label"
}
Input de numerico
Se construye de la siguiente manera:
{
"type": "number",
"name": "input_name",
"defaultValue": "default_value",
"label": "label"
}
Input de checkbox
Se construye de la siguiente manera:
{
"type": "checkbox",
"name": "checkbox",
"label": "checkbox",
"checked": true
}
Input de select
Se construye de la siguiente manera:
{
"type": "select",
"name": "select",
"label": "select",
"options": [
{"value": "a", "text": "a"},
{"value": "b", "text": "b"},
{"value": "c", "text": "c"}
]
}
Input de select al que el onchange afecta a otro select
Se construye de la siguiente manera:
{
"type": "selectDependant",
"name": "select",
"label": "select",
"options": [
{"value": "a", "text": "a"},
{"value": "b", "text": "b"},
{"value": "c", "text": "c"}
],
"optionKey": "paramoption",
"affects": "select2",
"url": "/data/list"
}
Input de radiobutton
Se construye de la siguiente manera:
{
"type": "radio",
"name": "radio2",
"label": "radio2",
"size": "12",
"options": [
{"value": "a", "text": "a"},
{"value": "b", "text": "b"},
{"value": "c", "text": "c"}
]
}
Input oculto (hidden)
Se construye de la siguiente manera:
{
"type": "hidden",
"name": "nombre",
"value": "valor"
}
Input de fecha. por defecto lleva la fecha del día de hoy
Se construye de la siguiente manera:
{
"type": "date",
"name": "date1",
"label": "date1",
"date": new Date()
}
Monta el componente completo para seleccionar rango de fecha radiobuttons incluidos
Se construye de la siguiente manera:
{
"type": "dateFromTo",
"name": "dateFromTo",
"label": "label3",
"from": new Date(new Date().getTime() - 86400000 * 31),
"to": new Date(),
"checked": {"yearly": true},
"show": {"yearly": true,"monthly": true,"daily": true}
}
Monta un input de date con radiobuttons para poder cambiar el formato de la fecha
Se construye de la siguiente manera:
{
"type": "dateChangeable",
"name": "dateChangeable",
"label": "label4",
"date": new Date(),
"checked": {"yearly": true}
"show": {"yearly": true,"monthly": true,"daily": true}
}
FAQs
modal filter creator for spider-city
The npm package filter-creator receives a total of 8 weekly downloads. As such, filter-creator popularity was classified as not popular.
We found that filter-creator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.