@openmrs/esm-implementer-tools-app 3.3.2-pre.31 → 3.3.2-pre.48
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/.turbo/turbo-build.log +38 -37
- package/dist/1.js +2 -0
- package/dist/1.js.map +1 -0
- package/dist/105.js +2 -0
- package/dist/105.js.map +1 -0
- package/dist/25.js +1 -1
- package/dist/25.js.LICENSE.txt +15 -13
- package/dist/25.js.map +1 -1
- package/dist/280.js +1 -1
- package/dist/280.js.map +1 -1
- package/dist/284.js +1 -1
- package/dist/284.js.map +1 -1
- package/dist/475.js +2 -0
- package/dist/475.js.map +1 -0
- package/dist/531.js +1 -1
- package/dist/531.js.map +1 -1
- package/dist/652.js +2 -0
- package/dist/652.js.map +1 -0
- package/dist/769.js +3 -0
- package/dist/{933.js.LICENSE.txt → 769.js.LICENSE.txt} +0 -0
- package/dist/769.js.map +1 -0
- package/dist/811.js +1 -1
- package/dist/811.js.map +1 -1
- package/dist/839.js +2 -0
- package/dist/839.js.map +1 -0
- package/dist/860.js +2 -0
- package/dist/860.js.map +1 -0
- package/dist/889.js +1 -1
- package/dist/889.js.map +1 -1
- package/dist/890.js +3 -0
- package/dist/890.js.LICENSE.txt +38 -0
- package/dist/890.js.map +1 -0
- package/dist/openmrs-esm-implementer-tools-app.js +1 -1
- package/dist/openmrs-esm-implementer-tools-app.js.buildmanifest.json +198 -57
- package/dist/openmrs-esm-implementer-tools-app.js.map +1 -1
- package/dist/openmrs-esm-implementer-tools-app.old +1 -1
- package/jest.config.js +2 -0
- package/package.json +10 -5
- package/src/backend-dependencies/backend-dependencies.component.tsx +2 -3
- package/src/configuration/configuration.component.tsx +32 -31
- package/src/configuration/configuration.styles.scss +3 -37
- package/src/configuration/configuration.test.tsx +28 -50
- package/src/configuration/interactive-editor/config-tree.component.tsx +1 -1
- package/src/configuration/interactive-editor/config-tree.styles.scss +1 -1
- package/src/configuration/interactive-editor/description.styles.scss +8 -11
- package/src/configuration/interactive-editor/display-value.scss +1 -2
- package/src/configuration/interactive-editor/display-value.tsx +1 -1
- package/src/configuration/interactive-editor/editable-value.component.tsx +5 -4
- package/src/configuration/interactive-editor/editable-value.styles.scss +2 -3
- package/src/configuration/interactive-editor/layout/subtree.component.tsx +1 -1
- package/src/configuration/interactive-editor/layout/tree-container.component.tsx +4 -1
- package/src/configuration/interactive-editor/value-editor.scss +1 -2
- package/src/configuration/interactive-editor/value-editor.tsx +7 -10
- package/src/configuration/interactive-editor/value-editors/array-editor.styles.css +2 -2
- package/src/configuration/interactive-editor/value-editors/array-editor.tsx +6 -5
- package/src/configuration/interactive-editor/value-editors/concept-search.styles.scss +1 -2
- package/src/configuration/interactive-editor/value-editors/concept-search.tsx +1 -1
- package/src/configuration/interactive-editor/value-editors/extension-slot-add.tsx +1 -1
- package/src/configuration/interactive-editor/value-editors/extension-slot-remove.tsx +1 -1
- package/src/configuration/interactive-editor/value-editors/object-editor.styles.css +2 -2
- package/src/configuration/interactive-editor/value-editors/object-editor.tsx +1 -1
- package/src/configuration/interactive-editor/value-editors/patient-identifier-type-search.tsx +1 -1
- package/src/configuration/interactive-editor/value-editors/person-attribute-search.tsx +1 -1
- package/src/configuration/interactive-editor/value-editors/uuid-search.scss +5 -7
- package/src/configuration/interactive-editor/value-editors/value-editor-field.tsx +1 -1
- package/src/configuration/json-editor/json-editor.component.tsx +2 -2
- package/src/implementer-tools.button.tsx +4 -3
- package/src/{implementer-tools.test.tsx → implementer-tools.component.test.tsx} +0 -0
- package/src/implementer-tools.component.tsx +2 -2
- package/src/implementer-tools.styles.scss +5 -5
- package/src/popup/popup.component.tsx +4 -5
- package/src/popup/popup.styles.scss +9 -1
- package/src/ui-editor/ui-editor.tsx +3 -3
- package/dist/16.js +0 -2
- package/dist/16.js.map +0 -1
- package/dist/24.js +0 -2
- package/dist/24.js.map +0 -1
- package/dist/739.js +0 -2
- package/dist/739.js.map +0 -1
- package/dist/933.js +0 -3
- package/dist/933.js.map +0 -1
- package/src/backend-dependencies/backend-dependencies.styles.scss +0 -8
|
@@ -90,8 +90,7 @@ const mockImplToolsConfig = {
|
|
|
90
90
|
},
|
|
91
91
|
};
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
describe.skip(`<Configuration />`, () => {
|
|
93
|
+
describe(`<Configuration />`, () => {
|
|
95
94
|
afterEach(() => {
|
|
96
95
|
implementerToolsConfigStore.setState({ config: {} });
|
|
97
96
|
temporaryConfigStore.setState({ config: {} });
|
|
@@ -103,15 +102,12 @@ describe.skip(`<Configuration />`, () => {
|
|
|
103
102
|
render(<Configuration />);
|
|
104
103
|
}
|
|
105
104
|
|
|
106
|
-
it(
|
|
105
|
+
it(`renders without dying`, async () => {
|
|
107
106
|
renderConfiguration();
|
|
108
|
-
|
|
109
|
-
screen.
|
|
110
|
-
screen.
|
|
111
|
-
screen.
|
|
112
|
-
screen.getByRole("button", { name: /Clear Local Config/i });
|
|
113
|
-
screen.getByRole("button", { name: /Download Config/i });
|
|
114
|
-
screen.getByRole("textbox", { name: /Search configuration/i });
|
|
107
|
+
await screen.findByText("Dev Config");
|
|
108
|
+
screen.getByText("UI Editor");
|
|
109
|
+
screen.getByText("Clear Local Config");
|
|
110
|
+
screen.getByText("Download Config");
|
|
115
111
|
});
|
|
116
112
|
|
|
117
113
|
it("displays correct boolean value and editor", async () => {
|
|
@@ -120,22 +116,17 @@ describe.skip(`<Configuration />`, () => {
|
|
|
120
116
|
"@openmrs/mario": mockImplToolsConfig["@openmrs/mario"],
|
|
121
117
|
},
|
|
122
118
|
});
|
|
123
|
-
|
|
124
119
|
renderConfiguration();
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
.closest(".cds--structured-list-row");
|
|
120
|
+
const rowElement = (await screen.findByText("hasHat")).closest(
|
|
121
|
+
".bx--structured-list-row"
|
|
122
|
+
);
|
|
129
123
|
expect(rowElement).toBeInTheDocument();
|
|
130
|
-
|
|
131
124
|
if (rowElement) {
|
|
132
125
|
const row = within(rowElement as HTMLElement);
|
|
133
126
|
const value = row.getByText("false");
|
|
134
127
|
const editButton = row.getByText("Edit").parentElement as any;
|
|
135
|
-
|
|
128
|
+
fireEvent.click(editButton);
|
|
136
129
|
const editor = await row.findByRole("checkbox");
|
|
137
|
-
screen.getByRole("x");
|
|
138
|
-
screen.debug(undefined, 100000);
|
|
139
130
|
fireEvent.click(editor);
|
|
140
131
|
fireEvent.click(row.getByText("Save"));
|
|
141
132
|
// The mocked temporaryConfigStore.getState seems to be producing something
|
|
@@ -163,31 +154,27 @@ describe.skip(`<Configuration />`, () => {
|
|
|
163
154
|
"@openmrs/mario": mockImplToolsConfig["@openmrs/mario"],
|
|
164
155
|
},
|
|
165
156
|
});
|
|
166
|
-
|
|
167
157
|
renderConfiguration();
|
|
168
|
-
|
|
169
158
|
const rowElement = (await screen.findByText("hatUuid")).closest(
|
|
170
|
-
".
|
|
159
|
+
".bx--structured-list-row"
|
|
171
160
|
);
|
|
172
161
|
expect(rowElement).toBeInTheDocument();
|
|
173
|
-
|
|
174
162
|
if (rowElement) {
|
|
175
163
|
const row = within(rowElement as HTMLElement);
|
|
176
164
|
const valueButton = row.getByText("38c650cf-85d5-41b4-b0b1-46709248acca");
|
|
177
165
|
const editButton = row.getByText("Edit").parentElement as any;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
// });
|
|
166
|
+
fireEvent.click(editButton);
|
|
167
|
+
const editor = await row.findByRole("combobox");
|
|
168
|
+
userEvent.type(editor, "fed");
|
|
169
|
+
expect(mockPerformConceptSearch).toHaveBeenCalledWith("fed");
|
|
170
|
+
const targetConcept = await row.findByText("Fedora");
|
|
171
|
+
userEvent.click(targetConcept);
|
|
172
|
+
userEvent.click(row.getByText("Save"));
|
|
173
|
+
expect(temporaryConfigStore.setState).toHaveBeenCalledWith({
|
|
174
|
+
config: {
|
|
175
|
+
"@openmrs/mario": { hatUuid: "61523693-72e2-456d-8c64-8c5293febeb6" },
|
|
176
|
+
},
|
|
177
|
+
});
|
|
191
178
|
}
|
|
192
179
|
});
|
|
193
180
|
|
|
@@ -197,14 +184,11 @@ describe.skip(`<Configuration />`, () => {
|
|
|
197
184
|
"@openmrs/mario": mockImplToolsConfig["@openmrs/mario"],
|
|
198
185
|
},
|
|
199
186
|
});
|
|
200
|
-
|
|
201
187
|
renderConfiguration();
|
|
202
|
-
|
|
203
188
|
const rowElement = (await screen.findByText("numberFingers")).closest(
|
|
204
|
-
".
|
|
189
|
+
".bx--structured-list-row"
|
|
205
190
|
);
|
|
206
191
|
expect(rowElement).toBeInTheDocument();
|
|
207
|
-
|
|
208
192
|
if (rowElement) {
|
|
209
193
|
const row = within(rowElement as HTMLElement);
|
|
210
194
|
const valueButton = row.getByText("8");
|
|
@@ -228,14 +212,11 @@ describe.skip(`<Configuration />`, () => {
|
|
|
228
212
|
"@openmrs/mario": mockImplToolsConfig["@openmrs/mario"],
|
|
229
213
|
},
|
|
230
214
|
});
|
|
231
|
-
|
|
232
215
|
renderConfiguration();
|
|
233
|
-
|
|
234
216
|
const rowElement = (await screen.findByText("nemesisName")).closest(
|
|
235
|
-
".
|
|
217
|
+
".bx--structured-list-row"
|
|
236
218
|
);
|
|
237
219
|
expect(rowElement).toBeInTheDocument();
|
|
238
|
-
|
|
239
220
|
if (rowElement) {
|
|
240
221
|
const row = within(rowElement as HTMLElement);
|
|
241
222
|
const valueButton = row.getByText("Waluigi");
|
|
@@ -257,14 +238,11 @@ describe.skip(`<Configuration />`, () => {
|
|
|
257
238
|
"@openmrs/mario": mockImplToolsConfig["@openmrs/mario"],
|
|
258
239
|
},
|
|
259
240
|
});
|
|
260
|
-
|
|
261
241
|
renderConfiguration();
|
|
262
|
-
|
|
263
242
|
const rowElement = (await screen.findByText("mustacheUuid")).closest(
|
|
264
|
-
".
|
|
243
|
+
".bx--structured-list-row"
|
|
265
244
|
);
|
|
266
245
|
expect(rowElement).toBeInTheDocument();
|
|
267
|
-
|
|
268
246
|
if (rowElement) {
|
|
269
247
|
const row = within(rowElement as HTMLElement);
|
|
270
248
|
const valueButton = row.getByText("181aee4a-5664-42da-8699-c36d28083bd0");
|
|
@@ -289,7 +267,7 @@ describe.skip(`<Configuration />`, () => {
|
|
|
289
267
|
});
|
|
290
268
|
renderConfiguration();
|
|
291
269
|
const rowElement = (await screen.findByText("favoriteNumbers")).closest(
|
|
292
|
-
".
|
|
270
|
+
".bx--structured-list-row"
|
|
293
271
|
);
|
|
294
272
|
expect(rowElement).toBeInTheDocument();
|
|
295
273
|
if (rowElement) {
|
|
@@ -303,7 +281,7 @@ describe.skip(`<Configuration />`, () => {
|
|
|
303
281
|
userEvent.type(firstValue, "5");
|
|
304
282
|
const secondRowElement = row
|
|
305
283
|
.getByDisplayValue("12")
|
|
306
|
-
.closest(".
|
|
284
|
+
.closest(".bx--structured-list-row");
|
|
307
285
|
expect(secondRowElement).toBeInTheDocument();
|
|
308
286
|
// I can't get the add or remove buttons to work in tests.
|
|
309
287
|
if (secondRowElement) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import styles from "./config-tree.styles.scss";
|
|
3
|
-
import { Accordion, AccordionItem } from "
|
|
3
|
+
import { Accordion, AccordionItem } from "carbon-components-react";
|
|
4
4
|
import { ConfigTreeForModule } from "./config-tree-for-module.component";
|
|
5
5
|
|
|
6
6
|
export interface ConfigTreeProps {
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
@use "@carbon/styles/scss/spacing";
|
|
2
|
-
@use "@carbon/styles/scss/type";
|
|
3
|
-
@import "~@openmrs/esm-styleguide/src/vars";
|
|
4
1
|
@import "../../implementer-tools.styles.scss";
|
|
5
2
|
|
|
6
3
|
.path {
|
|
7
|
-
@include type
|
|
8
|
-
margin-bottom: spacing
|
|
4
|
+
@include carbon--type-style("productive-heading-02");
|
|
5
|
+
margin-bottom: $spacing-03;
|
|
9
6
|
}
|
|
10
7
|
|
|
11
8
|
.description {
|
|
12
|
-
@include type
|
|
13
|
-
margin-bottom: spacing
|
|
9
|
+
@include carbon--type-style("body-short-01");
|
|
10
|
+
margin-bottom: $spacing-05;
|
|
14
11
|
}
|
|
15
12
|
|
|
16
13
|
.source {
|
|
17
|
-
@include type
|
|
14
|
+
@include carbon--type-style("body-short-01");
|
|
18
15
|
font-style: italic;
|
|
19
|
-
margin-bottom: spacing
|
|
16
|
+
margin-bottom: $spacing-03;
|
|
20
17
|
}
|
|
21
18
|
|
|
22
19
|
.value {
|
|
23
20
|
font-family: monospace;
|
|
24
|
-
margin-top: spacing
|
|
25
|
-
margin-left: spacing
|
|
21
|
+
margin-top: $spacing-03;
|
|
22
|
+
margin-left: $spacing-03;
|
|
26
23
|
}
|
|
@@ -2,9 +2,10 @@ import React, { useState, useEffect, useRef } from "react";
|
|
|
2
2
|
import isEqual from "lodash-es/isEqual";
|
|
3
3
|
import unset from "lodash-es/unset";
|
|
4
4
|
import cloneDeep from "lodash-es/cloneDeep";
|
|
5
|
+
import Reset16 from "@carbon/icons-react/es/reset/16";
|
|
6
|
+
import Edit16 from "@carbon/icons-react/es/edit/16";
|
|
5
7
|
import styles from "./editable-value.styles.scss";
|
|
6
|
-
import { Button } from "
|
|
7
|
-
import { Edit, Reset } from "@carbon/react/icons";
|
|
8
|
+
import { Button } from "carbon-components-react";
|
|
8
9
|
import {
|
|
9
10
|
ConfigValue,
|
|
10
11
|
Validator,
|
|
@@ -124,12 +125,12 @@ export default function EditableValue({
|
|
|
124
125
|
iconDescription={t("editValueButtonText", "Edit")}
|
|
125
126
|
onClick={() => setEditing(true)}
|
|
126
127
|
ref={activeConfigRef}
|
|
127
|
-
renderIcon={
|
|
128
|
+
renderIcon={Edit16}
|
|
128
129
|
hasIconOnly
|
|
129
130
|
/>
|
|
130
131
|
{element._source == "temporary config" ? (
|
|
131
132
|
<Button
|
|
132
|
-
renderIcon={
|
|
133
|
+
renderIcon={Reset16}
|
|
133
134
|
size="sm"
|
|
134
135
|
kind="ghost"
|
|
135
136
|
iconDescription={t(
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
@use "@carbon/styles/scss/spacing";
|
|
2
1
|
@import "../../implementer-tools.styles.scss";
|
|
3
2
|
|
|
4
3
|
.secretButton {
|
|
@@ -21,9 +20,9 @@
|
|
|
21
20
|
|
|
22
21
|
.elementValue {
|
|
23
22
|
display: flex;
|
|
24
|
-
align-items:
|
|
23
|
+
align-items: flex-start;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
.editValueButton {
|
|
28
|
-
margin-left: spacing
|
|
27
|
+
margin-left: $spacing-05;
|
|
29
28
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
StructuredListBody,
|
|
4
|
+
StructuredListWrapper,
|
|
5
|
+
} from "carbon-components-react";
|
|
3
6
|
import styles from "./layout.styles.css";
|
|
4
7
|
|
|
5
8
|
export interface TreeContainerProps {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React, { useEffect, useState, useRef } from "react";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
2
|
+
import Close16 from "@carbon/icons-react/es/close/16";
|
|
3
|
+
import Save16 from "@carbon/icons-react/es/save/16";
|
|
4
|
+
import { Button } from "carbon-components-react";
|
|
5
5
|
import { Type } from "@openmrs/esm-framework";
|
|
6
6
|
import { ConfigValueDescriptor } from "./editable-value.component";
|
|
7
7
|
import { ValueEditorField } from "./value-editors/value-editor-field";
|
|
8
8
|
import styles from "./value-editor.scss";
|
|
9
|
+
import { useTranslation } from "react-i18next";
|
|
9
10
|
|
|
10
11
|
export type CustomValueType = "add" | "remove" | "order" | "configure";
|
|
11
12
|
|
|
@@ -58,18 +59,14 @@ export function ValueEditor({
|
|
|
58
59
|
/>
|
|
59
60
|
<div className={styles.valueEditorButtons}>
|
|
60
61
|
<Button
|
|
61
|
-
renderIcon={
|
|
62
|
+
renderIcon={Save16}
|
|
62
63
|
kind="primary"
|
|
63
64
|
onClick={() => handleSave(JSON.stringify(tmpValue))}
|
|
64
65
|
>
|
|
65
66
|
{t("saveValueButtonText", "Save")}
|
|
66
67
|
</Button>
|
|
67
|
-
<Button
|
|
68
|
-
|
|
69
|
-
kind="secondary"
|
|
70
|
-
onClick={handleClose}
|
|
71
|
-
>
|
|
72
|
-
{t("cancelButtonText", "Cancel")}
|
|
68
|
+
<Button renderIcon={Close16} kind="secondary" onClick={handleClose}>
|
|
69
|
+
{t("CancelButtonText", "Cancel")}
|
|
73
70
|
</Button>
|
|
74
71
|
</div>
|
|
75
72
|
</div>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
.arrayEditor :global(.
|
|
1
|
+
.arrayEditor :global(.bx--structured-list-td) {
|
|
2
2
|
padding: 0.25rem 3rem 0.25rem 1rem;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
.arrayEditor :global(.
|
|
5
|
+
.arrayEditor :global(.bx--structured-list) {
|
|
6
6
|
margin-bottom: 0.25rem;
|
|
7
7
|
}
|
|
8
8
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React, { useMemo } from "react";
|
|
2
2
|
import cloneDeep from "lodash-es/cloneDeep";
|
|
3
3
|
import uniqueId from "lodash-es/uniqueId";
|
|
4
|
+
import Add16 from "@carbon/icons-react/es/add/16";
|
|
5
|
+
import TrashCan16 from "@carbon/icons-react/es/trash-can/16";
|
|
6
|
+
import styles from "./array-editor.styles.css";
|
|
4
7
|
import { Type } from "@openmrs/esm-framework";
|
|
5
8
|
import {
|
|
6
9
|
Button,
|
|
@@ -9,11 +12,9 @@ import {
|
|
|
9
12
|
StructuredListCell,
|
|
10
13
|
StructuredListRow,
|
|
11
14
|
StructuredListWrapper,
|
|
12
|
-
} from "
|
|
13
|
-
import { Add, TrashCan } from "@carbon/react/icons";
|
|
15
|
+
} from "carbon-components-react";
|
|
14
16
|
import { ValueEditorField } from "./value-editor-field";
|
|
15
17
|
import { ConfigValueDescriptor } from "../editable-value.component";
|
|
16
|
-
import styles from "./array-editor.styles.css";
|
|
17
18
|
|
|
18
19
|
interface ArrayEditorProps {
|
|
19
20
|
element: ConfigValueDescriptor;
|
|
@@ -51,7 +52,7 @@ export function ArrayEditor({
|
|
|
51
52
|
</StructuredListCell>
|
|
52
53
|
<StructuredListCell className={styles.buttonCell}>
|
|
53
54
|
<Button
|
|
54
|
-
renderIcon={
|
|
55
|
+
renderIcon={TrashCan16}
|
|
55
56
|
size="sm"
|
|
56
57
|
kind="secondary"
|
|
57
58
|
iconDescription="Remove"
|
|
@@ -68,7 +69,7 @@ export function ArrayEditor({
|
|
|
68
69
|
<StructuredListRow>
|
|
69
70
|
<StructuredListCell>
|
|
70
71
|
<Button
|
|
71
|
-
renderIcon={
|
|
72
|
+
renderIcon={Add16}
|
|
72
73
|
size="sm"
|
|
73
74
|
iconDescription="Add"
|
|
74
75
|
hasIconOnly
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
@use "@carbon/styles/scss/type";
|
|
2
1
|
@import "../../implementer-tools.styles.scss";
|
|
3
2
|
|
|
4
3
|
.activeConceptUuid {
|
|
5
|
-
@include type
|
|
4
|
+
@include carbon--type-style("body-short-01");
|
|
6
5
|
color: $ui-05;
|
|
7
6
|
margin-bottom: $spacing-03;
|
|
8
7
|
padding-bottom: $spacing-03;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
.objectEditor :global(.
|
|
1
|
+
.objectEditor :global(.bx--structured-list-td) {
|
|
2
2
|
padding: 0.25rem 3rem 0.25rem 1rem;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
.objectEditor :global(.
|
|
5
|
+
.objectEditor :global(.bx--structured-list) {
|
|
6
6
|
margin-bottom: 0.25rem;
|
|
7
7
|
}
|
|
8
8
|
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
StructuredListRow,
|
|
6
6
|
StructuredListWrapper,
|
|
7
7
|
Tile,
|
|
8
|
-
} from "
|
|
8
|
+
} from "carbon-components-react";
|
|
9
9
|
import { ValueEditorField } from "./value-editor-field";
|
|
10
10
|
import { ConfigValueDescriptor } from "../editable-value.component";
|
|
11
11
|
import { Type } from "@openmrs/esm-framework";
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
@use "@carbon/styles/scss/spacing";
|
|
2
|
-
@use "@carbon/styles/scss/type";
|
|
3
1
|
@import "../../../implementer-tools.styles.scss";
|
|
4
2
|
|
|
5
3
|
.activeUuid {
|
|
6
|
-
@include type
|
|
4
|
+
@include carbon--type-style("body-short-01");
|
|
7
5
|
color: $ui-05;
|
|
8
|
-
margin-bottom: spacing
|
|
9
|
-
padding-bottom: spacing
|
|
6
|
+
margin-bottom: $spacing-03;
|
|
7
|
+
padding-bottom: $spacing-03;
|
|
10
8
|
border-bottom: 1px solid $ui-03;
|
|
11
9
|
}
|
|
12
10
|
|
|
@@ -17,9 +15,9 @@
|
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
.listbox {
|
|
20
|
-
box-shadow: 0 0 spacing
|
|
18
|
+
box-shadow: 0 0 $spacing-03;
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
.smallListCell {
|
|
24
|
-
padding: spacing
|
|
22
|
+
padding: $spacing-03;
|
|
25
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
2
|
import uniqueId from "lodash-es/uniqueId";
|
|
3
|
-
import { Checkbox, NumberInput, TextInput } from "
|
|
3
|
+
import { Checkbox, NumberInput, TextInput } from "carbon-components-react";
|
|
4
4
|
import { Type } from "@openmrs/esm-framework";
|
|
5
5
|
import { ConfigValueDescriptor } from "../editable-value.component";
|
|
6
6
|
import { ValueType } from "../value-editor";
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
temporaryConfigStore,
|
|
4
4
|
useStore,
|
|
5
5
|
} from "@openmrs/esm-framework/src/internal";
|
|
6
|
-
import { Button } from "@carbon/react";
|
|
7
6
|
import AceEditor from "react-ace";
|
|
8
7
|
import style from "./json-editor.scss";
|
|
9
8
|
|
|
10
9
|
import "ace-builds/src-noconflict/mode-java";
|
|
11
10
|
import "ace-builds/src-noconflict/theme-github";
|
|
11
|
+
import { Button } from "carbon-components-react";
|
|
12
12
|
|
|
13
13
|
export interface JsonEditorProps {
|
|
14
14
|
/** A CSS value */
|
|
@@ -55,7 +55,7 @@ export default function JsonEditor({ height }: JsonEditorProps) {
|
|
|
55
55
|
}}
|
|
56
56
|
/>
|
|
57
57
|
<div className={style.toolbar}>
|
|
58
|
-
<Button
|
|
58
|
+
<Button type="submit" onClick={updateTemporaryConfig}>
|
|
59
59
|
Update
|
|
60
60
|
</Button>
|
|
61
61
|
<div
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { useTranslation } from "react-i18next";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import Close20 from "@carbon/icons-react/es/close/20";
|
|
4
|
+
import Tools24 from "@carbon/icons-react/es/tools/24";
|
|
5
|
+
import { HeaderGlobalAction } from "carbon-components-react";
|
|
5
6
|
import { UserHasAccess, useStore } from "@openmrs/esm-framework";
|
|
6
7
|
import { implementerToolsStore, togglePopup } from "./store";
|
|
7
8
|
import styles from "./implementer-tools.styles.scss";
|
|
@@ -19,7 +20,7 @@ const ImplementerToolsButton: React.FC = () => {
|
|
|
19
20
|
name="ImplementerToolsIcon"
|
|
20
21
|
onClick={togglePopup}
|
|
21
22
|
>
|
|
22
|
-
{isOpen ? <
|
|
23
|
+
{isOpen ? <Close20 /> : <Tools24 />}
|
|
23
24
|
</HeaderGlobalAction>
|
|
24
25
|
</UserHasAccess>
|
|
25
26
|
);
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useEffect } from "react";
|
|
2
|
-
import { NotificationActionButton } from "
|
|
2
|
+
import { NotificationActionButton } from "carbon-components-react";
|
|
3
3
|
import {
|
|
4
4
|
showNotification,
|
|
5
5
|
UserHasAccess,
|
|
@@ -43,7 +43,7 @@ function PopupHandler() {
|
|
|
43
43
|
kind: "error",
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
-
}, [
|
|
46
|
+
}, [shouldShowNotification]);
|
|
47
47
|
|
|
48
48
|
const { isOpen, isUIEditorEnabled, openTabIndex } = useStore(
|
|
49
49
|
implementerToolsStore
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
@
|
|
2
|
-
@
|
|
1
|
+
@import "~carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/styles";
|
|
2
|
+
@import "~carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/spacing";
|
|
3
3
|
@import "~@openmrs/esm-styleguide/src/vars";
|
|
4
4
|
|
|
5
5
|
.productiveHeading01 {
|
|
6
|
-
@include type
|
|
6
|
+
@include carbon--type-style("productive-heading-01");
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.productiveHeading02 {
|
|
10
|
-
@include type
|
|
10
|
+
@include carbon--type-style("productive-heading-02");
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.bodyShort01 {
|
|
14
|
-
@include type
|
|
14
|
+
@include carbon--type-style("body-short-01");
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.toolStyles {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import Close16 from "@carbon/icons-react/es/close/16";
|
|
3
|
+
import styles from "./popup.styles.scss";
|
|
4
|
+
import { Button, ContentSwitcher, Switch } from "carbon-components-react";
|
|
4
5
|
import { useTranslation } from "react-i18next";
|
|
5
6
|
import { Configuration } from "../configuration/configuration.component";
|
|
6
7
|
import { ModuleDiagnostics } from "../backend-dependencies/backend-dependencies.component";
|
|
7
8
|
import { FrontendModule } from "../backend-dependencies/openmrs-backend-dependencies";
|
|
8
|
-
import styles from "./popup.styles.scss";
|
|
9
9
|
|
|
10
10
|
interface DevToolsPopupProps {
|
|
11
11
|
close(): void;
|
|
@@ -39,11 +39,10 @@ export default function Popup({ close, frontendModules }: DevToolsPopupProps) {
|
|
|
39
39
|
<div>
|
|
40
40
|
<Button
|
|
41
41
|
kind="secondary"
|
|
42
|
-
renderIcon={
|
|
42
|
+
renderIcon={Close16}
|
|
43
43
|
iconDescription="Close"
|
|
44
44
|
onClick={close}
|
|
45
45
|
hasIconOnly
|
|
46
|
-
size="sm"
|
|
47
46
|
/>
|
|
48
47
|
</div>
|
|
49
48
|
</div>
|