@integry/sdk 4.7.39 → 4.7.41

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 (267) hide show
  1. package/dist/esm/index.csm.js +1 -1
  2. package/dist/umd/index.umd.js +1 -1
  3. package/package.json +6 -1
  4. package/.eslintignore +0 -1
  5. package/.vscode/launch.json +0 -17
  6. package/CHANGELOG_INTERNAL.md +0 -134
  7. package/README_INTERNAL.md +0 -176
  8. package/THIRD_PARTY_LICENSES +0 -525
  9. package/generateTests.js +0 -80
  10. package/jest.config.cjs +0 -10
  11. package/src/components/AddTagButton/index.ts +0 -23
  12. package/src/components/BasicSelect/index.ts +0 -123
  13. package/src/components/BasicSelect/styles.module.scss +0 -44
  14. package/src/components/Button/index.ts +0 -97
  15. package/src/components/Button/styles.module.scss +0 -152
  16. package/src/components/CheckboxGroup/Checkbox.ts +0 -104
  17. package/src/components/CheckboxGroup/index.ts +0 -190
  18. package/src/components/CheckboxGroup/styles.module.scss +0 -63
  19. package/src/components/CollapsedMenu/index.ts +0 -104
  20. package/src/components/CollapsedMenu/styles.module.scss +0 -46
  21. package/src/components/ConfigureFieldWrapper/index.ts +0 -85
  22. package/src/components/ConfigureFieldWrapper/styles.module.scss +0 -57
  23. package/src/components/EditableText/index.ts +0 -121
  24. package/src/components/EditableText/styles.module.scss +0 -38
  25. package/src/components/EditableTextArea/index.ts +0 -143
  26. package/src/components/EditableTextArea/styles.module.scss +0 -91
  27. package/src/components/ErrorMessage/index.ts +0 -16
  28. package/src/components/ErrorMessage/styles.module.scss +0 -19
  29. package/src/components/ErrorPage/index.ts +0 -42
  30. package/src/components/ErrorPage/styles.module.scss +0 -26
  31. package/src/components/Footer/index.ts +0 -41
  32. package/src/components/Footer/styles.module.scss +0 -40
  33. package/src/components/HTMLContent/index.tsx +0 -205
  34. package/src/components/HTMLContent/styles.module.scss +0 -3
  35. package/src/components/InfoBox/index.ts +0 -48
  36. package/src/components/InfoBox/styles.module.scss +0 -21
  37. package/src/components/Input/BaseInput/index.ts +0 -170
  38. package/src/components/Input/BaseInput/styles.module.scss +0 -95
  39. package/src/components/Input/DateInput/index.ts +0 -103
  40. package/src/components/Input/DateInput/styles.module.scss +0 -50
  41. package/src/components/Input/Input/index.ts +0 -225
  42. package/src/components/Input/Input/styles.module.scss +0 -16
  43. package/src/components/Input/PasswordInput/index.ts +0 -164
  44. package/src/components/Input/PasswordInput/styles.module.scss +0 -37
  45. package/src/components/Input/index.ts +0 -7
  46. package/src/components/Label/index.ts +0 -61
  47. package/src/components/Label/styles.module.scss +0 -41
  48. package/src/components/LargeLoader/index.ts +0 -25
  49. package/src/components/LargeLoader/styles.module.scss +0 -16
  50. package/src/components/Listbox/ListBoxItem.ts +0 -57
  51. package/src/components/Listbox/index.ts +0 -488
  52. package/src/components/Listbox/styles.module.scss +0 -197
  53. package/src/components/Loader/index.ts +0 -25
  54. package/src/components/Loader/styles.module.scss +0 -16
  55. package/src/components/MediaGallery/MediaGalleryModal.ts +0 -82
  56. package/src/components/MediaGallery/MediaSlider.ts +0 -76
  57. package/src/components/MediaGallery/index.ts +0 -92
  58. package/src/components/MediaGallery/styles.module.scss +0 -156
  59. package/src/components/MediaUpload/index.ts +0 -233
  60. package/src/components/MediaUpload/styles.module.scss +0 -118
  61. package/src/components/Modal/index.ts +0 -87
  62. package/src/components/Modal/styles.module.scss +0 -441
  63. package/src/components/MultipurposeField/Dropdown/ListBoxItem.tsx +0 -59
  64. package/src/components/MultipurposeField/Dropdown/index.tsx +0 -1202
  65. package/src/components/MultipurposeField/Dropdown/styles.module.scss +0 -215
  66. package/src/components/MultipurposeField/TagMenu/index.ts +0 -536
  67. package/src/components/MultipurposeField/TagMenu/styles.module.scss +0 -175
  68. package/src/components/MultipurposeField/TagOptions/index.tsx +0 -83
  69. package/src/components/MultipurposeField/TagOptions/styles.module.scss +0 -95
  70. package/src/components/MultipurposeField/index.tsx +0 -944
  71. package/src/components/MultipurposeField/styles.module.scss +0 -77
  72. package/src/components/NewModal/index.ts +0 -69
  73. package/src/components/NewModal/styles.module.scss +0 -70
  74. package/src/components/OverflowTooltip/index.tsx +0 -59
  75. package/src/components/PopUp/ConfirmationPopUp/index.ts +0 -58
  76. package/src/components/PopUp/ConfirmationPopUp/styles.module.scss +0 -49
  77. package/src/components/PopUp/SuccessPopUp/index.ts +0 -62
  78. package/src/components/PopUp/SuccessPopUp/styles.module.scss +0 -38
  79. package/src/components/RadioGroup/Radio.ts +0 -128
  80. package/src/components/RadioGroup/index.ts +0 -169
  81. package/src/components/RadioGroup/styles.module.scss +0 -81
  82. package/src/components/Search/index.ts +0 -69
  83. package/src/components/Search/styles.module.scss +0 -149
  84. package/src/components/TabBar/Tab.ts +0 -33
  85. package/src/components/TabBar/index.ts +0 -64
  86. package/src/components/TabBar/styles.module.scss +0 -43
  87. package/src/components/Tag/index.ts +0 -29
  88. package/src/components/Tag/styles.module.scss +0 -57
  89. package/src/components/TagsMenu/index.ts +0 -1697
  90. package/src/components/TagsMenu/styles.module.scss +0 -350
  91. package/src/components/TestComponent/index.ts +0 -71
  92. package/src/components/TestComponent/styles.module.scss +0 -152
  93. package/src/components/TextArea/index.ts +0 -172
  94. package/src/components/TextArea/styles.module.scss +0 -72
  95. package/src/components/TextContent/index.tsx +0 -128
  96. package/src/components/TextContent/styles.module.scss +0 -6
  97. package/src/components/ThreeDotLoader/index.ts +0 -39
  98. package/src/components/ThreeDotLoader/styles.module.scss +0 -41
  99. package/src/components/TimeInput/index.ts +0 -129
  100. package/src/components/TimeInput/styles.module.scss +0 -16
  101. package/src/components/Toggle/index.ts +0 -34
  102. package/src/components/Toggle/styles.module.scss +0 -56
  103. package/src/components/Toggle-v2/index.ts +0 -40
  104. package/src/components/Toggle-v2/styles.module.scss +0 -86
  105. package/src/components/Tooltip/index.ts +0 -271
  106. package/src/components/Tooltip/styles.module.scss +0 -105
  107. package/src/components/form/FunctionField/index.ts +0 -816
  108. package/src/components/form/FunctionField/styles.module.scss +0 -478
  109. package/src/components/form/ObjectField/__snapshots__/index.ts.test.tsx.snap +0 -3
  110. package/src/components/form/ObjectField/index.ts +0 -593
  111. package/src/components/form/ObjectField/index.ts.test.tsx +0 -213
  112. package/src/components/form/ObjectField/styles.module.scss +0 -103
  113. package/src/components/form/index.ts +0 -4
  114. package/src/contexts/AppContext.ts +0 -12
  115. package/src/declaration.d.ts +0 -7
  116. package/src/extensions/HMAC.ts +0 -25
  117. package/src/extensions/IntegryAPIError.ts +0 -19
  118. package/src/features/common/AccountDropdown/index.ts +0 -291
  119. package/src/features/common/AccountDropdown/styles.module.scss +0 -19
  120. package/src/features/common/ActionForm/index.ts +0 -2602
  121. package/src/features/common/ActionForm/styles.module.scss +0 -35
  122. package/src/features/common/AppCard/index.ts +0 -207
  123. package/src/features/common/AppCard/styles.module.scss +0 -117
  124. package/src/features/common/AppCardCompact/index.ts +0 -189
  125. package/src/features/common/AppCardCompact/styles.module.scss +0 -141
  126. package/src/features/common/AuthSelector/index.ts +0 -537
  127. package/src/features/common/AuthSelector/styles.module.scss +0 -161
  128. package/src/features/common/AuthSelectorCompact/index.ts +0 -706
  129. package/src/features/common/AuthSelectorCompact/styles.module.scss +0 -219
  130. package/src/features/common/AuthSelectorDropdown/index.ts +0 -704
  131. package/src/features/common/AuthSelectorDropdown/styles.module.scss +0 -361
  132. package/src/features/common/AuthSelectorV2/index.ts +0 -336
  133. package/src/features/common/AuthSelectorV2/styles.module.scss +0 -235
  134. package/src/features/common/DynamicField/index.ts +0 -402
  135. package/src/features/common/DynamicField/styles.module.scss +0 -266
  136. package/src/features/common/DynamicTypedField/index.ts +0 -504
  137. package/src/features/common/DynamicTypedField/styles.module.scss +0 -135
  138. package/src/features/common/FunctionForm/index.ts +0 -1095
  139. package/src/features/common/FunctionForm/styles.module.scss +0 -225
  140. package/src/features/common/MappingUI/index.ts +0 -649
  141. package/src/features/common/MappingUI/styles.module.scss +0 -121
  142. package/src/features/common/MarketplaceAppCard/index.ts +0 -279
  143. package/src/features/common/MarketplaceAppCard/styles.module.scss +0 -231
  144. package/src/features/common/MarketplaceAppCardCompact/index.ts +0 -283
  145. package/src/features/common/MarketplaceAppCardCompact/styles.module.scss +0 -255
  146. package/src/features/common/NewMappingUI/index.ts +0 -515
  147. package/src/features/common/NewMappingUI/styles.module.scss +0 -113
  148. package/src/features/common/RequestAppWidget/RequestAppModal/index.ts +0 -67
  149. package/src/features/common/RequestAppWidget/RequestAppModal/styles.module.scss +0 -23
  150. package/src/features/common/RequestAppWidget/index.ts +0 -48
  151. package/src/features/common/RequestAppWidget/request-app-form.ts +0 -89
  152. package/src/features/common/RequestAppWidget/styles.module.scss +0 -43
  153. package/src/features/common/SectionField/index.ts +0 -272
  154. package/src/features/common/SectionField/styles.module.scss +0 -67
  155. package/src/features/common/Step/index.ts +0 -827
  156. package/src/features/common/Step/styles.module.scss +0 -12
  157. package/src/features/common/StepNavigation/CollapsedSteps.ts +0 -131
  158. package/src/features/common/StepNavigation/NavItem.ts +0 -111
  159. package/src/features/common/StepNavigation/index.ts +0 -261
  160. package/src/features/common/StepNavigation/styles.module.scss +0 -117
  161. package/src/features/common/Steps/index.ts +0 -1140
  162. package/src/features/common/Steps/styles.module.scss +0 -314
  163. package/src/features/containers/AppFlowContainer/AppFlowListing/compactStyles.module.scss +0 -404
  164. package/src/features/containers/AppFlowContainer/AppFlowListing/flow-instance.tsx +0 -367
  165. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCard.test.tsx +0 -58
  166. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCard.tsx +0 -208
  167. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCardCompact.test.tsx +0 -49
  168. package/src/features/containers/AppFlowContainer/AppFlowListing/flowCardCompact.tsx +0 -421
  169. package/src/features/containers/AppFlowContainer/AppFlowListing/flowInstanceCompact.tsx +0 -577
  170. package/src/features/containers/AppFlowContainer/AppFlowListing/index.tsx +0 -83
  171. package/src/features/containers/AppFlowContainer/AppFlowListing/styles.module.scss +0 -233
  172. package/src/features/containers/AppFlowContainer/AppFlowWrap/app-page-loader.tsx +0 -45
  173. package/src/features/containers/AppFlowContainer/AppFlowWrap/index.tsx +0 -1085
  174. package/src/features/containers/AppFlowContainer/AppFlowWrap/styles.module.scss +0 -465
  175. package/src/features/containers/AppFlowContainer/Authentication/index.ts +0 -610
  176. package/src/features/containers/AppFlowContainer/Authentication/styles.module.scss +0 -468
  177. package/src/features/containers/AppFlowContainer/index.ts +0 -114
  178. package/src/features/containers/AppPageContainer/AppPage/index.tsx +0 -262
  179. package/src/features/containers/AppPageContainer/AppPage/styles.module.scss +0 -120
  180. package/src/features/containers/AppPageContainer/IntegrationCard/index.ts +0 -165
  181. package/src/features/containers/AppPageContainer/IntegrationCard/styles.module.scss +0 -81
  182. package/src/features/containers/AppPageContainer/index.tsx +0 -93
  183. package/src/features/containers/AppPageContainer/styles.module.scss +0 -0
  184. package/src/features/containers/AppsForFlows/index.ts +0 -161
  185. package/src/features/containers/AppsForFlows/styles.module.scss +0 -280
  186. package/src/features/containers/AppsForFlowsCompact/index.ts +0 -161
  187. package/src/features/containers/AppsForFlowsCompact/styles.module.scss +0 -279
  188. package/src/features/containers/AuthSetupContainer/AppSelection.ts +0 -73
  189. package/src/features/containers/AuthSetupContainer/AuthTypeSelection.ts +0 -67
  190. package/src/features/containers/AuthSetupContainer/Footer.ts +0 -32
  191. package/src/features/containers/AuthSetupContainer/Header.ts +0 -39
  192. package/src/features/containers/AuthSetupContainer/PostAdditionPopup.ts +0 -27
  193. package/src/features/containers/AuthSetupContainer/index.ts +0 -349
  194. package/src/features/containers/AuthSetupContainer/styles.module.scss +0 -229
  195. package/src/features/containers/FlowSetupContainer/index.ts +0 -391
  196. package/src/features/containers/FlowSetupContainer/styles.module.scss +0 -18
  197. package/src/features/containers/MarkeplaceApps/index.ts +0 -583
  198. package/src/features/containers/MarkeplaceApps/styles.module.scss +0 -558
  199. package/src/features/containers/MarketplaceAppsCompact/index.ts +0 -585
  200. package/src/features/containers/MarketplaceAppsCompact/styles.module.scss +0 -563
  201. package/src/features/containers/MarketplaceAppsContainer/index.ts +0 -91
  202. package/src/features/containers/MarketplaceContainer/AppCard/index.ts +0 -91
  203. package/src/features/containers/MarketplaceContainer/AppCard/styles.module.scss +0 -66
  204. package/src/features/containers/MarketplaceContainer/AppListing/index.ts +0 -34
  205. package/src/features/containers/MarketplaceContainer/AppListing/styles.module.scss +0 -10
  206. package/src/features/containers/MarketplaceContainer/MarketplaceContentWrap/index.ts +0 -132
  207. package/src/features/containers/MarketplaceContainer/MarketplaceContentWrap/styles.module.scss +0 -117
  208. package/src/features/containers/MarketplaceContainer/index.ts +0 -242
  209. package/src/features/containers/MarketplaceContainer/styles.module.scss +0 -84
  210. package/src/features/containers/SDKContainer/index.ts +0 -817
  211. package/src/features/containers/SDKContainer/styles.module.scss +0 -266
  212. package/src/features/containers/SDKDebugContainer/index.ts +0 -137
  213. package/src/features/containers/SDKDebugContainer/styles.module.scss +0 -37
  214. package/src/features/containers/SDKFailedContainer/index.ts +0 -117
  215. package/src/features/containers/SDKFailedContainer/styles.module.scss +0 -57
  216. package/src/features/integrations/IntegrationRow/Icons.ts +0 -77
  217. package/src/features/integrations/IntegrationRow/index.ts +0 -129
  218. package/src/features/integrations/IntegrationRow/styles.module.scss +0 -62
  219. package/src/features/integrations/IntegrationsHeader/index.ts +0 -34
  220. package/src/features/integrations/IntegrationsHeader/styles.module.scss +0 -47
  221. package/src/features/integrations/IntegrationsList/index.ts +0 -252
  222. package/src/features/integrations/IntegrationsList/styles.module.scss +0 -67
  223. package/src/features/templates/Template/index.ts +0 -295
  224. package/src/features/templates/Template/styles.module.scss +0 -226
  225. package/src/features/templates/TemplatesView/index.ts +0 -368
  226. package/src/features/templates/TemplatesView/styles.module.scss +0 -71
  227. package/src/features/templates/TemplatesViewCompact/index.ts +0 -364
  228. package/src/features/templates/TemplatesViewCompact/styles.module.scss +0 -141
  229. package/src/hooks/useAutosizeTextArea.ts +0 -22
  230. package/src/hooks/useCustomRef.ts +0 -13
  231. package/src/hooks/useDebounce.ts +0 -17
  232. package/src/hooks/useElementResize.ts +0 -40
  233. package/src/hooks/useEventListener.ts +0 -42
  234. package/src/hooks/useHover.ts +0 -40
  235. package/src/hooks/useOnClickOutside.ts +0 -32
  236. package/src/index.ts +0 -2244
  237. package/src/index.umd.ts +0 -13
  238. package/src/interfaces/index.ts +0 -938
  239. package/src/modules/api/index.ts +0 -1325
  240. package/src/modules/api/responseHandler.ts +0 -38
  241. package/src/modules/event-emitter/index.ts +0 -72
  242. package/src/modules/event-emitter/runners/abstract.ts +0 -21
  243. package/src/modules/event-emitter/runners/default.ts +0 -11
  244. package/src/modules/event-emitter/runners/ntimes.ts +0 -28
  245. package/src/modules/event-emitter/types.ts +0 -34
  246. package/src/store/actionFunctions.ts +0 -1578
  247. package/src/store/index.ts +0 -17
  248. package/src/store/initialState.ts +0 -58
  249. package/src/types/index.ts +0 -320
  250. package/src/types/preact-compat.d.ts +0 -4
  251. package/src/types/store.ts +0 -366
  252. package/src/types/utils.ts +0 -19
  253. package/src/utils/ActivityOutputUtils.ts +0 -176
  254. package/src/utils/common.ts +0 -20
  255. package/src/utils/copyToClipboard.ts +0 -24
  256. package/src/utils/datetime.ts +0 -101
  257. package/src/utils/getUrlParam.ts +0 -11
  258. package/src/utils/isAuthMessage.ts +0 -16
  259. package/src/utils/isBrowser.ts +0 -1
  260. package/src/utils/jsonEncodeDecode.ts +0 -15
  261. package/src/utils/objectUtils.ts +0 -117
  262. package/src/utils/popup.ts +0 -30
  263. package/src/utils/searchJson.ts +0 -51
  264. package/src/utils/stepUtils.ts +0 -45
  265. package/src/utils/truncate.ts +0 -6
  266. package/test/setup.ts +0 -1
  267. package/vitest.config.ts +0 -16
@@ -1,129 +0,0 @@
1
- import { html } from 'htm/preact';
2
- import { timeAgo } from '@/utils/datetime';
3
- import { Toggle } from '@/components/Toggle';
4
-
5
- import { Hint } from '@/components/Tooltip';
6
- import { CollapsedMenu } from '@/components/CollapsedMenu';
7
- import { ThreeDotLoader } from '@/components/ThreeDotLoader';
8
- import { EditableText } from '@/components/EditableText';
9
- import { Success, Fail } from './Icons';
10
-
11
- import styles from './styles.module.scss';
12
-
13
- interface IntegrationRowProps {
14
- id: number;
15
- name: string;
16
- appName: string;
17
- iconUrl: string;
18
- activityStatus: string;
19
- executionStatus: 'success' | 'fail';
20
- runs: number;
21
- lastExecutionAt: string;
22
- executionTimezone: string;
23
- loading?: boolean;
24
- onEdit(): void;
25
- onEditName?(newName: string): void;
26
- onDelete(): void;
27
- onToggle(integrationId: number, activate: boolean): void;
28
- }
29
-
30
- const IntegrationRow = (props: IntegrationRowProps) => {
31
- const {
32
- id,
33
- name,
34
- appName,
35
- iconUrl,
36
- executionStatus,
37
- activityStatus,
38
- runs,
39
- lastExecutionAt,
40
- loading = false,
41
- onEdit,
42
- onDelete,
43
- onToggle,
44
- onEditName,
45
- } = props;
46
-
47
- const handleOptionSelect = (option: { id: string; label: string }) => {
48
- switch (option.id) {
49
- case 'edit':
50
- onEdit();
51
- break;
52
- case 'delete':
53
- onDelete();
54
- break;
55
- default:
56
- break;
57
- }
58
- };
59
-
60
- return html`
61
- <div class="${styles.integrationRow} integry-container__integration-row">
62
- <div class=${styles.left}>
63
- <div class=${styles.executionStatus}>
64
- ${executionStatus === 'fail'
65
- ? html`<${Fail} />`
66
- : html`<${Success} />`}
67
- </div>
68
- <${Hint} dismissOnClick=${false} position="bottom" deltaY=${4}>
69
- <div class=${styles.logoContainer}>
70
- <img
71
- src=${iconUrl}
72
- alt="logo"
73
- data-hint=${appName}
74
- class=${styles.logo}
75
- />
76
- </div>
77
- <//>
78
- <div class=${styles.name}>
79
- <${EditableText} value=${name} handleChange=${onEditName} //>
80
- </div>
81
- </div>
82
- <div class=${styles.right}>
83
- <div class=${styles.runs}>${runs > 0 ? runs : 0}</div>
84
- <div class=${styles.date}>
85
- <div
86
- data-hint=${lastExecutionAt
87
- ? new Date(`${lastExecutionAt}+00:00`).toLocaleString()
88
- : null}
89
- >
90
- ${lastExecutionAt
91
- ? timeAgo(new Date(`${lastExecutionAt}+00:00`))
92
- : 'Never run'}
93
- </div>
94
- </div>
95
- ${loading
96
- ? html`<div class=${styles.loader}>
97
- <${ThreeDotLoader} color="#999" />
98
- </div>`
99
- : html`
100
- <div class=${styles.controls}>
101
- <${Toggle} id=${id} value=${activityStatus === 'ACTIVE'}
102
- onChange=${(val: boolean) => onToggle(id, val)}
103
- <//>
104
- <div>
105
- <${CollapsedMenu}
106
- options=${[
107
- {
108
- id: 'edit',
109
- label: 'Edit',
110
- },
111
- {
112
- id: 'delete',
113
- label: 'Delete',
114
- },
115
- ]}
116
- onOptionSelect=${(option: {
117
- id: string;
118
- label: string;
119
- }) => handleOptionSelect(option)}
120
- />
121
- </div>
122
- </div>
123
- `}
124
- </div>
125
- </div>
126
- `;
127
- };
128
-
129
- export { IntegrationRow };
@@ -1,62 +0,0 @@
1
- .integrationRow {
2
- display: flex;
3
- justify-content: space-between;
4
- padding: 16px 0;
5
- font-size: 14px;
6
- &:hover {
7
- background-color: #f9f9f9;
8
- }
9
- .left,
10
- .right,
11
- .controls {
12
- display: flex;
13
- align-items: center;
14
- }
15
- .left {
16
- width: 60%;
17
- .executionStatus {
18
- display: flex;
19
- justify-content: center;
20
- align-items: center;
21
- width: 50px;
22
- }
23
- .logoContainer {
24
- display: flex;
25
- }
26
- .name {
27
- display: flex;
28
- align-items: center;
29
- flex: 1 0;
30
- line-height: 22px;
31
- margin: 0 8px;
32
- color: #333;
33
- font-weight: 500;
34
- }
35
- .logo {
36
- padding: 8px;
37
- width: 38px;
38
- height: 38px;
39
- object-fit: contain;
40
- }
41
- }
42
- .right {
43
- width: 40%;
44
- color: #666;
45
- .runs {
46
- flex: 1;
47
- text-align: start;
48
- }
49
- .date {
50
- width: 45%;
51
- & > div {
52
- display: inline-block;
53
- cursor: default;
54
- }
55
- }
56
- .controls,
57
- .loader {
58
- justify-content: end;
59
- width: 80px;
60
- }
61
- }
62
- }
@@ -1,34 +0,0 @@
1
- import { html } from 'htm/preact';
2
-
3
- import styles from './styles.module.scss';
4
-
5
- const IntegrationsHeader = (props: { onRefetch: () => void }) => {
6
- const { onRefetch } = props;
7
- return html`
8
- <div
9
- class="${styles.integrationsHeader} integry-container__integrations-view__header"
10
- >
11
- <div class=${styles.left}>
12
- <div>Status</div>
13
- </div>
14
- <div class=${styles.right}>
15
- <div>Runs</div>
16
- <div>Last execution at</div>
17
- <div class=${styles.refresh} onclick=${onRefetch}>
18
- <svg class=${styles.refreshIcon} width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
19
- <g clip-path="url(#clip0_4202_23387)">
20
- <path d="M4.07367 13.4671L4.45305 12.5511C5.93583 13.1653 7.56903 13.1653 9.05181 12.5511C10.5346 11.937 11.6894 10.7821 12.3036 9.29935C13.5715 6.23832 12.1127 2.71663 9.05181 1.44879C6.22912 0.279561 3.01452 1.42913 1.53697 4.01563L4.01521 4.01563V5.00703L0.248047 5.00703L0.248047 1.23987L1.23945 1.23987L1.23945 2.68583C3.12854 0.273414 6.46543 -0.695616 9.43125 0.532831C12.1242 1.64829 13.7527 4.26071 13.7525 7.00907C13.7524 7.90001 13.5812 8.80573 13.2196 9.67872C11.7425 13.2447 7.63965 14.9442 4.07367 13.4671Z" fill="black"/>
21
- </g>
22
- <defs>
23
- <clipPath id="clip0_4202_23387">
24
- <rect width="14" height="14" fill="white" transform="matrix(0 1 1 0 0 0)"/>
25
- </clipPath>
26
- </defs>
27
- </svg>
28
- </div>
29
- </div>
30
- </div>
31
- `;
32
- };
33
-
34
- export { IntegrationsHeader };
@@ -1,47 +0,0 @@
1
- .integrationsHeader {
2
- display: flex;
3
- align-items: center;
4
- justify-content: space-between;
5
- margin-top: 20px;
6
- font-weight: 500;
7
- font-size: 14px;
8
- color: #333;
9
- .left,
10
- .right {
11
- display: flex;
12
- align-items: center;
13
- }
14
- .left {
15
- width: 60%;
16
- & div:first-child {
17
- width: 50px;
18
- padding-left: 14px;
19
- text-align: center;
20
- }
21
- & div:nth-child(2) {
22
- width: 80px;
23
- }
24
- }
25
- .right {
26
- width: 40%;
27
- & div:first-child {
28
- flex: 1;
29
- text-align: start;
30
- }
31
- & div:nth-child(2) {
32
- width: 45%;
33
- }
34
- & div:nth-child(3) {
35
- width: 80px;
36
- padding-right: 14px;
37
- }
38
- }
39
- .refresh {
40
- cursor: pointer;
41
- }
42
- .refreshIcon {
43
- // right: 18px;
44
- position: relative;
45
- float: right;
46
- }
47
- }
@@ -1,252 +0,0 @@
1
- import { html, Component } from 'htm/preact';
2
- import { connect } from 'unistore/preact';
3
- import fuzzysort from 'fuzzysort';
4
-
5
- import { BundleResponse, Integration } from '@/interfaces';
6
- import { IntegryAPI } from '@/modules/api';
7
- import { StoreType } from '@/types/store';
8
- import { Loader } from '@/components/Loader';
9
- import { Search } from '@/components/Search';
10
- import { actionFunctions } from '@/store';
11
- import { TemplateFormRenderModes } from '@/types';
12
- import AppContext from '@/contexts/AppContext';
13
-
14
- import { IntegrationRow } from '../IntegrationRow';
15
- import { IntegrationsHeader } from '../IntegrationsHeader';
16
-
17
- import style from './styles.module.scss';
18
-
19
- type Props = {
20
- integrations: Integration[];
21
- apiHandler: IntegryAPI;
22
- renderMode: TemplateFormRenderModes;
23
- } & StoreType;
24
-
25
- type State = {
26
- query: string;
27
- filteredIntegrations: Integration[];
28
- };
29
-
30
- class IntegrationsList extends Component<Props, State> {
31
- static contextType = AppContext;
32
-
33
- constructor(props: Props) {
34
- super(props);
35
- this.state = {
36
- query: '',
37
- filteredIntegrations: props.integrations,
38
- };
39
- }
40
-
41
- componentDidUpdate(previousProps: Readonly<Props>): void {
42
- if (previousProps.integrations !== this.props.integrations) {
43
- this.setState({ filteredIntegrations: this.props.integrations });
44
- if (this.state.query) {
45
- // user search query is still active, so we need to re-filter
46
- this.filterIntegrations(this.state.query);
47
- }
48
- }
49
- }
50
-
51
- private toggleIntegration = (integrationId: number, activate: boolean) => {
52
- this.props.setIntegrationLoadingState({
53
- integrationId,
54
- isLoading: true,
55
- op: 'edit',
56
- });
57
- this.props.apiHandler
58
- .toggleIntegration(integrationId, activate)
59
- .then(() => {
60
- this.props.setIntegrationLoadingState({
61
- integrationId,
62
- isLoading: false,
63
- nextVal: activate,
64
- op: 'edit',
65
- });
66
- })
67
- .catch((err) => console.error(err))
68
- .finally(() => {
69
- this.props.setIntegrationLoadingState({
70
- integrationId,
71
- isLoading: false,
72
- op: 'edit',
73
- });
74
- });
75
- };
76
-
77
- private refetchIntegrations = () => {
78
- if (this.props.genericData.deploymentId) {
79
- this.props.setStoreState({
80
- fetchingIntegrations: true,
81
- });
82
- this.context.apiHandler
83
- .getTemplateListing(this.props.genericData.deploymentId)
84
- .then((res: BundleResponse) => {
85
- this.props.setStoreState({
86
- integrations: res?.integrations,
87
- fetchingIntegrations: false,
88
- });
89
- });
90
- }
91
- };
92
-
93
- private onIntegrationDelete = (integration: Integration) => {
94
- const {
95
- id: integrationId,
96
- name: integrationName,
97
- template_detail,
98
- } = integration;
99
- this.props.setIntegrationLoadingState({
100
- integrationId,
101
- isLoading: true,
102
- op: 'edit',
103
- });
104
- this.props.apiHandler
105
- .deleteIntegration(integrationId)
106
- .then((res) => {
107
- console.info(res);
108
- this.props.setIntegrationLoadingState({
109
- integrationId,
110
- isLoading: false,
111
- op: 'delete',
112
- });
113
- this.context.eventEmitter.emit('did-delete-integration', {
114
- flowId: template_detail.id,
115
- flowName: template_detail.name,
116
- flowDescription: template_detail.description,
117
- integrationId,
118
- integrationName,
119
- });
120
- })
121
- .catch((err) => console.error(err));
122
- };
123
-
124
- private onUpdateName = (integration: Integration, name: string) => {
125
- this.props.setIntegrationLoadingState({
126
- integrationId: integration.id,
127
- isLoading: true,
128
- op: 'edit-name',
129
- updatedName: name,
130
- });
131
- this.props.apiHandler
132
- .renameIntegration(`${integration.id}`, name)
133
- .then((integrationData) => {
134
- if (integrationData) {
135
- this.props.setIntegrationLoadingState({
136
- integrationId: integration.id,
137
- isLoading: false,
138
- op: 'edit',
139
- });
140
- } else {
141
- throw new Error('Could not update integration name');
142
- }
143
- })
144
- .catch((err) => console.error(err));
145
- };
146
-
147
- private onIntegrationEdit = (integration: Integration) => {
148
- const { renderMode } = this.props;
149
- this.props.setStoreState({
150
- ...{
151
- integrationIdToEdit: integration.id,
152
- genericData: {
153
- ...this.props.genericData,
154
- brandingApp: null,
155
- templateId: integration.template,
156
- },
157
- },
158
- ...(renderMode === TemplateFormRenderModes.MODAL && {
159
- showSetupModal: true,
160
- }),
161
- ...(renderMode === TemplateFormRenderModes.INLINE && {
162
- showSetupInline: true,
163
- }),
164
- });
165
- };
166
-
167
- private filterIntegrations = (query: string) => {
168
- if (query) {
169
- this.setState({
170
- query,
171
- filteredIntegrations: fuzzysort
172
- .go(query, this.props.integrations, {
173
- keys: ['name', 'branding_app.tags'],
174
- scoreFn: (keysResult) => {
175
- const nameResult = keysResult[0];
176
- const tagsResult = keysResult[1];
177
- // assign higher score to name result
178
- const score = Math.max(
179
- nameResult ? nameResult.score + 100 : -Infinity,
180
- tagsResult ? tagsResult.score : -Infinity,
181
- );
182
- return score;
183
- },
184
- })
185
- .map((el) => el.obj),
186
- });
187
- } else {
188
- this.setState({
189
- filteredIntegrations: this.props.integrations,
190
- query: '',
191
- });
192
- }
193
- };
194
-
195
- render() {
196
- return html`
197
- ${this.props.fetchingIntegrations
198
- ? html`<div class=${style.loader}><${Loader}/ ></div>`
199
- : html`
200
- <div class="integry-container__integrations-view">
201
- ${this.props.integrations.length > 0 &&
202
- html`
203
- <div class=${style.search}>
204
- <${Search}
205
- resultCount=${this.state.filteredIntegrations.length}
206
- onChange=${(val: string) => this.filterIntegrations(val)}
207
- >
208
- <//>
209
- </div>
210
- <${IntegrationsHeader} onRefetch=${this.refetchIntegrations} />
211
- `}
212
- <div class=${style.integrations}>
213
- ${this.state.filteredIntegrations.map(
214
- (el) => html`
215
- <${IntegrationRow}
216
- id=${el.id}
217
- name=${el.name}
218
- iconUrl=${el.icon_url}
219
- appName=${el.branding_app.name}
220
- executionStatus=${el.task_execution.status}
221
- activityStatus=${el.status}
222
- runs=${el.runs_count}
223
- lastExecutionAt=${el.task_execution.last_execution_at
224
- ?.date}
225
- executionTimezone=${el.task_execution.last_execution_at
226
- ?.timezone}
227
- loading=${el.loading}
228
- onEdit=${() => this.onIntegrationEdit(el)}
229
- onDelete=${() => this.onIntegrationDelete(el)}
230
- onEditName=${(name: string) =>
231
- this.onUpdateName(el, name)}
232
- onToggle=${this.toggleIntegration}
233
- />
234
- `,
235
- )}
236
- ${this.state.filteredIntegrations.length < 1 &&
237
- html`<div class=${style.noIntegrations}>
238
- ${this.state.query
239
- ? 'No integrations found for this search query'
240
- : 'No integrations'}
241
- </div>`}
242
- </div>
243
- </div>
244
- `}
245
- `;
246
- }
247
- }
248
-
249
- export default connect<Props, unknown, StoreType, unknown>(
250
- ['fetchingIntegrations', 'genericData'],
251
- actionFunctions,
252
- )(IntegrationsList);
@@ -1,67 +0,0 @@
1
- .integrations {
2
- margin-top: 0.5rem;
3
- margin-bottom: 0.5rem;
4
- display: flex;
5
- flex-direction: column;
6
- .integration {
7
- margin-top: 0.5rem;
8
- margin-bottom: 0.5rem;
9
- img {
10
- height: 3rem;
11
- width: 3rem;
12
- }
13
- }
14
-
15
- .noIntegrations {
16
- text-align: center;
17
- padding: 50px;
18
- font-size: 16px;
19
- color: #999;
20
- font-weight: 500;
21
- }
22
- }
23
-
24
- .search {
25
- margin-top: 1rem;
26
- margin-bottom: 0.5rem;
27
- }
28
-
29
- .loader {
30
- display: flex;
31
- justify-content: center;
32
- padding: 50px;
33
- }
34
-
35
- .row {
36
- display: flex;
37
- align-items: center;
38
- justify-content: space-between;
39
- overflow: hidden;
40
- text-overflow: ellipsis;
41
- white-space: nowrap;
42
- border-radius: 0.25rem;
43
- cursor: pointer;
44
- border-width: 1px;
45
- border-style: solid;
46
- --tw-border-opacity: 1;
47
- border-color: rgba(229, 231, 235, var(--tw-border-opacity));
48
- padding-left: 1.25rem;
49
- padding-right: 1.25rem;
50
- padding-top: 1rem;
51
- padding-bottom: 1rem;
52
- font-size: 0.875rem;
53
- line-height: 1.25rem;
54
- --tw-text-opacity: 1;
55
- color: rgba(55, 65, 81, var(--tw-text-opacity));
56
- transition: border-color 0.2s;
57
- &:hover {
58
- border-color: #a8a8a8;
59
- }
60
- }
61
-
62
- .topbar {
63
- display: flex;
64
- align-items: center;
65
- justify-content: space-between;
66
- margin-top: 1rem;
67
- }