PHP code example of revaycolizer / data-display
1. Go to this page and download the library: Download revaycolizer/data-display library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
revaycolizer / data-display example snippets
use Revaycolizer\Crud\DataDisplay;
$dataTable = DataDisplay::create($entityManager, User::class);
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
$dataDisplay->setClassFetchDataFunction("all:param1,param2")
->setMode(DataDisplayModes::DEFAULT)
->setMode(DataDisplayModes::REPORT)
->setActionsButtonMode(ActionsButtonMode::DEFAULT)
->setActionsButtonMode(ActionsButtonMode::DROPDOWN)
$dataTable->columnToBeAdded([
'username' => ['type' => 'input', 'input_type' => 'text', 'label' => 'Username'],
'role' => ['type' => 'select', 'label' => 'Role', 'options' => $roles, 'value_field' => 'id', 'label_field' => 'name']
]);
$dataTable->columnsToBeEdited([
'username' => ['type' => 'input', 'input_type' => 'text'],
'role' => ['type' => 'select', 'options' => $roles, 'value_field' => 'id', 'label_field' => 'name']
]);
$dataTable->setAddPermission(true);
use App\Types\Buttons;
$dataTable->setButtonsViewable([Buttons::VIEW,Buttons::EDIT]);
$dataTable->setAddAction("Yooo")
$dataTable->setEditAction("Yooo")
$dataTable->setDeleteAction("Yooo")
$dataTable->setDeleteTitle("Delete")
->setDeleteMessage("Are you sure you want to delete this item?")
use App\Types\Buttons;
$dataTable->setBootStrapVersion(BootStrap::V3)
use App\Types\SweetAlert;
$dataTable->setSweetAlertVersion(SweetAlert::V2)
$dataTable->setDelayDataTable(true)
$dataTable->setDataTableButtons([
'copy' => true,
'csv' => ['title' => 'Exported CSV'],
'excel' => ['title' => 'Excel Export'],
'pdf' => [
'title' => 'PDF Export',
'orientation' => 'landscape',
'pageSize' => 'A4',
],
'print' => ['title' => 'Printable View'],
'colvis' => ['text' => 'Toggle Columns'],
]);
$dataTable->valuesToSelect([
'e.id',
'e.username',
'r.name AS role_name'
])->tablesToJoin([
['table' => 'e.role', 'alias' => 'r', 'on' => 'e.role = r.id']
]);
->valuesToRender([
"name",
"price",
"category_name"
])
->setEditButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
])
->setEditButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'OR',
])
->setEditButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'OR',
])
->setEditButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'AND',
])
->setEditButtonConditions([
'groups' => [
[
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'AND', // Conditions within this group are ANDed
],
[
'conditions' => [
['field' => 'stock', 'operator' => '>', 'value' => '100'],
['field' => 'category', 'operator' => '=', 'value' => 'Electronics'],
],
'group_operator' => 'OR', // Conditions within this group are ORed
],
],
'group_operator' => 'AND', // Groups themselves are ANDed together
])
->setEditButtonConditionCallback(function ($row) {
return $row['price'] > 500;
})
->setDeleteButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
])
->setDeleteButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'OR',
])
->setDeleteButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'OR',
])
->setDeleteButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'AND',
])
->setDeleteButtonConditions([
'groups' => [
[
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'rrrooo'],
['field' => 'price', 'operator' => '=', 'value' => '566'],
],
'group_operator' => 'AND', // Conditions within this group are ANDed
],
[
'conditions' => [
['field' => 'stock', 'operator' => '>', 'value' => '100'],
['field' => 'category', 'operator' => '=', 'value' => 'Electronics'],
],
'group_operator' => 'OR', // Conditions within this group are ORed
],
],
'group_operator' => 'AND', // Groups themselves are ANDed together
])
->setDeleteButtonConditionCallback(function ($row) {
return $row['price'] > 500;
})
->setImportDownloadLabel("Download Template")
->setImportTemplateName("staff.xlsx")
->setImportColumns(
[
['name' => 'Name', 'type' => 'string', 'Birth', 'type' => 'date', '
->setImportDownloadLabel("Download Template")
->setImportTemplateName("staff.xlsx")
->setImportColumns(
[
['name' => 'Name', 'type' => 'string', 'Birth', 'type' => 'date', '
->setCustomAddFormRenderer(function () {
echo '<div class="mb-3"><label>Custom Field</label><input name="name" class="form-control" /></div>';
})
->setCustomAddFormHeader("Add New Category")
->setCustomEditFormRenderer(function () {
echo '<div class="mb-3"><label>Custom Field</label><input id="dataTable_editModalprice" name="name" class="form-control" /></div>';
})
->setCustomEditFormRenderer(function () use ($categories) {
echo '<div class="mb-3">
<label for="dataTable_editModalname">Product Name</label>
<input id="dataTable_editModalname" name="name" class="form-control" />
</div>';
echo '<div class="mb-3">
<label for="dataTable_editModalprice">Price ($)</label>
<input id="dataTable_editModalprice" name="price" class="form-control" />
</div>';
echo '<div class="mb-3">
<label for="dataTable_editModalcategory_id">Category</label>
<select id="dataTable_editModalcategory_id" name="category_id" class="form-control">
<option value="">-- Select Category --</option>';
foreach ($categories as $cat) {
echo '<option value="' . htmlspecialchars($cat['id']) . '">' . htmlspecialchars($cat['name']) . '</option>';
}
echo ' </select>
</div>';
})
->setCustomEditFormHeader("Edit Category")
->setAddDialogSize(DialogSizes::LARGE)
->setEditDialogSize(DialogSizes::LARGE)
->setActionsButtonMode(ActionsButtonMode::DROPDOWN)
->setActionsButtonMode(ActionsButtonMode::DEFAULT)
->setViewSource(ViewSource::LINK)
->setViewSource(ViewSource::MODAL)
->setCustomViewFormHeader("Image")
->setValuesToShowonModal([ "name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],])
->setViewDialogSize(DialogSizes::LARGE)
$dataTable->searchable([
'e.username' => ['type' => 'input', 'label' => 'Username', 'column' => 'username'],
'r.id' => ['type' => 'select', 'label' => 'Role', 'column' => 'id', 'options' => $roles, 'value_field' => 'id', 'label_field' => 'name']
]);
->addColumnBeforeActions('Status Icon', fn($row) => $row['active'] ? '🟢' : '🔴')
->addColumnBeforeActions('Role', fn($row) => "<b>{$row['role']}</b>", raw: true)
->addColumnBeforeActions(
'Secret',
fn($row) => '🔒 Secret!',
raw: true,
visibleWhen: fn($row) => $row['price'] > 1 && $row['name']==='RRR'
)
->addColumnAfterActions(
'Secret Info',
fn($row) => '🔒 Secret!',
raw: true,
visibleWhen: fn($row) => true
)
->addColumnAfterActions('Status Icon', fn($row) => $row['active'] ? '🟢' : '🔴')
->addColumnAfterActions('Role', fn($row) => "<b>{$row['role']}</b>", raw: true)
->addColumnAfterActions(
'Secret',
fn($row) => '🔒 Secret!',
raw: true,
visibleWhen: fn($row) => $row['price'] > 1 && $row['name']==='RRR'
)
->addColumnAfterActions(
'Secret Info',
fn($row) => '🔒 Secret!',
raw: true,
visibleWhen: fn($row) => true
)
->setRowDataTransformer(function($row) {
if (!empty($row['id'])) {
$row['name'] = strtoupper($row['name']);
$row['role'] = strtoupper($row['name']);
}
if($row['price']>600){
$row['active'] =true;
}
$row['total_price'] = $row['price'] +1;
return $row;
})
$dataTable->enablePagination(10, ['username', 'role']);
$dataTable->renderDataTable($_GET['page'] ?? 1);
$dataTable->handleRequest($_POST ?? []);
$dataDisplay = DataDisplay::create($entityManager, User::class);
$dataDisplay
->valuesToSelect(["e.id", "e.name"])
->columnToBeAdded([
"name"
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
]);
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$dataDisplay = DataDisplay::create($entityManager, User::class);
$dataDisplay
->valuesToSelect(["e.id", "e.name"])
->columnToBeAdded([
"name"
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setAddPermission(true)
->setDataTableButtons([
'copy' => true,
'csv' => true,
'excel' => ['title' => 'Excel Export'],
'pdf' => [
'title' => 'PDF Export',
'orientation' => 'landscape',
'pageSize' => 'A4',
],
'print' => ['title' => 'Printable View'],
'colvis' => ['text' => 'Toggle Columns'],
]);
$dataDisplay = DataDisplay::create($entityManager, User::class);
$dataDisplay
->valuesToSelect(["e.id", "e.name"])
->columnToBeAdded([
"name"
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setDataTableButtons([
'copy' => true,
'csv' => true,
'excel' => ['title' => 'Excel Export'],
'pdf' => [
'title' => 'PDF Export',
'orientation' => 'landscape',
'pageSize' => 'A4',
],
'print' => ['title' => 'Printable View'],
'colvis' => ['text' => 'Toggle Columns'],
]);
$dataDisplay = DataDisplay::create($entityManager, User::class);
$dataDisplay
->valuesToSelect(["e.id", "e.name"])
->columnToBeAdded([
"name"
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setAddPermission(true)
->setCustomAddFormRenderer(function () {
echo '<div class="mb-3"><label>Custom Field</label><input name="name" class="form-control" /></div>';
})
->setCustomEditFormRenderer(function () {
echo '<div class="mb-3"><label>Custom Field</label><input id="name" name="name" class="form-control" /></div>';
})
->setDataTableButtons([
'copy' => true,
'csv' => true,
'excel' => ['title' => 'Excel Export'],
'pdf' => [
'title' => 'PDF Export',
'orientation' => 'landscape',
'pageSize' => 'A4',
],
'print' => ['title' => 'Printable View'],
'colvis' => ['text' => 'Toggle Columns'],
]);
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$categories = Category::getAllCategories($entityManager) ?? [];
$dataDisplay = DataDisplay::create($entityManager, Product::class);
$dataDisplay
->valuesToSelect(["e.id", "e.name", "e.price", "c.name AS category_name"])
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
"category_id" => [
"type" => "select",
"label" => "Category",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => "Price",
],
"category_id" => [
"type" => "select",
"label" => "Category",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->enablePagination(10, ["e.name", "e.id"])
->searchable([
"category_id" => [
"type" => "select",
"label" => "Category",
"operator" => "=",
"table" => "e",
"column" => "category_id",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->setAddButtonLabel("Create New Product")
->setTableId("dataTable")
->tablesToJoin([
[
"table" => "Category::class",
"alias" => "c",
"on" => "e.category_id = c.id",
],
]);
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$categories = Category::getAllCategories($entityManager) ?? [];
$dataDisplay = DataDisplay::create($entityManager, Product::class);
$dataDisplay
->valuesToSelect(["e.id", "e.name", "e.price","e.category_id", "c.name AS category_name"])
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
"category_id" => [
"type" => "select",
"label" => "Category",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => "Price",
],
"category_id" => [
"type" => "select",
"label" => "Category 1",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->valuesToRender([
"id",
"name",
"price",
"category_name"
])
->setCustomAddFormHeader("Add New Category")
->setCustomEditFormHeader("Edit Category")
->setCustomEditFormRenderer(function () use ($categories) {
echo '<div class="mb-3">
<label for="dataTable_editModalname">Product Name</label>
<input id="dataTable_editModalname" name="name" class="form-control" />
</div>';
echo '<div class="mb-3">
<label for="dataTable_editModalprice">Price ($)</label>
<input id="dataTable_editModalprice" name="price" class="form-control" />
</div>';
echo '<div class="mb-3">
<label for="dataTable_editModalcategory_id">Category</label>
<select id="dataTable_editModalcategory_id" name="category_id" class="form-control">
<option value="">-- Select Category --</option>';
foreach ($categories as $cat) {
echo '<option value="' . htmlspecialchars($cat['id']) . '">' . htmlspecialchars($cat['name']) . '</option>';
}
echo ' </select>
</div>';
})
->setEditButtonConditionCallback(function ($row) {
return $row['price'] > 100;
})
->searchable([
"category" => [
"type" => "select",
"label" => "Category",
"operator" => "=",
"table" => "e",
"column" => "category_id",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->setAddButtonLabel("Create New Product")
->setTableId("dataTable")
->tablesToJoin([
[
"table" => Category::class,
"alias" => "c",
"on" => "e.category_id = c.id",
],
])
->setDataTableButtons([
'copy' => true,
'csv' => ['title' => 'Exported CSV'],
'excel' => ['title' => 'Excel Export'],
'pdf' => [
'title' => 'PDF Export',
'orientation' => 'landscape',
'pageSize' => 'A4',
],
'print' => ['title' => 'Printable View'],
'colvis' => ['text' => 'Toggle Columns'],
]);
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$categories = Category::getAllCategories($entityManager) ?? [];
$dataDisplay = DataDisplay::create($entityManager, Product::class);
$dataDisplay
->valuesToSelect(["e.id", "e.name", "e.price","e.category_id", "c.name AS category_name"])
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
"category_id" => [
"type" => "select",
"label" => "Category",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => "Price",
],
"category_id" => [
"type" => "select",
"label" => "Category 1",
"options" => $categories,
"value_field" => "id",
"label_field" => "name",
],
])
->valuesToRender([
"id",
"name",
"price",
"category_name"
])
->setRowDataTransformer(function($row) {
if (!empty($row['id'])) {
$row['name'] = strtoupper($row['name']);
$row['role'] = strtoupper($row['name']);
}
if($row['price']>600){
$row['active'] =true;
}
$row['total_price'] = $row['price'] +1;
return $row;
})
->addColumnAfterActions('Status Icon', fn($row) => $row['active'] ? '🟢' : '🔴')
->addColumnBeforeActions('Role', fn($row) => "<b>{$row['role']}</b>", raw: true)
->addColumnAfterActions(
'Secret Info',
fn($row) => '🔒 Secret!',
raw: true,
visibleWhen: fn($row) => true
)
->addColumnAfterActions(
'Secret',
fn($row) => '🔒 Secret!',
raw: true,
visibleWhen: fn($row) => $row['price'] > 1 && $row['name']==='RRR'
)
->tablesToJoin([
[
"table" => Category::class,
"alias" => "c",
"on" => "e.category_id = c.id",
],
]);
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->valuesToRender(["id", "name"])
->searchable([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
;
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->setMode(DataDisplayModes::REPORT)
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->valuesToRender(["id", "name"])
->searchable([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setCustomAddAction("/test")
->setCustomEditAction("/admin")
;
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->setAddDialogSize(DialogSizes::LARGE)
->setEditDialogSize(DialogSizes::LARGE)
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->valuesToRender(["id", "name"])
->searchable([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setCustomAddAction("/test")
->setCustomEditAction("/admin")
;
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->setAddDialogSize(DialogSizes::LARGE)
->setEditDialogSize(DialogSizes::LARGE)
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
"category_id" => [
"type" => "select",
"label" => "Category",
"options" => [],
"value_field" => "id",
"label_field" => "name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setActionsButtonMode(ActionsButtonMode::DROPDOWN)
->valuesToRender(["id", "name"])
->setCustomAddAction("/test")
->setCustomEditAction("/admin");
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->setAddDialogSize(DialogSizes::LARGE)
->setEditDialogSize(DialogSizes::LARGE)
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
"category_id" => [
"type" => "select",
"label" => "Category",
"options" => [],
"value_field" => "id",
"label_field" => "name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setActionsButtonMode(ActionsButtonMode::DROPDOWN)
->setViewSource(ViewSource::MODAL)
->setViewDialogSize(DialogSizes::LARGE)
->setCustomViewFormHeader("Image")
->setValuesToShowonModal([ "name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],])
->valuesToRender(["id", "name"])
->searchable([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
])
->setCustomAddAction("/test")
->setCustomEditAction("/admin");
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->setAddDialogSize(DialogSizes::LARGE)
->setEditDialogSize(DialogSizes::LARGE)
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
"category_id" => [
"type" => "select",
"label" => "Category",
"options" => [],
"value_field" => "id",
"label_field" => "name",
],
])
->columnsToBeEdited([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
],
])
->setViewLink("/test=")
->setViewDialogSize(DialogSizes::LARGE)
->setCustomViewFormHeader("Image")
->setValuesToShowonModal([ "name" => [
"type" => "input",
"input_type" => "text",
"label" => "Name",
"
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->setAddDialogSize(DialogSizes::LARGE)
->setEditDialogSize(DialogSizes::LARGE)
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
" "ut",
"input_type" => "text",
"label" => "Name",
],])
->setDeleteButtonConditions([
'conditions' => [
['field' => 'name', 'operator' => '=', 'value' => 'Books'],
],
])
->valuesToRender(["id", "name"])
->searchable([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
"
$dataDisplay = DataDisplay::create(null, Category::class,DataSourceType::CLASSES);
$dataDisplay
->setClassFetchDataFunction("all")
->setAddDialogSize(DialogSizes::LARGE)
->setEditDialogSize(DialogSizes::LARGE)
->columnToBeAdded([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
" "put",
"input_type" => "text",
"label" => "Name",
],])
->setDeleteButtonConditionCallback(function ($row) {
return $row["name"] !== 'Books';
})
->valuesToRender(["id", "name"])
->searchable([
"name" => [
"type" => "input",
"input_type" => "text",
"label" => "Product Name",
],
"price" => [
"type" => "input",
"input_type" => "number",
"label" => 'Price ($)',
],
])
->setCustomAddAction("/test")
->setCustomEditAction("/admin");
$dataDisplay->handleRequest($_POST ?? []);
$dataDisplay->renderDataTable();