Documentation Index
Fetch the complete documentation index at: https://docs-fw.madbuilder.com.br/llms.txt
Use this file to discover all available pages before exploring further.
__construct
Construtor da classe BDateRange.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
Define o nome do formulário ao qual o campo pertence, ajustando automaticamente para campos de início e fim quando aplicável.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setFormName('formDados');
setEnableDates
Define datas específicas que podem ser selecionadas.
Parâmetros:
Array de datas que são permitidas.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setEnableDates(['2025-01-01', '2025-01-02', '2025-01-03', '2025-01-04', '2025-01-05']);
getEnableDates
Obtém as datas que estão habilitadas para seleção.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setEnableDates(['2026-02-01', '2026-02-04']);
$datasPermitidas = $intervaloDatas->getEnableDates(); // ['2026-02-01', '2026-02-04']
setDisableDates
Define datas específicas que não podem ser selecionadas.
Parâmetros:
Array de datas que não são permitidas.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setDisableDates(['2025-01-01', '2026-01-01', '2027-01-01', '2028-01-01', '2029-01-01', '2030-01-01', '2031-01-01', '2032-01-01', '2033-01-01', '2034-01-01', '2035-01-01']);
getDisableDates
Obtém as datas que estão desabilitadas para seleção.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setDisableDates(['2030-04-10', '2030-04-20', '2030-04-30']);
$datasProibidas = $intervaloDatas->getDisableDates();
setSeparator
Define o separador entre as datas no campo.
Parâmetros:
Caractere ou texto usado como separador.
Exemplo de código:
$intervaloDatas = new BDateRange('intervaloDatas');
$intervaloDatas->setSeparator(' até ');
getSeparator
Obtém o separador utilizado entre as datas.
Exemplo de código:
$intervaloDatas = new BDateRange('intervaloDatas');
$intervaloDatas->setSeparator(' - ');
$separador = $intervaloDatas->getSeparator(); // -
setCalendars
Define o número de calendários a serem exibidos.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setCalendars(1);
getCalendars
Obtém o número de calendários exibidos.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setCalendars(3);
$numCalendarios = $intervaloDatas->getCalendars();
setMask
Define a máscara para os campos de datas.
Parâmetros:
Máscara para os dados de entrada.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setMask('DD-MM-YYYY');
Obs.: caso a máscara inclua horas, minutos e/ou segundos, tais campos serão adicionados ao calendário para edição.
getMask
Obtém a máscara atualmente configurada para os campos de data.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setMask('dd-mm-yyyy');
$mascara = $intervaloDatas->getMask(); // dd-mm-yyyy
setDatabaseMask
Define a máscara usada para coletar os dados para o banco de dados.
Parâmetros:
Máscara para o banco de dados.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setDatabaseMask('YYYY-MM-DD');
Obs.: perceba que, ao executar o código acima, a máscara presente em nível de aplicação não terá sido alterada.
getDatabaseMask
Obtém a máscara do banco de dados atualmente configurada.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setDatabaseMask('yyyy-mm-dd');
$mascaraDB = $intervaloDatas->getDatabaseMask(); // yyyy-mm-dd
setSteps
Define os incrementos para horas, minutos e segundos nos seletores de tempo.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setMask('dd/mm/yyyy hh:ii:ss');
$intervaloDatas->setSteps(1, 15, 30);
setGrid
Define a grade para a exibição do calendário.
Parâmetros:
Número que define a grade.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setCalendars(3);
$intervaloDatas->setGrid(2); // Exibe apenas dois calendários por linha
getGrid
Obtém a configuração da grade de exibição para os calendários.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setGrid(6);
$grade = $intervaloDatas->getGrid(); // 6
Ativa a exibição dos botões de confirmação nos calendários.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->showConfirmButtons();
Desativa a exibição dos botões de confirmação, aplicando automaticamente as seleções.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->showConfirmButtons();
$intervaloDatas->hideConfirmButtons();
setTitle
Define o título para o popover do calendário.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setTitle('Selecione um Intervalo');
getTitle
Obtém o título do popover dos calendários.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setTitle('Selecione um Intervalo');
$titulo = $intervaloDatas->getTitle(); // Selecione um intervalo
setValue
Define o valor do campo com base na máscara de banco de dados.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('intervaloDatas');
$intervaloDatas->setValue('01/01/2022 - 01/02/2022');
Obs.: caso o componente possua dois campos para exibição de datas, ‘setValue’ afetará apenas o primeiro.
setEndValue
Define o valor para o campo de data final.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setEndValue('2025-12-31');
getEndValue
Obtém o valor do campo de data final.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setEndValue('2025-05-15');
$dataFinal = $intervaloDatas->getEndValue(); // 2025-05-15
setExitAction
Define a ação a ser executada quando o usuário sai do campo.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setExitAction(new TAction(['NomeClasseDeControle', 'onExitAction']));
Código de exemplo da função a ser chamada, lembrando que essa função precisa ser estática (static function).
public static function onExitAction($param = null)
{
new TMessage('info', print_r($param, true));
}
setChangeAction
Define a ação a ser executada quando o usuário altera o campo.
Parâmetros:
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setChangeAction(new TAction(['NomeClasseDeControle', 'onChangeAction']));
Código de exemplo da função a ser chamada, lembrando que essa função precisa ser estática (static function).
public static function onChangeAction($param = null)
{
new TMessage('info', print_r($param, true));
}
getPostData
Obtém os dados enviados pelo formulário, ajustados para a máscara do banco de dados.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$dadosPostados = $intervaloDatas->getPostData();
enableField e disableField
(Método estático) Ativa e desativa um campo de intervalo de datas em um formulário.
Parâmetros:
Exemplo de código:
$etapas = new BDateRange('dataInicio', 'dataFim');
$btnHabilitar = new TButton('btnEnableField');
$btnHabilitar->addStyleClass('btn-default');
$btnHabilitar->setImage('far:circle #000000');
$btnHabilitar->setAction(new TAction([$this, 'habilitarCampo']), 'Habilitar Componente BDateRange');
$btnDesabilitar = new TButton('btnDisableField');
$btnDesabilitar->addStyleClass('btn-default');
$btnDesabilitar->setImage('far:circle #000000');
$btnDesabilitar->setAction(new TAction([$this, 'desabilitarCampo']), 'Desabilitar Componente BDateRange');
Código de exemplo das funções a serem chamadas, lembrando que essas funções precisam ser estáticas (static function).
public static function habilitarCampo($param = null)
{
BDateRange::enableField('nomeForm', 'dataInicio');
}
public static function desabilitarCampo($param = null)
{
BDateRange::disableField('nomeForm', 'dataInicio');
}
convertMask
(Método estático) Converte uma máscara de data para o formato padrão utilizado pelo componente.
Parâmetros:
Exemplo de código:
$mascara = 'dd/mm/yyyy ii:ss:hh';
$novaMascara = BDateRange::convertMask($mascara);
echo $novaMascara; // DD/MM/YYYY mm:ss:HH
replaceToMask
(Método estático) Substitui uma máscara de data por outra em um valor específico.
Parâmetros:
Exemplo de código:
$dataFormatada = BDateRange::replaceToMask('06-01-2024', 'dd-mm-yyyy', 'yyyy-mm-dd');
echo $dataFormatada; // 2024-01-06