chg: [metaTemplates] Outline default template

pull/37/head
mokaddem 2020-12-10 17:46:16 +01:00
parent 0a377915f6
commit aebbb3ebd8
5 changed files with 30 additions and 10 deletions

View File

@ -54,10 +54,12 @@ class CRUDComponent extends Component
$metaTemplates = []; $metaTemplates = [];
if (!empty($this->Table->metaFields)) { if (!empty($this->Table->metaFields)) {
$metaQuery = $this->MetaTemplates->find(); $metaQuery = $this->MetaTemplates->find();
$metaQuery->where([ $metaQuery
'scope' => $this->Table->metaFields, ->order(['is_default' => 'DESC'])
'enabled' => 1 ->where([
]); 'scope' => $this->Table->metaFields,
'enabled' => 1
]);
$metaQuery->contain(['MetaTemplateFields']); $metaQuery->contain(['MetaTemplateFields']);
$metaTemplates = $metaQuery->all(); $metaTemplates = $metaQuery->all();
} }
@ -249,7 +251,7 @@ class CRUDComponent extends Component
$query->innerJoinWith('MetaTemplateFields', function ($q) { $query->innerJoinWith('MetaTemplateFields', function ($q) {
return $q->contain('MetaFields')->innerJoinWith('MetaFields'); return $q->contain('MetaFields')->innerJoinWith('MetaFields');
}); });
$query->group(['MetaTemplates.id']); $query->group(['MetaTemplates.id'])->order(['MetaTemplates.is_default' => 'DESC']);
$metaTemplates = $query->all(); $metaTemplates = $query->all();
$data['metaTemplates'] = $metaTemplates; $data['metaTemplates'] = $metaTemplates;
return $data; return $data;

View File

@ -3,9 +3,15 @@ use Cake\Utility\Inflector;
$tabData = []; $tabData = [];
foreach($metaTemplatesData as $i => $metaTemplate) { foreach($metaTemplatesData as $i => $metaTemplate) {
$tabData['navs'][$i] = [ if ($metaTemplate->is_default) {
'text' => $metaTemplate->name $tabData['navs'][$i] = [
]; 'html' => $this->element('/genericElements/MetaTemplates/metaTemplateNav', ['metaTemplate' => $metaTemplate])
];
} else {
$tabData['navs'][$i] = [
'text' => $metaTemplate->name
];
}
$fieldsHtml = ''; $fieldsHtml = '';
foreach ($metaTemplate->meta_template_fields as $metaField) { foreach ($metaTemplate->meta_template_fields as $metaField) {
$metaField->label = Inflector::humanize($metaField->field); $metaField->label = Inflector::humanize($metaField->field);

View File

@ -49,7 +49,7 @@
echo sprintf( echo sprintf(
'<button class="btn btn-sm %s %s" %s href="%s" %s %s %s %s %s>%s%s%s</button>', '<button class="btn btn-sm %s %s" %s href="%s" %s %s %s %s %s>%s%s%s</button>',
empty($data['class']) ? '' : h($data['class']), empty($data['class']) ? '' : h($data['class']),
!$data['isFilter'] ? 'btn-primary' : (empty($data['active']) ? 'btn-light' : 'btn-secondary'), // Change the default class for highlighted/active toggles here empty($data['isFilter']) ? 'btn-primary' : (empty($data['active']) ? 'btn-light' : 'btn-secondary'), // Change the default class for highlighted/active toggles here
empty($data['id']) ? '' : 'id="' . h($data['id']) . '"', empty($data['id']) ? '' : 'id="' . h($data['id']) . '"',
empty($data['url']) ? '#' : h($data['url']), // prevent default is passed if the url is not set empty($data['url']) ? '#' : h($data['url']), // prevent default is passed if the url is not set
empty($onClick) ? '' : $onClick, // pass $data['onClick'] for the function name to call and $data['onClickParams'] for the parameter list empty($onClick) ? '' : $onClick, // pass $data['onClick'] for the function name to call and $data['onClickParams'] for the parameter list

View File

@ -0,0 +1,4 @@
<span>
<?= h($metaTemplate->name) ?>
<i class="<?= $this->FontAwesome->getClass('star')?> small align-text-top" title="<?= __('Default Meta template') ?>"></i>
</span>

View File

@ -51,7 +51,15 @@
]; ];
foreach($data['metaTemplates'] as $metaTemplate) { foreach($data['metaTemplates'] as $metaTemplate) {
if (!empty($metaTemplate->meta_template_fields)) { if (!empty($metaTemplate->meta_template_fields)) {
$tabData['navs'][] = $metaTemplate->name; if ($metaTemplate->is_default) {
$tabData['navs'][] = [
'html' => $this->element('/genericElements/MetaTemplates/metaTemplateNav', ['metaTemplate' => $metaTemplate])
];
} else {
$tabData['navs'][] = [
'text' => $metaTemplate->name
];
}
$fieldsHtml = '<table class="table table-striped">'; $fieldsHtml = '<table class="table table-striped">';
foreach ($metaTemplate->meta_template_fields as $metaTemplateField) { foreach ($metaTemplate->meta_template_fields as $metaTemplateField) {
$metaField = $metaTemplateField->meta_fields[0]; $metaField = $metaTemplateField->meta_fields[0];