@equinor/roma-framework 0.0.1 → 0.0.5-ALPHA.1

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/index.d.ts CHANGED
@@ -3,3 +3,8 @@ export * from './lib/dev-portal/EquinorLoader';
3
3
  export * from './lib/dev-portal/ErrorViewer';
4
4
  export * from './lib/dev-portal/AppLoader';
5
5
  export * from './lib/dev-portal/AppViewer';
6
+ export * from './lib/sse/useSse';
7
+ export * from './lib/style-provider';
8
+ export * from './lib/dev-portal/HttpErrorViewer';
9
+ export * from './lib/api/trade-recap';
10
+ export * from './lib/api/roma';
@@ -0,0 +1,21 @@
1
+ export type HttpErrorServerResponse = {
2
+ timestamp: string;
3
+ status: number;
4
+ error: string;
5
+ message: string;
6
+ path: string;
7
+ };
8
+ export type HttpErrorResponse = {
9
+ status: number;
10
+ statusText: string;
11
+ message: HttpErrorServerResponse;
12
+ ok: boolean;
13
+ headers: Headers;
14
+ url: string;
15
+ };
16
+ export declare class HttpError extends Error {
17
+ readonly message: string;
18
+ readonly response: HttpErrorResponse;
19
+ constructor(message: string, response: HttpErrorResponse);
20
+ }
21
+ export declare const handleJsonRequest: <T>(req: Response) => Promise<T>;
@@ -0,0 +1,7 @@
1
+ import { HttpResponseError } from '@equinor/fusion-framework-module-http';
2
+ import { EnvironmentResponse } from '@equinor/fusion-framework-module-service-discovery';
3
+ type Params = {
4
+ environment: 'current';
5
+ };
6
+ export declare const useGetEnvironment: (params: Params) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<EnvironmentResponse, HttpResponseError>;
7
+ export {};
@@ -0,0 +1 @@
1
+ export * from './get-environment';
@@ -0,0 +1,160 @@
1
+ type Nullable<T> = T | null | undefined;
2
+ export type Response = {
3
+ items: Item[];
4
+ salesOfficeContext: string[];
5
+ page: number;
6
+ currentPage: number;
7
+ previousPage: Nullable<number>;
8
+ nextPage: Nullable<number>;
9
+ totalCount: number;
10
+ pageSize: number;
11
+ maxDeepSearch: number;
12
+ searchSuccessful: boolean;
13
+ errorMessage: Nullable<string>;
14
+ onRecapDataEnrichmentDisabledMessage: string;
15
+ last: boolean;
16
+ recapDataEnrichmentEnabled: boolean;
17
+ };
18
+ export type Item = {
19
+ dealId: number;
20
+ dealKey: DealKey;
21
+ salePurchaseInd: string;
22
+ typeOfTrade: string;
23
+ customer: Customer;
24
+ strategy: Strategy;
25
+ generalTermsAndConditions?: string;
26
+ tradeDate: string;
27
+ buyer: string;
28
+ buyerShortName?: string;
29
+ seller: string;
30
+ sellerShortName?: string;
31
+ law?: string;
32
+ arbitration: boolean;
33
+ inspectionCost?: string;
34
+ deliveryType: string;
35
+ deliveryYear: number;
36
+ deliveryMth: number;
37
+ creditTerms?: string;
38
+ location?: string;
39
+ grade: string;
40
+ quality: string;
41
+ vesselName?: string;
42
+ dealStatus: string;
43
+ cargoNo?: string;
44
+ sportNo?: string;
45
+ lastModifiedDate: string;
46
+ createdBy: string;
47
+ spotTermIndicator: string;
48
+ transportType?: string;
49
+ lcNumberExt?: string;
50
+ lcNumberInt: any;
51
+ blDate: string;
52
+ blDateIsActual: boolean;
53
+ norDate?: string;
54
+ norDateIsActual: boolean;
55
+ codDate?: string;
56
+ codDateIsActual: boolean;
57
+ blVolume?: number;
58
+ outturnVolume?: number;
59
+ contractualVolume: number;
60
+ volumeUnit: string;
61
+ gainLossPercentage?: number;
62
+ acceptUpdateFromSport: boolean;
63
+ titlePoint: string;
64
+ dischargePort?: string;
65
+ paymentDueDate?: string;
66
+ tolerance: string;
67
+ demurrage?: string;
68
+ laytime?: string;
69
+ contractualDateType: string;
70
+ contractualStartDate: string;
71
+ contractualEndDate: string;
72
+ volumeFrom: string;
73
+ status?: Status;
74
+ attentionRequired: boolean;
75
+ cargoStatusRats?: string;
76
+ bookoutSequence: any;
77
+ titleTransferDate: string;
78
+ broker?: Broker;
79
+ responsibleOps?: string;
80
+ mailSent: boolean;
81
+ pricingStartDate?: string;
82
+ pricingEndDate?: string;
83
+ priceDifferential: string;
84
+ typeOfPricing: string;
85
+ priceText: string;
86
+ priceIndicator: string;
87
+ counterpartyReferenceNumber: any;
88
+ counterpartyReferenceDate: any;
89
+ reference1?: string;
90
+ reference2?: string;
91
+ termDsYear?: number;
92
+ termDsNo?: number;
93
+ officialLoadingRangeFrom?: string;
94
+ officialLoadingRangeTo?: string;
95
+ pricingPeriodDescription?: string;
96
+ finalVolume: number;
97
+ paymentTerm?: string;
98
+ sportRemarks?: string;
99
+ imosVesselCode?: string;
100
+ imosVoyageNo?: string;
101
+ imosVoyageStatus?: string;
102
+ priceEscalated: boolean;
103
+ loadingPort?: string;
104
+ cargoStatusSport?: string;
105
+ priceBasis: string;
106
+ deliveryPeriod: string;
107
+ };
108
+ export type DealKey = {
109
+ companyId: string;
110
+ salesOffice: string;
111
+ dsYear: number;
112
+ dsNo: number;
113
+ dealNo: number;
114
+ lineItemNo: number;
115
+ dealKeyShort: string;
116
+ dealKeyFull: string;
117
+ };
118
+ export type Customer = {
119
+ custNo: string;
120
+ custName: string;
121
+ custFullName: string;
122
+ };
123
+ export type Strategy = {
124
+ id: number;
125
+ year: number;
126
+ no: number;
127
+ description: string;
128
+ reportingMonth: number;
129
+ strategyKey: string;
130
+ closed: boolean;
131
+ class1: string;
132
+ class2: string;
133
+ class3: string;
134
+ class4: string;
135
+ dateClosed: any;
136
+ dateOpened: string;
137
+ };
138
+ export type Status = {
139
+ statusLines: StatusLine[];
140
+ message: string;
141
+ statusType: string;
142
+ };
143
+ export type StatusLine = {
144
+ statusType: string;
145
+ propertyName: string;
146
+ propertyType: any;
147
+ displayName: string;
148
+ message: string;
149
+ source1: any;
150
+ value1: any;
151
+ source2: any;
152
+ value2: any;
153
+ };
154
+ export type Broker = {
155
+ brokerNo: string;
156
+ name: string;
157
+ fullName: string;
158
+ active: boolean;
159
+ };
160
+ export {};
@@ -0,0 +1,6 @@
1
+ import { HttpResponseError } from '@equinor/fusion-framework-module-http';
2
+ type Params = Partial<{
3
+ dealId: number;
4
+ }>;
5
+ export declare const useDownloadRecap: (params: Params) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<Blob, HttpResponseError>;
6
+ export {};
@@ -0,0 +1,15 @@
1
+ import { Response } from './deal';
2
+ import { HttpError } from '../fetcher';
3
+ type Params = {
4
+ dsYears: Array<number>;
5
+ pageSize: number;
6
+ bolDateFrom: string;
7
+ bolDateTo: string;
8
+ typeOfTrade: string;
9
+ traders: Array<string>;
10
+ sort: string;
11
+ page: number;
12
+ salesOffices: Array<string>;
13
+ };
14
+ export declare const useGetDeals: (params: Params) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<Response, HttpError>;
15
+ export {};
@@ -0,0 +1,11 @@
1
+ import { HttpResponseError } from '@equinor/fusion-framework-module-http';
2
+ import { TradeRecap } from './recap';
3
+ type Params = Partial<{
4
+ companyId: string;
5
+ so: string;
6
+ dsYear: string;
7
+ dsId: string;
8
+ dsNo: string;
9
+ }>;
10
+ export declare const useGetRecap: (params: Params) => import("@tanstack/react-query/build/legacy/types").UseQueryResult<TradeRecap, HttpResponseError>;
11
+ export {};
@@ -0,0 +1,5 @@
1
+ export * from './get-deals';
2
+ export * from './deal';
3
+ export * from './get-recap';
4
+ export * from './recap';
5
+ export * from './download-recap';
@@ -0,0 +1,22 @@
1
+ import { DealKey } from './deal';
2
+ export interface TradeRecap {
3
+ dealKey: DealKey;
4
+ strategy: string;
5
+ typeOfTrade: string;
6
+ priceIndicator: string;
7
+ dealDate: string;
8
+ trader: string;
9
+ brokerName: string;
10
+ seller: string;
11
+ buyer: string;
12
+ generalTermsAndConditions: string;
13
+ law: string;
14
+ arbitration: boolean;
15
+ inspectionCost: string;
16
+ operational: Operational;
17
+ salePurchaseIndicator: string;
18
+ dealId: number;
19
+ }
20
+ export interface Operational {
21
+ lastUpdate: string;
22
+ }
@@ -0,0 +1 @@
1
+ export declare const createUrlParamsFromObject: (obj: Record<string, unknown>) => URLSearchParams;
@@ -6,7 +6,7 @@ import { AppManifest } from '@equinor/fusion-framework-module-app';
6
6
  * @param kind whether the app is a widget or an application
7
7
  * @constructor
8
8
  */
9
- export declare function AppLoader({ app, kind }: {
9
+ export declare function AppLoader({ app, kind, }: {
10
10
  app: AppManifest | null;
11
11
  kind?: 'app' | 'widget';
12
12
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { HttpError } from '../api/fetcher';
2
+ /**
3
+ * Simple error display component.
4
+ * Does not create a pretty error, and should most likely be recreated for various error types (e.g. lack of access etc.)
5
+ * Reasonable to assume this will be a part of e.g. @equinor/roma-components in the future.
6
+ *
7
+ * @param error
8
+ * @constructor
9
+ */
10
+ export declare const HttpErrorViewer: ({ error }: {
11
+ readonly error: HttpError;
12
+ }) => import("react/jsx-runtime").JSX.Element;
13
+ export default HttpErrorViewer;
@@ -0,0 +1,6 @@
1
+ import { IEventModuleProvider } from '@equinor/fusion-framework-module-event';
2
+ import { ReactNode } from 'react';
3
+ export declare const EdsEventProvider: ({ event, children }: {
4
+ event: IEventModuleProvider;
5
+ children: ReactNode;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,11 @@
1
1
  import { AnyModule } from '@equinor/fusion-framework-module';
2
2
  import { Fusion } from '@equinor/fusion-framework-react';
3
3
  import { AppEnv, AppModuleInitiator } from '@equinor/fusion-framework-app';
4
- import { ReactNode } from 'react';
4
+ import React, { ReactNode } from 'react';
5
+ import { ComponentRenderArgs } from '@equinor/fusion-framework-react-app';
5
6
  type RomaEnv = AppEnv & {
6
7
  density?: 'compact' | 'comfortable';
7
8
  };
8
- export declare const makeComponent: <TModules extends AnyModule[], TRef extends Fusion<unknown> = Fusion<unknown>, TEnv extends RomaEnv = RomaEnv>(Component: ReactNode, args: {
9
- fusion: TRef;
10
- env: TEnv;
11
- }, configure?: AppModuleInitiator<TModules, TRef, TEnv> | undefined) => import("react").LazyExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
9
+ export declare const makeComponent: <TModules extends AnyModule[], TRef extends Fusion<unknown> = Fusion<unknown>, TEnv extends RomaEnv = RomaEnv>(Component: React.ReactNode, args: ComponentRenderArgs<TRef, TEnv>, configure?: AppModuleInitiator<TModules, TRef, TEnv> | undefined) => React.LazyExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
10
+ export declare const withStyleIsolation: (children: ReactNode, args: ComponentRenderArgs) => React.LazyExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
12
11
  export {};
@@ -0,0 +1,5 @@
1
+ export declare const useSse: <T extends object>(path: string, messageCount?: number) => {
2
+ messages: (T & {
3
+ eventSourceId: string;
4
+ })[];
5
+ };
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ type Props = {
3
+ scope: string;
4
+ children: ReactNode;
5
+ };
6
+ export declare const StyleProvider: ({ scope, children }: Props) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
package/package.json CHANGED
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "name": "@equinor/roma-framework",
3
- "version": "0.0.1",
3
+ "version": "0.0.5-ALPHA.1",
4
4
  "repository": "https://github.com/equinor/tops-roma",
5
- "main": "./framework.js",
5
+ "main": "./roma-framework.js",
6
6
  "types": "./index.d.ts",
7
7
  "private": false,
8
+ "dependencies": {
9
+ "@tanstack/react-query": "^5.0.0"
10
+ },
8
11
  "exports": {
9
12
  ".": {
10
- "import": "./framework.mjs",
11
- "require": "./framework.js"
13
+ "import": "./roma-framework.mjs",
14
+ "require": "./roma-framework.js"
12
15
  }
13
16
  }
14
- }
17
+ }