@datagrok-libraries/utils 1.2.0 → 1.3.0
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/shared-components.css +27 -0
- package/package.json +2 -1
- package/src/shared-components/file-input.d.ts +19 -0
- package/src/shared-components/file-input.d.ts.map +1 -0
- package/src/shared-components/file-input.js +116 -0
- package/src/shared-components/ui-utils.d.ts +5 -0
- package/src/shared-components/ui-utils.d.ts.map +1 -0
- package/src/shared-components/ui-utils.js +9 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.drop-area {
|
|
2
|
+
position: relative;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.ui-form-condensed .drop-area .icon {
|
|
6
|
+
position: absolute;
|
|
7
|
+
top: 25px;
|
|
8
|
+
right: 10px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.drop-area .default {
|
|
12
|
+
color: var(--grey-2);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.drop-area .drag-n-dropping {
|
|
16
|
+
background-color: var(--steel-1);
|
|
17
|
+
border: 1px dashed var(--blue-1);
|
|
18
|
+
color: var(--grey-3);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.drop-area .error {
|
|
22
|
+
color: var(--red-3);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.drop-area .success {
|
|
26
|
+
color: var(--grey-6);
|
|
27
|
+
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"fullName": "Utils",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.3.0",
|
|
8
8
|
"description": "Common utilities",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@types/node": "^14.14.37",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"exceljs": "^4.3.0",
|
|
15
15
|
"html2canvas": "^1.4.1",
|
|
16
16
|
"node-fetch": "^2.6.0",
|
|
17
|
+
"rxjs": "^7.5.6",
|
|
17
18
|
"wu": "latest"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import '../../css/shared-components.css';
|
|
3
|
+
export declare const EXCEL_BLOB_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
|
4
|
+
export declare class FileInput {
|
|
5
|
+
initialText: string;
|
|
6
|
+
initialValue: File | null;
|
|
7
|
+
onValueChanged: Function | null;
|
|
8
|
+
fileType: string;
|
|
9
|
+
uploadedFile$: Subject<File | null>;
|
|
10
|
+
root: HTMLDivElement;
|
|
11
|
+
private visibleInput;
|
|
12
|
+
private hiddenInput;
|
|
13
|
+
private icon;
|
|
14
|
+
constructor(initialText?: string, initialValue?: File | null, onValueChanged?: Function | null, fileType?: string);
|
|
15
|
+
private draw;
|
|
16
|
+
private reset;
|
|
17
|
+
private clear;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=file-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-input.d.ts","sourceRoot":"","sources":["file-input.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAC7B,OAAO,iCAAiC,CAAC;AAEzC,eAAO,MAAM,eAAe,sEAAsE,CAAC;AAEnG,qBAAa,SAAS;IAWX,WAAW;IACX,YAAY,EAAE,IAAI,GAAG,IAAI;IACzB,cAAc,EAAE,QAAQ,GAAG,IAAI;IAC/B,QAAQ;IAZV,aAAa,uBAA8B;IAE3C,IAAI,iBAAY;IAEvB,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,IAAI,CAA6D;gBAGhE,WAAW,SAAqB,EAChC,YAAY,GAAE,IAAI,GAAG,IAAW,EAChC,cAAc,GAAE,QAAQ,GAAG,IAAW,EACtC,QAAQ,SAAkB;IAQnC,OAAO,CAAC,IAAI;IA0FZ,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import * as ui from 'datagrok-api/ui';
|
|
11
|
+
import { Subject } from 'rxjs';
|
|
12
|
+
import '../../css/shared-components.css';
|
|
13
|
+
export const EXCEL_BLOB_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
14
|
+
export class FileInput {
|
|
15
|
+
constructor(initialText = 'Drag-n-drop here', initialValue = null, onValueChanged = null, fileType = EXCEL_BLOB_TYPE) {
|
|
16
|
+
this.initialText = initialText;
|
|
17
|
+
this.initialValue = initialValue;
|
|
18
|
+
this.onValueChanged = onValueChanged;
|
|
19
|
+
this.fileType = fileType;
|
|
20
|
+
// events to emit
|
|
21
|
+
this.uploadedFile$ = new Subject();
|
|
22
|
+
this.root = ui.div();
|
|
23
|
+
this.visibleInput = ui.stringInput('Input file', this.initialText, null);
|
|
24
|
+
this.hiddenInput = document.createElement('input');
|
|
25
|
+
this.icon = ui.iconFA('cloud-upload', () => this.hiddenInput.click());
|
|
26
|
+
this.draw();
|
|
27
|
+
if (onValueChanged)
|
|
28
|
+
this.uploadedFile$.subscribe(() => this.onValueChanged);
|
|
29
|
+
}
|
|
30
|
+
draw() {
|
|
31
|
+
this.clear();
|
|
32
|
+
const createFileArea = () => {
|
|
33
|
+
this.visibleInput.input.readOnly = true;
|
|
34
|
+
this.visibleInput.input.classList.add('default');
|
|
35
|
+
const handleFiles = (files) => {
|
|
36
|
+
if (files.length > 1) {
|
|
37
|
+
this.visibleInput.input.classList.remove('success');
|
|
38
|
+
this.visibleInput.input.classList.add('error');
|
|
39
|
+
const newIcon = ui.iconFA('redo', () => this.hiddenInput.click());
|
|
40
|
+
this.icon.replaceWith(newIcon);
|
|
41
|
+
this.icon = newIcon;
|
|
42
|
+
throw new Error('Please specify single input file');
|
|
43
|
+
}
|
|
44
|
+
this.visibleInput.value = files[0].name;
|
|
45
|
+
if (files[0].type !== this.fileType) {
|
|
46
|
+
this.visibleInput.input.classList.remove('success');
|
|
47
|
+
this.visibleInput.input.classList.add('error');
|
|
48
|
+
const newIcon = ui.iconFA('redo', () => this.hiddenInput.click());
|
|
49
|
+
this.icon.replaceWith(newIcon);
|
|
50
|
+
this.icon = newIcon;
|
|
51
|
+
throw new Error('File type is not supported');
|
|
52
|
+
}
|
|
53
|
+
this.visibleInput.input.classList.add('success');
|
|
54
|
+
const newIcon = ui.iconFA('times', () => this.reset());
|
|
55
|
+
this.icon.replaceWith(newIcon);
|
|
56
|
+
this.icon = newIcon;
|
|
57
|
+
this.uploadedFile$.next(files[0]);
|
|
58
|
+
};
|
|
59
|
+
this.visibleInput.root.classList.add('drop-area');
|
|
60
|
+
this.visibleInput.root.style.width = '100%';
|
|
61
|
+
// hidden input to handle file dialog
|
|
62
|
+
this.hiddenInput.type = 'file';
|
|
63
|
+
this.hiddenInput.onchange = (e) => {
|
|
64
|
+
//@ts-ignore
|
|
65
|
+
const files = e.target.files;
|
|
66
|
+
handleFiles(files);
|
|
67
|
+
};
|
|
68
|
+
// Prevent default drag behaviors
|
|
69
|
+
['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {
|
|
70
|
+
this.visibleInput.input.addEventListener(eventName, (e) => {
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
e.stopPropagation();
|
|
73
|
+
}, false);
|
|
74
|
+
});
|
|
75
|
+
['dragenter', 'dragover'].forEach((eventName) => {
|
|
76
|
+
this.visibleInput.input.addEventListener(eventName, () => {
|
|
77
|
+
this.visibleInput.input.classList.add('drag-n-dropping');
|
|
78
|
+
}, false);
|
|
79
|
+
});
|
|
80
|
+
['dragleave', 'drop'].forEach((eventName) => {
|
|
81
|
+
this.visibleInput.input.addEventListener(eventName, () => {
|
|
82
|
+
this.visibleInput.input.classList.remove('drag-n-dropping');
|
|
83
|
+
}, false);
|
|
84
|
+
});
|
|
85
|
+
// Handle dropped files
|
|
86
|
+
this.visibleInput.input.addEventListener('drop', (e) => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const dt = e.dataTransfer;
|
|
88
|
+
const files = dt.files;
|
|
89
|
+
handleFiles(files);
|
|
90
|
+
}), false);
|
|
91
|
+
// Pass clicks to hidden file input
|
|
92
|
+
this.visibleInput.input.addEventListener('click', () => this.hiddenInput.click(), false);
|
|
93
|
+
this.visibleInput.root.append(ui.div(this.icon, 'icon'));
|
|
94
|
+
return this.visibleInput;
|
|
95
|
+
};
|
|
96
|
+
['drag', 'dragenter'].forEach((eventName) => {
|
|
97
|
+
document.getElementsByClassName('layout-workarea')[0].addEventListener(eventName, (e) => {
|
|
98
|
+
e.stopPropagation();
|
|
99
|
+
}, false);
|
|
100
|
+
});
|
|
101
|
+
this.root.style.display = 'flex';
|
|
102
|
+
this.root.append(createFileArea().root);
|
|
103
|
+
}
|
|
104
|
+
reset() {
|
|
105
|
+
this.visibleInput.input.classList.value = 'ui-input-editor default';
|
|
106
|
+
const newIcon = ui.iconFA('cloud-upload', () => this.hiddenInput.click());
|
|
107
|
+
this.icon.replaceWith(newIcon);
|
|
108
|
+
this.icon = newIcon;
|
|
109
|
+
this.visibleInput.value = this.initialText;
|
|
110
|
+
this.uploadedFile$.next(this.initialValue);
|
|
111
|
+
}
|
|
112
|
+
clear() {
|
|
113
|
+
ui.empty(this.root);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGUtaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8saUNBQWlDLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLG1FQUFtRSxDQUFDO0FBRW5HLE1BQU0sT0FBTyxTQUFTO0lBVXBCLFlBQ1MsY0FBYyxrQkFBa0IsRUFDaEMsZUFBNEIsSUFBSSxFQUNoQyxpQkFBa0MsSUFBSSxFQUN0QyxXQUFXLGVBQWU7UUFIMUIsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFibkMsaUJBQWlCO1FBQ1Ysa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBRTNDLFNBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFZixpQkFBWSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLFNBQUksR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFRdkUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosSUFBSSxjQUFjO1lBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENB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LENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLHlCQUF5QixDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sS0FBSztRQUNYLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICcuLi8uLi9jc3Mvc2hhcmVkLWNvbXBvbmVudHMuY3NzJztcblxuZXhwb3J0IGNvbnN0IEVYQ0VMX0JMT0JfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc7XG5cbmV4cG9ydCBjbGFzcyBGaWxlSW5wdXQge1xuICAvLyBldmVudHMgdG8gZW1pdFxuICBwdWJsaWMgdXBsb2FkZWRGaWxlJCA9IG5ldyBTdWJqZWN0PEZpbGUgfCBudWxsPigpO1xuXG4gIHB1YmxpYyByb290ID0gdWkuZGl2KCk7XG5cbiAgcHJpdmF0ZSB2aXNpYmxlSW5wdXQgPSB1aS5zdHJpbmdJbnB1dCgnSW5wdXQgZmlsZScsIHRoaXMuaW5pdGlhbFRleHQsIG51bGwpO1xuICBwcml2YXRlIGhpZGRlbklucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgcHJpdmF0ZSBpY29uID0gdWkuaWNvbkZBKCdjbG91ZC11cGxvYWQnLCAoKSA9PiB0aGlzLmhpZGRlbklucHV0LmNsaWNrKCkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbml0aWFsVGV4dCA9ICdEcmFnLW4tZHJvcCBoZXJlJyxcbiAgICBwdWJsaWMgaW5pdGlhbFZhbHVlOiBGaWxlIHwgbnVsbCA9IG51bGwsXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2VkOiBGdW5jdGlvbiB8IG51bGwgPSBudWxsLFxuICAgIHB1YmxpYyBmaWxlVHlwZSA9IEVYQ0VMX0JMT0JfVFlQRVxuICApIHtcbiAgICB0aGlzLmRyYXcoKTtcblxuICAgIGlmIChvblZhbHVlQ2hhbmdlZClcbiAgICAgIHRoaXMudXBsb2FkZWRGaWxlJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblZhbHVlQ2hhbmdlZCk7XG4gIH1cblxuICBwcml2YXRlIGRyYXcoKSB7XG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgY29uc3QgY3JlYXRlRmlsZUFyZWEgPSAoKSA9PiB7XG4gICAgICAodGhpcy52aXNpYmxlSW5wdXQuaW5wdXQgYXMgSFRNTElucHV0RWxlbWVudCkucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZGVmYXVsdCcpO1xuXG4gICAgICBjb25zdCBoYW5kbGVGaWxlcyA9IChmaWxlczogRmlsZUxpc3QpID0+IHtcbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB0aGlzLnZpc2libGVJbnB1dC5pbnB1dC5jbGFzc0xpc3QucmVtb3ZlKCdzdWNjZXNzJyk7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZXJyb3InKTtcbiAgICAgICAgICBjb25zdCBuZXdJY29uID0gdWkuaWNvbkZBKCdyZWRvJywgKCkgPT4gdGhpcy5oaWRkZW5JbnB1dC5jbGljaygpKTtcbiAgICAgICAgICB0aGlzLmljb24ucmVwbGFjZVdpdGgobmV3SWNvbik7XG4gICAgICAgICAgdGhpcy5pY29uID0gbmV3SWNvbjtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBzcGVjaWZ5IHNpbmdsZSBpbnB1dCBmaWxlJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZpc2libGVJbnB1dC52YWx1ZSA9IGZpbGVzWzBdLm5hbWU7XG4gICAgICAgIGlmIChmaWxlc1swXS50eXBlICE9PSB0aGlzLmZpbGVUeXBlKSB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZSgnc3VjY2VzcycpO1xuICAgICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmNsYXNzTGlzdC5hZGQoJ2Vycm9yJyk7XG4gICAgICAgICAgY29uc3QgbmV3SWNvbiA9IHVpLmljb25GQSgncmVkbycsICgpID0+IHRoaXMuaGlkZGVuSW5wdXQuY2xpY2soKSk7XG4gICAgICAgICAgdGhpcy5pY29uLnJlcGxhY2VXaXRoKG5ld0ljb24pO1xuICAgICAgICAgIHRoaXMuaWNvbiA9IG5ld0ljb247XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnc3VjY2VzcycpO1xuICAgICAgICBjb25zdCBuZXdJY29uID0gdWkuaWNvbkZBKCd0aW1lcycsICgpID0+IHRoaXMucmVzZXQoKSk7XG4gICAgICAgIHRoaXMuaWNvbi5yZXBsYWNlV2l0aChuZXdJY29uKTtcbiAgICAgICAgdGhpcy5pY29uID0gbmV3SWNvbjtcbiAgICAgICAgdGhpcy51cGxvYWRlZEZpbGUkLm5leHQoZmlsZXNbMF0pO1xuICAgICAgfTtcblxuICAgICAgdGhpcy52aXNpYmxlSW5wdXQucm9vdC5jbGFzc0xpc3QuYWRkKCdkcm9wLWFyZWEnKTtcbiAgICAgIHRoaXMudmlzaWJsZUlucHV0LnJvb3Quc3R5bGUud2lkdGggPSAnMTAwJSc7XG5cbiAgICAgIC8vIGhpZGRlbiBpbnB1dCB0byBoYW5kbGUgZmlsZSBkaWFsb2dcblxuICAgICAgdGhpcy5oaWRkZW5JbnB1dC50eXBlID0gJ2ZpbGUnO1xuICAgICAgdGhpcy5oaWRkZW5JbnB1dC5vbmNoYW5nZSA9IChlKSA9PiB7XG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBjb25zdCBmaWxlczogRmlsZUxpc3QgPSBlLnRhcmdldC5maWxlcztcbiAgICAgICAgaGFuZGxlRmlsZXMoZmlsZXMpO1xuICAgICAgfTtcblxuICAgICAgLy8gUHJldmVudCBkZWZhdWx0IGRyYWcgYmVoYXZpb3JzXG4gICAgICBbJ2RyYWdlbnRlcicsICdkcmFnb3ZlcicsICdkcmFnbGVhdmUnLCAnZHJvcCddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgICB0aGlzLnZpc2libGVJbnB1dC5pbnB1dC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfSwgZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICAgIFsnZHJhZ2VudGVyJywgJ2RyYWdvdmVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LmFkZCgnZHJhZy1uLWRyb3BwaW5nJyk7XG4gICAgICAgIH0sIGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICBbJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZy1uLWRyb3BwaW5nJyk7XG4gICAgICAgIH0sIGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBIYW5kbGUgZHJvcHBlZCBmaWxlc1xuICAgICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGFzeW5jIChlOiBEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZHQgPSBlLmRhdGFUcmFuc2ZlcjtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBkdCEuZmlsZXM7XG4gICAgICAgIGhhbmRsZUZpbGVzKGZpbGVzKTtcbiAgICAgIH0sIGZhbHNlKTtcblxuICAgICAgLy8gUGFzcyBjbGlja3MgdG8gaGlkZGVuIGZpbGUgaW5wdXRcbiAgICAgIHRoaXMudmlzaWJsZUlucHV0LmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5oaWRkZW5JbnB1dC5jbGljaygpLCBmYWxzZSk7XG4gICAgICB0aGlzLnZpc2libGVJbnB1dC5yb290LmFwcGVuZCh1aS5kaXYodGhpcy5pY29uLCAnaWNvbicpKTtcblxuICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZUlucHV0O1xuICAgIH07XG5cbiAgICBbJ2RyYWcnLCAnZHJhZ2VudGVyJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdsYXlvdXQtd29ya2FyZWEnKVswXS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGUpID0+IHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0sIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMucm9vdC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuICAgIHRoaXMucm9vdC5hcHBlbmQoY3JlYXRlRmlsZUFyZWEoKS5yb290KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgdGhpcy52aXNpYmxlSW5wdXQuaW5wdXQuY2xhc3NMaXN0LnZhbHVlID0gJ3VpLWlucHV0LWVkaXRvciBkZWZhdWx0JztcbiAgICBjb25zdCBuZXdJY29uID0gdWkuaWNvbkZBKCdjbG91ZC11cGxvYWQnLCAoKSA9PiB0aGlzLmhpZGRlbklucHV0LmNsaWNrKCkpO1xuICAgIHRoaXMuaWNvbi5yZXBsYWNlV2l0aChuZXdJY29uKTtcbiAgICB0aGlzLmljb24gPSBuZXdJY29uO1xuICAgIHRoaXMudmlzaWJsZUlucHV0LnZhbHVlID0gdGhpcy5pbml0aWFsVGV4dDtcbiAgICB0aGlzLnVwbG9hZGVkRmlsZSQubmV4dCh0aGlzLmluaXRpYWxWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyKCkge1xuICAgIHVpLmVtcHR5KHRoaXMucm9vdCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-utils.d.ts","sourceRoot":"","sources":["ui-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAC,MAAM,cAAc,CAAC;AAExD,yBAAiB,OAAO,CAAC;IACvB,SAAgB,SAAS,CACvB,WAAW,SAAqB,EAChC,YAAY,GAAE,IAAI,GAAG,IAAW,EAChC,cAAc,GAAE,QAAQ,GAAG,IAAW,EACtC,QAAQ,SAAkB,aAG3B;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EXCEL_BLOB_TYPE, FileInput } from './file-input';
|
|
2
|
+
export var UiUtils;
|
|
3
|
+
(function (UiUtils) {
|
|
4
|
+
function fileInput(initialText = 'Drag-n-drop here', initialValue = null, onValueChanged = null, fileType = EXCEL_BLOB_TYPE) {
|
|
5
|
+
return new FileInput(initialText, initialValue, onValueChanged, fileType);
|
|
6
|
+
}
|
|
7
|
+
UiUtils.fileInput = fileInput;
|
|
8
|
+
})(UiUtils || (UiUtils = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1aS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV4RCxNQUFNLEtBQVcsT0FBTyxDQVN2QjtBQVRELFdBQWlCLE9BQU87SUFDdEIsU0FBZ0IsU0FBUyxDQUN2QixXQUFXLEdBQUcsa0JBQWtCLEVBQ2hDLGVBQTRCLElBQUksRUFDaEMsaUJBQWtDLElBQUksRUFDdEMsUUFBUSxHQUFHLGVBQWU7UUFFMUIsT0FBTyxJQUFJLFNBQVMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBUGUsaUJBQVMsWUFPeEIsQ0FBQTtBQUNILENBQUMsRUFUZ0IsT0FBTyxLQUFQLE9BQU8sUUFTdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VYQ0VMX0JMT0JfVFlQRSwgRmlsZUlucHV0fSBmcm9tICcuL2ZpbGUtaW5wdXQnO1xuXG5leHBvcnQgbmFtZXNwYWNlIFVpVXRpbHMge1xuICBleHBvcnQgZnVuY3Rpb24gZmlsZUlucHV0KFxuICAgIGluaXRpYWxUZXh0ID0gJ0RyYWctbi1kcm9wIGhlcmUnLFxuICAgIGluaXRpYWxWYWx1ZTogRmlsZSB8IG51bGwgPSBudWxsLFxuICAgIG9uVmFsdWVDaGFuZ2VkOiBGdW5jdGlvbiB8IG51bGwgPSBudWxsLFxuICAgIGZpbGVUeXBlID0gRVhDRUxfQkxPQl9UWVBFXG4gICkge1xuICAgIHJldHVybiBuZXcgRmlsZUlucHV0KGluaXRpYWxUZXh0LCBpbml0aWFsVmFsdWUsIG9uVmFsdWVDaGFuZ2VkLCBmaWxlVHlwZSk7XG4gIH1cbn1cbiJdfQ==
|