1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-16 03:34:33 +02:00

Add a removeClass() method to MarkupAdminDataTable

This commit is contained in:
Ryan Cramer
2023-12-15 13:37:28 -05:00
parent b3d84f15e1
commit 019d5c6014

View File

@@ -65,6 +65,8 @@ class MarkupAdminDataTable extends ModuleJS {
protected $colsNotSortable = array(); protected $colsNotSortable = array();
protected $removeClasses = array();
/** /**
* Initialize module and default settings * Initialize module and default settings
* *
@@ -260,6 +262,14 @@ class MarkupAdminDataTable extends ModuleJS {
$out = ''; $out = '';
$maxCols = 0; $maxCols = 0;
$id = $this->id ? $this->id : "AdminDataTable" . (++self::$instanceCnt); $id = $this->id ? $this->id : "AdminDataTable" . (++self::$instanceCnt);
if(count($this->removeClasses)) {
$tableClasses = explode(' ', $tableClass);
foreach($tableClasses as $key => $cls) {
if(in_array($cls, $this->removeClasses)) unset($tableClasses[$key]);
}
$tableClass = implode(' ', $tableClasses);
}
if(count($this->rows)) { if(count($this->rows)) {
$out = "\n<table id='$id' class='$tableClass'>"; $out = "\n<table id='$id' class='$tableClass'>";
@@ -373,6 +383,18 @@ class MarkupAdminDataTable extends ModuleJS {
public function addClass($class) { public function addClass($class) {
$this->class = trim($this->class . " " . $this->encode($class)); $this->class = trim($this->class . " " . $this->encode($class));
} }
/**
* Remove a class from the table
*
* @param string $class
* @since 3.0.232
*
*/
public function removeClass($class) {
$classes = strrpos($class, ' ') ? explode(' ', $class) : array($class);
$this->removeClasses = array_merge($this->removeClasses, $classes);
}
/** /**
* Set whether or not table is sortable * Set whether or not table is sortable