@api-client/ui 0.0.11 → 0.0.13

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 (242) hide show
  1. package/.eslintrc +8 -0
  2. package/demo/elements/authorization/cc.ts +56 -27
  3. package/demo/elements/index.html +3 -0
  4. package/demo/elements/store/file-picker.html +15 -0
  5. package/demo/elements/store/file-picker.ts +134 -0
  6. package/demo/elements/store/index.html +19 -0
  7. package/demo/store/StorePlugin.js +1 -0
  8. package/dist/bindings/base/FileBindings.d.ts +4 -0
  9. package/dist/bindings/base/FileBindings.d.ts.map +1 -1
  10. package/dist/bindings/base/FileBindings.js +21 -1
  11. package/dist/bindings/base/FileBindings.js.map +1 -1
  12. package/dist/bindings/base/StoreBindings.d.ts +6 -17
  13. package/dist/bindings/base/StoreBindings.d.ts.map +1 -1
  14. package/dist/bindings/base/StoreBindings.js +15 -60
  15. package/dist/bindings/base/StoreBindings.js.map +1 -1
  16. package/dist/bindings/web/WebFileBindings.js +1 -1
  17. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  18. package/dist/define/http/certificate-add.d.ts +9 -0
  19. package/dist/define/http/certificate-add.d.ts.map +1 -0
  20. package/dist/define/http/certificate-add.js +10 -0
  21. package/dist/define/http/certificate-add.js.map +1 -0
  22. package/dist/define/store/file-picker.d.ts +9 -0
  23. package/dist/define/store/file-picker.d.ts.map +1 -0
  24. package/dist/define/store/file-picker.js +10 -0
  25. package/dist/define/store/file-picker.js.map +1 -0
  26. package/dist/define/{files → store}/share-file.d.ts +1 -1
  27. package/dist/define/store/share-file.d.ts.map +1 -0
  28. package/dist/define/{files → store}/share-file.js +2 -2
  29. package/dist/define/store/share-file.js.map +1 -0
  30. package/dist/define/ui/ui-segmented-button-set.d.ts +1 -1
  31. package/dist/define/ui/ui-segmented-button-set.d.ts.map +1 -1
  32. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  33. package/dist/elements/authorization/ui/CC.styles.d.ts.map +1 -1
  34. package/dist/elements/authorization/ui/CC.styles.js +4 -9
  35. package/dist/elements/authorization/ui/CC.styles.js.map +1 -1
  36. package/dist/elements/authorization/ui/CcAuthorization.d.ts +14 -29
  37. package/dist/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
  38. package/dist/elements/authorization/ui/CcAuthorization.js +67 -158
  39. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  40. package/dist/elements/http/CertificateAdd.element.d.ts +91 -0
  41. package/dist/elements/http/CertificateAdd.element.d.ts.map +1 -0
  42. package/dist/elements/http/CertificateAdd.element.js +389 -0
  43. package/dist/elements/http/CertificateAdd.element.js.map +1 -0
  44. package/dist/elements/http/CertificateAdd.styles.d.ts +3 -0
  45. package/dist/elements/http/CertificateAdd.styles.d.ts.map +1 -0
  46. package/dist/elements/http/CertificateAdd.styles.js +61 -0
  47. package/dist/elements/http/CertificateAdd.styles.js.map +1 -0
  48. package/dist/elements/project/ProjectRunReport.d.ts +2 -1
  49. package/dist/elements/project/ProjectRunReport.d.ts.map +1 -1
  50. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  51. package/dist/elements/store/FilePicker.element.d.ts +87 -0
  52. package/dist/elements/store/FilePicker.element.d.ts.map +1 -0
  53. package/dist/elements/store/FilePicker.element.js +263 -0
  54. package/dist/elements/store/FilePicker.element.js.map +1 -0
  55. package/dist/elements/store/FilePicker.styles.d.ts +3 -0
  56. package/dist/elements/store/FilePicker.styles.d.ts.map +1 -0
  57. package/dist/elements/store/FilePicker.styles.js +73 -0
  58. package/dist/elements/store/FilePicker.styles.js.map +1 -0
  59. package/dist/elements/store/FilesLib.d.ts +10 -0
  60. package/dist/elements/store/FilesLib.d.ts.map +1 -0
  61. package/dist/elements/store/FilesLib.js +38 -0
  62. package/dist/elements/store/FilesLib.js.map +1 -0
  63. package/dist/elements/{files/ShareFile.d.ts → store/ShareFile.element.d.ts} +1 -1
  64. package/dist/elements/store/ShareFile.element.d.ts.map +1 -0
  65. package/dist/elements/{files/ShareFile.js → store/ShareFile.element.js} +1 -1
  66. package/dist/elements/store/ShareFile.element.js.map +1 -0
  67. package/dist/elements/store/ShareFile.styles.d.ts.map +1 -0
  68. package/dist/elements/{files → store}/ShareFile.styles.js.map +1 -1
  69. package/dist/events/EventTypes.d.ts +7 -7
  70. package/dist/events/EventTypes.d.ts.map +1 -1
  71. package/dist/events/EventTypes.js +8 -7
  72. package/dist/events/EventTypes.js.map +1 -1
  73. package/dist/events/Events.d.ts +7 -1
  74. package/dist/events/Events.d.ts.map +1 -1
  75. package/dist/events/Events.js +2 -0
  76. package/dist/events/Events.js.map +1 -1
  77. package/dist/events/FilesystemEvents.d.ts +8 -0
  78. package/dist/events/FilesystemEvents.d.ts.map +1 -0
  79. package/dist/events/FilesystemEvents.js +59 -0
  80. package/dist/events/FilesystemEvents.js.map +1 -0
  81. package/dist/events/HttpClientEvents.d.ts +0 -2
  82. package/dist/events/HttpClientEvents.d.ts.map +1 -1
  83. package/dist/events/HttpClientEvents.js +0 -2
  84. package/dist/events/HttpClientEvents.js.map +1 -1
  85. package/dist/events/StoreEvents.d.ts +8 -1
  86. package/dist/events/StoreEvents.d.ts.map +1 -1
  87. package/dist/events/StoreEvents.js +19 -0
  88. package/dist/events/StoreEvents.js.map +1 -1
  89. package/dist/http-client/idb/Arc18DataUpgrade.d.ts +0 -8
  90. package/dist/http-client/idb/Arc18DataUpgrade.d.ts.map +1 -1
  91. package/dist/http-client/idb/Arc18DataUpgrade.js +11 -206
  92. package/dist/http-client/idb/Arc18DataUpgrade.js.map +1 -1
  93. package/dist/http-client/store/StoreBroadcast.d.ts +0 -5
  94. package/dist/http-client/store/StoreBroadcast.d.ts.map +1 -1
  95. package/dist/http-client/store/StoreBroadcast.js +0 -7
  96. package/dist/http-client/store/StoreBroadcast.js.map +1 -1
  97. package/dist/lib/files/FileUtils.d.ts +9 -0
  98. package/dist/lib/files/FileUtils.d.ts.map +1 -0
  99. package/dist/lib/files/FileUtils.js +13 -0
  100. package/dist/lib/files/FileUtils.js.map +1 -0
  101. package/dist/mixins/RouteMixin.d.ts +4 -0
  102. package/dist/mixins/RouteMixin.d.ts.map +1 -1
  103. package/dist/mixins/RouteMixin.js +1 -0
  104. package/dist/mixins/RouteMixin.js.map +1 -1
  105. package/dist/pages/ApplicationScreen.d.ts +1 -1
  106. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  107. package/dist/pages/ApplicationScreen.js +4 -2
  108. package/dist/pages/ApplicationScreen.js.map +1 -1
  109. package/dist/pages/api-client/ApiClient.screen.d.ts +4 -6
  110. package/dist/pages/api-client/ApiClient.screen.d.ts.map +1 -1
  111. package/dist/pages/api-client/ApiClient.screen.js +39 -31
  112. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  113. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  114. package/dist/pages/api-client/ApiClient.styles.js +0 -12
  115. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  116. package/dist/pages/api-client/Authenticate.screen.d.ts +1 -1
  117. package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
  118. package/dist/pages/api-client/Authenticate.screen.js +2 -2
  119. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  120. package/dist/pages/api-client/pages/Files.page.d.ts +6 -35
  121. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  122. package/dist/pages/api-client/pages/Files.page.js +45 -141
  123. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  124. package/dist/pages/api-client/pages/Shared.page.d.ts +1 -5
  125. package/dist/pages/api-client/pages/Shared.page.d.ts.map +1 -1
  126. package/dist/pages/api-client/pages/Shared.page.js +1 -40
  127. package/dist/pages/api-client/pages/Shared.page.js.map +1 -1
  128. package/dist/pages/demo/DemoPage.d.ts +7 -0
  129. package/dist/pages/demo/DemoPage.d.ts.map +1 -1
  130. package/dist/pages/demo/DemoPage.js +14 -0
  131. package/dist/pages/demo/DemoPage.js.map +1 -1
  132. package/dist/store/FileSystem.d.ts +90 -0
  133. package/dist/store/FileSystem.d.ts.map +1 -0
  134. package/dist/store/FileSystem.js +260 -0
  135. package/dist/store/FileSystem.js.map +1 -0
  136. package/dist/styles/global-styles.d.ts.map +1 -1
  137. package/dist/styles/global-styles.js +7 -0
  138. package/dist/styles/global-styles.js.map +1 -1
  139. package/dist/ui/button/SegmentedButtonsSet.d.ts +14 -0
  140. package/dist/ui/button/SegmentedButtonsSet.d.ts.map +1 -1
  141. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  142. package/dist/ui/icons/Icons.d.ts +2 -1
  143. package/dist/ui/icons/Icons.d.ts.map +1 -1
  144. package/dist/ui/icons/Icons.js +1 -0
  145. package/dist/ui/icons/Icons.js.map +1 -1
  146. package/dist/ui/list/UiDropdownList.d.ts +9 -1
  147. package/dist/ui/list/UiDropdownList.d.ts.map +1 -1
  148. package/dist/ui/list/UiDropdownList.js +39 -17
  149. package/dist/ui/list/UiDropdownList.js.map +1 -1
  150. package/dist/ui/list/UiList.d.ts +6 -1
  151. package/dist/ui/list/UiList.d.ts.map +1 -1
  152. package/dist/ui/list/UiList.js +24 -9
  153. package/dist/ui/list/UiList.js.map +1 -1
  154. package/dist/ui/notification/SnackNotifications.d.ts +1 -0
  155. package/dist/ui/notification/SnackNotifications.d.ts.map +1 -1
  156. package/dist/ui/notification/SnackNotifications.js +7 -0
  157. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  158. package/dist/ui/table/DataTable.d.ts +4 -0
  159. package/dist/ui/table/DataTable.d.ts.map +1 -1
  160. package/dist/ui/table/DataTable.js +23 -1
  161. package/dist/ui/table/DataTable.js.map +1 -1
  162. package/package.json +1 -1
  163. package/src/bindings/base/FileBindings.ts +25 -1
  164. package/src/bindings/base/StoreBindings.ts +16 -73
  165. package/src/bindings/web/WebFileBindings.ts +1 -1
  166. package/src/define/http/certificate-add.ts +12 -0
  167. package/src/define/store/file-picker.ts +12 -0
  168. package/src/define/{files → store}/share-file.ts +2 -2
  169. package/src/define/ui/ui-segmented-button-set.ts +1 -1
  170. package/src/elements/authorization/ui/CC.styles.ts +4 -9
  171. package/src/elements/authorization/ui/CcAuthorization.ts +67 -167
  172. package/src/elements/http/CertificateAdd.element.ts +443 -0
  173. package/src/elements/http/CertificateAdd.styles.ts +61 -0
  174. package/src/elements/project/ProjectRunReport.ts +2 -1
  175. package/src/elements/store/FilePicker.element.ts +297 -0
  176. package/src/elements/store/FilePicker.styles.ts +73 -0
  177. package/src/elements/store/FilesLib.ts +32 -0
  178. package/src/events/EventTypes.ts +8 -7
  179. package/src/events/Events.ts +2 -0
  180. package/src/events/FilesystemEvents.ts +63 -0
  181. package/src/events/HttpClientEvents.ts +0 -2
  182. package/src/events/StoreEvents.ts +21 -1
  183. package/src/http-client/idb/Arc18DataUpgrade.ts +84 -84
  184. package/src/http-client/store/StoreBroadcast.ts +0 -8
  185. package/src/lib/files/FileUtils.ts +12 -0
  186. package/src/mixins/RouteMixin.ts +8 -1
  187. package/src/pages/ApplicationScreen.ts +5 -3
  188. package/src/pages/api-client/ApiClient.screen.ts +42 -33
  189. package/src/pages/api-client/ApiClient.styles.ts +0 -12
  190. package/src/pages/api-client/Authenticate.screen.ts +2 -2
  191. package/src/pages/api-client/pages/Files.page.ts +48 -164
  192. package/src/pages/api-client/pages/Shared.page.ts +2 -40
  193. package/src/pages/demo/DemoPage.ts +17 -0
  194. package/src/store/FileSystem.ts +325 -0
  195. package/src/styles/global-styles.ts +7 -0
  196. package/src/ui/button/SegmentedButtonsSet.ts +16 -1
  197. package/src/ui/icons/Icons.ts +2 -1
  198. package/src/ui/list/UiDropdownList.ts +44 -17
  199. package/src/ui/list/UiList.ts +26 -10
  200. package/src/ui/notification/SnackNotifications.ts +8 -0
  201. package/src/ui/table/DataTable.ts +29 -3
  202. package/test/elements/http/BodyFormdataEditorElement.test.ts +458 -454
  203. package/test/elements/http/BodyMultipartEditorElement.test.ts +609 -605
  204. package/test/elements/http/BodyRawEditorElement.test.ts +60 -56
  205. package/test/elements/http/CertificateAdd.test.ts +430 -0
  206. package/test/elements/store/FilePicker.test.ts +241 -0
  207. package/test/env.js +3 -0
  208. package/test/events/EventTypes.test.ts +0 -22
  209. package/test/helpers/StoreHelper.ts +390 -0
  210. package/test/helpers/UiMock.ts +19 -2
  211. package/tsconfig.eslint.json +3 -1
  212. package/web-test-runner.config.mjs +50 -3
  213. package/dist/define/files/share-file.d.ts.map +0 -1
  214. package/dist/define/files/share-file.js.map +0 -1
  215. package/dist/elements/files/ShareFile.d.ts.map +0 -1
  216. package/dist/elements/files/ShareFile.js.map +0 -1
  217. package/dist/elements/files/ShareFile.styles.d.ts.map +0 -1
  218. package/dist/events/http-client/models/CertificatesEvents.d.ts +0 -12
  219. package/dist/events/http-client/models/CertificatesEvents.d.ts.map +0 -1
  220. package/dist/events/http-client/models/CertificatesEvents.js +0 -18
  221. package/dist/events/http-client/models/CertificatesEvents.js.map +0 -1
  222. package/dist/http-client/idb/AuthDataModel.d.ts +0 -60
  223. package/dist/http-client/idb/AuthDataModel.d.ts.map +0 -1
  224. package/dist/http-client/idb/AuthDataModel.js +0 -150
  225. package/dist/http-client/idb/AuthDataModel.js.map +0 -1
  226. package/dist/http-client/idb/HostsModel.d.ts +0 -25
  227. package/dist/http-client/idb/HostsModel.d.ts.map +0 -1
  228. package/dist/http-client/idb/HostsModel.js +0 -82
  229. package/dist/http-client/idb/HostsModel.js.map +0 -1
  230. package/dist/http-client/idb/LegacyMockedStore.d.ts +0 -214
  231. package/dist/http-client/idb/LegacyMockedStore.d.ts.map +0 -1
  232. package/dist/http-client/idb/LegacyMockedStore.js +0 -486
  233. package/dist/http-client/idb/LegacyMockedStore.js.map +0 -1
  234. package/src/events/http-client/models/CertificatesEvents.ts +0 -23
  235. package/src/http-client/idb/AuthDataModel.ts +0 -175
  236. package/src/http-client/idb/HostsModel.ts +0 -125
  237. package/src/http-client/idb/LegacyMockedStore.ts +0 -544
  238. package/test/apic-ui.test.ts +0 -31
  239. /package/dist/elements/{files → store}/ShareFile.styles.d.ts +0 -0
  240. /package/dist/elements/{files → store}/ShareFile.styles.js +0 -0
  241. /package/src/elements/{files/ShareFile.ts → store/ShareFile.element.ts} +0 -0
  242. /package/src/elements/{files → store}/ShareFile.styles.ts +0 -0
@@ -1,175 +0,0 @@
1
- /**
2
- @license
3
- Copyright 2017 The Advanced REST client authors <arc@mulesoft.com>
4
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
5
- use this file except in compliance with the License. You may obtain a copy of
6
- the License at
7
- http://www.apache.org/licenses/LICENSE-2.0
8
- Unless required by applicable law or agreed to in writing, software
9
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11
- License for the specific language governing permissions and limitations under
12
- the License.
13
- */
14
- import { ContextChangeRecord, IAuthorizationData } from '@api-client/core/build/browser.js';
15
- import { Base } from './Base.js';
16
-
17
- /**
18
- * Removes query parameters and the fragment part from the URL
19
- *
20
- * @param url The URL to process
21
- * @return The canonical URL.
22
- */
23
- export function normalizeUrl(url: string): string {
24
- if (!url) {
25
- return '';
26
- }
27
- try {
28
- const u = new URL(url);
29
- u.hash = '';
30
- u.search = '';
31
- let result = u.toString();
32
- // polyfill library leaves '?#'
33
- result = result.replace('?', '');
34
- result = result.replace('#', '');
35
- return result;
36
- } catch (e) {
37
- return url;
38
- }
39
- }
40
-
41
- /**
42
- * Computes the database key for auth data
43
- *
44
- * @param method The Authorization method to restore data for.
45
- * @param url The URL of the request
46
- * @returns The datastore key for auth data
47
- */
48
- export function computeKey(method: string, url?: string): string {
49
- let path = `${method}/`;
50
- if (url) {
51
- path += encodeURIComponent(url);
52
- }
53
- return path;
54
- }
55
-
56
- /**
57
- * Model for authorization data stored in the application.
58
- *
59
- * TODO: (@jarrodek) I don't think this is needed anymore.
60
- * We do not add basic auth header to requests in the engine anymore.
61
- */
62
- export class AuthDataModel extends Base {
63
- constructor() {
64
- super('AuthCache');
65
- // this[queryHandler] = this[queryHandler].bind(this);
66
- // this[updateHandler] = this[updateHandler].bind(this);
67
- }
68
-
69
- override async put(value: IAuthorizationData): Promise<ContextChangeRecord<IAuthorizationData>> {
70
- const result = await super.put(value) as ContextChangeRecord<IAuthorizationData>;
71
- // Events.HttpClient.Model.AuthData.State.update(result, this.eventsTarget);
72
- return result;
73
- }
74
-
75
- // override async putBulk(values: IAuthorizationData[]): Promise<ContextChangeRecord<IAuthorizationData>[]> {
76
- // const result = await super.putBulk(values) as ContextChangeRecord<IAuthorizationData>[];
77
- // result.forEach(record => Events.HttpClient.Model.AuthData.State.update(record, this.eventsTarget));
78
- // return result;
79
- // }
80
-
81
- override async get(key: string): Promise<IAuthorizationData | undefined> {
82
- return super.get(key) as Promise<IAuthorizationData | undefined>;
83
- }
84
-
85
- // override async getBulk(keys: string[]): Promise<(IAuthorizationData | undefined)[]> {
86
- // return super.getBulk(keys) as Promise<(IAuthorizationData | undefined)[]>;
87
- // }
88
-
89
- // override listen(node: EventTarget = window): void {
90
- // super.listen(node);
91
- // node.addEventListener(EventTypes.HttpClient.Model.AuthData.query, this[queryHandler] as EventListener);
92
- // node.addEventListener(EventTypes.HttpClient.Model.AuthData.update, this[updateHandler] as EventListener);
93
- // }
94
-
95
- // override unlisten(node: EventTarget = window): void {
96
- // super.unlisten(node);
97
- // node.removeEventListener(EventTypes.HttpClient.Model.AuthData.query, this[queryHandler] as EventListener);
98
- // node.removeEventListener(EventTypes.HttpClient.Model.AuthData.update, this[updateHandler] as EventListener);
99
- // }
100
-
101
- // [queryHandler](e: AuthDataQueryEvent): void {
102
- // if (this._eventCancelled(e)) {
103
- // return;
104
- // }
105
- // e.preventDefault();
106
- // e.stopPropagation();
107
-
108
- // const { url, method } = e;
109
- // e.detail.result = this.query(url, method);
110
- // }
111
-
112
- /**
113
- * Queries for a datastore entry. Similar to `read()` but without using `id`
114
- * but rather the URL.
115
- *
116
- * @param url The URL of the request
117
- * @param authMethod The Authorization method to restore data for.
118
- */
119
- async query(url: string, authMethod: string): Promise<IAuthorizationData | undefined> {
120
- const parsedUrl = normalizeUrl(url);
121
- const key = computeKey(authMethod, parsedUrl);
122
- try {
123
- return await this.get(key);
124
- } catch (cause) {
125
- return undefined;
126
- }
127
- }
128
-
129
- // [updateHandler](e: AuthDataUpdateEvent): void {
130
- // if (this._eventCancelled(e)) {
131
- // return;
132
- // }
133
- // e.preventDefault();
134
- // e.stopPropagation();
135
- // const { url, method, authData } = e;
136
- // e.detail.result = this._update(url, method, authData);
137
- // }
138
-
139
- /**
140
- * Creates or updates the auth data in the data store for given method and URl.
141
- *
142
- * @param url The URL of the request
143
- * @param authMethod The Authorization method to restore data for.
144
- * @param authData The authorization data to store. Schema depends on
145
- * the `authMethod` property. From model standpoint schema does not matter.
146
- */
147
- async _update(url: string, authMethod: string, authData: IAuthorizationData): Promise<ContextChangeRecord<IAuthorizationData>> {
148
- const parsedUrl = normalizeUrl(url);
149
- const key = computeKey(authMethod, parsedUrl);
150
- let stored: IAuthorizationData | undefined;
151
- try {
152
- stored = await this.get(key);
153
- } catch (error) {
154
- // ...
155
- }
156
- if (!stored) {
157
- stored = { key };
158
- }
159
- const doc = { ...stored, ...authData, key } as IAuthorizationData;
160
- const result = await this.put(doc) as ContextChangeRecord<IAuthorizationData>;
161
- return result;
162
- }
163
-
164
- override async update(value: IAuthorizationData, url?: string, authMethod?: string): Promise<ContextChangeRecord<IAuthorizationData>> {
165
- if (!url) {
166
- throw new Error(`The "url" argument is not set.`);
167
- }
168
- if (!authMethod) {
169
- throw new Error(`The "authMethod" argument is not set.`);
170
- }
171
- const parsedUrl = normalizeUrl(url);
172
- const key = computeKey(authMethod, parsedUrl);
173
- return this.put({ ...value, key });
174
- }
175
- }
@@ -1,125 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- /* eslint-disable arrow-body-style */
3
- /* eslint-disable no-param-reassign */
4
- /**
5
- Copyright 2016 The Advanced REST client authors <arc@mulesoft.com>
6
- Licensed under the Apache License, Version 2.0 (the "License"); you may not
7
- use this file except in compliance with the License. You may obtain a copy of
8
- the License at
9
- http://www.apache.org/licenses/LICENSE-2.0
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
- License for the specific language governing permissions and limitations under
14
- the License.
15
- */
16
- import { IHostRule, HostRule, ContextChangeRecord, ContextDeleteRecord, ContextListOptions, ContextListResult } from '@api-client/core/build/browser.js';
17
- import { Base, IGetOptions } from './Base.js';
18
-
19
- /**
20
- * Hosts table model for version >= 18.
21
- */
22
- export class HostsModel extends Base {
23
- constructor() {
24
- super('Hosts');
25
- }
26
-
27
- override async put(value: IHostRule | HostRule): Promise<ContextChangeRecord<IHostRule>> {
28
- if (!value) {
29
- throw new Error(`Expected a value when inserting a project.`);
30
- }
31
- let insert: IHostRule;
32
- if (typeof (value as HostRule).toJSON === 'function') {
33
- insert = (value as HostRule).toJSON();
34
- } else {
35
- insert = value as IHostRule;
36
- }
37
- const result = await super.put(insert) as ContextChangeRecord<IHostRule>;
38
- // Events.HttpClient.Model.Host.State.update(result, this.eventsTarget);
39
- return result;
40
- }
41
-
42
- // override async putBulk(values: (IHostRule | HostRule)[]): Promise<ContextChangeRecord<IHostRule>[]> {
43
- // if (!Array.isArray(values)) {
44
- // throw new Error(`Expected a value when inserting projects.`);
45
- // }
46
- // const inserts: IHostRule[] = [];
47
- // values.forEach((i) => {
48
- // if (typeof (i as HostRule).toJSON === 'function') {
49
- // inserts.push((i as HostRule).toJSON());
50
- // } else {
51
- // inserts.push(i as IHostRule);
52
- // }
53
- // });
54
-
55
- // const result = await super.putBulk(inserts) as ContextChangeRecord<IHostRule>[];
56
- // result.forEach(record => Events.HttpClient.Model.Host.State.update(record, this.eventsTarget));
57
- // return result;
58
- // }
59
-
60
- override async get(key: string, opts?: IGetOptions): Promise<IHostRule | undefined> {
61
- return super.get(key, opts) as Promise<IHostRule | undefined>;
62
- }
63
-
64
- // override async getBulk(keys: string[], opts?: IGetOptions): Promise<(IHostRule | undefined)[]> {
65
- // return super.getBulk(keys, opts) as Promise<(IHostRule | undefined)[]>;
66
- // }
67
-
68
- // override async delete(key: string): Promise<ContextDeleteRecord | undefined> {
69
- // const result = await super.delete(key);
70
- // if (result) {
71
- // Events.HttpClient.Model.Host.State.delete(result, this.eventsTarget);
72
- // }
73
- // return result;
74
- // }
75
-
76
- // override async deleteBulk(keys: string[]): Promise<(ContextDeleteRecord | undefined)[]> {
77
- // const result = await super.deleteBulk(keys);
78
- // result.forEach((record) => {
79
- // if (record) {
80
- // Events.HttpClient.Model.Host.State.delete(record, this.eventsTarget);
81
- // }
82
- // });
83
- // return result;
84
- // }
85
-
86
- async undeleteBulk(records: ContextDeleteRecord[]): Promise<(ContextChangeRecord<IHostRule> | undefined)[]> {
87
- if (!records) {
88
- throw new Error(`The "records" argument is missing.`);
89
- }
90
- if (!Array.isArray(records)) {
91
- throw new Error(`The "records" argument expected to be an array.`);
92
- }
93
-
94
- const ids = this._readDeletedRecordKeys(records);
95
- const result = await super.restoreBulk(ids) as (ContextChangeRecord<IHostRule> | undefined)[];
96
- // result.forEach((record) => {
97
- // if (record) {
98
- // Events.HttpClient.Model.Host.State.update(record, this.eventsTarget)
99
- // }
100
- // });
101
- return result;
102
- }
103
-
104
- override async list(opts?: ContextListOptions): Promise<ContextListResult<IHostRule>> {
105
- return super.list(opts) as Promise<ContextListResult<IHostRule>>;
106
- }
107
-
108
- // override listen(node: EventTarget = window): void {
109
- // super.listen(node);
110
- // node.addEventListener(EventTypes.HttpClient.Model.Host.update, this._updateHandler as EventListener);
111
- // node.addEventListener(EventTypes.HttpClient.Model.Host.updateBulk, this._updateBulkHandler as EventListener);
112
- // node.addEventListener(EventTypes.HttpClient.Model.Host.delete, this._deleteHandler as EventListener);
113
- // node.addEventListener(EventTypes.HttpClient.Model.Host.deleteBulk, this._deleteBulkHandler as EventListener);
114
- // node.addEventListener(EventTypes.HttpClient.Model.Host.list, this._listHandler as EventListener);
115
- // }
116
-
117
- // override unlisten(node: EventTarget = window): void {
118
- // super.unlisten(node);
119
- // node.removeEventListener(EventTypes.HttpClient.Model.Host.update, this._updateHandler as EventListener);
120
- // node.removeEventListener(EventTypes.HttpClient.Model.Host.updateBulk, this._updateBulkHandler as EventListener);
121
- // node.removeEventListener(EventTypes.HttpClient.Model.Host.delete, this._deleteHandler as EventListener);
122
- // node.removeEventListener(EventTypes.HttpClient.Model.Host.deleteBulk, this._deleteBulkHandler as EventListener);
123
- // node.removeEventListener(EventTypes.HttpClient.Model.Host.list, this._listHandler as EventListener);
124
- // }
125
- }