dashboard-shell-shell 1.0.113 → 1.0.114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/components/ActionDropdown.vue +1 -1
  2. package/components/ActionMenu.vue +2 -2
  3. package/components/ActionMenuShell.vue +0 -1
  4. package/components/AppModal.vue +6 -78
  5. package/components/AssignTo.vue +11 -25
  6. package/components/AsyncButton.vue +7 -24
  7. package/components/BannerGraphic.vue +0 -1
  8. package/components/ButtonDropdown.vue +4 -26
  9. package/components/ButtonGroup.vue +0 -4
  10. package/components/ButtonMultiAction.vue +0 -1
  11. package/components/CommunityLinks.vue +3 -3
  12. package/components/ConsumptionGauge.vue +5 -24
  13. package/components/CopyToClipboardText.vue +1 -2
  14. package/components/CruResource.vue +7 -12
  15. package/components/CruResourceFooter.vue +2 -2
  16. package/components/DashboardOptions.vue +15 -21
  17. package/components/DetailText.vue +0 -5
  18. package/components/DisableAuthProviderModal.vue +0 -1
  19. package/components/ExplorerMembers.vue +1 -1
  20. package/components/ExplorerProjectsNamespaces.vue +14 -56
  21. package/components/FixedBanner.vue +12 -19
  22. package/components/GlobalRoleBindings.vue +1 -5
  23. package/components/GrafanaDashboard.vue +4 -4
  24. package/components/GrowlManager.vue +1 -4
  25. package/components/HardwareResourceGauge.vue +3 -39
  26. package/components/InfoBox.vue +3 -3
  27. package/components/InputOrDisplay.vue +2 -28
  28. package/components/LabelValue.vue +1 -16
  29. package/components/LandingPagePreference.vue +3 -5
  30. package/components/LocaleSelector.vue +93 -39
  31. package/components/ModalWithCard.vue +0 -2
  32. package/components/MoveModal.vue +0 -1
  33. package/components/PromptChangePassword.vue +1 -1
  34. package/components/PromptModal.vue +2 -15
  35. package/components/PromptRemove.vue +8 -28
  36. package/components/PromptRestore.vue +0 -1
  37. package/components/ResourceCancelModal.vue +0 -1
  38. package/components/ResourceDetail/Masthead.vue +43 -188
  39. package/components/ResourceDetail/__tests__/Masthead.test.ts +1 -5
  40. package/components/ResourceDetail/index.vue +14 -49
  41. package/components/ResourceList/Masthead.vue +18 -80
  42. package/components/ResourceTable.vue +19 -60
  43. package/components/SideNav.vue +12 -32
  44. package/components/SortableTable/THead.vue +5 -34
  45. package/components/SortableTable/actions.js +1 -1
  46. package/components/SortableTable/index.vue +142 -649
  47. package/components/SortableTable/paging.js +28 -36
  48. package/components/SortableTable/selection.js +11 -0
  49. package/components/Tabbed/Tab.vue +3 -3
  50. package/components/Tabbed/index.vue +26 -44
  51. package/components/Wizard.vue +2 -2
  52. package/components/__tests__/AsyncButton.test.ts +2 -2
  53. package/components/__tests__/FixedBanner.test.ts +3 -3
  54. package/components/auth/Principal.vue +3 -10
  55. package/components/auth/__tests__/RoleDetailEdit.test.ts +2 -3
  56. package/components/form/ArrayList.vue +85 -123
  57. package/components/form/ArrayListGrouped.vue +2 -10
  58. package/components/form/Command.vue +15 -6
  59. package/components/form/EnvVars.vue +8 -16
  60. package/components/form/Footer.vue +5 -8
  61. package/components/form/HealthCheck.vue +3 -3
  62. package/components/form/HookOption.vue +16 -11
  63. package/components/form/KeyValue.vue +7 -16
  64. package/components/form/LabeledSelect.vue +76 -59
  65. package/components/form/LifecycleHooks.vue +3 -3
  66. package/components/form/MatchExpressions.vue +12 -35
  67. package/components/form/NameNsDescription.vue +115 -147
  68. package/components/form/Networking.vue +12 -20
  69. package/components/form/NodeAffinity.vue +23 -31
  70. package/components/form/NodeScheduling.vue +3 -13
  71. package/components/form/Password.vue +5 -11
  72. package/components/form/PodAffinity.vue +44 -43
  73. package/components/form/Probe.vue +66 -68
  74. package/components/form/ResourceQuota/Project.vue +1 -5
  75. package/components/form/ResourceSelector.vue +9 -7
  76. package/components/form/SSHKnownHosts/KnownHostsEditDialog.vue +3 -6
  77. package/components/form/SSHKnownHosts/__tests__/KnownHostsEditDialog.test.ts +1 -12
  78. package/components/form/SSHKnownHosts/index.vue +2 -16
  79. package/components/form/Security.vue +56 -54
  80. package/components/form/Select.vue +7 -41
  81. package/components/form/ShellInput.vue +1 -5
  82. package/components/form/Tolerations.vue +1 -5
  83. package/components/form/UnitInput.vue +2 -2
  84. package/components/form/ValueFromResource.vue +121 -134
  85. package/components/form/WorkloadPorts.vue +18 -18
  86. package/components/form/__tests__/ArrayList.test.ts +2 -5
  87. package/components/form/__tests__/MatchExpressions.test.ts +12 -12
  88. package/components/form/__tests__/NameNsDescription.test.ts +14 -115
  89. package/components/form/__tests__/Probe.test.ts +8 -12
  90. package/components/form/__tests__/SSHKnownHosts.test.ts +0 -11
  91. package/components/form/__tests__/Select.test.ts +0 -37
  92. package/components/form/__tests__/UnitInput.test.ts +5 -4
  93. package/components/formatter/BadgeStateFormatter.vue +5 -8
  94. package/components/formatter/ExtensionCache.vue +74 -0
  95. package/components/formatter/InternalExternalIP.vue +0 -2
  96. package/components/formatter/Port.vue +24 -0
  97. package/components/formatter/SecretData.vue +7 -20
  98. package/components/formatter/SecretType.vue +41 -0
  99. package/components/nav/Favorite.vue +1 -5
  100. package/components/nav/Group.vue +27 -60
  101. package/components/nav/Header.vue +13 -39
  102. package/components/nav/Jump.vue +0 -7
  103. package/components/nav/NamespaceFilter.vue +8 -14
  104. package/components/nav/Pinned.vue +1 -1
  105. package/components/nav/TopLevelMenu.vue +17 -5
  106. package/components/nav/Type.vue +35 -32
  107. package/components/nav/__tests__/TopLevelMenu.test.ts +40 -0
  108. package/components/templates/blank.vue +1 -4
  109. package/components/templates/default.vue +0 -8
  110. package/components/templates/home.vue +1 -10
  111. package/components/templates/plain.vue +1 -10
  112. package/package.json +1 -1
  113. package/components/ActionDropdownShell.vue +0 -71
  114. package/components/DotState.vue +0 -84
  115. package/components/ModalManager.vue +0 -55
  116. package/components/SlideInPanelManager.vue +0 -126
  117. package/components/StatusBadge.vue +0 -77
  118. package/components/__tests__/ModalManager.spec.ts +0 -176
  119. package/components/__tests__/SlideInPanelManager.spec.ts +0 -166
@@ -50,10 +50,6 @@ export default {
50
50
  default: false,
51
51
  type: Boolean
52
52
  },
53
- isLabel: {
54
- default: false,
55
- type: Boolean
56
- },
57
53
  localizedLabel: {
58
54
  default: false,
59
55
  type: Boolean
@@ -231,7 +227,7 @@ export default {
231
227
  },
232
228
 
233
229
  positionDropdown(dropdownList, component, { width }) {
234
- calculatePosition(dropdownList, component, width, this.placement, 'label', this.isLabel);
230
+ calculatePosition(dropdownList, component, width, this.placement);
235
231
  },
236
232
 
237
233
  get,
@@ -282,25 +278,6 @@ export default {
282
278
  </script>
283
279
 
284
280
  <template>
285
- <div style="display: flex;">
286
- <div
287
- :class="{ 'labeled-container': true, raised, empty, [mode]: true, 'is-lable': isLabel }"
288
- :style="{ border: 'none', width: '160px',lineHeight: '32px' }"
289
- >
290
- <label v-if="hasLabel" :id="`labeled-select-uid-${uid}`">
291
- <t
292
- v-if="labelKey"
293
- :k="labelKey"
294
- />
295
- <template v-else-if="label">{{ label }}</template>
296
-
297
- <span
298
- v-if="requiredField"
299
- class="required"
300
- >*</span>
301
- </label>
302
- </div>
303
- <!-- label -->
304
281
  <div
305
282
  ref="select"
306
283
  class="labeled-select"
@@ -319,13 +296,12 @@ export default {
319
296
  }
320
297
  ]"
321
298
  :tabindex="isView || disabled ? -1 : 0"
322
- role="listbox"
323
299
  @click="focusSearch"
324
300
  @keydown.enter="focusSearch"
325
301
  @keydown.down.prevent="focusSearch"
326
302
  @keydown.space.prevent="focusSearch"
327
303
  >
328
- <!-- <div
304
+ <div
329
305
  :class="{ 'labeled-container': true, raised, empty, [mode]: true }"
330
306
  :style="{ border: 'none' }"
331
307
  >
@@ -344,7 +320,7 @@ export default {
344
320
  class="required"
345
321
  >*</span>
346
322
  </label>
347
- </div> -->
323
+ </div>
348
324
  <v-select
349
325
  ref="select-input"
350
326
  :aria-labelledby="hasLabel ? `labeled-select-uid-${uid}` : ''"
@@ -368,7 +344,7 @@ export default {
368
344
  :modelValue="value != null && !loading ? value : ''"
369
345
  :dropdown-should-open="dropdownShouldOpen"
370
346
  :tabindex="-1"
371
- role="listitem"
347
+ role="listbox"
372
348
  @update:modelValue="$emit('selecting', $event); $emit('update:value', $event)"
373
349
  @search:blur="onBlur"
374
350
  @search:focus="onFocus"
@@ -378,7 +354,6 @@ export default {
378
354
  @option:selecting="$emit('selecting', $event)"
379
355
  @option:deselecting="$emit('deselecting', $event)"
380
356
  >
381
-
382
357
  <template #option="option">
383
358
  <template v-if="showTagPrompts">
384
359
  <div class="only-user-opts">
@@ -398,9 +373,9 @@ export default {
398
373
  </div>
399
374
  </div>
400
375
  </template>
401
- <!-- <template v-else-if="option.kind === 'divider'">
402
- <hr role="none">
403
- </template> -->
376
+ <template v-else-if="option.kind === 'divider'">
377
+ <hr>
378
+ </template>
404
379
  <template v-else-if="option.kind === 'highlighted'">
405
380
  <div class="option-kind-highlighted">
406
381
  {{ option.label }}
@@ -491,7 +466,6 @@ export default {
491
466
  :value="validationMessage"
492
467
  />
493
468
  </div>
494
- </div>
495
469
  </template>
496
470
 
497
471
  <style lang='scss' scoped>
@@ -501,11 +475,7 @@ export default {
501
475
  // Prevent namespace field from wiggling or changing
502
476
  // height when it is toggled from a LabeledInput to a
503
477
  // LabeledSelect.
504
- &:deep() .vs__actions:after {
505
- padding-top: 10px;
506
- }
507
478
  padding-bottom: 1px;
508
- /* flex: 1; */
509
479
 
510
480
  &.no-label.compact-input {
511
481
  :deep() .vs__actions:after {
@@ -519,7 +489,7 @@ export default {
519
489
 
520
490
  &.no-label:not(.compact-input) {
521
491
  height: $input-height;
522
- padding-top: 0px;
492
+ padding-top: 4px;
523
493
 
524
494
  :deep() .vs__actions:after {
525
495
  top: 0;
@@ -581,7 +551,6 @@ export default {
581
551
 
582
552
  &.taggable {
583
553
  :deep() .vs__selected-options {
584
-
585
554
  padding: 3px 0;
586
555
  .vs__selected {
587
556
  border-color: var(--accent-btn);
@@ -607,7 +576,7 @@ export default {
607
576
  }
608
577
 
609
578
  :deep() .vs__selected-options {
610
- margin-top: 0px;
579
+ margin-top: -5px;
611
580
  }
612
581
 
613
582
  :deep() .v-select:not(.vs--single) {
@@ -619,7 +588,7 @@ export default {
619
588
  :deep() .vs__actions {
620
589
  &:after {
621
590
  position: relative;
622
- top: 0px;
591
+ top: -10px;
623
592
  }
624
593
  }
625
594
 
@@ -657,21 +626,73 @@ export default {
657
626
  }
658
627
  }
659
628
 
660
- // Styling for option group badge
661
- .vs__dropdown-menu .vs__dropdown-option .vs__option-kind-group {
662
- display: flex;
663
- > b {
664
- flex: 1;
629
+ $icon-size: 18px;
630
+
631
+ // This represents the drop down area. Note - it might be attached to body and NOT the parent label select div
632
+ .vs__dropdown-menu {
633
+
634
+ // Styling for individual options
635
+ .vs__dropdown-option .vs__option-kind {
636
+ &-group {
637
+ display: flex;
638
+ align-items: center;
639
+
640
+ i { // icon
641
+ width: $icon-size;
642
+ }
643
+
644
+ > b { // group label
645
+ flex: 1;
646
+ }
647
+
648
+ > div { // badge
649
+ background-color: var(--primary);
650
+ border-radius: 4px;
651
+ color: var(--primary-text);
652
+ font-size: 12px;
653
+ height: 18px;
654
+ line-height: 18px;
655
+ margin-top: 1px;
656
+ padding: 0 10px;
657
+ }
658
+ }
659
+
660
+ &.has-icon {
661
+ padding-left: $icon-size;
662
+ }
665
663
  }
666
- > div {
667
- background-color: var(--primary);
668
- border-radius: 4px;
669
- color: var(--primary-text);
670
- font-size: 12px;
671
- height: 18px;
672
- line-height: 18px;
673
- margin-top: 1px;
674
- padding: 0 10px;
664
+
665
+ &.has-icon .vs__option-kind div{
666
+ padding-left: $icon-size;
667
+ }
668
+
669
+ .pagination-slot {
670
+ display: flex;
671
+ align-items: center;
672
+ justify-content: center;
673
+ position: relative;
674
+ margin-top: 5px;
675
+
676
+ .load-more {
677
+ display: flex;
678
+ align-items: center;
679
+ height: 19px;
680
+
681
+ a {
682
+ cursor: pointer;
683
+ }
684
+ }
685
+
686
+ .count {
687
+ position: absolute;
688
+ right: 10px;
689
+ }
690
+ }
691
+
692
+ .no-options-slot .paginating {
693
+ display: flex;
694
+ align-items: center;
695
+ justify-content: center;
675
696
  }
676
697
  }
677
698
 
@@ -699,8 +720,4 @@ export default {
699
720
  margin: 0px calc(-#{$input-padding-sm}/2);
700
721
  padding: 3px 20px;
701
722
  }
702
-
703
- .is-lable{
704
- width: 0px !important;
705
- }
706
723
  </style>
@@ -24,10 +24,10 @@ export default {
24
24
  },
25
25
 
26
26
  data() {
27
+ const { postStart, preStop } = this.value;
28
+
27
29
  return {
28
- postStart: this.value.postStart,
29
- preStop: this.value.preStop,
30
- hookOptions: ['postStart', 'preStop']
30
+ postStart, preStop, hookOptions: ['postStart', 'preStop']
31
31
  };
32
32
  },
33
33
 
@@ -70,14 +70,6 @@ export default {
70
70
  },
71
71
 
72
72
  data() {
73
- return {
74
- ops: [],
75
- rules: [],
76
- custom: []
77
- };
78
- },
79
-
80
- created() {
81
73
  const t = this.$store.getters['i18n/t'];
82
74
 
83
75
  const podOptions = [
@@ -96,6 +88,8 @@ export default {
96
88
  { label: t('workload.scheduling.affinity.matchExpressions.greaterThan'), value: 'Gt' },
97
89
  ];
98
90
 
91
+ const ops = this.type === NODE ? nodeOptions : podOptions;
92
+
99
93
  let rules;
100
94
 
101
95
  // special case for matchFields and matchExpressions
@@ -133,8 +127,11 @@ export default {
133
127
  rules.push(newRule);
134
128
  }
135
129
 
136
- this.rules = rules;
137
- this.ops = this.type === NODE ? nodeOptions : podOptions;
130
+ return {
131
+ ops,
132
+ rules,
133
+ custom: []
134
+ };
138
135
  },
139
136
 
140
137
  computed: {
@@ -245,10 +242,6 @@ export default {
245
242
 
246
243
  <template>
247
244
  <div>
248
- <slot
249
- v-if="rules.length"
250
- name="header"
251
- />
252
245
  <button
253
246
  v-if="showRemove && !isView"
254
247
  type="button"
@@ -425,20 +418,14 @@ export default {
425
418
  justify-content: center;
426
419
  }
427
420
 
428
- .match-expression-header{
429
- margin-top: 24px;
430
- }
431
421
  .match-expression-row, .match-expression-header {
432
- /* display: grid; */
433
- display: flex;
434
- /* grid-template-columns: 1fr 1fr 1fr; */
422
+ display: grid;
423
+ grid-template-columns: 1fr 1fr 1fr;
435
424
  margin: 5px 0;
436
- /* grid-gap: $column-gutter; */
437
- grid-gap: 10px;
425
+ grid-gap: $column-gutter;
438
426
 
439
427
  & > LABEL {
440
428
  margin: 0;
441
- width: 400px;
442
429
  }
443
430
 
444
431
  &:not(.view){
@@ -447,13 +434,7 @@ export default {
447
434
  }
448
435
 
449
436
  .match-expression-row > div > input {
450
- min-height: 32px !important;
451
- border: solid var(--border-width) var(--input-border);
452
- padding: 4px 11px;
453
- width: 400px;
454
- &:hover{
455
- box-shadow: 0 4px 6px 0 var(--input-border-box-shadow);
456
- }
437
+ min-height: 40px !important;
457
438
  }
458
439
  .match-expression-row-matching, .match-expression-header-matching {
459
440
  grid-template-columns: 1fr 1fr 1fr 1fr;
@@ -462,8 +443,4 @@ export default {
462
443
  grid-template-columns: 1fr 1fr 1fr 1fr 100px;
463
444
  }
464
445
  }
465
-
466
- .view-item-value{
467
- width: 400px;
468
- }
469
- </style>
446
+ </style>