@infosoftas/s4-orders-js-sdk 0.0.1-alpha2b → 0.0.1-alpha2c

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 CHANGED
@@ -1,3 +1,342 @@
1
1
  # INFO-Subscription JS/TS Order SDK
2
2
 
3
- Currently a work in progress
3
+ This repository contains code for the Orders SDK usable to add orders for Tenants within INFO-Subscription.
4
+
5
+ ## Installation
6
+
7
+ Install the package with:
8
+
9
+ ```sh
10
+ npm install @infosoftas/s4-orders-js-sdk
11
+ ```
12
+
13
+ ## Available Scripts
14
+
15
+ In the project directory, you can run:
16
+
17
+ ### `npm run build`
18
+
19
+ Builds the app for production to the `dist` folder.\
20
+ It correctly bundles React in production mode and optimizes the build for the best performance.
21
+
22
+ The build is minified and the filenames include the hashes.\
23
+ Your app is ready to be deployed!
24
+
25
+ ## Usage
26
+
27
+ The package needs to be configured with configuration object:
28
+
29
+ <!-- prettier-ignore -->
30
+ ```ts
31
+
32
+ enum PaymentMethodEnum {
33
+ Vipps = 'Vipps',
34
+ MobilePay = 'MobilePay',
35
+ SwedbankPay = 'SwedbankPay',
36
+ Invoice = 'Invoice',
37
+ Email = 'Email',
38
+ EHF = 'EHF',
39
+ OIO = 'OIO',
40
+ }
41
+
42
+ type OrderFormFiledType = {
43
+ name: string;
44
+ required?: boolean;
45
+ };
46
+
47
+ type PaymentMethodOptionsType = {
48
+ [key in PaymentMethodEnum]: {
49
+ generateSubscriberContact?: boolean;
50
+ accountId?: string;
51
+ orderFormFields?: OrderFormFiledType[] | never[];
52
+ };
53
+ }
54
+
55
+ type OrderFormInputsType = {
56
+ name?: string;
57
+ email?: string;
58
+ phoneNumber?: string;
59
+ paymentMethod?: PaymentMethodEnum;
60
+ country?: string;
61
+ city?: string;
62
+ address?: string;
63
+ zip?: string;
64
+ };
65
+
66
+ type ConfigType = {
67
+ domElementId: string;
68
+ moduleTitle?: string;
69
+ apiKey: string;
70
+ apiUrl: string;
71
+ templatePackageId: string;
72
+ subscriberId: string;
73
+ userId: string;
74
+ identityProviderId: string;
75
+ organizationId: string;
76
+ redirectUrl?: string;
77
+ showIframe?: boolean;
78
+ availablePaymentMethods?: { label: string; value: PaymentMethodEnum }[];
79
+ paymentMethodsOptions?: PaymentMethodOptionsType;
80
+ language?: string;
81
+ merchantAgreementUrl?: string;
82
+ invoiceAddressSelection?: {
83
+ enabled?: boolean;
84
+ label?: string;
85
+ fields?: OrderFormFiledType[] | never[];
86
+ };
87
+ settings?: {
88
+ successText?: string;
89
+ failureText?: string;
90
+ submitButtonText?: string;
91
+ backButtonText?: string;
92
+ verifyButtonText?: string;
93
+ organizationNumberLabel?: string;
94
+ glnLabel?: string;
95
+ orderDefaultValues?: OrderFormInputsType;
96
+ paymentMethodLabel?: string;
97
+ errorReqMsg?: string;
98
+ errorInvalidEmailMsg?: string;
99
+ errorInvalidPhoneMsg?: string;
100
+ };
101
+ }
102
+ ```
103
+
104
+ Usage example OrderPlace react component:
105
+
106
+ <!-- prettier-ignore -->
107
+ ```tsx
108
+
109
+ enum OrderModuleFiledNameEnum {
110
+ name = 'name',
111
+ email = 'email',
112
+ phoneNumber = 'phoneNumber',
113
+ address = 'address',
114
+ country = 'country',
115
+ city = 'city',
116
+ zip = 'zip',
117
+ careOf = 'careOf',
118
+ organizationNumber = 'organizationNumber',
119
+ buyerReference = 'buyerReference',
120
+ orderReference = 'orderReference',
121
+ invoiceName = 'invoiceName',
122
+ invoiceAddress = 'invoiceAddress',
123
+ invoiceCity = 'invoiceCity',
124
+ invoiceZip = 'invoiceZip',
125
+ invoiceCountry = 'invoiceCountry',
126
+ invoicePhone = 'invoicePhoneNumber',
127
+ invoiceEmail = 'invoiceEmail',
128
+ invoiceCareOf = 'invoiceCareOf',
129
+ invoiceBuyerReference ='invoiceBuyerReference',
130
+ }
131
+
132
+ export const prepareConfig = ({
133
+ apiKey,
134
+ apiUrl,
135
+ userId,
136
+ subscriberId,
137
+ templatePackageId,
138
+ identityProviderId,
139
+ organizationId,
140
+ selfServiceUrl,
141
+ userEmail,
142
+ name,
143
+ city,
144
+ country,
145
+ postalCode,
146
+ streetAddress,
147
+ }: Props) => {
148
+
149
+ const config = {
150
+ moduleTitle: '',
151
+ domElementId: ORDER_PLACE_ID,
152
+ redirectUrl: window.location.href,
153
+ merchantAgreementUrl: selfServiceUrl,
154
+ showIframe: true,
155
+ apiKey,
156
+ apiUrl,
157
+ userId,
158
+ subscriberId,
159
+ templatePackageId,
160
+ identityProviderId,
161
+ organizationId,
162
+ language: 'en-US',
163
+ availablePaymentMethods: [
164
+ { label: "Vipps", value: "Vipps" },
165
+ { label: "MobilePay", value: "MobilePay" },
166
+ { label: "Credit Card/Debit Card", value: "SwedbankPay" },
167
+ { label: 'Invoice', translateKey: 'Invoice', value: 'Invoice' },
168
+ { label: 'Email', translateKey: 'Email', value: 'Email' },
169
+ { label: 'EHF', translateKey: 'EHF', value: 'EHF' },
170
+ { label: 'OIO', translateKey: 'OIO', value: 'OIO' },
171
+ ],
172
+ paymentMethodsOptions: {
173
+ Vipps: {
174
+ generateSubscriberContact: true,
175
+ orderFormFields: [],
176
+ },
177
+ SwedbankPay: {
178
+ orderFormFields: [
179
+ {
180
+ name: OrderModuleFiledNameEnum.name,
181
+ label: 'Name',
182
+ required: false,
183
+ },
184
+ {
185
+ name: OrderModuleFiledNameEnum.phoneNumber,
186
+ label: 'Phone',
187
+ readOnly: false,
188
+ required: false,
189
+ },
190
+ {
191
+ name: OrderModuleFiledNameEnum.email,
192
+ label: 'Email',
193
+ required: true,
194
+ readOnly: !!userEmail,
195
+ },
196
+ ],
197
+ },
198
+ Invoice: {
199
+ orderFormFields: [
200
+ {
201
+ name: OrderModuleFiledNameEnum.address,
202
+ label: 'Address',
203
+ required: false,
204
+ readOnly: false,
205
+ },
206
+ ],
207
+ },
208
+ Email: {
209
+ orderFormFields: [
210
+ {
211
+ name: OrderModuleFiledNameEnum.address,
212
+ label: 'Address',
213
+ required: false,
214
+ readOnly: false,
215
+ },
216
+ ],
217
+ },
218
+ EHF: {
219
+ orderFormFields: [
220
+ {
221
+ name: OrderModuleFiledNameEnum.address,
222
+ label: 'Address',
223
+ required: false,
224
+ readOnly: false,
225
+ },
226
+ ],
227
+ },
228
+ OIO: {
229
+ orderFormFields: [
230
+ {
231
+ name: OrderModuleFiledNameEnum.address,
232
+ label: 'Address',
233
+ required: false,
234
+ readOnly: false,
235
+ },
236
+ ],
237
+ },
238
+ },
239
+ invoiceAddressSelection: {
240
+ enabled: true,
241
+ label: 'Invoice Address',
242
+ fields: [
243
+ {
244
+ name: OrderModuleFiledNameEnum.invoiceAddress,
245
+ label: 'Address',
246
+ required: false,
247
+ readOnly: false,
248
+ },
249
+ ],
250
+ },
251
+ settings: {
252
+ submitButtonText: 'Continue',
253
+ backButtonText: 'Back',
254
+ verifyButtonText: 'Verify',
255
+ organizationNumberLabel: 'CVR',
256
+ glnLabel: 'GLN/EAN',
257
+ paymentMethodLabel: 'Select Payment Method',
258
+ errorReqMsg: 'This field is required!',
259
+ errorInvalidEmailMsg: 'Invalid email address!',
260
+ errorInvalidPhoneMsg: 'Invalid phone number!',
261
+ successText: 'Success message',
262
+ failureText: 'Failed message',
263
+ orderDefaultValues: {
264
+ name,
265
+ email: userEmail || '',
266
+ phoneNumber: '',
267
+ city,
268
+ country,
269
+ zip: postalCode,
270
+ address: streetAddress,
271
+ paymentMethod: undefined,
272
+ },
273
+ },
274
+ };
275
+
276
+ return config as ConfigType;
277
+ };
278
+
279
+
280
+ import { FC, useEffect, useRef } from 'react';
281
+ import { orderComponent } from '@infosoftas/s4-orders-js-sdk/src/index';
282
+
283
+ import { prepareConfig } from 'Utils/moduleConfig';
284
+
285
+ const ORDER_PLACE_ID = 'sdk-order';
286
+
287
+ const OrderPlace: FC = ({userEmail, userId, name, city, country, postalCode, streetAddress}) => {
288
+ const moduleMount = useRef(false);
289
+
290
+ useEffect(() => {
291
+ if (!moduleMount.current && idTokenClaims) {
292
+ moduleMount.current = true;
293
+ const config = prepareConfig({
294
+ apiKey: process.env.API_KEY || '',
295
+ apiUrl: process.env.ORDER_SDK_API_URL || '',
296
+ userId: userId || '',
297
+ subscriberId: userEmail || '',
298
+ identityProviderId: process.env.IDENTITY_PROVIDER_ID || '',
299
+ templatePackageId: process.env.TEMPLATE_PACKAGE_ID || '',
300
+ selfServiceUrl: process.env.SELF_SERVICE_URL || '',
301
+ organizationId: process.env.ORGANIZATION_ID || '',
302
+ userEmail: userEmail || '',
303
+ name: name,
304
+ city: city,
305
+ country: country,
306
+ postalCode: postalCode,
307
+ streetAddress: streetAddress,
308
+ });
309
+ orderComponent?.remove();
310
+ orderComponent?.init(config);
311
+ }
312
+ }, [userEmail, userId, name, city, country, postalCode, streetAddress]);
313
+
314
+ return (
315
+ <div
316
+ id={ORDER_PLACE_ID}
317
+ className="w-100 order-wrapper"
318
+ data-testid="order-place-id"
319
+ />
320
+ );
321
+ };
322
+
323
+ export default OrderPlace;
324
+ ```
325
+
326
+ <!-- prettier-ignore -->
327
+ | Option | Default | Description |
328
+ | --------------------- | :----------------------------------------------------------------------------: | -------------------------: |
329
+ | moduleTitle | '' | module title |
330
+ | apiKey | '' | order api key |
331
+ | apiUrl | '' | order api url |
332
+ | templatePackageId | '' | template package id |
333
+ | subscriberId | '' | subscriber id |
334
+ | identityProviderId | '' | identity provider id |
335
+ | organizationId | '' | organization id |
336
+ | redirectUrl | window.location.href | redirect url |
337
+ | showIframe | false | show credit card in iframe |
338
+ | paymentMethodsOptions | orderFormFields: [{name: 'phone, required: false, readOnly: false, label: ''}] | default form fields |
339
+ | availablePaymentMethods | [] | available payment methods |
340
+ | language | 'en-US' | language |
341
+ | merchantAgreementUrl | '' | vipps and MobilePay property |
342
+ | settings | {successText: 'Order successful completed!',failureText: 'Something went wrong!',submitButtonText: 'Start',backButtonText: 'Back',verifyButtonText: 'Verify',organizationNumberLabel: 'CVR',glnLabel: 'GLN',paymentMethodLabel:'Select Payment Method',} | label and text properties |
@@ -0,0 +1 @@
1
+ {"filename":"C:\\Code\\repos\\s4-orders-js-sdk\\orders-module\\__azurite_db_blob__.json","collections":[{"name":"$SERVICES_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{},"constraints":null,"uniqueNames":["accountName"],"transforms":{},"objType":"$SERVICES_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]},{"name":"$CONTAINERS_COLLECTION$","data":[{"accountName":"devstoreaccount1","name":"azure-webjobs-secrets","properties":{"etag":"\"0x241ECCC639EC420\"","lastModified":"2024-12-05T13:29:00.197Z","leaseStatus":"unlocked","leaseState":"available","hasImmutabilityPolicy":false,"hasLegalHold":false},"meta":{"revision":0,"created":1733405340199,"version":0},"$loki":1},{"accountName":"devstoreaccount1","name":"azure-webjobs-hosts","properties":{"etag":"\"0x21BCE1F25F7DC40\"","lastModified":"2024-12-05T13:29:06.224Z","leaseStatus":"unlocked","leaseState":"available","hasImmutabilityPolicy":false,"hasLegalHold":false},"meta":{"revision":0,"created":1733405346225,"version":0},"$loki":2}],"idIndex":null,"binaryIndices":{"accountName":{"name":"accountName","dirty":false,"values":[1,0]},"name":{"name":"name","dirty":false,"values":[1,0]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$CONTAINERS_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":2,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]},{"name":"$BLOBS_COLLECTION$","data":[{"deleted":false,"accountName":"devstoreaccount1","containerName":"azure-webjobs-secrets","name":"esbbach1-505371708/host.json","properties":{"creationTime":"2024-12-05T13:29:00.786Z","lastModified":"2024-12-05T13:29:00.786Z","etag":"\"0x1F3C1FE0A326700\"","contentLength":632,"contentType":"application/octet-stream","contentMD5":{"type":"Buffer","data":[105,188,18,11,16,253,127,42,77,4,114,189,122,185,129,100]},"blobType":"BlockBlob","leaseStatus":"unlocked","leaseState":"available","serverEncrypted":true,"accessTier":"Hot","accessTierInferred":true,"accessTierChangeTime":"2024-12-05T13:29:00.786Z"},"snapshot":"","isCommitted":true,"persistency":{"id":"6814b4e2-aa0c-49d2-9ea5-e8893c0aa38d","offset":474,"count":632},"meta":{"revision":0,"created":1733405340791,"version":0},"$loki":2},{"deleted":false,"metadata":{"FunctionInstance":"000000000000000000000000ECDCC010"},"accountName":"devstoreaccount1","containerName":"azure-webjobs-hosts","name":"locks/esbbach1-505371708/host","properties":{"creationTime":"2024-12-05T13:29:27.810Z","lastModified":"2024-12-05T13:29:27.935Z","etag":"\"0x24F90CC989B1D40\"","contentLength":0,"contentType":"application/octet-stream","contentMD5":{"type":"Buffer","data":[212,29,140,217,143,0,178,4,233,128,9,152,236,248,66,126]},"blobType":"BlockBlob","leaseStatus":"locked","leaseState":"leased","serverEncrypted":true,"accessTier":"Hot","accessTierInferred":true,"accessTierChangeTime":"2024-12-05T13:29:27.810Z","leaseDuration":"fixed"},"snapshot":"","isCommitted":true,"persistency":{"id":"6814b4e2-aa0c-49d2-9ea5-e8893c0aa38d","offset":1106,"count":0},"meta":{"revision":9,"created":1733405367813,"version":0,"updated":1733405451971},"$loki":3,"leaseId":"000000000000000000000000ECDCC010","leaseExpireTime":"2024-12-05T13:31:06.970Z","leaseDurationSeconds":15}],"idIndex":[2,3],"binaryIndices":{"accountName":{"name":"accountName","dirty":false,"values":[1,0]},"containerName":{"name":"containerName","dirty":false,"values":[1,0]},"name":{"name":"name","dirty":false,"values":[0,1]},"snapshot":{"name":"snapshot","dirty":false,"values":[1,0]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$BLOBS_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":3,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]},{"name":"$BLOCKS_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{"accountName":{"name":"accountName","dirty":false,"values":[]},"containerName":{"name":"containerName","dirty":false,"values":[]},"blobName":{"name":"blobName","dirty":false,"values":[]},"name":{"name":"name","dirty":false,"values":[]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$BLOCKS_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]}],"databaseVersion":1.5,"engineVersion":1.5,"autosave":true,"autosaveInterval":5000,"autosaveHandle":null,"throttledSaves":true,"options":{"persistenceMethod":"fs","autosave":true,"autosaveInterval":5000,"serializationMethod":"normal","destructureDelimiter":"$<\n"},"persistenceMethod":"fs","persistenceAdapter":null,"verbose":false,"events":{"init":[null],"loaded":[],"flushChanges":[],"close":[],"changes":[],"warning":[]},"ENV":"NODEJS"}
@@ -0,0 +1 @@
1
+ {"filename":"C:\\Code\\repos\\s4-orders-js-sdk\\orders-module\\__azurite_db_blob_extent__.json","collections":[{"name":"$EXTENTS_COLLECTION$","data":[{"id":"6814b4e2-aa0c-49d2-9ea5-e8893c0aa38d","locationId":"Default","path":"6814b4e2-aa0c-49d2-9ea5-e8893c0aa38d","size":1106,"lastModifiedInMS":1733405340529,"meta":{"revision":2,"created":1733405340529,"version":0,"updated":1733405367812},"$loki":1,"LastModifyInMS":1733405367812}],"idIndex":[1],"binaryIndices":{"id":{"name":"id","dirty":false,"values":[0]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$EXTENTS_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":1,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]}],"databaseVersion":1.5,"engineVersion":1.5,"autosave":true,"autosaveInterval":5000,"autosaveHandle":null,"throttledSaves":true,"options":{"persistenceMethod":"fs","autosave":true,"autosaveInterval":5000,"serializationMethod":"normal","destructureDelimiter":"$<\n"},"persistenceMethod":"fs","persistenceAdapter":null,"verbose":false,"events":{"init":[null],"loaded":[],"flushChanges":[],"close":[],"changes":[],"warning":[]},"ENV":"NODEJS"}
@@ -0,0 +1 @@
1
+ {"filename":"C:\\Code\\repos\\s4-orders-js-sdk\\orders-module\\__azurite_db_queue__.json","collections":[{"name":"$SERVICES_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{},"constraints":null,"uniqueNames":["accountName"],"transforms":{},"objType":"$SERVICES_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]},{"name":"$QUEUES_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{"accountName":{"name":"accountName","dirty":false,"values":[]},"name":{"name":"name","dirty":false,"values":[]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$QUEUES_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]},{"name":"$MESSAGES_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{"accountName":{"name":"accountName","dirty":false,"values":[]},"queueName":{"name":"queueName","dirty":false,"values":[]},"messageId":{"name":"messageId","dirty":false,"values":[]},"visibleTime":{"name":"visibleTime","dirty":false,"values":[]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$MESSAGES_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]}],"databaseVersion":1.5,"engineVersion":1.5,"autosave":true,"autosaveInterval":5000,"autosaveHandle":null,"throttledSaves":true,"options":{"persistenceMethod":"fs","autosave":true,"autosaveInterval":5000,"serializationMethod":"normal","destructureDelimiter":"$<\n"},"persistenceMethod":"fs","persistenceAdapter":null,"verbose":false,"events":{"init":[null],"loaded":[],"flushChanges":[],"close":[],"changes":[],"warning":[]},"ENV":"NODEJS"}
@@ -0,0 +1 @@
1
+ {"filename":"C:\\Code\\repos\\s4-orders-js-sdk\\orders-module\\__azurite_db_queue_extent__.json","collections":[{"name":"$EXTENTS_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{"id":{"name":"id","dirty":false,"values":[]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$EXTENTS_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]}],"databaseVersion":1.5,"engineVersion":1.5,"autosave":true,"autosaveInterval":5000,"autosaveHandle":null,"throttledSaves":true,"options":{"persistenceMethod":"fs","autosave":true,"autosaveInterval":5000,"serializationMethod":"normal","destructureDelimiter":"$<\n"},"persistenceMethod":"fs","persistenceAdapter":null,"verbose":false,"events":{"init":[null],"loaded":[],"flushChanges":[],"close":[],"changes":[],"warning":[]},"ENV":"NODEJS"}
@@ -0,0 +1 @@
1
+ {"filename":"C:\\Code\\repos\\s4-orders-js-sdk\\orders-module\\__azurite_db_table__.json","collections":[{"name":"$TABLES_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{"account":{"name":"account","dirty":false,"values":[]},"table":{"name":"table","dirty":false,"values":[]}},"constraints":null,"uniqueNames":[],"transforms":{},"objType":"$TABLES_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]},{"name":"$SERVICES_COLLECTION$","data":[],"idIndex":null,"binaryIndices":{},"constraints":null,"uniqueNames":["accountName"],"transforms":{},"objType":"$SERVICES_COLLECTION$","dirty":false,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"adaptiveBinaryIndices":true,"transactional":false,"cloneObjects":false,"cloneMethod":"parse-stringify","asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"autoupdate":false,"serializableIndices":true,"disableFreeze":true,"ttl":null,"maxId":0,"DynamicViews":[],"events":{"insert":[],"update":[],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[],"delete":[null],"warning":[null]},"changes":[],"dirtyIds":[]}],"databaseVersion":1.5,"engineVersion":1.5,"autosave":true,"autosaveInterval":5000,"autosaveHandle":null,"throttledSaves":true,"options":{"persistenceMethod":"fs","autosave":true,"autosaveInterval":5000,"serializationMethod":"normal","destructureDelimiter":"$<\n"},"persistenceMethod":"fs","persistenceAdapter":null,"verbose":false,"events":{"init":[null],"loaded":[],"flushChanges":[],"close":[],"changes":[],"warning":[]},"ENV":"NODEJS"}
@@ -0,0 +1,43 @@
1
+ {
2
+ "masterKey": {
3
+ "name": "master",
4
+ "value": "7wseiRzKpd7oQ1yO5r--CLVrm5sMbjHltVxtApzUCDoGAzFuC9p3Og==",
5
+ "encrypted": false
6
+ },
7
+ "functionKeys": [
8
+ {
9
+ "name": "default",
10
+ "value": "lvuTAIZSep4sDwZXlWqQklWBsEVhwCKbC3msSvs4C-TZAzFu_mt4Yg==",
11
+ "encrypted": false
12
+ }
13
+ ],
14
+ "systemKeys": [],
15
+ "hostName": "localhost:7161",
16
+ "instanceId": "000000000000000000000000ECDCC010",
17
+ "source": "runtime",
18
+ "decryptionKeyId": ""
19
+ }{
20
+ "masterKey": {
21
+ "name": "master",
22
+ "value": "7wseiRzKpd7oQ1yO5r--CLVrm5sMbjHltVxtApzUCDoGAzFuC9p3Og==",
23
+ "encrypted": false
24
+ },
25
+ "functionKeys": [
26
+ {
27
+ "name": "default",
28
+ "value": "lvuTAIZSep4sDwZXlWqQklWBsEVhwCKbC3msSvs4C-TZAzFu_mt4Yg==",
29
+ "encrypted": false
30
+ }
31
+ ],
32
+ "systemKeys": [
33
+ {
34
+ "name": "eventgrid_extension",
35
+ "value": "daOhefCvoXVARuY2Ho-3bfGYK21hNkbpzVVio4deylC6AzFu4jvTMA==",
36
+ "encrypted": false
37
+ }
38
+ ],
39
+ "hostName": "localhost:7161",
40
+ "instanceId": "000000000000000000000000ECDCC010",
41
+ "source": "runtime",
42
+ "decryptionKeyId": ""
43
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infosoftas/s4-orders-js-sdk",
3
- "version": "0.0.1-alpha2b",
3
+ "version": "0.0.1-alpha2c",
4
4
  "scripts": {
5
5
  "build": "rimraf lib && webpack --env mode=production"
6
6
  },
@@ -106,14 +106,14 @@ const EHFForm: FC<Props> = ({
106
106
  label={organizationNumberLabel}
107
107
  required={!gln}
108
108
  readOnly={false}
109
- errors={errors}
109
+ errors={!gln ? errors : undefined}
110
110
  />
111
111
  <InputField
112
112
  name="gln"
113
113
  label={glnLabel}
114
114
  required={!cvr}
115
115
  readOnly={false}
116
- errors={errors}
116
+ errors={!cvr ? errors : undefined}
117
117
  />
118
118
  <div className="d-flex justify-center flex-wrap gap-2">
119
119
  <Button