Skip to content

Commit 91a3b94

Browse files
adamwojsŁukasz Serwatka
authored andcommitted
EZP-30251: Display the rendering of time & date when editing the Short/Long Date & Time format (#889)
* EZP-30251: Display the rendering of time & date when editing the Short/Long Date & Time format * fixup! EZP-30251: Display the rendering of time & date when editing the Short/Long Date & Time format * fixup! EZP-30251: Display the rendering of time & date when editing the Short/Long Date & Time format
1 parent aedfd55 commit 91a3b94

File tree

6 files changed

+62
-86
lines changed

6 files changed

+62
-86
lines changed

src/bundle/Controller/User/UserSettingsController.php

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,51 +8,40 @@
88

99
namespace EzSystems\EzPlatformAdminUiBundle\Controller\User;
1010

11-
use EzSystems\EzPlatformUser\View\UserSettings\ListView;
1211
use EzSystems\EzPlatformUserBundle\Controller\UserSettingsController as BaseUserSettingsController;
1312
use EzSystems\EzPlatformAdminUiBundle\Controller\Controller;
1413
use Symfony\Component\HttpFoundation\Request;
14+
use Symfony\Component\HttpFoundation\Response;
1515

1616
/**
1717
* @deprecated Deprecated in 1.5 and will be removed in 2.0. Please use \EzSystems\EzPlatformUserBundle\Controller\UserSettingsController instead.
1818
*/
1919
class UserSettingsController extends Controller
2020
{
21-
/** @var \EzSystems\EzPlatformUserBundle\Controller\UserSettingsController */
22-
private $userSettingsController;
23-
24-
/**
25-
* @param \EzSystems\EzPlatformUserBundle\Controller\UserSettingsController $userSettingsController
26-
*/
27-
public function __construct(BaseUserSettingsController $userSettingsController)
28-
{
29-
$this->userSettingsController = $userSettingsController;
30-
}
31-
3221
/**
3322
* @param int $page
3423
*
35-
* @return \EzSystems\EzPlatformUser\View\UserSettings\ListView
24+
* @return \Symfony\Component\HttpFoundation\Response
3625
*
3726
* @throws \eZ\Publish\Core\Base\Exceptions\InvalidArgumentType
3827
*/
39-
public function listAction(int $page = 1): ListView
28+
public function listAction(int $page = 1): Response
4029
{
41-
return $this->userSettingsController->listAction($page);
30+
return $this->forward(BaseUserSettingsController::class . '::listAction', [
31+
'page' => $page,
32+
]);
4233
}
4334

4435
/**
4536
* @param \Symfony\Component\HttpFoundation\Request $request
4637
* @param string $identifier
4738
*
48-
* @return \EzSystems\EzPlatformUser\View\UserSettings\UpdateView|null|\Symfony\Component\HttpFoundation\Response
49-
*
50-
* @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException
51-
* @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException
52-
* @throws \eZ\Publish\Core\Base\Exceptions\InvalidArgumentType
39+
* @return \Symfony\Component\HttpFoundation\Response
5340
*/
54-
public function updateAction(Request $request, string $identifier)
41+
public function updateAction(Request $request, string $identifier): Response
5542
{
56-
return $this->userSettingsController->updateAction($request, $identifier);
43+
return $this->forward(BaseUserSettingsController::class . '::updateAction', [
44+
'identifier' => $identifier,
45+
]);
5746
}
5847
}

src/bundle/Resources/config/views.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,15 @@ system:
4444
params:
4545
viewbaseLayout: '@ezdesign/layout.html.twig'
4646

47+
user_settings_update_view:
48+
full:
49+
ezplatform_admin_ui_datetime_format:
50+
template: '@ezdesign/user/settings/update_datetime_format.html.twig'
51+
match:
52+
Identifier: [full_datetime_format, short_datetime_format]
53+
ezplatform_admin_ui:
54+
template: '@ezdesign/user/settings/update.html.twig'
55+
match: true
56+
4757
fielddefinition_edit_templates:
4858
- { template: '@ezdesign/admin/content_type/field_types.html.twig', priority: 10 }

src/bundle/Resources/encore/ez.js.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,5 +228,8 @@ module.exports = (Encore) => {
228228
path.resolve(__dirname, '../public/js/scripts/fieldType/base/base-preview-field.js'),
229229
...fieldTypes,
230230
path.resolve(__dirname, '../public/js/scripts/sidebar/extra.actions.js'),
231+
])
232+
.addEntry('ezplatform-admin-ui-settings-datetime-format-update-js', [
233+
path.resolve(__dirname, '../public/js/scripts/admin.settings.datetimeformat.update.js'),
231234
]);
232235
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
(function(global, doc, moment) {
2+
const SELECTOR_DATE_FORMAT = '#user_setting_update_value_date_format';
3+
const SELECTOR_TIME_FORMAT = '#user_setting_update_value_time_format';
4+
const SELECTOR_VALUE_PREVIEW = '.ez-datetime-format-preview-value';
5+
const valuePreview = doc.querySelector(SELECTOR_VALUE_PREVIEW);
6+
const dateFormatSelect = doc.querySelector(SELECTOR_DATE_FORMAT);
7+
const timeFormatSelect = doc.querySelector(SELECTOR_TIME_FORMAT);
8+
const updateDateTimeFormatPreview = () => {
9+
valuePreview.innerHTML = moment().formatICU(
10+
dateFormatSelect.value + ' ' + timeFormatSelect.value
11+
);
12+
};
13+
14+
dateFormatSelect.addEventListener('change', updateDateTimeFormatPreview);
15+
timeFormatSelect.addEventListener('change', updateDateTimeFormatPreview);
16+
17+
updateDateTimeFormatPreview();
18+
}) (window, window.document, window.moment);

src/bundle/Resources/translations/user_settings.en.xliff

Lines changed: 4 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -41,70 +41,10 @@
4141
<target state="new">My Preferences</target>
4242
<note>key: section.my_preferences</note>
4343
</trans-unit>
44-
<trans-unit id="3a4946ea2a7aaa360112cf1e657617e7ce7c7d9b" resname="settings.language.value.description">
45-
<source>The language of the administration panel</source>
46-
<target state="new">The language of the administration panel</target>
47-
<note>key: settings.language.value.description</note>
48-
</trans-unit>
49-
<trans-unit id="593fb98cf76c44e48e00ce4ee027a6e54b6625fd" resname="settings.language.value.title">
50-
<source>Language</source>
51-
<target state="new">Language</target>
52-
<note>key: settings.language.value.title</note>
53-
</trans-unit>
54-
<trans-unit id="18f788ade37f54e5d52f0e3ddacb39a5558190b5" resname="settings.subitems_limit.value.description">
55-
<source>Number of items displayed in the table</source>
56-
<target state="new">Number of items displayed in the table</target>
57-
<note>key: settings.subitems_limit.value.description</note>
58-
</trans-unit>
59-
<trans-unit id="67329191003095f24d2ca7d2182ecb00d5a85e36" resname="settings.subitems_limit.value.title">
60-
<source>Sub-items</source>
61-
<target state="new">Sub-items</target>
62-
<note>key: settings.subitems_limit.value.title</note>
63-
</trans-unit>
64-
<trans-unit id="98400a7e546231a994f6fea03dce3ebd52c1c33d" resname="settings.character_counter.value.description">
65-
<source><![CDATA[Display character count for Online Editor]]></source>
66-
<target state="new"><![CDATA[Display character count for Online Editor]]></target>
67-
<note>key: settings.character_counter.value.description</note>
68-
</trans-unit>
69-
<trans-unit id="fd6ba122727aeacdb3e8c1c02d3e9ae023ca2174" resname="settings.character_counter.value.enabled">
70-
<source>enabled</source>
71-
<target state="new">Enabled</target>
72-
<note>key: settings.character_counter.value.enabled</note>
73-
</trans-unit>
74-
<trans-unit id="3d03b64f879f2c57cb9395f31c7691ecb7cc2807" resname="settings.character_counter.value.disabled">
75-
<source>disabled</source>
76-
<target state="new">Disabled</target>
77-
<note>key: settings.character_counter.value.disabled</note>
78-
</trans-unit>
79-
<trans-unit id="ca8c3eac8ffed6fed1ee9e028be185741f33bfec" resname="settings.character_counter.value.title">
80-
<source>character counter</source>
81-
<target state="new">Character counter</target>
82-
<note>key: settings.character_counter.value.title</note>
83-
</trans-unit>
84-
<trans-unit id="4e0e12004096ce400ace603bc7177c044159b57b" resname="character_counter.words">
85-
<source>words</source>
86-
<target state="new">words</target>
87-
<note>key: character_counter.words</note>
88-
</trans-unit>
89-
<trans-unit id="d69d746270269a4b3ff2a3ddca0a74086ef48ae6" resname="character_counter.characters">
90-
<source>characters</source>
91-
<target state="new">characters</target>
92-
<note>key: character_counter.characters</note>
93-
</trans-unit>
94-
<trans-unit id="dac7ffb84bac8bc5a682388098bded0f8f49d841" resname="settings.timezone.value.description">
95-
<source><![CDATA[Time Zone in use for displaying Date & Time]]></source>
96-
<target state="new"><![CDATA[Time Zone in use for displaying Date & Time]]></target>
97-
<note>key: settings.timezone.value.description</note>
98-
</trans-unit>
99-
<trans-unit id="eb891d0f4283045b518a04aa757810f1ba0b90c9" resname="settings.timezone.value.title">
100-
<source>Time Zone</source>
101-
<target state="new">Time Zone</target>
102-
<note>key: settings.timezone.value.title</note>
103-
</trans-unit>
104-
<trans-unit id="7f90e23e086f56c5f7b4a82c6e4b8f40732e6e6a" resname="user_setting.update.success">
105-
<source>User setting '%identifier%' updated.</source>
106-
<target state="new">User setting '%identifier%' updated.</target>
107-
<note>key: user_setting.update.success</note>
44+
<trans-unit id="befc3e49a7bee4547f8c720a0fbb9d03d0d3e265" resname="settings.datetime_format.preview_label">
45+
<source><![CDATA[Date & Time will be displayed in this format:]]></source>
46+
<target state="new"><![CDATA[Date & Time will be displayed in this format:]]></target>
47+
<note>key: settings.datetime_format.preview_label</note>
10848
</trans-unit>
10949
</body>
11050
</file>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{% extends '@ezdesign/user/settings/update.html.twig' %}
2+
3+
{% trans_default_domain 'user_settings' %}
4+
5+
{% block form %}
6+
{{ parent() }}
7+
<div id="ez-datetime-format-preview" class="alert ez-alert--info mt-4" role="alert">
8+
{{ 'settings.datetime_format.preview_label'|trans|desc('Date & Time will be displayed in this format:') }}
9+
<span class="ez-datetime-format-preview-value" />
10+
</div>
11+
{% endblock %}
12+
13+
{% block javascripts %}
14+
{{ parent() }}
15+
{{ encore_entry_script_tags('ezplatform-admin-ui-settings-datetime-format-update-js', null, 'ezplatform') }}
16+
{% endblock %}

0 commit comments

Comments
 (0)