@privateaim/client-vue 0.8.27 → 0.8.28

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.
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { hasOwnProperty, isObject as isObject$1, merge, createMerger } from 'smob';
2
- import { hasInjectionContext, inject as inject$1, provide as provide$1, defineComponent, computed, renderSlot, normalizeProps, guardReactiveProps, openBlock, createBlock, resolveDynamicComponent, withCtx, mergeProps, h, withDirectives, isRef, onMounted, onUnmounted, watch, ref, unref, toRef, resolveComponent, createElementBlock, createElementVNode, normalizeStyle, normalizeClass, toDisplayString, createTextVNode, Fragment, createVNode, createCommentVNode, reactive, nextTick, withModifiers, renderList, getCurrentInstance, useTemplateRef, toHandlers, resolveDirective, vModelCheckbox, vShow } from 'vue';
2
+ import { hasInjectionContext, inject as inject$1, provide as provide$1, defineComponent, computed, renderSlot, normalizeProps, guardReactiveProps, h, resolveDynamicComponent, withDirectives, isRef, onMounted, onUnmounted, watch, ref, unref, toRef, resolveComponent, resolveDirective, openBlock, createElementBlock, createElementVNode, normalizeStyle, normalizeClass, toDisplayString, createVNode, withCtx, createBlock, createTextVNode, Fragment, createCommentVNode, useTemplateRef, reactive, nextTick, withModifiers, renderList, getCurrentInstance, mergeProps, toHandlers, vModelCheckbox, vShow } from 'vue';
3
3
  import { VCLink } from '@vuecs/link';
4
- import { AnalysisError, buildDomainNamespaceName, DomainEventSubscriptionName, buildDomainChannelName, AnalysisCommand, AnalysisConfiguratorCommandChecker, AnalysisDistributorCommandChecker, AnalysisBuilderCommandChecker, DomainType, ProjectNodeApprovalCommand, ProjectNodeApprovalStatus, DomainSubType, AnalysisBucketType, MasterImageCommand, AnalysisNodeApprovalCommand, AnalysisNodeApprovalStatus, RegistryAPICommand, registryRobotSecretRegex, ServiceID, RegistryProjectType, NodeType } from '@privateaim/core-kit';
4
+ import { AnalysisError, buildDomainNamespaceName, DomainEventSubscriptionName, buildDomainChannelName, AnalysisCommand, AnalysisConfiguratorCommandChecker, AnalysisDistributorCommandChecker, AnalysisBuilderCommandChecker, DomainType, MasterImageCommand, ProjectNodeApprovalCommand, ProjectNodeApprovalStatus, DomainSubType, AnalysisBucketType, AnalysisNodeApprovalCommand, AnalysisNodeApprovalStatus, RegistryAPICommand, registryRobotSecretRegex, ServiceID, RegistryProjectType, NodeType } from '@privateaim/core-kit';
5
5
  import { extractErrorMessage, hasOwnProperty as hasOwnProperty$1, buildDomainEventFullName, PermissionName, ProcessStatus, humanFileSize, createNanoID, alphaNumHyphenUnderscoreRegex, isHex, hexToUTF8, CryptoAsymmetricAlgorithm, exportAsymmetricPublicKey, exportAsymmetricPrivateKey } from '@privateaim/kit';
6
6
  import { injectHTTPClientAuthenticationHook, inject as inject$2, provide as provide$2, injectStore, storeToRefs, injectStoreDispatcher, StoreDispatcherEventName, usePermissionCheck, useTranslation, TranslatorTranslationGroup, ATitle, ASearch, APagination, createFormSubmitTranslations, buildFormSubmitWithTranslations, TranslatorTranslationDefaultKey, ARobot, AUser, renderToggleButton as renderToggleButton$1, APermissions, defineEntityCollectionVProps, ARealms, AClient, AClientForm } from '@authup/client-web-kit';
7
7
  import { vBTooltip, BModal } from 'bootstrap-vue-next';
@@ -12,10 +12,10 @@ import { APIClient as APIClient$1, LogLevel, LogLevelColor } from '@privateaim/t
12
12
  import { REALM_MASTER_NAME, EntityDefaultEventName } from '@authup/core-kit';
13
13
  import { ClientManager } from '@authup/core-realtime-kit';
14
14
  import { SortDirection } from 'rapiq';
15
- import { install as install$1, useTranslationsForNestedValidations, getSeverity, IVuelidate } from '@ilingo/vuelidate';
15
+ import { install as install$1, IVuelidate, useTranslationsForNestedValidations, getSeverity } from '@ilingo/vuelidate';
16
16
  import { helpers, required, maxLength, minLength } from '@vuelidate/validators';
17
17
  import useVuelidate from '@vuelidate/core';
18
- import { buildFormGroup, buildFormSelect, VCFormGroup, VCFormInput, buildFormTextarea, buildFormInput, VCFormInputCheckbox, VCFormSubmit, buildFormInputCheckbox } from '@vuecs/form-controls';
18
+ import { VCFormGroup, VCFormInput, buildFormGroup, buildFormTextarea, buildFormSelect, buildFormInput, VCFormInputCheckbox, VCFormSubmit, buildFormInputCheckbox } from '@vuecs/form-controls';
19
19
  import { VCTimeago } from '@vuecs/timeago';
20
20
  import { useClipboard } from '@vueuse/core';
21
21
 
@@ -245,7 +245,7 @@ function installStoreManager(instance, key) {
245
245
  return manager;
246
246
  }
247
247
 
248
- var _sfc_main$K = defineComponent({
248
+ var _sfc_main$L = defineComponent({
249
249
  props: {
250
250
  entity: {
251
251
  type: Object,
@@ -279,19 +279,12 @@ var _export_sfc = (sfc, props) => {
279
279
  return target;
280
280
  };
281
281
 
282
- function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
283
- return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })), () => [
284
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), null, {
285
- default: withCtx(() => [
286
- _ctx.passed ? renderSlot(_ctx.$slots, "valid", normalizeProps(mergeProps({ key: 0 }, { passed: _ctx.passed, message: _ctx.message }))) : renderSlot(_ctx.$slots, "invalid", normalizeProps(mergeProps({ key: 1 }, { passed: _ctx.passed, message: _ctx.message })))
287
- ]),
288
- _: 3
289
- }))
290
- ]);
282
+ function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
283
+ return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })));
291
284
  }
292
- var FAnalysisConfigurationImageStep = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$K]]);
285
+ var FAnalysisConfigurationImageStep = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$L]]);
293
286
 
294
- var _sfc_main$J = defineComponent({
287
+ var _sfc_main$K = defineComponent({
295
288
  props: {
296
289
  entity: {
297
290
  type: Object,
@@ -317,19 +310,12 @@ var _sfc_main$J = defineComponent({
317
310
  }
318
311
  });
319
312
 
320
- function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
321
- return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })), () => [
322
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), null, {
323
- default: withCtx(() => [
324
- _ctx.passed ? renderSlot(_ctx.$slots, "valid", { key: 0 }) : renderSlot(_ctx.$slots, "invalid", normalizeProps(mergeProps({ key: 1 }, { message: _ctx.message })))
325
- ]),
326
- _: 3
327
- }))
328
- ]);
313
+ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
314
+ return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })));
329
315
  }
330
- var FAnalysisConfigurationEntrypointStep = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$J]]);
316
+ var FAnalysisConfigurationEntrypointStep = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$K]]);
331
317
 
332
- var _sfc_main$I = defineComponent({
318
+ var _sfc_main$J = defineComponent({
333
319
  props: {
334
320
  entity: {
335
321
  type: Object,
@@ -365,17 +351,10 @@ var _sfc_main$I = defineComponent({
365
351
  }
366
352
  });
367
353
 
368
- function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
369
- return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })), () => [
370
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), null, {
371
- default: withCtx(() => [
372
- _ctx.passed ? renderSlot(_ctx.$slots, "valid", normalizeProps(mergeProps({ key: 0 }, { passed: _ctx.passed, message: _ctx.message, hasDefault: _ctx.hasDefault, hasAggregator: _ctx.hasAggregator }))) : renderSlot(_ctx.$slots, "invalid", normalizeProps(mergeProps({ key: 1 }, { passed: _ctx.passed, message: _ctx.message, hasDefault: _ctx.hasDefault, hasAggregator: _ctx.hasAggregator })))
373
- ]),
374
- _: 3
375
- }))
376
- ]);
354
+ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
355
+ return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })));
377
356
  }
378
- var FAnalysisConfigurationNodesStep = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$I]]);
357
+ var FAnalysisConfigurationNodesStep = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$J]]);
379
358
 
380
359
  /*
381
360
  * Copyright (c) 2024.
@@ -431,7 +410,7 @@ function renderActionCommand(ctx) {
431
410
  ctx.iconClass
432
411
  ];
433
412
  if (ctx.withIcon && ctx.withText) {
434
- iconClasses.push('pe-1');
413
+ iconClasses.push('me-1');
435
414
  }
436
415
  let tag;
437
416
  if (ctx.elementType === 'dropDownItem') {
@@ -470,7 +449,8 @@ function renderActionCommand(ctx) {
470
449
  commandText: ctx.commandText,
471
450
  isDisabled: ctx.isDisabled,
472
451
  isAllowed: ctx.isAllowed,
473
- iconClass: iconClasses
452
+ iconClass: iconClasses,
453
+ execute: ()=>ctx.execute()
474
454
  }, ctx.slots);
475
455
  }
476
456
  const vNode = h(tag, attributes, text);
@@ -1367,10 +1347,14 @@ function createEntityManager(ctx) {
1367
1347
  };
1368
1348
  const resolved = (value)=>{
1369
1349
  if (ctx.setup && ctx.setup.emit) {
1370
- ctx.setup.emit('resolved', value);
1350
+ ctx.setup.emit('resolved', value ? {
1351
+ ...value
1352
+ } : null);
1371
1353
  }
1372
1354
  if (ctx.onResolved) {
1373
- ctx.onResolved(value);
1355
+ ctx.onResolved(value ? {
1356
+ ...value
1357
+ } : null);
1374
1358
  }
1375
1359
  };
1376
1360
  const failed = (error)=>{
@@ -1476,7 +1460,7 @@ function createEntityManager(ctx) {
1476
1460
  }
1477
1461
  entity.value = null;
1478
1462
  if (!domainAPI) {
1479
- resolved();
1463
+ resolved(null);
1480
1464
  return null;
1481
1465
  }
1482
1466
  if (resolveCtx.id) {
@@ -1515,6 +1499,7 @@ function createEntityManager(ctx) {
1515
1499
  }
1516
1500
  }
1517
1501
  }
1502
+ resolved(null);
1518
1503
  return null;
1519
1504
  };
1520
1505
  const resolveByProps = (resolveCtx = {})=>{
@@ -1861,7 +1846,7 @@ const FAnalysisCommand = defineComponent({
1861
1846
  }
1862
1847
  });
1863
1848
 
1864
- var _sfc_main$H = defineComponent({
1849
+ var _sfc_main$I = defineComponent({
1865
1850
  components: {
1866
1851
  FAnalysisCommand,
1867
1852
  FAnalysisConfigurationNodesStep,
@@ -1924,53 +1909,57 @@ var _sfc_main$H = defineComponent({
1924
1909
  }
1925
1910
  });
1926
1911
 
1927
- const _hoisted_1$t = { class: "card-grey card" };
1928
- const _hoisted_2$o = { class: "card-header" };
1929
- const _hoisted_3$m = { class: "title d-flex flex-row" };
1930
- const _hoisted_4$i = { class: "ms-auto" };
1931
- const _hoisted_5$g = {
1912
+ const _hoisted_1$u = { class: "card-grey card" };
1913
+ const _hoisted_2$p = { class: "card-header" };
1914
+ const _hoisted_3$n = { class: "title d-flex flex-row" };
1915
+ const _hoisted_4$j = { class: "ms-auto" };
1916
+ const _hoisted_5$h = {
1932
1917
  key: 0,
1933
1918
  class: "text-success"
1934
1919
  };
1935
- const _hoisted_6$e = {
1920
+ const _hoisted_6$f = {
1936
1921
  key: 1,
1937
1922
  class: "text-danger"
1938
1923
  };
1939
- const _hoisted_7$c = { class: "card-body" };
1940
- const _hoisted_8$a = { class: "d-flex flex-column h-100" };
1941
- const _hoisted_9$9 = { class: "progress bg-white" };
1924
+ const _hoisted_7$d = { class: "card-body" };
1925
+ const _hoisted_8$b = { class: "d-flex flex-column h-100" };
1926
+ const _hoisted_9$a = { class: "progress bg-white" };
1942
1927
  const _hoisted_10$9 = ["aria-valuenow"];
1943
1928
  const _hoisted_11$7 = { class: "d-flex flex-row gap-1" };
1944
- const _hoisted_12$4 = { class: "d-flex flex-column ms-4" };
1945
- const _hoisted_13$2 = { class: "d-flex flex-row gap-1" };
1929
+ const _hoisted_12$4 = ["title"];
1930
+ const _hoisted_13$2 = { class: "d-flex flex-column ms-4" };
1946
1931
  const _hoisted_14$1 = { class: "d-flex flex-row gap-1" };
1947
- const _hoisted_15$1 = { class: "mt-auto" };
1948
- const _hoisted_16$1 = { class: "d-flex flex-column gap-1" };
1949
- function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
1932
+ const _hoisted_15$1 = ["title"];
1933
+ const _hoisted_16$1 = { class: "d-flex flex-row gap-1" };
1934
+ const _hoisted_17$1 = ["title"];
1935
+ const _hoisted_18$1 = { class: "mt-auto" };
1936
+ const _hoisted_19 = { class: "d-flex flex-column gap-1" };
1937
+ function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
1950
1938
  const _component_VCLink = resolveComponent("VCLink");
1951
1939
  const _component_FAnalysisConfigurationNodesStep = resolveComponent("FAnalysisConfigurationNodesStep");
1952
1940
  const _component_FAnalysisConfigurationImageStep = resolveComponent("FAnalysisConfigurationImageStep");
1953
1941
  const _component_FAnalysisConfigurationEntrypointStep = resolveComponent("FAnalysisConfigurationEntrypointStep");
1954
1942
  const _component_FAnalysisCommand = resolveComponent("FAnalysisCommand");
1955
- return openBlock(), createElementBlock("div", _hoisted_1$t, [
1956
- createElementVNode("div", _hoisted_2$o, [
1957
- createElementVNode("div", _hoisted_3$m, [
1943
+ const _directive_b_tooltip = resolveDirective("b-tooltip");
1944
+ return openBlock(), createElementBlock("div", _hoisted_1$u, [
1945
+ createElementVNode("div", _hoisted_2$p, [
1946
+ createElementVNode("div", _hoisted_3$n, [
1958
1947
  _cache[4] || (_cache[4] = createElementVNode("div", null, " Configuration ", -1)),
1959
- createElementVNode("div", _hoisted_4$i, [
1960
- _ctx.passed ? (openBlock(), createElementBlock("span", _hoisted_5$g, [..._cache[2] || (_cache[2] = [
1948
+ createElementVNode("div", _hoisted_4$j, [
1949
+ _ctx.passed ? (openBlock(), createElementBlock("span", _hoisted_5$h, [..._cache[2] || (_cache[2] = [
1961
1950
  createElementVNode("i", { class: "fa fa-check" }, null, -1)
1962
- ])])) : (openBlock(), createElementBlock("span", _hoisted_6$e, [..._cache[3] || (_cache[3] = [
1951
+ ])])) : (openBlock(), createElementBlock("span", _hoisted_6$f, [..._cache[3] || (_cache[3] = [
1963
1952
  createElementVNode("i", { class: "fa fa-times" }, null, -1)
1964
1953
  ])]))
1965
1954
  ])
1966
1955
  ])
1967
1956
  ]),
1968
- createElementVNode("div", _hoisted_7$c, [
1969
- createElementVNode("div", _hoisted_8$a, [
1970
- _cache[15] || (_cache[15] = createElementVNode("div", { class: "text-center mb-3" }, [
1957
+ createElementVNode("div", _hoisted_7$d, [
1958
+ createElementVNode("div", _hoisted_8$b, [
1959
+ _cache[9] || (_cache[9] = createElementVNode("div", { class: "text-center mb-3" }, [
1971
1960
  createElementVNode("i", { class: "fas fa-gear fa-4x" })
1972
1961
  ], -1)),
1973
- createElementVNode("div", _hoisted_9$9, [
1962
+ createElementVNode("div", _hoisted_9$a, [
1974
1963
  createElementVNode("div", {
1975
1964
  class: normalizeClass(["progress-bar", "bg-success"]),
1976
1965
  style: normalizeStyle({ width: _ctx.progress + "%" }),
@@ -1979,40 +1968,52 @@ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
1979
1968
  "aria-valuemax": "100"
1980
1969
  }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_10$9)
1981
1970
  ]),
1982
- _cache[16] || (_cache[16] = createElementVNode("hr", null, null, -1)),
1983
- _cache[17] || (_cache[17] = createElementVNode("h6", { class: "mb-0" }, " Requirements ", -1)),
1971
+ _cache[10] || (_cache[10] = createElementVNode("hr", null, null, -1)),
1972
+ _cache[11] || (_cache[11] = createElementVNode("h6", { class: "mb-0" }, " Requirements ", -1)),
1984
1973
  createElementVNode("div", _hoisted_11$7, [
1985
- createElementVNode("div", null, [
1986
- createElementVNode("strong", null, [
1987
- _ctx.nodesLink ? (openBlock(), createBlock(_component_VCLink, {
1988
- key: 0,
1989
- to: _ctx.nodesLink
1990
- }, {
1991
- default: withCtx(() => [..._cache[5] || (_cache[5] = [
1992
- createTextVNode(" Node(s) Assignment ", -1)
1993
- ])]),
1994
- _: 1
1995
- }, 8, ["to"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1996
- createTextVNode(" Node(s) Assignment ")
1997
- ], 64))
1998
- ])
1999
- ]),
2000
- createElementVNode("div", null, [
2001
- createVNode(_component_FAnalysisConfigurationNodesStep, { entity: _ctx.entity }, {
2002
- valid: withCtx(() => [..._cache[6] || (_cache[6] = [
2003
- createElementVNode("span", { class: "text-success" }, [
2004
- createElementVNode("i", { class: "fa fa-check" })
2005
- ], -1)
2006
- ])]),
2007
- invalid: withCtx(({ message }) => [
2008
- _cache[7] || (_cache[7] = createElementVNode("span", { class: "text-danger" }, [
2009
- createElementVNode("i", { class: "fa fa-times" })
2010
- ], -1)),
2011
- createElementVNode("small", null, "( " + toDisplayString(message) + " )", 1)
1974
+ createVNode(_component_FAnalysisConfigurationNodesStep, { entity: _ctx.entity }, {
1975
+ default: withCtx(({ passed, message }) => [
1976
+ createElementVNode("div", null, [
1977
+ withDirectives((openBlock(), createElementBlock("strong", { title: message }, [
1978
+ _ctx.nodesLink ? (openBlock(), createBlock(_component_VCLink, {
1979
+ key: 0,
1980
+ to: _ctx.nodesLink
1981
+ }, {
1982
+ default: withCtx(() => [..._cache[5] || (_cache[5] = [
1983
+ createTextVNode(" Node(s) Assignment ", -1)
1984
+ ])]),
1985
+ _: 1
1986
+ }, 8, ["to"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1987
+ createTextVNode(" Node(s) Assignment ")
1988
+ ], 64))
1989
+ ], 8, _hoisted_12$4)), [
1990
+ [
1991
+ _directive_b_tooltip,
1992
+ void 0,
1993
+ void 0,
1994
+ {
1995
+ hover: true,
1996
+ top: true
1997
+ }
1998
+ ]
1999
+ ])
2012
2000
  ]),
2013
- _: 1
2014
- }, 8, ["entity"])
2015
- ])
2001
+ createElementVNode("span", {
2002
+ class: normalizeClass(["text-success", {
2003
+ "text-success": passed,
2004
+ "text-danger": !passed
2005
+ }])
2006
+ }, [
2007
+ createElementVNode("i", {
2008
+ class: normalizeClass(["fa", {
2009
+ "fa-check": passed,
2010
+ "fa-times": !passed
2011
+ }])
2012
+ }, null, 2)
2013
+ ], 2)
2014
+ ]),
2015
+ _: 1
2016
+ }, 8, ["entity"])
2016
2017
  ]),
2017
2018
  createElementVNode("div", null, [
2018
2019
  createElementVNode("strong", null, [
@@ -2021,7 +2022,7 @@ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
2021
2022
  key: 0,
2022
2023
  to: _ctx.imageLink
2023
2024
  }, {
2024
- default: withCtx(() => [..._cache[8] || (_cache[8] = [
2025
+ default: withCtx(() => [..._cache[6] || (_cache[6] = [
2025
2026
  createTextVNode(" Image ", -1)
2026
2027
  ])]),
2027
2028
  _: 1
@@ -2031,52 +2032,84 @@ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
2031
2032
  ])
2032
2033
  ])
2033
2034
  ]),
2034
- createElementVNode("div", _hoisted_12$4, [
2035
- createElementVNode("div", _hoisted_13$2, [
2036
- _cache[11] || (_cache[11] = createElementVNode("div", null, [
2037
- createElementVNode("strong", null, " Base ")
2038
- ], -1)),
2039
- createElementVNode("div", null, [
2040
- createVNode(_component_FAnalysisConfigurationImageStep, { entity: _ctx.entity }, {
2041
- valid: withCtx(() => [..._cache[9] || (_cache[9] = [
2042
- createElementVNode("span", { class: "text-success" }, [
2043
- createElementVNode("i", { class: "fa fa-check" })
2044
- ], -1)
2045
- ])]),
2046
- invalid: withCtx(({ message }) => [
2047
- _cache[10] || (_cache[10] = createElementVNode("span", { class: "text-danger" }, [
2048
- createElementVNode("i", { class: "fa fa-times" })
2049
- ], -1)),
2050
- createElementVNode("small", null, "( " + toDisplayString(message) + " )", 1)
2035
+ createElementVNode("div", _hoisted_13$2, [
2036
+ createVNode(_component_FAnalysisConfigurationImageStep, { entity: _ctx.entity }, {
2037
+ default: withCtx(({ passed, message }) => [
2038
+ createElementVNode("div", _hoisted_14$1, [
2039
+ createElementVNode("div", null, [
2040
+ withDirectives((openBlock(), createElementBlock("strong", { title: message }, [..._cache[7] || (_cache[7] = [
2041
+ createTextVNode(" Base ", -1)
2042
+ ])], 8, _hoisted_15$1)), [
2043
+ [
2044
+ _directive_b_tooltip,
2045
+ void 0,
2046
+ void 0,
2047
+ {
2048
+ hover: true,
2049
+ top: true
2050
+ }
2051
+ ]
2052
+ ])
2051
2053
  ]),
2052
- _: 1
2053
- }, 8, ["entity"])
2054
- ])
2055
- ]),
2056
- createElementVNode("div", _hoisted_14$1, [
2057
- _cache[14] || (_cache[14] = createElementVNode("div", null, [
2058
- createElementVNode("strong", null, " Entrypoint ")
2059
- ], -1)),
2060
- createElementVNode("div", null, [
2061
- createVNode(_component_FAnalysisConfigurationEntrypointStep, { entity: _ctx.entity }, {
2062
- valid: withCtx(() => [..._cache[12] || (_cache[12] = [
2063
- createElementVNode("span", { class: "text-success" }, [
2064
- createElementVNode("i", { class: "fa fa-check" })
2065
- ], -1)
2066
- ])]),
2067
- invalid: withCtx(({ message }) => [
2068
- _cache[13] || (_cache[13] = createElementVNode("span", { class: "text-danger" }, [
2069
- createElementVNode("i", { class: "fa fa-times" })
2070
- ], -1)),
2071
- createElementVNode("small", null, "( " + toDisplayString(message) + " )", 1)
2054
+ createElementVNode("div", null, [
2055
+ createElementVNode("span", {
2056
+ class: normalizeClass(["text-success", {
2057
+ "text-success": passed,
2058
+ "text-danger": !passed
2059
+ }])
2060
+ }, [
2061
+ createElementVNode("i", {
2062
+ class: normalizeClass(["fa", {
2063
+ "fa-check": passed,
2064
+ "fa-times": !passed
2065
+ }])
2066
+ }, null, 2)
2067
+ ], 2)
2068
+ ])
2069
+ ])
2070
+ ]),
2071
+ _: 1
2072
+ }, 8, ["entity"]),
2073
+ createVNode(_component_FAnalysisConfigurationEntrypointStep, { entity: _ctx.entity }, {
2074
+ default: withCtx(({ passed, message }) => [
2075
+ createElementVNode("div", _hoisted_16$1, [
2076
+ createElementVNode("div", null, [
2077
+ withDirectives((openBlock(), createElementBlock("strong", { title: message }, [..._cache[8] || (_cache[8] = [
2078
+ createTextVNode(" Entrypoint ", -1)
2079
+ ])], 8, _hoisted_17$1)), [
2080
+ [
2081
+ _directive_b_tooltip,
2082
+ void 0,
2083
+ void 0,
2084
+ {
2085
+ hover: true,
2086
+ top: true
2087
+ }
2088
+ ]
2089
+ ])
2072
2090
  ]),
2073
- _: 1
2074
- }, 8, ["entity"])
2075
- ])
2076
- ])
2091
+ createElementVNode("div", null, [
2092
+ createElementVNode("span", {
2093
+ class: normalizeClass(["text-success", {
2094
+ "text-success": passed,
2095
+ "text-danger": !passed
2096
+ }])
2097
+ }, [
2098
+ createElementVNode("i", {
2099
+ class: normalizeClass(["fa", {
2100
+ "fa-check": passed,
2101
+ "fa-times": !passed
2102
+ }])
2103
+ }, null, 2)
2104
+ ], 2)
2105
+ ])
2106
+ ])
2107
+ ]),
2108
+ _: 1
2109
+ }, 8, ["entity"])
2077
2110
  ]),
2078
- createElementVNode("div", _hoisted_15$1, [
2079
- createElementVNode("div", _hoisted_16$1, [
2111
+ createElementVNode("div", _hoisted_18$1, [
2112
+ createElementVNode("div", _hoisted_19, [
2080
2113
  createElementVNode("div", null, [
2081
2114
  createVNode(_component_FAnalysisCommand, {
2082
2115
  command: "configurationLock",
@@ -2103,9 +2136,9 @@ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
2103
2136
  ])
2104
2137
  ]);
2105
2138
  }
2106
- var FAnalysisConfigurationStep = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$H]]);
2139
+ var FAnalysisConfigurationStep = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$I]]);
2107
2140
 
2108
- var _sfc_main$G = defineComponent({
2141
+ var _sfc_main$H = defineComponent({
2109
2142
  props: {
2110
2143
  value: {
2111
2144
  type: String
@@ -2126,7 +2159,7 @@ var _sfc_main$G = defineComponent({
2126
2159
  case ProcessStatus.STARTED:
2127
2160
  case ProcessStatus.STOPPED:
2128
2161
  return 'primary';
2129
- case ProcessStatus.FINISHED:
2162
+ case ProcessStatus.EXECUTED:
2130
2163
  return 'success';
2131
2164
  case ProcessStatus.STOPPING:
2132
2165
  return 'warning';
@@ -2142,7 +2175,7 @@ var _sfc_main$G = defineComponent({
2142
2175
  case ProcessStatus.STARTED:
2143
2176
  case ProcessStatus.STOPPING:
2144
2177
  return 'fa fa-rotate fa-spin';
2145
- case ProcessStatus.FINISHED:
2178
+ case ProcessStatus.EXECUTED:
2146
2179
  return 'fa fa-check';
2147
2180
  case ProcessStatus.FAILED:
2148
2181
  case ProcessStatus.STOPPED:
@@ -2158,7 +2191,7 @@ var _sfc_main$G = defineComponent({
2158
2191
  }
2159
2192
  });
2160
2193
 
2161
- function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
2194
+ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
2162
2195
  return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ iconClass: _ctx.iconClass, value: _ctx.value || _ctx.defaultValue, classSuffix: _ctx.classSuffix })), () => [
2163
2196
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
2164
2197
  class: normalizeClass("text-" + _ctx.classSuffix)
@@ -2170,9 +2203,9 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
2170
2203
  }, 8, ["class"]))
2171
2204
  ]);
2172
2205
  }
2173
- var FProcessStatus = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$G]]);
2206
+ var FProcessStatus = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$H]]);
2174
2207
 
2175
- var _sfc_main$F = defineComponent({
2208
+ var _sfc_main$G = defineComponent({
2176
2209
  props: {
2177
2210
  entity: {
2178
2211
  type: Object,
@@ -2198,19 +2231,12 @@ var _sfc_main$F = defineComponent({
2198
2231
  }
2199
2232
  });
2200
2233
 
2201
- function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
2202
- return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })), () => [
2203
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), null, {
2204
- default: withCtx(() => [
2205
- _ctx.passed ? renderSlot(_ctx.$slots, "valid", normalizeProps(mergeProps({ key: 0 }, { passed: _ctx.passed, message: _ctx.message }))) : renderSlot(_ctx.$slots, "invalid", normalizeProps(mergeProps({ key: 1 }, { passed: _ctx.passed, message: _ctx.message })))
2206
- ]),
2207
- _: 3
2208
- }))
2209
- ]);
2234
+ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
2235
+ return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ passed: _ctx.passed, message: _ctx.message })));
2210
2236
  }
2211
- var FAnalysisBuildNodesStep = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$F]]);
2237
+ var FAnalysisBuildNodesStep = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$G]]);
2212
2238
 
2213
- var _sfc_main$E = defineComponent({
2239
+ var _sfc_main$F = defineComponent({
2214
2240
  components: {
2215
2241
  FAnalysisBuildNodesStep,
2216
2242
  FProcessStatus,
@@ -2228,7 +2254,12 @@ var _sfc_main$E = defineComponent({
2228
2254
  'failed'
2229
2255
  ],
2230
2256
  setup (props, { emit }) {
2231
- const progress = computed(()=>props.entity.build_progress || 0);
2257
+ const progress = computed(()=>{
2258
+ if (props.entity.build_status === ProcessStatus.EXECUTED) {
2259
+ return 100;
2260
+ }
2261
+ return props.entity.build_progress || 0;
2262
+ });
2232
2263
  const handleExecuted = (type, command)=>{
2233
2264
  emit('executed', type, command);
2234
2265
  };
@@ -2254,32 +2285,43 @@ var _sfc_main$E = defineComponent({
2254
2285
  }
2255
2286
  });
2256
2287
 
2257
- const _hoisted_1$s = { class: "card-grey card flex-grow-1" };
2258
- const _hoisted_2$n = { class: "card-header" };
2259
- const _hoisted_3$l = { class: "title d-flex flex-row" };
2260
- const _hoisted_4$h = { class: "ms-auto" };
2261
- const _hoisted_5$f = { class: "card-body" };
2262
- const _hoisted_6$d = { class: "d-flex flex-column h-100" };
2263
- const _hoisted_7$b = { class: "progress bg-white" };
2264
- const _hoisted_8$9 = ["aria-valuenow"];
2265
- const _hoisted_9$8 = { class: "d-flex flex-column" };
2288
+ const _hoisted_1$t = { class: "card-grey card flex-grow-1" };
2289
+ const _hoisted_2$o = { class: "card-header" };
2290
+ const _hoisted_3$m = { class: "title d-flex flex-row" };
2291
+ const _hoisted_4$i = { class: "ms-auto" };
2292
+ const _hoisted_5$g = { class: "card-body" };
2293
+ const _hoisted_6$e = { class: "d-flex flex-column h-100" };
2294
+ const _hoisted_7$c = { class: "progress bg-white" };
2295
+ const _hoisted_8$a = ["aria-valuenow"];
2296
+ const _hoisted_9$9 = { class: "d-flex flex-column" };
2266
2297
  const _hoisted_10$8 = { class: "d-flex flex-row gap-1" };
2267
- const _hoisted_11$6 = { class: "d-flex flex-column" };
2268
- const _hoisted_12$3 = { class: "d-flex flex-row gap-1" };
2269
- const _hoisted_13$1 = { class: "d-flex flex-row gap-1" };
2270
- const _hoisted_14 = { style: { "word-break": "break-all" } };
2271
- const _hoisted_15 = { class: "d-flex flex-row gap-1" };
2272
- const _hoisted_16 = { class: "mt-auto" };
2273
- const _hoisted_17 = { class: "d-flex flex-row gap-1" };
2274
- function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
2298
+ const _hoisted_11$6 = ["title"];
2299
+ const _hoisted_12$3 = { class: "d-flex flex-column" };
2300
+ const _hoisted_13$1 = {
2301
+ key: 0,
2302
+ class: "d-flex flex-row gap-1"
2303
+ };
2304
+ const _hoisted_14 = {
2305
+ key: 1,
2306
+ class: "d-flex flex-row gap-1"
2307
+ };
2308
+ const _hoisted_15 = { style: { "word-break": "break-all" } };
2309
+ const _hoisted_16 = {
2310
+ key: 2,
2311
+ class: "d-flex flex-row gap-1"
2312
+ };
2313
+ const _hoisted_17 = { class: "mt-auto" };
2314
+ const _hoisted_18 = { class: "d-flex flex-row gap-1" };
2315
+ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
2275
2316
  const _component_FProcessStatus = resolveComponent("FProcessStatus");
2276
2317
  const _component_FAnalysisBuildNodesStep = resolveComponent("FAnalysisBuildNodesStep");
2277
2318
  const _component_FAnalysisCommand = resolveComponent("FAnalysisCommand");
2278
- return openBlock(), createElementBlock("div", _hoisted_1$s, [
2279
- createElementVNode("div", _hoisted_2$n, [
2280
- createElementVNode("div", _hoisted_3$l, [
2319
+ const _directive_b_tooltip = resolveDirective("b-tooltip");
2320
+ return openBlock(), createElementBlock("div", _hoisted_1$t, [
2321
+ createElementVNode("div", _hoisted_2$o, [
2322
+ createElementVNode("div", _hoisted_3$m, [
2281
2323
  _cache[2] || (_cache[2] = createElementVNode("div", null, " Build ", -1)),
2282
- createElementVNode("div", _hoisted_4$h, [
2324
+ createElementVNode("div", _hoisted_4$i, [
2283
2325
  createVNode(_component_FProcessStatus, {
2284
2326
  value: _ctx.entity.build_status
2285
2327
  }, {
@@ -2293,88 +2335,96 @@ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
2293
2335
  ])
2294
2336
  ])
2295
2337
  ]),
2296
- createElementVNode("div", _hoisted_5$f, [
2297
- createElementVNode("div", _hoisted_6$d, [
2298
- _cache[12] || (_cache[12] = createElementVNode("div", { class: "text-center mb-3" }, [
2338
+ createElementVNode("div", _hoisted_5$g, [
2339
+ createElementVNode("div", _hoisted_6$e, [
2340
+ _cache[10] || (_cache[10] = createElementVNode("div", { class: "text-center mb-3" }, [
2299
2341
  createElementVNode("i", { class: "fas fa-hammer fa-4x" })
2300
2342
  ], -1)),
2301
- createElementVNode("div", _hoisted_7$b, [
2343
+ createElementVNode("div", _hoisted_7$c, [
2302
2344
  createElementVNode("div", {
2303
2345
  class: normalizeClass(["progress-bar", "bg-success"]),
2304
2346
  style: normalizeStyle({ width: _ctx.progress + "%" }),
2305
2347
  "aria-valuenow": _ctx.progress,
2306
2348
  "aria-valuemin": "0",
2307
2349
  "aria-valuemax": "100"
2308
- }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_8$9)
2350
+ }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_8$a)
2309
2351
  ]),
2310
- _cache[13] || (_cache[13] = createElementVNode("hr", null, null, -1)),
2311
- createElementVNode("div", _hoisted_9$8, [
2352
+ _cache[11] || (_cache[11] = createElementVNode("hr", null, null, -1)),
2353
+ createElementVNode("div", _hoisted_9$9, [
2312
2354
  createElementVNode("div", null, [
2313
- _cache[6] || (_cache[6] = createElementVNode("h6", { class: "mb-0" }, " Requirements ", -1)),
2314
- createElementVNode("div", _hoisted_10$8, [
2315
- _cache[5] || (_cache[5] = createElementVNode("div", null, [
2316
- createElementVNode("strong", null, " Node(s) Approval ")
2317
- ], -1)),
2318
- createElementVNode("div", null, [
2319
- createVNode(_component_FAnalysisBuildNodesStep, { entity: _ctx.entity }, {
2320
- valid: withCtx(() => [..._cache[3] || (_cache[3] = [
2321
- createElementVNode("span", { class: "text-success" }, [
2322
- createElementVNode("i", { class: "fa fa-check" })
2323
- ], -1)
2324
- ])]),
2325
- invalid: withCtx(({ message }) => [
2326
- _cache[4] || (_cache[4] = createElementVNode("span", { class: "text-danger" }, [
2327
- createElementVNode("i", { class: "fa fa-times" })
2328
- ], -1)),
2329
- createElementVNode("small", null, "( " + toDisplayString(message) + " )", 1)
2355
+ _cache[4] || (_cache[4] = createElementVNode("h6", { class: "mb-0" }, " Requirements ", -1)),
2356
+ createVNode(_component_FAnalysisBuildNodesStep, { entity: _ctx.entity }, {
2357
+ default: withCtx(({ passed, message }) => [
2358
+ createElementVNode("div", _hoisted_10$8, [
2359
+ createElementVNode("div", null, [
2360
+ withDirectives((openBlock(), createElementBlock("strong", { title: message }, [..._cache[3] || (_cache[3] = [
2361
+ createTextVNode(" Node(s) Approval ", -1)
2362
+ ])], 8, _hoisted_11$6)), [
2363
+ [
2364
+ _directive_b_tooltip,
2365
+ void 0,
2366
+ void 0,
2367
+ {
2368
+ hover: true,
2369
+ top: true
2370
+ }
2371
+ ]
2372
+ ])
2330
2373
  ]),
2331
- _: 1
2332
- }, 8, ["entity"])
2333
- ])
2334
- ])
2374
+ createElementVNode("div", null, [
2375
+ createElementVNode("span", {
2376
+ class: normalizeClass(["text-success", {
2377
+ "text-success": passed,
2378
+ "text-danger": !passed
2379
+ }])
2380
+ }, [
2381
+ createElementVNode("i", {
2382
+ class: normalizeClass(["fa", {
2383
+ "fa-check": passed,
2384
+ "fa-times": !passed
2385
+ }])
2386
+ }, null, 2)
2387
+ ], 2)
2388
+ ])
2389
+ ])
2390
+ ]),
2391
+ _: 1
2392
+ }, 8, ["entity"])
2335
2393
  ]),
2336
- _cache[11] || (_cache[11] = createElementVNode("hr", null, null, -1)),
2337
- createElementVNode("div", null, [
2338
- _cache[10] || (_cache[10] = createElementVNode("h6", { class: "mb-0" }, " Info ", -1)),
2339
- createElementVNode("div", _hoisted_11$6, [
2394
+ _ctx.entity.build_os || _ctx.entity.build_hash || _ctx.size ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2395
+ _cache[9] || (_cache[9] = createElementVNode("hr", null, null, -1)),
2396
+ createElementVNode("div", null, [
2397
+ _cache[8] || (_cache[8] = createElementVNode("h6", { class: "mb-0" }, " Info ", -1)),
2340
2398
  createElementVNode("div", _hoisted_12$3, [
2341
- _cache[7] || (_cache[7] = createElementVNode("div", null, [
2342
- createElementVNode("strong", null, "OS")
2343
- ], -1)),
2344
- createElementVNode("div", null, [
2345
- _ctx.entity.build_os ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2399
+ _ctx.entity.build_os ? (openBlock(), createElementBlock("div", _hoisted_13$1, [
2400
+ _cache[5] || (_cache[5] = createElementVNode("div", null, [
2401
+ createElementVNode("strong", null, "OS")
2402
+ ], -1)),
2403
+ createElementVNode("div", null, [
2346
2404
  createTextVNode(toDisplayString(_ctx.entity.build_os) + " ", 1),
2347
2405
  createElementVNode("i", {
2348
2406
  class: normalizeClass(["fa-brands", "fa-" + _ctx.entity.build_os])
2349
2407
  }, null, 2)
2350
- ], 64)) : createCommentVNode("", true)
2351
- ])
2352
- ]),
2353
- createElementVNode("div", _hoisted_13$1, [
2354
- _cache[8] || (_cache[8] = createElementVNode("div", null, [
2355
- createElementVNode("strong", null, "Hash")
2356
- ], -1)),
2357
- createElementVNode("div", _hoisted_14, [
2358
- _ctx.entity.build_hash ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2359
- createTextVNode(toDisplayString(_ctx.entity.build_hash), 1)
2360
- ], 64)) : createCommentVNode("", true)
2361
- ])
2362
- ]),
2363
- createElementVNode("div", _hoisted_15, [
2364
- _cache[9] || (_cache[9] = createElementVNode("div", null, [
2365
- createElementVNode("strong", null, "Size")
2366
- ], -1)),
2367
- createElementVNode("div", null, [
2368
- _ctx.size ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2369
- createTextVNode(toDisplayString(_ctx.size), 1)
2370
- ], 64)) : createCommentVNode("", true)
2371
- ])
2408
+ ])
2409
+ ])) : createCommentVNode("", true),
2410
+ _ctx.entity.build_hash ? (openBlock(), createElementBlock("div", _hoisted_14, [
2411
+ _cache[6] || (_cache[6] = createElementVNode("div", null, [
2412
+ createElementVNode("strong", null, "Hash")
2413
+ ], -1)),
2414
+ createElementVNode("div", _hoisted_15, toDisplayString(_ctx.entity.build_hash), 1)
2415
+ ])) : createCommentVNode("", true),
2416
+ _ctx.size ? (openBlock(), createElementBlock("div", _hoisted_16, [
2417
+ _cache[7] || (_cache[7] = createElementVNode("div", null, [
2418
+ createElementVNode("strong", null, "Size")
2419
+ ], -1)),
2420
+ createElementVNode("div", null, toDisplayString(_ctx.size), 1)
2421
+ ])) : createCommentVNode("", true)
2372
2422
  ])
2373
2423
  ])
2374
- ])
2424
+ ], 64)) : createCommentVNode("", true)
2375
2425
  ]),
2376
- createElementVNode("div", _hoisted_16, [
2377
- createElementVNode("div", _hoisted_17, [
2426
+ createElementVNode("div", _hoisted_17, [
2427
+ createElementVNode("div", _hoisted_18, [
2378
2428
  createElementVNode("div", null, [
2379
2429
  createVNode(_component_FAnalysisCommand, {
2380
2430
  command: "buildStart",
@@ -2401,9 +2451,9 @@ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
2401
2451
  ])
2402
2452
  ]);
2403
2453
  }
2404
- var FAnalysisBuildStep = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$E]]);
2454
+ var FAnalysisBuildStep = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$F]]);
2405
2455
 
2406
- var _sfc_main$D = defineComponent({
2456
+ var _sfc_main$E = defineComponent({
2407
2457
  components: {
2408
2458
  FProcessStatus,
2409
2459
  FAnalysisCommand
@@ -2429,7 +2479,12 @@ var _sfc_main$D = defineComponent({
2429
2479
  const handleFailed = (e)=>{
2430
2480
  emit('failed', e);
2431
2481
  };
2432
- const progress = computed(()=>props.entity.distribution_progress || 0);
2482
+ const progress = computed(()=>{
2483
+ if (props.entity.distribution_status === ProcessStatus.EXECUTED) {
2484
+ return 100;
2485
+ }
2486
+ return props.entity.distribution_progress || 0;
2487
+ });
2433
2488
  return {
2434
2489
  handleUpdated,
2435
2490
  handleFailed,
@@ -2439,24 +2494,24 @@ var _sfc_main$D = defineComponent({
2439
2494
  }
2440
2495
  });
2441
2496
 
2442
- const _hoisted_1$r = { class: "card-grey card flex-grow-1" };
2443
- const _hoisted_2$m = { class: "card-header" };
2444
- const _hoisted_3$k = { class: "title d-flex flex-row" };
2445
- const _hoisted_4$g = { class: "ms-auto" };
2446
- const _hoisted_5$e = { class: "card-body" };
2447
- const _hoisted_6$c = { class: "d-flex flex-column h-100" };
2448
- const _hoisted_7$a = { class: "progress bg-white" };
2449
- const _hoisted_8$8 = ["aria-valuenow"];
2450
- const _hoisted_9$7 = { class: "mt-auto" };
2497
+ const _hoisted_1$s = { class: "card-grey card flex-grow-1" };
2498
+ const _hoisted_2$n = { class: "card-header" };
2499
+ const _hoisted_3$l = { class: "title d-flex flex-row" };
2500
+ const _hoisted_4$h = { class: "ms-auto" };
2501
+ const _hoisted_5$f = { class: "card-body" };
2502
+ const _hoisted_6$d = { class: "d-flex flex-column h-100" };
2503
+ const _hoisted_7$b = { class: "progress bg-white" };
2504
+ const _hoisted_8$9 = ["aria-valuenow"];
2505
+ const _hoisted_9$8 = { class: "mt-auto" };
2451
2506
  const _hoisted_10$7 = { class: "d-flex flex-row gap-1" };
2452
- function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
2507
+ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
2453
2508
  const _component_FProcessStatus = resolveComponent("FProcessStatus");
2454
2509
  const _component_FAnalysisCommand = resolveComponent("FAnalysisCommand");
2455
- return openBlock(), createElementBlock("div", _hoisted_1$r, [
2456
- createElementVNode("div", _hoisted_2$m, [
2457
- createElementVNode("div", _hoisted_3$k, [
2510
+ return openBlock(), createElementBlock("div", _hoisted_1$s, [
2511
+ createElementVNode("div", _hoisted_2$n, [
2512
+ createElementVNode("div", _hoisted_3$l, [
2458
2513
  _cache[2] || (_cache[2] = createElementVNode("div", null, " 3. Distribution ", -1)),
2459
- createElementVNode("div", _hoisted_4$g, [
2514
+ createElementVNode("div", _hoisted_4$h, [
2460
2515
  createVNode(_component_FProcessStatus, {
2461
2516
  value: _ctx.entity.distribution_status
2462
2517
  }, {
@@ -2470,21 +2525,21 @@ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
2470
2525
  ])
2471
2526
  ])
2472
2527
  ]),
2473
- createElementVNode("div", _hoisted_5$e, [
2474
- createElementVNode("div", _hoisted_6$c, [
2528
+ createElementVNode("div", _hoisted_5$f, [
2529
+ createElementVNode("div", _hoisted_6$d, [
2475
2530
  _cache[3] || (_cache[3] = createElementVNode("div", { class: "text-center mb-3" }, [
2476
2531
  createElementVNode("i", { class: "fas fa-sitemap fa-4x" })
2477
2532
  ], -1)),
2478
- createElementVNode("div", _hoisted_7$a, [
2533
+ createElementVNode("div", _hoisted_7$b, [
2479
2534
  createElementVNode("div", {
2480
2535
  class: normalizeClass(["progress-bar", "bg-success"]),
2481
2536
  style: normalizeStyle({ width: _ctx.progress + "%" }),
2482
2537
  "aria-valuenow": _ctx.progress,
2483
2538
  "aria-valuemin": "0",
2484
2539
  "aria-valuemax": "100"
2485
- }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_8$8)
2540
+ }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_8$9)
2486
2541
  ]),
2487
- createElementVNode("div", _hoisted_9$7, [
2542
+ createElementVNode("div", _hoisted_9$8, [
2488
2543
  createElementVNode("div", _hoisted_10$7, [
2489
2544
  createElementVNode("div", null, [
2490
2545
  createVNode(_component_FAnalysisCommand, {
@@ -2512,9 +2567,9 @@ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
2512
2567
  ])
2513
2568
  ]);
2514
2569
  }
2515
- var FAnalysisDistributionStep = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", _sfc_render$D]]);
2570
+ var FAnalysisDistributionStep = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$E]]);
2516
2571
 
2517
- var _sfc_main$C = defineComponent({
2572
+ var _sfc_main$D = defineComponent({
2518
2573
  components: {
2519
2574
  FProcessStatus
2520
2575
  },
@@ -2530,7 +2585,12 @@ var _sfc_main$C = defineComponent({
2530
2585
  'failed'
2531
2586
  ],
2532
2587
  setup (props, { emit }) {
2533
- const progress = computed(()=>props.entity.execution_progress || 0);
2588
+ const progress = computed(()=>{
2589
+ if (props.entity.execution_status === ProcessStatus.EXECUTED) {
2590
+ return 100;
2591
+ }
2592
+ return props.entity.execution_progress || 0;
2593
+ });
2534
2594
  const handleExecuted = (type, command)=>{
2535
2595
  emit('executed', type, command);
2536
2596
  };
@@ -2549,20 +2609,20 @@ var _sfc_main$C = defineComponent({
2549
2609
  }
2550
2610
  });
2551
2611
 
2552
- const _hoisted_1$q = { class: "card-grey card flex-grow-1" };
2553
- const _hoisted_2$l = { class: "card-header" };
2554
- const _hoisted_3$j = { class: "title d-flex flex-row" };
2555
- const _hoisted_4$f = { class: "ms-auto" };
2556
- const _hoisted_5$d = { class: "card-body" };
2557
- const _hoisted_6$b = { class: "progress bg-white" };
2558
- const _hoisted_7$9 = ["aria-valuenow"];
2559
- function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
2612
+ const _hoisted_1$r = { class: "card-grey card flex-grow-1" };
2613
+ const _hoisted_2$m = { class: "card-header" };
2614
+ const _hoisted_3$k = { class: "title d-flex flex-row" };
2615
+ const _hoisted_4$g = { class: "ms-auto" };
2616
+ const _hoisted_5$e = { class: "card-body" };
2617
+ const _hoisted_6$c = { class: "progress bg-white" };
2618
+ const _hoisted_7$a = ["aria-valuenow"];
2619
+ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
2560
2620
  const _component_FProcessStatus = resolveComponent("FProcessStatus");
2561
- return openBlock(), createElementBlock("div", _hoisted_1$q, [
2562
- createElementVNode("div", _hoisted_2$l, [
2563
- createElementVNode("div", _hoisted_3$j, [
2621
+ return openBlock(), createElementBlock("div", _hoisted_1$r, [
2622
+ createElementVNode("div", _hoisted_2$m, [
2623
+ createElementVNode("div", _hoisted_3$k, [
2564
2624
  _cache[0] || (_cache[0] = createElementVNode("div", null, " 4. Execution ", -1)),
2565
- createElementVNode("div", _hoisted_4$f, [
2625
+ createElementVNode("div", _hoisted_4$g, [
2566
2626
  createVNode(_component_FProcessStatus, {
2567
2627
  value: _ctx.entity.execution_status
2568
2628
  }, {
@@ -2576,25 +2636,25 @@ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
2576
2636
  ])
2577
2637
  ])
2578
2638
  ]),
2579
- createElementVNode("div", _hoisted_5$d, [
2639
+ createElementVNode("div", _hoisted_5$e, [
2580
2640
  _cache[1] || (_cache[1] = createElementVNode("div", { class: "text-center mb-3" }, [
2581
2641
  createElementVNode("i", { class: "fas fa-microchip fa-4x" })
2582
2642
  ], -1)),
2583
- createElementVNode("div", _hoisted_6$b, [
2643
+ createElementVNode("div", _hoisted_6$c, [
2584
2644
  createElementVNode("div", {
2585
2645
  class: normalizeClass(["progress-bar", "bg-success"]),
2586
2646
  style: normalizeStyle({ width: _ctx.progress + "%" }),
2587
2647
  "aria-valuenow": _ctx.progress,
2588
2648
  "aria-valuemin": "0",
2589
2649
  "aria-valuemax": "100"
2590
- }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_7$9)
2650
+ }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_7$a)
2591
2651
  ])
2592
2652
  ])
2593
2653
  ]);
2594
2654
  }
2595
- var FAnalysisExecutionStep = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$C]]);
2655
+ var FAnalysisExecutionStep = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", _sfc_render$D]]);
2596
2656
 
2597
- var _sfc_main$B = defineComponent({
2657
+ var _sfc_main$C = defineComponent({
2598
2658
  components: {
2599
2659
  FAnalysisDistributionStep,
2600
2660
  FAnalysisRunStep: FAnalysisExecutionStep,
@@ -2624,13 +2684,13 @@ var _sfc_main$B = defineComponent({
2624
2684
  setup () {}
2625
2685
  });
2626
2686
 
2627
- const _hoisted_1$p = { class: "d-flex flex-row gap-3 w-100 analysis-steps" };
2628
- function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
2687
+ const _hoisted_1$q = { class: "d-flex flex-row gap-3 w-100 analysis-steps" };
2688
+ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
2629
2689
  const _component_FAnalysisConfigurationStep = resolveComponent("FAnalysisConfigurationStep");
2630
2690
  const _component_FAnalysisBuildStep = resolveComponent("FAnalysisBuildStep");
2631
2691
  const _component_FAnalysisDistributionStep = resolveComponent("FAnalysisDistributionStep");
2632
2692
  const _component_FAnalysisRunStep = resolveComponent("FAnalysisRunStep");
2633
- return openBlock(), createElementBlock("div", _hoisted_1$p, [
2693
+ return openBlock(), createElementBlock("div", _hoisted_1$q, [
2634
2694
  createVNode(_component_FAnalysisConfigurationStep, {
2635
2695
  entity: _ctx.entity,
2636
2696
  "image-link": _ctx.configurationImageLink,
@@ -2656,7 +2716,7 @@ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
2656
2716
  }, null, 8, ["entity"])
2657
2717
  ]);
2658
2718
  }
2659
- var FAnalysisSteps = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", _sfc_render$B], ["__scopeId", "data-v-9b5f1e78"]]);
2719
+ var FAnalysisSteps = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$C], ["__scopeId", "data-v-9b5f1e78"]]);
2660
2720
 
2661
2721
  const FProject = defineComponent({
2662
2722
  props: defineEntityManagerProps(),
@@ -2682,29 +2742,205 @@ function useUpdatedAt(input) {
2682
2742
  });
2683
2743
  }
2684
2744
 
2685
- var FMasterImageGroups = defineComponent({
2686
- props: defineListProps(),
2687
- slots: Object,
2688
- emits: defineListEvents(),
2689
- setup (props, ctx) {
2690
- const { render, setDefaults } = createList({
2691
- type: `${DomainType.MASTER_IMAGE_GROUP}`,
2692
- props,
2693
- setup: ctx
2694
- });
2695
- setDefaults({
2696
- noMore: {
2697
- content: 'No more master-image-groups available...'
2698
- }
2699
- });
2700
- return ()=>render();
2701
- }
2745
+ var FMasterImageCommand = defineComponent({
2746
+ props: {
2747
+ entity: {
2748
+ type: Object
2749
+ },
2750
+ command: {
2751
+ type: String,
2752
+ required: true
2753
+ },
2754
+ elementType: {
2755
+ type: String,
2756
+ default: ActionCommandElementType.BUTTON
2757
+ },
2758
+ withIcon: {
2759
+ type: Boolean,
2760
+ default: false
2761
+ },
2762
+ withText: {
2763
+ type: Boolean,
2764
+ default: true
2765
+ }
2766
+ },
2767
+ emits: [
2768
+ 'updated',
2769
+ 'executed',
2770
+ 'failed'
2771
+ ],
2772
+ slots: Object,
2773
+ setup (props, { emit, slots }) {
2774
+ const apiClient = injectCoreHTTPClient();
2775
+ const isBusy = ref(false);
2776
+ const execute = wrapFnWithBusyState(isBusy, async ()=>{
2777
+ try {
2778
+ const response = await apiClient.masterImage.runCommand(props.command, {
2779
+ ...props.entity ? {
2780
+ id: props.entity.id
2781
+ } : {}
2782
+ });
2783
+ emit('executed', props.command);
2784
+ emit('updated', response);
2785
+ } catch (e) {
2786
+ if (e instanceof Error) {
2787
+ emit('failed', e);
2788
+ }
2789
+ }
2790
+ });
2791
+ const isAllowed = usePermissionCheck({
2792
+ name: PermissionName.MASTER_IMAGE_MANAGE
2793
+ });
2794
+ const shouldDisplay = computed(()=>isAllowed.value);
2795
+ const commandText = computed(()=>{
2796
+ switch(props.command){
2797
+ case MasterImageCommand.SYNC:
2798
+ return 'Synchronize';
2799
+ case MasterImageCommand.BUILD:
2800
+ return 'Build';
2801
+ default:
2802
+ return props.command;
2803
+ }
2804
+ });
2805
+ const iconClass = computed(()=>{
2806
+ switch(props.command){
2807
+ case MasterImageCommand.SYNC:
2808
+ return 'fa fa-sync';
2809
+ case MasterImageCommand.BUILD:
2810
+ return 'fa fa-wrench';
2811
+ default:
2812
+ return '';
2813
+ }
2814
+ });
2815
+ const classSuffix = computed(()=>{
2816
+ switch(props.command){
2817
+ case MasterImageCommand.SYNC:
2818
+ return 'success';
2819
+ case MasterImageCommand.BUILD:
2820
+ return 'dark';
2821
+ default:
2822
+ return 'info';
2823
+ }
2824
+ });
2825
+ return ()=>{
2826
+ if (!shouldDisplay.value) {
2827
+ return [];
2828
+ }
2829
+ return renderActionCommand({
2830
+ execute,
2831
+ elementType: props.elementType,
2832
+ withIcon: props.withIcon,
2833
+ withText: props.withText,
2834
+ isDisabled: !shouldDisplay.value,
2835
+ iconClass: iconClass.value,
2836
+ isAllowed: isAllowed.value,
2837
+ commandText: commandText.value,
2838
+ classSuffix: classSuffix.value,
2839
+ slots
2840
+ });
2841
+ };
2842
+ }
2843
+ });
2844
+
2845
+ const FMasterImage = defineComponent({
2846
+ props: defineEntityManagerProps(),
2847
+ emits: defineEntityManagerEvents(),
2848
+ slots: Object,
2849
+ async setup (props, setup) {
2850
+ const manager = createEntityManager({
2851
+ type: `${DomainType.MASTER_IMAGE}`,
2852
+ setup,
2853
+ props
2854
+ });
2855
+ await manager.resolve();
2856
+ return ()=>manager.render();
2857
+ }
2702
2858
  });
2703
2859
 
2860
+ var _sfc_main$B = defineComponent({
2861
+ components: {
2862
+ FMasterImageCommand,
2863
+ FProcessStatus
2864
+ },
2865
+ props: {
2866
+ entity: {
2867
+ type: Object,
2868
+ required: true
2869
+ }
2870
+ },
2871
+ setup (props) {
2872
+ const progress = computed(()=>{
2873
+ if (props.entity.build_status === ProcessStatus.EXECUTED) {
2874
+ return 100;
2875
+ }
2876
+ return props.entity.build_progress || 0;
2877
+ });
2878
+ return {
2879
+ progress
2880
+ };
2881
+ }
2882
+ });
2883
+
2884
+ const _hoisted_1$p = { class: "card-grey card flex-grow-1" };
2885
+ const _hoisted_2$l = { class: "card-header" };
2886
+ const _hoisted_3$j = { class: "title d-flex flex-row" };
2887
+ const _hoisted_4$f = { class: "ms-auto" };
2888
+ const _hoisted_5$d = { class: "me-1" };
2889
+ const _hoisted_6$b = { class: "card-body" };
2890
+ const _hoisted_7$9 = { class: "d-flex flex-column gap-1" };
2891
+ const _hoisted_8$8 = { class: "progress bg-white" };
2892
+ const _hoisted_9$7 = ["aria-valuenow"];
2893
+ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
2894
+ const _component_FProcessStatus = resolveComponent("FProcessStatus");
2895
+ const _component_FMasterImageCommand = resolveComponent("FMasterImageCommand");
2896
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [
2897
+ createElementVNode("div", _hoisted_2$l, [
2898
+ createElementVNode("div", _hoisted_3$j, [
2899
+ createElementVNode("div", null, toDisplayString(_ctx.entity.virtual_path), 1),
2900
+ createElementVNode("div", _hoisted_4$f, [
2901
+ createVNode(_component_FProcessStatus, {
2902
+ value: _ctx.entity.build_status
2903
+ }, {
2904
+ default: withCtx(({ value, iconClass, classSuffix }) => [
2905
+ createElementVNode("span", _hoisted_5$d, toDisplayString(value), 1),
2906
+ _cache[0] || (_cache[0] = createTextVNode()),
2907
+ createElementVNode("i", {
2908
+ class: normalizeClass(iconClass + " text-" + classSuffix)
2909
+ }, null, 2)
2910
+ ]),
2911
+ _: 1
2912
+ }, 8, ["value"])
2913
+ ])
2914
+ ])
2915
+ ]),
2916
+ createElementVNode("div", _hoisted_6$b, [
2917
+ createElementVNode("div", _hoisted_7$9, [
2918
+ createElementVNode("div", _hoisted_8$8, [
2919
+ createElementVNode("div", {
2920
+ class: normalizeClass(["progress-bar", "bg-success"]),
2921
+ style: normalizeStyle({ width: _ctx.progress + "%" }),
2922
+ "aria-valuenow": _ctx.progress,
2923
+ "aria-valuemin": "0",
2924
+ "aria-valuemax": "100"
2925
+ }, toDisplayString(_ctx.progress) + "% ", 13, _hoisted_9$7)
2926
+ ]),
2927
+ createElementVNode("div", null, [
2928
+ createVNode(_component_FMasterImageCommand, {
2929
+ command: "build",
2930
+ entity: _ctx.entity,
2931
+ "with-icon": true
2932
+ }, null, 8, ["entity"])
2933
+ ])
2934
+ ])
2935
+ ])
2936
+ ]);
2937
+ }
2938
+ var FMasterImageCard = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", _sfc_render$B]]);
2939
+
2704
2940
  var MasterImageList = defineComponent({
2705
2941
  props: defineListProps(),
2706
- slots: Object,
2707
2942
  emits: defineListEvents(),
2943
+ slots: Object,
2708
2944
  setup (props, ctx) {
2709
2945
  const { render, setDefaults } = createList({
2710
2946
  type: `${DomainType.MASTER_IMAGE}`,
@@ -2712,13 +2948,13 @@ var MasterImageList = defineComponent({
2712
2948
  setup: ctx,
2713
2949
  queryFilters: (filters)=>{
2714
2950
  if (hasOwnProperty$1(filters, 'name') && typeof filters.name === 'string' && filters.name.length > 0) {
2715
- filters.path = filters.name;
2951
+ filters.virtual_path = filters.name;
2716
2952
  delete filters.name;
2717
2953
  }
2718
2954
  },
2719
2955
  query: {
2720
2956
  sort: {
2721
- path: 'ASC'
2957
+ virtual_path: 'ASC'
2722
2958
  }
2723
2959
  }
2724
2960
  });
@@ -2734,9 +2970,30 @@ var MasterImageList = defineComponent({
2734
2970
  }
2735
2971
  });
2736
2972
 
2737
- var MasterImagePicker = defineComponent({
2973
+ var FMasterImageGroups = defineComponent({
2974
+ props: defineListProps(),
2975
+ slots: Object,
2976
+ emits: defineListEvents(),
2977
+ setup (props, ctx) {
2978
+ const { render, setDefaults } = createList({
2979
+ type: `${DomainType.MASTER_IMAGE_GROUP}`,
2980
+ props,
2981
+ setup: ctx
2982
+ });
2983
+ setDefaults({
2984
+ noMore: {
2985
+ content: 'No more master-image-groups available...'
2986
+ }
2987
+ });
2988
+ return ()=>render();
2989
+ }
2990
+ });
2991
+
2992
+ var _sfc_main$A = defineComponent({
2738
2993
  components: {
2739
- MasterImageList
2994
+ FMasterImages: MasterImageList,
2995
+ FMasterImageGroups,
2996
+ IVuelidate
2740
2997
  },
2741
2998
  props: {
2742
2999
  entityId: {
@@ -2750,19 +3007,48 @@ var MasterImagePicker = defineComponent({
2750
3007
  default: false
2751
3008
  }
2752
3009
  },
2753
- emits: [
2754
- 'selected',
2755
- 'resolved'
2756
- ],
2757
- async setup (props, { emit }) {
3010
+ emits: {
3011
+ ...defineEntityManagerEvents()
3012
+ },
3013
+ setup (props, setup) {
2758
3014
  const entityId = toRef(props, 'entityId');
2759
- const apiClient = injectCoreHTTPClient();
2760
- const busy = ref(false);
3015
+ const vMasterImages = useTemplateRef('masterImages');
2761
3016
  const form = reactive({
2762
3017
  group_virtual_path: '',
2763
3018
  master_image_id: ''
2764
3019
  });
2765
- const $v = useVuelidate({
3020
+ const imageQuery = computed(()=>({
3021
+ filters: {
3022
+ ...form.group_virtual_path !== '' ? {
3023
+ group_virtual_path: form.group_virtual_path
3024
+ } : {}
3025
+ }
3026
+ }));
3027
+ const resolved = ref(false);
3028
+ const manager = createEntityManager({
3029
+ type: DomainType.MASTER_IMAGE,
3030
+ props,
3031
+ setup,
3032
+ onResolved: (entity)=>{
3033
+ if (entity) {
3034
+ form.group_virtual_path = entity.group_virtual_path;
3035
+ form.master_image_id = entity.id;
3036
+ } else {
3037
+ form.group_virtual_path = '';
3038
+ form.master_image_id = '';
3039
+ }
3040
+ resolved.value = true;
3041
+ setup.emit('resolved', entity);
3042
+ }
3043
+ });
3044
+ if (props.entityId) {
3045
+ form.master_image_id = props.entityId;
3046
+ }
3047
+ if (props.entity) {
3048
+ form.master_image_id = props.entity.id;
3049
+ }
3050
+ Promise.resolve().then(()=>manager.resolve());
3051
+ const v$ = useVuelidate({
2766
3052
  group_virtual_path: {
2767
3053
  required
2768
3054
  },
@@ -2772,174 +3058,160 @@ var MasterImagePicker = defineComponent({
2772
3058
  }, form, {
2773
3059
  $scope: false
2774
3060
  });
2775
- const masterImageEntity = ref(null);
2776
3061
  const isVirtualGroupPathDefined = computed(()=>!!form.group_virtual_path && form.group_virtual_path.length > 0);
2777
- const imageQuery = computed(()=>({
2778
- filters: {
2779
- ...form.group_virtual_path !== '' ? {
2780
- group_virtual_path: form.group_virtual_path
2781
- } : {}
2782
- }
2783
- }));
2784
- const loadImage = wrapFnWithBusyState(busy, async ()=>{
2785
- if (!form.master_image_id) return;
2786
- if (masterImageEntity.value && masterImageEntity.value.id === form.master_image_id) {
2787
- form.group_virtual_path = masterImageEntity.value.group_virtual_path;
2788
- return;
2789
- }
2790
- try {
2791
- masterImageEntity.value = await apiClient.masterImage.getOne(form.master_image_id);
2792
- form.group_virtual_path = masterImageEntity.value.group_virtual_path;
2793
- } catch (e) {
2794
- // ...
3062
+ watch(entityId, (val, oldValue)=>{
3063
+ if (val && val !== oldValue && manager.data.value?.id !== val) {
3064
+ manager.resolveByRest({
3065
+ id: val,
3066
+ reset: true
3067
+ });
2795
3068
  }
2796
3069
  });
2797
- const init = ()=>{
2798
- if (props.entity) {
2799
- form.master_image_id = props.entity.id;
2800
- form.group_virtual_path = props.entity.group_virtual_path;
2801
- masterImageEntity.value = props.entity;
2802
- return;
2803
- }
2804
- if (entityId.value) {
2805
- form.master_image_id = entityId.value;
2806
- }
2807
- emit('resolved', masterImageEntity.value);
2808
- };
2809
- watch(entityId, (val, oldValue)=>{
3070
+ watch(imageQuery, (val, oldValue)=>{
2810
3071
  if (val && val !== oldValue) {
2811
- init();
2812
- loadImage();
3072
+ nextTick(async ()=>{
3073
+ if (vMasterImages.value) {
3074
+ await vMasterImages.value.load();
3075
+ }
3076
+ });
2813
3077
  }
2814
3078
  });
2815
- init();
2816
- const translationsValidation = useTranslationsForNestedValidations($v.value);
2817
- Promise.resolve().then(()=>loadImage());
2818
- const itemListNode = ref(null);
2819
3079
  const selectGroup = (input)=>{
2820
3080
  if (!input) {
2821
3081
  form.master_image_id = '';
2822
3082
  form.group_virtual_path = '';
2823
- emit('selected', null); // todo: check
2824
3083
  return;
2825
3084
  }
2826
- const changed = input.virtual_path !== form.group_virtual_path;
2827
- form.group_virtual_path = input.virtual_path;
2828
- if (changed) {
2829
- form.master_image_id = '';
2830
- nextTick(async ()=>{
2831
- if (itemListNode.value) {
2832
- await itemListNode.value.load();
2833
- }
2834
- });
2835
- }
3085
+ form.group_virtual_path = input;
3086
+ form.master_image_id = '';
2836
3087
  };
2837
- const selectImage = (entity)=>{
2838
- if (entity) {
2839
- form.master_image_id = entity.id;
2840
- emit('selected', entity);
2841
- return;
2842
- }
2843
- emit('selected', null);
2844
- emit('resolved', entity);
3088
+ const selectImage = (id)=>{
3089
+ manager.data.value = null;
3090
+ manager.resolveByRest({
3091
+ reset: true,
3092
+ id
3093
+ });
2845
3094
  };
2846
- const buildMasterImageVNode = ()=>{
2847
- if (!isVirtualGroupPathDefined.value) {
2848
- return [];
2849
- }
2850
- return [
2851
- h('div', {
2852
- class: 'col'
2853
- }, [
2854
- h(MasterImageList, {
2855
- ref: itemListNode,
2856
- query: imageQuery.value
2857
- }, {
2858
- [EntityListSlotName.BODY]: (bodyProps)=>{
2859
- const options = bodyProps.data.map((entity)=>({
2860
- id: entity.id,
2861
- value: entity.name
2862
- }));
2863
- return buildFormGroup({
2864
- props: {
2865
- key: form.group_virtual_path
2866
- },
2867
- validationMessages: translationsValidation.master_image_id.value,
2868
- validationSeverity: getSeverity($v.value.master_image_id),
2869
- label: true,
2870
- labelContent: [
2871
- 'Image',
2872
- form.master_image_id ? h('i', {
2873
- class: 'fa fa-check text-success ms-1'
2874
- }) : h('')
2875
- ],
2876
- content: buildFormSelect({
2877
- props: {
2878
- disabled: props.readonly
2879
- },
2880
- value: form.master_image_id,
2881
- onChange (input) {
2882
- const index = bodyProps.data.findIndex((el)=>el.id === input);
2883
- if (index !== -1) {
2884
- selectImage(bodyProps.data[index]);
2885
- return;
2886
- }
2887
- selectImage(null);
2888
- },
2889
- options
2890
- })
2891
- });
2892
- }
2893
- })
2894
- ])
2895
- ];
3095
+ return {
3096
+ isVirtualGroupPathDefined,
3097
+ imageQuery,
3098
+ selectImage,
3099
+ selectGroup,
3100
+ v$,
3101
+ busy: manager.busy,
3102
+ data: manager.data,
3103
+ resolved
2896
3104
  };
2897
- return ()=>h('div', {
2898
- class: 'row'
2899
- }, [
2900
- h('div', {
2901
- class: 'col'
2902
- }, [
2903
- h(FMasterImageGroups, {}, {
2904
- [EntityListSlotName.BODY]: (bodyProps)=>{
2905
- const options = bodyProps.data.map((entity)=>({
2906
- id: entity.virtual_path,
2907
- value: entity.virtual_path
2908
- }));
2909
- return buildFormGroup({
2910
- validationMessages: translationsValidation.group_virtual_path.value,
2911
- validationSeverity: getSeverity($v.value.group_virtual_path),
2912
- label: true,
2913
- labelContent: [
2914
- 'Group',
2915
- isVirtualGroupPathDefined.value ? h('i', {
2916
- class: 'fa fa-check text-success ms-1'
2917
- }) : h('')
2918
- ],
2919
- content: buildFormSelect({
2920
- props: {
2921
- disabled: props.readonly
2922
- },
2923
- value: form.group_virtual_path,
2924
- onChange (input) {
2925
- const index = bodyProps.data.findIndex((el)=>el.virtual_path === input);
2926
- if (index > -1) {
2927
- selectGroup(bodyProps.data[index]);
2928
- return;
2929
- }
2930
- selectGroup(null);
2931
- },
2932
- options
2933
- })
2934
- });
2935
- }
2936
- })
2937
- ]),
2938
- buildMasterImageVNode()
2939
- ]);
2940
3105
  }
2941
3106
  });
2942
3107
 
3108
+ const _hoisted_1$o = { class: "row" };
3109
+ const _hoisted_2$k = { class: "col" };
3110
+ const _hoisted_3$i = {
3111
+ key: 0,
3112
+ class: "fa fa-check text-success"
3113
+ };
3114
+ const _hoisted_4$e = { class: "col" };
3115
+ const _hoisted_5$c = {
3116
+ key: 0,
3117
+ class: "fa fa-check text-success"
3118
+ };
3119
+ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
3120
+ const _component_VCFormSelect = resolveComponent("VCFormSelect");
3121
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
3122
+ const _component_IVuelidate = resolveComponent("IVuelidate");
3123
+ const _component_FMasterImageGroups = resolveComponent("FMasterImageGroups");
3124
+ const _component_FMasterImages = resolveComponent("FMasterImages");
3125
+ return openBlock(), createElementBlock("div", _hoisted_1$o, [
3126
+ createElementVNode("div", _hoisted_2$k, [
3127
+ createVNode(_component_FMasterImageGroups, null, {
3128
+ default: withCtx(({ data }) => [
3129
+ createVNode(_component_IVuelidate, {
3130
+ validation: _ctx.v$.group_virtual_path
3131
+ }, {
3132
+ default: withCtx((props) => [
3133
+ createVNode(_component_VCFormGroup, {
3134
+ "validation-messages": props.data,
3135
+ "validation-severity": props.severity
3136
+ }, {
3137
+ label: withCtx(() => [
3138
+ _cache[2] || (_cache[2] = createTextVNode(" Group ", -1)),
3139
+ _ctx.isVirtualGroupPathDefined ? (openBlock(), createElementBlock("i", _hoisted_3$i)) : createCommentVNode("", true)
3140
+ ]),
3141
+ default: withCtx(() => [
3142
+ createVNode(_component_VCFormSelect, {
3143
+ modelValue: _ctx.v$.group_virtual_path.$model,
3144
+ "onUpdate:modelValue": [
3145
+ _cache[0] || (_cache[0] = ($event) => _ctx.v$.group_virtual_path.$model = $event),
3146
+ _ctx.selectGroup
3147
+ ],
3148
+ options: data.map((el) => {
3149
+ return {
3150
+ id: el.virtual_path,
3151
+ value: el.virtual_path
3152
+ };
3153
+ }),
3154
+ disabled: _ctx.readonly || _ctx.busy
3155
+ }, null, 8, ["modelValue", "options", "disabled", "onUpdate:modelValue"])
3156
+ ]),
3157
+ _: 2
3158
+ }, 1032, ["validation-messages", "validation-severity"])
3159
+ ]),
3160
+ _: 2
3161
+ }, 1032, ["validation"])
3162
+ ]),
3163
+ _: 1
3164
+ })
3165
+ ]),
3166
+ createElementVNode("div", _hoisted_4$e, [
3167
+ _ctx.isVirtualGroupPathDefined ? (openBlock(), createBlock(_component_FMasterImages, {
3168
+ key: 0,
3169
+ ref: "masterImages",
3170
+ query: _ctx.imageQuery
3171
+ }, {
3172
+ default: withCtx(({ data }) => [
3173
+ createVNode(_component_IVuelidate, {
3174
+ validation: _ctx.v$.master_image_id
3175
+ }, {
3176
+ default: withCtx((props) => [
3177
+ createVNode(_component_VCFormGroup, {
3178
+ "validation-messages": props.data,
3179
+ "validation-severity": props.severity
3180
+ }, {
3181
+ label: withCtx(() => [
3182
+ _cache[3] || (_cache[3] = createTextVNode(" Image ", -1)),
3183
+ _ctx.v$.master_image_id.$model ? (openBlock(), createElementBlock("i", _hoisted_5$c)) : createCommentVNode("", true)
3184
+ ]),
3185
+ default: withCtx(() => [
3186
+ createVNode(_component_VCFormSelect, {
3187
+ modelValue: _ctx.v$.master_image_id.$model,
3188
+ "onUpdate:modelValue": [
3189
+ _cache[1] || (_cache[1] = ($event) => _ctx.v$.master_image_id.$model = $event),
3190
+ _ctx.selectImage
3191
+ ],
3192
+ options: data.map((el) => {
3193
+ return {
3194
+ id: el.id,
3195
+ value: el.name,
3196
+ disabled: el.build_status !== "executed"
3197
+ };
3198
+ }),
3199
+ disabled: _ctx.readonly || _ctx.busy
3200
+ }, null, 8, ["modelValue", "options", "disabled", "onUpdate:modelValue"])
3201
+ ]),
3202
+ _: 2
3203
+ }, 1032, ["validation-messages", "validation-severity"])
3204
+ ]),
3205
+ _: 2
3206
+ }, 1032, ["validation"])
3207
+ ]),
3208
+ _: 1
3209
+ }, 8, ["query"])) : createCommentVNode("", true)
3210
+ ])
3211
+ ]);
3212
+ }
3213
+ var FMasterImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", _sfc_render$A]]);
3214
+
2943
3215
  var FNodes = defineComponent({
2944
3216
  props: defineListProps(),
2945
3217
  slots: Object,
@@ -3114,7 +3386,7 @@ const FProjectNodeApprovalStatus = defineComponent({
3114
3386
  }
3115
3387
  });
3116
3388
 
3117
- var _sfc_main$A = defineComponent({
3389
+ var _sfc_main$z = defineComponent({
3118
3390
  components: {
3119
3391
  IVuelidate,
3120
3392
  VCFormInput,
@@ -3163,8 +3435,8 @@ var _sfc_main$A = defineComponent({
3163
3435
  }
3164
3436
  });
3165
3437
 
3166
- const _hoisted_1$o = ["disabled"];
3167
- function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
3438
+ const _hoisted_1$n = ["disabled"];
3439
+ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
3168
3440
  const _component_VCFormInput = resolveComponent("VCFormInput");
3169
3441
  const _component_VCFormGroup = resolveComponent("VCFormGroup");
3170
3442
  const _component_IVuelidate = resolveComponent("IVuelidate");
@@ -3191,7 +3463,7 @@ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
3191
3463
  onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.handleDeleted && _ctx.handleDeleted(...args), ["prevent"]))
3192
3464
  }, [..._cache[2] || (_cache[2] = [
3193
3465
  createElementVNode("i", { class: "fa fa-minus" }, null, -1)
3194
- ])], 8, _hoisted_1$o)
3466
+ ])], 8, _hoisted_1$n)
3195
3467
  ]),
3196
3468
  _: 1
3197
3469
  }, 8, ["modelValue", "disabled", "onChange"])
@@ -3202,7 +3474,7 @@ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
3202
3474
  _: 1
3203
3475
  }, 8, ["validation"]);
3204
3476
  }
3205
- var FFormInputListItem = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", _sfc_render$A]]);
3477
+ var FFormInputListItem = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", _sfc_render$z]]);
3206
3478
 
3207
3479
  const FTranslation = defineComponent({
3208
3480
  props: {
@@ -3248,7 +3520,7 @@ const FTranslationDefault = defineComponent({
3248
3520
  }
3249
3521
  });
3250
3522
 
3251
- var _sfc_main$z = defineComponent({
3523
+ var _sfc_main$y = defineComponent({
3252
3524
  components: {
3253
3525
  FTranslationDefault,
3254
3526
  FFormInputListItem
@@ -3331,23 +3603,23 @@ var _sfc_main$z = defineComponent({
3331
3603
  }
3332
3604
  });
3333
3605
 
3334
- const _hoisted_1$n = { class: "d-flex flex-column gap-2" };
3335
- const _hoisted_2$k = { class: "d-flex flex-row" };
3336
- const _hoisted_3$i = { class: "align-self-end" };
3337
- const _hoisted_4$e = { class: "ms-auto" };
3338
- const _hoisted_5$c = ["disabled"];
3606
+ const _hoisted_1$m = { class: "d-flex flex-column gap-2" };
3607
+ const _hoisted_2$j = { class: "d-flex flex-row" };
3608
+ const _hoisted_3$h = { class: "align-self-end" };
3609
+ const _hoisted_4$d = { class: "ms-auto" };
3610
+ const _hoisted_5$b = ["disabled"];
3339
3611
  const _hoisted_6$a = { class: "d-flex flex-column gap-1" };
3340
- function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
3612
+ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
3341
3613
  const _component_FTranslationDefault = resolveComponent("FTranslationDefault");
3342
3614
  const _component_FFormInputListItem = resolveComponent("FFormInputListItem");
3343
- return openBlock(), createElementBlock("div", _hoisted_1$n, [
3344
- createElementVNode("div", _hoisted_2$k, [
3345
- createElementVNode("div", _hoisted_3$i, [
3615
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [
3616
+ createElementVNode("div", _hoisted_2$j, [
3617
+ createElementVNode("div", _hoisted_3$h, [
3346
3618
  renderSlot(_ctx.$slots, "headerLabel", {}, () => [
3347
3619
  _cache[1] || (_cache[1] = createTextVNode(" Names ", -1))
3348
3620
  ])
3349
3621
  ]),
3350
- createElementVNode("div", _hoisted_4$e, [
3622
+ createElementVNode("div", _hoisted_4$d, [
3351
3623
  renderSlot(_ctx.$slots, "headerActions", {
3352
3624
  add: _ctx.add,
3353
3625
  canAdd: _ctx.canAdd && !_ctx.readonly
@@ -3361,7 +3633,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
3361
3633
  _cache[2] || (_cache[2] = createElementVNode("i", { class: "fa fa-plus" }, null, -1)),
3362
3634
  _cache[3] || (_cache[3] = createTextVNode()),
3363
3635
  createVNode(_component_FTranslationDefault, { name: "add" })
3364
- ], 8, _hoisted_5$c)
3636
+ ], 8, _hoisted_5$b)
3365
3637
  ])
3366
3638
  ])
3367
3639
  ]),
@@ -3393,7 +3665,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
3393
3665
  ])
3394
3666
  ]);
3395
3667
  }
3396
- var FFormInputList = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", _sfc_render$z]]);
3668
+ var FFormInputList = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["render", _sfc_render$y]]);
3397
3669
 
3398
3670
  const FTitle = defineComponent({
3399
3671
  props: {
@@ -3513,7 +3785,7 @@ function renderToggleButton(options) {
3513
3785
  ]);
3514
3786
  }
3515
3787
 
3516
- var _sfc_main$y = defineComponent({
3788
+ var _sfc_main$x = defineComponent({
3517
3789
  props: {
3518
3790
  current: {
3519
3791
  type: String,
@@ -3549,7 +3821,7 @@ var _sfc_main$y = defineComponent({
3549
3821
  }
3550
3822
  });
3551
3823
 
3552
- function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
3824
+ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
3553
3825
  return renderSlot(_ctx.$slots, "default", {
3554
3826
  toggle: _ctx.toggle,
3555
3827
  active: _ctx.active
@@ -3557,7 +3829,7 @@ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
3557
3829
  createTextVNode(toDisplayString(_ctx.current), 1)
3558
3830
  ]);
3559
3831
  }
3560
- var FItemToggle = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["render", _sfc_render$y]]);
3832
+ var FItemToggle = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["render", _sfc_render$x]]);
3561
3833
 
3562
3834
  var FProjectNodeAssignAction = defineComponent({
3563
3835
  props: {
@@ -3969,7 +4241,7 @@ const FProjectInForm = defineComponent({
3969
4241
  }
3970
4242
  });
3971
4243
 
3972
- var _sfc_main$x = defineComponent({
4244
+ var _sfc_main$w = defineComponent({
3973
4245
  components: {
3974
4246
  BModal,
3975
4247
  FProjectInForm,
@@ -4016,27 +4288,27 @@ var _sfc_main$x = defineComponent({
4016
4288
  }
4017
4289
  });
4018
4290
 
4019
- const _hoisted_1$m = { class: "d-flex flex-column gap-1 w-100" };
4020
- const _hoisted_2$j = { class: "w-100" };
4021
- const _hoisted_3$h = { class: "d-flex flex-row align-items-center" };
4022
- const _hoisted_4$d = { class: "ms-auto d-flex flex-row gap-1" };
4023
- const _hoisted_5$b = { class: "row" };
4291
+ const _hoisted_1$l = { class: "d-flex flex-column gap-1 w-100" };
4292
+ const _hoisted_2$i = { class: "w-100" };
4293
+ const _hoisted_3$g = { class: "d-flex flex-row align-items-center" };
4294
+ const _hoisted_4$c = { class: "ms-auto d-flex flex-row gap-1" };
4295
+ const _hoisted_5$a = { class: "row" };
4024
4296
  const _hoisted_6$9 = { class: "col-12 col-md-4 d-flex align-items-center flex-column" };
4025
4297
  const _hoisted_7$8 = { class: "col-12 col-md-4 d-flex align-items-center flex-column" };
4026
4298
  const _hoisted_8$7 = { class: "col-12 col-md-4 d-flex align-items-center flex-column" };
4027
4299
  const _hoisted_9$6 = { class: "d-flex flex-row" };
4028
4300
  const _hoisted_10$6 = { class: "" };
4029
4301
  const _hoisted_11$5 = { class: "ms-auto" };
4030
- function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
4302
+ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
4031
4303
  const _component_VCLink = resolveComponent("VCLink");
4032
4304
  const _component_FProjectNodeApprovalCommand = resolveComponent("FProjectNodeApprovalCommand");
4033
4305
  const _component_FProjectNodeApprovalStatus = resolveComponent("FProjectNodeApprovalStatus");
4034
4306
  const _component_VCTimeago = resolveComponent("VCTimeago");
4035
4307
  const _component_FProjectInForm = resolveComponent("FProjectInForm");
4036
4308
  const _component_BModal = resolveComponent("BModal");
4037
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
4038
- createElementVNode("div", _hoisted_2$j, [
4039
- createElementVNode("div", _hoisted_3$h, [
4309
+ return openBlock(), createElementBlock("div", _hoisted_1$l, [
4310
+ createElementVNode("div", _hoisted_2$i, [
4311
+ createElementVNode("div", _hoisted_3$g, [
4040
4312
  createElementVNode("div", null, [
4041
4313
  renderSlot(_ctx.$slots, "title", { data: _ctx.entity }, () => [
4042
4314
  _cache[2] || (_cache[2] = createElementVNode("i", { class: "fas fa-project-diagram me-1" }, null, -1)),
@@ -4051,7 +4323,7 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
4051
4323
  }, 8, ["to"])
4052
4324
  ])
4053
4325
  ]),
4054
- createElementVNode("div", _hoisted_4$d, [
4326
+ createElementVNode("div", _hoisted_4$c, [
4055
4327
  renderSlot(_ctx.$slots, "itemActions", { data: _ctx.entity }, () => [
4056
4328
  createVNode(_component_VCLink, {
4057
4329
  to: "/projects/" + _ctx.entity.project.id,
@@ -4093,7 +4365,7 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
4093
4365
  ])
4094
4366
  ]),
4095
4367
  renderSlot(_ctx.$slots, "body", { data: _ctx.entity }, () => [
4096
- createElementVNode("div", _hoisted_5$b, [
4368
+ createElementVNode("div", _hoisted_5$a, [
4097
4369
  createElementVNode("div", _hoisted_6$9, [
4098
4370
  _cache[5] || (_cache[5] = createElementVNode("div", null, [
4099
4371
  createElementVNode("strong", null, [
@@ -4187,7 +4459,7 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
4187
4459
  }, 8, ["modelValue"])
4188
4460
  ]);
4189
4461
  }
4190
- var FProjectNodeInCard = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["render", _sfc_render$x]]);
4462
+ var FProjectNodeInCard = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render$w]]);
4191
4463
 
4192
4464
  const FProjectForm = defineComponent({
4193
4465
  props: {
@@ -4293,9 +4565,9 @@ const FProjectForm = defineComponent({
4293
4565
  }
4294
4566
  })
4295
4567
  });
4296
- const masterImagePicker = h(MasterImagePicker, {
4568
+ const masterImagePicker = h(FMasterImagePicker, {
4297
4569
  entityId: form.master_image_id,
4298
- onSelected (value) {
4570
+ onResolved (value) {
4299
4571
  handleMasterImagePicker(value);
4300
4572
  }
4301
4573
  });
@@ -4516,7 +4788,7 @@ var EntityDelete = defineComponent({
4516
4788
  }
4517
4789
  });
4518
4790
 
4519
- var _sfc_main$w = defineComponent({
4791
+ var _sfc_main$v = defineComponent({
4520
4792
  components: {
4521
4793
  AUser,
4522
4794
  ARobot
@@ -4529,7 +4801,7 @@ var _sfc_main$w = defineComponent({
4529
4801
  }
4530
4802
  });
4531
4803
 
4532
- function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
4804
+ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
4533
4805
  const _component_AUser = resolveComponent("AUser");
4534
4806
  const _component_ARobot = resolveComponent("ARobot");
4535
4807
  return openBlock(), createElementBlock("div", null, [
@@ -4568,9 +4840,9 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
4568
4840
  ], 64))
4569
4841
  ]);
4570
4842
  }
4571
- var FProjectCreator = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render$w]]);
4843
+ var FProjectCreator = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render$v]]);
4572
4844
 
4573
- var _sfc_main$v = defineComponent({
4845
+ var _sfc_main$u = defineComponent({
4574
4846
  components: {
4575
4847
  FProjectCreator,
4576
4848
  FEntityDelete: EntityDelete,
@@ -4605,25 +4877,25 @@ var _sfc_main$v = defineComponent({
4605
4877
  }
4606
4878
  });
4607
4879
 
4608
- const _hoisted_1$l = { class: "d-flex flex-column w-100" };
4609
- const _hoisted_2$i = { class: "w-100" };
4610
- const _hoisted_3$g = { class: "d-flex flex-row align-items-center" };
4611
- const _hoisted_4$c = { class: "ms-auto" };
4612
- const _hoisted_5$a = { class: "d-flex justify-content-between flex-row" };
4880
+ const _hoisted_1$k = { class: "d-flex flex-column w-100" };
4881
+ const _hoisted_2$h = { class: "w-100" };
4882
+ const _hoisted_3$f = { class: "d-flex flex-row align-items-center" };
4883
+ const _hoisted_4$b = { class: "ms-auto" };
4884
+ const _hoisted_5$9 = { class: "d-flex justify-content-between flex-row" };
4613
4885
  const _hoisted_6$8 = { class: "d-flex flex-grow-1 align-items-center flex-column" };
4614
4886
  const _hoisted_7$7 = { class: "d-flex flex-grow-1 align-items-center flex-column" };
4615
4887
  const _hoisted_8$6 = { class: "d-flex flex-grow-1 align-items-center flex-column" };
4616
4888
  const _hoisted_9$5 = { class: "d-flex flex-row" };
4617
4889
  const _hoisted_10$5 = { class: "" };
4618
4890
  const _hoisted_11$4 = { class: "ms-auto" };
4619
- function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
4891
+ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
4620
4892
  const _component_VCLink = resolveComponent("VCLink");
4621
4893
  const _component_FEntityDelete = resolveComponent("FEntityDelete");
4622
4894
  const _component_FProjectCreator = resolveComponent("FProjectCreator");
4623
4895
  const _component_VCTimeago = resolveComponent("VCTimeago");
4624
- return openBlock(), createElementBlock("div", _hoisted_1$l, [
4625
- createElementVNode("div", _hoisted_2$i, [
4626
- createElementVNode("div", _hoisted_3$g, [
4896
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
4897
+ createElementVNode("div", _hoisted_2$h, [
4898
+ createElementVNode("div", _hoisted_3$f, [
4627
4899
  createElementVNode("div", null, [
4628
4900
  renderSlot(_ctx.$slots, "title", { data: _ctx.entity }, () => [
4629
4901
  _cache[0] || (_cache[0] = createElementVNode("i", { class: "fas fa-project-diagram me-1" }, null, -1)),
@@ -4638,7 +4910,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
4638
4910
  }, 8, ["to"])
4639
4911
  ])
4640
4912
  ]),
4641
- createElementVNode("div", _hoisted_4$c, [
4913
+ createElementVNode("div", _hoisted_4$b, [
4642
4914
  renderSlot(_ctx.$slots, "itemActions", { data: _ctx.entity }, () => [
4643
4915
  createVNode(_component_VCLink, {
4644
4916
  to: "/projects/" + _ctx.entity.id,
@@ -4664,7 +4936,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
4664
4936
  ])
4665
4937
  ]),
4666
4938
  renderSlot(_ctx.$slots, "body", { data: _ctx.entity }, () => [
4667
- createElementVNode("div", _hoisted_5$a, [
4939
+ createElementVNode("div", _hoisted_5$9, [
4668
4940
  createElementVNode("div", _hoisted_6$8, [
4669
4941
  _cache[2] || (_cache[2] = createElementVNode("div", null, [
4670
4942
  createElementVNode("strong", null, [
@@ -4722,7 +4994,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
4722
4994
  ])
4723
4995
  ]);
4724
4996
  }
4725
- var FProjectItemCard = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render$v]]);
4997
+ var FProjectItemCard = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["render", _sfc_render$u]]);
4726
4998
 
4727
4999
  const FProjectItem = defineComponent({
4728
5000
  props: {
@@ -4788,7 +5060,7 @@ const FProjects = defineComponent({
4788
5060
  }
4789
5061
  });
4790
5062
 
4791
- var _sfc_main$u = defineComponent({
5063
+ var _sfc_main$t = defineComponent({
4792
5064
  components: {
4793
5065
  FSearch,
4794
5066
  IVuelidate,
@@ -4863,19 +5135,19 @@ var _sfc_main$u = defineComponent({
4863
5135
  }
4864
5136
  });
4865
5137
 
4866
- const _hoisted_1$k = { class: "row" };
4867
- const _hoisted_2$h = { class: "col" };
4868
- const _hoisted_3$f = ["disabled"];
4869
- const _hoisted_4$b = {
5138
+ const _hoisted_1$j = { class: "row" };
5139
+ const _hoisted_2$g = { class: "col" };
5140
+ const _hoisted_3$e = ["disabled"];
5141
+ const _hoisted_4$a = {
4870
5142
  key: 0,
4871
5143
  class: "col"
4872
5144
  };
4873
- const _hoisted_5$9 = ["disabled", "onClick"];
5145
+ const _hoisted_5$8 = ["disabled", "onClick"];
4874
5146
  const _hoisted_6$7 = {
4875
5147
  key: 0,
4876
5148
  class: "alert alert-sm alert-warning"
4877
5149
  };
4878
- function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
5150
+ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
4879
5151
  const _component_VCFormInput = resolveComponent("VCFormInput");
4880
5152
  const _component_VCFormGroup = resolveComponent("VCFormGroup");
4881
5153
  const _component_IVuelidate = resolveComponent("IVuelidate");
@@ -4885,8 +5157,8 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
4885
5157
  return openBlock(), createElementBlock("form", {
4886
5158
  onSubmit: _cache[3] || (_cache[3] = withModifiers((...args) => _ctx.add && _ctx.add(...args), ["prevent"]))
4887
5159
  }, [
4888
- createElementVNode("div", _hoisted_1$k, [
4889
- createElementVNode("div", _hoisted_2$h, [
5160
+ createElementVNode("div", _hoisted_1$j, [
5161
+ createElementVNode("div", _hoisted_2$g, [
4890
5162
  createVNode(_component_IVuelidate, {
4891
5163
  validation: _ctx.v$.name
4892
5164
  }, {
@@ -4942,10 +5214,10 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
4942
5214
  }, [..._cache[6] || (_cache[6] = [
4943
5215
  createElementVNode("i", { class: "fa fa-plus" }, null, -1),
4944
5216
  createTextVNode(" create ", -1)
4945
- ])], 8, _hoisted_3$f)
5217
+ ])], 8, _hoisted_3$e)
4946
5218
  ])
4947
5219
  ]),
4948
- !_ctx.projectId ? (openBlock(), createElementBlock("div", _hoisted_4$b, [
5220
+ !_ctx.projectId ? (openBlock(), createElementBlock("div", _hoisted_4$a, [
4949
5221
  createVNode(_component_FProjects, { query: _ctx.proposalQuery }, {
4950
5222
  header: withCtx((props) => [
4951
5223
  _cache[8] || (_cache[8] = createElementVNode("label", null, "Projects", -1)),
@@ -4970,7 +5242,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
4970
5242
  "fa fa-minus": _ctx.form.project_id === props.data.id
4971
5243
  })
4972
5244
  }, null, 2)
4973
- ], 10, _hoisted_5$9)
5245
+ ], 10, _hoisted_5$8)
4974
5246
  ]),
4975
5247
  _: 1
4976
5248
  }, 8, ["query"]),
@@ -4979,7 +5251,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
4979
5251
  ])
4980
5252
  ], 32);
4981
5253
  }
4982
- var FAnalysisBasicForm = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["render", _sfc_render$u]]);
5254
+ var FAnalysisBasicForm = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["render", _sfc_render$t]]);
4983
5255
 
4984
5256
  var FAnalysis = defineComponent({
4985
5257
  props: defineEntityManagerProps(),
@@ -5123,7 +5395,7 @@ var FAnalysisName = defineComponent({
5123
5395
  }
5124
5396
  });
5125
5397
 
5126
- var _sfc_main$t = defineComponent({
5398
+ var _sfc_main$s = defineComponent({
5127
5399
  props: {
5128
5400
  locked: {
5129
5401
  type: Boolean,
@@ -5158,7 +5430,7 @@ var _sfc_main$t = defineComponent({
5158
5430
  }
5159
5431
  });
5160
5432
 
5161
- function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
5433
+ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
5162
5434
  return openBlock(), createElementBlock("span", null, [
5163
5435
  renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ classSuffix: _ctx.classSuffix, statusText: _ctx.statusText })), () => [
5164
5436
  createElementVNode("span", {
@@ -5167,9 +5439,9 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
5167
5439
  ])
5168
5440
  ]);
5169
5441
  }
5170
- var FAnalysisConfigurationStatus = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["render", _sfc_render$t]]);
5442
+ var FAnalysisConfigurationStatus = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render$s]]);
5171
5443
 
5172
- var _sfc_main$s = defineComponent({
5444
+ var _sfc_main$r = defineComponent({
5173
5445
  components: {
5174
5446
  FProcessStatus,
5175
5447
  FAnalysisConfigurationStatus
@@ -5211,7 +5483,7 @@ var _sfc_main$s = defineComponent({
5211
5483
  }
5212
5484
  });
5213
5485
 
5214
- function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
5486
+ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
5215
5487
  const _component_FAnalysisConfigurationStatus = resolveComponent("FAnalysisConfigurationStatus");
5216
5488
  const _component_FProcessStatus = resolveComponent("FProcessStatus");
5217
5489
  return openBlock(), createElementBlock("div", {
@@ -5302,9 +5574,9 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
5302
5574
  ])
5303
5575
  ], 2);
5304
5576
  }
5305
- var FAnalysisStatus = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render$s]]);
5577
+ var FAnalysisStatus = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render$r]]);
5306
5578
 
5307
- var _sfc_main$r = defineComponent({
5579
+ var _sfc_main$q = defineComponent({
5308
5580
  props: {
5309
5581
  entity: {
5310
5582
  type: Object,
@@ -5371,22 +5643,22 @@ var _sfc_main$r = defineComponent({
5371
5643
  }
5372
5644
  });
5373
5645
 
5374
- const _hoisted_1$j = { class: "progress bg-white" };
5375
- const _hoisted_2$g = ["aria-valuenow"];
5376
- function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
5377
- return openBlock(), createElementBlock("div", _hoisted_1$j, [
5646
+ const _hoisted_1$i = { class: "progress bg-white" };
5647
+ const _hoisted_2$f = ["aria-valuenow"];
5648
+ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
5649
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
5378
5650
  createElementVNode("div", {
5379
5651
  class: normalizeClass(["progress-bar", _ctx.bgClazz]),
5380
5652
  style: normalizeStyle({ width: _ctx.progress + "%" }),
5381
5653
  "aria-valuenow": _ctx.progress,
5382
5654
  "aria-valuemin": "0",
5383
5655
  "aria-valuemax": "100"
5384
- }, null, 14, _hoisted_2$g)
5656
+ }, null, 14, _hoisted_2$f)
5385
5657
  ]);
5386
5658
  }
5387
- var FAnalysisProgressBar = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render$r]]);
5659
+ var FAnalysisProgressBar = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q]]);
5388
5660
 
5389
- var _sfc_main$q = defineComponent({
5661
+ var _sfc_main$p = defineComponent({
5390
5662
  components: {
5391
5663
  FAnalysisProgressBar,
5392
5664
  FAnalysisPipeline: FAnalysisStatus,
@@ -5444,27 +5716,27 @@ var _sfc_main$q = defineComponent({
5444
5716
  }
5445
5717
  });
5446
5718
 
5447
- const _hoisted_1$i = { class: "d-flex flex-column analysis-item-card" };
5448
- const _hoisted_2$f = { class: "d-flex flex-row align-items-center" };
5449
- const _hoisted_3$e = { class: "me-1" };
5450
- const _hoisted_4$a = {
5719
+ const _hoisted_1$h = { class: "d-flex flex-column analysis-item-card" };
5720
+ const _hoisted_2$e = { class: "d-flex flex-row align-items-center" };
5721
+ const _hoisted_3$d = { class: "me-1" };
5722
+ const _hoisted_4$9 = {
5451
5723
  key: 0,
5452
5724
  class: "text-muted ms-1"
5453
5725
  };
5454
- const _hoisted_5$8 = { class: "ms-auto" };
5726
+ const _hoisted_5$7 = { class: "ms-auto" };
5455
5727
  const _hoisted_6$6 = { class: "d-flex flex-row" };
5456
5728
  const _hoisted_7$6 = { class: "" };
5457
5729
  const _hoisted_8$5 = { class: "ms-auto" };
5458
- function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
5730
+ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
5459
5731
  const _component_VCLink = resolveComponent("VCLink");
5460
5732
  const _component_FAnalysisName = resolveComponent("FAnalysisName");
5461
5733
  const _component_FEntityDelete = resolveComponent("FEntityDelete");
5462
5734
  const _component_FAnalysisPipeline = resolveComponent("FAnalysisPipeline");
5463
5735
  const _component_FAnalysisProgressBar = resolveComponent("FAnalysisProgressBar");
5464
5736
  const _component_VCTimeago = resolveComponent("VCTimeago");
5465
- return openBlock(), createElementBlock("div", _hoisted_1$i, [
5466
- createElementVNode("div", _hoisted_2$f, [
5467
- createElementVNode("div", _hoisted_3$e, [
5737
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [
5738
+ createElementVNode("div", _hoisted_2$e, [
5739
+ createElementVNode("div", _hoisted_3$d, [
5468
5740
  createVNode(_component_FAnalysisName, {
5469
5741
  class: "analysis-item-card-title",
5470
5742
  "entity-id": _ctx.entity.id,
@@ -5482,12 +5754,12 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
5482
5754
  ]),
5483
5755
  _: 2
5484
5756
  }, 1032, ["to"]),
5485
- props.entityName ? (openBlock(), createElementBlock("span", _hoisted_4$a, toDisplayString(props.entityId), 1)) : createCommentVNode("", true)
5757
+ props.entityName ? (openBlock(), createElementBlock("span", _hoisted_4$9, toDisplayString(props.entityId), 1)) : createCommentVNode("", true)
5486
5758
  ]),
5487
5759
  _: 1
5488
5760
  }, 8, ["entity-id", "entity-name", "onUpdated"])
5489
5761
  ]),
5490
- createElementVNode("div", _hoisted_5$8, [
5762
+ createElementVNode("div", _hoisted_5$7, [
5491
5763
  renderSlot(_ctx.$slots, "itemActions", { data: _ctx.entity }, () => [
5492
5764
  createElementVNode("button", {
5493
5765
  class: "btn btn-xs btn-dark",
@@ -5554,7 +5826,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
5554
5826
  ])
5555
5827
  ]);
5556
5828
  }
5557
- var FAnalysisItemCard = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q], ["__scopeId", "data-v-fbbdc3ff"]]);
5829
+ var FAnalysisItemCard = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p], ["__scopeId", "data-v-fbbdc3ff"]]);
5558
5830
 
5559
5831
  const FAnalysisItem = defineComponent({
5560
5832
  props: {
@@ -5608,7 +5880,7 @@ const filterImageCommandArgumentsForPosition = (input, position = 'before')=>{
5608
5880
  }
5609
5881
  return input.filter((item)=>item.position === 'after');
5610
5882
  };
5611
- var _sfc_main$p = defineComponent({
5883
+ var _sfc_main$o = defineComponent({
5612
5884
  props: {
5613
5885
  tag: {
5614
5886
  type: String,
@@ -5644,7 +5916,7 @@ var _sfc_main$p = defineComponent({
5644
5916
  }
5645
5917
  });
5646
5918
 
5647
- function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
5919
+ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
5648
5920
  return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), { class: "command-box d-flex flex-row gap-1 flex-wrap" }, {
5649
5921
  default: withCtx(() => [
5650
5922
  _cache[0] || (_cache[0] = createElementVNode("div", { class: "shell-sign" }, " $ ", -1)),
@@ -5672,9 +5944,9 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
5672
5944
  _: 1
5673
5945
  });
5674
5946
  }
5675
- var ImageCommand = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
5947
+ var ImageCommand = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
5676
5948
 
5677
- var _sfc_main$o = defineComponent({
5949
+ var _sfc_main$n = defineComponent({
5678
5950
  components: {
5679
5951
  ImageCommand
5680
5952
  },
@@ -5818,7 +6090,7 @@ var _sfc_main$o = defineComponent({
5818
6090
  }
5819
6091
  });
5820
6092
 
5821
- function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
6093
+ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
5822
6094
  const _component_ImageCommand = resolveComponent("ImageCommand");
5823
6095
  return openBlock(), createBlock(_component_ImageCommand, {
5824
6096
  command: _ctx.command,
@@ -5826,7 +6098,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
5826
6098
  file: _ctx.file
5827
6099
  }, null, 8, ["command", "command-arguments", "file"]);
5828
6100
  }
5829
- var FAnalysisImageCommand = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
6101
+ var FAnalysisImageCommand = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
5830
6102
 
5831
6103
  const extractItemsByPosition = (value, position)=>{
5832
6104
  if (position === 'before') {
@@ -5834,7 +6106,7 @@ const extractItemsByPosition = (value, position)=>{
5834
6106
  }
5835
6107
  return value.filter((item)=>item.position === 'after');
5836
6108
  };
5837
- var _sfc_main$n = defineComponent({
6109
+ var _sfc_main$m = defineComponent({
5838
6110
  components: {
5839
6111
  FFormInputList
5840
6112
  },
@@ -5931,17 +6203,17 @@ var _sfc_main$n = defineComponent({
5931
6203
  }
5932
6204
  });
5933
6205
 
5934
- const _hoisted_1$h = { class: "row" };
5935
- const _hoisted_2$e = { class: "col" };
5936
- const _hoisted_3$d = ["disabled"];
5937
- const _hoisted_4$9 = ["disabled", "onClick"];
5938
- const _hoisted_5$7 = { class: "col" };
6206
+ const _hoisted_1$g = { class: "row" };
6207
+ const _hoisted_2$d = { class: "col" };
6208
+ const _hoisted_3$c = ["disabled"];
6209
+ const _hoisted_4$8 = ["disabled", "onClick"];
6210
+ const _hoisted_5$6 = { class: "col" };
5939
6211
  const _hoisted_6$5 = ["disabled"];
5940
6212
  const _hoisted_7$5 = ["disabled", "onClick"];
5941
- function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
6213
+ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
5942
6214
  const _component_FFormInputList = resolveComponent("FFormInputList");
5943
- return openBlock(), createElementBlock("div", _hoisted_1$h, [
5944
- createElementVNode("div", _hoisted_2$e, [
6215
+ return openBlock(), createElementBlock("div", _hoisted_1$g, [
6216
+ createElementVNode("div", _hoisted_2$d, [
5945
6217
  createVNode(_component_FFormInputList, {
5946
6218
  ref: "itemsBefore",
5947
6219
  readonly: _ctx.readonly,
@@ -5959,7 +6231,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
5959
6231
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.resetItemsForPosition("before"), ["prevent"]))
5960
6232
  }, [..._cache[3] || (_cache[3] = [
5961
6233
  createElementVNode("i", { class: "fa fa-undo" }, null, -1)
5962
- ])], 8, _hoisted_3$d),
6234
+ ])], 8, _hoisted_3$c),
5963
6235
  createElementVNode("button", {
5964
6236
  class: "btn btn-xs btn-primary",
5965
6237
  type: "button",
@@ -5967,7 +6239,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
5967
6239
  onClick: withModifiers(($event) => props.add(), ["prevent"])
5968
6240
  }, [..._cache[4] || (_cache[4] = [
5969
6241
  createElementVNode("i", { class: "fa fa-plus" }, null, -1)
5970
- ])], 8, _hoisted_4$9)
6242
+ ])], 8, _hoisted_4$8)
5971
6243
  ]),
5972
6244
  noItems: withCtx(() => [..._cache[5] || (_cache[5] = [
5973
6245
  createElementVNode("div", { class: "alert alert-sm alert-info" }, " No command arguments are selected to be placed between command and entrypoint. ", -1)
@@ -5975,7 +6247,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
5975
6247
  _: 1
5976
6248
  }, 8, ["readonly", "names", "onChanged"])
5977
6249
  ]),
5978
- createElementVNode("div", _hoisted_5$7, [
6250
+ createElementVNode("div", _hoisted_5$6, [
5979
6251
  createVNode(_component_FFormInputList, {
5980
6252
  ref: "itemsAfter",
5981
6253
  readonly: _ctx.readonly,
@@ -6011,9 +6283,9 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
6011
6283
  ])
6012
6284
  ]);
6013
6285
  }
6014
- var FImageCommandArguments = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
6286
+ var FImageCommandArguments = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
6015
6287
 
6016
- var _sfc_main$m = defineComponent({
6288
+ var _sfc_main$l = defineComponent({
6017
6289
  components: {
6018
6290
  FImageCommandArguments,
6019
6291
  FAnalysis
@@ -6035,7 +6307,7 @@ var _sfc_main$m = defineComponent({
6035
6307
  }
6036
6308
  });
6037
6309
 
6038
- function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
6310
+ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
6039
6311
  const _component_FImageCommandArguments = resolveComponent("FImageCommandArguments");
6040
6312
  const _component_FAnalysis = resolveComponent("FAnalysis");
6041
6313
  return openBlock(), createBlock(_component_FAnalysis, {
@@ -6060,7 +6332,7 @@ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
6060
6332
  _: 1
6061
6333
  }, 8, ["entity", "entity-id"]);
6062
6334
  }
6063
- var FAnalysisImageCommandArguments = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
6335
+ var FAnalysisImageCommandArguments = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l]]);
6064
6336
 
6065
6337
  var FAnalyses = defineComponent({
6066
6338
  props: defineListProps(),
@@ -6098,322 +6370,6 @@ var FAnalyses = defineComponent({
6098
6370
  }
6099
6371
  });
6100
6372
 
6101
- const FMasterImage = defineComponent({
6102
- props: defineEntityManagerProps(),
6103
- emits: defineEntityManagerEvents(),
6104
- slots: Object,
6105
- async setup (props, setup) {
6106
- const manager = createEntityManager({
6107
- type: `${DomainType.MASTER_IMAGE}`,
6108
- setup,
6109
- props
6110
- });
6111
- await manager.resolve();
6112
- return ()=>manager.render();
6113
- }
6114
- });
6115
-
6116
- var _sfc_main$l = defineComponent({
6117
- components: {
6118
- FMasterImages: MasterImageList,
6119
- FMasterImageGroups,
6120
- IVuelidate
6121
- },
6122
- props: {
6123
- entityId: {
6124
- type: String
6125
- },
6126
- entity: {
6127
- type: Object
6128
- },
6129
- readonly: {
6130
- type: Boolean,
6131
- default: false
6132
- }
6133
- },
6134
- emits: {
6135
- ...defineEntityManagerEvents()
6136
- },
6137
- setup (props, setup) {
6138
- const entityId = toRef(props, 'entityId');
6139
- const vMasterImages = useTemplateRef('masterImages');
6140
- const form = reactive({
6141
- group_virtual_path: '',
6142
- master_image_id: ''
6143
- });
6144
- const imageQuery = computed(()=>({
6145
- filters: {
6146
- ...form.group_virtual_path !== '' ? {
6147
- group_virtual_path: form.group_virtual_path
6148
- } : {}
6149
- }
6150
- }));
6151
- const resolved = ref(false);
6152
- const manager = createEntityManager({
6153
- type: DomainType.MASTER_IMAGE,
6154
- props,
6155
- setup,
6156
- onResolved: (entity)=>{
6157
- if (entity) {
6158
- form.group_virtual_path = entity.group_virtual_path;
6159
- form.master_image_id = entity.id;
6160
- } else {
6161
- form.group_virtual_path = '';
6162
- form.master_image_id = '';
6163
- }
6164
- resolved.value = true;
6165
- }
6166
- });
6167
- if (props.entityId) {
6168
- form.master_image_id = props.entityId;
6169
- }
6170
- if (props.entity) {
6171
- form.master_image_id = props.entity.id;
6172
- }
6173
- Promise.resolve().then(()=>manager.resolve());
6174
- const v$ = useVuelidate({
6175
- group_virtual_path: {
6176
- required
6177
- },
6178
- master_image_id: {
6179
- required
6180
- }
6181
- }, form, {
6182
- $scope: false
6183
- });
6184
- const isVirtualGroupPathDefined = computed(()=>!!form.group_virtual_path && form.group_virtual_path.length > 0);
6185
- watch(entityId, (val, oldValue)=>{
6186
- if (val && val !== oldValue) {
6187
- manager.resolveByRest({
6188
- id: val,
6189
- reset: true
6190
- });
6191
- }
6192
- });
6193
- watch(imageQuery, (val, oldValue)=>{
6194
- if (val && val !== oldValue) {
6195
- nextTick(async ()=>{
6196
- if (vMasterImages.value) {
6197
- await vMasterImages.value.load();
6198
- }
6199
- });
6200
- }
6201
- });
6202
- const selectGroup = (input)=>{
6203
- if (!input) {
6204
- form.master_image_id = '';
6205
- form.group_virtual_path = '';
6206
- return;
6207
- }
6208
- form.group_virtual_path = input;
6209
- form.master_image_id = '';
6210
- };
6211
- const selectImage = (id)=>{
6212
- manager.data.value = null;
6213
- manager.resolveByRest({
6214
- reset: true,
6215
- id
6216
- });
6217
- };
6218
- return {
6219
- isVirtualGroupPathDefined,
6220
- imageQuery,
6221
- selectImage,
6222
- selectGroup,
6223
- v$,
6224
- busy: manager.busy,
6225
- data: manager.data,
6226
- resolved
6227
- };
6228
- }
6229
- });
6230
-
6231
- const _hoisted_1$g = { class: "row" };
6232
- const _hoisted_2$d = { class: "col" };
6233
- const _hoisted_3$c = {
6234
- key: 0,
6235
- class: "fa fa-check text-success"
6236
- };
6237
- const _hoisted_4$8 = { class: "col" };
6238
- const _hoisted_5$6 = {
6239
- key: 0,
6240
- class: "fa fa-check text-success"
6241
- };
6242
- function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
6243
- const _component_VCFormSelect = resolveComponent("VCFormSelect");
6244
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
6245
- const _component_IVuelidate = resolveComponent("IVuelidate");
6246
- const _component_FMasterImageGroups = resolveComponent("FMasterImageGroups");
6247
- const _component_FMasterImages = resolveComponent("FMasterImages");
6248
- return openBlock(), createElementBlock("div", _hoisted_1$g, [
6249
- createElementVNode("div", _hoisted_2$d, [
6250
- createVNode(_component_FMasterImageGroups, null, {
6251
- default: withCtx(({ data }) => [
6252
- createVNode(_component_IVuelidate, {
6253
- validation: _ctx.v$.group_virtual_path
6254
- }, {
6255
- default: withCtx((props) => [
6256
- createVNode(_component_VCFormGroup, {
6257
- "validation-messages": props.data,
6258
- "validation-severity": props.severity
6259
- }, {
6260
- label: withCtx(() => [
6261
- _cache[2] || (_cache[2] = createTextVNode(" Group ", -1)),
6262
- _ctx.isVirtualGroupPathDefined ? (openBlock(), createElementBlock("i", _hoisted_3$c)) : createCommentVNode("", true)
6263
- ]),
6264
- default: withCtx(() => [
6265
- createVNode(_component_VCFormSelect, {
6266
- modelValue: _ctx.v$.group_virtual_path.$model,
6267
- "onUpdate:modelValue": [
6268
- _cache[0] || (_cache[0] = ($event) => _ctx.v$.group_virtual_path.$model = $event),
6269
- _ctx.selectGroup
6270
- ],
6271
- options: data.map((el) => {
6272
- return {
6273
- id: el.virtual_path,
6274
- value: el.virtual_path
6275
- };
6276
- }),
6277
- disabled: _ctx.readonly || _ctx.busy
6278
- }, null, 8, ["modelValue", "options", "disabled", "onUpdate:modelValue"])
6279
- ]),
6280
- _: 2
6281
- }, 1032, ["validation-messages", "validation-severity"])
6282
- ]),
6283
- _: 2
6284
- }, 1032, ["validation"])
6285
- ]),
6286
- _: 1
6287
- })
6288
- ]),
6289
- createElementVNode("div", _hoisted_4$8, [
6290
- _ctx.resolved ? (openBlock(), createBlock(_component_FMasterImages, {
6291
- key: 0,
6292
- ref: "masterImages",
6293
- query: _ctx.imageQuery
6294
- }, {
6295
- default: withCtx(({ data }) => [
6296
- createVNode(_component_IVuelidate, {
6297
- validation: _ctx.v$.master_image_id
6298
- }, {
6299
- default: withCtx((props) => [
6300
- createVNode(_component_VCFormGroup, {
6301
- "validation-messages": props.data,
6302
- "validation-severity": props.severity
6303
- }, {
6304
- label: withCtx(() => [
6305
- _cache[3] || (_cache[3] = createTextVNode(" Image ", -1)),
6306
- _ctx.v$.master_image_id.$model ? (openBlock(), createElementBlock("i", _hoisted_5$6)) : createCommentVNode("", true)
6307
- ]),
6308
- default: withCtx(() => [
6309
- createVNode(_component_VCFormSelect, {
6310
- modelValue: _ctx.v$.master_image_id.$model,
6311
- "onUpdate:modelValue": [
6312
- _cache[1] || (_cache[1] = ($event) => _ctx.v$.master_image_id.$model = $event),
6313
- _ctx.selectImage
6314
- ],
6315
- options: data.map((el) => {
6316
- return {
6317
- id: el.id,
6318
- value: el.name
6319
- };
6320
- }),
6321
- disabled: _ctx.readonly || _ctx.busy
6322
- }, null, 8, ["modelValue", "options", "disabled", "onUpdate:modelValue"])
6323
- ]),
6324
- _: 2
6325
- }, 1032, ["validation-messages", "validation-severity"])
6326
- ]),
6327
- _: 2
6328
- }, 1032, ["validation"])
6329
- ]),
6330
- _: 1
6331
- }, 8, ["query"])) : createCommentVNode("", true)
6332
- ])
6333
- ]);
6334
- }
6335
- var FMasterImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l]]);
6336
-
6337
- var FMasterImagesSync = defineComponent({
6338
- components: {
6339
- EntityDelete,
6340
- MasterImageList
6341
- },
6342
- emits: [
6343
- 'executed',
6344
- 'failed'
6345
- ],
6346
- setup (props, { emit }) {
6347
- const apiClient = injectCoreHTTPClient();
6348
- const busy = ref(false);
6349
- const itemList = ref(null);
6350
- const sync = wrapFnWithBusyState(busy, async ()=>{
6351
- try {
6352
- await apiClient.masterImage.runCommand(MasterImageCommand.SYNC);
6353
- emit('executed');
6354
- } catch (e) {
6355
- if (e instanceof Error) {
6356
- emit('failed', e);
6357
- }
6358
- }
6359
- });
6360
- const handleDeleted = async (data)=>{
6361
- if (itemList.value) {
6362
- itemList.value.handleDeleted(data.id);
6363
- }
6364
- };
6365
- return ()=>h('div', {
6366
- class: 'd-flex flex-column gap-2'
6367
- }, [
6368
- h('div', {
6369
- class: 'd-flex flex-row'
6370
- }, [
6371
- h(FTitle, {
6372
- text: 'Overview'
6373
- }),
6374
- h('div', {
6375
- class: 'ms-auto'
6376
- }, [
6377
- h('button', {
6378
- type: 'button',
6379
- disabled: busy.value,
6380
- class: 'btn btn-xs btn-success',
6381
- onClick (event) {
6382
- event.preventDefault();
6383
- return sync();
6384
- }
6385
- }, [
6386
- h('i', {
6387
- class: 'fa fa-sync me-1'
6388
- }),
6389
- 'Sync'
6390
- ])
6391
- ])
6392
- ]),
6393
- h(MasterImageList, {
6394
- ref: itemList
6395
- }, {
6396
- [EntityListSlotName.ITEM_ACTIONS]: (props)=>[
6397
- h(EntityDelete, {
6398
- class: 'btn btn-xs btn-danger',
6399
- elementType: 'button',
6400
- entityId: props.data.id,
6401
- entityType: DomainType.MASTER_IMAGE,
6402
- withText: false,
6403
- onDeleted (item) {
6404
- return handleDeleted(item);
6405
- }
6406
- })
6407
- ],
6408
- [EntityListSlotName.FOOTER]: (props)=>h(FPagination, {
6409
- load: props.load,
6410
- meta: props.meta
6411
- })
6412
- })
6413
- ]);
6414
- }
6415
- });
6416
-
6417
6373
  var _sfc_main$k = defineComponent({
6418
6374
  components: {
6419
6375
  FMasterImagePicker,
@@ -10772,9 +10728,10 @@ var components = /*#__PURE__*/Object.freeze({
10772
10728
  FLog: FLog,
10773
10729
  FLogs: FLogs,
10774
10730
  FMasterImage: FMasterImage,
10731
+ FMasterImageCard: FMasterImageCard,
10732
+ FMasterImageCommand: FMasterImageCommand,
10775
10733
  FMasterImagePicker: FMasterImagePicker,
10776
10734
  FMasterImages: MasterImageList,
10777
- FMasterImagesSync: FMasterImagesSync,
10778
10735
  FNodeClient: FNodeClient,
10779
10736
  FNodeCrypto: FNodeCrypto,
10780
10737
  FNodeForm: FNodeForm,
@@ -10850,5 +10807,5 @@ var index = {
10850
10807
  install
10851
10808
  };
10852
10809
 
10853
- export { ActionCommandElementType, ElementType, EntityListSlotName, EntityManagerError, FAnalyses, FAnalysis, FAnalysisBasicForm, FAnalysisBucket, FAnalysisBucketDownload, FAnalysisBucketFile, FAnalysisBucketFileRootToggler, FAnalysisBucketFiles, FAnalysisImageCommand, FAnalysisImageCommandArguments, FAnalysisItem, FAnalysisLogs, FAnalysisMasterImagePicker, FAnalysisName, FAnalysisNode, FAnalysisNodeApprovalCommand, FAnalysisNodeApprovalStatus, FAnalysisNodeAssignAction, FAnalysisNodeInCard, FAnalysisNodeLogs, FAnalysisNodes, FAnalysisNodesManager, FAnalysisPermissionAssignment, FAnalysisPermissionAssignments, FAnalysisProgressBar, FAnalysisStatus, FAnalysisSteps, FAnalysisTypeBucket, FBucketFiles, FBucketFilesManager, EntityDelete as FEntityDelete, FEvent, FEventActor, FEventExpiring, FEventRef, FEvents, FFormInputList as FFromInputList, FFormInputListItem as FFromInputListItem, FItemToggle, FLog, FLogs, FMasterImage, FMasterImagePicker, MasterImageList as FMasterImages, FMasterImagesSync, FNodeClient, FNodeCrypto, FNodeForm, FNodeRegistryProject, FNodes, FPagination, FProcessStatus, FProject, FProjectCreator, FProjectForm, FProjectInForm, FProjectItem, FProjectItemCard, FProjectNode, FProjectNodeApprovalCommand, FProjectNodeApprovalStatus, FProjectNodeAssignAction, FProjectNodeInCard, FProjectNodes, FProjects, FSearch, FTitle, FTranslation, FTranslationDefault, ListHandlers, FLoginForm as LoginForm, FMasterImageGroups as MasterImageGroupList, FRegistryCleanup as RegistryCleanup, FRegistryForm as RegistryForm, RegistryList, RegistryProjectDetails, FRegistryProjectForm as RegistryProjectForm, FRegistryProjects as RegistryProjectList, FRegistrySetup as RegistrySetup, alphaNumHyphenUnderscore$1 as alphaNumHyphenUnderscore, alphaWithUpperNumHyphenUnderScore, buildEntityManagerSlotProps, createEntityManager, createList, createListRaw, index as default, defineEntityManagerEvents, defineEntityManagerProps, defineListEvents, defineListProps, extendObjectProperties, extractVuelidateResultsFromChild, hasNormalizedSlot, initFormAttributesFromSource, injectCoreHTTPClient, injectSocketManager, injectStorageHTTPClient, injectTelemetryHTTPClient, install, installCoreHTTPClient, installSocketManager, installStorageHTTPClient, installTelemetryHTTPClient, installTranslator, isCoreHTTPClientUsable, isQuerySortedDescByDate, isSocketManagerUsable, isStorageHTTPClientUsable, isTelemetryHTTPClientUsable, mergeListOptions, normalizeSlot, provideCoreHTTPClient, provideSocketManager, provideStorageHTTPClient, provideTelemetryHTTPClient, renderActionCommand, renderEntityAssignAction, renderToggleButton, wrapFnWithBusyState };
10810
+ export { ActionCommandElementType, ElementType, EntityListSlotName, EntityManagerError, FAnalyses, FAnalysis, FAnalysisBasicForm, FAnalysisBucket, FAnalysisBucketDownload, FAnalysisBucketFile, FAnalysisBucketFileRootToggler, FAnalysisBucketFiles, FAnalysisImageCommand, FAnalysisImageCommandArguments, FAnalysisItem, FAnalysisLogs, FAnalysisMasterImagePicker, FAnalysisName, FAnalysisNode, FAnalysisNodeApprovalCommand, FAnalysisNodeApprovalStatus, FAnalysisNodeAssignAction, FAnalysisNodeInCard, FAnalysisNodeLogs, FAnalysisNodes, FAnalysisNodesManager, FAnalysisPermissionAssignment, FAnalysisPermissionAssignments, FAnalysisProgressBar, FAnalysisStatus, FAnalysisSteps, FAnalysisTypeBucket, FBucketFiles, FBucketFilesManager, EntityDelete as FEntityDelete, FEvent, FEventActor, FEventExpiring, FEventRef, FEvents, FFormInputList as FFromInputList, FFormInputListItem as FFromInputListItem, FItemToggle, FLog, FLogs, FMasterImage, FMasterImageCard, FMasterImageCommand, FMasterImagePicker, MasterImageList as FMasterImages, FNodeClient, FNodeCrypto, FNodeForm, FNodeRegistryProject, FNodes, FPagination, FProcessStatus, FProject, FProjectCreator, FProjectForm, FProjectInForm, FProjectItem, FProjectItemCard, FProjectNode, FProjectNodeApprovalCommand, FProjectNodeApprovalStatus, FProjectNodeAssignAction, FProjectNodeInCard, FProjectNodes, FProjects, FSearch, FTitle, FTranslation, FTranslationDefault, ListHandlers, FLoginForm as LoginForm, FMasterImageGroups as MasterImageGroupList, FRegistryCleanup as RegistryCleanup, FRegistryForm as RegistryForm, RegistryList, RegistryProjectDetails, FRegistryProjectForm as RegistryProjectForm, FRegistryProjects as RegistryProjectList, FRegistrySetup as RegistrySetup, alphaNumHyphenUnderscore$1 as alphaNumHyphenUnderscore, alphaWithUpperNumHyphenUnderScore, buildEntityManagerSlotProps, createEntityManager, createList, createListRaw, index as default, defineEntityManagerEvents, defineEntityManagerProps, defineListEvents, defineListProps, extendObjectProperties, extractVuelidateResultsFromChild, hasNormalizedSlot, initFormAttributesFromSource, injectCoreHTTPClient, injectSocketManager, injectStorageHTTPClient, injectTelemetryHTTPClient, install, installCoreHTTPClient, installSocketManager, installStorageHTTPClient, installTelemetryHTTPClient, installTranslator, isCoreHTTPClientUsable, isQuerySortedDescByDate, isSocketManagerUsable, isStorageHTTPClientUsable, isTelemetryHTTPClientUsable, mergeListOptions, normalizeSlot, provideCoreHTTPClient, provideSocketManager, provideStorageHTTPClient, provideTelemetryHTTPClient, renderActionCommand, renderEntityAssignAction, renderToggleButton, wrapFnWithBusyState };
10854
10811
  //# sourceMappingURL=index.mjs.map