@vitrosoftware/common-ui-ts 1.1.112 → 1.1.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/std/controls/pdf-viewer/compare.css +24 -24
- package/css/std/controls/pdf-viewer/custom.css +2 -2
- package/css/std/controls/pdf-viewer/form.css +78 -1
- package/css/std/controls/pdf-viewer/img/cancel-white.svg +10 -0
- package/css/std/controls/pdf-viewer/img/close-compare-viewer-active.svg +5 -0
- package/css/std/controls/pdf-viewer/img/close-compare-viewer.svg +5 -0
- package/css/std/controls/pdf-viewer/img/collapse-bottom.svg +5 -0
- package/css/std/controls/pdf-viewer/img/collapse-up-blue.svg +5 -0
- package/css/std/controls/pdf-viewer/img/compare-dlg-separator.svg +1 -0
- package/css/std/controls/pdf-viewer/img/compare-overlay.svg +1 -0
- package/css/std/controls/pdf-viewer/img/compare-side-by-side.svg +5 -0
- package/css/std/controls/pdf-viewer/img/finish-align-active.svg +8 -0
- package/css/std/controls/pdf-viewer/img/finish-align.svg +8 -0
- package/css/std/controls/pdf-viewer/img/fit-to-view-active.svg +5 -0
- package/css/std/controls/pdf-viewer/img/fit-to-view.svg +5 -0
- package/css/std/controls/pdf-viewer/img/hide-colors-active.svg +1 -0
- package/css/std/controls/pdf-viewer/img/hide-colors.svg +3 -0
- package/css/std/controls/pdf-viewer/img/overlay-active.svg +4 -0
- package/css/std/controls/pdf-viewer/img/overlay.svg +4 -0
- package/css/std/controls/pdf-viewer/img/pan-active.svg +3 -0
- package/css/std/controls/pdf-viewer/img/pan.svg +3 -0
- package/css/std/controls/pdf-viewer/img/panel-visibility-active.svg +8 -0
- package/css/std/controls/pdf-viewer/img/panel-visibility.svg +8 -0
- package/css/std/controls/pdf-viewer/img/side-by-side-active.svg +4 -0
- package/css/std/controls/pdf-viewer/img/side-by-side.svg +4 -0
- package/css/std/controls/pdf-viewer/img/zoom-active.svg +5 -0
- package/css/std/controls/pdf-viewer/img/zoom.svg +5 -0
- package/css/std/controls/pdf-viewer/measure.css +138 -7
- package/css/std/controls/pdf-viewer/pdf-viewer-index.css +309 -64
- package/css/std/controls/pdf-viewer/pdf-viewer.css +66 -30
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/controls/BimViewer/js/bim-viewer.js +2 -2
- package/src/controls/PdfViewer/js/pdf-viewer.js +1171 -238
|
@@ -18966,19 +18966,21 @@ const PDFViewerApplication = {
|
|
|
18966
18966
|
let sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad");
|
|
18967
18967
|
let scrollMode = _app_options.AppOptions.get("scrollModeOnLoad");
|
|
18968
18968
|
let spreadMode = _app_options.AppOptions.get("spreadModeOnLoad");
|
|
18969
|
-
|
|
18970
|
-
|
|
18971
|
-
|
|
18972
|
-
|
|
18973
|
-
|
|
18974
|
-
|
|
18975
|
-
|
|
18976
|
-
|
|
18977
|
-
|
|
18978
|
-
|
|
18979
|
-
|
|
18980
|
-
|
|
18981
|
-
|
|
18969
|
+
// @TODO.SA - changed
|
|
18970
|
+
// Fix: always default scale = "auto"
|
|
18971
|
+
//if (stored?.page && viewOnLoad !== ViewOnLoad.INITIAL) {
|
|
18972
|
+
// hash = `page=${stored.page}&zoom=${zoom || stored.zoom},` + `${stored.scrollLeft},${stored.scrollTop}`;
|
|
18973
|
+
// rotation = parseInt(stored.rotation, 10);
|
|
18974
|
+
// if (sidebarView === _ui_utils.SidebarView.UNKNOWN) {
|
|
18975
|
+
// sidebarView = stored.sidebarView | 0;
|
|
18976
|
+
// }
|
|
18977
|
+
// if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {
|
|
18978
|
+
// scrollMode = stored.scrollMode | 0;
|
|
18979
|
+
// }
|
|
18980
|
+
// if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
|
|
18981
|
+
// spreadMode = stored.spreadMode | 0;
|
|
18982
|
+
// }
|
|
18983
|
+
//}
|
|
18982
18984
|
if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) {
|
|
18983
18985
|
sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode);
|
|
18984
18986
|
}
|
|
@@ -21206,7 +21208,7 @@ const defaultOptions = {
|
|
|
21206
21208
|
kind: OptionKind.WORKER
|
|
21207
21209
|
},
|
|
21208
21210
|
workerSrc: {
|
|
21209
|
-
value: "resource/pdfViewer/js/pdf.worker.js?version=1.1.
|
|
21211
|
+
value: "resource/pdfViewer/js/pdf.worker.js?version=1.1.113",
|
|
21210
21212
|
kind: OptionKind.WORKER
|
|
21211
21213
|
}
|
|
21212
21214
|
};
|
|
@@ -32242,24 +32244,24 @@ function createNote(pageNr, index, options) {
|
|
|
32242
32244
|
note.html(options.content.label);
|
|
32243
32245
|
|
|
32244
32246
|
var currentScale = getPdfCanvasScale();
|
|
32245
|
-
var scalledOptions =
|
|
32247
|
+
var scalledOptions = jQuery.extend(true, {}, options);
|
|
32246
32248
|
|
|
32247
32249
|
// Change default label position for ellipse, polygon, line, arrow
|
|
32248
|
-
if(scalledOptions.svg && (scalledOptions.svg.type == 'ellipse' || scalledOptions.svg.type == 'polygon')) {
|
|
32249
|
-
scalledOptions.position.y = scalledOptions.position.y + scalledOptions.svg.height/2;
|
|
32250
|
-
} else if(scalledOptions.svg && (scalledOptions.svg.type == 'line' || scalledOptions.svg.type == 'arrow')) {
|
|
32251
|
-
if(scalledOptions.svg.direction == 'bltr') {
|
|
32250
|
+
if (scalledOptions.svg && (scalledOptions.svg.type == 'ellipse' || scalledOptions.svg.type == 'polygon')) {
|
|
32251
|
+
scalledOptions.position.y = scalledOptions.position.y + scalledOptions.svg.height / 2;
|
|
32252
|
+
} else if (scalledOptions.svg && (scalledOptions.svg.type == 'line' || scalledOptions.svg.type == 'arrow' || scalledOptions.svg.type == 'msr_line')) {
|
|
32253
|
+
if (scalledOptions.svg.direction == 'bltr') {
|
|
32252
32254
|
scalledOptions.position.y = scalledOptions.position.y + scalledOptions.svg.height;
|
|
32253
|
-
} else if(scalledOptions.svg.direction == 'trbl') {
|
|
32255
|
+
} else if (scalledOptions.svg.direction == 'trbl') {
|
|
32254
32256
|
scalledOptions.position.x = scalledOptions.position.x + scalledOptions.svg.width;
|
|
32255
|
-
} else if(scalledOptions.svg.direction == 'brtl') {
|
|
32257
|
+
} else if (scalledOptions.svg.direction == 'brtl') {
|
|
32256
32258
|
scalledOptions.position.x = scalledOptions.position.x + scalledOptions.svg.width;
|
|
32257
32259
|
scalledOptions.position.y = scalledOptions.position.y + scalledOptions.svg.height;
|
|
32258
32260
|
}
|
|
32259
32261
|
}
|
|
32260
32262
|
|
|
32261
|
-
scalledOptions.position.x = scalledOptions.position.x*currentScale;
|
|
32262
|
-
scalledOptions.position.y = scalledOptions.position.y*currentScale;
|
|
32263
|
+
scalledOptions.position.x = scalledOptions.position.x * currentScale;
|
|
32264
|
+
scalledOptions.position.y = scalledOptions.position.y * currentScale;
|
|
32263
32265
|
|
|
32264
32266
|
var noteCssPosLeft = scalledOptions.position.x;
|
|
32265
32267
|
var noteCssPosTop = scalledOptions.position.y;
|
|
@@ -32267,8 +32269,8 @@ function createNote(pageNr, index, options) {
|
|
|
32267
32269
|
|
|
32268
32270
|
var pagesRotation = getPdfPagesRotation();
|
|
32269
32271
|
|
|
32270
|
-
if(pagesRotation > 0) {
|
|
32271
|
-
var noteNormalizedPosition = getNoteLabelPositionWithRotation({pageNr: pageNr, position: scalledOptions.position}, pagesRotation);
|
|
32272
|
+
if (pagesRotation > 0) {
|
|
32273
|
+
var noteNormalizedPosition = getNoteLabelPositionWithRotation({ pageNr: pageNr, position: scalledOptions.position }, pagesRotation);
|
|
32272
32274
|
noteCssPosLeft = noteNormalizedPosition.x;
|
|
32273
32275
|
noteCssPosTop = noteNormalizedPosition.y;
|
|
32274
32276
|
noteCssTransform += ' rotate(' + pagesRotation + 'deg)';
|
|
@@ -32277,7 +32279,7 @@ function createNote(pageNr, index, options) {
|
|
|
32277
32279
|
note.css('left', noteCssPosLeft + 'px');
|
|
32278
32280
|
note.css('top', noteCssPosTop + 'px');
|
|
32279
32281
|
|
|
32280
|
-
|
|
32282
|
+
var pageElm = $('.page[data-page-number="' + pageNr + '"]');
|
|
32281
32283
|
note.css('transform', noteCssTransform);
|
|
32282
32284
|
|
|
32283
32285
|
bindOnClickNote(note);
|
|
@@ -32359,7 +32361,7 @@ function initDlg(pageNr, $triggerElement, clickEvent) {
|
|
|
32359
32361
|
});
|
|
32360
32362
|
}
|
|
32361
32363
|
|
|
32362
|
-
function initDlgForSvg(svgData) {
|
|
32364
|
+
function initDlgForSvg(svgData, fnSuccess, fnCancel, fnSuccessParam, fnCancelParam) {
|
|
32363
32365
|
createDlgElm();
|
|
32364
32366
|
|
|
32365
32367
|
dialog = getDlgElm().dialog({
|
|
@@ -32369,17 +32371,24 @@ function initDlgForSvg(svgData) {
|
|
|
32369
32371
|
modal: true,
|
|
32370
32372
|
resizable: true,
|
|
32371
32373
|
buttons: {
|
|
32372
|
-
"Add Note": function() {
|
|
32374
|
+
"Add Note": function () {
|
|
32373
32375
|
saveNote(false, false, false, true, svgData);
|
|
32376
|
+
if ($.isFunction(fnSuccess)) {
|
|
32377
|
+
fnSuccess(fnSuccessParam);
|
|
32378
|
+
}
|
|
32374
32379
|
closeDlg();
|
|
32375
32380
|
},
|
|
32376
|
-
Cancel: function() {
|
|
32377
|
-
|
|
32381
|
+
Cancel: function () {
|
|
32382
|
+
if ($.isFunction(fnCancel)) {
|
|
32383
|
+
fnCancel(fnCancelParam);
|
|
32384
|
+
}
|
|
32378
32385
|
closeDlg();
|
|
32379
32386
|
}
|
|
32380
32387
|
},
|
|
32381
|
-
close: function() {
|
|
32382
|
-
|
|
32388
|
+
close: function () {
|
|
32389
|
+
if ($.isFunction(fnCancel)) {
|
|
32390
|
+
fnCancel(fnCancelParam);
|
|
32391
|
+
}
|
|
32383
32392
|
closeDlg();
|
|
32384
32393
|
}
|
|
32385
32394
|
});
|
|
@@ -32710,7 +32719,17 @@ function normalizeNoteLabel270dg(pos, pageH) {
|
|
|
32710
32719
|
|
|
32711
32720
|
var label_deleteMeasure = "Delete Measure";
|
|
32712
32721
|
var label_cancel = "Cancel";
|
|
32713
|
-
|
|
32722
|
+
var label_measures2PointHint = "Click & drag to calibrate";
|
|
32723
|
+
var label_errMsgCalibrationTitle = 'Настройки не были сохранены.';
|
|
32724
|
+
var label_errMsgNoCalibrationItem = 'Создайте пожалуйста калибровочный отрезок.';
|
|
32725
|
+
var label_errMsgCalibrationSizeNotDefined = 'Заполните пожалуйста поле "Size" в форме настроек "Измерений".';
|
|
32726
|
+
|
|
32727
|
+
var label_warningCalibrationPage_title = 'Внимание!';
|
|
32728
|
+
var label_warningCalibrationPage_body = 'Вы ушли со страницы, для которой производится калибровка измерений. ' +
|
|
32729
|
+
'Вернитесь пожалуйста на калибруемую страницу или закройте диалог настроек "Измерений" (без сохранения).';
|
|
32730
|
+
var label_warningCalibrationPage_btnClose = 'Закрыть настройки (без сохранения)';
|
|
32731
|
+
var label_warningCalibrationPage_btnGoToPage = 'Перейти на страницу калибровки';
|
|
32732
|
+
var label_createAnnotation = 'Create annotation';
|
|
32714
32733
|
/* *** Sketchpad *** */
|
|
32715
32734
|
var fillVal = 'none';
|
|
32716
32735
|
var strokeColorVal = 'yellowgreen';
|
|
@@ -32727,6 +32746,7 @@ var isSketchpadActive = false;
|
|
|
32727
32746
|
var measuresNodes = {};
|
|
32728
32747
|
var isSketchpadMeasureActive = false;
|
|
32729
32748
|
var measureStrokeColorVal = 'red';
|
|
32749
|
+
var measureCalibrationStrokeColorVal = '#4092c3';
|
|
32730
32750
|
var measureStrokeWidthVal = 3;
|
|
32731
32751
|
var measureFillVal = 'none';
|
|
32732
32752
|
var measureBlockStrokeColorVal = 'blue'; // TODO
|
|
@@ -32735,10 +32755,38 @@ var measureFontSize = 16;
|
|
|
32735
32755
|
var measureFontFamily = 'Arial';
|
|
32736
32756
|
var measureOutlineText = null;
|
|
32737
32757
|
var measureOutlineTextBg = null;
|
|
32758
|
+
// Default measure settings
|
|
32738
32759
|
var measurePrecision = 0; // decimal symbols. TODO - calibration!
|
|
32739
32760
|
var measureUnit = 'mm'; // TODO - calibration!
|
|
32740
32761
|
var measurePxScale = 1; // TODO - calibration!
|
|
32762
|
+
//
|
|
32741
32763
|
var measureLast = null;
|
|
32764
|
+
// User defined measure settings
|
|
32765
|
+
var measuresPageSettings = {};
|
|
32766
|
+
/*
|
|
32767
|
+
var measuresPageSettings = {
|
|
32768
|
+
{pageNr}: {
|
|
32769
|
+
page: ...,
|
|
32770
|
+
type: ...,
|
|
32771
|
+
measurePrecision: ...,
|
|
32772
|
+
measureUnit: ...,
|
|
32773
|
+
measurePxScale: ...
|
|
32774
|
+
calibrationSize: ...,
|
|
32775
|
+
calibrationSizePx: ...,
|
|
32776
|
+
user: ...,
|
|
32777
|
+
date: ...
|
|
32778
|
+
},
|
|
32779
|
+
...
|
|
32780
|
+
}
|
|
32781
|
+
*/
|
|
32782
|
+
var isCalibrationLineChanged = false;
|
|
32783
|
+
var calibrationLineChangedDataOrg = false;
|
|
32784
|
+
|
|
32785
|
+
var measureUnitLabel = {
|
|
32786
|
+
'mm': 'мм',
|
|
32787
|
+
'cm': 'см',
|
|
32788
|
+
'm': 'м'
|
|
32789
|
+
};
|
|
32742
32790
|
|
|
32743
32791
|
var arrowMarkerAngle = 45;
|
|
32744
32792
|
var arrowMarkerSize = 30;
|
|
@@ -32748,7 +32796,9 @@ function initSketchpadCanvasByPageNr(pageNr) {
|
|
|
32748
32796
|
sketchpad[pageNr] = svg;
|
|
32749
32797
|
var surface = svg.rect(0, 0, '100%', '100%', {id: 'surface-'+pageNr, fill: 'transparent'});
|
|
32750
32798
|
|
|
32751
|
-
createMeasureLineMarker(pageNr);
|
|
32799
|
+
createMeasureLineMarker(pageNr, getMeasureLineMarkerId(pageNr), getMeasureLineMarkerSettings());
|
|
32800
|
+
createMeasureLineMarker(pageNr, getMeasureCalibrationLineMarkerId(pageNr), getMeasureCalibrationLineMarkerSettings());
|
|
32801
|
+
createMeasureLineMarker(pageNr, getMeasureNoteLineMarkerId(pageNr), getMeasureNoteLineMarkerSettings());
|
|
32752
32802
|
createMeasureTxtFilterBg(pageNr);
|
|
32753
32803
|
|
|
32754
32804
|
$(surface).mousedown(function(eMousedown) {
|
|
@@ -32775,7 +32825,7 @@ function sketchpadCanvasMouseupHandler(eMouseup, pageNr) {
|
|
|
32775
32825
|
function sketchpadCanvasMousemoveHandler(eMousemove, pageNr) {
|
|
32776
32826
|
if(isSketchpadActive) {
|
|
32777
32827
|
dragging(eMousemove, pageNr);
|
|
32778
|
-
} else if(isSketchpadMeasureActive) {
|
|
32828
|
+
} else if(isSketchpadMeasureActive && drawStart) {
|
|
32779
32829
|
draggingMeasure(eMousemove, pageNr);
|
|
32780
32830
|
}
|
|
32781
32831
|
}
|
|
@@ -32784,6 +32834,10 @@ function sketchpadCanvasMousedownHandler(eMousedown, pageNr) {
|
|
|
32784
32834
|
if(isSketchpadActive) {
|
|
32785
32835
|
startDrag(eMousedown, pageNr);
|
|
32786
32836
|
} else if(isSketchpadMeasureActive) {
|
|
32837
|
+
if(isMeasuresCalibrationActive() && measuresNodes[pageNr] && (getCalibrationShapeId(pageNr) in measuresNodes[pageNr])) {
|
|
32838
|
+
return false;
|
|
32839
|
+
}
|
|
32840
|
+
|
|
32787
32841
|
startDragMeasure(eMousedown, pageNr);
|
|
32788
32842
|
}
|
|
32789
32843
|
}
|
|
@@ -32831,10 +32885,40 @@ function getMeasureLineMarkerSettings() {
|
|
|
32831
32885
|
};
|
|
32832
32886
|
|
|
32833
32887
|
return settings;
|
|
32834
|
-
}
|
|
32888
|
+
}
|
|
32835
32889
|
|
|
32836
|
-
function
|
|
32837
|
-
var
|
|
32890
|
+
function getMeasureNoteLineMarkerSettings() {
|
|
32891
|
+
var settings = {
|
|
32892
|
+
fill: fillVal,
|
|
32893
|
+
stroke: strokeColorVal
|
|
32894
|
+
};
|
|
32895
|
+
|
|
32896
|
+
return settings;
|
|
32897
|
+
}
|
|
32898
|
+
|
|
32899
|
+
function getMeasureCalibrationLineMarkerSettings() {
|
|
32900
|
+
var settings = {
|
|
32901
|
+
fill: measureFillVal,
|
|
32902
|
+
stroke: measureCalibrationStrokeColorVal
|
|
32903
|
+
};
|
|
32904
|
+
|
|
32905
|
+
return settings;
|
|
32906
|
+
}
|
|
32907
|
+
|
|
32908
|
+
function getMeasureLineMarkerId(pageNr) {
|
|
32909
|
+
return 'measureLineMarker'+pageNr;
|
|
32910
|
+
}
|
|
32911
|
+
|
|
32912
|
+
function getMeasureNoteLineMarkerId(pageNr) {
|
|
32913
|
+
return 'measureNoteLineMarker'+pageNr;
|
|
32914
|
+
}
|
|
32915
|
+
|
|
32916
|
+
function getMeasureCalibrationLineMarkerId(pageNr) {
|
|
32917
|
+
return 'measureLineMarker'+pageNr+'c';
|
|
32918
|
+
}
|
|
32919
|
+
|
|
32920
|
+
function createMeasureLineMarker(pageNr, markerId, markerSettings) {
|
|
32921
|
+
var measureLineMarkerStart = sketchpad[pageNr].marker(markerId, 2, 2, 4, 4, 'auto', markerSettings);
|
|
32838
32922
|
sketchpad[pageNr].path(measureLineMarkerStart, 'M 2 0 L 2 4 M 0 4 L 4 0');
|
|
32839
32923
|
}
|
|
32840
32924
|
|
|
@@ -32853,52 +32937,68 @@ function draggingMeasure(event, pageNr) {
|
|
|
32853
32937
|
if (!drawStart) {
|
|
32854
32938
|
return;
|
|
32855
32939
|
}
|
|
32856
|
-
|
|
32940
|
+
|
|
32857
32941
|
if (!outline) {
|
|
32858
32942
|
var outlineSettings = getOutlineMeasureSettings();
|
|
32859
|
-
|
|
32860
|
-
|
|
32861
|
-
|
|
32862
|
-
|
|
32863
|
-
|
|
32943
|
+
if(isMeasuresCalibrationActive()) {
|
|
32944
|
+
outlineSettings.stroke = measureCalibrationStrokeColorVal;
|
|
32945
|
+
} else {
|
|
32946
|
+
var outlineTextSettings = getMeasureTextSettings();
|
|
32947
|
+
outlineTextSettings.style = 'pointer-events: none; user-select: none;';
|
|
32948
|
+
outlineTextSettings.filter = 'url(#txtFilterBg)';
|
|
32949
|
+
}
|
|
32950
|
+
|
|
32951
|
+
if(isMeasureLine() || isMeasuresCalibrationActive()) {
|
|
32864
32952
|
// TODO: Path? - connectors for edit mode
|
|
32865
32953
|
// Measure Line
|
|
32866
|
-
|
|
32867
|
-
outlineSettings.
|
|
32954
|
+
var markerId = isMeasuresCalibrationActive() ? getMeasureCalibrationLineMarkerId(pageNr) : getMeasureLineMarkerId(pageNr);
|
|
32955
|
+
outlineSettings.markerStart = 'url(#'+markerId+')';
|
|
32956
|
+
outlineSettings.markerEnd = 'url(#'+markerId+')';
|
|
32868
32957
|
outline = sketchpad[pageNr].line(0, 0, 0, 0, outlineSettings);
|
|
32869
|
-
|
|
32870
|
-
|
|
32958
|
+
|
|
32959
|
+
if(!isMeasuresCalibrationActive()) {
|
|
32960
|
+
// Measure Text
|
|
32961
|
+
measureOutlineText = sketchpad[pageNr].text(0, 0, '', outlineTextSettings);
|
|
32962
|
+
}
|
|
32871
32963
|
} else if(isMeasureArea()) {
|
|
32872
32964
|
outline = sketchpad[pageNr].rect(0, 0, 0, 0, outlineSettings);
|
|
32873
32965
|
measureOutlineText = sketchpad[pageNr].text('', outlineTextSettings);
|
|
32874
32966
|
}
|
|
32875
|
-
|
|
32876
|
-
|
|
32967
|
+
|
|
32968
|
+
$(outline).mouseup(function(e) {
|
|
32877
32969
|
endDragMeasure(e, pageNr);
|
|
32878
32970
|
});
|
|
32879
32971
|
}
|
|
32880
|
-
|
|
32972
|
+
|
|
32881
32973
|
var otlineMeasureLabel;
|
|
32882
32974
|
var textWidth;
|
|
32883
32975
|
var textHeight;
|
|
32884
32976
|
|
|
32885
|
-
if(isMeasureLine()) {
|
|
32977
|
+
if(isMeasureLine() || isMeasuresCalibrationActive()) {
|
|
32886
32978
|
sketchpad[pageNr].change(outline, {
|
|
32887
32979
|
x1: drawStart.X,
|
|
32888
32980
|
y1: drawStart.Y,
|
|
32889
32981
|
x2: (event.clientX - offset.left),
|
|
32890
32982
|
y2: (event.clientY - offset.top)
|
|
32891
32983
|
});
|
|
32892
|
-
|
|
32893
|
-
|
|
32894
|
-
|
|
32895
|
-
|
|
32896
|
-
|
|
32897
|
-
|
|
32898
|
-
|
|
32899
|
-
|
|
32900
|
-
|
|
32901
|
-
|
|
32984
|
+
|
|
32985
|
+
if(isMeasuresCalibrationActive()) {
|
|
32986
|
+
textWidth = 0;
|
|
32987
|
+
textHeight = 0;
|
|
32988
|
+
textX = 0;
|
|
32989
|
+
textY = 0;
|
|
32990
|
+
otlineMeasureLabel = '';
|
|
32991
|
+
} else {
|
|
32992
|
+
otlineMeasureLabel = getMeasureLineLabelByCoords(event.clientX, event.clientY, pageNr);
|
|
32993
|
+
$(sketchpad[pageNr].getElementById('tmpOutlineMeasureTxt')).html(otlineMeasureLabel);
|
|
32994
|
+
|
|
32995
|
+
textWidth = measureOutlineText.getBBox().width;
|
|
32996
|
+
textHeight = measureOutlineText.getBBox().height;
|
|
32997
|
+
|
|
32998
|
+
textX = (drawStart.X + event.clientX - offset.left)/2;
|
|
32999
|
+
textY = (drawStart.Y + event.clientY - offset.top)/2 + getMeasureLineTxtShiftY(drawStart.Y, event.clientY-offset.top);
|
|
33000
|
+
}
|
|
33001
|
+
|
|
32902
33002
|
} else if(isMeasureArea()) {
|
|
32903
33003
|
var outlineWidth = Math.abs(event.clientX - offset.left - drawStart.X);
|
|
32904
33004
|
var outlineHeight = Math.abs(event.clientY - offset.top - drawStart.Y);
|
|
@@ -32910,7 +33010,7 @@ function draggingMeasure(event, pageNr) {
|
|
|
32910
33010
|
height: outlineHeight
|
|
32911
33011
|
});
|
|
32912
33012
|
|
|
32913
|
-
otlineMeasureLabel = getMeasureAreaLabelBySize(outlineWidth, outlineHeight);
|
|
33013
|
+
otlineMeasureLabel = getMeasureAreaLabelBySize(outlineWidth, outlineHeight, pageNr);
|
|
32914
33014
|
$(sketchpad[pageNr].getElementById('tmpOutlineMeasureTxt')).html(otlineMeasureLabel);
|
|
32915
33015
|
|
|
32916
33016
|
textWidth = measureOutlineText.getBBox().width;
|
|
@@ -32924,21 +33024,25 @@ function draggingMeasure(event, pageNr) {
|
|
|
32924
33024
|
}
|
|
32925
33025
|
}
|
|
32926
33026
|
|
|
32927
|
-
|
|
32928
|
-
|
|
32929
|
-
|
|
33027
|
+
if(!isMeasuresCalibrationActive()) {
|
|
33028
|
+
sketchpad[pageNr].change(measureOutlineText, {x:textX, y:textY});
|
|
33029
|
+
}
|
|
33030
|
+
|
|
33031
|
+
if(isMeasureLine() || isMeasuresCalibrationActive()) {
|
|
32930
33032
|
setMeasureLast(textX, textY, textWidth, textHeight, otlineMeasureLabel, getMeasureLinePxVal(event.clientX, event.clientY), 'line');
|
|
32931
33033
|
} else if(isMeasureArea()) {
|
|
32932
33034
|
setMeasureLast(textX, textY, textWidth, textHeight, otlineMeasureLabel, getMeasureAreaPxVal(outlineWidth, outlineHeight), 'rect');
|
|
32933
|
-
}
|
|
32934
|
-
|
|
32935
|
-
|
|
33035
|
+
}
|
|
33036
|
+
|
|
33037
|
+
event.preventDefault();
|
|
32936
33038
|
}
|
|
32937
33039
|
|
|
32938
|
-
function getMeasureAreaLabelBySize(width, height) {
|
|
33040
|
+
function getMeasureAreaLabelBySize(width, height, pageNr) {
|
|
33041
|
+
var measurePageSettings = getMeasurePageSettings(pageNr);
|
|
32939
33042
|
var measureVal = getMeasureAreaPxVal(width, height);
|
|
32940
|
-
measureVal = getMeasureValSq(measureVal);
|
|
32941
|
-
var measureLabel = getMeasureAreaLabel(measureVal);
|
|
33043
|
+
measureVal = getMeasureValSq(measureVal, measurePageSettings.measurePxScale, measurePageSettings.measurePrecision, measurePageSettings.measureUnit);
|
|
33044
|
+
var measureLabel = getMeasureAreaLabel(measureVal, measurePageSettings.measureUnit);
|
|
33045
|
+
|
|
32942
33046
|
return measureLabel;
|
|
32943
33047
|
}
|
|
32944
33048
|
|
|
@@ -32969,42 +33073,65 @@ function getMeasureLineTxtShiftY(yStart, y) {
|
|
|
32969
33073
|
}
|
|
32970
33074
|
}
|
|
32971
33075
|
|
|
32972
|
-
function getMeasureLineLabel(measureVal) {
|
|
32973
|
-
var measureTxtVal = ' <tspan class="measure-val-lbl">' + measureVal + '</tspan>' + ' <tspan class="measure-unit-lbl">' +
|
|
33076
|
+
function getMeasureLineLabel(measureVal, measurePageUnit) {
|
|
33077
|
+
var measureTxtVal = ' <tspan class="measure-val-lbl">' + measureVal + '</tspan>' + ' <tspan class="measure-unit-lbl">' + measureUnitLabel[measurePageUnit] + '</tspan>';
|
|
32974
33078
|
return measureTxtVal;
|
|
32975
33079
|
}
|
|
32976
33080
|
|
|
32977
|
-
function getMeasureAreaLabel(measureVal) {
|
|
33081
|
+
function getMeasureAreaLabel(measureVal, measurePageUnit) {
|
|
32978
33082
|
var measureTxtVal = ' <tspan class="measure-val-lbl">' + measureVal + '</tspan>'
|
|
32979
|
-
+ ' <tspan class="measure-unit-lbl">' +
|
|
33083
|
+
+ ' <tspan class="measure-unit-lbl">' + measureUnitLabel[measurePageUnit] + '<tspan font-size="'+(measureFontSize-4)+'" dy="-6">2</tspan></tspan>';
|
|
32980
33084
|
return measureTxtVal;
|
|
32981
33085
|
}
|
|
32982
33086
|
|
|
32983
|
-
function getMeasureLineLabelByCoords(clientX, clientY) {
|
|
33087
|
+
function getMeasureLineLabelByCoords(clientX, clientY, pageNr) {
|
|
33088
|
+
var measurePageSettings = getMeasurePageSettings(pageNr);
|
|
32984
33089
|
var measureVal = getMeasureLinePxVal(clientX, clientY);
|
|
32985
|
-
measureVal = getMeasureVal(measureVal);
|
|
32986
|
-
var measureLabel = getMeasureLineLabel(measureVal);
|
|
33090
|
+
measureVal = getMeasureVal(measureVal, measurePageSettings.measurePxScale, measurePageSettings.measurePrecision, measurePageSettings.measureUnit);
|
|
33091
|
+
var measureLabel = getMeasureLineLabel(measureVal, measurePageSettings.measureUnit);
|
|
33092
|
+
|
|
32987
33093
|
return measureLabel;
|
|
32988
33094
|
}
|
|
32989
33095
|
|
|
33096
|
+
function getMeasurePageSettings(pageNr) {
|
|
33097
|
+
var settings;
|
|
33098
|
+
if(pageNr in measuresPageSettings) {
|
|
33099
|
+
settings = measuresPageSettings[pageNr];
|
|
33100
|
+
} else {
|
|
33101
|
+
settings = getMeasureDefaultSettings();
|
|
33102
|
+
settings.page = pageNr;
|
|
33103
|
+
}
|
|
33104
|
+
return settings;
|
|
33105
|
+
}
|
|
33106
|
+
|
|
33107
|
+
function getMeasureDefaultSettings() {
|
|
33108
|
+
var settings = {
|
|
33109
|
+
type: 'scale',
|
|
33110
|
+
measurePrecision: measurePrecision,
|
|
33111
|
+
measureUnit: measureUnit,
|
|
33112
|
+
measurePxScale: measurePxScale
|
|
33113
|
+
};
|
|
33114
|
+
return settings;
|
|
33115
|
+
}
|
|
33116
|
+
|
|
32990
33117
|
function getMeasureLinePxVal(clientX, clientY) {
|
|
32991
33118
|
var measureVal = Math.sqrt(Math.pow(Math.abs(clientX - offset.left - drawStart.X), 2) + Math.pow(Math.abs(clientY - offset.top - drawStart.Y), 2))/getPdfCanvasScale();
|
|
32992
33119
|
return measureVal;
|
|
32993
33120
|
}
|
|
32994
33121
|
|
|
32995
|
-
function getMeasureValSqWithPxScale(measurePxVal) {
|
|
32996
|
-
var measureVal = measurePxVal*Math.pow(
|
|
33122
|
+
function getMeasureValSqWithPxScale(measurePxVal, measurePagePxScale) {
|
|
33123
|
+
var measureVal = measurePxVal*Math.pow(measurePagePxScale, 2);
|
|
32997
33124
|
return measureVal;
|
|
32998
33125
|
}
|
|
32999
33126
|
|
|
33000
|
-
function getMeasureValWithPxScale(measurePxVal) {
|
|
33001
|
-
var measureVal = measurePxVal*
|
|
33127
|
+
function getMeasureValWithPxScale(measurePxVal, measurePagePxScale) {
|
|
33128
|
+
var measureVal = measurePxVal*measurePagePxScale;
|
|
33002
33129
|
return measureVal;
|
|
33003
33130
|
}
|
|
33004
33131
|
|
|
33005
|
-
function getMeasureValWithPrecision(measureVal) {
|
|
33006
|
-
if(
|
|
33007
|
-
measureVal = measureVal.toFixed(
|
|
33132
|
+
function getMeasureValWithPrecision(measureVal, measurePagePrecision) {
|
|
33133
|
+
if(measurePagePrecision) {
|
|
33134
|
+
measureVal = measureVal.toFixed(measurePagePrecision);
|
|
33008
33135
|
} else {
|
|
33009
33136
|
measureVal = Math.round(measureVal);
|
|
33010
33137
|
}
|
|
@@ -33012,17 +33139,17 @@ function getMeasureValWithPrecision(measureVal) {
|
|
|
33012
33139
|
return measureVal;
|
|
33013
33140
|
}
|
|
33014
33141
|
|
|
33015
|
-
function getMeasureValSq(measurePxVal) {
|
|
33016
|
-
var measureVal = getMeasureValSqByPx(measurePxVal);
|
|
33017
|
-
measureVal = getMeasureValSqWithPxScale(measureVal);
|
|
33018
|
-
measureVal = getMeasureValWithPrecision(measureVal);
|
|
33142
|
+
function getMeasureValSq(measurePxVal, measurePagePxScale, measurePagePrecision, measurePageUnit) {
|
|
33143
|
+
var measureVal = getMeasureValSqByPx(measurePxVal, measurePageUnit);
|
|
33144
|
+
measureVal = getMeasureValSqWithPxScale(measureVal, measurePagePxScale);
|
|
33145
|
+
measureVal = getMeasureValWithPrecision(measureVal, measurePagePrecision);
|
|
33019
33146
|
return measureVal;
|
|
33020
33147
|
}
|
|
33021
33148
|
|
|
33022
|
-
function getMeasureVal(measurePxVal) {
|
|
33023
|
-
var measureVal = getMeasureValByPx(measurePxVal);
|
|
33024
|
-
measureVal = getMeasureValWithPxScale(measureVal);
|
|
33025
|
-
measureVal = getMeasureValWithPrecision(measureVal);
|
|
33149
|
+
function getMeasureVal(measurePxVal, measurePagePxScale, measurePagePrecision, measurePageUnit) {
|
|
33150
|
+
var measureVal = getMeasureValByPx(measurePxVal, measurePageUnit);
|
|
33151
|
+
measureVal = getMeasureValWithPxScale(measureVal, measurePagePxScale);
|
|
33152
|
+
measureVal = getMeasureValWithPrecision(measureVal, measurePagePrecision);
|
|
33026
33153
|
return measureVal;
|
|
33027
33154
|
}
|
|
33028
33155
|
|
|
@@ -33041,9 +33168,14 @@ function endDragMeasure(event, pageNr) {
|
|
|
33041
33168
|
|
|
33042
33169
|
removeMeasureOutlineItems();
|
|
33043
33170
|
|
|
33044
|
-
if(measureLast
|
|
33171
|
+
if(measureLast.pxVal > 0) {
|
|
33045
33172
|
var shape = getMeasureType();
|
|
33046
33173
|
drawMeasure(drawStart.X, drawStart.Y, event.clientX - offset.left, event.clientY - offset.top, pageNr, shape);
|
|
33174
|
+
|
|
33175
|
+
if(isMeasuresCalibrationActive()) {
|
|
33176
|
+
deactivateMeasuresCalibration();
|
|
33177
|
+
removeMeasuresCalibrationHint();
|
|
33178
|
+
}
|
|
33047
33179
|
}
|
|
33048
33180
|
|
|
33049
33181
|
drawStart = null;
|
|
@@ -33051,8 +33183,10 @@ function endDragMeasure(event, pageNr) {
|
|
|
33051
33183
|
}
|
|
33052
33184
|
|
|
33053
33185
|
function removeMeasureOutlineItems() {
|
|
33054
|
-
|
|
33055
|
-
|
|
33186
|
+
if(!isMeasuresCalibrationActive()) {
|
|
33187
|
+
$(measureOutlineText).remove();
|
|
33188
|
+
$(measureOutlineTextBg).remove();
|
|
33189
|
+
}
|
|
33056
33190
|
$(outline).remove();
|
|
33057
33191
|
|
|
33058
33192
|
outline = null;
|
|
@@ -33073,7 +33207,8 @@ function startDrag(event, pageNr) {
|
|
|
33073
33207
|
offset.top -= document.documentElement.scrollTop || document.body.scrollTop;
|
|
33074
33208
|
}
|
|
33075
33209
|
drawStart = {X: event.clientX - offset.left, Y: event.clientY - offset.top};
|
|
33076
|
-
|
|
33210
|
+
|
|
33211
|
+
event.preventDefault();
|
|
33077
33212
|
}
|
|
33078
33213
|
|
|
33079
33214
|
/* Provide feedback as we drag */
|
|
@@ -33174,7 +33309,13 @@ function drawMeasure(x1, y1, x2, y2, pageNr, shape) {
|
|
|
33174
33309
|
var right = Math.max(x1, x2);
|
|
33175
33310
|
var bottom = Math.max(y1, y2);
|
|
33176
33311
|
|
|
33177
|
-
var measureGrpId
|
|
33312
|
+
var measureGrpId;
|
|
33313
|
+
if(isMeasuresCalibrationActive()) {
|
|
33314
|
+
measureGrpId = 'calibration_'+pageNr;
|
|
33315
|
+
} else {
|
|
33316
|
+
measureGrpId = getMeasureGrpId();
|
|
33317
|
+
}
|
|
33318
|
+
|
|
33178
33319
|
var measureGrp = sketchpad[pageNr].group(measureGrpId);
|
|
33179
33320
|
|
|
33180
33321
|
var measureNode = null;
|
|
@@ -33182,32 +33323,46 @@ function drawMeasure(x1, y1, x2, y2, pageNr, shape) {
|
|
|
33182
33323
|
|
|
33183
33324
|
var measureSettings = getOutlineMeasureSettings();
|
|
33184
33325
|
measureSettings.id = getMeasureShapeId(measureGrpId);
|
|
33185
|
-
|
|
33186
|
-
|
|
33187
|
-
|
|
33188
|
-
|
|
33326
|
+
|
|
33327
|
+
if(isMeasuresCalibrationActive()) {
|
|
33328
|
+
measureSettings.stroke = measureCalibrationStrokeColorVal;
|
|
33329
|
+
} else {
|
|
33330
|
+
var measureTextSettings = getMeasureTextSettings();
|
|
33331
|
+
measureTextSettings.id = getMeasureTxtId(measureGrpId);
|
|
33332
|
+
measureTextSettings.filter = 'url(#txtFilterBg)';
|
|
33333
|
+
}
|
|
33189
33334
|
|
|
33190
33335
|
if (shape == 'rect') {
|
|
33191
33336
|
measureNode = sketchpad[pageNr].rect(measureGrp, left, top, right - left, bottom - top, measureSettings);
|
|
33192
|
-
} else if (shape == 'line') {
|
|
33193
|
-
|
|
33194
|
-
measureSettings.
|
|
33337
|
+
} else if (shape == 'line' || isMeasuresCalibrationActive()) {
|
|
33338
|
+
var markerId = isMeasuresCalibrationActive() ? getMeasureCalibrationLineMarkerId(pageNr) : getMeasureLineMarkerId(pageNr);
|
|
33339
|
+
measureSettings.markerStart = 'url(#'+markerId+')';
|
|
33340
|
+
measureSettings.markerEnd = 'url(#'+markerId+')';
|
|
33195
33341
|
measureNode = sketchpad[pageNr].line(measureGrp, x1, y1, x2, y2, measureSettings);
|
|
33196
33342
|
}
|
|
33197
|
-
|
|
33198
|
-
|
|
33199
|
-
|
|
33200
|
-
|
|
33343
|
+
|
|
33344
|
+
if(!isMeasuresCalibrationActive()) {
|
|
33345
|
+
//measureTextSettings.fontSize = measureTextSettings.fontSize*getPdfCanvasScale(); // ?
|
|
33346
|
+
measureText = sketchpad[pageNr].text(measureGrp, measureLast.txt.x, measureLast.txt.y, '', measureTextSettings);
|
|
33347
|
+
$(measureText).html(measureLast.txt.label);
|
|
33348
|
+
}
|
|
33201
33349
|
|
|
33202
33350
|
// Bind context menu
|
|
33203
|
-
|
|
33204
|
-
|
|
33351
|
+
if(!isMeasuresCalibrationActive()) {
|
|
33352
|
+
bindMeasureContextMenu(measureTextSettings.id);
|
|
33353
|
+
}
|
|
33205
33354
|
|
|
33206
33355
|
var width = right - left;
|
|
33207
33356
|
var height = bottom - top;
|
|
33208
33357
|
var pagesRotation = getPdfPagesRotation();
|
|
33209
33358
|
var direction = getDrawDirectionByPagesRotation(x1, y1, x2, y2, pagesRotation);
|
|
33210
|
-
|
|
33359
|
+
|
|
33360
|
+
var txtOptions;
|
|
33361
|
+
|
|
33362
|
+
if(isMeasuresCalibrationActive()) {
|
|
33363
|
+
txtOptions = {x:null, y:null, width: null, height: null};
|
|
33364
|
+
}
|
|
33365
|
+
|
|
33211
33366
|
if(pagesRotation > 0) {
|
|
33212
33367
|
var measureData = {
|
|
33213
33368
|
pageNr: pageNr,
|
|
@@ -33220,25 +33375,42 @@ function drawMeasure(x1, y1, x2, y2, pageNr, shape) {
|
|
|
33220
33375
|
};
|
|
33221
33376
|
var measureSvgData = getNormalizedSvgData(measureData, pagesRotation);
|
|
33222
33377
|
|
|
33223
|
-
|
|
33378
|
+
if(!isMeasuresCalibrationActive()) {
|
|
33379
|
+
var measureTxtSvgData = getMeasureTxtNormalizedSvgData(measureSvgData.position.x, measureSvgData.position.y, measureSvgData.width, measureSvgData.height,
|
|
33224
33380
|
shape, measureLast.txt.width, measureLast.txt.height);
|
|
33381
|
+
txtOptions = {x:measureTxtSvgData.x, y:measureTxtSvgData.y, width:measureLast.txt.width, height: measureLast.txt.height};
|
|
33382
|
+
}
|
|
33383
|
+
|
|
33225
33384
|
setMeasure(pageNr, measureGrpId, measureGrp, measureSvgData.position.x, measureSvgData.position.y, measureSvgData.width, measureSvgData.height,
|
|
33226
|
-
shape, direction, measureLast.txt.label,
|
|
33227
|
-
measureLast.pxVal);
|
|
33385
|
+
shape, direction, measureLast.txt.label, txtOptions, measureLast.pxVal);
|
|
33228
33386
|
} else {
|
|
33229
|
-
|
|
33230
|
-
|
|
33231
|
-
|
|
33387
|
+
if(!isMeasuresCalibrationActive()) {
|
|
33388
|
+
txtOptions = {x:measureLast.txt.x, y:measureLast.txt.y, width:measureLast.txt.width, height: measureLast.txt.height};
|
|
33389
|
+
}
|
|
33390
|
+
setMeasure(pageNr, measureGrpId, measureGrp, left, top, width, height, shape, direction, measureLast.txt.label, txtOptions, measureLast.pxVal);
|
|
33391
|
+
}
|
|
33392
|
+
|
|
33393
|
+
if(isMeasuresCalibrationActive()) {
|
|
33394
|
+
setDlgMeasureSettings2PointSizePx(measureLast.pxVal);
|
|
33232
33395
|
}
|
|
33233
33396
|
|
|
33234
|
-
measureLast = null;
|
|
33235
|
-
|
|
33236
|
-
|
|
33237
|
-
|
|
33397
|
+
measureLast = null;
|
|
33398
|
+
|
|
33399
|
+
if(!isMeasuresCalibrationActive()) {
|
|
33400
|
+
// TODO - save measure data to server
|
|
33401
|
+
saveMeasure(pageNr, measureGrpId);
|
|
33402
|
+
} else {
|
|
33403
|
+
setCalibrationItemId(measureGrpId);
|
|
33404
|
+
enableBtnMeasureSettingsDelete();
|
|
33405
|
+
}
|
|
33238
33406
|
|
|
33239
33407
|
$('#svgsketch-'+[pageNr]).focus();
|
|
33240
33408
|
}
|
|
33241
33409
|
|
|
33410
|
+
function setCalibrationItemId(id) {
|
|
33411
|
+
$('#measures2PointId').val(id);
|
|
33412
|
+
}
|
|
33413
|
+
|
|
33242
33414
|
function getMeasureTxtNormalizedSvgData(measureX, measureY, measureW, measureH, measureType, txtW, txtH) {
|
|
33243
33415
|
var textY;
|
|
33244
33416
|
var textX = (2*measureX + measureW)/2;
|
|
@@ -33278,6 +33450,10 @@ function bindMeasureContextMenu(measureElmId) {
|
|
|
33278
33450
|
$(document).trigger(key, [options.$trigger]);
|
|
33279
33451
|
},
|
|
33280
33452
|
items: {
|
|
33453
|
+
"addMeasureNote": {
|
|
33454
|
+
name: label_createAnnotation,
|
|
33455
|
+
icon: "add"
|
|
33456
|
+
},
|
|
33281
33457
|
"deleteMeasure": {
|
|
33282
33458
|
name: label_deleteMeasure,
|
|
33283
33459
|
icon: 'delete'
|
|
@@ -33293,10 +33469,48 @@ function bindMeasureContextMenu(measureElmId) {
|
|
|
33293
33469
|
});
|
|
33294
33470
|
}
|
|
33295
33471
|
|
|
33472
|
+
function bindAddMeasureNoteEventHandler() {
|
|
33473
|
+
$(document).on('addMeasureNote', function(e, item) {
|
|
33474
|
+
var measureId = getMeasureIdByItem(item);
|
|
33475
|
+
var pageNr = getMeasurePageByItem(item);
|
|
33476
|
+
var measureNode = jQuery.extend(true, {}, measuresNodes[pageNr][measureId]);
|
|
33477
|
+
measureNode.data.id = Date.now();
|
|
33478
|
+
measureNode.data.type = addMeasureAnnotationTypePrefix(measureNode.data.type);
|
|
33479
|
+
measureNode.data.stroke.color = strokeColorVal;
|
|
33480
|
+
measureNode.data.stroke.width = strokeWidthVal;
|
|
33481
|
+
delete measureNode.data.measure;
|
|
33482
|
+
|
|
33483
|
+
initDlgForSvg(measureNode, addMeasureNoteSuccessFn, false, [pageNr, measureId/*, measureNode.data.id*/], false);
|
|
33484
|
+
});
|
|
33485
|
+
}
|
|
33486
|
+
|
|
33487
|
+
function addMeasureAnnotationTypePrefix(type) {
|
|
33488
|
+
return 'msr_' + type;
|
|
33489
|
+
}
|
|
33490
|
+
|
|
33491
|
+
function addMeasureNoteSuccessFn(arrParams) {
|
|
33492
|
+
var pageNr = arrParams[0];
|
|
33493
|
+
var measureId = arrParams[1];
|
|
33494
|
+
//var noteId = arrParams[2];
|
|
33495
|
+
|
|
33496
|
+
var measureNode = measuresNodes[pageNr][measureId];
|
|
33497
|
+
measureNode.data.type = addMeasureAnnotationTypePrefix(measureNode.data.type);
|
|
33498
|
+
delete measureNode.data.measure;
|
|
33499
|
+
delete measuresNodes[pageNr][measureId];
|
|
33500
|
+
$('#'+measureId).remove();
|
|
33501
|
+
|
|
33502
|
+
//
|
|
33503
|
+
// TODO - remove measure data from server!!!
|
|
33504
|
+
//
|
|
33505
|
+
|
|
33506
|
+
// load shape as note-shape
|
|
33507
|
+
loadSvgShape(measureNode.data);
|
|
33508
|
+
}
|
|
33509
|
+
|
|
33296
33510
|
function bindDeleteMeasureEventHandler() {
|
|
33297
33511
|
$(document).on('deleteMeasure', function(e, item) {
|
|
33298
|
-
var measureId = item
|
|
33299
|
-
var pageNr = item
|
|
33512
|
+
var measureId = getMeasureIdByItem(item);
|
|
33513
|
+
var pageNr = getMeasurePageByItem(item);
|
|
33300
33514
|
|
|
33301
33515
|
// TODO -> Ajax -> send data to server
|
|
33302
33516
|
// ...
|
|
@@ -33305,6 +33519,14 @@ function bindDeleteMeasureEventHandler() {
|
|
|
33305
33519
|
});
|
|
33306
33520
|
}
|
|
33307
33521
|
|
|
33522
|
+
function getMeasureIdByItem(item) {
|
|
33523
|
+
return item.closest('g').attr('id');
|
|
33524
|
+
}
|
|
33525
|
+
|
|
33526
|
+
function getMeasurePageByItem(item) {
|
|
33527
|
+
return item.closest('.page').attr('data-page-number');
|
|
33528
|
+
}
|
|
33529
|
+
|
|
33308
33530
|
function deleteMeasure(measureId, pageNr) {
|
|
33309
33531
|
delete measuresNodes[pageNr][measureId];
|
|
33310
33532
|
sketchpad[pageNr].getElementById(measureId).remove();
|
|
@@ -33316,6 +33538,8 @@ function setMeasure(pageNr, measureGrpId, measureGrp, posX, posY, width, height,
|
|
|
33316
33538
|
measuresNodes[pageNr] = {};
|
|
33317
33539
|
}
|
|
33318
33540
|
|
|
33541
|
+
var settings = getMeasurePageSettings(pageNr);
|
|
33542
|
+
|
|
33319
33543
|
measuresNodes[pageNr][measureGrpId] = {
|
|
33320
33544
|
data: {
|
|
33321
33545
|
id: measureGrpId,
|
|
@@ -33346,9 +33570,9 @@ function setMeasure(pageNr, measureGrpId, measureGrp, posX, posY, width, height,
|
|
|
33346
33570
|
},
|
|
33347
33571
|
measure: {
|
|
33348
33572
|
pxVal: measurePxVal,
|
|
33349
|
-
pxScale: measurePxScale,
|
|
33350
|
-
unit: measureUnit,
|
|
33351
|
-
precision: measurePrecision
|
|
33573
|
+
pxScale: settings.measurePxScale,
|
|
33574
|
+
unit: settings.measureUnit,
|
|
33575
|
+
precision: settings.measurePrecision
|
|
33352
33576
|
}
|
|
33353
33577
|
},
|
|
33354
33578
|
nodeObj: measureGrp
|
|
@@ -33432,7 +33656,7 @@ function drawShape(x1, y1, x2, y2, pageNr, shape) {
|
|
|
33432
33656
|
|
|
33433
33657
|
$('#svgsketch-'+[pageNr]).focus();
|
|
33434
33658
|
|
|
33435
|
-
initDlgForSvg(drawNodes[nodeId]);
|
|
33659
|
+
initDlgForSvg(drawNodes[nodeId], false, removeSvg, false, drawNodes[nodeId].data);
|
|
33436
33660
|
}
|
|
33437
33661
|
|
|
33438
33662
|
function getArrowPath(x1, y1, x2, y2) {
|
|
@@ -33678,6 +33902,7 @@ function loadSvgShape(svgData) {
|
|
|
33678
33902
|
if(typeof svgData === 'object' && svgData !== null && svgData !== false) {
|
|
33679
33903
|
|
|
33680
33904
|
// setTimeout(function() {
|
|
33905
|
+
var pageNr = svgData.pageNr;
|
|
33681
33906
|
var scale = getPdfCanvasScale();
|
|
33682
33907
|
|
|
33683
33908
|
var node = null;
|
|
@@ -33697,7 +33922,7 @@ function loadSvgShape(svgData) {
|
|
|
33697
33922
|
// }
|
|
33698
33923
|
|
|
33699
33924
|
if(drawNodes[svgData.id]) {
|
|
33700
|
-
sketchpad[
|
|
33925
|
+
sketchpad[pageNr].remove(drawNodes[svgData.id].nodeObj);
|
|
33701
33926
|
}
|
|
33702
33927
|
|
|
33703
33928
|
var x1 = nodeSvgData.position.x*scale;
|
|
@@ -33707,31 +33932,63 @@ function loadSvgShape(svgData) {
|
|
|
33707
33932
|
|
|
33708
33933
|
var direction = ('direction' in svgData) ? svgData.direction : false;
|
|
33709
33934
|
|
|
33935
|
+
var msrGrp;
|
|
33936
|
+
var msrNode;
|
|
33937
|
+
if(svgData.type == 'msr_rect' || svgData.type == 'msr_line') {
|
|
33938
|
+
msrGrp = sketchpad[pageNr].group(svgData.id);
|
|
33939
|
+
settings.id = getMeasureShapeId(svgData.id);
|
|
33940
|
+
|
|
33941
|
+
node = msrGrp;
|
|
33942
|
+
}
|
|
33943
|
+
|
|
33710
33944
|
if (svgData.type == 'rect') {
|
|
33711
|
-
node = sketchpad[
|
|
33945
|
+
node = sketchpad[pageNr].rect(x1, y1, nodeSvgData.width*scale, nodeSvgData.height*scale, settings);
|
|
33712
33946
|
} else if(svgData.type == 'ellipse') {
|
|
33713
33947
|
var rx = nodeSvgData.width*scale / 2;
|
|
33714
33948
|
var ry = nodeSvgData.height*scale / 2;
|
|
33715
|
-
node = sketchpad[
|
|
33949
|
+
node = sketchpad[pageNr].ellipse(x1 + rx, y1 + ry, rx, ry, settings);
|
|
33716
33950
|
} else if(svgData.type == 'polygon') {
|
|
33717
33951
|
var polygonPos = getPolygonPosByPageRotation(x1, y1, x2, y2, pagesRotation);
|
|
33718
|
-
node = sketchpad[
|
|
33952
|
+
node = sketchpad[pageNr].polygon(polygonPos, settings);
|
|
33719
33953
|
} else if(svgData.type == 'cloud') {
|
|
33720
33954
|
var cloudPath = getCloudPath(x1, y1, x2, y2);
|
|
33721
|
-
node = sketchpad[
|
|
33955
|
+
node = sketchpad[pageNr].path(cloudPath, settings);
|
|
33722
33956
|
} else if(svgData.type == 'line') {
|
|
33723
33957
|
var linePos = getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation);
|
|
33724
|
-
node = sketchpad[
|
|
33958
|
+
node = sketchpad[pageNr].line(linePos[0], linePos[1], linePos[2], linePos[3], settings);
|
|
33725
33959
|
} else if(svgData.type == 'arrow') {
|
|
33726
33960
|
var linePos = getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation);
|
|
33727
33961
|
var arrowPath = getArrowPath(linePos[0], linePos[1], linePos[2], linePos[3]);
|
|
33728
|
-
node = sketchpad[
|
|
33729
|
-
}
|
|
33962
|
+
node = sketchpad[pageNr].path(arrowPath, settings);
|
|
33963
|
+
} else if(svgData.type == 'msr_line') {
|
|
33964
|
+
var markerId = getMeasureNoteLineMarkerId(pageNr);
|
|
33965
|
+
settings.markerStart = 'url(#'+markerId+')';
|
|
33966
|
+
settings.markerEnd = 'url(#'+markerId+')';
|
|
33967
|
+
var linePos = getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation);
|
|
33968
|
+
msrNode = sketchpad[pageNr].line(msrGrp, linePos[0], linePos[1], linePos[2], linePos[3], settings);
|
|
33969
|
+
} else if(svgData.type == 'msr_rect') {
|
|
33970
|
+
msrNode = sketchpad[pageNr].rect(msrGrp, x1, y1, nodeSvgData.width*scale, nodeSvgData.height*scale, settings);
|
|
33971
|
+
}
|
|
33730
33972
|
|
|
33731
|
-
|
|
33973
|
+
if(svgData.type == 'msr_line' || svgData.type == 'msr_rect') {
|
|
33974
|
+
var measureTextSettings = getMeasureTextSettings();
|
|
33975
|
+
measureTextSettings.fill = strokeColorVal;
|
|
33976
|
+
measureTextSettings.id = getMeasureTxtId(svgData.id);
|
|
33977
|
+
measureTextSettings.filter = 'url(#txtFilterBg)';
|
|
33978
|
+
var shape = svgData.type.replace('msr_', '');
|
|
33979
|
+
|
|
33980
|
+
var measureTxtData = getMeasureTxtNormalizedSvgData(x1, y1, nodeSvgData.width*scale, nodeSvgData.height*scale,
|
|
33981
|
+
shape, svgData.measureLabel.width, svgData.measureLabel.height);
|
|
33982
|
+
|
|
33983
|
+
//measureTextSettings.fontSize = measureTextSettings.fontSize*getPdfCanvasScale(); // ?
|
|
33984
|
+
var measureText = sketchpad[pageNr].text(msrGrp, measureTxtData.x, measureTxtData.y, '', measureTextSettings);
|
|
33732
33985
|
|
|
33986
|
+
$(measureText).html(nodeSvgData.measureLabel.txt);
|
|
33987
|
+
}
|
|
33988
|
+
|
|
33989
|
+
var direction = ('direction' in svgData) ? svgData.direction : false;
|
|
33733
33990
|
|
|
33734
|
-
setDrawNodes(
|
|
33991
|
+
setDrawNodes(pageNr, svgData.id, node, svgData.position.x, svgData.position.y, svgData.width, svgData.height, svgData.type, direction);
|
|
33735
33992
|
// }, 50);
|
|
33736
33993
|
showNotesLayer();
|
|
33737
33994
|
}
|
|
@@ -33747,6 +34004,8 @@ function loadMeasureShape(measure) {
|
|
|
33747
34004
|
var measureId = measure.data.id;
|
|
33748
34005
|
var measureObj = $('#'+measureId);
|
|
33749
34006
|
|
|
34007
|
+
var isCalibrationItem = isMeasureCalibrationItem(measureId);
|
|
34008
|
+
|
|
33750
34009
|
var pagesRotation = getPdfPagesRotation();
|
|
33751
34010
|
var nodeSvgData = measure.data;
|
|
33752
34011
|
|
|
@@ -33772,32 +34031,50 @@ function loadMeasureShape(measure) {
|
|
|
33772
34031
|
|
|
33773
34032
|
var measureSettings = getOutlineMeasureSettings();
|
|
33774
34033
|
measureSettings.id = getMeasureShapeId(measureId);
|
|
33775
|
-
|
|
33776
|
-
|
|
33777
|
-
|
|
33778
|
-
|
|
34034
|
+
|
|
34035
|
+
if(isCalibrationItem) {
|
|
34036
|
+
measureSettings.stroke = measureCalibrationStrokeColorVal;
|
|
34037
|
+
}
|
|
34038
|
+
|
|
34039
|
+
if(!isCalibrationItem) {
|
|
34040
|
+
var measureTextSettings = getMeasureTextSettings();
|
|
34041
|
+
measureTextSettings.id = getMeasureTxtId(measureId);
|
|
34042
|
+
measureTextSettings.filter = 'url(#txtFilterBg)';
|
|
34043
|
+
}
|
|
33779
34044
|
|
|
33780
34045
|
if (shape == 'rect') {
|
|
33781
34046
|
measureNode = sketchpad[pageNr].rect(measureGrp, x1, y1, nodeSvgData.width*scale, nodeSvgData.height*scale, measureSettings);
|
|
33782
34047
|
} else if (shape == 'line') {
|
|
33783
|
-
|
|
33784
|
-
|
|
34048
|
+
var markerId;
|
|
34049
|
+
if(isCalibrationItem) {
|
|
34050
|
+
markerId = getMeasureCalibrationLineMarkerId(pageNr);
|
|
34051
|
+
} else {
|
|
34052
|
+
markerId = getMeasureLineMarkerId(pageNr);
|
|
34053
|
+
}
|
|
34054
|
+
measureSettings.markerStart = 'url(#'+markerId+')';
|
|
34055
|
+
measureSettings.markerEnd = 'url(#'+markerId+')';
|
|
33785
34056
|
var linePos = getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation);
|
|
33786
34057
|
measureNode = sketchpad[pageNr].line(measureGrp, linePos[0], linePos[1], linePos[2], linePos[3], measureSettings);
|
|
33787
34058
|
}
|
|
33788
|
-
|
|
33789
|
-
|
|
34059
|
+
|
|
34060
|
+
if(!isCalibrationItem) {
|
|
34061
|
+
var measureTxtData = getMeasureTxtNormalizedSvgData(x1, y1, nodeSvgData.width*scale, nodeSvgData.height*scale,
|
|
33790
34062
|
shape, measure.data.measureLabel.width, measure.data.measureLabel.height);
|
|
33791
34063
|
|
|
33792
|
-
|
|
33793
|
-
|
|
34064
|
+
//measureTextSettings.fontSize = measureTextSettings.fontSize*getPdfCanvasScale(); // ?
|
|
34065
|
+
measureText = sketchpad[pageNr].text(measureGrp, measureTxtData.x, measureTxtData.y, '', measureTextSettings);
|
|
33794
34066
|
|
|
33795
|
-
|
|
34067
|
+
$(measureText).html(nodeSvgData.measureLabel.txt);
|
|
34068
|
+
}
|
|
33796
34069
|
|
|
33797
34070
|
measuresNodes[pageNr][measureId].nodeObj = measureGrp;
|
|
33798
34071
|
}
|
|
33799
34072
|
}
|
|
33800
34073
|
|
|
34074
|
+
function isMeasureCalibrationItem(id) {
|
|
34075
|
+
return (id.substring(0, 11) == 'calibration');
|
|
34076
|
+
}
|
|
34077
|
+
|
|
33801
34078
|
function getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation) {
|
|
33802
34079
|
var linePos;
|
|
33803
34080
|
if(pagesRotation == '90') {
|
|
@@ -33970,6 +34247,8 @@ function initBtnDrawAnnotationToolbar() {
|
|
|
33970
34247
|
btnDrawAnnotationToolbar.on('click', function() {
|
|
33971
34248
|
$(this).toggleClass('toggled');
|
|
33972
34249
|
if($(this).hasClass('toggled')) {
|
|
34250
|
+
untoggleBtnsMeasure();
|
|
34251
|
+
hideMeasureToolbar();
|
|
33973
34252
|
showDrawAnnotationToolbar();
|
|
33974
34253
|
} else {
|
|
33975
34254
|
hideDrawAnnotationToolbar();
|
|
@@ -34025,6 +34304,7 @@ function activateDrawAnnotation() {
|
|
|
34025
34304
|
var svgsketchWrap = $('.svgsketch-wrap');
|
|
34026
34305
|
svgsketchWrap.addClass('active');
|
|
34027
34306
|
isSketchpadActive = true;
|
|
34307
|
+
$('#cursorSelectTool').click();
|
|
34028
34308
|
}
|
|
34029
34309
|
|
|
34030
34310
|
function deactivateDrawAnnotation() {
|
|
@@ -34120,7 +34400,7 @@ function bindMeasureToolbarBtnOnclickHandler() {
|
|
|
34120
34400
|
untoggleBtnsDrawNote();
|
|
34121
34401
|
activateMeasuresSketchpad();
|
|
34122
34402
|
} else {
|
|
34123
|
-
$('.svgsketch-wrap').removeClass('active').removeClass('measures');
|
|
34403
|
+
$('.svgsketch-wrap').removeClass('active').removeClass('measures').removeClass('measures-2-point');
|
|
34124
34404
|
$('.measure-toolbar-btn').removeClass('active');
|
|
34125
34405
|
}
|
|
34126
34406
|
});
|
|
@@ -34137,7 +34417,7 @@ function toggleMeasureToolbar() {
|
|
|
34137
34417
|
function untoggleBtnsMeasure() {
|
|
34138
34418
|
$('.measure-toolbar-btn').removeClass('active');
|
|
34139
34419
|
$('#btnMeasure').removeClass('toggled');
|
|
34140
|
-
$('.svgsketch-wrap').removeClass('measures');
|
|
34420
|
+
$('.svgsketch-wrap').removeClass('measures').removeClass('measures-2-point');
|
|
34141
34421
|
isSketchpadMeasureActive = false;
|
|
34142
34422
|
}
|
|
34143
34423
|
|
|
@@ -34161,20 +34441,24 @@ function activateMeasuresSketchpad() {
|
|
|
34161
34441
|
|
|
34162
34442
|
function bindMeasureBtnOnclickHandler(btnId, fnActive) {
|
|
34163
34443
|
$(document).on('click', '#'+btnId, function() {
|
|
34164
|
-
$(this).
|
|
34165
|
-
|
|
34166
|
-
var t_ = $(this);
|
|
34167
|
-
$('.measure-toolbar-btn').not('#'+t_.attr('id')).removeClass('active');
|
|
34168
|
-
|
|
34169
|
-
isSketchpadMeasureActive = true;
|
|
34170
|
-
$('.svgsketch-wrap').addClass('active');
|
|
34171
|
-
if($.isFunction(fnActive)) {
|
|
34172
|
-
fnActive();
|
|
34173
|
-
}
|
|
34444
|
+
if($(this).hasClass('disabled')) {
|
|
34445
|
+
return false;
|
|
34174
34446
|
} else {
|
|
34175
|
-
$(
|
|
34176
|
-
|
|
34177
|
-
|
|
34447
|
+
$(this).toggleClass('active');
|
|
34448
|
+
if($(this).hasClass('active')) {
|
|
34449
|
+
var t_ = $(this);
|
|
34450
|
+
$('.measure-toolbar-btn').not('#'+t_.attr('id')).removeClass('active');
|
|
34451
|
+
|
|
34452
|
+
isSketchpadMeasureActive = true;
|
|
34453
|
+
$('.svgsketch-wrap').addClass('active');
|
|
34454
|
+
if($.isFunction(fnActive)) {
|
|
34455
|
+
fnActive();
|
|
34456
|
+
}
|
|
34457
|
+
} else {
|
|
34458
|
+
$('.svgsketch-wrap').removeClass('active');
|
|
34459
|
+
isSketchpadMeasureActive = false;
|
|
34460
|
+
}
|
|
34461
|
+
}
|
|
34178
34462
|
});
|
|
34179
34463
|
}
|
|
34180
34464
|
|
|
@@ -34266,9 +34550,12 @@ function normalizeRect270dg(rectPos, rectW, rectH, pageH) {
|
|
|
34266
34550
|
|
|
34267
34551
|
function initMeasures() {
|
|
34268
34552
|
bindDeleteMeasureEventHandler();
|
|
34553
|
+
bindAddMeasureNoteEventHandler();
|
|
34269
34554
|
|
|
34270
|
-
// TODO -> load and set measures settings
|
|
34271
|
-
|
|
34555
|
+
// TODO -> load and set measures default settings
|
|
34556
|
+
initMeasuresDefaultSettings();
|
|
34557
|
+
// TODO -> load measures settings per page
|
|
34558
|
+
initMeasuresPageSettings();
|
|
34272
34559
|
// TODO - load and set measures data
|
|
34273
34560
|
initMeasuresData();
|
|
34274
34561
|
|
|
@@ -34277,6 +34564,9 @@ function initMeasures() {
|
|
|
34277
34564
|
|
|
34278
34565
|
if($('#btnMeasure').hasClass('toggled')) {
|
|
34279
34566
|
$('.svgsketch-wrap').addClass('active').addClass('measures');
|
|
34567
|
+
if($('body').hasClass('calibration-2-point')) {
|
|
34568
|
+
$('.svgsketch-wrap').addClass('measures-2-point');
|
|
34569
|
+
}
|
|
34280
34570
|
}
|
|
34281
34571
|
});
|
|
34282
34572
|
|
|
@@ -34288,13 +34578,18 @@ function initMeasuresData() {
|
|
|
34288
34578
|
// measuresNodes = ...;
|
|
34289
34579
|
}
|
|
34290
34580
|
|
|
34291
|
-
// TODO -> load
|
|
34292
|
-
function
|
|
34581
|
+
// TODO -> load default measures settings
|
|
34582
|
+
function initMeasuresDefaultSettings() {
|
|
34293
34583
|
// measurePrecision = ...; // TODO
|
|
34294
34584
|
// measureUnit = ...; // TODO
|
|
34295
34585
|
// measurePxScale = ...; // TODO
|
|
34296
34586
|
}
|
|
34297
34587
|
|
|
34588
|
+
// TODO -> load measures settings
|
|
34589
|
+
function initMeasuresPageSettings() {
|
|
34590
|
+
// measuresPageSettings = {...}};
|
|
34591
|
+
}
|
|
34592
|
+
|
|
34298
34593
|
function initMeasuresByPageNr(pageNr) {
|
|
34299
34594
|
doInitMeasuresByPageNr(pageNr);
|
|
34300
34595
|
}
|
|
@@ -34306,12 +34601,12 @@ function doInitMeasuresByPageNr(pageNr) {
|
|
|
34306
34601
|
});
|
|
34307
34602
|
}
|
|
34308
34603
|
|
|
34309
|
-
function getMeasureValSqByPx(px) {
|
|
34310
|
-
if(
|
|
34604
|
+
function getMeasureValSqByPx(px, measurePageUnit) {
|
|
34605
|
+
if(measurePageUnit == 'mm') {
|
|
34311
34606
|
return getMeasureMmValSqByPx(px);
|
|
34312
|
-
} else if(
|
|
34607
|
+
} else if(measurePageUnit == 'cm') {
|
|
34313
34608
|
return getMeasureCmValSqByPx(px);
|
|
34314
|
-
} else if(
|
|
34609
|
+
} else if(measurePageUnit == 'm') {
|
|
34315
34610
|
return getMeasureMValSqByPx(px);
|
|
34316
34611
|
}
|
|
34317
34612
|
}
|
|
@@ -34336,12 +34631,12 @@ function getMeasureMValSqByPx(pxSq) {
|
|
|
34336
34631
|
return mValSq;
|
|
34337
34632
|
}
|
|
34338
34633
|
|
|
34339
|
-
function getMeasureValByPx(px) {
|
|
34340
|
-
if(
|
|
34634
|
+
function getMeasureValByPx(px, measurePageUnit) {
|
|
34635
|
+
if(measurePageUnit == 'mm') {
|
|
34341
34636
|
return getMeasureMmValByPx(px);
|
|
34342
|
-
} else if(
|
|
34637
|
+
} else if(measurePageUnit == 'cm') {
|
|
34343
34638
|
return getMeasureCmValByPx(px);
|
|
34344
|
-
} else if(
|
|
34639
|
+
} else if(measurePageUnit == 'm') {
|
|
34345
34640
|
return getMeasureMValByPx(px);
|
|
34346
34641
|
}
|
|
34347
34642
|
}
|
|
@@ -34385,26 +34680,138 @@ function getDeviceDpi() {
|
|
|
34385
34680
|
function initDlgMeasures() {
|
|
34386
34681
|
bindBtnMeasureSettingsOnclickHandler();
|
|
34387
34682
|
bindButtonsDlgMeasuresOnclickHandler();
|
|
34683
|
+
bindShowMeasuresCalibrationPageWarningHandler();
|
|
34388
34684
|
}
|
|
34389
34685
|
function bindBtnMeasureSettingsOnclickHandler() {
|
|
34390
34686
|
$('#btnMeasuresSettings').on('click', function() {
|
|
34391
|
-
|
|
34392
|
-
|
|
34687
|
+
if(isDlgMeasureSettingsOpened()) {
|
|
34688
|
+
return false;
|
|
34689
|
+
} else {
|
|
34690
|
+
showDlgMeasureSettings();
|
|
34691
|
+
}
|
|
34393
34692
|
});
|
|
34394
34693
|
}
|
|
34395
34694
|
|
|
34695
|
+
function isDlgMeasureSettingsOpened() {
|
|
34696
|
+
return ($('.measures-dlg-wrap').length && $('.measures-dlg-wrap').is(':visible'));
|
|
34697
|
+
}
|
|
34698
|
+
|
|
34396
34699
|
function showDlgMeasureSettings() {
|
|
34700
|
+
var settings;
|
|
34701
|
+
var pageNr = getCurrentPage();
|
|
34702
|
+
|
|
34703
|
+
disableMeasureDrawBtns();
|
|
34704
|
+
|
|
34705
|
+
if(pageNr in measuresPageSettings) {
|
|
34706
|
+
settings = measuresPageSettings[pageNr];
|
|
34707
|
+
} else {
|
|
34708
|
+
settings = getMeasureDefaultSettings();
|
|
34709
|
+
settings['page'] = pageNr;
|
|
34710
|
+
hideDlgMeasureSettingsStatusbar();
|
|
34711
|
+
}
|
|
34712
|
+
prepareDlgMeasureSettings(settings);
|
|
34713
|
+
|
|
34714
|
+
$('.svgsketch-wrap').removeClass('transparent'); // TODO
|
|
34715
|
+
|
|
34716
|
+
$('body').addClass('measures-dlg-visible');
|
|
34397
34717
|
$('.measures-dlg-wrap').show();
|
|
34398
34718
|
}
|
|
34399
34719
|
|
|
34720
|
+
function disableMeasureDrawBtns() {
|
|
34721
|
+
$('#btnMeasureLine').removeClass('active').addClass('disabled');
|
|
34722
|
+
$('#btnMeasureArea').removeClass('active').addClass('disabled');
|
|
34723
|
+
}
|
|
34724
|
+
|
|
34725
|
+
function enableMeasureDrawBtns() {
|
|
34726
|
+
$('#btnMeasureLine').removeClass('disabled');
|
|
34727
|
+
$('#btnMeasureArea').removeClass('disabled');
|
|
34728
|
+
}
|
|
34729
|
+
|
|
34730
|
+
function prepareDlgMeasureSettings(settings) {
|
|
34731
|
+
setDlgMeasureSettingsType(settings.type);
|
|
34732
|
+
setDlgMeasureSettingsPrecision(settings.measurePrecision);
|
|
34733
|
+
setDlgMeasureSettingsUnits(settings.measureUnit);
|
|
34734
|
+
|
|
34735
|
+
if(isMeasureSettingType2Point(settings.type)) {
|
|
34736
|
+
setMeasuresSettingsType2Point();
|
|
34737
|
+
setDlgMeasureSettings2PointSize(settings.calibrationSize);
|
|
34738
|
+
setDlgMeasureSettings2PointSizePx(settings.calibrationSizePx);
|
|
34739
|
+
} else {
|
|
34740
|
+
setMeasuresSettingsTypeScale();
|
|
34741
|
+
setDlgMeasureSettingsScale(settings.measurePxScale);
|
|
34742
|
+
}
|
|
34743
|
+
|
|
34744
|
+
setDlgMeasureSettingsPageNr(settings.page);
|
|
34745
|
+
setDlgMeasureSettingsStatusbar(settings.user, settings.date);
|
|
34746
|
+
}
|
|
34747
|
+
|
|
34748
|
+
function setDlgMeasureSettingsPageNr(pageNr) {
|
|
34749
|
+
$('#measuresPageNr').val(pageNr);
|
|
34750
|
+
$('#msrDlgTitlePageNr').text(pageNr);
|
|
34751
|
+
}
|
|
34752
|
+
|
|
34753
|
+
function setDlgMeasureSettingsStatusbar(user, date) {
|
|
34754
|
+
if(user && date) {
|
|
34755
|
+
setDlgMeasureSettingsStatusbarUser(user);
|
|
34756
|
+
setDlgMeasureSettingsStatusbarDate(date);
|
|
34757
|
+
showDlgMeasureSettingsStatusbar();
|
|
34758
|
+
}
|
|
34759
|
+
}
|
|
34760
|
+
|
|
34761
|
+
function setDlgMeasureSettingsStatusbarUser(user) {
|
|
34762
|
+
$('.measures-settings-user').text(user);
|
|
34763
|
+
}
|
|
34764
|
+
|
|
34765
|
+
function setDlgMeasureSettingsStatusbarDate(date) {
|
|
34766
|
+
$('.measures-settings-date').text(date);
|
|
34767
|
+
}
|
|
34768
|
+
|
|
34769
|
+
function showDlgMeasureSettingsStatusbar() {
|
|
34770
|
+
$('.measures-dlg-statusbar').addClass('show');
|
|
34771
|
+
}
|
|
34772
|
+
|
|
34773
|
+
function hideDlgMeasureSettingsStatusbar() {
|
|
34774
|
+
$('.measures-dlg-statusbar').removeClass('show');
|
|
34775
|
+
}
|
|
34776
|
+
|
|
34777
|
+
function setDlgMeasureSettings2PointSize(size) {
|
|
34778
|
+
$('#measures2PointSize').val(size);
|
|
34779
|
+
}
|
|
34780
|
+
|
|
34781
|
+
function setDlgMeasureSettings2PointSizePx(sizePx) {
|
|
34782
|
+
$('#measures2PointSizePx').val(sizePx);
|
|
34783
|
+
}
|
|
34784
|
+
|
|
34785
|
+
function setDlgMeasureSettingsScale(scale) {
|
|
34786
|
+
$('#measuresScale').val(scale);
|
|
34787
|
+
}
|
|
34788
|
+
|
|
34789
|
+
function setDlgMeasureSettingsType(type) {
|
|
34790
|
+
$('[name="measuresSettingsType"][value="' + type + '"]').prop('checked', true);
|
|
34791
|
+
}
|
|
34792
|
+
|
|
34793
|
+
function setDlgMeasureSettingsUnits(units) {
|
|
34794
|
+
$('#measuresUnits').val(units);
|
|
34795
|
+
}
|
|
34796
|
+
|
|
34797
|
+
function setDlgMeasureSettingsPrecision(precision) {
|
|
34798
|
+
$('#measuresPrecision').val(precision);
|
|
34799
|
+
}
|
|
34800
|
+
|
|
34400
34801
|
function hideDlgMeasureSettings() {
|
|
34802
|
+
$('body').removeClass('measures-dlg-visible');
|
|
34803
|
+
removeBodyCalibration2PointClass();
|
|
34401
34804
|
$('.measures-dlg-wrap').hide();
|
|
34805
|
+
enableMeasureDrawBtns();
|
|
34402
34806
|
}
|
|
34403
34807
|
|
|
34404
34808
|
function bindButtonsDlgMeasuresOnclickHandler() {
|
|
34405
34809
|
bindDlgMeasuresBtnSave();
|
|
34406
34810
|
bindBtnDlgMeasuresCancel();
|
|
34407
34811
|
bindBtnDlgMeasuresClose();
|
|
34812
|
+
|
|
34813
|
+
bindMeasuresSettingsTypeChange();
|
|
34814
|
+
bindBtnMeasureSettingsDelete();
|
|
34408
34815
|
}
|
|
34409
34816
|
|
|
34410
34817
|
function bindDlgMeasuresBtnSave() {
|
|
@@ -34413,57 +34820,196 @@ function bindDlgMeasuresBtnSave() {
|
|
|
34413
34820
|
});
|
|
34414
34821
|
}
|
|
34415
34822
|
|
|
34823
|
+
function getDlgMeasuresSettingsPageNr() {
|
|
34824
|
+
return parseInt($('#measuresPageNr').val());
|
|
34825
|
+
}
|
|
34416
34826
|
function saveMeasuresSettings() {
|
|
34417
|
-
var
|
|
34827
|
+
var pageNr = getDlgMeasuresSettingsPageNr(); // getCurrentPage();
|
|
34828
|
+
var settingsTypeNew = $('[name="measuresSettingsType"]:checked').val();
|
|
34418
34829
|
var unitsNew = $('#measuresUnits').val();
|
|
34830
|
+
var calibrationSizeNew = isMeasureSettingType2Point(settingsTypeNew) ? $('#measures2PointSize').val() : null;
|
|
34831
|
+
var calibrationSizePxNew = isMeasureSettingType2Point(settingsTypeNew) ? $('#measures2PointSizePx').val() : null;
|
|
34832
|
+
var scaleNew = isMeasureSettingType2Point(settingsTypeNew) ? getMeasureScaleBy2PointSize(calibrationSizeNew, calibrationSizePxNew, unitsNew) : parseInt($('#measuresScale').val());
|
|
34419
34833
|
var precisionNew = parseInt($('#measuresPrecision').val());
|
|
34420
34834
|
|
|
34421
|
-
if(scaleNew != measurePxScale || unitsNew != measureUnit || precisionNew != measurePrecision) {
|
|
34422
|
-
measurePxScale = scaleNew;
|
|
34423
|
-
measureUnit = unitsNew;
|
|
34424
|
-
measurePrecision = precisionNew;
|
|
34425
34835
|
|
|
34836
|
+
|
|
34837
|
+
var isDataValid;
|
|
34838
|
+
if(isMeasureSettingType2Point(settingsTypeNew)) {
|
|
34839
|
+
var validationResult = checkCalibration2PointData(pageNr);
|
|
34840
|
+
isDataValid = validationResult.isCalibrationItemExist && validationResult.isFormDataValid;
|
|
34841
|
+
} else {
|
|
34842
|
+
isDataValid = true;
|
|
34843
|
+
}
|
|
34844
|
+
|
|
34845
|
+
if(isDataValid) {
|
|
34846
|
+
if(!isMeasuresPageSettingsExist(pageNr) || isMeasuresPageSettingsChanged(pageNr, scaleNew, settingsTypeNew, unitsNew, precisionNew, calibrationSizeNew, calibrationSizePxNew)) {
|
|
34847
|
+
setMeasuresPageSettings(pageNr, settingsTypeNew, scaleNew, unitsNew, precisionNew, calibrationSizeNew, calibrationSizePxNew);
|
|
34848
|
+
|
|
34849
|
+
// TODO
|
|
34850
|
+
doSaveMeasuresSettings(pageNr);
|
|
34851
|
+
updateMeasuresData(pageNr);
|
|
34852
|
+
|
|
34853
|
+
if(!isMeasureSettingType2Point(settingsTypeNew)) {
|
|
34854
|
+
removeCalibrationMeasureShape(pageNr);
|
|
34855
|
+
removeCalibrationMeasureShapeData(pageNr);
|
|
34856
|
+
} else {
|
|
34857
|
+
// TODO save calibration shape data
|
|
34858
|
+
doSaveCalibrationShapeData(pageNr);
|
|
34859
|
+
}
|
|
34860
|
+
}
|
|
34861
|
+
hideDlgMeasureSettings();
|
|
34862
|
+
} else {
|
|
34426
34863
|
// TODO
|
|
34427
|
-
|
|
34428
|
-
|
|
34429
|
-
|
|
34864
|
+
|
|
34865
|
+
var msgTxt = getMeasureSettingsValidationMsgTxt(validationResult);
|
|
34866
|
+
showMeasureSettingsValidationMsg(msgTxt);
|
|
34867
|
+
}
|
|
34868
|
+
}
|
|
34869
|
+
|
|
34870
|
+
function getMeasureSettingsValidationMsgTxt(validationResult) {
|
|
34871
|
+
var msg = label_errMsgCalibrationTitle + ' \n';
|
|
34872
|
+
|
|
34873
|
+
if(!validationResult.isClibrationItemExist) {
|
|
34874
|
+
msg += label_errMsgNoCalibrationItem + ' \n';
|
|
34875
|
+
}
|
|
34876
|
+
|
|
34877
|
+
if(!validationResult.isFormDataValid) {
|
|
34878
|
+
msg += label_errMsgCalibrationSizeNotDefined;
|
|
34879
|
+
}
|
|
34880
|
+
|
|
34881
|
+
return msg;
|
|
34882
|
+
}
|
|
34883
|
+
function showMeasureSettingsValidationMsg(msgTxt) {
|
|
34884
|
+
// TOOD -> msg
|
|
34885
|
+
alert(msgTxt);
|
|
34886
|
+
}
|
|
34887
|
+
|
|
34888
|
+
function isMeasuresPageSettingsExist(pageNr) {
|
|
34889
|
+
return pageNr in measuresPageSettings;
|
|
34890
|
+
}
|
|
34891
|
+
|
|
34892
|
+
function isMeasuresPageSettingsChanged(pageNr, scale, type, units, precision, calibrationSize, calibrationSizePx) {
|
|
34893
|
+
if(isMeasuresPageSettingsExist(pageNr)) {
|
|
34894
|
+
if(isMeasuresPageSettingsScaleChanged(pageNr, scale) || isMeasuresPageSettingsTypeChanged(pageNr, type)
|
|
34895
|
+
|| isMeasuresPageSettingsUnitsChanged(pageNr, units) || isMeasuresPageSettingsPrecisionChanged(pageNr, precision)
|
|
34896
|
+
|| isMeasuresPageSettingsCalibrationSizeChanged(pageNr, calibrationSize)
|
|
34897
|
+
|| isMeasuresPageSettingsCalibrationSizePxChanged(pageNr, calibrationSizePx)) {
|
|
34898
|
+
return true;
|
|
34899
|
+
} else {
|
|
34900
|
+
return false;
|
|
34901
|
+
}
|
|
34902
|
+
} else {
|
|
34903
|
+
return true;
|
|
34904
|
+
}
|
|
34905
|
+
}
|
|
34906
|
+
|
|
34907
|
+
function isMeasuresPageSettingsScaleChanged(pageNr, scale) {
|
|
34908
|
+
return measuresPageSettings[pageNr].measurePxScale != scale;
|
|
34909
|
+
}
|
|
34910
|
+
|
|
34911
|
+
function isMeasuresPageSettingsTypeChanged(pageNr, type) {
|
|
34912
|
+
return measuresPageSettings[pageNr].type != type;
|
|
34913
|
+
}
|
|
34914
|
+
|
|
34915
|
+
function isMeasuresPageSettingsUnitsChanged(pageNr, units) {
|
|
34916
|
+
return measuresPageSettings[pageNr].measureUnit != units;
|
|
34917
|
+
}
|
|
34918
|
+
|
|
34919
|
+
function isMeasuresPageSettingsPrecisionChanged(pageNr, precision) {
|
|
34920
|
+
return measuresPageSettings[pageNr].measurePrecision != precision;
|
|
34921
|
+
}
|
|
34922
|
+
|
|
34923
|
+
function isMeasuresPageSettingsCalibrationSizeChanged(pageNr, calibrationSize) {
|
|
34924
|
+
return measuresPageSettings[pageNr].calibrationSize != calibrationSize;
|
|
34925
|
+
}
|
|
34926
|
+
|
|
34927
|
+
function isMeasuresPageSettingsCalibrationSizePxChanged(pageNr, calibrationSizePx) {
|
|
34928
|
+
return measuresPageSettings[pageNr].calibrationSizePx != calibrationSizePx;
|
|
34929
|
+
}
|
|
34930
|
+
|
|
34931
|
+
function setMeasuresPageSettings(pageNr, type, scale, units, precision, calibrationSize, calibrationSizePx) {
|
|
34932
|
+
measuresPageSettings[pageNr] = {
|
|
34933
|
+
page: pageNr,
|
|
34934
|
+
type: type,
|
|
34935
|
+
measurePxScale: scale,
|
|
34936
|
+
measureUnit: units,
|
|
34937
|
+
measurePrecision: precision,
|
|
34938
|
+
calibrationSize: calibrationSize,
|
|
34939
|
+
calibrationSizePx: calibrationSizePx,
|
|
34940
|
+
user: 'Иванов В.С.',// TODO!!!
|
|
34941
|
+
date: '25.03.2023 11:42'// TODO!!!
|
|
34942
|
+
};
|
|
34943
|
+
}
|
|
34944
|
+
|
|
34945
|
+
function doSaveCalibrationShapeData(pageNr) {
|
|
34946
|
+
var calibrationShapeId = getCalibrationShapeId(pageNr);
|
|
34947
|
+
var calibrationShapeData = measuresNodes[pageNr][calibrationShapeId];
|
|
34948
|
+
// TODO save calibration shape data
|
|
34949
|
+
}
|
|
34950
|
+
|
|
34951
|
+
function removeCalibrationMeasureShape(pageNr) {
|
|
34952
|
+
var calibrationMeasure = $('#calibration_' + pageNr);
|
|
34953
|
+
if(calibrationMeasure.length) {
|
|
34954
|
+
calibrationMeasure.remove();
|
|
34955
|
+
}
|
|
34956
|
+
}
|
|
34957
|
+
|
|
34958
|
+
function getCalibrationShapeId(pageNr) {
|
|
34959
|
+
var calibrationShapeId = 'calibration_'+pageNr;
|
|
34960
|
+
return calibrationShapeId;
|
|
34961
|
+
}
|
|
34962
|
+
|
|
34963
|
+
function removeCalibrationMeasureShapeData(pageNr) {
|
|
34964
|
+
var calibrationShapeId = getCalibrationShapeId(pageNr);
|
|
34965
|
+
if(measuresNodes[pageNr] && calibrationShapeId in measuresNodes[pageNr]) {
|
|
34966
|
+
delete measuresNodes[pageNr][calibrationShapeId];
|
|
34967
|
+
// TODO if exist -> remove calibration shape data from server
|
|
34968
|
+
}
|
|
34969
|
+
}
|
|
34970
|
+
|
|
34971
|
+
function isMeasureSettingType2Point(type) {
|
|
34972
|
+
return (type == '2-point');
|
|
34973
|
+
}
|
|
34974
|
+
|
|
34975
|
+
function getMeasureScaleBy2PointSize(size, sizePx, measurePageUnit) {
|
|
34976
|
+
if(sizePx > 0 && size > 0) {
|
|
34977
|
+
return size/getMeasureValByPx(sizePx, measurePageUnit);
|
|
34978
|
+
} else {
|
|
34979
|
+
return 0;
|
|
34430
34980
|
}
|
|
34431
|
-
hideDlgOverlay();
|
|
34432
|
-
hideDlgMeasureSettings();
|
|
34433
34981
|
}
|
|
34434
34982
|
|
|
34435
34983
|
// TODO - save to server
|
|
34436
|
-
function doSaveMeasuresSettings() {
|
|
34437
|
-
//
|
|
34438
|
-
// measureUnit
|
|
34439
|
-
// measurePrecision
|
|
34984
|
+
function doSaveMeasuresSettings(pageNr) {
|
|
34985
|
+
// measuresPageSettings[pageNr]
|
|
34440
34986
|
}
|
|
34441
34987
|
|
|
34442
34988
|
// TODO - update measures data and save to server
|
|
34443
|
-
function updateMeasuresData() {
|
|
34444
|
-
$.each(measuresNodes, function(
|
|
34445
|
-
|
|
34446
|
-
updateMeasure(measuresNodesPageItem);
|
|
34989
|
+
function updateMeasuresData(pageNr) {
|
|
34990
|
+
$.each(measuresNodes[pageNr], function(indexItem, measuresNodesPageItem){
|
|
34991
|
+
if(!isMeasureCalibrationItem(measuresNodesPageItem.data.id)) {
|
|
34992
|
+
updateMeasure(measuresNodesPageItem, pageNr);
|
|
34447
34993
|
// TODO - save to server
|
|
34448
34994
|
// measuresNodesPageItem['data']
|
|
34449
|
-
}
|
|
34995
|
+
}
|
|
34450
34996
|
});
|
|
34451
34997
|
}
|
|
34452
34998
|
|
|
34453
|
-
function updateMeasure(measure) {
|
|
34454
|
-
measure['data']['measure']['pxScale'] = measurePxScale;
|
|
34455
|
-
measure['data']['measure']['unit'] = measureUnit;
|
|
34456
|
-
measure['data']['measure']['precision'] = measurePrecision;
|
|
34999
|
+
function updateMeasure(measure, page) {
|
|
35000
|
+
measure['data']['measure']['pxScale'] = measuresPageSettings[page].measurePxScale;
|
|
35001
|
+
measure['data']['measure']['unit'] = measuresPageSettings[page].measureUnit;
|
|
35002
|
+
measure['data']['measure']['precision'] = measuresPageSettings[page].measurePrecision;
|
|
34457
35003
|
|
|
34458
35004
|
var measureVal;
|
|
34459
35005
|
var measureLabel;
|
|
34460
35006
|
|
|
34461
35007
|
if(measure['data']['type'] == 'line') {
|
|
34462
|
-
measureVal = getMeasureVal(measure['data']['measure']['pxVal']);
|
|
34463
|
-
measureLabel = getMeasureLineLabel(measureVal);
|
|
35008
|
+
measureVal = getMeasureVal(measure['data']['measure']['pxVal'], measure['data']['measure']['pxScale'], measure['data']['measure']['precision'], measure['data']['measure']['unit']);
|
|
35009
|
+
measureLabel = getMeasureLineLabel(measureVal, measure['data']['measure']['unit']);
|
|
34464
35010
|
} else if(measure['data']['type'] == 'rect') {
|
|
34465
|
-
measureVal = getMeasureValSq(measure['data']['measure']['pxVal']);
|
|
34466
|
-
measureLabel = getMeasureAreaLabel(measureVal);
|
|
35011
|
+
measureVal = getMeasureValSq(measure['data']['measure']['pxVal'], measure['data']['measure']['pxScale'], measure['data']['measure']['precision'], measure['data']['measure']['unit']);
|
|
35012
|
+
measureLabel = getMeasureAreaLabel(measureVal, measure['data']['measure']['unit']);
|
|
34467
35013
|
}
|
|
34468
35014
|
|
|
34469
35015
|
measure['data']['measureLabel']['txt'] = measureLabel;
|
|
@@ -34481,23 +35027,279 @@ function updateMeasure(measure) {
|
|
|
34481
35027
|
|
|
34482
35028
|
function bindBtnDlgMeasuresCancel() {
|
|
34483
35029
|
$('#btnMeasuresSettingsCancel').click(function() {
|
|
34484
|
-
|
|
34485
|
-
hideDlgMeasureSettings();
|
|
35030
|
+
closeDlgMeasuresHandler();
|
|
34486
35031
|
});
|
|
34487
35032
|
}
|
|
34488
35033
|
|
|
34489
35034
|
function bindBtnDlgMeasuresClose() {
|
|
34490
35035
|
$('.measures-dlg-header .close').click(function() {
|
|
34491
|
-
|
|
34492
|
-
hideDlgMeasureSettings();
|
|
35036
|
+
closeDlgMeasuresHandler();
|
|
34493
35037
|
});
|
|
34494
35038
|
}
|
|
34495
35039
|
|
|
35040
|
+
function closeDlgMeasuresHandler() {
|
|
35041
|
+
hideMeasuresCalibrationPageWarning();
|
|
35042
|
+
removeMeasuresCalibrationHint();
|
|
35043
|
+
|
|
35044
|
+
var pageNr = getDlgMeasuresSettingsPageNr(); // getCurrentPage();
|
|
35045
|
+
var calibrationShapeId = getCalibrationShapeId(pageNr);
|
|
35046
|
+
|
|
35047
|
+
if(!isMeasuresPageSettingsExist(pageNr) || (isMeasuresPageSettingsExist(pageNr) && !isMeasureSettingType2Point(measuresPageSettings[pageNr].type))) {
|
|
35048
|
+
removeCalibrationMeasureShape(pageNr);
|
|
35049
|
+
if(measuresNodes[pageNr] && calibrationShapeId in measuresNodes[pageNr]) {
|
|
35050
|
+
delete measuresNodes[pageNr][calibrationShapeId];
|
|
35051
|
+
}
|
|
35052
|
+
}
|
|
35053
|
+
|
|
35054
|
+
if(isMeasuresPageSettingsExist(pageNr) && isMeasureSettingType2Point(measuresPageSettings[pageNr].type) && isCalibrationLineChanged) {
|
|
35055
|
+
var calibrationShape = $('#'+calibrationShapeId);
|
|
35056
|
+
if(calibrationShape.length) {
|
|
35057
|
+
calibrationShape.remove();
|
|
35058
|
+
}
|
|
35059
|
+
loadMeasureShape(calibrationLineChangedDataOrg);
|
|
35060
|
+
measuresNodes[pageNr][calibrationShapeId] = calibrationLineChangedDataOrg;
|
|
35061
|
+
isCalibrationLineChanged = false;
|
|
35062
|
+
calibrationLineChangedDataOrg = false;
|
|
35063
|
+
}
|
|
35064
|
+
|
|
35065
|
+
hideDlgMeasureSettings();
|
|
35066
|
+
}
|
|
35067
|
+
|
|
34496
35068
|
function bindToggleMeasures() {
|
|
34497
35069
|
$(document).on('click', '#btnToggleMeasures', function() {
|
|
34498
35070
|
$('#viewer').toggleClass('hide-measures');
|
|
34499
35071
|
$(this).toggleClass('show');
|
|
34500
35072
|
});
|
|
35073
|
+
}
|
|
35074
|
+
|
|
35075
|
+
function bindMeasuresSettingsTypeChange() {
|
|
35076
|
+
$('[name="measuresSettingsType"]').on('change', function() {
|
|
35077
|
+
measuresSettingsTypeChangeHandler();
|
|
35078
|
+
});
|
|
35079
|
+
}
|
|
35080
|
+
|
|
35081
|
+
function measuresSettingsTypeChangeHandler() {
|
|
35082
|
+
if($('#measuresSettingsTypeScale').is(':checked')) {
|
|
35083
|
+
setMeasuresSettingsTypeScale();
|
|
35084
|
+
} else {
|
|
35085
|
+
setMeasuresSettingsType2Point();
|
|
35086
|
+
}
|
|
35087
|
+
}
|
|
35088
|
+
|
|
35089
|
+
function addBodyCalibration2PointClass() {
|
|
35090
|
+
$('body').addClass('calibration-2-point');
|
|
35091
|
+
}
|
|
35092
|
+
|
|
35093
|
+
function removeBodyCalibration2PointClass() {
|
|
35094
|
+
$('body').removeClass('calibration-2-point');
|
|
35095
|
+
}
|
|
35096
|
+
|
|
35097
|
+
function enableBtnMeasuresSettingsSave() {
|
|
35098
|
+
$('#btnMeasuresSettingsSave').prop('disabled', false);
|
|
35099
|
+
}
|
|
35100
|
+
|
|
35101
|
+
function disableBtnMeasuresSettingsSave() {
|
|
35102
|
+
$('#btnMeasuresSettingsSave').prop('disabled', 'disabled');
|
|
35103
|
+
}
|
|
35104
|
+
|
|
35105
|
+
function hideBtnMeasureSettingsDelete() {
|
|
35106
|
+
$('#btnMeasuresSettingsDelete').removeClass('show');
|
|
35107
|
+
}
|
|
35108
|
+
|
|
35109
|
+
function showBtnMeasureSettingsDelete() {
|
|
35110
|
+
$('#btnMeasuresSettingsDelete').addClass('show');
|
|
35111
|
+
}
|
|
35112
|
+
|
|
35113
|
+
function disableBtnMeasureSettingsDelete() {
|
|
35114
|
+
$('#btnMeasuresSettingsDelete').prop('disabled', 'disabled');
|
|
35115
|
+
}
|
|
35116
|
+
|
|
35117
|
+
function enableBtnMeasureSettingsDelete() {
|
|
35118
|
+
$('#btnMeasuresSettingsDelete').prop('disabled', false);
|
|
35119
|
+
}
|
|
35120
|
+
|
|
35121
|
+
function bindBtnMeasureSettingsDelete() {
|
|
35122
|
+
$('#btnMeasuresSettingsDelete').on('click', function() {
|
|
35123
|
+
var pageNr = getDlgMeasuresSettingsPageNr();
|
|
35124
|
+
deleteMeasuresCalibrationLine(pageNr);
|
|
35125
|
+
});
|
|
35126
|
+
}
|
|
35127
|
+
|
|
35128
|
+
function deleteMeasuresCalibrationLine(pageNr) {
|
|
35129
|
+
var calibrationShapeId = getCalibrationShapeId(pageNr);
|
|
35130
|
+
isCalibrationLineChanged = true;
|
|
35131
|
+
calibrationLineChangedDataOrg = measuresNodes[pageNr][getCalibrationShapeId(pageNr)];
|
|
35132
|
+
delete measuresNodes[pageNr][getCalibrationShapeId(pageNr)];
|
|
35133
|
+
$('#'+calibrationShapeId).remove();
|
|
35134
|
+
disableBtnMeasureSettingsDelete();
|
|
35135
|
+
createMeasuresCalibrationHint();
|
|
35136
|
+
activateMeasuresCalibration();
|
|
35137
|
+
}
|
|
35138
|
+
|
|
35139
|
+
function setMeasuresSettingsTypeScale() {
|
|
35140
|
+
removeMeasuresCalibrationHint();
|
|
35141
|
+
removeBodyCalibration2PointClass();
|
|
35142
|
+
enableBtnMeasuresSettingsSave();
|
|
35143
|
+
hideBtnMeasureSettingsDelete();
|
|
35144
|
+
$('.measures-settings-controls').removeClass('type-2-point').addClass('type-scale');
|
|
35145
|
+
}
|
|
35146
|
+
|
|
35147
|
+
function setMeasuresSettingsType2Point() {
|
|
35148
|
+
addBodyCalibration2PointClass();
|
|
35149
|
+
clearCalibration2PointSizeInput();
|
|
35150
|
+
|
|
35151
|
+
enableBtnMeasuresSettingsSave();
|
|
35152
|
+
|
|
35153
|
+
var pageNr = getDlgMeasuresSettingsPageNr(); // getCurrentPage();
|
|
35154
|
+
var currentPage = getCurrentPage();
|
|
35155
|
+
|
|
35156
|
+
if(currentPage != pageNr) {
|
|
35157
|
+
showMeasuresCalibrationPageWarning();
|
|
35158
|
+
}
|
|
35159
|
+
|
|
35160
|
+
if(pageNr in measuresPageSettings) {
|
|
35161
|
+
//enableBtnMeasuresSettingsSave();
|
|
35162
|
+
showBtnMeasureSettingsDelete();
|
|
35163
|
+
} else {
|
|
35164
|
+
//disableBtnMeasuresSettingsSave();
|
|
35165
|
+
hideBtnMeasureSettingsDelete();
|
|
35166
|
+
}
|
|
35167
|
+
|
|
35168
|
+
showBtnMeasureSettingsDelete();
|
|
35169
|
+
|
|
35170
|
+
if(isCalibration2PointLineExist(pageNr)) {
|
|
35171
|
+
enableBtnMeasureSettingsDelete();
|
|
35172
|
+
} else {
|
|
35173
|
+
createMeasuresCalibrationHint();
|
|
35174
|
+
disableBtnMeasureSettingsDelete();
|
|
35175
|
+
}
|
|
35176
|
+
|
|
35177
|
+
activateMeasuresCalibration();
|
|
35178
|
+
|
|
35179
|
+
$('.measures-settings-controls').removeClass('type-scale').addClass('type-2-point');
|
|
35180
|
+
}
|
|
35181
|
+
|
|
35182
|
+
function checkCalibration2PointData(pageNr) {
|
|
35183
|
+
var checkResult = {
|
|
35184
|
+
isFormDataValid: isCalibration2PointFormDataValid(),
|
|
35185
|
+
isCalibrationItemExist: isCalibration2PointLineExist(pageNr)
|
|
35186
|
+
}
|
|
35187
|
+
return checkResult;
|
|
35188
|
+
}
|
|
35189
|
+
|
|
35190
|
+
function isCalibration2PointLineExist(pageNr) {
|
|
35191
|
+
var shapeId = getCalibrationShapeId(pageNr);
|
|
35192
|
+
|
|
35193
|
+
return $('#'+shapeId).length && $('#'+shapeId).is(':visible');
|
|
35194
|
+
}
|
|
35195
|
+
|
|
35196
|
+
function isCalibration2PointFormDataValid() {
|
|
35197
|
+
if($('#measures2PointSize').val() > 0) {
|
|
35198
|
+
return true;
|
|
35199
|
+
} else {
|
|
35200
|
+
return false;
|
|
35201
|
+
}
|
|
35202
|
+
}
|
|
35203
|
+
|
|
35204
|
+
function clearCalibration2PointSizeInput() {
|
|
35205
|
+
$('#measures2PointSize').val('');
|
|
35206
|
+
}
|
|
35207
|
+
|
|
35208
|
+
function createMeasuresCalibrationHint() {
|
|
35209
|
+
var hintElm = $('<div id="measures2PointHint" />');
|
|
35210
|
+
hintElm.text(label_measures2PointHint);
|
|
35211
|
+
$('body').append(hintElm);
|
|
35212
|
+
}
|
|
35213
|
+
|
|
35214
|
+
function removeMeasuresCalibrationHint() {
|
|
35215
|
+
var hintElm = $('#measures2PointHint');
|
|
35216
|
+
if(hintElm.length) {
|
|
35217
|
+
$('#measures2PointHint').remove();
|
|
35218
|
+
}
|
|
35219
|
+
}
|
|
35220
|
+
|
|
35221
|
+
function activateMeasuresCalibration() {
|
|
35222
|
+
$('.svgsketch-wrap').addClass('active').addClass('measures').addClass('measures-2-point');
|
|
35223
|
+
$('#cursorSelectTool').click();
|
|
35224
|
+
isSketchpadMeasureActive = true;
|
|
35225
|
+
}
|
|
35226
|
+
|
|
35227
|
+
function deactivateMeasuresCalibration() {
|
|
35228
|
+
$('.svgsketch-wrap').removeClass('active').removeClass('measures').removeClass('measures-2-point');
|
|
35229
|
+
isSketchpadMeasureActive = false;
|
|
35230
|
+
}
|
|
35231
|
+
|
|
35232
|
+
function isMeasuresCalibrationActive() {
|
|
35233
|
+
return $('.svgsketch-wrap').hasClass('measures-2-point');
|
|
35234
|
+
}
|
|
35235
|
+
|
|
35236
|
+
function bindShowMeasuresCalibrationPageWarningHandler() {
|
|
35237
|
+
$(document).on('showMeasuresCalibrationPageWarning', function() {
|
|
35238
|
+
showMeasuresCalibrationPageWarning();
|
|
35239
|
+
});
|
|
35240
|
+
}
|
|
35241
|
+
|
|
35242
|
+
function showMeasuresCalibrationPageWarning() {
|
|
35243
|
+
var currentPage = parseInt(getCurrentPage());
|
|
35244
|
+
var calibrationPage = parseInt(getDlgMeasuresSettingsPageNr());
|
|
35245
|
+
|
|
35246
|
+
if(currentPage != calibrationPage) {
|
|
35247
|
+
showMeasuresCalibrationPageWarning();
|
|
35248
|
+
} else {
|
|
35249
|
+
hideMeasuresCalibrationPageWarning();
|
|
35250
|
+
}
|
|
35251
|
+
}
|
|
35252
|
+
|
|
35253
|
+
function hideMeasuresCalibrationPageWarning() {
|
|
35254
|
+
var warning = $('#calibrationPageWarning');
|
|
35255
|
+
if(warning.length) {
|
|
35256
|
+
warning.remove();
|
|
35257
|
+
}
|
|
35258
|
+
var overlay = $('#calibrationPageWarningOverlay');
|
|
35259
|
+
if(overlay.length) {
|
|
35260
|
+
overlay.remove();
|
|
35261
|
+
}
|
|
35262
|
+
}
|
|
35263
|
+
|
|
35264
|
+
function showMeasuresCalibrationPageWarning() {
|
|
35265
|
+
if($('#calibrationPageWarning').length) {
|
|
35266
|
+
return false;
|
|
35267
|
+
} else {
|
|
35268
|
+
createMeasuresCalibrationPageWarning();
|
|
35269
|
+
}
|
|
35270
|
+
}
|
|
35271
|
+
|
|
35272
|
+
function createMeasuresCalibrationPageWarning() {
|
|
35273
|
+
var warning = $('<div class="warning-wrap" id="calibrationPageWarning"/>');
|
|
35274
|
+
|
|
35275
|
+
var title = $('<div class="warning-title"/>');
|
|
35276
|
+
title.text(label_warningCalibrationPage_title);
|
|
35277
|
+
|
|
35278
|
+
var body = $('<div class="warning-body"/>');
|
|
35279
|
+
body.html(label_warningCalibrationPage_body);
|
|
35280
|
+
|
|
35281
|
+
var footer = $('<div class="warning-footer"/>');
|
|
35282
|
+
var btnCloseSettings = $('<button id="btnCalibrationPageWarningClose" class="uk-button uk-button-default uk-button-full-width" />');
|
|
35283
|
+
btnCloseSettings.text(label_warningCalibrationPage_btnClose);
|
|
35284
|
+
btnCloseSettings.off('click');
|
|
35285
|
+
btnCloseSettings.on('click', function() {
|
|
35286
|
+
closeDlgMeasuresHandler();
|
|
35287
|
+
});
|
|
35288
|
+
var btnGoToCalibrationPage = $('<button id="btnCalibrationPageWarning" class="uk-button uk-button-primary uk-button-full-width" />');
|
|
35289
|
+
btnGoToCalibrationPage.text(label_warningCalibrationPage_btnGoToPage);
|
|
35290
|
+
btnGoToCalibrationPage.off('click');
|
|
35291
|
+
btnGoToCalibrationPage.on('click', function() {
|
|
35292
|
+
PDFViewerApplication.page = getDlgMeasuresSettingsPageNr();
|
|
35293
|
+
closeDlgMeasuresHandler();
|
|
35294
|
+
});
|
|
35295
|
+
footer.append(btnGoToCalibrationPage);
|
|
35296
|
+
footer.append(btnCloseSettings);
|
|
35297
|
+
|
|
35298
|
+
warning.append(title).append(body).append(footer);
|
|
35299
|
+
|
|
35300
|
+
var warningOverlay = $('<div class="warning-overlay" id="calibrationPageWarningOverlay"/>');
|
|
35301
|
+
|
|
35302
|
+
$('#outerContainer').append(warningOverlay).append(warning);
|
|
34501
35303
|
}
|
|
34502
35304
|
var needZoomEventsTimeout = 250; // ms
|
|
34503
35305
|
var scrollStoppedEventsTimeout = 200; // ms
|
|
@@ -34557,10 +35359,14 @@ function initZoomPageEvent() {
|
|
|
34557
35359
|
// console.log('pagechange', e);
|
|
34558
35360
|
// });
|
|
34559
35361
|
PDFViewerApplication.eventBus.on('pagechanging', function(e) {
|
|
34560
|
-
//
|
|
35362
|
+
//console.log('pagechanging', e);
|
|
34561
35363
|
$('.pdfViewer .page').removeClass('current');
|
|
34562
35364
|
$('.pdfViewer .page').eq(getCurrentPage()-1).addClass('current');
|
|
34563
35365
|
$(document).trigger('needZoom');
|
|
35366
|
+
|
|
35367
|
+
if($('body').hasClass('measures-dlg-visible') && $('body').hasClass('calibration-2-point')) {
|
|
35368
|
+
$(document).trigger('showMeasuresCalibrationPageWarning');
|
|
35369
|
+
}
|
|
34564
35370
|
});
|
|
34565
35371
|
PDFViewerApplication.eventBus.on('pagesinit', function(e) {
|
|
34566
35372
|
// console.log('pagesinit', e);
|
|
@@ -36421,6 +37227,9 @@ lbl_comparisonWarning = context.createLocale('app.viewer.pdf.compare.warning');
|
|
|
36421
37227
|
|
|
36422
37228
|
var label_deleteMeasure = context.createLocale('app.viewer.pdf.contextMenu.deleteMeasure');
|
|
36423
37229
|
var label_cancel = context.createLocale('app.viewer.pdf.contextMenu.cancel');
|
|
37230
|
+
var label_createAnnotation = context.createLocale('app.viewer.pdf.contextMenu.addNote');
|
|
37231
|
+
var label_measures2PointHint = context.createLocale('app.viewer.pdf.measures.twoPointHint');
|
|
37232
|
+
|
|
36424
37233
|
function initContextMenuCanvas() {
|
|
36425
37234
|
var pages = '#viewer .page';
|
|
36426
37235
|
$.contextMenu({
|
|
@@ -36908,7 +37717,7 @@ function createNote(pageNr, index, issue) {
|
|
|
36908
37717
|
|
|
36909
37718
|
if (scalledOptions.svg && (scalledOptions.svg.type == 'ellipse' || scalledOptions.svg.type == 'polygon')) {
|
|
36910
37719
|
scalledOptions.position.y = scalledOptions.position.y + scalledOptions.svg.height / 2;
|
|
36911
|
-
} else if (scalledOptions.svg && (scalledOptions.svg.type == 'line' || scalledOptions.svg.type == 'arrow')) {
|
|
37720
|
+
} else if (scalledOptions.svg && (scalledOptions.svg.type == 'line' || scalledOptions.svg.type == 'arrow' || scalledOptions.svg.type == 'msr_line')) {
|
|
36912
37721
|
if (scalledOptions.svg.direction == 'bltr') {
|
|
36913
37722
|
scalledOptions.position.y = scalledOptions.position.y + scalledOptions.svg.height;
|
|
36914
37723
|
} else if (scalledOptions.svg.direction == 'trbl') {
|
|
@@ -37011,6 +37820,7 @@ function getShapeSettings(nodeId, color) {
|
|
|
37011
37820
|
function loadSvgShape(svgData) {
|
|
37012
37821
|
if (typeof svgData === 'object' && svgData !== null && svgData !== false) {
|
|
37013
37822
|
|
|
37823
|
+
var pageNr = svgData.pageNr;
|
|
37014
37824
|
var scale = getPdfCanvasScale();
|
|
37015
37825
|
|
|
37016
37826
|
var node = null;
|
|
@@ -37024,7 +37834,7 @@ function loadSvgShape(svgData) {
|
|
|
37024
37834
|
}
|
|
37025
37835
|
|
|
37026
37836
|
if (drawNodes[svgData.id]) {
|
|
37027
|
-
sketchpad[
|
|
37837
|
+
sketchpad[pageNr].remove(drawNodes[svgData.id].nodeObj);
|
|
37028
37838
|
}
|
|
37029
37839
|
|
|
37030
37840
|
var x1 = nodeSvgData.position.x * scale;
|
|
@@ -37034,30 +37844,62 @@ function loadSvgShape(svgData) {
|
|
|
37034
37844
|
|
|
37035
37845
|
var direction = ('direction' in svgData) ? svgData.direction : false;
|
|
37036
37846
|
|
|
37847
|
+
var msrGrp;
|
|
37848
|
+
var msrNode;
|
|
37849
|
+
if (svgData.type == 'msr_rect' || svgData.type == 'msr_line') {
|
|
37850
|
+
msrGrp = sketchpad[pageNr].group(svgData.id);
|
|
37851
|
+
settings.id = getMeasureShapeId(svgData.id);
|
|
37852
|
+
|
|
37853
|
+
node = msrGrp;
|
|
37854
|
+
}
|
|
37855
|
+
|
|
37037
37856
|
if (svgData.type == 'rect') {
|
|
37038
|
-
node = sketchpad[
|
|
37857
|
+
node = sketchpad[pageNr].rect(x1, y1, nodeSvgData.width * scale, nodeSvgData.height * scale, settings);
|
|
37039
37858
|
} else if (svgData.type == 'ellipse') {
|
|
37040
37859
|
var rx = nodeSvgData.width * scale / 2;
|
|
37041
37860
|
var ry = nodeSvgData.height * scale / 2;
|
|
37042
|
-
node = sketchpad[
|
|
37861
|
+
node = sketchpad[pageNr].ellipse(x1 + rx, y1 + ry, rx, ry, settings);
|
|
37043
37862
|
} else if (svgData.type == 'polygon') {
|
|
37044
37863
|
var polygonPos = getPolygonPosByPageRotation(x1, y1, x2, y2, pagesRotation);
|
|
37045
|
-
node = sketchpad[
|
|
37864
|
+
node = sketchpad[pageNr].polygon(polygonPos, settings);
|
|
37046
37865
|
} else if (svgData.type == 'cloud') {
|
|
37047
37866
|
var cloudPath = getCloudPath(x1, y1, x2, y2);
|
|
37048
|
-
node = sketchpad[
|
|
37867
|
+
node = sketchpad[pageNr].path(cloudPath, settings);
|
|
37049
37868
|
} else if (svgData.type == 'line') {
|
|
37050
37869
|
var linePos = getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation);
|
|
37051
37870
|
node = sketchpad[nodeSvgData.pageNr].line(linePos[0], linePos[1], linePos[2], linePos[3], settings);
|
|
37052
37871
|
} else if (svgData.type == 'arrow') {
|
|
37053
37872
|
var linePos = getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation);
|
|
37054
37873
|
var arrowPath = getArrowPath(linePos[0], linePos[1], linePos[2], linePos[3]);
|
|
37055
|
-
node = sketchpad[
|
|
37874
|
+
node = sketchpad[pageNr].path(arrowPath, settings);
|
|
37875
|
+
} else if (svgData.type == 'msr_line') {
|
|
37876
|
+
var markerId = getMeasureNoteLineMarkerId(pageNr);
|
|
37877
|
+
settings.markerStart = 'url(#' + markerId + ')';
|
|
37878
|
+
settings.markerEnd = 'url(#' + markerId + ')';
|
|
37879
|
+
var linePos = getLinePosByPagesRotation(x1, y1, x2, y2, direction, pagesRotation);
|
|
37880
|
+
msrNode = sketchpad[pageNr].line(msrGrp, linePos[0], linePos[1], linePos[2], linePos[3], settings);
|
|
37881
|
+
} else if (svgData.type == 'msr_rect') {
|
|
37882
|
+
msrNode = sketchpad[pageNr].rect(msrGrp, x1, y1, nodeSvgData.width * scale, nodeSvgData.height * scale, settings);
|
|
37883
|
+
}
|
|
37884
|
+
|
|
37885
|
+
if (svgData.type == 'msr_line' || svgData.type == 'msr_rect') {
|
|
37886
|
+
var measureTextSettings = getMeasureTextSettings();
|
|
37887
|
+
measureTextSettings.fill = svgData.stroke.color || strokeColorVal;
|
|
37888
|
+
measureTextSettings.id = getMeasureTxtId(svgData.id);
|
|
37889
|
+
measureTextSettings.filter = 'url(#txtFilterBg)';
|
|
37890
|
+
var shape = svgData.type.replace('msr_', '');
|
|
37891
|
+
|
|
37892
|
+
var measureTxtData = getMeasureTxtNormalizedSvgData(x1, y1, nodeSvgData.width * scale, nodeSvgData.height * scale,
|
|
37893
|
+
shape, svgData.measureLabel.width, svgData.measureLabel.height);
|
|
37894
|
+
|
|
37895
|
+
var measureText = sketchpad[pageNr].text(msrGrp, measureTxtData.x, measureTxtData.y, '', measureTextSettings);
|
|
37896
|
+
|
|
37897
|
+
$(measureText).html(nodeSvgData.measureLabel.txt);
|
|
37056
37898
|
}
|
|
37057
37899
|
|
|
37058
37900
|
var direction = ('direction' in svgData) ? svgData.direction : false;
|
|
37059
37901
|
|
|
37060
|
-
setDrawNodes(
|
|
37902
|
+
setDrawNodes(pageNr, svgData.id, node, svgData.position.x, svgData.position.y, svgData.width, svgData.height, svgData.type, direction, svgData.stroke.color);
|
|
37061
37903
|
}
|
|
37062
37904
|
}
|
|
37063
37905
|
|
|
@@ -37125,6 +37967,8 @@ function initBtnDrawAnnotation() {
|
|
|
37125
37967
|
if (isHandToolActive) {
|
|
37126
37968
|
$('#cursorSelectTool').click();
|
|
37127
37969
|
}
|
|
37970
|
+
untoggleBtnsMeasure();
|
|
37971
|
+
hideMeasureToolbar();
|
|
37128
37972
|
activateDrawAnnotation();
|
|
37129
37973
|
} else {
|
|
37130
37974
|
if (!isHandToolActive) {
|
|
@@ -37232,40 +38076,129 @@ function drawShape(x1, y1, x2, y2, pageNr, shape) {
|
|
|
37232
38076
|
|
|
37233
38077
|
$('#svgsketch-' + [pageNr]).focus();
|
|
37234
38078
|
|
|
37235
|
-
initDlgForSvg(drawNodes[nodeId]);
|
|
38079
|
+
initDlgForSvg(drawNodes[nodeId], false, removeSvg, false, drawNodes[nodeId].data);
|
|
37236
38080
|
|
|
37237
38081
|
deactivateDrawAnnotation();
|
|
37238
38082
|
}
|
|
37239
38083
|
|
|
37240
38084
|
function saveMeasuresSettings() {
|
|
37241
|
-
var
|
|
38085
|
+
var pageNr = getDlgMeasuresSettingsPageNr(); // getCurrentPage();
|
|
38086
|
+
var settingsTypeNew = $('[name="measuresSettingsType"]:checked').val();
|
|
37242
38087
|
var unitsNew = $('#measuresUnits').data('value');
|
|
38088
|
+
var calibrationSizeNew = isMeasureSettingType2Point(settingsTypeNew) ? $('#measures2PointSize').val() : null;
|
|
38089
|
+
var calibrationSizePxNew = isMeasureSettingType2Point(settingsTypeNew) ? $('#measures2PointSizePx').val() : null;
|
|
38090
|
+
var scaleNew = isMeasureSettingType2Point(settingsTypeNew) ? getMeasureScaleBy2PointSize(calibrationSizeNew, calibrationSizePxNew, unitsNew) : parseInt($('#measuresScale').data('value'));
|
|
37243
38091
|
var precisionNew = parseInt($('#measuresPrecision').data('value'));
|
|
37244
38092
|
|
|
37245
|
-
|
|
37246
|
-
if (
|
|
37247
|
-
|
|
37248
|
-
|
|
38093
|
+
var isDataValid;
|
|
38094
|
+
if (isMeasureSettingType2Point(settingsTypeNew)) {
|
|
38095
|
+
var validationResult = checkCalibration2PointData(pageNr);
|
|
38096
|
+
isDataValid = validationResult.isCalibrationItemExist && validationResult.isFormDataValid;
|
|
38097
|
+
} else {
|
|
38098
|
+
isDataValid = true;
|
|
37249
38099
|
}
|
|
37250
38100
|
|
|
37251
|
-
if (
|
|
37252
|
-
|
|
37253
|
-
|
|
38101
|
+
if (isDataValid) {
|
|
38102
|
+
if (!isMeasuresPageSettingsExist(pageNr) || isMeasuresPageSettingsChanged(pageNr, scaleNew, settingsTypeNew, unitsNew, precisionNew, calibrationSizeNew, calibrationSizePxNew)) {
|
|
38103
|
+
setMeasuresPageSettings(pageNr, settingsTypeNew, scaleNew, unitsNew, precisionNew, calibrationSizeNew, calibrationSizePxNew);
|
|
38104
|
+
|
|
38105
|
+
// TODO
|
|
38106
|
+
doSaveMeasuresSettings(pageNr);
|
|
38107
|
+
updateMeasuresData(pageNr);
|
|
38108
|
+
|
|
38109
|
+
if (!isMeasureSettingType2Point(settingsTypeNew)) {
|
|
38110
|
+
removeCalibrationMeasureShape(pageNr);
|
|
38111
|
+
removeCalibrationMeasureShapeData(pageNr);
|
|
38112
|
+
} else {
|
|
38113
|
+
// TODO save calibration shape data
|
|
38114
|
+
doSaveCalibrationShapeData(pageNr);
|
|
38115
|
+
}
|
|
38116
|
+
}
|
|
38117
|
+
hideDlgMeasureSettings();
|
|
38118
|
+
} else {
|
|
38119
|
+
// TODO
|
|
38120
|
+
|
|
38121
|
+
var msgTxt = getMeasureSettingsValidationMsgTxt(validationResult);
|
|
38122
|
+
showMeasureSettingsValidationMsg(msgTxt);
|
|
37254
38123
|
}
|
|
38124
|
+
}
|
|
38125
|
+
|
|
38126
|
+
function getMeasureNoteLineMarkerSettings(color) {
|
|
38127
|
+
var settings = {
|
|
38128
|
+
fill: fillVal,
|
|
38129
|
+
stroke: color || strokeColorVal
|
|
38130
|
+
};
|
|
38131
|
+
|
|
38132
|
+
return settings;
|
|
38133
|
+
}
|
|
37255
38134
|
|
|
37256
|
-
|
|
37257
|
-
|
|
37258
|
-
|
|
38135
|
+
function initSketchpadCanvasByPageNr(pageNr) {
|
|
38136
|
+
$('#svgsketch-' + pageNr).svg({
|
|
38137
|
+
onLoad: function (svg) {
|
|
38138
|
+
sketchpad[pageNr] = svg;
|
|
38139
|
+
var surface = svg.rect(0, 0, '100%', '100%', { id: 'surface-' + pageNr, fill: 'transparent' });
|
|
38140
|
+
|
|
38141
|
+
createMeasureLineMarker(pageNr, getMeasureLineMarkerId(pageNr), getMeasureLineMarkerSettings());
|
|
38142
|
+
createMeasureLineMarker(pageNr, getMeasureCalibrationLineMarkerId(pageNr), getMeasureCalibrationLineMarkerSettings());
|
|
38143
|
+
createMeasureLineMarker(pageNr, getMeasureNoteLineMarkerId(pageNr), getMeasureNoteLineMarkerSettings('context-stroke'));
|
|
38144
|
+
createMeasureTxtFilterBg(pageNr);
|
|
38145
|
+
|
|
38146
|
+
$(surface).mousedown(function (eMousedown) {
|
|
38147
|
+
sketchpadCanvasMousedownHandler(eMousedown, pageNr);
|
|
38148
|
+
}).mousemove(function (eMousemove) {
|
|
38149
|
+
sketchpadCanvasMousemoveHandler(eMousemove, pageNr);
|
|
38150
|
+
}).mouseup(function (eMouseup) {
|
|
38151
|
+
sketchpadCanvasMouseupHandler(eMouseup, pageNr);
|
|
38152
|
+
});
|
|
38153
|
+
|
|
38154
|
+
resetSize(svg, '100%', '100%');
|
|
38155
|
+
}
|
|
38156
|
+
});
|
|
38157
|
+
}
|
|
38158
|
+
|
|
38159
|
+
function endDragMeasure(event, pageNr) {
|
|
38160
|
+
if (!drawStart) {
|
|
38161
|
+
return;
|
|
37259
38162
|
}
|
|
37260
38163
|
|
|
37261
|
-
|
|
37262
|
-
|
|
37263
|
-
|
|
37264
|
-
|
|
37265
|
-
|
|
38164
|
+
removeMeasureOutlineItems();
|
|
38165
|
+
|
|
38166
|
+
if (measureLast && measureLast.pxVal > 0) {
|
|
38167
|
+
var shape = getMeasureType();
|
|
38168
|
+
drawMeasure(drawStart.X, drawStart.Y, event.clientX - offset.left, event.clientY - offset.top, pageNr, shape);
|
|
38169
|
+
|
|
38170
|
+
if (isMeasuresCalibrationActive()) {
|
|
38171
|
+
deactivateMeasuresCalibration();
|
|
38172
|
+
removeMeasuresCalibrationHint();
|
|
38173
|
+
}
|
|
38174
|
+
}
|
|
38175
|
+
|
|
38176
|
+
drawStart = null;
|
|
38177
|
+
event.preventDefault();
|
|
38178
|
+
}
|
|
38179
|
+
|
|
38180
|
+
function setDlgMeasureSettingsScale(scale) {
|
|
38181
|
+
let child = $('#measuresScaleList').children().toArray().find(child => $(child).attr('value') === scale);
|
|
38182
|
+
if (child) {
|
|
38183
|
+
$('#measuresScale').val($(child).text());
|
|
38184
|
+
$('#measuresScale').data('value', scale);
|
|
38185
|
+
}
|
|
38186
|
+
}
|
|
38187
|
+
|
|
38188
|
+
function setDlgMeasureSettingsUnits(units) {
|
|
38189
|
+
let child = $('#measuresUnitsList').children().toArray().find(child => $(child).attr('value') === units);
|
|
38190
|
+
if (child) {
|
|
38191
|
+
$('#measuresUnits').val($(child).text());
|
|
38192
|
+
$('#measuresUnits').data('value', units);
|
|
38193
|
+
}
|
|
38194
|
+
}
|
|
38195
|
+
|
|
38196
|
+
function setDlgMeasureSettingsPrecision(precision) {
|
|
38197
|
+
let child = $('#measuresPrecisionList').children().toArray().find(child => $(child).attr('value') === precision);
|
|
38198
|
+
if (child) {
|
|
38199
|
+
$('#measuresPrecision').val($(child).text());
|
|
38200
|
+
$('#measuresPrecision').data('value', precision);
|
|
37266
38201
|
}
|
|
37267
|
-
hideDlgOverlay();
|
|
37268
|
-
hideDlgMeasureSettings();
|
|
37269
38202
|
}
|
|
37270
38203
|
$(document).ready(function() {
|
|
37271
38204
|
context.openFile();
|