@openmrs/esm-framework 3.2.1-pre.967 → 3.2.1-pre.970

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/mock.tsx CHANGED
@@ -203,7 +203,14 @@ export const ExtensionSlot = ({ children }) => <>{children}</>;
203
203
 
204
204
  export const Extension = jest.fn().mockImplementation((props: any) => <slot />);
205
205
 
206
- export const extensionStore = getGlobalStore("extensions", { slots: {} });
206
+ export const getExtensionStore = () =>
207
+ getGlobalStore("extensions", { slots: {} });
208
+
209
+ export const getExtensionInternalStore = () =>
210
+ getGlobalStore("extensions-internal", {
211
+ slots: {},
212
+ extensions: {},
213
+ });
207
214
 
208
215
  /* esm-react-utils */
209
216
 
@@ -241,10 +248,11 @@ export const createUseStore = (store: Store<any>) => (actions) => {
241
248
  return { ...state, ...actions };
242
249
  };
243
250
 
244
- export const useExtensionStore = (actions) => {
245
- const state = extensionStore.getState();
246
- return { ...state, ...actions };
247
- };
251
+ export const useExtensionInternalStore = createUseStore(
252
+ getExtensionInternalStore()
253
+ );
254
+
255
+ export const useExtensionStore = createUseStore(getExtensionStore());
248
256
 
249
257
  export const useStore = (store: Store<any>, actions) => {
250
258
  const state = store.getState();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-framework",
3
- "version": "3.2.1-pre.967",
3
+ "version": "3.2.1-pre.970",
4
4
  "license": "MPL-2.0",
5
5
  "browser": "dist/openmrs-esm-framework.js",
6
6
  "main": "src/index.ts",
@@ -35,18 +35,18 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@openmrs/esm-api": "^3.2.1-pre.967",
39
- "@openmrs/esm-breadcrumbs": "^3.2.1-pre.967",
40
- "@openmrs/esm-config": "^3.2.1-pre.967",
41
- "@openmrs/esm-error-handling": "^3.2.1-pre.967",
42
- "@openmrs/esm-extensions": "^3.2.1-pre.967",
43
- "@openmrs/esm-globals": "^3.2.1-pre.967",
44
- "@openmrs/esm-offline": "^3.2.1-pre.967",
45
- "@openmrs/esm-react-utils": "^3.2.1-pre.967",
46
- "@openmrs/esm-state": "^3.2.1-pre.967",
47
- "@openmrs/esm-styleguide": "^3.2.1-pre.967",
48
- "@openmrs/esm-utils": "^3.2.1-pre.967",
38
+ "@openmrs/esm-api": "^3.2.1-pre.970",
39
+ "@openmrs/esm-breadcrumbs": "^3.2.1-pre.970",
40
+ "@openmrs/esm-config": "^3.2.1-pre.970",
41
+ "@openmrs/esm-error-handling": "^3.2.1-pre.970",
42
+ "@openmrs/esm-extensions": "^3.2.1-pre.970",
43
+ "@openmrs/esm-globals": "^3.2.1-pre.970",
44
+ "@openmrs/esm-offline": "^3.2.1-pre.970",
45
+ "@openmrs/esm-react-utils": "^3.2.1-pre.970",
46
+ "@openmrs/esm-state": "^3.2.1-pre.970",
47
+ "@openmrs/esm-styleguide": "^3.2.1-pre.970",
48
+ "@openmrs/esm-utils": "^3.2.1-pre.970",
49
49
  "dayjs": "^1.10.7"
50
50
  },
51
- "gitHead": "5433fe8ad70b47ae8c9c6976d2f5bbf33e39d5ad"
51
+ "gitHead": "57dc1a5a7b655a60a431d88cd7991f2b9ab23ed9"
52
52
  }
@@ -2,12 +2,9 @@ import React from "react";
2
2
  import {
3
3
  attach,
4
4
  registerExtension,
5
- registerExtensionSlot,
6
- updateExtensionStore,
7
- ExtensionStore,
5
+ updateInternalExtensionStore,
8
6
  } from "../../../esm-extensions";
9
7
  import {
10
- Extension,
11
8
  ExtensionSlot,
12
9
  getSyncLifecycle,
13
10
  openmrsComponentDecorator,
@@ -18,7 +15,7 @@ import { render, screen, waitFor } from "@testing-library/react";
18
15
 
19
16
  describe("Interaction between configuration and extension systems", () => {
20
17
  beforeEach(() => {
21
- updateExtensionStore(() => ({ slots: {}, extensions: {} }));
18
+ updateInternalExtensionStore(() => ({ slots: {}, extensions: {} }));
22
19
  });
23
20
 
24
21
  test("Config should add, order, and remove extensions within slots", async () => {
@@ -26,7 +23,6 @@ describe("Interaction between configuration and extension systems", () => {
26
23
  registerSimpleExtension("Wilma", "esm-flintstone");
27
24
  registerSimpleExtension("Barney", "esm-rubble");
28
25
  registerSimpleExtension("Betty", "esm-rubble");
29
- registerExtensionSlot("esm-flintstone", "A slot");
30
26
  attach("A slot", "Fred");
31
27
  attach("A slot", "Wilma");
32
28
  defineConfigSchema("esm-flintstone", {});
@@ -58,8 +54,6 @@ describe("Interaction between configuration and extension systems", () => {
58
54
 
59
55
  test("Extensions should recieve config from module and from 'configure' key", async () => {
60
56
  registerSimpleExtension("Wilma", "esm-flintstone", true);
61
- registerExtensionSlot("esm-flintstone", "Flintstone slot");
62
- registerExtensionSlot("esm-flintstone", "Future slot");
63
57
  defineConfigSchema("esm-flintstone", {
64
58
  town: { _type: Type.String, _default: "Bedrock" },
65
59
  });
@@ -105,7 +99,6 @@ describe("Interaction between configuration and extension systems", () => {
105
99
 
106
100
  test("Should be possible to attach the same extension twice with different configurations", async () => {
107
101
  registerSimpleExtension("pet", "esm-characters", true);
108
- registerExtensionSlot("esm-flintstone", "Flintstone slot");
109
102
  defineConfigSchema("esm-characters", {
110
103
  name: { _type: Type.String, _default: "(no-name)" },
111
104
  });
@@ -161,7 +154,8 @@ function registerSimpleExtension(
161
154
  </div>
162
155
  );
163
156
  };
164
- registerExtension(name, {
157
+ registerExtension({
158
+ name,
165
159
  moduleName,
166
160
  load: getSyncLifecycle(
167
161
  takesConfig ? ConfigurableComponent : SimpleComponent,
@@ -1,34 +0,0 @@
1
- [@openmrs/esm-framework](../API.md) / ConfigStore
2
-
3
- # Interface: ConfigStore
4
-
5
- Output configs
6
-
7
- Each module has its own stores for its config and its extension slots' configs.
8
-
9
- ## Table of contents
10
-
11
- ### Properties
12
-
13
- - [config](ConfigStore.md#config)
14
- - [loaded](ConfigStore.md#loaded)
15
-
16
- ## Properties
17
-
18
- ### config
19
-
20
- • **config**: ``null`` \| [`ConfigObject`](ConfigObject.md)
21
-
22
- #### Defined in
23
-
24
- [packages/framework/esm-config/src/module-config/state.ts:125](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/module-config/state.ts#L125)
25
-
26
- ___
27
-
28
- ### loaded
29
-
30
- • **loaded**: `boolean`
31
-
32
- #### Defined in
33
-
34
- [packages/framework/esm-config/src/module-config/state.ts:126](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/module-config/state.ts#L126)
@@ -1,81 +0,0 @@
1
- [@openmrs/esm-framework](../API.md) / ExtensionDetails
2
-
3
- # Interface: ExtensionDetails
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [meta](ExtensionDetails.md#meta)
10
- - [moduleName](ExtensionDetails.md#modulename)
11
- - [offline](ExtensionDetails.md#offline)
12
- - [online](ExtensionDetails.md#online)
13
- - [order](ExtensionDetails.md#order)
14
-
15
- ### Methods
16
-
17
- - [load](ExtensionDetails.md#load)
18
-
19
- ## Properties
20
-
21
- ### meta
22
-
23
- • **meta**: `Record`<`string`, `any`\>
24
-
25
- #### Defined in
26
-
27
- [packages/framework/esm-extensions/src/extensions.ts:56](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/extensions.ts#L56)
28
-
29
- ___
30
-
31
- ### moduleName
32
-
33
- • **moduleName**: `string`
34
-
35
- #### Defined in
36
-
37
- [packages/framework/esm-extensions/src/extensions.ts:54](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/extensions.ts#L54)
38
-
39
- ___
40
-
41
- ### offline
42
-
43
- • `Optional` **offline**: `boolean` \| `object`
44
-
45
- #### Defined in
46
-
47
- [packages/framework/esm-extensions/src/extensions.ts:58](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/extensions.ts#L58)
48
-
49
- ___
50
-
51
- ### online
52
-
53
- • `Optional` **online**: `boolean` \| `object`
54
-
55
- #### Defined in
56
-
57
- [packages/framework/esm-extensions/src/extensions.ts:57](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/extensions.ts#L57)
58
-
59
- ___
60
-
61
- ### order
62
-
63
- • `Optional` **order**: `number`
64
-
65
- #### Defined in
66
-
67
- [packages/framework/esm-extensions/src/extensions.ts:59](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/extensions.ts#L59)
68
-
69
- ## Methods
70
-
71
- ### load
72
-
73
- ▸ **load**(): `Promise`<`any`\>
74
-
75
- #### Returns
76
-
77
- `Promise`<`any`\>
78
-
79
- #### Defined in
80
-
81
- [packages/framework/esm-extensions/src/extensions.ts:55](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/extensions.ts#L55)
@@ -1,32 +0,0 @@
1
- [@openmrs/esm-framework](../API.md) / ExtensionSlotConfigsStore
2
-
3
- # Interface: ExtensionSlotConfigsStore
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [extensionSlotConfigs](ExtensionSlotConfigsStore.md#extensionslotconfigs)
10
- - [loaded](ExtensionSlotConfigsStore.md#loaded)
11
-
12
- ## Properties
13
-
14
- ### extensionSlotConfigs
15
-
16
- • **extensionSlotConfigs**: `Record`<`string`, [`ExtensionSlotConfigObject`](ExtensionSlotConfigObject.md)\>
17
-
18
- Configs for each extension slot in the module, indexed by slot name
19
-
20
- #### Defined in
21
-
22
- [packages/framework/esm-config/src/module-config/state.ts:146](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/module-config/state.ts#L146)
23
-
24
- ___
25
-
26
- ### loaded
27
-
28
- • **loaded**: `boolean`
29
-
30
- #### Defined in
31
-
32
- [packages/framework/esm-config/src/module-config/state.ts:147](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/module-config/state.ts#L147)
@@ -1,51 +0,0 @@
1
- [@openmrs/esm-framework](../API.md) / ExtensionSlotInstance
2
-
3
- # Interface: ExtensionSlotInstance
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [addedIds](ExtensionSlotInstance.md#addedids)
10
- - [idOrder](ExtensionSlotInstance.md#idorder)
11
- - [removedIds](ExtensionSlotInstance.md#removedids)
12
-
13
- ## Properties
14
-
15
- ### addedIds
16
-
17
- • **addedIds**: `string`[]
18
-
19
- A set of additional extension IDs which have been added to to this slot despite not being
20
- explicitly `attach`ed to it.
21
- An example may be an extension which is added to the slot via the configuration.
22
-
23
- #### Defined in
24
-
25
- [packages/framework/esm-extensions/src/store.ts:47](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/store.ts#L47)
26
-
27
- ___
28
-
29
- ### idOrder
30
-
31
- • **idOrder**: `string`[]
32
-
33
- A set allowing explicit ordering of the `assignedIds`.
34
-
35
- #### Defined in
36
-
37
- [packages/framework/esm-extensions/src/store.ts:57](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/store.ts#L57)
38
-
39
- ___
40
-
41
- ### removedIds
42
-
43
- • **removedIds**: `string`[]
44
-
45
- A set of extension IDs which have been removed/hidden from this slot, even though they have
46
- previously been `attach`ed/added to it.
47
- An example may be an extension which is removed from the slot via the configuration.
48
-
49
- #### Defined in
50
-
51
- [packages/framework/esm-extensions/src/store.ts:53](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-extensions/src/store.ts#L53)
@@ -1,19 +0,0 @@
1
- [@openmrs/esm-framework](../API.md) / ImplementerToolsConfigStore
2
-
3
- # Interface: ImplementerToolsConfigStore
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [config](ImplementerToolsConfigStore.md#config)
10
-
11
- ## Properties
12
-
13
- ### config
14
-
15
- • **config**: [`Config`](Config.md)
16
-
17
- #### Defined in
18
-
19
- [packages/framework/esm-config/src/module-config/state.ts:179](https://github.com/openmrs/openmrs-esm-core/blob/master/packages/framework/esm-config/src/module-config/state.ts#L179)