@mlightcad/cad-simple-viewer 1.7.4 → 1.7.5
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/README.md +5 -0
- package/dist/cad-simple-viewer.js +8578 -7149
- package/dist/cad-simple-viewer.umd.cjs +429 -85
- package/lib/app/AcApDocManager.d.ts +44 -1
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +126 -1
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/app/AcApOpenDatabaseOptions.d.ts +27 -0
- package/lib/app/AcApOpenDatabaseOptions.d.ts.map +1 -1
- package/lib/app/AcApOpenFileDialog.d.ts +1 -1
- package/lib/app/AcApOpenFileDialog.d.ts.map +1 -1
- package/lib/app/AcApOpenFileDialog.js +22 -92
- package/lib/app/AcApOpenFileDialog.js.map +1 -1
- package/lib/app/AcApOpenFileProfiler.d.ts +14 -0
- package/lib/app/AcApOpenFileProfiler.d.ts.map +1 -1
- package/lib/app/AcApOpenFileProfiler.js +25 -3
- package/lib/app/AcApOpenFileProfiler.js.map +1 -1
- package/lib/app/dataSource/AcApDataSource.d.ts +97 -0
- package/lib/app/dataSource/AcApDataSource.d.ts.map +1 -0
- package/lib/app/dataSource/AcApDataSource.js +2 -0
- package/lib/app/dataSource/AcApDataSource.js.map +1 -0
- package/lib/app/dataSource/AcApDataSourceManager.d.ts +70 -0
- package/lib/app/dataSource/AcApDataSourceManager.d.ts.map +1 -0
- package/lib/app/dataSource/AcApDataSourceManager.js +84 -0
- package/lib/app/dataSource/AcApDataSourceManager.js.map +1 -0
- package/lib/app/dataSource/AcApLocalDataSource.d.ts +25 -0
- package/lib/app/dataSource/AcApLocalDataSource.d.ts.map +1 -0
- package/lib/app/dataSource/AcApLocalDataSource.js +153 -0
- package/lib/app/dataSource/AcApLocalDataSource.js.map +1 -0
- package/lib/app/dataSource/AcApUrlDataSource.d.ts +17 -0
- package/lib/app/dataSource/AcApUrlDataSource.d.ts.map +1 -0
- package/lib/app/dataSource/AcApUrlDataSource.js +214 -0
- package/lib/app/dataSource/AcApUrlDataSource.js.map +1 -0
- package/lib/app/dataSource/acapBuildDataSourceMenu.d.ts +42 -0
- package/lib/app/dataSource/acapBuildDataSourceMenu.d.ts.map +1 -0
- package/lib/app/dataSource/acapBuildDataSourceMenu.js +121 -0
- package/lib/app/dataSource/acapBuildDataSourceMenu.js.map +1 -0
- package/lib/app/dataSource/acapInvokeDataSourceMenuAction.d.ts +17 -0
- package/lib/app/dataSource/acapInvokeDataSourceMenuAction.d.ts.map +1 -0
- package/lib/app/dataSource/acapInvokeDataSourceMenuAction.js +74 -0
- package/lib/app/dataSource/acapInvokeDataSourceMenuAction.js.map +1 -0
- package/lib/app/dataSource/acapOpenCenteredPopup.d.ts +13 -0
- package/lib/app/dataSource/acapOpenCenteredPopup.d.ts.map +1 -0
- package/lib/app/dataSource/acapOpenCenteredPopup.js +35 -0
- package/lib/app/dataSource/acapOpenCenteredPopup.js.map +1 -0
- package/lib/app/dataSource/acapOpenDataSourceResult.d.ts +13 -0
- package/lib/app/dataSource/acapOpenDataSourceResult.d.ts.map +1 -0
- package/lib/app/dataSource/acapOpenDataSourceResult.js +90 -0
- package/lib/app/dataSource/acapOpenDataSourceResult.js.map +1 -0
- package/lib/app/dataSource/acapRunDataSourceMenuAction.d.ts +15 -0
- package/lib/app/dataSource/acapRunDataSourceMenuAction.d.ts.map +1 -0
- package/lib/app/dataSource/acapRunDataSourceMenuAction.js +74 -0
- package/lib/app/dataSource/acapRunDataSourceMenuAction.js.map +1 -0
- package/lib/app/dataSource/acapWithDataSourceBusy.d.ts +12 -0
- package/lib/app/dataSource/acapWithDataSourceBusy.d.ts.map +1 -0
- package/lib/app/dataSource/acapWithDataSourceBusy.js +88 -0
- package/lib/app/dataSource/acapWithDataSourceBusy.js.map +1 -0
- package/lib/app/dataSource/index.d.ts +11 -0
- package/lib/app/dataSource/index.d.ts.map +1 -0
- package/lib/app/dataSource/index.js +10 -0
- package/lib/app/dataSource/index.js.map +1 -0
- package/lib/app/index.d.ts +1 -0
- package/lib/app/index.d.ts.map +1 -1
- package/lib/app/index.js +1 -0
- package/lib/app/index.js.map +1 -1
- package/lib/editor/global/AcEdUiTheme.d.ts +10 -1
- package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
- package/lib/editor/global/AcEdUiTheme.js +35 -2
- package/lib/editor/global/AcEdUiTheme.js.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.js +7 -7
- package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
- package/lib/i18n/ar/main.d.ts +26 -0
- package/lib/i18n/ar/main.d.ts.map +1 -1
- package/lib/i18n/ar/main.js +26 -0
- package/lib/i18n/ar/main.js.map +1 -1
- package/lib/i18n/cs/main.d.ts +26 -0
- package/lib/i18n/cs/main.d.ts.map +1 -1
- package/lib/i18n/cs/main.js +26 -0
- package/lib/i18n/cs/main.js.map +1 -1
- package/lib/i18n/en/main.d.ts +26 -0
- package/lib/i18n/en/main.d.ts.map +1 -1
- package/lib/i18n/en/main.js +26 -0
- package/lib/i18n/en/main.js.map +1 -1
- package/lib/i18n/tr/main.d.ts +26 -0
- package/lib/i18n/tr/main.d.ts.map +1 -1
- package/lib/i18n/tr/main.js +26 -0
- package/lib/i18n/tr/main.js.map +1 -1
- package/lib/i18n/zh/main.d.ts +26 -0
- package/lib/i18n/zh/main.d.ts.map +1 -1
- package/lib/i18n/zh/main.js +26 -0
- package/lib/i18n/zh/main.js.map +1 -1
- package/lib/ui/AcUiFileOpenPanel.d.ts +156 -0
- package/lib/ui/AcUiFileOpenPanel.d.ts.map +1 -0
- package/lib/ui/AcUiFileOpenPanel.js +695 -0
- package/lib/ui/AcUiFileOpenPanel.js.map +1 -0
- package/lib/ui/icons.d.ts +2 -0
- package/lib/ui/icons.d.ts.map +1 -1
- package/lib/ui/icons.js +2 -0
- package/lib/ui/icons.js.map +1 -1
- package/lib/ui/index.d.ts +1 -0
- package/lib/ui/index.d.ts.map +1 -1
- package/lib/ui/index.js +1 -0
- package/lib/ui/index.js.map +1 -1
- package/lib/util/AcApTextStyleFontPreload.d.ts +42 -0
- package/lib/util/AcApTextStyleFontPreload.d.ts.map +1 -0
- package/lib/util/AcApTextStyleFontPreload.js +149 -0
- package/lib/util/AcApTextStyleFontPreload.js.map +1 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/lib/view/AcTrLayout.d.ts +5 -0
- package/lib/view/AcTrLayout.d.ts.map +1 -1
- package/lib/view/AcTrLayout.js +11 -0
- package/lib/view/AcTrLayout.js.map +1 -1
- package/lib/view/AcTrScene.d.ts +7 -0
- package/lib/view/AcTrScene.d.ts.map +1 -1
- package/lib/view/AcTrScene.js +78 -48
- package/lib/view/AcTrScene.js.map +1 -1
- package/lib/view/AcTrView2d.d.ts +68 -1
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +311 -124
- package/lib/view/AcTrView2d.js.map +1 -1
- package/package.json +8 -8
- package/src/ui/icons.ts +4 -0
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Runs a menu action against an already-resolved {@link AcApDataSource}.
|
|
39
|
+
*
|
|
40
|
+
* Prefer this on landing pages that own a {@link AcApDataSourceManager} before
|
|
41
|
+
* {@link AcApDocManager} exists. For in-viewer Open menus, use
|
|
42
|
+
* {@link acapRunDataSourceMenuAction} which also opens the returned file.
|
|
43
|
+
*
|
|
44
|
+
* Never chains sign-in into pick.
|
|
45
|
+
*
|
|
46
|
+
* @param source - Data source that owns {@link AcApDataSourceMenuItem.sourceId}
|
|
47
|
+
* @param item - Menu item from {@link acapBuildDataSourceMenu}
|
|
48
|
+
* @returns Picked file for `pick`; `undefined` for sign-in / sign-out
|
|
49
|
+
*/
|
|
50
|
+
export function acapInvokeDataSourceMenuAction(source, item) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
52
|
+
return __generator(this, function (_a) {
|
|
53
|
+
switch (_a.label) {
|
|
54
|
+
case 0:
|
|
55
|
+
if (source.id !== item.sourceId) {
|
|
56
|
+
return [2 /*return*/, undefined];
|
|
57
|
+
}
|
|
58
|
+
if (!(item.action === 'sign-in')) return [3 /*break*/, 2];
|
|
59
|
+
return [4 /*yield*/, source.signIn()];
|
|
60
|
+
case 1:
|
|
61
|
+
_a.sent();
|
|
62
|
+
return [2 /*return*/, undefined];
|
|
63
|
+
case 2:
|
|
64
|
+
if (!(item.action === 'sign-out')) return [3 /*break*/, 4];
|
|
65
|
+
return [4 /*yield*/, source.signOut()];
|
|
66
|
+
case 3:
|
|
67
|
+
_a.sent();
|
|
68
|
+
return [2 /*return*/, undefined];
|
|
69
|
+
case 4: return [2 /*return*/, source.pick()];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=acapInvokeDataSourceMenuAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapInvokeDataSourceMenuAction.js","sourceRoot":"","sources":["../../../src/app/dataSource/acapInvokeDataSourceMenuAction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAgB,8BAA8B,CAClD,MAAsB,EACtB,IAA4B;;;;;oBAE5B,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChC,sBAAO,SAAS,EAAA;oBAClB,CAAC;yBAEG,CAAA,IAAI,CAAC,MAAM,KAAK,SAAS,CAAA,EAAzB,wBAAyB;oBAC3B,qBAAM,MAAM,CAAC,MAAM,EAAE,EAAA;;oBAArB,SAAqB,CAAA;oBACrB,sBAAO,SAAS,EAAA;;yBAGd,CAAA,IAAI,CAAC,MAAM,KAAK,UAAU,CAAA,EAA1B,wBAA0B;oBAC5B,qBAAM,MAAM,CAAC,OAAO,EAAE,EAAA;;oBAAtB,SAAsB,CAAA;oBACtB,sBAAO,SAAS,EAAA;wBAGlB,sBAAO,MAAM,CAAC,IAAI,EAAE,EAAA;;;;CACrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opens a named popup centered on the current screen (desktop).
|
|
3
|
+
*
|
|
4
|
+
* Cloud data sources that need a File Picker popup should use this helper so
|
|
5
|
+
* hosts never hard-code vendor-specific window placement.
|
|
6
|
+
*
|
|
7
|
+
* @param name - `window.open` target name (reuses an existing window with that name)
|
|
8
|
+
* @param width - Outer width in CSS pixels
|
|
9
|
+
* @param height - Outer height in CSS pixels
|
|
10
|
+
* @returns The opened window, or `null` when blocked
|
|
11
|
+
*/
|
|
12
|
+
export declare function acapOpenCenteredPopup(name: string, width?: number, height?: number): Window | null;
|
|
13
|
+
//# sourceMappingURL=acapOpenCenteredPopup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapOpenCenteredPopup.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/acapOpenCenteredPopup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,SAAO,EACZ,MAAM,SAAM,GACX,MAAM,GAAG,IAAI,CA8Bf"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opens a named popup centered on the current screen (desktop).
|
|
3
|
+
*
|
|
4
|
+
* Cloud data sources that need a File Picker popup should use this helper so
|
|
5
|
+
* hosts never hard-code vendor-specific window placement.
|
|
6
|
+
*
|
|
7
|
+
* @param name - `window.open` target name (reuses an existing window with that name)
|
|
8
|
+
* @param width - Outer width in CSS pixels
|
|
9
|
+
* @param height - Outer height in CSS pixels
|
|
10
|
+
* @returns The opened window, or `null` when blocked
|
|
11
|
+
*/
|
|
12
|
+
export function acapOpenCenteredPopup(name, width, height) {
|
|
13
|
+
if (width === void 0) { width = 1080; }
|
|
14
|
+
if (height === void 0) { height = 680; }
|
|
15
|
+
var dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
|
|
16
|
+
var dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
|
|
17
|
+
var viewportWidth = window.innerWidth ||
|
|
18
|
+
document.documentElement.clientWidth ||
|
|
19
|
+
screen.width;
|
|
20
|
+
var viewportHeight = window.innerHeight ||
|
|
21
|
+
document.documentElement.clientHeight ||
|
|
22
|
+
screen.height;
|
|
23
|
+
var left = Math.max(0, Math.round(dualScreenLeft + (viewportWidth - width) / 2));
|
|
24
|
+
var top = Math.max(0, Math.round(dualScreenTop + (viewportHeight - height) / 2));
|
|
25
|
+
var features = [
|
|
26
|
+
"width=".concat(width),
|
|
27
|
+
"height=".concat(height),
|
|
28
|
+
"left=".concat(left),
|
|
29
|
+
"top=".concat(top),
|
|
30
|
+
'resizable=yes',
|
|
31
|
+
'scrollbars=yes'
|
|
32
|
+
].join(',');
|
|
33
|
+
return window.open('', name, features);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=acapOpenCenteredPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapOpenCenteredPopup.js","sourceRoot":"","sources":["../../../src/app/dataSource/acapOpenCenteredPopup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,KAAY,EACZ,MAAY;IADZ,sBAAA,EAAA,YAAY;IACZ,uBAAA,EAAA,YAAY;IAEZ,IAAM,cAAc,GAClB,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IACtE,IAAM,aAAa,GACjB,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IACpE,IAAM,aAAa,GACjB,MAAM,CAAC,UAAU;QACjB,QAAQ,CAAC,eAAe,CAAC,WAAW;QACpC,MAAM,CAAC,KAAK,CAAA;IACd,IAAM,cAAc,GAClB,MAAM,CAAC,WAAW;QAClB,QAAQ,CAAC,eAAe,CAAC,YAAY;QACrC,MAAM,CAAC,MAAM,CAAA;IACf,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CACzD,CAAA;IACD,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAC1D,CAAA;IACD,IAAM,QAAQ,GAAG;QACf,gBAAS,KAAK,CAAE;QAChB,iBAAU,MAAM,CAAE;QAClB,eAAQ,IAAI,CAAE;QACd,cAAO,GAAG,CAAE;QACZ,eAAe;QACf,gBAAgB;KACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;AACxC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AcApOpenDatabaseOptions } from '../AcApOpenDatabaseOptions';
|
|
2
|
+
import type { AcApDataSourceFile } from './AcApDataSource';
|
|
3
|
+
/**
|
|
4
|
+
* Opens a file obtained from a data source via {@link AcApDocManager}.
|
|
5
|
+
*
|
|
6
|
+
* Uses `openUrl` when {@link AcApDataSourceFile.url} is set; otherwise
|
|
7
|
+
* `openDocument` with {@link AcApDataSourceFile.content}.
|
|
8
|
+
*
|
|
9
|
+
* @param file - Result from {@link AcApDataSource.pick}
|
|
10
|
+
* @param options - Optional open options (defaults come from DocManager)
|
|
11
|
+
*/
|
|
12
|
+
export declare function acapOpenDataSourceResult(file: AcApDataSourceFile, options?: AcApOpenDatabaseOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=acapOpenDataSourceResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapOpenDataSourceResult.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/acapOpenDataSourceResult.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
|
@@ -0,0 +1,90 @@
|
|
|
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
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { eventBus } from '../../editor/global/eventBus';
|
|
38
|
+
import { AcEdOpenMode } from '../../editor/view/AcEdOpenMode';
|
|
39
|
+
/**
|
|
40
|
+
* Opens a file obtained from a data source via {@link AcApDocManager}.
|
|
41
|
+
*
|
|
42
|
+
* Uses `openUrl` when {@link AcApDataSourceFile.url} is set; otherwise
|
|
43
|
+
* `openDocument` with {@link AcApDataSourceFile.content}.
|
|
44
|
+
*
|
|
45
|
+
* @param file - Result from {@link AcApDataSource.pick}
|
|
46
|
+
* @param options - Optional open options (defaults come from DocManager)
|
|
47
|
+
*/
|
|
48
|
+
export function acapOpenDataSourceResult(file, options) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
50
|
+
var AcApDocManager, dm, openOptions, _a, log;
|
|
51
|
+
var _b;
|
|
52
|
+
return __generator(this, function (_c) {
|
|
53
|
+
switch (_c.label) {
|
|
54
|
+
case 0: return [4 /*yield*/, import('../AcApDocManager')];
|
|
55
|
+
case 1:
|
|
56
|
+
AcApDocManager = (_c.sent()).AcApDocManager;
|
|
57
|
+
dm = AcApDocManager.instance;
|
|
58
|
+
if (!(options !== null && options !== void 0)) return [3 /*break*/, 2];
|
|
59
|
+
_a = options;
|
|
60
|
+
return [3 /*break*/, 4];
|
|
61
|
+
case 2: return [4 /*yield*/, dm.resolveOpenDocumentDefaults()];
|
|
62
|
+
case 3:
|
|
63
|
+
_a = (_c.sent());
|
|
64
|
+
_c.label = 4;
|
|
65
|
+
case 4:
|
|
66
|
+
openOptions = _a;
|
|
67
|
+
eventBus.emit('open-local-file-started', {
|
|
68
|
+
mode: (_b = openOptions.mode) !== null && _b !== void 0 ? _b : AcEdOpenMode.Read
|
|
69
|
+
});
|
|
70
|
+
if (!file.url) return [3 /*break*/, 6];
|
|
71
|
+
return [4 /*yield*/, dm.openUrl(file.url, openOptions)];
|
|
72
|
+
case 5:
|
|
73
|
+
_c.sent();
|
|
74
|
+
return [2 /*return*/];
|
|
75
|
+
case 6:
|
|
76
|
+
if (!!file.content) return [3 /*break*/, 8];
|
|
77
|
+
return [4 /*yield*/, import('@mlightcad/data-model')];
|
|
78
|
+
case 7:
|
|
79
|
+
log = (_c.sent()).log;
|
|
80
|
+
log.error('Data source file has neither content nor url:', file.name);
|
|
81
|
+
return [2 /*return*/];
|
|
82
|
+
case 8: return [4 /*yield*/, dm.openDocument(file.name, file.content, openOptions)];
|
|
83
|
+
case 9:
|
|
84
|
+
_c.sent();
|
|
85
|
+
return [2 /*return*/];
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=acapOpenDataSourceResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapOpenDataSourceResult.js","sourceRoot":"","sources":["../../../src/app/dataSource/acapOpenDataSourceResult.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAI7D;;;;;;;;GAQG;AACH,MAAM,UAAgB,wBAAwB,CAC5C,IAAwB,EACxB,OAAiC;;;;;;wBAEN,qBAAM,MAAM,CAAC,mBAAmB,CAAC,EAAA;;oBAApD,cAAc,GAAK,CAAA,SAAiC,CAAA,eAAtC;oBAChB,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAA;0BAEhC,OAAO,aAAP,OAAO;oBAAP,KAAA,OAAO,CAAA;;wBAAK,qBAAM,EAAE,CAAC,2BAA2B,EAAE,EAAA;;oBAAvC,KAAA,CAAC,SAAsC,CAAC,CAAA;;;oBAD/C,WAAW,KACoC;oBAErD,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE;wBACvC,IAAI,EAAE,MAAA,WAAW,CAAC,IAAI,mCAAI,YAAY,CAAC,IAAI;qBAC5C,CAAC,CAAA;yBAEE,IAAI,CAAC,GAAG,EAAR,wBAAQ;oBACV,qBAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;;oBAAvC,SAAuC,CAAA;oBACvC,sBAAM;;yBAGJ,CAAC,IAAI,CAAC,OAAO,EAAb,wBAAa;oBACC,qBAAM,MAAM,CAAC,uBAAuB,CAAC,EAAA;;oBAA7C,GAAG,GAAK,CAAA,SAAqC,CAAA,IAA1C;oBACX,GAAG,CAAC,KAAK,CAAC,+CAA+C,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBACrE,sBAAM;wBAGR,qBAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAA;;oBAA3D,SAA2D,CAAA;;;;;CAC5D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AcApOpenDatabaseOptions } from '../AcApOpenDatabaseOptions';
|
|
2
|
+
import type { AcApDataSourceMenuItem } from './acapBuildDataSourceMenu';
|
|
3
|
+
import type { AcApDataSourceManager } from './AcApDataSourceManager';
|
|
4
|
+
/**
|
|
5
|
+
* Runs the action associated with a data-source menu item and opens pick results.
|
|
6
|
+
*
|
|
7
|
+
* Never chains sign-in into pick — that would open a second popup after an
|
|
8
|
+
* `await` and get blocked by the browser.
|
|
9
|
+
*
|
|
10
|
+
* @param item - Menu item from {@link acapBuildDataSourceMenu}
|
|
11
|
+
* @param options - Optional open options for pick results
|
|
12
|
+
* @param manager - Optional registry (defaults to DocManager's dataSourceManager)
|
|
13
|
+
*/
|
|
14
|
+
export declare function acapRunDataSourceMenuAction(item: AcApDataSourceMenuItem, options?: AcApOpenDatabaseOptions, manager?: AcApDataSourceManager): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=acapRunDataSourceMenuAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapRunDataSourceMenuAction.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/acapRunDataSourceMenuAction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAIpE;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { AcApDocManager } from '../AcApDocManager';
|
|
38
|
+
import { acapInvokeDataSourceMenuAction } from './acapInvokeDataSourceMenuAction';
|
|
39
|
+
import { acapOpenDataSourceResult } from './acapOpenDataSourceResult';
|
|
40
|
+
/**
|
|
41
|
+
* Runs the action associated with a data-source menu item and opens pick results.
|
|
42
|
+
*
|
|
43
|
+
* Never chains sign-in into pick — that would open a second popup after an
|
|
44
|
+
* `await` and get blocked by the browser.
|
|
45
|
+
*
|
|
46
|
+
* @param item - Menu item from {@link acapBuildDataSourceMenu}
|
|
47
|
+
* @param options - Optional open options for pick results
|
|
48
|
+
* @param manager - Optional registry (defaults to DocManager's dataSourceManager)
|
|
49
|
+
*/
|
|
50
|
+
export function acapRunDataSourceMenuAction(item, options, manager) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
52
|
+
var dsm, source, file;
|
|
53
|
+
var _a;
|
|
54
|
+
return __generator(this, function (_b) {
|
|
55
|
+
switch (_b.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
dsm = manager !== null && manager !== void 0 ? manager : (_a = AcApDocManager.tryGetInstance()) === null || _a === void 0 ? void 0 : _a.dataSourceManager;
|
|
58
|
+
source = dsm === null || dsm === void 0 ? void 0 : dsm.get(item.sourceId);
|
|
59
|
+
if (!source)
|
|
60
|
+
return [2 /*return*/];
|
|
61
|
+
return [4 /*yield*/, acapInvokeDataSourceMenuAction(source, item)];
|
|
62
|
+
case 1:
|
|
63
|
+
file = _b.sent();
|
|
64
|
+
if (item.action !== 'pick' || !file)
|
|
65
|
+
return [2 /*return*/];
|
|
66
|
+
return [4 /*yield*/, acapOpenDataSourceResult(file, options)];
|
|
67
|
+
case 2:
|
|
68
|
+
_b.sent();
|
|
69
|
+
return [2 /*return*/];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=acapRunDataSourceMenuAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapRunDataSourceMenuAction.js","sourceRoot":"","sources":["../../../src/app/dataSource/acapRunDataSourceMenuAction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE;;;;;;;;;GASG;AACH,MAAM,UAAgB,2BAA2B,CAC/C,IAA4B,EAC5B,OAAiC,EACjC,OAA+B;;;;;;;oBAEzB,GAAG,GACP,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,MAAA,cAAc,CAAC,cAAc,EAAE,0CAAE,iBAAiB,CAAA;oBACzD,MAAM,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACtC,IAAI,CAAC,MAAM;wBAAE,sBAAM;oBAEN,qBAAM,8BAA8B,CAAC,MAAM,EAAE,IAAI,CAAC,EAAA;;oBAAzD,IAAI,GAAG,SAAkD;oBAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI;wBAAE,sBAAM;oBAC3C,qBAAM,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAA;;oBAA7C,SAA6C,CAAA;;;;;CAC9C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runs cloud download / post-picker work under a busy overlay.
|
|
3
|
+
*
|
|
4
|
+
* Uses {@link AcApDocManager.showBusyIndicator} when a DocManager exists;
|
|
5
|
+
* otherwise mounts a temporary {@link AcApProgress} on `document.body` so
|
|
6
|
+
* landing pages still show download feedback without host-specific UI.
|
|
7
|
+
*
|
|
8
|
+
* @param work - Async work (typically download after File Picker)
|
|
9
|
+
* @param message - Optional overlay message (defaults to OneDrive/cloud download copy)
|
|
10
|
+
*/
|
|
11
|
+
export declare function acapWithDataSourceBusy<T>(work: () => Promise<T>, message?: string): Promise<T>;
|
|
12
|
+
//# sourceMappingURL=acapWithDataSourceBusy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapWithDataSourceBusy.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/acapWithDataSourceBusy.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC,CAuBZ"}
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { AcApI18n } from '../../i18n/AcApI18n';
|
|
38
|
+
import { AcApDocManager } from '../AcApDocManager';
|
|
39
|
+
import { AcApProgress } from '../AcApProgress';
|
|
40
|
+
/**
|
|
41
|
+
* Runs cloud download / post-picker work under a busy overlay.
|
|
42
|
+
*
|
|
43
|
+
* Uses {@link AcApDocManager.showBusyIndicator} when a DocManager exists;
|
|
44
|
+
* otherwise mounts a temporary {@link AcApProgress} on `document.body` so
|
|
45
|
+
* landing pages still show download feedback without host-specific UI.
|
|
46
|
+
*
|
|
47
|
+
* @param work - Async work (typically download after File Picker)
|
|
48
|
+
* @param message - Optional overlay message (defaults to OneDrive/cloud download copy)
|
|
49
|
+
*/
|
|
50
|
+
export function acapWithDataSourceBusy(work, message) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
52
|
+
var text, dm, progress;
|
|
53
|
+
return __generator(this, function (_a) {
|
|
54
|
+
switch (_a.label) {
|
|
55
|
+
case 0:
|
|
56
|
+
text = message !== null && message !== void 0 ? message : AcApI18n.t('main.dataSource.downloading');
|
|
57
|
+
dm = AcApDocManager.tryGetInstance();
|
|
58
|
+
if (!dm) return [3 /*break*/, 4];
|
|
59
|
+
dm.showBusyIndicator(text);
|
|
60
|
+
_a.label = 1;
|
|
61
|
+
case 1:
|
|
62
|
+
_a.trys.push([1, , 3, 4]);
|
|
63
|
+
return [4 /*yield*/, work()];
|
|
64
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
65
|
+
case 3:
|
|
66
|
+
dm.hideBusyIndicator();
|
|
67
|
+
return [7 /*endfinally*/];
|
|
68
|
+
case 4:
|
|
69
|
+
progress = new AcApProgress({
|
|
70
|
+
host: document.body,
|
|
71
|
+
message: text
|
|
72
|
+
});
|
|
73
|
+
progress.show();
|
|
74
|
+
_a.label = 5;
|
|
75
|
+
case 5:
|
|
76
|
+
_a.trys.push([5, , 7, 8]);
|
|
77
|
+
return [4 /*yield*/, work()];
|
|
78
|
+
case 6: return [2 /*return*/, _a.sent()];
|
|
79
|
+
case 7:
|
|
80
|
+
progress.hide();
|
|
81
|
+
progress.destroy();
|
|
82
|
+
return [7 /*endfinally*/];
|
|
83
|
+
case 8: return [2 /*return*/];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=acapWithDataSourceBusy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acapWithDataSourceBusy.js","sourceRoot":"","sources":["../../../src/app/dataSource/acapWithDataSourceBusy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;;;;;;;GASG;AACH,MAAM,UAAgB,sBAAsB,CAC1C,IAAsB,EACtB,OAAgB;;;;;;oBAEV,IAAI,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAA;oBAC3D,EAAE,GAAG,cAAc,CAAC,cAAc,EAAE,CAAA;yBACtC,EAAE,EAAF,wBAAE;oBACJ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;;;;oBAEjB,qBAAM,IAAI,EAAE,EAAA;wBAAnB,sBAAO,SAAY,EAAA;;oBAEnB,EAAE,CAAC,iBAAiB,EAAE,CAAA;;;oBAIpB,QAAQ,GAAG,IAAI,YAAY,CAAC;wBAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;oBACF,QAAQ,CAAC,IAAI,EAAE,CAAA;;;;oBAEN,qBAAM,IAAI,EAAE,EAAA;wBAAnB,sBAAO,SAAY,EAAA;;oBAEnB,QAAQ,CAAC,IAAI,EAAE,CAAA;oBACf,QAAQ,CAAC,OAAO,EAAE,CAAA;;;;;;CAErB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type { AcApDataSource, AcApDataSourceAccountProfile, AcApDataSourceAuthState, AcApDataSourceFile } from './AcApDataSource';
|
|
2
|
+
export { AcApDataSourceManager, type AcApDataSourceManagerEvents } from './AcApDataSourceManager';
|
|
3
|
+
export { ACAP_LOCAL_DATA_SOURCE_ID, AcApLocalDataSource, acapPickLocalCadFile } from './AcApLocalDataSource';
|
|
4
|
+
export { ACAP_URL_DATA_SOURCE_ID, AcApUrlDataSource } from './AcApUrlDataSource';
|
|
5
|
+
export { acapBuildDataSourceMenu, acapIsSingleLocalOpen, type AcApDataSourceMenuAction, type AcApDataSourceMenuItem } from './acapBuildDataSourceMenu';
|
|
6
|
+
export { acapInvokeDataSourceMenuAction } from './acapInvokeDataSourceMenuAction';
|
|
7
|
+
export { acapOpenCenteredPopup } from './acapOpenCenteredPopup';
|
|
8
|
+
export { acapOpenDataSourceResult } from './acapOpenDataSourceResult';
|
|
9
|
+
export { acapRunDataSourceMenuAction } from './acapRunDataSourceMenuAction';
|
|
10
|
+
export { acapWithDataSourceBusy } from './acapWithDataSourceBusy';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,4BAA4B,EAC5B,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { AcApDataSourceManager } from './AcApDataSourceManager';
|
|
2
|
+
export { ACAP_LOCAL_DATA_SOURCE_ID, AcApLocalDataSource, acapPickLocalCadFile } from './AcApLocalDataSource';
|
|
3
|
+
export { ACAP_URL_DATA_SOURCE_ID, AcApUrlDataSource } from './AcApUrlDataSource';
|
|
4
|
+
export { acapBuildDataSourceMenu, acapIsSingleLocalOpen } from './acapBuildDataSourceMenu';
|
|
5
|
+
export { acapInvokeDataSourceMenuAction } from './acapInvokeDataSourceMenuAction';
|
|
6
|
+
export { acapOpenCenteredPopup } from './acapOpenCenteredPopup';
|
|
7
|
+
export { acapOpenDataSourceResult } from './acapOpenDataSourceResult';
|
|
8
|
+
export { acapRunDataSourceMenuAction } from './acapRunDataSourceMenuAction';
|
|
9
|
+
export { acapWithDataSourceBusy } from './acapWithDataSourceBusy';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/dataSource/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,qBAAqB,EAEtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAGtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA"}
|
package/lib/app/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * from './AcApProgress';
|
|
|
14
14
|
export * from './openFileProgress';
|
|
15
15
|
export * from './AcApSettingManager';
|
|
16
16
|
export * from './AcApLayerSessionState';
|
|
17
|
+
export * from './dataSource';
|
|
17
18
|
export type { AcApOpenDatabaseOptions, AcApOpenSysVars } from './AcApOpenDatabaseOptions';
|
|
18
19
|
export { AcApOpenViewMode } from './AcApOpenDatabaseOptions';
|
|
19
20
|
export type { AcApOpenDocumentDefaultsResolver, AcApOpenFileDialogOptions } from './AcApOpenFileDialog';
|
package/lib/app/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,YAAY,EACV,uBAAuB,EACvB,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,YAAY,EACV,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,sBAAsB,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,YAAY,EACV,uBAAuB,EACvB,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,YAAY,EACV,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,sBAAsB,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
package/lib/app/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export * from './AcApProgress';
|
|
|
14
14
|
export * from './openFileProgress';
|
|
15
15
|
export * from './AcApSettingManager';
|
|
16
16
|
export * from './AcApLayerSessionState';
|
|
17
|
+
export * from './dataSource';
|
|
17
18
|
export { AcApOpenViewMode } from './AcApOpenDatabaseOptions';
|
|
18
19
|
export { acapInstallOpenFileDialog, acapUninstallOpenFileDialog, acapUpdateOpenFileDialogOptions } from './AcApOpenFileDialog';
|
|
19
20
|
export * from './notification';
|
package/lib/app/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAK5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAK5D,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,sBAAsB,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
export type AcEdUiTheme = 'light' | 'dark';
|
|
2
|
+
/** Options for {@link acedApplyUiTheme}. */
|
|
3
|
+
export interface AcEdApplyUiThemeOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Use a self-contained palette (hex / rgba) instead of `--el-*` variables.
|
|
6
|
+
* Nested chrome can then keep `light` or `dark` even when the host app theme
|
|
7
|
+
* is the opposite.
|
|
8
|
+
*/
|
|
9
|
+
isolated?: boolean;
|
|
10
|
+
}
|
|
2
11
|
type AcEdUiThemeListener = (theme: AcEdUiTheme) => void;
|
|
3
12
|
/**
|
|
4
13
|
* Subscribes to UI theme changes triggered by {@link acedApplyUiTheme}
|
|
@@ -8,7 +17,7 @@ type AcEdUiThemeListener = (theme: AcEdUiTheme) => void;
|
|
|
8
17
|
* @returns Unsubscribe function.
|
|
9
18
|
*/
|
|
10
19
|
export declare function acedSubscribeUiTheme(listener: AcEdUiThemeListener): () => void;
|
|
11
|
-
export declare function acedApplyUiTheme(theme: AcEdUiTheme, target?: HTMLElement): void;
|
|
20
|
+
export declare function acedApplyUiTheme(theme: AcEdUiTheme, target?: HTMLElement, options?: AcEdApplyUiThemeOptions): void;
|
|
12
21
|
/**
|
|
13
22
|
* Resolves the active UI theme from a host element or the document.
|
|
14
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcEdUiTheme.d.ts","sourceRoot":"","sources":["../../../src/editor/global/AcEdUiTheme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"AcEdUiTheme.d.ts","sourceRoot":"","sources":["../../../src/editor/global/AcEdUiTheme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;AAE1C,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAsED,KAAK,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AAKvD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,IAAI,CAKZ;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,WAAsC,EAC9C,OAAO,CAAC,EAAE,uBAAuB,QA6BlC;AAqBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,CAoBrE"}
|
|
@@ -34,6 +34,36 @@ var __values = (this && this.__values) || function(o) {
|
|
|
34
34
|
};
|
|
35
35
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
36
36
|
};
|
|
37
|
+
var ISOLATED_THEME_TOKENS = {
|
|
38
|
+
light: {
|
|
39
|
+
'--ml-ui-text': '#303133',
|
|
40
|
+
'--ml-ui-text-muted': '#606266',
|
|
41
|
+
'--ml-ui-bg': '#ffffff',
|
|
42
|
+
'--ml-ui-border': '#dcdfe6',
|
|
43
|
+
'--ml-ui-shadow': '0 2px 6px rgba(0, 0, 0, 0.12)',
|
|
44
|
+
'--ml-ui-overlay': 'rgba(0, 0, 0, 0.18)',
|
|
45
|
+
'--ml-ui-accent': '#409eff',
|
|
46
|
+
'--ml-ui-accent-alt': '#909399',
|
|
47
|
+
'--ml-ui-danger': '#f56c6c',
|
|
48
|
+
'--ml-ui-canvas-line': '#409eff',
|
|
49
|
+
'--ml-ui-canvas-fill': 'rgba(64, 158, 255, 0.2)',
|
|
50
|
+
'--ml-ui-canvas-fill-mix': 'color-mix(in srgb, #409eff 20%, transparent)'
|
|
51
|
+
},
|
|
52
|
+
dark: {
|
|
53
|
+
'--ml-ui-text': '#e5eaf3',
|
|
54
|
+
'--ml-ui-text-muted': '#cfd3dc',
|
|
55
|
+
'--ml-ui-bg': '#1d1e1f',
|
|
56
|
+
'--ml-ui-border': '#4c4d4f',
|
|
57
|
+
'--ml-ui-shadow': '0 6px 18px rgba(0, 0, 0, 0.35)',
|
|
58
|
+
'--ml-ui-overlay': 'rgba(0, 0, 0, 0.5)',
|
|
59
|
+
'--ml-ui-accent': '#409eff',
|
|
60
|
+
'--ml-ui-accent-alt': '#909399',
|
|
61
|
+
'--ml-ui-danger': '#f56c6c',
|
|
62
|
+
'--ml-ui-canvas-line': '#409eff',
|
|
63
|
+
'--ml-ui-canvas-fill': 'rgba(64, 158, 255, 0.2)',
|
|
64
|
+
'--ml-ui-canvas-fill-mix': 'color-mix(in srgb, #409eff 20%, transparent)'
|
|
65
|
+
}
|
|
66
|
+
};
|
|
37
67
|
var THEME_TOKENS = {
|
|
38
68
|
light: {
|
|
39
69
|
'--ml-ui-text': 'var(--el-text-color-primary, #303133)',
|
|
@@ -79,14 +109,17 @@ export function acedSubscribeUiTheme(listener) {
|
|
|
79
109
|
themeListeners.delete(listener);
|
|
80
110
|
};
|
|
81
111
|
}
|
|
82
|
-
export function acedApplyUiTheme(theme, target) {
|
|
112
|
+
export function acedApplyUiTheme(theme, target, options) {
|
|
83
113
|
var e_1, _a;
|
|
84
114
|
if (target === void 0) { target = document.documentElement; }
|
|
85
|
-
var tokens =
|
|
115
|
+
var tokens = (options === null || options === void 0 ? void 0 : options.isolated)
|
|
116
|
+
? ISOLATED_THEME_TOKENS[theme]
|
|
117
|
+
: THEME_TOKENS[theme];
|
|
86
118
|
Object.keys(tokens).forEach(function (key) {
|
|
87
119
|
target.style.setProperty(key, tokens[key]);
|
|
88
120
|
});
|
|
89
121
|
target.setAttribute('data-ml-ui-theme', theme);
|
|
122
|
+
target.style.colorScheme = theme;
|
|
90
123
|
// Only broadcast when the document (or marked) root theme changes so nested
|
|
91
124
|
// chrome can refresh without re-entrancy from their own apply calls.
|
|
92
125
|
var isRoot = target === document.documentElement ||
|