-{"version":3,"sources":["linkeditor.less"],"names":[],"mappings":"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","file":"linkeditor.css"}
\ No newline at end of file
+{"version":3,"sources":["linkeditor.less"],"names":[],"mappings":"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","file":"linkeditor.css"}
\ No newline at end of file
var zoomdragging = false;
var dividers = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000];
var fluidbookRect, canvasRect, editorRect;
+ var currentPage;
var movingRuler = null;
$("#linkeditor-canvas").addClass('grab');
return false;
}
+ moveRuler();
});
$(window).on('keyup', function (e) {
if (e.keyCode == 32) {
resetZoomDrag();
}
+ moveRuler();
});
$("#linkeditor-canvas").on('scroll', function () {
changePage();
}
- function addRuler(axis) {
- movingRuler = $('<div class="ruler" fb-ref="editor" data-axis="' + axis + '"></div>');
- $("#linkeditor-editor").append(movingRuler);
+ function generateUID() {
+ var length = 12;
+ var result = '';
+ var characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
+ var charactersLength = characters.length;
+ for (var i = 0; i < length; i++) {
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
+ }
+ return result;
+ }
+
+ function addRuler(axis, pos, uid) {
+ if (undefined === uid) {
+ uid = generateUID();
+ RULERS[uid] = {page: currentPage, type: axis, uid: uid};
+ }
+ var ruler = $('<div class="ruler" data-uid="' + uid + '" fb-ref="editor" data-axis="' + axis + '"></div>');
+ if (pos === undefined) {
+ movingRuler = ruler;
+ } else {
+ var dim = axis == 'x' ? 'left' : 'top';
+ $(ruler).attr('fb-' + dim, pos);
+ }
+ $("#linkeditor-editor").append(ruler);
moveRuler();
}
if (ruler === undefined) {
ruler = movingRuler;
}
+ var uid = $(ruler).data('uid');
+ delete RULERS[uid];
$(ruler).remove();
movingRuler = null;
}
if (movingRuler === null || movingRuler === undefined) {
return;
}
+ var magnet = !key.ctrl;
var editorMouse = globalToEditor(mx, my);
var fbMouse = globalToFluidbook(mx, my, false);
var css = {};
var attrs = {};
- var v;
+ var v, fbv;
if ($(movingRuler).data('axis') === 'x') {
v = editorMouse.x;
- attrs['fb-left'] = fbMouse.x;
+ fbv = attrs['fb-left'] = magnet ? magnetize(fbMouse.x, getRulersMagnetValues('x')) : fbMouse.x;
} else {
v = editorMouse.y;
- attrs['fb-top'] = fbMouse.y;
+ fbv = attrs['fb-top'] = magnet ? magnetize(fbMouse.y, getRulersMagnetValues('y')) : fbMouse.y;
}
if (v < 16) {
$(movingRuler).addClass('pending-delete');
$(movingRuler).removeClass('pending-delete');
}
$(movingRuler).css(css).attr(attrs);
+ RULERS[$(movingRuler).data('uid')].pos = fbv;
updateFBElements();
}
+ function magnetize(value, values) {
+ var sensibility = 8 / (zoom * fs);
+ var min = 100000;
+ var magnetValue;
+ if (values.length === 0) {
+ return value;
+ }
+
+ for (var i in values) {
+ var v = values[i];
+ var diff = Math.abs(v - value);
+ if (diff < min) {
+ min = diff;
+ magnetValue = v;
+ }
+ }
+
+ if (min > sensibility) {
+ return value;
+ }
+ return magnetValue;
+ }
+
+ function getRulersMagnetValues(axis) {
+ var res = [0];
+ if (axis === 'x') {
+ res.push(pw);
+ res.push(pw * 2);
+ } else {
+ res.push(ph);
+ }
+ return res;
+ }
+
function updateFBElements() {
var dims = ['left', 'top', 'width', 'height'];
$('[fb-ref]').each(function () {
if (page % 2 === 1 && !single) {
page--;
}
+ currentPage = page;
loadPage(page, 'left');
if (!single) {
loadPage(page + 1, 'right');
function loadPage(p, side) {
var container = $("#linkeditor-page-" + side);
+ $(container).attr('data-page', p)
+
if (p === 0 || p > FLUIDBOOK_DATA.settings.pages) {
$(container).html('');
} else {
$(container).html('<img draggable="false" src="link_' + p + '.jpg" />')
}
+ loadLinks(p, side);
+ loadRulers(p, side);
+ }
+
+ function loadLinks(page, side) {
+
+ }
+
+ function loadRulers(page, side) {
+ $.each(RULERS, function (uid, ruler) {
+ if (ruler.page != page) {
+ return;
+ }
+ addRuler(ruler.type, ruler.pos, ruler.uid);
+ });
}
function resize() {