-
-
Notifications
You must be signed in to change notification settings - Fork 46
Closed
Description
New language relevant PR in upstream repo: joomla/joomla-cms#33381 Here are the upstream changes:
Click to expand the diff!
diff --git a/administrator/components/com_banners/src/View/Clients/HtmlView.php b/administrator/components/com_banners/src/View/Clients/HtmlView.php
index 6c0c6cbdcf698..5df2caaad77c7 100644
--- a/administrator/components/com_banners/src/View/Clients/HtmlView.php
+++ b/administrator/components/com_banners/src/View/Clients/HtmlView.php
@@ -21,6 +21,7 @@
use Joomla\CMS\Pagination\Pagination;
use Joomla\CMS\Toolbar\Toolbar;
use Joomla\CMS\Toolbar\ToolbarHelper;
+use Joomla\Component\Banners\Administrator\Model\ClientsModel;
/**
* View class for a list of clients.
@@ -69,6 +70,14 @@ class HtmlView extends BaseHtmlView
*/
protected $state;
+ /**
+ * Is this view an Empty State
+ *
+ * @var boolean
+ * @since __DEPLOY_VERSION__
+ */
+ private $isEmptyState = false;
+
/**
* Display the view
*
@@ -90,6 +99,11 @@ public function display($tpl = null): void
$this->filterForm = $model->getFilterForm();
$this->activeFilters = $model->getActiveFilters();
+ if (!count($this->items) && $this->isEmptyState = $this->get('IsEmptyState'))
+ {
+ $this->setLayout('emptystate');
+ }
+
// Check for errors.
if (count($errors = $this->get('Errors')))
{
@@ -122,7 +136,7 @@ protected function addToolbar(): void
$toolbar->addNew('client.add');
}
- if ($canDo->get('core.edit.state') || $canDo->get('core.admin'))
+ if (!$this->isEmptyState && ($canDo->get('core.edit.state') || $canDo->get('core.admin')))
{
$dropdown = $toolbar->dropdownButton('status-group')
->text('JTOOLBAR_CHANGE_STATUS')
diff --git a/administrator/components/com_banners/src/View/Tracks/HtmlView.php b/administrator/components/com_banners/src/View/Tracks/HtmlView.php
index 264a53b14dde3..ec5c572c2e136 100644
--- a/administrator/components/com_banners/src/View/Tracks/HtmlView.php
+++ b/administrator/components/com_banners/src/View/Tracks/HtmlView.php
@@ -15,7 +15,6 @@
use Joomla\CMS\Form\Form;
use Joomla\CMS\Helper\ContentHelper;
use Joomla\CMS\Language\Text;
-use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\MVC\View\GenericDataException;
use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView;
use Joomla\CMS\Object\CMSObject;
@@ -72,6 +71,14 @@ class HtmlView extends BaseHtmlView
*/
protected $state;
+ /**
+ * Is this view an Empty State
+ *
+ * @var boolean
+ * @since __DEPLOY_VERSION__
+ */
+ private $isEmptyState = false;
+
/**
* Display the view
*
@@ -92,8 +99,13 @@ public function display($tpl = null): void
$this->filterForm = $model->getFilterForm();
$this->activeFilters = $model->getActiveFilters();
+ if (!\count($this->items) && $this->isEmptyState = $this->get('IsEmptyState'))
+ {
+ $this->setLayout('emptystate');
+ }
+
// Check for errors.
- if (count($errors = $this->get('Errors')))
+ if (\count($errors = $this->get('Errors')))
{
throw new GenericDataException(implode("\n", $errors), 500);
}
@@ -118,20 +130,23 @@ protected function addToolbar(): void
$bar = Toolbar::getInstance('toolbar');
- $bar->popupButton()
- ->url(Route::_('index.php?option=com_banners&view=download&tmpl=component'))
- ->text('JTOOLBAR_EXPORT')
- ->selector('downloadModal')
- ->icon('icon-download')
- ->footer('<button class="btn btn-secondary" data-bs-dismiss="modal" type="button"'
- . ' onclick="window.parent.Joomla.Modal.getCurrent().close();">'
- . Text::_('COM_BANNERS_CANCEL') . '</button>'
- . '<button class="btn btn-success" type="button"'
- . ' onclick="Joomla.iframeButtonClick({iframeSelector: \'#downloadModal\', buttonSelector: \'#exportBtn\'})">'
- . Text::_('COM_BANNERS_TRACKS_EXPORT') . '</button>'
- );
-
- if ($canDo->get('core.delete'))
+ if (!$this->isEmptyState)
+ {
+ $bar->popupButton()
+ ->url(Route::_('index.php?option=com_banners&view=download&tmpl=component'))
+ ->text('JTOOLBAR_EXPORT')
+ ->selector('downloadModal')
+ ->icon('icon-download')
+ ->footer('<button class="btn btn-secondary" data-bs-dismiss="modal" type="button"'
+ . ' onclick="window.parent.Joomla.Modal.getCurrent().close();">'
+ . Text::_('COM_BANNERS_CANCEL') . '</button>'
+ . '<button class="btn btn-success" type="button"'
+ . ' onclick="Joomla.iframeButtonClick({iframeSelector: \'#downloadModal\', buttonSelector: \'#exportBtn\'})">'
+ . Text::_('COM_BANNERS_TRACKS_EXPORT') . '</button>'
+ );
+ }
+
+ if (!$this->isEmptyState && $canDo->get('core.delete'))
{
$bar->appendButton('Confirm', 'COM_BANNERS_DELETE_MSG', 'delete', 'COM_BANNERS_TRACKS_DELETE', 'tracks.delete', false);
}
diff --git a/administrator/components/com_banners/tmpl/clients/emptystate.php b/administrator/components/com_banners/tmpl/clients/emptystate.php
new file mode 100644
index 0000000000000..1feedff923aac
--- /dev/null
+++ b/administrator/components/com_banners/tmpl/clients/emptystate.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * @package Joomla.Administrator
+ * @subpackage com_banners
+ *
+ * @copyright (C) 2021 Open Source Matters, Inc. <https://www.joomla.org>
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+defined('_JEXEC') or die;
+
+use Joomla\CMS\Factory;
+use Joomla\CMS\Layout\LayoutHelper;
+
+$displayData = [
+ 'textPrefix' => 'COM_BANNERS_CLIENT',
+ 'formURL' => 'index.php?option=com_banners&view=clients',
+ 'helpURL' => 'https://docs.joomla.org/Special:MyLanguage/Help40:Banners:_Clients',
+ 'icon' => 'icon-bookmark banners',
+];
+
+if (count(Factory::getApplication()->getIdentity()->getAuthorisedCategories('com_banners', 'core.create')) > 0)
+{
+ $displayData['createURL'] = 'index.php?option=com_banners&task=client.add';
+}
+
+echo LayoutHelper::render('joomla.content.emptystate', $displayData);
diff --git a/administrator/components/com_banners/tmpl/tracks/emptystate.php b/administrator/components/com_banners/tmpl/tracks/emptystate.php
new file mode 100644
index 0000000000000..4ad37d7cafcab
--- /dev/null
+++ b/administrator/components/com_banners/tmpl/tracks/emptystate.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * @package Joomla.Administrator
+ * @subpackage com_banners
+ *
+ * @copyright (C) 2021 Open Source Matters, Inc. <https://www.joomla.org>
+ * @license GNU General Public License version 2 or later; see LICENSE.txt
+ */
+
+defined('_JEXEC') or die;
+
+use Joomla\CMS\Layout\LayoutHelper;
+
+$displayData = [
+ 'textPrefix' => 'COM_BANNERS_TRACKS',
+ 'helpURL' => 'https://docs.joomla.org/Special:MyLanguage/Help40:Banners:_Tracks',
+ 'icon' => 'icon-bookmark banners',
+];
+
+echo LayoutHelper::render('joomla.content.emptystate', $displayData);
diff --git a/administrator/language/en-GB/com_banners.ini b/administrator/language/en-GB/com_banners.ini
index a98dcfcb9ffab..55a37b5ec4c03 100644
--- a/administrator/language/en-GB/com_banners.ini
+++ b/administrator/language/en-GB/com_banners.ini
@@ -37,6 +37,9 @@ COM_BANNERS_BEGIN_LABEL="Begin Date"
COM_BANNERS_CANCEL="Cancel"
COM_BANNERS_CLICK="Click"
COM_BANNERS_CLIENT_EDIT="Edit Client"
+COM_BANNERS_CLIENT_EMPTYSTATE_BUTTON_ADD="Add your first client"
+COM_BANNERS_CLIENT_EMPTYSTATE_CONTENT="A Banner Client contains contact details and further information such as tracking preferences."
+COM_BANNERS_CLIENT_EMPTYSTATE_TITLE="No Clients have been created yet."
COM_BANNERS_CLIENT_NEW="New Client"
COM_BANNERS_CLIENT_SAVE_SUCCESS="Client saved."
COM_BANNERS_CLIENTS_FILTER_SEARCH_DESC="Search in client name. Prefix with ID: to search for a client ID."
@@ -183,6 +186,8 @@ COM_BANNERS_SUBMENU_CLIENTS="Clients"
COM_BANNERS_SUBMENU_TRACKS="Tracks"
COM_BANNERS_TRACKS_DELETE="Delete Tracks"
COM_BANNERS_TRACKS_DOWNLOAD="Download tracks"
+COM_BANNERS_TRACKS_EMPTYSTATE_CONTENT="Here you can see and export tracking information for your banners if tracking has been enabled for that banner."
+COM_BANNERS_TRACKS_EMPTYSTATE_TITLE="No Tracks exist yet."
COM_BANNERS_TRACKS_EXPORT="Export"
COM_BANNERS_TRACKS_FILTER_SEARCH_DESC="Search in track name and track client name."
COM_BANNERS_TRACKS_FILTER_SEARCH_LABEL="Search Tracks"