Release of v3.2.5

Add [AllowDynamicProperties] in the base view class for J5. Move the _prepareDocument  above the display call in the base view class. Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run. Added new import powers for custom import of spreadsheets. Move the setDocument and _prepareDocument above the display in the site view and custom admin view. Update the trashhelper layout to work in Joomla 5. Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues. Fix Save failed issue in dynamicGet. #1148. Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]. Add the DateHelper class and improve the date methods. Add simple SessionHelper class. Add first classes for the new import engine. Improve the [VDM Registry] to be Joomla Registry Compatible. Move all registries to the [VDM Registry] class. Fix Checked Out to be null and not 0. (#1194). Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194). Update all core date fields in table class. (#1188). Update created_by, modified_by, checked_out fields in table class. Implementation of the decentralized Super-Power CORE repository network. (#1190). Fix the noticeboard to display Llewellyn's Joomla Social feed.
This commit is contained in:
2025-02-14 22:59:16 +02:00
parent 714cb5588a
commit f8b0a5df54
1474 changed files with 133744 additions and 48350 deletions

View File

@@ -286,32 +286,16 @@ jQuery('#adminForm').on('change', '#jform_add_javascript_views_footer',function
jQuery(function() {
setTimeout(
function() {
// load the on click event
jQuery("code").click(function() {
jQuery(this).selText().addClass("selected");
// make sure the code bocks are active
document.querySelectorAll("code").forEach(function(codeBlock) {
codeBlock.addEventListener("click", function() {
codeBlock.selText();
codeBlock.classList.add("selected");
});
});
}, 2000);
});
jQuery.fn.selText = function() {
var obj = this[0];
if (jQuery.browser.msie) {
var range = obj.offsetParent.createTextRange();
range.moveToElementText(obj);
range.select();
} else if (jQuery.browser.mozilla || $.browser.opera) {
var selection = obj.ownerDocument.defaultView.getSelection();
var range = obj.ownerDocument.createRange();
range.selectNodeContents(obj);
selection.removeAllRanges();
selection.addRange(range);
} else if (jQuery.browser.safari) {
var selection = obj.ownerDocument.defaultView.getSelection();
selection.setBaseAndExtent(obj, 0, obj, 1);
}
return this;
}
jQuery('#adminForm').on('change', '#jform_fieldtype',function (e) {
e.preventDefault();
// get type value
@@ -324,6 +308,21 @@ jQuery('#adminForm').on('change', '#jform_fieldtype',function (e) {
});
HTMLElement.prototype.selText = function() {
var obj = this;
// For modern browsers, handle the selection
var selection = window.getSelection();
var range = document.createRange();
// Select the content of the element
range.selectNodeContents(obj);
selection.removeAllRanges(); // Clear any previous selections
selection.addRange(range); // Add the new selection range
return this;
};
<?php
$app = Factory::getApplication();
?>

View File

@@ -79,11 +79,11 @@ class ComponentbuilderViewField extends HtmlView
throw new Exception(implode("\n", $errors), 500);
}
// Display the template
parent::display($tpl);
// Set the document
$this->setDocument();
// Display the template
parent::display($tpl);
}
@@ -195,6 +195,11 @@ class ComponentbuilderViewField extends HtmlView
*/
protected function setDocument()
{
// Load Core
Html::_('behavior.core');
// Load jQuery
Html::_('jquery.framework');
$isNew = ($this->item->id < 1);
$this->getDocument()->setTitle(Text::_($isNew ? 'COM_COMPONENTBUILDER_FIELD_NEW' : 'COM_COMPONENTBUILDER_FIELD_EDIT'));
Html::_('stylesheet', "administrator/components/com_componentbuilder/assets/css/field.css", ['version' => 'auto']);
@@ -215,9 +220,9 @@ class ComponentbuilderViewField extends HtmlView
Html::_('script', 'media/com_componentbuilder/uikit-v2/js/components/lightbox.min.js', ['version' => 'auto']);
Html::_('script', 'media/com_componentbuilder/uikit-v2/js/components/notify.min.js', ['version' => 'auto']);
// add var key
$this->document->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
$this->getDocument()->addScriptDeclaration("var vastDevMod = '" . $this->get('VDM') . "';");
// add return_here
$this->document->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) Uri::getInstance())) . "';");
$this->getDocument()->addScriptDeclaration("var return_here = '" . urlencode(base64_encode((string) Uri::getInstance())) . "';");
// add the libs for subform (since not adding it via xml but ajax)
Html::_('jquery.ui', array('core', 'sortable'));
Html::_('script', 'system/subform-repeatable.js', array('version' => 'auto', 'relative' => true));
@@ -235,7 +240,7 @@ class ComponentbuilderViewField extends HtmlView
*/
public function getDocument()
{
$this->document ??= JFactory::getDocument();
$this->document ??= Factory::getDocument();
return $this->document;
}