@openmrs/esm-implementer-tools-app 3.1.10-pre.92 → 3.1.11-pre.597

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 (65) hide show
  1. package/README.md +1 -9
  2. package/__mocks__/react-i18next.js +54 -0
  3. package/{.babelrc → babel.config.json} +2 -1
  4. package/dist/266.openmrs-esm-implementer-tools-app.js +3 -0
  5. package/dist/266.openmrs-esm-implementer-tools-app.js.LICENSE.txt +8 -0
  6. package/dist/266.openmrs-esm-implementer-tools-app.js.map +1 -0
  7. package/dist/319.openmrs-esm-implementer-tools-app.js +1 -0
  8. package/dist/472.openmrs-esm-implementer-tools-app.js +2 -0
  9. package/dist/472.openmrs-esm-implementer-tools-app.js.map +1 -0
  10. package/dist/574.openmrs-esm-implementer-tools-app.js +1 -0
  11. package/dist/728.openmrs-esm-implementer-tools-app.js +2 -0
  12. package/dist/728.openmrs-esm-implementer-tools-app.js.map +1 -0
  13. package/dist/965.openmrs-esm-implementer-tools-app.js +3 -0
  14. package/dist/965.openmrs-esm-implementer-tools-app.js.LICENSE.txt +5 -0
  15. package/dist/965.openmrs-esm-implementer-tools-app.js.map +1 -0
  16. package/dist/openmrs-esm-implementer-tools-app.js +1 -1
  17. package/dist/openmrs-esm-implementer-tools-app.js.buildmanifest.json +170 -0
  18. package/dist/openmrs-esm-implementer-tools-app.js.map +1 -1
  19. package/jest.config.js +1 -2
  20. package/package.json +13 -20
  21. package/src/backend-dependencies/backend-dependencies.component.tsx +97 -0
  22. package/src/backend-dependencies/openmrs-backend-dependencies.ts +113 -93
  23. package/src/backend-dependencies/useBackendDependencies.ts +16 -0
  24. package/src/config-edit-button/config-edit-button.component.tsx +3 -1
  25. package/src/configuration/config-tree-for-module.component.tsx +1 -1
  26. package/src/configuration/config-tree.component.tsx +2 -9
  27. package/src/configuration/configuration.component.tsx +101 -31
  28. package/src/configuration/configuration.test.tsx +6 -6
  29. package/src/configuration/description.component.tsx +3 -1
  30. package/src/configuration/display-value.tsx +4 -4
  31. package/src/configuration/editable-value.component.tsx +5 -2
  32. package/src/configuration/extension-slots-config-tree.tsx +10 -14
  33. package/src/configuration/layout/subtree.component.tsx +1 -1
  34. package/src/configuration/layout/tree-container.component.tsx +1 -1
  35. package/src/configuration/value-editor.tsx +1 -1
  36. package/src/configuration/value-editors/array-editor.tsx +3 -3
  37. package/src/configuration/value-editors/extension-slot-add.tsx +1 -1
  38. package/src/configuration/value-editors/extension-slot-order.tsx +0 -4
  39. package/src/configuration/value-editors/extension-slot-remove.tsx +19 -7
  40. package/src/configuration/value-editors/object-editor.tsx +3 -3
  41. package/src/configuration/value-editors/value-editor-field.tsx +1 -3
  42. package/src/implementer-tools.button.tsx +33 -0
  43. package/src/implementer-tools.component.tsx +45 -81
  44. package/src/implementer-tools.styles.css +5 -9
  45. package/src/index.ts +35 -9
  46. package/src/popup/popup.component.tsx +11 -27
  47. package/src/popup/popup.styles.css +1 -1
  48. package/src/store.ts +27 -32
  49. package/src/ui-editor/extension-overlay.component.tsx +1 -1
  50. package/src/ui-editor/styles.css +7 -0
  51. package/src/ui-editor/ui-editor.tsx +49 -21
  52. package/translations/en.json +12 -0
  53. package/translations/es.json +13 -0
  54. package/tsconfig.json +1 -0
  55. package/webpack.config.js +1 -66
  56. package/__mocks__/openmrs-esm-framework.mock.tsx +0 -142
  57. package/dist/1.openmrs-esm-implementer-tools-app.js +0 -15
  58. package/dist/1.openmrs-esm-implementer-tools-app.js.map +0 -1
  59. package/dist/2.openmrs-esm-implementer-tools-app.js +0 -2
  60. package/dist/2.openmrs-esm-implementer-tools-app.js.map +0 -1
  61. package/src/backend-dependencies/backend-dependecies.component.tsx +0 -106
  62. package/src/backend-dependencies/backend-dependencies-style.css +0 -4
  63. package/src/backend-dependencies/helpers/backend-dependecies-helper.test.ts +0 -127
  64. package/src/backend-dependencies/helpers/backend-dependecies-helper.ts +0 -70
  65. package/src/set-public-path.ts +0 -3
package/README.md CHANGED
@@ -1,14 +1,6 @@
1
1
  # openmrs-esm-implementer-tools-app
2
2
 
3
- An [OpenMRS Microfrontend](https://wiki.openmrs.org/display/projects/Frontend+-+SPA+and+Microfrontends).
4
-
5
- ## What is this?
6
-
7
- openmrs-esm-implementer-tools-app is an [in-browser javascript module](https://github.com/openmrs/openmrs-rfc-frontend/blob/master/text/0002-modules.md) provides a UI for
3
+ openmrs-esm-implementer-tools-app provides a UI for
8
4
  viewing and editing configurations, and viewing other administrative information
9
5
  about the frontend application. It is part of the
10
6
  [Extension System](https://github.com/openmrs/openmrs-rfc-frontend/pull/27/files).
11
-
12
- ## Contributing / Development
13
-
14
- [Instructions for local development](https://wiki.openmrs.org/display/projects/Setup+local+development+environment+for+OpenMRS+SPA)
@@ -0,0 +1,54 @@
1
+ const React = require("react");
2
+ const reactI18next = require("react-i18next");
3
+
4
+ const hasChildren = (node) =>
5
+ node && (node.children || (node.props && node.props.children));
6
+
7
+ const getChildren = (node) =>
8
+ node && node.children ? node.children : node.props && node.props.children;
9
+
10
+ const renderNodes = (reactNodes) => {
11
+ if (typeof reactNodes === "string") {
12
+ return reactNodes;
13
+ }
14
+
15
+ return Object.keys(reactNodes).map((key, i) => {
16
+ const child = reactNodes[key];
17
+ const isElement = React.isValidElement(child);
18
+
19
+ if (typeof child === "string") {
20
+ return child;
21
+ }
22
+ if (hasChildren(child)) {
23
+ const inner = renderNodes(getChildren(child));
24
+ return React.cloneElement(child, { ...child.props, key: i }, inner);
25
+ }
26
+ if (typeof child === "object" && !isElement) {
27
+ return Object.keys(child).reduce(
28
+ (str, childKey) => `${str}${child[childKey]}`,
29
+ ""
30
+ );
31
+ }
32
+
33
+ return child;
34
+ });
35
+ };
36
+
37
+ const useMock = [(k) => k, {}];
38
+ useMock.t = (k, o) => (o && o.defaultValue) || (typeof o === "string" ? o : k);
39
+ useMock.i18n = {};
40
+
41
+ module.exports = {
42
+ // this mock makes sure any components using the translate HoC receive the t function as a prop
43
+ Trans: ({ children }) => renderNodes(children),
44
+ Translation: ({ children }) => children((k) => k, { i18n: {} }),
45
+ useTranslation: () => useMock,
46
+
47
+ // mock if needed
48
+ I18nextProvider: reactI18next.I18nextProvider,
49
+ initReactI18next: reactI18next.initReactI18next,
50
+ setDefaults: reactI18next.setDefaults,
51
+ getDefaults: reactI18next.getDefaults,
52
+ setI18n: reactI18next.setI18n,
53
+ getI18n: reactI18next.getI18n
54
+ };
@@ -3,5 +3,6 @@
3
3
  "@babel/preset-env",
4
4
  "@babel/preset-typescript",
5
5
  "@babel/preset-react"
6
- ]
6
+ ],
7
+ "plugins": ["@babel/plugin-proposal-class-properties"]
7
8
  }