fcs-core-viewer 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/README.md +10 -0
  2. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/BaseComponents/FcsUiBaseComponent.d.ts +6 -0
  3. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/BaseComponents/FcsUiFunctionGroup.d.ts +14 -0
  4. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/BaseComponents/FcsUiInputCollector.d.ts +10 -0
  5. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/BaseComponents/FcsUiPushButton.d.ts +8 -0
  6. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/BaseComponents/FcsUiSlider.d.ts +3 -0
  7. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/BaseComponents/FcsUiStatusBar.d.ts +27 -0
  8. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/BaseComponents/FcsUiTreeView.d.ts +3 -0
  9. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/CloudCAE.d.ts +48 -0
  10. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/CloudCAEDummyActions.d.ts +10 -0
  11. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/CloudCAEDummyAssets.d.ts +10 -0
  12. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/ExclusiveComponents/FcsUiAdvancedHelp.d.ts +3 -0
  13. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/ExclusiveComponents/FcsUiExclusiveComponent.d.ts +6 -0
  14. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/MainComponents/FcsUiContextMenu.d.ts +3 -0
  15. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/MainComponents/FcsUiDockPanel.d.ts +7 -0
  16. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/MainComponents/FcsUiDockedQuickMenu.d.ts +10 -0
  17. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/MainComponents/FcsUiDropButton.d.ts +5 -0
  18. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/MainComponents/FcsUiHowerPanel.d.ts +3 -0
  19. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/MainComponents/FcsUiMainComponent.d.ts +2 -0
  20. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/MainComponents/FcsUiQuickOptionsMenu.d.ts +12 -0
  21. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/Settings/FcsUiButtonStyle.d.ts +22 -0
  22. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/Settings/FcsUiPositions.d.ts +20 -0
  23. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/Settings/FcsUiSizing.d.ts +4 -0
  24. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/Wrapper/FcsUiBinder.d.ts +6 -0
  25. package/fcs-core-viewer@types/UserInterface/UiApi_deprecated/Wrapper/FcsUiDefinition.d.ts +8 -0
  26. package/package.json +41 -41
package/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # fcs-viewer-api
2
+
3
+ This package provides TypeScript declaration files for the Femsolve Cloud Services 3D viewer.
4
+
5
+ ## Installation
6
+
7
+ To install the package, run the following command:
8
+ ```bash
9
+ npm install fcs-core-viewer
10
+ ```
@@ -0,0 +1,6 @@
1
+ /**
2
+ * BaseComponents cannot host any other components. They are the base building blocks.
3
+ * The 'FcsUiMainComponents' host them.
4
+ */
5
+ export declare class FcsUiBaseComponent {
6
+ }
@@ -0,0 +1,14 @@
1
+ import { FcsUiBaseComponent } from "./FcsUiBaseComponent";
2
+ import { FcsUiInputCollector } from "./FcsUiInputCollector";
3
+ /**
4
+ * Function Groups serve to provide a User Interface that allows
5
+ * user to do following
6
+ */
7
+ export declare class FcsUiFunctionGroup extends FcsUiBaseComponent {
8
+ private readonly _functionGroupId;
9
+ private readonly _title;
10
+ private _inputCollectors;
11
+ constructor(title: string);
12
+ activateFunctionGroup(): string;
13
+ addInputCollector(collector: FcsUiInputCollector): void;
14
+ }
@@ -0,0 +1,10 @@
1
+ import { FcsUiBaseComponent } from "./FcsUiBaseComponent";
2
+ export declare class FcsUiInputCollector extends FcsUiBaseComponent {
3
+ private readonly _guid;
4
+ /**
5
+ * We generate a unique identifier for this input type. This will be required when we
6
+ * associate certain input collector UI elements to inputs they have collected.
7
+ */
8
+ constructor();
9
+ getId(): string;
10
+ }
@@ -0,0 +1,8 @@
1
+ import { FcsUiBaseComponent } from "./FcsUiBaseComponent";
2
+ export declare class FcsUiPushButton extends FcsUiBaseComponent {
3
+ private static _collectedIdentifiers;
4
+ private _actionIdentifier;
5
+ private _imageAssetIdentifier;
6
+ constructor(tooltipText: string, actionIdentifier: number, imageAssetId: number);
7
+ getActionIdentifier(): number;
8
+ }
@@ -0,0 +1,3 @@
1
+ import { FcsUiBaseComponent } from "./FcsUiBaseComponent";
2
+ export declare class FcsUiSlider extends FcsUiBaseComponent {
3
+ }
@@ -0,0 +1,27 @@
1
+ import { StatusBarPosition } from "../Settings/FcsUiPositions";
2
+ import { FcsUiBaseComponent } from "./FcsUiBaseComponent";
3
+ export declare class FcsUiStatusBar extends FcsUiBaseComponent {
4
+ /**
5
+ * This is what the status bar shows.
6
+ */
7
+ private _textBuffer;
8
+ /**
9
+ * The initial text of the status bar.
10
+ */
11
+ private _startText;
12
+ /**
13
+ * Position where the status bar is docked.
14
+ */
15
+ private readonly _statusBarPosition;
16
+ /**
17
+ * Constructor.
18
+ * @param statusBarPosition
19
+ * @param startText
20
+ */
21
+ constructor(statusBarPosition?: StatusBarPosition, startText?: string);
22
+ /**
23
+ * Whatever we set here is going to set the status bar text.
24
+ * @param statusText
25
+ */
26
+ setStatusText(statusText: string): void;
27
+ }
@@ -0,0 +1,3 @@
1
+ import { FcsUiBaseComponent } from "./FcsUiBaseComponent";
2
+ export declare class FcsUiTreeView extends FcsUiBaseComponent {
3
+ }
@@ -0,0 +1,48 @@
1
+ import { FcsUiDockPanel } from "./MainComponents/FcsUiDockPanel";
2
+ import { FcsUiDockedQuickMenu } from "./MainComponents/FcsUiDockedQuickMenu";
3
+ import { FcsUiStatusBar } from "./BaseComponents/FcsUiStatusBar";
4
+ import { FcsUiTreeView } from "./BaseComponents/FcsUiTreeView";
5
+ import { FcsUiQuickOptionsMenu } from "./MainComponents/FcsUiQuickOptionsMenu";
6
+ /**
7
+ * Refer to layout available at https://viewer-dev.femsolve.com
8
+ * CAE = computer-aided engineering
9
+ */
10
+ export declare class CloudCAE {
11
+ /**
12
+ * Wrapper for all constructed UI elements.
13
+ */
14
+ private _uiDef;
15
+ /**
16
+ * Local references of all components that the 'CloudCAE' product contains.
17
+ * We keep them here so we can bind the logic here.
18
+ */
19
+ readonly LeftMainPanel: FcsUiDockPanel;
20
+ readonly RightMainPanel: FcsUiDockPanel;
21
+ readonly TopMainQuickMenu: FcsUiDockedQuickMenu;
22
+ readonly TopRightCornerOptionsMenu: FcsUiQuickOptionsMenu;
23
+ readonly RightQuickMenu: FcsUiDockedQuickMenu;
24
+ readonly BottomStatusBar: FcsUiStatusBar;
25
+ TreeView: FcsUiTreeView;
26
+ /**
27
+ * The CloudCAE app when constructed DEFINES what the UI will look like.
28
+ */
29
+ constructor();
30
+ /**
31
+ * Here we only initialize the TreeView.
32
+ */
33
+ private _setupLeftMainPanel;
34
+ /**
35
+ * Here we setup a DockedQuickMenu at the top.
36
+ */
37
+ private _setupTopbarMenu;
38
+ /**
39
+ * Top right corner options menu
40
+ * @param opt
41
+ */
42
+ private _setupTopRightOptionsMenu;
43
+ /**
44
+ *
45
+ */
46
+ private _setupRightDockedQuickMenu;
47
+ private _setupRightMainPanel;
48
+ }
@@ -0,0 +1,10 @@
1
+ export declare enum ActionIds {
2
+ clickTreeView = 0,
3
+ clickFindById = 1,
4
+ clickFindElement = 2,
5
+ clickFindByElementProps = 3,
6
+ clickSearchSettings = 4
7
+ }
8
+ export declare const ActionIdToAction: {
9
+ [key in ActionIds]?: Function;
10
+ };
@@ -0,0 +1,10 @@
1
+ export declare enum ImageAssets {
2
+ btnTreeView = 0,
3
+ btnFindById = 1,
4
+ btnFindElement = 2,
5
+ btnFindByElementProps = 3,
6
+ btnSearchSettings = 4
7
+ }
8
+ export declare const ImageAssetsToUrls: {
9
+ [key in ImageAssets]?: string;
10
+ };
@@ -0,0 +1,3 @@
1
+ import { FcsUiExclusiveComponent } from "./FcsUiExclusiveComponent";
2
+ export declare class FcsUiAdvancedHelp extends FcsUiExclusiveComponent {
3
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Refers to component that can have only a single instance open at any time of
3
+ * a given type, for example, pop-up dialogs, prompt dialogs and or tooltips.
4
+ */
5
+ export declare class FcsUiExclusiveComponent {
6
+ }
@@ -0,0 +1,3 @@
1
+ import { FcsUiMainComponent } from "./FcsUiMainComponent";
2
+ export declare class FcsUiContextMenu extends FcsUiMainComponent {
3
+ }
@@ -0,0 +1,7 @@
1
+ import { FcsUiBaseComponent } from "../BaseComponents/FcsUiBaseComponent";
2
+ import { DockPosition } from "../Settings/FcsUiPositions";
3
+ import { FcsUiMainComponent } from "./FcsUiMainComponent";
4
+ export declare class FcsUiDockPanel extends FcsUiMainComponent {
5
+ constructor(panelPosition: DockPosition);
6
+ addBaseComponent(component: FcsUiBaseComponent): void;
7
+ }
@@ -0,0 +1,10 @@
1
+ import { DockPosition } from "../Settings/FcsUiPositions";
2
+ import { FcsUiMainComponent } from "./FcsUiMainComponent";
3
+ export declare class FcsUiDockedQuickMenu extends FcsUiMainComponent {
4
+ private readonly _dockPosition;
5
+ constructor(dockPosition: DockPosition);
6
+ /**
7
+ * Adds a vertical splitter line.
8
+ */
9
+ addSplitter(): void;
10
+ }
@@ -0,0 +1,5 @@
1
+ import { FcsUiPushButton } from "../BaseComponents/FcsUiPushButton";
2
+ import { FcsUiMainComponent } from "./FcsUiMainComponent";
3
+ export declare class FcsUiDropButton extends FcsUiMainComponent {
4
+ addButton(position: number, button: FcsUiPushButton): void;
5
+ }
@@ -0,0 +1,3 @@
1
+ import { FcsUiMainComponent } from "./FcsUiMainComponent";
2
+ export declare class FcsUiHowerPanel extends FcsUiMainComponent {
3
+ }
@@ -0,0 +1,2 @@
1
+ export declare class FcsUiMainComponent {
2
+ }
@@ -0,0 +1,12 @@
1
+ import { FcsUiMainComponent } from "./FcsUiMainComponent";
2
+ import { QuickOptionsCorner } from "../Settings/FcsUiPositions";
3
+ export declare class FcsUiQuickOptionsMenu extends FcsUiMainComponent {
4
+ /**
5
+ * Singleton instance => only one quick options menu is allowed.
6
+ */
7
+ private static _instance;
8
+ /**
9
+ * This is a singleton for
10
+ */
11
+ constructor(placedCorner: QuickOptionsCorner.TOP_RIGHT_CORNER);
12
+ }
@@ -0,0 +1,22 @@
1
+ export declare enum FcsUiButtonStyle {
2
+ /**
3
+ * No icon, instead there is some short text
4
+ */
5
+ WITH_CAPTION = 0,
6
+ /**
7
+ * No caption, instead of there is an icon.
8
+ */
9
+ WITH_ICON = 1,
10
+ /**
11
+ * Typically used to indicate buttons that when we click on them they expect a user action
12
+ */
13
+ INPUT_TYPE = 2,
14
+ /**
15
+ * Pop-up dialogs and hower panels may have them.
16
+ */
17
+ PROMPT = 3,
18
+ /**
19
+ * For context menus
20
+ */
21
+ QUICK_ACTION = 4
22
+ }
@@ -0,0 +1,20 @@
1
+ export declare enum DockPosition {
2
+ LEFT = 0,
3
+ BOTTOM = 1,
4
+ RIGHT = 2,
5
+ TOP = 3
6
+ }
7
+ export declare enum StatusBarPosition {
8
+ BOTTOM = 0,
9
+ TOP = 1
10
+ }
11
+ export declare enum SpawnLocationReference {
12
+ TOP_LEFT_CORNER = 0,
13
+ TOP_RIGHT_CORNER = 1,
14
+ BOTTOM_RIGHT_CORNER = 2,
15
+ BOTTOM_LEFT_CORNER = 3
16
+ }
17
+ export declare enum QuickOptionsCorner {
18
+ TOP_LEFT_CORNER = 0,
19
+ TOP_RIGHT_CORNER = 1
20
+ }
@@ -0,0 +1,4 @@
1
+ export declare class DialogSize {
2
+ width: number;
3
+ height: number;
4
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Storage class for method bindings, and asset bindings.
3
+ */
4
+ export declare class FcsUiBinder {
5
+ constructor();
6
+ }
@@ -0,0 +1,8 @@
1
+ import { FcsUiStatusBar } from "../BaseComponents/FcsUiStatusBar";
2
+ import { FcsUiMainComponent } from "../MainComponents/FcsUiMainComponent";
3
+ export declare class FcsUiDefinition {
4
+ private _uiBinder;
5
+ constructor();
6
+ addStatusBar(component: FcsUiStatusBar): void;
7
+ addMainComponent(component: FcsUiMainComponent): void;
8
+ }
package/package.json CHANGED
@@ -1,42 +1,42 @@
1
- {
2
- "name": "fcs-core-viewer",
3
- "version": "0.2.0",
4
- "description": "3D Viewer in the Cloud",
5
- "author": {
6
- "name": "Femsolve Kft."
7
- },
8
- "main": "webpack.config.js",
9
- "files": [
10
- "fcs-core-viewer@types"
11
- ],
12
- "scripts": {
13
- "build:dev": "webpack --progress --stats-error-details --config webpack.dev.js",
14
- "build": "webpack --progress --stats-error-details --config webpack.prod.js",
15
- "server": "webpack serve --config webpack.server.js --mode development"
16
- },
17
- "license": "ISC",
18
- "devDependencies": {
19
- "@types/uuid": "^9.0.2",
20
- "copy-webpack-plugin": "^11.0.0",
21
- "css-loader": "^6.7.3",
22
- "css-minimizer-webpack-plugin": "^5.0.0",
23
- "dotenv-webpack": "^8.0.1",
24
- "javascript-obfuscator": "^4.1.0",
25
- "mini-css-extract-plugin": "^2.7.5",
26
- "null-loader": "^4.0.1",
27
- "style-loader": "^3.3.2",
28
- "tailwindcss": "^3.4.1",
29
- "ts-loader": "^9.4.2",
30
- "typescript": "^4.9.5",
31
- "webpack": "^5.89.0",
32
- "webpack-cli": "^5.1.4",
33
- "webpack-dev-server": "^4.15.1",
34
- "webpack-obfuscator": "^3.5.1"
35
- },
36
- "dependencies": {
37
- "axios": "^1.5.1",
38
- "dom-to-image": "^2.6.0",
39
- "socket.io-client": "^4.7.2",
40
- "uuid": "^9.0.0"
41
- }
1
+ {
2
+ "name": "fcs-core-viewer",
3
+ "version": "0.2.2",
4
+ "description": "3D Viewer in the Cloud",
5
+ "author": {
6
+ "name": "Femsolve Kft."
7
+ },
8
+ "main": "webpack.config.js",
9
+ "files": [
10
+ "fcs-core-viewer@types"
11
+ ],
12
+ "scripts": {
13
+ "build:dev": "webpack --progress --stats-error-details --config webpack.dev.js",
14
+ "build": "webpack --progress --stats-error-details --config webpack.prod.js",
15
+ "server": "webpack serve --config webpack.server.js --mode development"
16
+ },
17
+ "license": "ISC",
18
+ "devDependencies": {
19
+ "@types/uuid": "^9.0.2",
20
+ "copy-webpack-plugin": "^11.0.0",
21
+ "css-loader": "^6.7.3",
22
+ "css-minimizer-webpack-plugin": "^5.0.0",
23
+ "dotenv-webpack": "^8.0.1",
24
+ "javascript-obfuscator": "^4.1.0",
25
+ "mini-css-extract-plugin": "^2.7.5",
26
+ "null-loader": "^4.0.1",
27
+ "style-loader": "^3.3.2",
28
+ "tailwindcss": "^3.4.1",
29
+ "ts-loader": "^9.4.2",
30
+ "typescript": "^4.9.5",
31
+ "webpack": "^5.89.0",
32
+ "webpack-cli": "^5.1.4",
33
+ "webpack-dev-server": "^4.15.1",
34
+ "webpack-obfuscator": "^3.5.1"
35
+ },
36
+ "dependencies": {
37
+ "axios": "^1.5.1",
38
+ "dom-to-image": "^2.6.0",
39
+ "socket.io-client": "^4.7.2",
40
+ "uuid": "^9.0.0"
41
+ }
42
42
  }