@dovetail-v2/refine 0.3.13-alpha.1 → 0.3.14-alpha.2

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/refine.js CHANGED
@@ -11,7 +11,7 @@ import { ResourceContext, matchResourceFromRoute, useResource, useDelete, useNav
11
11
  import { parse, stringify } from "qs";
12
12
  import React, { createElement, isValidElement, cloneElement, Children, useContext, useCallback, createContext, useState, useEffect, useMemo, useRef, useImperativeHandle, lazy, Suspense, memo, forwardRef } from "react";
13
13
  import { useLocation, useHistory, useParams, matchPath, Link, Route, NavLink, Router } from "react-router-dom";
14
- import { usePushModal, usePopModal, DeleteDialog, Tag, RejectDialog, RejectDialogType, Typo, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Loading, Table as Table$2, Pagination, Alert, ImmersiveDialog, SmallDialog, Fields, Units, Link as Link$1, OverflowTooltip, Tooltip, Dropdown, Menu as Menu$1, Icon, Divider, Modal, StatusCapsule, Popover, AntdTable, Upload, TableForm, AutoComplete, getOptions, DonutChart, SegmentControl, Checkbox, Tabs as Tabs$1, TabsTabPane, Col, Row, useMessage, SearchInput, Token, AntdSelectOptGroup, WizardDialog, MenuItemGroup, Layout as Layout$1, InputGroup, InputInteger, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
14
+ import { usePushModal, usePopModal, DeleteDialog, Tag, RejectDialog, RejectDialogType, Typo, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Loading, Table as Table$2, Pagination, Alert, ImmersiveDialog, SmallDialog, Fields, Units, Link as Link$1, OverflowTooltip, Tooltip, Dropdown, Menu as Menu$1, Icon, Divider, LegacyModal, StatusCapsule, Popover, AntdTable, Upload, TableForm, AutoComplete, getOptions, DonutChart, SegmentControl, Checkbox, Tabs as Tabs$1, TabsTabPane, Col, Row, useMessage, SearchInput, Token, AntdSelectOptGroup, WizardDialog, MenuItemGroup, Layout as Layout$1, InputGroup, InputInteger, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
15
15
  import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, InfoICircleFill16GrayIcon, InfoICircleFill16Gray70Icon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, ArrowChevronDownSmall16BlueIcon, ArrowChevronUpSmall16BlueIcon, Retry16GradientBlueIcon, OpenTerminal16GradientBlueIcon, ArrowChevronDown16BlueIcon, ArrowChevronUp16BlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, Pause16GradientBlueIcon, EditPen16BlueIcon } from "@cloudtower/icons-react";
16
16
  import { first, get as get$2, cloneDeep, set, omit as omit$1, merge, isEqual as isEqual$1, debounce, last, setWith, clone, isObject as isObject$4, uniq, keyBy } from "lodash-es";
17
17
  import yaml$2 from "js-yaml";
@@ -9605,9 +9605,9 @@ class PodModel extends WorkloadBaseModel {
9605
9605
  }
9606
9606
  };
9607
9607
  }
9608
- getBelongToDeployment(deployments) {
9608
+ getBelongToDeployment(deployments, replicaSets) {
9609
9609
  return deployments.find((deployment) => {
9610
- return deployment.replicaSets.find((replicaSet) => {
9610
+ return deployment.getReplicaSets(replicaSets).find((replicaSet) => {
9611
9611
  return replicaSet.pods.find((pod2) => pod2.metadata.uid === this.metadata.uid);
9612
9612
  });
9613
9613
  });
@@ -9793,26 +9793,19 @@ class EventModel extends ResourceModel {
9793
9793
  class DeploymentModel extends WorkloadModel {
9794
9794
  constructor(_rawYaml, _globalStore) {
9795
9795
  super(_rawYaml, _globalStore);
9796
- __publicField(this, "replicaSets", []);
9797
9796
  this._rawYaml = _rawYaml;
9798
9797
  }
9799
9798
  async init() {
9800
9799
  await super.init();
9801
- await this.getReplicaSets();
9802
9800
  }
9803
- async getReplicaSets() {
9804
- const replicaSets = await this._globalStore.get("replicasets", {
9805
- resourceBasePath: "/apis/apps/v1",
9806
- kind: "ReplicaSet"
9807
- });
9808
- const myReplicaSets = replicaSets.items.filter((rs) => {
9801
+ getReplicaSets(replicaSets) {
9802
+ return replicaSets.filter((rs) => {
9809
9803
  var _a, _b, _c;
9810
9804
  const ownerRef = (_b = (_a = rs.metadata) == null ? void 0 : _a.ownerReferences) == null ? void 0 : _b.find(
9811
9805
  (ref) => ref.kind === "Deployment" && ref.apiVersion === "apps/v1" && ref.name === this.name && ref.uid === this.metadata.uid
9812
9806
  );
9813
9807
  return !!ownerRef && ((_c = rs.metadata) == null ? void 0 : _c.namespace) === this.metadata.namespace;
9814
9808
  });
9815
- this.replicaSets = myReplicaSets;
9816
9809
  }
9817
9810
  get stateDisplay() {
9818
9811
  var _a, _b, _c;
@@ -9827,8 +9820,9 @@ class DeploymentModel extends WorkloadModel {
9827
9820
  var _a, _b;
9828
9821
  return (_b = (_a = this.metadata) == null ? void 0 : _a.annotations) == null ? void 0 : _b["deployment.kubernetes.io/revision"];
9829
9822
  }
9830
- get currentReplicaSet() {
9831
- return this.replicaSets.find((rs) => rs.revision === this.revision);
9823
+ getCurrentReplicaSet(replicaSets) {
9824
+ const myReplicaSets = this.getReplicaSets(replicaSets);
9825
+ return myReplicaSets.find((rs) => rs.revision === this.revision);
9832
9826
  }
9833
9827
  }
9834
9828
  class DaemonSetModel extends WorkloadModel {
@@ -9836,6 +9830,22 @@ class DaemonSetModel extends WorkloadModel {
9836
9830
  super(_rawYaml, _globalStore);
9837
9831
  this._rawYaml = _rawYaml;
9838
9832
  }
9833
+ getControllerRevisions(controllerVisions) {
9834
+ return controllerVisions.filter(
9835
+ (controllerRevision) => {
9836
+ var _a, _b;
9837
+ return (_b = (_a = controllerRevision.metadata) == null ? void 0 : _a.ownerReferences) == null ? void 0 : _b.some(
9838
+ (ownerReference) => ownerReference.kind === "DaemonSet" && ownerReference.uid === this.metadata.uid
9839
+ );
9840
+ }
9841
+ );
9842
+ }
9843
+ getRevision(controllerVisions) {
9844
+ const myControllerVisions = this.getControllerRevisions(controllerVisions);
9845
+ return myControllerVisions.reduce((result, controllerRevision) => {
9846
+ return Math.max(result, Number(controllerRevision.revision || 0));
9847
+ }, 0);
9848
+ }
9839
9849
  get stateDisplay() {
9840
9850
  var _a, _b;
9841
9851
  if (((_a = this.status) == null ? void 0 : _a.desiredNumberScheduled) !== ((_b = this.status) == null ? void 0 : _b.numberReady)) {
@@ -9855,6 +9865,22 @@ class StatefulSetModel extends WorkloadModel {
9855
9865
  super(_rawYaml, _globalStore);
9856
9866
  this._rawYaml = _rawYaml;
9857
9867
  }
9868
+ getControllerRevisions(controllerVisions) {
9869
+ return controllerVisions.filter(
9870
+ (controllerRevision) => {
9871
+ var _a, _b;
9872
+ return (_b = (_a = controllerRevision.metadata) == null ? void 0 : _a.ownerReferences) == null ? void 0 : _b.some(
9873
+ (ownerReference) => ownerReference.kind === "DaemonSet" && ownerReference.uid === this.metadata.uid
9874
+ );
9875
+ }
9876
+ );
9877
+ }
9878
+ getRevision(controllerVisions) {
9879
+ const myControllerVisions = this.getControllerRevisions(controllerVisions);
9880
+ return myControllerVisions.reduce((result, controllerRevision) => {
9881
+ return Math.max(result, Number(controllerRevision.revision || 0));
9882
+ }, 0);
9883
+ }
9858
9884
  get stateDisplay() {
9859
9885
  var _a, _b, _c;
9860
9886
  if (((_a = this.spec) == null ? void 0 : _a.replicas) === 0) {
@@ -10057,6 +10083,29 @@ class PersistentVolumeClaimModel extends ResourceModel {
10057
10083
  return set(yaml2, "spec.resources.requests.storage", `${distributeStorage}Gi`);
10058
10084
  }
10059
10085
  }
10086
+ class ControllerRevisionModel extends ResourceModel {
10087
+ constructor(_rawYaml, _globalStore) {
10088
+ super(_rawYaml, _globalStore);
10089
+ this._rawYaml = _rawYaml;
10090
+ }
10091
+ get revision() {
10092
+ return this._rawYaml.revision;
10093
+ }
10094
+ }
10095
+ class IngressClassModel extends ResourceModel {
10096
+ constructor(_rawYaml, _globalStore) {
10097
+ super(_rawYaml, _globalStore);
10098
+ this._rawYaml = _rawYaml;
10099
+ }
10100
+ get isDefault() {
10101
+ var _a, _b;
10102
+ return ((_b = (_a = this._rawYaml.metadata) == null ? void 0 : _a.annotations) == null ? void 0 : _b["ingressclass.kubernetes.io/is-default-class"]) === "true";
10103
+ }
10104
+ get controller() {
10105
+ var _a;
10106
+ return (_a = this.spec) == null ? void 0 : _a.controller;
10107
+ }
10108
+ }
10060
10109
  const index_1r58r8x = "";
10061
10110
  const ServiceInClusterAccessComponent = ({
10062
10111
  service
@@ -10951,7 +11000,7 @@ const DeleteManyButton = (props) => {
10951
11000
  }, [setVisible]);
10952
11001
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
10953
11002
  /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "primary", danger: true, onClick, children: t2("dovetail.delete") }),
10954
- visible ? /* @__PURE__ */ jsxRuntimeExports.jsx(Modal, { ...modalProps }) : null
11003
+ visible ? /* @__PURE__ */ jsxRuntimeExports.jsx(LegacyModal, { ...modalProps }) : null
10955
11004
  ] });
10956
11005
  };
10957
11006
  const index_1iwpuwe = "";
@@ -13000,6 +13049,36 @@ const LabelsAndAnnotationsShow = ({
13000
13049
  })]
13001
13050
  });
13002
13051
  };
13052
+ const NetworkPolicyRulesViewer_r6jity = "";
13053
+ const MonacoYamlEditor$3 = lazy(() => Promise.resolve().then(() => MonacoYamlEditor$1));
13054
+ const EditorStyle$1 = "e1cjl2b8";
13055
+ const NetworkPolicyRulesViewer = ({
13056
+ ingressOrEgress,
13057
+ kind
13058
+ }) => {
13059
+ const {
13060
+ t: t2
13061
+ } = useTranslation();
13062
+ if (!ingressOrEgress) {
13063
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
13064
+ errorText: t2("dovetail.no_resource", {
13065
+ kind: kind || t2("dovetail.rule")
13066
+ }),
13067
+ type: ErrorContentType.List
13068
+ });
13069
+ }
13070
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, {
13071
+ fallback: /* @__PURE__ */ jsxRuntimeExports.jsx(Loading, {}),
13072
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(MonacoYamlEditor$3, {
13073
+ schemas: [],
13074
+ defaultValue: yaml$2.dump(ingressOrEgress),
13075
+ height: "100%",
13076
+ className: EditorStyle$1,
13077
+ readOnly: true,
13078
+ isScrollOnFocus: true
13079
+ })
13080
+ });
13081
+ };
13003
13082
  const baseNoReset = "";
13004
13083
  const index_14irc29 = "";
13005
13084
  const WrapperStyle$3 = "wve7dfm";
@@ -13195,6 +13274,7 @@ const PodLog = ({
13195
13274
  })]
13196
13275
  });
13197
13276
  };
13277
+ const tabs_1q5et9v = "";
13198
13278
  const EventsTab = ({
13199
13279
  i18n: i18n2,
13200
13280
  size
@@ -13202,15 +13282,13 @@ const EventsTab = ({
13202
13282
  title: i18n2.t("dovetail.event"),
13203
13283
  key: "events",
13204
13284
  background: "white",
13205
- groups: [
13206
- {
13207
- areas: [
13208
- {
13209
- fields: [EventsTableTabField({ size })]
13210
- }
13211
- ]
13212
- }
13213
- ]
13285
+ groups: [{
13286
+ areas: [{
13287
+ fields: [EventsTableTabField({
13288
+ size
13289
+ })]
13290
+ }]
13291
+ }]
13214
13292
  });
13215
13293
  const ConditionsTab = ({
13216
13294
  i18n: i18n2,
@@ -13219,32 +13297,25 @@ const ConditionsTab = ({
13219
13297
  title: i18n2.t("dovetail.condition"),
13220
13298
  key: "conditions",
13221
13299
  background: "white",
13222
- groups: [
13223
- {
13224
- areas: [
13225
- {
13226
- fields: [
13227
- {
13228
- key: "Conditions",
13229
- path: ["status", "conditions"],
13230
- renderContent: (value2) => {
13231
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
13232
- "div",
13233
- {
13234
- style: {
13235
- padding: size === "small" ? "0 12px" : "0 24px",
13236
- height: "100%"
13237
- },
13238
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(ConditionsTable, { conditions: value2 })
13239
- }
13240
- );
13241
- }
13242
- }
13243
- ]
13300
+ groups: [{
13301
+ areas: [{
13302
+ fields: [{
13303
+ key: "Conditions",
13304
+ path: ["status", "conditions"],
13305
+ renderContent: (value2) => {
13306
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
13307
+ style: {
13308
+ padding: size === "small" ? "0 12px" : "0 24px",
13309
+ height: "100%"
13310
+ },
13311
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(ConditionsTable, {
13312
+ conditions: value2
13313
+ })
13314
+ });
13244
13315
  }
13245
- ]
13246
- }
13247
- ]
13316
+ }]
13317
+ }]
13318
+ }]
13248
13319
  });
13249
13320
  const LabelAnnotationsTab = ({
13250
13321
  i18n: i18n2,
@@ -13253,53 +13324,41 @@ const LabelAnnotationsTab = ({
13253
13324
  title: i18n2.t("dovetail.label_annotations"),
13254
13325
  key: "label-annotations",
13255
13326
  background: "white",
13256
- groups: [
13257
- {
13258
- areas: [
13259
- {
13260
- fields: [
13261
- {
13262
- key: "label-annotations",
13263
- path: [],
13264
- renderContent: (_, record) => {
13265
- var _a, _b;
13266
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
13267
- LabelsAndAnnotationsShow,
13268
- {
13269
- labels: (_a = record.metadata) == null ? void 0 : _a.labels,
13270
- annotations: (_b = record.metadata) == null ? void 0 : _b.annotations,
13271
- size
13272
- }
13273
- );
13274
- }
13275
- }
13276
- ]
13327
+ groups: [{
13328
+ areas: [{
13329
+ fields: [{
13330
+ key: "label-annotations",
13331
+ path: [],
13332
+ renderContent: (_, record) => {
13333
+ var _a, _b;
13334
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(LabelsAndAnnotationsShow, {
13335
+ labels: (_a = record.metadata) == null ? void 0 : _a.labels,
13336
+ annotations: (_b = record.metadata) == null ? void 0 : _b.annotations,
13337
+ size
13338
+ });
13277
13339
  }
13278
- ]
13279
- }
13280
- ]
13340
+ }]
13341
+ }]
13342
+ }]
13281
13343
  });
13282
13344
  const PodLogTab = (i18n2, apiUrl) => ({
13283
13345
  title: i18n2.t("dovetail.log"),
13284
13346
  key: "pod-log",
13285
13347
  background: "white",
13286
- groups: [
13287
- {
13288
- areas: [
13289
- {
13290
- fields: [
13291
- {
13292
- key: "log",
13293
- path: [],
13294
- renderContent: (_, record) => {
13295
- return /* @__PURE__ */ jsxRuntimeExports.jsx(PodLog, { pod: record, apiUrl });
13296
- }
13297
- }
13298
- ]
13348
+ groups: [{
13349
+ areas: [{
13350
+ fields: [{
13351
+ key: "log",
13352
+ path: [],
13353
+ renderContent: (_, record) => {
13354
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(PodLog, {
13355
+ pod: record,
13356
+ apiUrl
13357
+ });
13299
13358
  }
13300
- ]
13301
- }
13302
- ]
13359
+ }]
13360
+ }]
13361
+ }]
13303
13362
  });
13304
13363
  const PortsTab = ({
13305
13364
  i18n: i18n2
@@ -13307,15 +13366,11 @@ const PortsTab = ({
13307
13366
  title: i18n2.t("dovetail.port"),
13308
13367
  key: "ports",
13309
13368
  background: "white",
13310
- groups: [
13311
- {
13312
- areas: [
13313
- {
13314
- fields: [PortsTableField()]
13315
- }
13316
- ]
13317
- }
13318
- ]
13369
+ groups: [{
13370
+ areas: [{
13371
+ fields: [PortsTableField()]
13372
+ }]
13373
+ }]
13319
13374
  });
13320
13375
  const IngressRulesTab = ({
13321
13376
  i18n: i18n2
@@ -13323,11 +13378,11 @@ const IngressRulesTab = ({
13323
13378
  title: i18n2.t("dovetail.rule"),
13324
13379
  key: "ingress-rules",
13325
13380
  background: "white",
13326
- groups: [
13327
- {
13328
- areas: [{ fields: [IngressRulesTableTabField()] }]
13329
- }
13330
- ]
13381
+ groups: [{
13382
+ areas: [{
13383
+ fields: [IngressRulesTableTabField()]
13384
+ }]
13385
+ }]
13331
13386
  });
13332
13387
  const DataTab = ({
13333
13388
  i18n: i18n2
@@ -13335,11 +13390,11 @@ const DataTab = ({
13335
13390
  title: i18n2.t("dovetail.data"),
13336
13391
  key: "data",
13337
13392
  background: "white",
13338
- groups: [
13339
- {
13340
- areas: [{ fields: [DataField(i18n2)] }]
13341
- }
13342
- ]
13393
+ groups: [{
13394
+ areas: [{
13395
+ fields: [DataField(i18n2)]
13396
+ }]
13397
+ }]
13343
13398
  });
13344
13399
  const SecretDataTab = ({
13345
13400
  i18n: i18n2
@@ -13347,42 +13402,59 @@ const SecretDataTab = ({
13347
13402
  title: i18n2.t("dovetail.data"),
13348
13403
  key: "secret-data",
13349
13404
  background: "white",
13350
- groups: [
13351
- {
13352
- areas: [{ fields: [SecretDataField()] }]
13353
- }
13354
- ]
13405
+ groups: [{
13406
+ areas: [{
13407
+ fields: [SecretDataField()]
13408
+ }]
13409
+ }]
13410
+ });
13411
+ const NetworkPolicyRulesViewerStyle = "nrkw30o";
13412
+ const NetworkPolicyIngressRulesTab = ({
13413
+ i18n: i18n2
13414
+ }) => ({
13415
+ title: i18n2.t("dovetail.ingress_rule"),
13416
+ key: "ingress-rules",
13417
+ background: "white",
13418
+ groups: [{
13419
+ areas: [{
13420
+ fields: [{
13421
+ key: "Ingress",
13422
+ path: ["spec", "ingress"],
13423
+ render: (ingress) => {
13424
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
13425
+ className: NetworkPolicyRulesViewerStyle,
13426
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(NetworkPolicyRulesViewer, {
13427
+ ingressOrEgress: ingress
13428
+ })
13429
+ });
13430
+ }
13431
+ }]
13432
+ }]
13433
+ }]
13434
+ });
13435
+ const NetworkPolicyEgressRulesTab = ({
13436
+ i18n: i18n2
13437
+ }) => ({
13438
+ title: i18n2.t("dovetail.egress_rule"),
13439
+ key: "egress-rules",
13440
+ background: "white",
13441
+ groups: [{
13442
+ areas: [{
13443
+ fields: [{
13444
+ key: "Egress",
13445
+ path: ["spec", "egress"],
13446
+ render: (egress) => {
13447
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
13448
+ className: NetworkPolicyRulesViewerStyle,
13449
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(NetworkPolicyRulesViewer, {
13450
+ ingressOrEgress: egress
13451
+ })
13452
+ });
13453
+ }
13454
+ }]
13455
+ }]
13456
+ }]
13355
13457
  });
13356
- const NetworkPolicyRulesViewer_r6jity = "";
13357
- const MonacoYamlEditor$3 = lazy(() => Promise.resolve().then(() => MonacoYamlEditor$1));
13358
- const EditorStyle$1 = "e1cjl2b8";
13359
- const NetworkPolicyRulesViewer = ({
13360
- ingressOrEgress,
13361
- kind
13362
- }) => {
13363
- const {
13364
- t: t2
13365
- } = useTranslation();
13366
- if (!ingressOrEgress) {
13367
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
13368
- errorText: t2("dovetail.no_resource", {
13369
- kind: kind || t2("dovetail.rule")
13370
- }),
13371
- type: ErrorContentType.Card
13372
- });
13373
- }
13374
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, {
13375
- fallback: /* @__PURE__ */ jsxRuntimeExports.jsx(Loading, {}),
13376
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(MonacoYamlEditor$3, {
13377
- schemas: [],
13378
- defaultValue: yaml$2.dump(ingressOrEgress),
13379
- height: "300px",
13380
- className: EditorStyle$1,
13381
- readOnly: true,
13382
- isScrollOnFocus: true
13383
- })
13384
- });
13385
- };
13386
13458
  const PodContainersTable = ({
13387
13459
  containerStatuses,
13388
13460
  initContainerStatuses
@@ -13673,7 +13745,7 @@ function Tabs(props) {
13673
13745
  return /* @__PURE__ */ jsxRuntimeExports.jsx(TabsTabPane, { tab: tab.title, children: tab.children }, tab.title);
13674
13746
  }) });
13675
13747
  }
13676
- const ShowContentView_m77hzs = "";
13748
+ const ShowContentView_1gmp0tu = "";
13677
13749
  const ShowContentWrapperStyle = "soapvs9";
13678
13750
  const BackButton = "b13d603q";
13679
13751
  const ToolBarWrapper = "tm8eaia";
@@ -13831,7 +13903,8 @@ const ShowContentView = (props) => {
13831
13903
  if (shouldRenderRow) {
13832
13904
  FieldContainer = Row;
13833
13905
  fieldContainerProps = {
13834
- gutter: [24, 8]
13906
+ gutter: [24, 8],
13907
+ className: "c1lh8loq"
13835
13908
  };
13836
13909
  }
13837
13910
  return /* @__PURE__ */ jsxRuntimeExports.jsx(GroupContainer, {
@@ -16550,7 +16623,7 @@ function ConfirmModal({
16550
16623
  t: t2
16551
16624
  } = useTranslation();
16552
16625
  const popModal = usePopModal();
16553
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Modal, {
16626
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(LegacyModal, {
16554
16627
  className: SmallModalStyle,
16555
16628
  width: "414px",
16556
16629
  title: t2("dovetail.edit_form"),
@@ -18959,7 +19032,7 @@ const AgeColumnRenderer = (i18n2, config, {
18959
19032
  dataIndex,
18960
19033
  title: i18n2.t("dovetail.created_time"),
18961
19034
  width: 120,
18962
- sorter: true,
19035
+ sorter: CommonSorter(dataIndex),
18963
19036
  render: (value2) => {
18964
19037
  return isRelativeTime ? /* @__PURE__ */ jsxRuntimeExports.jsx(Time, {
18965
19038
  date: new Date(value2)
@@ -19299,9 +19372,9 @@ const PortMappingColumnRenderer = (i18n2) => {
19299
19372
  style: {
19300
19373
  whiteSpace: "pre"
19301
19374
  },
19302
- children: [v.servicePort, " > ", v.targetPort, "/", v.protocol]
19375
+ children: [v.servicePort, " ", v.targetPort, "/", v.protocol]
19303
19376
  }),
19304
- tooltip: `${v.servicePort} > ${v.targetPort}/${v.protocol}`
19377
+ tooltip: `${v.servicePort} ${v.targetPort}/${v.protocol}`
19305
19378
  }, v.servicePort));
19306
19379
  return /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
19307
19380
  value: content
@@ -19692,7 +19765,9 @@ class ModelPlugin {
19692
19765
  StorageClass: StorageClassModel,
19693
19766
  PersistentVolume: PersistentVolumeModel,
19694
19767
  PersistentVolumeClaim: PersistentVolumeClaimModel,
19695
- ReplicaSet: ReplicaSetModel
19768
+ ReplicaSet: ReplicaSetModel,
19769
+ ControllerRevision: ControllerRevisionModel,
19770
+ IngressClass: IngressClassModel
19696
19771
  })
19697
19772
  ));
19698
19773
  }
@@ -19840,6 +19915,7 @@ export {
19840
19915
  ConditionsTab,
19841
19916
  ConditionsTable,
19842
19917
  ConfigsContext,
19918
+ ControllerRevisionModel,
19843
19919
  CreateButton,
19844
19920
  CronJobDropdown,
19845
19921
  CronJobModel,
@@ -19883,6 +19959,7 @@ export {
19883
19959
  ImageField,
19884
19960
  ImageNames,
19885
19961
  IngressClassColumnRenderer,
19962
+ IngressClassModel,
19886
19963
  IngressDefaultBackendColumnRenderer,
19887
19964
  IngressModel,
19888
19965
  IngressRulesColumnRenderer,
@@ -19924,7 +20001,9 @@ export {
19924
20001
  NamespaceSelectWidget,
19925
20002
  NamespacesFilter,
19926
20003
  NetworkPolicyEgressRulesGroup,
20004
+ NetworkPolicyEgressRulesTab,
19927
20005
  NetworkPolicyIngressRulesGroup,
20006
+ NetworkPolicyIngressRulesTab,
19928
20007
  NetworkPolicyModel,
19929
20008
  NetworkPolicyRulesViewer,
19930
20009
  NodeModel,
package/dist/style.css CHANGED
@@ -2033,6 +2033,61 @@
2033
2033
  .c1wn08fn {
2034
2034
  display: flex;
2035
2035
  flex-direction: column;
2036
+ }/* // basic */
2037
+ /* FishEye Color Variables and Functions */
2038
+ /*
2039
+ --------------------------- Primary Color ---------------------------
2040
+ */
2041
+ /*
2042
+ ---------------------------When necessary to add at any time---------------------------
2043
+ */
2044
+ /* computed */
2045
+ /* blue */
2046
+ /* green */
2047
+ /* yellow */
2048
+ /* red */
2049
+ /* purple */
2050
+ /* palette global token*/
2051
+ /* color opaque */
2052
+ /* color transparent */
2053
+ /* blue transparent */
2054
+ /* green transparent */
2055
+ /* yellow transparent */
2056
+ /* red transparent */
2057
+ /* gray transparent */
2058
+ /* white transparent */
2059
+ /* gradient opaque */
2060
+ /* blue radial gradient */
2061
+ /* blue linear gradient */
2062
+ /* green radial gradient */
2063
+ /* yellow radial gradient */
2064
+ /* red radial gradient */
2065
+ /* gray radial gradient */
2066
+ /* white to gray radial gradient */
2067
+ /* white to gray linear gradient */
2068
+ /* gradient transparent */
2069
+ /* secondary palette */
2070
+ /* purple radial gradient */
2071
+ /* refine alias color */
2072
+ /* text */
2073
+ /* link */
2074
+ /* fill */
2075
+ /* fill element */
2076
+ /* fill interaction */
2077
+ /* stroke */
2078
+ /* background */
2079
+ /* dim */
2080
+ /* box shadow */
2081
+ /* fisheye */
2082
+ /* z-index */
2083
+ .e1cjl2b8 {
2084
+ border-radius: 8px;
2085
+ border: 1px solid rgba(211, 218, 235, 0.6);
2086
+ }
2087
+ .e1cjl2b8 .monaco-editor,
2088
+ .e1cjl2b8 .monaco-scrollable-element,
2089
+ .e1cjl2b8 .overflow-guard > .margin {
2090
+ border-radius: 8px;
2036
2091
  }.pf-v5-t-light {
2037
2092
  --pf-v5-global--Color--100: var(--pf-v5-global--Color--dark-100);
2038
2093
  --pf-v5-global--Color--200: var(--pf-v5-global--Color--dark-200);
@@ -3391,14 +3446,11 @@
3391
3446
  /* box shadow */
3392
3447
  /* fisheye */
3393
3448
  /* z-index */
3394
- .e1cjl2b8 {
3395
- border-radius: 8px;
3396
- border: 1px solid rgba(211, 218, 235, 0.6);
3397
- }
3398
- .e1cjl2b8 .monaco-editor,
3399
- .e1cjl2b8 .monaco-scrollable-element,
3400
- .e1cjl2b8 .overflow-guard > .margin {
3401
- border-radius: 8px;
3449
+ .nrkw30o {
3450
+ padding: 16px 24px;
3451
+ width: 100%;
3452
+ height: 100%;
3453
+ min-height: 300px;
3402
3454
  }/* // basic */
3403
3455
  /* FishEye Color Variables and Functions */
3404
3456
  /*
@@ -3452,9 +3504,6 @@
3452
3504
  flex-direction: column;
3453
3505
  background: linear-gradient(180deg, #fff 0%, #edf0f7 100%);
3454
3506
  }
3455
- .soapvs9 .ant-row {
3456
- margin-right: 0 !important;
3457
- }
3458
3507
 
3459
3508
  .b13d603q {
3460
3509
  color: rgba(0, 21, 64, 0.3);
@@ -3577,6 +3626,11 @@
3577
3626
 
3578
3627
  .cxd8k68 {
3579
3628
  padding: 4px 0;
3629
+ }
3630
+
3631
+ .c1lh8loq.ant-row {
3632
+ row-gap: 4px;
3633
+ margin-right: 0 !important;
3580
3634
  }/* // basic */
3581
3635
  /* FishEye Color Variables and Functions */
3582
3636
  /*