@esri/solutions-components 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. package/dist/cjs/calcite-input-text_5.cjs.entry.js +36 -36
  2. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +1 -1
  3. package/dist/cjs/solution-configuration.cjs.entry.js +1 -1
  4. package/dist/cjs/solution-contents_3.cjs.entry.js +1 -1
  5. package/dist/cjs/{solution-store-70002b57.js → solution-store-ca4639d5.js} +3 -3
  6. package/dist/collection/components/add-record-modal/test/add-record-modal.e2e.js +24 -0
  7. package/dist/collection/components/add-record-modal/test/add-record-modal.spec.js +32 -0
  8. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +24 -0
  9. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +157 -0
  10. package/dist/collection/components/card-manager/test/card-manager.e2e.js +24 -0
  11. package/dist/collection/components/card-manager/test/card-manager.spec.js +32 -0
  12. package/dist/collection/components/comment-card/test/comment-card.e2e.js +24 -0
  13. package/dist/collection/components/comment-card/test/comment-card.spec.js +32 -0
  14. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +24 -0
  15. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +32 -0
  16. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +24 -0
  17. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +32 -0
  18. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +24 -0
  19. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +32 -0
  20. package/dist/collection/components/edit-record-modal/test/edit-record-modal.e2e.js +24 -0
  21. package/dist/collection/components/edit-record-modal/test/edit-record-modal.spec.js +32 -0
  22. package/dist/collection/components/info-card/test/info-card.e2e.js +24 -0
  23. package/dist/collection/components/info-card/test/info-card.spec.js +32 -0
  24. package/dist/collection/components/json-editor/test/json-editor.e2e.js +31 -0
  25. package/dist/collection/components/json-editor/test/json-editor.spec.js +60 -0
  26. package/dist/collection/components/layer-table/test/layer-table.e2e.js +24 -0
  27. package/dist/collection/components/layer-table/test/layer-table.spec.js +32 -0
  28. package/dist/collection/components/list-item/test/list-item.e2e.js +24 -0
  29. package/dist/collection/components/list-item/test/list-item.spec.js +32 -0
  30. package/dist/collection/components/map-card/test/map-card.e2e.js +24 -0
  31. package/dist/collection/components/map-card/test/map-card.spec.js +32 -0
  32. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +24 -0
  33. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +32 -0
  34. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +24 -0
  35. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +109 -0
  36. package/dist/collection/components/map-search/test/map-search.e2e.js +24 -0
  37. package/dist/collection/components/map-search/test/map-search.spec.js +53 -0
  38. package/dist/collection/components/map-select-tools/map-select-tools.js +36 -36
  39. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +24 -0
  40. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +349 -0
  41. package/dist/collection/components/media-card/test/media-card.e2e.js +24 -0
  42. package/dist/collection/components/media-card/test/media-card.spec.js +32 -0
  43. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +24 -0
  44. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +32 -0
  45. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +71 -0
  46. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +104 -0
  47. package/dist/collection/components/public-notification/test/public-notification.e2e.js +95 -0
  48. package/dist/collection/components/public-notification/test/public-notification.spec.js +149 -0
  49. package/dist/collection/components/refine-selection/refine-selection.css +85 -85
  50. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +31 -0
  51. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +114 -0
  52. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +89 -0
  53. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +138 -0
  54. package/dist/collection/components/solution-item/test/solution-item.e2e.js +31 -0
  55. package/dist/collection/components/solution-item/test/solution-item.spec.js +72 -0
  56. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +31 -0
  57. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +137 -0
  58. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +24 -0
  59. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +34 -0
  60. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +31 -0
  61. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +49 -0
  62. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +31 -0
  63. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +60 -0
  64. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +31 -0
  65. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +50 -0
  66. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +31 -0
  67. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +170 -0
  68. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +31 -0
  69. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +55 -0
  70. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +31 -0
  71. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +126 -0
  72. package/dist/collection/utils/publicNotificationUtils.js +45 -0
  73. package/dist/collection/utils/templates.e2e.js +25 -0
  74. package/dist/collection/utils/test/csvUtils.spec.js +46 -0
  75. package/dist/collection/utils/test/downloadUtils.spec.js +102 -0
  76. package/dist/collection/utils/test/pciUtils.spec.js +297 -0
  77. package/dist/collection/utils/test/solution-store.spec.js +439 -0
  78. package/dist/components/map-select-tools2.js +36 -36
  79. package/dist/components/solution-store.js +3 -3
  80. package/dist/esm/calcite-input-text_5.entry.js +36 -36
  81. package/dist/esm/calcite-shell-panel_14.entry.js +1 -1
  82. package/dist/esm/solution-configuration.entry.js +1 -1
  83. package/dist/esm/solution-contents_3.entry.js +1 -1
  84. package/dist/esm/{solution-store-5d068b07.js → solution-store-70f874f8.js} +3 -3
  85. package/dist/solutions-components/{p-41802f6b.entry.js → p-16dfb254.entry.js} +1 -1
  86. package/dist/solutions-components/{p-4769a2a5.entry.js → p-5ed755a2.entry.js} +1 -1
  87. package/dist/solutions-components/{p-826a814d.js → p-78719506.js} +2 -2
  88. package/dist/solutions-components/{p-9f620303.entry.js → p-b4b19fd3.entry.js} +1 -1
  89. package/dist/solutions-components/{p-24fe6e1c.entry.js → p-d5d5942d.entry.js} +1 -1
  90. package/dist/solutions-components/solutions-components.esm.js +1 -1
  91. package/dist/solutions-components/utils/common.js +291 -0
  92. package/dist/solutions-components/utils/csvDownload.js +36 -0
  93. package/dist/solutions-components/utils/csvUtils.js +32 -0
  94. package/dist/solutions-components/utils/downloadUtils.js +386 -0
  95. package/dist/solutions-components/utils/interfaces.js +56 -0
  96. package/dist/solutions-components/utils/languageUtil.js +85 -0
  97. package/dist/solutions-components/utils/loadModules.js +20 -0
  98. package/dist/solutions-components/utils/locale.js +56 -0
  99. package/dist/solutions-components/utils/mapViewUtils.js +140 -0
  100. package/dist/solutions-components/utils/pciUtils.js +837 -0
  101. package/dist/solutions-components/utils/pdfUtils.js +62 -0
  102. package/dist/solutions-components/utils/publicNotificationStore.js +38 -0
  103. package/dist/solutions-components/utils/publicNotificationUtils.js +45 -0
  104. package/dist/solutions-components/utils/queryUtils.js +148 -0
  105. package/dist/solutions-components/utils/solution-store.js +579 -0
  106. package/dist/solutions-components/utils/templates.e2e.js +25 -0
  107. package/dist/solutions-components/utils/templates.js +341 -0
  108. package/dist/solutions-components/utils/test/csvUtils.spec.js +46 -0
  109. package/dist/solutions-components/utils/test/downloadUtils.spec.js +102 -0
  110. package/dist/solutions-components/utils/test/mocks/jsApi.js +74 -0
  111. package/dist/solutions-components/utils/test/pciUtils.spec.js +297 -0
  112. package/dist/solutions-components/utils/test/solution-store.spec.js +439 -0
  113. package/dist/solutions-components/utils/test/testUtils.js +135 -0
  114. package/dist/solutions-components/utils/types.js +14 -0
  115. package/dist/solutions-components_commit.txt +7 -0
  116. package/package.json +7 -7
@@ -0,0 +1,71 @@
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { newE2EPage } from '@stencil/core/testing';
17
+ import * as locale from "../../../utils/locale";
18
+ import * as translations from "../../../assets/t9n/pdf-download/resources.json";
19
+ import { LayerView } from "../../../utils/test/mocks/jsApi";
20
+ jest.setTimeout(60000);
21
+ afterEach(() => {
22
+ jest.restoreAllMocks();
23
+ });
24
+ beforeEach(() => {
25
+ jest.spyOn(locale, "getLocaleComponentStrings").mockImplementation(() => [
26
+ translations
27
+ ]);
28
+ });
29
+ xdescribe('pdf-download', () => {
30
+ it('renders', async (done) => {
31
+ const page = await newE2EPage();
32
+ await page.setContent('<pdf-download></pdf-download>');
33
+ const element = await page.find('pdf-download');
34
+ expect(element).toHaveClass('hydrated');
35
+ expect(element).toEqualHtml(`
36
+ <pdf-download class="hydrated">
37
+ <mock:shadow-root>
38
+ <calcite-select aria-disabled="true" class="hydrated" disabled="" scale="m" tabindex="-1" width="auto">
39
+ <calcite-option class="hydrated" selected="">
40
+ 6 per page | 4 x 3-1/3
41
+ </calcite-option>
42
+ <calcite-option class="hydrated">
43
+ 10 per page | 4 x 2
44
+ </calcite-option>
45
+ <calcite-option class="hydrated">
46
+ 14 per page | 4 x 1-1/3
47
+ </calcite-option>
48
+ <calcite-option class="hydrated">
49
+ 20 per page | 4 x 1
50
+ </calcite-option>
51
+ <calcite-option class="hydrated">
52
+ 30 per page | 2-5/8 x 1
53
+ </calcite-option>
54
+ <calcite-option class="hydrated">
55
+ 60 per page | 1-3/4 x 2/3
56
+ </calcite-option>
57
+ <calcite-option class="hydrated">
58
+ 80 per page | 1-3/4 x 1/2
59
+ </calcite-option>
60
+ </calcite-select>
61
+ </mock:shadow-root>
62
+ </pdf-download>
63
+ `);
64
+ const layerView = new LayerView();
65
+ await element.setProperty("layerView", layerView);
66
+ await page.waitForChanges();
67
+ window.alert = jest.fn();
68
+ await element.callMethod("downloadPDF", [], true);
69
+ done();
70
+ });
71
+ });
@@ -0,0 +1,104 @@
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { h } from '@stencil/core';
17
+ import { newSpecPage } from '@stencil/core/testing';
18
+ import * as PdfDownload from '../pdf-download';
19
+ import * as locale from "../../../utils/locale";
20
+ import * as translations from "../../../assets/t9n/pdf-download/resources.json";
21
+ import * as csvUtils from "../../../utils/csvUtils";
22
+ import { LayerView } from "../../../utils/test/mocks/jsApi";
23
+ jest.setTimeout(30000);
24
+ afterEach(() => {
25
+ jest.restoreAllMocks();
26
+ });
27
+ beforeEach(() => {
28
+ jest.spyOn(locale, "getLocaleComponentStrings").mockImplementation(() => [
29
+ translations
30
+ ]);
31
+ });
32
+ describe('pdf-download', () => {
33
+ xit('renders', async () => {
34
+ const page = await newSpecPage({
35
+ components: [PdfDownload],
36
+ template: () => (h("pdf-download", null)),
37
+ });
38
+ expect(page.root).toEqualHtml(`
39
+ <pdf-download>
40
+ <mock:shadow-root>
41
+ <calcite-select disabled="" label="">
42
+ <calcite-option>
43
+ 6 per page | 4 x 3-1/3
44
+ </calcite-option>
45
+ <calcite-option>
46
+ 10 per page | 4 x 2
47
+ </calcite-option>
48
+ <calcite-option>
49
+ 14 per page | 4 x 1-1/3
50
+ </calcite-option>
51
+ <calcite-option>
52
+ 20 per page | 4 x 1
53
+ </calcite-option>
54
+ <calcite-option>
55
+ 30 per page | 2-5/8 x 1
56
+ </calcite-option>
57
+ <calcite-option>
58
+ 60 per page | 1-3/4 x 2/3
59
+ </calcite-option>
60
+ <calcite-option>
61
+ 80 per page | 1-3/4 x 1/2
62
+ </calcite-option>
63
+ </calcite-select>
64
+ </mock:shadow-root>
65
+ </pdf-download>
66
+ `);
67
+ });
68
+ xit('downloads csv', async () => {
69
+ const exportCSVMock = jest.fn();
70
+ jest.spyOn(csvUtils, "exportCSV").mockImplementation(exportCSVMock);
71
+ const consoleLogMock = jest.fn();
72
+ jest.spyOn(console, "log").mockImplementation(consoleLogMock);
73
+ const layerView = new LayerView();
74
+ const page = await newSpecPage({
75
+ components: [PdfDownload],
76
+ template: () => (h("pdf-download", { layerView: layerView })),
77
+ });
78
+ await page.root.downloadCSV([], true);
79
+ expect(exportCSVMock).toBeCalledTimes(1);
80
+ expect(consoleLogMock).toBeCalledTimes(1);
81
+ expect(consoleLogMock).toBeCalledWith(true);
82
+ await page.root.downloadCSV([], false);
83
+ expect(exportCSVMock).toBeCalledTimes(2);
84
+ expect(consoleLogMock).toBeCalledTimes(2);
85
+ expect(consoleLogMock).toBeCalledWith(false);
86
+ });
87
+ // it('downloads pdf', async () => {
88
+ // const layerView = new LayerView() as unknown as any;
89
+ // const page = await newSpecPage({
90
+ // components: [PdfDownload],
91
+ // template: () => (<pdf-download layerView={layerView}></pdf-download>),
92
+ // supportsShadowDom: true,
93
+ // autoApplyChanges: true,
94
+ // });
95
+ // const sel = page.root.shadowRoot.querySelector("calcite-option");
96
+ // //.getElementsByTagName("calcite-option");
97
+ // sel[0].selected = true;
98
+ // //expect(sel.length).toEqual(0);
99
+ // const tempAlertMock = jest.fn();
100
+ // jest.spyOn(page.win, "alert").mockImplementation(tempAlertMock);
101
+ // await page.root.downloadPDF([], true);
102
+ // expect(tempAlertMock).toBeCalledTimes(1);
103
+ // });
104
+ });
@@ -0,0 +1,95 @@
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { newE2EPage } from '@stencil/core/testing';
17
+ import * as locale from "../../../utils/locale";
18
+ ;
19
+ import * as translations from "../../../assets/t9n/public-notification/resources.json";
20
+ import * as queryUtils from "../../../utils/queryUtils";
21
+ import * as mapViewUtils from "../../../utils/mapViewUtils";
22
+ import * as publicNotificationUtils from "../../../utils/publicNotificationUtils";
23
+ jest.setTimeout(50000);
24
+ afterEach(() => {
25
+ jest.restoreAllMocks();
26
+ });
27
+ let mapView;
28
+ beforeEach(() => {
29
+ jest.spyOn(locale, "getLocaleComponentStrings").mockImplementation(() => [
30
+ translations
31
+ ]);
32
+ jest.spyOn(mapViewUtils, "highlightFeatures").mockImplementation(jest.fn());
33
+ jest.spyOn(publicNotificationUtils, "getSelectionIds").mockImplementation(jest.fn());
34
+ jest.spyOn(console, 'warn').mockImplementation(() => { });
35
+ mapView = {
36
+ map: {
37
+ layers: {
38
+ add: () => { },
39
+ getItemAt: () => { return -1; },
40
+ findIndex: () => { return -1; }
41
+ }
42
+ }
43
+ };
44
+ });
45
+ // This keeps timing out every so often...will look more
46
+ xdescribe('public-notification', () => {
47
+ it('renders', async () => {
48
+ jest.useFakeTimers();
49
+ const getSelectionSetQueryMock = jest.fn();
50
+ jest.spyOn(queryUtils, "getSelectionSetQuery").mockImplementation(getSelectionSetQueryMock);
51
+ const page = await newE2EPage();
52
+ await page.setContent('<public-notification></public-notification>');
53
+ await page.waitForChanges();
54
+ const element = await page.find('public-notification');
55
+ expect(element).toHaveClass('hydrated');
56
+ // These cause errors to be thrown
57
+ // element.setProperty("addresseeLayer", new LayerView() as unknown as any);
58
+ // element.setProperty("mapView", mapView);
59
+ // await page.waitForChanges();
60
+ const infoMessage = await element.find(".info-message");
61
+ expect(infoMessage.innerHTML).toContain(translations.noNotifications);
62
+ const notice = await page.find("calcite-notice");
63
+ expect(notice.innerText).toContain(translations.selectLayerAndAdd);
64
+ const addBtn = await element.find("calcite-button");
65
+ expect(addBtn.innerText).toContain(translations.add);
66
+ // TODO understand why this causes failures in the test
67
+ // this is really the only way to change pageType
68
+ //await addBtn.click();
69
+ //await page.waitForChanges();
70
+ });
71
+ it('renders with selection set', async () => {
72
+ jest.useFakeTimers();
73
+ const getSelectionSetQueryMock = jest.fn();
74
+ jest.spyOn(queryUtils, "getSelectionSetQuery").mockImplementation(getSelectionSetQueryMock);
75
+ const page = await newE2EPage();
76
+ await page.setContent('<public-notification></public-notification>');
77
+ await page.waitForChanges();
78
+ const element = await page.find('public-notification');
79
+ expect(element).toHaveClass('hydrated');
80
+ // These cause errors to be thrown
81
+ // element.setProperty("addresseeLayer", new LayerView() as unknown as any);
82
+ // element.setProperty("mapView", mapView);
83
+ //await page.waitForChanges();
84
+ const infoMessage = await element.find(".info-message");
85
+ expect(infoMessage.innerHTML).toContain(translations.noNotifications);
86
+ const notice = await page.find("calcite-notice");
87
+ expect(notice.innerText).toContain(translations.selectLayerAndAdd);
88
+ const addBtn = await element.find("calcite-button");
89
+ expect(addBtn.innerText).toContain(translations.add);
90
+ // TODO understand why this causes failures in the test
91
+ // this is really the only way to change pageType
92
+ //await addBtn.click();
93
+ //await page.waitForChanges();
94
+ });
95
+ });
@@ -0,0 +1,149 @@
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { h } from '@stencil/core';
17
+ import { newSpecPage } from '@stencil/core/testing';
18
+ import { PublicNotification } from '../public-notification';
19
+ import * as locale from "../../../utils/locale";
20
+ import * as translations from "../../../assets/t9n/map-draw-tools/resources.json";
21
+ import { LayerView } from "../../../utils/test/mocks/jsApi";
22
+ import * as queryUtils from "../../../utils/queryUtils";
23
+ import { EWorkflowType } from "../../../utils/interfaces";
24
+ jest.setTimeout(30000);
25
+ afterEach(() => {
26
+ jest.restoreAllMocks();
27
+ });
28
+ let mapView;
29
+ beforeEach(() => {
30
+ jest.spyOn(locale, "getLocaleComponentStrings").mockImplementation(() => [
31
+ translations
32
+ ]);
33
+ jest.spyOn(console, 'warn').mockImplementation(() => { });
34
+ mapView = {
35
+ map: {
36
+ layers: {
37
+ add: () => { },
38
+ getItemAt: () => { return -1; },
39
+ findIndex: () => { return -1; }
40
+ }
41
+ }
42
+ };
43
+ });
44
+ xdescribe('public-notification', () => {
45
+ it('renders', async () => {
46
+ const getSelectionSetQueryMock = jest.fn();
47
+ jest.spyOn(queryUtils, "getSelectionSetQuery").mockImplementation(getSelectionSetQueryMock);
48
+ const page = await newSpecPage({
49
+ autoApplyChanges: true,
50
+ components: [PublicNotification],
51
+ template: () => (h("public-notification", { "show-refine-selection": "true" })),
52
+ });
53
+ //page.rootInstance.showRefineSelection = true;
54
+ expect(page.root).toEqualHtml(`
55
+ <public-notification show-refine-selection="true">
56
+ <calcite-shell>
57
+ <calcite-action-bar class="action-bar-size border-bottom-1" expand-disabled="" layout="horizontal" slot="header">
58
+ <calcite-action-group class="action-center w-1-4" layout="horizontal">
59
+ <calcite-action active="" alignment="center" class="height-full width-full" icon="list-check" id="list-check" text=""></calcite-action>
60
+ <calcite-tooltip label="" placement="bottom" reference-element="list-check">
61
+ <span></span>
62
+ </calcite-tooltip>
63
+ </calcite-action-group>
64
+ <calcite-action-group class="action-center w-1-4" layout="horizontal">
65
+ <calcite-action alignment="center" class="height-full width-full" disabled="" icon="test-data" id="test-data" text=""></calcite-action>
66
+ <calcite-tooltip label="" placement="bottom" reference-element="test-data">
67
+ <span></span>
68
+ </calcite-tooltip>
69
+ </calcite-action-group>
70
+ <calcite-action-group class="action-center w-1-4" layout="horizontal">
71
+ <calcite-action alignment="center" class="height-full width-full" disabled="" icon="file-pdf" id="file-pdf" text=""></calcite-action>
72
+ <calcite-tooltip label="" placement="bottom" reference-element="file-pdf">
73
+ <span></span>
74
+ </calcite-tooltip>
75
+ </calcite-action-group>
76
+ <calcite-action-group class="action-center w-1-4" layout="horizontal">
77
+ <calcite-action alignment="center" class="height-full width-full" disabled="" icon="file-csv" id="file-csv" text=""></calcite-action>
78
+ <calcite-tooltip label="" placement="bottom" reference-element="file-csv">
79
+ <span></span>
80
+ </calcite-tooltip>
81
+ </calcite-action-group>
82
+ </calcite-action-bar>
83
+ <calcite-panel>
84
+ <div class="padding-top-sides-1">
85
+ <calcite-label class="font-bold"></calcite-label>
86
+ </div>
87
+ <div class="padding-sides-1">
88
+ <calcite-label></calcite-label>
89
+ </div>
90
+ <div class="info-message padding-bottom-1">
91
+ <calcite-input-message active="" class="info-blue" scale="m"></calcite-input-message>
92
+ </div>
93
+ <calcite-notice active="" class="padding-bottom-1 padding-sides-1" color="green" icon="lightbulb">
94
+ <div slot="message"></div>
95
+ </calcite-notice>
96
+ <div class="display-flex padding-sides-1">
97
+ <calcite-label class="font-bold width-full">
98
+ <map-layer-picker selectionmode="single"></map-layer-picker>
99
+ </calcite-label>
100
+ </div>
101
+ <div class="display-flex padding-1">
102
+ <calcite-button width="full"></calcite-button>
103
+ </div>
104
+ </calcite-panel>
105
+ </calcite-shell>
106
+ </public-notification>
107
+ `);
108
+ });
109
+ it('handles selectionSetsWatchHandler', async () => {
110
+ const getSelectionSetQueryMock = jest.fn();
111
+ jest.spyOn(queryUtils, "getSelectionSetQuery").mockImplementation(getSelectionSetQueryMock);
112
+ const page = await newSpecPage({
113
+ autoApplyChanges: true,
114
+ components: [PublicNotification],
115
+ template: () => (h("public-notification", { addresseeLayer: new LayerView(), mapView: mapView })),
116
+ });
117
+ page.win.dispatchEvent(new CustomEvent("selectionSetsChanged", { detail: [] }));
118
+ page.win.dispatchEvent(new CustomEvent("selectionSetsChanged", { detail: [{
119
+ id: 123456789,
120
+ workflowType: EWorkflowType.SKETCH,
121
+ searchResult: undefined,
122
+ buffer: {},
123
+ distance: 100,
124
+ download: true,
125
+ unit: "meters",
126
+ label: "Sketch 100",
127
+ selectedIds: [],
128
+ layerView: new LayerView(),
129
+ geometries: [],
130
+ refineSelectLayers: [],
131
+ refineIds: undefined
132
+ }] }));
133
+ page.win.dispatchEvent(new CustomEvent("selectionSetsChanged", { detail: [{
134
+ id: 123456789,
135
+ workflowType: EWorkflowType.REFINE,
136
+ searchResult: undefined,
137
+ buffer: {},
138
+ distance: 100,
139
+ download: true,
140
+ unit: "meters",
141
+ label: "Sketch 100",
142
+ selectedIds: [],
143
+ layerView: new LayerView(),
144
+ geometries: [],
145
+ refineSelectLayers: [],
146
+ refineIds: undefined
147
+ }] }));
148
+ });
149
+ });
@@ -1,86 +1,86 @@
1
- /** @license
2
- * Copyright 2022 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- :host {
18
- display: block;
19
- }
20
-
21
- .div-visible {
22
- display: inherit;
23
- }
24
-
25
- .div-not-visible {
26
- display: none !important;
27
- }
28
-
29
- .padding-top-1-2 {
30
- padding-top: .5rem;
31
- }
32
-
33
- .main-label {
34
- display: flex;
35
- float: left;
36
- }
37
-
38
- html[dir="rtl"] .main-label {
39
- display: flex;
40
- float: right;
41
- }
42
-
43
- .border {
44
- outline: 1px solid var(--calcite-ui-border-input);
45
- }
46
-
47
- .margin-top-1 {
48
- margin-top: 1rem;
49
- }
50
-
51
- /* COPY FROM JS */
52
- .esri-sketch {
53
- display: flex;
54
- flex-flow: column wrap;
55
- }
56
-
57
- .esri-widget {
58
- box-sizing: border-box;
59
- color: #323232;
60
- font-size: 14px;
61
- font-family: "Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif;
62
- line-height: 1.3em;
63
- background-color: var(--calcite-ui-foreground-1);
64
- }
65
-
66
- /* DIV CHILD */
67
- .esri-sketch__panel {
68
- align-items: center;
69
- display: flex;
70
- flex-flow: row nowrap;
71
- padding: 0;
72
- } */
73
-
74
- /* DIV CHILD CHILD */
75
- .esri-sketch__tool-section {
76
- border-right: 1px solid rgba(110,110,110,.3);
77
- }
78
-
79
- .esri-sketch__section {
80
- align-items: center;
81
- display: flex;
82
- flex-flow: row nowrap;
83
- padding: 0 7px;
84
- margin: 6px 0;
85
- border-right: 1px solid rgba(110,110,110,.3);
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ :host {
18
+ display: block;
19
+ }
20
+
21
+ .div-visible {
22
+ display: inherit;
23
+ }
24
+
25
+ .div-not-visible {
26
+ display: none !important;
27
+ }
28
+
29
+ .padding-top-1-2 {
30
+ padding-top: .5rem;
31
+ }
32
+
33
+ .main-label {
34
+ display: flex;
35
+ float: left;
36
+ }
37
+
38
+ html[dir="rtl"] .main-label {
39
+ display: flex;
40
+ float: right;
41
+ }
42
+
43
+ .border {
44
+ outline: 1px solid var(--calcite-ui-border-input);
45
+ }
46
+
47
+ .margin-top-1 {
48
+ margin-top: 1rem;
49
+ }
50
+
51
+ /* COPY FROM JS */
52
+ .esri-sketch {
53
+ display: flex;
54
+ flex-flow: column wrap;
55
+ }
56
+
57
+ .esri-widget {
58
+ box-sizing: border-box;
59
+ color: #323232;
60
+ font-size: 14px;
61
+ font-family: "Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif;
62
+ line-height: 1.3em;
63
+ background-color: var(--calcite-ui-foreground-1);
64
+ }
65
+
66
+ /* DIV CHILD */
67
+ .esri-sketch__panel {
68
+ align-items: center;
69
+ display: flex;
70
+ flex-flow: row nowrap;
71
+ padding: 0;
72
+ } */
73
+
74
+ /* DIV CHILD CHILD */
75
+ .esri-sketch__tool-section {
76
+ border-right: 1px solid rgba(110,110,110,.3);
77
+ }
78
+
79
+ .esri-sketch__section {
80
+ align-items: center;
81
+ display: flex;
82
+ flex-flow: row nowrap;
83
+ padding: 0 7px;
84
+ margin: 6px 0;
85
+ border-right: 1px solid rgba(110,110,110,.3);
86
86
  }
@@ -0,0 +1,31 @@
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ // import { newE2EPage } from '@stencil/core/testing';
17
+ describe('solution-configuration', () => {
18
+ it('renders', async () => {
19
+ //TEST commented out for now.
20
+ // need to work out how we pass translations
21
+ // e2e tests don't seem to support a similar apporach to the unit tests where we can use template to load JSX
22
+ // could flatten the translations further so it would contain no sub groups
23
+ // could set default translations for each file
24
+ // and could still have a test to compare the default with the actual as a way to verify
25
+ expect("a").toEqual("a");
26
+ // const page = await newE2EPage();
27
+ // await page.setContent('<solution-configuration></solution-configuration>');
28
+ // const element = await page.find('solution-configuration');
29
+ // expect(element).toHaveClass('hydrated');
30
+ });
31
+ });