@vitrosoftware/common-ui-ts 1.1.226 → 1.1.228
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/lookup-picker/lookup-picker-selected-item.css +0 -1
- package/css/std/controls/lookup-picker/lookup-picker-value-list.css +0 -1
- package/css/std/controls/lookup-picker/lookup-picker.css +1 -6
- package/css/std/controls/pdf-viewer/img/compare-dlg-separator.svg +3 -1
- package/css/std/controls/pdf-viewer/img/compare-dlg-title.svg +12 -0
- package/css/std/controls/pdf-viewer/pdf-viewer-index.css +148 -0
- package/css/std/controls/pdf-viewer/pdf-viewer.css +148 -0
- package/css/std/controls/select/select.css +2 -2
- package/css/std/controls/table-view/table-view-custom-lookup-edit.css +1 -1
- package/css/std/controls/table-view/treegrid-cell.css +4 -0
- package/css/std/controls/table-view/treegrid-context-menu.css +3 -3
- package/dist/index.css +3 -10
- package/dist/index.js +894 -1126
- package/dist/index.js.map +1 -1
- package/dist/src/controls/LookupPicker/LookupPicker.d.ts +2 -0
- package/dist/src/controls/LookupPicker/ValueList.d.ts +2 -0
- package/dist/src/controls/PdfViewer/services/PdfViewerService.d.ts +6 -0
- package/dist/src/controls/ScrollBar/ScrollBar.d.ts +1 -1
- package/dist/src/controls/TableView/TableViewConstants.d.ts +2 -1
- package/dist/src/controls/TableView/services/TableViewService.d.ts +1 -0
- package/dist/src/controls/TableView/services/impl/TableViewServiceImpl.d.ts +1 -0
- package/dist/src/controls/ViewPart/ViewPart.d.ts +2 -1
- package/dist/src/models/ItemCopyRequest.d.ts +5 -1
- package/dist/src/services/FileService.d.ts +8 -0
- package/lib/dxf-viewer/parser/DxfArrayScanner.js +27 -1
- package/lib/dxf-viewer/parser/DxfParser.js +7 -4
- package/lib/fflate/fflate.module.js +2672 -0
- package/package.json +1 -1
- package/src/controls/BimViewer/js/bim-viewer.js +2 -2
- package/src/controls/DxfViewer/js/dxf-viewer.js +100 -29
- package/src/controls/PdfViewer/js/pdf-viewer.js +240 -36
|
@@ -26,8 +26,10 @@ export interface LookupPickerProps {
|
|
|
26
26
|
isRequired?: boolean;
|
|
27
27
|
isFlipDropdown?: boolean;
|
|
28
28
|
dropdownPlacement?: string;
|
|
29
|
+
dropdownAllowedAutoPlacements?: string[];
|
|
29
30
|
isShowButtonClear?: boolean;
|
|
30
31
|
isShowSearchButton?: boolean;
|
|
32
|
+
isValueListFullWidth?: boolean;
|
|
31
33
|
onSearch?: () => Promise<{
|
|
32
34
|
id: string;
|
|
33
35
|
}[] | undefined>;
|
|
@@ -19,7 +19,9 @@ interface ValueListProps {
|
|
|
19
19
|
id: string;
|
|
20
20
|
}) => FunctionComponentElement<any> | null;
|
|
21
21
|
placement?: any;
|
|
22
|
+
allowedAutoPlacements?: any;
|
|
22
23
|
button?: ButtonProps;
|
|
24
|
+
isFullWidth?: boolean;
|
|
23
25
|
}
|
|
24
26
|
export declare const ValueList: (props: ValueListProps) => JSX.Element;
|
|
25
27
|
export {};
|
|
@@ -2,6 +2,8 @@ import { models } from '../../../models';
|
|
|
2
2
|
import type { Field } from '../../../models/Field';
|
|
3
3
|
import type { Item } from '../../../models/Item';
|
|
4
4
|
import type { ListConfig } from '../../../models/ListConfig';
|
|
5
|
+
import type { ItemService } from '../../../services/ItemService';
|
|
6
|
+
import type { FileService } from '../../../services/FileService';
|
|
5
7
|
export interface PdfViewerService {
|
|
6
8
|
file: any;
|
|
7
9
|
versionId?: string;
|
|
@@ -27,4 +29,8 @@ export interface PdfViewerService {
|
|
|
27
29
|
getSettingsFromLocalStorage: () => any;
|
|
28
30
|
setSettingsToLocalStorage: (settings: string) => void;
|
|
29
31
|
onIssueTileChange: (issue: Item, changedFieldValueMap: Map<string, unknown>) => void;
|
|
32
|
+
getItemIdList: () => Promise<string[]>;
|
|
33
|
+
itemService: ItemService;
|
|
34
|
+
fileService: FileService;
|
|
35
|
+
selectFileBtnText: string;
|
|
30
36
|
}
|
|
@@ -3,7 +3,7 @@ interface ScrollBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
3
3
|
isHideScrollX?: boolean;
|
|
4
4
|
isFocusOnScroll?: boolean;
|
|
5
5
|
isPreventParentScroll?: boolean;
|
|
6
|
-
onInit?: (container: any) => void;
|
|
6
|
+
onInit?: (container: any, scrollElement: any) => void;
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
className?: string;
|
|
9
9
|
contentRef?: React.RefObject<HTMLDivElement>;
|
|
@@ -124,6 +124,7 @@ export interface TableViewService {
|
|
|
124
124
|
getPage(num?: number): models.TableViewRow;
|
|
125
125
|
reloadPage(page: models.TableViewRow): void;
|
|
126
126
|
getFirstVisible(): models.TableViewRow | undefined;
|
|
127
|
+
getLastVisible(): models.TableViewRow | undefined;
|
|
127
128
|
getGanttSlack(row: models.TableViewRow, col?: string, bar?: string): number;
|
|
128
129
|
getDependencies(row: models.TableViewRow, col?: string, ancestors?: boolean): Array<any>;
|
|
129
130
|
getZoomList(col?: string): Array<any>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Item } from "../models/Item";
|
|
2
|
+
export interface FileService {
|
|
3
|
+
get(sourceId: string): Promise<Array<Item>>;
|
|
4
|
+
getBySourceIdVersionId(sourceId: string, version: string): Promise<Item>;
|
|
5
|
+
download(itemId: string, fileName: string, version?: string, isFileBody?: boolean): void;
|
|
6
|
+
restore(versionId: string): any;
|
|
7
|
+
getName(fileName: string, majorVersion: number, minorVersion: number): string;
|
|
8
|
+
}
|
|
@@ -9,18 +9,36 @@
|
|
|
9
9
|
* @param data - an array where each element represents a line in the dxf file
|
|
10
10
|
* @constructor
|
|
11
11
|
*/
|
|
12
|
-
export default function DxfArrayScanner(data) {
|
|
12
|
+
export default function DxfArrayScanner(data, fetcher) {
|
|
13
13
|
this._pointer = 0;
|
|
14
14
|
this._data = data;
|
|
15
15
|
this._eof = false;
|
|
16
|
+
this._fetcher = fetcher;
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
DxfArrayScanner.prototype.checkNextChunk = function () {
|
|
20
|
+
var delta = this._data.length - this._pointer;
|
|
21
|
+
const reserve = 6;
|
|
22
|
+
if (delta <= reserve) {
|
|
23
|
+
var nextChunk = this._fetcher.GetNextChunk();
|
|
24
|
+
if (nextChunk) {
|
|
25
|
+
const tail = this._data.slice(this._pointer - reserve)
|
|
26
|
+
this._data = tail.concat(nextChunk);
|
|
27
|
+
this._pointer = reserve;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
18
33
|
/**
|
|
19
34
|
* Gets the next group (code, value) from the array. A group is two consecutive elements
|
|
20
35
|
* in the array. The first is the code, the second is the value.
|
|
21
36
|
* @returns {{code: Number}|*}
|
|
22
37
|
*/
|
|
23
38
|
DxfArrayScanner.prototype.next = function() {
|
|
39
|
+
if (this._fetcher)
|
|
40
|
+
this.checkNextChunk();
|
|
41
|
+
|
|
24
42
|
var group;
|
|
25
43
|
if(!this.hasNext()) {
|
|
26
44
|
if(!this._eof)
|
|
@@ -33,6 +51,10 @@ DxfArrayScanner.prototype.next = function() {
|
|
|
33
51
|
code: parseInt(this._data[this._pointer])
|
|
34
52
|
};
|
|
35
53
|
|
|
54
|
+
if (isNaN(group.code)) {
|
|
55
|
+
throw new Error("Cannot parse group code: " + this._data[this._pointer])
|
|
56
|
+
}
|
|
57
|
+
|
|
36
58
|
this._pointer++;
|
|
37
59
|
|
|
38
60
|
group.value = parseGroupValue(group.code, this._data[this._pointer]);
|
|
@@ -58,6 +80,10 @@ DxfArrayScanner.prototype.peek = function() {
|
|
|
58
80
|
code: parseInt(this._data[this._pointer])
|
|
59
81
|
};
|
|
60
82
|
|
|
83
|
+
if (isNaN(group.code)) {
|
|
84
|
+
throw new Error("Cannot parse group code: " + this._data[this._pointer])
|
|
85
|
+
}
|
|
86
|
+
|
|
61
87
|
group.value = parseGroupValue(group.code, this._data[this._pointer + 1]);
|
|
62
88
|
|
|
63
89
|
return group;
|
|
@@ -65,7 +65,8 @@ function registerDefaultObjectHandlers(dxfParser) {
|
|
|
65
65
|
dxfParser.registerObjectHandler(Layout);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
export default function DxfParser() {
|
|
68
|
+
export default function DxfParser(dxfFetcher) {
|
|
69
|
+
this._dxfFetcher = dxfFetcher;
|
|
69
70
|
this._entityHandlers = {};
|
|
70
71
|
this._objectHandlers = {};
|
|
71
72
|
|
|
@@ -127,7 +128,7 @@ DxfParser.prototype._parse = function(dxfString) {
|
|
|
127
128
|
var scanner, curr, dxf = {}, lastHandle = 0;
|
|
128
129
|
var dxfLinesArray = dxfString.split(/\r\n|\r|\n/g);
|
|
129
130
|
|
|
130
|
-
scanner = new DxfArrayScanner(dxfLinesArray);
|
|
131
|
+
scanner = new DxfArrayScanner(dxfLinesArray, this._dxfFetcher);
|
|
131
132
|
if (!scanner.hasNext()) {
|
|
132
133
|
throw Error('Empty file');
|
|
133
134
|
}
|
|
@@ -202,7 +203,7 @@ DxfParser.prototype._parse = function(dxfString) {
|
|
|
202
203
|
if(currVarName) header[currVarName] = currVarValue;
|
|
203
204
|
break;
|
|
204
205
|
} else if(curr.code === 9) {
|
|
205
|
-
if(currVarName) header[currVarName] = currVarValue;
|
|
206
|
+
if (currVarName != null) header[currVarName] = currVarValue;
|
|
206
207
|
currVarName = curr.value;
|
|
207
208
|
// Filter here for particular variables we are interested in
|
|
208
209
|
} else {
|
|
@@ -287,7 +288,7 @@ DxfParser.prototype._parse = function(dxfString) {
|
|
|
287
288
|
curr = scanner.next();
|
|
288
289
|
break;
|
|
289
290
|
case 67:
|
|
290
|
-
block.
|
|
291
|
+
block.inPaperSpace = (curr.value && curr.value == 1) ? true : false;
|
|
291
292
|
curr = scanner.next();
|
|
292
293
|
break;
|
|
293
294
|
case 70:
|
|
@@ -417,6 +418,8 @@ DxfParser.prototype._parse = function(dxfString) {
|
|
|
417
418
|
if(expectedCount !== actualCount)
|
|
418
419
|
expectedCount !== actualCount;
|
|
419
420
|
log.warn('Parsed ' + actualCount + ' ' + tableDefinition.dxfSymbolName + '\'s but expected ' + expectedCount);
|
|
421
|
+
} else {
|
|
422
|
+
table[tableDefinition.tableRecordsProperty] = []
|
|
420
423
|
}
|
|
421
424
|
curr = scanner.next();
|
|
422
425
|
return table;
|