From: Vincent Vanwaelscappel Date: Fri, 6 Jun 2025 17:07:55 +0000 (+0200) Subject: wip #7467 @6 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=6a1c4060ce7be80e951c1ac6cab12a8a439762b9;p=fluidbook-toolbox.git wip #7467 @6 --- diff --git a/app/SubForms/Link/Base.php b/app/SubForms/Link/Base.php index 2e1e115b6..e44671f9f 100644 --- a/app/SubForms/Link/Base.php +++ b/app/SubForms/Link/Base.php @@ -17,6 +17,7 @@ use Cubist\Backpack\Magic\Fields\FieldGroupStart; use Cubist\Backpack\Magic\Fields\FilesOrURL; use Cubist\Backpack\Magic\Fields\FormSection; use Cubist\Backpack\Magic\Fields\Hidden; +use Cubist\Backpack\Magic\Fields\HiddenVisible; use Cubist\Backpack\Magic\Fields\Number; use Cubist\Backpack\Magic\Fields\SelectFromArray; use Cubist\Backpack\Magic\Fields\Text; @@ -291,6 +292,7 @@ class Base extends Form } $this->addField('header_extra', FormSection::class, __('Autres paramètres')); $this->addField('extra', Textarea::class, ''); + $this->addField('order', HiddenVisible::class, __('Ordre')); $attrs = $this->_getHTMLAttributes(); if ($attrs) { $this->addField('header_html_attributes', FormSection::class, __('Attributs HTML')); @@ -298,6 +300,7 @@ class Base extends Form $this->addField('html_' . $attr, Text::class, $attr); } } + } public function addStatsFields() diff --git a/resources/linkeditor-stable/js/linkeditor.accessibility.js b/resources/linkeditor-stable/js/linkeditor.accessibility.js index 16ec258f5..e8f8ad5c7 100644 --- a/resources/linkeditor-stable/js/linkeditor.accessibility.js +++ b/resources/linkeditor-stable/js/linkeditor.accessibility.js @@ -109,7 +109,9 @@ LinkeditorAccessibility.prototype = { $(links).each(function (k, v) { $(v.link).attr('fb-order', i++); }); + if (refresh) { + this.linkeditor.links.updateLinksData(links, ['order']); this.linkeditor.hasChanged(); } this.linkeditor.links.pageMaxOrderIndex = i; @@ -158,6 +160,7 @@ LinkeditorAccessibility.prototype = { order: parseInt($(this).attr('fb-order')), }); }); + accessibility.sort(function (a, b) { if (a.interactive === b.interactive) { return a.order - b.order diff --git a/resources/linkeditor-stable/js/linkeditor.links.js b/resources/linkeditor-stable/js/linkeditor.links.js index 19fead76f..dbcd0bd61 100644 --- a/resources/linkeditor-stable/js/linkeditor.links.js +++ b/resources/linkeditor-stable/js/linkeditor.links.js @@ -211,8 +211,7 @@ LinkeditorLinks.prototype = { events: { show: function (e) { $this.contextMenuPosition = {x: $this.linkeditor.mx, y: $this.linkeditor.my}; - }, - preShow: function (e) { + }, preShow: function (e) { console.log(e); if ($(e).is('.link:not(.selected)')) { $this.deselectAllLinks(); @@ -1221,18 +1220,35 @@ LinkeditorLinks.prototype = { this.updatePolygonLinks(false); }, - updateSelectionData: function (props) { - this.getCurrentSelection().each(function () { - let uid = $(this).attr('fb-uid'); + updateLinksData: function (links, props) { + $(links).each(function () { + let l; + let uid; + if (this.link !== undefined) { + uid = $(this.link).attr('fb-uid'); + l = this.link; + } else { + uid = $(this).attr('fb-uid'); + l = this; + } + console.log(uid, props); for (let i = 0; i < props.length; i++) { let prop = props[i]; - LINKS[uid][prop] = $(this).attr('fb-' + prop); + LINKS[uid][prop] = $(l).attr('fb-' + prop); } }); this.linkeditor.rulers.updateMagnetValues(); this.updatePanels(); }, + updateSelectionData: function (props) { + this.updateLinksData(this.getCurrentSelection(), props); + }, + + updatePageData: function (props) { + this.updateLinksData(this.getLinksOfCurrentPage(), props); + }, + distributeSelection: function (axis) { let d = this.getMinMaxSelection(axis); let totalLength = d.max - d.min;