@vitrosoftware/common-ui-ts 1.1.208 → 1.1.210
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/alert/alert.css +13 -3
- package/css/std/controls/bim-viewer/bim-viewer-index.css +4 -1
- package/css/std/controls/bim-viewer/style.css +4 -0
- package/css/std/controls/button/button.css +69 -18
- package/css/std/controls/command-menu/command-menu-button.css +0 -22
- package/css/std/controls/command-menu/command-menu-dropdown-button.css +31 -9
- package/css/std/controls/command-menu/command-menu-item.css +0 -10
- package/css/std/controls/filter/filter.css +85 -0
- package/css/std/controls/pdf-viewer/custom.css +1 -5
- package/css/std/controls/pdf-viewer/pdf-viewer-index.css +1 -24
- package/css/std/controls/pdf-viewer/pdf-viewer.css +0 -19
- package/css/std/controls/search/search-dialog.css +202 -0
- package/css/std/controls/search/search.css +0 -185
- package/css/std/controls/viewer-issue-list/viewer-issue-list.css +49 -0
- package/dist/index.css +3330 -3141
- package/dist/index.js +11939 -10568
- package/dist/index.js.map +1 -1
- package/dist/src/constants/Event.d.ts +5 -1
- package/dist/src/constants/Factory.d.ts +8 -0
- package/dist/src/constants/MoveType.d.ts +5 -0
- package/dist/src/controls/Alert/Alert.d.ts +3 -1
- package/dist/src/controls/Alert/AlertConstants.d.ts +1 -1
- package/dist/src/controls/BimViewer/services/BimViewerService.d.ts +10 -1
- package/dist/src/controls/Button/ButtonConstants.d.ts +6 -0
- package/dist/src/controls/DxfViewer/services/DxfViewerService.d.ts +10 -1
- package/dist/src/controls/Filter/CriterionFilter.d.ts +26 -0
- package/dist/src/controls/Filter/Filter.d.ts +28 -0
- package/dist/src/controls/Filter/FilterConstants.d.ts +54 -0
- package/dist/src/controls/Filter/Inputs/BaseLookupPicker.d.ts +35 -0
- package/dist/src/controls/Filter/Inputs/Checkbox.d.ts +10 -0
- package/dist/src/controls/Filter/Inputs/DatePicker.d.ts +8 -0
- package/dist/src/controls/Filter/Inputs/Input.d.ts +10 -0
- package/dist/src/controls/Filter/Inputs/LookupPicker.d.ts +2 -0
- package/dist/src/controls/Filter/Inputs/NumberInput.d.ts +13 -0
- package/dist/src/controls/Filter/Inputs/TimePicker.d.ts +8 -0
- package/dist/src/controls/Filter/Inputs/UserLookupPicker.d.ts +3 -0
- package/dist/src/controls/Filter/SortFilter.d.ts +14 -0
- package/dist/src/controls/Filter/models/SortCriterion.d.ts +7 -0
- package/dist/src/controls/Filter/models/SortItem.d.ts +4 -0
- package/dist/src/controls/PdfViewer/services/PdfViewerService.d.ts +10 -1
- package/dist/src/controls/Search/Search.d.ts +11 -24
- package/dist/src/controls/Search/SearchConstants.d.ts +12 -0
- package/dist/src/controls/Search/SearchDialog.d.ts +23 -0
- package/dist/src/controls/Tooltip/Tooltip.d.ts +1 -0
- package/dist/src/controls/ViewerIssueList/ViewerIssueList.d.ts +28 -0
- package/dist/src/index.d.ts +5 -1
- package/dist/src/models/Action.d.ts +20 -0
- package/dist/src/models/ContentType.d.ts +17 -0
- package/dist/src/models/ContentTypeView.d.ts +5 -0
- package/dist/src/models/Field.d.ts +13 -0
- package/dist/src/models/FieldType.d.ts +5 -0
- package/dist/src/models/Item.d.ts +22 -0
- package/dist/src/models/ItemCopyRequest.d.ts +5 -0
- package/dist/src/models/ItemId.d.ts +7 -0
- package/dist/src/models/ItemPath.d.ts +5 -0
- package/dist/src/models/ItemUpdateRequest.d.ts +8 -0
- package/dist/src/models/ListConfig.d.ts +25 -0
- package/dist/src/models/Site.d.ts +10 -0
- package/dist/src/models/ViewPart.d.ts +7 -0
- package/dist/src/models/ViewPartList.d.ts +7 -0
- package/dist/src/models.d.ts +3 -0
- package/dist/src/services/ColumnService.d.ts +9 -0
- package/dist/src/services/ContentTypeService.d.ts +8 -0
- package/dist/src/services/EventHandlerService.d.ts +4 -0
- package/dist/src/services/EventService.d.ts +6 -0
- package/dist/src/services/GuidService.d.ts +3 -0
- package/dist/src/services/ImageService.d.ts +7 -0
- package/dist/src/services/ItemSelectDialogService.d.ts +12 -0
- package/dist/src/services/ItemService.d.ts +24 -0
- package/dist/src/services/LookupListItemService.d.ts +9 -0
- package/lib/dxf-viewer/parser/entities/lwpolyline.js +2 -0
- package/lib/dxf-viewer/parser/entities/viewport.js +11 -0
- package/package.json +1 -1
- package/src/controls/BimViewer/js/bim-viewer.js +50 -7
- package/src/controls/DxfViewer/js/dxf-viewer.js +92 -30
- package/src/controls/PdfViewer/js/pdf-viewer.js +136 -23
- package/css/std/controls/button-cancel/button-cancel.css +0 -13
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ContentType } from './ContentType';
|
|
2
|
+
import { ContentTypeView } from './ContentTypeView';
|
|
3
|
+
import { Action } from './Action';
|
|
4
|
+
import { Site } from './Site';
|
|
5
|
+
export interface ListConfig {
|
|
6
|
+
id: string;
|
|
7
|
+
contentTypeList: ContentType[];
|
|
8
|
+
data: string;
|
|
9
|
+
fieldList: any[];
|
|
10
|
+
name: string;
|
|
11
|
+
statusList: any[];
|
|
12
|
+
description: string;
|
|
13
|
+
listAction: {
|
|
14
|
+
[key: string]: Action[];
|
|
15
|
+
};
|
|
16
|
+
siteId: string;
|
|
17
|
+
fieldValueMap: {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
contentTypeViewList: ContentTypeView[];
|
|
21
|
+
treeListConfig?: ListConfig;
|
|
22
|
+
site: Site;
|
|
23
|
+
isDocumentArchive?: boolean;
|
|
24
|
+
validContentTypeIdList?: string[];
|
|
25
|
+
}
|
package/dist/src/models.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ import { SiteSelectItem as _SiteSelectItem } from './controls/SiteSelect/models/
|
|
|
26
26
|
import { QuillRichEditorSettings as _QuillRichEditorSettings } from './controls/Input/models/QuillRichEditorSettings';
|
|
27
27
|
import { TelerikMediaPlayerSettings as _TelerikMediaPlayerSettings } from './controls/VideoViewer/models/TelerikMediaPlayerSettings';
|
|
28
28
|
import { FilePickerItem as _FilePickerItem } from './controls/FilePicker/models/FilePickerItem';
|
|
29
|
+
import { SortItem as _SortItem } from './controls/Filter/models/SortItem';
|
|
29
30
|
export declare namespace models {
|
|
30
31
|
interface JsTreeViewNode extends _JsTreeViewNode {
|
|
31
32
|
}
|
|
@@ -83,4 +84,6 @@ export declare namespace models {
|
|
|
83
84
|
}
|
|
84
85
|
interface FilePickerItem extends _FilePickerItem {
|
|
85
86
|
}
|
|
87
|
+
interface SortItem extends _SortItem {
|
|
88
|
+
}
|
|
86
89
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ContentType } from '../models/ContentType';
|
|
2
|
+
export interface ContentTypeService {
|
|
3
|
+
get(contentTypeId: string): Promise<ContentType>;
|
|
4
|
+
getByList(listId: string): Promise<ContentType[]>;
|
|
5
|
+
getListByFeature(feature: {
|
|
6
|
+
id: string;
|
|
7
|
+
}[], contentTypeList: ContentType[]): ContentType[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EventHandlerService } from './EventHandlerService';
|
|
2
|
+
export interface EventService {
|
|
3
|
+
send<T>(eventId: string, data: T, eventScopeId?: string): void;
|
|
4
|
+
register(eventHandler: EventHandlerService, eventScopeId?: string): void;
|
|
5
|
+
remove(eventHandler: EventHandlerService): void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ContentType } from '../models/ContentType';
|
|
2
|
+
export interface ImageService {
|
|
3
|
+
get(name: string, contentType: ContentType): string;
|
|
4
|
+
getByContentType(contentType: ContentType): string;
|
|
5
|
+
getByFileName(name: string): string;
|
|
6
|
+
getByImageId(imageId: string): string;
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ItemSelectDialogService {
|
|
2
|
+
show(listId: string, viewId?: string, isMultiSelect?: boolean, isFolderOnly?: boolean, dialogSettings?: {
|
|
3
|
+
title?: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
image?: string;
|
|
6
|
+
buttonText?: string;
|
|
7
|
+
isListSelectEnabled?: boolean;
|
|
8
|
+
isShowSelection?: boolean;
|
|
9
|
+
}, viewSettings?: {
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}): Promise<string[]>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ItemUpdateRequest } from '../models/ItemUpdateRequest';
|
|
2
|
+
import type { ItemCopyRequest } from '../models/ItemCopyRequest';
|
|
3
|
+
import { MOVE_TYPE } from '../constants/MoveType';
|
|
4
|
+
import { Item } from '../models/Item';
|
|
5
|
+
import { ItemId } from '../models/ItemId';
|
|
6
|
+
export interface ItemService {
|
|
7
|
+
get(itemId: string | ItemId, onError?: (response: any) => void): Promise<Item>;
|
|
8
|
+
getListByParentId(listId: string, query?: string, sort?: {
|
|
9
|
+
[internalName: string]: number;
|
|
10
|
+
}): Promise<Array<any>>;
|
|
11
|
+
getList(itemIdList: string[]): Promise<Array<Item>>;
|
|
12
|
+
getParentList(item: Item): Promise<Array<any>>;
|
|
13
|
+
getRecursive(itemId: string): Promise<Array<Item>>;
|
|
14
|
+
createByContentType(listId: string, contentTypeId: string, parentId?: string): Promise<any>;
|
|
15
|
+
update(itemList: ItemUpdateRequest[]): Promise<any>;
|
|
16
|
+
delete(idList: string[] | string): Promise<string[]>;
|
|
17
|
+
restore(deleteTransactionId: string): Promise<void>;
|
|
18
|
+
move(itemId: string, toItemId: string, type: MOVE_TYPE): Promise<any>;
|
|
19
|
+
createItemUpdateRequestMap(item: ItemUpdateRequest, itemList: File[]): {
|
|
20
|
+
[key: string]: string | number | Array<string | number>;
|
|
21
|
+
};
|
|
22
|
+
copy(parentId: any, nodeList: ItemCopyRequest[]): Promise<any>;
|
|
23
|
+
createNewInstance(listId: string, contentTypeId: string, parentId: string, fieldValueMap?: Map<string, string | number>): Promise<Item>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Item } from "../models/Item";
|
|
2
|
+
import { ItemId } from "../models/ItemId";
|
|
3
|
+
export interface LookupListItemService {
|
|
4
|
+
getValueList(field: Item, searchValue: string, currentItemRef?: {
|
|
5
|
+
item: ItemId | null;
|
|
6
|
+
changedFieldValueMap?: Map<string, unknown>;
|
|
7
|
+
}): Promise<any>;
|
|
8
|
+
getFilteredItemList(fieldId: string, searchValue: string, query?: string): Promise<Item[]>;
|
|
9
|
+
}
|
|
@@ -80,6 +80,8 @@ function parseLWPolylineVertices(n, scanner) {
|
|
|
80
80
|
case 42: // bulge
|
|
81
81
|
if(curr.value != 0) vertex.bulge = curr.value;
|
|
82
82
|
break;
|
|
83
|
+
case 91: // Vertex Identifier - to ignore
|
|
84
|
+
break;
|
|
83
85
|
default:
|
|
84
86
|
// if we do not hit known code return vertices. Code might belong to entity
|
|
85
87
|
if (vertexIsStarted) {
|
|
@@ -51,6 +51,17 @@ EntityParser.prototype.parseEntity = function(scanner, curr) {
|
|
|
51
51
|
}
|
|
52
52
|
curr = scanner.next();
|
|
53
53
|
}
|
|
54
|
+
ProcessXData(entity);
|
|
54
55
|
return entity;
|
|
55
56
|
};
|
|
56
57
|
|
|
58
|
+
|
|
59
|
+
function ProcessXData(entity){
|
|
60
|
+
if (entity.hasOwnProperty("xdata")){
|
|
61
|
+
const xd = entity.xdata["[Vitro_VP]"]
|
|
62
|
+
if (xd !== undefined && xd !== null){
|
|
63
|
+
entity.viewCenter.x = xd.values[0].value
|
|
64
|
+
entity.viewCenter.y = xd.values[1].value
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=1.1.
|
|
1
|
+
import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=1.1.210';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
Viewer, XKTLoaderPlugin, NavCubePlugin, SectionPlanesPlugin, math, BCFViewpointsPlugin, AnnotationsPlugin,
|
|
5
5
|
ContextMenu, TreeViewPlugin, StoreyViewsPlugin, AngleMeasurementsPlugin, CameraMemento, DistanceMeasurementsPlugin,
|
|
6
6
|
GLTFLoaderPlugin, utils, FastNavPlugin, MetaObject, parsers
|
|
7
7
|
}
|
|
8
|
-
from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=1.1.
|
|
8
|
+
from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=1.1.210';
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
//----------------------------------------------------------------------------------------------------------------------
|
|
@@ -1645,7 +1645,8 @@ function clearSectionPanes() {
|
|
|
1645
1645
|
// Load Annotations
|
|
1646
1646
|
//------------------------------------------------------------------------------------------------------------------
|
|
1647
1647
|
function loadAnnotations() {
|
|
1648
|
-
|
|
1648
|
+
const searchCriterion = window.searchCriterionList ? window.searchCriterionList : [];
|
|
1649
|
+
context.getIssueList(searchCriterion).then(issueList => {
|
|
1649
1650
|
issueList.map(issue => {
|
|
1650
1651
|
let data = getMarkupData(issue.item);
|
|
1651
1652
|
data.occludable = false;
|
|
@@ -3087,7 +3088,11 @@ const fastNavPlugin = new FastNavPlugin(viewer, {
|
|
|
3087
3088
|
//
|
|
3088
3089
|
//------------------------------------------------------------------------------------------------------------------
|
|
3089
3090
|
|
|
3090
|
-
|
|
3091
|
+
const EVENT_SEARCH_ISSUE_LIST = 'vitro.search.issue.list';
|
|
3092
|
+
const EVENT_ISSUE_LIST_REFRESH = 'vitro.issue.list.refresh';
|
|
3093
|
+
const EVENT_ISSUE_LIST_SELECT_ITEM = 'vitro.issue.list.select.item';
|
|
3094
|
+
|
|
3095
|
+
var notesDescriptionVisibleList = {};
|
|
3091
3096
|
|
|
3092
3097
|
BIMAnnotation.GetNote = (callback) => {
|
|
3093
3098
|
callback([]);
|
|
@@ -3296,21 +3301,25 @@ function updatePage(e) {
|
|
|
3296
3301
|
annotations.annotations[data.id].setLabelShown(false);
|
|
3297
3302
|
}
|
|
3298
3303
|
}, 10);
|
|
3304
|
+
setTimeout(function () { refreshIssueList(); }, 250);
|
|
3299
3305
|
}
|
|
3300
3306
|
|
|
3301
3307
|
if (e.type === context.deleteIssueEvent) {
|
|
3302
3308
|
|
|
3303
3309
|
let item = e.detail.itemList[0];
|
|
3304
3310
|
annotations.destroyAnnotation(item.fieldValueMap.item_id);
|
|
3305
|
-
|
|
3306
|
-
initSidebarNotes();
|
|
3307
|
-
}
|
|
3311
|
+
refreshIssueList();
|
|
3308
3312
|
if (isNoteDescriptionVisible(item.fieldValueMap.item_id)) {
|
|
3309
3313
|
removeFromNotesDescriptionVisibleList(item.fieldValueMap.item_id);
|
|
3310
3314
|
}
|
|
3311
3315
|
}
|
|
3312
3316
|
}
|
|
3313
3317
|
|
|
3318
|
+
function refreshIssueList() {
|
|
3319
|
+
const event = new CustomEvent(EVENT_ISSUE_LIST_REFRESH, { detail: {} });
|
|
3320
|
+
window.dispatchEvent(event);
|
|
3321
|
+
}
|
|
3322
|
+
|
|
3314
3323
|
function goToNoteMarker(issue) {
|
|
3315
3324
|
if (!$('#btnCreateNotes').hasClass('toggled')) {
|
|
3316
3325
|
hideNotesDescription();
|
|
@@ -3898,7 +3907,41 @@ function bindBtnAddModel() {
|
|
|
3898
3907
|
});
|
|
3899
3908
|
}
|
|
3900
3909
|
|
|
3910
|
+
function bindUpdateDocumentMarkupList() {
|
|
3911
|
+
window.addEventListener(EVENT_SEARCH_ISSUE_LIST, updateDocumentMarkupList);
|
|
3912
|
+
}
|
|
3901
3913
|
|
|
3914
|
+
function updateDocumentMarkupList(e) {
|
|
3915
|
+
annotations.clear();
|
|
3916
|
+
if (e.detail.issueList && e.detail.issueList.length) {
|
|
3917
|
+
e.detail.issueList.map(issue => {
|
|
3918
|
+
let data = getMarkupData(issue.item);
|
|
3919
|
+
data.occludable = false;
|
|
3920
|
+
annotations.createAnnotation(data);
|
|
3921
|
+
});
|
|
3922
|
+
}
|
|
3923
|
+
}
|
|
3924
|
+
|
|
3925
|
+
bindUpdateDocumentMarkupList();
|
|
3926
|
+
|
|
3927
|
+
function highlightSidebarNote(noteId) {
|
|
3928
|
+
var noteWrap = $('#vitro-issue-tile-' + noteId);
|
|
3929
|
+
|
|
3930
|
+
if (!noteWrap.position()) {
|
|
3931
|
+
setTimeout(() => {
|
|
3932
|
+
highlightSidebarNote(noteId);
|
|
3933
|
+
}, 500);
|
|
3934
|
+
|
|
3935
|
+
return;
|
|
3936
|
+
}
|
|
3937
|
+
|
|
3938
|
+
selectIssueListItem(noteId);
|
|
3939
|
+
}
|
|
3940
|
+
|
|
3941
|
+
function selectIssueListItem(itemId) {
|
|
3942
|
+
const event = new CustomEvent(EVENT_ISSUE_LIST_SELECT_ITEM, { detail: { itemId: itemId } });
|
|
3943
|
+
window.dispatchEvent(event);
|
|
3944
|
+
}
|
|
3902
3945
|
|
|
3903
3946
|
//------------------------------------------------------------------------------------------------------------------
|
|
3904
3947
|
// Do action wherever we click on an object
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import * as three from '/resource/dxfViewer/js/three/three.module.js?version=1.1.
|
|
2
|
-
import { Matrix3, Vector2 } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.
|
|
3
|
-
import { Batch, DxfViewer, Layer } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.
|
|
4
|
-
import { Block as SceneBlock } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.
|
|
5
|
-
import { Block } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.
|
|
6
|
-
import { DxfScene, Entity, ColorCode } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.
|
|
7
|
-
import { TextRenderer, ParseSpecialChars, HAlign, VAlign } from '/resource/dxfViewer/js/viewer/TextRenderer.js?version=1.1.
|
|
8
|
-
import { DxfWorker } from '/resource/dxfViewer/js/viewer/DxfWorker.js?version=1.1.
|
|
9
|
-
import { DxfFetcher } from '/resource/dxfViewer/js/viewer/DxfFetcher.js?version=1.1.
|
|
10
|
-
import DxfParser from '/resource/dxfViewer/js/viewer/parser/DxfParser.js?version=1.1.
|
|
11
|
-
import { RenderBatch } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.
|
|
12
|
-
import { DynamicBuffer, NativeType } from '/resource/dxfViewer/js/viewer/DynamicBuffer.js?version=1.1.
|
|
13
|
-
import { OrbitControls } from '/resource/dxfViewer/js/viewer/OrbitControls.js?version=1.1.
|
|
14
|
-
import { CSS2DRenderer, CSS2DObject } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.
|
|
1
|
+
import * as three from '/resource/dxfViewer/js/three/three.module.js?version=1.1.210';
|
|
2
|
+
import { Matrix3, Vector2 } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.210';
|
|
3
|
+
import { Batch, DxfViewer, Layer } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.210';
|
|
4
|
+
import { Block as SceneBlock } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.210';
|
|
5
|
+
import { Block } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.210';
|
|
6
|
+
import { DxfScene, Entity, ColorCode } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.210';
|
|
7
|
+
import { TextRenderer, ParseSpecialChars, HAlign, VAlign } from '/resource/dxfViewer/js/viewer/TextRenderer.js?version=1.1.210';
|
|
8
|
+
import { DxfWorker } from '/resource/dxfViewer/js/viewer/DxfWorker.js?version=1.1.210';
|
|
9
|
+
import { DxfFetcher } from '/resource/dxfViewer/js/viewer/DxfFetcher.js?version=1.1.210';
|
|
10
|
+
import DxfParser from '/resource/dxfViewer/js/viewer/parser/DxfParser.js?version=1.1.210';
|
|
11
|
+
import { RenderBatch } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.210';
|
|
12
|
+
import { DynamicBuffer, NativeType } from '/resource/dxfViewer/js/viewer/DynamicBuffer.js?version=1.1.210';
|
|
13
|
+
import { OrbitControls } from '/resource/dxfViewer/js/viewer/OrbitControls.js?version=1.1.210';
|
|
14
|
+
import { CSS2DRenderer, CSS2DObject } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.210';
|
|
15
15
|
|
|
16
16
|
let treeViewData = [];
|
|
17
17
|
let notes = [];
|
|
@@ -505,26 +505,31 @@ export class VitroDxfScene extends DxfScene {
|
|
|
505
505
|
_ProcessLayouts(dxf) {
|
|
506
506
|
for (let i = 0; i < this.layouts.length; i++) {
|
|
507
507
|
const layout = this.layouts[i]
|
|
508
|
-
layout.origin = this.origins.get(layout.spaceHandle)
|
|
509
|
-
layout.bounds = this.bounds.get(layout.spaceHandle)
|
|
510
|
-
if (!layout.origin || !layout.bounds)
|
|
511
|
-
{
|
|
512
|
-
this.layouts.splice(i, 1)
|
|
513
|
-
i--
|
|
514
|
-
continue
|
|
515
|
-
}
|
|
516
508
|
for (const viewport of this.viewports) {
|
|
517
509
|
if (layout.spaceHandle === viewport.ownerHandle) {
|
|
518
510
|
layout.viewports.set(viewport.status, viewport)
|
|
519
511
|
}
|
|
520
512
|
}
|
|
521
|
-
|
|
522
513
|
const blockCtx = layout.block.DefinitionContext()
|
|
523
514
|
const entities = layout.block.data.entities ? layout.block.data.entities : dxf.entities
|
|
524
515
|
for (const viewport of layout.viewports.values()) {
|
|
525
516
|
this._CreateViewportVertices(viewport, entities)
|
|
526
517
|
this._ProcessDxfEntity(viewport, blockCtx)
|
|
527
518
|
}
|
|
519
|
+
|
|
520
|
+
layout.origin = this.origins.get(layout.spaceHandle)
|
|
521
|
+
layout.bounds = this.bounds.get(layout.spaceHandle)
|
|
522
|
+
if (IsModelSpace(layout.space) && !layout.origin)
|
|
523
|
+
{
|
|
524
|
+
layout.origin = { x: 0, y: 0 }
|
|
525
|
+
layout.bounds = { minX: 0, maxX: 0, minY: 0, maxY: 0 }
|
|
526
|
+
}
|
|
527
|
+
if (!layout.origin || !layout.bounds)
|
|
528
|
+
{
|
|
529
|
+
this.layouts.splice(i, 1)
|
|
530
|
+
i--
|
|
531
|
+
continue
|
|
532
|
+
}
|
|
528
533
|
}
|
|
529
534
|
}
|
|
530
535
|
|
|
@@ -2873,7 +2878,8 @@ function bindBtnToggleSidebarNotes() {
|
|
|
2873
2878
|
$(document).on('click', '#btnToggleSidebarNotes', function() {
|
|
2874
2879
|
$(this).toggleClass('toggled');
|
|
2875
2880
|
|
|
2876
|
-
if($(this).hasClass('toggled')) {
|
|
2881
|
+
if ($(this).hasClass('toggled')) {
|
|
2882
|
+
collapseSidebarIssueDetail();
|
|
2877
2883
|
if(!$('.sidebar').is(':visible')) {
|
|
2878
2884
|
expandSidebarNotes();
|
|
2879
2885
|
$('body').addClass('vitro-sidebar-notes-expanded');
|
|
@@ -2886,7 +2892,8 @@ function bindBtnToggleSidebarNotes() {
|
|
|
2886
2892
|
}
|
|
2887
2893
|
|
|
2888
2894
|
function expandSidebarNotes() {
|
|
2889
|
-
|
|
2895
|
+
const searchCriterion = window.searchCriterionList ? window.searchCriterionList : [];
|
|
2896
|
+
context.initIssueList(true, searchCriterion);
|
|
2890
2897
|
|
|
2891
2898
|
if ($('#btnCreateNotes').hasClass('toggled')) {
|
|
2892
2899
|
$('#btnCreateNotes').removeClass('toggled');
|
|
@@ -3172,6 +3179,9 @@ function initTreeViewPanelResizable() {
|
|
|
3172
3179
|
minWidth: 150
|
|
3173
3180
|
});
|
|
3174
3181
|
}
|
|
3182
|
+
const EVENT_SEARCH_ISSUE_LIST = 'vitro.search.issue.list';
|
|
3183
|
+
const EVENT_ISSUE_LIST_REFRESH = 'vitro.issue.list.refresh';
|
|
3184
|
+
|
|
3175
3185
|
var canvas = document.getElementById('canvasContainer');
|
|
3176
3186
|
window.dxfViewer = new Viewer(canvas, null);
|
|
3177
3187
|
|
|
@@ -3239,7 +3249,7 @@ function KeyDown(event) {
|
|
|
3239
3249
|
const code = event.code;
|
|
3240
3250
|
if (code == 'Delete') {
|
|
3241
3251
|
const selectedId = window.dxfViewer.GetSelectedHandle();
|
|
3242
|
-
if (selectedId) {
|
|
3252
|
+
if (selectedId) {
|
|
3243
3253
|
const drawable = window.dxfViewer.GetDrawable(selectedId);
|
|
3244
3254
|
if (drawable?.drawMode === DrawMode.ANNOTATIONS) {
|
|
3245
3255
|
window.dxfViewer.DeleteDrawable(selectedId);
|
|
@@ -3371,16 +3381,23 @@ function bindUpdatePage() {
|
|
|
3371
3381
|
}
|
|
3372
3382
|
}
|
|
3373
3383
|
|
|
3384
|
+
function refreshIssueList() {
|
|
3385
|
+
const event = new CustomEvent(EVENT_ISSUE_LIST_REFRESH, { detail: {} });
|
|
3386
|
+
window.dispatchEvent(event);
|
|
3387
|
+
}
|
|
3388
|
+
|
|
3374
3389
|
function updatePage(e) {
|
|
3375
3390
|
const item = e.detail.itemList[0];
|
|
3376
3391
|
const markup = item.fieldValueMap.markup;
|
|
3377
|
-
|
|
3392
|
+
const searchCriterion = window.searchCriterionList ? window.searchCriterionList : [];
|
|
3393
|
+
context.initIssueList(true, searchCriterion);
|
|
3378
3394
|
anno.RemoveLabels();
|
|
3379
3395
|
removeNewAnnotations();
|
|
3380
3396
|
|
|
3381
3397
|
if (e.type === context.deleteIssueEvent && markup) {
|
|
3382
3398
|
const selectedId = item.fieldValueMap.item_id;
|
|
3383
3399
|
deleteNote(selectedId);
|
|
3400
|
+
refreshIssueList();
|
|
3384
3401
|
}
|
|
3385
3402
|
|
|
3386
3403
|
if (e.type === context.updateIssueEvent && markup) {
|
|
@@ -3434,15 +3451,20 @@ function getCurrentSpaceHandle() {
|
|
|
3434
3451
|
}
|
|
3435
3452
|
|
|
3436
3453
|
function onSelectAnnotation(id) {
|
|
3437
|
-
if (context.selectIssue) {
|
|
3438
|
-
context.selectIssue(id, true);
|
|
3439
|
-
}
|
|
3440
3454
|
zoomToAnnotation(id);
|
|
3441
3455
|
|
|
3442
3456
|
if (!$('#btnToggleSidebarNotes').hasClass('toggled')) {
|
|
3443
3457
|
$('#btnToggleSidebarNotes').addClass('toggled');
|
|
3444
3458
|
expandSidebarNotes();
|
|
3445
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
|
+
}
|
|
3446
3468
|
updateCanvasContainerWidth();
|
|
3447
3469
|
}
|
|
3448
3470
|
|
|
@@ -3461,6 +3483,9 @@ function switchSpace(space) {
|
|
|
3461
3483
|
|
|
3462
3484
|
if (layout) {
|
|
3463
3485
|
window.dxfViewer.SwitchSpace(layout);
|
|
3486
|
+
|
|
3487
|
+
refreshMarkupList();
|
|
3488
|
+
|
|
3464
3489
|
dxfViewer.ZoomTo(dxfViewer.GetSpace(dxfViewer.spaceName).scene);
|
|
3465
3490
|
dxfViewer.DoFakeZoomToRedrawScene();
|
|
3466
3491
|
anno.RemoveLabels();
|
|
@@ -3631,6 +3656,42 @@ function updateCanvasContainerWidth() {
|
|
|
3631
3656
|
$('#canvasContainer').css('width', `calc(100% - ${insetStart + insetEnd}px)`);
|
|
3632
3657
|
$('#canvasContainer').css('inset-inline-start', `${insetStart}px`);
|
|
3633
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
|
+
}
|
|
3634
3695
|
}
|
|
3635
3696
|
$(document).ready(function () {
|
|
3636
3697
|
bindBtnToggleSidebarNotes();
|
|
@@ -3655,6 +3716,7 @@ $(document).ready(function () {
|
|
|
3655
3716
|
bindSelectList();
|
|
3656
3717
|
bindScaleSelectChange();
|
|
3657
3718
|
bindPanelResize();
|
|
3719
|
+
bindUpdateDocumentMarkupList();
|
|
3658
3720
|
});
|
|
3659
3721
|
|
|
3660
3722
|
var userLocale =
|