@milaboratories/milaboratories.pool-explorer.ui 1.1.55

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 (191) hide show
  1. package/.turbo/turbo-build.log +106 -0
  2. package/CHANGELOG.md +502 -0
  3. package/dist/assets/abap-BrgZPUOV.js +7 -0
  4. package/dist/assets/abap-BrgZPUOV.js.map +1 -0
  5. package/dist/assets/apex-DyP6w7ZV.js +7 -0
  6. package/dist/assets/apex-DyP6w7ZV.js.map +1 -0
  7. package/dist/assets/azcli-BaLxmfj-.js +7 -0
  8. package/dist/assets/azcli-BaLxmfj-.js.map +1 -0
  9. package/dist/assets/bat-CFOPXBzS.js +7 -0
  10. package/dist/assets/bat-CFOPXBzS.js.map +1 -0
  11. package/dist/assets/bicep-BfEKNvv3.js +8 -0
  12. package/dist/assets/bicep-BfEKNvv3.js.map +1 -0
  13. package/dist/assets/cameligo-BFG1Mk7z.js +7 -0
  14. package/dist/assets/cameligo-BFG1Mk7z.js.map +1 -0
  15. package/dist/assets/clojure-DTECt2xU.js +7 -0
  16. package/dist/assets/clojure-DTECt2xU.js.map +1 -0
  17. package/dist/assets/codicon-DCmgc-ay.ttf +0 -0
  18. package/dist/assets/coffee-CDGzqUPQ.js +7 -0
  19. package/dist/assets/coffee-CDGzqUPQ.js.map +1 -0
  20. package/dist/assets/cpp-CLLBncYj.js +7 -0
  21. package/dist/assets/cpp-CLLBncYj.js.map +1 -0
  22. package/dist/assets/csharp-dUCx_-0o.js +7 -0
  23. package/dist/assets/csharp-dUCx_-0o.js.map +1 -0
  24. package/dist/assets/csp-5Rap-vPy.js +7 -0
  25. package/dist/assets/csp-5Rap-vPy.js.map +1 -0
  26. package/dist/assets/css-D3h14YRZ.js +9 -0
  27. package/dist/assets/css-D3h14YRZ.js.map +1 -0
  28. package/dist/assets/cssMode-BHX46c72.js +10 -0
  29. package/dist/assets/cssMode-BHX46c72.js.map +1 -0
  30. package/dist/assets/cypher-DrQuvNYM.js +7 -0
  31. package/dist/assets/cypher-DrQuvNYM.js.map +1 -0
  32. package/dist/assets/dart-CFKIUWau.js +7 -0
  33. package/dist/assets/dart-CFKIUWau.js.map +1 -0
  34. package/dist/assets/dockerfile-Zznr-cwX.js +7 -0
  35. package/dist/assets/dockerfile-Zznr-cwX.js.map +1 -0
  36. package/dist/assets/ecl-Ce3n6wWz.js +7 -0
  37. package/dist/assets/ecl-Ce3n6wWz.js.map +1 -0
  38. package/dist/assets/elixir-deUWdS0T.js +7 -0
  39. package/dist/assets/elixir-deUWdS0T.js.map +1 -0
  40. package/dist/assets/flow9-i9-g7ZhI.js +7 -0
  41. package/dist/assets/flow9-i9-g7ZhI.js.map +1 -0
  42. package/dist/assets/freemarker2-DTpthaMx.js +9 -0
  43. package/dist/assets/freemarker2-DTpthaMx.js.map +1 -0
  44. package/dist/assets/fsharp-CzKuDChf.js +7 -0
  45. package/dist/assets/fsharp-CzKuDChf.js.map +1 -0
  46. package/dist/assets/go-Cphgjts3.js +7 -0
  47. package/dist/assets/go-Cphgjts3.js.map +1 -0
  48. package/dist/assets/graphql-Cg7bfA9N.js +7 -0
  49. package/dist/assets/graphql-Cg7bfA9N.js.map +1 -0
  50. package/dist/assets/handlebars-ChdTBpb7.js +7 -0
  51. package/dist/assets/handlebars-ChdTBpb7.js.map +1 -0
  52. package/dist/assets/hcl-0cvrggvQ.js +7 -0
  53. package/dist/assets/hcl-0cvrggvQ.js.map +1 -0
  54. package/dist/assets/html-D2JsUJBP.js +7 -0
  55. package/dist/assets/html-D2JsUJBP.js.map +1 -0
  56. package/dist/assets/htmlMode-CQDoQZKN.js +10 -0
  57. package/dist/assets/htmlMode-CQDoQZKN.js.map +1 -0
  58. package/dist/assets/index-CmToRp5l.css +1 -0
  59. package/dist/assets/index-D_wQZ2Y6.js +1480 -0
  60. package/dist/assets/index-D_wQZ2Y6.js.map +1 -0
  61. package/dist/assets/ini-Drc7WvVn.js +7 -0
  62. package/dist/assets/ini-Drc7WvVn.js.map +1 -0
  63. package/dist/assets/java-B_fMsGYe.js +7 -0
  64. package/dist/assets/java-B_fMsGYe.js.map +1 -0
  65. package/dist/assets/javascript-DRhzRLpi.js +7 -0
  66. package/dist/assets/javascript-DRhzRLpi.js.map +1 -0
  67. package/dist/assets/json.worker-CPn_BmvY.js +50 -0
  68. package/dist/assets/json.worker-CPn_BmvY.js.map +1 -0
  69. package/dist/assets/jsonMode-D2BwY0xh.js +16 -0
  70. package/dist/assets/jsonMode-D2BwY0xh.js.map +1 -0
  71. package/dist/assets/julia-Bqgm2twL.js +7 -0
  72. package/dist/assets/julia-Bqgm2twL.js.map +1 -0
  73. package/dist/assets/kotlin-BSkB5QuD.js +7 -0
  74. package/dist/assets/kotlin-BSkB5QuD.js.map +1 -0
  75. package/dist/assets/less-BsTHnhdd.js +8 -0
  76. package/dist/assets/less-BsTHnhdd.js.map +1 -0
  77. package/dist/assets/lexon-YWi4-JPR.js +7 -0
  78. package/dist/assets/lexon-YWi4-JPR.js.map +1 -0
  79. package/dist/assets/liquid-M7sgX2jG.js +7 -0
  80. package/dist/assets/liquid-M7sgX2jG.js.map +1 -0
  81. package/dist/assets/lua-nf6ki56Z.js +7 -0
  82. package/dist/assets/lua-nf6ki56Z.js.map +1 -0
  83. package/dist/assets/m3-Cpb6xl2v.js +7 -0
  84. package/dist/assets/m3-Cpb6xl2v.js.map +1 -0
  85. package/dist/assets/markdown-DSZPf7rp.js +7 -0
  86. package/dist/assets/markdown-DSZPf7rp.js.map +1 -0
  87. package/dist/assets/mdx-nT_7QvBi.js +7 -0
  88. package/dist/assets/mdx-nT_7QvBi.js.map +1 -0
  89. package/dist/assets/mips-B_c3zf-v.js +7 -0
  90. package/dist/assets/mips-B_c3zf-v.js.map +1 -0
  91. package/dist/assets/msdax-rUNN04Wq.js +7 -0
  92. package/dist/assets/msdax-rUNN04Wq.js.map +1 -0
  93. package/dist/assets/mysql-DDwshQtU.js +7 -0
  94. package/dist/assets/mysql-DDwshQtU.js.map +1 -0
  95. package/dist/assets/objective-c-B5zXfXm9.js +7 -0
  96. package/dist/assets/objective-c-B5zXfXm9.js.map +1 -0
  97. package/dist/assets/pascal-CXOwvkN_.js +7 -0
  98. package/dist/assets/pascal-CXOwvkN_.js.map +1 -0
  99. package/dist/assets/pascaligo-Bc-ZgV77.js +7 -0
  100. package/dist/assets/pascaligo-Bc-ZgV77.js.map +1 -0
  101. package/dist/assets/perl-CwNk8-XU.js +7 -0
  102. package/dist/assets/perl-CwNk8-XU.js.map +1 -0
  103. package/dist/assets/pgsql-tGk8EFnU.js +7 -0
  104. package/dist/assets/pgsql-tGk8EFnU.js.map +1 -0
  105. package/dist/assets/php-CpIb_Oan.js +7 -0
  106. package/dist/assets/php-CpIb_Oan.js.map +1 -0
  107. package/dist/assets/pla-B03wrqEc.js +7 -0
  108. package/dist/assets/pla-B03wrqEc.js.map +1 -0
  109. package/dist/assets/postiats-BKlk5iyT.js +7 -0
  110. package/dist/assets/postiats-BKlk5iyT.js.map +1 -0
  111. package/dist/assets/powerquery-Bhzvs7bI.js +7 -0
  112. package/dist/assets/powerquery-Bhzvs7bI.js.map +1 -0
  113. package/dist/assets/powershell-Dd3NCNK9.js +7 -0
  114. package/dist/assets/powershell-Dd3NCNK9.js.map +1 -0
  115. package/dist/assets/protobuf-COyEY5Pt.js +8 -0
  116. package/dist/assets/protobuf-COyEY5Pt.js.map +1 -0
  117. package/dist/assets/pug-BaJupSGV.js +7 -0
  118. package/dist/assets/pug-BaJupSGV.js.map +1 -0
  119. package/dist/assets/python-BUVyqs3T.js +7 -0
  120. package/dist/assets/python-BUVyqs3T.js.map +1 -0
  121. package/dist/assets/qsharp-DXyYeYxl.js +7 -0
  122. package/dist/assets/qsharp-DXyYeYxl.js.map +1 -0
  123. package/dist/assets/r-CdQndTaG.js +7 -0
  124. package/dist/assets/r-CdQndTaG.js.map +1 -0
  125. package/dist/assets/razor-BggY0r8U.js +7 -0
  126. package/dist/assets/razor-BggY0r8U.js.map +1 -0
  127. package/dist/assets/redis-CVwtpugi.js +7 -0
  128. package/dist/assets/redis-CVwtpugi.js.map +1 -0
  129. package/dist/assets/redshift-25W9uPmb.js +7 -0
  130. package/dist/assets/redshift-25W9uPmb.js.map +1 -0
  131. package/dist/assets/restructuredtext-DfzH4Xui.js +7 -0
  132. package/dist/assets/restructuredtext-DfzH4Xui.js.map +1 -0
  133. package/dist/assets/ruby-Cp1zYvxS.js +7 -0
  134. package/dist/assets/ruby-Cp1zYvxS.js.map +1 -0
  135. package/dist/assets/rust-D5C2fndG.js +7 -0
  136. package/dist/assets/rust-D5C2fndG.js.map +1 -0
  137. package/dist/assets/sb-CDntyWJ8.js +7 -0
  138. package/dist/assets/sb-CDntyWJ8.js.map +1 -0
  139. package/dist/assets/scala-BoFRg7Ot.js +7 -0
  140. package/dist/assets/scala-BoFRg7Ot.js.map +1 -0
  141. package/dist/assets/scheme-Bio4gycK.js +7 -0
  142. package/dist/assets/scheme-Bio4gycK.js.map +1 -0
  143. package/dist/assets/scss-4Ik7cdeQ.js +9 -0
  144. package/dist/assets/scss-4Ik7cdeQ.js.map +1 -0
  145. package/dist/assets/shell-CX-rkNHf.js +7 -0
  146. package/dist/assets/shell-CX-rkNHf.js.map +1 -0
  147. package/dist/assets/solidity-Tw7wswEv.js +7 -0
  148. package/dist/assets/solidity-Tw7wswEv.js.map +1 -0
  149. package/dist/assets/sophia-C5WLch3f.js +7 -0
  150. package/dist/assets/sophia-C5WLch3f.js.map +1 -0
  151. package/dist/assets/sparql-DHaeiCBh.js +7 -0
  152. package/dist/assets/sparql-DHaeiCBh.js.map +1 -0
  153. package/dist/assets/sql-CCSDG5nI.js +7 -0
  154. package/dist/assets/sql-CCSDG5nI.js.map +1 -0
  155. package/dist/assets/st-pnP8ivHi.js +7 -0
  156. package/dist/assets/st-pnP8ivHi.js.map +1 -0
  157. package/dist/assets/swift-DwJ7jVG9.js +9 -0
  158. package/dist/assets/swift-DwJ7jVG9.js.map +1 -0
  159. package/dist/assets/systemverilog-B9Xyijhd.js +7 -0
  160. package/dist/assets/systemverilog-B9Xyijhd.js.map +1 -0
  161. package/dist/assets/tcl-DnHyzjbg.js +7 -0
  162. package/dist/assets/tcl-DnHyzjbg.js.map +1 -0
  163. package/dist/assets/tsMode-CppjmXbV.js +17 -0
  164. package/dist/assets/tsMode-CppjmXbV.js.map +1 -0
  165. package/dist/assets/twig-CPajHgWi.js +7 -0
  166. package/dist/assets/twig-CPajHgWi.js.map +1 -0
  167. package/dist/assets/typescript-HUtlN-9o.js +7 -0
  168. package/dist/assets/typescript-HUtlN-9o.js.map +1 -0
  169. package/dist/assets/typespec-D-MeaMDU.js +7 -0
  170. package/dist/assets/typespec-D-MeaMDU.js.map +1 -0
  171. package/dist/assets/vb-DgyLZaXg.js +7 -0
  172. package/dist/assets/vb-DgyLZaXg.js.map +1 -0
  173. package/dist/assets/wgsl-BIv9DU6q.js +304 -0
  174. package/dist/assets/wgsl-BIv9DU6q.js.map +1 -0
  175. package/dist/assets/xml-CuJO-Cwl.js +7 -0
  176. package/dist/assets/xml-CuJO-Cwl.js.map +1 -0
  177. package/dist/assets/yaml-DrmtVkuL.js +7 -0
  178. package/dist/assets/yaml-DrmtVkuL.js.map +1 -0
  179. package/dist/index.html +13 -0
  180. package/eslint.config.mjs +4 -0
  181. package/index.html +12 -0
  182. package/package.json +25 -0
  183. package/src/JsonView.vue +86 -0
  184. package/src/MainPage.vue +58 -0
  185. package/src/app.ts +13 -0
  186. package/src/main.ts +6 -0
  187. package/src/utils.ts +22 -0
  188. package/tsconfig.app.json +27 -0
  189. package/tsconfig.json +11 -0
  190. package/tsconfig.node.json +13 -0
  191. package/vite.config.ts +11 -0
@@ -0,0 +1,86 @@
1
+ <script lang="ts" generic="T" setup>
2
+ import * as monaco from 'monaco-editor';
3
+ // @ts-expect-error @todo
4
+ import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker';
5
+ import { onMounted, reactive, ref, watchEffect } from 'vue';
6
+ import { notEmpty } from '@milaboratories/helpers';
7
+
8
+ const emit = defineEmits<{
9
+ (e: 'change', value: T): void;
10
+ }>();
11
+
12
+ const props = defineProps<{
13
+ value: T;
14
+ }>();
15
+
16
+ const data = reactive({
17
+ error: '',
18
+ });
19
+
20
+ const raw = {
21
+ editor: undefined as monaco.editor.IStandaloneCodeEditor | undefined,
22
+ };
23
+
24
+ const editorRef = ref<HTMLElement>();
25
+
26
+ const fold = () => raw.editor?.trigger('fold', 'editor.foldAll', 1);
27
+ const unfold = () => raw.editor?.trigger('fold', 'editor.unfoldAll', 1);
28
+
29
+ defineExpose({
30
+ fold,
31
+ unfold,
32
+ });
33
+
34
+ self.MonacoEnvironment = {
35
+ getWorker(workerId, label) {
36
+ switch (label) {
37
+ case 'json':
38
+ return new jsonWorker();
39
+ default:
40
+ throw Error('Not supported');
41
+ }
42
+ },
43
+ };
44
+
45
+ watchEffect(() => {
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
47
+ props.value;
48
+ raw.editor?.getModel()?.setValue(JSON.stringify(props.value, null, 2));
49
+ });
50
+
51
+ onMounted(() => {
52
+ const editor = (raw.editor = monaco.editor.create(notEmpty(editorRef.value), {
53
+ value: '',
54
+ language: 'json',
55
+ automaticLayout: true,
56
+ theme: 'vs-dark',
57
+ readOnly: true,
58
+ }));
59
+
60
+ editor.getModel()?.setValue(JSON.stringify(props.value, null, 2));
61
+
62
+ const getValue = () => {
63
+ try {
64
+ return JSON.parse(editor.getModel()?.getValue() ?? '');
65
+ } catch {
66
+ data.error = 'Invalid json';
67
+ return undefined;
68
+ }
69
+ };
70
+
71
+ editor.getModel()?.onDidChangeContent(() => {
72
+ const value = getValue();
73
+ if (value) {
74
+ data.error = '';
75
+ emit('change', value);
76
+ }
77
+ });
78
+ });
79
+ </script>
80
+
81
+ <template>
82
+ <div style="display: flex; flex-direction: column; flex: 1; height: 100%">
83
+ <div v-if="data.error" class="alert-error">{{ data.error }}</div>
84
+ <div ref="editorRef" style="flex: 1" />
85
+ </div>
86
+ </template>
@@ -0,0 +1,58 @@
1
+ <script setup lang="ts">
2
+ import { PlBlockPage, PlBtnPrimary, PlBtnSecondary, PlCheckbox, PlChip, PlContainer, PlRow, PlSpacer, PlTextField } from '@platforma-sdk/ui-vue';
3
+ import { useApp } from './app';
4
+ import JsonView from './JsonView.vue';
5
+ import { computed, reactive, useTemplateRef } from 'vue';
6
+ import { containsValue } from './utils';
7
+
8
+ const app = useApp();
9
+
10
+ const data = reactive({
11
+ search: '',
12
+ withKeys: false,
13
+ caseSensitive: true,
14
+ });
15
+
16
+ const filtered = computed(() => {
17
+ const { allSpecs } = app.model.outputs;
18
+
19
+ const search = data.search.trim();
20
+
21
+ const { withKeys, caseSensitive } = data;
22
+
23
+ if (!allSpecs) {
24
+ return undefined;
25
+ }
26
+
27
+ const { entries, isComplete } = allSpecs;
28
+
29
+ return {
30
+ entries: search ? entries.filter((it) => containsValue(it, { search, withKeys, caseSensitive })) : entries,
31
+ isComplete,
32
+ };
33
+ });
34
+
35
+ const editor = useTemplateRef('editor');
36
+ </script>
37
+
38
+ <template>
39
+ <PlBlockPage>
40
+ <template #title>
41
+ Pool explorer
42
+ </template>
43
+ <template #append>
44
+ <PlBtnPrimary size="small" :disabled="!editor" @click="editor?.fold()">Fold</PlBtnPrimary>
45
+ <PlBtnSecondary size="small" :disabled="!editor" @click="editor?.unfold()">Unfold</PlBtnSecondary>
46
+ </template>
47
+ <PlRow align-center>
48
+ <PlContainer width="400px">
49
+ <PlTextField v-model="data.search" label="Filter Entries" clearable />
50
+ </PlContainer>
51
+ <PlCheckbox v-model="data.withKeys">With keys</PlCheckbox>
52
+ <PlCheckbox v-model="data.caseSensitive">Case sensitive</PlCheckbox>
53
+ <PlSpacer />
54
+ <PlChip>Total entries: {{ filtered?.entries.length }}</PlChip>
55
+ </PlRow>
56
+ <JsonView v-if="filtered" ref="editor" :value="filtered" />
57
+ </PlBlockPage>
58
+ </template>
package/src/app.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { platforma } from '@milaboratories/milaboratories.pool-explorer.model';
2
+ import MainPage from './MainPage.vue';
3
+ import { defineApp } from '@platforma-sdk/ui-vue';
4
+
5
+ export const sdkPlugin = defineApp(platforma, (base) => {
6
+ return {
7
+ routes: {
8
+ '/': () => MainPage
9
+ }
10
+ };
11
+ });
12
+
13
+ export const useApp = sdkPlugin.useApp;
package/src/main.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { createApp } from 'vue';
2
+ import { sdkPlugin } from './app';
3
+ import '@platforma-sdk/ui-vue/styles';
4
+ import { BlockLayout } from '@platforma-sdk/ui-vue';
5
+
6
+ createApp(BlockLayout).use(sdkPlugin).mount('#app');
package/src/utils.ts ADDED
@@ -0,0 +1,22 @@
1
+ import { isPlainObject } from '@milaboratories/helpers';
2
+
3
+ export function containsValue<T = unknown>(obj: T, options: {
4
+ search: string;
5
+ withKeys: boolean;
6
+ caseSensitive: boolean;
7
+ }): boolean {
8
+ const { search, withKeys, caseSensitive } = options;
9
+
10
+ const matchString = caseSensitive
11
+ ? (k: string) => String(k).includes(search)
12
+ : (k: string) => String(k).toLocaleLowerCase().includes(search.toLocaleLowerCase());
13
+
14
+ if (Array.isArray(obj)) {
15
+ return obj.some((it) => containsValue(it, options));
16
+ } else if (isPlainObject(obj)) {
17
+ const matchKey = withKeys ? matchString : () => false;
18
+ return Object.keys(obj).some((k) => containsValue(obj[k], options) || matchKey(k));
19
+ } else {
20
+ return matchString(String(obj));
21
+ }
22
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
5
+ "target": "ES2020",
6
+ "useDefineForClassFields": true,
7
+ "module": "ESNext",
8
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
9
+ "skipLibCheck": true,
10
+
11
+ /* Bundler mode */
12
+ "moduleResolution": "bundler",
13
+ "allowImportingTsExtensions": true,
14
+ "resolveJsonModule": true,
15
+ "isolatedModules": true,
16
+ "moduleDetection": "force",
17
+ "noEmit": true,
18
+ "jsx": "preserve",
19
+
20
+ /* Linting */
21
+ "strict": true,
22
+ // "noUnusedLocals": true,
23
+ // "noUnusedParameters": true,
24
+ "noFallthroughCasesInSwitch": true
25
+ },
26
+ "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
27
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "files": [],
3
+ "references": [
4
+ {
5
+ "path": "./tsconfig.app.json"
6
+ },
7
+ {
8
+ "path": "./tsconfig.node.json"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
5
+ "skipLibCheck": true,
6
+ "module": "ESNext",
7
+ "moduleResolution": "bundler",
8
+ "allowSyntheticDefaultImports": true,
9
+ "strict": true,
10
+ "noEmit": true
11
+ },
12
+ "include": ["vite.config.ts"]
13
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { defineConfig } from 'vite';
2
+ import vue from '@vitejs/plugin-vue';
3
+
4
+ // https://vitejs.dev/config/
5
+ export default defineConfig({
6
+ plugins: [vue()],
7
+ base: './',
8
+ build: {
9
+ sourcemap: true
10
+ }
11
+ });