},
_updateFBElements: function (force) {
- console.log('_updateFBElements');
let $this = this;
let selector = '[fb-ref]';
if (force !== true) {
this.loader.loadPage(this.currentPage + 1, 'right');
}
$("#linkeditor-page-field input").val(this.currentPage);
- this.rulers.updateRulersMagnetValues();
this.resize.resize();
this.loader.preloadPages();
},
.attr('fb-width', newWidth)
.attr('fb-height', newHeight)
.attr('fb-update', '1');
+
+ $this.updateLinkData($(this).attr('fb-uid'), {
+ top: newTop, left: newLeft, width: newWidth, height: newHeight
+ });
});
this.linkeditor.updateFBElements(false);
},
+ updateLinkData: function (id, data) {
+ $.each(data, function (k, v) {
+ LINKS[id][k] = v;
+ });
+ this.linkeditor.rulers.updateMagnetValues();
+ },
+
startDragLink: function () {
this.dragLinkPos = {x: this.linkeditor.mx, y: this.linkeditor.my};
$(".link.selected").each(function () {
.attr('fb-left', left)
.attr('fb-top', top)
.attr('fb-update', '1');
+
+ $this.updateLinkData($(this).attr('fb-uid'), {
+ top: top, left: left,
+ });
});
this.linkeditor.updateFBElements(false);
},
$.each(link, function (k, v) {
attrs['fb-' + k] = v;
});
- attrs['fb-ref']="editor";
- attrs['fb-update']="1";
+ attrs['fb-ref'] = "editor";
+ attrs['fb-update'] = "1";
let e = $('<div class="link" fb-ref="editor" fb-update="1"></div>');
$(e).attr(attrs);
$("#linkeditor-links").append(e);
if (change) {
- this.linkeditor.rulers.updateRulersMagnetValues();
+ this.linkeditor.rulers.updateMagnetValues();
this.linkeditor.hasChanged();
}
return e;
loadRulers: function (page, side) {
let $this = this;
- $.each(this.getRulersOfPage(page), function (uid, ruler) {
+ $.each(this.getRulersOfPage(page, side), function (uid, ruler) {
$this.addRuler(ruler.type, ruler.pos, ruler.uid);
});
this.linkeditor.links.updateMagnetValues();
},
- getRulersOfPage(page) {
- var pages = this.linkeditor.getCurrentPages(page);
+ getRulersOfPage(page, side) {
+ if (page === undefined) {
+ page = this.linkeditor.currentPage;
+ }
var res = {};
$.each(RULERS, function (uid, ruler) {
- if (pages.indexOf(parseInt(ruler.page)) === -1) {
+ if (page != ruler.page) {
return;
}
res[uid] = ruler;
return res;
},
- updateRulersMagnetValues: function () {
+ updateMagnetValues: function () {
var $this = this;
this.rulersMagnetValuesX = [0, this.linkeditor.pw, this.linkeditor.pw * 2];
this.rulersMagnetValuesY = [0, this.linkeditor.ph];
},
addRuler: function (axis, pos, uid) {
+
if (undefined === uid) {
uid = this.linkeditor.utils.generateUID();
RULERS[uid] = {page: this.linkeditor.currentPage, type: axis, uid: uid};
let dim = axis == 'x' ? 'left' : 'top';
$(ruler).attr('fb-' + dim, pos);
}
+
$("#linkeditor-editor").append(ruler);
this.moveRuler();
},
-
function LinkeditorSave(linkeditor) {
this.linkeditor = linkeditor;
this.init();
new Noty({
type: "success", text: TRANSLATIONS.success_save,
}).show();
- clearTimeout(automaticSaveTimeout);
+ clearTimeout($this.automaticSaveTimeout);
$this.unsavedChanges = false;
$this.runningAutomaticSaveTimeout = false;
},
'automatic_save_message'=>__('Sauvegarde automatique'),
'warning_unsaved_changes'=>__('Des données n\'ont pas été sauvegardées'),
];
+
+ $rulers=!count($rulers)?'{}':json_encode($rulers);
+ $links=!count($links)?'{}':json_encode($links);
@endphp
@extends('layouts.empty')
@push('after_scripts')
<script>
- var TRANSLATIONS =@json($translations);
+ var TRANSLATIONS = @json($translations);
var FLUIDBOOK_DATA = @json($fbdata);
- var LINKS =@json($links);
- var RULERS =@json($rulers);
+ var LINKS = {!! $links !!};
+ var RULERS = {!! $rulers !!};
</script>
<script
src="/packages/linkeditor/js/linkeditor.js?v={{filemtime(public_path('packages/linkeditor/js/linkeditor.js'))}}"></script>