fields

object

%field

/phlo/resources/fields/field.phlo
type abstract class
version 1.0
creator q-ai.nl
summary Base ORM field
package fields
frontend false
backend true
tags field orm
function

function field ($type, ...$args)

line 10
Maakt een veld met een opgegeven type en aanvullende argumenten, waarbij de phlo-functie wordt gebruikt om een unieke identificatie voor het veld te genereren.
phlo("field_$type", ...$args, type: $type)
static

field :: __handle

line 12
Deze eigenschap wordt gebruikt om toegang te krijgen tot de interne handle van een veldobject in Phlo.
null
prop

%field -> title

line 14
Deze expressie haalt de 'name' eigenschap van het huidige object op en kapitaliseert de eerste letter.
ucfirst($this->name)
method

%field -> input ($record)

line 16
Genereert een invoerveld op basis van het opgegeven type, naam en waarde uit het opgegeven record, met optionele attributen voor maxlength en placeholder.
input(type: $this->type, name: $this->name, value: $record->{$this->name} ?? $this->default, maxlength: $this->length, placeholder: $this->placeholder, class: 'field')
method

%field -> label ($record)

line 17
Haal het label van een veld op uit het opgegeven record met behulp van de naam van het veld.
$record->{$this->name};
prop

%field -> objColumns

line 19
Deze eigenschap haalt de kolommen van het opgegeven obj op in de context van een veld.
[]
method

%field -> objValidate ($value)

line 21
Valideert de gegeven waarde tegen specifieke regels zoals verplicht, lengte, patroon en enumeratiebeperkingen, en retourneert foutmeldingen als de validatie mislukt.
if (($value === null || $value === void) && $this->required) return $this->title.' is required'
if ($value === null || $value === void) return null
if ($this->length && is_string($value) && mb_strlen($value) > $this->length) return $this->title.' is too long (max '.$this->length.')'
if ($this->pattern && is_string($value) && !preg_match('/'.str_replace('/', '\\/', $this->pattern).'/', $value)) return $this->title.' has invalid format'
if ($this->enum && !in_array($value, (array)$this->enum, true)) return $this->title.' must be one of: '.implode(', ', (array)$this->enum)
return null
object

%field_bool

/phlo/resources/fields/bool.phlo
extends field
class field_bool
version 1.0
creator q-ai.nl
summary Boolean field
package fields
frontend true
backend true
tags field boolean input
prop

%field_bool -> true

line 11
Stelt een boolean-veld voor met een waar waarde, weergegeven als een vinkje-symbool '✅'.
'✅'
prop

%field_bool -> false

line 12
Stelt een boolean-veld voor met een standaardwaarde van false, weergegeven als '❌'.
'❌'
method

%field_bool -> label ($record)

line 14
Geeft het label terug dat overeenkomt met een boolean veld in het gegeven record, waarbij het waar-label of het onwaar-label wordt geretourneerd op basis van de waarde van het veld.
$record->{$this->name} ? $this->true : $this->false
method

%field_bool -> input ($record)

line 15
Genereert een checkbox invoerveld voor een boolean waarde, met een label, op basis van de waarde van het opgegeven record.
tag('label', inner: input(type: 'checkbox', name: $this->name, value: 1, checked: $record->{$this->name} ? false : null).tag('span', class: 'slider', inner: void))
method

%field_bool -> parse ($record)

line 16
Parst een booleaanse waarde uit de payload en wijst deze toe aan het opgegeven veld in het record.
$record->{$this->name} = (bool)%payload->{$this->name};
method

%field_bool -> nullable

line 17
Deze functie converteert een boolean veld naar een nullable type, waardoor het waar, onwaar of null waarden kan vertegenwoordigen.
false
prop

%field_bool -> objColumns

line 19
Toegang tot de kolom die is gekoppeld aan het boolean-veld in de objectcontext.
[$this->name]
object

%field_child

/phlo/resources/fields/child.phlo
extends field
class field_child
version 1.0
creator q-ai.nl
summary Child relation field
package fields
frontend true
backend true
tags field relation child
prop

%field_child -> list

line 11
Toegang tot de 'count' eigenschap van het field_child object binnen de lijst.
'count'
prop

%field_child -> change

line 12
De field_child->$change-eigenschap geeft aan of het kindveld enige wijzigingen heeft ondergaan, waarbij een boolean waarde van false betekent dat er geen wijzigingen zijn opgetreden.
false
prop

%field_child -> create

line 13
Deze expressie evalueert naar false, wat aangeeft dat de field_child eigenschap de create-operatie niet ondersteunt.
false
prop

%field_child -> record

line 14
Toegang tot het kindrecord van het huidige veld in een lijst.
'list'
method

%field_child -> count ($record)

line 16
Telt het aantal kindrecords dat is gekoppeld aan het opgegeven record en retourneert het aantal.
tag('a', href: slash.($record::$uriRecord ?? $record::class).slash.$record->id.slash.$this->name, class: 'async', inner: $record->getCount($this->name).space.$this->title)
method

%field_child -> last ($record)

line 17
Haal de laatste waarde van het opgegeven veld uit het gegeven record.
$record->getLast($this->name)
method

%field_child -> label ($record)

line 18
Haal het label op voor een kindveld uit een gegeven record, en retourneer een streepje als er geen label wordt gevonden.
implode(loop($record->{$this->name}, fn($child) => $this->link($child))) ?: dash
method

%field_child -> input ($record)

line 19
Genereert een invoerveld dat is gekoppeld aan een specifiek record, waarbij de labelmethode wordt gebruikt om het bijbehorende label weer te geven.
$this->label($record)
method
line 20
Genereert een anker (`<a>`) element dat linkt naar een bron die wordt geïdentificeerd door het gegeven `$record`, met gebruik van de URI en ID, en past de 'async' klasse toe voor asynchrone laadtijd.
tag('a', href: slash.($record::$uriRecord ?? $record::class).slash.$record->id, class: 'async', inner: $record)
object

%field_date

/phlo/resources/fields/date.phlo
extends field
class field_date
version 1.0
creator q-ai.nl
summary Date field
package fields
frontend false
backend true
tags field date
prop

%field_date -> handle

line 11
Deze expressie haalt de handle op die is gekoppeld aan het field_date-object en retourneert true als deze bestaat.
true
prop

%field_date -> objColumns

line 13
Toegang tot het datumveld van de opgegeven objectkolommen met behulp van de naam eigenschap.
[$this->name]
object

%field_datetime

/phlo/resources/fields/datetime.phlo
extends field
class field_datetime
version 1.0
creator q-ai.nl
summary Date-time field
package fields
frontend true
backend true
tags field datetime
prop

%field_datetime -> handle

line 11
De field_datetime->$handle expressie wordt gebruikt om de handle van een datetime-veld in Phlo te benaderen.
true
prop

%field_datetime -> change

line 12
Dit item controleert of de veldnaam niet 'created' of 'changed' is voordat een wijziging aan het datetime-veld wordt toegestaan.
!in_array($this->name, ['created', 'changed'])
prop

%field_datetime -> create

line 13
Controleert of de veldnaam niet 'created' of 'changed' is.
!in_array($this->name, ['created', 'changed'])
method

%field_datetime -> label ($record)

line 15
Genereert een label voor een datetime-veld in een record, met een pictogram en een leesbaar tijdformaat als er een waarde bestaat.
($value = $record->{$this->name}) ? tag('i', class: 'icon clock-'.$this->labelIconClass(time() - $value), inner: void).tag('span', data_ts: $record->{$this->name}, inner: time_human($record->{$this->name})) : dash
method

%field_datetime -> labelIconClass ($value)

line 16
Geeft een kleurklasse terug op basis van de waarde van tijd in seconden, waarbij het wordt gecategoriseerd als 'rood' voor meer dan een dag, 'geel' voor meer dan een uur en 'blauw' voor minder.
$value > 86400 ? 'red' : ($value > 3600 ? 'yellow' : 'blue')
method

%field_datetime -> input ($record)

line 17
Genereert een invoerveld van het type 'datetime-local' voor een opgegeven record, vooraf gevuld met de geformatteerde datum- en tijdwaarde.
input(type: 'datetime-local', name: $this->name, value: date('Y-m-d\TH:i', $record->{$this->name}), class: 'field')
method

%field_datetime -> parse ($record)

line 18
Parst een datetime-veld uit een record, waarbij 'created' wordt ingesteld op de huidige tijd als het nog niet is ingesteld, 'changed' wordt bijgewerkt naar de huidige tijd, of een payloadwaarde wordt omgezet naar een tijdstempel als deze bestaat.
if ($this->name === 'created') $record->created ??= time()
elseif ($this->name === 'changed') $record->{$this->name} = time()
elseif ($payload = %payload->{$this->name}) $record->{$this->name} = strtotime($payload)
prop

%field_datetime -> objColumns

line 24
Toegang tot de kolom die is gekoppeld aan het field_datetime-object, waarbij de naam wordt geretourneerd.
[$this->name]
object

%field_email

/phlo/resources/fields/email.phlo
extends field_text
class field_email
version 1.0
creator q-ai.nl
summary Email field
package fields
frontend false
backend true
tags field email
view

%field_email -> label ($record)

line 12
Deze view genereert een mailto-link voor een e-mailadres dat in het record is opgeslagen, zodat gebruikers kunnen klikken en direct een e-mail kunnen verzenden.
<a href="mailto:{{ $record->{$this->name} }}">{{ $record->{$this->name} }}</a>
object

%field_file

/phlo/resources/fields/file.phlo
extends field
class field_file
version 1.0
creator q-ai.nl
summary File field
package fields
frontend true
backend true
tags field file upload
prop

%field_file -> canDelete

line 11
De `field_file->$canDelete` eigenschap geeft aan of het bestand kan worden verwijderd.
true
prop

%field_file -> delete

line 12
Vraagt de gebruiker om bevestiging voordat een bestand wordt verwijderd.
'Delete file?'
prop

%field_file -> path

line 13
De `field_file->$path` haalt het bestandspad op dat is gekoppeld aan een specifiek bestandsveld in de context van een resource.
files
prop

%field_file -> uri

line 14
Deze eigenschap retourneert de URI voor een bestand dat is opgeslagen in de '/files/' directory.
'/files/'
prop

%field_file -> length

line 15
De `$length` eigenschap van `field_file` retourneert de grootte van het bestand in bytes.
100
method

%field_file -> label ($record)

line 17
Genereert een hyperlink voor een bestand dat aan het gegeven record is gekoppeld, met de naam van het bestand en een token voor veilige toegang. Als er geen bestand aanwezig is, retourneert het een streepje.
($filename = $record->{$this->name}) ? tag('a', href: $this->uri.$record->{$this->name.'_token'}.slash.rawurlencode($filename), target: 'file', inner: tag('i', class: 'icon '.pathinfo($filename, PATHINFO_EXTENSION), inner: void).$filename) : dash
method

%field_file -> input ($record)

line 18
Genereert een HTML-invoerveld voor bestandsuploads, waarbij de huidige bestandsnaam wordt weergegeven als deze beschikbaar is en een optie wordt geboden om het bestand te verwijderen.
$input = void
$file = ($filename = $record->{$this->name}) ? $this->read($record) : null
$input .= lf.tab.tag('div', class: 'file', inner: $file ? tag('i', class: "icon $file->ext", inner: void).$filename : '-select-')
$input .= lf.tab.input(type: 'file', class: 'file-input', name: $this->name, accept: '.pdf')
$file && $this->canDelete && $input .= lf.tab.tag('div', inner: tag('label', inner: input(type: 'checkbox', name: $this->name.'Delete')." $this->delete"))
return $input.lf
method

%field_file -> parse ($record)

line 27
Parst een bestand uit de payload, behandelt verwijdering en schrijft het bestand als het geldig is, en werkt het record bij met de verkorte naam en token van het bestand.
$file = %payload->{$this->name};
if ($delete = %payload->{$this->name.'Delete'}) unset(%payload->{$this->name.'Delete'})
if ($record->{$this->name} && $delete && $this->canDelete) $record->{$this->name} = $record->{$this->name.'_token'} = null
if (is_a($file, 'file')){
	$token = $file->token
	if (!$this->write($file)) return
	$record->{$this->name} = $file->shortenTo($this->length)
	$record->{$this->name.'_token'} = $token
}
method

%field_file -> read ($record, $path = null)

line 39
Leest een bestand dat aan een record is gekoppeld, met een opgegeven pad of een standaardpad, en retourneert de inhoud van het bestand samen met de naam en aanvullende informatie.
$filename = $record->{$this->name};
$token = $record->{$this->name.'_token'};
return %file(($path ?? $this->path).($info = substr($token, 0, 2).slash.substr($token, 2).dot.pathinfo($filename, PATHINFO_EXTENSION)), name: $filename, info: $info)
method

%field_file -> write ($file)

line 45
Schrijft het opgegeven bestand naar het aangewezen pad, verplaatst het indien nodig, en activeert een fout als de schrijfoperatie mislukt.
file_exists($dest = $this->writePath($file)) || $file->move($dest) || error("Couldn't write: $dest")
method

%field_file -> writePath ($file, $path = null)

line 46
Schrijft het bestand naar een opgegeven pad, waarbij de map wordt aangemaakt als deze niet bestaat, en retourneert het volledige pad van het geschreven bestand.
$token = $file->token
$path = ($path ?? $this->path).substr($token, 0, 2)
is_dir($path) || mkdir($path) || error("Couldn't create: $path")
return $path.slash.substr($token, 2).dot.$file->ext
prop

%field_file -> objColumns

line 53
Deze eigenschap haalt een array op met de naam van het veld en de bijbehorende token voor de opgegeven objectkolommen.
[$this->name, $this->name.'_token']
view

script

line 55
Dit script beheert de interacties met bestandsinvoer door een klik op de bestandsinvoer te activeren wanneer het bijbehorende label wordt aangeklikt en de labeltekst bij te werken met de geselecteerde bestandsnaam bij bestandsselectie.
on('click', '.input.file .file', (file) => file.nextElementSibling.click())
on('change', '.input.file .file-input', (input) => input.previousElementSibling.innerText = input.files[0].name)
object

%field_image

/phlo/resources/fields/image.phlo
extends field_file
class field_image
version 1.0
creator q-ai.nl
summary Image field
package fields
frontend true
backend true
tags field image upload
prop

%field_image -> delete

line 11
Geeft de gebruiker een bevestigingsbericht met de vraag of ze de afbeelding willen verwijderen.
'Delete image?'
prop

%field_image -> uri

line 12
Deze expressie haalt de URI van een afbeeldingsveld op door het basispad '/images/' aan de waarde van het veld toe te voegen.
'/images/'
prop

%field_image -> path

line 13
De `field_image->$path` geeft het pad van de afbeelding in de `field_image` resource weer.
images
prop

%field_image -> thumbPath

line 14
Het `thumbPath`-veld in het `field_image`-object haalt het pad op naar de miniatuurafbeelding die is opgeslagen in de `thumbs`-resource.
thumbs
prop

%field_image -> thumbSize

line 15
De `field_image->$thumbSize` eigenschap definieert de grootte van de miniatuurafbeelding voor een gegeven veld in Phlo.
64
prop

%field_image -> thumbUri

line 16
Deze prop genereert een thumbnail-URI door '/thumbs/' toe te voegen aan de waarde van field_image.
'/thumbs/'
method

%field_image -> label ($record)

line 18
Genereert een HTML-ankertag met een afbeelding, die linkt naar een opgegeven URI op basis van de verstrekte recordgegevens. Als het record geen bestandsnaam bevat, retourneert het een streepje.
($filename = $record->{$this->name}) ? tag('a', href: $this->uri.($url = $record->{$this->name.'_token'}.slash.rawurlencode($filename)), target: 'image', inner: tag('img', src: $this->thumbUri.$url)) : dash
method

%field_image -> input ($record)

line 19
Genereert een HTML-invoerelement voor het uploaden van een afbeelding, samen met een voorbeeld van de huidige afbeelding indien beschikbaar, en een optionele checkbox voor het verwijderen van de afbeelding.
$input = void
$file = $record->{$this->name} ? $this->read($record, $this->thumbPath) : null
$input .= lf.tab.tag('img', src: $file ? $this->thumbUri.$record->{$this->name.'_token'}.slash.rawurlencode($record->{$this->name}) : '/image.select.jpg', class: 'image')
$input .= lf.tab.input(type: 'file', class: 'image-input',  name: $this->name, accept: 'image/*', data_size: $this->thumbSize)
$file && $this->canDelete && $input .= lf.tab.tag('div', inner: tag('label', inner: input(type: 'checkbox', name: $this->name.'Delete')." $this->delete"))
return $input.lf
method

%field_image -> write ($file)

line 28
Schrijft een afbeeldingsbestand naar een opgegeven pad en verplaatst het originele bestand naar een andere locatie, terwijl de afbeelding ook wordt geschaald naar een gedefinieerde thumbnailgrootte.
%img($file->file)->scale($this->thumbSize, $this->thumbSize)->save($this->writePath($file, $this->thumbPath)) && $file->move($this->writePath($file))
prop

%field_image -> objColumns

line 30
Deze expressie haalt de kolommen op die zijn gekoppeld aan het field_image, specifiek de kolomnamen die zijn gedefinieerd door de naam van het object en de tokenvariant.
[$this->name, $this->name.'_token']
view

script

line 32
Dit script behandelt klikgebeurtenissen op afbeeldings-elementen om een bestandinvoer te activeren en verwerkt afbeeldingswijzigingen om de geüploade afbeelding te verkleinen voordat de bron van het vorige sibling-element wordt bijgewerkt.
on('click', '.input.image .image', (img) => img.nextElementSibling.click())
on('change', '.input.image .image-input', (input) => imageResizer(input.files[0], input.dataset.size, input.dataset.size, (image) => input.previousElementSibling.src = image))
object

%field_many

/phlo/resources/fields/many.phlo
extends field
class field_many
version 1.0
creator q-ai.nl
summary Many-to-many relation field
package fields
frontend true
backend true
tags field relation many
prop

%field_many -> list

line 11
De field_many->$list eigenschap wordt gebruikt om een lijst van labels voor een veld in een Phlo-applicatie te definiëren.
'label'
prop

%field_many -> record

line 12
Toegang tot het 'label' veld van elk record in een verzameling records.
'label'
prop

%field_many -> create

line 13
Maakt meerdere instanties van een veld in een resource.
false
prop

%field_many -> change

line 14
De field_many->$change-eigenschap geeft aan of er wijzigingen zijn opgetreden in de waarde van het veld.
false
method

%field_many -> count ($record)

line 16
Geeft het aantal records terug dat is gekoppeld aan de opgegeven veldnaam in het gegeven record.
$record->getCount($this->name)
method

%field_many -> label ($record)

line 17
Genereert een label voor elk item in een many-to-many-relatie vanuit het gegeven record, met koppelingen naar de gerelateerde entiteiten.
loop($record->{$this->name}, fn($relation) => $this->link($relation), lf) ?: dash
method
line 18
Genereert een anker (`<a>`) element dat linkt naar de URI van een specifiek record, waarbij de ID en klasse van het record voor de URL worden gebruikt, en past de 'async' klasse toe voor asynchrone laadtijd.
tag('a', href: slash.($record::$uriRecord ?? $record::class).slash.$record->id, class: 'async', inner: $record)
method

%field_many -> input ($record)

line 19
Genereert een invoerveld voor elk item in het opgegeven record, met behulp van de label-methode om het label van het veld in te stellen.
$this->label($record)
prop

%field_many -> objColumns

line 21
De property field_many->$objColumns bevat een array van kolomobjecten die zijn gekoppeld aan een many-to-many relatie in een Phlo resource.
[]
object

%field_multiselect

/phlo/resources/fields/multiselect.phlo
extends field
class field_multiselect
version 1.0
creator q-ai.nl
summary Multi-select via checkboxes; slaat de keuze als CSV op in één verborgen veld (geen save-aanpassing nodig).
package fields
frontend false
backend true
tags field select multi
method

%field_multiselect -> label ($record)

line 11
Geeft het label voor een multiselectveld op basis van het opgegeven record, met een streepje als standaard als de waarde leeg is.
($v = (string)($record->{$this->name} ?? '')) !== '' ? $v : dash
method

%field_multiselect -> input ($record)

line 13
$current = array_filter(array_map('trim', explode(',', (string)($record->{$this->name} ?? ''))))
$js = "var f=this.closest('.field');f.querySelector('input.msv').value=[...f.querySelectorAll('input.msc:checked')].map(c=>c.value).join(',')"
$boxes = loop((array)$this->options, fn($o) => tag('label', tag('input', type: 'checkbox', value: (string)$o, class: 'msc', checked: in_array((string)$o, $current) ? true : void, onchange: $js).esc((string)$o), class: 'ms-opt'), void)
return tag('input', type: 'hidden', name: $this->name, value: implode(',', $current), class: 'msv').tag('div', $boxes ?: tag('span', 'geen opties', class: 'muted'), class: 'ms-grid')
prop

%field_multiselect -> objColumns

line 20
Dit haalt de waarde op van het veld dat wordt geïdentificeerd door de naam eigenschap vanuit de huidige objectcontext.
[$this->name]
object

%field_number

/phlo/resources/fields/number.phlo
extends field
class field_number
version 1.0
creator q-ai.nl
summary Number field
package fields
frontend true
backend true
tags field number
prop

%field_number -> decimals

line 11
De `field_number->$decimals` eigenschap specificeert het aantal decimalen voor een numeriek veld in Phlo.
prop

%field_number -> length

line 12
Dit definieert de lengte-eigenschap van een field_number, die het maximale aantal toegestane cijfers specificeert.
5
prop

%field_number -> min

line 13
Deze prop definieert de minimale waarde voor een getalveld in een view.
method

%field_number -> label ($record)

line 15
Formatteert een numeriek veld uit het opgegeven record volgens de opgegeven decimalen, met een komma als duizendtalscheiding en een punt als decimaalteken.
number_format($record->{$this->name}, $this->decimals, comma, dot)
method

%field_number -> input ($record)

line 16
Genereert een HTML-invoerelement van het type 'number' met gespecificeerde attributen, waaronder naam, waarde, stap en min, met gegevens uit het opgegeven record.
input(type: 'number', name: $this->name, value: $record->{$this->name} ?? $this->default, step: $this->decimals ? dot.str_repeat('0', $this->decimals - 1).'1' : null, min: $this->min, class: 'field')
prop

%field_number -> objColumns

line 18
Toegang tot de kolomgegevens die zijn gekoppeld aan het veld dat wordt weergegeven door de huidige objectinstantie met behulp van de naam.
[$this->name]
object

%field_parent

/phlo/resources/fields/parent.phlo
extends field
class field_parent
version 1.0
creator q-ai.nl
summary Parent relation field
package fields
frontend false
backend true
tags field relation parent
method

%field_parent -> label ($record)

line 11
Geeft het label van het bovenliggende veld voor een gegeven record terug, met een link naar het model indien van toepassing, anders retourneert het een streepje.
is_a($obj = $record->{$this->name}, 'model') ? $this->link($obj) : dash
method

%field_parent -> input ($record)

line 12
Genereert een HTML <select> invoerelement dat is gevuld met opties op basis van het opgegeven $record, waarbij de optie als geselecteerd wordt gemarkeerd als deze overeenkomt met de ID van het record.
select(name: $this->name, inner: loop($this->options, fn($parent) => '<option'.($parent->id === $record->{$this->name}?->id ? ' selected' : void).' value="'.$parent->id.'">'.$parent, void))
method
line 13
Genereert een anker (`<a>`) HTML-element dat linkt naar de URI van een specifiek record, met gebruik van de ID van het record en optionele interne inhoud.
tag('a', href: slash.($record::$uriRecord ?? $record::class).slash.$record->id, class: 'async', inner: $content ?? $record)
prop

%field_parent -> options

line 14
Toegang tot de opties die zijn gekoppeld aan het bovenliggende veld in de context van de huidige objectrecords.
$this->obj::records()
prop

%field_parent -> objColumns

line 16
Toegang tot de kolommen van het bovenliggende object in de context van het huidige veld.
[$this->name]
object

%field_password

/phlo/resources/fields/password.phlo
extends field
class field_password
version 1.0
creator q-ai.nl
summary Password field
package fields
frontend false
backend true
tags field password
prop

%field_password -> list

line 11
De field_password->$list expressie wordt gebruikt om toegang te krijgen tot een lijst van wachtwoordvelden in een Phlo-applicatie, en retourneert false als er geen dergelijke velden bestaan.
false
prop

%field_password -> required

line 12
Geeft aan of het wachtwoordveld verplicht is voor het indienen van het formulier, waarbij een waarde van true aangeeft dat het verplicht is.
true
prop

%field_password -> minlength

line 13
Stelt de minimale lengte-eis in voor het wachtwoordveld.
8
prop

%field_password -> placeholder

line 14
Stelt de placeholdertekst voor het wachtwoordinvoerveld in op 'New password'.
'New password'
method

%field_password -> input ($record)

line 16
Genereert een invoerveld voor een wachtwoord met gespecificeerde attributen zoals type, naam, placeholder en klasse.
input(type: $this->type, name: $this->name, placeholder: $this->placeholder, class: 'field')
method

%field_password -> label ($record)

line 17
Genereert een label voor een wachtwoordveld op basis van het opgegeven record.
'••••••••'
method

%field_password -> parse ($record)

line 18
Parst het wachtwoordveld uit de payload, trimt het en hash het met PASSWORD_BCRYPT voordat het in het record wordt opgeslagen.
($password = trim(%payload->{$this->name})) && $record->{$this->name} = password_hash($password, PASSWORD_BCRYPT)
prop

%field_password -> objColumns

line 20
Toegang tot het wachtwoordveld van de objColumns-array met de naam van het huidige object als sleutel.
[$this->name]
object

%field_price

/phlo/resources/fields/price.phlo
class field_price
version 1.0
creator q-ai.nl
summary Price field
package fields
frontend false
backend true
tags field price money
extends field_number
prop

%field_price -> decimals

line 11
Deze eigenschap definieert het aantal decimalen voor het prijsveld.
2
object

%field_select

/phlo/resources/fields/select.phlo
extends field
class field_select
version 1.0
creator q-ai.nl
summary Select field
package fields
frontend false
backend true
tags field select
method

%field_select -> input ($record)

line 11
Genereert een select-invoerveld met opties op basis van het opgegeven $record, waarbij de huidige optie als geselecteerd wordt gemarkeerd als deze overeenkomt met de waarde in $record.
select(name: $this->name, inner: loop($this->options, fn($option) => "<option".($record->{$this->name} === $option ? ' selected' : void).">$option", void))
prop

%field_select -> objColumns

line 13
Toegang tot de kolomgegevens die zijn gekoppeld aan de naam van het huidige object in de context van een veldselectie.
[$this->name]
object

%field_text

/phlo/resources/fields/text.phlo
extends field
class field_text
version 1.0
creator q-ai.nl
summary Text field
package fields
frontend false
backend true
tags field text
prop

%field_text -> length

line 11
De field_text->$length eigenschap retourneert de lengte van de tekst in het veld als een geheel getal.
100
prop

%field_text -> multiline

line 12
De field_text->$multiline eigenschap bepaalt of het tekstveld meerdere regels invoer toestaat op basis van de voorwaarde dat de lengte meer dan 250 tekens bedraagt.
$this->length > 250
method

%field_text -> label ($record)

line 14
Deze functie haalt het label op voor een tekstveld uit een gegeven record, waarbij de waarde wordt ingekort als deze meer dan 100 tekens bevat en regelovergangen worden vervangen door HTML-breaks.
($value = $record->{$this->name}) === null ? dash : strtr(strlen($value) > 100 ? substr($value, 0, 80).'...' : $value, [lf => br])
method

%field_text -> input ($record)

line 15
Genereert een invoerveld voor tekstinvoer, waarbij op basis van de multiline-eigenschap of een meerregelig of een enkelregelig invoerveld wordt gebruikt.
$this->multiline ? $this->inputMulti($record) : $this->inputField($record)
method

%field_text -> inputField ($record)

line 16
Genereert een invoerveld voor een formulier, met de opgegeven type, naam, waarde, maxlength, placeholder en class-attributen.
input(type: $this->type, name: $this->name, value: ($value = $record->{$this->name}) ? esc($value) : $this->default, maxlength: $this->length, placeholder: $this->placeholder, class: 'field')
method

%field_text -> inputMulti ($record)

line 17
Genereert een meerregelige tekstinvoerveld met behulp van een textarea-element, waarbij het wordt vooraf ingevuld met een waarde uit het opgegeven record of een standaardwaarde als deze niet bestaat.
textarea(name: $this->name, inner: ($value = $record->{$this->name}) ? esc($value) : $this->default ?? void, placeholder: $this->placeholder, class: 'field')
prop

%field_text -> objColumns

line 19
Toegang tot de kolomgegevens die zijn gekoppeld aan de naam van het veld in het object.
[$this->name]
object

%field_token

/phlo/resources/fields/token.phlo
extends field
class field_token
version 1.0
creator q-ai.nl
summary Token field
package fields
frontend false
backend true
tags field token
prop

%field_token -> length

line 11
Geeft de lengte van de field_token terug als een geheel getal.
8
prop

%field_token -> default

line 12
Genereert een standaardtoken van een opgegeven lengte met behulp van de token-functie.
token($this->length)
prop

%field_token -> create

line 13
Maakt een nieuw veldtoken aan in de context van een resource en retourneert false als de operatie mislukt.
false
prop

%field_token -> change

line 14
De field_token->$change expressie evalueert naar false, wat aangeeft dat er geen wijziging is in de field token.
false
prop

%field_token -> search

line 15
De expressie field_token->$search evalueert naar true, wat aangeeft dat de zoekfunctionaliteit is ingeschakeld voor de veldtoken.
true
method

%field_token -> label ($record)

line 17
Deze functie haalt het label voor een veldtoken op uit een gegeven record en wikkelt het in een 'div'-tag, waarbij speciale tekens worden ontsnapt.
tag('div', inner: esc($record->{$this->name}))
method

%field_token -> parse ($record)

line 18
Parst een veldtoken uit het gegeven record en wijst een standaardwaarde toe als het token niet aanwezig is.
$record->{$this->name} ??= $this->default
prop

%field_token -> objColumns

line 20
Toegang tot de kolomgegevens die zijn gekoppeld aan de veldtoken in de huidige objectcontext.
[$this->name]
object

%field_virtual

/phlo/resources/fields/virtual.phlo
extends field
class field_virtual
version 1.0
creator q-ai.nl
summary Virtual field
package fields
frontend false
backend true
tags field virtual
prop

%field_virtual -> create

line 11
Deze eigenschap geeft aan of het veld virtueel is en dynamisch moet worden aangemaakt.
false
prop

%field_virtual -> change

line 12
De field_virtual->$change eigenschap geeft aan of het virtuele veld is veranderd ten opzichte van de vorige waarde.
false
prop

%field_virtual -> objColumns

line 14
De field_virtual->$objColumns eigenschap wordt gebruikt om de kolommen van een virtueel veld in een object te benaderen.
[]
object

%field_wysiwyg

/phlo/resources/fields/wysiwyg.phlo
extends field
class field_wysiwyg
version 1.0
creator q-ai.nl
summary WYSIWYG field
package fields
frontend true
backend true
tags field wysiwyg editor
method

%field_wysiwyg -> input ($record)

line 11
Genereert een WYSIWYG-editorinvoerveld, inclusief een werkbalk voor tekstopmaak en een verborgen invoer om de waarde op te slaan.
$value = $record->{$this->name} ?? $this->default ?? void
$toolbar = tag('div', class: 'toolbar', inner: tag('button', type: 'button', data_command: 'bold', inner: '<b>B</b>').tag('button', type: 'button', data_command: 'italic', inner: '<i>I</i>').tag('button', type: 'button', data_command: 'underline', inner: '<u>U</u>').tag('button', type: 'button', data_command: 'insertUnorderedList', inner: '•').tag('button', type: 'button', data_command: 'insertOrderedList', inner: '1.'))
$editor = tag('div', class: 'editor', contenteditable: 'true', inner: $value)
$hiddenInput = textarea(name: $this->name, class: 'hidden-value', inner: $value)
return tag('div', class: 'wysiwyg-container', inner: "$toolbar$editor$hiddenInput")
prop

%field_wysiwyg -> objColumns

line 19
Toegang tot de kolommen van het WYSIWYG-veld als een object, waarmee de datastructuur van het veld kan worden gemanipuleerd.
[$this->name]
view

script

line 21
Dit script activeert een WYSIWYG-editor door knopklikken te verwerken om commando's uit te voeren en een verborgen textarea bij te werken met de HTML-inhoud van de editor bij invoergebeurtenissen.
on('click', '.wysiwyg-container .toolbar button', (button, e) => {
	e.preventDefault()
	const command = button.dataset.command
	document.execCommand(command, false, null)
})

on('input', '.wysiwyg-container .editor', (editor) => {
	const container = editor.closest('.wysiwyg-container')
	const hiddenInput = container.querySelector('textarea.hidden-value')
	hiddenInput.value = editor.innerHTML
})
on('click', '.wysiwyg-container .editor a', (a) => window.open(a.href))

Functions

function

field($type, ...$args)

/phlo/resources/fields/field.phlo line 10
Maakt een veld met een opgegeven type en aanvullende argumenten, waarbij de phlo-functie wordt gebruikt om een unieke identificatie voor het veld te genereren.
phlo("field_$type", ...$args, type: $type)

We gebruiken essentiële cookies om deze site te laten werken. Met uw toestemming gebruiken we ook analytics om de site te verbeteren.