@vitrosoftware/common-ui-ts 1.1.209 → 1.1.211

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.
Files changed (97) hide show
  1. package/css/std/controls/bim-viewer/bim-viewer-index.css +4 -1
  2. package/css/std/controls/bim-viewer/style.css +4 -0
  3. package/css/std/controls/button/button.css +11 -10
  4. package/css/std/controls/dropdown-button/dropdown-button.css +195 -90
  5. package/css/std/controls/dropdown-button/img/dropdown-arrow-right.svg +3 -0
  6. package/css/std/controls/editable-list/editable-list.css +6 -7
  7. package/css/std/controls/expand-collapse-button/expand-collapse-button.css +4 -0
  8. package/css/std/controls/filter/filter.css +85 -0
  9. package/css/std/controls/image-picker/image-picker.css +0 -7
  10. package/css/std/controls/image-viewer/image-viewer.css +5 -8
  11. package/css/std/controls/pdf-viewer/custom.css +1 -5
  12. package/css/std/controls/pdf-viewer/pdf-viewer-index.css +1 -24
  13. package/css/std/controls/pdf-viewer/pdf-viewer.css +0 -19
  14. package/css/std/controls/search/search-dialog.css +202 -0
  15. package/css/std/controls/search/search.css +1 -185
  16. package/css/std/controls/slide-up-button/slide-up-button.css +78 -0
  17. package/css/std/controls/tab-group/tab-group.css +15 -51
  18. package/css/std/controls/table-view/treegrid-context-menu.css +1 -1
  19. package/css/std/controls/viewer-issue-list/viewer-issue-list.css +49 -0
  20. package/dist/index.css +3444 -3374
  21. package/dist/index.js +10915 -10416
  22. package/dist/index.js.map +1 -1
  23. package/dist/src/constants/Event.d.ts +5 -1
  24. package/dist/src/constants/Factory.d.ts +8 -0
  25. package/dist/src/constants/MoveType.d.ts +5 -0
  26. package/dist/src/controls/ActivityItem/ActivityItem.d.ts +0 -1
  27. package/dist/src/controls/BimViewer/services/BimViewerService.d.ts +10 -1
  28. package/dist/src/controls/CommandMenu/CommandMenu.d.ts +1 -1
  29. package/dist/src/controls/CommandMenu/CommandMenuDropdownButton.d.ts +3 -19
  30. package/dist/src/controls/DropdownButton/Dropdown.d.ts +20 -0
  31. package/dist/src/controls/DropdownButton/DropdownButton.d.ts +16 -13
  32. package/dist/src/controls/DropdownButton/DropdownButtonConstants.d.ts +4 -0
  33. package/dist/src/controls/DropdownButton/DropdownButtonDropdownItem.d.ts +14 -0
  34. package/dist/src/controls/DropdownButton/DropdownButtonItem.d.ts +13 -0
  35. package/dist/src/controls/DropdownButton/DropdownToggleContent.d.ts +11 -0
  36. package/dist/src/controls/DropdownButton/models/DropdownItem.d.ts +3 -4
  37. package/dist/src/controls/DropdownButton/services/DropdownButtonService.d.ts +4 -0
  38. package/dist/src/controls/DxfViewer/services/DxfViewerService.d.ts +10 -1
  39. package/dist/src/controls/ExpandCollapseButton/ExpandCollapseButton.d.ts +1 -0
  40. package/dist/src/controls/ExpandControlGroup/ExpandControlGroup.d.ts +1 -0
  41. package/dist/src/controls/Filter/CriterionFilter.d.ts +26 -0
  42. package/dist/src/controls/Filter/Filter.d.ts +28 -0
  43. package/dist/src/controls/Filter/FilterConstants.d.ts +54 -0
  44. package/dist/src/controls/Filter/Inputs/BaseLookupPicker.d.ts +35 -0
  45. package/dist/src/controls/Filter/Inputs/Checkbox.d.ts +10 -0
  46. package/dist/src/controls/Filter/Inputs/DatePicker.d.ts +8 -0
  47. package/dist/src/controls/Filter/Inputs/Input.d.ts +10 -0
  48. package/dist/src/controls/Filter/Inputs/LookupPicker.d.ts +2 -0
  49. package/dist/src/controls/Filter/Inputs/NumberInput.d.ts +13 -0
  50. package/dist/src/controls/Filter/Inputs/TimePicker.d.ts +8 -0
  51. package/dist/src/controls/Filter/Inputs/UserLookupPicker.d.ts +3 -0
  52. package/dist/src/controls/Filter/SortFilter.d.ts +14 -0
  53. package/dist/src/controls/Filter/models/SortCriterion.d.ts +7 -0
  54. package/dist/src/controls/Filter/models/SortItem.d.ts +4 -0
  55. package/dist/src/controls/MicroFrontend/MicroFrontend.d.ts +1 -0
  56. package/dist/src/controls/PdfViewer/services/PdfViewerService.d.ts +10 -1
  57. package/dist/src/controls/Search/Search.d.ts +11 -24
  58. package/dist/src/controls/Search/SearchConstants.d.ts +12 -0
  59. package/dist/src/controls/Search/SearchDialog.d.ts +23 -0
  60. package/dist/src/controls/SearchInput/SearchInput.d.ts +1 -1
  61. package/dist/src/controls/SlideUpButton/SlideUpButton.d.ts +12 -0
  62. package/dist/src/controls/SlideUpButton/SlideUpButtonDropdownItem.d.ts +13 -0
  63. package/dist/src/controls/SlideUpButton/SlideUpButtonItem.d.ts +11 -0
  64. package/dist/src/controls/ViewerIssueList/ViewerIssueList.d.ts +28 -0
  65. package/dist/src/index.d.ts +12 -3
  66. package/dist/src/models/Action.d.ts +20 -0
  67. package/dist/src/models/ContentType.d.ts +17 -0
  68. package/dist/src/models/ContentTypeView.d.ts +5 -0
  69. package/dist/src/models/Field.d.ts +13 -0
  70. package/dist/src/models/FieldType.d.ts +5 -0
  71. package/dist/src/models/Item.d.ts +22 -0
  72. package/dist/src/models/ItemCopyRequest.d.ts +5 -0
  73. package/dist/src/models/ItemId.d.ts +7 -0
  74. package/dist/src/models/ItemPath.d.ts +5 -0
  75. package/dist/src/models/ItemUpdateRequest.d.ts +8 -0
  76. package/dist/src/models/ListConfig.d.ts +25 -0
  77. package/dist/src/models/Site.d.ts +10 -0
  78. package/dist/src/models/ViewPart.d.ts +7 -0
  79. package/dist/src/models/ViewPartList.d.ts +7 -0
  80. package/dist/src/models.d.ts +3 -0
  81. package/dist/src/services/ColumnService.d.ts +9 -0
  82. package/dist/src/services/ContentTypeService.d.ts +8 -0
  83. package/dist/src/services/EventHandlerService.d.ts +4 -0
  84. package/dist/src/services/EventService.d.ts +6 -0
  85. package/dist/src/services/GuidService.d.ts +3 -0
  86. package/dist/src/services/ImageService.d.ts +7 -0
  87. package/dist/src/services/ItemSelectDialogService.d.ts +12 -0
  88. package/dist/src/services/ItemService.d.ts +24 -0
  89. package/dist/src/services/LookupListItemService.d.ts +9 -0
  90. package/dist/src/services.d.ts +3 -0
  91. package/package.json +1 -1
  92. package/src/controls/BimViewer/js/bim-viewer.js +50 -7
  93. package/src/controls/DxfViewer/js/dxf-viewer.js +78 -21
  94. package/src/controls/PdfViewer/js/pdf-viewer.js +141 -28
  95. package/css/std/controls/command-menu/img/collapse-up.svg +0 -3
  96. package/css/std/controls/command-menu/img/dropdown-menu-arrow.svg +0 -1
  97. /package/css/std/controls/{command-menu → dropdown-button}/img/collapse-bottom.svg +0 -0
@@ -1,17 +1,17 @@
1
- import * as three from '/resource/dxfViewer/js/three/three.module.js?version=1.1.209';
2
- import { Matrix3, Vector2 } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.209';
3
- import { Batch, DxfViewer, Layer } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.209';
4
- import { Block as SceneBlock } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.209';
5
- import { Block } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.209';
6
- import { DxfScene, Entity, ColorCode } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.209';
7
- import { TextRenderer, ParseSpecialChars, HAlign, VAlign } from '/resource/dxfViewer/js/viewer/TextRenderer.js?version=1.1.209';
8
- import { DxfWorker } from '/resource/dxfViewer/js/viewer/DxfWorker.js?version=1.1.209';
9
- import { DxfFetcher } from '/resource/dxfViewer/js/viewer/DxfFetcher.js?version=1.1.209';
10
- import DxfParser from '/resource/dxfViewer/js/viewer/parser/DxfParser.js?version=1.1.209';
11
- import { RenderBatch } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.209';
12
- import { DynamicBuffer, NativeType } from '/resource/dxfViewer/js/viewer/DynamicBuffer.js?version=1.1.209';
13
- import { OrbitControls } from '/resource/dxfViewer/js/viewer/OrbitControls.js?version=1.1.209';
14
- import { CSS2DRenderer, CSS2DObject } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.209';
1
+ import * as three from '/resource/dxfViewer/js/three/three.module.js?version=1.1.211';
2
+ import { Matrix3, Vector2 } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.211';
3
+ import { Batch, DxfViewer, Layer } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.211';
4
+ import { Block as SceneBlock } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.211';
5
+ import { Block } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.211';
6
+ import { DxfScene, Entity, ColorCode } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.211';
7
+ import { TextRenderer, ParseSpecialChars, HAlign, VAlign } from '/resource/dxfViewer/js/viewer/TextRenderer.js?version=1.1.211';
8
+ import { DxfWorker } from '/resource/dxfViewer/js/viewer/DxfWorker.js?version=1.1.211';
9
+ import { DxfFetcher } from '/resource/dxfViewer/js/viewer/DxfFetcher.js?version=1.1.211';
10
+ import DxfParser from '/resource/dxfViewer/js/viewer/parser/DxfParser.js?version=1.1.211';
11
+ import { RenderBatch } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.211';
12
+ import { DynamicBuffer, NativeType } from '/resource/dxfViewer/js/viewer/DynamicBuffer.js?version=1.1.211';
13
+ import { OrbitControls } from '/resource/dxfViewer/js/viewer/OrbitControls.js?version=1.1.211';
14
+ import { CSS2DRenderer, CSS2DObject } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.211';
15
15
 
16
16
  let treeViewData = [];
17
17
  let notes = [];
@@ -2878,7 +2878,8 @@ function bindBtnToggleSidebarNotes() {
2878
2878
  $(document).on('click', '#btnToggleSidebarNotes', function() {
2879
2879
  $(this).toggleClass('toggled');
2880
2880
 
2881
- if($(this).hasClass('toggled')) {
2881
+ if ($(this).hasClass('toggled')) {
2882
+ collapseSidebarIssueDetail();
2882
2883
  if(!$('.sidebar').is(':visible')) {
2883
2884
  expandSidebarNotes();
2884
2885
  $('body').addClass('vitro-sidebar-notes-expanded');
@@ -2891,7 +2892,8 @@ function bindBtnToggleSidebarNotes() {
2891
2892
  }
2892
2893
 
2893
2894
  function expandSidebarNotes() {
2894
- context.initIssueList();
2895
+ const searchCriterion = window.searchCriterionList ? window.searchCriterionList : [];
2896
+ context.initIssueList(true, searchCriterion);
2895
2897
 
2896
2898
  if ($('#btnCreateNotes').hasClass('toggled')) {
2897
2899
  $('#btnCreateNotes').removeClass('toggled');
@@ -3177,6 +3179,9 @@ function initTreeViewPanelResizable() {
3177
3179
  minWidth: 150
3178
3180
  });
3179
3181
  }
3182
+ const EVENT_SEARCH_ISSUE_LIST = 'vitro.search.issue.list';
3183
+ const EVENT_ISSUE_LIST_REFRESH = 'vitro.issue.list.refresh';
3184
+
3180
3185
  var canvas = document.getElementById('canvasContainer');
3181
3186
  window.dxfViewer = new Viewer(canvas, null);
3182
3187
 
@@ -3244,7 +3249,7 @@ function KeyDown(event) {
3244
3249
  const code = event.code;
3245
3250
  if (code == 'Delete') {
3246
3251
  const selectedId = window.dxfViewer.GetSelectedHandle();
3247
- if (selectedId) {initi
3252
+ if (selectedId) {
3248
3253
  const drawable = window.dxfViewer.GetDrawable(selectedId);
3249
3254
  if (drawable?.drawMode === DrawMode.ANNOTATIONS) {
3250
3255
  window.dxfViewer.DeleteDrawable(selectedId);
@@ -3376,16 +3381,23 @@ function bindUpdatePage() {
3376
3381
  }
3377
3382
  }
3378
3383
 
3384
+ function refreshIssueList() {
3385
+ const event = new CustomEvent(EVENT_ISSUE_LIST_REFRESH, { detail: {} });
3386
+ window.dispatchEvent(event);
3387
+ }
3388
+
3379
3389
  function updatePage(e) {
3380
3390
  const item = e.detail.itemList[0];
3381
3391
  const markup = item.fieldValueMap.markup;
3382
- context.initIssueList(true);
3392
+ const searchCriterion = window.searchCriterionList ? window.searchCriterionList : [];
3393
+ context.initIssueList(true, searchCriterion);
3383
3394
  anno.RemoveLabels();
3384
3395
  removeNewAnnotations();
3385
3396
 
3386
3397
  if (e.type === context.deleteIssueEvent && markup) {
3387
3398
  const selectedId = item.fieldValueMap.item_id;
3388
3399
  deleteNote(selectedId);
3400
+ refreshIssueList();
3389
3401
  }
3390
3402
 
3391
3403
  if (e.type === context.updateIssueEvent && markup) {
@@ -3439,15 +3451,20 @@ function getCurrentSpaceHandle() {
3439
3451
  }
3440
3452
 
3441
3453
  function onSelectAnnotation(id) {
3442
- if (context.selectIssue) {
3443
- context.selectIssue(id, true);
3444
- }
3445
3454
  zoomToAnnotation(id);
3446
3455
 
3447
3456
  if (!$('#btnToggleSidebarNotes').hasClass('toggled')) {
3448
3457
  $('#btnToggleSidebarNotes').addClass('toggled');
3449
3458
  expandSidebarNotes();
3450
3459
  }
3460
+ if (context.selectIssue) {
3461
+ const interval = setInterval(() => {
3462
+ if ($('.sidebar').find('.vitro-viewer-issue-list').length) {
3463
+ context.selectIssue(id, true);
3464
+ clearInterval(interval);
3465
+ }
3466
+ }, 50);
3467
+ }
3451
3468
  updateCanvasContainerWidth();
3452
3469
  }
3453
3470
 
@@ -3466,6 +3483,9 @@ function switchSpace(space) {
3466
3483
 
3467
3484
  if (layout) {
3468
3485
  window.dxfViewer.SwitchSpace(layout);
3486
+
3487
+ refreshMarkupList();
3488
+
3469
3489
  dxfViewer.ZoomTo(dxfViewer.GetSpace(dxfViewer.spaceName).scene);
3470
3490
  dxfViewer.DoFakeZoomToRedrawScene();
3471
3491
  anno.RemoveLabels();
@@ -3636,6 +3656,42 @@ function updateCanvasContainerWidth() {
3636
3656
  $('#canvasContainer').css('width', `calc(100% - ${insetStart + insetEnd}px)`);
3637
3657
  $('#canvasContainer').css('inset-inline-start', `${insetStart}px`);
3638
3658
  $('#canvasContainer').css('inset-inline-end', `${insetEnd}px`);
3659
+ }
3660
+
3661
+ function bindUpdateDocumentMarkupList() {
3662
+ window.removeEventListener(context.searchIssueListEvent, updateDocumentMarkupList);
3663
+ window.addEventListener(context.searchIssueListEvent, updateDocumentMarkupList);
3664
+ }
3665
+
3666
+ function updateDocumentMarkupList(e) {
3667
+ removeAllMarkups();
3668
+ context.issueList = e.detail.issueList;
3669
+ reinitMarkupList();
3670
+ anno.UpdateLabelPosition();
3671
+ }
3672
+
3673
+ function removeAllMarkups() {
3674
+ context.issueList?.forEach(item => {
3675
+ deleteNote(item.id);
3676
+ });
3677
+ anno.RemoveLabels();
3678
+ }
3679
+
3680
+ function refreshMarkupList() {
3681
+ removeAllMarkups();
3682
+ reinitMarkupList();
3683
+ }
3684
+
3685
+ function reinitMarkupList() {
3686
+ const currentSpaceHandle = getCurrentSpaceHandle();
3687
+
3688
+ if (context.issueList && context.issueList.length) {
3689
+ $.each(context.issueList, function (index, note) {
3690
+ if (note.markup) {
3691
+ initNote(note, currentSpaceHandle);
3692
+ }
3693
+ });
3694
+ }
3639
3695
  }
3640
3696
  $(document).ready(function () {
3641
3697
  bindBtnToggleSidebarNotes();
@@ -3660,6 +3716,7 @@ $(document).ready(function () {
3660
3716
  bindSelectList();
3661
3717
  bindScaleSelectChange();
3662
3718
  bindPanelResize();
3719
+ bindUpdateDocumentMarkupList();
3663
3720
  });
3664
3721
 
3665
3722
  var userLocale =
@@ -21208,7 +21208,7 @@ const defaultOptions = {
21208
21208
  kind: OptionKind.WORKER
21209
21209
  },
21210
21210
  workerSrc: {
21211
- value: "resource/pdfViewer/js/pdf.worker.js?version=1.1.209",
21211
+ value: "resource/pdfViewer/js/pdf.worker.js?version=1.1.211",
21212
21212
  kind: OptionKind.WORKER
21213
21213
  }
21214
21214
  };
@@ -36804,7 +36804,7 @@ function btnComparePanelOnClickHandler(btn) {
36804
36804
  } else {
36805
36805
  btn.attr('title', lbl_openPanel);
36806
36806
  }
36807
- $('#сomparePanel').toggle();
36807
+ $('#comparePanel').toggle();
36808
36808
  }
36809
36809
 
36810
36810
  function btnZoomOnClickHandler() {
@@ -37059,11 +37059,11 @@ function loadDocumentB() {
37059
37059
  }
37060
37060
 
37061
37061
  function createComparePanel(compareObjList) {
37062
- var wrap = $('<div id="сomparePanel" class="compare-panel"/>');
37062
+ var wrap = $('<div id="comparePanel" class="compare-panel"/>');
37063
37063
  var header = $('<div class="compare-panel_header" >Compared Documents</div>');
37064
37064
  var btnComparePanelClose = $('<span class="close" title="'+lbl_closePanel+'"></span>');
37065
37065
  btnComparePanelClose.on('click', function() {
37066
- $('#сomparePanel').hide();
37066
+ $('#comparePanel').hide();
37067
37067
  $('#comparePanelVisibility').toggleClass('active');
37068
37068
  });
37069
37069
  header.append(btnComparePanelClose);
@@ -37405,6 +37405,9 @@ var label_deleteMeasure = context.createLocale('app.viewer.pdf.contextMenu.delet
37405
37405
  var label_cancel = context.createLocale('app.viewer.pdf.contextMenu.cancel');
37406
37406
  var label_createAnnotation = context.createLocale('app.viewer.pdf.contextMenu.addNote');
37407
37407
  var label_measures2PointHint = context.createLocale('app.viewer.pdf.measures.twoPointHint');
37408
+ const EVENT_SEARCH_ISSUE_LIST = 'vitro.search.issue.list';
37409
+ const EVENT_ISSUE_LIST_REFRESH = 'vitro.issue.list.refresh';
37410
+ const EVENT_ISSUE_LIST_SELECT_ITEM = 'vitro.issue.list.select.item';
37408
37411
 
37409
37412
  function initContextMenuCanvas() {
37410
37413
  var pages = '#viewer .page:not(.has-new-svg)';
@@ -37663,11 +37666,11 @@ function createCompareViewer(compareObjList) {
37663
37666
  }
37664
37667
 
37665
37668
  function createComparePanel(compareObjList) {
37666
- var wrap = $('<div id="�omparePanel" class="compare-panel"/>');
37669
+ var wrap = $('<div id="comparePanel" class="compare-panel"/>');
37667
37670
  var header = $(`<div class="compare-panel_header" >${context.createLocale('app.viewer.pdf.compare.panel.title')}</div>`);
37668
37671
  var btnComparePanelClose = $('<span class="close" title="' + lbl_closePanel + '"></span>');
37669
37672
  btnComparePanelClose.on('click', function () {
37670
- $('#�omparePanel').hide();
37673
+ $('#comparePanel').hide();
37671
37674
  $('#comparePanelVisibility').toggleClass('active');
37672
37675
  });
37673
37676
  header.append(btnComparePanelClose);
@@ -37718,7 +37721,7 @@ function bindBtnDoCompare() {
37718
37721
  if ($(this).hasClass('disabled')) {
37719
37722
  return false;
37720
37723
  } else {
37721
- hideDlgOverlay();
37724
+ hideDlgOverlay();
37722
37725
 
37723
37726
  doCompare(compareObjList);
37724
37727
  }
@@ -37758,7 +37761,7 @@ function isComparedDocumentCurrentOpened(url) {
37758
37761
  let loadedVersion = context.fileVersionList.find(item => item.id == loadedVersionId);
37759
37762
  if (context.file.id === itemId && loadedVersion.name === version) {
37760
37763
  return true;
37761
- }
37764
+ }
37762
37765
 
37763
37766
  return false;
37764
37767
  }
@@ -37855,10 +37858,12 @@ function bindBtnToggleSidebarNotes() {
37855
37858
  if ($('#btnDrawAnnotation').hasClass('toggled')) {
37856
37859
  $('#btnDrawAnnotation').click();
37857
37860
  }
37858
- context.initIssueList();
37861
+ if (!$('.body__sidebar').find('.vitro-viewer-issue-list').length) {
37862
+ context.initIssueList();
37863
+ }
37859
37864
  $('#outerContainer').addClass('sidebarNotesOpen');
37860
37865
  setContainerInset($('.body__sidebar').width());
37861
- expandSidebarNotes();
37866
+ expandSidebarNotes();
37862
37867
  }
37863
37868
  } else {
37864
37869
  $('#outerContainer').removeClass('sidebarNotesOpen');
@@ -37908,7 +37913,7 @@ function showNoteDesc(note) {
37908
37913
  }
37909
37914
  }, 100);
37910
37915
  }
37911
- }
37916
+ }
37912
37917
  }
37913
37918
 
37914
37919
  function isIssueInSidebarNoteExist(noteId) {
@@ -37946,16 +37951,57 @@ function initMarkupData(issue) {
37946
37951
  return null;
37947
37952
  }
37948
37953
 
37954
+ function bindUpdateDocumentMarkupList() {
37955
+ window.addEventListener(EVENT_SEARCH_ISSUE_LIST, updateDocumentMarkupList);
37956
+ }
37957
+
37958
+ function updateDocumentMarkupList(e) {
37959
+ const pageCount = getPdfPageCount();
37960
+ context.issueList = e.detail.issueList;
37961
+ for (let i = 1; i <= pageCount; i++) {
37962
+ if (isPageRendered(i)) {
37963
+ removePageAllNotes(i);
37964
+ resetPageSketchpad(i);
37965
+ if (e.detail.issueList && e.detail.issueList.length) {
37966
+ initMarkupList(e.detail.issueList, i);
37967
+ }
37968
+ }
37969
+ }
37970
+ }
37971
+
37972
+ function resetPageSketchpad(pageNr) {
37973
+ const sketchpadSvgSelector = '#svgsketch-' + pageNr + ' > svg';
37974
+ const pageSketchpad = $(sketchpadSvgSelector);
37975
+ if (pageSketchpad.length) {
37976
+ $(sketchpadSvgSelector + ' > ellipse').remove();
37977
+ $(sketchpadSvgSelector + ' > path').remove();
37978
+ $(sketchpadSvgSelector + ' > polygon').remove();
37979
+ $(sketchpadSvgSelector + ' > cloud').remove();
37980
+ $(sketchpadSvgSelector + ' > line').remove();
37981
+ $(sketchpadSvgSelector + ' > arrow').remove();
37982
+ $(sketchpadSvgSelector + ' > rect:not(#surface-' + pageNr + ')').remove();
37983
+ }
37984
+ drawNodes = {};
37985
+ }
37986
+
37987
+ function isPageRendered(pageNr) {
37988
+ return $('.page[data-page-number="' + pageNr + '"]').find('.canvasWrapper')?.length;
37989
+ }
37990
+
37949
37991
  function doInitNotesByPageNr(pageNr) {
37950
- context.getIssueList().then(list => {
37951
- $.each(list, function (index, issue) {
37992
+ initMarkupList(context.issueList, pageNr);
37993
+ }
37994
+
37995
+ function initMarkupList(issueList, pageNr) {
37996
+ if (issueList && issueList.length) {
37997
+ $.each(issueList, function (index, issue) {
37952
37998
  let markup = initMarkupData(issue);
37953
37999
  if (markup && markup.pageNr == pageNr) {
37954
38000
  createNote(pageNr, index, issue);
37955
38001
  loadSvgShape(markup.svg);
37956
38002
  }
37957
38003
  });
37958
- });
38004
+ }
37959
38005
  }
37960
38006
 
37961
38007
  function removePageAllNotes(pageNr) {
@@ -38023,17 +38069,14 @@ function createNote(pageNr, index, issue) {
38023
38069
  }
38024
38070
 
38025
38071
  function highlightSidebarNote(noteId) {
38026
- $('.body__sidebar-note-wrap').removeClass('active');
38027
- $('.body__sidebar-content').children().removeClass('vitro-active');
38028
38072
  var notetWrap = $('#vitro-issue-tile-' + noteId);
38029
- notetWrap.addClass('vitro-active');
38030
38073
  autosize(notetWrap.find('textarea'));
38031
- var sidebarContent = $('.body__sidebar-content');
38032
- var sidebarOffsetTop = parseInt(sidebarContent[0].offsetTop);
38033
- var sidebarScrollTop = parseInt(sidebarContent[0].scrollTop);
38034
- sidebarContent.animate({
38035
- scrollTop: notetWrap.position().top - sidebarOffsetTop + sidebarScrollTop
38036
- }, 1000);
38074
+ selectIssueListItem(noteId);
38075
+ }
38076
+
38077
+ function selectIssueListItem(itemId) {
38078
+ const event = new CustomEvent(EVENT_ISSUE_LIST_SELECT_ITEM, { detail: { itemId: itemId } });
38079
+ window.dispatchEvent(event);
38037
38080
  }
38038
38081
 
38039
38082
  function getNoteCreator() {
@@ -38175,15 +38218,22 @@ function bindUpdatePage() {
38175
38218
  }
38176
38219
  }
38177
38220
 
38221
+ function refreshIssueList() {
38222
+ const event = new CustomEvent(EVENT_ISSUE_LIST_REFRESH, { detail: {} });
38223
+ window.dispatchEvent(event);
38224
+ }
38225
+
38178
38226
  function updatePage(e) {
38179
38227
  const item = e.detail.itemList[0];
38180
38228
  const markup = JSON.parse(item.fieldValueMap.markup);
38181
38229
  const page = markup ? markup.pageNr : null;
38230
+ let updateContextIssueList = false;
38182
38231
 
38183
38232
  if (e.type === context.deleteIssueEvent && markup) {
38184
38233
  const markupData = { id: item.fieldValueMap.item_id, pageNr: page };
38185
38234
  removeSvg(markupData);
38186
- context.initIssueList();
38235
+ context.issueList = context.issueList?.filter(itm => itm.id !== item.fieldValueMap.item_id);
38236
+ refreshIssueList();
38187
38237
  }
38188
38238
 
38189
38239
  if (e.type === context.updateIssueEvent && markup) {
@@ -38199,14 +38249,25 @@ function updatePage(e) {
38199
38249
  detail: {
38200
38250
  itemIdList: [itemId],
38201
38251
  listId: item.listId
38202
- }});
38252
+ }
38253
+ });
38203
38254
  window.dispatchEvent(event);
38255
+ refreshIssueList();
38256
+ updateContextIssueList = true;
38204
38257
  }
38205
38258
 
38206
38259
  removeNewSvg();
38207
38260
 
38208
38261
  if (page) {
38209
- initNotesByPageNr(page);
38262
+ if (updateContextIssueList) {
38263
+ const searchCriterion = window.searchCriterionList ? window.searchCriterionList : [];
38264
+ context.getIssueList(searchCriterion).then(list => {
38265
+ context.issueList = list;
38266
+ initNotesByPageNr(page);
38267
+ });
38268
+ } else {
38269
+ initNotesByPageNr(page);
38270
+ }
38210
38271
  }
38211
38272
 
38212
38273
  if ($('#btnDrawAnnotation').hasClass('toggled')) {
@@ -38230,7 +38291,7 @@ function initBtnDrawAnnotation() {
38230
38291
  $('#cursorSelectTool').click();
38231
38292
  }
38232
38293
  untoggleBtnsMeasure();
38233
- hideMeasureToolbar();
38294
+ hideMeasureToolbar();
38234
38295
  activateDrawAnnotation();
38235
38296
  } else {
38236
38297
  if (!isHandToolActive) {
@@ -38440,7 +38501,7 @@ function endDragMeasure(event, pageNr) {
38440
38501
 
38441
38502
  drawStart = null;
38442
38503
  event.preventDefault();
38443
- }
38504
+ }
38444
38505
 
38445
38506
  function setDlgMeasureSettingsScale(scale) {
38446
38507
  let child = $('#measuresScaleList').children().toArray().find(child => $(child).attr('value') === scale);
@@ -38487,6 +38548,57 @@ function setContainerInset(width) {
38487
38548
  } else {
38488
38549
  $('#viewerContainer').css('inset-inline-end', 0);
38489
38550
  }
38551
+ }
38552
+
38553
+ function removeSvg(svgData) {
38554
+ if (drawNodes[svgData.id] && drawNodes[svgData.id].nodeObj) {
38555
+ sketchpad[svgData.pageNr].remove(drawNodes[svgData.id].nodeObj);
38556
+ delete drawNodes[svgData.id];
38557
+ } else {
38558
+ $('svg-' + svgData.id).remove();
38559
+ }
38560
+ }
38561
+
38562
+ function initNotes() {
38563
+ const searchCriterion = window.searchCriterionList ? window.searchCriterionList : [];
38564
+ //$(document).on('webViewerPageRendered', function (e, pageNr) {
38565
+ // if (context.issueList) {
38566
+ // initNotesByPageNr(pageNr);
38567
+ // if (isSketchpadActive) {
38568
+ // $('.svgsketch-wrap').addClass('active');
38569
+ // }
38570
+ // } else {
38571
+ // context.getIssueList(searchCriterion).then(list => {
38572
+ // context.issueList = list;
38573
+ // initNotesByPageNr(pageNr);
38574
+ // if (isSketchpadActive) {
38575
+ // $('.svgsketch-wrap').addClass('active');
38576
+ // }
38577
+ // });
38578
+ // }
38579
+ //});
38580
+ const renderedPageList = [];
38581
+
38582
+ context.getIssueList(searchCriterion).then(list => {
38583
+ context.issueList = list;
38584
+ $(document).on('webViewerPageRendered', function (e, pageNr) {
38585
+ renderedPageList.push(pageNr);
38586
+ initMarkupByPageNr(pageNr);
38587
+ });
38588
+ const pageLoaded = $('.page[data-loaded="true"]');
38589
+ pageLoaded?.each((index, item) => {
38590
+ if (!renderedPageList.includes(item.attr('data-page-number'))) {
38591
+ initMarkupByPageNr(pageNr);
38592
+ }
38593
+ });
38594
+ });
38595
+ }
38596
+
38597
+ function initMarkupByPageNr(pageNr) {
38598
+ initNotesByPageNr(pageNr);
38599
+ if (isSketchpadActive) {
38600
+ $('.svgsketch-wrap').addClass('active');
38601
+ }
38490
38602
  }
38491
38603
  $(document).ready(function() {
38492
38604
  context.openFile();
@@ -38510,6 +38622,7 @@ $(document).ready(function() {
38510
38622
 
38511
38623
  bindUpdatePage();
38512
38624
  bindSelectList();
38625
+ bindUpdateDocumentMarkupList();
38513
38626
 
38514
38627
  initZoomPage();
38515
38628
  initCompare();
@@ -1,3 +0,0 @@
1
- <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M4.5 16.5L12 9L19.5 16.5" stroke="#4A556C" stroke-linecap="round" stroke-linejoin="round"/>
3
- </svg>
@@ -1 +0,0 @@
1
- <svg viewBox='0 0 44 42' fill='none' xmlns='http://www.w3.org/2000/svg'><g filter='url(#filter0_dd_778_105705)'><path d='M20.3117 11.6584C21.0973 10.4213 22.9027 10.4213 23.6883 11.6584L29.5752 20.9278C30.4208 22.2593 29.4642 24 27.8869 24H16.1131C14.5358 24 13.5792 22.2593 14.4248 20.9278L20.3117 11.6584Z' fill='white'/></g><defs><filter id='filter0_dd_778_105705' x='0.109375' y='0.730469' width='43.7812' height='41.2695' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'><feFlood flood-opacity='0' result='BackgroundImageFix'/><feColorMatrix in='SourceAlpha' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/><feOffset dy='4'/><feGaussianBlur stdDeviation='7'/><feComposite in2='hardAlpha' operator='out'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18 0'/><feBlend mode='normal' in2='BackgroundImageFix' result='effect1_dropShadow_778_105705'/><feColorMatrix in='SourceAlpha' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/><feOffset/><feGaussianBlur stdDeviation='2'/><feComposite in2='hardAlpha' operator='out'/><feColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.14 0'/><feBlend mode='normal' in2='effect1_dropShadow_778_105705' result='effect2_dropShadow_778_105705'/><feBlend mode='normal' in='SourceGraphic' in2='effect2_dropShadow_778_105705' result='shape'/></filter></defs></svg>