Skip to main content

__construct

Construtor da classe BDateRange. Parâmetros:
$name
mixed
required
Nome do campo inicial.
$name_end
mixed
default:"null"
Nome do campo final.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');

setFormName

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:
$name
mixed
required
Nome do formulário.
Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->setFormName('formDados');

setEnableDates

Define datas específicas que podem ser selecionadas. Parâmetros:
$dates
array
required
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:
$dates
array
required
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:
$separator
string
required
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:
$calendars
int
required
Número de calendários.
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:
$mask
mixed
required
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:
$mask
mixed
required
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:
$stepHours
mixed
required
Incremento das horas.
$stepMinutes
mixed
required
Incremento dos minutos.
$stepSeconds
mixed
required
Incremento dos segundos.
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:
$grid
int
required
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

showConfirmButtons

Ativa a exibição dos botões de confirmação nos calendários. Exemplo de código:
$intervaloDatas = new BDateRange('dataInicio', 'dataFim');
$intervaloDatas->showConfirmButtons();

hideConfirmButtons

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:
$title
string
required
Texto do título.
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:
$value
mixed
required
Valor do campo.
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:
$value
mixed
required
Valor da data final.
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:
$action
TAction
required
Objeto TAction.
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:
$action
TAction
required
Objeto TAction.
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:
$form_name
mixed
required
Nome do formulário.
$field
mixed
required
Nome do campo.
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:
$mask
mixed
required
Máscara original.
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:
$value
mixed
required
Valor original.
$fromMask
mixed
required
Máscara original.
$toMask
mixed
required
Nova máscara.
Exemplo de código:
$dataFormatada = BDateRange::replaceToMask('06-01-2024', 'dd-mm-yyyy', 'yyyy-mm-dd');
echo $dataFormatada; // 2024-01-06