@privateaim/client-vue 0.8.7 → 0.8.9

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 (52) hide show
  1. package/dist/components/analysis/FAnalysisBasicForm.vue.d.ts +3 -3
  2. package/dist/components/analysis/FAnalysisBasicForm.vue.d.ts.map +1 -1
  3. package/dist/components/analysis/FAnalysisImageCommandArguments.vue.d.ts +15 -15
  4. package/dist/components/analysis/FAnalysisImageCommandArguments.vue.d.ts.map +1 -1
  5. package/dist/components/analysis/FAnalysisItem.d.ts +0 -17
  6. package/dist/components/analysis/FAnalysisItem.d.ts.map +1 -1
  7. package/dist/components/analysis/FAnalysisItemCard.vue.d.ts +6 -23
  8. package/dist/components/analysis/FAnalysisItemCard.vue.d.ts.map +1 -1
  9. package/dist/components/analysis/wizard/FAnalysisWizard.vue.d.ts +2183 -17
  10. package/dist/components/analysis/wizard/FAnalysisWizard.vue.d.ts.map +1 -1
  11. package/dist/components/analysis/wizard/FAnalysisWizardLockModal.vue.d.ts +1084 -1
  12. package/dist/components/analysis/wizard/FAnalysisWizardLockModal.vue.d.ts.map +1 -1
  13. package/dist/components/analysis/wizard/FAnalysisWizardStepFiles.vue.d.ts +1084 -1
  14. package/dist/components/analysis/wizard/FAnalysisWizardStepFiles.vue.d.ts.map +1 -1
  15. package/dist/components/analysis/wizard/FAnalysisWizardStepImage.vue.d.ts +15 -15
  16. package/dist/components/analysis/wizard/FAnalysisWizardStepImage.vue.d.ts.map +1 -1
  17. package/dist/components/analysis/wizard/FAnalysisWizardStepNodes.vue.d.ts +1084 -1
  18. package/dist/components/analysis/wizard/FAnalysisWizardStepNodes.vue.d.ts.map +1 -1
  19. package/dist/components/analysis-bucket-file/FAnalysisBucketFileManager.vue.d.ts +1084 -1
  20. package/dist/components/analysis-bucket-file/FAnalysisBucketFileManager.vue.d.ts.map +1 -1
  21. package/dist/components/analysis-node/FAnalysisNodeInCard.vue.d.ts.map +1 -1
  22. package/dist/components/analysis-node/FAnalysisNodeManager.vue.d.ts +1084 -1
  23. package/dist/components/analysis-node/FAnalysisNodeManager.vue.d.ts.map +1 -1
  24. package/dist/components/analysis-node/FAnalysisNodes.d.ts.map +1 -1
  25. package/dist/components/analysis-node/FAnalysisNodesProgress.vue.d.ts +0 -17
  26. package/dist/components/analysis-node/FAnalysisNodesProgress.vue.d.ts.map +1 -1
  27. package/dist/components/login/FLoginForm.vue.d.ts +3 -3
  28. package/dist/components/login/FLoginForm.vue.d.ts.map +1 -1
  29. package/dist/components/project/FProjectCreator.vue.d.ts +10 -10
  30. package/dist/components/project/FProjectCreator.vue.d.ts.map +1 -1
  31. package/dist/components/project/FProjectItemCard.vue.d.ts +16 -16
  32. package/dist/components/project/FProjectItemCard.vue.d.ts.map +1 -1
  33. package/dist/components/project-node/FProjectNodeInCard.vue.d.ts +1084 -1
  34. package/dist/components/project-node/FProjectNodeInCard.vue.d.ts.map +1 -1
  35. package/dist/components/project-node/FProjectNodes.d.ts.map +1 -1
  36. package/dist/components/utility/form-input-list/FFormInputList.vue.d.ts +3 -3
  37. package/dist/components/utility/form-input-list/FFormInputList.vue.d.ts.map +1 -1
  38. package/dist/components/utility/form-input-list/FFormInputListItem.vue.d.ts +3 -3
  39. package/dist/components/utility/form-input-list/FFormInputListItem.vue.d.ts.map +1 -1
  40. package/dist/core/entity-socket/module.d.ts.map +1 -1
  41. package/dist/core/entity-socket/type.d.ts +6 -5
  42. package/dist/core/entity-socket/type.d.ts.map +1 -1
  43. package/dist/core/http-client/setup.d.ts.map +1 -1
  44. package/dist/core/list/utils/handlers.d.ts.map +1 -1
  45. package/dist/index.cjs +226 -234
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.css +49 -0
  48. package/dist/index.mjs +229 -237
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/type.d.ts +1 -0
  51. package/dist/type.d.ts.map +1 -1
  52. package/package.json +28 -28
package/dist/index.cjs CHANGED
@@ -10,13 +10,12 @@ var useVuelidate = require('@vuelidate/core');
10
10
  var validators = require('@vuelidate/validators');
11
11
  var formControls = require('@vuecs/form-controls');
12
12
  var coreKit = require('@privateaim/core-kit');
13
+ var coreKit$1 = require('@authup/core-kit');
13
14
  var crypto$1 = require('crypto');
14
15
  var listControls = require('@vuecs/list-controls');
15
16
  var rapiq = require('rapiq');
16
17
  require('@authup/kit');
17
- var coreHttpKit = require('@authup/core-http-kit');
18
18
  var storageKit = require('@privateaim/storage-kit');
19
- var coreKit$1 = require('@authup/core-kit');
20
19
  var coreRealtimeKit = require('@authup/core-realtime-kit');
21
20
  var timeago = require('@vuecs/timeago');
22
21
  var link = require('@vuecs/link');
@@ -808,9 +807,6 @@ class CryptoAsymmetricAlgorithm {
808
807
  function hasOwnProperty(obj, prop) {
809
808
  return Object.prototype.hasOwnProperty.call(obj, prop);
810
809
  }
811
- function isObject$3(item) {
812
- return !!item && typeof item === 'object' && !Array.isArray(item);
813
- }
814
810
  /*
815
811
  * Copyright (c) 2021-2024.
816
812
  * Author Peter Placzek (tada5hi)
@@ -829,6 +825,14 @@ function hexToUTF8(value) {
829
825
  throw e;
830
826
  }
831
827
  }
828
+ /*
829
+ * Copyright (c) 2025.
830
+ * Author Peter Placzek (tada5hi)
831
+ * For the full copyright and license information,
832
+ * view the LICENSE file that was distributed with this source code.
833
+ */ function isObject$3(item) {
834
+ return !!item && typeof item === 'object' && !Array.isArray(item);
835
+ }
832
836
  function createNanoID(alphabetOrLen, len) {
833
837
  return customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', 21)();
834
838
  }
@@ -838,6 +842,15 @@ function createNanoID(alphabetOrLen, len) {
838
842
  * For the full copyright and license information,
839
843
  * view the LICENSE file that was distributed with this source code.
840
844
  */ const alphaNumHyphenUnderscoreRegex = /^[a-z0-9-_]*$/;
845
+ /*
846
+ * Copyright (c) 2025.
847
+ * Author Peter Placzek (tada5hi)
848
+ * For the full copyright and license information,
849
+ * view the LICENSE file that was distributed with this source code.
850
+ */ function buildDomainEventFullName(type, event) {
851
+ const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);
852
+ return type + eventCapitalized;
853
+ }
841
854
 
842
855
  /**
843
856
  * Returns true if either scoped or unscoped named slot exists
@@ -1149,7 +1162,7 @@ function decodeQueryValue(text) {
1149
1162
  return decode(text.replace(PLUS_RE, " "));
1150
1163
  }
1151
1164
  function parseQuery(parametersString = "") {
1152
- const object = {};
1165
+ const object = /* @__PURE__ */ Object.create(null);
1153
1166
  if (parametersString[0] === "?") {
1154
1167
  parametersString = parametersString.slice(1);
1155
1168
  }
@@ -3534,43 +3547,8 @@ class Client extends Client$1 {
3534
3547
  }
3535
3548
 
3536
3549
  function setupBaseHTTPClient(app, client) {
3537
- const storeCreator = clientWebKit.injectStoreFactory(app);
3538
- const store = storeCreator();
3539
- const { refreshToken } = clientWebKit.storeToRefs(store);
3540
- const authupClient = clientWebKit.injectHTTPClient(app);
3541
- const tokenHook = new coreHttpKit.ClientResponseErrorTokenHook(client, {
3542
- baseURL: authupClient.getBaseURL(),
3543
- tokenCreator: ()=>{
3544
- if (!refreshToken.value) {
3545
- throw new Error('No refresh token available.');
3546
- }
3547
- return authupClient.token.createWithRefreshToken({
3548
- refresh_token: refreshToken.value
3549
- });
3550
- },
3551
- tokenCreated: (response)=>{
3552
- store.applyTokenGrantResponse(response);
3553
- },
3554
- tokenFailed: ()=>{
3555
- store.logout();
3556
- },
3557
- timer: false
3558
- });
3559
- const handleAccessTokenEvent = (token)=>{
3560
- if (token) {
3561
- client.setAuthorizationHeader({
3562
- type: 'Bearer',
3563
- token
3564
- });
3565
- tokenHook.mount();
3566
- } else {
3567
- client.unsetAuthorizationHeader();
3568
- tokenHook.unmount();
3569
- }
3570
- };
3571
- const dispatcher = clientWebKit.injectStoreDispatcher(app);
3572
- dispatcher.on(clientWebKit.StoreDispatcherEventName.ACCESS_TOKEN_UPDATED, (token)=>handleAccessTokenEvent(token));
3573
- handleAccessTokenEvent(store.accessToken);
3550
+ const hook = clientWebKit.injectHTTPClientAuthenticationHook(app);
3551
+ hook.attach(client);
3574
3552
  }
3575
3553
 
3576
3554
  const symbol$1 = Symbol.for('FCoreHTTPClient');
@@ -3661,8 +3639,8 @@ function installSocketManager(app, options) {
3661
3639
  function createEntitySocket(ctx) {
3662
3640
  if (!isSocketManagerUsable()) {
3663
3641
  return {
3664
- mount () {},
3665
- unmount () {}
3642
+ subscribe () {},
3643
+ unsubscribe () {}
3666
3644
  };
3667
3645
  }
3668
3646
  const socketManager = injectSocketManager();
@@ -3719,65 +3697,88 @@ function createEntitySocket(ctx) {
3719
3697
  ctx.onDeleted(event.data);
3720
3698
  }
3721
3699
  };
3722
- let mounted = false;
3723
- const mount = async ()=>{
3724
- if (ctx.target && !targetId.value || mounted) {
3700
+ let emitEventRetryCount = 0;
3701
+ const emitEvent = async (socket, event)=>{
3702
+ try {
3703
+ await socket.emitWithAck(event, targetId.value, (err)=>{
3704
+ console.log(err);
3705
+ // todo: handle error!
3706
+ });
3707
+ } catch (e) {
3708
+ if (emitEventRetryCount > 3) {
3709
+ throw e;
3710
+ }
3711
+ emitEventRetryCount += 1;
3712
+ await new Promise((resolve)=>{
3713
+ setTimeout(resolve, 0);
3714
+ });
3715
+ await emitEvent(socket, event);
3716
+ }
3717
+ };
3718
+ let isActive = false;
3719
+ const subscribe = async ()=>{
3720
+ if (ctx.target && !targetId.value || isActive) {
3725
3721
  return;
3726
3722
  }
3727
- mounted = true;
3723
+ isActive = true;
3728
3724
  const socket = await socketManager.connect(coreKit.buildDomainNamespaceName(realmId.value));
3729
3725
  let event;
3730
3726
  if (ctx.buildSubscribeEventName) {
3731
3727
  event = ctx.buildSubscribeEventName();
3732
3728
  } else {
3733
- event = coreKit.buildDomainEventSubscriptionFullName(ctx.type, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
3729
+ event = buildDomainEventFullName(ctx.type, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
3734
3730
  }
3735
- socket.emit(event, targetId.value, ()=>{
3736
- // todo: handle error!
3737
- });
3738
3731
  if (ctx.onCreated) {
3739
- socket.on(coreKit.buildDomainEventFullName(ctx.type, coreKit$1.DomainEventName.CREATED), handleCreated);
3732
+ socket.on(buildDomainEventFullName(ctx.type, coreKit$1.EntityDefaultEventName.CREATED), handleCreated);
3740
3733
  }
3741
3734
  if (ctx.onUpdated) {
3742
- socket.on(coreKit.buildDomainEventFullName(ctx.type, coreKit$1.DomainEventName.UPDATED), handleUpdated);
3735
+ socket.on(buildDomainEventFullName(ctx.type, coreKit$1.EntityDefaultEventName.UPDATED), handleUpdated);
3743
3736
  }
3744
3737
  if (ctx.onDeleted) {
3745
- socket.on(coreKit.buildDomainEventFullName(ctx.type, coreKit$1.DomainEventName.DELETED), handleDeleted);
3738
+ socket.on(buildDomainEventFullName(ctx.type, coreKit$1.EntityDefaultEventName.DELETED), handleDeleted);
3746
3739
  }
3740
+ await emitEvent(socket, event);
3747
3741
  };
3748
- const unmount = async ()=>{
3749
- if (ctx.target && !targetId.value || !mounted) {
3742
+ const unsubscribe = async ()=>{
3743
+ if (ctx.target && !targetId.value || !isActive) {
3750
3744
  return;
3751
3745
  }
3752
- mounted = false;
3746
+ isActive = false;
3753
3747
  const socket = await socketManager.connect(coreKit.buildDomainNamespaceName(realmId.value));
3754
3748
  let event;
3755
3749
  if (ctx.buildUnsubscribeEventName) {
3756
3750
  event = ctx.buildUnsubscribeEventName();
3757
3751
  } else {
3758
- event = coreKit.buildDomainEventSubscriptionFullName(ctx.type, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
3752
+ event = buildDomainEventFullName(ctx.type, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
3759
3753
  }
3760
- socket.emit(event, targetId.value);
3761
3754
  if (ctx.onCreated) {
3762
- socket.off(coreKit.buildDomainEventFullName(ctx.type, coreKit$1.DomainEventName.UPDATED), handleCreated);
3755
+ socket.off(buildDomainEventFullName(ctx.type, coreKit$1.EntityDefaultEventName.UPDATED), handleCreated);
3763
3756
  }
3764
3757
  if (ctx.onUpdated) {
3765
- socket.off(coreKit.buildDomainEventFullName(ctx.type, coreKit$1.DomainEventName.UPDATED), handleUpdated);
3758
+ socket.off(buildDomainEventFullName(ctx.type, coreKit$1.EntityDefaultEventName.UPDATED), handleUpdated);
3766
3759
  }
3767
3760
  if (ctx.onDeleted) {
3768
- socket.off(coreKit.buildDomainEventFullName(ctx.type, coreKit$1.DomainEventName.DELETED), handleDeleted);
3761
+ socket.off(buildDomainEventFullName(ctx.type, coreKit$1.EntityDefaultEventName.DELETED), handleDeleted);
3769
3762
  }
3763
+ await emitEvent(socket, event);
3770
3764
  };
3771
- vue.onMounted(()=>mount());
3772
- vue.onUnmounted(()=>unmount());
3765
+ let isMounted = false;
3766
+ vue.onMounted(()=>{
3767
+ isMounted = true;
3768
+ return subscribe();
3769
+ });
3770
+ vue.onUnmounted(()=>{
3771
+ isMounted = false;
3772
+ return unsubscribe();
3773
+ });
3773
3774
  vue.watch(targetId, (val, oldValue)=>{
3774
- if (val !== oldValue) {
3775
- Promise.resolve().then(()=>unmount()).then(()=>mount());
3775
+ if (val !== oldValue && isMounted) {
3776
+ Promise.resolve().then(()=>unsubscribe()).then(()=>subscribe());
3776
3777
  }
3777
3778
  });
3778
3779
  return {
3779
- mount,
3780
- unmount
3780
+ subscribe,
3781
+ unsubscribe
3781
3782
  };
3782
3783
  }
3783
3784
 
@@ -4243,7 +4244,7 @@ function createEntityManager(ctx) {
4243
4244
  if (ctx.props.entity) {
4244
4245
  entity.value = ctx.props.entity;
4245
4246
  if (socket) {
4246
- socket.mount();
4247
+ socket.subscribe();
4247
4248
  }
4248
4249
  resolved(entity.value);
4249
4250
  return true;
@@ -4257,10 +4258,10 @@ function createEntityManager(ctx) {
4257
4258
  entity.value = propEntityRef.value;
4258
4259
  if (val) {
4259
4260
  if (socket) {
4260
- socket.mount();
4261
+ socket.subscribe();
4261
4262
  }
4262
4263
  } else if (socket) {
4263
- socket.unmount();
4264
+ socket.unsubscribe();
4264
4265
  }
4265
4266
  });
4266
4267
  }
@@ -4281,7 +4282,7 @@ function createEntityManager(ctx) {
4281
4282
  if (ctx.props.entity) {
4282
4283
  entity.value = ctx.props.entity;
4283
4284
  if (socket) {
4284
- socket.mount();
4285
+ socket.subscribe();
4285
4286
  }
4286
4287
  resolved(entity.value);
4287
4288
  return;
@@ -4309,7 +4310,7 @@ function createEntityManager(ctx) {
4309
4310
  try {
4310
4311
  entity.value = await domainAPI.getOne(id, query);
4311
4312
  if (socket) {
4312
- socket.mount();
4313
+ socket.subscribe();
4313
4314
  }
4314
4315
  resolved(entity.value);
4315
4316
  return;
@@ -4330,7 +4331,7 @@ function createEntityManager(ctx) {
4330
4331
  if (response.data.length === 1) {
4331
4332
  [entity.value] = response.data;
4332
4333
  if (socket) {
4333
- socket.mount();
4334
+ socket.subscribe();
4334
4335
  }
4335
4336
  }
4336
4337
  resolved(entity.value);
@@ -5489,7 +5490,7 @@ const _hoisted_3$g = {
5489
5490
  const _hoisted_4$g = {
5490
5491
  class: "ms-auto"
5491
5492
  };
5492
- const _hoisted_5$b = [
5493
+ const _hoisted_5$c = [
5493
5494
  "disabled"
5494
5495
  ];
5495
5496
  const _hoisted_6$b = {
@@ -5525,7 +5526,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
5525
5526
  vue.createVNode(_component_FTranslationDefault, {
5526
5527
  name: "add"
5527
5528
  })
5528
- ], 8, _hoisted_5$b)
5529
+ ], 8, _hoisted_5$c)
5529
5530
  ])
5530
5531
  ])
5531
5532
  ]),
@@ -5951,20 +5952,20 @@ var FProjectNodes = vue.defineComponent({
5951
5952
  buildSubscribeEventName () {
5952
5953
  if (props.realmId) {
5953
5954
  if (props.direction === "in") {
5954
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.PROJECT_NODE_IN, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
5955
+ return buildDomainEventFullName(coreKit.DomainSubType.PROJECT_NODE_IN, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
5955
5956
  }
5956
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.PROJECT_NODE_OUT, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
5957
+ return buildDomainEventFullName(coreKit.DomainSubType.PROJECT_NODE_OUT, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
5957
5958
  }
5958
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainType.PROJECT_NODE, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
5959
+ return buildDomainEventFullName(coreKit.DomainType.PROJECT_NODE, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
5959
5960
  },
5960
5961
  buildUnsubscribeEventName () {
5961
5962
  if (props.realmId) {
5962
5963
  if (props.direction === "in") {
5963
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.PROJECT_NODE_IN, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
5964
+ return buildDomainEventFullName(coreKit.DomainSubType.PROJECT_NODE_IN, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
5964
5965
  }
5965
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.PROJECT_NODE_OUT, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
5966
+ return buildDomainEventFullName(coreKit.DomainSubType.PROJECT_NODE_OUT, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
5966
5967
  }
5967
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainType.PROJECT_NODE, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
5968
+ return buildDomainEventFullName(coreKit.DomainType.PROJECT_NODE, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
5968
5969
  }
5969
5970
  },
5970
5971
  queryFilters: (filters)=>{
@@ -6210,7 +6211,7 @@ const _hoisted_3$f = {
6210
6211
  const _hoisted_4$f = {
6211
6212
  class: "ms-auto d-flex flex-row gap-1"
6212
6213
  };
6213
- const _hoisted_5$a = {
6214
+ const _hoisted_5$b = {
6214
6215
  class: "row"
6215
6216
  };
6216
6217
  const _hoisted_6$a = {
@@ -6324,7 +6325,7 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
6324
6325
  vue.renderSlot(_ctx.$slots, "body", {
6325
6326
  data: _ctx.entity
6326
6327
  }, ()=>[
6327
- vue.createElementVNode("div", _hoisted_5$a, [
6328
+ vue.createElementVNode("div", _hoisted_5$b, [
6328
6329
  vue.createElementVNode("div", _hoisted_6$a, [
6329
6330
  _cache[5] || (_cache[5] = vue.createElementVNode("div", null, [
6330
6331
  vue.createElementVNode("strong", null, [
@@ -6765,7 +6766,7 @@ const _hoisted_3$e = {
6765
6766
  const _hoisted_4$e = {
6766
6767
  class: "ms-auto"
6767
6768
  };
6768
- const _hoisted_5$9 = {
6769
+ const _hoisted_5$a = {
6769
6770
  class: "d-flex justify-content-between flex-row"
6770
6771
  };
6771
6772
  const _hoisted_6$9 = {
@@ -6853,7 +6854,7 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
6853
6854
  vue.renderSlot(_ctx.$slots, "body", {
6854
6855
  data: _ctx.entity
6855
6856
  }, ()=>[
6856
- vue.createElementVNode("div", _hoisted_5$9, [
6857
+ vue.createElementVNode("div", _hoisted_5$a, [
6857
6858
  vue.createElementVNode("div", _hoisted_6$9, [
6858
6859
  _cache[2] || (_cache[2] = vue.createElementVNode("div", null, [
6859
6860
  vue.createElementVNode("strong", null, [
@@ -8016,7 +8017,7 @@ function createSingletonPromise(fn) {
8016
8017
  }
8017
8018
  wrapper.reset = async ()=>{
8018
8019
  const _prev = _promise;
8019
- _promise = undefined;
8020
+ _promise = void 0;
8020
8021
  if (_prev) await _prev;
8021
8022
  };
8022
8023
  return wrapper;
@@ -8027,8 +8028,8 @@ function toArray(value) {
8027
8028
  ];
8028
8029
  }
8029
8030
  function useTimeoutFn(cb, interval, options = {}) {
8030
- const { immediate = true } = options;
8031
- const isPending = vue.ref(false);
8031
+ const { immediate = true, immediateCallback = false } = options;
8032
+ const isPending = vue.shallowRef(false);
8032
8033
  let timer = null;
8033
8034
  function clear() {
8034
8035
  if (timer) {
@@ -8041,6 +8042,7 @@ function useTimeoutFn(cb, interval, options = {}) {
8041
8042
  clear();
8042
8043
  }
8043
8044
  function start(...args) {
8045
+ if (immediateCallback) cb();
8044
8046
  clear();
8045
8047
  isPending.value = true;
8046
8048
  timer = setTimeout(()=>{
@@ -8055,7 +8057,7 @@ function useTimeoutFn(cb, interval, options = {}) {
8055
8057
  }
8056
8058
  tryOnScopeDispose(stop);
8057
8059
  return {
8058
- isPending: vue.readonly(isPending),
8060
+ isPending: vue.shallowReadonly(isPending),
8059
8061
  start,
8060
8062
  stop
8061
8063
  };
@@ -8067,12 +8069,12 @@ function watchImmediate(source, cb, options) {
8067
8069
  });
8068
8070
  }
8069
8071
 
8070
- const defaultWindow = isClient ? window : undefined;
8071
- const defaultNavigator = isClient ? window.navigator : undefined;
8072
+ const defaultWindow = isClient ? window : void 0;
8073
+ const defaultNavigator = isClient ? window.navigator : void 0;
8072
8074
  function unrefElement(elRef) {
8073
8075
  var _a;
8074
8076
  const plain = vue.toValue(elRef);
8075
- return (_a = plain == null ? undefined : plain.$el) != null ? _a : plain;
8077
+ return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
8076
8078
  }
8077
8079
  function useEventListener(...args) {
8078
8080
  const cleanups = [];
@@ -8086,12 +8088,12 @@ function useEventListener(...args) {
8086
8088
  };
8087
8089
  const firstParamTargets = vue.computed(()=>{
8088
8090
  const test = toArray(vue.toValue(args[0])).filter((e)=>e != null);
8089
- return test.every((e)=>typeof e !== "string") ? test : undefined;
8091
+ return test.every((e)=>typeof e !== "string") ? test : void 0;
8090
8092
  });
8091
8093
  const stopWatch = watchImmediate(()=>{
8092
8094
  var _a, _b;
8093
8095
  return [
8094
- (_b = (_a = firstParamTargets.value) == null ? undefined : _a.map((e)=>unrefElement(e))) != null ? _b : [
8096
+ (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e)=>unrefElement(e))) != null ? _b : [
8095
8097
  defaultWindow
8096
8098
  ].filter((e)=>e != null),
8097
8099
  toArray(vue.toValue(firstParamTargets.value ? args[1] : args[0])),
@@ -8101,7 +8103,7 @@ function useEventListener(...args) {
8101
8103
  ];
8102
8104
  }, ([raw_targets, raw_events, raw_listeners, raw_options])=>{
8103
8105
  cleanup();
8104
- if (!(raw_targets == null ? undefined : raw_targets.length) || !(raw_events == null ? undefined : raw_events.length) || !(raw_listeners == null ? undefined : raw_listeners.length)) return;
8106
+ if (!(raw_targets == null ? void 0 : raw_targets.length) || !(raw_events == null ? void 0 : raw_events.length) || !(raw_listeners == null ? void 0 : raw_listeners.length)) return;
8105
8107
  const optionsClone = isObject(raw_options) ? {
8106
8108
  ...raw_options
8107
8109
  } : raw_options;
@@ -8117,7 +8119,7 @@ function useEventListener(...args) {
8117
8119
  return stop;
8118
8120
  }
8119
8121
  function useMounted() {
8120
- const isMounted = vue.ref(false);
8122
+ const isMounted = vue.shallowRef(false);
8121
8123
  const instance = vue.getCurrentInstance();
8122
8124
  if (instance) {
8123
8125
  vue.onMounted(()=>{
@@ -8143,7 +8145,7 @@ function usePermission(permissionDesc, options = {}) {
8143
8145
  const state = vue.shallowRef();
8144
8146
  const update = ()=>{
8145
8147
  var _a, _b;
8146
- state.value = (_b = (_a = permissionStatus.value) == null ? undefined : _a.state) != null ? _b : "prompt";
8148
+ state.value = (_b = (_a = permissionStatus.value) == null ? void 0 : _a.state) != null ? _b : "prompt";
8147
8149
  };
8148
8150
  useEventListener(permissionStatus, "change", update, {
8149
8151
  passive: true
@@ -8154,7 +8156,7 @@ function usePermission(permissionDesc, options = {}) {
8154
8156
  try {
8155
8157
  permissionStatus.value = await navigator1.permissions.query(desc);
8156
8158
  } catch (e) {
8157
- permissionStatus.value = undefined;
8159
+ permissionStatus.value = void 0;
8158
8160
  } finally{
8159
8161
  update();
8160
8162
  }
@@ -8178,18 +8180,16 @@ function useClipboard(options = {}) {
8178
8180
  const permissionRead = usePermission("clipboard-read");
8179
8181
  const permissionWrite = usePermission("clipboard-write");
8180
8182
  const isSupported = vue.computed(()=>isClipboardApiSupported.value || legacy);
8181
- const text = vue.ref("");
8182
- const copied = vue.ref(false);
8183
+ const text = vue.shallowRef("");
8184
+ const copied = vue.shallowRef(false);
8183
8185
  const timeout = useTimeoutFn(()=>copied.value = false, copiedDuring, {
8184
8186
  immediate: false
8185
8187
  });
8186
- function updateText() {
8188
+ async function updateText() {
8187
8189
  let useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionRead.value));
8188
8190
  if (!useLegacy) {
8189
8191
  try {
8190
- navigator1.clipboard.readText().then((value)=>{
8191
- text.value = value;
8192
- });
8192
+ text.value = await navigator1.clipboard.readText();
8193
8193
  } catch (e) {
8194
8194
  useLegacy = true;
8195
8195
  }
@@ -8232,7 +8232,7 @@ function useClipboard(options = {}) {
8232
8232
  }
8233
8233
  function legacyRead() {
8234
8234
  var _a, _b, _c;
8235
- return (_c = (_b = (_a = document == null ? undefined : document.getSelection) == null ? undefined : _a.call(document)) == null ? undefined : _b.toString()) != null ? _c : "";
8235
+ return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : "";
8236
8236
  }
8237
8237
  function isAllowed(status) {
8238
8238
  return status === "granted" || status === "prompt";
@@ -8366,7 +8366,7 @@ const _hoisted_3$d = {
8366
8366
  const _hoisted_4$d = {
8367
8367
  class: "d-flex flex-row"
8368
8368
  };
8369
- const _hoisted_5$8 = {
8369
+ const _hoisted_5$9 = {
8370
8370
  class: "ms-auto"
8371
8371
  };
8372
8372
  const _hoisted_6$8 = {
@@ -8407,7 +8407,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
8407
8407
  label: vue.withCtx(()=>[
8408
8408
  vue.createElementVNode("div", _hoisted_4$d, [
8409
8409
  _cache[8] || (_cache[8] = vue.createElementVNode("div", null, " PublicKey ", -1)),
8410
- vue.createElementVNode("div", _hoisted_5$8, [
8410
+ vue.createElementVNode("div", _hoisted_5$9, [
8411
8411
  vue.withDirectives(vue.createElementVNode("button", {
8412
8412
  type: "button",
8413
8413
  class: "btn btn-xs btn-dark",
@@ -8759,8 +8759,8 @@ var FAnalysisNodes = vue.defineComponent({
8759
8759
  default: `${"out"}`
8760
8760
  }
8761
8761
  },
8762
- slots: Object,
8763
8762
  emits: defineListEvents(),
8763
+ slots: Object,
8764
8764
  async setup (props, ctx) {
8765
8765
  const source = vue.computed(()=>props.target === coreKit.DomainType.NODE ? coreKit.DomainType.ANALYSIS : coreKit.DomainType.NODE);
8766
8766
  const isSameSocketRoom = (room)=>{
@@ -8802,20 +8802,20 @@ var FAnalysisNodes = vue.defineComponent({
8802
8802
  buildSubscribeEventName () {
8803
8803
  if (props.realmId) {
8804
8804
  if (props.direction === "in") {
8805
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.ANALYSIS_NODE_IN, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
8805
+ return buildDomainEventFullName(coreKit.DomainSubType.ANALYSIS_NODE_IN, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
8806
8806
  }
8807
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.ANALYSIS_NODE_OUT, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
8807
+ return buildDomainEventFullName(coreKit.DomainSubType.ANALYSIS_NODE_OUT, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
8808
8808
  }
8809
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainType.ANALYSIS_NODE, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
8809
+ return buildDomainEventFullName(coreKit.DomainType.ANALYSIS_NODE, coreKit.DomainEventSubscriptionName.SUBSCRIBE);
8810
8810
  },
8811
8811
  buildUnsubscribeEventName () {
8812
8812
  if (props.realmId) {
8813
8813
  if (props.direction === "in") {
8814
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.ANALYSIS_NODE_IN, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
8814
+ return buildDomainEventFullName(coreKit.DomainSubType.ANALYSIS_NODE_IN, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
8815
8815
  }
8816
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainSubType.ANALYSIS_NODE_OUT, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
8816
+ return buildDomainEventFullName(coreKit.DomainSubType.ANALYSIS_NODE_OUT, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
8817
8817
  }
8818
- return coreKit.buildDomainEventSubscriptionFullName(coreKit.DomainType.ANALYSIS_NODE, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
8818
+ return buildDomainEventFullName(coreKit.DomainType.ANALYSIS_NODE, coreKit.DomainEventSubscriptionName.UNSUBSCRIBE);
8819
8819
  }
8820
8820
  },
8821
8821
  queryFilters: (filters)=>{
@@ -9069,7 +9069,7 @@ const _hoisted_3$c = {
9069
9069
  const _hoisted_4$c = {
9070
9070
  class: "ms-auto"
9071
9071
  };
9072
- const _hoisted_5$7 = [
9072
+ const _hoisted_5$8 = [
9073
9073
  "disabled",
9074
9074
  "onClick"
9075
9075
  ];
@@ -9156,7 +9156,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
9156
9156
  vue.createElementVNode("i", {
9157
9157
  class: "fa fa-trash"
9158
9158
  }, null, -1)
9159
- ]), 8, _hoisted_5$7)
9159
+ ]), 8, _hoisted_5$8)
9160
9160
  ])
9161
9161
  ])
9162
9162
  ]),
@@ -9697,7 +9697,7 @@ const _hoisted_4$a = [
9697
9697
  "disabled",
9698
9698
  "onClick"
9699
9699
  ];
9700
- const _hoisted_5$6 = {
9700
+ const _hoisted_5$7 = {
9701
9701
  class: "col"
9702
9702
  };
9703
9703
  const _hoisted_6$6 = [
@@ -9756,7 +9756,7 @@ function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
9756
9756
  "onChanged"
9757
9757
  ])
9758
9758
  ]),
9759
- vue.createElementVNode("div", _hoisted_5$6, [
9759
+ vue.createElementVNode("div", _hoisted_5$7, [
9760
9760
  vue.createVNode(_component_FFormInputList, {
9761
9761
  ref: "itemsAfterVNode",
9762
9762
  names: _ctx.itemsAfter,
@@ -10265,7 +10265,7 @@ const _hoisted_4$7 = [
10265
10265
  "webkitdirectory",
10266
10266
  "disbaled"
10267
10267
  ];
10268
- const _hoisted_5$5 = {
10268
+ const _hoisted_5$6 = {
10269
10269
  class: "form-group mb-0"
10270
10270
  };
10271
10271
  const _hoisted_6$5 = {
@@ -10301,7 +10301,7 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
10301
10301
  onChange: _cache[0] || (_cache[0] = (...args)=>_ctx.checkTempFiles && _ctx.checkTempFiles(...args))
10302
10302
  }, null, 40, _hoisted_4$7)
10303
10303
  ]),
10304
- vue.createElementVNode("div", _hoisted_5$5, [
10304
+ vue.createElementVNode("div", _hoisted_5$6, [
10305
10305
  vue.createElementVNode("div", _hoisted_6$5, [
10306
10306
  vue.withDirectives(vue.createElementVNode("input", {
10307
10307
  id: "train-file-manager-switch",
@@ -10535,7 +10535,7 @@ const _hoisted_3$6 = {
10535
10535
  const _hoisted_4$6 = {
10536
10536
  class: "form-group"
10537
10537
  };
10538
- const _hoisted_5$4 = [
10538
+ const _hoisted_5$5 = [
10539
10539
  "disabled"
10540
10540
  ];
10541
10541
  const _hoisted_6$4 = {
@@ -10661,7 +10661,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
10661
10661
  class: "fa fa-trash"
10662
10662
  }, null, -1),
10663
10663
  vue.createTextVNode(" Delete ")
10664
- ]), 8, _hoisted_5$4)
10664
+ ]), 8, _hoisted_5$5)
10665
10665
  ])
10666
10666
  ]),
10667
10667
  vue.createElementVNode("div", null, [
@@ -10946,7 +10946,7 @@ const _hoisted_3$4 = {
10946
10946
  const _hoisted_4$4 = [
10947
10947
  "for"
10948
10948
  ];
10949
- const _hoisted_5$3 = {
10949
+ const _hoisted_5$4 = {
10950
10950
  class: "d-flex flex-row",
10951
10951
  style: {
10952
10952
  "width": "100%"
@@ -11044,7 +11044,7 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
11044
11044
  ])
11045
11045
  ]),
11046
11046
  footer: vue.withCtx((props)=>[
11047
- vue.createElementVNode("div", _hoisted_5$3, [
11047
+ vue.createElementVNode("div", _hoisted_5$4, [
11048
11048
  vue.createElementVNode("div", null, [
11049
11049
  vue.createElementVNode("button", {
11050
11050
  disabled: _ctx.isBusy,
@@ -11106,6 +11106,33 @@ var _sfc_main$7 = vue.defineComponent({
11106
11106
  const { confirm } = bootstrapVueNext.useModalController();
11107
11107
  const apiClient = injectCoreHTTPClient();
11108
11108
  const entity = vue.toRef(props, 'entity');
11109
+ const form = vue.reactive({
11110
+ query: null,
11111
+ master_image_id: null,
11112
+ files: [],
11113
+ hash_signed: '',
11114
+ hash: null
11115
+ });
11116
+ const updateForm = (entity)=>{
11117
+ initFormAttributesFromSource(form, entity);
11118
+ };
11119
+ updateForm(entity.value);
11120
+ const isBusy = vue.ref(false);
11121
+ const initialized = vue.ref(false);
11122
+ const valid = vue.ref(false);
11123
+ const startIndex = vue.ref(0);
11124
+ const index = vue.ref(0);
11125
+ const steps = [
11126
+ coreKit.AnalysisConfigurationStatus.NODES,
11127
+ coreKit.AnalysisConfigurationStatus.FILES,
11128
+ coreKit.AnalysisConfigurationStatus.MASTER_IMAGE
11129
+ ];
11130
+ const updatedAt = vue.computed(()=>entity.value ? entity.value.updated_at : undefined);
11131
+ vue.watch(updatedAt, (val, oldValue)=>{
11132
+ if (val && val !== oldValue) {
11133
+ updateForm(entity.value);
11134
+ }
11135
+ });
11109
11136
  const entrypointFile = vue.ref(null);
11110
11137
  const masterImage = vue.ref(null);
11111
11138
  const resolveRelations = async ()=>{
@@ -11136,33 +11163,6 @@ var _sfc_main$7 = vue.defineComponent({
11136
11163
  }
11137
11164
  };
11138
11165
  await resolveRelations();
11139
- const form = vue.reactive({
11140
- query: null,
11141
- master_image_id: null,
11142
- files: [],
11143
- hash_signed: '',
11144
- hash: null
11145
- });
11146
- const updateForm = (entity)=>{
11147
- initFormAttributesFromSource(form, entity);
11148
- };
11149
- updateForm(entity.value);
11150
- const isBusy = vue.ref(false);
11151
- const initialized = vue.ref(false);
11152
- const valid = vue.ref(false);
11153
- const startIndex = vue.ref(0);
11154
- const index = vue.ref(0);
11155
- const steps = [
11156
- coreKit.AnalysisConfigurationStatus.NODES,
11157
- coreKit.AnalysisConfigurationStatus.FILES,
11158
- coreKit.AnalysisConfigurationStatus.MASTER_IMAGE
11159
- ];
11160
- const updatedAt = vue.computed(()=>entity.value ? entity.value.updated_at : undefined);
11161
- vue.watch(updatedAt, (val, oldValue)=>{
11162
- if (val && val !== oldValue) {
11163
- updateForm(entity.value);
11164
- }
11165
- });
11166
11166
  const handleUpdated = (entity)=>{
11167
11167
  updateForm(entity);
11168
11168
  emit('updated', entity);
@@ -11562,7 +11562,7 @@ const _hoisted_4$3 = {
11562
11562
  key: 0,
11563
11563
  class: "col"
11564
11564
  };
11565
- const _hoisted_5$2 = [
11565
+ const _hoisted_5$3 = [
11566
11566
  "disabled",
11567
11567
  "onClick"
11568
11568
  ];
@@ -11695,7 +11695,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
11695
11695
  "fa fa-minus": _ctx.form.project_id === props.data.id
11696
11696
  })
11697
11697
  }, null, 2)
11698
- ], 10, _hoisted_5$2)
11698
+ ], 10, _hoisted_5$3)
11699
11699
  ]),
11700
11700
  _: 1
11701
11701
  }, 8, [
@@ -12166,65 +12166,9 @@ var TrainPipeline = /* @__PURE__ */ _export_sfc(_sfc_main$3, [
12166
12166
  ]
12167
12167
  ]);
12168
12168
 
12169
- var FAnalysisNodeRunStatus = vue.defineComponent({
12170
- props: {
12171
- status: {
12172
- type: String,
12173
- default: null
12174
- }
12175
- },
12176
- setup (props, { slots }) {
12177
- const statusText = vue.computed(()=>{
12178
- if (props.status) {
12179
- return props.status;
12180
- }
12181
- return 'none';
12182
- });
12183
- const classSuffix = vue.computed(()=>{
12184
- switch(props.status){
12185
- case coreKit.AnalysisNodeRunStatus.STARTED:
12186
- case coreKit.AnalysisNodeRunStatus.STARTING:
12187
- {
12188
- return 'primary';
12189
- }
12190
- case coreKit.AnalysisNodeRunStatus.FINISHED:
12191
- {
12192
- return 'success';
12193
- }
12194
- case coreKit.AnalysisNodeRunStatus.RUNNING:
12195
- {
12196
- return 'dark';
12197
- }
12198
- case coreKit.AnalysisNodeRunStatus.STOPPED:
12199
- case coreKit.AnalysisNodeRunStatus.STOPPING:
12200
- {
12201
- return 'warning';
12202
- }
12203
- case coreKit.AnalysisNodeRunStatus.FAILED:
12204
- {
12205
- return 'danger';
12206
- }
12207
- }
12208
- return 'info';
12209
- });
12210
- if (hasNormalizedSlot('default', slots)) {
12211
- return ()=>normalizeSlot('default', {
12212
- classSuffix: classSuffix.value,
12213
- statusText: statusText.value
12214
- }, slots);
12215
- }
12216
- return ()=>vue.h('span', {
12217
- class: `text-${classSuffix.value}`
12218
- }, [
12219
- statusText.value
12220
- ]);
12221
- }
12222
- });
12223
-
12224
12169
  var _sfc_main$2 = vue.defineComponent({
12225
12170
  components: {
12226
- FAnalysisNodes,
12227
- FAnalysisNodeRunStatus
12171
+ FAnalysisNodes
12228
12172
  },
12229
12173
  props: {
12230
12174
  entity: {
@@ -12267,20 +12211,22 @@ var _sfc_main$2 = vue.defineComponent({
12267
12211
 
12268
12212
  const _hoisted_1$2 = {
12269
12213
  key: 0,
12270
- class: "train-stations-progress"
12214
+ class: "analysis-nodes"
12271
12215
  };
12272
12216
  const _hoisted_2$2 = {
12273
- class: "icon"
12217
+ class: "text-left"
12274
12218
  };
12275
12219
  const _hoisted_3$2 = {
12220
+ class: "icon"
12221
+ };
12222
+ const _hoisted_4$2 = {
12276
12223
  key: 1,
12277
12224
  class: "progress bg-white"
12278
12225
  };
12279
- const _hoisted_4$2 = [
12226
+ const _hoisted_5$2 = [
12280
12227
  "aria-valuenow"
12281
12228
  ];
12282
12229
  function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
12283
- const _component_FAnalysisNodeRunStatus = vue.resolveComponent("FAnalysisNodeRunStatus");
12284
12230
  const _component_FAnalysisNodes = vue.resolveComponent("FAnalysisNodes");
12285
12231
  return vue.openBlock(), vue.createElementBlock("div", null, [
12286
12232
  _ctx.elementType === "steps" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
@@ -12295,8 +12241,11 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
12295
12241
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.data, (item)=>{
12296
12242
  return vue.openBlock(), vue.createElementBlock("div", {
12297
12243
  key: item.id,
12298
- class: "d-flex flex-column progress-step"
12244
+ class: "d-flex flex-column progress-step flex-grow-1"
12299
12245
  }, [
12246
+ vue.createElementVNode("div", _hoisted_2$2, [
12247
+ vue.createElementVNode("h6", null, vue.toDisplayString(item.node.name), 1)
12248
+ ]),
12300
12249
  vue.createElementVNode("div", {
12301
12250
  class: vue.normalizeClass([
12302
12251
  "d-flex justify-content-center icon-circle text-light p-1",
@@ -12310,20 +12259,8 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
12310
12259
  }
12311
12260
  ])
12312
12261
  }, [
12313
- vue.createElementVNode("span", _hoisted_2$2, vue.toDisplayString(item.node.name), 1)
12314
- ], 2),
12315
- _cache[0] || (_cache[0] = vue.createElementVNode("div", {
12316
- class: "mt-1"
12317
- }, [
12318
- vue.createElementVNode("strong", null, "Status")
12319
- ], -1)),
12320
- vue.createElementVNode("div", null, [
12321
- vue.createVNode(_component_FAnalysisNodeRunStatus, {
12322
- status: item.run_status
12323
- }, null, 8, [
12324
- "status"
12325
- ])
12326
- ])
12262
+ vue.createElementVNode("span", _hoisted_3$2, vue.toDisplayString(item.run_status || "none"), 1)
12263
+ ], 2)
12327
12264
  ]);
12328
12265
  }), 128))
12329
12266
  ]),
@@ -12333,7 +12270,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
12333
12270
  "realm-id",
12334
12271
  "source-id"
12335
12272
  ])
12336
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, [
12273
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
12337
12274
  vue.createElementVNode("div", {
12338
12275
  class: vue.normalizeClass([
12339
12276
  "progress-bar",
@@ -12348,7 +12285,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
12348
12285
  "aria-valuenow": _ctx.progressPercentage,
12349
12286
  "aria-valuemin": "0",
12350
12287
  "aria-valuemax": "100"
12351
- }, null, 14, _hoisted_4$2)
12288
+ }, null, 14, _hoisted_5$2)
12352
12289
  ]))
12353
12290
  ]);
12354
12291
  }
@@ -13219,6 +13156,61 @@ const FAnalysisNodeApprovalStatus = vue.defineComponent({
13219
13156
  }
13220
13157
  });
13221
13158
 
13159
+ var FAnalysisNodeRunStatus = vue.defineComponent({
13160
+ props: {
13161
+ status: {
13162
+ type: String,
13163
+ default: null
13164
+ }
13165
+ },
13166
+ setup (props, { slots }) {
13167
+ const statusText = vue.computed(()=>{
13168
+ if (props.status) {
13169
+ return props.status;
13170
+ }
13171
+ return 'none';
13172
+ });
13173
+ const classSuffix = vue.computed(()=>{
13174
+ switch(props.status){
13175
+ case coreKit.AnalysisNodeRunStatus.STARTED:
13176
+ case coreKit.AnalysisNodeRunStatus.STARTING:
13177
+ {
13178
+ return 'primary';
13179
+ }
13180
+ case coreKit.AnalysisNodeRunStatus.FINISHED:
13181
+ {
13182
+ return 'success';
13183
+ }
13184
+ case coreKit.AnalysisNodeRunStatus.RUNNING:
13185
+ {
13186
+ return 'dark';
13187
+ }
13188
+ case coreKit.AnalysisNodeRunStatus.STOPPED:
13189
+ case coreKit.AnalysisNodeRunStatus.STOPPING:
13190
+ {
13191
+ return 'warning';
13192
+ }
13193
+ case coreKit.AnalysisNodeRunStatus.FAILED:
13194
+ {
13195
+ return 'danger';
13196
+ }
13197
+ }
13198
+ return 'info';
13199
+ });
13200
+ if (hasNormalizedSlot('default', slots)) {
13201
+ return ()=>normalizeSlot('default', {
13202
+ classSuffix: classSuffix.value,
13203
+ statusText: statusText.value
13204
+ }, slots);
13205
+ }
13206
+ return ()=>vue.h('span', {
13207
+ class: `text-${classSuffix.value}`
13208
+ }, [
13209
+ statusText.value
13210
+ ]);
13211
+ }
13212
+ });
13213
+
13222
13214
  var _sfc_main = vue.defineComponent({
13223
13215
  components: {
13224
13216
  FAnalysisBucket,