Skip to content

Commit 0489155

Browse files
committed
Set update URLs for all JEvents components that are not packages
Place system messages in the right place for Joomla 4 Fix date picker for Joomla 4
1 parent 89fd716 commit 0489155

File tree

18 files changed

+811
-379
lines changed

18 files changed

+811
-379
lines changed

build/build.xml

+29-5
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
</then>
1515
</if>
1616

17+
<resolvepath propertyName="uikitdir" file="${uikitdir}" />
18+
1719
<echo msg="uikit directory set to ${uikitdir}" />
1820

1921
<!-- Load path properties -->
@@ -62,7 +64,8 @@
6264
<!-- Target: JEvents Generic Folder -->
6365
<!-- ================================================== -->
6466
<target name="build-generic" description="Build Generic JEvents Folder ">
65-
<echo msg="Building Gemeric Folder ${genericname}..."/>
67+
<echo msg="Building Generic Folder ${genericname} : ../${genericfolder}"/>
68+
<!--
6669
<copy todir="${builddir}/${genericfolder}">
6770
<fileset dir="../${genericfolder}">
6871
<include name="**"></include>
@@ -71,6 +74,16 @@
7174
</fileset>
7275
</copy>
7376
77+
Using rsync and safe-links ignores softlinks outside of the current tree!
78+
-->
79+
80+
<filesync destinationDir="${builddir}/${genericfolder}"
81+
rsyncPath="/usr/bin/rsync"
82+
sourceDir="../${genericfolder}"
83+
excludeFile="excludedfiles.build"
84+
options="-rpKz --safe-links"
85+
/>
86+
7487
<phingcall target="sedreplace">
7588
<property name="name" value="${genericfolder}" />
7689
</phingcall>
@@ -107,9 +120,12 @@
107120

108121
<!-- delete dist files -->
109122
<if>
110-
<available file='${uikitdir}/dist/css/uikit.gsl.css' type='file' property="cssexits"/>
123+
<available file='${uikitdir}/dist/css/uikit.css' type='file' property="cssexits"/>
111124
<then>
112-
<delete file="${uikitdir}/dist/css/uikit.gsl.css" failonerror="false" />
125+
<delete file="${uikitdir}/dist/css/uikit.css" failonerror="false" />
126+
<delete file="${uikitdir}/dist/css/uikit-core.css" failonerror="false" />
127+
<delete file="${uikitdir}/dist/css/uikit-rtl.css" failonerror="false" />
128+
<delete file="${uikitdir}/dist/css/uikit.css" failonerror="false" />
113129
<delete file="${uikitdir}/dist/css/uikit.gsl.min.css" failonerror="false" />
114130
</then>
115131
</if>
@@ -128,15 +144,19 @@
128144
build.js core lightbox -d // builds uikit-core and the lightbox, skipping the minification
129145
130146
//-->
131-
<exec command="yarn compile -d" dir="${uikitdir}" outputProperty="yarn.output" >
147+
<!-- execute yarn scripts there -->
148+
<exec command="yarn compile" dir="${uikitdir}" outputProperty="yarn.output" >
132149
</exec>
133150
<echo msg="${yarn.output}" />
134151
<exec command="yarn prefix -p gsl " dir="${uikitdir}" outputProperty="yarn.output2" >
135152
</exec>
136153
<echo msg="${yarn.output2}" />
137-
<exec command="yarn scope -s 'gsl-scope'" dir="${uikitdir}" outputProperty="yarn.output3" >
154+
<exec command="yarn scope cleanup" dir="${uikitdir}" outputProperty="yarn.output3" >
138155
</exec>
139156
<echo msg="${yarn.output3}" />
157+
<exec command="yarn scope -s 'gsl-scope'" dir="${uikitdir}" outputProperty="yarn.output4" >
158+
</exec>
159+
<echo msg="${yarn.output4}" />
140160

141161
<!-- copy the dist files back from uikit repository -->
142162
<copy todir="${rootdir}/component/media" >
@@ -186,8 +206,12 @@
186206
<property name="zipfile" value="com_jevents.zip" />
187207
</phingcall>
188208

209+
<!-- rsync needs path created already -->
210+
<mkdir dir="${builddir}/libraries" />
189211
<phingcall target="build-libraries"/>
212+
<mkdir dir="${builddir}/modules" />
190213
<phingcall target="build-modules"/>
214+
<mkdir dir="${builddir}/plugins" />
191215
<phingcall target="build-plugins"/>
192216
</target>
193217

build/excludedfiles.build

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44
**/composer.json
55
**/.gitignore
66
**/.git
7+
**/.svn

component/admin/assets/css/j4.css

+22-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ header.header {
55
body.com_jevents {
66
/* See if we can get fixed positioning working as sticky */
77
/* Full sized screen */
8-
/* J4 sidebar */
98
/*
109
#gslc.gsl-scope.joomla-menu-open {
1110
#left-col {
@@ -47,8 +46,9 @@ body.com_jevents #wrapper > .container-fluid {
4746
body.com_jevents #wrapper #sidebar-wrapper {
4847
position: fixed;
4948
height: 100%;
49+
/* J4 sidebar */
5050
}
51-
body.com_jevents #sidebar-wrapper.gsl-hide-sidebar {
51+
body.com_jevents #wrapper #sidebar-wrapper.gsl-hide-sidebar {
5252
display: none;
5353
transition: all 0.3s ease;
5454
}
@@ -140,6 +140,11 @@ body.com_categories #wrapper > .container-fluid {
140140
body.com_categories #wrapper #sidebar-wrapper {
141141
position: fixed;
142142
height: 100%;
143+
/* J4 sidebar */
144+
}
145+
body.com_categories #wrapper #sidebar-wrapper.gsl-hide-sidebar {
146+
display: none;
147+
transition: all 0.3s ease;
143148
}
144149
body.com_categories #gslc.gsl-scope #left-col {
145150
/* left: 3rem; */
@@ -179,6 +184,8 @@ body.com_categories h1.page-title {
179184
margin: 0;
180185
}
181186
body.com_categories h1.page-title span.fields,
187+
body.com_categories h1.page-title span.categories,
188+
body.com_categories h1.page-title span.category-edit,
182189
body.com_categories h1.page-title img {
183190
display: none;
184191
}
@@ -194,6 +201,19 @@ body.com_categories.view-categories #gslc.gsl-scope #right-col #top-head {
194201
body.com_categories.view-categories #gslc.gsl-scope .gsl-content {
195202
margin-left: 3rem;
196203
}
204+
body.com_categories.view-categories #gslc.gsl-scope.gsl-hide-sidebar #left-col {
205+
left: 0;
206+
}
207+
body.com_categories.view-categories #gslc.gsl-scope.gsl-hide-sidebar #right-col:not(.noleftbar) #top-head {
208+
left: 50px;
209+
}
210+
body.com_categories.view-categories #gslc.gsl-scope.gsl-hide-sidebar .gsl-content,
211+
body.com_categories.view-categories #gslc.gsl-scope.gsl-hide-sidebar #ysts_system_messages {
212+
margin-left: 0;
213+
}
214+
body.com_categories.view-categories #gslc.gsl-scope:not(.gsl-hide-sidebar) .left-nav span.nav-label {
215+
display: none;
216+
}
197217
@media (max-width: 960px) {
198218
body.com_jevents #gslc.gsl-scope.gsl-hide-sidebar #right-col:not(.noleftbar) #top-head {
199219
/* 3rem for J4 sidebar

component/admin/assets/js/gslframework.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -676,12 +676,11 @@ window.addEventListener('load', function() {
676676
// If loading from com_categories need to move the system messages
677677
document.addEventListener('DOMContentLoaded', function () {
678678
let msgel = document.getElementById("system-message-container");
679-
if (j3 && msgel && msgel.parentNode && msgel.parentNode.id != "ysts_system_messages")
679+
680+
if (msgel && msgel.parentNode && msgel.parentNode.id != "ysts_system_messages")
680681
{
681682
let newmsgel = document.getElementById("ysts_system_messages");
682-
let innerHTML = msgel.innerHTML;
683-
msgel.parentNode.removeChild(msgel);
684-
newmsgel.innerHTML = innerHTML;
683+
newmsgel.appendChild(msgel);
685684
}
686685

687686
let maincontainer = document.getElementById("j-main-container");

component/admin/assets/less/j4.less

+37-7
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,11 @@ body.@{mycomponent} {
3636
#wrapper #sidebar-wrapper {
3737
position: fixed;
3838
height: 100%;
39-
}
40-
41-
/* J4 sidebar */
42-
#sidebar-wrapper.gsl-hide-sidebar {
43-
display: none;
44-
transition: all .3s ease;
39+
/* J4 sidebar */
40+
&.gsl-hide-sidebar {
41+
display: none;
42+
transition: all .3s ease;
43+
}
4544
}
4645

4746
#gslc.gsl-scope {
@@ -174,8 +173,14 @@ body.com_categories {
174173
#wrapper #sidebar-wrapper {
175174
position: fixed;
176175
height: 100%;
176+
/* J4 sidebar */
177+
&.gsl-hide-sidebar {
178+
display: none;
179+
transition: all .3s ease;
180+
}
177181
}
178182

183+
179184
#gslc.gsl-scope {
180185
#left-col {
181186
/* left: 3rem; */
@@ -229,7 +234,7 @@ body.com_categories {
229234
margin: 0;
230235
}
231236
h1.page-title {
232-
span.fields, img {
237+
span.fields, span.categories, span.category-edit, img {
233238
display: none;
234239
}
235240
}
@@ -250,7 +255,32 @@ body.com_categories.view-categories {
250255
.gsl-content {
251256
margin-left: 3rem;
252257
}
258+
259+
&.gsl-hide-sidebar {
260+
#left-col {
261+
left: 0;
262+
}
263+
264+
#right-col:not(.noleftbar) #top-head {
265+
left:50px;
266+
}
267+
268+
.gsl-content, #ysts_system_messages {
269+
margin-left: 0;
270+
}
271+
}
272+
&:not(.gsl-hide-sidebar) {
273+
.left-nav {
274+
span.nav-label {
275+
display:none;
276+
}
277+
}
278+
}
253279
}
280+
281+
282+
283+
254284
}
255285

256286
@media (max-width: 960px) {

component/admin/controllers/icalevent.php

+3
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,9 @@ function save($key = null, $urlVar = null)
659659
}
660660
else
661661
{
662+
JLoader::register('JEVHelper', JPATH_SITE . "/components/com_jevents/libraries/helper.php");
663+
JEVHelper::setUpdateUrls();
664+
662665
$popupdetail = PluginHelper::getPlugin("jevents", "jevpopupdetail");
663666
if ($popupdetail)
664667
{

component/admin/fields/jeveventdate.php

+8-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
use Joomla\CMS\Form\FormField;
66
use Joomla\CMS\Factory;
77
use Joomla\CMS\Component\ComponentHelper;
8+
use Joomla\CMS\Form\FormHelper;
89

910
jimport('joomla.html.html');
10-
jimport('joomla.form.formfield');
1111

12-
class FormFieldJeveventdate extends FormField
12+
FormHelper::loadFieldClass('calendar');
13+
14+
class FormFieldJeveventdate extends JFormFieldCalendar
1315
{
1416

1517
/**
@@ -31,7 +33,6 @@ class FormFieldJeveventdate extends FormField
3133
function getInput()
3234
{
3335

34-
ob_start();
3536
$event = $this->form->jevdata[$this->name]["event"];
3637
$eventfield = $this->name == "publish_up" ? "startDate" : "endDate";
3738
$showtime = in_array($eventfield, array("starttimelimit", "endtimelimit"));
@@ -89,6 +90,8 @@ function getInput()
8990
$event->tzid_adjusted = true;
9091
}
9192

93+
//return parent::getInput();
94+
9295
$inputdateformat = $params->get("com_editdateformat", "d.m.Y");
9396
static $firsttime = true;
9497
if ($firsttime)
@@ -98,6 +101,8 @@ function getInput()
98101
$document->addScriptDeclaration($js);
99102
$firsttime = false;
100103
}
104+
ob_start();
105+
101106
$cal = JEVHelper::loadElectricCalendar($this->name, $this->name, $event->$eventfield(), $minyear, $maxyear, 'var elem =jevjq(this);'.$this->element['onhidestart'], "var elem = jevjq(this);".$this->element['onchange'], $inputdateformat, array(), $showtime);
102107
echo $cal;
103108
?>

component/admin/layouts/joomla/system/message.php

-11
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
$msgList = $displayData['msgList'];
2020
$jversion = new Version;
2121

22-
ob_start();
23-
2422
// Skip Chosen in Joomla 4.x+
2523
if ($jversion->isCompatible('4.0'))
2624
{
@@ -52,12 +50,3 @@
5250
</div>
5351
<?php
5452
}
55-
$messages = json_encode(ob_get_clean());
56-
$script = <<< SCRIPT
57-
document.addEventListener('DOMContentLoaded', function () {
58-
if (document.getElementById('ysts_system_messages')) {
59-
document.getElementById('ysts_system_messages').innerHTML = $messages;
60-
}
61-
});
62-
SCRIPT;
63-
Factory::getDocument()->addScriptDeclaration($script);

0 commit comments

Comments
 (0)