From 2390b021d85633670f2f1bf85ddce88cd8c9359b Mon Sep 17 00:00:00 2001 From: baha Date: Tue, 10 Dec 2024 14:41:18 +0000 Subject: [PATCH] [display] price in confirm page --- ...8396.js => Container.bundle.1733828928.js} | 0 ...s.gz => Container.bundle.1733828928.js.gz} | Bin ...96.js => Inctance-HA.bundle.1733828928.js} | 0 ...gz => Inctance-HA.bundle.1733828928.js.gz} | Bin ...lCloud_website_white-07-01.1733828928.png} | Bin ...ud.1733818396.png => cloud.1733828928.png} | Bin ...33818396.svg => empty-card.1733828928.svg} | 0 ...18396.png => load-balancer.1733828928.png} | Bin ...33818396.png => login-full.1733828928.png} | Bin ...r.1733818396.png => router.1733828928.png} | Bin .../static/auth.bundle.1733818396.js.gz | Bin 7477 -> 0 bytes ...733818396.js => auth.bundle.1733828928.js} | 2 +- .../static/auth.bundle.1733828928.js.gz | Bin 0 -> 7477 bytes ...733818396.js => base.bundle.1733828928.js} | 0 ...396.js.gz => base.bundle.1733828928.js.gz} | Bin ...33818396.js => basic.bundle.1733828928.js} | 2 +- ...96.js.gz => basic.bundle.1733828928.js.gz} | Bin 80479 -> 80479 bytes .../static/common.bundle.1733818396.js | 1 - .../static/common.bundle.1733818396.js.gz | Bin 97642 -> 0 bytes .../static/common.bundle.1733828928.js | 1 + .../static/common.bundle.1733828928.js.gz | Bin 0 -> 97622 bytes ...818396.js => compute.bundle.1733828928.js} | 0 ....js.gz => compute.bundle.1733828928.js.gz} | Bin ....js => configuration.bundle.1733828928.js} | 0 ... => configuration.bundle.1733828928.js.gz} | Bin ...s => container-infra.bundle.1733828928.js} | 0 ...> container-infra.bundle.1733828928.js.gz} | Bin ...733818396.js => heat.bundle.1733828928.js} | 0 ...396.js.gz => heat.bundle.1733828928.js.gz} | Bin ...18396.js => identity.bundle.1733828928.js} | 0 ...js.gz => identity.bundle.1733828928.js.gz} | Bin skyline_console/static/index.html | 2 +- ...733818396.js => main.bundle.1733828928.js} | 0 ...396.js.gz => main.bundle.1733828928.js.gz} | Bin ...396.js => management.bundle.1733828928.js} | 0 ...js => monitor-center.bundle.1733828928.js} | 0 ...=> monitor-center.bundle.1733828928.js.gz} | Bin ...818396.js => network.bundle.1733828928.js} | 2 +- ....js.gz => network.bundle.1733828928.js.gz} | Bin 86793 -> 86793 bytes ...me.1733818396.js => runtime.1733828928.js} | 2 +- ...33818396.js => share.bundle.1733828928.js} | 0 ...96.js.gz => share.bundle.1733828928.js.gz} | Bin ...818396.js => storage.bundle.1733828928.js} | 0 ....js.gz => storage.bundle.1733828928.js.gz} | Bin ...96.js => user-center.bundle.1733828928.js} | 0 ...gz => user-center.bundle.1733828928.js.gz} | Bin ...3818396.js => vendor.bundle.1733828928.js} | 0 ...6.js.gz => vendor.bundle.1733828928.js.gz} | Bin .../actions/StepCreate/ConfirmStep/index.jsx | 48 ++++++++++++++++++ src/resources/nova/flavor.js | 4 +- 50 files changed, 56 insertions(+), 8 deletions(-) rename skyline_console/static/{Container.bundle.1733818396.js => Container.bundle.1733828928.js} (100%) rename skyline_console/static/{Container.bundle.1733818396.js.gz => Container.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{Inctance-HA.bundle.1733818396.js => Inctance-HA.bundle.1733828928.js} (100%) rename skyline_console/static/{Inctance-HA.bundle.1733818396.js.gz => Inctance-HA.bundle.1733828928.js.gz} (100%) rename skyline_console/static/asset/image/{FelCloud_website_white-07-01.1733818396.png => FelCloud_website_white-07-01.1733828928.png} (100%) rename skyline_console/static/asset/image/{cloud.1733818396.png => cloud.1733828928.png} (100%) rename skyline_console/static/asset/image/{empty-card.1733818396.svg => empty-card.1733828928.svg} (100%) rename skyline_console/static/asset/image/{load-balancer.1733818396.png => load-balancer.1733828928.png} (100%) rename skyline_console/static/asset/image/{login-full.1733818396.png => login-full.1733828928.png} (100%) rename skyline_console/static/asset/image/{router.1733818396.png => router.1733828928.png} (100%) delete mode 100644 skyline_console/static/auth.bundle.1733818396.js.gz rename skyline_console/static/{auth.bundle.1733818396.js => auth.bundle.1733828928.js} (99%) create mode 100644 skyline_console/static/auth.bundle.1733828928.js.gz rename skyline_console/static/{base.bundle.1733818396.js => base.bundle.1733828928.js} (100%) rename skyline_console/static/{base.bundle.1733818396.js.gz => base.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{basic.bundle.1733818396.js => basic.bundle.1733828928.js} (99%) rename skyline_console/static/{basic.bundle.1733818396.js.gz => basic.bundle.1733828928.js.gz} (80%) delete mode 100644 skyline_console/static/common.bundle.1733818396.js delete mode 100644 skyline_console/static/common.bundle.1733818396.js.gz create mode 100644 skyline_console/static/common.bundle.1733828928.js create mode 100644 skyline_console/static/common.bundle.1733828928.js.gz rename skyline_console/static/{compute.bundle.1733818396.js => compute.bundle.1733828928.js} (100%) rename skyline_console/static/{compute.bundle.1733818396.js.gz => compute.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{configuration.bundle.1733818396.js => configuration.bundle.1733828928.js} (100%) rename skyline_console/static/{configuration.bundle.1733818396.js.gz => configuration.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{container-infra.bundle.1733818396.js => container-infra.bundle.1733828928.js} (100%) rename skyline_console/static/{container-infra.bundle.1733818396.js.gz => container-infra.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{heat.bundle.1733818396.js => heat.bundle.1733828928.js} (100%) rename skyline_console/static/{heat.bundle.1733818396.js.gz => heat.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{identity.bundle.1733818396.js => identity.bundle.1733828928.js} (100%) rename skyline_console/static/{identity.bundle.1733818396.js.gz => identity.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{main.bundle.1733818396.js => main.bundle.1733828928.js} (100%) rename skyline_console/static/{main.bundle.1733818396.js.gz => main.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{management.bundle.1733818396.js => management.bundle.1733828928.js} (100%) rename skyline_console/static/{monitor-center.bundle.1733818396.js => monitor-center.bundle.1733828928.js} (100%) rename skyline_console/static/{monitor-center.bundle.1733818396.js.gz => monitor-center.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{network.bundle.1733818396.js => network.bundle.1733828928.js} (99%) rename skyline_console/static/{network.bundle.1733818396.js.gz => network.bundle.1733828928.js.gz} (99%) rename skyline_console/static/{runtime.1733818396.js => runtime.1733828928.js} (97%) rename skyline_console/static/{share.bundle.1733818396.js => share.bundle.1733828928.js} (100%) rename skyline_console/static/{share.bundle.1733818396.js.gz => share.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{storage.bundle.1733818396.js => storage.bundle.1733828928.js} (100%) rename skyline_console/static/{storage.bundle.1733818396.js.gz => storage.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{user-center.bundle.1733818396.js => user-center.bundle.1733828928.js} (100%) rename skyline_console/static/{user-center.bundle.1733818396.js.gz => user-center.bundle.1733828928.js.gz} (100%) rename skyline_console/static/{vendor.bundle.1733818396.js => vendor.bundle.1733828928.js} (100%) rename skyline_console/static/{vendor.bundle.1733818396.js.gz => vendor.bundle.1733828928.js.gz} (100%) diff --git a/skyline_console/static/Container.bundle.1733818396.js b/skyline_console/static/Container.bundle.1733828928.js similarity index 100% rename from skyline_console/static/Container.bundle.1733818396.js rename to skyline_console/static/Container.bundle.1733828928.js diff --git a/skyline_console/static/Container.bundle.1733818396.js.gz b/skyline_console/static/Container.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/Container.bundle.1733818396.js.gz rename to skyline_console/static/Container.bundle.1733828928.js.gz diff --git a/skyline_console/static/Inctance-HA.bundle.1733818396.js b/skyline_console/static/Inctance-HA.bundle.1733828928.js similarity index 100% rename from skyline_console/static/Inctance-HA.bundle.1733818396.js rename to skyline_console/static/Inctance-HA.bundle.1733828928.js diff --git a/skyline_console/static/Inctance-HA.bundle.1733818396.js.gz b/skyline_console/static/Inctance-HA.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/Inctance-HA.bundle.1733818396.js.gz rename to skyline_console/static/Inctance-HA.bundle.1733828928.js.gz diff --git a/skyline_console/static/asset/image/FelCloud_website_white-07-01.1733818396.png b/skyline_console/static/asset/image/FelCloud_website_white-07-01.1733828928.png similarity index 100% rename from skyline_console/static/asset/image/FelCloud_website_white-07-01.1733818396.png rename to skyline_console/static/asset/image/FelCloud_website_white-07-01.1733828928.png diff --git a/skyline_console/static/asset/image/cloud.1733818396.png b/skyline_console/static/asset/image/cloud.1733828928.png similarity index 100% rename from skyline_console/static/asset/image/cloud.1733818396.png rename to skyline_console/static/asset/image/cloud.1733828928.png diff --git a/skyline_console/static/asset/image/empty-card.1733818396.svg b/skyline_console/static/asset/image/empty-card.1733828928.svg similarity index 100% rename from skyline_console/static/asset/image/empty-card.1733818396.svg rename to skyline_console/static/asset/image/empty-card.1733828928.svg diff --git a/skyline_console/static/asset/image/load-balancer.1733818396.png b/skyline_console/static/asset/image/load-balancer.1733828928.png similarity index 100% rename from skyline_console/static/asset/image/load-balancer.1733818396.png rename to skyline_console/static/asset/image/load-balancer.1733828928.png diff --git a/skyline_console/static/asset/image/login-full.1733818396.png b/skyline_console/static/asset/image/login-full.1733828928.png similarity index 100% rename from skyline_console/static/asset/image/login-full.1733818396.png rename to skyline_console/static/asset/image/login-full.1733828928.png diff --git a/skyline_console/static/asset/image/router.1733818396.png b/skyline_console/static/asset/image/router.1733828928.png similarity index 100% rename from skyline_console/static/asset/image/router.1733818396.png rename to skyline_console/static/asset/image/router.1733828928.png diff --git a/skyline_console/static/auth.bundle.1733818396.js.gz b/skyline_console/static/auth.bundle.1733818396.js.gz deleted file mode 100644 index bb5ffb4a40d2708b4db25b331a8cac865a8c491c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7477 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 diff --git a/skyline_console/static/auth.bundle.1733818396.js b/skyline_console/static/auth.bundle.1733828928.js similarity index 99% rename from skyline_console/static/auth.bundle.1733818396.js rename to skyline_console/static/auth.bundle.1733828928.js index 12cfcc02..a2a99ffe 100644 --- a/skyline_console/static/auth.bundle.1733818396.js +++ b/skyline_console/static/auth.bundle.1733828928.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1238:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(416)),i=a(n(1711)),l=e=>(0,o.default)(i.default,e);t.default=l},1492:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=void 0;var l=i(n(54)),s=i(n(77)),d=i(n(58));n(1261);var u=i(n(1262)),f=i(n(343)),c=i(n(35)),m=i(n(570)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),h=(n(161),i(n(16))),g=i(n(4));function _(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(_=function(e){return e?n:t})(e)}class x extends p.Component{constructor(){super(...arguments),(0,c.default)(this,"renderFormItem",(e=>{var{render:t}=e;return t?t():null})),(0,c.default)(this,"getFormItemRules",(e=>{var{rules:t,required:n=!1,message:r,otherRule:a}=e;if((0,m.default)(e,"rules"))return t;var o={required:n};return r&&(o.message=r),a?[o,a]:[o]})),(0,c.default)(this,"renderFormItems",(()=>{var{formItems:e}=this.props;return(0,l.default)(e).call(e,((e,t)=>{var n,{name:r,hidden:a,dependencies:o=[],className:i,onChange:l,extra:d,label:c}=e,m={name:r,rules:this.getFormItemRules(e),hidden:a,dependencies:o,className:i,extra:d,label:c};return l&&(m.onChange=l),p.default.createElement(u.default.Item,(0,f.default)({},m,{key:(0,s.default)(n="".concat(r,"-")).call(n,t)}),this.renderFormItem(e))}))}))}render(){var e=this.props,{formItems:t,formref:n,className:r}=e,a=(0,d.default)(e,["formItems","formref","className"]);return p.default.createElement(u.default,(0,f.default)({ref:n,className:(0,g.default)(r,"simple-form")},a,{style:{color:"white !important"}}),this.renderFormItems())}}t.default=x,(0,c.default)(x,"propTypes",{name:h.default.string,className:h.default.string,initialValues:h.default.object,onFinish:h.default.func,size:h.default.string,formItems:h.default.array,formref:h.default.any}),(0,c.default)(x,"defaultProps",{initialValues:{},size:"large",formItems:[],onFinish:e=>{}})},1711:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(1712)),i=a(n(1723)),l=a(n(1750)),s="/auth",d=[{path:s,component:o.default,routes:[{path:"".concat(s,"/login"),component:i.default,exact:!0},{path:"".concat(s,"/change-password"),component:l.default,exact:!0}]}];t.default=d},1712:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=t.AuthLayout=void 0;var l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),s=n(412),d=i(n(416)),u=i(n(1713)),f=i(n(1719)),c=i(n(1720)),m=i(n(1721));function p(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(p=function(e){return e?n:t})(e)}class h extends l.Component{constructor(e){super(e),this.routes=e.route.routes}renderRight(){return l.default.createElement("div",{className:m.default.right},l.default.createElement("img",{alt:"",className:m.default["login-full-image"],src:c.default}),l.default.createElement("div",{className:m.default["full-image-front"]}),l.default.createElement("img",{src:f.default,alt:"",className:m.default["login-right-logo"],style:{maxWidth:"200px"}}))}render(){return l.default.createElement("div",{className:m.default.container},l.default.createElement("div",{className:m.default.left,style:{background:"linear-gradient(-240deg, #3f004a 50%, #000000 100%)",color:"white"}},l.default.createElement("div",{className:m.default.lang},l.default.createElement(u.default,null)),l.default.createElement("div",{className:m.default.main},l.default.createElement("div",{className:m.default.top},l.default.createElement("div",{className:m.default.header,style:{width:"fit-content"}},l.default.createElement("img",{alt:"logo",className:m.default.logo,src:f.default}))),(0,d.default)(this.routes))),this.renderRight())}}t.AuthLayout=h;var g=(0,s.inject)("rootStore")((0,s.observer)(h));t.default=g},1713:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0,n(586);var o=a(n(424)),i=a(n(1342));n(1276);var l=a(n(421)),s=a(n(54)),d=(n(161),a(n(237))),u=a(n(0)),f=a(n(4)),c=(n(564),a(n(1717))),{getLocale:m,setLocale:p,SUPPORT_LOCALES:h}=d.default,g=e=>{if(h.length<=1)return null;var{className:t}=e,n=m(),r=(0,s.default)(h).call(h,(e=>e.value)),a=(0,s.default)(h).call(h,(e=>e.name)),d=(0,s.default)(h).call(h,(e=>e.icon)),g=u.default.createElement(l.default,{className:c.default.menu,selectedKeys:[n],onClick:e=>{var{key:t}=e;p(t,!1)}},(0,s.default)(r).call(r,((e,t)=>u.default.createElement(l.default.Item,{key:e},u.default.createElement("span",{role:"img","aria-label":a[t]},d[t])," ",a[t]))));return u.default.createElement(o.default,{overlay:g,placement:"bottomRight"},u.default.createElement("span",{className:(0,f.default)(c.default["drop-down"],t)},u.default.createElement(i.default,null)))};t.default=g},1717:function(e,t,n){var r=n(1718);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1718:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__menu--25uep .anticon {\n margin-right: 8px;\n}\n.index__menu--25uep .ant-dropdown-menu-item {\n min-width: 160px;\n}\n.index__drop-down--37VUG {\n font-size: 16px;\n line-height: 20px;\n vertical-align: top;\n cursor: pointer;\n}\n.index__drop-down--37VUG > i {\n font-size: 16px !important;\n -webkit-transform: none !important;\n transform: none !important;\n}\n.index__drop-down--37VUG > i svg {\n position: relative;\n top: -1px;\n}\n",""]),t.locals={menu:"index__menu--25uep","drop-down":"index__drop-down--37VUG"}},1719:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/FelCloud_website_white-07-01.1733818396.png"},1720:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/login-full.1733818396.png"},1721:function(e,t,n){var r=n(1722);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1722:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__container--PLjMT {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row;\n flex-flow: row;\n height: 100vh;\n overflow: hidden;\n background-color: #fff;\n}\n.index__container--PLjMT .index__left--1nLBx {\n position: relative;\n width: 576px;\n overflow-y: auto;\n /* TODO wait for RGB\n // background: rgb(253, 249, 252) no-repeat fixed left bottom;\n // background-size: 556px; */\n}\n.index__container--PLjMT .index__left--1nLBx .index__lang--1iG5n {\n position: absolute;\n top: 20px;\n right: 24px;\n width: 20px;\n height: 20px;\n text-align: right;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 {\n margin-top: 10vh;\n padding: 0 130px;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 {\n text-align: center;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF {\n height: 56px;\n line-height: 56px;\n text-align: left;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF a {\n text-decoration: none;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF .index__logo--2IrMw {\n height: 56px;\n margin-right: 16px;\n vertical-align: top;\n}\n.index__container--PLjMT .index__right--1kgDa {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n text-align: center;\n background-color: #21242a;\n}\n.index__login-image--1VBMI {\n margin-top: calc(100vh - 668px);\n}\n.index__login-full-image--3lehL {\n width: 100%;\n height: 100%;\n}\n.index__full-image-front--1vn-y {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(14, 34, 181, 0.15);\n}\n.index__login-right-logo--31US1 {\n position: relative;\n top: -100px;\n}\n",""]),t.locals={container:"index__container--PLjMT",left:"index__left--1nLBx",lang:"index__lang--1iG5n",main:"index__main--1Zm84",top:"index__top--2uGv8",header:"index__header--15dtF",logo:"index__logo--2IrMw",right:"index__right--1kgDa","login-image":"index__login-image--1VBMI","login-full-image":"index__login-full-image--3lehL","full-image-front":"index__full-image-front--1vn-y","login-right-logo":"index__login-right-logo--31US1"}},1723:function(e,n,r){"use strict";var a=r(32),o=r(42),i=r(29),l=r(25),s=r(28),d=r(44),u=r(45),f=r(20),c=r(162),m=r(21);f(n,"__esModule",{value:!0}),n.default=n.Login=void 0;var p=m(r(430)),h=m(r(164)),g=m(r(63)),_=m(r(54));r(231);var x=m(r(341));r(1246);var v=m(r(1247));r(1244);var w=m(r(1245));r(569);var b=m(r(1253));r(568);var y=m(r(415)),S=m(r(617)),E=m(r(49)),P=m(r(35)),L=m(r(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=N(t);if(n&&n.has(e))return n.get(e);var r={},a=f&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?l(e,o):null;i&&(i.get||i.set)?f(r,o,i):r[o]=e[o]}r.default=e,n&&n.set(e,r);return r}(r(0)),C=(r(161),r(412)),k=r(204),I=(r(564),m(r(1492))),T=m(r(1747)),j=m(r(237)),R=m(r(1748));function N(e){if("function"!=typeof c)return null;var t=new c,n=new c;return(N=function(e){return e?n:t})(e)}function D(e,t){var n=a(e);if(o){var r=o(e);t&&(r=i(r).call(r,(function(t){return l(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e){for(var t=1;t{this.setState({loginTypeOption:t})})),(0,P.default)(this,"getUserId",(e=>{var t;return(0,p.default)(t=e.split(":")[1]).call(t).split(".")[0]})),(0,P.default)(this,"onLoginFailed",((e,t)=>{this.setState({loading:!1});var{data:{detail:n=""}}=e.response,r=n||"";(0,h.default)(r).call(r,"The password is expired and needs to be changed for user")?this.dealWithChangePassword(r,t):this.setState({error:!0,message:r})})),(0,P.default)(this,"onLoginSuccess",(()=>{this.setState({loading:!1,error:!1}),this.rootStore.user&&!(0,L.default)(this.rootStore.user)&&this.rootStore.routing.push(this.nextPage)})),(0,P.default)(this,"onFinish",(e=>{if("sso"!==this.currentLoginType){this.setState({loading:!0,message:"",error:!1});var{password:t,region:n,domain:r}=e,a=M({password:t,region:n},this.getUsernameAndDomain({usernameDomain:r}));this.rootStore.login(a).then((()=>{this.onLoginSuccess()}),(t=>{this.onLoginFailed(t,e)}))}else document.location.href=this.currentSSOLink})),(0,P.default)(this,"getUsernameAndDomain",(e=>{var{usernameDomain:t}=e,n=(0,p.default)(t).call(t).split("@");return{username:n[0],domain:n[1]||"Default"}})),(0,P.default)(this,"usernameDomainValidator",((e,n)=>{if(!n||!(0,p.default)(n).call(n))return g.default.reject(t("Please input or @!"));var r=(0,p.default)(n).call(n).split("@"),a=t("Please input the correct format: or @.");if(r.length>2)return g.default.reject(new Error(a));var{username:o,domain:i}=this.getUsernameAndDomain({usernameDomain:n});return o&&i?g.default.resolve():g.default.reject(new Error(a))})),(0,P.default)(this,"dealWithChangePassword",((e,t)=>{var n=this.getUserId(e),r={region:t.region,oldPassword:t.password,userId:n};this.rootStore.setPasswordInfo(r),this.rootStore.routing.push("/auth/change-password")})),(0,P.default)(this,"updateDefaultValue",(()=>{this.formRef.current.resetFields(),this.formRef.current&&this.formRef.current.resetFields&&this.formRef.current.resetFields()})),this.init(),this.state={error:!1,message:"",loading:!1,loginTypeOption:this.passwordOption}}componentDidMount(){this.getRegions(),this.getSSO()}getRegions(){var e=this;return(0,E.default)((function*(){yield e.store.fetchRegionList(),e.updateDefaultValue()}))()}getSSO(){var e=this;return(0,E.default)((function*(){try{e.store.fetchSSO()}catch(e){}}))()}get rootStore(){return this.props.rootStore}get info(){var{info:e={}}=this.rootStore;return e||{}}get productName(){var{product_name:e={zh:t("Cloud Platform"),en:"Cloud Platform"}}=this.info,{getLocaleShortName:n}=j.default,r=e[n()]||t("Cloud Platform")||"Cloud Platform";return t("Welcome, {name}",{name:r})}get regions(){var e;return(0,_.default)(e=this.store.regions||[]).call(e,(e=>({label:e,value:e})))}get domains(){return[]}get nextPage(){var{location:e={}}=this.props,{search:t}=e;return t?t.split("=")[1]:"/base/overview"}get enableSSO(){var{sso:{enable_sso:e=!1}={}}=this.store;return e}get ssoProtocols(){return{openid:t("OpenID Connect")}}get SSOOptions(){if(!this.enableSSO)return[];var{sso:{protocols:e=[]}={}}=this.store;return(0,_.default)(e).call(e,(e=>{var{protocol:t,url:n}=e;return M({label:this.ssoProtocols[t]||t,value:n},e)}))}get passwordOption(){return{label:t("Keystone Credentials"),value:"password"}}get loginTypeOptions(){return this.enableSSO?[this.passwordOption,...this.SSOOptions]:[]}get currentLoginType(){var{loginTypeOption:{value:e}={}}=this.state;return"password"===e?"password":"sso"}get currentSSOLink(){var{loginTypeOption:{value:e}={}}=this.state;return e}get defaultValue(){var e={loginType:"password"};return 1===this.regions.length&&(e.region=this.regions[0].value),e}get formItems(){var{error:e,loading:n}=this.state,r=this.currentLoginType,a={name:"submit",render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(x.default,{loading:n,type:"primary",htmlType:"submit",className:"login-form-button"},t("Log in"))))},o=[{name:"error",hidden:!e,render:()=>O.default.createElement("div",{className:R.default["login-error"]},O.default.createElement(S.default,null),this.getErrorMessage())},{name:"region",required:!0,message:t("Please select your Region!"),render:()=>O.default.createElement(y.default,{placeholder:t("Select a region"),options:this.regions})},{name:"domain",required:!0,render:()=>O.default.createElement(b.default,{placeholder:t(" or @")}),extra:O.default.createElement("span",{style:{color:"white"}},t('Tips: without domain means "Default" domain.')),rules:[{required:!0,validator:this.usernameDomainValidator}]},{name:"username",required:!1,message:t("Please input your Username!"),render:()=>O.default.createElement(b.default,{placeholder:t("Username")}),hidden:!0},{name:"password",required:!0,message:t("Please input your Password!"),render:()=>O.default.createElement(b.default.Password,{placeholder:t("Password")})},{name:"extra",hidden:!0,render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"password"},t("Forgot your password?"))),O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"register",className:R.default.register},t("Sign up"))))}],i={name:"loginType",required:!0,message:t("Please select login type!"),extra:O.default.createElement("span",{style:{color:"white"}},t("If you are not sure which authentication method to use, please contact your administrator.")),render:()=>O.default.createElement(y.default,{placeholder:t("Select a login type"),options:this.loginTypeOptions,onChange:this.onLoginTypeChange})};return this.enableSSO?"password"===r?[i,...o,a]:[i,a]:[...o,a]}getErrorMessage(){var{message:e}=this.state;return(0,h.default)(e).call(e,"The account is locked for user")?t("Frequent login failure will cause the account to be temporarily locked, please operate after 5 minutes"):(0,h.default)(e).call(e,"The account is disabled for user")?t("The user has been disabled, please contact the administrator"):(0,h.default)(e).call(e,"You are not authorized for any projects or domains")?t("If you are not authorized to access any project, or if the project you are involved in has been deleted or disabled, contact the platform administrator to reassign the project"):t("Username or password is incorrect")}init(){this.store=T.default,this.formRef=O.default.createRef()}renderExtra(){return null}render(){return O.default.createElement(O.default.Fragment,null,O.default.createElement("h1",{style:{color:"white"},className:R.default.welcome},this.productName," "),O.default.createElement(I.default,{formItems:this.formItems,name:"normal_login",className:R.default["login-form"],initialValues:this.defaultValue,onFinish:this.onFinish,formref:this.formRef,size:"large"}),this.renderExtra())}}n.Login=F;var U=(0,C.inject)("rootStore")((0,C.observer)(F));n.default=U},1747:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=t.SkylineStore=void 0;var o,i,l,s,d=a(n(25)),u=a(n(49)),f=a(n(74)),c=(a(n(35)),a(n(55))),m=(a(n(75)),n(36)),p=a(n(50)),h=a(n(53)),g=(o=class extends h.default{constructor(){super(...arguments),(0,f.default)(this,"domains",i,this),(0,f.default)(this,"regions",l,this),(0,f.default)(this,"sso",s,this)}get client(){return p.default.skyline.contrib}fetchDomainList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.domains();e.domains=t}))()}fetchRegionList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.regions();e.regions=t}))()}fetchSSO(){var e=this;return(0,u.default)((function*(){var t=yield p.default.skyline.sso.list();e.sso=t}))()}},i=(0,c.default)(o.prototype,"domains",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),l=(0,c.default)(o.prototype,"regions",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),s=(0,c.default)(o.prototype,"sso",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),(0,c.default)(o.prototype,"fetchDomainList",[m.action],(0,d.default)(o.prototype,"fetchDomainList"),o.prototype),(0,c.default)(o.prototype,"fetchRegionList",[m.action],(0,d.default)(o.prototype,"fetchRegionList"),o.prototype),(0,c.default)(o.prototype,"fetchSSO",[m.action],(0,d.default)(o.prototype,"fetchSSO"),o.prototype),o);t.SkylineStore=g;var _=new g;t.default=_},1748:function(e,t,n){var r=n(1749);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1749:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--2dPww {\n float: right;\n}\n.index__welcome--Wrl8u {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__login-form--2ucoo {\n width: 310px;\n}\n.index__login-error--2XGt4 {\n padding: 8px 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 1.5;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__login-error--2XGt4 .anticon {\n margin-right: 8px;\n}\n.index__ant-form-item-extra--2TUD6 {\n color: white !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--2dPww",welcome:"index__welcome--Wrl8u","login-form":"index__login-form--2ucoo","login-error":"index__login-error--2XGt4","ant-form-item-extra":"index__ant-form-item-extra--2TUD6"}},1750:function(e,n,r){"use strict";var a=r(162),o=r(20),i=r(25),l=r(21);o(n,"__esModule",{value:!0}),n.default=n.Password=void 0;var s=l(r(91));r(231);var d=l(r(341));r(569);var u=l(r(1253)),f=l(r(617)),c=l(r(35)),m=l(r(177)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=S(t);if(n&&n.has(e))return n.get(e);var r={},a=o&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=a?i(e,l):null;s&&(s.get||s.set)?o(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(r(0)),h=(r(161),r(204)),g=(r(564),r(565)),_=r(412),x=r(36),v=l(r(1255)),w=l(r(1270)),b=l(r(1492)),y=l(r(1780));function S(e){if("function"!=typeof a)return null;var t=new a,n=new a;return(S=function(e){return e?n:t})(e)}class E extends p.Component{constructor(e){super(e),(0,c.default)(this,"formRef",null),(0,c.default)(this,"onFinish",(e=>{var{rootStore:n}=this.props,{userId:r,oldPassword:a}=this.passwordData,{password:o}=e,i={id:r,password:o,original_password:a};this.setState({loading:!0}),v.default.changePasswordUser(i).then((()=>{this.setState({loading:!1}),w.default.success(t("Password changed successfully, please log in again.")),n.setPasswordInfo(null),n.routing.push("/auth/login")}),(e=>{var{response:{data:{error:{message:t}={}}={}}={}}=e;this.setState({error:!0,message:t,loading:!1})}))})),(0,c.default)(this,"getCount",(e=>{try{return e.split("be unique is ")[1].split(".")[0]}catch(e){return 0}})),(0,c.default)(this,"getErrorWord",(e=>{if(!e)return t("Reset failed, please retry");if((0,s.default)(e).call(e,"The new password cannot be identical to a previous password.")>=0){var n=this.getCount(e);return n?"2"===n?t("The password must not be the same as the previous two"):t("The password must not be the same as the previous {num}",{num:n}):t("The password must not be the same as the previous")}return t("Reset failed, please retry")})),this.init(),this.state={error:!1,message:"",loading:!1}}componentDidMount(){var{rootStore:{routing:e}={}}=this.props;this.passwordData&&!(0,m.default)(this.passwordData)||e.push("/auth/login")}componentWillUnmount(){var{rootStore:e}=this.props;e.setPasswordInfo(null)}get passwordData(){var{rootStore:{oldPassword:e}={}}=this.props;return(0,x.toJS)(e)||{}}get defaultValue(){var{oldPassword:e}=this.passwordData;return{oldPassword:e}}get formItems(){var{error:e,message:n,loading:r}=this.state,a=this.getErrorWord(n);return[{name:"hint",render:()=>p.default.createElement("div",{className:y.default.hint},p.default.createElement(f.default,{style:{color:globalCSS.warnColor}}),t("User need to change password"))},{name:"error",hidden:!e,render:()=>p.default.createElement("div",{className:y.default.error},p.default.createElement(f.default,null),a)},{name:"password",required:!0,message:t("Please input your password!"),otherRule:(0,g.getPasswordOtherRule)("password","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Password")})},{name:"confirmPassword",required:!0,message:t("Please confirm your password!"),dependencies:["password"],otherRule:(0,g.getPasswordOtherRule)("confirmPassword","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Confirm Password")})},{name:"submit",className:y.default.between,render:()=>p.default.createElement(p.default.Fragment,null,p.default.createElement(d.default,{type:"primary",htmlType:"submit",loading:r},t("Confirm")),p.default.createElement(h.Link,{style:{marginLeft:50},to:"/auth/login"},t("Back to login page")))}]}init(){this.formRef=p.default.createRef()}render(){return p.default.createElement(p.default.Fragment,null,p.default.createElement("h1",{className:y.default.welcome},t("Welcome")),p.default.createElement(b.default,{formref:this.formRef,formItems:this.formItems,name:"reset_password",className:y.default.reset,onFinish:this.onFinish,initialValues:this.defaultValue,size:"large",scrollToFirstError:!0}))}}n.Password=E;var P=(0,_.inject)("rootStore")((0,_.observer)(E));n.default=P},1780:function(e,t,n){var r=n(1781);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1781:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--3Uzk2 {\n float: right;\n}\n.index__welcome--3RISd {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__hint--1lIUh {\n padding: 8px 12px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n line-height: 1.5;\n background: #fffbe6;\n border: 1px solid #ffe58f;\n border-radius: 4px;\n}\n.index__hint--1lIUh .anticon {\n margin-right: 8px;\n}\n.index__reset--1EOoE {\n margin-top: 24px;\n}\n.index__reset--1EOoE .index__title--2znQU {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__info--3bS5M {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__between--10sD1 .ant-form-item-control-input-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.index__error--SAQ5q {\n padding-left: 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 38px;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__error--SAQ5q .anticon {\n margin-right: 8px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--3Uzk2",welcome:"index__welcome--3RISd",hint:"index__hint--1lIUh",reset:"index__reset--1EOoE",title:"index__title--2znQU",info:"index__info--3bS5M",between:"index__between--10sD1",error:"index__error--SAQ5q"}}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1238:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(416)),i=a(n(1711)),l=e=>(0,o.default)(i.default,e);t.default=l},1492:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=void 0;var l=i(n(54)),s=i(n(77)),d=i(n(58));n(1261);var u=i(n(1262)),f=i(n(343)),c=i(n(35)),m=i(n(570)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),h=(n(161),i(n(16))),g=i(n(4));function _(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(_=function(e){return e?n:t})(e)}class x extends p.Component{constructor(){super(...arguments),(0,c.default)(this,"renderFormItem",(e=>{var{render:t}=e;return t?t():null})),(0,c.default)(this,"getFormItemRules",(e=>{var{rules:t,required:n=!1,message:r,otherRule:a}=e;if((0,m.default)(e,"rules"))return t;var o={required:n};return r&&(o.message=r),a?[o,a]:[o]})),(0,c.default)(this,"renderFormItems",(()=>{var{formItems:e}=this.props;return(0,l.default)(e).call(e,((e,t)=>{var n,{name:r,hidden:a,dependencies:o=[],className:i,onChange:l,extra:d,label:c}=e,m={name:r,rules:this.getFormItemRules(e),hidden:a,dependencies:o,className:i,extra:d,label:c};return l&&(m.onChange=l),p.default.createElement(u.default.Item,(0,f.default)({},m,{key:(0,s.default)(n="".concat(r,"-")).call(n,t)}),this.renderFormItem(e))}))}))}render(){var e=this.props,{formItems:t,formref:n,className:r}=e,a=(0,d.default)(e,["formItems","formref","className"]);return p.default.createElement(u.default,(0,f.default)({ref:n,className:(0,g.default)(r,"simple-form")},a,{style:{color:"white !important"}}),this.renderFormItems())}}t.default=x,(0,c.default)(x,"propTypes",{name:h.default.string,className:h.default.string,initialValues:h.default.object,onFinish:h.default.func,size:h.default.string,formItems:h.default.array,formref:h.default.any}),(0,c.default)(x,"defaultProps",{initialValues:{},size:"large",formItems:[],onFinish:e=>{}})},1711:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(1712)),i=a(n(1723)),l=a(n(1750)),s="/auth",d=[{path:s,component:o.default,routes:[{path:"".concat(s,"/login"),component:i.default,exact:!0},{path:"".concat(s,"/change-password"),component:l.default,exact:!0}]}];t.default=d},1712:function(e,t,n){"use strict";var r=n(162),a=n(20),o=n(25),i=n(21);a(t,"__esModule",{value:!0}),t.default=t.AuthLayout=void 0;var l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={},i=a&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=i?o(e,l):null;s&&(s.get||s.set)?a(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(n(0)),s=n(412),d=i(n(416)),u=i(n(1713)),f=i(n(1719)),c=i(n(1720)),m=i(n(1721));function p(e){if("function"!=typeof r)return null;var t=new r,n=new r;return(p=function(e){return e?n:t})(e)}class h extends l.Component{constructor(e){super(e),this.routes=e.route.routes}renderRight(){return l.default.createElement("div",{className:m.default.right},l.default.createElement("img",{alt:"",className:m.default["login-full-image"],src:c.default}),l.default.createElement("div",{className:m.default["full-image-front"]}),l.default.createElement("img",{src:f.default,alt:"",className:m.default["login-right-logo"],style:{maxWidth:"200px"}}))}render(){return l.default.createElement("div",{className:m.default.container},l.default.createElement("div",{className:m.default.left,style:{background:"linear-gradient(-240deg, #3f004a 50%, #000000 100%)",color:"white"}},l.default.createElement("div",{className:m.default.lang},l.default.createElement(u.default,null)),l.default.createElement("div",{className:m.default.main},l.default.createElement("div",{className:m.default.top},l.default.createElement("div",{className:m.default.header,style:{width:"fit-content"}},l.default.createElement("img",{alt:"logo",className:m.default.logo,src:f.default}))),(0,d.default)(this.routes))),this.renderRight())}}t.AuthLayout=h;var g=(0,s.inject)("rootStore")((0,s.observer)(h));t.default=g},1713:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=void 0,n(586);var o=a(n(424)),i=a(n(1342));n(1276);var l=a(n(421)),s=a(n(54)),d=(n(161),a(n(237))),u=a(n(0)),f=a(n(4)),c=(n(564),a(n(1717))),{getLocale:m,setLocale:p,SUPPORT_LOCALES:h}=d.default,g=e=>{if(h.length<=1)return null;var{className:t}=e,n=m(),r=(0,s.default)(h).call(h,(e=>e.value)),a=(0,s.default)(h).call(h,(e=>e.name)),d=(0,s.default)(h).call(h,(e=>e.icon)),g=u.default.createElement(l.default,{className:c.default.menu,selectedKeys:[n],onClick:e=>{var{key:t}=e;p(t,!1)}},(0,s.default)(r).call(r,((e,t)=>u.default.createElement(l.default.Item,{key:e},u.default.createElement("span",{role:"img","aria-label":a[t]},d[t])," ",a[t]))));return u.default.createElement(o.default,{overlay:g,placement:"bottomRight"},u.default.createElement("span",{className:(0,f.default)(c.default["drop-down"],t)},u.default.createElement(i.default,null)))};t.default=g},1717:function(e,t,n){var r=n(1718);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1718:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__menu--25uep .anticon {\n margin-right: 8px;\n}\n.index__menu--25uep .ant-dropdown-menu-item {\n min-width: 160px;\n}\n.index__drop-down--37VUG {\n font-size: 16px;\n line-height: 20px;\n vertical-align: top;\n cursor: pointer;\n}\n.index__drop-down--37VUG > i {\n font-size: 16px !important;\n -webkit-transform: none !important;\n transform: none !important;\n}\n.index__drop-down--37VUG > i svg {\n position: relative;\n top: -1px;\n}\n",""]),t.locals={menu:"index__menu--25uep","drop-down":"index__drop-down--37VUG"}},1719:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/FelCloud_website_white-07-01.1733828928.png"},1720:function(e,t,n){"use strict";n.r(t),t.default=n.p+"asset/image/login-full.1733828928.png"},1721:function(e,t,n){var r=n(1722);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1722:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,".index__container--PLjMT {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row;\n flex-flow: row;\n height: 100vh;\n overflow: hidden;\n background-color: #fff;\n}\n.index__container--PLjMT .index__left--1nLBx {\n position: relative;\n width: 576px;\n overflow-y: auto;\n /* TODO wait for RGB\n // background: rgb(253, 249, 252) no-repeat fixed left bottom;\n // background-size: 556px; */\n}\n.index__container--PLjMT .index__left--1nLBx .index__lang--1iG5n {\n position: absolute;\n top: 20px;\n right: 24px;\n width: 20px;\n height: 20px;\n text-align: right;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 {\n margin-top: 10vh;\n padding: 0 130px;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 {\n text-align: center;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF {\n height: 56px;\n line-height: 56px;\n text-align: left;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF a {\n text-decoration: none;\n}\n.index__container--PLjMT .index__left--1nLBx .index__main--1Zm84 .index__top--2uGv8 .index__header--15dtF .index__logo--2IrMw {\n height: 56px;\n margin-right: 16px;\n vertical-align: top;\n}\n.index__container--PLjMT .index__right--1kgDa {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1;\n text-align: center;\n background-color: #21242a;\n}\n.index__login-image--1VBMI {\n margin-top: calc(100vh - 668px);\n}\n.index__login-full-image--3lehL {\n width: 100%;\n height: 100%;\n}\n.index__full-image-front--1vn-y {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(14, 34, 181, 0.15);\n}\n.index__login-right-logo--31US1 {\n position: relative;\n top: -100px;\n}\n",""]),t.locals={container:"index__container--PLjMT",left:"index__left--1nLBx",lang:"index__lang--1iG5n",main:"index__main--1Zm84",top:"index__top--2uGv8",header:"index__header--15dtF",logo:"index__logo--2IrMw",right:"index__right--1kgDa","login-image":"index__login-image--1VBMI","login-full-image":"index__login-full-image--3lehL","full-image-front":"index__full-image-front--1vn-y","login-right-logo":"index__login-right-logo--31US1"}},1723:function(e,n,r){"use strict";var a=r(32),o=r(42),i=r(29),l=r(25),s=r(28),d=r(44),u=r(45),f=r(20),c=r(162),m=r(21);f(n,"__esModule",{value:!0}),n.default=n.Login=void 0;var p=m(r(430)),h=m(r(164)),g=m(r(63)),_=m(r(54));r(231);var x=m(r(341));r(1246);var v=m(r(1247));r(1244);var w=m(r(1245));r(569);var b=m(r(1253));r(568);var y=m(r(415)),S=m(r(617)),E=m(r(49)),P=m(r(35)),L=m(r(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=N(t);if(n&&n.has(e))return n.get(e);var r={},a=f&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?l(e,o):null;i&&(i.get||i.set)?f(r,o,i):r[o]=e[o]}r.default=e,n&&n.set(e,r);return r}(r(0)),C=(r(161),r(412)),k=r(204),I=(r(564),m(r(1492))),T=m(r(1747)),j=m(r(237)),R=m(r(1748));function N(e){if("function"!=typeof c)return null;var t=new c,n=new c;return(N=function(e){return e?n:t})(e)}function D(e,t){var n=a(e);if(o){var r=o(e);t&&(r=i(r).call(r,(function(t){return l(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e){for(var t=1;t{this.setState({loginTypeOption:t})})),(0,P.default)(this,"getUserId",(e=>{var t;return(0,p.default)(t=e.split(":")[1]).call(t).split(".")[0]})),(0,P.default)(this,"onLoginFailed",((e,t)=>{this.setState({loading:!1});var{data:{detail:n=""}}=e.response,r=n||"";(0,h.default)(r).call(r,"The password is expired and needs to be changed for user")?this.dealWithChangePassword(r,t):this.setState({error:!0,message:r})})),(0,P.default)(this,"onLoginSuccess",(()=>{this.setState({loading:!1,error:!1}),this.rootStore.user&&!(0,L.default)(this.rootStore.user)&&this.rootStore.routing.push(this.nextPage)})),(0,P.default)(this,"onFinish",(e=>{if("sso"!==this.currentLoginType){this.setState({loading:!0,message:"",error:!1});var{password:t,region:n,domain:r}=e,a=M({password:t,region:n},this.getUsernameAndDomain({usernameDomain:r}));this.rootStore.login(a).then((()=>{this.onLoginSuccess()}),(t=>{this.onLoginFailed(t,e)}))}else document.location.href=this.currentSSOLink})),(0,P.default)(this,"getUsernameAndDomain",(e=>{var{usernameDomain:t}=e,n=(0,p.default)(t).call(t).split("@");return{username:n[0],domain:n[1]||"Default"}})),(0,P.default)(this,"usernameDomainValidator",((e,n)=>{if(!n||!(0,p.default)(n).call(n))return g.default.reject(t("Please input or @!"));var r=(0,p.default)(n).call(n).split("@"),a=t("Please input the correct format: or @.");if(r.length>2)return g.default.reject(new Error(a));var{username:o,domain:i}=this.getUsernameAndDomain({usernameDomain:n});return o&&i?g.default.resolve():g.default.reject(new Error(a))})),(0,P.default)(this,"dealWithChangePassword",((e,t)=>{var n=this.getUserId(e),r={region:t.region,oldPassword:t.password,userId:n};this.rootStore.setPasswordInfo(r),this.rootStore.routing.push("/auth/change-password")})),(0,P.default)(this,"updateDefaultValue",(()=>{this.formRef.current.resetFields(),this.formRef.current&&this.formRef.current.resetFields&&this.formRef.current.resetFields()})),this.init(),this.state={error:!1,message:"",loading:!1,loginTypeOption:this.passwordOption}}componentDidMount(){this.getRegions(),this.getSSO()}getRegions(){var e=this;return(0,E.default)((function*(){yield e.store.fetchRegionList(),e.updateDefaultValue()}))()}getSSO(){var e=this;return(0,E.default)((function*(){try{e.store.fetchSSO()}catch(e){}}))()}get rootStore(){return this.props.rootStore}get info(){var{info:e={}}=this.rootStore;return e||{}}get productName(){var{product_name:e={zh:t("Cloud Platform"),en:"Cloud Platform"}}=this.info,{getLocaleShortName:n}=j.default,r=e[n()]||t("Cloud Platform")||"Cloud Platform";return t("Welcome, {name}",{name:r})}get regions(){var e;return(0,_.default)(e=this.store.regions||[]).call(e,(e=>({label:e,value:e})))}get domains(){return[]}get nextPage(){var{location:e={}}=this.props,{search:t}=e;return t?t.split("=")[1]:"/base/overview"}get enableSSO(){var{sso:{enable_sso:e=!1}={}}=this.store;return e}get ssoProtocols(){return{openid:t("OpenID Connect")}}get SSOOptions(){if(!this.enableSSO)return[];var{sso:{protocols:e=[]}={}}=this.store;return(0,_.default)(e).call(e,(e=>{var{protocol:t,url:n}=e;return M({label:this.ssoProtocols[t]||t,value:n},e)}))}get passwordOption(){return{label:t("Keystone Credentials"),value:"password"}}get loginTypeOptions(){return this.enableSSO?[this.passwordOption,...this.SSOOptions]:[]}get currentLoginType(){var{loginTypeOption:{value:e}={}}=this.state;return"password"===e?"password":"sso"}get currentSSOLink(){var{loginTypeOption:{value:e}={}}=this.state;return e}get defaultValue(){var e={loginType:"password"};return 1===this.regions.length&&(e.region=this.regions[0].value),e}get formItems(){var{error:e,loading:n}=this.state,r=this.currentLoginType,a={name:"submit",render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(x.default,{loading:n,type:"primary",htmlType:"submit",className:"login-form-button"},t("Log in"))))},o=[{name:"error",hidden:!e,render:()=>O.default.createElement("div",{className:R.default["login-error"]},O.default.createElement(S.default,null),this.getErrorMessage())},{name:"region",required:!0,message:t("Please select your Region!"),render:()=>O.default.createElement(y.default,{placeholder:t("Select a region"),options:this.regions})},{name:"domain",required:!0,render:()=>O.default.createElement(b.default,{placeholder:t(" or @")}),extra:O.default.createElement("span",{style:{color:"white"}},t('Tips: without domain means "Default" domain.')),rules:[{required:!0,validator:this.usernameDomainValidator}]},{name:"username",required:!1,message:t("Please input your Username!"),render:()=>O.default.createElement(b.default,{placeholder:t("Username")}),hidden:!0},{name:"password",required:!0,message:t("Please input your Password!"),render:()=>O.default.createElement(b.default.Password,{placeholder:t("Password")})},{name:"extra",hidden:!0,render:()=>O.default.createElement(v.default,{gutter:8},O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"password"},t("Forgot your password?"))),O.default.createElement(w.default,{span:12},O.default.createElement(k.Link,{to:"register",className:R.default.register},t("Sign up"))))}],i={name:"loginType",required:!0,message:t("Please select login type!"),extra:O.default.createElement("span",{style:{color:"white"}},t("If you are not sure which authentication method to use, please contact your administrator.")),render:()=>O.default.createElement(y.default,{placeholder:t("Select a login type"),options:this.loginTypeOptions,onChange:this.onLoginTypeChange})};return this.enableSSO?"password"===r?[i,...o,a]:[i,a]:[...o,a]}getErrorMessage(){var{message:e}=this.state;return(0,h.default)(e).call(e,"The account is locked for user")?t("Frequent login failure will cause the account to be temporarily locked, please operate after 5 minutes"):(0,h.default)(e).call(e,"The account is disabled for user")?t("The user has been disabled, please contact the administrator"):(0,h.default)(e).call(e,"You are not authorized for any projects or domains")?t("If you are not authorized to access any project, or if the project you are involved in has been deleted or disabled, contact the platform administrator to reassign the project"):t("Username or password is incorrect")}init(){this.store=T.default,this.formRef=O.default.createRef()}renderExtra(){return null}render(){return O.default.createElement(O.default.Fragment,null,O.default.createElement("h1",{style:{color:"white"},className:R.default.welcome},this.productName," "),O.default.createElement(I.default,{formItems:this.formItems,name:"normal_login",className:R.default["login-form"],initialValues:this.defaultValue,onFinish:this.onFinish,formref:this.formRef,size:"large"}),this.renderExtra())}}n.Login=F;var U=(0,C.inject)("rootStore")((0,C.observer)(F));n.default=U},1747:function(e,t,n){"use strict";var r=n(20),a=n(21);r(t,"__esModule",{value:!0}),t.default=t.SkylineStore=void 0;var o,i,l,s,d=a(n(25)),u=a(n(49)),f=a(n(74)),c=(a(n(35)),a(n(55))),m=(a(n(75)),n(36)),p=a(n(50)),h=a(n(53)),g=(o=class extends h.default{constructor(){super(...arguments),(0,f.default)(this,"domains",i,this),(0,f.default)(this,"regions",l,this),(0,f.default)(this,"sso",s,this)}get client(){return p.default.skyline.contrib}fetchDomainList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.domains();e.domains=t}))()}fetchRegionList(){var e=this;return(0,u.default)((function*(){var t=yield e.client.regions();e.regions=t}))()}fetchSSO(){var e=this;return(0,u.default)((function*(){var t=yield p.default.skyline.sso.list();e.sso=t}))()}},i=(0,c.default)(o.prototype,"domains",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),l=(0,c.default)(o.prototype,"regions",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),s=(0,c.default)(o.prototype,"sso",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),(0,c.default)(o.prototype,"fetchDomainList",[m.action],(0,d.default)(o.prototype,"fetchDomainList"),o.prototype),(0,c.default)(o.prototype,"fetchRegionList",[m.action],(0,d.default)(o.prototype,"fetchRegionList"),o.prototype),(0,c.default)(o.prototype,"fetchSSO",[m.action],(0,d.default)(o.prototype,"fetchSSO"),o.prototype),o);t.SkylineStore=g;var _=new g;t.default=_},1748:function(e,t,n){var r=n(1749);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1749:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--2dPww {\n float: right;\n}\n.index__welcome--Wrl8u {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__login-form--2ucoo {\n width: 310px;\n}\n.index__login-error--2XGt4 {\n padding: 8px 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 1.5;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__login-error--2XGt4 .anticon {\n margin-right: 8px;\n}\n.index__ant-form-item-extra--2TUD6 {\n color: white !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--2dPww",welcome:"index__welcome--Wrl8u","login-form":"index__login-form--2ucoo","login-error":"index__login-error--2XGt4","ant-form-item-extra":"index__ant-form-item-extra--2TUD6"}},1750:function(e,n,r){"use strict";var a=r(162),o=r(20),i=r(25),l=r(21);o(n,"__esModule",{value:!0}),n.default=n.Password=void 0;var s=l(r(91));r(231);var d=l(r(341));r(569);var u=l(r(1253)),f=l(r(617)),c=l(r(35)),m=l(r(177)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=S(t);if(n&&n.has(e))return n.get(e);var r={},a=o&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var s=a?i(e,l):null;s&&(s.get||s.set)?o(r,l,s):r[l]=e[l]}r.default=e,n&&n.set(e,r);return r}(r(0)),h=(r(161),r(204)),g=(r(564),r(565)),_=r(412),x=r(36),v=l(r(1255)),w=l(r(1270)),b=l(r(1492)),y=l(r(1780));function S(e){if("function"!=typeof a)return null;var t=new a,n=new a;return(S=function(e){return e?n:t})(e)}class E extends p.Component{constructor(e){super(e),(0,c.default)(this,"formRef",null),(0,c.default)(this,"onFinish",(e=>{var{rootStore:n}=this.props,{userId:r,oldPassword:a}=this.passwordData,{password:o}=e,i={id:r,password:o,original_password:a};this.setState({loading:!0}),v.default.changePasswordUser(i).then((()=>{this.setState({loading:!1}),w.default.success(t("Password changed successfully, please log in again.")),n.setPasswordInfo(null),n.routing.push("/auth/login")}),(e=>{var{response:{data:{error:{message:t}={}}={}}={}}=e;this.setState({error:!0,message:t,loading:!1})}))})),(0,c.default)(this,"getCount",(e=>{try{return e.split("be unique is ")[1].split(".")[0]}catch(e){return 0}})),(0,c.default)(this,"getErrorWord",(e=>{if(!e)return t("Reset failed, please retry");if((0,s.default)(e).call(e,"The new password cannot be identical to a previous password.")>=0){var n=this.getCount(e);return n?"2"===n?t("The password must not be the same as the previous two"):t("The password must not be the same as the previous {num}",{num:n}):t("The password must not be the same as the previous")}return t("Reset failed, please retry")})),this.init(),this.state={error:!1,message:"",loading:!1}}componentDidMount(){var{rootStore:{routing:e}={}}=this.props;this.passwordData&&!(0,m.default)(this.passwordData)||e.push("/auth/login")}componentWillUnmount(){var{rootStore:e}=this.props;e.setPasswordInfo(null)}get passwordData(){var{rootStore:{oldPassword:e}={}}=this.props;return(0,x.toJS)(e)||{}}get defaultValue(){var{oldPassword:e}=this.passwordData;return{oldPassword:e}}get formItems(){var{error:e,message:n,loading:r}=this.state,a=this.getErrorWord(n);return[{name:"hint",render:()=>p.default.createElement("div",{className:y.default.hint},p.default.createElement(f.default,{style:{color:globalCSS.warnColor}}),t("User need to change password"))},{name:"error",hidden:!e,render:()=>p.default.createElement("div",{className:y.default.error},p.default.createElement(f.default,null),a)},{name:"password",required:!0,message:t("Please input your password!"),otherRule:(0,g.getPasswordOtherRule)("password","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Password")})},{name:"confirmPassword",required:!0,message:t("Please confirm your password!"),dependencies:["password"],otherRule:(0,g.getPasswordOtherRule)("confirmPassword","user",!0),render:()=>p.default.createElement(u.default.Password,{placeholder:t("Confirm Password")})},{name:"submit",className:y.default.between,render:()=>p.default.createElement(p.default.Fragment,null,p.default.createElement(d.default,{type:"primary",htmlType:"submit",loading:r},t("Confirm")),p.default.createElement(h.Link,{style:{marginLeft:50},to:"/auth/login"},t("Back to login page")))}]}init(){this.formRef=p.default.createRef()}render(){return p.default.createElement(p.default.Fragment,null,p.default.createElement("h1",{className:y.default.welcome},t("Welcome")),p.default.createElement(b.default,{formref:this.formRef,formItems:this.formItems,name:"reset_password",className:y.default.reset,onFinish:this.onFinish,initialValues:this.defaultValue,size:"large",scrollToFirstError:!0}))}}n.Password=E;var P=(0,_.inject)("rootStore")((0,_.observer)(E));n.default=P},1780:function(e,t,n){var r=n(1781);"string"==typeof r&&(r=[[e.i,r,""]]);var a={hmr:!0,transform:undefined,insertInto:void 0};n(65)(r,a);r.locals&&(e.exports=r.locals)},1781:function(e,t,n){(t=e.exports=n(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__register--3Uzk2 {\n float: right;\n}\n.index__welcome--3RISd {\n margin-top: 24px;\n margin-bottom: 24px;\n}\n.index__hint--1lIUh {\n padding: 8px 12px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n line-height: 1.5;\n background: #fffbe6;\n border: 1px solid #ffe58f;\n border-radius: 4px;\n}\n.index__hint--1lIUh .anticon {\n margin-right: 8px;\n}\n.index__reset--1EOoE {\n margin-top: 24px;\n}\n.index__reset--1EOoE .index__title--2znQU {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__info--3bS5M {\n margin-bottom: 24px;\n}\n.index__reset--1EOoE .index__between--10sD1 .ant-form-item-control-input-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.index__error--SAQ5q {\n padding-left: 12px;\n color: #a43a39;\n font-size: 14px;\n line-height: 38px;\n background: #f2dede;\n border: 1px solid #a43a39;\n border-radius: 4px;\n}\n.index__error--SAQ5q .anticon {\n margin-right: 8px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",register:"index__register--3Uzk2",welcome:"index__welcome--3RISd",hint:"index__hint--1lIUh",reset:"index__reset--1EOoE",title:"index__title--2znQU",info:"index__info--3bS5M",between:"index__between--10sD1",error:"index__error--SAQ5q"}}}]); \ No newline at end of file diff --git a/skyline_console/static/auth.bundle.1733828928.js.gz b/skyline_console/static/auth.bundle.1733828928.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6a6dc91d545558252c4d0aa12e5324e016301e81 GIT binary patch literal 7477 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 literal 0 HcmV?d00001 diff --git a/skyline_console/static/base.bundle.1733818396.js b/skyline_console/static/base.bundle.1733828928.js similarity index 100% rename from skyline_console/static/base.bundle.1733818396.js rename to skyline_console/static/base.bundle.1733828928.js diff --git a/skyline_console/static/base.bundle.1733818396.js.gz b/skyline_console/static/base.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/base.bundle.1733818396.js.gz rename to skyline_console/static/base.bundle.1733828928.js.gz diff --git a/skyline_console/static/basic.bundle.1733818396.js b/skyline_console/static/basic.bundle.1733828928.js similarity index 99% rename from skyline_console/static/basic.bundle.1733818396.js rename to skyline_console/static/basic.bundle.1733828928.js index 41444f6b..351451c7 100644 --- a/skyline_console/static/basic.bundle.1733818396.js +++ b/skyline_console/static/basic.bundle.1733828928.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1239:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(416)),i=r(a(1782)),o=e=>(0,l.default)(i.default,e);t.default=o},1241:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),n(t,"FormAction",{enumerable:!0,get:function(){return l.default}}),n(t,"StepAction",{enumerable:!0,get:function(){return i.default}}),n(t,"ConfirmAction",{enumerable:!0,get:function(){return o.default}}),n(t,"ModalAction",{enumerable:!0,get:function(){return s.default}});var l=r(a(1822)),i=r(a(2023)),o=r(a(2049)),s=r(a(1380))},1250:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(29)),m=f(n(54)),g=f(n(28)),v=f(n(203)),y=f(n(1252)),b=f(n(91)),x=f(n(86)),w=f(n(345));n(347);var k=f(n(348));n(1271);var C=f(n(1272));n(1261);var _=f(n(1262));n(1246);var M=f(n(1247));n(1244);var S=f(n(1245)),I=f(n(343)),N=f(n(58));n(231);var E=f(n(341)),T=f(n(606)),A=f(n(35)),j=f(n(177)),P=f(n(102)),D=f(n(570)),L=f(n(352)),O=f(n(0)),R=f(n(1270)),z=(n(161),f(n(4))),U=(n(564),n(163)),F=n(349),B=f(n(1833)),V=n(662),K=n(567),Q=f(n(1563)),Y=f(n(1566)),G=f(n(2021));function H(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function W(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,A.default)(this,"updateContext",(e=>{var{updateContext:t}=this.props;t&&t(e)})),(0,A.default)(this,"unescape",(e=>(0,U.unescapeHtml)(e))),(0,A.default)(this,"getFormInstance",(()=>this.formRef.current)),(0,A.default)(this,"onSubmit",(e=>p.default.resolve())),(0,A.default)(this,"updateSubmitting",(e=>{this.setState({isSubmitting:e||!1})})),(0,A.default)(this,"onOk",((e,n,r)=>{if(this.values=e,!this.codeError){if(this.updateSubmitting(!0),!this.onSubmit)return r(!0,!1);var l=this.getSubmitData(e);return this.onSubmit(l,n).then((e=>{if(this.updateSubmitting(!1),!this.isModal&&this.routing.push(this.listUrl),this.response=e,r&&(0,L.default)(r)&&r(!0,!1),e instanceof Array){var a,n=this.instanceName?this.instanceName.split(", "):null,l=(0,h.default)(a=(0,m.default)(e).call(e,((e,t)=>"rejected"===e.status?{reason:e.reason,name:n?n[t]:""}:null))).call(a,(e=>!!e));0!==l.length?(0,g.default)(l).call(l,(e=>{var{response:{data:a}={}}=e.reason;this.showNotice&&R.default.errorWithDetail(a,t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:e.name}))})):this.showNotice&&R.default.success(this.successText)}else this.showNotice&&R.default.success(this.successText)}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a.updateSubmitting(!1),a.responseError=e;var{response:{data:t}={}}=e;a.showNotice&&R.default.errorWithDetail(t,a.errorText),r&&(0,L.default)(r)&&r(!1,!0)}))}})),(0,A.default)(this,"onCancel",(()=>{if(this.isSubmitting&&this.cancel){this.cancel();var e="download"===this.progressType?t("Cancel download successfully."):t("Cancel upload successfully.");R.default.success(e)}})),(0,A.default)(this,"getChangedFieldsValue",((e,t)=>{var a=e[t];return(0,P.default)(a)&&a.value?a.value:(0,P.default)(a)&&a.selectedRows?a.selectedRows[0]:a})),(0,A.default)(this,"onValuesChange",((e,t)=>{})),(0,A.default)(this,"onValuesChangeForm",((e,t)=>{var a,n={};this.currentFormValue=t,(0,g.default)(a=this.nameForStateUpdate).call(a,(t=>{if((0,D.default)(e,t)){var a=this.getChangedFieldsValue(e,t);n[t]=a}})),(0,j.default)(n)||this.setState(W({},n)),this.onValuesChange(e,t)})),(0,A.default)(this,"checkFormInput",((e,t)=>{this.formRef.current&&this.formRef.current.validateFields().then((t=>{e&&e(t),this.updateContext(t)}),(e=>{var{values:a,errorFields:n}=e;n&&n.length&&t&&t(a,n)}))})),(0,A.default)(this,"onClickSubmit",((e,t,a)=>{this.codeError||this.checkFormInput((n=>{t&&t(n),this.onOk(n,a,e)}))})),(0,A.default)(this,"onClickCancel",(()=>{this.onCancel(),this.listUrl&&this.routing.push(this.listUrl)})),(0,A.default)(this,"updateDefaultValue",(()=>{this.resetFormValue(),this.updateContext(this.defaultValue)})),(0,A.default)(this,"resetFormValue",(e=>{this.formRef.current&&this.formRef.current.resetFields&&(e?this.formRef.current.resetFields(e):this.formRef.current.resetFields())})),(0,A.default)(this,"updateFormValue",((e,t)=>{this.formRef.current&&this.formRef.current.setFieldsValue({[e]:t})})),(0,A.default)(this,"onUploadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getUploadRequestConf",(()=>({onUploadProgress:this.onUploadProgress,cancelToken:this.cancelToken}))),(0,A.default)(this,"onDownloadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getDownloadRequestConf",(()=>({onDownloadProgress:this.onDownloadProgress,cancelToken:this.cancelToken}))),this.options=n,this.state={defaultValue:{},formData:{},isSubmitting:!1,percent:""},this.values={},this.response=null,this.responseError=null,this.formRef=O.default.createRef(),this.tipRef=O.default.createRef(),this.codeError=!1,this.currentFormValue={},this.cancel=null,this.cancelToken=this.hasRequestCancelCallback?new V.CancelToken((e=>{this.cancel=e})):null,this.init()}componentDidMount(){try{this.updateState()}catch(e){}}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get disableSubmit(){return!1}get name(){return""}get title(){return""}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get params(){return this.props.match.params||{}}get location(){return this.props.location||{}}get locationParams(){var e;return(0,F.parse)((0,v.default)(e=this.location.search).call(e,1))}get listUrl(){return""}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get isAdminPage(){var{pathname:e=""}=this.props.location||{};return(0,U.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get currentProjectId(){return this.props.rootStore.projectId}get currentProjectName(){return this.props.rootStore.projectName}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,K.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,K.getLinkRender)({key:r,params:a,query:n,value:t})}get isStep(){return!1}get isModal(){return!1}get hasFooter(){return!(this.isStep||this.isModal)}get formStyle(){return{}}get footerStyle(){return{}}get labelCol(){return{xs:{span:5},sm:{span:3}}}get wrapperCol(){return{xs:{span:10},sm:{span:8}}}get defaultValue(){return null}get formDefaultValue(){var{context:e={}}=this.props,{defaultValue:t}=this;return W(W({},t),e)}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,y.default)(this)||{};return e}get successText(){return this.instanceName?(0,U.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,U.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){var{isSubmitting:e=!1}=this.state;return e}get formItems(){return[]}get validateMessages(){return[]}get tips(){return""}get showNotice(){return!0}get nameForStateUpdate(){var e,t,a=["radio","more"];return(0,m.default)(e=(0,h.default)(t=this.formItems).call(t,(e=>(0,b.default)(a).call(a,e.type)>=0))).call(e,(e=>e.name))}get hasRequestCancelCallback(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get progressType(){return"upload"}getRightExtraSpan(){return{left:18,right:6}}getSubmitData(e){return W({},e)}checkContextValue(){var{context:e}=this.props,t=this.nameForStateUpdate;return!(0,j.default)(e)&&!!(0,x.default)(t).call(t,(t=>(0,D.default)(e,t)))}updateState(){var{context:e}=this.props,t=this.nameForStateUpdate;if(0!==t.length){var a={};this.checkContextValue()?(0,g.default)(t).call(t,(t=>{a[t]=this.getChangedFieldsValue(e,t)})):(0,g.default)(t).call(t,(e=>{a[e]=this.getChangedFieldsValue(this.defaultValue,e)})),this.setState(W({},a))}}init(){this.store={}}renderTips(){return this.tips?O.default.createElement("div",{className:G.default.tips,ref:this.tipRef,id:"tips"},O.default.createElement(T.default,{className:G.default["tips-icon"]}),this.tips):null}renderFooterLeft(){return null}renderFooter(){if(!this.hasFooter)return null;var e={};if(this.tips){var a=((document.getElementById("tips")||{}).clientHeight||35)+16;e.bottom=a}return O.default.createElement("div",{className:G.default.footer,style:W(W({},e),this.footerStyle)},O.default.createElement("div",{className:G.default["footer-left"]},this.renderFooterLeft()),O.default.createElement("div",{className:(0,z.default)(G.default.btns,"footer-btns")},O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel,loading:this.isSubmitting},t("Cancel")),O.default.createElement(E.default,{disabled:this.disableSubmit,type:"primary",className:G.default.submit,onClick:this.onClickSubmit,loading:this.isSubmitting},this.okBtnText)))}renderFormItems(){try{var e;return(0,m.default)(e=this.formItems).call(e,((e,t)=>{var{name:a,display:n=!0}=e,r=(0,N.default)(e,["name","display"]);return n?(this.codeError=!1,O.default.createElement(S.default,{span:24/(e.colNum||1),key:"form-item-col-".concat(t),id:"form-item-col-".concat(a)},O.default.createElement(B.default,(0,I.default)({},r,{name:a,key:"form-item-".concat(t),formref:this.formRef})))):""}))}catch(e){var a={type:"label",label:t("Error"),content:"Can Not Submit"===e.message?this.errorText:t("Unable to render form")};return this.codeError=!0,O.default.createElement(S.default,{span:24/(a.colNum||1),key:"form-item-col-".concat(0),id:"form-item-col-".concat("error")},O.default.createElement(B.default,(0,I.default)({},a,{key:"form-item-".concat(0),formref:this.formRef})))}}renderForms(){return O.default.createElement(_.default,{ref:this.formRef,labelCol:this.labelCol,colon:!1,labelAlign:"left",wrapperCol:this.wrapperCol,name:this.name,initialValues:this.formDefaultValue,onValuesChange:this.onValuesChangeForm,scrollToFirstError:!0},O.default.createElement("input",{type:"password",hidden:!0,autoComplete:"new-password"}),O.default.createElement(M.default,null,this.renderFormItems()))}renderAbortButton(){return!this.isSubmitting||this.isModal?null:O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel},t("Abort Upload"))}renderSubmittingTip(){if(this.hasRequestCancelCallback){var{percent:e}=this.state,a="download"===this.progressType?t("Download progress"):t("Upload progress");return O.default.createElement("div",{className:G.default["submit-tip"]},a,O.default.createElement("div",{className:G.default["progress-wrapper"]},O.default.createElement(C.default,{percent:e,size:"small"})),this.renderAbortButton())}}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,O.default.createElement(Y.default,e)}renderRightTopExtra(){if(this.isModal)return null;var e=this.renderQuota();if(!e)return null;var t=(0,w.default)(this.quotaInfo);return O.default.createElement("div",{className:G.default["right-top-extra-wrapper"]},O.default.createElement(Q.default,{content:e,checkValue:t}))}renderModalRightExtra(){if(!this.isModal)return null;var e=this.renderQuota();return e?O.default.createElement("div",{className:G.default["modal-right-extra-wrapper"]},e):null}render(){var e=this.listUrl||this.isStep||this.isModal&&this.tips?G.default["wrapper-page-padding"]:"",t=this.renderTips(),a={};if((this.listUrl||this.isStep)&&this.tips&&this.tipRef.current)if(this.isStep){var n=this.tipRef.current.clientHeight+219;a.height="calc(100vh - ".concat(n,"px)")}else{var r=this.tipRef.current.clientHeight+66;a.height="calc(100% - ".concat(r,"px)")}var l=O.default.createElement(k.default,{spinning:this.isSubmitting,tip:this.renderSubmittingTip()},this.renderRightTopExtra(),O.default.createElement("div",{className:(0,z.default)(G.default.form,"sl-form"),style:W(W({},a),this.formStyle)},this.renderForms()),this.renderFooter()),i=!this.isModal||this.isModal&&!this.showQuota,{left:o,right:s}=this.getRightExtraSpan(),u=this.isModal&&!i?O.default.createElement(M.default,{justify:"space-between",align:"top"},O.default.createElement(S.default,{span:o},l),O.default.createElement(S.default,{span:s},this.renderModalRightExtra())):null;return O.default.createElement("div",{className:(0,z.default)(G.default.wrapper,e,this.className)},t,i&&l,u)}}a.default=q},1251:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.checkSystemAdmin=t.onlyAdminCanChangePolicy=t.onlyAdminCanReadPolicy=t.allCanChangePolicy=t.allCanReadPolicy=t.default=t.systemRoleIsReader=t.checkPolicyRule=t.changeToActualPolicy=t.convertPolicyMap=t.policyMap=void 0;var l=r(a(28)),i=r(a(1289)),o=r(a(77)),s=r(a(29)),u=r(a(32)),d=r(a(164)),c=r(a(86)),f=r(a(1277)),p=r(a(232)),h=r(a(570)),m=r(a(134)),g=r(a(352)),v=r(a(102)),y=r(a(92)),b=r(a(133)),x={nova:["os_compute_api"],ironic:["baremetal:"],cinder:["volume:","volume_extension","backup:get","backup:restore","scheduler_extension"],glance:["get_image","add_image","delete_image","modify_image","get_members","add_member","delete_member","metadef"],neutron:["get_network","create_network","update_network","delete_network","get_agent","delete_agent","update_agent","get_dhcp-agents","get_l3-agents","create_subnet","get_subnet","update_subnet","delete_subnet","create_port","get_port","update_port","delete_port","router","policy_bandwidth_limit_rule","policy_dscp_marking_rule","security_group","floatingip","vpnservice","ipsec_site_connection","rbac_policy"],octavia:["os_load-balancer_api"],heat:["stacks:","resource:index"],magnum:["cluster:","clustertemplate:"],barbican:["secret:get","secret:decrypt","secret:delete","containers:post"],zun:["capsule:","container:","host:get"],panko:["segregation","telemetry:events:index"],manila:["share:","share_","scheduler_stats:pools"],trove:["instance:create","instance:delete","instance:update","instance:backups","instance:restart","instance:resize","instance:extension","instance:guest_log_list","configuration:","backup:index","backup:show"]};t.policyMap=x;var w=e=>{var t,a={};return(0,l.default)(t=(0,i.default)(e)).call(t,(e=>{var[t,n]=e;(0,l.default)(n).call(n,(e=>{if(a[e]);a[e]=t}))})),a};t.convertPolicyMap=w;var k=(e,t)=>{var a,n,r,i=w(t);if(i[e])return(0,o.default)(r="".concat(i[e],":")).call(r,e);var c=(0,s.default)(a=(0,u.default)(i)).call(a,(t=>(0,d.default)(e).call(e,t)));c.length>1&&(0,l.default)(c).call(c,(e=>{}));var f=c.length&&i[c[0]];return f?(0,o.default)(n="".concat(f,":")).call(n,e):e};t.changeToActualPolicy=k;var C=(e,t,a)=>{var n;if(!e)return!0;var r=a?e:k(e,x),l=(0,c.default)(n=b.default.policies).call(n,(e=>e.rule===r));return!l||l.allowed};t.checkPolicyRule=C;var _=()=>{var{roles:e=[]}=b.default.user||{},t=["admin"],a=(0,p.default)(e).call(e,(e=>"reader"===e.name));if(!a)return!1;var n=(0,p.default)(e).call(e,(e=>(0,d.default)(t).call(t,e.name)));return a&&!n};t.systemRoleIsReader=_;var M=e=>{var{policy:t,aliasPolicy:a,item:n,actionName:r,isAdminPage:l,enableSystemReader:i}=e;if(0===b.default.policies.length)return!1;if(l&&!i&&_())return!1;if(l&&!i&&_())return!1;if(!t&&!a)return!0;var o=a||t,s=(0,g.default)(o)?o(n):o,u=[],d=!0;return(0,y.default)(s)?u=s:(0,v.default)(s)?(u=s.rules,(0,h.default)(s,"every")&&(d=(0,f.default)(s))):(0,m.default)(s)&&(u=[s]),!u||((e,t,a,n)=>0===e.length||(t?(0,f.default)(e).call(e,(e=>C(e,0,n))):(0,p.default)(e).call(e,(e=>C(e,0,n)))))(u,d,0,!!a)};t.default=M;t.allCanReadPolicy={rules:["admin","reader","member"],every:!1};t.allCanChangePolicy={rules:["admin","member"],every:!1};t.onlyAdminCanReadPolicy={rules:["admin","reader"],every:!1};t.onlyAdminCanChangePolicy={rules:["admin"],every:!1};t.checkSystemAdmin=()=>b.default.hasAdminRole},1302:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.ItemActionButtons=void 0;var h=p(n(1277)),m=p(n(54)),g=p(n(77)),v=p(n(28)),y=p(n(49)),b=p(n(35));n(586);var x=p(n(424));n(231);var w=p(n(341)),k=p(n(611));n(1300);var C=p(n(1301)),_=p(n(343));n(1276);var M=p(n(421)),S=p(n(205)),I=p(n(92)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),E=n(412),T=(n(161),n(564),p(n(4))),A=n(1435),j=p(n(1436)),P=p(n(1818));function D(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(D=function(e){return e?a:t})(e)}function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t!!e)):a}function F(e){var{firstAction:a=null,moreActions:n=[],alloweds:r=[],item:l,onFinishAction:i,routing:o,containerProps:s,firstActionClassName:u,onClickAction:d,onCancelAction:c,isWide:f}=e;if(0===r.length)return null;if(!a&&0===n.length)return null;var p=null,h=null,v=null;if(a){var y=U(r,0),b=z(a.action);p=N.default.createElement(j.default,(0,_.default)({},b,{buttonType:"link",routing:o,needHide:!1,isAllowed:y,item:l,onFinishAction:i,onCancelAction:c,buttonClassName:(0,T.default)(P.default["first-action"],u),containerProps:s,maxLength:8,onClickAction:d,isFirstAction:!0}))}var S=0,I=0,E=null;if(n.length>0){var A=f||n.length>1?P.default["more-action-btn"]:"",D=(0,m.default)(n).call(n,((e,t)=>{var a;if(!e.actions){var n=U(r,e.allowedIndex),u=e.key||"key-more-".concat(t),f=z(e.action);return n?(S+=1,I+=1,E=N.default.createElement(j.default,(0,_.default)({},f,{isAllowed:n,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,style:{padding:0},containerProps:s,onClickAction:d,buttonClassName:A})),N.default.createElement(M.default.Item,{key:u},E)):null}var p=0,h=(0,m.default)(a=e.actions).call(a,((e,a)=>{var n,u=U(r,e.allowedIndex),f=e.key||(0,g.default)(n="key-more-".concat(t,"-")).call(n,a);u&&(p+=1,S+=1,I+=1);var h=z(e.action);return N.default.createElement(M.default.Item,{key:f},N.default.createElement(j.default,(0,_.default)({},h,{isAllowed:u,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,containerProps:s,onClickAction:d,buttonClassName:A})))})),v="sub-menu-".concat(t);return N.default.createElement(R,{popupClassName:P.default["action-sub-menu"],title:e.title,disabled:0===p,key:v},h)})),L=N.default.createElement(M.default,null,D);if(a&&n.length>0&&S>0&&(h=N.default.createElement(C.default,{type:"vertical"})),1===S&&1===I&&E){var O=f?"":P.default["single-more-action"];v=N.default.createElement("span",{className:O},E)}else S>0&&(v=N.default.createElement(x.default,{overlay:L},N.default.createElement(w.default,{type:"link",className:P.default["more-action"]},t("More")," ",N.default.createElement(k.default,null))))}return N.default.createElement("div",{className:P.default["action-buttons"]},p,h,v)}class B extends N.Component{constructor(e){super(e),this.actionList=[],this.firstAction=null,this.moreActions=[],this.state={results:[]}}componentDidMount(){var e=this;return(0,y.default)((function*(){var{item:t,containerProps:a}=e.props;e.updateResult(t,a)}))()}shouldComponentUpdate(e,t){var{item:a,containerProps:n}=this.props,{results:r}=this.state;return(0,S.default)(e.item,a)?!(0,S.default)(r,t.results):(this.updateResult(e.item,n),!0)}static getDerivedStateFromProps(e,t){if(!(0,S.default)(e.item,t.item)){var{item:a}=e;return{item:a}}return null}get routing(){return this.props.rootStore.routing}updateResult(e,t){var a=this;return(0,y.default)((function*(){var{actions:n,isAdminPage:r}=a.props,{actionList:l,firstAction:i,moreActions:o}=function(e,t,a){var{firstAction:n=null,moreActions:r=[]}=e,l=[],i=n?{action:(0,A.getAction)(n,t,a),allowedIndex:0}:null,o=[];return n&&l.push(i),(0,v.default)(r).call(r,(e=>{if(e.actions){var n,r=[];(0,v.default)(n=e.actions).call(n,(e=>{var n={action:(0,A.getAction)(e,t,a),allowedIndex:l.length};r.push(n),l.push(n)})),o.push(O(O({},e),{},{actions:r}))}else if(e.action){var i={action:(0,A.getAction)(e.action,t,a),allowedIndex:l.length};o.push(i),l.push(i)}})),{actionList:l,firstAction:i,moreActions:o}}(n,e,t);a.actionList=l,a.firstAction=i,a.moreActions=o;var s=yield(0,A.getAllowedResults)({actions:a.actionList,data:e,key:"action",containerProps:t,isAdminPage:r});a.setState({results:s})}))()}render(){var{item:e,onFinishAction:t,containerProps:a,firstActionClassName:n,onClickAction:r,onCancelAction:l,isWide:i}=this.props,{results:o}=this.state;return N.default.createElement(F,{onFinishAction:t,onCancelAction:l,firstAction:this.firstAction,moreActions:this.moreActions,alloweds:o,item:e,routing:this.routing,containerProps:a,firstActionClassName:n,onClickAction:r,isWide:i})}}a.ItemActionButtons=B;var V=(0,E.inject)("rootStore")(B);a.default=V},1346:function(e,t,a){var n=a(1820);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1351:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(0)),o=l(n(2044)),s=n(163),u=n(204),d=l(n(2045));class c extends i.default.Component{render(){var{title:e,link:a,codeError:n,endpointError:r,goList:l,isAction:c}=this.props,f="";f=n?"Error":r?t("Not Open"):t("Resource Not Found");var p="",h="";p=c?t("Unable to {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):l?t("Unable to get {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):t("Unable to get {title}, please go to ",{title:(0,s.firstUpperCase)(e)}),h=l?i.default.createElement(u.Link,{to:a},t("list page")):i.default.createElement(u.Link,{to:a},t("Home page"));var m=i.default.createElement("p",null,p,h);return i.default.createElement("div",{className:d.default.wrapper},i.default.createElement("img",{className:d.default.image,src:o.default,alt:""}),i.default.createElement("div",{className:d.default.text},i.default.createElement("div",{className:"h1"},f),m))}}a.default=c},1376:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.renderClearButton=void 0,n(593);var p=f(n(427)),h=f(n(1313));n(1311);var m=f(n(1312)),g=f(n(49)),v=f(n(35)),y=f(n(54)),b=f(n(86)),x=f(n(32)),w=f(n(91)),k=f(n(29)),C=f(n(350)),_=f(n(591)),M=f(n(28)),S=f(n(596)),I=f(n(164));n(344);var N=f(n(202));n(231);var E,T,A,j=f(n(341)),P=f(n(1515)),D=f(n(177)),L=f(n(205)),O=f(n(134)),R=f(n(119)),z=f(n(0)),U=(n(161),n(564),n(412)),F=f(n(16)),B=f(n(1516)),V=f(n(1517)),K=f(n(1518)),Q=f(n(4)),Y=f(n(1870));function G(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function H(e){for(var t=1;te.key||e.id,q=(e,t,a)=>{var{selectedRowKeys:n=[],selectedRows:r=[]}=e;if(!n||0===n.length)return[];var l=(0,y.default)(r).call(r,(e=>W(e)));return(0,L.default)(n,l)?r:(0,y.default)(n).call(n,(e=>{var n,l=a?r:t;return(0,b.default)(n=l||[]).call(n,(t=>W(t)===e))||{key:e,id:e,name:e}}))},$=function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{showSelected:r=!0}=n;return r&&a&&a.length?z.default.createElement(N.default,{title:t("Clear selected")},z.default.createElement(j.default,{size:"small",onClick:e.clearSelected},z.default.createElement(P.default,null))):null};a.renderClearButton=$;var Z=(0,U.observer)((A=T=class extends z.default.Component{constructor(e){var t;super(e),t=this,(0,v.default)(this,"getDataParams",(()=>{var{filters:e,current:t,pageSize:a}=this.state;return H({page:t,limit:a},e)})),(0,v.default)(this,"handleFooterPaginationChange",((e,t)=>{var{filters:a}=this.state;this.getBackendData(H({limit:t,page:e,current:e,sortKey:this.sortKey,sortOrder:this.sortOrder},a))})),(0,v.default)(this,"getBackendData",function(){var e=(0,g.default)((function*(e){var{extraParams:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l}=t.props,i=H(H({},e),a);n&&(i.sortKey=i.sortKey||t.sortKey||r||"",i.sortOrder=i.sortOrder||t.sortOrder||l||"");var o=yield t.fetchDataByPage(i),{backendPageStore:s,backendPageDataKey:u}=t.props,{total:d}=s[u]||{};t.setState({data:o,total:d,current:e.page,pageSize:e.limit},(()=>{t.initTabChange()}))}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"fetchDataByPage",function(){var e=(0,g.default)((function*(e){var{backendPageStore:a,backendPageFunc:n,backendPageDataKey:r}=t.props,l=yield a[n](e);return a[r].silent=!1,l}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"filterData",((e,t)=>{var a;return!(0,b.default)(a=(0,x.default)(t)).call(a,(a=>{var n,r=(0,R.default)(e,a),l=t[a];return(0,O.default)(r)&&(0,O.default)(l)?(0,w.default)(n=r.toLowerCase()).call(n,l.toLowerCase())<0:(0,L.default)(r,l)}))})),(0,v.default)(this,"getDataSource",(()=>{try{var{backendPageStore:e,rowKey:t}=this.props;if(e)return this.getDataFromStore();var{data:a}=this.state;return(0,y.default)(a).call(a,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,t)})))}catch(e){return[]}})),(0,v.default)(this,"getDataFromStore",(()=>{var{backendPageStore:e,backendPageDataKey:t,rowKey:a}=this.props,{data:n=[]}=e[t]||{};return(0,y.default)(n).call(n,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,a)})))})),(0,v.default)(this,"getRealSelectedKeys",(e=>{var t,{isMulti:a,backendPageStore:n}=this.props;if(!n||!a)return e;var{selectedRowKeys:r,data:l}=this.state,i=(0,y.default)(l).call(l,(e=>W(e))),o=(0,k.default)(e).call(e,(e=>(0,w.default)(i).call(i,e)>=0)),s=(0,k.default)(r).call(r,(t=>(0,w.default)(i).call(i,t)>=0&&(0,w.default)(e).call(e,t)<0));return(0,k.default)(t=(0,C.default)(new _.default([...r,...o]))).call(t,(e=>(0,w.default)(s).call(s,e)<0))})),(0,v.default)(this,"handleSelectRow",(e=>{var t=this.getRealSelectedKeys(e),a=this.getSelectedRows(t);this.setState({selectedRowKeys:t,selectedRows:a})})),(0,v.default)(this,"handleFilterInput",(e=>{this.setState({tags:e});var{backendPageStore:t}=this.props,a={};if((0,M.default)(e).call(e,(e=>{a[(0,k.default)(e).name]=e.value})),t){var{pageSize:n}=this.state;this.getBackendData(H({limit:n,page:1},a)),this.setState({filters:a,current:1})}else this.setState({filters:a,current:1})})),(0,v.default)(this,"updateTab",(e=>{this.setState({tab:e},(()=>{this.onChange({tab:e})}))})),(0,v.default)(this,"onChange",(function(){var{tab:e,selectedRowKeys:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onChange:n}=t.props;if(n){var{tab:r,selectedRowKeys:l,selectedRows:i=[]}=t.state,o=(0,D.default)(i)?t.getSelectedRows(a):i;n({tab:e||r,selectedRows:o,selectedRowKeys:a||l,data:t.getDataSource()})}})),(0,v.default)(this,"getSelectedRowsAll",(e=>{var{data:t=[],selectedRowKeys:a}=this.state;return e?(0,k.default)(t).call(t,(t=>(0,w.default)(e).call(e,W(t))>=0)):(0,k.default)(t).call(t,(e=>(0,w.default)(a).call(a,W(e))>=0))})),(0,v.default)(this,"getSelectedRowsBackend",(e=>{var{isMulti:t}=this.props,{data:a=[],selectedRowKeys:n,selectedRows:r}=this.state;if(t)return this.getSelectedRowsBackendMulti(e);var l=e||n,i=(0,k.default)(a).call(a,(e=>(0,w.default)(l).call(l,W(e))>=0));if(i.length===l.length)return i;var o=(0,k.default)(r).call(r,(e=>(0,w.default)(l).call(l,W(e))>=0));return o.length===l.length?o:(0,y.default)(l).call(l,(e=>({key:e,id:e,name:e})))})),(0,v.default)(this,"getSelectedRowsBackendMulti",(e=>{var{data:t=[],selectedRowKeys:a=[],selectedRows:n=[]}=this.state;if(!e)return n;var r=(0,k.default)(e).call(e,(e=>(0,w.default)(a).call(a,e)<0)),l=(0,k.default)(a).call(a,(t=>(0,w.default)(e).call(e,t)<0));return[...(0,k.default)(n).call(n,(e=>(0,w.default)(l).call(l,W(e))<0)),...(0,k.default)(t).call(t,(e=>(0,w.default)(r).call(r,W(e))>=0))]})),(0,v.default)(this,"getSelectedRows",(e=>{var{backendPageStore:t}=this.props;return t?this.getSelectedRowsBackend(e):this.getSelectedRowsAll(e)})),(0,v.default)(this,"getSortKey",(e=>{var{field:t,column:a}=e;return t&&a?a.sortKey||a.dataIndex:null})),(0,v.default)(this,"handleChange",((e,t,a,n)=>{var{current:r,pageSize:l}=e,{backendPageStore:i,isSortByBack:o}=this.props,s=H({limit:l||this.state.pageSize,page:r||this.state,current:r,sortKey:this.getSortKey(a),sortOrder:a.order},t);if(i){var{action:u}=n;"sort"===u?(this.sortKey=this.getSortKey(a),this.sortOrder=a.order,o?(this.setState({current:1}),s.current=1,s.page=1,this.getBackendData(s)):(r=this.state.current,l=this.state.pageSize,this.setState({current:r,pageSize:l}))):this.getBackendData(s)}else this.setState({current:r,pageSize:l})})),(0,v.default)(this,"onTabChange",(e=>{var{onTabChange:t}=this.props;t&&(e.target?(this.updateTab(e.target.value),t(e.target.value)):(t(e),this.updateTab(e)))})),(0,v.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t}=this.state,a=(0,k.default)(t).call(t,(t=>t!==W(e))),n=this.getSelectedRows(a);this.setState({selectedRowKeys:a,selectedRows:n})})),(0,v.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]})})),(0,v.default)(this,"handleRefresh",(()=>{var{backendPageStore:e,refreshFunc:t}=this.props,{tags:a=[]}=this.state;t?t():e&&this.handleFilterInput(a)})),(0,v.default)(this,"renderTableFooter",(e=>{var t,{page:a,current:n,pageSize:r,total:l}=this.state,i=this.getLoading(),o=(0,S.default)(t=(0,C.default)(new _.default([this.props.pageSize,10,20,50,100]))).call(t,((e,t)=>e-t));return z.default.createElement(K.default,{current:a||n||1,pageSize:r,size:"small",onChange:this.handleFooterPaginationChange,currentDataSize:e.length,total:l,isLoading:i,defaultPageSize:this.props.pageSize,pageSizeOptions:o,className:Y.default["pagination-footer"]})})),(0,v.default)(this,"renderTag",(e=>z.default.createElement(m.default,{key:e.key||(0,R.default)(e,this.props.rowKey),closable:!0,onClose:()=>this.onTagClose(e)},e[this.props.tagKey]||e[this.props.secondTagKey]))),(0,v.default)(this,"renderClearButton",(e=>$(this,e,this.props)));var{data:a=[],pageSize:n,initValue:r={}}=e,{selectedRowKeys:l,selectedRows:i}=this.getInitValue(e);this.state={data:a,filters:null,current:1,pageSize:n,total:this.getTotal(e),selectedRowKeys:l,selectedRows:i,tab:"",initValue:r},this.sortKey=e.defaultSortKey,this.sortOrder=e.defaultSortOrder}componentDidMount(){this.getData()}componentDidUpdate(e,t){(0,L.default)(e.backendPageStore,this.props.backendPageStore)||this.getData();var{selectedRowKeys:a}=this.state,{selectedRowKeys:n}=t;(0,L.default)(a,n)||this.onChange({selectedRowKeys:a})}getData(){var{backendPageStore:e,pageSize:t}=this.props;e?this.handleFooterPaginationChange(1,t):this.initTabChange()}getInitValue(e){var{value:t={},initValue:a={},data:n=[],backendPageStore:r}=e;if(!(0,D.default)(a)){var{selectedRowKeys:l=[]}=a;return{selectedRowKeys:l,selectedRows:q(a,n,r)}}var{selectedRowKeys:i=[]}=t||{};return{selectedRowKeys:i,selectedRows:q(t||{},n,r)}}getTotal(e){var{data:t=[],backendPageStore:a,backendPageDataKey:n}=e||this.props;return a?(a[n]||{}).total:t.length}static getDerivedStateFromProps(e,t){var{value:a,data:n=[],backendPageStore:r,initValue:l={}}=e,i={};if(r||(0,L.default)(n,t.data)||(i.data=n,i.total=n.length,i.current=t.current||1),!a)return(0,D.default)(i)?null:i;var{tab:o}=a;if(a&&o!==t.tab&&(i.tag=o),!(0,L.default)(l,t.initValue)){var{selectedRowKeys:s=[]}=l,u=q(l,n,r);i.selectedRowKeys=s,i.selectedRows=u,i.initValue=l}return(0,D.default)(i)?null:i}get tableColumns(){var{columns:e}=this.props;return(0,k.default)(e).call(e,(e=>!e.hidden))}get rowSelection(){var{isMulti:e,disabledFunc:t,maxSelectedCount:a,rowKey:n,tagKey:r}=this.props;if(-1===a)return null;var{selectedRowKeys:l}=this.state,i={selectedRowKeys:l,type:e?"checkbox":"radio",onChange:this.handleSelectRow};return t&&(i.getCheckboxProps=e=>({disabled:t(e),name:(0,R.default)(e,n)||(0,R.default)(e,r)})),a&&l.length===a&&(i.getCheckboxProps=e=>({disabled:!(0,I.default)(l).call(l,(0,R.default)(e,n))})),i}getLoading(){var{backendPageStore:e,backendPageDataKey:t,isLoading:a}=this.props;return e?e[t].isLoading:a}initTabChange(){var{defaultTabValue:e,onTabChange:t,value:a}=this.props;if(void 0!==e&&void 0!==t){var n=a&&a.tab||e;t(n),this.updateTab(n)}}renderRefresh(){var{hideRefresh:e,backendPageStore:t,refreshFunc:a}=this.props,n=!1;return e||(t||a)&&(n=!0),n?z.default.createElement(j.default,{type:"default",icon:z.default.createElement(h.default,null),onClick:this.handleRefresh}):null}renderSearch(){var{canSearch:e}=this.props;if(!e)return null;var{filterParams:t}=this.props,{filters:a}=this.state;return z.default.createElement("div",{className:(0,Q.default)("ant-col-xs-16","ant-col-sm-12",Y.default["search-wrapper"])},z.default.createElement(B.default,{filterParams:t,onInputChange:this.handleFilterInput,initValue:a}))}renderSearchLine(){return z.default.createElement("div",{className:Y.default["search-line"]},this.renderSearch(),this.renderRefresh())}renderHeader(){var{header:e}=this.props;return e||null}renderTableHeader(){var{tableHeader:e}=this.props;return e||null}renderTable(){var e,t,{backendPageStore:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,filterParams:i,onRow:o,rowKey:s,childrenColumnName:u}=this.props,{current:d,pageSize:c,total:f,filters:p}=this.state,h=(0,y.default)(e=(0,S.default)(t=[this.props.pageSize,10,20,50,100]).call(t,((e,t)=>e-t))).call(e,(e=>"".concat(e))),m=!a&&{current:d,pageSize:c,total:f,size:"small",position:["bottomLeft"],pageSizeOptions:h},g=a?this.renderTableFooter:null,v=this.getLoading(),b=this.getDataSource(),x=a?Y.default["sl-select-table-backend"]:"";return z.default.createElement(V.default,{className:(0,Q.default)(Y.default["sl-select-table"],"sl-select-table",x),rowSelection:this.rowSelection,rowKey:s,columns:this.tableColumns,data:b,filters:p,searchFilters:i,pagination:m,isLoading:v,filterByBackend:!!a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,onChange:this.handleChange,footer:g,onRow:o,childrenColumnName:u})}renderImageTabs(){var{tabs:e,defaultTabValue:t,imageTabAuto:a}=this.props,{tab:n}=this.state,r=(0,y.default)(e).call(e,(e=>{var{value:t,image:n,component:r,label:l}=e;return z.default.createElement(p.default.Button,{className:a?"":Y.default["image-tab"],value:t,key:t},n&&z.default.createElement("img",{src:n,alt:l}),r,z.default.createElement("span",{className:Y.default["image-tab-label"]},l))}));return z.default.createElement(p.default.Group,{className:Y.default["image-tabs"],id:"select-table-tabs",onChange:this.onTabChange,defaultValue:t,value:n},r)}renderNormalTabs(){var{tabs:e,defaultTabValue:t}=this.props,{tab:a}=this.state,n=(0,y.default)(e).call(e,(e=>z.default.createElement(p.default.Button,{className:Y.default["normal-tab"],value:e.value,key:e.value},z.default.createElement("span",{className:Y.default["normal-tab-label"]},e.label))));return z.default.createElement(p.default.Group,{className:Y.default["normal-tabs"],onChange:this.onTabChange,buttonStyle:"solid",defaultValue:t,value:a},n)}renderTips(){var{tips:e}=this.props;return e?z.default.createElement("div",null,e):null}renderTabs(){var{tabs:e,tabsNode:t}=this.props;return t||(e?(0,b.default)(e).call(e,(e=>!!e.image||!!e.component))?this.renderImageTabs():this.renderNormalTabs():null)}renderSelected(){var{showSelected:e=!0,selectedLabel:a,maxSelectedCount:n}=this.props;if(-1===n)return null;var{selectedRows:r=[]}=this.state;if(!e)return null;var l=(0,D.default)(r)?this.getSelectedRows():r,i=(0,y.default)(l).call(l,(e=>this.renderTag(e))),o=this.renderClearButton(l);return z.default.createElement("div",null,t("Selected")," ",a,":  ",o,"  ",i)}render(){return z.default.createElement("div",{className:Y.default["select-table"]},this.renderHeader(),this.renderTabs(),this.renderSearchLine(),this.renderTableHeader(),this.renderTable(),this.renderSelected())}},(0,v.default)(T,"propTypes",{data:F.default.array,columns:F.default.array.isRequired,isMulti:F.default.bool,pageSize:F.default.number,tabs:F.default.array,defaultTabValue:F.default.any,tabsNode:F.default.node,onTabChange:F.default.func,canSearch:F.default.bool,filterParams:F.default.array,disabledFunc:F.default.func,onChange:F.default.func,selectedLabel:F.default.string,tips:F.default.string,isLoading:F.default.bool,tagKey:F.default.string,secondTagKey:F.default.string,maxSelectedCount:F.default.number,tableHeader:F.default.any,header:F.default.any,backendPageStore:F.default.any,backendPageFunc:F.default.string,backendPageDataKey:F.default.string,extraParams:F.default.object,initValue:F.default.object,rowKey:F.default.string,isSortByBack:F.default.bool,defaultSortKey:F.default.string,defaultSortOrder:F.default.string,onRow:F.default.func,childrenColumnName:F.default.string,imageTabAuto:F.default.bool,refreshFunc:F.default.func,hideRefresh:F.default.bool}),(0,v.default)(T,"defaultProps",{data:[],isMulti:!1,pageSize:5,canSearch:!0,filterParams:[],selectedLabel:"",tips:"",tableHeader:null,header:null,backendPageStore:null,backendPageFunc:"fetchListByPage",backendPageDataKey:"list",extraParams:{},initValue:{},rowKey:"id",tagKey:"name",secondTagKey:"id",isSortByBack:!1,defaultSortKey:"",defaultSortOrder:"",childrenColumnName:"children",imageTabAuto:!1,refreshFunc:null,hideRefresh:!1}),E=A))||E;a.default=Z},1380:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(63)),o=l(n(1252)),s=l(n(35)),u=n(163),d=l(n(1250));class c extends d.default{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>i.default.resolve()))}get name(){return t("Edit")}get isModal(){return!0}static get modalSize(){return"small"}getModalSize(){return"small"}getRightExtraSpan(){var e="large"===this.getModalSize();return{left:e?20:18,right:e?4:6}}static get showQuota(){return!1}get showQuota(){return!1}get labelCol(){return"large"===this.getModalSize()?{xs:{span:6},sm:{span:4}}:{xs:{span:8},sm:{span:6}}}get wrapperCol(){return{xs:{span:16},sm:{span:16}}}static allowed(){return i.default.resolve()}get messageHasItemName(){return!0}get instanceName(){return(this.item||{}).name||((0,o.default)(this)||{}).name||this.itemId}get isAsyncAction(){return!1}get successText(){return this.messageHasItemName?this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,u.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase()})):(0,u.firstUpperCase)(t("{action} successfully.",{action:this.name}))}get errorText(){return this.messageHasItemName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get containerProps(){return this.props.containerProps||{}}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps;return e}get item(){var{item:e}=this.props;return e||this.containerProps.detail||{name:""}}get itemId(){return(this.item||{}).id}get actionId(){var{action:e}=this.props;return null==e?void 0:e.id}get items(){var{items:e}=this.props;return e}get defaultValue(){var{name:e=""}=this.item;return{name:e}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name")}]}}a.default=c,(0,s.default)(c,"id","modalAction"),(0,s.default)(c,"actionType","modal"),(0,s.default)(c,"title",t("Edit")),(0,s.default)(c,"buttonType","primary"),(0,s.default)(c,"isDanger",!1),(0,s.default)(c,"policy",""),(0,s.default)(c,"aliasPolicy","")},1433:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getFirstLevelNavItemLink=t.navItemPropType=void 0;var l=r(a(16)),i=l.default.shape({name:l.default.string,path:l.default.string,children:l.default.arrayOf(i)});t.navItemPropType=i;t.getFirstLevelNavItemLink=e=>{var{children:t=[]}=e;return t.length?e.children[0].path:e.path}},1435:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.checkAllowed=p,t.getAllowedResults=function(e){return m.apply(this,arguments)},t.getPolicyResults=g,t.getAction=v,t.getActionsByPolicy=function(e){var{actions:t,containerProps:a,isAdminPage:n}=e,r=(0,o.default)(t).call(t,(e=>v(e,null,a))),l=g({actions:r,isAdminPage:n});return(0,s.default)(r).call(r,((e,t)=>l[t]))};var o=i(a(54)),s=i(a(29)),u=i(a(63)),d=i(a(49)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(1251));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}function p(e){return h.apply(this,arguments)}function h(){return(h=(0,d.default)((function*(e){var{item:t,policy:a,aliasPolicy:n,allowed:r,allowedExtra:l,containerProps:i,actionName:o,extra:s,isAdminPage:d,action:f}=e,{enableSystemReader:p}=f||{};if(!(0,c.default)({policy:a,aliasPolicy:n,item:t,actionName:o,isAdminPage:d,enableSystemReader:p}))return!1;var h=!1,m=!0;return l&&(m=l({item:t,containerProps:i,extra:s,action:f}))instanceof u.default&&(m=yield m),!!m&&(r&&(h=r(t,i,s))instanceof u.default&&(h=yield h),h)}))).apply(this,arguments)}function m(){return(m=(0,d.default)((function*(e){var{actions:t,data:a,key:n,containerProps:r,extra:l,isAdminPage:i}=e,s=(0,o.default)(t).call(t,function(){var e=(0,d.default)((function*(e){return p({item:a,policy:n?e[n].policy:e.policy,aliasPolicy:n?e[n].aliasPolicy:e.aliasPolicy,allowed:n?e[n].allowed:e.allowed,allowedExtra:n?e[n].allowedExtra:e.allowedExtra,containerProps:r,actionName:n?e[n].title:e.title,extra:l,isAdminPage:i,action:e.action})}));return function(t){return e.apply(this,arguments)}}());return yield u.default.all(s)}))).apply(this,arguments)}function g(e){var{actions:t,extra:a,isAdminPage:n}=e;return(0,o.default)(t).call(t,(e=>{var{policy:t,aliasPolicy:r,title:l,enableSystemReader:i}=e;return!(n&&!i&&(0,c.systemRoleIsReader)())&&(0,c.default)({policy:t,aliasPolicy:r,actionName:l,extra:a})}))}function v(e,t,a){var{actionType:n}=e;return"confirm"===n?new e({item:t,containerProps:a}):e}},1436:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.ActionButton=a.getDefaultMsg=void 0;var s=o(n(54)),u=o(n(63)),d=o(n(584)),c=o(n(29)),f=o(n(28));n(344);var p=o(n(202));n(231);var h=o(n(341));n(1344);var m=o(n(1345)),g=o(n(49)),v=o(n(35)),y=o(n(177)),b=o(n(434)),x=o(n(352)),w=o(n(92)),k=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=T(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),C=n(412),_=(n(161),o(n(1437))),M=o(n(16)),S=o(n(1270)),I=o(n(4)),N=n(163),E=o(n(1816));function T(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(T=function(e){return e?a:t})(e)}var A=(e,a)=>{var{actionName:n="",title:r=""}=e,l=(0,w.default)(a)?(0,s.default)(a).call(a,(e=>e.name)).join(", "):a.name,i=t("Unable to {action} {name}.",{action:n.toLowerCase()||r,name:l}),o=t("You are not allowed to { action } {name}.",{action:n.toLowerCase()||r,name:l});return{submitErrorMsg:i,submitSuccessMsg:(0,N.firstUpperCase)(t("{action} {name} successfully.",{action:n.toLowerCase()||r,name:l})),confirmContext:t("Are you sure to { action } {name}?",{action:n.toLowerCase()||r,name:l}),performErrorMsg:o}};a.getDefaultMsg=A;class j extends k.Component{static propTypes(){return{title:M.default.string.isRequired,id:M.default.string.isRequired,perform:M.default.func.isRequired,item:M.default.object,actionType:M.default.string,icon:M.default.string,isAllowed:M.default.bool,needHide:M.default.bool,buttonType:M.default.string,isDanger:M.default.bool,items:M.default.array,isBatch:M.default.bool,path:M.default.string,onFinishAction:M.default.func,action:M.default.any,containerProps:M.default.any,maxLength:M.default.number,isFirstAction:M.default.bool,onClickAction:M.default.func,visible:M.default.bool}}constructor(e){var t;super(e),t=this,(0,v.default)(this,"onClick",(()=>{var{actionType:e,onClickAction:t}=this.props;switch(e){case"confirm":this.onShowConfirm();break;case"link":var{action:a,item:n,containerProps:r}=this.props,{path:l}=a;if((0,x.default)(l)){var i=l(n,r);this.routing.push(i)}else this.routing.push(l);break;default:this.formRef=k.default.createRef(),this.showModalAction()}t&&t()})),(0,v.default)(this,"handleSubmitLoading",(e=>{this.setState({submitLoading:!!e})})),(0,v.default)(this,"handleSubmit",(e=>{var{item:t,isBatch:a,items:n}=this.props;if(this.onSubmit){this.handleSubmitLoading(!0);var r=a?n:t,l=this.onSubmit(e,r);l instanceof u.default?l.then((()=>{this.onShowSuccess(r)}),(e=>{this.onShowError(r,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),l?this.onShowSuccess(r):this.onShowError(r,l))}})),(0,v.default)(this,"onOK",(()=>{var{onSubmit:e,form:t,item:a,isBatch:n,items:r}=this.props;e&&(this.handleSubmitLoading(!0),t.validateFields([],((l,i)=>{if(!l){var o=n?r:a,s=e(t.getFieldsValue(),o);s instanceof u.default?s.then((()=>{this.onShowSuccess(o)}),(e=>{this.onShowError(o,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),s?this.onShowSuccess(o):this.onShowError(o,s))}})))})),(0,v.default)(this,"onShowSuccess",((e,t)=>{var{submitSuccessMsg:a}=this.props.action,n=a?a(e):A(this.props.action,e).submitSuccessMsg;S.default.success(n),this.onCallback(!0,!1,t)})),(0,v.default)(this,"onCallback",((e,t,a)=>{var{onFinishAction:n,id:r}=this.props;if(n){var l="delete"===r;(0,d.default)((()=>{n(e,t,l,a)}),500)}})),(0,v.default)(this,"onShowError",((e,t)=>{var{showConfirmErrorBeforeSubmit:a,confirmErrorMessageBeforeSubmit:n}=this.props.action;if(a)return _.default.error({content:n}),void this.onCallback(!1,!0);var{submitErrorMsg:r}=this.props.action,{data:l}=(t||{}).response||t||{},i=l||t,o=r?r(e,i):A(this.props.action,e).submitErrorMsg;S.default.errorWithDetail(i,o),this.onCallback(!1,!0)})),(0,v.default)(this,"getConfirmOkButtonProps",((e,t)=>{var{disableSubmit:a=!1,okButtonProps:n}=t;return n||{disabled:a}})),(0,v.default)(this,"getConfirmCancelButtonProps",((e,t)=>{var{cancelButtonProps:a}=t;return a||{}})),(0,v.default)(this,"getConfirmContent",((e,t)=>{var{confirmContext:a}=t;return a?a(e):A(t,e).confirmContext})),(0,v.default)(this,"onShowConfirm",(0,g.default)((function*(){var{item:e,items:a,isBatch:n,containerProps:r,onCancelAction:l,action:i}=t.props,{perform:o,title:s,okText:u,cancelText:d,onSubmit:c,afterSubmit:f}=i,p=n?a:e,h=t.getConfirmContent(p,i),m=t.getConfirmOkButtonProps(p,i),g=t.getConfirmCancelButtonProps(p,i);try{o(p).then((()=>{var e=_.default.confirm({title:s,content:h,okText:u,cancelText:d,okButtonProps:m,cancelButtonProps:g,onOk:()=>t.onConfirmOK(p,c,n,r,f,e),onCancel:()=>{l&&l()}})}),(e=>{var t=e||A(i,p).performErrorMsg;_.default.error({content:t})}))}catch(e){var v=e||A(i,p).performErrorMsg;_.default.error({content:v})}}))),(0,v.default)(this,"onSubmitOne",((e,t,a,n)=>new u.default(((r,l)=>{var i=t(e,a);i instanceof u.default?i.then((()=>{this.onShowSuccess(e,n),r()}),(e=>{l(e)})):i?(this.onShowSuccess(e,n),r()):l(i)})).catch((t=>{this.onShowError(e,t)})))),(0,v.default)(this,"onSubmitBatch",((e,t,a,n,r)=>new u.default(((l,i)=>{var o=(0,s.default)(e).call(e,((r,l)=>t(r,a,n,l,e)));(0,N.allSettled)(o).then((t=>{var a,n=(0,c.default)(a=(0,s.default)(t).call(t,((t,a)=>"rejected"===t.status?{data:e[a],reason:t.reason}:null))).call(a,(e=>!!e));return 0===n.length?(this.onShowSuccess(e,r),l()):((0,f.default)(n).call(n,(e=>{this.onShowError(e.data,e.reason)})),n.length===e.length?i():l())}))})))),(0,v.default)(this,"onConfirmOK",((e,t,a,n,r,l)=>a?this.onSubmitBatch(e,t,n,a,r).catch((()=>{l&&l.update({visible:!1})})):this.onSubmitOne(e,t,n,r))),(0,v.default)(this,"onClickModalActionOk",(()=>{var{containerProps:e}=this.props;return this.formRef.current.wrappedInstance.onClickSubmit(((e,t)=>{this.handleSubmitLoading(),this.onClickModalActionCancel(!0),this.onCallback(e,t)}),(()=>{this.handleSubmitLoading(!0)}),e)})),(0,v.default)(this,"onClickModalActionCancel",(e=>{var t=()=>{(0,b.default)(e)||this.formRef.current.wrappedInstance.onClickCancel();var{onCancelAction:t}=this.props;this.setState({visible:!1},(()=>{t&&t()}))},{action:{beforeCancel:a}}=this.props;if(a)return a(t);t()})),(0,v.default)(this,"getModalWidth",(e=>{var{modalSize:t,showQuota:a=!1}=e,n=a?1.25:1;switch(t){case"small":return 520*n;case"middle":return 720*n;case"large":return 1200;default:return 520*n}})),(0,v.default)(this,"getModalOkButtonProps",(e=>{var{item:t,action:a,items:n}=e,{disableSubmit:r=!1,okButtonProps:l}=a;return l||{disabled:(0,x.default)(r)?r({item:t,items:n,action:a}):r}})),(0,v.default)(this,"getModalCancelButtonProps",(e=>{var{item:t,action:a,items:n}=e,{readOnly:r,cancelButtonProps:l}=a;return l||(r?{style:{display:"none"}}:{})}));var{id:a}=e;if(!a)throw Error("need id!");this.state={visible:!1,submitLoading:!1}}get routing(){return this.props.rootStore.routing}showModalAction(){this.setState({visible:!0})}renderModal(){var{visible:e,submitLoading:t}=this.state;if(!e)return null;var{title:a,action:n,item:r,containerProps:l,items:i,onFinishAction:o,onCancelAction:s}=this.props,u=n,{okText:d,cancelText:c,id:f,className:p}=n,h=this.getModalWidth(n),g=this.getModalOkButtonProps({item:r,action:n,items:i}),v=this.getModalCancelButtonProps({item:r,action:n,items:i}),b={title:a,visible:e,className:(0,I.default)("modal-".concat(f),E.default["modal-action"],p),width:h,onOk:()=>this.onClickModalActionOk(),onCancel:this.onClickModalActionCancel,okButtonProps:g,confirmLoading:t,okText:d,cancelText:c,maskClosable:!1};return(0,y.default)(v)||(b.cancelButtonProps=v),k.default.createElement(m.default,b,k.default.createElement(u,{item:r,items:i,ref:this.formRef,containerProps:l,onFinishAction:o,onCancelAction:s,modalProps:b,action:n}))}render(){var{isAllowed:e,needHide:t,buttonType:a,buttonClassName:n,name:r,id:l,title:i,isDanger:o,style:s,maxLength:u,isFirstAction:d}=this.props;if(!e&&t)return null;var c=r||i,f=!1;d&&c&&c.length>u&&(f=!0);var m=k.default.createElement(h.default,{type:a,danger:o,onClick:this.onClick,key:l,disabled:!e,className:n,style:s},r||i),g=f?k.default.createElement(p.default,{title:c},m):m;return k.default.createElement(k.default.Fragment,null,g,this.renderModal())}}a.ActionButton=j,(0,v.default)(j,"defaultProps",{item:void 0,isAllowed:!1,confirm:!1,needHide:!0,buttonType:"link",isDanger:!1,isLink:!1,items:[],isBatch:!1,path:"",containerProps:{},maxLength:0,isFirstAction:!1,onClickAction:null,visible:!1});var P=(0,C.inject)("rootStore")((0,C.observer)(j));a.default=P},1437:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(618)),h=f(n(619)),m=f(n(35)),g=f(n(1438));n(1344);var v=f(n(1345)),y=f(n(0)),b=(n(161),n(564),f(n(4))),x=f(n(16)),w=n(163),k=f(n(1506));function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{title:a=t("Confirm"),content:n,onOk:r,onCancel:l,icon:i,okText:o=t("Confirm"),cancelText:s=t("Cancel"),className:u,okButtonProps:d={},cancelButtonProps:c={}}=e;v.default.confirm({title:a,icon:i||y.default.createElement(g.default,{className:k.default.warn}),className:(0,b.default)(k.default["confirm-modal"],u),content:(0,w.unescapeHtml)(n),okText:o,cancelText:s,okButtonProps:d||{},cancelButtonProps:c||{},onOk:()=>r&&r(),onCancel(){l&&l()}})};S.propTypes=M,S.defaultProps={title:t("Confirm"),icon:y.default.createElement(g.default,null),isSubmitting:!1,okText:t("Confirm"),cancelText:t("Cancel")};var I={confirm:S,error:e=>{var a=_(_({title:t("Error")},e),{},{icon:y.default.createElement(h.default,{className:k.default.error})});S(a)},warn:e=>{var a=_(_({title:t("Warn")},e),{},{icon:y.default.createElement(g.default,{className:k.default.warn})});S(a)},success:e=>{var a=_(_({title:t("Success")},e),{},{icon:y.default.createElement(p.default,{className:k.default.success})});S(a)}};a.default=I},1444:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(86)),o=l(n(29)),s=l(n(54)),u=l(n(28));n(1261);var d=l(n(1262));n(1246);var c=l(n(1247));n(344);var f=l(n(202)),p=l(n(1299));n(569);var h=l(n(1253));n(1244);var m=l(n(1245)),g=l(n(35)),v=l(n(0)),y=(n(161),l(n(1519))),b=l(n(16)),x=n(565),w=(n(564),n(571)),k=l(n(1925)),{isIPv4:C,isIpv6:_,isIpInRangeAll:M}=x.ipValidate;class S extends v.default.Component{constructor(e){super(e),(0,g.default)(this,"onChange",(()=>{this.checkNetwork((()=>{var{onChange:e}=this.props,{network:t,subnet:a,ip:n,ipType:r,validateStatus:l,errorMsg:o}=this.state,s=this.getNetworkOptions(),u=this.getSubnetOptions(),d=(0,i.default)(s).call(s,(e=>e.value===t)),c=(0,i.default)(u).call(u,(e=>e.value===a)),f=(0,i.default)(w.ipTypeOptions).call(w.ipTypeOptions,(e=>e.value===r));e&&e({network:t,subnet:a,ip:n,ipType:r,networkOption:d,subnetOption:c,ipTypeOption:f,validateStatus:l,errorMsg:o})}))})),(0,g.default)(this,"onNetworkChange",(e=>{var{subnets:t}=this.state,a=(0,o.default)(t).call(t,(t=>t.network_id===e)),n=a.length?a[0].id:null;this.setState({network:e,subnet:n,ipType:0,ip:void 0},this.onChange)})),(0,g.default)(this,"onSubnetChange",(e=>{this.setState({subnet:e,ip:void 0},this.onChange)})),(0,g.default)(this,"onTypeChange",(e=>{this.setState({ipType:e},this.onChange)})),(0,g.default)(this,"onIPChange",(e=>{var{value:t}=e.currentTarget;this.setState({ip:t},this.onChange)})),(0,g.default)(this,"checkNetwork",(e=>{var{network:a,subnets:n,subnet:r,ip:l,ipType:o}=this.state,s=(0,i.default)(n).call(n,(e=>e.id===r)),{allocation_pools:u}=s||{};if(a)if(1!==o||C(l)||_(l)){if(u&&1===o)if(!(0,i.default)(u).call(u,(e=>M(l,e.start,e.end))))return void this.setState({errorMsg:t("The ip is not within the allocated pool!"),validateStatus:"error"},e);this.setState({errorMsg:void 0,validateStatus:"success"},e)}else this.setState({errorMsg:t("Please input a valid ip!"),validateStatus:"error"},e);else this.setState({errorMsg:t("Please select a network!"),validateStatus:"error"},e)})),(0,g.default)(this,"getNetworkOptions",(()=>{var{networks:e}=this.state,{optionsByIndex:t,index:a}=this.props,n=[...e];return t&&a({label:e.name,value:e.id})))})),(0,g.default)(this,"getSubnetOptions",(()=>{var e,{network:t,subnets:a}=this.state;return t?(0,s.default)(e=(0,o.default)(a).call(a,(e=>e.network_id===t))).call(e,(e=>({label:v.default.createElement("div",null,v.default.createElement("span",null,e.name),v.default.createElement("span",{className:k.default["subnet-options-cidr"]},e.cidr)),name:e.name,value:e.id}))):[]}));var{value:a}=e,{network:n,subnet:r,ip:l,ipType:u}=a;this.state={network:n||null,subnet:r||null,ip:l||"0.0.0.0",ipType:u||0}}static getDerivedStateFromProps(e,t){if(e.networks!==t.networks||e.subnets!==t.subnets){var{networks:a,subnets:n}=e;return{networks:a,subnets:n}}return null}componentDidMount(){this.checkNetwork()}renderNetwork(){var{network:e}=this.state;return v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getNetworkOptions(),value:e,onChange:this.onNetworkChange,placeholder:t("please select network")}))}renderSubnet(){var{network:e,subnet:a,ipType:n}=this.state;return e&&n?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getSubnetOptions(),value:a,placeholder:t("please select subnet"),onChange:this.onSubnetChange})):null}renderIpType(){var{network:e,ipType:t}=this.state;return e?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{value:t,options:w.ipTypeOptions,onChange:this.onTypeChange})):null}renderIp(){var{subnet:e,subnets:a,ipType:n,ip:r,network:l}=this.state;if(!l)return null;if(0===n){var d=[],c=(0,o.default)(a).call(a,(e=>e.network_id===l));(0,u.default)(c).call(c,(e=>{var{allocation_pools:t=[]}=e;(0,u.default)(t).call(t,(e=>{d.push(e)}))}));var g=(0,s.default)(d).call(d,((e,t)=>v.default.createElement("span",{key:"pool.start.".concat(t),style:{marginRight:10}},e.start,"--",e.end))),y=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},g));return v.default.createElement(m.default,{span:12},y)}if(!e)return null;var b=(0,i.default)(a).call(a,(t=>t.id===e));if(!b)return null;var{allocation_pools:x}=b,w=(0,s.default)(x).call(x,((e,t)=>v.default.createElement("div",{key:"pool.start.".concat(t)},e.start,"--",e.end))),C=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},w),v.default.createElement("span",{className:k.default.content},t("Please make sure this IP address be available to avoid creating VM failure.")));return v.default.createElement(m.default,{span:6},v.default.createElement(h.default,{value:r,onChange:this.onIPChange}),v.default.createElement(f.default,{title:C,color:"white"},v.default.createElement(p.default,null)))}render(){var{validateStatus:e,errorMsg:t}=this.state,{name:a}=this.props;return v.default.createElement(d.default.Item,{className:k.default["network-select"],name:a,validateStatus:e,help:t},v.default.createElement(c.default,{gutter:24},this.renderNetwork(),this.renderIpType(),this.renderSubnet(),this.renderIp()))}}a.default=S,(0,g.default)(S,"propTypes",{networks:b.default.array,subnets:b.default.array,value:b.default.object,ipType:b.default.number,name:b.default.string,optionsByIndex:b.default.bool,index:b.default.number}),(0,g.default)(S,"defaultProps",{networks:[],subnets:[],value:{},ipType:0,name:"network",optionsByIndex:!1,index:0})},1447:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1278);var p=f(a(1279)),h=f(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t"$ ".concat(e).replace(/\D/g,"")});return m.default.createElement(p.default,e)}}t.default=b},1448:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(29)),u=o(n(91)),d=o(n(86)),c=o(n(54));n(1315);var f=o(n(1316)),p=o(n(343));n(1311);var h=o(n(1312)),m=o(n(35)),g=o(n(177)),v=x(n(0)),y=x(n(1376));n(161);function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}function x(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}return n.default=e,a&&a.set(e,n),n}class w extends v.Component{constructor(e){super(e),(0,m.default)(this,"handleChangeTab",(e=>{this.setState({tabKey:e})})),(0,m.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;e&&e(this.state)})),(0,m.default)(this,"getMultiSelected",((e,t,a)=>{var n,r,{selectedRowKeys:l,selectedRows:i}=this.state,o=(0,s.default)(e).call(e,(e=>(0,u.default)(l).call(l,e)<0)),c=(0,s.default)(t).call(t,(e=>(0,u.default)(o).call(o,e.key)>=0||(0,u.default)(o).call(o,e.id)>=0)),f=(0,s.default)(l).call(l,(t=>(0,u.default)(e).call(e,t)<0&&!!(0,d.default)(a).call(a,(e=>e.key===t||e.id===t))));return[(0,s.default)(n=[...l,...o]).call(n,(e=>(0,u.default)(f).call(f,e)<0)),(0,s.default)(r=[...i,...c]).call(r,(e=>{var t=e.key||e.id;return(0,u.default)(f).call(f,t)<0}))]})),(0,m.default)(this,"onSelectTableChange",(e=>{var{selectedRowKeys:t,selectedRows:a,data:n}=e,{isMulti:r=!1}=this.props,[l,i]=r?this.getMultiSelected(t,a,n):[t,a],o={selectedRowKeys:l,selectedRows:i};this.setState(o,(()=>{this.onChangeValue()}))})),(0,m.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t,selectedRows:a}=this.state,n=(0,s.default)(t).call(t,(t=>t!==e)),r=(0,s.default)(a).call(a,(t=>t.key!==e&&t.id!==e));this.setState({selectedRowKeys:n,selectedRows:r},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"renderTag",(e=>v.default.createElement(h.default,{key:e.key||e.id,closable:!0,onClose:()=>this.onTagClose(e.key||e.id)},this.props.tagKey?e[this.props.tagKey]:e.name))),(0,m.default)(this,"renderClearButton",(e=>(0,y.renderClearButton)(this,e)));var{tabs:t=[],defaultTab:a,value:n={}}=e;this.state={tabKey:n.tab||a||t[0]&&t[0].key,selectedRowKeys:n.selectedRowKeys||[],selectedRows:n.selectedRows||[]},this.init(e)}init(e){var{value:t={}}=e;(0,g.default)(t)||this.onChangeValue()}renderTabSelectTable(e){var{selectedRowKeys:t,selectedRows:a}=this.state,n={selectedRowKeys:t},r={selectedRowKeys:t,selectedRows:a};return v.default.createElement(y.default,(0,p.default)({},e.props,{onChange:this.onSelectTableChange,showSelected:!1,value:n,initValue:r}))}renderTab(e){var{tabKey:t}=this.state;return t!==e.key?v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key}):v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key},this.renderTabSelectTable(e))}renderTabs(){var{tabKey:e}=this.state,{tabs:t}=this.props;if(!e)return null;if(1===t.length)return this.renderTabSelectTable(t[0]);var a=(0,c.default)(t).call(t,(e=>this.renderTab(e)));return v.default.createElement(f.default,{activeKey:e,onChange:this.handleChangeTab},a)}renderSelected(){var{selectedRows:e}=this.state,a=(0,c.default)(e).call(e,(e=>this.renderTag(e))),n=this.renderClearButton(e);return v.default.createElement("div",null,t("Selected")," :  ",n,"  ",a)}renderHeader(){var{header:e}=this.props;return e||null}render(){return v.default.createElement(v.default.Fragment,null,this.renderHeader(),this.renderTabs(),this.renderSelected())}}a.default=w},1449:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,{used:n=0,add:r=0,reserved:l=0,limit:h=1,title:m="",secondTitle:g=t("Quota"),hasLabel:v=!1}=e,y=-1!==h,b=y,x=y?h:1/0,w=y?h:t("Infinity"),k=y?h-n-l-r:1;k<0&&(k=0);var C=[{type:t("Used"),value:y?n:0,color:f.used}];l&&C.push({type:t("Reserved"),value:y?l:0,color:f.reserved});C.push({type:t("New"),value:y?r:0,color:f.add}),C.push({type:t("Left"),value:k,color:f.left});var _=(0,o.default)(C).call(C,(e=>e.color)),M=v?200:120,S={width:M},I=M,N=n+r+l,E=y?N/x*100:0,T="";if(!y){var A,j,P,D=(0,s.default)(A="".concat(t("Used"),": ")).call(A,n),L=l?"":(0,s.default)(j="".concat(t("Reserved"),": ")).call(j,l),O=(0,s.default)(P="".concat(t("New"),": ")).call(P,r),R=[D,O];l&&(0,u.default)(R).call(R,1,0,L),T=R.join(" / ")}var z=m.length,U=(V=m,K=/[\u4e00-\u9fa5]+/g,V.match(K)?z>6?10:14:z>12?10:14),F=d.default.createElement(c.Chart,{placeholder:!1,height:I,padding:"auto",autoFit:!0},d.default.createElement(c.Legend,{visible:b&&v}),d.default.createElement(c.Tooltip,{visible:b}),d.default.createElement(c.View,{data:C},d.default.createElement(c.Coordinate,{type:"theta",innerRadius:.75}),d.default.createElement(c.Interval,{position:"value",adjust:"stack",color:["type",_],size:16}),d.default.createElement(c.Annotation.Text,{position:["50%","30%"],content:m,style:{lineHeight:1.5,fontSize:U,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","50%"],content:g,style:{lineHeight:1.5,fontSize:14,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","70%"],content:(0,s.default)(a="".concat(N,"/")).call(a,w),style:{lineHeight:1.5,fontSize:14,fill:p(E),textAlign:"center",fontWeight:"bold"}}))),B=y?F:d.default.createElement(i.default,{title:T},F);var V,K;return d.default.createElement("div",{style:S},B)},a.getUsedValueColor=a.getAddValueColor=a.typeColors=void 0,n(344);var i=l(n(202)),o=l(n(54)),s=l(n(77)),u=l(n(573)),d=l(n(0)),c=n(1349),f=(n(161),{used:globalCSS.primaryColor,reserved:"#5D7092",add:globalCSS.successColor,left:"#eee",danger:globalCSS.warnDarkColor});a.typeColors=f;a.getAddValueColor=e=>e>80?f.danger:f.add;var p=e=>e>80?f.danger:f.used;a.getUsedValueColor=p},1454:function(e,t,a){var n=a(2077);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1506:function(e,t,a){var n=a(1815);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1516:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.getTags=void 0;var h=p(n(77)),m=p(n(28)),g=p(n(32)),v=p(n(86)),y=p(n(29)),b=p(n(54)),x=p(n(91)),w=p(n(350)),k=p(n(591));n(1246);var C=p(n(1247)),_=p(n(612));n(569);var M=p(n(1253));n(583);var S=p(n(420));n(1244);var I=p(n(1245));n(1276);var N=p(n(421));n(1311);var E=p(n(1312));n(1300);var T=p(n(1301));n(231);var A=p(n(341)),j=p(n(605)),P=p(n(35)),D=p(n(434)),L=p(n(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=F(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),R=p(n(16)),z=(n(161),n(564),p(n(4))),U=p(n(1864));function F(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(F=function(e){return e?a:t})(e)}function B(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function V(e){for(var t=1;t{var a;return(0,h.default)(a="".concat(e,"--")).call(a,t)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.split("--")[0],a=e.split("--")[1];return{name:t,key:a}},H=(e,t)=>{var a;if(!e||(0,L.default)(e))return{};if((0,L.default)(t))return{};var n=[],r=[];return(0,m.default)(a=(0,g.default)(e)).call(a,(a=>{var l=(0,v.default)(t).call(t,(e=>e.name===a));if(l){var{options:i=[]}=l,o=e[a];if(i.length){var s=(0,v.default)(i).call(i,(e=>e.key===o));s&&s.isQuick&&r.push(Y(l.name,o))}n.push({value:o,filter:l})}})),{tags:n,checkValues:r}};a.getTags=H;class W extends O.PureComponent{constructor(e){super(e),(0,P.default)(this,"getFilterParams",(()=>{var{filterParams:e}=this.props,{tags:t}=this.state,a=[];return(0,m.default)(e).call(e,(e=>{(0,v.default)(t).call(t,(t=>(0,y.default)(t).name===e.name))||a.push(e)})),a})),(0,P.default)(this,"onTagsChange",(()=>{var{onInputChange:e}=this.props,{tags:t}=this.state;e&&e(t)})),(0,P.default)(this,"onFocusChange",(e=>{var{onInputFocus:t}=this.props;t&&t(e)})),(0,P.default)(this,"getDefaultFilter",(()=>{var{filterParams:e}=this.props;return(0,v.default)(e).call(e,(e=>!e.options))})),(0,P.default)(this,"handleEnter",(e=>{e&&e.preventDefault(),e&&e.stopPropagation();var{value:t}=e.currentTarget;t&&this.updateInput(t)})),(0,P.default)(this,"handleBlur",(()=>{var{currentFilter:e}=this.state;e?(this.setState({isFocus:!0}),this.onFocusChange(!0)):this.onFocusChange(!1)})),(0,P.default)(this,"handleKeyUp",(e=>{if(8===e.keyCode||46===e.keyCode){var{currentFilter:t,tags:a}=this.state,{value:n}=this.inputRef.current.state;t&&(0,L.default)(n)?this.setState({currentFilter:null}):a.length>0&&(0,L.default)(n)&&this.handleTagClose((0,y.default)(a[a.length-1]).name)}})),(0,P.default)(this,"handleFocus",(()=>{this.setState({isFocus:!0}),this.onFocusChange(!0)})),(0,P.default)(this,"handleInputChange",(e=>{this.setState({inputValue:e.target.value})})),(0,P.default)(this,"handleTagClose",(e=>{var{tags:t,checkValues:a}=this.state,n=(0,y.default)(t).call(t,(t=>(0,y.default)(t).name!==e)),r=(0,y.default)(a).call(a,(t=>G(t).name!==e));this.setState({tags:n,optionClear:!1,checkValues:r},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"handleOptionClick",(e=>{var t,{key:a}=e;t="true"===a||"false"!==a&&a,this.updateInput(t),this.onFocusChange(!1)})),(0,P.default)(this,"handleSelectFilter",(e=>{var{key:t}=e,{filterParams:a}=this.props,n=(0,v.default)(a).call(a,(e=>e.name===t));this.setState({currentFilter:n,isFocus:!0},(()=>{this.inputRef.current.focus(),this.onFocusChange(!0)}))})),(0,P.default)(this,"clearOptions",(()=>{this.setState({optionClear:!0})})),(0,P.default)(this,"renderOptionsClose",(e=>{var{filterParams:t}=this.props,{optionClear:a}=this.state;return a||!e[0]||t.length===e.length?null:O.default.createElement(A.default,{className:U.default["close-option-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearOptions})})),(0,P.default)(this,"updateInput",(e=>{var{currentFilter:t,tags:a}=this.state,n={value:e,filter:t||this.getDefaultFilter()};this.clearInputValue();var r=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name!==(0,y.default)(n).name));r.push(n);var l=(0,y.default)(r).call(r,(e=>{var{value:t,filter:{options:a=[]}={}}=e;return!!(0,v.default)(a).call(a,(e=>e.key===t&&e.isQuick))})),i=(0,b.default)(l).call(l,(e=>Y((0,y.default)(e).name,e.value)));this.setState({tags:r,currentFilter:null,inputValue:"",checkValues:i},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"clearInputValue",(()=>{this.setState({inputValue:""})})),(0,P.default)(this,"clearAll",(()=>{this.clearInputValue(),this.setState({inputValue:"",tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]},(()=>{this.onTagsChange(),this.onFocusChange(!1)}))})),(0,P.default)(this,"updateCheck",(()=>{})),(0,P.default)(this,"onChangeCheck",(e=>{var t,{checkValues:a}=this.state,n=[];(0,m.default)(e).call(e,(e=>{(0,x.default)(a).call(a,e)<0&&n.push({key:e,value:!0})})),(0,m.default)(a).call(a,(t=>{(0,x.default)(e).call(e,t)<0&&n.push({key:t,value:!1})}));var r=(0,b.default)(t=(0,w.default)(new k.default([...a,...e]))).call(t,(e=>G(e).name)),{filterParams:l}=this.props,{tags:i}=this.state,o=(0,y.default)(i).call(i,(e=>(0,x.default)(r).call(r,(0,y.default)(e).name)<0)),s=[];(0,m.default)(n).call(n,(e=>{var{key:t,value:a}=e;if(a){var{name:n,key:r}=G(t),i=(0,v.default)(l).call(l,(e=>e.name===n));s.push({value:r,filter:i})}})),this.setState({tags:[...o,...s],checkValues:e},(()=>{this.onTagsChange()}))})),this.inputRef=O.default.createRef(),this.state={tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]}}componentDidMount(){this.initTags(this.props)}initTags(e){var{initValue:t,filterParams:a}=e,{tags:n=[],checkValues:r}=H(t,a);n.length&&this.setState({tags:n,checkValues:r},(()=>{this.onTagsChange()}))}renderKey(){var{currentFilter:e}=this.state;return e?O.default.createElement("span",{className:U.default.key},"".concat(e.label),O.default.createElement(T.default,{type:"vertical"})):null}renderTags(){var{tags:e}=this.state;return(0,b.default)(e).call(e,(e=>{var{filter:t,value:a}=e,{options:n}=t,r=a;if(n){var l=(0,v.default)(n).call(n,(e=>((0,D.default)(e.key)?e.key.toString():e.key)===((0,D.default)(a)?a.toString():a)));r=l?l.label:a}return O.default.createElement(E.default,{key:t.name,closable:!0,onClose:()=>this.handleTagClose(t.name)},O.default.createElement("span",null,t.label),O.default.createElement(T.default,{type:"vertical"}),O.default.createElement("span",null,r))}))}renderOptions(){var e,{currentFilter:t,tags:a}=this.state,{options:n,correlateOption:r}=t;if(!n)return null;var l=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name===r)),i=[];r&&l[0]&&(i=(0,y.default)(n).call(n,(e=>{var t;return(0,x.default)(t=e.correlateValue).call(t,l[0].value)>-1})));var o=(0,b.default)(e=i[0]?i:n).call(e,(e=>O.default.createElement(N.default.Item,{key:e.key},e.label)));return O.default.createElement(N.default,{className:U.default["option-menu"],onClick:this.handleOptionClick},o)}renderMenu(){var{currentFilter:e,isFocus:t,optionClear:a,inputValue:n}=this.state;if(n)return null;if(!t)return null;if(e)return this.renderOptions();var r=this.getFilterParams();a&&(r=[]);var l=(0,b.default)(r).call(r,(e=>O.default.createElement(N.default.Item,{key:e.name},e.label)));return O.default.createElement(N.default,{className:U.default.menu,onClick:this.handleSelectFilter,id:"search-items-menu"},this.renderOptionsClose(r),l)}renderClose(){var{isFocus:e}=this.state;return e?O.default.createElement(I.default,{className:U.default["close-btn-col"]},O.default.createElement(A.default,{className:U.default["close-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearAll})):null}getChecks(){var{filterParams:e}=this.props,t=[];return(0,m.default)(e).call(e,(e=>{var{options:a=[]}=e;(0,m.default)(a).call(a,(a=>{var{isQuick:n=!1}=a;n&&t.push(V(V({},a),{},{father:e}))}))})),t}renderChecks(){var e=this.getChecks();if(0===e.length)return null;var{checkValues:t}=this.state,a=(0,b.default)(e).call(e,(e=>{var{checkLabel:t,key:a,father:n}=e;return{label:t,value:Y(n.name,a)}}));return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-checks"],"magic-input-checks")},O.default.createElement(S.default.Group,{options:a,onChange:this.onChangeCheck,value:t}))}render(){var e,{placeholder:t}=this.props,{isFocus:a,inputValue:n}=this.state;return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-outer-wrapper"],"magic-input-outer-wrapper")},this.renderChecks(),O.default.createElement(C.default,{className:(0,z.default)("magic-input-wrapper",U.default["magic-input-wrapper"],a?U.default["magic-input-wrapper-active"]:"",a?"magic-input-wrapper-active":"")},O.default.createElement(I.default,null,this.renderTags()),O.default.createElement(I.default,null,this.renderKey()),O.default.createElement(I.default,{className:U.default["input-wrapper"]},O.default.createElement(M.default,{className:U.default.input,ref:this.inputRef,autoFocus:a,placeholder:t,onChange:this.handleInputChange,onBlur:this.handleBlur,onFocus:this.handleFocus,onPressEnter:this.handleEnter,onKeyUp:this.handleKeyUp,value:n}),this.renderMenu()),O.default.createElement(I.default,{className:(0,h.default)(e="".concat(U.default["search-icon"]," ")).call(e,a?U.default["search-icon-hidden"]:"")},O.default.createElement(_.default,null)),this.renderClose()))}}(0,P.default)(W,"propTypes",{filterParams:R.default.arrayOf(Q),initValue:R.default.object,placeholder:R.default.string,onInputChange:R.default.func,onInputFocus:R.default.func}),(0,P.default)(W,"defaultProps",{filterParams:[],initValue:{},placeholder:t("Click here for filters.")});var q=W;a.default=q},1517:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var f=c(a(54)),p=c(a(77)),h=c(a(29)),m=c(a(91)),g=c(a(573)),v=c(a(86)),y=c(a(32));a(585);var b=c(a(587)),x=c(a(58)),w=c(a(35));a(594);var k=c(a(595)),C=c(a(570)),_=c(a(205)),M=c(a(177)),S=c(a(134)),I=c(a(119)),N=c(a(0)),E=c(a(4)),T=c(a(16)),A=(a(161),a(418)),j=a(163),P=c(a(1866));function D(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function L(e){for(var t=1;t{var{onChange:r}=this.props;r&&r(e,t,a,n)})),(0,w.default)(this,"getBaseColumns",(e=>(0,f.default)(e).call(e,(e=>{var{sortable:t,dataIndex:a,valueRender:n,sorter:r,sortOrder:l,render:i,isStatus:o,isName:s,isPrice:u,isLink:d,routeName:c,linkPrefix:f,valueMap:p,unit:h,copyable:m}=e,g=(0,x.default)(e,["sortable","dataIndex","valueRender","sorter","sortOrder","render","isStatus","isName","isPrice","isLink","routeName","linkPrefix","valueMap","unit","copyable"]);if("operation"===e.key)return e;var v=(0,A.getColumnSorter)(e,this.props),y=l||v?(0,A.getSortOrder)(a,this.props):null,b=i||(0,A.getRender)(n);if(p&&(b=(0,A.getValueMapRender)(e)),h&&(b=(0,A.getUnitRender)(e)),(0,A.checkIsStatusColumn)(a,o)&&(b=(0,A.getStatusRender)(b)),"description"===a&&(b=this.getNoValueRender(b)),"project_name"===a&&(b=(0,A.getProjectRender)(b)),"name"===a&&c||d){var{rowKey:w}=this.props;b=(0,A.getNameRenderByRouter)(b,e,w)}("name"===a&&f||s)&&(b=(0,A.getNameRender)(b,e)),("cost"===a||u)&&(b=this.getPriceRender(b,e)),m&&(b=e=>e&&"-"!==e?N.default.createElement(O,{copyable:!0},e):"-");var k=L(L({},g),{},{dataIndex:a,align:e.align||"left"});return v&&(k.sorter=v),l&&(k.sortOrder=y),b&&(k.render=b),(0,A.updateColumnSort)(k,this.props),k})))),(0,w.default)(this,"getNoValueRender",(e=>e||(e=>(0,j.getNoValue)(e)))),(0,w.default)(this,"getLinkUrl",((e,t)=>{var a,n;return e?"/"===e[e.length-1]?(0,p.default)(n="".concat(e)).call(n,t):(0,p.default)(a="".concat(e,"/")).call(a,t):null})),(0,w.default)(this,"getColumns",(()=>{var{columns:e}=this.props;return this.getBaseColumns(e)})),(0,w.default)(this,"getPriceRender",((e,t)=>e||(e=>{var t=(0,S.default)(e)?e:(e||0).toFixed(2);return N.default.createElement("span",{style:{color:globalCSS.moneyColor}},t)}))),(0,w.default)(this,"getDataSource",(()=>{var{data:e,filters:t,filterByBackend:a}=this.props;if(a)return e;var n=(0,f.default)(e).call(e,(e=>e.key?e:L(L({},e),{},{key:e.id})));return!t||(0,M.default)(t)?n:(0,h.default)(n).call(n,(e=>this.filterData(e,t)))})),(0,w.default)(this,"onRow",((e,t)=>{var{rowSelection:a,onRow:n}=this.props;return n?n(e,t):{onClick:()=>{var{selectedRowKeys:t=[],onChange:n,type:r,getCheckboxProps:l}=a||{};if(l){var{disabled:i}=l(e);if(i)return}var o=(0,m.default)(t).call(t,e.key);if("checkbox"===r){var s=[...t];o>-1?(0,g.default)(s).call(s,o,1):s.push(e.key),n(s)}else"radio"===r&&n([e.key])}}})),(0,w.default)(this,"filterData",((e,t)=>{var a,{searchFilters:n}=this.props;return!(0,v.default)(a=(0,y.default)(t)).call(a,(a=>{var r=(0,I.default)(e,a),l=t[a],{filterFunc:i}=(0,v.default)(n).call(n,(e=>e.name===a));if(i)return!i(r,l,e);var o,s=this.checkFilterInclude(a);return(0,S.default)(r)&&(0,S.default)(l)?s?(0,m.default)(o=r.toLowerCase()).call(o,l.toLowerCase())<0:r.toLowerCase()!==l.toLowerCase():!(0,_.default)(r,l)}))})),(0,w.default)(this,"checkFilterInclude",(e=>{var{searchFilters:t}=this.props,a=(0,v.default)(t).call(t,(t=>t.name===e));return(0,C.default)(a,"include")?a.include:!(0,C.default)(a,"options")}))}getPagination(e){var{pagination:t}=this.props;return t&&L(L({},t),{},{total:e.length})}render(){var{className:e,isLoading:t,rowSelection:a,footer:n,childrenColumnName:r}=this.props,l=this.getColumns(),i=this.getDataSource();return N.default.createElement(b.default,{className:(0,E.default)(P.default["sl-simple-table"],"sl-simple-table",e),columns:l,dataSource:i,loading:t,onChange:this.handleChange,pagination:this.getPagination(i),rowSelection:a,sortDirections:["ascend","descend","ascend"],showSorterTooltip:!1,footer:n,onRow:this.onRow,childrenColumnName:r})}}t.default=R,(0,w.default)(R,"propTypes",{data:T.default.array.isRequired,filters:T.default.object,searchFilters:T.default.array,columns:T.default.array.isRequired,className:T.default.string,onChange:T.default.func,isLoading:T.default.bool,rowSelection:T.default.object,pagination:T.default.oneOfType([T.default.object,T.default.bool]),filterByBackend:T.default.bool,isSortByBack:T.default.bool,defaultSortKey:T.default.string,defaultSortOrder:T.default.string,onRow:T.default.func,childrenColumnName:T.default.string}),(0,w.default)(R,"defaultProps",{filters:{},searchFilters:[],isLoading:!1,rowSelection:null,pagination:{},filterByBackend:!1,isSortByBack:!1,defaultSortKey:"",defaultSortOrder:""})},1518:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(642));n(231);var d=o(n(341)),c=o(n(641));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=o(n(16)),g=(n(564),n(161),o(n(4))),v=o(n(1868));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends h.Component{static propTypes(){return{total:m.default.number,currentDataSize:m.default.number.isRequired,current:m.default.number.isRequired,pageSize:m.default.number.isRequired,defaultCurrent:m.default.number,defaultPageSize:m.default.number,pageSizeOptions:m.default.array,onChange:m.default.func,isLoading:m.default.bool,className:m.default.object}}constructor(e){super(e),(0,p.default)(this,"onChange",((e,t)=>{var{onChange:a}=this.props;a&&a(e,t)})),(0,p.default)(this,"onChangePageSize",(e=>{this.setState({pageSize:e},(()=>{this.onChange(1,e)}))})),(0,p.default)(this,"onClickPre",(()=>{var{current:e,pageSize:t}=this.state;1!==e&&this.setState({current:e-1},(()=>{this.onChange(e-1,t)}))})),(0,p.default)(this,"onClickNext",(()=>{var{current:e,pageSize:t,currentDataSize:a}=this.state;a{var{onFocusChange:t}=this.props;t&&t(e)})),(0,p.default)(this,"onFocus",(()=>{this.onFocusChange(!0)})),(0,p.default)(this,"onBlur",(()=>{this.onFocusChange(!1)}));var{current:t,pageSize:a,defaultCurrent:n,defaultPageSize:r,currentDataSize:l,isLoading:i,total:o}=e;this.state={current:t||n,pageSize:a||r,currentDataSize:l,isLoading:i,total:o}}static getDerivedStateFromProps(e,t){if(e.currentDataSize!==t.currentDataSize||e.current&&e.current!==t.current||e.isLoading!==t.isLoading||e.total!==t.total){var{currentDataSize:a,current:n=1,isLoading:r,total:l}=e;return{currentDataSize:a,current:n,isLoading:r,total:l}}return null}checkNextByTotal(){var{pageSize:e,total:t,current:a}=this.state;return void 0===t||!!t&&a({label:t("{pageSize} items/page",{pageSize:e}),value:e})));return h.default.createElement(f.default,{className:v.default["page-select"],options:r,value:n,defaultValue:a,onChange:e=>{this.onChangePageSize(e)}})}render(){var{current:e,currentDataSize:t,pageSize:a,isLoading:n}=this.state,{className:r}=this.props,l=n||1===e,i=n||t{}})},1519:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(583);var d=o(n(420));n(568);var c=o(n(415)),f=o(n(343)),p=o(n(58)),h=o(n(35)),m=o(n(1314)),g=o(n(601)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),o(n(1875)));function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}class x extends v.Component{constructor(e){super(e),(0,h.default)(this,"onChange",((e,t)=>{var{onChange:a,isWrappedValue:n}=this.props;a&&a(n?t:e)})),(0,h.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e})),(0,h.default)(this,"onCheckChange",(()=>{var{selectAll:e}=this.state,{options:t,checkOptions:a}=this.props;this.setState({selectAll:1-e},this.onChange(1===e?a[a.length-1].value:t[t.length-1].value))}));var{checkOptions:t}=e;t&&(this.state={selectAll:!1})}render(){var e=this.props,{value:a,placeholder:n=t("Please select"),isWrappedValue:r,checkOptions:l,checkBoxInfo:i,allowClear:o=!0,showSearch:h=!0}=e,b=(0,p.default)(e,["value","placeholder","isWrappedValue","checkOptions","checkBoxInfo","allowClear","showSearch"]);if((0,g.default)(a)||(0,m.default)(a))return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange}));if(l){var{options:x}=this.props,{selectAll:w}=this.state,k=v.default.createElement(d.default,{onChange:this.onCheckChange,checked:w},i||t("Show all Data"));return v.default.createElement(s.default,{gutter:24},v.default.createElement(u.default,{span:12},v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue(),options:1===w?l:x}))),v.default.createElement(u.default,{span:12,className:y.default.checkbox},k))}return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue()}))}}a.default=x},1534:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(86));n(1261);var h=f(n(1262));n(1246);var m=f(n(1247));n(1244);var g=f(n(1245));n(583);var v=f(n(420));n(1278);var y=f(n(1279));n(568);var b=f(n(415)),x=f(n(35)),w=f(n(0)),k=(n(161),f(n(16))),C=f(n(1899));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{var{type:a}=this.state;a?this.setState({errorMsg:void 0,validateStatus:"success"},e):this.setState({errorMsg:t("Please select a type!"),validateStatus:"error"},e)})),(0,x.default)(this,"onChange",(()=>{this.checkVolume((()=>{var{onChange:e,options:a=[]}=this.props;if(e){var{type:n,deleteType:r}=this.state,l=1===r?t("Deleted with the instance"):t("Not deleted with the instance"),i=(0,p.default)(a).call(a,(e=>e.value===n));e(M(M({},this.state),{},{deleteTypeLabel:l,typeOption:i}))}}))})),(0,x.default)(this,"onSelectChange",(e=>{this.setState({type:e},this.onChange)})),(0,x.default)(this,"onInputChange",(e=>{this.setState({size:e},this.onChange)})),(0,x.default)(this,"onDeleteChange",(()=>{var{deleteType:e}=this.state;this.setState({deleteType:1-e},this.onChange)}));var{type:a,size:n,deleteType:r}=e.value||{},{minSize:l}=e;this.state={type:a,size:n,deleteType:r,minSize:l}}static getDerivedStateFromProps(e,t){if(e.options!==t.options||e.minSize!==t.minSize){var{options:a,value:n,minSize:r}=e;return{options:a,type:n.type,minSize:r}}return null}componentDidMount(){this.onChange()}render(){var{options:e,type:a,size:n,deleteType:r,validateStatus:l,errorMsg:i,minSize:o}=this.state,{name:s,showDelete:u=!0}=this.props,d=w.default.createElement(b.default,{value:a,options:e,onChange:this.onSelectChange,className:C.default.select,placeholder:t("Please select type")}),c=w.default.createElement(y.default,{value:n,onChange:this.onInputChange,min:o,style:{maxWidth:"60%"},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),onInput:e=>this.onInputChange(1*e)}),f=1===r,p=u?w.default.createElement(v.default,{onChange:this.onDeleteChange,checked:f},t("Deleted with the instance")):null;return w.default.createElement(h.default.Item,{className:C.default["instance-volume"],name:s,validateStatus:l,help:i},w.default.createElement(m.default,{gutter:24},w.default.createElement(g.default,{span:8},w.default.createElement("span",{className:C.default.label},t("Type")),d),w.default.createElement(g.default,{span:14},w.default.createElement("span",{className:C.default.label},t("Size")),c,w.default.createElement("span",{className:C.default["size-label"]},"GiB"),p)))}}a.default=S,(0,x.default)(S,"propTypes",{options:k.default.array,value:k.default.any,minSize:k.default.number}),(0,x.default)(S,"defaultProps",{options:[],value:{},minSize:0})},1552:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1278);var h=p(n(1279)),m=p(n(343)),g=p(n(35)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),p(n(16))),b=p(n(1963));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{onChange:t}=this.props;t&&t(e)})),(0,g.default)(this,"onCpuChange",(e=>{this.onChange(k(k({},this.state),{},{cpu:e}))})),(0,g.default)(this,"onRamChange",(e=>{this.onChange(k(k({},this.state),{},{ram:e}))})),this.state={cpu:1,ram:512}}static getDerivedStateFromProps(e,t){var{cpu:a,ram:n}=e.value||{};return a!==t.cpu||n!==t.ram?{cpu:a,ram:n}:null}render(){var{cpu:e,ram:a}=this.state,n={min:1,precision:0,style:{width:120},formatter:e=>"$ ".concat(e).replace(/\D/g,"")};return v.default.createElement(v.default.Fragment,null,v.default.createElement("span",{className:b.default.cpu},t("CPU(Core)")),v.default.createElement(h.default,(0,m.default)({value:e,onChange:this.onCpuChange},n)),v.default.createElement("span",{className:b.default.ram},t("RAM (MiB)")),v.default.createElement(h.default,(0,m.default)({value:a,onChange:this.onRamChange},n)))}}a.default=C,(0,g.default)(C,"propTypes",{onChange:y.default.func,value:y.default.object}),(0,g.default)(C,"defaultProps",{onChange:null,value:{cpu:1,ram:1024}})},1553:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getBase64=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getText=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsText(e,"UTF-8"),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getArrayBuffer=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsArrayBuffer(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))};var l=r(a(63))},1563:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=function(e){var{content:a,defaultCollapsed:n=!1,size:r="small",ableAuto:l=!0,tip:i=t("When auto-expand/close is enabled, if there is no operation in the pop-up window, the pop-up window will be closed automatically after { seconds } seconds, and it will be automatically expanded when the displayed content changes.",{seconds:v}),checkValue:o=""}=e,[g,y]=(0,m.useState)(n),[b,x]=(0,m.useState)(l),[w,k]=(0,m.useState)(!1),C=(0,m.useRef)(),_=()=>{C.current&&clearTimeout(C.current)},M=()=>{y(!1)},S=()=>{y(!0),_()},I=()=>{g||(C.current&&_(),C.current=(0,h.default)((()=>{g||S()}),1e3*v))};(0,m.useEffect)((()=>{b&&(g||(w?_():I()))}),[g,w]),(0,m.useEffect)((()=>(b&&(M(),I()),()=>{_()})),[o]);var N=e=>{x(e)},E=()=>{k(!0)},T=()=>{k(!1)};if(g)return m.default.createElement("div",{style:{padding:8},onMouseEnter:E,onMouseLeave:T,className:"content-wrapper"},m.default.createElement(f.default,{title:t("Expand")},m.default.createElement(d.default,{onClick:M,size:r},m.default.createElement(c.default,null))));var A=m.default.createElement(f.default,{title:t("Close")},m.default.createElement(d.default,{onClick:S,size:r},m.default.createElement(u.default,null)));return m.default.createElement("div",{onMouseEnter:E,onMouseLeave:T,className:"content-wrapper",style:{minWidth:150}},m.default.createElement(s.default,{title:l?m.default.createElement(f.default,{title:i},m.default.createElement(p.default,{size:"small",checked:b,onChange:N})):null,extra:A},a))},n(1280);var s=o(n(1281)),u=o(n(1564));n(231);var d=o(n(341)),c=o(n(1565));n(344);var f=o(n(202));n(1445);var p=o(n(1446)),h=o(n(584)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function g(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(g=function(e){return e?a:t})(e)}var v=5},1566:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{quotas:t=[],loading:a}=e;if(a)return o.default.createElement(i.default,null);var n=(0,l.default)(t).call(t,((e,a)=>{var{name:n}=e,r=a===t.length-1?{}:{marginBottom:10};return o.default.createElement("div",{key:n,style:r},function(e){var{type:t="ring",limit:a,unlimitByTable:n=!1}=e;if(-1===a&&n)return o.default.createElement(d.default,e);if("ring"===t)return o.default.createElement(s.default,e);if("line"===t)return o.default.createElement(u.default,e)}(e))}));return o.default.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",overflowY:"auto",overflowX:"hidden",maxHeight:400}},n)};var l=r(a(54));a(1317);var i=r(a(1318)),o=r(a(0)),s=(a(161),r(a(1449))),u=r(a(2019)),d=r(a(2020))},1569:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.AuthCatalogStore=void 0;var f=c(a(35)),p=c(a(50)),h=c(a(53));function m(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function g(e){for(var t=1;t{var t;return g(g({},e),{},{region:e.endpoints&&(null===(t=e.endpoints[0])||void 0===t?void 0:t.region)||""})}}}t.AuthCatalogStore=v;var y=new v;t.default=y},1782:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=a(0),i=r(a(1783)),o=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(5)]).then(a.t.bind(null,2084,7)))),s=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(7)]).then(a.t.bind(null,3503,7)))),u=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(18)]).then(a.t.bind(null,3772,7)))),d=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(15)]).then(a.t.bind(null,3837,7)))),c=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(11)]).then(a.t.bind(null,4021,7)))),f=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(8)]).then(a.t.bind(null,4090,7)))),p=(0,l.lazy)((()=>Promise.all([a.e(0),a.e(13)]).then(a.t.bind(null,4132,7)))),h=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(10)]).then(a.t.bind(null,4134,7)))),m=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(19)]).then(a.t.bind(null,4149,7)))),g=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4155,7)))),v=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4199,7)))),y=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(17)]).then(a.t.bind(null,4242,7)))),b=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(9)]).then(a.t.bind(null,4305,7)))),x=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(2)]).then(a.t.bind(null,4328,7)))),w=(0,l.lazy)((()=>Promise.resolve().then(a.t.bind(null,579,7)))),k=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(3)]).then(a.t.bind(null,4368,7)))),C=[{path:"/",component:i.default,routes:[{path:"/base",component:o},{path:"/compute",component:s},{path:"/storage",component:u},{path:"/network",component:d},{path:"/identity",component:c},{path:"/configuration-admin",component:f},{path:"/management",component:p},{path:"/heat",component:h},{path:"/monitor-center",component:g},{path:"/user",component:m},{path:"/database",component:v},{path:"/share",component:y},{path:"/container-infra",component:b},{path:"/container-service",component:x},{path:"/ha",component:k},{path:"*",component:w}]}];t.default=C},1783:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.BaseLayout=void 0;var h=p(n(29)),m=p(n(28)),g=p(n(86)),v=p(n(54)),y=p(n(1503)),b=p(n(58)),x=p(n(343)),w=p(n(35));n(1431);var k=p(n(1432)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=R(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),_=n(412),M=n(36),S=p(n(237)),I=n(163),N=(n(564),p(n(1251))),E=(n(161),p(n(1794))),T=n(567),A=p(n(2057)),j=p(n(2067)),P=p(n(2068)),D=p(n(2069)),L=p(n(2078)),O=p(n(1454));function R(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(R=function(e){return e?a:t})(e)}function z(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function U(e){for(var t=1;t(this.props.rootStore.user||{}).keystone_token),(()=>{(0,T.setRouteMap)(this.menu)}))),(0,w.default)(this,"filterMenuByHidden",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(0===e.length)return e;var a=(0,h.default)(e).call(e,(e=>!e.hidden));return(0,m.default)(a).call(a,(e=>{e.children=t.filterMenuByHidden(e.children)})),a})),(0,w.default)(this,"checkItemEndpoints",(e=>this.rootStore.checkEndpoint(e))),(0,w.default)(this,"getMenuAllowed",(e=>{var t=[];return(0,m.default)(e).call(e,(e=>{var a=this.updateMenuItemByAllowed(e);a&&t.push(a)})),t})),(0,w.default)(this,"onCollapseChange",(e=>{this.setState({collapsed:e})})),(0,w.default)(this,"checkPath",((e,t,a)=>e instanceof RegExp?e.test(t):a?t===a:e===t)),(0,w.default)(this,"getCurrentMenu",(e=>{var t,a,n=(0,g.default)(t=this.menuAll).call(t,(t=>this.checkPath(t.path,e)));if(n)return[n];var r=!1,l=[];return(0,m.default)(a=this.menuAll).call(a,(t=>{if(!r&&t.children){var a,n,i=(0,g.default)(a=t.children).call(a,(t=>this.checkPath(t.path,e)));if(i&&(r=!0,l=[t,i]),!r)(0,m.default)(n=t.children).call(n,(a=>{if(a.children){var n,i=(0,g.default)(n=a.children).call(n,(t=>this.checkPath(t.path,e)));i&&(r=!0,l=[t,a,i])}}))}})),l})),(0,w.default)(this,"clearAllNotice",(()=>{for(var e=document.getElementsByClassName("ant-notification-notice");e.length>0;)e[0].parentNode.removeChild(e[0]);this.rootStore.clearNoticeCount()})),(0,w.default)(this,"renderHeader",(()=>C.default.createElement(E.default,(0,x.default)({},this.props,{isAdminPage:this.isAdminPage,navItems:this.globalNav,isUserCenterPage:this.isUserCenterPage})))),this.state={collapsed:!1},this.init()}componentWillUnmount(){this.autoReaction()}get isAdminPage(){var{pathname:e}=this.props.location;return(0,I.isAdminPage)(e)}get isUserCenterPage(){var{pathname:e}=this.props.location;return(0,I.isUserCenterPage)(e)}get rootStore(){return this.props.rootStore}get noticeCount(){return this.rootStore.noticeCount-(this.rootStore.noticeCountWaitRemove||0)}get user(){return(0,M.toJS)(this.rootStore.user)||null}get hasAdminRole(){return this.user&&this.rootStore.hasAdminRole}get hasAdminPageRole(){return this.user&&this.rootStore.hasAdminPageRole}get originMenu(){return this.isUserCenterPage?(0,P.default)(S.default.t):this.isAdminPage?(0,A.default)(S.default.t):(0,j.default)(S.default.t)}get globalNav(){return this.menu}get menu(){var e=this.filterMenuByHidden(this.originMenu),t=this.getMenuAllowed(e);return(0,h.default)(t).call(t,(e=>{var{hasChildren:t=!0,children:a}=e;return!t||t&&a.length}))}get menuAll(){return this.getMenuAllowed(this.originMenu)}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,T.getPath)({key:n,params:t,query:a})}updateMenuItemByAllowed(e){var t,{policy:a,endpoints:n,children:r=[]}=e,l=(0,b.default)(e,["policy","endpoints","children"]);if(a&&!(0,N.default)({policy:a}))return null;if(n&&!this.checkItemEndpoints(n))return null;if(0===r.length)return e;var i=(0,h.default)(t=(0,v.default)(r).call(r,(e=>this.updateMenuItemByAllowed(e)))).call(t,(e=>!!e));return U(U({},l),{},{children:i})}init(){this.isAdminPage&&!this.hasAdminPageRole&&(window.location.href="/base/overview"),this.routes=this.props.route.routes,(0,T.setRouteMap)(this.menu)}renderNotice(){return this.noticeCount<3?null:C.default.createElement("div",{className:O.default.notice,onClick:this.clearAllNotice},C.default.createElement(y.default,null),C.default.createElement("span",{style:{marginLeft:8,fontSize:12}},t("Close all notifications.")))}render(){var{pathname:e}=this.props.location,t=this.getCurrentMenu(e);return C.default.createElement("div",{className:O.default["base-layout"]},this.renderNotice(),C.default.createElement(F,{className:O.default.header},this.renderHeader()),C.default.createElement(L.default,{pathname:e,isAdminPage:this.isAdminPage,menu:this.menu,menuAll:this.menuAll,currentRoutes:t,onCollapseChange:this.onCollapseChange}),C.default.createElement(D.default,(0,x.default)({},this.props,this.state,{currentRoutes:t,isAdminPage:this.isAdminPage})))}}a.BaseLayout=B;var V=(0,_.inject)("rootStore")((0,_.observer)(B));a.default=V},1794:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{isAdminPage:t=!1,navItems:a=[]}=e;return l.default.createElement("div",{className:u.default.header},l.default.createElement(i.default,{navItems:a}),!t&&l.default.createElement(o.default,null),l.default.createElement(s.default,e))};var l=r(a(0)),i=r(a(1795)),o=r(a(1809)),s=r(a(2050)),u=r(a(1346))},1795:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.GlobalNav=void 0;var p=f(n(605));n(1796);var h=f(n(1799)),m=f(n(35)),g=f(n(0)),v=n(412),y=(n(564),f(n(16))),b=(n(161),f(n(1800))),x=n(1433),w=f(n(1801)),k=f(n(1804)),C=f(n(1807));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{this.setState({visible:!1})})),(0,m.default)(this,"onToggleOpen",(()=>{this.setState((e=>{var{visible:t}=e;return{visible:!t}}))})),this.state={visible:!1}}render(){var{visible:e}=this.state,{navItems:a=[]}=this.props,n={top:globalCSS.headerHeight,height:"calc(100% - ".concat(globalCSS.headerHeight,")")},r=Number(globalCSS.productsColumnWidth.replace("px",""));return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:C.default["global-nav-icon"],onClick:this.onToggleOpen},g.default.createElement("img",{src:b.default,alt:"menu-icon",className:C.default["global-nav-icon-icon"]})),g.default.createElement(h.default,{title:t("Service List"),className:C.default["drawer-left"],placement:"left",closable:!1,onClose:this.onClose,visible:e,style:n,bodyStyle:{padding:0},width:r,destroyOnClose:!0},g.default.createElement(w.default,{items:a,onClose:this.onClose})),g.default.createElement(h.default,{title:null,className:C.default["drawer-right"],placement:"left",closable:!0,onClose:this.onClose,visible:e,style:M(M({},n),{},{left:e?globalCSS.productsColumnWidth:0}),bodyStyle:{padding:0},mask:!0,width:4*r,maskStyle:{backgroundColor:"transparent"},closeIcon:g.default.createElement(p.default,{style:{fontSize:"20px"}})},g.default.createElement("div",{className:C.default.main},g.default.createElement(k.default,{items:a,onClose:this.onClose}))))}}a.GlobalNav=S,(0,m.default)(S,"propTypes",{navItems:y.default.oneOfType([y.default.arrayOf(x.navItemPropType),y.default.array])}),(0,m.default)(S,"defaultProps",{navItems:[]});var I=(0,v.observer)(S);a.default=I},1800:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA4CAYAAACPKLr2AAAAk0lEQVRoQ+3Y0QnAMAgA0bj/0HaIQzjK9d/EPE2QzpN/I8/vlSCtUIIJUgEaXw9iwd1dushl/JQg5PULwgOeh/fMUOIEE6QCNL4eTJAK0Hh/DzZuwRr7xy19iWEFzsP9t/icAG6QIATsByYFTDBBLEAX8L+D+mGhBGET+gdWeMDzcP8tPieAGyQIAZtmKGCC/xf8AMV4MAkwBaLlAAAAAElFTkSuQmCC"},1801:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(54)),i=r(a(35)),o=r(a(0)),s=a(204),u=r(a(16)),d=a(1433),c=r(a(1802));class f extends o.default.Component{constructor(){super(...arguments),(0,i.default)(this,"renderItem",(e=>o.default.createElement("div",{className:c.default.item,key:e.path},o.default.createElement(s.Link,{onClick:this.props.onClose,to:(0,d.getFirstLevelNavItemLink)(e),className:c.default["item-label"]},e.name))))}render(){var{items:e}=this.props;return o.default.createElement("div",{id:"global-nav-left",className:c.default.left},(0,l.default)(e).call(e,this.renderItem))}}t.default=f,(0,i.default)(f,"propTypes",{items:u.default.oneOfType([u.default.arrayOf(d.navItemPropType),u.default.array]),onClose:u.default.func}),(0,i.default)(f,"defaultProps",{items:[]})},1802:function(e,t,a){var n=a(1803);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1803:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__item--2Y2IS {\n padding: 12px 24px;\n cursor: pointer;\n}\n.index__item--2Y2IS:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__item-label--sz6t1 {\n display: block;\n width: 100%;\n color: #000;\n font-size: 13px;\n}\n.index__item-label--sz6t1:hover {\n color: #000;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",item:"index__item--2Y2IS","item-label":"index__item-label--sz6t1"}},1804:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(430)),h=f(n(28)),m=f(n(164)),g=f(n(29)),v=f(n(54)),y=f(n(77));n(569);var b=f(n(1253)),x=f(n(612)),w=f(n(35)),k=f(n(0)),C=n(204),_=(n(161),n(564),f(n(16))),M=n(1433),S=f(n(1805));function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function N(e){for(var t=1;t{var{value:t}=e.target;this.getNavItemsBySearch(t)})),(0,w.default)(this,"onSearch",(e=>{this.getNavItemsBySearch(e)})),(0,w.default)(this,"getNavItemsBySearch",(e=>{var t,a=(0,p.default)(t=(e||"").toLowerCase()).call(t),{items:n}=this.props,r=[];(0,h.default)(n).call(n,(e=>{if(a){var t,{name:n,children:l=[]}=e;if((0,m.default)(t=n.toLowerCase()).call(t,a))r.push(e);else{var i=(0,g.default)(l).call(l,(e=>{var t;return(0,m.default)(t=e.name.toLowerCase()).call(t,a)}));i.length&&r.push(N(N({},e),{},{children:i}))}}else r.push(e)})),this.setState({currentItems:r})})),(0,w.default)(this,"renderNavItemChildren",(e=>{var{children:t=[]}=e,a=t.length?t:[e],{onClose:n}=this.props;return(0,v.default)(a).call(a,(e=>{var t,{name:a,path:r}=e;return k.default.createElement("div",{key:(0,y.default)(t="".concat(a,"-")).call(t,r),className:S.default["children-item"]},k.default.createElement(C.Link,{onClick:n,to:r},k.default.createElement("span",{className:S.default["link-name"]},a)))}))})),(0,w.default)(this,"renderNavItem",(e=>{var{name:t=""}=e||{};return k.default.createElement("div",{className:S.default["nav-item"],key:e.name},k.default.createElement("div",{className:S.default.title},t),k.default.createElement("div",{classnames:S.default.children},this.renderNavItemChildren(e)))})),this.state={currentItems:e.items||[]}}renderSearch(){return k.default.createElement("div",{className:S.default.search},k.default.createElement(b.default,{prefix:k.default.createElement(x.default,null),placeholder:t("Search"),allowClear:!0,onChange:this.onInputChange}))}renderNavItems(){var{currentItems:e=[]}=this.state;return k.default.createElement("div",{className:S.default.right},(0,v.default)(e).call(e,this.renderNavItem))}render(){return k.default.createElement("div",{id:"global-nav-right"},this.renderSearch(),this.renderNavItems())}}a.default=E,(0,w.default)(E,"propTypes",{items:_.default.oneOfType([_.default.arrayOf(M.navItemPropType),_.default.array]),onClose:_.default.func}),(0,w.default)(E,"defaultProps",{items:[]})},1805:function(e,t,a){var n=a(1806);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1806:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__right--2sYP_ {\n -webkit-columns: 200px 3;\n -moz-columns: 200px 3;\n columns: 200px 3;\n -webkit-column-gap: 12px;\n -moz-column-gap: 12px;\n column-gap: 12px;\n}\n.index__nav-item--1_at0 {\n display: inline-block;\n width: 100%;\n margin-bottom: 20px;\n -webkit-column-break-inside: avoid;\n -moz-column-break-inside: avoid;\n break-inside: avoid;\n}\n.index__nav-item--1_at0 .index__title--2wx19 {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\n margin-bottom: 4px;\n color: #000;\n font-weight: 600;\n font-size: 14px;\n line-height: 22px;\n -webkit-transition: color 0.2s ease;\n transition: color 0.2s ease;\n}\n.index__children-item--30iPf {\n position: relative;\n height: 32px;\n margin-right: 8px;\n line-height: 32px;\n cursor: pointer;\n}\n.index__children-item--30iPf a {\n display: block;\n}\n.index__children-item--30iPf:hover {\n color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__children-item--30iPf:hover .index__link-name--2SSup {\n color: #000;\n}\n.index__children-item--30iPf .index__link-name--2SSup {\n color: #000;\n}\n.index__search--TO2Ca {\n width: 60%;\n margin-top: -8px;\n margin-bottom: 16px;\n margin-left: 0;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper {\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-color: #d9d9d9;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__search--TO2Ca .anticon-search {\n color: rgba(0, 0, 0, 0.45) !important;\n}\n.index__search--TO2Ca .ant-input {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__search--TO2Ca .ant-input:hover {\n border: #0068ff;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n border-color: #0068ff;\n}\n.index__search--TO2Ca .ant-input-clear-icon,\n.index__search--TO2Ca .ant-input-clear-icon:active {\n color: rgba(0, 0, 0, 0.85);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",right:"index__right--2sYP_","nav-item":"index__nav-item--1_at0",title:"index__title--2wx19","children-item":"index__children-item--30iPf","link-name":"index__link-name--2SSup",search:"index__search--TO2Ca"}},1807:function(e,t,a){var n=a(1808);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1808:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__global-nav-icon--oF9N7 {\n position: relative;\n float: left;\n width: 40px;\n height: 40px;\n color: #fff;\n font-size: 16px;\n line-height: 40px;\n text-align: center;\n background-color: #0068ff;\n cursor: pointer;\n}\n.index__global-nav-icon--oF9N7:hover {\n background-color: #0068ff;\n}\n.index__global-nav-icon-icon--10OVj {\n width: 20px;\n}\n.index__main--22yB3 {\n padding: 32px 32px 0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header {\n background-color: #fff;\n border-bottom-color: #f0f0f0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header .ant-drawer-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__drawer-left--uUdzj .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-close {\n color: rgba(0, 0, 0, 0.45);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","global-nav-icon":"index__global-nav-icon--oF9N7","global-nav-icon-icon":"index__global-nav-icon-icon--10OVj",main:"index__main--22yB3","drawer-left":"index__drawer-left--uUdzj","drawer-right":"index__drawer-right--31wWn"}},1809:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=t.ProjectDropdown=void 0,a(1300);var l=r(a(1301)),i=r(a(1505)),o=r(a(1434));a(347);var s=r(a(348)),u=r(a(0)),d=a(412),c=(a(161),a(564),r(a(1302))),f=r(a(1346)),p=r(a(1821));class h extends u.default.Component{get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}render(){if(!this.user)return u.default.createElement(s.default,{size:"small",style:{marginLeft:8,marginRight:8,marginTop:-24}});var{projectName:e,userDomainName:t}=this.project;return u.default.createElement("div",{className:f.default.project,id:"project-switch",style:{paddingLeft:"8px"}},u.default.createElement(c.default,{actions:{moreActions:[{action:p.default}]}}),u.default.createElement(o.default,{style:{marginRight:10}}),u.default.createElement("span",null,e),u.default.createElement(i.default,{style:{color:"#A3A3A3",marginLeft:24}}),u.default.createElement(l.default,{type:"vertical"}),u.default.createElement("span",{className:f.default.domain},t))}}t.ProjectDropdown=h;var m=(0,d.inject)("rootStore")((0,d.observer)(h));t.default=m},1815:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__confirm-modal--3q6IU .ant-modal-confirm-body > .anticon {\n margin-right: 20px;\n font-size: 18px;\n}\n.index__confirm--3w0Sc {\n color: #fedf40 !important;\n}\n.index__error--2QqQF {\n color: #eb354d !important;\n}\n.index__success--3lQal {\n color: #57e39b !important;\n}\n.index__warn--ZLd6Q {\n color: #fedf40 !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","confirm-modal":"index__confirm-modal--3q6IU",confirm:"index__confirm--3w0Sc",error:"index__error--2QqQF",success:"index__success--3lQal",warn:"index__warn--ZLd6Q"}},1816:function(e,t,a){var n=a(1817);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1817:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__modal-action--t2EeP .ant-modal-body {\n padding: 0 0 16px;\n}\n",""]),t.locals={"modal-action":"index__modal-action--t2EeP"}},1818:function(e,t,a){var n=a(1819);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1819:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__first-action--2OPwj {\n padding: 0;\n text-align: left;\n}\n.index__first-action--2OPwj span {\n display: block;\n max-width: 48px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__more-action--3nzAh {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-popup ul {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-item,\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-title {\n padding: 0 12px;\n}\n.index__more-action-btn--1CkV8 {\n width: 100%;\n text-align: left;\n}\n.index__single-more-action--1AkZ2 .ant-btn-link {\n width: auto;\n}\n.index__action-buttons--3ReIW {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n",""]),t.locals={"first-action":"index__first-action--2OPwj","more-action":"index__more-action--3nzAh","action-sub-menu":"index__action-sub-menu--m8uMB","more-action-btn":"index__more-action-btn--1CkV8","single-more-action":"index__single-more-action--1AkZ2","action-buttons":"index__action-buttons--3ReIW"}},1820:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__menu--TIGc7 {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .anticon {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item {\n min-width: 245px;\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item:hover {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_ {\n overflow: hidden;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_:hover {\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 {\n padding: 0 12px;\n font-weight: bold;\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 .index__user-label--2mhYg {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 span {\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z {\n line-height: 30px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn-link[disabled] {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .index__menu-btn--wBMeV {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-divider--3m2zd {\n background-color: #fff;\n}\n.index__no-padding-top--2hYAA {\n padding-top: 0;\n}\n.index__logout--2w9f0 {\n float: right;\n line-height: 40px;\n}\n.index__right--X_kh6 {\n position: absolute;\n top: 0;\n right: 31px;\n line-height: 40px;\n}\n.index__right--X_kh6 .index__action--1gM_W {\n display: inline-block;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu {\n width: 170px;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item:hover,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title:hover {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item-disabled,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title-disabled {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .index__title--3e97C {\n cursor: auto;\n}\n.index__project-menu--3gMKs .index__title--3e97C:hover {\n background-color: #fff;\n}\n.index__project--Iy5xg {\n float: left;\n font-size: 14px;\n line-height: 40px;\n cursor: pointer;\n}\n.index__project--Iy5xg .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__project--Iy5xg .ant-btn-link {\n position: absolute;\n min-width: 280px;\n min-height: 40px;\n}\n.index__header--138pB {\n position: relative;\n z-index: 200;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 100%;\n padding-left: 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__avatar--C9tqm {\n width: 30px;\n height: 30px;\n color: #bfbfbf;\n border: none;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__domain--Q8Gpn {\n font-size: 14px;\n}\n.index__links--IHsTT {\n display: inline-block;\n margin-right: 20px;\n}\n.index__links--IHsTT .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__links--IHsTT .index__link--1PjXM {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__links--IHsTT .index__link--1PjXM:hover {\n color: #0068ff;\n}\n.index__links--IHsTT .index__active--2ykOE {\n color: #0068ff;\n}\n.index__password-btn--1O5lH {\n max-width: 100px;\n}\n.index__password-btn--1O5lH span {\n max-width: 80px;\n}\n.index__single-link--1h19E {\n margin-right: 5px;\n color: #0068ff;\n}\n.index__single-link--1h19E:hover {\n color: #0068ff;\n}\n.index__token--2NsWx pre {\n padding: 0.4em 0.6em;\n white-space: pre-wrap;\n word-wrap: break-word;\n background: hsla(0, 0%, 58.8%, 0.1);\n border: 1px solid hsla(0, 0%, 39.2%, 0.2);\n border-radius: 3px;\n}\n.index__logo--VDnnm {\n float: left;\n width: 190px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n}\n.index__logo--VDnnm img {\n height: 30px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",menu:"index__menu--TIGc7","no-hover":"index__no-hover--3nEW_","name-item":"index__name-item--3-Ls5","user-label":"index__user-label--2mhYg","menu-item":"index__menu-item--2EH8z","menu-btn":"index__menu-btn--wBMeV","menu-divider":"index__menu-divider--3m2zd","no-padding-top":"index__no-padding-top--2hYAA",logout:"index__logout--2w9f0",right:"index__right--X_kh6",action:"index__action--1gM_W","project-menu":"index__project-menu--3gMKs",title:"index__title--3e97C",project:"index__project--Iy5xg",header:"index__header--138pB",avatar:"index__avatar--C9tqm",domain:"index__domain--Q8Gpn",links:"index__links--IHsTT",link:"index__link--1PjXM",active:"index__active--2ykOE","password-btn":"index__password-btn--1O5lH","single-link":"index__single-link--1h19E",token:"index__token--2NsWx",logo:"index__logo--VDnnm"}},1821:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.ProjectSelect=void 0;var p=f(n(86)),h=f(n(63)),m=f(n(29)),g=f(n(54)),v=f(n(91)),y=f(n(58)),b=f(n(49)),x=f(n(35)),w=n(412),k=n(1241),C=n(1251),_=f(n(1255));function M(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class S extends k.ModalAction{constructor(){var e;super(...arguments),e=this,(0,x.default)(this,"state",{projectName:""}),(0,x.default)(this,"onSubmit",function(){var t=(0,b.default)((function*(t){var a,{project:{selectedRowKeys:n}}=t,r=n[0],l=(0,p.default)(a=e.projects).call(a,(e=>e.id===r)),{domain_id:i}=l||{},{rootStore:o}=e.props;try{return yield o.switchProject(r,i),e.routing.push("/base/overview"),h.default.resolve()}catch(e){return h.default.reject(e)}}));return function(e){return t.apply(this,arguments)}}())}init(){this.getAllUserProjects()}getAllUserProjects(){var e=this;return(0,b.default)((function*(){yield _.default.getUserProjects(),e.updateDefaultValue()}))()}get name(){return t("Switch Project")}static get modalSize(){return"large"}getModalSize(){return"large"}get messageHasItemName(){return!1}get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}get projects(){var e,{projectName:t}=this.state,{data:a}=_.default.userProjects;return(0,m.default)(e=(0,g.default)(a).call(a,(e=>{var{id:t}=e;return function(e){for(var t=1;t{var a,n;return!t||((0,v.default)(a=e.name.toLowerCase()).call(a,t.toLowerCase())>=0||(0,v.default)(n=e.projectId.toLowerCase()).call(n,t.toLowerCase())>=0)}))}get defaultValue(){var e,{projectId:t=""}=this.project;return{project:{selectedRowKeys:[t],selectedRows:(0,m.default)(e=this.projects).call(e,(e=>e.id===t))}}}get formItems(){return[{name:"project",label:t("Owned Project"),type:"select-table",data:this.projects,isLoading:_.default.userProjects.isLoading,disabledFunc:e=>!e.enabled,filterParams:[{label:t("Project Name"),name:"name"}],columns:[{title:t("Project Name"),dataIndex:"name"},{title:t("ID"),dataIndex:"id"},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"}]}]}}a.ProjectSelect=S,(0,x.default)(S,"id","project-id"),(0,x.default)(S,"title",t("Switch Project")),(0,x.default)(S,"buttonText"," "),(0,x.default)(S,"policy",C.allCanReadPolicy),(0,x.default)(S,"allowed",(()=>h.default.resolve(!0)));var I=(0,w.inject)("rootStore")((0,w.observer)(S));a.default=I},1822:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(1250)),s=a(567);class u extends o.default{static allowed(){return l.default.resolve()}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,s.getPath)({key:n,params:t,query:a})}}t.default=u,(0,i.default)(u,"id","formAction"),(0,i.default)(u,"actionType","link"),(0,i.default)(u,"title","form"),(0,i.default)(u,"buttonType","primary"),(0,i.default)(u,"isDanger",!1),(0,i.default)(u,"path","/"),(0,i.default)(u,"policy",""),(0,i.default)(u,"aliasPolicy","")},1833:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.type2component=void 0;var p=f(n(63)),h=f(n(77)),m=f(n(164)),g=f(n(343));n(1261);var v=f(n(1262));n(344);var y=f(n(202)),b=f(n(1299)),x=f(n(58)),w=f(n(35));n(1374);var k=f(n(1375));n(1848);var C=f(n(1851));n(1513);var _=f(n(1514));n(1278);var M=f(n(1279));n(1300);var S=f(n(1301));n(569);var I=f(n(1253)),N=f(n(177)),E=f(n(0)),T=f(n(16)),A=(n(161),n(564),f(n(1429))),j=f(n(1859)),P=f(n(1874)),D=f(n(1519)),L=f(n(1877)),O=f(n(1376)),R=f(n(1534)),z=f(n(1901)),U=f(n(1904)),F=f(n(1919)),B=f(n(1924)),V=f(n(1444)),K=f(n(1927)),Q=f(n(1930)),Y=f(n(1939)),G=f(n(1940)),H=f(n(1941)),W=f(n(1946)),q=f(n(1949)),$=f(n(1952)),Z=f(n(1953)),J=f(n(1552)),X=f(n(1965)),ee=f(n(1966)),te=f(n(1967)),ae=f(n(1970)),ne=f(n(1447)),re=f(n(1971)),le=f(n(1991)),ie=f(n(1995)),oe=f(n(1448)),se=f(n(1996)),ue=f(n(2001)),de=f(n(2002));function ce(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function fe(e){for(var t=1;t{var{selectedRowKeys:n=[]}=a||{};return 0===n.length?p.default.reject(new Error(e.placeholder||t("Please select {label}!",{label:e.label}))):p.default.resolve()})),(0,w.default)(this,"getDescriptionValidator",((e,a)=>{var n;return a&&a.length>255?p.default.reject(new Error((0,h.default)(n="".concat(t("Invalid: "))).call(n,t("The description can be up to 255 characters long.")))):p.default.resolve()}))}getComponentProps(e){switch(e){case"label":var{content:t,icon:a,iconType:n,showLoading:r}=this.props;return{content:t,icon:a,iconType:n,showLoading:r};case"divider":return{className:this.props.className};case"select":var l=this.props,{options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h="label",checkOptions:m,checkBoxInfo:g,allowClear:v,required:y}=l;return fe({options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h,checkOptions:m,checkBoxInfo:g,allowClear:y?v||!1:v},(0,x.default)(l,["options","placeholder","mode","onChange","isWrappedValue","tip","disabled","showSearch","optionFilterProp","checkOptions","checkBoxInfo","allowClear","required"]));default:var b=this.props,{validator:w}=b;return fe({},(0,x.default)(b,["validator"]))}}getFormItemProps(){var{name:e,label:t,type:a,help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,tip:d,dependencies:c}=this.props,f={name:e,label:this.renderLabel(t,d),help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,rules:this.getRules()};switch(c&&c.length>0&&(f.dependencies=c),a){case"title":return fe(fe({},f),{},{label:"",labelCol:null,wrapperCol:{xs:{span:24},sm:{span:24}}});case"label":return fe(fe({},f),{},{className:"form-item-text"});case"select-table":case"network-select-table":case"tab-select-table":case"instance-volume":case"network-select":case"add-select":case"descriptions":case"short-divider":case"transfer":case"NUMA":case"check-group":return fe(fe({},f),{},{wrapperCol:u||{xs:{span:24},sm:{span:t?18:24}}});default:return f}}getRules(){var{required:e,rules:a,validator:n,type:r="",otherRule:l,name:i,hidden:o,label:s,placeholder:u,hasRequiredCheck:d=!0}=this.props;if(o)return[];if(a)return a;var c=[],f={},p={};return e&&(r&&(0,m.default)(r).call(r,"select-table")?(p.required=!0,p.validator=(e,t)=>this.getSelectTableValidator(fe(fe({},e),this.props),t)):r&&(0,m.default)(r).call(r,"select")?(p.required=!0,p.message=u||t("Please select {label}!",{label:s})):d?(p.required=!0,p.message=u||t("Please input {label}!",{label:s})):n&&(f.required=e)),(0,N.default)(p)||c.push(p),n?f.validator=n:r&&(0,m.default)(r).call(r,"textarea")&&"description"===i&&(f.validator=this.getDescriptionValidator),(0,N.default)(f)||c.push(f),l&&c.push(l),c}getComponent(e){return pe[e]}renderTip(e){return e?E.default.createElement(y.default,{title:e},E.default.createElement(b.default,null)):null}renderLabel(e,t){return t?E.default.createElement("span",null,e," ",this.renderTip(t)):e}render(){var{component:e,type:t}=this.props,a=this.getFormItemProps();if(e)return E.default.createElement(v.default.Item,a,e);var n=this.getComponent(t),r=this.getComponentProps(t);if("divider"===t)return E.default.createElement(S.default,{className:"form-item-divider"});if("short-divider"===t)return E.default.createElement(v.default.Item,(0,g.default)({},a,{label:" ",style:{marginBottom:0}}),E.default.createElement(S.default,null));if(n){if(n.isFormItem)return E.default.createElement(n,{formItemProps:a,componentProps:r});var l=E.default.createElement(n,r);return E.default.createElement(v.default.Item,a,l)}var{content:i}=this.props;return i?E.default.createElement(v.default.Item,a,E.default.createElement("span",r,i)):null}}a.default=he,(0,w.default)(he,"propTypes",{component:T.default.object,type:T.default.string,content:T.default.any,className:T.default.string,name:T.default.string,label:T.default.string,rules:T.default.array,required:T.default.bool,validator:T.default.func,options:T.default.array,placeholder:T.default.string,mode:T.default.string,onChange:T.default.func,dependencies:T.default.array,formref:T.default.object,hasRequiredCheck:T.default.bool}),(0,w.default)(he,"defaultProps",{required:!1,dependencies:[]})},1859:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(1347)),u=o(n(1442)),d=o(n(343));n(1246);var c=o(n(1247));n(1244);var f=o(n(1245));n(1261);var p=o(n(1262));n(231);var h=o(n(341));n(568);var m=o(n(415)),g=o(n(54)),v=o(n(232)),y=o(n(91)),b=o(n(29)),x=o(n(63)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(564),o(n(1376))),C=n(565),_=n(461),M=o(n(1872));function S(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(S=function(e){return e?a:t})(e)}var{isIPv4:I,isIpv6:N}=C.ipValidate,E=e=>{var{componentProps:a,formItemProps:n}=e,{maxNumber:r=10,ports:l,isLoading:i,members:o=[],lbSubnetId:C}=a,{name:S,onChange:E}=n,[T,A]=(0,w.useState)(0),j=()=>{};return w.default.createElement("div",{style:{padding:20}},w.default.createElement(p.default.Item,{label:t("select an existing port"),wrapperCol:{xs:18,xm:12},extra:t("If you choose a port which subnet is different from the subnet of LB, please ensure connectivity between the two.")},w.default.createElement(k.default,{maxSelectedCount:-1,isLoading:i,data:l,columns:[{title:t("ID/Name"),dataIndex:"name",routeName:"portDetail"},{title:t("Binding Instance"),dataIndex:"server_name"},{title:t("IP"),dataIndex:"fixed_ips",render:(e,t)=>{if(0===e.length)return"-";var a=(0,g.default)(e).call(e,(e=>({label:e.ip_address,value:e.ip_address,subnet_id:e.subnet_id})));return t.currentOption=a[0].value,t.currentSubnetId=a[0].subnet_id,w.default.createElement(m.default,{style:{minWidth:200},options:a,defaultValue:a[0].value,onChange:(e,a)=>{t.currentSubnetId=a.subnet_id,t.currentOption=e}})},sorter:(e,t)=>{var a=e.fixed_ips[0].ip_address,n=t.fixed_ips[0].ip_address,r=(_.Address4.isValid(a)?new _.Address4(a):new _.Address6(a)).bigInteger(),l=(_.Address4.isValid(n)?new _.Address4(n):new _.Address6(n)).bigInteger();return r.compareTo(l)}},{title:t("Action"),key:"operation",render:(e,a)=>w.default.createElement(h.default,{disabled:!a.currentOption,onClick:()=>{j({ip_address:{ip:a.currentOption,protocol_port:void 0,weight:1,name:a.server_name,subnet_id:a.currentSubnetId},canEdit:!1})}},t("Add Member"))}],filterParams:[{label:t("ID"),name:"id"},{label:t("Name"),name:"name"},{label:t("Binding Instance"),name:"server_name"},{label:t("IP"),name:"fixed_ips",filterFunc:(e,t)=>(0,v.default)(e).call(e,(e=>{var a;return(0,y.default)(a=e.ip_address).call(a,t)>-1}))},{label:t("Same subnet with LB"),name:"origin_data",options:[{label:t("True"),key:!0}],filterFunc:(e,t)=>{var a;return!t||(0,v.default)(a=e.fixed_ips).call(a,(e=>e.subnet_id===C))}}]})),w.default.createElement(p.default.Item,(0,d.default)({},n,{label:t("Selected Members")}),w.default.createElement(p.default.List,{name:S},((e,a)=>{var{add:n,remove:r}=a;return j=n,A(e.length),0===e.length?t("Not yet selected"):w.default.createElement(w.default.Fragment,null,e.length>0&&w.default.createElement(c.default,{gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(c.default,null,w.default.createElement(f.default,{span:12},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("IP Address"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Port"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Weights")))))),(0,g.default)(e).call(e,(e=>w.default.createElement(c.default,{key:e.key,gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(p.default.Item,(0,d.default)({},e,{style:{width:"98%"},validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{var n=(0,b.default)(o).call(o,(e=>e.address===a.ip_address.ip&&e.protocol_port===a.ip_address.protocol_port));return a&&a.ip_address.ip?I(a.ip_address.ip)||N(a.ip_address.ip)?a.ip_address.ip&&a.ip_address.protocol_port?a.ip_address.weight?n[0]?x.default.reject(new Error(t("Invalid IP Address and Port"))):x.default.resolve(!0):x.default.reject(new Error(t("Missing Weight"))):x.default.reject(new Error(t("Missing Port"))):x.default.reject(new Error(t("Invalid IP Address"))):x.default.reject(new Error(t("Missing IP Address")))}}]}),w.default.createElement(M.default,{field:e,onChange:e=>{return t=e,void(E&&E(t));var t}}))),w.default.createElement(f.default,{span:2},w.default.createElement(u.default,{onClick:()=>r(e.name)}))))))}))),T{j()},block:!0,icon:w.default.createElement(s.default,null)},t("Add External Members"))))};E.isFormItem=!0;var T=E;a.default=T},1864:function(e,t,a){var n=a(1865);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1865:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__magic-input-outer-wrapper--2caFk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.index__magic-input-wrapper--3jKxQ {\n position: relative;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n min-width: 200px;\n padding: 3px 0 3px 8px;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag {\n height: 24px;\n margin-right: 4px;\n margin-bottom: 1px;\n padding: 0 4px;\n color: #fff;\n font-size: 10px;\n line-height: 24px;\n background-color: #0068ff;\n border: none;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag .anticon-close {\n margin-left: 16px;\n color: #fff;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn {\n margin-top: -3px;\n margin-right: 0;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn-icon-only {\n background-color: #fff;\n}\n.index__magic-input-wrapper-active--225GJ {\n border-color: #0068ff;\n -webkit-box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n}\n.index__input-wrapper--1osyl {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 24px;\n line-height: 24px;\n}\n.index__input-wrapper--1osyl .ant-input {\n padding: 0;\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl .ant-input:focus {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl input::-webkit-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-moz-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input:-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical > .ant-menu-item {\n height: 26px;\n line-height: 26px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical .ant-menu-item {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 10px;\n}\n.index__menu--2CcQt {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n}\n.index__menu--2CcQt,\n.index__option-menu--1Wni_ {\n position: absolute;\n top: 34px;\n z-index: 100;\n max-height: 310px;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 4px;\n}\n.index__key--1C5xL {\n font-size: 10px;\n line-height: 24px;\n}\n.index__key--1C5xL .ant-divider,\n.index__key--1C5xL .ant-divider-vertical {\n margin-right: 4px;\n margin-left: 4px;\n}\n.ant-form-item-has-error .magic-input-wrapper .ant-input,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:focus,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:not([disabled]):hover {\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.magic-input-wrapper .ant-tag {\n display: inline-block;\n height: 24px;\n margin: 0 5px 0 0;\n margin-bottom: 1px;\n line-height: 24px;\n}\n.index__search-icon--1c2YI {\n position: absolute;\n top: 0;\n right: 8px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 12px;\n line-height: 32px;\n}\n.index__search-icon-hidden--3mkNv {\n display: none;\n}\n.index__close-btn-col--1qQC_ {\n position: absolute;\n top: 0;\n right: 0;\n height: 30px;\n line-height: 30px;\n}\n.index__close-btn-col--1qQC_ .index__close-btn--1gDiH {\n height: 28px !important;\n padding: 0;\n background-color: #fff;\n border: none;\n}\n.index__close-option-btn--2fpQF {\n top: 3px;\n height: 24px !important;\n}\n.index__magic-input-checks--3sSga {\n margin-left: 8px;\n line-height: 32px;\n}\n.index__magic-input-checks--3sSga .ant-checkbox + span {\n text-wrap: nowrap;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","magic-input-outer-wrapper":"index__magic-input-outer-wrapper--2caFk","magic-input-wrapper":"index__magic-input-wrapper--3jKxQ","magic-input-wrapper-active":"index__magic-input-wrapper-active--225GJ","input-wrapper":"index__input-wrapper--1osyl",menu:"index__menu--2CcQt","option-menu":"index__option-menu--1Wni_",key:"index__key--1C5xL","search-icon":"index__search-icon--1c2YI","search-icon-hidden":"index__search-icon-hidden--3mkNv","close-btn-col":"index__close-btn-col--1qQC_","close-btn":"index__close-btn--1gDiH","close-option-btn":"index__close-option-btn--2fpQF","magic-input-checks":"index__magic-input-checks--3sSga"}},1866:function(e,t,a){var n=a(1867);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1867:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__sl-simple-table--3t0n0 .ant-table-content .ant-table-thead tr .ant-table-cell {\n padding: 8px 8px 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-column-sorters {\n padding: 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-tbody > tr > td {\n padding: 8px 8px 8px 0;\n word-break: break-all;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","sl-simple-table":"index__sl-simple-table--3t0n0"}},1868:function(e,t,a){var n=a(1869);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1869:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__wrapper--W62k9 {\n height: 32px;\n text-align: right;\n}\n.index__inner--1yC3_ {\n display: inline-block;\n width: 300px;\n overflow: hidden;\n}\n",""]),t.locals={wrapper:"index__wrapper--W62k9",inner:"index__inner--1yC3_"}},1870:function(e,t,a){var n=a(1871);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1871:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__search-wrapper--2qjcr {\n margin-bottom: 16px;\n}\n.index__search-wrapper--2qjcr .ant-menu-root.ant-menu-vertical {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n}\n.index__image-tabs--Y02Y0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n height: 52px;\n margin-bottom: 8px;\n}\n.index__image-tabs--Y02Y0 img {\n display: block;\n width: 20px;\n height: 20px;\n margin: 0 auto;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper {\n width: 70px;\n height: 50px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.65);\n text-align: center;\n border: none;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper:not(:first-child)::before {\n width: 0;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n color: #0068ff;\n font-weight: bold;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__image-tab--i9nyz {\n -webkit-box-flex: 1;\n -ms-flex: 1 auto;\n flex: 1 auto;\n}\n.index__image-tab-label--qzyGd {\n font-size: 10px;\n}\n.index__normal-tabs--1Lx8V {\n margin-bottom: 8px;\n}\n.index__pagination-footer--1r5HD .ant-select {\n width: unset;\n min-width: 80px;\n}\n.index__sl-select-table-backend--7Wvxx .ant-table-footer {\n padding: 8px 16px;\n background: #fff;\n}\n.index__search-line--2qRf5 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n gap: 8px;\n}\n.index__search-line--2qRf5 .ant-btn-default {\n color: #0068ff;\n background-color: #f6f7fb;\n border-color: #0068ff;\n}\n.index__search-line--2qRf5 .ant-btn-default:hover {\n color: #0068ff;\n border-color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","search-wrapper":"index__search-wrapper--2qjcr","image-tabs":"index__image-tabs--Y02Y0","image-tab":"index__image-tab--i9nyz","image-tab-label":"index__image-tab-label--qzyGd","normal-tabs":"index__normal-tabs--1Lx8V","pagination-footer":"index__pagination-footer--1r5HD","sl-select-table-backend":"index__sl-select-table-backend--7Wvxx","search-line":"index__search-line--2qRf5"}},1872:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var p=f(a(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),m=f(a(1873));function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t{var{onChange:t,value:a}=e;a=a||{ip_address:{ip:void 0,protocol_port:void 0,weight:1,subnet_id:void 0},canEdit:!0};var[n,r]=(0,h.useState)(a.ip_address);return h.default.createElement(m.default,{onChange:e=>{var l,i;r(e),l={ip_address:e},i=y(y({},a),{},{ip_address:n},l),t&&t(i)},value:n,disabled:!a.canEdit})};t.default=b},1873:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1246);var p=f(a(1247));a(1278);var h=f(a(1279));a(1244);var m=f(a(1245));a(569);var g=f(a(1253)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t{var{value:t={},onChange:a,disabled:n}=e,[r,l]=(0,y.useState)(t.ip||void 0),[i,o]=(0,y.useState)(t.protocol_port||void 0),[s,u]=(0,y.useState)(t.weight),d=e=>{a(w(w({ip:r,protocol_port:i,weight:s},t),e))};return y.default.createElement(p.default,{gutter:[16]},y.default.createElement(m.default,{span:12},y.default.createElement(g.default,{style:{maxWidth:210},onChange:e=>{var{target:{value:t}}=e;l(t),d({ip:t})},value:r,disabled:n})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:65535,style:{width:"100%"},value:i,onChange:e=>{e&&o(e),e&&d({protocol_port:e})}})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:256,style:{width:"100%"},value:s,onChange:e=>{e&&u(e),e&&d({weight:e})}})))}},1874:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1261);var p=f(a(1262)),h=f(a(58)),m=f(a(35)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(565)),y=f(a(1429));function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t0&&(t=w(w({},t),e[0])),[t]}render(){var{componentProps:e,formItemProps:t}=this.props,{rules:a}=t,n=(0,h.default)(t,["rules"]),r=this.getRules(a),l=w(w({},n),{},{rules:r}),i=w(w({},e),{},{mode:"json",wrapEnabled:!0,tabSize:2,width:"100%",height:"200px",setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0}});return g.default.createElement(p.default.Item,l,g.default.createElement(y.default,i))}}t.default=k,(0,m.default)(k,"isFormItem",!0)},1875:function(e,t,a){var n=a(1876);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1876:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__checkbox--2qAZO {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",checkbox:"index__checkbox--2qAZO"}},1877:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(164)),s=i(a(616)),u=i(a(58)),d=i(a(35)),c=i(a(1520)),f=i(a(1521)),p=i(a(1522)),h=i(a(1523)),m=i(a(1524)),g=i(a(1525)),v=i(a(1526)),y=i(a(1527)),b=i(a(1528)),x=i(a(1529)),w=i(a(1348)),k=i(a(1530)),C=i(a(1531)),_=i(a(1532)),M=i(a(1342)),S=i(a(1533)),I=i(a(1377)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),E=i(a(16)),T=i(a(1894)),A=i(a(1895)),j=i(a(1896)),P=(a(564),i(a(1897)));function D(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(D=function(e){return e?a:t})(e)}var L=N.default.createElement("img",{src:T.default,alt:"image_icon",style:{width:"12px"}}),O=N.default.createElement("img",{src:A.default,alt:"security_icon",style:{width:"12px"}}),R=N.default.createElement("img",{src:j.default,alt:"lb_icon",style:{width:"12px"}}),z={instance:N.default.createElement(I.default,null),router:N.default.createElement(S.default,null),externalNetwork:N.default.createElement(M.default,null),network:N.default.createElement(M.default,null),firewall:N.default.createElement(_.default,null),volume:N.default.createElement(C.default,null),gateway:N.default.createElement(k.default,null),user:N.default.createElement(w.default,null),snapshot:N.default.createElement(x.default,null),backup:N.default.createElement(b.default,null),keypair:N.default.createElement(y.default,null),image:L,aggregate:N.default.createElement(v.default,null),metadata:N.default.createElement(g.default,null),flavor:N.default.createElement(m.default,null),host:N.default.createElement(h.default,null),security:O,lb:R,group:N.default.createElement(p.default,null),project:N.default.createElement(f.default,null),floatingIp:N.default.createElement(c.default,null)};class U extends N.Component{renderIcon(){var{icon:e,iconType:t}=this.props;if(t){var a=z[t]||null;return N.default.createElement("span",{className:P.default.icon},a)}return N.default.createElement("span",{className:P.default.icon},e||null)}render(){var e=this.props,{content:t,value:a,iconType:n,showLoading:r}=e,l=(0,u.default)(e,["content","value","iconType","showLoading"]),i=[void 0,null,""];return t||N.default.createElement("span",l,this.renderIcon(),r&&(0,o.default)(i).call(i,a)?N.default.createElement(s.default,null):a)}}t.default=U,(0,d.default)(U,"propTypes",{content:E.default.any,value:E.default.any,icon:E.default.node,iconType:E.default.string}),(0,d.default)(U,"defaultProps",{icon:null,iconType:"",content:"",value:null})},1894:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyBjbGFzcz0iaWNvbiIgd2lkdGg9IjIwMHB4IiBoZWlnaHQ9IjIwMC4wMHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiAxMDA3LjE2MWMtMjc2LjcwNyAwLTQ5NS4xNjEtMjI1LjczNS00OTUuMTYxLTQ5NS4xNjEgMC0yNzYuNzA3IDIyNS43MzUtNDk1LjE2MSA0OTUuMTYxLTQ5NS4xNjEgMjc2LjcwNyAwIDQ5NS4xNjEgMjI1LjczNSA0OTUuMTYxIDQ5NS4xNjEgMCAyNzYuNzA3LTIxOC40NTMgNDk1LjE2MS00OTUuMTYxIDQ5NS4xNjF6TTUxMiA3NS4wOTNjLTI0MC4yOTkgMC00MzYuOTA3IDE5Ni42MDgtNDM2LjkwNyA0MzYuOTA3czE5Ni42MDggNDM2LjkwNyA0MzYuOTA3IDQzNi45MDcgNDM2LjkwNy0xOTYuNjA4IDQzNi45MDctNDM2LjkwNy0xOTYuNjA4LTQzNi45MDctNDM2LjkwNy00MzYuOTA3eiIgIC8+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiA2MjguNTA5Yy02NS41MzYgMC0xMTYuNTA5LTUwLjk3My0xMTYuNTA5LTExNi41MDlzNTAuOTczLTExNi41MDkgMTE2LjUwOS0xMTYuNTA5IDExNi41MDkgNTAuOTczIDExNi41MDkgMTE2LjUwOWMwIDY1LjUzNi01MC45NzMgMTE2LjUwOS0xMTYuNTA5IDExNi41MDl6TTUxMiA0NjEuMDI3Yy0yOS4xMjcgMC01MC45NzMgMjEuODQ1LTUwLjk3MyA1MC45NzNzMjEuODQ1IDUwLjk3MyA1MC45NzMgNTAuOTczYzI5LjEyNyAwIDUwLjk3My0yMS44NDUgNTAuOTczLTUwLjk3M3MtMjEuODQ1LTUwLjk3My01MC45NzMtNTAuOTczek0xNTUuMTkzIDU0OC40MDljLTcuMjgyIDAtMTQuNTYzLTcuMjgyLTE0LjU2My0xNC41NjN2LTIxLjg0NWMwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzdjE0LjU2M2MwIDE0LjU2My03LjI4MiAyMS44NDUtMTQuNTYzIDIxLjg0NXpNMzM3LjIzNyA4MzkuNjhoLTcuMjgyYy0xMDEuOTQ1LTU4LjI1NC0xNjcuNDgxLTE1Mi45MTctMTgyLjA0NS0yNjIuMTQ0IDAtNy4yODIgNy4yODItMTQuNTYzIDE0LjU2My0xNC41NjNzMTQuNTYzIDcuMjgyIDE0LjU2MyAxNC41NjNjMTQuNTYzIDEwMS45NDUgODAuMDk5IDE4OS4zMjYgMTY3LjQ4MSAyNDAuMjk5IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyA3LjI4MiAyMS44NDVoLTE0LjU2M3pNMzE1LjM5MiA3MTUuODljLTcuMjgyIDAtNy4yODIgMC0xNC41NjMtNy4yODItNDMuNjkxLTQzLjY5MS03Mi44MTgtMTA5LjIyNy03Mi44MTgtMTc0Ljc2MyAwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzYzAgNTguMjU0IDIxLjg0NSAxMDkuMjI3IDY1LjUzNiAxNTIuOTE3IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyAwIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTcuMjgyIDcuMjgyek0zNjYuMzY1IDc1Mi4yOTloLTcuMjgyYy03LjI4MiAwLTcuMjgyLTcuMjgyLTE0LjU2My03LjI4Mi03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMtNy4yODItMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUtNy4yODIgNy4yODIgMCA3LjI4MiA3LjI4MiAxNC41NjMgNy4yODIgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NS03LjI4MiA3LjI4Mi0xNC41NjMgNy4yODItMTQuNTYzIDcuMjgyek0zODAuOTI4IDY2NC45MTdoLTcuMjgyYy0zNi40MDktMjEuODQ1LTY1LjUzNi02NS41MzYtNjUuNTM2LTEwOS4yMjcgMC03LjI4MiA3LjI4Mi0xNC41NjMgMTQuNTYzLTE0LjU2M3MxNC41NjMgNy4yODIgMTQuNTYzIDE0LjU2M2MwIDM2LjQwOSAxNC41NjMgNjUuNTM2IDUwLjk3MyA4MC4wOTkgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTE0LjU2MyA3LjI4MnpNODYxLjUyNSA1NTUuNjkxYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDE0LjU2My0xMjMuNzktMzYuNDA5LTI0Ny41ODEtMTM4LjM1NC0zMjAuMzk4LTcuMjgyLTcuMjgyLTcuMjgyLTE0LjU2MyAwLTIxLjg0NSA3LjI4Mi03LjI4MiAxNC41NjMtNy4yODIgMjEuODQ1IDAgMTA5LjIyNyA4MC4wOTkgMTY3LjQ4MSAyMTEuMTcxIDE1Mi45MTcgMzQ5LjUyNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6IiAgLz48cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNNzc0LjE0NCA1MjYuNTYzYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDcuMjgyLTgwLjA5OS0yMS44NDUtMTUyLjkxNy04Ny4zODEtMTk2LjYwOC03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMgMC0yMS44NDVzMTQuNTYzLTcuMjgyIDIxLjg0NSAwYzcyLjgxOCA1MC45NzMgMTA5LjIyNyAxMzguMzU0IDEwMS45NDUgMjI1LjczNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6TTY5NC4wNDUgNDkwLjE1NWMtNy4yODIgMC0xNC41NjMtNy4yODItMTQuNTYzLTE0LjU2MyA3LjI4Mi0zNi40MDktNy4yODItNjUuNTM2LTM2LjQwOS04Ny4zODEtNy4yODItNy4yODItNy4yODItMTQuNTYzIDAtMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUgMCAzNi40MDkgMjkuMTI3IDU4LjI1NCA3Mi44MTggNTAuOTczIDExNi41MDktNy4yODIgMC0xNC41NjMgNy4yODItMjEuODQ1IDcuMjgyeiIgIC8+PC9zdmc+"},1895:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTk0MzYyODEzNzAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0NDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTIxLjI1IDg4My4zNGMtMS4yNCAwLTIuNDktMC4xNS0zLjc0LTAuNDgtNjAuMTctMTUuNDUtMTEyLjk2LTQwLjA2LTE1Ni45MS03My4xNC0zNS4zNC0yNi42LTY1LjAzLTU4LjY3LTg4LjI1LTk1LjMzLTM5LjY2LTYyLjYyLTQ2LjY0LTExNi43MS00Ni45MS0xMTguOThsLTAuMTEtMC45MVYyNTUuMDZsMTcuMzcgMi43OGM3MC41NiAxMS4zMSAxMzYuNTctMi43OCAxOTYuMi00MS44NyA0NS0yOS41IDY5LjMzLTYyLjk4IDY5LjU4LTYzLjMxIDQuODMtNi43MiAxNC4xOS04LjI3IDIwLjkyLTMuNDUgNi43MyA0LjgyIDguMjkgMTQuMTYgMy40OCAyMC45LTEuMDkgMS41Mi0yNy4xOCAzNy42OC03Ni40OCA3MC4yNy0yOC45OCAxOS4xNi02MC4wNyAzMy4xNS05Mi4zOSA0MS42LTM1IDkuMTUtNzEuNDggMTEuNzYtMTA4LjY3IDcuODF2MzAyLjc2YzAuOTkgNi41NCA5LjExIDUzLjggNDMuMTUgMTA3LjAyIDQ4Ljc4IDc2LjI4IDEyNC45OSAxMjguMTcgMjI2LjUgMTU0LjI0IDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzcgNi43Ni03Ljg2IDExLjI2LTE0LjU0IDExLjI3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuOTQgODgzLjM0Yy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiAxMDIuMDgtMjYuMjIgMTc4LjU1LTc4LjUyIDIyNy4yOC0xNTUuNDYgMzYuMDgtNTYuOTcgNDIuNDItMTA2LjA4IDQyLjQ4LTEwNi41NyAxLjAxLTguMjIgOC40Ny0xNC4wNyAxNi43MS0xMy4wNyA4LjIyIDEgMTQuMDcgOC40OSAxMy4wNyAxNi43MS0wLjI4IDIuMjctNy4yNSA1Ni4zNi00Ni45MSAxMTguOTgtMjMuMjEgMzYuNjUtNTIuOTEgNjguNzMtODguMjUgOTUuMzMtNDMuOTUgMzMuMDgtOTYuNzQgNTcuNjktMTU2LjkyIDczLjE0LTEuMjUgMC4zMS0yLjUgMC40Ny0zLjc0IDAuNDd6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQyIj48L3BhdGg+PHBhdGggZD0iTTgwNC4xOSA2MDguNTljLTguMjggMC0xNS02LjcyLTE1LTE1VjI4OS43OGMtMzcuMTkgMy45NS03My42NyAxLjM0LTEwOC42Ny03LjgxLTMyLjMzLTguNDUtNjMuNDEtMjIuNDQtOTIuMzktNDEuNi00OS4zLTMyLjU5LTc1LjQtNjguNzQtNzYuNDgtNzAuMjctNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44MSAxNi4wOS0zLjI1IDIwLjkxIDMuNDggMC4yNCAwLjMzIDI0LjU3IDMzLjgxIDY5LjU4IDYzLjMxIDU5LjYyIDM5LjA5IDEyNS42NCA1My4xOCAxOTYuMTkgNDEuODdsMTcuMzctMi43OHYzMzguNTNjLTAuMDEgOC4yOS02LjcyIDE1LTE1LjAxIDE1ek01MjEuNjEgNzU2LjQxYy0xLjI0IDAtMi40OS0wLjE1LTMuNzQtMC40OC0zOS4yNS0xMC4wOC03My43My0yNi4xNi0xMDIuNDctNDcuNzktMjMuMTctMTcuNDQtNDIuNjQtMzguNDctNTcuODctNjIuNTItMjYuMDYtNDEuMTUtMzAuNjgtNzYuOTgtMzAuODYtNzguNDhsLTAuMTEtMC45MXYtMjI0LjJsMTcuMzcgMi43OGMxMDUuMTggMTYuODUgMTY0LjUtNjQuMzkgMTY1LjA5LTY1LjIxIDQuODEtNi43NCAxNC4xOC04LjMxIDIwLjkyLTMuNSA2Ljc0IDQuODEgOC4zMSAxNC4xOCAzLjUgMjAuOTItMC43MiAxLjAxLTE4LjAxIDI0Ljk3LTUwLjQzIDQ2LjQtMzguMTUgMjUuMjItODEuNTYgMzYuNTEtMTI2LjQ1IDMzLjA3djE4Ny43NGMwLjc5IDQuOTMgNi4xNCAzMy45NyAyNy4wOCA2Ni41NCAzMC41MyA0Ny40NiA3OC4yIDc5Ljc5IDE0MS42OSA5Ni4xIDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzQgNi43Ny03LjgzIDExLjI3LTE0LjUyIDExLjI4eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MyI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuNjkgNzU2LjQxYy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiA2My40OS0xNi4zMSAxMTEuMTYtNDguNjQgMTQxLjY5LTk2LjEgMjIuOTEtMzUuNjEgMjcuMTYtNjcuMDEgMjcuMi02Ny4zMiAxLjA2LTguMiA4LjU1LTE0LjAzIDE2Ljc1LTEyLjk5IDguMiAxLjAzIDE0LjAzIDguNDcgMTMuMDMgMTYuNjgtMC4xOCAxLjUtNC44IDM3LjM0LTMwLjg2IDc4LjQ4LTE1LjIzIDI0LjA0LTM0LjcgNDUuMDgtNTcuODcgNjIuNTItMjguNzQgMjEuNjMtNjMuMjEgMzcuNzEtMTAyLjQ3IDQ3Ljc5LTEuMjYgMC4zMS0yLjUxIDAuNDctMy43NSAwLjQ3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NCI+PC9wYXRoPjxwYXRoIGQ9Ik03MDIuOTUgNTgwLjMyYy04LjI4IDAtMTUtNi43Mi0xNS0xNVYzNzYuNWMtNDQuOSAzLjQ1LTg4LjI5LTcuODQtMTI2LjQ1LTMzLjA3LTMyLjQyLTIxLjQzLTQ5LjcxLTQ1LjM5LTUwLjQzLTQ2LjQtNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44IDE2LjA4LTMuMjUgMjAuOSAzLjQ3IDAuMiAwLjI4IDE1LjQ0IDIxLjEzIDQzLjUyIDM5LjQ1IDM2Ljk3IDI0LjEyIDc3Ljg4IDMyLjggMTIxLjU5IDI1Ljc5bDE3LjM3LTIuNzh2MjIzLjI5YzAgOC4yOC02LjcyIDE0Ljk5LTE1IDE0Ljk5eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjAuNTYgNzQ2Ljk3Yy04LjI4IDAtMTUtNi43Mi0xNS0xNVYyOTQuNzhjMC04LjI4IDYuNzItMTUgMTUtMTVzMTUgNi43MiAxNSAxNXY0MzcuMTljMCA4LjI4LTYuNzIgMTUtMTUgMTV6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ2Ij48L3BhdGg+PHBhdGggZD0iTTY5My45OCA1MjguMzhIMzQ3LjEzYy04LjI4IDAtMTUtNi43Mi0xNS0xNXM2LjcyLTE1IDE1LTE1aDM0Ni44NWM4LjI4IDAgMTUgNi43MiAxNSAxNXMtNi43MiAxNS0xNSAxNXpNMzQ1LjUzNSA0MzMuODgybDY5LjU3OS02OS41NzkgNy4wNzEgNy4wNzEtNjkuNTc5IDY5LjU3OXpNMzQ2LjExMSA0ODIuODgybDE2Ni4wNzctMTY2LjA3NiA3LjA3MSA3LjA3LTE2Ni4wNzcgMTY2LjA3N3oiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NDciPjwvcGF0aD48cGF0aCBkPSJNMzc1LjM5MiA1MTMuNzc5bDE0NS4wNC0xNDUuMDYxIDcuMDcyIDcuMDctMTQ1LjA0IDE0NS4wNjJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ4Ij48L3BhdGg+PHBhdGggZD0iTTQzNS45NTcgNTA3LjY5Nmw4MC40ODItODAuNDgyIDcuMDcgNy4wNy04MC40ODEgODAuNDgzeiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0OSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjMuNDM3IDYzNC4yNjVsNy4wNzEtNy4wNzEgNjkuNTc5IDY5LjU3OC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTAiPjwvcGF0aD48cGF0aCBkPSJNNTEzLjI1MyA1NjUuNTAybDcuMDctNy4wNyAxMjAuOTc4IDEyMC45NzctNy4wNyA3LjA3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ1MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MzUuODYzIDUyN2w3LjA3LTcuMDcyTDY3Mi44ODYgNjQ5Ljg4bC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTIiPjwvcGF0aD48cGF0aCBkPSJNNTkyLjM0OCA1MjQuOTQxbDcuMDctNy4wNyA4Ni4xODIgODYuMTgtNy4wNzEgNy4wNzJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDUzIj48L3BhdGg+PC9zdmc+"},1896:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/load-balancer.1733818396.png"},1897:function(e,t,a){var n=a(1898);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1898:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__icon--2-Vz_ {\n margin-right: 8px;\n}\n",""]),t.locals={icon:"index__icon--2-Vz_"}},1899:function(e,t,a){var n=a(1900);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1900:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__instance-volume--3uVzj {\n display: block;\n margin-bottom: 8px;\n}\n.index__label--12eU8 {\n max-width: 20%;\n margin-right: 10px;\n}\n.index__select--YPu8L {\n max-width: 80%;\n}\n.index__size-label--1i0IC {\n margin-right: 40px;\n margin-left: 10px;\n}\n",""]),t.locals={"instance-volume":"index__instance-volume--3uVzj",label:"index__label--12eU8",select:"index__select--YPu8L","size-label":"index__size-label--1i0IC"}},1901:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(647));n(231);var u=o(n(341)),d=o(n(648)),c=o(n(35)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),p=(n(161),n(564),o(n(1902)));function h(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(h=function(e){return e?a:t})(e)}class m extends f.Component{constructor(e){super(e),(0,c.default)(this,"onChangeValue",(()=>{var{moreValue:e}=this.state;this.setState({moreValue:!e},(()=>{var{onChange:e}=this.props;e&&e(this.state.moreValue)}))}));var{value:t}=e;this.state={moreValue:t}}render(){var{moreValue:e}=this.state;return e?f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Hide Advanced Options")," ",f.default.createElement(d.default,null)):f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Expand Advanced Options"),f.default.createElement(s.default,null))}}a.default=m},1902:function(e,t,a){var n=a(1903);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1903:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__btn--2tisu {\n padding-left: 0;\n}\n",""]),t.locals={btn:"index__btn--2tisu"}},1904:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(422));n(1535);var m=p(n(1536));n(231);var g=p(n(341)),v=p(n(1545)),y=p(n(35)),b=p(n(92)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function w(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(w=function(e){return e?a:t})(e)}function k(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function C(e){for(var t=1;t{this.setState({file:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,y.default)(this,"handleChange",(e=>{var{file:t,fileList:a=[]}=e,{status:n}=t||{};"removed"===n&&0===a.length&&this.onChange(null),n||this.onChange(t),e.file.status})),(0,y.default)(this,"beforeUpload",(()=>!1)),this.state={file:""}}get progress(){return{strokeColor:{"0%":globalCSS.primaryColor,"100%":globalCSS.successColor},strokeWidth:3,format:e=>"".concat((0,h.default)(e.toFixed(2)),"%")}}render(){var e,{value:a}=this.props,{file:n}=this.state;e=a?(0,b.default)(a)?a:[a]:n?[n]:[];var r=C(C({},this.props),{},{name:"file",action:"",headers:{authorization:"authorization-text"},onChange:this.handleChange,progress:this.progress,beforeUpload:this.beforeUpload,fileList:e});return x.default.createElement(m.default,r,this.props.children||x.default.createElement(g.default,null,x.default.createElement(v.default,null)," ",t("Click to Upload")))}}a.default=_},1919:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(573)),u=o(n(91)),d=o(n(345)),c=o(n(54)),f=o(n(77)),p=o(n(1546));n(231);var h=o(n(341)),m=o(n(1547)),g=o(n(343));n(568);var v=o(n(415));n(569);var y=o(n(1253)),b=o(n(35)),x=o(n(352)),w=o(n(177)),k=o(n(205)),C=o(n(92)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),M=(n(161),n(564),o(n(16))),S=o(n(4)),I=n(163),N=o(n(1922));function E(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(E=function(e){return e?a:t})(e)}class T extends _.Component{constructor(e){super(e),(0,b.default)(this,"getInitItems",(e=>{var{value:t,initValue:a}=e;return(0,w.default)(a)?(0,C.default)(t)?[...t]||!1:[]:(0,C.default)(a)?[...a]||!1:[]})),(0,b.default)(this,"addItem",(()=>{var{items:e}=this.state,{maxCount:t}=this.props;if(!(e.length>=t)){var{defaultItemValue:a}=this.props,n={value:a,index:e.length};this.updateItems([...e,n])}})),(0,b.default)(this,"updateItems",(e=>{this.setState({items:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,b.default)(this,"canRemove",((e,t)=>{var a=this.checkItemRemoveDisabled(t),{minCount:n}=this.props;return e>=n&&!a})),(0,b.default)(this,"removeItem",(e=>{var{items:t}=this.state;(0,s.default)(t).call(t,e,1),this.updateItems(t)})),(0,b.default)(this,"onItemChange",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"onItemChangeInput",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"getOptions",(e=>{var{optionsByIndex:t,options:a}=this.props;return t&&e{var{items:t=[]}=this.state,{disabledRemoveFunc:a}=this.props;return(0,x.default)(a)?a({item:e,items:t}):this.checkDisabledKey(e)})),(0,b.default)(this,"checkDisabledKey",(e=>{var{key:t=""}=e.value||{},{disableEditKeys:a=[]}=this.props;return(0,u.default)(a).call(a,t)>=0})),(0,b.default)(this,"renderItem",((e,a)=>{var{itemComponent:n,readonlyKeys:r=[],isInput:l=!1,placeholder:i,width:o}=this.props;if(!n)return l?_.default.createElement(y.default,{value:e.value,placeholder:i||t("Please input"),style:{width:o},onChange:e=>{this.onItemChange(e.currentTarget.value,a)}}):_.default.createElement(v.default,{className:N.default.float,options:this.getOptions(a),value:e.value,placeholder:i,style:{width:o},onChange:e=>{this.onItemChange(e,a)}});var s=n,{key:d=""}=e.value||{},c=(0,u.default)(r).call(r,d)>=0,f=this.checkItemRemoveDisabled(e);return _.default.createElement(s,(0,g.default)({},this.props,{name:"name-".concat(a),value:e.value,index:a,keyReadonly:c,disabled:f,onChange:e=>{this.onItemChange(e,a)}}))}));var{initValue:a=[]}=e;this.state={items:this.getInitItems(e),initValue:a,keyId:(0,I.generateId)()}}static getDerivedStateFromProps(e,t){return(0,k.default)(e.initValue,t.initValue)?null:{initValue:e.initValue,items:JSON.parse((0,d.default)(e.initValue)),keyId:(0,I.generateId)()}}renderTip(){var{tips:e}=this.props;return e?_.default.createElement("div",null,e):null}renderItems(){var{items:e,keyId:t}=this.state,a=(0,c.default)(e).call(e,((e,a)=>{var n;return _.default.createElement("div",{className:N.default.item,key:(0,f.default)(n="add-select-item-".concat(t,"-")).call(n,a)},_.default.createElement(h.default,{type:"link",onClick:()=>this.removeItem(a),className:(0,S.default)(N.default.float,N.default["remove-btn"]),disabled:!this.canRemove(a,e)},_.default.createElement(m.default,null)),_.default.createElement("div",{className:(0,S.default)(N.default.float,N.default["item-detail"],"item-detail")},this.renderItem(e,a)))}));return _.default.createElement("div",{className:N.default.items},a)}renderAdd(){var{maxCount:e,addText:a,addTextTips:n}=this.props,{items:r}=this.state,l="";return e!==1/0&&(l+=t("Can add { number } {name}",{number:e-r.length,name:n||""})),_.default.createElement("div",null,_.default.createElement(h.default,{className:(0,S.default)(N.default["add-btn"],"add-btn"),type:"link",onClick:this.addItem},_.default.createElement(p.default,null),a),l)}render(){return _.default.createElement("div",{className:N.default["add-select"]},this.renderTip(),this.renderItems(),this.renderAdd())}}a.default=T,(0,b.default)(T,"propTypes",{minCount:M.default.number,maxCount:M.default.number,tips:M.default.node,options:M.default.array,placeholder:M.default.string,defaultItemValue:M.default.any,addText:M.default.string,addTextTips:M.default.string,width:M.default.number,itemComponent:M.default.any,optionsByIndex:M.default.bool,initValue:M.default.array,readonlyKeys:M.default.array,disableEditKeys:M.default.array,disabledRemoveFunc:M.default.func}),(0,b.default)(T,"defaultProps",{minCount:0,maxCount:1/0,addText:t("Add"),placeholder:t("Please select"),width:200,itemComponent:null,optionsByIndex:!1,initValue:[],readonlyKeys:[],disableEditKeys:[],disabledRemoveFunc:null})},1922:function(e,t,a){var n=a(1923);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1923:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__items--2qLhh {\n float: left;\n width: 100%;\n}\n.index__item--2Klpp {\n position: relative;\n float: left;\n width: 100%;\n margin-top: 8px;\n}\n.index__item--2Klpp .ant-form-item-has-success .ant-select:not(.ant-select-borderless) .ant-select-selector {\n border: 1px solid #d9d9d9 !important;\n}\n.index__item-detail--1dhkA {\n width: 90%;\n}\n.index__float--QNRx6 {\n float: left;\n}\n.index__remove-btn--11OFO,\n.index__add-btn--1uutt {\n padding-right: 8px;\n padding-left: 0;\n}\n.index__desc--wLQSa {\n margin-left: 16px;\n}\n",""]),t.locals={items:"index__items--2qLhh",item:"index__item--2Klpp","item-detail":"index__item-detail--1dhkA",float:"index__float--QNRx6","remove-btn":"index__remove-btn--11OFO","add-btn":"index__add-btn--1uutt",desc:"index__desc--wLQSa"}},1924:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t0&&(a=k(k({},a),e[0])),[a]}render(){var{componentProps:e={},formItemProps:a={}}=this.props,{version:n=4}=e,r=(0,g.default)(e,["version"]),l=k({placeholder:4===n?t("Please input ipv4"):t("Please input ipv6")},r),{rules:i}=a,o=(0,g.default)(a,["rules"]),s=this.getRules(i,n),u=k(k({},o),{},{rules:s});return y.default.createElement(h.default.Item,u,y.default.createElement(m.default,l))}}a.default=M,(0,v.default)(M,"isFormItem",!0)},1925:function(e,t,a){var n=a(1926);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1926:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__network-select--FVaPO {\n position: relative;\n display: block;\n height: 61.6px;\n margin-bottom: 0 !important;\n}\n.index__network-select--FVaPO .ant-form-item-control-input-content {\n height: 61.6px;\n}\n.index__network-select--FVaPO .ant-form-item-explain {\n position: absolute;\n bottom: 0;\n}\n.index__select--2cAyT {\n margin-right: 40px;\n}\n.index__size-label--3Ry8T {\n margin-right: 40px;\n margin-left: 10px;\n}\n.index__tips--3wgea {\n margin-top: 0;\n}\n.index__label--2hqHr {\n margin-right: 10px;\n color: rgba(0, 0, 0, 0.45);\n line-height: 30px;\n}\n.index__content--14doI {\n color: rgba(0, 0, 0, 0.65);\n}\n.index__subnet-options-cidr--7bWem {\n margin-left: 5px;\n padding-left: 5px;\n border-left: 1px solid;\n opacity: 0.6;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","network-select":"index__network-select--FVaPO",select:"index__select--2cAyT","size-label":"index__size-label--3Ry8T",tips:"index__tips--3wgea",label:"index__label--2hqHr",content:"index__content--14doI","subnet-options-cidr":"index__subnet-options-cidr--7bWem"}},1927:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(86)),s=i(a(54)),u=i(a(343));a(593);var d=i(a(427)),c=i(a(58)),f=i(a(35)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),h=(a(161),i(a(16))),m=i(a(4)),g=i(a(1928));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends p.Component{constructor(){super(...arguments),(0,f.default)(this,"onChange",(e=>{var{value:t}=e.target,{options:a,onChange:n,isWrappedValue:r}=this.props;if(r){var l=(0,o.default)(a).call(a,(e=>e.value===t));n&&n(l)}else n&&n(t)})),(0,f.default)(this,"getValue",((e,t)=>void 0===t?t:e?t.value:t))}render(){var e=this.props,{options:t,optionType:a,buttonStyle:n,onlyRadio:r,className:l,value:i,isWrappedValue:o}=e,f=(0,c.default)(e,["options","optionType","buttonStyle","onlyRadio","className","value","isWrappedValue"]),h=(0,s.default)(t).call(t,(e=>"default"===a?p.default.createElement(d.default,{value:e.value,key:e.value,disabled:e.disabled},e.label):p.default.createElement(d.default.Button,{value:e.value,key:e.value,disabled:e.disabled},e.label)));return p.default.createElement(d.default.Group,(0,u.default)({optionType:a,buttonStyle:n},f,{className:(0,m.default)(l,r?g.default["only-radio"]:""),onChange:this.onChange,value:this.getValue(o,i)}),h)}}t.default=y,(0,f.default)(y,"propTypes",{options:h.default.array,onChange:h.default.func,optionType:h.default.string,buttonStyle:h.default.string,onlyRadio:h.default.bool,isWrappedValue:h.default.bool}),(0,f.default)(y,"defaultProps",{options:[],optionType:"button",buttonStyle:"solid",onlyRadio:!1,isWrappedValue:!1})},1928:function(e,t,a){var n=a(1929);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1929:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__only-radio--3nQs4 .ant-radio-button-wrapper {\n margin-left: 8px;\n border-left-width: 1px;\n border-radius: 4px;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper::before {\n display: none;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper:first-child {\n margin-left: 0;\n border-radius: 4px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","only-radio":"index__only-radio--3nQs4"}},1930:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(54)),s=i(a(77));a(1303);var u=i(a(1290)),d=i(a(343));a(231);var c=i(a(341)),f=i(a(1378)),p=i(a(35)),h=i(a(601)),m=i(a(92)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(564),i(a(1937)));function y(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(y=function(e){return e?a:t})(e)}class b extends g.Component{constructor(){super(...arguments),(0,p.default)(this,"getValueContent",(e=>(0,h.default)(e)?"-":(0,m.default)(e)?(0,o.default)(e).call(e,((t,a)=>g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{key:"value-".concat(a)},t),a!==e.length-1&&g.default.createElement("br",null)))):e)),(0,p.default)(this,"onClick",(()=>{var{onClick:e}=this.props;e&&e()}))}renderTitle(){var{title:e}=this.props;return g.default.createElement("span",null,e," ",g.default.createElement(c.default,{type:"link",icon:g.default.createElement(f.default,null),onClick:this.onClick}))}renderItem(){var{items:e}=this.props,t=(0,o.default)(e).call(e,((e,t)=>{var a,{label:n,value:r,span:l,contentStyle:i={}}=e,o=this.getValueContent(r),c={label:n,key:(0,s.default)(a="item-".concat(n,"-")).call(a,t),className:v.default.label};return l&&(c.span=l),g.default.createElement(u.default.Item,(0,d.default)({contentStyle:i},c),o)}));return g.default.createElement(u.default,{title:this.renderTitle(),colon:!1},t)}render(){return g.default.createElement("div",null,this.renderItem())}}t.default=b},1937:function(e,t,a){var n=a(1938);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1938:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__label--1lhix {\n vertical-align: top;\n}\n.index__label--1lhix .ant-descriptions-item-label {\n width: 100px;\n color: #8a8a8a;\n}\n",""]),t.locals={label:"index__label--1lhix"}},1939:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(164)),m=p(n(63)),g=p(n(77));n(1261);var v=p(n(1262));n(569);var y=p(n(1253)),b=p(n(58)),x=p(n(35)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(565));function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{if(a&&a.length&&(0,h.default)(a).call(a,n)){var r,l=t("Name can not be duplicated");return m.default.reject(new Error((0,g.default)(r="".concat(t("Invalid: "))).call(r,l)))}return m.default.resolve(!0)}},i={validator:this.getRuleValidator(r)};return n&&n.length>0?[...n,i,l]:[i,l]}getMessage(e){var{withoutChinese:t,isFile:a,isKeypair:n,isStack:r,isCrontab:l,isImage:i,isInstance:o,isSwiftFile:s,isDatabaseName:u,isDatabaseUserName:d}=e;return t?I:r?T:a?N:n?E:l?A:i?j:o?P:s?D:u?L:d?O:S}getPropsFromComponentProps(){var{componentProps:e}=this.props,{withoutChinese:t=!1,isFile:a=!1,isKeypair:n=!1,isSwiftFile:r=!1,isDatabaseName:l=!1,isDatabaseUserName:i=!1,isStack:o,isCrontab:s,isImage:u,isInstance:d,names:c}=e;return{ruleProps:{names:c,withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},messageProps:{withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},restProps:(0,b.default)(e,["withoutChinese","isFile","isKeypair","isSwiftFile","isDatabaseName","isDatabaseUserName","isStack","isCrontab","isImage","isInstance","names"])}}get ruleProps(){var{formItemProps:e}=this.props,{rules:t}=e,{ruleProps:a}=this.getPropsFromComponentProps();return M(M({},a),{},{rules:t})}get messageProps(){var{messageProps:e}=this.getPropsFromComponentProps();return e}get formItemProps(){var{formItemProps:e}=this.props,{rules:t}=e,a=(0,b.default)(e,["rules"]),n=this.getRules(this.ruleProps),r=this.getMessage(this.messageProps);return M(M({},a),{},{rules:n,extra:r})}get inputProps(){var{isFile:e}=this.ruleProps,{restProps:a}=this.getPropsFromComponentProps();return M({placeholder:e?t("Please input file name"):t("Please input name")},a)}render(){var e=this.formItemProps,{inputProps:t}=this;return w.default.createElement(v.default.Item,e,w.default.createElement(y.default,t))}}a.default=W,(0,x.default)(W,"isFormItem",!0)},1940:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{this.setState({inputValue:e});var{onChange:t}=this.props;t&&t(e)}));var{value:t,max:a,min:n,description:r}=e,l=(0,o.default)(t,10);this.state={inputValue:(0,s.default)(l)?1:t,inputMax:a,inputMin:n,description:r}}static getDerivedStateFromProps(e,t){var{min:a,max:n,description:r}=e;return a!==t.inputMin||n!==t.inputMax||r!==t.description?{inputMin:a,inputMax:n,description:r}:null}render(){var{inputValue:e,inputMax:t,inputMin:a,description:n}=this.state;return h.default.createElement(u.default,null,h.default.createElement(c.default,{span:16},h.default.createElement(f.default,{min:a,max:t,onChange:this.onChange,value:e})),h.default.createElement(c.default,{span:4},h.default.createElement(d.default,{min:a,max:t,style:{marginLeft:8},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),value:e,onChange:this.onChange})),h.default.createElement(c.default,{span:24},h.default.createElement("span",{style:{fontStyle:"italic",color:"#7b8997"}},n)))}}t.default=v,(0,p.default)(v,"propTypes",{value:m.default.number,max:m.default.number,min:m.default.number,description:m.default.string}),(0,p.default)(v,"defaultProps",{max:500,min:0,value:0})},1946:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(35)),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),u=i(a(16)),d=i(a(4)),c=i(a(1947));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}class p extends s.Component{render(){var{label:e,className:t}=this.props;return s.default.createElement("div",{className:(0,d.default)(c.default.title,t)},e)}}t.default=p,(0,o.default)(p,"propTypes",{label:u.default.string,className:u.default.string}),(0,o.default)(p,"defaultProps",{label:""})},1947:function(e,t,a){var n=a(1948);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1948:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__title--30RRB {\n margin-left: 12px;\n font-weight: bold;\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",title:"index__title--30RRB"}},1949:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1445);var s=o(n(1446)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)}))}render(){var{value:e,className:t,checkedText:a,uncheckedText:n,disabled:r}=this.props,l={checked:e,className:t,checkedChildren:a,unCheckedChildren:n,disabled:r,onChange:this.onChange};return d.default.createElement(s.default,l)}}a.default=p,(0,u.default)(p,"propTypes",{value:c.default.bool,className:c.default.string,checkedText:c.default.string,uncheckedText:c.default.string,disabled:c.default.bool,onChange:c.default.func}),(0,u.default)(p,"defaultProps",{value:!1,checkedText:t("On"),uncheckedText:t("Off"),disabled:!1})},1952:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(583);var o=i(a(420)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=c(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),d=(a(161),i(a(16)));function c(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(c=function(e){return e?a:t})(e)}class f extends u.Component{constructor(){super(...arguments),(0,s.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e.target.checked)}))}render(){var{value:e,className:t,content:a,disabled:n}=this.props,r={checked:e,className:t,disabled:n,onChange:this.onChange};return u.default.createElement(o.default,r,a)}}t.default=f,(0,s.default)(f,"propTypes",{value:d.default.bool,className:d.default.string,content:d.default.any,disabled:d.default.bool,onChange:d.default.func}),(0,s.default)(f,"defaultProps",{value:!1,content:""})},1953:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(29)),d=o(n(164)),c=o(n(91)),f=o(n(35));n(1548);var p=o(n(1549)),h=o(n(343));n(585);var m=o(n(587)),g=o(n(58)),v=o(n(177)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),o(n(1960))),x=o(n(16));function w(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(w=function(e){return e?a:t})(e)}var k=e=>{var{leftColumns:t,rightColumns:a,pageSize:n,loading:r,onRowLeft:l,onRowRight:i}=e,o=(0,g.default)(e,["leftColumns","rightColumns","pageSize","loading","onRowLeft","onRowRight"]);return y.default.createElement(p.default,(0,h.default)({},o,{showSelectAll:!1}),(e=>{var{direction:o,filteredItems:c,onItemSelectAll:f,onItemSelect:p,selectedKeys:h,disabled:g}=e,v="left"===o?t:a,x={getCheckboxProps:e=>({disabled:g||e.disabled}),onSelectAll(e,t){var a,n=(0,s.default)(a=(0,u.default)(t).call(t,(e=>!e.disabled))).call(a,(e=>{var{key:t}=e;return t})),r=e?(0,b.default)(n,h):(0,b.default)(h,n);f(r,e)},onSelect(e,t){var{key:a}=e;p(a,t)},selectedRowKeys:h},w={pageSize:n},k=("left"===o?l:i)||(e=>{var{key:t,disabled:a}=e;return{onClick:()=>{a||g||p(t,!(0,d.default)(h).call(h,t))}}});return y.default.createElement(m.default,{loading:r,rowSelection:x,columns:v,dataSource:c,pagination:w,size:"small",style:{pointerEvents:g?"none":null},onRow:k})}))};class C extends y.Component{constructor(e){super(e),(0,f.default)(this,"getTargetKey",(()=>{var{oriTargetKeys:e,value:t}=this.props;if(!(0,v.default)(e)||!(0,v.default)(t)){var{onChange:a}=this.props;a&&a(e||t||[])}})),(0,f.default)(this,"onChange",(e=>{this.setState({targetKeys:e});var{onChange:t}=this.props;t&&t(e)})),this.state={targetKeys:[]}}static getDerivedStateFromProps(e,t){var{value:a=[]}=e;return a!==t.targetKeys?{targetKeys:a}:null}componentDidMount(){this.getTargetKey()}render(){var{disabled:e,showSearch:t,leftTableColumns:a,rightTableColumns:n,dataSource:r,filterOption:l,titles:i,pageSize:o,loading:s,onRowLeft:u,onRowRight:d}=this.props,{targetKeys:c}=this.state;return y.default.createElement(y.default.Fragment,null,y.default.createElement(k,{titles:i,pageSize:o,dataSource:r,targetKeys:c,disabled:e,showSearch:t,onChange:this.onChange,filterOption:l,leftColumns:a,rightColumns:n,loading:s,onRowLeft:u,onRowRight:d}))}}a.default=C,(0,f.default)(C,"propTypes",{titles:x.default.array,leftTableColumns:x.default.array.isRequired,rightTableColumns:x.default.array.isRequired,dataSource:x.default.array.isRequired,disabled:x.default.bool,showSearch:x.default.bool,filterOption:x.default.func,onChange:x.default.func,value:x.default.array,pageSize:x.default.number,loading:x.default.bool,onRowLeft:x.default.func,onRowRight:x.default.func}),(0,f.default)(C,"defaultProps",{titles:[t("Optional list"),t("Selected list")],disabled:!1,showSearch:!0,filterOption:(e,t)=>{var a;return-1!==(0,c.default)(a=t.name).call(a,e)},onChange:null,value:[],pageSize:5,loading:!1})},1963:function(e,t,a){var n=a(1964);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1964:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__cpu--1lkn3 {\n margin-right: 8px;\n}\n.index__ram--1uTZP {\n margin-right: 8px;\n margin-left: 16px;\n}\n",""]),t.locals={cpu:"index__cpu--1lkn3",ram:"index__ram--1uTZP"}},1965:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(28)),s=i(a(91)),u=i(a(54)),d=i(a(343));a(1246);var c=i(a(1247));a(1244);var f=i(a(1245));a(583);var p=i(a(420)),h=i(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),g=(a(161),i(a(16)));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends m.Component{constructor(){super(...arguments),(0,h.default)(this,"onChange",(e=>{var{onChange:t,options:a}=this.props,n={};(0,o.default)(e).call(e,(e=>{n[e]=!0})),(0,o.default)(a).call(a,(t=>{var{value:a}=t;n[a]=(0,s.default)(e).call(e,a)>=0})),t&&t(n)})),(0,h.default)(this,"getValues",(()=>{var{value:e,options:t}=this.props,a=[];return(0,o.default)(t).call(t,(t=>{var n=t.value;e[n]&&a.push(n)})),a}))}render(){var{className:e,options:t,span:a}=this.props,n=this.getValues(),r={className:e,onChange:this.onChange};return m.default.createElement(p.default.Group,(0,d.default)({},r,{value:n,style:{width:"100%"}}),m.default.createElement(c.default,null,(0,u.default)(t).call(t,(e=>m.default.createElement(f.default,{span:a,key:e.value},m.default.createElement(p.default,{value:e.value,disabled:!!e.disabled},e.label))))))}}t.default=y,(0,h.default)(y,"propTypes",{value:g.default.object,className:g.default.string,options:g.default.array,onChange:g.default.func,span:g.default.number}),(0,h.default)(y,"defaultProps",{value:{},options:[],span:8})},1966:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1535);var s=o(n(1536));n(231);var u=o(n(341));n(569);var d=o(n(1253)),c=o(n(343)),f=o(n(58)),p=o(n(49)),h=o(n(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),g=(n(161),n(1553)),v=o(n(16));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends m.Component{constructor(){var e;super(...arguments),e=this,(0,h.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,h.default)(this,"handleUpload",function(){var t=(0,p.default)((function*(t){var a=yield(0,g.getText)(t);return e.onChange(a),!1}));return function(e){return t.apply(this,arguments)}}()),(0,h.default)(this,"onChangeInput",(e=>{this.onChange(e)}))}render(){var e=this.props,{value:a,placeholder:n,accept:r}=e,l=(0,f.default)(e,["value","placeholder","accept"]);return m.default.createElement(m.default.Fragment,null,m.default.createElement(d.default.TextArea,(0,c.default)({placeholder:n,value:a,onChange:this.onChange,style:{fontFamily:'"Menlo", "Liberation Mono", "Consolas", "DejaVu Sans Mono", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace'}},l)),m.default.createElement(s.default,{beforeUpload:this.handleUpload,showUploadList:!1,accept:r},m.default.createElement(u.default,{type:"link"},t("Load from local files"))))}}a.default=b,(0,h.default)(b,"propTypes",{value:v.default.string,placeholder:v.default.string,accept:v.default.any,onChange:v.default.func}),(0,h.default)(b,"defaultProps",{value:"",placeholder:t("Please input"),accept:"",onChange:e=>{}})},1967:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(231);var p=f(n(341)),h=f(n(1347));n(1246);var m=f(n(1247)),g=f(n(1442));n(1244);var v=f(n(1245));n(1261);var y=f(n(1262)),b=f(n(343)),x=f(n(35)),w=f(n(29)),k=f(n(54)),C=f(n(232)),_=f(n(63)),M=f(n(0)),S=(n(161),n(564),f(n(1968))),I=n(565);function N(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}var{isIPv4:E,isIpv6:T}=I.ipValidate,A=e=>{var a,{componentProps:n,formItemProps:r}=e,{subnets:l,maxNumber:i=10,formRef:f}=n,{name:I,value:A=[],onChange:j}=r,P=(0,w.default)(a=(0,k.default)(l).call(l,(e=>function(e){for(var t=1;t!(0,C.default)(A).call(A,(t=>!!t&&t.subnet===e.value))));return M.default.createElement(M.default.Fragment,null,M.default.createElement(y.default.Item,r,0===P.length?M.default.createElement("div",null,t("The selected network has no subnet")):M.default.createElement(y.default.List,{name:I},((e,a)=>{var{add:n,remove:r}=a;return M.default.createElement(M.default.Fragment,null,(0,k.default)(e).call(e,(e=>M.default.createElement(m.default,{key:e.key,gutter:[16,16]},M.default.createElement(v.default,{span:22},M.default.createElement(y.default.Item,(0,b.default)({},e,{validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{if(!a||!a.subnet)return _.default.reject(new Error(t("Missing Subnet")));if("manual"===a.ip_address.type){var{ip:n}=a.ip_address||{};if(!n)return _.default.reject(new Error(t("Missing IP Address")));if(!E(n)&&!T(n))return _.default.reject(new Error(t("Invalid: Please input a valid ip")))}return _.default.resolve(!0)}}]}),M.default.createElement(S.default,{field:e,subnetsAvailable:P,onChange:e=>{return t=e,void(j&&j(t));var t}}))),M.default.createElement(v.default,{span:2},M.default.createElement(g.default,{onClick:()=>{r(e.name),f.current.validateFields([I])}}))))),e.length{n(),f.current.validateFields([I])},block:!0,icon:M.default.createElement(h.default,null)},t("Add IP")))}))))};A.isFormItem=!0;var j=A;a.default=j},1968:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(1244);var m=p(n(1245));n(568);var g=p(n(415)),v=p(n(35)),y=p(n(86)),b=p(n(77)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),p(n(1969)));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var a,{subnetsAvailable:n,onChange:r,value:l}=e;l=l||{subnet:void 0,ip_address:{type:"dhcp",ip:void 0}};var[i,o]=(0,x.useState)(l.subnet),[s,u]=(0,x.useState)(l.ip_address),[d,c]=(0,x.useState)(!!l.subnet||!1),f=(0,y.default)(n).call(n,(e=>e.id===i)),p=e=>{var t=_(_({},l),{},{subnet:i,ip_address:s},e);r&&r(t)};return x.default.createElement(h.default,{gutter:[16,16]},x.default.createElement(m.default,{span:8},x.default.createElement(g.default,{placeholder:t("Please select"),options:n,value:i,onChange:(e,t)=>{o(t.value),c(!0),p({subnet:t.value})}}),f&&x.default.createElement("div",{style:{marginTop:16}},(0,b.default)(a="".concat(t("Cidr"),": ")).call(a,f.cidr))),f&&d&&x.default.createElement(m.default,{span:14},x.default.createElement(w.default,{value:s,version:f.ip_version||4,onChange:e=>{u(e),p({ip_address:e})}})))};a.default=M},1969:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(568);var v=p(n(415)),y=p(n(35)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{value:a={},onChange:n}=e,[r,l]=(0,b.useState)(a.type||"dhcp"),[i,o]=(0,b.useState)(a.ip||void 0),s=e=>{n&&n(k(k({ip:i,type:r},a),e))};return b.default.createElement(h.default,{gutter:[16]},b.default.createElement(g.default,{span:12},b.default.createElement(v.default,{value:r,onChange:e=>{var t=e||"dhcp";l(t),s({type:t})},options:[{value:"dhcp",label:t("Automatically Assigned Address")},{value:"manual",label:t("Manual input")}]})),b.default.createElement(g.default,{span:12},"manual"===r&&b.default.createElement(m.default,{onChange:e=>{var t=e.currentTarget.value;o(t),s({ip:t})},defaultValue:i})))}},1970:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(1261);var v=p(n(1262));n(568);var y=p(n(415)),b=p(n(35)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),n(565));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{name:t}=this.state;this.setState({name:_(_({},t),{},{type:e})},(()=>{var{onChange:e}=this.props;e&&e(this.state.name)}))})),(0,b.default)(this,"handleInputChange",(e=>{var{name:t}=this.state;this.setState({name:_(_({},t),{},{mac:e})})})),this.state={name:{type:"",mac:""}}}render(){var{value:e,name:a,options:n}=this.props,{type:r}=e||{type:void 0};return x.default.createElement(h.default,{gutter:16},x.default.createElement(g.default,{span:12},x.default.createElement(v.default.Item,{name:[a,"type"],style:{marginBottom:0}},x.default.createElement(y.default,{placeholder:t("Please select"),options:n||[{label:t("Auto allocate mac address"),value:"auto"},{label:t("Manual input"),value:"manual"}],onChange:this.handleSelectChange}))),x.default.createElement(g.default,{span:12},e&&"manual"===r?x.default.createElement(v.default.Item,{hidden:"auto"===r||void 0===r,name:[a,"mac"],rules:[{validator:w.macAddressValidate,required:!0,message:t('Invalid Mac Address. Please Use ":" as separator.')}],style:{marginBottom:0}},x.default.createElement(m.default,{maxLength:17,onChange:this.handleInputChange})):null))}}var S=M;a.default=S},1971:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(28)),m=p(n(32)),g=p(n(86)),v=p(n(91)),y=p(n(77)),b=p(n(54)),x=p(n(29)),w=p(n(164)),k=p(n(350)),C=p(n(591));n(1548);var _=p(n(1549));n(344);var M=p(n(202));n(585);var S=p(n(587));n(1972);var I=p(n(1975)),N=p(n(58));n(1278);var E=p(n(1279));n(569);var T=p(n(1253));n(568);var A=p(n(415)),j=p(n(35)),P=p(n(570)),D=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=z(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),L=n(36),O=(n(161),n(163)),R=p(n(1990));function z(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(z=function(e){return e?a:t})(e)}function U(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function F(e){for(var t=1;t{var t,{value:a,metadata:n=[]}=e,r=[],l={};return(0,h.default)(t=(0,m.default)(a)).call(t,(e=>{var t=(0,g.default)(n).call(n,(t=>{var a,{detail:{properties:n={}}={}}=t;return(0,v.default)(a=(0,m.default)(n)).call(a,e)>=0}));if(t){var i,{namespace:o}=t,s=(0,y.default)(i="".concat(o,"--")).call(i,e);r.push(s),l[s]=a[e]}})),{checkedKeys:[],targetKeys:r,values:l,selectedKeysTable:[]}})),(0,j.default)(this,"onValuesChange",(e=>{var t,{onChange:a}=this.props,n={};(0,h.default)(t=(0,m.default)(e)).call(t,(t=>{var a=t.split("--")[1];n[a]=String(e[t])})),a&&a(n)})),(0,j.default)(this,"onInputChange",((e,t)=>{var{key:a}=t,{values:n={}}=this.state,r=e.target?e.target.value:e;n[a]=r,this.setState({values:n}),this.onValuesChange(n)})),(0,j.default)(this,"renderInput",(e=>{var{type:a,defaultValue:n,operators:r,enum:l=[],minimum:i,maximum:o,items:s={}}=e&&e.detail||{};if("boolean"===a){var u=(0,O.getYesNoList)();return D.default.createElement(A.default,{options:u,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if("integer"===a||"number"===a||"string"===a&&0===l.length){var d={defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please input"),required:!0};return void 0!==i&&(d.minimum=i),void 0!==o&&(d.maximum=o),"string"===a?D.default.createElement(T.default,d):("integer"===a&&(d.precision=0,d.formatter=e=>"$ ".concat(e).replace(/\D/g,"")),D.default.createElement(E.default,d))}if(l.length>0){var c=(0,b.default)(l).call(l,(e=>({value:e,label:e})));return D.default.createElement(A.default,{options:c,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if(s.enum){var f={defaultValue:n,items:s,operators:r,onChange:t=>this.onInputChange(t,e)};return D.default.createElement(R.default,f)}return null})),(0,j.default)(this,"flatten",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,h.default)(e).call(e,(e=>{var{children:n=[]}=e;t.push(e),a.flatten(n,t)}))})),(0,j.default)(this,"getTreeData",(()=>{var e=[];return this.flatten(this.metadata,e),e})),(0,j.default)(this,"getTreeDataWithoutFather",(()=>{var e=[];return this.flatten(this.metadata,e),(0,x.default)(e).call(e,(e=>{var t;return(0,v.default)(t=e.key).call(t,"--")>=0}))})),(0,j.default)(this,"getAllTreeKeys",(()=>{var e=this.getTreeData();return(0,b.default)(e).call(e,(e=>e.key))})),(0,j.default)(this,"generateTree",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,b.default)(e).call(e,(e=>{var{children:n}=e,r=(0,N.default)(e,["children"]);return F(F({},r),{},{disabled:(0,w.default)(t).call(t,r.key),children:a.generateTree(n,t)})}))})),(0,j.default)(this,"isChecked",((e,t)=>-1!==(0,v.default)(e).call(e,t))),(0,j.default)(this,"isChildKey",(e=>(0,v.default)(e).call(e,"--")>=0)),(0,j.default)(this,"onCheckTree",(e=>t=>{var a=this.getAllTreeKeys();(0,h.default)(a).call(a,(a=>{var n=(0,v.default)(t).call(t,a)>=0;this.isChildKey(a)&&e(a,n)})),this.setState({checkedKeys:t})})),(0,j.default)(this,"renderTree",(e=>{var{onItemSelect:t,targetKeys:a}=e,{checkedKeys:n}=this.state;return D.default.createElement(I.default,{blockNode:!0,checkable:!0,checkedKeys:n,treeData:this.generateTree(this.metadata,a),onCheck:this.onCheckTree(t)})})),(0,j.default)(this,"renderTable",(e=>{var{filteredItems:t,onItemSelectAll:a,onItemSelect:n,disabled:r}=e,{selectedKeysTable:l}=this.state,i=this,o={getCheckboxProps:e=>({disabled:r||e.disabled}),onSelectAll(e,t){var n=e?(0,b.default)(t).call(t,(e=>e.key)):[];a(e?n:l,e),i.setState({selectedKeysTable:n})},onSelect(e,t){var{key:a}=e;n(a,t);var r=[];r=t?[...l,a]:(0,x.default)(l).call(l,(e=>e!==a)),i.setState({selectedKeysTable:r})},selectedRowKeys:l};return D.default.createElement(S.default,{rowSelection:o,columns:this.columns,dataSource:t,size:"small",pagination:!1,style:{pointerEvents:r?"none":null}})})),(0,j.default)(this,"getChildKeys",(e=>{var t,a=[];return(0,h.default)(t=this.metadata).call(t,(t=>{var n;(0,h.default)(n=t.children||[]).call(n,(t=>{t.namespace===e&&a.push(t.key)}))})),a})),(0,j.default)(this,"getDefaultValue",((e,t)=>{var{type:a,default:n,defaultValue:r,operators:l,enum:i=[],minimum:o,items:s={}}=e||{},{values:u}=this.state;return(0,P.default)(u,t)?u[t]:n||(r||("boolean"===a||("string"===a&&0===i.length?r:"string"===a&&i.length>0?r||i[0]:"integer"===a||"number"===a?r||o||0:i.length>0?i[0]:s.enum?l[0]:null)))})),(0,j.default)(this,"getItemDefaultValue",(e=>{var t,a,n=e.split("--");if(!(n.length<1)){var r=n[0],l=n[1],i=(0,g.default)(t=this.metadata).call(t,(e=>e.key===r));if(i){var o=(0,g.default)(a=i.children).call(a,(e=>e.realKey===l));if(o)return this.getDefaultValue(o.detail||{},e)}}})),(0,j.default)(this,"onTransferChange",((e,t,a)=>{var n=[];(0,h.default)(e).call(e,(e=>{if(e.split("--").length>1)n.push(e);else{var t=this.getChildKeys(e);n.push(...t)}}));var r=(0,k.default)(new C.default(n)),{values:l={}}=this.state,i={};(0,h.default)(r).call(r,(e=>{l[e]?i[e]=l[e]:i[e]=this.getItemDefaultValue(e)}));var{selectedKeysTable:o}=this.state,s="right"===t?[...o,...r]:(0,x.default)(o).call(o,(e=>(0,v.default)(a).call(a,e)<0)),u="right"===t?[]:a;this.setState({targetKeys:r,values:i,selectedKeysTable:s,checkedKeys:u}),this.onValuesChange(i)})),(0,j.default)(this,"onTransferSelectChange",((e,t)=>{this.setState({checkedKeys:e,selectedKeysTable:t})})),(0,j.default)(this,"getTransferSelectedKeys",(()=>{var{checkedKeys:e=[],selectedKeysTable:t=[]}=this.state,a=(0,x.default)(e).call(e,(e=>this.isChildKey(e)));return(0,k.default)(new C.default([...a,...t]))})),(0,j.default)(this,"renderTransferItem",(e=>D.default.createElement(M.default,{title:e.description},e.title||e.display_name))),this.state=this.initState(e)}get metadata(){var e,t=this,{metadata:a}=this.props;return(0,b.default)(e=a||[]).call(e,(e=>{var a,n,r,{detail:{properties:l={}}={},namespace:i,description:o,display_name:s,isObject:u,objName:d}=(0,L.toJS)(e),c=(0,b.default)(a=(0,m.default)(l)).call(a,(e=>{var a,n,r,o,c=(0,L.toJS)(l[e]),f=(0,y.default)(a="".concat(i,"--")).call(a,e),p=F(F({},c),{},{defaultValue:t.getDefaultValue(c,f)}),h=u?(0,y.default)(r=(0,y.default)(o="".concat(s," - ")).call(o,d," > ")).call(r,c.title):(0,y.default)(n="".concat(s," > ")).call(n,c.title),m=D.default.createElement("div",null,D.default.createElement("p",null,h),D.default.createElement("p",null,c.description));return{key:f,namespace:i,realKey:e,title:D.default.createElement(M.default,{title:m},c.title),description:c.description,detail:p}})),f=u?(0,y.default)(n="".concat(s," - ")).call(n,d):s,p=u?(0,y.default)(r="".concat(i,"-")).call(r,d):null,h=u?D.default.createElement("div",null,D.default.createElement("p",null,o),D.default.createElement("p",null,e.objDescription)):null;return{key:p||i,namespace:i,objectNamespace:p,description:h||o,title:D.default.createElement(M.default,{title:h||o},f),children:c}}))}get columns(){return[{dataIndex:"title",title:t("Name")},{dataIndex:"detail",title:t("Value"),render:(e,t)=>this.renderInput(t)}]}render(){var{targetKeys:e}=this.state,t=this.getTreeDataWithoutFather(),a=this.getTransferSelectedKeys();return D.default.createElement(_.default,{onChange:this.onTransferChange,onSelectChange:this.onTransferSelectChange,targetKeys:e,selectedKeys:a,dataSource:t,className:"tree-transfer",render:this.renderTransferItem,showSelectAll:!1},(a=>{var{direction:n,onItemSelect:r,onItemSelectAll:l,filteredItems:i,disabled:o}=a;return"left"===n?this.renderTree({onItemSelect:r,dataSource:t,targetKeys:e}):"right"===n?this.renderTable({filteredItems:i,onItemSelectAll:l,onItemSelect:r,disabled:o}):void 0}))}}a.default=B},1990:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(86)),u=o(n(91)),d=o(n(54)),c=o(n(77));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends h.Component{constructor(e){super(e),(0,p.default)(this,"getDefaultOperator",(()=>{var{defaultValue:e,operators:t}=this.props;return(0,s.default)(t).call(t,(t=>0===(0,u.default)(e).call(e,t)))||t[0]})),(0,p.default)(this,"getDefaultEnums",(()=>{var{defaultValue:e}=this.props,t=this.getDefaultOperator(),a=e.split("".concat(t," "));return 2===a.length&&a[1]?a[1].split(","):[]})),(0,p.default)(this,"getOptions",(()=>{var{operators:e=[]}=this.props;return(0,d.default)(e).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"getEnumOptions",(()=>{var e,{items:t={enum:[]}}=this.props;return(0,d.default)(e=t.enum).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;if(e){var t,{operator:a,enums:n}=this.state;e((0,c.default)(t="".concat(a," ")).call(t,n.join(",")))}})),(0,p.default)(this,"onChangeOperator",(e=>{this.setState({operator:e},this.onChangeValue)})),(0,p.default)(this,"onChangeEnum",(e=>{this.setState({enums:e},this.onChangeValue)})),this.state={operator:this.getDefaultOperator(e),enums:this.getDefaultEnums(e)}}render(){var e=this.getOptions(),a=this.getEnumOptions(),n=this.getDefaultOperator(),r=this.getDefaultEnums();return h.default.createElement("div",null,h.default.createElement(f.default,{options:e,defaultValue:n,onChange:this.onChangeOperator,placeholder:t("Please select")}),h.default.createElement(f.default,{options:a,mode:"tags",defaultValue:r,onChange:this.onChangeEnum,placeholder:t("Please select")}))}}a.default=g},1991:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkSelectTable=void 0;var h=p(n(29)),m=p(n(91)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(233),k=n(342),C=n(571),_=n(163),M=n(567);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class N extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t,a=(0,C.networkColumns)(this);a[0].render=null;var{key:n}=e;return"project"===n?(0,h.default)(a).call(a,(e=>"project_id"!==e.dataIndex)):(0,m.default)(t=["shared","router:external"]).call(t,n)>=0?(0,h.default)(a).call(a,(e=>e.dataIndex!==n)):a})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getNetworkFilters",(e=>{var{key:a}=e,n=[{label:t("Name"),name:"name"}];return"shared"!==a&&n.push({label:t("Shared"),name:"shared",options:k.yesNoOptions}),this.showExternal&&"external"!==a&&n.push({label:t("External Network"),name:"router:external",options:k.yesNoOptions}),"project"!==a&&n.push({label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]}),n})),(0,v.default)(this,"getNetworkExtraParams",(e=>{var{key:t}=e;return"project"===t?{project_id:this.currentProjectId}:"shared"===t?{shared:!0}:"external"===t?{"router:external":!0}:{}})),this.stores={project:new w.NetworkStore,shared:new w.NetworkStore,external:new w.NetworkStore,all:new w.NetworkStore}}get location(){var{location:e={}}=(this.props.rootStore||{}).routing||{};return e}get isAdminPage(){var{pathname:e}=this.location;return(0,_.isAdminPage)(e)}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Current Project Networks"),key:"project"},{title:t("Shared Networks"),key:"shared"}];return this.showExternal&&e.push({title:t("External Networks"),key:"external"}),this.hasAdminRole&&e.push({title:t("All Networks"),key:"all"}),(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,M.getPath)({key:n,params:t,query:a})}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(){return this.props.disabledFunc}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.NetworkSelectTable=N;var E=(0,b.inject)("rootStore")((0,b.observer)(N));a.default=E},1995:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.VolumeSelectTable=void 0;var h=p(n(29)),m=p(n(86)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(414),k=n(566);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class M extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t=k.volumeColumns,{key:a}=e;return"available"===a?(0,h.default)(t).call(t,(e=>"status"!==e.dataIndex&&"attachments"!==e.dataIndex)):"shared"===a?(0,h.default)(t).call(t,(e=>"multiattach"!==e.dataIndex)):t})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getVolumeFilters",(e=>{var{key:t}=e,a=[...k.volumeFilters];return"shared"===t?(0,h.default)(a).call(a,(e=>"multiattach"!==e.name)):"available"===t?(0,h.default)(a).call(a,(e=>"status"!==e.name)):a})),(0,v.default)(this,"getVolumeExtraParams",(e=>{var{key:t}=e;return"shared"===t?{multiattach:!0}:"available"===t?{status:"available"}:{}})),(0,v.default)(this,"disallowedMultiAttach",(e=>{var{attachments:t=[]}=e,{serverId:a}=this.props;return!!(0,m.default)(t).call(t,(e=>e.server_id===a))})),this.stores={available:new w.VolumeStore,shared:new w.VolumeStore}}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Available"),key:"available"},{title:t("Shared"),key:"shared"}];return(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(e){if("available"===e.key){var{disabledFunc:t=null}=this.props;return t}return this.disallowedMultiAttach}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.VolumeSelectTable=M;var S=(0,b.inject)("rootStore")((0,b.observer)(M));a.default=S},1996:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1997);var s=o(n(2e3)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,u.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e}))}render(){var{treeData:e,placeholder:a=t("Please select"),disabled:n=!1}=this.props;return d.default.createElement(s.default,{className:this.props.className,showSearch:!0,allowClear:!0,placeholder:a,treeData:e,disabled:n,value:this.getValue(),onChange:this.onChange})}}a.default=p,p.propTypes={value:c.default.oneOfType([c.default.array,c.default.string]),isWrappedValue:c.default.bool,treeData:c.default.array,onChange:c.default.func}},2001:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(568);var o=i(a(415)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=d(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function d(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(d=function(e){return e?a:t})(e)}class c extends u.Component{constructor(e){super(e),(0,s.default)(this,"onChange",(e=>{this.setState({value:e,inputVal:void 0},(()=>{var{formRef:t,onChange:a,name:n}=this.props;t.current&&t.current.setFieldsValue({[n]:e}),a&&a(e)}))})),(0,s.default)(this,"onSearch",(e=>{e&&this.setState({inputVal:e})})),(0,s.default)(this,"onBlur",(()=>{var{inputVal:e}=this.state;e&&this.onChange(e)})),this.state={value:void 0,inputVal:void 0}}render(){var{options:e=[],filterOption:t=!1}=this.props,{value:a}=this.state;return u.default.createElement(o.default,{showSearch:!0,value:a,style:{width:"100%",height:"100%"},onChange:this.onChange,onSearch:this.onSearch,onBlur:this.onBlur,filterOption:t,onFocus:this.onFocusSelect,showArrow:!1,options:e,getPopupContainer:()=>document.body})}}t.default=c},2002:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=k;var p=f(a(77)),h=f(a(164));a(569);var m=f(a(1253));a(568);var g=f(a(415)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),b=(a(161),a(2003));function x(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){var{value:t,options:a,onChange:n}=e,[r,l]=(0,y.useState)(t.split(" ")[0]),[c,f]=(0,y.useState)(t.split(" ")[1]);(0,y.useEffect)((()=>{var[e,a]=t.split(" ");e===r&&a===c||(l(e),f(a))}),[t]);var b=e=>{var t,a=function(e){for(var t=1;t{l(e),b({prefix:e})},style:{width:"50%"},options:a,filterOption:(e,t)=>{var a;return(0,h.default)(a=t.label.toLowerCase()).call(a,e.toLowerCase())},getPopupContainer:()=>document.body}),y.default.createElement(m.default,{value:c,onChange:e=>{var t=e.target.value;f(t),b({number:t})},style:{width:"50%"}}))}k.defaultProps={value:"+86 ",options:b.defaultCountries}},2003:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.defaultCountries=void 0;var i,o=l(n(54)),s=l(n(32)),u=l(n(77)),d={1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],240:["GQ"],241:["GA"],242:["CG"],244:["AO"],245:["GW"],246:["IO"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],385:["HR"],386:["SI"],387:["BA"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],685:["WS"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},c={CN:t("China"),TW:t("Taiwan"),HK:t("Hong Kong"),MO:t("Macau"),KR:t("South Korea"),JP:t("Japan"),MY:t("Malaysia"),SG:t("Singapore"),NZ:t("New Zealand"),AU:t("Australia"),US:t("United States"),CA:t("Canada"),VN:t("Vietnam"),IN:t("India"),ID:t("Indonesia"),TH:t("Thailand"),PH:t("Philippines"),DK:t("Denmark"),FI:t("Finland"),FR:t("France"),DE:t("Germany"),GR:t("Greece"),IE:t("Ireland"),IL:t("Israel"),IT:t("Italy"),MX:t("Mexico"),NL:t("Netherlands"),NO:t("Norway"),PT:t("Portugal"),RU:t("Russia"),ZA:t("South Africa"),ES:t("Spain"),SE:t("Sweden"),CH:t("Switzerland"),BE:t("Belgium"),GB:t("United Kingdom"),AR:t("Argentina"),BR:t("Brazil"),KH:t("Kampuchea"),LTU:t("Lithuania"),LK:t("Sri Lanka"),NG:t("Nigeria"),AF:t("Afghanistan"),AL:t("Albania"),DZ:t("Algeria"),AS:t("American Samoa"),AD:t("Andorra"),AG:t("Antigua and Barbuda"),AM:t("Armenia"),AT:t("Austria"),BS:t("Bahamas"),BH:t("Bahrain"),BD:t("Bangladesh"),BY:t("Belarus"),BM:t("Bermuda"),BA:t("Bosnia and Herzegovina"),IO:t("British Indian Ocean Territory"),BF:t("Burkina Faso"),CF:t("Central African Republic"),TD:t("Chad"),CX:t("Christmas Island"),CC:t("Cocos (Keeling) Islands"),CO:t("Colombia"),CG:t("Republic of the Congo"),ZR:t("Democratic Republic of the Congo"),CR:t("Costa Rica"),CI:t("Cote D'Ivoire"),CU:t("Cuba"),CZ:t("Czech Republic"),GQ:t("Equatorial Guinea"),EE:t("Estonia"),FK:t("Falkland Islands (Malvinas)"),PF:t("French Polynesia"),GA:t("Gabon"),GP:t("Guadeloupe"),GW:t("Guinea Bissau"),GY:t("Guyana"),HN:t("Honduras"),HU:t("Hungary"),JO:t("Jordan"),KZ:t("Kazakhstan"),KE:t("Kenya"),KW:t("Kuwait"),KG:t("Kyrgyzstan"),LS:t("Lesotho"),MG:t("Madagascar"),MV:t("Maldives"),YT:t("Mayotte"),FM:t("Micronesia"),MC:t("Monaco"),MN:t("Mongolia"),MNE:t("Montenegro"),MS:t("Montserrat"),MM:t("Myanmar"),NR:t("Nauru"),NP:t("Nepal"),AN:t("Netherlands Antilles"),NC:t("New Caledonia"),NI:t("Nicaragua"),NF:t("Norfolk Island"),KP:t("North Korea"),MP:t("Northern Mariana Islands"),OM:t("Oman"),PK:t("Pakistan"),PW:t("Palau"),PA:t("Panama"),PG:t("Papua New Guinea"),PN:t("Pitcairn"),PL:t("Poland"),PR:t("Puerto Rico"),QA:t("Qatar"),RE:t("Reunion"),VCT:t("Saint Vincent and the Grenadines"),STP:t("Sao Tome and Principe"),SA:t("Saudi Arabia"),SRB:t("Serbia"),SC:t("Seychelles"),SK:t("Slovakia (Slovak Republic)"),SI:t("Slovenia"),SZ:t("Swaziland"),TJ:t("Tajikistan"),KNA:t("The Federation of Saint Kitts and Nevis"),ABH:t("the Republic of Abkhazia"),MKD:t("The Republic of Macedonia"),SSD:t("The Republic of South Sudan"),TN:t("Tunisia"),TM:t("Turkmenistan"),TV:t("Tuvalu"),UG:t("Uganda"),UA:t("Ukraine"),AE:t("United Arab Emirates"),UY:t("Uruguay"),UZ:t("Uzbekistan"),VA:t("Vatican City State (Holy See)"),WF:t("Wallis And Futuna Islands"),EH:t("Western Sahara"),YU:t("Yugoslavia"),ZM:t("Zambia"),AO:t("Angola"),AI:t("Anguilla"),AW:t("Aruba"),AZ:t("Azerbaijan"),BB:t("Barbados"),BZ:t("Belize"),BJ:t("Benin"),BT:t("Bhutan"),BO:t("Bolivia"),BW:t("Botswana"),BN:t("Brunei Darussalam"),BG:t("Bulgaria"),BI:t("Burundi"),CM:t("Cameroon"),CV:t("Cape Verde"),KY:t("Cayman Islands"),CL:t("Chile"),KM:t("Comoros"),CK:t("Cook Islands"),HR:t("Croatia (local name: Hrvatska)"),CY:t("Cyprus"),DJ:t("Djibouti"),DM:t("Dominica"),TP:t("East Timor"),EC:t("Ecuador"),EG:t("Egypt"),SV:t("El Salvador"),ER:t("Eritrea"),ET:t("Ethiopia"),FO:t("Faroe Islands"),FJ:t("Fiji"),GF:t("French Guiana"),GM:t("Gambia"),GE:t("Georgia"),GH:t("Ghana"),GI:t("Gibraltar"),GL:t("Greenland"),GD:t("Grenada"),GU:t("Guam"),GT:t("Guatemala"),GN:t("Guinea"),HT:t("Haiti"),IS:t("Iceland"),IR:t("Iran (Islamic Republic of)"),IQ:t("Iraq"),JM:t("Jamaica"),LAO:t("Lao People's Democratic Republic"),LV:t("Latvia"),LB:t("Lebanon"),LR:t("Liberia"),LY:t("Libyan Arab Jamahiriya"),LI:t("Liechtenstein"),LU:t("Luxembourg"),MW:t("Malawi"),ML:t("Mali"),MT:t("Malta"),MH:t("Marshall Islands"),MQ:t("Martinique"),MR:t("Mauritania"),MU:t("Mauritius"),MD:t("Moldova"),MA:t("Morocco"),MZ:t("Mozambique"),NA:t("Namibia"),NE:t("Niger"),PS:t("Palestine"),PY:t("Paraguay"),PE:t("Peru"),RO:t("Romania"),RW:t("Rwanda"),WS:t("Samoa"),SM:t("San Marino"),SN:t("Senegal"),SL:t("Sierra Leone"),SB:t("Solomon Islands"),SO:t("Somalia"),SD:t("Sudan"),SR:t("Suriname"),SY:t("Syrian Arab Republic"),TZ:t("Tanzania"),TG:t("Togo"),TK:t("Tokelau"),TO:t("Tonga"),TT:t("Trinidad and Tobago"),TR:t("Turkey"),TC:t("Turks and Caicos Islands"),VU:t("Vanuatu"),VE:t("Venezuela"),VI:t("Virgin Islands (U.S.)"),YE:t("Yemen"),ZW:t("Zimbabwe")},f=(0,o.default)(i=(0,s.default)(d)).call(i,(e=>{var t,a;return{label:(0,u.default)(t="+".concat(e," ")).call(t,(0,o.default)(a=d[e]).call(a,(e=>c[e])).join(",")),value:"+".concat(e)}}));a.defaultCountries=f},2019:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,r,l,p,h,{used:m=0,add:g=0,reserved:v=0,limit:y=1,title:b="",secondTitle:x=t("Quota")}=e,w=-1!==y,k=w?y:t("Infinity"),C=w?y-m-v-g:1;C=C<0?0:C;var _=(0,s.default)(a="".concat(t("Used"),": ")).call(a,m),M=v?(0,s.default)(n="".concat(t("Reserved"),": ")).call(n,v):"",S=(0,s.default)(r="".concat(t("New"),": ")).call(r,g),I=(0,s.default)(l="".concat(t("Left"),": ")).call(l,C),N=w?[_,S,I]:[_,S];v&&(0,u.default)(N).call(N,1,0,M);var E=N.join(" / "),T=m+v+g,A=(0,d.default)(T/y*100,10),j=(0,d.default)((m+v)/y*100,10),P=(0,f.getUsedValueColor)(A),D=c.default.createElement("span",null,(0,s.default)(p="".concat(b," ")).call(p,x,": ")," ",c.default.createElement("span",{style:{color:P}},(0,s.default)(h="".concat(T,"/")).call(h,k))),L=w?c.default.createElement(o.default,{percent:A,success:{percent:j,strokeColor:f.typeColors.used},strokeColor:f.typeColors.add,showInfo:!1}):c.default.createElement(o.default,{percent:0,showInfo:!1});return c.default.createElement("div",{style:{width:150}},c.default.createElement("div",{style:{fontWeight:"bold",textAlign:"center"}},D),c.default.createElement(i.default,{title:E},L))},n(344);var i=l(n(202));n(1271);var o=l(n(1272)),s=l(n(77)),u=l(n(573)),d=l(n(234)),c=l(n(0)),f=(n(161),n(1449))},2020:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,{reserved:r=0,title:l="",secondTitle:c=t("Quota")}=e,f=(0,o.default)(a=(0,o.default)(n="".concat(l," ")).call(n,c,": ")).call(a,t("Unlimit")),p=[{dataIndex:"used",title:t("Used"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.used}},e||"-")},{dataIndex:"add",title:t("New"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.add}},e||"-")}];r&&(0,s.default)(p).call(p,1,0,{dataIndex:"reserved",title:t("Reserved"),align:"center"});return u.default.createElement("div",null,u.default.createElement(i.default,{columns:p,dataSource:[e],pagination:!1,title:()=>f,bordered:!0,size:"small"}))},n(585);var i=l(n(587)),o=l(n(77)),s=l(n(573)),u=l(n(0)),d=(n(161),n(1449))},2021:function(e,t,a){var n=a(2022);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2022:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1yn9F {\n position: relative;\n height: 100%;\n padding-top: 16px;\n background-color: #fff;\n}\n.index__wrapper--1yn9F .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--1yn9F .ant-spin-container {\n height: 100%;\n}\n.index__wrapper-page-padding--2lbhS {\n padding-top: 0;\n}\n.index__form--3rBuv {\n height: calc(100% - 48px);\n margin-right: 32px;\n margin-left: 32px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3rBuv .ant-form-item-label > label {\n margin-left: 12px;\n}\n.index__form--3rBuv .ant-form-item-label > .ant-form-item-required {\n margin-left: 0;\n}\n.index__form--3rBuv .ant-form-item-label {\n white-space: break-spaces;\n}\n.index__footer--3IW56 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--1iSOL {\n float: right;\n margin-right: 32px;\n}\n.index__btns--1iSOL button {\n margin-left: 8px;\n}\n.form-item-text {\n margin-bottom: 0;\n}\n.form-item-divider {\n width: 98% !important;\n min-width: 90% !important;\n margin-right: auto;\n margin-left: auto;\n}\n.ant-radio-button-wrapper {\n color: rgba(0, 0, 0, 0.65);\n}\n.ant-radio-button-wrapper-disabled {\n color: rgba(0, 0, 0, 0.25);\n}\n.index__tips--1sDt0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: 16px;\n padding: 8px 16px;\n word-break: break-word;\n background: rgba(0, 0, 0, 0.15);\n}\n.index__tips-icon--2QJ8G {\n margin-top: 2px;\n margin-right: 4px;\n color: #0068ff;\n}\n.index__footer-left--2zaZk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: left;\n -ms-flex-pack: left;\n justify-content: left;\n float: left;\n height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__submit-tip--2ljzW {\n display: inline-block;\n font-size: 16px;\n}\n.index__progress-wrapper--1uQV2 {\n width: 170px;\n}\n.index__right-top-extra-wrapper---wJzs {\n position: absolute;\n top: 0;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n.index__modal-right-extra-wrapper--2_yIQ {\n border-left: solid 2px #f2f2f2;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1yn9F","wrapper-page-padding":"index__wrapper-page-padding--2lbhS",form:"index__form--3rBuv",footer:"index__footer--3IW56",btns:"index__btns--1iSOL",tips:"index__tips--1sDt0","tips-icon":"index__tips-icon--2QJ8G","footer-left":"index__footer-left--2zaZk","submit-tip":"index__submit-tip--2ljzW","progress-wrapper":"index__progress-wrapper--1uQV2","right-top-extra-wrapper":"index__right-top-extra-wrapper---wJzs","modal-right-extra-wrapper":"index__modal-right-extra-wrapper--2_yIQ"}},2023:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(2024));class s extends o.default{static get allowed(){return l.default.resolve()}get hasConfirmStep(){return!0}}t.default=s,(0,i.default)(s,"actionType","link"),(0,i.default)(s,"buttonType","primary"),(0,i.default)(s,"isDanger",!1),(0,i.default)(s,"id","step-action"),(0,i.default)(s,"title","StepAction"),(0,i.default)(s,"path","/"),(0,i.default)(s,"policy",""),(0,i.default)(s,"aliasPolicy","")},2024:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(203)),m=f(n(1252)),g=f(n(54)),v=f(n(77)),y=f(n(345));n(347);var b=f(n(348));n(2025);var x=f(n(2028));n(231);var w=f(n(341)),k=f(n(35)),C=f(n(177)),_=f(n(1350)),M=f(n(0)),S=f(n(1270)),I=(n(161),f(n(4))),N=n(163),E=n(349),T=f(n(1351)),A=f(n(1563)),j=f(n(1566)),P=n(567),D=f(n(2047));function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),(0,k.default)(this,"onSubmit",(e=>p.default.resolve())),(0,k.default)(this,"onOk",(()=>{var{data:e}=this.state;this.values=e;var t=this.getSubmitData(e);this.onSubmit(t).then((()=>{this.routing.push(this.listUrl),S.default.success(this.successText)}),(e=>{this.responseError=e;var{response:{data:t}={}}=e;S.default.errorWithDetail(t,this.errorText)}))})),(0,k.default)(this,"onCancel",(()=>{})),(0,k.default)(this,"onClickSubmit",(()=>{this.hasConfirmStep?this.onOk():this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e,this.onOk)}))})),(0,k.default)(this,"onClickCancel",(()=>{this.routing.push(this.listUrl)})),(0,k.default)(this,"updateDataOnPrev",(e=>{this.updateData(e,(()=>{this.setState((e=>({current:e.current-1})))}))})),(0,k.default)(this,"updateData",((e,t)=>{var{data:a}=this.state;this.setState({data:O(O({},a),e)},(()=>{t&&t()}))})),(0,k.default)(this,"unescape",(e=>(0,N.unescapeHtml)(e))),(0,k.default)(this,"goStep",(e=>{this.setState({current:e})})),this.options=t,this.state={formTemplate:(0,_.default)(this.formTemplate),current:0,data:{}},this.values={},this.setFormRefs(),this.init()}componentDidMount(){}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get hasConfirmStep(){return!1}get name(){return""}get title(){return"".concat(this.name,"s")}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get location(){return this.props.location||{}}get locationParams(){var e;return(0,E.parse)((0,h.default)(e=this.location.search).call(e,1))}get match(){return this.props.match||{}}get listUrl(){return""}get checkEndpoint(){return!1}get endpoint(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get currentProjectId(){return this.props.rootStore.projectId}get labelCol(){return{xs:{span:4},sm:{span:2}}}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get steps(){return[]}get formTemplate(){return{}}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,m.default)(this)||{};return e}get successText(){return this.instanceName?(0,N.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,N.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){return this.store&&this.store.isSubmitting||!1}get isLoading(){return!(!this.hasExtraProps||!(0,C.default)(this.state.extra))}get currentComponent(){var{current:e}=this.state;return this.steps[e].component}get currentRef(){var{current:e}=this.state;return this.formRefs[e]}get isAdminPage(){return this.props.isAdminPage||!1}get hasExtraProps(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get disableNext(){return!1}get disableSubmit(){return!1}setFormRefs(){var e;this.formRefs=(0,g.default)(e=this.steps).call(e,(()=>M.default.createRef()))}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,P.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,P.getLinkRender)({key:r,params:a,query:n,value:t})}getPrevBtn(){var e,{current:a}=this.state;if(0===a)return null;var n=this.steps[a-1].title;return M.default.createElement(w.default,{style:{margin:"0 8px"},onClick:()=>this.prev()},(0,v.default)(e="".concat(t("Previous"),": ")).call(e,n))}getNextBtn(){var e,{current:a}=this.state;if(a>=this.steps.length-1)return null;var{title:n}=this.steps[a+1];return M.default.createElement(w.default,{type:"primary",onClick:()=>this.next(),disabled:this.disableNext},(0,v.default)(e="".concat(t("Next"),": ")).call(e,n))}getSubmitData(e){return O({},e)}prev(){this.currentRef.current.wrappedInstance.checkFormInput(this.updateDataOnPrev,this.updateDataOnPrev)}next(){this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e),this.setState((e=>({current:e.current+1})))}))}init(){this.store={}}renderFooterLeft(){return null}renderFooter(){var{current:e}=this.state;return M.default.createElement("div",{className:D.default.footer},M.default.createElement("div",{className:(0,I.default)(D.default["footer-left"],this.footerStyle,"step-form-footer-left")},this.renderFooterLeft()),M.default.createElement("div",{className:(0,I.default)(D.default.btns,"step-form-footer-btns")},M.default.createElement(w.default,{className:D.default.cancel,onClick:this.onClickCancel},t("Cancel")),this.getPrevBtn(),this.getNextBtn(),e===this.steps.length-1&&M.default.createElement(w.default,{type:"primary",onClick:this.onClickSubmit,disabled:this.disableSubmit},t("Confirm"))))}renderForms(){var e=this.currentComponent,{data:t,extra:a}=this.state;return this.hasExtraProps&&(0,C.default)(a)?null:M.default.createElement(e,{ref:this.currentRef,context:t,extra:a,updateContext:this.updateData,goStep:this.goStep,isAdminPage:this.isAdminPage,match:this.match,location:this.location})}renderSteps(){var e,{current:t}=this.state,{Step:a}=x.default;return M.default.createElement("div",null,M.default.createElement("div",{className:D.default.step},M.default.createElement(x.default,{current:t},(0,g.default)(e=this.steps).call(e,(e=>M.default.createElement(a,{key:e.title,title:e.title}))))),M.default.createElement("div",{className:D.default.form},this.renderForms()))}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,M.default.createElement(j.default,e)}renderRightTopExtra(){var e=this.renderQuota();if(!e)return null;var t=(0,y.default)(this.quotaInfo);return M.default.createElement("div",{className:D.default["right-top-extra-wrapper"]},M.default.createElement(A.default,{content:e,checkValue:t}))}render(){return this.endpointError?M.default.createElement(T.default,{title:this.name,link:this.listUrl,endpointError:!0,goList:!0,isAction:!0}):M.default.createElement("div",{className:(0,I.default)(D.default.wrapper,this.className)},M.default.createElement(b.default,{spinning:this.isLoading||this.isSubmitting},this.renderSteps(),this.renderRightTopExtra(),this.renderFooter()))}}a.default=R},2044:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/empty-card.1733818396.svg"},2045:function(e,t,a){var n=a(2046);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2046:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1T6e5 {\n margin-top: 100px;\n text-align: center;\n border-radius: 4px;\n}\n.index__image--3dfS6 {\n height: 200px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 {\n display: inline-block;\n width: 600px;\n margin-left: 60px;\n vertical-align: top;\n}\n.index__text--2xlf7 .h1 {\n color: #abb4be;\n font-size: 120px;\n line-height: 1.4;\n text-align: left;\n opacity: 0.4;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 p {\n color: #5f708a;\n font-weight: 600;\n font-size: 20px;\n line-height: 1.4;\n text-align: left;\n text-shadow: 0 4px 8px rgba(36, 46, 66, 0.1);\n}\n.index__text--2xlf7 a {\n color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1T6e5",image:"index__image--3dfS6",text:"index__text--2xlf7"}},2047:function(e,t,a){var n=a(2048);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2048:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3YpmJ {\n position: relative;\n height: 100%;\n overflow: hidden;\n border-top: 1px solid #f0f0f0;\n}\n.index__wrapper--3YpmJ .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--3YpmJ .ant-spin-container {\n height: 100%;\n}\n.index__step--3Meey {\n height: 80px;\n margin-bottom: 16px;\n padding-top: 24px;\n padding-right: 56px;\n padding-left: 56px;\n background: #fff;\n}\n.index__form--3Sbom {\n height: 100%;\n min-height: calc(100vh - 280px);\n padding-top: 16px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3Sbom .sl-form {\n height: calc(100vh - 219px);\n padding-bottom: 48px;\n}\n.index__footer--32Ya5 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n min-height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--2ujTQ {\n float: right;\n min-width: 200px;\n margin-right: 32px;\n}\n.index__btns--2ujTQ button {\n margin-left: 8px;\n}\n.index__footer-left--KbV3J {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n justify-items: left;\n float: left;\n min-height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__right-top-extra-wrapper--55yRM {\n position: absolute;\n top: 95px;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3YpmJ",step:"index__step--3Meey",form:"index__form--3Sbom",footer:"index__footer--32Ya5",btns:"index__btns--2ujTQ","footer-left":"index__footer-left--KbV3J","right-top-extra-wrapper":"index__right-top-extra-wrapper--55yRM"}},2049:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(54)),o=l(n(63)),s=l(n(1277)),u=l(n(28)),d=l(n(49)),c=l(n(35)),f=l(n(92)),p=l(n(0)),h=n(163);class m{constructor(e){var a=this;(0,c.default)(this,"policy",""),(0,c.default)(this,"aliasPolicy",""),(0,c.default)(this,"unescape",(e=>(0,h.unescapeHtml)(e))),(0,c.default)(this,"getItemId",(e=>e.id)),(0,c.default)(this,"getItemName",(e=>e.name||"- (".concat(this.getItemId(e),")"))),(0,c.default)(this,"getName",(e=>(0,f.default)(e)?(0,i.default)(e).call(e,(e=>this.getItemName(e))).join(", "):this.getItemName(e))),(0,c.default)(this,"allowedCheckFunc",(e=>!0)),(0,c.default)(this,"allowed",(e=>(0,f.default)(e)?o.default.all((0,i.default)(e).call(e,(e=>o.default.resolve(this.allowedCheckFunc(e))))):o.default.resolve(this.allowedCheckFunc(e)))),(0,c.default)(this,"confirmContext",(e=>{if(!this.messageHasItemName)return t("Are you sure to {action}?",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"submitSuccessMsg",(e=>{var a=this.getName(e);return this.isAsyncAction?this.messageHasItemName?(0,h.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title})):this.messageHasItemName?(0,h.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("{action} successfully.",{action:this.actionNameDisplay||this.title}))})),(0,c.default)(this,"performErrorMsg",((e,a)=>{if(a){if(!this.messageHasItemName)return"";var n=this.getName(e);return t("instance: {name}.",{name:n})}if(!this.messageHasItemName)return t("You are not allowed to {action}.",{action:this.actionNameDisplay||this.title});var r=this.getName(e);return t("You are not allowed to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:r})})),(0,c.default)(this,"submitErrorMsg",(e=>{if(!this.messageHasItemName)return t("Unable to {action}.",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Unable to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"onSubmit",(e=>o.default.resolve())),(0,c.default)(this,"perform",function(){var e=(0,d.default)((function*(e){if((0,f.default)(e)&&0===e.length)return o.default.reject(t("Please select item!"));var n=yield a.allowed(e);if((0,f.default)(e)){var r=(0,f.default)(e)?e:[e];if((0,s.default)(n).call(n,(e=>!!e)))return o.default.resolve(!0);var l=[];(0,u.default)(n).call(n,((e,t)=>{e||l.push(r[t])}));var i=a.unescape(a.performErrorMsg(l,!0)),d=a.getBatchPerformTitle(),c=p.default.createElement("div",null,d&&p.default.createElement("p",null,d),p.default.createElement("p",null,i));return o.default.reject(c)}if(n)return o.default.resolve(!0);var h=a.performErrorMsg(e);return o.default.reject(h)}));return function(t){return e.apply(this,arguments)}}());var{item:n,containerProps:r}=e;n&&(this.item=n),r&&(this.containerProps=r)}get id(){return"id"}get actionType(){return"confirm"}get actionName(){return""}get actionNameDisplay(){return this.actionName.toLowerCase()}get passiveAction(){return t("be deleted")}get title(){return t("Delete")}get buttonType(){return"default"}get isDanger(){return!1}get buttonText(){return""}get okText(){return t("Confirm")}get cancelText(){return t("Cancel")}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps||{};return e}get isAsyncAction(){return!1}get messageHasItemName(){return!0}getBatchPerformTitle(){return this.messageHasItemName?t("There are resources that cannot {action} in the selected resources, such as:",{action:this.passiveAction.toLowerCase()}):t("There are resources that cannot {action} in the selected resources.",{action:this.passiveAction.toLowerCase()})}}a.default=m,(0,c.default)(m,"actionType","confirm")},2050:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.GlobalHeaderRight=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(231);var d=o(n(341)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),f=n(412),p=(n(161),o(n(2051))),h=o(n(1346));function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends c.Component{get isAdminPage(){var{isAdminPage:e=!1}=this.props;return e}get isUserCenterPage(){var{isUserCenterPage:e=!1}=this.props;return e}renderConsole(){return this.isAdminPage||this.isUserCenterPage?c.default.createElement(d.default,{type:"link",href:"/base/overview",className:h.default["single-link"]},t("Console")):null}renderAdministrator(){var{rootStore:{hasAdminPageRole:e=!1}={}}=this.props;return!e||this.isAdminPage?null:c.default.createElement(d.default,{type:"link",href:"/base/overview-admin",className:h.default["single-link"]},t("Administrator"))}renderExtra(){return null}renderExtraLink(){return null}render(){return c.default.createElement("div",{className:h.default.right},c.default.createElement(s.default,{justify:"space-between",align:"middle",gutter:10},c.default.createElement(u.default,null,this.renderExtraLink(),this.renderConsole(),this.renderAdministrator()),this.renderExtra(),c.default.createElement(u.default,null,c.default.createElement(p.default,{menu:!0}))))}}a.GlobalHeaderRight=g;var v=(0,f.inject)("rootStore")((0,f.observer)(g));a.default=v},2051:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.AvatarDropdown=void 0;var i=l(n(54)),o=l(n(77)),s=l(n(1348));n(347);var u=l(n(348));n(1276);var d=l(n(421));n(231);var c=l(n(341));n(568);var f=l(n(415)),p=l(n(35)),h=l(n(0)),m=n(412),g=(n(161),n(564),l(n(237))),v=l(n(1302)),y=l(n(2052)),b=l(n(2053)),x=l(n(2054)),w=l(n(2056)),k=l(n(1346)),{getLocale:C,setLocale:_,SUPPORT_LOCALES:M}=g.default;class S extends h.default.Component{constructor(){super(...arguments),(0,p.default)(this,"changeLang",(e=>_(e,!0))),(0,p.default)(this,"onMenuClick",(e=>{var{key:t}=e})),(0,p.default)(this,"handleLogout",(e=>{e&&e.preventDefault&&e.preventDefault(),this.rootStore.logout()})),(0,p.default)(this,"afterChangePassword",((e,t)=>{e&&this.rootStore.logout()})),(0,p.default)(this,"onClickSelectLanguage",(e=>{e&&e.preventDefault(),e&&e.stopPropagation()}))}get rootStore(){return this.props.rootStore||{}}get user(){var{user:e}=this.rootStore;return e||null}renderLanguageSwitch(){var e=C(),{length:t}=M;if(t>3){var a=(0,i.default)(M).call(M,(e=>({label:e.icon.toLocaleUpperCase(),value:e.value})));return h.default.createElement("div",{style:{float:"right"}},h.default.createElement(f.default,{options:a,value:e,onChange:this.changeLang,onClick:this.onClickSelectLanguage}))}var n=(0,i.default)(M).call(M,((a,n)=>{var{value:r,icon:l}=a;return h.default.createElement(h.default.Fragment,null,h.default.createElement(c.default,{className:0===n?k.default["no-padding-top"]:"",type:"link",disabled:e===r,onClick:()=>{this.changeLang(r)}},l.toUpperCase()),n!==t-1&&h.default.createElement("span",null,"/"))}));return h.default.createElement("span",{style:{float:"right"}},n)}renderLanguageMenuItem(){var e;return M.length<=1?null:h.default.createElement(d.default.Item,{key:"language",className:(0,o.default)(e="".concat(k.default["no-hover"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,t("Switch Language")),this.renderLanguageSwitch())}render(){var e,a,n,r;if(!this.user)return h.default.createElement(u.default,{size:"small",style:{marginLeft:8,marginRight:8}});var{name:l}=this.user.user,i=h.default.createElement(d.default,{className:k.default.menu,onClick:this.onMenuClick},h.default.createElement(d.default.Item,{key:"user",className:(0,o.default)(e=(0,o.default)(a="".concat(k.default["no-hover"]," ")).call(a,k.default["name-item"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,h.default.createElement("span",{className:k.default["user-label"]},t("User")),h.default.createElement("span",null,l)),h.default.createElement(c.default,{type:"link",onClick:this.handleLogout,className:(0,o.default)(n=(0,o.default)(r="".concat(k.default["menu-btn"]," ")).call(r,k.default.logout," ")).call(n,k.default["no-padding-top"])},t("Sign Out"))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),this.renderLanguageMenuItem(),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"userCenter",className:k.default["menu-item"]},h.default.createElement(c.default,{href:"/user/center",type:"link",style:{textAlign:"left"}},t("User Center"))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"password",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:y.default}]},onFinishAction:this.afterChangePassword,item:this.user&&this.user.user,isWide:!0})),h.default.createElement(d.default.Item,{key:"token",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:b.default}]},isWide:!0})),h.default.createElement(d.default.Item,{key:"openrc",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:x.default}]},isWide:!0})));return h.default.createElement(w.default,{overlay:i},h.default.createElement("div",{className:"".concat(k.default.action)},h.default.createElement(c.default,{shape:"circle",icon:h.default.createElement(s.default,null),className:k.default.avatar})))}}a.AvatarDropdown=S;var I=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=I},2052:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Password=void 0;var i=l(n(63)),o=l(n(35)),s=n(412),u=n(1241),d=n(565),c=l(n(1255));class f extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{password:a,oldPassword:n}=e;return c.default.changePasswordUser({id:t,password:a,original_password:n})}))}get name(){return t("Update user password")}get defaultValue(){var{name:e}=this.item;return{name:e,password:"",confirmPassword:""}}get formItems(){return[{name:"name",label:t("User"),type:"label",iconType:"user"},{name:"oldPassword",label:t("Original Password"),type:"input-password",required:!0},{name:"password",label:t("Password"),type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("password","user")},{name:"confirmPassword",label:t("Confirm Password"),dependencies:["password"],type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("confirmPassword","user")}]}}a.Password=f,(0,o.default)(f,"id","update-user-password"),(0,o.default)(f,"title",t("Update User Password")),(0,o.default)(f,"policy",[]),(0,o.default)(f,"allowed",(()=>i.default.resolve(!0)));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},2053:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Token=void 0;var i=l(n(635)),o=l(n(63)),s=l(n(35));n(594);var u=l(n(595)),d=l(n(0)),c=n(412),f=(n(161),n(1241)),p=n(1251),h=n(580),m=l(n(1346)),{Paragraph:g}=u.default;class v extends f.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"getLeftStr",(e=>{var a=e-(0,i.default)(),n=Math.floor(a/1e3);if(n<60)return t("{seconds} seconds",{seconds:n});var r=Math.floor(n/60),l=n%60;if(r<60)return t("{minutes} minutes {leftSeconds} seconds",{minutes:r,leftSeconds:l});var o=Math.floor(r/60);return t("{hours} hours {leftMinutes} minutes {leftSeconds} seconds",{hours:o,leftMinutes:r%60,leftSeconds:l})})),(0,s.default)(this,"onSubmit",(()=>o.default.resolve()))}get name(){return t("Get Token")}get token(){var e=localStorage.getItem("keystone_token");try{return JSON.parse(e)||{}}catch(e){return{}}}get showNotice(){return!1}get tokenValue(){return this.token.value||""}get keystoneTokenExp(){var{keystone_token_exp:e}=this.props.rootStore.user||{};return(0,h.getLocalTime)(e).valueOf()}get tips(){return(0,i.default)()>this.keystoneTokenExp?d.default.createElement("span",{style:globalCSS.warnDarkColor},t("Keystone token is expired.")):t("Please save your token properly and it will be valid for {left}.",{left:this.getLeftStr(this.keystoneTokenExp)})}get defaultValue(){return{token:this.tokenValue}}get labelCol(){return{xs:{span:0},sm:{span:0}}}get wrapperCol(){return{xs:{span:24},sm:{span:24}}}get formItems(){return[{name:"token",label:"",type:"label",component:d.default.createElement(g,{copyable:{text:this.tokenValue},className:m.default.token},d.default.createElement("pre",null,this.tokenValue))}]}}a.Token=v,(0,s.default)(v,"id","get-token"),(0,s.default)(v,"title",t("Get Token")),(0,s.default)(v,"policy",p.allCanReadPolicy),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},2054:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.OpenRc=void 0;var i=l(n(29)),o=l(n(63)),s=l(n(35)),u=n(412),d=n(1241),c=n(1251),f=l(n(1569)),p=n(2055),h=l(n(1352));class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"exportRcFile",(e=>{var t=new Blob([e],{type:"text/plain;charset=utf-8"});h.default.saveAs(t,"openrc.sh")})),(0,s.default)(this,"onSubmit",(e=>{var{type:t}=e;return this.store.fetchList().then((()=>this.exportRcFile(this.getOpenRC(t))))}))}init(){this.store=f.default}get name(){return t("Get OpenRC file")}get showNotice(){return!1}get user(){var{user:e}=this.props.rootStore;return e}getOpenRC(e){var{project:{id:t="",name:a="",domain:{name:n}={}}={},user:{name:r="",domain:{name:l}={}}={},region:o}=this.user||{},{data:s}=this.store.list,{endpoints:u}=(0,i.default)(s).call(s,(e=>"keystone"===e.name))[0],d=(0,i.default)(u).call(u,(e=>"public"===e.interface))[0].url;return"password"===e?(0,p.getPwdOpenRc)({authUrl:d,projectId:t,projectName:a,projectDomain:n,userDomain:l,userName:r,region:o}):(0,p.getCredentialOpenRc)({authUrl:d,region:o})}get defaultValue(){return{type:"password"}}get formItems(){return[{name:"type",label:t("Type"),type:"select",options:[{label:t("Password Type"),value:"password"},{label:t("Credential Type"),value:"credential"}]}]}}a.OpenRc=m,(0,s.default)(m,"id","get-token"),(0,s.default)(m,"title",t("Get OpenRC file")),(0,s.default)(m,"policy",c.allCanReadPolicy),(0,s.default)(m,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},2055:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.getCredentialOpenRc=t.getPwdOpenRc=void 0;t.getPwdOpenRc=e=>{var{authUrl:t,projectId:a,projectName:n,projectDomain:r,userDomain:l,userName:i,region:o}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+"\n# With the addition of Keystone we have standardized on the term **project**\n# as the entity that owns the resources.\n"+"export OS_PROJECT_ID=".concat(a," \n")+"export OS_PROJECT_NAME=".concat(n,"\n")+"export OS_PROJECT_DOMAIN_NAME=".concat(r,"\n")+"export OS_USER_DOMAIN_NAME=".concat(l,"\n")+"\n# unset v2.0 items in case set\nunset OS_TENANT_ID\nunset OS_TENANT_NAME\n# In addition to the owning entity (tenant), OpenStack stores the entity\n# performing the action as the **user**.\n"+"export OS_USERNAME=".concat(i,"\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "\nread -sr OS_PASSWORD_INPUT\nexport OS_PASSWORD=$OS_PASSWORD_INPUT\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(o,"\n")+'\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\n\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}'};t.getCredentialOpenRc=e=>{var{authUrl:t,region:a}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Credential ID as OS_APPLICATION_CREDENTIAL_ID: "\nread -sr OS_APPLICATION_CREDENTIAL_ID\nexport OS_APPLICATION_CREDENTIAL_ID=$OS_APPLICATION_CREDENTIAL_ID\necho "Please enter your OpenStack Credential Secret as OS_APPLICATION_CREDENTIAL_SECRET: "\nread -sr OS_APPLICATION_CREDENTIAL_SECRET\nexport OS_APPLICATION_CREDENTIAL_SECRET=$OS_APPLICATION_CREDENTIAL_SECRET\n\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\nexport OS_AUTH_TYPE=v3applicationcredential\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(a,"\n")+"\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}"}},2056:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0,a(586);var l=r(a(424)),i=r(a(343)),o=r(a(58)),s=(a(161),r(a(0))),u=r(a(4)),d=e=>{var{overlayClassName:t}=e,a=(0,o.default)(e,["overlayClassName"]);return s.default.createElement(l.default,(0,i.default)({overlayClassName:(0,u.default)(t)},a))};t.default=d},2057:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1570)),i=r(a(1450)),o=r(a(1451)),s=r(a(1571)),u=r(a(1452)),d=r(a(1572)),c=r(a(1453)),f=r(a(1342)),p=r(a(1381)),h=r(a(1377)),m=r(a(1382)),g=r(a(0)),v=(a(564),e=>e?[{path:"/base/overview-admin",name:e("Home"),key:"overviewAdmin",icon:g.default.createElement(m.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"computeAdmin",icon:g.default.createElement(h.default,null),children:[{path:"/compute/instance-admin",name:e("Instances"),key:"instanceAdmin",level:1,children:[{path:/^\/compute\/instance-admin\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetailAdmin",routePath:"/compute/instance-admin/detail/:id",level:2}]},{path:"/compute/instance-snapshot-admin",name:e("Instance Snapshots"),key:"instanceSnapshotAdmin",level:1,children:[{path:/^\/compute\/instance-snapshot-admin\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetailAdmin",level:2,routePath:"/compute/instance-snapshot-admin/detail/:id"}]},{path:"/compute/flavor-admin",name:e("Flavors"),key:"flavorAdmin",level:1,children:[{path:"/compute/flavor-admin/create",name:e("Create Flavor"),key:"flavorCreateAdmin",level:2},{path:/^\/compute\/flavor-admin\/detail\/[^/]+$/,name:e("Flavor Detail"),key:"flavorDetailAdmin",routePath:"/compute/flavor-admin/detail/:id",level:2}]},{path:"/compute/server-group-admin",name:e("Server Groups"),key:"serverGroupAdmin",level:1,children:[{path:/^\/compute\/server-group-admin\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetailAdmin",routePath:"/compute/server-group-admin/detail/:id",level:2}]},{path:"/compute/image-admin",name:e("Images"),key:"imageAdmin",level:1,children:[{path:/^\/compute\/image-admin\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetailAdmin",routePath:"/compute/image-admin/detail/:id",level:2},{path:"/compute/image-admin/create",name:e("Create Image"),key:"imageCreateAdmin",level:2}]},{path:"/compute/hypervisors-admin",name:e("Hypervisors"),key:"hypervisorAdmin",level:1,children:[{path:/^\/compute\/hypervisors-admin\/detail\/.[^/]+$/,name:e("Hypervisor Detail"),key:"hypervisorDetailAdmin",routePath:"/compute/hypervisors-admin/detail/:id",level:2}]},{path:"/compute/aggregates-admin",name:e("Host Aggregates"),key:"aggregateAdmin",level:1,children:[]},{path:"/compute/baremetal-node-admin",name:e("Bare Metal Nodes"),key:"baremetalNodeAdmin",endpoints:"ironic",level:1,children:[{path:/^\/compute\/baremetal-node-admin\/detail\/.[^/]+$/,name:e("Bare Metal Node Detail"),key:"baremetalNodeDetailAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2},{path:/^\/compute\/baremetal-node-admin\/create$/,name:e("Create Bare Metal Node"),key:"baremetalNodeCreateAdmin",level:2},{path:/^\/compute\/baremetal-node-admin\/edit\/.[^/]+$/,name:e("Edit Bare Metal Node"),key:"baremetalNodeEditAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2}]}]},{path:"/storage",name:e("Storage"),key:"storageAdmin",icon:g.default.createElement(p.default,null),children:[{path:"/storage/volume-admin",name:e("Volumes"),key:"volumeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-admin\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetailAdmin",level:2,routePath:"/storage/volume-admin/detail/:id"}]},{path:"/storage/backup-admin",name:e("Volume Backups"),key:"backupAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup-admin\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetailAdmin",level:2,routePath:"/storage/backup-admin/detail/:id"}]},{path:"/storage/snapshot-admin",name:e("Volume Snapshots"),key:"snapshotAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot-admin\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetailAdmin",level:2,routePath:"/storage/snapshot-admin/detail/:id"}]},{path:"/storage/volume-type-admin",name:e("Volume Types"),key:"volumeTypeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-type-admin\/detail\/.[^/]+$/,name:e("Volume Type Detail"),key:"volumeTypeDetailAdmin",level:2,routePath:"/storage/volume-type-admin/detail/:id"},{path:/^\/storage\/volume-type-admin\/qos\/detail\/.[^/]+$/,name:e("QoS Detail"),key:"volumeTypeQosDetailAdmin",level:2,routePath:"/storage/volume-type-admin/qos/detail/:id"}]},{path:"/storage/storage-admin",name:e("Storage Backends"),key:"storageBackendAdmin",level:1,endpoints:"cinder",children:[]}]},{path:"/network",name:e("Network"),key:"/networkAdmin",icon:g.default.createElement(f.default,null),children:[{path:"/network/networks-admin",name:e("Networks"),key:"networkAdmin",level:1,children:[{path:/^\/network\/networks-admin\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:id"}]},{path:"/network/port-admin",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port-admin\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetailAdmin",level:2,routePath:"/network/port-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/port/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetailAdmin",level:2,routePath:"/network/instance-admin/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy-admin",name:e("QoS Policies"),key:"networkQosAdmin",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy-admin\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetailAdmin",level:2,routePath:"/network/qos-policy-admin/detail/:id"}]},{path:"/network/router-admin",name:e("Routers"),key:"routerAdmin",level:1,children:[{path:/^\/network\/router-admin\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetailAdmin",level:2,routePath:"/network/router-admin/detail/:id"},{path:/^\/network\/router-admin\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetailAdmin",level:2,routePath:"/network/router-admin/:routerId/port/:id"}]},{path:"/network/floatingip-admin",name:e("Floating IPs"),key:"fipAdmin",level:1,children:[{path:/^\/network\/floatingip-admin\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetailAdmin",level:2,routePath:"/network/floatingip-admin/detail/:id"}]},{path:"/network/load-balancers-admin",name:e("Load Balancers"),key:"lbAdmin",endpoints:"octavia",level:1,children:[{path:/^\/network\/load-balancers-admin\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetailAdmin",level:2,routePath:"/network/load-balancers-admin/detail/:id"},{path:/^\/network\/load-balancers-admin\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetailAdmin",level:2,routePath:"/network/load-balancers-admin/:loadBalancerId/listener/:id"}]},{path:"/network/vpn-admin",name:e("VPNs"),key:"vpnAdmin",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection-admin\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetailAdmin",level:2,routePath:"/network/ipsec-site-connection-admin/detail/:id"}]},{path:"/network/security-group-admin",name:e("Security Groups"),key:"securityGroupAdmin",level:1,children:[{path:/^\/network\/security-group-admin\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetailAdmin",level:2,routePath:"/network/security-group-admin/detail/:id"}]},{path:"/network/rbac-policies-admin",name:e("RBAC Policies"),key:"rbacPolicyAdmin",level:1,children:[{path:/^\/network\/rbac-policies-admin\/detail\/.[^/]+$/,name:e("RBAC Policy Detail"),key:"rbacPolicyDetailAdmin",level:2,routePath:"/network/rbac-policies-admin/detail/:id"}]},{path:"/network/firewall-admin",name:e("Firewalls"),key:"firewallAdmin",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy-admin\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetailAdmin",level:2,routePath:"/network/firewall-policy-admin/detail/:id"},{path:/^\/network\/firewall-admin\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetailAdmin",level:2,routePath:"/network/firewall-admin/:firewallId/port/:portId"},{path:/^\/network\/firewall-admin\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetailAdmin",level:2,routePath:"/network/firewall-admin/detail/:id"},{path:/^\/network\/firewall-rule-admin\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetailAdmin",level:2,routePath:"/network/firewall-rule-admin/detail/:id"}]},{path:"/network/dns-admin/zones",name:e("DNS Zones"),key:"dnsZonesAdmin",endpoints:"designate",level:1,children:[{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:id"},{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:zoneId/recordsets/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorageAdmin",endpoints:"manilav2",icon:g.default.createElement(c.default,null),children:[{path:"/share/share-admin",name:e("Shares"),key:"shareAdmin",level:1,children:[{path:/^\/share\/share-admin\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetailAdmin",level:2,routePath:"/share/share-admin/detail/:id"}]},{path:"/share/share-type-admin",name:e("Share Types"),key:"shareTypeAdmin",level:1,children:[{path:/^\/share\/share-type-admin\/detail\/.[^/]+$/,name:e("Share Type Detail"),key:"shareTypeDetailAdmin",level:2,routePath:"/share/share-type-admin/detail/:id"}]},{path:"/share/share-group-type-admin",name:e("Share Group Types"),key:"shareGroupTypeAdmin",level:1,children:[{path:/^\/share\/share-group-type-admin\/detail\/.[^/]+$/,name:e("Share Group Type Detail"),key:"shareGroupTypeDetailAdmin",level:2,routePath:"/share/share-group-type-admin/detail/:id"}]},{path:"/share/share-network-admin",name:e("Share Networks"),key:"shareNetworkAdmin",level:1,children:[{path:/^\/share\/share-network-admin\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetailAdmin",level:2,routePath:"/share/share-network-admin/detail/:id"}]},{path:"/share/share-server-admin",name:e("Share Servers"),key:"shareServerAdmin",level:1,children:[{path:/^\/share\/share-server-admin\/detail\/.[^/]+$/,name:e("Share Server Detail"),key:"shareServerDetailAdmin",level:2,routePath:"/share/share-server-admin/detail/:id"}]},{path:"/share/share-instance-admin",name:e("Share Instances"),key:"shareInstanceAdmin",level:1,children:[{path:/^\/share\/share-instance-admin\/detail\/.[^/]+$/,name:e("Share Instance Detail"),key:"shareInstanceDetailAdmin",level:2,routePath:"/share/share-instance-admin/detail/:id"}]},{path:"/share/share-group-admin",name:e("Share Groups"),key:"shareGroupAdmin",level:1,children:[{path:/^\/share\/share-group-admin\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetailAdmin",level:2,routePath:"/share/share-group-admin/detail/:id"}]},{path:"/share/storage-admin",name:e("Storage Backends"),key:"shareStorageBackendAdmin",level:1,children:[]}]},{path:"/identity",name:e("Identity"),key:"/identity",icon:g.default.createElement(d.default,null),children:[{path:"/identity/domain-admin",name:e("Domains"),key:"domainAdmin",level:1,children:[{path:/^\/identity\/domain-admin\/detail\/.[^/]+$/,name:e("Domain Detail"),key:"domainDetailAdmin",level:2,routePath:"/identity/domain-admin/detail/:id"}]},{path:"/identity/project-admin",name:e("Projects"),key:"projectAdmin",level:1,children:[{path:/^\/identity\/project-admin\/detail\/.[^/]+$/,name:e("Project Detail"),key:"projectDetailAdmin",level:2,routePath:"/identity/project-admin/detail/:id"},{path:"/identity/project-admin/create",name:e("Create Project"),key:"projectCreateAdmin",level:2},{path:/^\/identity\/project-admin\/edit\/.[^/]+$/,name:e("Edit Project"),key:"projectEditAdmin",level:2,routePath:"/identity/project-admin/edit/:id"}]},{path:"/identity/user-admin",name:e("Users"),key:"userAdmin",level:1,children:[{path:/^\/identity\/user-admin\/detail\/.[^/]+$/,name:e("User Detail"),key:"userDetailAdmin",level:2,routePath:"/identity/user-admin/detail/:id"},{path:"/identity/user-admin/create",name:e("Create User"),key:"userCreateAdmin",level:2},{path:/^\/identity\/user-admin\/edit\/.[^/]+$/,name:e("User Edit"),key:"userEditAdmin",level:2,routePath:"/identity/user-admin/edit/:id"}]},{path:"/identity/user-group-admin",name:e("User Groups"),key:"userGroupAdmin",level:1,children:[{path:/^\/identity\/user-group-admin\/detail\/.[^/]+$/,name:e("User Group Detail"),key:"userGroupDetailAdmin",level:2,routePath:"/identity/user-group-admin/detail/:id"},{path:"/identity/user-group-admin/create",name:e("Create User Group"),key:"userGroupCreateAdmin",level:2},{path:/^\/identity\/user-group-admin\/edit\/.[^/]+$/,name:e("Edit User Group"),key:"userGroupEditAdmin",level:2,routePath:"/identity/user-group-admin/edit/:id"}]},{path:"/identity/role-admin",name:e("Roles"),key:"roleAdmin",level:1,children:[{path:/^\/identity\/role-admin\/detail\/.[^/]+$/,name:e("Role Detail"),key:"roleDetailAdmin",level:2,routePath:"/identity/role-admin/detail/:id"}]}]},{path:"/database",name:e("Database"),key:"databaseAdmin",endpoints:"trove",icon:g.default.createElement(u.default,null),children:[{path:"/database/instances-admin",name:e("Database Instances"),key:"databaseInstancesAdmin",level:1,children:[{path:/^\/database\/instances-admin\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetailAdmin",level:2,routePath:"/database/instances-admin/detail/:id"}]}]},{path:"/monitor-center",name:e("Monitor Center"),key:"/monitorCenterAdmin",icon:g.default.createElement(s.default,null),children:[{path:"/monitor-center/overview-admin",name:e("Monitor Overview"),key:"monitorOverviewAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/physical-node-admin",name:e("Physical Nodes"),key:"monitorPhysicalNodeAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/storage-cluster-admin",name:e("Storage Clusters"),key:"monitorStorageClusterAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/openstack-service-admin",name:e("OpenStack Services"),key:"monitorOpenstackServiceAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/other-service-admin",name:e("Other Services"),key:"monitorOtherServiceAdmin",level:1,children:[],hasBreadcrumb:!0}]},{path:"/configuration-admin",name:e("Global Setting"),key:"configurationAdmin",icon:g.default.createElement(o.default,null),children:[{path:"/configuration-admin/info",name:e("System Info"),key:"systemInfoAdmin",level:1,children:[{path:/^\/configuration-admin\/neutron\/detail\/.[^/]+$/,name:e("Neutron Agent Detail"),key:"neutronAgentDetailAdmin",level:2,routePath:"/configuration-admin/neutron/detail/:id"}]},{path:"/configuration-admin/setting",name:e("System Config"),key:"settingAdmin",level:1},{path:"/configuration-admin/metadata",name:e("Metadata Definitions"),key:"metadataAdmin",level:1,children:[{path:/^\/configuration-admin\/metadata\/detail\/.[^/]+$/,name:e("Metadata Detail"),key:"metadataDetailAdmin",level:2,routePath:"/configuration-admin/metadata/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"containerAdmin",icon:g.default.createElement(i.default,null),children:[{path:"/container-service/containers-admin",name:e("Containers"),key:"zunContainersAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/containers-admin\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetailAdmin",level:2,routePath:"/container-service/containers-admin/detail/:id"}]},{path:"/container-service/hosts-admin",name:e("Hosts"),key:"zunHostsAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"zuHostsDetailAdmin",level:2,routePath:"/container-service/hosts-admin/detail/:id"}]},{path:"/container-service/services-admin",name:e("Services"),key:"zunServicesAdmin",endpoints:"zun",level:1},{path:"/container-infra/clusters-admin",name:e("Clusters"),key:"containerInfraClustersAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters-admin\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetailAdmin",level:2,routePath:"/container-infra/clusters-admin/detail/:id"}]},{path:"/container-infra/cluster-template-admin",name:e("Cluster Templates"),key:"clusterTemplateAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template-admin\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetailAdmin",level:2,routePath:"/container-infra/cluster-template-admin/detail/:id"}]}]},{path:"/ha",name:e("Instance-HA"),key:"masakari",icon:g.default.createElement(l.default,null),endpoints:"masakari",children:[{path:"/ha/segments-admin",name:e("Segments"),key:"masakariSegmentsAdmin",level:1,children:[{path:"/ha/segments-admin/create-step-admin",name:e("Create Segment"),key:"masakariSegmentsCreateAdmin",level:2},{path:/^\/ha\/segments-admin\/detail\/.[^/]+$/,name:e("Segment Detail"),key:"masakariSegmentDetailAdmin",level:2,routePath:"/ha/segments-admin/detail/:id"}]},{path:"/ha/hosts-admin",name:e("Hosts"),key:"masakariHostsAdmin",level:1,children:[{path:/^\/ha\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"masakariHostDetailAdmin",level:2,routePath:"/ha/hosts-admin/detail/:id"}]},{path:"/ha/notifications-admin",name:e("Notifications"),key:"masakariNotificationsAdmin",level:1,children:[{path:/^\/ha\/notifications-admin\/detail\/.[^/]+$/,name:e("Notification Detail"),key:"masakariNotificationDetailAdmin",level:2,routePath:"/ha/notifications-admin/detail/:id"}]}]}]:[]);t.default=v},2067:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1450)),i=r(a(1452)),o=r(a(1434)),s=r(a(1453)),u=r(a(1342)),d=r(a(1381)),c=r(a(1377)),f=r(a(1382)),p=r(a(0)),h=(a(564),e=>e?[{path:"/base/overview",name:e("Home"),key:"overview",icon:p.default.createElement(f.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"compute",icon:p.default.createElement(c.default,null),children:[{path:"/compute/instance",name:e("Instances"),key:"instance",level:1,children:[{path:/^\/compute\/instance\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetail",level:2,routePath:"/compute/instance/detail/:id"},{path:"/compute/instance/create",name:e("Create Instance"),key:"instanceCreate",level:2},{path:"/compute/ironic-instance/create",name:e("Create Ironic Instance"),key:"ironicCreate",level:2}]},{path:"/compute/instance-snapshot",name:e("Instance Snapshots"),key:"instanceSnapshot",level:1,children:[{path:/^\/compute\/instance-snapshot\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetail",level:2,routePath:"/compute/instance-snapshot/detail/:id"}]},{path:"/compute/flavor",name:e("Flavors"),key:"flavor",level:1,children:[{path:/^\/compute\/flavor\/detail\/.[^/]+$/,name:e("Flavor Detail"),key:"flavorDetail",level:2,routePath:"/compute/flavor/detail/:id"}]},{path:"/compute/server-group",name:e("Server Groups"),key:"serverGroup",level:1,children:[{path:/^\/compute\/server-group\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetail",level:2,routePath:"/compute/server-group/detail/:id"}]},{path:"/compute/image",name:e("Images"),key:"image",level:1,children:[{path:/^\/compute\/image\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetail",level:2,routePath:"/compute/image/detail/:id"},{path:"/compute/image/create",name:e("Create Image"),key:"imageCreate",level:2}]},{path:"/compute/keypair",name:e("Key Pairs"),key:"keypair",level:1,children:[{path:/^\/compute\/keypair\/detail\/.[^/]*$/,name:e("Keypair Detail"),key:"keypairDetail",level:2,routePath:"/compute/keypair/detail/:id"}]}]},{path:"/storage",name:e("Storage"),key:"storage",icon:p.default.createElement(d.default,null),children:[{path:"/storage/volume",name:e("Volumes"),key:"volume",level:1,endpoints:"cinder",children:[{path:"/storage/volume/create",name:e("Create Volume"),key:"volumeCreate",level:2},{path:/^\/storage\/volume\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetail",level:2,routePath:"/storage/volume/detail/:id"}]},{path:"/storage/backup",name:e("Volume Backups"),key:"backup",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetail",level:2,routePath:"/storage/backup/detail/:id"}]},{path:"/storage/snapshot",name:e("Volume Snapshots"),key:"snapshot",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetail",level:2,routePath:"/storage/snapshot/detail/:id"}]},{path:"/storage/container",name:e("Object Storage"),key:"containers",endpoints:"swift",level:1,children:[{path:/^\/storage\/container\/detail\/[^/]+$/,name:e("Container Detail"),key:"containerDetail",level:2,routePath:"/storage/container/detail/:id"},{path:/^\/storage\/container\/detail\/[^/]+\/.+$/,name:e("Folder Detail"),key:"folderDetail",level:2,routePath:"/storage/container/detail/:container/:folder"}]}]},{path:"/network",name:e("Network"),key:"/network",icon:p.default.createElement(u.default,null),children:[{path:"/network/networks",name:e("Networks"),key:"network",level:1,children:[{path:/^\/network\/networks\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetail",level:2,routePath:"/network/networks/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:id"}]},{path:"/network/port",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetail",level:2,routePath:"/network/port/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetail",level:2,routePath:"/network/networks/detail/:networkId/port/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetail",level:2,routePath:"/network/instance/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy",name:e("QoS Policies"),key:"networkQos",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetail",level:2,routePath:"/network/qos-policy/detail/:id"}]},{path:"/network/router",name:e("Routers"),key:"router",level:1,children:[{path:/^\/network\/router\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetail",level:2,routePath:"/network/router/detail/:id"},{path:/^\/network\/router\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetail",level:2,routePath:"/network/router/:routerId/port/:id"}]},{path:"/network/floatingip",name:e("Floating IPs"),key:"fip",level:1,children:[{path:/^\/network\/floatingip\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetail",level:2,routePath:"/network/floatingip/detail/:id"}]},{path:"/network/topo",name:e("Topology"),key:"networkTopo",level:1,children:[]},{path:"/network/load-balancers",name:e("Load Balancers"),key:"lb",endpoints:"octavia",level:1,children:[{path:"/network/load-balancers/create",name:e("Create Loadbalancer"),key:"lbCreate",level:2},{path:/^\/network\/load-balancers\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetail",level:2,routePath:"/network/load-balancers/detail/:id"},{path:/^\/network\/load-balancers\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetail",level:2,routePath:"/network/load-balancers/:loadBalancerId/listener/:id"}]},{path:"/network/certificate",name:e("Certificates"),key:"certificate",endpoints:"barbican",level:1,children:[{path:/^\/network\/certificate-container\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateContainerDetail",level:2,routePath:"/network/certificate-container/detail/:id"},{path:/^\/network\/certificate-secret\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateSecretDetail",level:2,routePath:"/network/certificate-secret/detail/:id"}]},{path:"/network/vpn",name:e("VPNs"),key:"vpn",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetail",level:2,routePath:"/network/ipsec-site-connection/detail/:id"}]},{path:"/network/security-group",name:e("Security Groups"),key:"securityGroup",level:1,children:[{path:/^\/network\/security-group\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetail",level:2,routePath:"/network/security-group/detail/:id"}]},{path:"/network/firewall",name:e("Firewalls"),key:"firewall",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetail",level:2,routePath:"/network/firewall-policy/detail/:id"},{path:"/network/firewall-rule/create",name:e("Create Rule"),key:"firewallRuleCreate",level:2},{path:"/network/firewall-policy/add",name:e("Add Policy"),key:"firewallPolicyCreate",level:2},{path:"/network/firewall/create",name:e("Create Firewall"),key:"firewallCreate",level:2},{path:/^\/network\/firewall\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetail",level:2,routePath:"/network/firewall/:firewallId/port/:portId"},{path:/^\/network\/firewall-rule\/edit\/[^/]+$/,name:e("Rule Edit"),key:"firewallRuleEdit",level:2,routePath:"/network/firewall-rule/edit/:id"},{path:/^\/network\/firewall\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetail",level:2,routePath:"/network/firewall/detail/:id"},{path:/^\/network\/firewall-rule\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetail",level:2,routePath:"/network/firewall-rule/detail/:id"},{path:/^\/network\/firewall-policy\/edit\/[^/]+$/,name:e("Policy Edit"),key:"firewallPolicyEdit",level:2,routePath:"/network/firewall-policy/edit/:id"}]},{path:"/network/dns/zones",name:e("DNS Zones"),key:"dnsZones",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetail",level:2,routePath:"/network/dns/zones/detail/:id"},{path:/^\/network\/dns\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetail",level:2,routePath:"/network/dns/zones/detail/:zoneId/recordsets/:id"}]},{path:"/network/dns/reverse",name:e("DNS Reverse"),key:"dnsReverse",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/reverse\/detail\/.[^/]+$/,name:e("Reverse DNS Detail"),key:"dnsReverseDetail",level:2,routePath:"/network/dns/reverse/detail/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorage",endpoints:"manilav2",icon:p.default.createElement(s.default,null),children:[{path:"/share/share",name:e("Shares"),key:"share",level:1,children:[{path:/^\/share\/share\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetail",level:2,routePath:"/share/share/detail/:id"},{path:"/share/share/create",name:e("Create Share"),key:"shareCreate",level:2}]},{path:"/share/share-network",name:e("Share Networks"),key:"shareNetwork",level:1,children:[{path:/^\/share\/share-network\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetail",level:2,routePath:"/share/share-network/detail/:id"}]},{path:"/share/share-group",name:e("Share Groups"),key:"shareGroup",level:1,children:[{path:/^\/share\/share-group\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetail",level:2,routePath:"/share/share-group/detail/:id"}]}]},{path:"/heat",name:e("Orchestration"),key:"heat",endpoints:"heat",icon:p.default.createElement(o.default,null),children:[{path:"/heat/stack",name:e("Stacks"),key:"stack",level:1,children:[{path:/^\/heat\/stack\/detail\/.[^/]+\/.[^/]+$/,name:e("Stack Detail"),key:"stackDetail",level:2,routePath:"/heat/stack/detail/:id/:name"},{path:"/heat/stack/create",name:e("Create Stack"),key:"stackCreate",level:2},{path:/^\/heat\/stack\/edit\/.[^/]+\/.[^/]+$/,name:e("Update Template"),key:"stackEdit",level:2,routePath:"/heat/stack/edit/:id/:name"}]}]},{path:"/database",name:e("Database"),key:"database",endpoints:"trove",icon:p.default.createElement(i.default,null),children:[{path:"/database/instances",name:e("Database Instances"),key:"databaseInstances",level:1,children:[{path:/^\/database\/instances\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetail",level:2,routePath:"/database/instances/detail/:id"},{path:"/database/instances/create",name:e("Create Database Instance"),key:"databaseInstanceCreate",level:2}]},{path:"/database/backups",name:e("Backups"),key:"databaseBackups",level:1,children:[{path:/^\/database\/backup\/detail\/.[^/]+$/,name:e("Backup Detail"),key:"databaseBackupDetail",level:2,routePath:"/database/backups/detail/:id"}]},{path:"/database/configurations",name:e("Configuration Groups"),key:"configurations",level:1,children:[{path:/^\/database\/configuration\/detail\/.[^/]+$/,name:e("Configuration Detail"),key:"configurationsDetail",level:2,routePath:"/database/configurations/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"container",icon:p.default.createElement(l.default,null),children:[{path:"/container-service/containers",name:e("Containers"),key:"zunContainers",endpoints:"zun",level:1,children:[{path:"/container-service/containers/create",name:e("Create Container"),key:"zunContainersCreateContainer",level:2},{path:/^\/container-service\/containers\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetail",level:2,routePath:"/container-service/containers/detail/:id"}]},{path:"/container-service/capsules",name:e("Capsules"),key:"zunCapsules",endpoints:"zun",level:1,children:[{path:/^\/container-service\/capsules\/detail\/.[^/]+$/,name:e("Capsule Detail"),key:"zunCapsuleDetail",level:2,routePath:"/container-service/capsules/detail/:id"}]},{path:"/container-infra/clusters",name:e("Clusters"),key:"containerInfraClusters",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetail",level:2,routePath:"/container-infra/clusters/detail/:id"},{path:"/container-infra/clusters/create",name:e("Create Cluster"),key:"containerInfraCreateCluster",level:2}]},{path:"/container-infra/cluster-template",name:e("Cluster Templates"),key:"clusterTemplate",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetail",level:2,routePath:"/container-infra/cluster-template/detail/:id"},{path:"/container-infra/cluster-template/create",name:e("Create Cluster Template"),key:"containerInfraCreateClusterTemplate",level:2},{path:/^\/container-infra\/cluster-template\/update\/.[^/]+$/,name:e("Update Cluster Template"),key:"containerInfraUpdateClusterTemplate",level:2,routePath:"/container-infra/cluster-template/update/:id"}]}]}]:[]);t.default=h},2068:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1348)),i=r(a(1382)),o=r(a(0)),s=(a(564),e=>e?[{path:"/user/center",name:e("User Center"),key:"userCenter",icon:o.default.createElement(i.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/user/application-credentials",name:e("Application Credentials"),key:"applicationCredential",level:0,icon:o.default.createElement(l.default,null),children:[],hasChildren:!1}]:[]);t.default=s},2069:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.Right=void 0;var s=o(n(54)),u=o(n(77));n(1317);var d=o(n(1318));n(2070);var c=o(n(2073)),f=o(n(35));n(1431);var p=o(n(1432)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=(n(161),n(204)),g=n(412),v=o(n(4)),y=o(n(416)),b=o(n(1351)),x=o(n(690)),w=n(567),k=o(n(1454));function C(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(C=function(e){return e?a:t})(e)}var{Content:_}=p.default;class M extends h.Component{constructor(e){super(e),(0,f.default)(this,"checkHasTab",(()=>{var{currentRoutes:e=[]}=this.props;if(0===e.length)return!1;var{hasTab:t}=e[e.length-1];return t||!1})),(0,f.default)(this,"renderBreadcrumb",(function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||0===t.length)return null;var{hasBreadcrumb:a=!0}=t[t.length-1];if(!a&&void 0!==a)return null;var n=(0,s.default)(t).call(t,((e,a)=>0===a||a===t.length-1?h.default.createElement(c.default.Item,{key:e.key,className:k.default["breadcrumb-item"]},e.name):h.default.createElement(c.default.Item,{key:e.key},h.default.createElement(m.Link,{key:e.key,to:e.path,className:(0,v.default)(k.default["breadcrumb-item"],k.default["breadcrumb-link"])},e.name))));if(0===n.length)return null;var{hasTab:r}=t[t.length-1],l=r?k.default["breadcrumb-has-tab"]:"";return h.default.createElement("div",{className:(0,u.default)(e="".concat(k.default.breadcrumb," ")).call(e,l)},h.default.createElement(c.default,null,n))})),(0,f.default)(this,"renderChildren",((e,a,n)=>{var{hasError:r}=this.state;if(r)return h.default.createElement(b.default,{title:t("data"),link:this.getRoutePath("overview"),codeError:!0});try{var l,i;return h.default.createElement("div",{className:(0,u.default)(l=(0,u.default)(i="".concat(k.default.main," ")).call(i,e," ")).call(l,a)},(0,y.default)(this.routes,n))}catch(e){var o=this.getRoutePath("overview");return h.default.createElement(b.default,{title:t("data"),link:o,codeError:!0})}})),this.routes=e.route.routes,this.state={hasError:!1}}componentDidUpdate(e){var{location:{pathname:t}={}}=e,{location:{pathname:a}={}}=this.props;t!==a&&this.updateErrorState(!1)}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,w.getPath)({key:n,params:t,query:a})}updateErrorState(e){this.setState({hasError:e})}render(){var{pathname:e}=this.props.location,{collapsed:t,currentRoutes:a,isAdminPage:n=!1}=this.props,r=this.renderBreadcrumb(a),l=null!==r,{user:i}=this.props.rootStore,o=this.checkHasTab(e),s=l?"":k.default["main-no-breadcrumb"],u=o?k.default["main-has-tab"]:"",c={sliderCollapsed:t,isAdminPage:n},f=i?this.renderChildren(s,u,c):h.default.createElement("div",{style:{margin:"44px"}},h.default.createElement(d.default,null));return h.default.createElement(p.default,{className:(0,v.default)(k.default["base-layout-right"],t?k.default["base-layout-right-collapsed"]:"")},h.default.createElement(_,{className:k.default.content},r,h.default.createElement(h.Suspense,{fallback:h.default.createElement(x.default,{className:"sl-page-loading"})},f)))}}a.Right=M;var S=(0,g.inject)("rootStore")((0,g.observer)(M));a.default=S},2077:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__nav--1IKuR {\n left: -270px;\n}\n.index__header--3eaFT,\n.index__header-collapsed--2VIjO {\n top: 0;\n left: 0;\n z-index: 1000;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 40px;\n padding: 0;\n color: #fff;\n}\n.index__header-collapsed--2VIjO {\n padding-left: 40px;\n}\n.index__logo--t_KQf {\n height: 32px;\n margin: 16px 38px;\n}\n.index__logo-collapse--1dyW- {\n margin: 16px 24px;\n}\n.index__logo-image--1r9zB {\n height: 29px;\n}\n.index__logo-image-hover--r0EY5 {\n margin-left: -20px;\n}\n.index__site-layout-background--1KhiG {\n background: #fff;\n}\n.index__sider--3mcQr {\n position: relative;\n height: 100vh;\n overflow-y: auto;\n}\n.index__sider--3mcQr .ant-layout-sider-trigger {\n position: absolute;\n right: 0;\n bottom: 48px;\n width: 32px !important;\n height: 75px;\n font-size: 16px;\n line-height: 75px;\n background-color: #26262b;\n border-width: 32px;\n border-radius: 4px 0 0 4px;\n}\n.index__menu--38cbE,\n.index__menu-collapsed--3qSkQ {\n max-height: calc(100vh - 64px);\n padding-right: 14px;\n padding-left: 14px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.index__menu--38cbE::-webkit-scrollbar,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar {\n width: 12px;\n}\n.index__menu--38cbE::-webkit-scrollbar-track,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-track {\n background-color: #f5f5f5;\n border-radius: 0;\n}\n.index__menu--38cbE::-webkit-scrollbar-thumb,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-thumb {\n background-color: lightgray;\n border-radius: 0;\n}\n.index__menu--38cbE a,\n.index__menu-collapsed--3qSkQ a {\n color: inherit !important;\n}\n.index__menu--38cbE .ant-menu-item,\n.index__menu-collapsed--3qSkQ .ant-menu-item {\n font-size: 14px;\n}\n.index__menu--38cbE .ant-menu-submenu-title,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title {\n font-size: 14px;\n}\n.index__menu--38cbE .anticon,\n.index__menu-collapsed--3qSkQ .anticon {\n float: left;\n margin-right: 20px;\n font-size: 14px;\n line-height: 44px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected,\n.index__menu--38cbE .ant-menu-item-active,\n.index__menu-collapsed--3qSkQ .ant-menu-item-active {\n color: #fff !important;\n border-radius: 4px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__menu--38cbE .ant-menu-item-selected::after,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__menu--38cbE .ant-menu-submenu-active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-active,\n.index__menu--38cbE .ant-menu-submenu-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-selected,\n.index__menu--38cbE .ant-menu-submenu-title:hover,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:hover,\n.index__menu--38cbE .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n color: #fff !important;\n}\n.index__menu--38cbE .ant-menu-submenu-title:active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:active {\n background-color: #fdd831 !important;\n}\n.index__menu--38cbE .ant-menu-sub.ant-menu-inline,\n.index__menu-collapsed--3qSkQ .ant-menu-sub.ant-menu-inline {\n background: linear-gradient(-240deg, #3f004a 50%, #210c24 150%) !important;\n}\n.index__menu-item--3jS31 {\n font-size: 14px;\n}\n.index__menu-item--3jS31 a {\n color: inherit;\n}\n.index__menu-item--3jS31 a::before {\n width: 5px;\n}\n.index__content--2bhUz {\n height: calc(100vh - 40px);\n background-color: #fafafa;\n}\n.index__sub-menu--1MaIG {\n font-size: 10px;\n}\n.index__sub-menu--1MaIG .ant-menu-sub.ant-menu-inline {\n padding-right: 5px;\n padding-left: 5px;\n}\n.index__sub-menu--1MaIG .ant-menu-item > span::before {\n position: absolute;\n top: 18px;\n bottom: 0;\n left: 30px;\n width: 5px;\n height: 5px;\n background-color: rgba(255, 255, 255, 0.65);\n border-radius: 50%;\n content: '';\n}\n.index__sub-menu--1MaIG .ant-menu-item {\n margin-top: 4px !important;\n margin-bottom: 8px !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected:hover {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active > span::before {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active {\n background-color: transparent !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected > span::before {\n background-color: #fff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__sub-menu--1MaIG .ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-radius: 4px;\n}\n.index__sub-menu--1MaIG .ant-menu-dark {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n}\n.index__breadcrumb--2Wm6M {\n height: 50px;\n padding-left: 16px;\n background-color: #fff;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-item--qhsVt {\n font-size: 12px;\n line-height: 50px;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-link--3_6RK {\n color: #0068ff;\n}\n.index__breadcrumb-has-tab--Nwd3S {\n height: 80px;\n}\n.index__main--jl6wy {\n height: calc(100vh - 40px - 50px);\n overflow: hidden;\n}\n.index__main-no-breadcrumb--2XmS2 {\n height: calc(100vh - 40px);\n}\n.index__main-has-tab--3wlbw {\n margin-top: -42px;\n}\n.index__trigger-wrapper--rqEk9 {\n position: absolute;\n right: -24px;\n bottom: 48px;\n width: 24px !important;\n height: 70px;\n font-size: 16px;\n line-height: 70px;\n border-width: 24px;\n border-radius: 4px 0 0 4px;\n cursor: pointer;\n}\n.index__trigger--3pSSC {\n position: absolute;\n left: 0;\n color: #fff;\n font-size: 20px;\n}\n.index__trigger--3pSSC::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background: rgba(0, 0, 0, 0.35);\n border-right: none;\n border-radius: 0 4px 4px 0;\n -webkit-transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n -webkit-transform-origin: left;\n transform-origin: left;\n content: '';\n}\n.index__trigger-icon--2oz_J {\n margin-left: 2px;\n}\n.index__base-layout--1IYXj {\n position: relative;\n width: 100%;\n height: 100vh;\n}\n.index__base-layout-sider--1TtvU {\n position: absolute;\n top: 40px;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 230px;\n padding-top: 10px;\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-right: none;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU {\n width: 40px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ {\n padding-right: 0;\n padding-left: 0;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 12px !important;\n text-overflow: inherit;\n}\n.index__base-layout-right--3JjUr {\n position: absolute;\n top: 40px;\n right: 0;\n left: 230px;\n height: calc(100vh - 40px);\n}\n.index__base-layout-right-collapsed--2DIVo {\n left: 40px;\n}\n.index__base-layout-sider-hover--MC2Db {\n width: 230px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ {\n padding-right: 14px;\n padding-left: 14px;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 48px !important;\n text-overflow: ellipsis;\n}\n.index__notice--1C1vX {\n position: absolute;\n top: 48px;\n right: 0;\n z-index: 1100;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 384px;\n max-width: calc(100vw - 48px);\n margin: 0 24px 0 0;\n margin-bottom: 16px;\n padding: 16px 24px;\n overflow: hidden;\n color: #0068ff;\n font-size: 18px;\n line-height: 24px;\n word-wrap: break-word;\n background: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n cursor: pointer;\n}\n.index__menu-item-title--2G1wq {\n font-size: 14px;\n}\n.index__menu-item-title--2G1wq span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-item-title--2yPhe {\n color: rgba(255, 255, 255, 0.65);\n font-size: 14px;\n}\n.index__sub-menu-item-title--2yPhe span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-title--_bWGB {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.index__menu-item-title-wrapper--1WLcf {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",nav:"index__nav--1IKuR",header:"index__header--3eaFT","header-collapsed":"index__header-collapsed--2VIjO",logo:"index__logo--t_KQf","logo-collapse":"index__logo-collapse--1dyW-","logo-image":"index__logo-image--1r9zB","logo-image-hover":"index__logo-image-hover--r0EY5","site-layout-background":"index__site-layout-background--1KhiG",sider:"index__sider--3mcQr",menu:"index__menu--38cbE","menu-collapsed":"index__menu-collapsed--3qSkQ","menu-item":"index__menu-item--3jS31",content:"index__content--2bhUz","sub-menu":"index__sub-menu--1MaIG",breadcrumb:"index__breadcrumb--2Wm6M","breadcrumb-item":"index__breadcrumb-item--qhsVt","breadcrumb-link":"index__breadcrumb-link--3_6RK","breadcrumb-has-tab":"index__breadcrumb-has-tab--Nwd3S",main:"index__main--jl6wy","main-no-breadcrumb":"index__main-no-breadcrumb--2XmS2","main-has-tab":"index__main-has-tab--3wlbw","trigger-wrapper":"index__trigger-wrapper--rqEk9",trigger:"index__trigger--3pSSC","trigger-icon":"index__trigger-icon--2oz_J","base-layout":"index__base-layout--1IYXj","base-layout-sider":"index__base-layout-sider--1TtvU","base-layout-sider-collapsed":"index__base-layout-sider-collapsed--37BAU","menu-item-collapsed":"index__menu-item-collapsed--Vp0Qm","base-layout-right":"index__base-layout-right--3JjUr","base-layout-right-collapsed":"index__base-layout-right-collapsed--2DIVo","base-layout-sider-hover":"index__base-layout-sider-hover--MC2Db",notice:"index__notice--1C1vX","menu-item-title":"index__menu-item-title--2G1wq","sub-menu-item-title":"index__sub-menu-item-title--2yPhe","sub-menu-title":"index__sub-menu-title--_bWGB","menu-item-title-wrapper":"index__menu-item-title-wrapper--1WLcf"}},2078:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.LayoutMenu=void 0;var o=i(a(164)),s=i(a(54)),u=i(a(29)),d=i(a(86)),c=i(a(28)),f=i(a(350)),p=i(a(591)),h=i(a(77)),m=i(a(91)),g=i(a(1573)),v=i(a(1574));a(344);var y=i(a(202)),b=i(a(35));a(1276);var x=i(a(421)),w=i(a(205)),k=i(a(134)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=j(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),_=(a(161),a(564),a(412)),M=a(36),S=i(a(4)),I=a(567),N=i(a(237)),E=a(1710),T=a(1575),A=i(a(1454));function j(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(j=function(e){return e?a:t})(e)}var P={"/network":T.faSitemap,"/storage":T.faServer,"/compute":T.faMicrochip,"/random":T.faRandom},{SubMenu:D}=x.default,{getLocaleShortName:L}=N.default;class O extends C.Component{constructor(e){var t;super(e),t=this,(0,b.default)(this,"onCollapse",(e=>{this.setState({collapsed:e})})),(0,b.default)(this,"changeCollapse",(()=>{var{collapsed:e}=this.state;this.setState({collapsed:!e,hover:!1});var{onCollapseChange:t}=this.props;t&&t(!e)})),(0,b.default)(this,"onMouseEnter",(e=>{var{collapsed:t}=this.state;if(t){var a=e&&e.target||null,n=a&&a.className||"";(0,k.default)(n)&&!(0,o.default)(n).call(n,"trigger")&&this.setState({hover:!0})}})),(0,b.default)(this,"onMouseLeave",(()=>{var{hover:e}=this.state;e&&this.setState({hover:!1})})),(0,b.default)(this,"onClickMenuItem",(e=>{var{key:t}=e,a=(0,I.getPath)({key:t}),{pathname:n}=this.props;n!==a&&this.routing.push(a)})),(0,b.default)(this,"renderMenuItemIcon",(e=>{var{item:t}=e,a=P[t.path];return a?C.default.createElement(E.FontAwesomeIcon,{icon:a,className:A.default["action-icon"]}):t.icon||null})),(0,b.default)(this,"renderMenuItem",((e,t)=>{var a,{collapsed:n,hover:r}=this.state;if(n&&!r)return C.default.createElement(x.default.Item,{key:e.key,className:A.default["menu-item-collapsed"]},this.renderMenuItemIcon({item:e,collapsed:n,isSubMenu:t}));if(e.level>1)return null;var{showChildren:l=!0}=e;if(!l||!e.children||0===e.children.length||e.level)return C.default.createElement(x.default.Item,{key:e.key,className:A.default["menu-item"],onClick:this.onClickMenuItem},C.default.createElement("span",{className:A.default["menu-item-title-wrapper"]},this.renderMenuItemIcon({item:e,isSubMenu:t}),C.default.createElement("span",{className:0===e.level||1===e.level&&!l?A.default["menu-item-title"]:A.default["sub-menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)));var i=C.default.createElement("span",{className:A.default["sub-menu-title"],style:{alignItems:"center"}},C.default.createElement("span",{style:{marginRight:"20px"}},this.renderMenuItemIcon({item:e})),C.default.createElement("span",{className:A.default["menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)),o=(0,s.default)(a=e.children).call(a,(e=>this.renderMenuItem(e,!0)));return C.default.createElement(D,{key:e.key,title:i,className:A.default["sub-menu"]},o)})),(0,b.default)(this,"getFirstLevelKeys",(e=>{var t,a=(0,u.default)(t=this.menu).call(t,(t=>{var{children:a=[]}=t;if(!a.length)return(0,o.default)(e).call(e,t.key);var n=(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)));return!!n||((0,c.default)(a).call(a,(t=>{var{children:a=[]}=t;(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)))&&(n=!0)})),n)}));return(0,s.default)(a).call(a,(e=>e.key))})),(0,b.default)(this,"getSelectedKeysForMenu",(e=>{var{collapsed:t,hover:a}=this.state;return!t||a?e:this.getFirstLevelKeys(e)})),(0,b.default)(this,"getCurrentOpenKeys",(e=>this.getFirstLevelKeys(e))),(0,b.default)(this,"renderMenu",(function(){var e,a,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{collapsed:r}=t.state,{openKeys:l}=t.rootStore,i=(0,u.default)(e=(0,s.default)(a=t.menu).call(a,(e=>t.renderMenuItem(e)))).call(e,(e=>null!==e)),o=t.getSelectedKeysForMenu(n);return C.default.createElement(x.default,{theme:"dark",mode:"inline",className:r?A.default["menu-collapsed"]:A.default.menu,defaultSelectedKeys:o,selectedKeys:o,openKeys:l,onOpenChange:t.onOpenChange},i)})),(0,b.default)(this,"onOpenChange",(e=>{var{openKeys:t}=this.state,{openKeys:a}=this.rootStore,n=(0,f.default)(new p.default((0,h.default)(t).call(t,(0,M.toJS)(a)))),r=(0,d.default)(e).call(e,(e=>-1===(0,m.default)(n).call(n,e))),l=r?[r]:[];this.updateOpenKeys(l)})),(0,b.default)(this,"updateOpenKeys",(e=>{this.rootStore.updateOpenKeys(e),this.setState({openKeys:e})})),(0,b.default)(this,"getSelectedKeys",(e=>0===e.length?[]:1===e.length?[e[0].key]:e.length>=2?[e[1].key]:[])),this.state={collapsed:!1,hover:!1,openKeys:[]};var a=L();this.maxTitleLength="zh"===a?9:17}componentDidMount(){this.init()}componentDidUpdate(e){var{pathname:t}=this.props,{pathname:a}=e;a&&t!==a&&this.updateOpenKeysByRoute()}get menu(){return this.props.menu||[]}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,I.getPath)({key:n,params:t,query:a})}getOpenKeysByRoute(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e);return this.getCurrentOpenKeys(t)}get rootStore(){return this.props.rootStore}get routing(){return this.props.rootStore.routing}updateOpenKeysByRoute(){var e=this.getOpenKeysByRoute(),{openKeys:t}=this.rootStore;(0,w.default)(e,(0,M.toJS)(t))||this.init()}init(){var e=this.getOpenKeysByRoute();this.updateOpenKeys(e)}renderTrigger(){var{collapsed:e}=this.state,t=e?C.default.createElement(v.default,{className:A.default["trigger-icon"]}):C.default.createElement(g.default,{className:A.default["trigger-icon"]});return C.default.createElement("div",{className:A.default["trigger-wrapper"]},C.default.createElement("div",{className:A.default.trigger,onClick:this.changeCollapse},t))}render(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e),{hover:a,collapsed:n}=this.state,r=this.renderTrigger();return C.default.createElement("div",{className:(0,S.default)(A.default["base-layout-sider"],n?A.default["base-layout-sider-collapsed"]:"",a?A.default["base-layout-sider-hover"]:""),onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderMenu(t),r)}}t.LayoutMenu=O;var R=(0,_.inject)("rootStore")((0,_.observer)(O));t.default=R}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1239:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(416)),i=r(a(1782)),o=e=>(0,l.default)(i.default,e);t.default=o},1241:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),n(t,"FormAction",{enumerable:!0,get:function(){return l.default}}),n(t,"StepAction",{enumerable:!0,get:function(){return i.default}}),n(t,"ConfirmAction",{enumerable:!0,get:function(){return o.default}}),n(t,"ModalAction",{enumerable:!0,get:function(){return s.default}});var l=r(a(1822)),i=r(a(2023)),o=r(a(2049)),s=r(a(1380))},1250:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(29)),m=f(n(54)),g=f(n(28)),v=f(n(203)),y=f(n(1252)),b=f(n(91)),x=f(n(86)),w=f(n(345));n(347);var k=f(n(348));n(1271);var C=f(n(1272));n(1261);var _=f(n(1262));n(1246);var M=f(n(1247));n(1244);var S=f(n(1245)),I=f(n(343)),N=f(n(58));n(231);var E=f(n(341)),T=f(n(606)),A=f(n(35)),j=f(n(177)),P=f(n(102)),D=f(n(570)),L=f(n(352)),O=f(n(0)),R=f(n(1270)),z=(n(161),f(n(4))),U=(n(564),n(163)),F=n(349),B=f(n(1833)),V=n(662),K=n(567),Q=f(n(1563)),Y=f(n(1566)),G=f(n(2021));function H(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function W(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,A.default)(this,"updateContext",(e=>{var{updateContext:t}=this.props;t&&t(e)})),(0,A.default)(this,"unescape",(e=>(0,U.unescapeHtml)(e))),(0,A.default)(this,"getFormInstance",(()=>this.formRef.current)),(0,A.default)(this,"onSubmit",(e=>p.default.resolve())),(0,A.default)(this,"updateSubmitting",(e=>{this.setState({isSubmitting:e||!1})})),(0,A.default)(this,"onOk",((e,n,r)=>{if(this.values=e,!this.codeError){if(this.updateSubmitting(!0),!this.onSubmit)return r(!0,!1);var l=this.getSubmitData(e);return this.onSubmit(l,n).then((e=>{if(this.updateSubmitting(!1),!this.isModal&&this.routing.push(this.listUrl),this.response=e,r&&(0,L.default)(r)&&r(!0,!1),e instanceof Array){var a,n=this.instanceName?this.instanceName.split(", "):null,l=(0,h.default)(a=(0,m.default)(e).call(e,((e,t)=>"rejected"===e.status?{reason:e.reason,name:n?n[t]:""}:null))).call(a,(e=>!!e));0!==l.length?(0,g.default)(l).call(l,(e=>{var{response:{data:a}={}}=e.reason;this.showNotice&&R.default.errorWithDetail(a,t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:e.name}))})):this.showNotice&&R.default.success(this.successText)}else this.showNotice&&R.default.success(this.successText)}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a.updateSubmitting(!1),a.responseError=e;var{response:{data:t}={}}=e;a.showNotice&&R.default.errorWithDetail(t,a.errorText),r&&(0,L.default)(r)&&r(!1,!0)}))}})),(0,A.default)(this,"onCancel",(()=>{if(this.isSubmitting&&this.cancel){this.cancel();var e="download"===this.progressType?t("Cancel download successfully."):t("Cancel upload successfully.");R.default.success(e)}})),(0,A.default)(this,"getChangedFieldsValue",((e,t)=>{var a=e[t];return(0,P.default)(a)&&a.value?a.value:(0,P.default)(a)&&a.selectedRows?a.selectedRows[0]:a})),(0,A.default)(this,"onValuesChange",((e,t)=>{})),(0,A.default)(this,"onValuesChangeForm",((e,t)=>{var a,n={};this.currentFormValue=t,(0,g.default)(a=this.nameForStateUpdate).call(a,(t=>{if((0,D.default)(e,t)){var a=this.getChangedFieldsValue(e,t);n[t]=a}})),(0,j.default)(n)||this.setState(W({},n)),this.onValuesChange(e,t)})),(0,A.default)(this,"checkFormInput",((e,t)=>{this.formRef.current&&this.formRef.current.validateFields().then((t=>{e&&e(t),this.updateContext(t)}),(e=>{var{values:a,errorFields:n}=e;n&&n.length&&t&&t(a,n)}))})),(0,A.default)(this,"onClickSubmit",((e,t,a)=>{this.codeError||this.checkFormInput((n=>{t&&t(n),this.onOk(n,a,e)}))})),(0,A.default)(this,"onClickCancel",(()=>{this.onCancel(),this.listUrl&&this.routing.push(this.listUrl)})),(0,A.default)(this,"updateDefaultValue",(()=>{this.resetFormValue(),this.updateContext(this.defaultValue)})),(0,A.default)(this,"resetFormValue",(e=>{this.formRef.current&&this.formRef.current.resetFields&&(e?this.formRef.current.resetFields(e):this.formRef.current.resetFields())})),(0,A.default)(this,"updateFormValue",((e,t)=>{this.formRef.current&&this.formRef.current.setFieldsValue({[e]:t})})),(0,A.default)(this,"onUploadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getUploadRequestConf",(()=>({onUploadProgress:this.onUploadProgress,cancelToken:this.cancelToken}))),(0,A.default)(this,"onDownloadProgress",(e=>{var{loaded:t,total:a}=e,n=Math.floor(t/a*100);this.setState({percent:n})})),(0,A.default)(this,"getDownloadRequestConf",(()=>({onDownloadProgress:this.onDownloadProgress,cancelToken:this.cancelToken}))),this.options=n,this.state={defaultValue:{},formData:{},isSubmitting:!1,percent:""},this.values={},this.response=null,this.responseError=null,this.formRef=O.default.createRef(),this.tipRef=O.default.createRef(),this.codeError=!1,this.currentFormValue={},this.cancel=null,this.cancelToken=this.hasRequestCancelCallback?new V.CancelToken((e=>{this.cancel=e})):null,this.init()}componentDidMount(){try{this.updateState()}catch(e){}}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get disableSubmit(){return!1}get name(){return""}get title(){return""}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get params(){return this.props.match.params||{}}get location(){return this.props.location||{}}get locationParams(){var e;return(0,F.parse)((0,v.default)(e=this.location.search).call(e,1))}get listUrl(){return""}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get isAdminPage(){var{pathname:e=""}=this.props.location||{};return(0,U.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get currentProjectId(){return this.props.rootStore.projectId}get currentProjectName(){return this.props.rootStore.projectName}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,K.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,K.getLinkRender)({key:r,params:a,query:n,value:t})}get isStep(){return!1}get isModal(){return!1}get hasFooter(){return!(this.isStep||this.isModal)}get formStyle(){return{}}get footerStyle(){return{}}get labelCol(){return{xs:{span:5},sm:{span:3}}}get wrapperCol(){return{xs:{span:10},sm:{span:8}}}get defaultValue(){return null}get formDefaultValue(){var{context:e={}}=this.props,{defaultValue:t}=this;return W(W({},t),e)}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,y.default)(this)||{};return e}get successText(){return this.instanceName?(0,U.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,U.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){var{isSubmitting:e=!1}=this.state;return e}get formItems(){return[]}get validateMessages(){return[]}get tips(){return""}get showNotice(){return!0}get nameForStateUpdate(){var e,t,a=["radio","more"];return(0,m.default)(e=(0,h.default)(t=this.formItems).call(t,(e=>(0,b.default)(a).call(a,e.type)>=0))).call(e,(e=>e.name))}get hasRequestCancelCallback(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get progressType(){return"upload"}getRightExtraSpan(){return{left:18,right:6}}getSubmitData(e){return W({},e)}checkContextValue(){var{context:e}=this.props,t=this.nameForStateUpdate;return!(0,j.default)(e)&&!!(0,x.default)(t).call(t,(t=>(0,D.default)(e,t)))}updateState(){var{context:e}=this.props,t=this.nameForStateUpdate;if(0!==t.length){var a={};this.checkContextValue()?(0,g.default)(t).call(t,(t=>{a[t]=this.getChangedFieldsValue(e,t)})):(0,g.default)(t).call(t,(e=>{a[e]=this.getChangedFieldsValue(this.defaultValue,e)})),this.setState(W({},a))}}init(){this.store={}}renderTips(){return this.tips?O.default.createElement("div",{className:G.default.tips,ref:this.tipRef,id:"tips"},O.default.createElement(T.default,{className:G.default["tips-icon"]}),this.tips):null}renderFooterLeft(){return null}renderFooter(){if(!this.hasFooter)return null;var e={};if(this.tips){var a=((document.getElementById("tips")||{}).clientHeight||35)+16;e.bottom=a}return O.default.createElement("div",{className:G.default.footer,style:W(W({},e),this.footerStyle)},O.default.createElement("div",{className:G.default["footer-left"]},this.renderFooterLeft()),O.default.createElement("div",{className:(0,z.default)(G.default.btns,"footer-btns")},O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel,loading:this.isSubmitting},t("Cancel")),O.default.createElement(E.default,{disabled:this.disableSubmit,type:"primary",className:G.default.submit,onClick:this.onClickSubmit,loading:this.isSubmitting},this.okBtnText)))}renderFormItems(){try{var e;return(0,m.default)(e=this.formItems).call(e,((e,t)=>{var{name:a,display:n=!0}=e,r=(0,N.default)(e,["name","display"]);return n?(this.codeError=!1,O.default.createElement(S.default,{span:24/(e.colNum||1),key:"form-item-col-".concat(t),id:"form-item-col-".concat(a)},O.default.createElement(B.default,(0,I.default)({},r,{name:a,key:"form-item-".concat(t),formref:this.formRef})))):""}))}catch(e){var a={type:"label",label:t("Error"),content:"Can Not Submit"===e.message?this.errorText:t("Unable to render form")};return this.codeError=!0,O.default.createElement(S.default,{span:24/(a.colNum||1),key:"form-item-col-".concat(0),id:"form-item-col-".concat("error")},O.default.createElement(B.default,(0,I.default)({},a,{key:"form-item-".concat(0),formref:this.formRef})))}}renderForms(){return O.default.createElement(_.default,{ref:this.formRef,labelCol:this.labelCol,colon:!1,labelAlign:"left",wrapperCol:this.wrapperCol,name:this.name,initialValues:this.formDefaultValue,onValuesChange:this.onValuesChangeForm,scrollToFirstError:!0},O.default.createElement("input",{type:"password",hidden:!0,autoComplete:"new-password"}),O.default.createElement(M.default,null,this.renderFormItems()))}renderAbortButton(){return!this.isSubmitting||this.isModal?null:O.default.createElement(E.default,{className:G.default.cancel,onClick:this.onClickCancel},t("Abort Upload"))}renderSubmittingTip(){if(this.hasRequestCancelCallback){var{percent:e}=this.state,a="download"===this.progressType?t("Download progress"):t("Upload progress");return O.default.createElement("div",{className:G.default["submit-tip"]},a,O.default.createElement("div",{className:G.default["progress-wrapper"]},O.default.createElement(C.default,{percent:e,size:"small"})),this.renderAbortButton())}}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,O.default.createElement(Y.default,e)}renderRightTopExtra(){if(this.isModal)return null;var e=this.renderQuota();if(!e)return null;var t=(0,w.default)(this.quotaInfo);return O.default.createElement("div",{className:G.default["right-top-extra-wrapper"]},O.default.createElement(Q.default,{content:e,checkValue:t}))}renderModalRightExtra(){if(!this.isModal)return null;var e=this.renderQuota();return e?O.default.createElement("div",{className:G.default["modal-right-extra-wrapper"]},e):null}render(){var e=this.listUrl||this.isStep||this.isModal&&this.tips?G.default["wrapper-page-padding"]:"",t=this.renderTips(),a={};if((this.listUrl||this.isStep)&&this.tips&&this.tipRef.current)if(this.isStep){var n=this.tipRef.current.clientHeight+219;a.height="calc(100vh - ".concat(n,"px)")}else{var r=this.tipRef.current.clientHeight+66;a.height="calc(100% - ".concat(r,"px)")}var l=O.default.createElement(k.default,{spinning:this.isSubmitting,tip:this.renderSubmittingTip()},this.renderRightTopExtra(),O.default.createElement("div",{className:(0,z.default)(G.default.form,"sl-form"),style:W(W({},a),this.formStyle)},this.renderForms()),this.renderFooter()),i=!this.isModal||this.isModal&&!this.showQuota,{left:o,right:s}=this.getRightExtraSpan(),u=this.isModal&&!i?O.default.createElement(M.default,{justify:"space-between",align:"top"},O.default.createElement(S.default,{span:o},l),O.default.createElement(S.default,{span:s},this.renderModalRightExtra())):null;return O.default.createElement("div",{className:(0,z.default)(G.default.wrapper,e,this.className)},t,i&&l,u)}}a.default=q},1251:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.checkSystemAdmin=t.onlyAdminCanChangePolicy=t.onlyAdminCanReadPolicy=t.allCanChangePolicy=t.allCanReadPolicy=t.default=t.systemRoleIsReader=t.checkPolicyRule=t.changeToActualPolicy=t.convertPolicyMap=t.policyMap=void 0;var l=r(a(28)),i=r(a(1289)),o=r(a(77)),s=r(a(29)),u=r(a(32)),d=r(a(164)),c=r(a(86)),f=r(a(1277)),p=r(a(232)),h=r(a(570)),m=r(a(134)),g=r(a(352)),v=r(a(102)),y=r(a(92)),b=r(a(133)),x={nova:["os_compute_api"],ironic:["baremetal:"],cinder:["volume:","volume_extension","backup:get","backup:restore","scheduler_extension"],glance:["get_image","add_image","delete_image","modify_image","get_members","add_member","delete_member","metadef"],neutron:["get_network","create_network","update_network","delete_network","get_agent","delete_agent","update_agent","get_dhcp-agents","get_l3-agents","create_subnet","get_subnet","update_subnet","delete_subnet","create_port","get_port","update_port","delete_port","router","policy_bandwidth_limit_rule","policy_dscp_marking_rule","security_group","floatingip","vpnservice","ipsec_site_connection","rbac_policy"],octavia:["os_load-balancer_api"],heat:["stacks:","resource:index"],magnum:["cluster:","clustertemplate:"],barbican:["secret:get","secret:decrypt","secret:delete","containers:post"],zun:["capsule:","container:","host:get"],panko:["segregation","telemetry:events:index"],manila:["share:","share_","scheduler_stats:pools"],trove:["instance:create","instance:delete","instance:update","instance:backups","instance:restart","instance:resize","instance:extension","instance:guest_log_list","configuration:","backup:index","backup:show"]};t.policyMap=x;var w=e=>{var t,a={};return(0,l.default)(t=(0,i.default)(e)).call(t,(e=>{var[t,n]=e;(0,l.default)(n).call(n,(e=>{if(a[e]);a[e]=t}))})),a};t.convertPolicyMap=w;var k=(e,t)=>{var a,n,r,i=w(t);if(i[e])return(0,o.default)(r="".concat(i[e],":")).call(r,e);var c=(0,s.default)(a=(0,u.default)(i)).call(a,(t=>(0,d.default)(e).call(e,t)));c.length>1&&(0,l.default)(c).call(c,(e=>{}));var f=c.length&&i[c[0]];return f?(0,o.default)(n="".concat(f,":")).call(n,e):e};t.changeToActualPolicy=k;var C=(e,t,a)=>{var n;if(!e)return!0;var r=a?e:k(e,x),l=(0,c.default)(n=b.default.policies).call(n,(e=>e.rule===r));return!l||l.allowed};t.checkPolicyRule=C;var _=()=>{var{roles:e=[]}=b.default.user||{},t=["admin"],a=(0,p.default)(e).call(e,(e=>"reader"===e.name));if(!a)return!1;var n=(0,p.default)(e).call(e,(e=>(0,d.default)(t).call(t,e.name)));return a&&!n};t.systemRoleIsReader=_;var M=e=>{var{policy:t,aliasPolicy:a,item:n,actionName:r,isAdminPage:l,enableSystemReader:i}=e;if(0===b.default.policies.length)return!1;if(l&&!i&&_())return!1;if(l&&!i&&_())return!1;if(!t&&!a)return!0;var o=a||t,s=(0,g.default)(o)?o(n):o,u=[],d=!0;return(0,y.default)(s)?u=s:(0,v.default)(s)?(u=s.rules,(0,h.default)(s,"every")&&(d=(0,f.default)(s))):(0,m.default)(s)&&(u=[s]),!u||((e,t,a,n)=>0===e.length||(t?(0,f.default)(e).call(e,(e=>C(e,0,n))):(0,p.default)(e).call(e,(e=>C(e,0,n)))))(u,d,0,!!a)};t.default=M;t.allCanReadPolicy={rules:["admin","reader","member"],every:!1};t.allCanChangePolicy={rules:["admin","member"],every:!1};t.onlyAdminCanReadPolicy={rules:["admin","reader"],every:!1};t.onlyAdminCanChangePolicy={rules:["admin"],every:!1};t.checkSystemAdmin=()=>b.default.hasAdminRole},1302:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.ItemActionButtons=void 0;var h=p(n(1277)),m=p(n(54)),g=p(n(77)),v=p(n(28)),y=p(n(49)),b=p(n(35));n(586);var x=p(n(424));n(231);var w=p(n(341)),k=p(n(611));n(1300);var C=p(n(1301)),_=p(n(343));n(1276);var M=p(n(421)),S=p(n(205)),I=p(n(92)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),E=n(412),T=(n(161),n(564),p(n(4))),A=n(1435),j=p(n(1436)),P=p(n(1818));function D(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(D=function(e){return e?a:t})(e)}function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t!!e)):a}function F(e){var{firstAction:a=null,moreActions:n=[],alloweds:r=[],item:l,onFinishAction:i,routing:o,containerProps:s,firstActionClassName:u,onClickAction:d,onCancelAction:c,isWide:f}=e;if(0===r.length)return null;if(!a&&0===n.length)return null;var p=null,h=null,v=null;if(a){var y=U(r,0),b=z(a.action);p=N.default.createElement(j.default,(0,_.default)({},b,{buttonType:"link",routing:o,needHide:!1,isAllowed:y,item:l,onFinishAction:i,onCancelAction:c,buttonClassName:(0,T.default)(P.default["first-action"],u),containerProps:s,maxLength:8,onClickAction:d,isFirstAction:!0}))}var S=0,I=0,E=null;if(n.length>0){var A=f||n.length>1?P.default["more-action-btn"]:"",D=(0,m.default)(n).call(n,((e,t)=>{var a;if(!e.actions){var n=U(r,e.allowedIndex),u=e.key||"key-more-".concat(t),f=z(e.action);return n?(S+=1,I+=1,E=N.default.createElement(j.default,(0,_.default)({},f,{isAllowed:n,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,style:{padding:0},containerProps:s,onClickAction:d,buttonClassName:A})),N.default.createElement(M.default.Item,{key:u},E)):null}var p=0,h=(0,m.default)(a=e.actions).call(a,((e,a)=>{var n,u=U(r,e.allowedIndex),f=e.key||(0,g.default)(n="key-more-".concat(t,"-")).call(n,a);u&&(p+=1,S+=1,I+=1);var h=z(e.action);return N.default.createElement(M.default.Item,{key:f},N.default.createElement(j.default,(0,_.default)({},h,{isAllowed:u,buttonType:"link",item:l,onFinishAction:i,onCancelAction:c,routing:o,containerProps:s,onClickAction:d,buttonClassName:A})))})),v="sub-menu-".concat(t);return N.default.createElement(R,{popupClassName:P.default["action-sub-menu"],title:e.title,disabled:0===p,key:v},h)})),L=N.default.createElement(M.default,null,D);if(a&&n.length>0&&S>0&&(h=N.default.createElement(C.default,{type:"vertical"})),1===S&&1===I&&E){var O=f?"":P.default["single-more-action"];v=N.default.createElement("span",{className:O},E)}else S>0&&(v=N.default.createElement(x.default,{overlay:L},N.default.createElement(w.default,{type:"link",className:P.default["more-action"]},t("More")," ",N.default.createElement(k.default,null))))}return N.default.createElement("div",{className:P.default["action-buttons"]},p,h,v)}class B extends N.Component{constructor(e){super(e),this.actionList=[],this.firstAction=null,this.moreActions=[],this.state={results:[]}}componentDidMount(){var e=this;return(0,y.default)((function*(){var{item:t,containerProps:a}=e.props;e.updateResult(t,a)}))()}shouldComponentUpdate(e,t){var{item:a,containerProps:n}=this.props,{results:r}=this.state;return(0,S.default)(e.item,a)?!(0,S.default)(r,t.results):(this.updateResult(e.item,n),!0)}static getDerivedStateFromProps(e,t){if(!(0,S.default)(e.item,t.item)){var{item:a}=e;return{item:a}}return null}get routing(){return this.props.rootStore.routing}updateResult(e,t){var a=this;return(0,y.default)((function*(){var{actions:n,isAdminPage:r}=a.props,{actionList:l,firstAction:i,moreActions:o}=function(e,t,a){var{firstAction:n=null,moreActions:r=[]}=e,l=[],i=n?{action:(0,A.getAction)(n,t,a),allowedIndex:0}:null,o=[];return n&&l.push(i),(0,v.default)(r).call(r,(e=>{if(e.actions){var n,r=[];(0,v.default)(n=e.actions).call(n,(e=>{var n={action:(0,A.getAction)(e,t,a),allowedIndex:l.length};r.push(n),l.push(n)})),o.push(O(O({},e),{},{actions:r}))}else if(e.action){var i={action:(0,A.getAction)(e.action,t,a),allowedIndex:l.length};o.push(i),l.push(i)}})),{actionList:l,firstAction:i,moreActions:o}}(n,e,t);a.actionList=l,a.firstAction=i,a.moreActions=o;var s=yield(0,A.getAllowedResults)({actions:a.actionList,data:e,key:"action",containerProps:t,isAdminPage:r});a.setState({results:s})}))()}render(){var{item:e,onFinishAction:t,containerProps:a,firstActionClassName:n,onClickAction:r,onCancelAction:l,isWide:i}=this.props,{results:o}=this.state;return N.default.createElement(F,{onFinishAction:t,onCancelAction:l,firstAction:this.firstAction,moreActions:this.moreActions,alloweds:o,item:e,routing:this.routing,containerProps:a,firstActionClassName:n,onClickAction:r,isWide:i})}}a.ItemActionButtons=B;var V=(0,E.inject)("rootStore")(B);a.default=V},1346:function(e,t,a){var n=a(1820);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1351:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(0)),o=l(n(2044)),s=n(163),u=n(204),d=l(n(2045));class c extends i.default.Component{render(){var{title:e,link:a,codeError:n,endpointError:r,goList:l,isAction:c}=this.props,f="";f=n?"Error":r?t("Not Open"):t("Resource Not Found");var p="",h="";p=c?t("Unable to {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):l?t("Unable to get {title}, please go back to ",{title:(0,s.firstUpperCase)(e)}):t("Unable to get {title}, please go to ",{title:(0,s.firstUpperCase)(e)}),h=l?i.default.createElement(u.Link,{to:a},t("list page")):i.default.createElement(u.Link,{to:a},t("Home page"));var m=i.default.createElement("p",null,p,h);return i.default.createElement("div",{className:d.default.wrapper},i.default.createElement("img",{className:d.default.image,src:o.default,alt:""}),i.default.createElement("div",{className:d.default.text},i.default.createElement("div",{className:"h1"},f),m))}}a.default=c},1376:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.renderClearButton=void 0,n(593);var p=f(n(427)),h=f(n(1313));n(1311);var m=f(n(1312)),g=f(n(49)),v=f(n(35)),y=f(n(54)),b=f(n(86)),x=f(n(32)),w=f(n(91)),k=f(n(29)),C=f(n(350)),_=f(n(591)),M=f(n(28)),S=f(n(596)),I=f(n(164));n(344);var N=f(n(202));n(231);var E,T,A,j=f(n(341)),P=f(n(1515)),D=f(n(177)),L=f(n(205)),O=f(n(134)),R=f(n(119)),z=f(n(0)),U=(n(161),n(564),n(412)),F=f(n(16)),B=f(n(1516)),V=f(n(1517)),K=f(n(1518)),Q=f(n(4)),Y=f(n(1870));function G(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function H(e){for(var t=1;te.key||e.id,q=(e,t,a)=>{var{selectedRowKeys:n=[],selectedRows:r=[]}=e;if(!n||0===n.length)return[];var l=(0,y.default)(r).call(r,(e=>W(e)));return(0,L.default)(n,l)?r:(0,y.default)(n).call(n,(e=>{var n,l=a?r:t;return(0,b.default)(n=l||[]).call(n,(t=>W(t)===e))||{key:e,id:e,name:e}}))},$=function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{showSelected:r=!0}=n;return r&&a&&a.length?z.default.createElement(N.default,{title:t("Clear selected")},z.default.createElement(j.default,{size:"small",onClick:e.clearSelected},z.default.createElement(P.default,null))):null};a.renderClearButton=$;var Z=(0,U.observer)((A=T=class extends z.default.Component{constructor(e){var t;super(e),t=this,(0,v.default)(this,"getDataParams",(()=>{var{filters:e,current:t,pageSize:a}=this.state;return H({page:t,limit:a},e)})),(0,v.default)(this,"handleFooterPaginationChange",((e,t)=>{var{filters:a}=this.state;this.getBackendData(H({limit:t,page:e,current:e,sortKey:this.sortKey,sortOrder:this.sortOrder},a))})),(0,v.default)(this,"getBackendData",function(){var e=(0,g.default)((function*(e){var{extraParams:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l}=t.props,i=H(H({},e),a);n&&(i.sortKey=i.sortKey||t.sortKey||r||"",i.sortOrder=i.sortOrder||t.sortOrder||l||"");var o=yield t.fetchDataByPage(i),{backendPageStore:s,backendPageDataKey:u}=t.props,{total:d}=s[u]||{};t.setState({data:o,total:d,current:e.page,pageSize:e.limit},(()=>{t.initTabChange()}))}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"fetchDataByPage",function(){var e=(0,g.default)((function*(e){var{backendPageStore:a,backendPageFunc:n,backendPageDataKey:r}=t.props,l=yield a[n](e);return a[r].silent=!1,l}));return function(t){return e.apply(this,arguments)}}()),(0,v.default)(this,"filterData",((e,t)=>{var a;return!(0,b.default)(a=(0,x.default)(t)).call(a,(a=>{var n,r=(0,R.default)(e,a),l=t[a];return(0,O.default)(r)&&(0,O.default)(l)?(0,w.default)(n=r.toLowerCase()).call(n,l.toLowerCase())<0:(0,L.default)(r,l)}))})),(0,v.default)(this,"getDataSource",(()=>{try{var{backendPageStore:e,rowKey:t}=this.props;if(e)return this.getDataFromStore();var{data:a}=this.state;return(0,y.default)(a).call(a,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,t)})))}catch(e){return[]}})),(0,v.default)(this,"getDataFromStore",(()=>{var{backendPageStore:e,backendPageDataKey:t,rowKey:a}=this.props,{data:n=[]}=e[t]||{};return(0,y.default)(n).call(n,(e=>e.key?e:H(H({},e),{},{key:(0,R.default)(e,a)})))})),(0,v.default)(this,"getRealSelectedKeys",(e=>{var t,{isMulti:a,backendPageStore:n}=this.props;if(!n||!a)return e;var{selectedRowKeys:r,data:l}=this.state,i=(0,y.default)(l).call(l,(e=>W(e))),o=(0,k.default)(e).call(e,(e=>(0,w.default)(i).call(i,e)>=0)),s=(0,k.default)(r).call(r,(t=>(0,w.default)(i).call(i,t)>=0&&(0,w.default)(e).call(e,t)<0));return(0,k.default)(t=(0,C.default)(new _.default([...r,...o]))).call(t,(e=>(0,w.default)(s).call(s,e)<0))})),(0,v.default)(this,"handleSelectRow",(e=>{var t=this.getRealSelectedKeys(e),a=this.getSelectedRows(t);this.setState({selectedRowKeys:t,selectedRows:a})})),(0,v.default)(this,"handleFilterInput",(e=>{this.setState({tags:e});var{backendPageStore:t}=this.props,a={};if((0,M.default)(e).call(e,(e=>{a[(0,k.default)(e).name]=e.value})),t){var{pageSize:n}=this.state;this.getBackendData(H({limit:n,page:1},a)),this.setState({filters:a,current:1})}else this.setState({filters:a,current:1})})),(0,v.default)(this,"updateTab",(e=>{this.setState({tab:e},(()=>{this.onChange({tab:e})}))})),(0,v.default)(this,"onChange",(function(){var{tab:e,selectedRowKeys:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onChange:n}=t.props;if(n){var{tab:r,selectedRowKeys:l,selectedRows:i=[]}=t.state,o=(0,D.default)(i)?t.getSelectedRows(a):i;n({tab:e||r,selectedRows:o,selectedRowKeys:a||l,data:t.getDataSource()})}})),(0,v.default)(this,"getSelectedRowsAll",(e=>{var{data:t=[],selectedRowKeys:a}=this.state;return e?(0,k.default)(t).call(t,(t=>(0,w.default)(e).call(e,W(t))>=0)):(0,k.default)(t).call(t,(e=>(0,w.default)(a).call(a,W(e))>=0))})),(0,v.default)(this,"getSelectedRowsBackend",(e=>{var{isMulti:t}=this.props,{data:a=[],selectedRowKeys:n,selectedRows:r}=this.state;if(t)return this.getSelectedRowsBackendMulti(e);var l=e||n,i=(0,k.default)(a).call(a,(e=>(0,w.default)(l).call(l,W(e))>=0));if(i.length===l.length)return i;var o=(0,k.default)(r).call(r,(e=>(0,w.default)(l).call(l,W(e))>=0));return o.length===l.length?o:(0,y.default)(l).call(l,(e=>({key:e,id:e,name:e})))})),(0,v.default)(this,"getSelectedRowsBackendMulti",(e=>{var{data:t=[],selectedRowKeys:a=[],selectedRows:n=[]}=this.state;if(!e)return n;var r=(0,k.default)(e).call(e,(e=>(0,w.default)(a).call(a,e)<0)),l=(0,k.default)(a).call(a,(t=>(0,w.default)(e).call(e,t)<0));return[...(0,k.default)(n).call(n,(e=>(0,w.default)(l).call(l,W(e))<0)),...(0,k.default)(t).call(t,(e=>(0,w.default)(r).call(r,W(e))>=0))]})),(0,v.default)(this,"getSelectedRows",(e=>{var{backendPageStore:t}=this.props;return t?this.getSelectedRowsBackend(e):this.getSelectedRowsAll(e)})),(0,v.default)(this,"getSortKey",(e=>{var{field:t,column:a}=e;return t&&a?a.sortKey||a.dataIndex:null})),(0,v.default)(this,"handleChange",((e,t,a,n)=>{var{current:r,pageSize:l}=e,{backendPageStore:i,isSortByBack:o}=this.props,s=H({limit:l||this.state.pageSize,page:r||this.state,current:r,sortKey:this.getSortKey(a),sortOrder:a.order},t);if(i){var{action:u}=n;"sort"===u?(this.sortKey=this.getSortKey(a),this.sortOrder=a.order,o?(this.setState({current:1}),s.current=1,s.page=1,this.getBackendData(s)):(r=this.state.current,l=this.state.pageSize,this.setState({current:r,pageSize:l}))):this.getBackendData(s)}else this.setState({current:r,pageSize:l})})),(0,v.default)(this,"onTabChange",(e=>{var{onTabChange:t}=this.props;t&&(e.target?(this.updateTab(e.target.value),t(e.target.value)):(t(e),this.updateTab(e)))})),(0,v.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t}=this.state,a=(0,k.default)(t).call(t,(t=>t!==W(e))),n=this.getSelectedRows(a);this.setState({selectedRowKeys:a,selectedRows:n})})),(0,v.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]})})),(0,v.default)(this,"handleRefresh",(()=>{var{backendPageStore:e,refreshFunc:t}=this.props,{tags:a=[]}=this.state;t?t():e&&this.handleFilterInput(a)})),(0,v.default)(this,"renderTableFooter",(e=>{var t,{page:a,current:n,pageSize:r,total:l}=this.state,i=this.getLoading(),o=(0,S.default)(t=(0,C.default)(new _.default([this.props.pageSize,10,20,50,100]))).call(t,((e,t)=>e-t));return z.default.createElement(K.default,{current:a||n||1,pageSize:r,size:"small",onChange:this.handleFooterPaginationChange,currentDataSize:e.length,total:l,isLoading:i,defaultPageSize:this.props.pageSize,pageSizeOptions:o,className:Y.default["pagination-footer"]})})),(0,v.default)(this,"renderTag",(e=>z.default.createElement(m.default,{key:e.key||(0,R.default)(e,this.props.rowKey),closable:!0,onClose:()=>this.onTagClose(e)},e[this.props.tagKey]||e[this.props.secondTagKey]))),(0,v.default)(this,"renderClearButton",(e=>$(this,e,this.props)));var{data:a=[],pageSize:n,initValue:r={}}=e,{selectedRowKeys:l,selectedRows:i}=this.getInitValue(e);this.state={data:a,filters:null,current:1,pageSize:n,total:this.getTotal(e),selectedRowKeys:l,selectedRows:i,tab:"",initValue:r},this.sortKey=e.defaultSortKey,this.sortOrder=e.defaultSortOrder}componentDidMount(){this.getData()}componentDidUpdate(e,t){(0,L.default)(e.backendPageStore,this.props.backendPageStore)||this.getData();var{selectedRowKeys:a}=this.state,{selectedRowKeys:n}=t;(0,L.default)(a,n)||this.onChange({selectedRowKeys:a})}getData(){var{backendPageStore:e,pageSize:t}=this.props;e?this.handleFooterPaginationChange(1,t):this.initTabChange()}getInitValue(e){var{value:t={},initValue:a={},data:n=[],backendPageStore:r}=e;if(!(0,D.default)(a)){var{selectedRowKeys:l=[]}=a;return{selectedRowKeys:l,selectedRows:q(a,n,r)}}var{selectedRowKeys:i=[]}=t||{};return{selectedRowKeys:i,selectedRows:q(t||{},n,r)}}getTotal(e){var{data:t=[],backendPageStore:a,backendPageDataKey:n}=e||this.props;return a?(a[n]||{}).total:t.length}static getDerivedStateFromProps(e,t){var{value:a,data:n=[],backendPageStore:r,initValue:l={}}=e,i={};if(r||(0,L.default)(n,t.data)||(i.data=n,i.total=n.length,i.current=t.current||1),!a)return(0,D.default)(i)?null:i;var{tab:o}=a;if(a&&o!==t.tab&&(i.tag=o),!(0,L.default)(l,t.initValue)){var{selectedRowKeys:s=[]}=l,u=q(l,n,r);i.selectedRowKeys=s,i.selectedRows=u,i.initValue=l}return(0,D.default)(i)?null:i}get tableColumns(){var{columns:e}=this.props;return(0,k.default)(e).call(e,(e=>!e.hidden))}get rowSelection(){var{isMulti:e,disabledFunc:t,maxSelectedCount:a,rowKey:n,tagKey:r}=this.props;if(-1===a)return null;var{selectedRowKeys:l}=this.state,i={selectedRowKeys:l,type:e?"checkbox":"radio",onChange:this.handleSelectRow};return t&&(i.getCheckboxProps=e=>({disabled:t(e),name:(0,R.default)(e,n)||(0,R.default)(e,r)})),a&&l.length===a&&(i.getCheckboxProps=e=>({disabled:!(0,I.default)(l).call(l,(0,R.default)(e,n))})),i}getLoading(){var{backendPageStore:e,backendPageDataKey:t,isLoading:a}=this.props;return e?e[t].isLoading:a}initTabChange(){var{defaultTabValue:e,onTabChange:t,value:a}=this.props;if(void 0!==e&&void 0!==t){var n=a&&a.tab||e;t(n),this.updateTab(n)}}renderRefresh(){var{hideRefresh:e,backendPageStore:t,refreshFunc:a}=this.props,n=!1;return e||(t||a)&&(n=!0),n?z.default.createElement(j.default,{type:"default",icon:z.default.createElement(h.default,null),onClick:this.handleRefresh}):null}renderSearch(){var{canSearch:e}=this.props;if(!e)return null;var{filterParams:t}=this.props,{filters:a}=this.state;return z.default.createElement("div",{className:(0,Q.default)("ant-col-xs-16","ant-col-sm-12",Y.default["search-wrapper"])},z.default.createElement(B.default,{filterParams:t,onInputChange:this.handleFilterInput,initValue:a}))}renderSearchLine(){return z.default.createElement("div",{className:Y.default["search-line"]},this.renderSearch(),this.renderRefresh())}renderHeader(){var{header:e}=this.props;return e||null}renderTableHeader(){var{tableHeader:e}=this.props;return e||null}renderTable(){var e,t,{backendPageStore:a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,filterParams:i,onRow:o,rowKey:s,childrenColumnName:u}=this.props,{current:d,pageSize:c,total:f,filters:p}=this.state,h=(0,y.default)(e=(0,S.default)(t=[this.props.pageSize,10,20,50,100]).call(t,((e,t)=>e-t))).call(e,(e=>"".concat(e))),m=!a&&{current:d,pageSize:c,total:f,size:"small",position:["bottomLeft"],pageSizeOptions:h},g=a?this.renderTableFooter:null,v=this.getLoading(),b=this.getDataSource(),x=a?Y.default["sl-select-table-backend"]:"";return z.default.createElement(V.default,{className:(0,Q.default)(Y.default["sl-select-table"],"sl-select-table",x),rowSelection:this.rowSelection,rowKey:s,columns:this.tableColumns,data:b,filters:p,searchFilters:i,pagination:m,isLoading:v,filterByBackend:!!a,isSortByBack:n,defaultSortKey:r,defaultSortOrder:l,onChange:this.handleChange,footer:g,onRow:o,childrenColumnName:u})}renderImageTabs(){var{tabs:e,defaultTabValue:t,imageTabAuto:a}=this.props,{tab:n}=this.state,r=(0,y.default)(e).call(e,(e=>{var{value:t,image:n,component:r,label:l}=e;return z.default.createElement(p.default.Button,{className:a?"":Y.default["image-tab"],value:t,key:t},n&&z.default.createElement("img",{src:n,alt:l}),r,z.default.createElement("span",{className:Y.default["image-tab-label"]},l))}));return z.default.createElement(p.default.Group,{className:Y.default["image-tabs"],id:"select-table-tabs",onChange:this.onTabChange,defaultValue:t,value:n},r)}renderNormalTabs(){var{tabs:e,defaultTabValue:t}=this.props,{tab:a}=this.state,n=(0,y.default)(e).call(e,(e=>z.default.createElement(p.default.Button,{className:Y.default["normal-tab"],value:e.value,key:e.value},z.default.createElement("span",{className:Y.default["normal-tab-label"]},e.label))));return z.default.createElement(p.default.Group,{className:Y.default["normal-tabs"],onChange:this.onTabChange,buttonStyle:"solid",defaultValue:t,value:a},n)}renderTips(){var{tips:e}=this.props;return e?z.default.createElement("div",null,e):null}renderTabs(){var{tabs:e,tabsNode:t}=this.props;return t||(e?(0,b.default)(e).call(e,(e=>!!e.image||!!e.component))?this.renderImageTabs():this.renderNormalTabs():null)}renderSelected(){var{showSelected:e=!0,selectedLabel:a,maxSelectedCount:n}=this.props;if(-1===n)return null;var{selectedRows:r=[]}=this.state;if(!e)return null;var l=(0,D.default)(r)?this.getSelectedRows():r,i=(0,y.default)(l).call(l,(e=>this.renderTag(e))),o=this.renderClearButton(l);return z.default.createElement("div",null,t("Selected")," ",a,":  ",o,"  ",i)}render(){return z.default.createElement("div",{className:Y.default["select-table"]},this.renderHeader(),this.renderTabs(),this.renderSearchLine(),this.renderTableHeader(),this.renderTable(),this.renderSelected())}},(0,v.default)(T,"propTypes",{data:F.default.array,columns:F.default.array.isRequired,isMulti:F.default.bool,pageSize:F.default.number,tabs:F.default.array,defaultTabValue:F.default.any,tabsNode:F.default.node,onTabChange:F.default.func,canSearch:F.default.bool,filterParams:F.default.array,disabledFunc:F.default.func,onChange:F.default.func,selectedLabel:F.default.string,tips:F.default.string,isLoading:F.default.bool,tagKey:F.default.string,secondTagKey:F.default.string,maxSelectedCount:F.default.number,tableHeader:F.default.any,header:F.default.any,backendPageStore:F.default.any,backendPageFunc:F.default.string,backendPageDataKey:F.default.string,extraParams:F.default.object,initValue:F.default.object,rowKey:F.default.string,isSortByBack:F.default.bool,defaultSortKey:F.default.string,defaultSortOrder:F.default.string,onRow:F.default.func,childrenColumnName:F.default.string,imageTabAuto:F.default.bool,refreshFunc:F.default.func,hideRefresh:F.default.bool}),(0,v.default)(T,"defaultProps",{data:[],isMulti:!1,pageSize:5,canSearch:!0,filterParams:[],selectedLabel:"",tips:"",tableHeader:null,header:null,backendPageStore:null,backendPageFunc:"fetchListByPage",backendPageDataKey:"list",extraParams:{},initValue:{},rowKey:"id",tagKey:"name",secondTagKey:"id",isSortByBack:!1,defaultSortKey:"",defaultSortOrder:"",childrenColumnName:"children",imageTabAuto:!1,refreshFunc:null,hideRefresh:!1}),E=A))||E;a.default=Z},1380:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(63)),o=l(n(1252)),s=l(n(35)),u=n(163),d=l(n(1250));class c extends d.default{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>i.default.resolve()))}get name(){return t("Edit")}get isModal(){return!0}static get modalSize(){return"small"}getModalSize(){return"small"}getRightExtraSpan(){var e="large"===this.getModalSize();return{left:e?20:18,right:e?4:6}}static get showQuota(){return!1}get showQuota(){return!1}get labelCol(){return"large"===this.getModalSize()?{xs:{span:6},sm:{span:4}}:{xs:{span:8},sm:{span:6}}}get wrapperCol(){return{xs:{span:16},sm:{span:16}}}static allowed(){return i.default.resolve()}get messageHasItemName(){return!0}get instanceName(){return(this.item||{}).name||((0,o.default)(this)||{}).name||this.itemId}get isAsyncAction(){return!1}get successText(){return this.messageHasItemName?this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,u.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):this.isAsyncAction?(0,u.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase()})):(0,u.firstUpperCase)(t("{action} successfully.",{action:this.name}))}get errorText(){return this.messageHasItemName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get containerProps(){return this.props.containerProps||{}}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps;return e}get item(){var{item:e}=this.props;return e||this.containerProps.detail||{name:""}}get itemId(){return(this.item||{}).id}get actionId(){var{action:e}=this.props;return null==e?void 0:e.id}get items(){var{items:e}=this.props;return e}get defaultValue(){var{name:e=""}=this.item;return{name:e}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name")}]}}a.default=c,(0,s.default)(c,"id","modalAction"),(0,s.default)(c,"actionType","modal"),(0,s.default)(c,"title",t("Edit")),(0,s.default)(c,"buttonType","primary"),(0,s.default)(c,"isDanger",!1),(0,s.default)(c,"policy",""),(0,s.default)(c,"aliasPolicy","")},1433:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getFirstLevelNavItemLink=t.navItemPropType=void 0;var l=r(a(16)),i=l.default.shape({name:l.default.string,path:l.default.string,children:l.default.arrayOf(i)});t.navItemPropType=i;t.getFirstLevelNavItemLink=e=>{var{children:t=[]}=e;return t.length?e.children[0].path:e.path}},1435:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.checkAllowed=p,t.getAllowedResults=function(e){return m.apply(this,arguments)},t.getPolicyResults=g,t.getAction=v,t.getActionsByPolicy=function(e){var{actions:t,containerProps:a,isAdminPage:n}=e,r=(0,o.default)(t).call(t,(e=>v(e,null,a))),l=g({actions:r,isAdminPage:n});return(0,s.default)(r).call(r,((e,t)=>l[t]))};var o=i(a(54)),s=i(a(29)),u=i(a(63)),d=i(a(49)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(1251));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}function p(e){return h.apply(this,arguments)}function h(){return(h=(0,d.default)((function*(e){var{item:t,policy:a,aliasPolicy:n,allowed:r,allowedExtra:l,containerProps:i,actionName:o,extra:s,isAdminPage:d,action:f}=e,{enableSystemReader:p}=f||{};if(!(0,c.default)({policy:a,aliasPolicy:n,item:t,actionName:o,isAdminPage:d,enableSystemReader:p}))return!1;var h=!1,m=!0;return l&&(m=l({item:t,containerProps:i,extra:s,action:f}))instanceof u.default&&(m=yield m),!!m&&(r&&(h=r(t,i,s))instanceof u.default&&(h=yield h),h)}))).apply(this,arguments)}function m(){return(m=(0,d.default)((function*(e){var{actions:t,data:a,key:n,containerProps:r,extra:l,isAdminPage:i}=e,s=(0,o.default)(t).call(t,function(){var e=(0,d.default)((function*(e){return p({item:a,policy:n?e[n].policy:e.policy,aliasPolicy:n?e[n].aliasPolicy:e.aliasPolicy,allowed:n?e[n].allowed:e.allowed,allowedExtra:n?e[n].allowedExtra:e.allowedExtra,containerProps:r,actionName:n?e[n].title:e.title,extra:l,isAdminPage:i,action:e.action})}));return function(t){return e.apply(this,arguments)}}());return yield u.default.all(s)}))).apply(this,arguments)}function g(e){var{actions:t,extra:a,isAdminPage:n}=e;return(0,o.default)(t).call(t,(e=>{var{policy:t,aliasPolicy:r,title:l,enableSystemReader:i}=e;return!(n&&!i&&(0,c.systemRoleIsReader)())&&(0,c.default)({policy:t,aliasPolicy:r,actionName:l,extra:a})}))}function v(e,t,a){var{actionType:n}=e;return"confirm"===n?new e({item:t,containerProps:a}):e}},1436:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.ActionButton=a.getDefaultMsg=void 0;var s=o(n(54)),u=o(n(63)),d=o(n(584)),c=o(n(29)),f=o(n(28));n(344);var p=o(n(202));n(231);var h=o(n(341));n(1344);var m=o(n(1345)),g=o(n(49)),v=o(n(35)),y=o(n(177)),b=o(n(434)),x=o(n(352)),w=o(n(92)),k=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=T(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),C=n(412),_=(n(161),o(n(1437))),M=o(n(16)),S=o(n(1270)),I=o(n(4)),N=n(163),E=o(n(1816));function T(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(T=function(e){return e?a:t})(e)}var A=(e,a)=>{var{actionName:n="",title:r=""}=e,l=(0,w.default)(a)?(0,s.default)(a).call(a,(e=>e.name)).join(", "):a.name,i=t("Unable to {action} {name}.",{action:n.toLowerCase()||r,name:l}),o=t("You are not allowed to { action } {name}.",{action:n.toLowerCase()||r,name:l});return{submitErrorMsg:i,submitSuccessMsg:(0,N.firstUpperCase)(t("{action} {name} successfully.",{action:n.toLowerCase()||r,name:l})),confirmContext:t("Are you sure to { action } {name}?",{action:n.toLowerCase()||r,name:l}),performErrorMsg:o}};a.getDefaultMsg=A;class j extends k.Component{static propTypes(){return{title:M.default.string.isRequired,id:M.default.string.isRequired,perform:M.default.func.isRequired,item:M.default.object,actionType:M.default.string,icon:M.default.string,isAllowed:M.default.bool,needHide:M.default.bool,buttonType:M.default.string,isDanger:M.default.bool,items:M.default.array,isBatch:M.default.bool,path:M.default.string,onFinishAction:M.default.func,action:M.default.any,containerProps:M.default.any,maxLength:M.default.number,isFirstAction:M.default.bool,onClickAction:M.default.func,visible:M.default.bool}}constructor(e){var t;super(e),t=this,(0,v.default)(this,"onClick",(()=>{var{actionType:e,onClickAction:t}=this.props;switch(e){case"confirm":this.onShowConfirm();break;case"link":var{action:a,item:n,containerProps:r}=this.props,{path:l}=a;if((0,x.default)(l)){var i=l(n,r);this.routing.push(i)}else this.routing.push(l);break;default:this.formRef=k.default.createRef(),this.showModalAction()}t&&t()})),(0,v.default)(this,"handleSubmitLoading",(e=>{this.setState({submitLoading:!!e})})),(0,v.default)(this,"handleSubmit",(e=>{var{item:t,isBatch:a,items:n}=this.props;if(this.onSubmit){this.handleSubmitLoading(!0);var r=a?n:t,l=this.onSubmit(e,r);l instanceof u.default?l.then((()=>{this.onShowSuccess(r)}),(e=>{this.onShowError(r,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),l?this.onShowSuccess(r):this.onShowError(r,l))}})),(0,v.default)(this,"onOK",(()=>{var{onSubmit:e,form:t,item:a,isBatch:n,items:r}=this.props;e&&(this.handleSubmitLoading(!0),t.validateFields([],((l,i)=>{if(!l){var o=n?r:a,s=e(t.getFieldsValue(),o);s instanceof u.default?s.then((()=>{this.onShowSuccess(o)}),(e=>{this.onShowError(o,e)})).finally((()=>{this.handleSubmitLoading()})):(this.handleSubmitLoading(),s?this.onShowSuccess(o):this.onShowError(o,s))}})))})),(0,v.default)(this,"onShowSuccess",((e,t)=>{var{submitSuccessMsg:a}=this.props.action,n=a?a(e):A(this.props.action,e).submitSuccessMsg;S.default.success(n),this.onCallback(!0,!1,t)})),(0,v.default)(this,"onCallback",((e,t,a)=>{var{onFinishAction:n,id:r}=this.props;if(n){var l="delete"===r;(0,d.default)((()=>{n(e,t,l,a)}),500)}})),(0,v.default)(this,"onShowError",((e,t)=>{var{showConfirmErrorBeforeSubmit:a,confirmErrorMessageBeforeSubmit:n}=this.props.action;if(a)return _.default.error({content:n}),void this.onCallback(!1,!0);var{submitErrorMsg:r}=this.props.action,{data:l}=(t||{}).response||t||{},i=l||t,o=r?r(e,i):A(this.props.action,e).submitErrorMsg;S.default.errorWithDetail(i,o),this.onCallback(!1,!0)})),(0,v.default)(this,"getConfirmOkButtonProps",((e,t)=>{var{disableSubmit:a=!1,okButtonProps:n}=t;return n||{disabled:a}})),(0,v.default)(this,"getConfirmCancelButtonProps",((e,t)=>{var{cancelButtonProps:a}=t;return a||{}})),(0,v.default)(this,"getConfirmContent",((e,t)=>{var{confirmContext:a}=t;return a?a(e):A(t,e).confirmContext})),(0,v.default)(this,"onShowConfirm",(0,g.default)((function*(){var{item:e,items:a,isBatch:n,containerProps:r,onCancelAction:l,action:i}=t.props,{perform:o,title:s,okText:u,cancelText:d,onSubmit:c,afterSubmit:f}=i,p=n?a:e,h=t.getConfirmContent(p,i),m=t.getConfirmOkButtonProps(p,i),g=t.getConfirmCancelButtonProps(p,i);try{o(p).then((()=>{var e=_.default.confirm({title:s,content:h,okText:u,cancelText:d,okButtonProps:m,cancelButtonProps:g,onOk:()=>t.onConfirmOK(p,c,n,r,f,e),onCancel:()=>{l&&l()}})}),(e=>{var t=e||A(i,p).performErrorMsg;_.default.error({content:t})}))}catch(e){var v=e||A(i,p).performErrorMsg;_.default.error({content:v})}}))),(0,v.default)(this,"onSubmitOne",((e,t,a,n)=>new u.default(((r,l)=>{var i=t(e,a);i instanceof u.default?i.then((()=>{this.onShowSuccess(e,n),r()}),(e=>{l(e)})):i?(this.onShowSuccess(e,n),r()):l(i)})).catch((t=>{this.onShowError(e,t)})))),(0,v.default)(this,"onSubmitBatch",((e,t,a,n,r)=>new u.default(((l,i)=>{var o=(0,s.default)(e).call(e,((r,l)=>t(r,a,n,l,e)));(0,N.allSettled)(o).then((t=>{var a,n=(0,c.default)(a=(0,s.default)(t).call(t,((t,a)=>"rejected"===t.status?{data:e[a],reason:t.reason}:null))).call(a,(e=>!!e));return 0===n.length?(this.onShowSuccess(e,r),l()):((0,f.default)(n).call(n,(e=>{this.onShowError(e.data,e.reason)})),n.length===e.length?i():l())}))})))),(0,v.default)(this,"onConfirmOK",((e,t,a,n,r,l)=>a?this.onSubmitBatch(e,t,n,a,r).catch((()=>{l&&l.update({visible:!1})})):this.onSubmitOne(e,t,n,r))),(0,v.default)(this,"onClickModalActionOk",(()=>{var{containerProps:e}=this.props;return this.formRef.current.wrappedInstance.onClickSubmit(((e,t)=>{this.handleSubmitLoading(),this.onClickModalActionCancel(!0),this.onCallback(e,t)}),(()=>{this.handleSubmitLoading(!0)}),e)})),(0,v.default)(this,"onClickModalActionCancel",(e=>{var t=()=>{(0,b.default)(e)||this.formRef.current.wrappedInstance.onClickCancel();var{onCancelAction:t}=this.props;this.setState({visible:!1},(()=>{t&&t()}))},{action:{beforeCancel:a}}=this.props;if(a)return a(t);t()})),(0,v.default)(this,"getModalWidth",(e=>{var{modalSize:t,showQuota:a=!1}=e,n=a?1.25:1;switch(t){case"small":return 520*n;case"middle":return 720*n;case"large":return 1200;default:return 520*n}})),(0,v.default)(this,"getModalOkButtonProps",(e=>{var{item:t,action:a,items:n}=e,{disableSubmit:r=!1,okButtonProps:l}=a;return l||{disabled:(0,x.default)(r)?r({item:t,items:n,action:a}):r}})),(0,v.default)(this,"getModalCancelButtonProps",(e=>{var{item:t,action:a,items:n}=e,{readOnly:r,cancelButtonProps:l}=a;return l||(r?{style:{display:"none"}}:{})}));var{id:a}=e;if(!a)throw Error("need id!");this.state={visible:!1,submitLoading:!1}}get routing(){return this.props.rootStore.routing}showModalAction(){this.setState({visible:!0})}renderModal(){var{visible:e,submitLoading:t}=this.state;if(!e)return null;var{title:a,action:n,item:r,containerProps:l,items:i,onFinishAction:o,onCancelAction:s}=this.props,u=n,{okText:d,cancelText:c,id:f,className:p}=n,h=this.getModalWidth(n),g=this.getModalOkButtonProps({item:r,action:n,items:i}),v=this.getModalCancelButtonProps({item:r,action:n,items:i}),b={title:a,visible:e,className:(0,I.default)("modal-".concat(f),E.default["modal-action"],p),width:h,onOk:()=>this.onClickModalActionOk(),onCancel:this.onClickModalActionCancel,okButtonProps:g,confirmLoading:t,okText:d,cancelText:c,maskClosable:!1};return(0,y.default)(v)||(b.cancelButtonProps=v),k.default.createElement(m.default,b,k.default.createElement(u,{item:r,items:i,ref:this.formRef,containerProps:l,onFinishAction:o,onCancelAction:s,modalProps:b,action:n}))}render(){var{isAllowed:e,needHide:t,buttonType:a,buttonClassName:n,name:r,id:l,title:i,isDanger:o,style:s,maxLength:u,isFirstAction:d}=this.props;if(!e&&t)return null;var c=r||i,f=!1;d&&c&&c.length>u&&(f=!0);var m=k.default.createElement(h.default,{type:a,danger:o,onClick:this.onClick,key:l,disabled:!e,className:n,style:s},r||i),g=f?k.default.createElement(p.default,{title:c},m):m;return k.default.createElement(k.default.Fragment,null,g,this.renderModal())}}a.ActionButton=j,(0,v.default)(j,"defaultProps",{item:void 0,isAllowed:!1,confirm:!1,needHide:!0,buttonType:"link",isDanger:!1,isLink:!1,items:[],isBatch:!1,path:"",containerProps:{},maxLength:0,isFirstAction:!1,onClickAction:null,visible:!1});var P=(0,C.inject)("rootStore")((0,C.observer)(j));a.default=P},1437:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(618)),h=f(n(619)),m=f(n(35)),g=f(n(1438));n(1344);var v=f(n(1345)),y=f(n(0)),b=(n(161),n(564),f(n(4))),x=f(n(16)),w=n(163),k=f(n(1506));function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{title:a=t("Confirm"),content:n,onOk:r,onCancel:l,icon:i,okText:o=t("Confirm"),cancelText:s=t("Cancel"),className:u,okButtonProps:d={},cancelButtonProps:c={}}=e;v.default.confirm({title:a,icon:i||y.default.createElement(g.default,{className:k.default.warn}),className:(0,b.default)(k.default["confirm-modal"],u),content:(0,w.unescapeHtml)(n),okText:o,cancelText:s,okButtonProps:d||{},cancelButtonProps:c||{},onOk:()=>r&&r(),onCancel(){l&&l()}})};S.propTypes=M,S.defaultProps={title:t("Confirm"),icon:y.default.createElement(g.default,null),isSubmitting:!1,okText:t("Confirm"),cancelText:t("Cancel")};var I={confirm:S,error:e=>{var a=_(_({title:t("Error")},e),{},{icon:y.default.createElement(h.default,{className:k.default.error})});S(a)},warn:e=>{var a=_(_({title:t("Warn")},e),{},{icon:y.default.createElement(g.default,{className:k.default.warn})});S(a)},success:e=>{var a=_(_({title:t("Success")},e),{},{icon:y.default.createElement(p.default,{className:k.default.success})});S(a)}};a.default=I},1444:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(86)),o=l(n(29)),s=l(n(54)),u=l(n(28));n(1261);var d=l(n(1262));n(1246);var c=l(n(1247));n(344);var f=l(n(202)),p=l(n(1299));n(569);var h=l(n(1253));n(1244);var m=l(n(1245)),g=l(n(35)),v=l(n(0)),y=(n(161),l(n(1519))),b=l(n(16)),x=n(565),w=(n(564),n(571)),k=l(n(1925)),{isIPv4:C,isIpv6:_,isIpInRangeAll:M}=x.ipValidate;class S extends v.default.Component{constructor(e){super(e),(0,g.default)(this,"onChange",(()=>{this.checkNetwork((()=>{var{onChange:e}=this.props,{network:t,subnet:a,ip:n,ipType:r,validateStatus:l,errorMsg:o}=this.state,s=this.getNetworkOptions(),u=this.getSubnetOptions(),d=(0,i.default)(s).call(s,(e=>e.value===t)),c=(0,i.default)(u).call(u,(e=>e.value===a)),f=(0,i.default)(w.ipTypeOptions).call(w.ipTypeOptions,(e=>e.value===r));e&&e({network:t,subnet:a,ip:n,ipType:r,networkOption:d,subnetOption:c,ipTypeOption:f,validateStatus:l,errorMsg:o})}))})),(0,g.default)(this,"onNetworkChange",(e=>{var{subnets:t}=this.state,a=(0,o.default)(t).call(t,(t=>t.network_id===e)),n=a.length?a[0].id:null;this.setState({network:e,subnet:n,ipType:0,ip:void 0},this.onChange)})),(0,g.default)(this,"onSubnetChange",(e=>{this.setState({subnet:e,ip:void 0},this.onChange)})),(0,g.default)(this,"onTypeChange",(e=>{this.setState({ipType:e},this.onChange)})),(0,g.default)(this,"onIPChange",(e=>{var{value:t}=e.currentTarget;this.setState({ip:t},this.onChange)})),(0,g.default)(this,"checkNetwork",(e=>{var{network:a,subnets:n,subnet:r,ip:l,ipType:o}=this.state,s=(0,i.default)(n).call(n,(e=>e.id===r)),{allocation_pools:u}=s||{};if(a)if(1!==o||C(l)||_(l)){if(u&&1===o)if(!(0,i.default)(u).call(u,(e=>M(l,e.start,e.end))))return void this.setState({errorMsg:t("The ip is not within the allocated pool!"),validateStatus:"error"},e);this.setState({errorMsg:void 0,validateStatus:"success"},e)}else this.setState({errorMsg:t("Please input a valid ip!"),validateStatus:"error"},e);else this.setState({errorMsg:t("Please select a network!"),validateStatus:"error"},e)})),(0,g.default)(this,"getNetworkOptions",(()=>{var{networks:e}=this.state,{optionsByIndex:t,index:a}=this.props,n=[...e];return t&&a({label:e.name,value:e.id})))})),(0,g.default)(this,"getSubnetOptions",(()=>{var e,{network:t,subnets:a}=this.state;return t?(0,s.default)(e=(0,o.default)(a).call(a,(e=>e.network_id===t))).call(e,(e=>({label:v.default.createElement("div",null,v.default.createElement("span",null,e.name),v.default.createElement("span",{className:k.default["subnet-options-cidr"]},e.cidr)),name:e.name,value:e.id}))):[]}));var{value:a}=e,{network:n,subnet:r,ip:l,ipType:u}=a;this.state={network:n||null,subnet:r||null,ip:l||"0.0.0.0",ipType:u||0}}static getDerivedStateFromProps(e,t){if(e.networks!==t.networks||e.subnets!==t.subnets){var{networks:a,subnets:n}=e;return{networks:a,subnets:n}}return null}componentDidMount(){this.checkNetwork()}renderNetwork(){var{network:e}=this.state;return v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getNetworkOptions(),value:e,onChange:this.onNetworkChange,placeholder:t("please select network")}))}renderSubnet(){var{network:e,subnet:a,ipType:n}=this.state;return e&&n?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{options:this.getSubnetOptions(),value:a,placeholder:t("please select subnet"),onChange:this.onSubnetChange})):null}renderIpType(){var{network:e,ipType:t}=this.state;return e?v.default.createElement(m.default,{span:6},v.default.createElement(y.default,{value:t,options:w.ipTypeOptions,onChange:this.onTypeChange})):null}renderIp(){var{subnet:e,subnets:a,ipType:n,ip:r,network:l}=this.state;if(!l)return null;if(0===n){var d=[],c=(0,o.default)(a).call(a,(e=>e.network_id===l));(0,u.default)(c).call(c,(e=>{var{allocation_pools:t=[]}=e;(0,u.default)(t).call(t,(e=>{d.push(e)}))}));var g=(0,s.default)(d).call(d,((e,t)=>v.default.createElement("span",{key:"pool.start.".concat(t),style:{marginRight:10}},e.start,"--",e.end))),y=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},g));return v.default.createElement(m.default,{span:12},y)}if(!e)return null;var b=(0,i.default)(a).call(a,(t=>t.id===e));if(!b)return null;var{allocation_pools:x}=b,w=(0,s.default)(x).call(x,((e,t)=>v.default.createElement("div",{key:"pool.start.".concat(t)},e.start,"--",e.end))),C=v.default.createElement("span",null,v.default.createElement("span",{className:k.default.label},t("Allocation Pools"),": "),v.default.createElement("span",{className:k.default.content},w),v.default.createElement("span",{className:k.default.content},t("Please make sure this IP address be available to avoid creating VM failure.")));return v.default.createElement(m.default,{span:6},v.default.createElement(h.default,{value:r,onChange:this.onIPChange}),v.default.createElement(f.default,{title:C,color:"white"},v.default.createElement(p.default,null)))}render(){var{validateStatus:e,errorMsg:t}=this.state,{name:a}=this.props;return v.default.createElement(d.default.Item,{className:k.default["network-select"],name:a,validateStatus:e,help:t},v.default.createElement(c.default,{gutter:24},this.renderNetwork(),this.renderIpType(),this.renderSubnet(),this.renderIp()))}}a.default=S,(0,g.default)(S,"propTypes",{networks:b.default.array,subnets:b.default.array,value:b.default.object,ipType:b.default.number,name:b.default.string,optionsByIndex:b.default.bool,index:b.default.number}),(0,g.default)(S,"defaultProps",{networks:[],subnets:[],value:{},ipType:0,name:"network",optionsByIndex:!1,index:0})},1447:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1278);var p=f(a(1279)),h=f(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t"$ ".concat(e).replace(/\D/g,"")});return m.default.createElement(p.default,e)}}t.default=b},1448:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(29)),u=o(n(91)),d=o(n(86)),c=o(n(54));n(1315);var f=o(n(1316)),p=o(n(343));n(1311);var h=o(n(1312)),m=o(n(35)),g=o(n(177)),v=x(n(0)),y=x(n(1376));n(161);function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}function x(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}return n.default=e,a&&a.set(e,n),n}class w extends v.Component{constructor(e){super(e),(0,m.default)(this,"handleChangeTab",(e=>{this.setState({tabKey:e})})),(0,m.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;e&&e(this.state)})),(0,m.default)(this,"getMultiSelected",((e,t,a)=>{var n,r,{selectedRowKeys:l,selectedRows:i}=this.state,o=(0,s.default)(e).call(e,(e=>(0,u.default)(l).call(l,e)<0)),c=(0,s.default)(t).call(t,(e=>(0,u.default)(o).call(o,e.key)>=0||(0,u.default)(o).call(o,e.id)>=0)),f=(0,s.default)(l).call(l,(t=>(0,u.default)(e).call(e,t)<0&&!!(0,d.default)(a).call(a,(e=>e.key===t||e.id===t))));return[(0,s.default)(n=[...l,...o]).call(n,(e=>(0,u.default)(f).call(f,e)<0)),(0,s.default)(r=[...i,...c]).call(r,(e=>{var t=e.key||e.id;return(0,u.default)(f).call(f,t)<0}))]})),(0,m.default)(this,"onSelectTableChange",(e=>{var{selectedRowKeys:t,selectedRows:a,data:n}=e,{isMulti:r=!1}=this.props,[l,i]=r?this.getMultiSelected(t,a,n):[t,a],o={selectedRowKeys:l,selectedRows:i};this.setState(o,(()=>{this.onChangeValue()}))})),(0,m.default)(this,"clearSelected",(()=>{this.setState({selectedRowKeys:[],selectedRows:[]},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"onTagClose",(e=>{var{selectedRowKeys:t,selectedRows:a}=this.state,n=(0,s.default)(t).call(t,(t=>t!==e)),r=(0,s.default)(a).call(a,(t=>t.key!==e&&t.id!==e));this.setState({selectedRowKeys:n,selectedRows:r},(()=>{this.onChangeValue()}))})),(0,m.default)(this,"renderTag",(e=>v.default.createElement(h.default,{key:e.key||e.id,closable:!0,onClose:()=>this.onTagClose(e.key||e.id)},this.props.tagKey?e[this.props.tagKey]:e.name))),(0,m.default)(this,"renderClearButton",(e=>(0,y.renderClearButton)(this,e)));var{tabs:t=[],defaultTab:a,value:n={}}=e;this.state={tabKey:n.tab||a||t[0]&&t[0].key,selectedRowKeys:n.selectedRowKeys||[],selectedRows:n.selectedRows||[]},this.init(e)}init(e){var{value:t={}}=e;(0,g.default)(t)||this.onChangeValue()}renderTabSelectTable(e){var{selectedRowKeys:t,selectedRows:a}=this.state,n={selectedRowKeys:t},r={selectedRowKeys:t,selectedRows:a};return v.default.createElement(y.default,(0,p.default)({},e.props,{onChange:this.onSelectTableChange,showSelected:!1,value:n,initValue:r}))}renderTab(e){var{tabKey:t}=this.state;return t!==e.key?v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key}):v.default.createElement(f.default.TabPane,{tab:e.title,key:e.key},this.renderTabSelectTable(e))}renderTabs(){var{tabKey:e}=this.state,{tabs:t}=this.props;if(!e)return null;if(1===t.length)return this.renderTabSelectTable(t[0]);var a=(0,c.default)(t).call(t,(e=>this.renderTab(e)));return v.default.createElement(f.default,{activeKey:e,onChange:this.handleChangeTab},a)}renderSelected(){var{selectedRows:e}=this.state,a=(0,c.default)(e).call(e,(e=>this.renderTag(e))),n=this.renderClearButton(e);return v.default.createElement("div",null,t("Selected")," :  ",n,"  ",a)}renderHeader(){var{header:e}=this.props;return e||null}render(){return v.default.createElement(v.default.Fragment,null,this.renderHeader(),this.renderTabs(),this.renderSelected())}}a.default=w},1449:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,{used:n=0,add:r=0,reserved:l=0,limit:h=1,title:m="",secondTitle:g=t("Quota"),hasLabel:v=!1}=e,y=-1!==h,b=y,x=y?h:1/0,w=y?h:t("Infinity"),k=y?h-n-l-r:1;k<0&&(k=0);var C=[{type:t("Used"),value:y?n:0,color:f.used}];l&&C.push({type:t("Reserved"),value:y?l:0,color:f.reserved});C.push({type:t("New"),value:y?r:0,color:f.add}),C.push({type:t("Left"),value:k,color:f.left});var _=(0,o.default)(C).call(C,(e=>e.color)),M=v?200:120,S={width:M},I=M,N=n+r+l,E=y?N/x*100:0,T="";if(!y){var A,j,P,D=(0,s.default)(A="".concat(t("Used"),": ")).call(A,n),L=l?"":(0,s.default)(j="".concat(t("Reserved"),": ")).call(j,l),O=(0,s.default)(P="".concat(t("New"),": ")).call(P,r),R=[D,O];l&&(0,u.default)(R).call(R,1,0,L),T=R.join(" / ")}var z=m.length,U=(V=m,K=/[\u4e00-\u9fa5]+/g,V.match(K)?z>6?10:14:z>12?10:14),F=d.default.createElement(c.Chart,{placeholder:!1,height:I,padding:"auto",autoFit:!0},d.default.createElement(c.Legend,{visible:b&&v}),d.default.createElement(c.Tooltip,{visible:b}),d.default.createElement(c.View,{data:C},d.default.createElement(c.Coordinate,{type:"theta",innerRadius:.75}),d.default.createElement(c.Interval,{position:"value",adjust:"stack",color:["type",_],size:16}),d.default.createElement(c.Annotation.Text,{position:["50%","30%"],content:m,style:{lineHeight:1.5,fontSize:U,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","50%"],content:g,style:{lineHeight:1.5,fontSize:14,fill:"#000",textAlign:"center"}}),d.default.createElement(c.Annotation.Text,{position:["50%","70%"],content:(0,s.default)(a="".concat(N,"/")).call(a,w),style:{lineHeight:1.5,fontSize:14,fill:p(E),textAlign:"center",fontWeight:"bold"}}))),B=y?F:d.default.createElement(i.default,{title:T},F);var V,K;return d.default.createElement("div",{style:S},B)},a.getUsedValueColor=a.getAddValueColor=a.typeColors=void 0,n(344);var i=l(n(202)),o=l(n(54)),s=l(n(77)),u=l(n(573)),d=l(n(0)),c=n(1349),f=(n(161),{used:globalCSS.primaryColor,reserved:"#5D7092",add:globalCSS.successColor,left:"#eee",danger:globalCSS.warnDarkColor});a.typeColors=f;a.getAddValueColor=e=>e>80?f.danger:f.add;var p=e=>e>80?f.danger:f.used;a.getUsedValueColor=p},1454:function(e,t,a){var n=a(2077);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1506:function(e,t,a){var n=a(1815);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1516:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.getTags=void 0;var h=p(n(77)),m=p(n(28)),g=p(n(32)),v=p(n(86)),y=p(n(29)),b=p(n(54)),x=p(n(91)),w=p(n(350)),k=p(n(591));n(1246);var C=p(n(1247)),_=p(n(612));n(569);var M=p(n(1253));n(583);var S=p(n(420));n(1244);var I=p(n(1245));n(1276);var N=p(n(421));n(1311);var E=p(n(1312));n(1300);var T=p(n(1301));n(231);var A=p(n(341)),j=p(n(605)),P=p(n(35)),D=p(n(434)),L=p(n(177)),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=F(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),R=p(n(16)),z=(n(161),n(564),p(n(4))),U=p(n(1864));function F(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(F=function(e){return e?a:t})(e)}function B(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function V(e){for(var t=1;t{var a;return(0,h.default)(a="".concat(e,"--")).call(a,t)},G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.split("--")[0],a=e.split("--")[1];return{name:t,key:a}},H=(e,t)=>{var a;if(!e||(0,L.default)(e))return{};if((0,L.default)(t))return{};var n=[],r=[];return(0,m.default)(a=(0,g.default)(e)).call(a,(a=>{var l=(0,v.default)(t).call(t,(e=>e.name===a));if(l){var{options:i=[]}=l,o=e[a];if(i.length){var s=(0,v.default)(i).call(i,(e=>e.key===o));s&&s.isQuick&&r.push(Y(l.name,o))}n.push({value:o,filter:l})}})),{tags:n,checkValues:r}};a.getTags=H;class W extends O.PureComponent{constructor(e){super(e),(0,P.default)(this,"getFilterParams",(()=>{var{filterParams:e}=this.props,{tags:t}=this.state,a=[];return(0,m.default)(e).call(e,(e=>{(0,v.default)(t).call(t,(t=>(0,y.default)(t).name===e.name))||a.push(e)})),a})),(0,P.default)(this,"onTagsChange",(()=>{var{onInputChange:e}=this.props,{tags:t}=this.state;e&&e(t)})),(0,P.default)(this,"onFocusChange",(e=>{var{onInputFocus:t}=this.props;t&&t(e)})),(0,P.default)(this,"getDefaultFilter",(()=>{var{filterParams:e}=this.props;return(0,v.default)(e).call(e,(e=>!e.options))})),(0,P.default)(this,"handleEnter",(e=>{e&&e.preventDefault(),e&&e.stopPropagation();var{value:t}=e.currentTarget;t&&this.updateInput(t)})),(0,P.default)(this,"handleBlur",(()=>{var{currentFilter:e}=this.state;e?(this.setState({isFocus:!0}),this.onFocusChange(!0)):this.onFocusChange(!1)})),(0,P.default)(this,"handleKeyUp",(e=>{if(8===e.keyCode||46===e.keyCode){var{currentFilter:t,tags:a}=this.state,{value:n}=this.inputRef.current.state;t&&(0,L.default)(n)?this.setState({currentFilter:null}):a.length>0&&(0,L.default)(n)&&this.handleTagClose((0,y.default)(a[a.length-1]).name)}})),(0,P.default)(this,"handleFocus",(()=>{this.setState({isFocus:!0}),this.onFocusChange(!0)})),(0,P.default)(this,"handleInputChange",(e=>{this.setState({inputValue:e.target.value})})),(0,P.default)(this,"handleTagClose",(e=>{var{tags:t,checkValues:a}=this.state,n=(0,y.default)(t).call(t,(t=>(0,y.default)(t).name!==e)),r=(0,y.default)(a).call(a,(t=>G(t).name!==e));this.setState({tags:n,optionClear:!1,checkValues:r},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"handleOptionClick",(e=>{var t,{key:a}=e;t="true"===a||"false"!==a&&a,this.updateInput(t),this.onFocusChange(!1)})),(0,P.default)(this,"handleSelectFilter",(e=>{var{key:t}=e,{filterParams:a}=this.props,n=(0,v.default)(a).call(a,(e=>e.name===t));this.setState({currentFilter:n,isFocus:!0},(()=>{this.inputRef.current.focus(),this.onFocusChange(!0)}))})),(0,P.default)(this,"clearOptions",(()=>{this.setState({optionClear:!0})})),(0,P.default)(this,"renderOptionsClose",(e=>{var{filterParams:t}=this.props,{optionClear:a}=this.state;return a||!e[0]||t.length===e.length?null:O.default.createElement(A.default,{className:U.default["close-option-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearOptions})})),(0,P.default)(this,"updateInput",(e=>{var{currentFilter:t,tags:a}=this.state,n={value:e,filter:t||this.getDefaultFilter()};this.clearInputValue();var r=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name!==(0,y.default)(n).name));r.push(n);var l=(0,y.default)(r).call(r,(e=>{var{value:t,filter:{options:a=[]}={}}=e;return!!(0,v.default)(a).call(a,(e=>e.key===t&&e.isQuick))})),i=(0,b.default)(l).call(l,(e=>Y((0,y.default)(e).name,e.value)));this.setState({tags:r,currentFilter:null,inputValue:"",checkValues:i},(()=>{this.onTagsChange()}))})),(0,P.default)(this,"clearInputValue",(()=>{this.setState({inputValue:""})})),(0,P.default)(this,"clearAll",(()=>{this.clearInputValue(),this.setState({inputValue:"",tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]},(()=>{this.onTagsChange(),this.onFocusChange(!1)}))})),(0,P.default)(this,"updateCheck",(()=>{})),(0,P.default)(this,"onChangeCheck",(e=>{var t,{checkValues:a}=this.state,n=[];(0,m.default)(e).call(e,(e=>{(0,x.default)(a).call(a,e)<0&&n.push({key:e,value:!0})})),(0,m.default)(a).call(a,(t=>{(0,x.default)(e).call(e,t)<0&&n.push({key:t,value:!1})}));var r=(0,b.default)(t=(0,w.default)(new k.default([...a,...e]))).call(t,(e=>G(e).name)),{filterParams:l}=this.props,{tags:i}=this.state,o=(0,y.default)(i).call(i,(e=>(0,x.default)(r).call(r,(0,y.default)(e).name)<0)),s=[];(0,m.default)(n).call(n,(e=>{var{key:t,value:a}=e;if(a){var{name:n,key:r}=G(t),i=(0,v.default)(l).call(l,(e=>e.name===n));s.push({value:r,filter:i})}})),this.setState({tags:[...o,...s],checkValues:e},(()=>{this.onTagsChange()}))})),this.inputRef=O.default.createRef(),this.state={tags:[],currentFilter:null,isFocus:!1,optionClear:!1,checkValues:[]}}componentDidMount(){this.initTags(this.props)}initTags(e){var{initValue:t,filterParams:a}=e,{tags:n=[],checkValues:r}=H(t,a);n.length&&this.setState({tags:n,checkValues:r},(()=>{this.onTagsChange()}))}renderKey(){var{currentFilter:e}=this.state;return e?O.default.createElement("span",{className:U.default.key},"".concat(e.label),O.default.createElement(T.default,{type:"vertical"})):null}renderTags(){var{tags:e}=this.state;return(0,b.default)(e).call(e,(e=>{var{filter:t,value:a}=e,{options:n}=t,r=a;if(n){var l=(0,v.default)(n).call(n,(e=>((0,D.default)(e.key)?e.key.toString():e.key)===((0,D.default)(a)?a.toString():a)));r=l?l.label:a}return O.default.createElement(E.default,{key:t.name,closable:!0,onClose:()=>this.handleTagClose(t.name)},O.default.createElement("span",null,t.label),O.default.createElement(T.default,{type:"vertical"}),O.default.createElement("span",null,r))}))}renderOptions(){var e,{currentFilter:t,tags:a}=this.state,{options:n,correlateOption:r}=t;if(!n)return null;var l=(0,y.default)(a).call(a,(e=>(0,y.default)(e).name===r)),i=[];r&&l[0]&&(i=(0,y.default)(n).call(n,(e=>{var t;return(0,x.default)(t=e.correlateValue).call(t,l[0].value)>-1})));var o=(0,b.default)(e=i[0]?i:n).call(e,(e=>O.default.createElement(N.default.Item,{key:e.key},e.label)));return O.default.createElement(N.default,{className:U.default["option-menu"],onClick:this.handleOptionClick},o)}renderMenu(){var{currentFilter:e,isFocus:t,optionClear:a,inputValue:n}=this.state;if(n)return null;if(!t)return null;if(e)return this.renderOptions();var r=this.getFilterParams();a&&(r=[]);var l=(0,b.default)(r).call(r,(e=>O.default.createElement(N.default.Item,{key:e.name},e.label)));return O.default.createElement(N.default,{className:U.default.menu,onClick:this.handleSelectFilter,id:"search-items-menu"},this.renderOptionsClose(r),l)}renderClose(){var{isFocus:e}=this.state;return e?O.default.createElement(I.default,{className:U.default["close-btn-col"]},O.default.createElement(A.default,{className:U.default["close-btn"],type:"link",icon:O.default.createElement(j.default,null),onClick:this.clearAll})):null}getChecks(){var{filterParams:e}=this.props,t=[];return(0,m.default)(e).call(e,(e=>{var{options:a=[]}=e;(0,m.default)(a).call(a,(a=>{var{isQuick:n=!1}=a;n&&t.push(V(V({},a),{},{father:e}))}))})),t}renderChecks(){var e=this.getChecks();if(0===e.length)return null;var{checkValues:t}=this.state,a=(0,b.default)(e).call(e,(e=>{var{checkLabel:t,key:a,father:n}=e;return{label:t,value:Y(n.name,a)}}));return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-checks"],"magic-input-checks")},O.default.createElement(S.default.Group,{options:a,onChange:this.onChangeCheck,value:t}))}render(){var e,{placeholder:t}=this.props,{isFocus:a,inputValue:n}=this.state;return O.default.createElement("div",{className:(0,z.default)(U.default["magic-input-outer-wrapper"],"magic-input-outer-wrapper")},this.renderChecks(),O.default.createElement(C.default,{className:(0,z.default)("magic-input-wrapper",U.default["magic-input-wrapper"],a?U.default["magic-input-wrapper-active"]:"",a?"magic-input-wrapper-active":"")},O.default.createElement(I.default,null,this.renderTags()),O.default.createElement(I.default,null,this.renderKey()),O.default.createElement(I.default,{className:U.default["input-wrapper"]},O.default.createElement(M.default,{className:U.default.input,ref:this.inputRef,autoFocus:a,placeholder:t,onChange:this.handleInputChange,onBlur:this.handleBlur,onFocus:this.handleFocus,onPressEnter:this.handleEnter,onKeyUp:this.handleKeyUp,value:n}),this.renderMenu()),O.default.createElement(I.default,{className:(0,h.default)(e="".concat(U.default["search-icon"]," ")).call(e,a?U.default["search-icon-hidden"]:"")},O.default.createElement(_.default,null)),this.renderClose()))}}(0,P.default)(W,"propTypes",{filterParams:R.default.arrayOf(Q),initValue:R.default.object,placeholder:R.default.string,onInputChange:R.default.func,onInputFocus:R.default.func}),(0,P.default)(W,"defaultProps",{filterParams:[],initValue:{},placeholder:t("Click here for filters.")});var q=W;a.default=q},1517:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var f=c(a(54)),p=c(a(77)),h=c(a(29)),m=c(a(91)),g=c(a(573)),v=c(a(86)),y=c(a(32));a(585);var b=c(a(587)),x=c(a(58)),w=c(a(35));a(594);var k=c(a(595)),C=c(a(570)),_=c(a(205)),M=c(a(177)),S=c(a(134)),I=c(a(119)),N=c(a(0)),E=c(a(4)),T=c(a(16)),A=(a(161),a(418)),j=a(163),P=c(a(1866));function D(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function L(e){for(var t=1;t{var{onChange:r}=this.props;r&&r(e,t,a,n)})),(0,w.default)(this,"getBaseColumns",(e=>(0,f.default)(e).call(e,(e=>{var{sortable:t,dataIndex:a,valueRender:n,sorter:r,sortOrder:l,render:i,isStatus:o,isName:s,isPrice:u,isLink:d,routeName:c,linkPrefix:f,valueMap:p,unit:h,copyable:m}=e,g=(0,x.default)(e,["sortable","dataIndex","valueRender","sorter","sortOrder","render","isStatus","isName","isPrice","isLink","routeName","linkPrefix","valueMap","unit","copyable"]);if("operation"===e.key)return e;var v=(0,A.getColumnSorter)(e,this.props),y=l||v?(0,A.getSortOrder)(a,this.props):null,b=i||(0,A.getRender)(n);if(p&&(b=(0,A.getValueMapRender)(e)),h&&(b=(0,A.getUnitRender)(e)),(0,A.checkIsStatusColumn)(a,o)&&(b=(0,A.getStatusRender)(b)),"description"===a&&(b=this.getNoValueRender(b)),"project_name"===a&&(b=(0,A.getProjectRender)(b)),"name"===a&&c||d){var{rowKey:w}=this.props;b=(0,A.getNameRenderByRouter)(b,e,w)}("name"===a&&f||s)&&(b=(0,A.getNameRender)(b,e)),("cost"===a||u)&&(b=this.getPriceRender(b,e)),m&&(b=e=>e&&"-"!==e?N.default.createElement(O,{copyable:!0},e):"-");var k=L(L({},g),{},{dataIndex:a,align:e.align||"left"});return v&&(k.sorter=v),l&&(k.sortOrder=y),b&&(k.render=b),(0,A.updateColumnSort)(k,this.props),k})))),(0,w.default)(this,"getNoValueRender",(e=>e||(e=>(0,j.getNoValue)(e)))),(0,w.default)(this,"getLinkUrl",((e,t)=>{var a,n;return e?"/"===e[e.length-1]?(0,p.default)(n="".concat(e)).call(n,t):(0,p.default)(a="".concat(e,"/")).call(a,t):null})),(0,w.default)(this,"getColumns",(()=>{var{columns:e}=this.props;return this.getBaseColumns(e)})),(0,w.default)(this,"getPriceRender",((e,t)=>e||(e=>{var t=(0,S.default)(e)?e:(e||0).toFixed(2);return N.default.createElement("span",{style:{color:globalCSS.moneyColor}},t)}))),(0,w.default)(this,"getDataSource",(()=>{var{data:e,filters:t,filterByBackend:a}=this.props;if(a)return e;var n=(0,f.default)(e).call(e,(e=>e.key?e:L(L({},e),{},{key:e.id})));return!t||(0,M.default)(t)?n:(0,h.default)(n).call(n,(e=>this.filterData(e,t)))})),(0,w.default)(this,"onRow",((e,t)=>{var{rowSelection:a,onRow:n}=this.props;return n?n(e,t):{onClick:()=>{var{selectedRowKeys:t=[],onChange:n,type:r,getCheckboxProps:l}=a||{};if(l){var{disabled:i}=l(e);if(i)return}var o=(0,m.default)(t).call(t,e.key);if("checkbox"===r){var s=[...t];o>-1?(0,g.default)(s).call(s,o,1):s.push(e.key),n(s)}else"radio"===r&&n([e.key])}}})),(0,w.default)(this,"filterData",((e,t)=>{var a,{searchFilters:n}=this.props;return!(0,v.default)(a=(0,y.default)(t)).call(a,(a=>{var r=(0,I.default)(e,a),l=t[a],{filterFunc:i}=(0,v.default)(n).call(n,(e=>e.name===a));if(i)return!i(r,l,e);var o,s=this.checkFilterInclude(a);return(0,S.default)(r)&&(0,S.default)(l)?s?(0,m.default)(o=r.toLowerCase()).call(o,l.toLowerCase())<0:r.toLowerCase()!==l.toLowerCase():!(0,_.default)(r,l)}))})),(0,w.default)(this,"checkFilterInclude",(e=>{var{searchFilters:t}=this.props,a=(0,v.default)(t).call(t,(t=>t.name===e));return(0,C.default)(a,"include")?a.include:!(0,C.default)(a,"options")}))}getPagination(e){var{pagination:t}=this.props;return t&&L(L({},t),{},{total:e.length})}render(){var{className:e,isLoading:t,rowSelection:a,footer:n,childrenColumnName:r}=this.props,l=this.getColumns(),i=this.getDataSource();return N.default.createElement(b.default,{className:(0,E.default)(P.default["sl-simple-table"],"sl-simple-table",e),columns:l,dataSource:i,loading:t,onChange:this.handleChange,pagination:this.getPagination(i),rowSelection:a,sortDirections:["ascend","descend","ascend"],showSorterTooltip:!1,footer:n,onRow:this.onRow,childrenColumnName:r})}}t.default=R,(0,w.default)(R,"propTypes",{data:T.default.array.isRequired,filters:T.default.object,searchFilters:T.default.array,columns:T.default.array.isRequired,className:T.default.string,onChange:T.default.func,isLoading:T.default.bool,rowSelection:T.default.object,pagination:T.default.oneOfType([T.default.object,T.default.bool]),filterByBackend:T.default.bool,isSortByBack:T.default.bool,defaultSortKey:T.default.string,defaultSortOrder:T.default.string,onRow:T.default.func,childrenColumnName:T.default.string}),(0,w.default)(R,"defaultProps",{filters:{},searchFilters:[],isLoading:!1,rowSelection:null,pagination:{},filterByBackend:!1,isSortByBack:!1,defaultSortKey:"",defaultSortOrder:""})},1518:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(642));n(231);var d=o(n(341)),c=o(n(641));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=o(n(16)),g=(n(564),n(161),o(n(4))),v=o(n(1868));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends h.Component{static propTypes(){return{total:m.default.number,currentDataSize:m.default.number.isRequired,current:m.default.number.isRequired,pageSize:m.default.number.isRequired,defaultCurrent:m.default.number,defaultPageSize:m.default.number,pageSizeOptions:m.default.array,onChange:m.default.func,isLoading:m.default.bool,className:m.default.object}}constructor(e){super(e),(0,p.default)(this,"onChange",((e,t)=>{var{onChange:a}=this.props;a&&a(e,t)})),(0,p.default)(this,"onChangePageSize",(e=>{this.setState({pageSize:e},(()=>{this.onChange(1,e)}))})),(0,p.default)(this,"onClickPre",(()=>{var{current:e,pageSize:t}=this.state;1!==e&&this.setState({current:e-1},(()=>{this.onChange(e-1,t)}))})),(0,p.default)(this,"onClickNext",(()=>{var{current:e,pageSize:t,currentDataSize:a}=this.state;a{var{onFocusChange:t}=this.props;t&&t(e)})),(0,p.default)(this,"onFocus",(()=>{this.onFocusChange(!0)})),(0,p.default)(this,"onBlur",(()=>{this.onFocusChange(!1)}));var{current:t,pageSize:a,defaultCurrent:n,defaultPageSize:r,currentDataSize:l,isLoading:i,total:o}=e;this.state={current:t||n,pageSize:a||r,currentDataSize:l,isLoading:i,total:o}}static getDerivedStateFromProps(e,t){if(e.currentDataSize!==t.currentDataSize||e.current&&e.current!==t.current||e.isLoading!==t.isLoading||e.total!==t.total){var{currentDataSize:a,current:n=1,isLoading:r,total:l}=e;return{currentDataSize:a,current:n,isLoading:r,total:l}}return null}checkNextByTotal(){var{pageSize:e,total:t,current:a}=this.state;return void 0===t||!!t&&a({label:t("{pageSize} items/page",{pageSize:e}),value:e})));return h.default.createElement(f.default,{className:v.default["page-select"],options:r,value:n,defaultValue:a,onChange:e=>{this.onChangePageSize(e)}})}render(){var{current:e,currentDataSize:t,pageSize:a,isLoading:n}=this.state,{className:r}=this.props,l=n||1===e,i=n||t{}})},1519:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(583);var d=o(n(420));n(568);var c=o(n(415)),f=o(n(343)),p=o(n(58)),h=o(n(35)),m=o(n(1314)),g=o(n(601)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),o(n(1875)));function b(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(b=function(e){return e?a:t})(e)}class x extends v.Component{constructor(e){super(e),(0,h.default)(this,"onChange",((e,t)=>{var{onChange:a,isWrappedValue:n}=this.props;a&&a(n?t:e)})),(0,h.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e})),(0,h.default)(this,"onCheckChange",(()=>{var{selectAll:e}=this.state,{options:t,checkOptions:a}=this.props;this.setState({selectAll:1-e},this.onChange(1===e?a[a.length-1].value:t[t.length-1].value))}));var{checkOptions:t}=e;t&&(this.state={selectAll:!1})}render(){var e=this.props,{value:a,placeholder:n=t("Please select"),isWrappedValue:r,checkOptions:l,checkBoxInfo:i,allowClear:o=!0,showSearch:h=!0}=e,b=(0,p.default)(e,["value","placeholder","isWrappedValue","checkOptions","checkBoxInfo","allowClear","showSearch"]);if((0,g.default)(a)||(0,m.default)(a))return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange}));if(l){var{options:x}=this.props,{selectAll:w}=this.state,k=v.default.createElement(d.default,{onChange:this.onCheckChange,checked:w},i||t("Show all Data"));return v.default.createElement(s.default,{gutter:24},v.default.createElement(u.default,{span:12},v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue(),options:1===w?l:x}))),v.default.createElement(u.default,{span:12,className:y.default.checkbox},k))}return v.default.createElement(c.default,(0,f.default)({},b,{allowClear:o,showSearch:h,placeholder:n,onChange:this.onChange,value:this.getValue()}))}}a.default=x},1534:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(86));n(1261);var h=f(n(1262));n(1246);var m=f(n(1247));n(1244);var g=f(n(1245));n(583);var v=f(n(420));n(1278);var y=f(n(1279));n(568);var b=f(n(415)),x=f(n(35)),w=f(n(0)),k=(n(161),f(n(16))),C=f(n(1899));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{var{type:a}=this.state;a?this.setState({errorMsg:void 0,validateStatus:"success"},e):this.setState({errorMsg:t("Please select a type!"),validateStatus:"error"},e)})),(0,x.default)(this,"onChange",(()=>{this.checkVolume((()=>{var{onChange:e,options:a=[]}=this.props;if(e){var{type:n,deleteType:r}=this.state,l=1===r?t("Deleted with the instance"):t("Not deleted with the instance"),i=(0,p.default)(a).call(a,(e=>e.value===n));e(M(M({},this.state),{},{deleteTypeLabel:l,typeOption:i}))}}))})),(0,x.default)(this,"onSelectChange",(e=>{this.setState({type:e},this.onChange)})),(0,x.default)(this,"onInputChange",(e=>{this.setState({size:e},this.onChange)})),(0,x.default)(this,"onDeleteChange",(()=>{var{deleteType:e}=this.state;this.setState({deleteType:1-e},this.onChange)}));var{type:a,size:n,deleteType:r}=e.value||{},{minSize:l}=e;this.state={type:a,size:n,deleteType:r,minSize:l}}static getDerivedStateFromProps(e,t){if(e.options!==t.options||e.minSize!==t.minSize){var{options:a,value:n,minSize:r}=e;return{options:a,type:n.type,minSize:r}}return null}componentDidMount(){this.onChange()}render(){var{options:e,type:a,size:n,deleteType:r,validateStatus:l,errorMsg:i,minSize:o}=this.state,{name:s,showDelete:u=!0}=this.props,d=w.default.createElement(b.default,{value:a,options:e,onChange:this.onSelectChange,className:C.default.select,placeholder:t("Please select type")}),c=w.default.createElement(y.default,{value:n,onChange:this.onInputChange,min:o,style:{maxWidth:"60%"},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),onInput:e=>this.onInputChange(1*e)}),f=1===r,p=u?w.default.createElement(v.default,{onChange:this.onDeleteChange,checked:f},t("Deleted with the instance")):null;return w.default.createElement(h.default.Item,{className:C.default["instance-volume"],name:s,validateStatus:l,help:i},w.default.createElement(m.default,{gutter:24},w.default.createElement(g.default,{span:8},w.default.createElement("span",{className:C.default.label},t("Type")),d),w.default.createElement(g.default,{span:14},w.default.createElement("span",{className:C.default.label},t("Size")),c,w.default.createElement("span",{className:C.default["size-label"]},"GiB"),p)))}}a.default=S,(0,x.default)(S,"propTypes",{options:k.default.array,value:k.default.any,minSize:k.default.number}),(0,x.default)(S,"defaultProps",{options:[],value:{},minSize:0})},1552:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1278);var h=p(n(1279)),m=p(n(343)),g=p(n(35)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),y=(n(161),p(n(16))),b=p(n(1963));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{onChange:t}=this.props;t&&t(e)})),(0,g.default)(this,"onCpuChange",(e=>{this.onChange(k(k({},this.state),{},{cpu:e}))})),(0,g.default)(this,"onRamChange",(e=>{this.onChange(k(k({},this.state),{},{ram:e}))})),this.state={cpu:1,ram:512}}static getDerivedStateFromProps(e,t){var{cpu:a,ram:n}=e.value||{};return a!==t.cpu||n!==t.ram?{cpu:a,ram:n}:null}render(){var{cpu:e,ram:a}=this.state,n={min:1,precision:0,style:{width:120},formatter:e=>"$ ".concat(e).replace(/\D/g,"")};return v.default.createElement(v.default.Fragment,null,v.default.createElement("span",{className:b.default.cpu},t("CPU(Core)")),v.default.createElement(h.default,(0,m.default)({value:e,onChange:this.onCpuChange},n)),v.default.createElement("span",{className:b.default.ram},t("RAM (MiB)")),v.default.createElement(h.default,(0,m.default)({value:a,onChange:this.onRamChange},n)))}}a.default=C,(0,g.default)(C,"propTypes",{onChange:y.default.func,value:y.default.object}),(0,g.default)(C,"defaultProps",{onChange:null,value:{cpu:1,ram:1024}})},1553:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.getBase64=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getText=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsText(e,"UTF-8"),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))},t.getArrayBuffer=function(e){return new l.default(((t,a)=>{var n=new FileReader;n.readAsArrayBuffer(e),n.onload=()=>t(n.result),n.onerror=e=>a(e)}))};var l=r(a(63))},1563:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=function(e){var{content:a,defaultCollapsed:n=!1,size:r="small",ableAuto:l=!0,tip:i=t("When auto-expand/close is enabled, if there is no operation in the pop-up window, the pop-up window will be closed automatically after { seconds } seconds, and it will be automatically expanded when the displayed content changes.",{seconds:v}),checkValue:o=""}=e,[g,y]=(0,m.useState)(n),[b,x]=(0,m.useState)(l),[w,k]=(0,m.useState)(!1),C=(0,m.useRef)(),_=()=>{C.current&&clearTimeout(C.current)},M=()=>{y(!1)},S=()=>{y(!0),_()},I=()=>{g||(C.current&&_(),C.current=(0,h.default)((()=>{g||S()}),1e3*v))};(0,m.useEffect)((()=>{b&&(g||(w?_():I()))}),[g,w]),(0,m.useEffect)((()=>(b&&(M(),I()),()=>{_()})),[o]);var N=e=>{x(e)},E=()=>{k(!0)},T=()=>{k(!1)};if(g)return m.default.createElement("div",{style:{padding:8},onMouseEnter:E,onMouseLeave:T,className:"content-wrapper"},m.default.createElement(f.default,{title:t("Expand")},m.default.createElement(d.default,{onClick:M,size:r},m.default.createElement(c.default,null))));var A=m.default.createElement(f.default,{title:t("Close")},m.default.createElement(d.default,{onClick:S,size:r},m.default.createElement(u.default,null)));return m.default.createElement("div",{onMouseEnter:E,onMouseLeave:T,className:"content-wrapper",style:{minWidth:150}},m.default.createElement(s.default,{title:l?m.default.createElement(f.default,{title:i},m.default.createElement(p.default,{size:"small",checked:b,onChange:N})):null,extra:A},a))},n(1280);var s=o(n(1281)),u=o(n(1564));n(231);var d=o(n(341)),c=o(n(1565));n(344);var f=o(n(202));n(1445);var p=o(n(1446)),h=o(n(584)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function g(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(g=function(e){return e?a:t})(e)}var v=5},1566:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{quotas:t=[],loading:a}=e;if(a)return o.default.createElement(i.default,null);var n=(0,l.default)(t).call(t,((e,a)=>{var{name:n}=e,r=a===t.length-1?{}:{marginBottom:10};return o.default.createElement("div",{key:n,style:r},function(e){var{type:t="ring",limit:a,unlimitByTable:n=!1}=e;if(-1===a&&n)return o.default.createElement(d.default,e);if("ring"===t)return o.default.createElement(s.default,e);if("line"===t)return o.default.createElement(u.default,e)}(e))}));return o.default.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",overflowY:"auto",overflowX:"hidden",maxHeight:400}},n)};var l=r(a(54));a(1317);var i=r(a(1318)),o=r(a(0)),s=(a(161),r(a(1449))),u=r(a(2019)),d=r(a(2020))},1569:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.AuthCatalogStore=void 0;var f=c(a(35)),p=c(a(50)),h=c(a(53));function m(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function g(e){for(var t=1;t{var t;return g(g({},e),{},{region:e.endpoints&&(null===(t=e.endpoints[0])||void 0===t?void 0:t.region)||""})}}}t.AuthCatalogStore=v;var y=new v;t.default=y},1782:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=a(0),i=r(a(1783)),o=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(5)]).then(a.t.bind(null,2084,7)))),s=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(7)]).then(a.t.bind(null,3503,7)))),u=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(18)]).then(a.t.bind(null,3772,7)))),d=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(15)]).then(a.t.bind(null,3837,7)))),c=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(11)]).then(a.t.bind(null,4021,7)))),f=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(8)]).then(a.t.bind(null,4090,7)))),p=(0,l.lazy)((()=>Promise.all([a.e(0),a.e(13)]).then(a.t.bind(null,4132,7)))),h=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(10)]).then(a.t.bind(null,4134,7)))),m=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(19)]).then(a.t.bind(null,4149,7)))),g=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4155,7)))),v=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(14)]).then(a.t.bind(null,4199,7)))),y=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(17)]).then(a.t.bind(null,4242,7)))),b=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(9)]).then(a.t.bind(null,4305,7)))),x=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(2)]).then(a.t.bind(null,4328,7)))),w=(0,l.lazy)((()=>Promise.resolve().then(a.t.bind(null,579,7)))),k=(0,l.lazy)((()=>Promise.all([a.e(1),a.e(0),a.e(3)]).then(a.t.bind(null,4368,7)))),C=[{path:"/",component:i.default,routes:[{path:"/base",component:o},{path:"/compute",component:s},{path:"/storage",component:u},{path:"/network",component:d},{path:"/identity",component:c},{path:"/configuration-admin",component:f},{path:"/management",component:p},{path:"/heat",component:h},{path:"/monitor-center",component:g},{path:"/user",component:m},{path:"/database",component:v},{path:"/share",component:y},{path:"/container-infra",component:b},{path:"/container-service",component:x},{path:"/ha",component:k},{path:"*",component:w}]}];t.default=C},1783:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.BaseLayout=void 0;var h=p(n(29)),m=p(n(28)),g=p(n(86)),v=p(n(54)),y=p(n(1503)),b=p(n(58)),x=p(n(343)),w=p(n(35));n(1431);var k=p(n(1432)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=R(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),_=n(412),M=n(36),S=p(n(237)),I=n(163),N=(n(564),p(n(1251))),E=(n(161),p(n(1794))),T=n(567),A=p(n(2057)),j=p(n(2067)),P=p(n(2068)),D=p(n(2069)),L=p(n(2078)),O=p(n(1454));function R(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(R=function(e){return e?a:t})(e)}function z(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function U(e){for(var t=1;t(this.props.rootStore.user||{}).keystone_token),(()=>{(0,T.setRouteMap)(this.menu)}))),(0,w.default)(this,"filterMenuByHidden",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(0===e.length)return e;var a=(0,h.default)(e).call(e,(e=>!e.hidden));return(0,m.default)(a).call(a,(e=>{e.children=t.filterMenuByHidden(e.children)})),a})),(0,w.default)(this,"checkItemEndpoints",(e=>this.rootStore.checkEndpoint(e))),(0,w.default)(this,"getMenuAllowed",(e=>{var t=[];return(0,m.default)(e).call(e,(e=>{var a=this.updateMenuItemByAllowed(e);a&&t.push(a)})),t})),(0,w.default)(this,"onCollapseChange",(e=>{this.setState({collapsed:e})})),(0,w.default)(this,"checkPath",((e,t,a)=>e instanceof RegExp?e.test(t):a?t===a:e===t)),(0,w.default)(this,"getCurrentMenu",(e=>{var t,a,n=(0,g.default)(t=this.menuAll).call(t,(t=>this.checkPath(t.path,e)));if(n)return[n];var r=!1,l=[];return(0,m.default)(a=this.menuAll).call(a,(t=>{if(!r&&t.children){var a,n,i=(0,g.default)(a=t.children).call(a,(t=>this.checkPath(t.path,e)));if(i&&(r=!0,l=[t,i]),!r)(0,m.default)(n=t.children).call(n,(a=>{if(a.children){var n,i=(0,g.default)(n=a.children).call(n,(t=>this.checkPath(t.path,e)));i&&(r=!0,l=[t,a,i])}}))}})),l})),(0,w.default)(this,"clearAllNotice",(()=>{for(var e=document.getElementsByClassName("ant-notification-notice");e.length>0;)e[0].parentNode.removeChild(e[0]);this.rootStore.clearNoticeCount()})),(0,w.default)(this,"renderHeader",(()=>C.default.createElement(E.default,(0,x.default)({},this.props,{isAdminPage:this.isAdminPage,navItems:this.globalNav,isUserCenterPage:this.isUserCenterPage})))),this.state={collapsed:!1},this.init()}componentWillUnmount(){this.autoReaction()}get isAdminPage(){var{pathname:e}=this.props.location;return(0,I.isAdminPage)(e)}get isUserCenterPage(){var{pathname:e}=this.props.location;return(0,I.isUserCenterPage)(e)}get rootStore(){return this.props.rootStore}get noticeCount(){return this.rootStore.noticeCount-(this.rootStore.noticeCountWaitRemove||0)}get user(){return(0,M.toJS)(this.rootStore.user)||null}get hasAdminRole(){return this.user&&this.rootStore.hasAdminRole}get hasAdminPageRole(){return this.user&&this.rootStore.hasAdminPageRole}get originMenu(){return this.isUserCenterPage?(0,P.default)(S.default.t):this.isAdminPage?(0,A.default)(S.default.t):(0,j.default)(S.default.t)}get globalNav(){return this.menu}get menu(){var e=this.filterMenuByHidden(this.originMenu),t=this.getMenuAllowed(e);return(0,h.default)(t).call(t,(e=>{var{hasChildren:t=!0,children:a}=e;return!t||t&&a.length}))}get menuAll(){return this.getMenuAllowed(this.originMenu)}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,T.getPath)({key:n,params:t,query:a})}updateMenuItemByAllowed(e){var t,{policy:a,endpoints:n,children:r=[]}=e,l=(0,b.default)(e,["policy","endpoints","children"]);if(a&&!(0,N.default)({policy:a}))return null;if(n&&!this.checkItemEndpoints(n))return null;if(0===r.length)return e;var i=(0,h.default)(t=(0,v.default)(r).call(r,(e=>this.updateMenuItemByAllowed(e)))).call(t,(e=>!!e));return U(U({},l),{},{children:i})}init(){this.isAdminPage&&!this.hasAdminPageRole&&(window.location.href="/base/overview"),this.routes=this.props.route.routes,(0,T.setRouteMap)(this.menu)}renderNotice(){return this.noticeCount<3?null:C.default.createElement("div",{className:O.default.notice,onClick:this.clearAllNotice},C.default.createElement(y.default,null),C.default.createElement("span",{style:{marginLeft:8,fontSize:12}},t("Close all notifications.")))}render(){var{pathname:e}=this.props.location,t=this.getCurrentMenu(e);return C.default.createElement("div",{className:O.default["base-layout"]},this.renderNotice(),C.default.createElement(F,{className:O.default.header},this.renderHeader()),C.default.createElement(L.default,{pathname:e,isAdminPage:this.isAdminPage,menu:this.menu,menuAll:this.menuAll,currentRoutes:t,onCollapseChange:this.onCollapseChange}),C.default.createElement(D.default,(0,x.default)({},this.props,this.state,{currentRoutes:t,isAdminPage:this.isAdminPage})))}}a.BaseLayout=B;var V=(0,_.inject)("rootStore")((0,_.observer)(B));a.default=V},1794:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=function(e){var{isAdminPage:t=!1,navItems:a=[]}=e;return l.default.createElement("div",{className:u.default.header},l.default.createElement(i.default,{navItems:a}),!t&&l.default.createElement(o.default,null),l.default.createElement(s.default,e))};var l=r(a(0)),i=r(a(1795)),o=r(a(1809)),s=r(a(2050)),u=r(a(1346))},1795:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.GlobalNav=void 0;var p=f(n(605));n(1796);var h=f(n(1799)),m=f(n(35)),g=f(n(0)),v=n(412),y=(n(564),f(n(16))),b=(n(161),f(n(1800))),x=n(1433),w=f(n(1801)),k=f(n(1804)),C=f(n(1807));function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{this.setState({visible:!1})})),(0,m.default)(this,"onToggleOpen",(()=>{this.setState((e=>{var{visible:t}=e;return{visible:!t}}))})),this.state={visible:!1}}render(){var{visible:e}=this.state,{navItems:a=[]}=this.props,n={top:globalCSS.headerHeight,height:"calc(100% - ".concat(globalCSS.headerHeight,")")},r=Number(globalCSS.productsColumnWidth.replace("px",""));return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:C.default["global-nav-icon"],onClick:this.onToggleOpen},g.default.createElement("img",{src:b.default,alt:"menu-icon",className:C.default["global-nav-icon-icon"]})),g.default.createElement(h.default,{title:t("Service List"),className:C.default["drawer-left"],placement:"left",closable:!1,onClose:this.onClose,visible:e,style:n,bodyStyle:{padding:0},width:r,destroyOnClose:!0},g.default.createElement(w.default,{items:a,onClose:this.onClose})),g.default.createElement(h.default,{title:null,className:C.default["drawer-right"],placement:"left",closable:!0,onClose:this.onClose,visible:e,style:M(M({},n),{},{left:e?globalCSS.productsColumnWidth:0}),bodyStyle:{padding:0},mask:!0,width:4*r,maskStyle:{backgroundColor:"transparent"},closeIcon:g.default.createElement(p.default,{style:{fontSize:"20px"}})},g.default.createElement("div",{className:C.default.main},g.default.createElement(k.default,{items:a,onClose:this.onClose}))))}}a.GlobalNav=S,(0,m.default)(S,"propTypes",{navItems:y.default.oneOfType([y.default.arrayOf(x.navItemPropType),y.default.array])}),(0,m.default)(S,"defaultProps",{navItems:[]});var I=(0,v.observer)(S);a.default=I},1800:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA4CAYAAACPKLr2AAAAk0lEQVRoQ+3Y0QnAMAgA0bj/0HaIQzjK9d/EPE2QzpN/I8/vlSCtUIIJUgEaXw9iwd1dushl/JQg5PULwgOeh/fMUOIEE6QCNL4eTJAK0Hh/DzZuwRr7xy19iWEFzsP9t/icAG6QIATsByYFTDBBLEAX8L+D+mGhBGET+gdWeMDzcP8tPieAGyQIAZtmKGCC/xf8AMV4MAkwBaLlAAAAAElFTkSuQmCC"},1801:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(54)),i=r(a(35)),o=r(a(0)),s=a(204),u=r(a(16)),d=a(1433),c=r(a(1802));class f extends o.default.Component{constructor(){super(...arguments),(0,i.default)(this,"renderItem",(e=>o.default.createElement("div",{className:c.default.item,key:e.path},o.default.createElement(s.Link,{onClick:this.props.onClose,to:(0,d.getFirstLevelNavItemLink)(e),className:c.default["item-label"]},e.name))))}render(){var{items:e}=this.props;return o.default.createElement("div",{id:"global-nav-left",className:c.default.left},(0,l.default)(e).call(e,this.renderItem))}}t.default=f,(0,i.default)(f,"propTypes",{items:u.default.oneOfType([u.default.arrayOf(d.navItemPropType),u.default.array]),onClose:u.default.func}),(0,i.default)(f,"defaultProps",{items:[]})},1802:function(e,t,a){var n=a(1803);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1803:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__item--2Y2IS {\n padding: 12px 24px;\n cursor: pointer;\n}\n.index__item--2Y2IS:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__item-label--sz6t1 {\n display: block;\n width: 100%;\n color: #000;\n font-size: 13px;\n}\n.index__item-label--sz6t1:hover {\n color: #000;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",item:"index__item--2Y2IS","item-label":"index__item-label--sz6t1"}},1804:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(430)),h=f(n(28)),m=f(n(164)),g=f(n(29)),v=f(n(54)),y=f(n(77));n(569);var b=f(n(1253)),x=f(n(612)),w=f(n(35)),k=f(n(0)),C=n(204),_=(n(161),n(564),f(n(16))),M=n(1433),S=f(n(1805));function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function N(e){for(var t=1;t{var{value:t}=e.target;this.getNavItemsBySearch(t)})),(0,w.default)(this,"onSearch",(e=>{this.getNavItemsBySearch(e)})),(0,w.default)(this,"getNavItemsBySearch",(e=>{var t,a=(0,p.default)(t=(e||"").toLowerCase()).call(t),{items:n}=this.props,r=[];(0,h.default)(n).call(n,(e=>{if(a){var t,{name:n,children:l=[]}=e;if((0,m.default)(t=n.toLowerCase()).call(t,a))r.push(e);else{var i=(0,g.default)(l).call(l,(e=>{var t;return(0,m.default)(t=e.name.toLowerCase()).call(t,a)}));i.length&&r.push(N(N({},e),{},{children:i}))}}else r.push(e)})),this.setState({currentItems:r})})),(0,w.default)(this,"renderNavItemChildren",(e=>{var{children:t=[]}=e,a=t.length?t:[e],{onClose:n}=this.props;return(0,v.default)(a).call(a,(e=>{var t,{name:a,path:r}=e;return k.default.createElement("div",{key:(0,y.default)(t="".concat(a,"-")).call(t,r),className:S.default["children-item"]},k.default.createElement(C.Link,{onClick:n,to:r},k.default.createElement("span",{className:S.default["link-name"]},a)))}))})),(0,w.default)(this,"renderNavItem",(e=>{var{name:t=""}=e||{};return k.default.createElement("div",{className:S.default["nav-item"],key:e.name},k.default.createElement("div",{className:S.default.title},t),k.default.createElement("div",{classnames:S.default.children},this.renderNavItemChildren(e)))})),this.state={currentItems:e.items||[]}}renderSearch(){return k.default.createElement("div",{className:S.default.search},k.default.createElement(b.default,{prefix:k.default.createElement(x.default,null),placeholder:t("Search"),allowClear:!0,onChange:this.onInputChange}))}renderNavItems(){var{currentItems:e=[]}=this.state;return k.default.createElement("div",{className:S.default.right},(0,v.default)(e).call(e,this.renderNavItem))}render(){return k.default.createElement("div",{id:"global-nav-right"},this.renderSearch(),this.renderNavItems())}}a.default=E,(0,w.default)(E,"propTypes",{items:_.default.oneOfType([_.default.arrayOf(M.navItemPropType),_.default.array]),onClose:_.default.func}),(0,w.default)(E,"defaultProps",{items:[]})},1805:function(e,t,a){var n=a(1806);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1806:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__right--2sYP_ {\n -webkit-columns: 200px 3;\n -moz-columns: 200px 3;\n columns: 200px 3;\n -webkit-column-gap: 12px;\n -moz-column-gap: 12px;\n column-gap: 12px;\n}\n.index__nav-item--1_at0 {\n display: inline-block;\n width: 100%;\n margin-bottom: 20px;\n -webkit-column-break-inside: avoid;\n -moz-column-break-inside: avoid;\n break-inside: avoid;\n}\n.index__nav-item--1_at0 .index__title--2wx19 {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\n margin-bottom: 4px;\n color: #000;\n font-weight: 600;\n font-size: 14px;\n line-height: 22px;\n -webkit-transition: color 0.2s ease;\n transition: color 0.2s ease;\n}\n.index__children-item--30iPf {\n position: relative;\n height: 32px;\n margin-right: 8px;\n line-height: 32px;\n cursor: pointer;\n}\n.index__children-item--30iPf a {\n display: block;\n}\n.index__children-item--30iPf:hover {\n color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n}\n.index__children-item--30iPf:hover .index__link-name--2SSup {\n color: #000;\n}\n.index__children-item--30iPf .index__link-name--2SSup {\n color: #000;\n}\n.index__search--TO2Ca {\n width: 60%;\n margin-top: -8px;\n margin-bottom: 16px;\n margin-left: 0;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper {\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-color: #d9d9d9;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__search--TO2Ca .anticon-search {\n color: rgba(0, 0, 0, 0.45) !important;\n}\n.index__search--TO2Ca .ant-input {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__search--TO2Ca .ant-input:hover {\n border: #0068ff;\n}\n.index__search--TO2Ca .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {\n border-color: #0068ff;\n}\n.index__search--TO2Ca .ant-input-clear-icon,\n.index__search--TO2Ca .ant-input-clear-icon:active {\n color: rgba(0, 0, 0, 0.85);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",right:"index__right--2sYP_","nav-item":"index__nav-item--1_at0",title:"index__title--2wx19","children-item":"index__children-item--30iPf","link-name":"index__link-name--2SSup",search:"index__search--TO2Ca"}},1807:function(e,t,a){var n=a(1808);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1808:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__global-nav-icon--oF9N7 {\n position: relative;\n float: left;\n width: 40px;\n height: 40px;\n color: #fff;\n font-size: 16px;\n line-height: 40px;\n text-align: center;\n background-color: #0068ff;\n cursor: pointer;\n}\n.index__global-nav-icon--oF9N7:hover {\n background-color: #0068ff;\n}\n.index__global-nav-icon-icon--10OVj {\n width: 20px;\n}\n.index__main--22yB3 {\n padding: 32px 32px 0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header {\n background-color: #fff;\n border-bottom-color: #f0f0f0;\n}\n.index__drawer-left--uUdzj .ant-drawer-header .ant-drawer-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__drawer-left--uUdzj .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-body {\n background-color: #fff;\n}\n.index__drawer-right--31wWn .ant-drawer-close {\n color: rgba(0, 0, 0, 0.45);\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","global-nav-icon":"index__global-nav-icon--oF9N7","global-nav-icon-icon":"index__global-nav-icon-icon--10OVj",main:"index__main--22yB3","drawer-left":"index__drawer-left--uUdzj","drawer-right":"index__drawer-right--31wWn"}},1809:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=t.ProjectDropdown=void 0,a(1300);var l=r(a(1301)),i=r(a(1505)),o=r(a(1434));a(347);var s=r(a(348)),u=r(a(0)),d=a(412),c=(a(161),a(564),r(a(1302))),f=r(a(1346)),p=r(a(1821));class h extends u.default.Component{get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}render(){if(!this.user)return u.default.createElement(s.default,{size:"small",style:{marginLeft:8,marginRight:8,marginTop:-24}});var{projectName:e,userDomainName:t}=this.project;return u.default.createElement("div",{className:f.default.project,id:"project-switch",style:{paddingLeft:"8px"}},u.default.createElement(c.default,{actions:{moreActions:[{action:p.default}]}}),u.default.createElement(o.default,{style:{marginRight:10}}),u.default.createElement("span",null,e),u.default.createElement(i.default,{style:{color:"#A3A3A3",marginLeft:24}}),u.default.createElement(l.default,{type:"vertical"}),u.default.createElement("span",{className:f.default.domain},t))}}t.ProjectDropdown=h;var m=(0,d.inject)("rootStore")((0,d.observer)(h));t.default=m},1815:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__confirm-modal--3q6IU .ant-modal-confirm-body > .anticon {\n margin-right: 20px;\n font-size: 18px;\n}\n.index__confirm--3w0Sc {\n color: #fedf40 !important;\n}\n.index__error--2QqQF {\n color: #eb354d !important;\n}\n.index__success--3lQal {\n color: #57e39b !important;\n}\n.index__warn--ZLd6Q {\n color: #fedf40 !important;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","confirm-modal":"index__confirm-modal--3q6IU",confirm:"index__confirm--3w0Sc",error:"index__error--2QqQF",success:"index__success--3lQal",warn:"index__warn--ZLd6Q"}},1816:function(e,t,a){var n=a(1817);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1817:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__modal-action--t2EeP .ant-modal-body {\n padding: 0 0 16px;\n}\n",""]),t.locals={"modal-action":"index__modal-action--t2EeP"}},1818:function(e,t,a){var n=a(1819);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1819:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__first-action--2OPwj {\n padding: 0;\n text-align: left;\n}\n.index__first-action--2OPwj span {\n display: block;\n max-width: 48px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__more-action--3nzAh {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB {\n padding: 0;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-popup ul {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-item,\n.index__action-sub-menu--m8uMB .ant-dropdown-menu-submenu-title {\n padding: 0 12px;\n}\n.index__more-action-btn--1CkV8 {\n width: 100%;\n text-align: left;\n}\n.index__single-more-action--1AkZ2 .ant-btn-link {\n width: auto;\n}\n.index__action-buttons--3ReIW {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n",""]),t.locals={"first-action":"index__first-action--2OPwj","more-action":"index__more-action--3nzAh","action-sub-menu":"index__action-sub-menu--m8uMB","more-action-btn":"index__more-action-btn--1CkV8","single-more-action":"index__single-more-action--1AkZ2","action-buttons":"index__action-buttons--3ReIW"}},1820:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__menu--TIGc7 {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .anticon {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item {\n min-width: 245px;\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .ant-dropdown-menu-item:hover {\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_ {\n overflow: hidden;\n}\n.index__menu--TIGc7 .index__no-hover--3nEW_:hover {\n background-color: #fff;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 {\n padding: 0 12px;\n font-weight: bold;\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 .index__user-label--2mhYg {\n margin-right: 8px;\n}\n.index__menu--TIGc7 .index__name-item--3-Ls5 span {\n line-height: 40px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z {\n line-height: 30px;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-item--2EH8z .ant-btn-link[disabled] {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__menu--TIGc7 .index__menu-btn--wBMeV {\n color: #0068ff;\n}\n.index__menu--TIGc7 .index__menu-divider--3m2zd {\n background-color: #fff;\n}\n.index__no-padding-top--2hYAA {\n padding-top: 0;\n}\n.index__logout--2w9f0 {\n float: right;\n line-height: 40px;\n}\n.index__right--X_kh6 {\n position: absolute;\n top: 0;\n right: 31px;\n line-height: 40px;\n}\n.index__right--X_kh6 .index__action--1gM_W {\n display: inline-block;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu {\n width: 170px;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item:hover,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title:hover {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .ant-dropdown-menu-item-disabled,\n.index__project-menu--3gMKs .ant-dropdown-menu-submenu-title-disabled {\n cursor: pointer;\n}\n.index__project-menu--3gMKs .index__title--3e97C {\n cursor: auto;\n}\n.index__project-menu--3gMKs .index__title--3e97C:hover {\n background-color: #fff;\n}\n.index__project--Iy5xg {\n float: left;\n font-size: 14px;\n line-height: 40px;\n cursor: pointer;\n}\n.index__project--Iy5xg .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__project--Iy5xg .ant-btn-link {\n position: absolute;\n min-width: 280px;\n min-height: 40px;\n}\n.index__header--138pB {\n position: relative;\n z-index: 200;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 100%;\n padding-left: 0;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.85);\n background-color: #fff;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__avatar--C9tqm {\n width: 30px;\n height: 30px;\n color: #bfbfbf;\n border: none;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.index__domain--Q8Gpn {\n font-size: 14px;\n}\n.index__links--IHsTT {\n display: inline-block;\n margin-right: 20px;\n}\n.index__links--IHsTT .ant-divider {\n margin-right: 24px;\n margin-left: 24px;\n background-color: #d2d2d2;\n}\n.index__links--IHsTT .index__link--1PjXM {\n color: rgba(0, 0, 0, 0.85);\n}\n.index__links--IHsTT .index__link--1PjXM:hover {\n color: #0068ff;\n}\n.index__links--IHsTT .index__active--2ykOE {\n color: #0068ff;\n}\n.index__password-btn--1O5lH {\n max-width: 100px;\n}\n.index__password-btn--1O5lH span {\n max-width: 80px;\n}\n.index__single-link--1h19E {\n margin-right: 5px;\n color: #0068ff;\n}\n.index__single-link--1h19E:hover {\n color: #0068ff;\n}\n.index__token--2NsWx pre {\n padding: 0.4em 0.6em;\n white-space: pre-wrap;\n word-wrap: break-word;\n background: hsla(0, 0%, 58.8%, 0.1);\n border: 1px solid hsla(0, 0%, 39.2%, 0.2);\n border-radius: 3px;\n}\n.index__logo--VDnnm {\n float: left;\n width: 190px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n}\n.index__logo--VDnnm img {\n height: 30px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",menu:"index__menu--TIGc7","no-hover":"index__no-hover--3nEW_","name-item":"index__name-item--3-Ls5","user-label":"index__user-label--2mhYg","menu-item":"index__menu-item--2EH8z","menu-btn":"index__menu-btn--wBMeV","menu-divider":"index__menu-divider--3m2zd","no-padding-top":"index__no-padding-top--2hYAA",logout:"index__logout--2w9f0",right:"index__right--X_kh6",action:"index__action--1gM_W","project-menu":"index__project-menu--3gMKs",title:"index__title--3e97C",project:"index__project--Iy5xg",header:"index__header--138pB",avatar:"index__avatar--C9tqm",domain:"index__domain--Q8Gpn",links:"index__links--IHsTT",link:"index__link--1PjXM",active:"index__active--2ykOE","password-btn":"index__password-btn--1O5lH","single-link":"index__single-link--1h19E",token:"index__token--2NsWx",logo:"index__logo--VDnnm"}},1821:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.ProjectSelect=void 0;var p=f(n(86)),h=f(n(63)),m=f(n(29)),g=f(n(54)),v=f(n(91)),y=f(n(58)),b=f(n(49)),x=f(n(35)),w=n(412),k=n(1241),C=n(1251),_=f(n(1255));function M(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class S extends k.ModalAction{constructor(){var e;super(...arguments),e=this,(0,x.default)(this,"state",{projectName:""}),(0,x.default)(this,"onSubmit",function(){var t=(0,b.default)((function*(t){var a,{project:{selectedRowKeys:n}}=t,r=n[0],l=(0,p.default)(a=e.projects).call(a,(e=>e.id===r)),{domain_id:i}=l||{},{rootStore:o}=e.props;try{return yield o.switchProject(r,i),e.routing.push("/base/overview"),h.default.resolve()}catch(e){return h.default.reject(e)}}));return function(e){return t.apply(this,arguments)}}())}init(){this.getAllUserProjects()}getAllUserProjects(){var e=this;return(0,b.default)((function*(){yield _.default.getUserProjects(),e.updateDefaultValue()}))()}get name(){return t("Switch Project")}static get modalSize(){return"large"}getModalSize(){return"large"}get messageHasItemName(){return!1}get user(){var{user:e}=this.props.rootStore;return e}get project(){var{project:{id:e="",name:t="",domain:{name:a}={}}={}}=this.user||{};return{projectId:e,projectName:t,userDomainName:a}}get projects(){var e,{projectName:t}=this.state,{data:a}=_.default.userProjects;return(0,m.default)(e=(0,g.default)(a).call(a,(e=>{var{id:t}=e;return function(e){for(var t=1;t{var a,n;return!t||((0,v.default)(a=e.name.toLowerCase()).call(a,t.toLowerCase())>=0||(0,v.default)(n=e.projectId.toLowerCase()).call(n,t.toLowerCase())>=0)}))}get defaultValue(){var e,{projectId:t=""}=this.project;return{project:{selectedRowKeys:[t],selectedRows:(0,m.default)(e=this.projects).call(e,(e=>e.id===t))}}}get formItems(){return[{name:"project",label:t("Owned Project"),type:"select-table",data:this.projects,isLoading:_.default.userProjects.isLoading,disabledFunc:e=>!e.enabled,filterParams:[{label:t("Project Name"),name:"name"}],columns:[{title:t("Project Name"),dataIndex:"name"},{title:t("ID"),dataIndex:"id"},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"}]}]}}a.ProjectSelect=S,(0,x.default)(S,"id","project-id"),(0,x.default)(S,"title",t("Switch Project")),(0,x.default)(S,"buttonText"," "),(0,x.default)(S,"policy",C.allCanReadPolicy),(0,x.default)(S,"allowed",(()=>h.default.resolve(!0)));var I=(0,w.inject)("rootStore")((0,w.observer)(S));a.default=I},1822:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(1250)),s=a(567);class u extends o.default{static allowed(){return l.default.resolve()}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,s.getPath)({key:n,params:t,query:a})}}t.default=u,(0,i.default)(u,"id","formAction"),(0,i.default)(u,"actionType","link"),(0,i.default)(u,"title","form"),(0,i.default)(u,"buttonType","primary"),(0,i.default)(u,"isDanger",!1),(0,i.default)(u,"path","/"),(0,i.default)(u,"policy",""),(0,i.default)(u,"aliasPolicy","")},1833:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=a.type2component=void 0;var p=f(n(63)),h=f(n(77)),m=f(n(164)),g=f(n(343));n(1261);var v=f(n(1262));n(344);var y=f(n(202)),b=f(n(1299)),x=f(n(58)),w=f(n(35));n(1374);var k=f(n(1375));n(1848);var C=f(n(1851));n(1513);var _=f(n(1514));n(1278);var M=f(n(1279));n(1300);var S=f(n(1301));n(569);var I=f(n(1253)),N=f(n(177)),E=f(n(0)),T=f(n(16)),A=(n(161),n(564),f(n(1429))),j=f(n(1859)),P=f(n(1874)),D=f(n(1519)),L=f(n(1877)),O=f(n(1376)),R=f(n(1534)),z=f(n(1901)),U=f(n(1904)),F=f(n(1919)),B=f(n(1924)),V=f(n(1444)),K=f(n(1927)),Q=f(n(1930)),Y=f(n(1939)),G=f(n(1940)),H=f(n(1941)),W=f(n(1946)),q=f(n(1949)),$=f(n(1952)),Z=f(n(1953)),J=f(n(1552)),X=f(n(1965)),ee=f(n(1966)),te=f(n(1967)),ae=f(n(1970)),ne=f(n(1447)),re=f(n(1971)),le=f(n(1991)),ie=f(n(1995)),oe=f(n(1448)),se=f(n(1996)),ue=f(n(2001)),de=f(n(2002));function ce(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function fe(e){for(var t=1;t{var{selectedRowKeys:n=[]}=a||{};return 0===n.length?p.default.reject(new Error(e.placeholder||t("Please select {label}!",{label:e.label}))):p.default.resolve()})),(0,w.default)(this,"getDescriptionValidator",((e,a)=>{var n;return a&&a.length>255?p.default.reject(new Error((0,h.default)(n="".concat(t("Invalid: "))).call(n,t("The description can be up to 255 characters long.")))):p.default.resolve()}))}getComponentProps(e){switch(e){case"label":var{content:t,icon:a,iconType:n,showLoading:r}=this.props;return{content:t,icon:a,iconType:n,showLoading:r};case"divider":return{className:this.props.className};case"select":var l=this.props,{options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h="label",checkOptions:m,checkBoxInfo:g,allowClear:v,required:y}=l;return fe({options:i,placeholder:o,mode:s,onChange:u,isWrappedValue:d,tip:c,disabled:f,showSearch:p,optionFilterProp:h,checkOptions:m,checkBoxInfo:g,allowClear:y?v||!1:v},(0,x.default)(l,["options","placeholder","mode","onChange","isWrappedValue","tip","disabled","showSearch","optionFilterProp","checkOptions","checkBoxInfo","allowClear","required"]));default:var b=this.props,{validator:w}=b;return fe({},(0,x.default)(b,["validator"]))}}getFormItemProps(){var{name:e,label:t,type:a,help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,tip:d,dependencies:c}=this.props,f={name:e,label:this.renderLabel(t,d),help:n,extra:r,className:l,style:i,hidden:o,labelCol:s,wrapperCol:u,rules:this.getRules()};switch(c&&c.length>0&&(f.dependencies=c),a){case"title":return fe(fe({},f),{},{label:"",labelCol:null,wrapperCol:{xs:{span:24},sm:{span:24}}});case"label":return fe(fe({},f),{},{className:"form-item-text"});case"select-table":case"network-select-table":case"tab-select-table":case"instance-volume":case"network-select":case"add-select":case"descriptions":case"short-divider":case"transfer":case"NUMA":case"check-group":return fe(fe({},f),{},{wrapperCol:u||{xs:{span:24},sm:{span:t?18:24}}});default:return f}}getRules(){var{required:e,rules:a,validator:n,type:r="",otherRule:l,name:i,hidden:o,label:s,placeholder:u,hasRequiredCheck:d=!0}=this.props;if(o)return[];if(a)return a;var c=[],f={},p={};return e&&(r&&(0,m.default)(r).call(r,"select-table")?(p.required=!0,p.validator=(e,t)=>this.getSelectTableValidator(fe(fe({},e),this.props),t)):r&&(0,m.default)(r).call(r,"select")?(p.required=!0,p.message=u||t("Please select {label}!",{label:s})):d?(p.required=!0,p.message=u||t("Please input {label}!",{label:s})):n&&(f.required=e)),(0,N.default)(p)||c.push(p),n?f.validator=n:r&&(0,m.default)(r).call(r,"textarea")&&"description"===i&&(f.validator=this.getDescriptionValidator),(0,N.default)(f)||c.push(f),l&&c.push(l),c}getComponent(e){return pe[e]}renderTip(e){return e?E.default.createElement(y.default,{title:e},E.default.createElement(b.default,null)):null}renderLabel(e,t){return t?E.default.createElement("span",null,e," ",this.renderTip(t)):e}render(){var{component:e,type:t}=this.props,a=this.getFormItemProps();if(e)return E.default.createElement(v.default.Item,a,e);var n=this.getComponent(t),r=this.getComponentProps(t);if("divider"===t)return E.default.createElement(S.default,{className:"form-item-divider"});if("short-divider"===t)return E.default.createElement(v.default.Item,(0,g.default)({},a,{label:" ",style:{marginBottom:0}}),E.default.createElement(S.default,null));if(n){if(n.isFormItem)return E.default.createElement(n,{formItemProps:a,componentProps:r});var l=E.default.createElement(n,r);return E.default.createElement(v.default.Item,a,l)}var{content:i}=this.props;return i?E.default.createElement(v.default.Item,a,E.default.createElement("span",r,i)):null}}a.default=he,(0,w.default)(he,"propTypes",{component:T.default.object,type:T.default.string,content:T.default.any,className:T.default.string,name:T.default.string,label:T.default.string,rules:T.default.array,required:T.default.bool,validator:T.default.func,options:T.default.array,placeholder:T.default.string,mode:T.default.string,onChange:T.default.func,dependencies:T.default.array,formref:T.default.object,hasRequiredCheck:T.default.bool}),(0,w.default)(he,"defaultProps",{required:!1,dependencies:[]})},1859:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(1347)),u=o(n(1442)),d=o(n(343));n(1246);var c=o(n(1247));n(1244);var f=o(n(1245));n(1261);var p=o(n(1262));n(231);var h=o(n(341));n(568);var m=o(n(415)),g=o(n(54)),v=o(n(232)),y=o(n(91)),b=o(n(29)),x=o(n(63)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(564),o(n(1376))),C=n(565),_=n(461),M=o(n(1872));function S(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(S=function(e){return e?a:t})(e)}var{isIPv4:I,isIpv6:N}=C.ipValidate,E=e=>{var{componentProps:a,formItemProps:n}=e,{maxNumber:r=10,ports:l,isLoading:i,members:o=[],lbSubnetId:C}=a,{name:S,onChange:E}=n,[T,A]=(0,w.useState)(0),j=()=>{};return w.default.createElement("div",{style:{padding:20}},w.default.createElement(p.default.Item,{label:t("select an existing port"),wrapperCol:{xs:18,xm:12},extra:t("If you choose a port which subnet is different from the subnet of LB, please ensure connectivity between the two.")},w.default.createElement(k.default,{maxSelectedCount:-1,isLoading:i,data:l,columns:[{title:t("ID/Name"),dataIndex:"name",routeName:"portDetail"},{title:t("Binding Instance"),dataIndex:"server_name"},{title:t("IP"),dataIndex:"fixed_ips",render:(e,t)=>{if(0===e.length)return"-";var a=(0,g.default)(e).call(e,(e=>({label:e.ip_address,value:e.ip_address,subnet_id:e.subnet_id})));return t.currentOption=a[0].value,t.currentSubnetId=a[0].subnet_id,w.default.createElement(m.default,{style:{minWidth:200},options:a,defaultValue:a[0].value,onChange:(e,a)=>{t.currentSubnetId=a.subnet_id,t.currentOption=e}})},sorter:(e,t)=>{var a=e.fixed_ips[0].ip_address,n=t.fixed_ips[0].ip_address,r=(_.Address4.isValid(a)?new _.Address4(a):new _.Address6(a)).bigInteger(),l=(_.Address4.isValid(n)?new _.Address4(n):new _.Address6(n)).bigInteger();return r.compareTo(l)}},{title:t("Action"),key:"operation",render:(e,a)=>w.default.createElement(h.default,{disabled:!a.currentOption,onClick:()=>{j({ip_address:{ip:a.currentOption,protocol_port:void 0,weight:1,name:a.server_name,subnet_id:a.currentSubnetId},canEdit:!1})}},t("Add Member"))}],filterParams:[{label:t("ID"),name:"id"},{label:t("Name"),name:"name"},{label:t("Binding Instance"),name:"server_name"},{label:t("IP"),name:"fixed_ips",filterFunc:(e,t)=>(0,v.default)(e).call(e,(e=>{var a;return(0,y.default)(a=e.ip_address).call(a,t)>-1}))},{label:t("Same subnet with LB"),name:"origin_data",options:[{label:t("True"),key:!0}],filterFunc:(e,t)=>{var a;return!t||(0,v.default)(a=e.fixed_ips).call(a,(e=>e.subnet_id===C))}}]})),w.default.createElement(p.default.Item,(0,d.default)({},n,{label:t("Selected Members")}),w.default.createElement(p.default.List,{name:S},((e,a)=>{var{add:n,remove:r}=a;return j=n,A(e.length),0===e.length?t("Not yet selected"):w.default.createElement(w.default.Fragment,null,e.length>0&&w.default.createElement(c.default,{gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(c.default,null,w.default.createElement(f.default,{span:12},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("IP Address"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Port"))),w.default.createElement(f.default,{span:6},w.default.createElement("div",{style:{with:"100%",paddingLeft:8,paddingRight:8}},t("Weights")))))),(0,g.default)(e).call(e,(e=>w.default.createElement(c.default,{key:e.key,gutter:[16,16]},w.default.createElement(f.default,{span:22},w.default.createElement(p.default.Item,(0,d.default)({},e,{style:{width:"98%"},validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{var n=(0,b.default)(o).call(o,(e=>e.address===a.ip_address.ip&&e.protocol_port===a.ip_address.protocol_port));return a&&a.ip_address.ip?I(a.ip_address.ip)||N(a.ip_address.ip)?a.ip_address.ip&&a.ip_address.protocol_port?a.ip_address.weight?n[0]?x.default.reject(new Error(t("Invalid IP Address and Port"))):x.default.resolve(!0):x.default.reject(new Error(t("Missing Weight"))):x.default.reject(new Error(t("Missing Port"))):x.default.reject(new Error(t("Invalid IP Address"))):x.default.reject(new Error(t("Missing IP Address")))}}]}),w.default.createElement(M.default,{field:e,onChange:e=>{return t=e,void(E&&E(t));var t}}))),w.default.createElement(f.default,{span:2},w.default.createElement(u.default,{onClick:()=>r(e.name)}))))))}))),T{j()},block:!0,icon:w.default.createElement(s.default,null)},t("Add External Members"))))};E.isFormItem=!0;var T=E;a.default=T},1864:function(e,t,a){var n=a(1865);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1865:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__magic-input-outer-wrapper--2caFk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.index__magic-input-wrapper--3jKxQ {\n position: relative;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n min-width: 200px;\n padding: 3px 0 3px 8px;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag {\n height: 24px;\n margin-right: 4px;\n margin-bottom: 1px;\n padding: 0 4px;\n color: #fff;\n font-size: 10px;\n line-height: 24px;\n background-color: #0068ff;\n border: none;\n}\n.index__magic-input-wrapper--3jKxQ .ant-tag .anticon-close {\n margin-left: 16px;\n color: #fff;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn {\n margin-top: -3px;\n margin-right: 0;\n}\n.index__magic-input-wrapper--3jKxQ .ant-btn-icon-only {\n background-color: #fff;\n}\n.index__magic-input-wrapper-active--225GJ {\n border-color: #0068ff;\n -webkit-box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n box-shadow: 0 0 0 2px rgba(0, 104, 255, 0.2);\n}\n.index__input-wrapper--1osyl {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 24px;\n line-height: 24px;\n}\n.index__input-wrapper--1osyl .ant-input {\n padding: 0;\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl .ant-input:focus {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__input-wrapper--1osyl input::-webkit-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-moz-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input:-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::-ms-input-placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl input::placeholder {\n font-size: 10px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical > .ant-menu-item {\n height: 26px;\n line-height: 26px;\n}\n.index__input-wrapper--1osyl .ant-menu-vertical .ant-menu-item {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 10px;\n}\n.index__menu--2CcQt {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.09) !important;\n}\n.index__menu--2CcQt,\n.index__option-menu--1Wni_ {\n position: absolute;\n top: 34px;\n z-index: 100;\n max-height: 310px;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 4px;\n}\n.index__key--1C5xL {\n font-size: 10px;\n line-height: 24px;\n}\n.index__key--1C5xL .ant-divider,\n.index__key--1C5xL .ant-divider-vertical {\n margin-right: 4px;\n margin-left: 4px;\n}\n.ant-form-item-has-error .magic-input-wrapper .ant-input,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:focus,\n.ant-form-item-has-error .magic-input-wrapper .ant-input:not([disabled]):hover {\n background: none;\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.magic-input-wrapper .ant-tag {\n display: inline-block;\n height: 24px;\n margin: 0 5px 0 0;\n margin-bottom: 1px;\n line-height: 24px;\n}\n.index__search-icon--1c2YI {\n position: absolute;\n top: 0;\n right: 8px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 12px;\n line-height: 32px;\n}\n.index__search-icon-hidden--3mkNv {\n display: none;\n}\n.index__close-btn-col--1qQC_ {\n position: absolute;\n top: 0;\n right: 0;\n height: 30px;\n line-height: 30px;\n}\n.index__close-btn-col--1qQC_ .index__close-btn--1gDiH {\n height: 28px !important;\n padding: 0;\n background-color: #fff;\n border: none;\n}\n.index__close-option-btn--2fpQF {\n top: 3px;\n height: 24px !important;\n}\n.index__magic-input-checks--3sSga {\n margin-left: 8px;\n line-height: 32px;\n}\n.index__magic-input-checks--3sSga .ant-checkbox + span {\n text-wrap: nowrap;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","magic-input-outer-wrapper":"index__magic-input-outer-wrapper--2caFk","magic-input-wrapper":"index__magic-input-wrapper--3jKxQ","magic-input-wrapper-active":"index__magic-input-wrapper-active--225GJ","input-wrapper":"index__input-wrapper--1osyl",menu:"index__menu--2CcQt","option-menu":"index__option-menu--1Wni_",key:"index__key--1C5xL","search-icon":"index__search-icon--1c2YI","search-icon-hidden":"index__search-icon-hidden--3mkNv","close-btn-col":"index__close-btn-col--1qQC_","close-btn":"index__close-btn--1gDiH","close-option-btn":"index__close-option-btn--2fpQF","magic-input-checks":"index__magic-input-checks--3sSga"}},1866:function(e,t,a){var n=a(1867);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1867:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__sl-simple-table--3t0n0 .ant-table-content .ant-table-thead tr .ant-table-cell {\n padding: 8px 8px 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-column-sorters {\n padding: 8px 0;\n}\n.index__sl-simple-table--3t0n0 .ant-table-tbody > tr > td {\n padding: 8px 8px 8px 0;\n word-break: break-all;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","sl-simple-table":"index__sl-simple-table--3t0n0"}},1868:function(e,t,a){var n=a(1869);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1869:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__wrapper--W62k9 {\n height: 32px;\n text-align: right;\n}\n.index__inner--1yC3_ {\n display: inline-block;\n width: 300px;\n overflow: hidden;\n}\n",""]),t.locals={wrapper:"index__wrapper--W62k9",inner:"index__inner--1yC3_"}},1870:function(e,t,a){var n=a(1871);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1871:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__search-wrapper--2qjcr {\n margin-bottom: 16px;\n}\n.index__search-wrapper--2qjcr .ant-menu-root.ant-menu-vertical {\n -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2) !important;\n}\n.index__image-tabs--Y02Y0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n height: 52px;\n margin-bottom: 8px;\n}\n.index__image-tabs--Y02Y0 img {\n display: block;\n width: 20px;\n height: 20px;\n margin: 0 auto;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper {\n width: 70px;\n height: 50px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.65);\n text-align: center;\n border: none;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper:not(:first-child)::before {\n width: 0;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n color: #0068ff;\n font-weight: bold;\n}\n.index__image-tabs--Y02Y0 .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__image-tab--i9nyz {\n -webkit-box-flex: 1;\n -ms-flex: 1 auto;\n flex: 1 auto;\n}\n.index__image-tab-label--qzyGd {\n font-size: 10px;\n}\n.index__normal-tabs--1Lx8V {\n margin-bottom: 8px;\n}\n.index__pagination-footer--1r5HD .ant-select {\n width: unset;\n min-width: 80px;\n}\n.index__sl-select-table-backend--7Wvxx .ant-table-footer {\n padding: 8px 16px;\n background: #fff;\n}\n.index__search-line--2qRf5 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n gap: 8px;\n}\n.index__search-line--2qRf5 .ant-btn-default {\n color: #0068ff;\n background-color: #f6f7fb;\n border-color: #0068ff;\n}\n.index__search-line--2qRf5 .ant-btn-default:hover {\n color: #0068ff;\n border-color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","search-wrapper":"index__search-wrapper--2qjcr","image-tabs":"index__image-tabs--Y02Y0","image-tab":"index__image-tab--i9nyz","image-tab-label":"index__image-tab-label--qzyGd","normal-tabs":"index__normal-tabs--1Lx8V","pagination-footer":"index__pagination-footer--1r5HD","sl-select-table-backend":"index__sl-select-table-backend--7Wvxx","search-line":"index__search-line--2qRf5"}},1872:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var p=f(a(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=g(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),m=f(a(1873));function g(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(g=function(e){return e?a:t})(e)}function v(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t{var{onChange:t,value:a}=e;a=a||{ip_address:{ip:void 0,protocol_port:void 0,weight:1,subnet_id:void 0},canEdit:!0};var[n,r]=(0,h.useState)(a.ip_address);return h.default.createElement(m.default,{onChange:e=>{var l,i;r(e),l={ip_address:e},i=y(y({},a),{},{ip_address:n},l),t&&t(i)},value:n,disabled:!a.canEdit})};t.default=b},1873:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1246);var p=f(a(1247));a(1278);var h=f(a(1279));a(1244);var m=f(a(1245));a(569);var g=f(a(1253)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t{var{value:t={},onChange:a,disabled:n}=e,[r,l]=(0,y.useState)(t.ip||void 0),[i,o]=(0,y.useState)(t.protocol_port||void 0),[s,u]=(0,y.useState)(t.weight),d=e=>{a(w(w({ip:r,protocol_port:i,weight:s},t),e))};return y.default.createElement(p.default,{gutter:[16]},y.default.createElement(m.default,{span:12},y.default.createElement(g.default,{style:{maxWidth:210},onChange:e=>{var{target:{value:t}}=e;l(t),d({ip:t})},value:r,disabled:n})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:65535,style:{width:"100%"},value:i,onChange:e=>{e&&o(e),e&&d({protocol_port:e})}})),y.default.createElement(m.default,{span:6},y.default.createElement(h.default,{min:1,max:256,style:{width:"100%"},value:s,onChange:e=>{e&&u(e),e&&d({weight:e})}})))}},1874:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=void 0,a(1261);var p=f(a(1262)),h=f(a(58)),m=f(a(35)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(565)),y=f(a(1429));function b(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(b=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t0&&(t=w(w({},t),e[0])),[t]}render(){var{componentProps:e,formItemProps:t}=this.props,{rules:a}=t,n=(0,h.default)(t,["rules"]),r=this.getRules(a),l=w(w({},n),{},{rules:r}),i=w(w({},e),{},{mode:"json",wrapEnabled:!0,tabSize:2,width:"100%",height:"200px",setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0}});return g.default.createElement(p.default.Item,l,g.default.createElement(y.default,i))}}t.default=k,(0,m.default)(k,"isFormItem",!0)},1875:function(e,t,a){var n=a(1876);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1876:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__checkbox--2qAZO {\n padding-top: 5px;\n padding-bottom: 5px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",checkbox:"index__checkbox--2qAZO"}},1877:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(164)),s=i(a(616)),u=i(a(58)),d=i(a(35)),c=i(a(1520)),f=i(a(1521)),p=i(a(1522)),h=i(a(1523)),m=i(a(1524)),g=i(a(1525)),v=i(a(1526)),y=i(a(1527)),b=i(a(1528)),x=i(a(1529)),w=i(a(1348)),k=i(a(1530)),C=i(a(1531)),_=i(a(1532)),M=i(a(1342)),S=i(a(1533)),I=i(a(1377)),N=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=D(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),E=i(a(16)),T=i(a(1894)),A=i(a(1895)),j=i(a(1896)),P=(a(564),i(a(1897)));function D(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(D=function(e){return e?a:t})(e)}var L=N.default.createElement("img",{src:T.default,alt:"image_icon",style:{width:"12px"}}),O=N.default.createElement("img",{src:A.default,alt:"security_icon",style:{width:"12px"}}),R=N.default.createElement("img",{src:j.default,alt:"lb_icon",style:{width:"12px"}}),z={instance:N.default.createElement(I.default,null),router:N.default.createElement(S.default,null),externalNetwork:N.default.createElement(M.default,null),network:N.default.createElement(M.default,null),firewall:N.default.createElement(_.default,null),volume:N.default.createElement(C.default,null),gateway:N.default.createElement(k.default,null),user:N.default.createElement(w.default,null),snapshot:N.default.createElement(x.default,null),backup:N.default.createElement(b.default,null),keypair:N.default.createElement(y.default,null),image:L,aggregate:N.default.createElement(v.default,null),metadata:N.default.createElement(g.default,null),flavor:N.default.createElement(m.default,null),host:N.default.createElement(h.default,null),security:O,lb:R,group:N.default.createElement(p.default,null),project:N.default.createElement(f.default,null),floatingIp:N.default.createElement(c.default,null)};class U extends N.Component{renderIcon(){var{icon:e,iconType:t}=this.props;if(t){var a=z[t]||null;return N.default.createElement("span",{className:P.default.icon},a)}return N.default.createElement("span",{className:P.default.icon},e||null)}render(){var e=this.props,{content:t,value:a,iconType:n,showLoading:r}=e,l=(0,u.default)(e,["content","value","iconType","showLoading"]),i=[void 0,null,""];return t||N.default.createElement("span",l,this.renderIcon(),r&&(0,o.default)(i).call(i,a)?N.default.createElement(s.default,null):a)}}t.default=U,(0,d.default)(U,"propTypes",{content:E.default.any,value:E.default.any,icon:E.default.node,iconType:E.default.string}),(0,d.default)(U,"defaultProps",{icon:null,iconType:"",content:"",value:null})},1894:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyBjbGFzcz0iaWNvbiIgd2lkdGg9IjIwMHB4IiBoZWlnaHQ9IjIwMC4wMHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiAxMDA3LjE2MWMtMjc2LjcwNyAwLTQ5NS4xNjEtMjI1LjczNS00OTUuMTYxLTQ5NS4xNjEgMC0yNzYuNzA3IDIyNS43MzUtNDk1LjE2MSA0OTUuMTYxLTQ5NS4xNjEgMjc2LjcwNyAwIDQ5NS4xNjEgMjI1LjczNSA0OTUuMTYxIDQ5NS4xNjEgMCAyNzYuNzA3LTIxOC40NTMgNDk1LjE2MS00OTUuMTYxIDQ5NS4xNjF6TTUxMiA3NS4wOTNjLTI0MC4yOTkgMC00MzYuOTA3IDE5Ni42MDgtNDM2LjkwNyA0MzYuOTA3czE5Ni42MDggNDM2LjkwNyA0MzYuOTA3IDQzNi45MDcgNDM2LjkwNy0xOTYuNjA4IDQzNi45MDctNDM2LjkwNy0xOTYuNjA4LTQzNi45MDctNDM2LjkwNy00MzYuOTA3eiIgIC8+PHBhdGggZmlsbD0iIzMzMzMzMyIgZD0iTTUxMiA2MjguNTA5Yy02NS41MzYgMC0xMTYuNTA5LTUwLjk3My0xMTYuNTA5LTExNi41MDlzNTAuOTczLTExNi41MDkgMTE2LjUwOS0xMTYuNTA5IDExNi41MDkgNTAuOTczIDExNi41MDkgMTE2LjUwOWMwIDY1LjUzNi01MC45NzMgMTE2LjUwOS0xMTYuNTA5IDExNi41MDl6TTUxMiA0NjEuMDI3Yy0yOS4xMjcgMC01MC45NzMgMjEuODQ1LTUwLjk3MyA1MC45NzNzMjEuODQ1IDUwLjk3MyA1MC45NzMgNTAuOTczYzI5LjEyNyAwIDUwLjk3My0yMS44NDUgNTAuOTczLTUwLjk3M3MtMjEuODQ1LTUwLjk3My01MC45NzMtNTAuOTczek0xNTUuMTkzIDU0OC40MDljLTcuMjgyIDAtMTQuNTYzLTcuMjgyLTE0LjU2My0xNC41NjN2LTIxLjg0NWMwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzdjE0LjU2M2MwIDE0LjU2My03LjI4MiAyMS44NDUtMTQuNTYzIDIxLjg0NXpNMzM3LjIzNyA4MzkuNjhoLTcuMjgyYy0xMDEuOTQ1LTU4LjI1NC0xNjcuNDgxLTE1Mi45MTctMTgyLjA0NS0yNjIuMTQ0IDAtNy4yODIgNy4yODItMTQuNTYzIDE0LjU2My0xNC41NjNzMTQuNTYzIDcuMjgyIDE0LjU2MyAxNC41NjNjMTQuNTYzIDEwMS45NDUgODAuMDk5IDE4OS4zMjYgMTY3LjQ4MSAyNDAuMjk5IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyA3LjI4MiAyMS44NDVoLTE0LjU2M3pNMzE1LjM5MiA3MTUuODljLTcuMjgyIDAtNy4yODIgMC0xNC41NjMtNy4yODItNDMuNjkxLTQzLjY5MS03Mi44MTgtMTA5LjIyNy03Mi44MTgtMTc0Ljc2MyAwLTcuMjgyIDcuMjgyLTE0LjU2MyAxNC41NjMtMTQuNTYzczE0LjU2MyA3LjI4MiAxNC41NjMgMTQuNTYzYzAgNTguMjU0IDIxLjg0NSAxMDkuMjI3IDY1LjUzNiAxNTIuOTE3IDcuMjgyIDcuMjgyIDcuMjgyIDE0LjU2MyAwIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTcuMjgyIDcuMjgyek0zNjYuMzY1IDc1Mi4yOTloLTcuMjgyYy03LjI4MiAwLTcuMjgyLTcuMjgyLTE0LjU2My03LjI4Mi03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMtNy4yODItMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUtNy4yODIgNy4yODIgMCA3LjI4MiA3LjI4MiAxNC41NjMgNy4yODIgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NS03LjI4MiA3LjI4Mi0xNC41NjMgNy4yODItMTQuNTYzIDcuMjgyek0zODAuOTI4IDY2NC45MTdoLTcuMjgyYy0zNi40MDktMjEuODQ1LTY1LjUzNi02NS41MzYtNjUuNTM2LTEwOS4yMjcgMC03LjI4MiA3LjI4Mi0xNC41NjMgMTQuNTYzLTE0LjU2M3MxNC41NjMgNy4yODIgMTQuNTYzIDE0LjU2M2MwIDM2LjQwOSAxNC41NjMgNjUuNTM2IDUwLjk3MyA4MC4wOTkgNy4yODIgNy4yODIgNy4yODIgMTQuNTYzIDcuMjgyIDIxLjg0NSAwIDcuMjgyLTcuMjgyIDcuMjgyLTE0LjU2MyA3LjI4MnpNODYxLjUyNSA1NTUuNjkxYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDE0LjU2My0xMjMuNzktMzYuNDA5LTI0Ny41ODEtMTM4LjM1NC0zMjAuMzk4LTcuMjgyLTcuMjgyLTcuMjgyLTE0LjU2MyAwLTIxLjg0NSA3LjI4Mi03LjI4MiAxNC41NjMtNy4yODIgMjEuODQ1IDAgMTA5LjIyNyA4MC4wOTkgMTY3LjQ4MSAyMTEuMTcxIDE1Mi45MTcgMzQ5LjUyNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6IiAgLz48cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNNzc0LjE0NCA1MjYuNTYzYy03LjI4MiAwLTE0LjU2My03LjI4Mi0xNC41NjMtMTQuNTYzIDcuMjgyLTgwLjA5OS0yMS44NDUtMTUyLjkxNy04Ny4zODEtMTk2LjYwOC03LjI4Mi03LjI4Mi03LjI4Mi0xNC41NjMgMC0yMS44NDVzMTQuNTYzLTcuMjgyIDIxLjg0NSAwYzcyLjgxOCA1MC45NzMgMTA5LjIyNyAxMzguMzU0IDEwMS45NDUgMjI1LjczNS03LjI4MiAwLTE0LjU2MyA3LjI4Mi0yMS44NDUgNy4yODJ6TTY5NC4wNDUgNDkwLjE1NWMtNy4yODIgMC0xNC41NjMtNy4yODItMTQuNTYzLTE0LjU2MyA3LjI4Mi0zNi40MDktNy4yODItNjUuNTM2LTM2LjQwOS04Ny4zODEtNy4yODItNy4yODItNy4yODItMTQuNTYzIDAtMjEuODQ1IDcuMjgyLTcuMjgyIDE0LjU2My03LjI4MiAyMS44NDUgMCAzNi40MDkgMjkuMTI3IDU4LjI1NCA3Mi44MTggNTAuOTczIDExNi41MDktNy4yODIgMC0xNC41NjMgNy4yODItMjEuODQ1IDcuMjgyeiIgIC8+PC9zdmc+"},1895:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTk0MzYyODEzNzAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0NDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTIxLjI1IDg4My4zNGMtMS4yNCAwLTIuNDktMC4xNS0zLjc0LTAuNDgtNjAuMTctMTUuNDUtMTEyLjk2LTQwLjA2LTE1Ni45MS03My4xNC0zNS4zNC0yNi42LTY1LjAzLTU4LjY3LTg4LjI1LTk1LjMzLTM5LjY2LTYyLjYyLTQ2LjY0LTExNi43MS00Ni45MS0xMTguOThsLTAuMTEtMC45MVYyNTUuMDZsMTcuMzcgMi43OGM3MC41NiAxMS4zMSAxMzYuNTctMi43OCAxOTYuMi00MS44NyA0NS0yOS41IDY5LjMzLTYyLjk4IDY5LjU4LTYzLjMxIDQuODMtNi43MiAxNC4xOS04LjI3IDIwLjkyLTMuNDUgNi43MyA0LjgyIDguMjkgMTQuMTYgMy40OCAyMC45LTEuMDkgMS41Mi0yNy4xOCAzNy42OC03Ni40OCA3MC4yNy0yOC45OCAxOS4xNi02MC4wNyAzMy4xNS05Mi4zOSA0MS42LTM1IDkuMTUtNzEuNDggMTEuNzYtMTA4LjY3IDcuODF2MzAyLjc2YzAuOTkgNi41NCA5LjExIDUzLjggNDMuMTUgMTA3LjAyIDQ4Ljc4IDc2LjI4IDEyNC45OSAxMjguMTcgMjI2LjUgMTU0LjI0IDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzcgNi43Ni03Ljg2IDExLjI2LTE0LjU0IDExLjI3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuOTQgODgzLjM0Yy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiAxMDIuMDgtMjYuMjIgMTc4LjU1LTc4LjUyIDIyNy4yOC0xNTUuNDYgMzYuMDgtNTYuOTcgNDIuNDItMTA2LjA4IDQyLjQ4LTEwNi41NyAxLjAxLTguMjIgOC40Ny0xNC4wNyAxNi43MS0xMy4wNyA4LjIyIDEgMTQuMDcgOC40OSAxMy4wNyAxNi43MS0wLjI4IDIuMjctNy4yNSA1Ni4zNi00Ni45MSAxMTguOTgtMjMuMjEgMzYuNjUtNTIuOTEgNjguNzMtODguMjUgOTUuMzMtNDMuOTUgMzMuMDgtOTYuNzQgNTcuNjktMTU2LjkyIDczLjE0LTEuMjUgMC4zMS0yLjUgMC40Ny0zLjc0IDAuNDd6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQyIj48L3BhdGg+PHBhdGggZD0iTTgwNC4xOSA2MDguNTljLTguMjggMC0xNS02LjcyLTE1LTE1VjI4OS43OGMtMzcuMTkgMy45NS03My42NyAxLjM0LTEwOC42Ny03LjgxLTMyLjMzLTguNDUtNjMuNDEtMjIuNDQtOTIuMzktNDEuNi00OS4zLTMyLjU5LTc1LjQtNjguNzQtNzYuNDgtNzAuMjctNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44MSAxNi4wOS0zLjI1IDIwLjkxIDMuNDggMC4yNCAwLjMzIDI0LjU3IDMzLjgxIDY5LjU4IDYzLjMxIDU5LjYyIDM5LjA5IDEyNS42NCA1My4xOCAxOTYuMTkgNDEuODdsMTcuMzctMi43OHYzMzguNTNjLTAuMDEgOC4yOS02LjcyIDE1LTE1LjAxIDE1ek01MjEuNjEgNzU2LjQxYy0xLjI0IDAtMi40OS0wLjE1LTMuNzQtMC40OC0zOS4yNS0xMC4wOC03My43My0yNi4xNi0xMDIuNDctNDcuNzktMjMuMTctMTcuNDQtNDIuNjQtMzguNDctNTcuODctNjIuNTItMjYuMDYtNDEuMTUtMzAuNjgtNzYuOTgtMzAuODYtNzguNDhsLTAuMTEtMC45MXYtMjI0LjJsMTcuMzcgMi43OGMxMDUuMTggMTYuODUgMTY0LjUtNjQuMzkgMTY1LjA5LTY1LjIxIDQuODEtNi43NCAxNC4xOC04LjMxIDIwLjkyLTMuNSA2Ljc0IDQuODEgOC4zMSAxNC4xOCAzLjUgMjAuOTItMC43MiAxLjAxLTE4LjAxIDI0Ljk3LTUwLjQzIDQ2LjQtMzguMTUgMjUuMjItODEuNTYgMzYuNTEtMTI2LjQ1IDMzLjA3djE4Ny43NGMwLjc5IDQuOTMgNi4xNCAzMy45NyAyNy4wOCA2Ni41NCAzMC41MyA0Ny40NiA3OC4yIDc5Ljc5IDE0MS42OSA5Ni4xIDguMDIgMi4wNiAxMi44NiAxMC4yNCAxMC44IDE4LjI2LTEuNzQgNi43Ny03LjgzIDExLjI3LTE0LjUyIDExLjI4eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0MyI+PC9wYXRoPjxwYXRoIGQ9Ik01MjIuNjkgNzU2LjQxYy02LjY4IDAtMTIuNzgtNC41LTE0LjUyLTExLjI3LTIuMDYtOC4wMiAyLjc3LTE2LjIgMTAuOC0xOC4yNiA2My40OS0xNi4zMSAxMTEuMTYtNDguNjQgMTQxLjY5LTk2LjEgMjIuOTEtMzUuNjEgMjcuMTYtNjcuMDEgMjcuMi02Ny4zMiAxLjA2LTguMiA4LjU1LTE0LjAzIDE2Ljc1LTEyLjk5IDguMiAxLjAzIDE0LjAzIDguNDcgMTMuMDMgMTYuNjgtMC4xOCAxLjUtNC44IDM3LjM0LTMwLjg2IDc4LjQ4LTE1LjIzIDI0LjA0LTM0LjcgNDUuMDgtNTcuODcgNjIuNTItMjguNzQgMjEuNjMtNjMuMjEgMzcuNzEtMTAyLjQ3IDQ3Ljc5LTEuMjYgMC4zMS0yLjUxIDAuNDctMy43NSAwLjQ3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NCI+PC9wYXRoPjxwYXRoIGQ9Ik03MDIuOTUgNTgwLjMyYy04LjI4IDAtMTUtNi43Mi0xNS0xNVYzNzYuNWMtNDQuOSAzLjQ1LTg4LjI5LTcuODQtMTI2LjQ1LTMzLjA3LTMyLjQyLTIxLjQzLTQ5LjcxLTQ1LjM5LTUwLjQzLTQ2LjQtNC44MS02Ljc0LTMuMjUtMTYuMTEgMy41LTIwLjkyIDYuNzQtNC44IDE2LjA4LTMuMjUgMjAuOSAzLjQ3IDAuMiAwLjI4IDE1LjQ0IDIxLjEzIDQzLjUyIDM5LjQ1IDM2Ljk3IDI0LjEyIDc3Ljg4IDMyLjggMTIxLjU5IDI1Ljc5bDE3LjM3LTIuNzh2MjIzLjI5YzAgOC4yOC02LjcyIDE0Ljk5LTE1IDE0Ljk5eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0NSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjAuNTYgNzQ2Ljk3Yy04LjI4IDAtMTUtNi43Mi0xNS0xNVYyOTQuNzhjMC04LjI4IDYuNzItMTUgMTUtMTVzMTUgNi43MiAxNSAxNXY0MzcuMTljMCA4LjI4LTYuNzIgMTUtMTUgMTV6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ2Ij48L3BhdGg+PHBhdGggZD0iTTY5My45OCA1MjguMzhIMzQ3LjEzYy04LjI4IDAtMTUtNi43Mi0xNS0xNXM2LjcyLTE1IDE1LTE1aDM0Ni44NWM4LjI4IDAgMTUgNi43MiAxNSAxNXMtNi43MiAxNS0xNSAxNXpNMzQ1LjUzNSA0MzMuODgybDY5LjU3OS02OS41NzkgNy4wNzEgNy4wNzEtNjkuNTc5IDY5LjU3OXpNMzQ2LjExMSA0ODIuODgybDE2Ni4wNzctMTY2LjA3NiA3LjA3MSA3LjA3LTE2Ni4wNzcgMTY2LjA3N3oiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NDciPjwvcGF0aD48cGF0aCBkPSJNMzc1LjM5MiA1MTMuNzc5bDE0NS4wNC0xNDUuMDYxIDcuMDcyIDcuMDctMTQ1LjA0IDE0NS4wNjJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDQ4Ij48L3BhdGg+PHBhdGggZD0iTTQzNS45NTcgNTA3LjY5Nmw4MC40ODItODAuNDgyIDcuMDcgNy4wNy04MC40ODEgODAuNDgzeiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ0OSI+PC9wYXRoPjxwYXRoIGQ9Ik01MjMuNDM3IDYzNC4yNjVsNy4wNzEtNy4wNzEgNjkuNTc5IDY5LjU3OC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTAiPjwvcGF0aD48cGF0aCBkPSJNNTEzLjI1MyA1NjUuNTAybDcuMDctNy4wNyAxMjAuOTc4IDEyMC45NzctNy4wNyA3LjA3eiIgZmlsbD0iIzIzMTgxNSIgcC1pZD0iMTQ1MSI+PC9wYXRoPjxwYXRoIGQ9Ik01MzUuODYzIDUyN2w3LjA3LTcuMDcyTDY3Mi44ODYgNjQ5Ljg4bC03LjA3MSA3LjA3MXoiIGZpbGw9IiMyMzE4MTUiIHAtaWQ9IjE0NTIiPjwvcGF0aD48cGF0aCBkPSJNNTkyLjM0OCA1MjQuOTQxbDcuMDctNy4wNyA4Ni4xODIgODYuMTgtNy4wNzEgNy4wNzJ6IiBmaWxsPSIjMjMxODE1IiBwLWlkPSIxNDUzIj48L3BhdGg+PC9zdmc+"},1896:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/load-balancer.1733828928.png"},1897:function(e,t,a){var n=a(1898);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1898:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__icon--2-Vz_ {\n margin-right: 8px;\n}\n",""]),t.locals={icon:"index__icon--2-Vz_"}},1899:function(e,t,a){var n=a(1900);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1900:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__instance-volume--3uVzj {\n display: block;\n margin-bottom: 8px;\n}\n.index__label--12eU8 {\n max-width: 20%;\n margin-right: 10px;\n}\n.index__select--YPu8L {\n max-width: 80%;\n}\n.index__size-label--1i0IC {\n margin-right: 40px;\n margin-left: 10px;\n}\n",""]),t.locals={"instance-volume":"index__instance-volume--3uVzj",label:"index__label--12eU8",select:"index__select--YPu8L","size-label":"index__size-label--1i0IC"}},1901:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(647));n(231);var u=o(n(341)),d=o(n(648)),c=o(n(35)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),p=(n(161),n(564),o(n(1902)));function h(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(h=function(e){return e?a:t})(e)}class m extends f.Component{constructor(e){super(e),(0,c.default)(this,"onChangeValue",(()=>{var{moreValue:e}=this.state;this.setState({moreValue:!e},(()=>{var{onChange:e}=this.props;e&&e(this.state.moreValue)}))}));var{value:t}=e;this.state={moreValue:t}}render(){var{moreValue:e}=this.state;return e?f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Hide Advanced Options")," ",f.default.createElement(d.default,null)):f.default.createElement(u.default,{type:"link",className:p.default.btn,onClick:this.onChangeValue},t("Expand Advanced Options"),f.default.createElement(s.default,null))}}a.default=m},1902:function(e,t,a){var n=a(1903);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1903:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__btn--2tisu {\n padding-left: 0;\n}\n",""]),t.locals={btn:"index__btn--2tisu"}},1904:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(422));n(1535);var m=p(n(1536));n(231);var g=p(n(341)),v=p(n(1545)),y=p(n(35)),b=p(n(92)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161),n(564);function w(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(w=function(e){return e?a:t})(e)}function k(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function C(e){for(var t=1;t{this.setState({file:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,y.default)(this,"handleChange",(e=>{var{file:t,fileList:a=[]}=e,{status:n}=t||{};"removed"===n&&0===a.length&&this.onChange(null),n||this.onChange(t),e.file.status})),(0,y.default)(this,"beforeUpload",(()=>!1)),this.state={file:""}}get progress(){return{strokeColor:{"0%":globalCSS.primaryColor,"100%":globalCSS.successColor},strokeWidth:3,format:e=>"".concat((0,h.default)(e.toFixed(2)),"%")}}render(){var e,{value:a}=this.props,{file:n}=this.state;e=a?(0,b.default)(a)?a:[a]:n?[n]:[];var r=C(C({},this.props),{},{name:"file",action:"",headers:{authorization:"authorization-text"},onChange:this.handleChange,progress:this.progress,beforeUpload:this.beforeUpload,fileList:e});return x.default.createElement(m.default,r,this.props.children||x.default.createElement(g.default,null,x.default.createElement(v.default,null)," ",t("Click to Upload")))}}a.default=_},1919:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(573)),u=o(n(91)),d=o(n(345)),c=o(n(54)),f=o(n(77)),p=o(n(1546));n(231);var h=o(n(341)),m=o(n(1547)),g=o(n(343));n(568);var v=o(n(415));n(569);var y=o(n(1253)),b=o(n(35)),x=o(n(352)),w=o(n(177)),k=o(n(205)),C=o(n(92)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),M=(n(161),n(564),o(n(16))),S=o(n(4)),I=n(163),N=o(n(1922));function E(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(E=function(e){return e?a:t})(e)}class T extends _.Component{constructor(e){super(e),(0,b.default)(this,"getInitItems",(e=>{var{value:t,initValue:a}=e;return(0,w.default)(a)?(0,C.default)(t)?[...t]||!1:[]:(0,C.default)(a)?[...a]||!1:[]})),(0,b.default)(this,"addItem",(()=>{var{items:e}=this.state,{maxCount:t}=this.props;if(!(e.length>=t)){var{defaultItemValue:a}=this.props,n={value:a,index:e.length};this.updateItems([...e,n])}})),(0,b.default)(this,"updateItems",(e=>{this.setState({items:e},(()=>{var{onChange:t}=this.props;t&&t(e)}))})),(0,b.default)(this,"canRemove",((e,t)=>{var a=this.checkItemRemoveDisabled(t),{minCount:n}=this.props;return e>=n&&!a})),(0,b.default)(this,"removeItem",(e=>{var{items:t}=this.state;(0,s.default)(t).call(t,e,1),this.updateItems(t)})),(0,b.default)(this,"onItemChange",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"onItemChangeInput",((e,t)=>{var{items:a}=this.state;a[t]={value:e,index:t},this.updateItems(a)})),(0,b.default)(this,"getOptions",(e=>{var{optionsByIndex:t,options:a}=this.props;return t&&e{var{items:t=[]}=this.state,{disabledRemoveFunc:a}=this.props;return(0,x.default)(a)?a({item:e,items:t}):this.checkDisabledKey(e)})),(0,b.default)(this,"checkDisabledKey",(e=>{var{key:t=""}=e.value||{},{disableEditKeys:a=[]}=this.props;return(0,u.default)(a).call(a,t)>=0})),(0,b.default)(this,"renderItem",((e,a)=>{var{itemComponent:n,readonlyKeys:r=[],isInput:l=!1,placeholder:i,width:o}=this.props;if(!n)return l?_.default.createElement(y.default,{value:e.value,placeholder:i||t("Please input"),style:{width:o},onChange:e=>{this.onItemChange(e.currentTarget.value,a)}}):_.default.createElement(v.default,{className:N.default.float,options:this.getOptions(a),value:e.value,placeholder:i,style:{width:o},onChange:e=>{this.onItemChange(e,a)}});var s=n,{key:d=""}=e.value||{},c=(0,u.default)(r).call(r,d)>=0,f=this.checkItemRemoveDisabled(e);return _.default.createElement(s,(0,g.default)({},this.props,{name:"name-".concat(a),value:e.value,index:a,keyReadonly:c,disabled:f,onChange:e=>{this.onItemChange(e,a)}}))}));var{initValue:a=[]}=e;this.state={items:this.getInitItems(e),initValue:a,keyId:(0,I.generateId)()}}static getDerivedStateFromProps(e,t){return(0,k.default)(e.initValue,t.initValue)?null:{initValue:e.initValue,items:JSON.parse((0,d.default)(e.initValue)),keyId:(0,I.generateId)()}}renderTip(){var{tips:e}=this.props;return e?_.default.createElement("div",null,e):null}renderItems(){var{items:e,keyId:t}=this.state,a=(0,c.default)(e).call(e,((e,a)=>{var n;return _.default.createElement("div",{className:N.default.item,key:(0,f.default)(n="add-select-item-".concat(t,"-")).call(n,a)},_.default.createElement(h.default,{type:"link",onClick:()=>this.removeItem(a),className:(0,S.default)(N.default.float,N.default["remove-btn"]),disabled:!this.canRemove(a,e)},_.default.createElement(m.default,null)),_.default.createElement("div",{className:(0,S.default)(N.default.float,N.default["item-detail"],"item-detail")},this.renderItem(e,a)))}));return _.default.createElement("div",{className:N.default.items},a)}renderAdd(){var{maxCount:e,addText:a,addTextTips:n}=this.props,{items:r}=this.state,l="";return e!==1/0&&(l+=t("Can add { number } {name}",{number:e-r.length,name:n||""})),_.default.createElement("div",null,_.default.createElement(h.default,{className:(0,S.default)(N.default["add-btn"],"add-btn"),type:"link",onClick:this.addItem},_.default.createElement(p.default,null),a),l)}render(){return _.default.createElement("div",{className:N.default["add-select"]},this.renderTip(),this.renderItems(),this.renderAdd())}}a.default=T,(0,b.default)(T,"propTypes",{minCount:M.default.number,maxCount:M.default.number,tips:M.default.node,options:M.default.array,placeholder:M.default.string,defaultItemValue:M.default.any,addText:M.default.string,addTextTips:M.default.string,width:M.default.number,itemComponent:M.default.any,optionsByIndex:M.default.bool,initValue:M.default.array,readonlyKeys:M.default.array,disableEditKeys:M.default.array,disabledRemoveFunc:M.default.func}),(0,b.default)(T,"defaultProps",{minCount:0,maxCount:1/0,addText:t("Add"),placeholder:t("Please select"),width:200,itemComponent:null,optionsByIndex:!1,initValue:[],readonlyKeys:[],disableEditKeys:[],disabledRemoveFunc:null})},1922:function(e,t,a){var n=a(1923);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1923:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__items--2qLhh {\n float: left;\n width: 100%;\n}\n.index__item--2Klpp {\n position: relative;\n float: left;\n width: 100%;\n margin-top: 8px;\n}\n.index__item--2Klpp .ant-form-item-has-success .ant-select:not(.ant-select-borderless) .ant-select-selector {\n border: 1px solid #d9d9d9 !important;\n}\n.index__item-detail--1dhkA {\n width: 90%;\n}\n.index__float--QNRx6 {\n float: left;\n}\n.index__remove-btn--11OFO,\n.index__add-btn--1uutt {\n padding-right: 8px;\n padding-left: 0;\n}\n.index__desc--wLQSa {\n margin-left: 16px;\n}\n",""]),t.locals={items:"index__items--2qLhh",item:"index__item--2Klpp","item-detail":"index__item-detail--1dhkA",float:"index__float--QNRx6","remove-btn":"index__remove-btn--11OFO","add-btn":"index__add-btn--1uutt",desc:"index__desc--wLQSa"}},1924:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t0&&(a=k(k({},a),e[0])),[a]}render(){var{componentProps:e={},formItemProps:a={}}=this.props,{version:n=4}=e,r=(0,g.default)(e,["version"]),l=k({placeholder:4===n?t("Please input ipv4"):t("Please input ipv6")},r),{rules:i}=a,o=(0,g.default)(a,["rules"]),s=this.getRules(i,n),u=k(k({},o),{},{rules:s});return y.default.createElement(h.default.Item,u,y.default.createElement(m.default,l))}}a.default=M,(0,v.default)(M,"isFormItem",!0)},1925:function(e,t,a){var n=a(1926);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1926:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__network-select--FVaPO {\n position: relative;\n display: block;\n height: 61.6px;\n margin-bottom: 0 !important;\n}\n.index__network-select--FVaPO .ant-form-item-control-input-content {\n height: 61.6px;\n}\n.index__network-select--FVaPO .ant-form-item-explain {\n position: absolute;\n bottom: 0;\n}\n.index__select--2cAyT {\n margin-right: 40px;\n}\n.index__size-label--3Ry8T {\n margin-right: 40px;\n margin-left: 10px;\n}\n.index__tips--3wgea {\n margin-top: 0;\n}\n.index__label--2hqHr {\n margin-right: 10px;\n color: rgba(0, 0, 0, 0.45);\n line-height: 30px;\n}\n.index__content--14doI {\n color: rgba(0, 0, 0, 0.65);\n}\n.index__subnet-options-cidr--7bWem {\n margin-left: 5px;\n padding-left: 5px;\n border-left: 1px solid;\n opacity: 0.6;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","network-select":"index__network-select--FVaPO",select:"index__select--2cAyT","size-label":"index__size-label--3Ry8T",tips:"index__tips--3wgea",label:"index__label--2hqHr",content:"index__content--14doI","subnet-options-cidr":"index__subnet-options-cidr--7bWem"}},1927:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(86)),s=i(a(54)),u=i(a(343));a(593);var d=i(a(427)),c=i(a(58)),f=i(a(35)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),h=(a(161),i(a(16))),m=i(a(4)),g=i(a(1928));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends p.Component{constructor(){super(...arguments),(0,f.default)(this,"onChange",(e=>{var{value:t}=e.target,{options:a,onChange:n,isWrappedValue:r}=this.props;if(r){var l=(0,o.default)(a).call(a,(e=>e.value===t));n&&n(l)}else n&&n(t)})),(0,f.default)(this,"getValue",((e,t)=>void 0===t?t:e?t.value:t))}render(){var e=this.props,{options:t,optionType:a,buttonStyle:n,onlyRadio:r,className:l,value:i,isWrappedValue:o}=e,f=(0,c.default)(e,["options","optionType","buttonStyle","onlyRadio","className","value","isWrappedValue"]),h=(0,s.default)(t).call(t,(e=>"default"===a?p.default.createElement(d.default,{value:e.value,key:e.value,disabled:e.disabled},e.label):p.default.createElement(d.default.Button,{value:e.value,key:e.value,disabled:e.disabled},e.label)));return p.default.createElement(d.default.Group,(0,u.default)({optionType:a,buttonStyle:n},f,{className:(0,m.default)(l,r?g.default["only-radio"]:""),onChange:this.onChange,value:this.getValue(o,i)}),h)}}t.default=y,(0,f.default)(y,"propTypes",{options:h.default.array,onChange:h.default.func,optionType:h.default.string,buttonStyle:h.default.string,onlyRadio:h.default.bool,isWrappedValue:h.default.bool}),(0,f.default)(y,"defaultProps",{options:[],optionType:"button",buttonStyle:"solid",onlyRadio:!1,isWrappedValue:!1})},1928:function(e,t,a){var n=a(1929);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1929:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__only-radio--3nQs4 .ant-radio-button-wrapper {\n margin-left: 8px;\n border-left-width: 1px;\n border-radius: 4px;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper::before {\n display: none;\n}\n.index__only-radio--3nQs4 .ant-radio-button-wrapper:first-child {\n margin-left: 0;\n border-radius: 4px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","only-radio":"index__only-radio--3nQs4"}},1930:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(54)),s=i(a(77));a(1303);var u=i(a(1290)),d=i(a(343));a(231);var c=i(a(341)),f=i(a(1378)),p=i(a(35)),h=i(a(601)),m=i(a(92)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),v=(a(161),a(564),i(a(1937)));function y(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(y=function(e){return e?a:t})(e)}class b extends g.Component{constructor(){super(...arguments),(0,p.default)(this,"getValueContent",(e=>(0,h.default)(e)?"-":(0,m.default)(e)?(0,o.default)(e).call(e,((t,a)=>g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{key:"value-".concat(a)},t),a!==e.length-1&&g.default.createElement("br",null)))):e)),(0,p.default)(this,"onClick",(()=>{var{onClick:e}=this.props;e&&e()}))}renderTitle(){var{title:e}=this.props;return g.default.createElement("span",null,e," ",g.default.createElement(c.default,{type:"link",icon:g.default.createElement(f.default,null),onClick:this.onClick}))}renderItem(){var{items:e}=this.props,t=(0,o.default)(e).call(e,((e,t)=>{var a,{label:n,value:r,span:l,contentStyle:i={}}=e,o=this.getValueContent(r),c={label:n,key:(0,s.default)(a="item-".concat(n,"-")).call(a,t),className:v.default.label};return l&&(c.span=l),g.default.createElement(u.default.Item,(0,d.default)({contentStyle:i},c),o)}));return g.default.createElement(u.default,{title:this.renderTitle(),colon:!1},t)}render(){return g.default.createElement("div",null,this.renderItem())}}t.default=b},1937:function(e,t,a){var n=a(1938);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1938:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__label--1lhix {\n vertical-align: top;\n}\n.index__label--1lhix .ant-descriptions-item-label {\n width: 100px;\n color: #8a8a8a;\n}\n",""]),t.locals={label:"index__label--1lhix"}},1939:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(164)),m=p(n(63)),g=p(n(77));n(1261);var v=p(n(1262));n(569);var y=p(n(1253)),b=p(n(58)),x=p(n(35)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),k=(n(161),n(565));function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function M(e){for(var t=1;t{if(a&&a.length&&(0,h.default)(a).call(a,n)){var r,l=t("Name can not be duplicated");return m.default.reject(new Error((0,g.default)(r="".concat(t("Invalid: "))).call(r,l)))}return m.default.resolve(!0)}},i={validator:this.getRuleValidator(r)};return n&&n.length>0?[...n,i,l]:[i,l]}getMessage(e){var{withoutChinese:t,isFile:a,isKeypair:n,isStack:r,isCrontab:l,isImage:i,isInstance:o,isSwiftFile:s,isDatabaseName:u,isDatabaseUserName:d}=e;return t?I:r?T:a?N:n?E:l?A:i?j:o?P:s?D:u?L:d?O:S}getPropsFromComponentProps(){var{componentProps:e}=this.props,{withoutChinese:t=!1,isFile:a=!1,isKeypair:n=!1,isSwiftFile:r=!1,isDatabaseName:l=!1,isDatabaseUserName:i=!1,isStack:o,isCrontab:s,isImage:u,isInstance:d,names:c}=e;return{ruleProps:{names:c,withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},messageProps:{withoutChinese:t,isFile:a,isKeypair:n,isStack:o,isCrontab:s,isImage:u,isInstance:d,isSwiftFile:r,isDatabaseName:l,isDatabaseUserName:i},restProps:(0,b.default)(e,["withoutChinese","isFile","isKeypair","isSwiftFile","isDatabaseName","isDatabaseUserName","isStack","isCrontab","isImage","isInstance","names"])}}get ruleProps(){var{formItemProps:e}=this.props,{rules:t}=e,{ruleProps:a}=this.getPropsFromComponentProps();return M(M({},a),{},{rules:t})}get messageProps(){var{messageProps:e}=this.getPropsFromComponentProps();return e}get formItemProps(){var{formItemProps:e}=this.props,{rules:t}=e,a=(0,b.default)(e,["rules"]),n=this.getRules(this.ruleProps),r=this.getMessage(this.messageProps);return M(M({},a),{},{rules:n,extra:r})}get inputProps(){var{isFile:e}=this.ruleProps,{restProps:a}=this.getPropsFromComponentProps();return M({placeholder:e?t("Please input file name"):t("Please input name")},a)}render(){var e=this.formItemProps,{inputProps:t}=this;return w.default.createElement(v.default.Item,e,w.default.createElement(y.default,t))}}a.default=W,(0,x.default)(W,"isFormItem",!0)},1940:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1261);var h=p(n(1262));n(569);var m=p(n(1253)),g=p(n(58)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),n(565));function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{this.setState({inputValue:e});var{onChange:t}=this.props;t&&t(e)}));var{value:t,max:a,min:n,description:r}=e,l=(0,o.default)(t,10);this.state={inputValue:(0,s.default)(l)?1:t,inputMax:a,inputMin:n,description:r}}static getDerivedStateFromProps(e,t){var{min:a,max:n,description:r}=e;return a!==t.inputMin||n!==t.inputMax||r!==t.description?{inputMin:a,inputMax:n,description:r}:null}render(){var{inputValue:e,inputMax:t,inputMin:a,description:n}=this.state;return h.default.createElement(u.default,null,h.default.createElement(c.default,{span:16},h.default.createElement(f.default,{min:a,max:t,onChange:this.onChange,value:e})),h.default.createElement(c.default,{span:4},h.default.createElement(d.default,{min:a,max:t,style:{marginLeft:8},precision:0,formatter:e=>"$ ".concat(e).replace(/\D/g,""),value:e,onChange:this.onChange})),h.default.createElement(c.default,{span:24},h.default.createElement("span",{style:{fontStyle:"italic",color:"#7b8997"}},n)))}}t.default=v,(0,p.default)(v,"propTypes",{value:m.default.number,max:m.default.number,min:m.default.number,description:m.default.string}),(0,p.default)(v,"defaultProps",{max:500,min:0,value:0})},1946:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(35)),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),u=i(a(16)),d=i(a(4)),c=i(a(1947));function f(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(f=function(e){return e?a:t})(e)}class p extends s.Component{render(){var{label:e,className:t}=this.props;return s.default.createElement("div",{className:(0,d.default)(c.default.title,t)},e)}}t.default=p,(0,o.default)(p,"propTypes",{label:u.default.string,className:u.default.string}),(0,o.default)(p,"defaultProps",{label:""})},1947:function(e,t,a){var n=a(1948);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1948:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__title--30RRB {\n margin-left: 12px;\n font-weight: bold;\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",title:"index__title--30RRB"}},1949:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1445);var s=o(n(1446)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)}))}render(){var{value:e,className:t,checkedText:a,uncheckedText:n,disabled:r}=this.props,l={checked:e,className:t,checkedChildren:a,unCheckedChildren:n,disabled:r,onChange:this.onChange};return d.default.createElement(s.default,l)}}a.default=p,(0,u.default)(p,"propTypes",{value:c.default.bool,className:c.default.string,checkedText:c.default.string,uncheckedText:c.default.string,disabled:c.default.bool,onChange:c.default.func}),(0,u.default)(p,"defaultProps",{value:!1,checkedText:t("On"),uncheckedText:t("Off"),disabled:!1})},1952:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(583);var o=i(a(420)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=c(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),d=(a(161),i(a(16)));function c(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(c=function(e){return e?a:t})(e)}class f extends u.Component{constructor(){super(...arguments),(0,s.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e.target.checked)}))}render(){var{value:e,className:t,content:a,disabled:n}=this.props,r={checked:e,className:t,disabled:n,onChange:this.onChange};return u.default.createElement(o.default,r,a)}}t.default=f,(0,s.default)(f,"propTypes",{value:d.default.bool,className:d.default.string,content:d.default.any,disabled:d.default.bool,onChange:d.default.func}),(0,s.default)(f,"defaultProps",{value:!1,content:""})},1953:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(54)),u=o(n(29)),d=o(n(164)),c=o(n(91)),f=o(n(35));n(1548);var p=o(n(1549)),h=o(n(343));n(585);var m=o(n(587)),g=o(n(58)),v=o(n(177)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=w(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=(n(161),o(n(1960))),x=o(n(16));function w(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(w=function(e){return e?a:t})(e)}var k=e=>{var{leftColumns:t,rightColumns:a,pageSize:n,loading:r,onRowLeft:l,onRowRight:i}=e,o=(0,g.default)(e,["leftColumns","rightColumns","pageSize","loading","onRowLeft","onRowRight"]);return y.default.createElement(p.default,(0,h.default)({},o,{showSelectAll:!1}),(e=>{var{direction:o,filteredItems:c,onItemSelectAll:f,onItemSelect:p,selectedKeys:h,disabled:g}=e,v="left"===o?t:a,x={getCheckboxProps:e=>({disabled:g||e.disabled}),onSelectAll(e,t){var a,n=(0,s.default)(a=(0,u.default)(t).call(t,(e=>!e.disabled))).call(a,(e=>{var{key:t}=e;return t})),r=e?(0,b.default)(n,h):(0,b.default)(h,n);f(r,e)},onSelect(e,t){var{key:a}=e;p(a,t)},selectedRowKeys:h},w={pageSize:n},k=("left"===o?l:i)||(e=>{var{key:t,disabled:a}=e;return{onClick:()=>{a||g||p(t,!(0,d.default)(h).call(h,t))}}});return y.default.createElement(m.default,{loading:r,rowSelection:x,columns:v,dataSource:c,pagination:w,size:"small",style:{pointerEvents:g?"none":null},onRow:k})}))};class C extends y.Component{constructor(e){super(e),(0,f.default)(this,"getTargetKey",(()=>{var{oriTargetKeys:e,value:t}=this.props;if(!(0,v.default)(e)||!(0,v.default)(t)){var{onChange:a}=this.props;a&&a(e||t||[])}})),(0,f.default)(this,"onChange",(e=>{this.setState({targetKeys:e});var{onChange:t}=this.props;t&&t(e)})),this.state={targetKeys:[]}}static getDerivedStateFromProps(e,t){var{value:a=[]}=e;return a!==t.targetKeys?{targetKeys:a}:null}componentDidMount(){this.getTargetKey()}render(){var{disabled:e,showSearch:t,leftTableColumns:a,rightTableColumns:n,dataSource:r,filterOption:l,titles:i,pageSize:o,loading:s,onRowLeft:u,onRowRight:d}=this.props,{targetKeys:c}=this.state;return y.default.createElement(y.default.Fragment,null,y.default.createElement(k,{titles:i,pageSize:o,dataSource:r,targetKeys:c,disabled:e,showSearch:t,onChange:this.onChange,filterOption:l,leftColumns:a,rightColumns:n,loading:s,onRowLeft:u,onRowRight:d}))}}a.default=C,(0,f.default)(C,"propTypes",{titles:x.default.array,leftTableColumns:x.default.array.isRequired,rightTableColumns:x.default.array.isRequired,dataSource:x.default.array.isRequired,disabled:x.default.bool,showSearch:x.default.bool,filterOption:x.default.func,onChange:x.default.func,value:x.default.array,pageSize:x.default.number,loading:x.default.bool,onRowLeft:x.default.func,onRowRight:x.default.func}),(0,f.default)(C,"defaultProps",{titles:[t("Optional list"),t("Selected list")],disabled:!1,showSearch:!0,filterOption:(e,t)=>{var a;return-1!==(0,c.default)(a=t.name).call(a,e)},onChange:null,value:[],pageSize:5,loading:!1})},1963:function(e,t,a){var n=a(1964);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},1964:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__cpu--1lkn3 {\n margin-right: 8px;\n}\n.index__ram--1uTZP {\n margin-right: 8px;\n margin-left: 16px;\n}\n",""]),t.locals={cpu:"index__cpu--1lkn3",ram:"index__ram--1uTZP"}},1965:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var o=i(a(28)),s=i(a(91)),u=i(a(54)),d=i(a(343));a(1246);var c=i(a(1247));a(1244);var f=i(a(1245));a(583);var p=i(a(420)),h=i(a(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),g=(a(161),i(a(16)));function v(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(v=function(e){return e?a:t})(e)}class y extends m.Component{constructor(){super(...arguments),(0,h.default)(this,"onChange",(e=>{var{onChange:t,options:a}=this.props,n={};(0,o.default)(e).call(e,(e=>{n[e]=!0})),(0,o.default)(a).call(a,(t=>{var{value:a}=t;n[a]=(0,s.default)(e).call(e,a)>=0})),t&&t(n)})),(0,h.default)(this,"getValues",(()=>{var{value:e,options:t}=this.props,a=[];return(0,o.default)(t).call(t,(t=>{var n=t.value;e[n]&&a.push(n)})),a}))}render(){var{className:e,options:t,span:a}=this.props,n=this.getValues(),r={className:e,onChange:this.onChange};return m.default.createElement(p.default.Group,(0,d.default)({},r,{value:n,style:{width:"100%"}}),m.default.createElement(c.default,null,(0,u.default)(t).call(t,(e=>m.default.createElement(f.default,{span:a,key:e.value},m.default.createElement(p.default,{value:e.value,disabled:!!e.disabled},e.label))))))}}t.default=y,(0,h.default)(y,"propTypes",{value:g.default.object,className:g.default.string,options:g.default.array,onChange:g.default.func,span:g.default.number}),(0,h.default)(y,"defaultProps",{value:{},options:[],span:8})},1966:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1535);var s=o(n(1536));n(231);var u=o(n(341));n(569);var d=o(n(1253)),c=o(n(343)),f=o(n(58)),p=o(n(49)),h=o(n(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),g=(n(161),n(1553)),v=o(n(16));function y(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(y=function(e){return e?a:t})(e)}class b extends m.Component{constructor(){var e;super(...arguments),e=this,(0,h.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,h.default)(this,"handleUpload",function(){var t=(0,p.default)((function*(t){var a=yield(0,g.getText)(t);return e.onChange(a),!1}));return function(e){return t.apply(this,arguments)}}()),(0,h.default)(this,"onChangeInput",(e=>{this.onChange(e)}))}render(){var e=this.props,{value:a,placeholder:n,accept:r}=e,l=(0,f.default)(e,["value","placeholder","accept"]);return m.default.createElement(m.default.Fragment,null,m.default.createElement(d.default.TextArea,(0,c.default)({placeholder:n,value:a,onChange:this.onChange,style:{fontFamily:'"Menlo", "Liberation Mono", "Consolas", "DejaVu Sans Mono", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace'}},l)),m.default.createElement(s.default,{beforeUpload:this.handleUpload,showUploadList:!1,accept:r},m.default.createElement(u.default,{type:"link"},t("Load from local files"))))}}a.default=b,(0,h.default)(b,"propTypes",{value:v.default.string,placeholder:v.default.string,accept:v.default.any,onChange:v.default.func}),(0,h.default)(b,"defaultProps",{value:"",placeholder:t("Please input"),accept:"",onChange:e=>{}})},1967:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(231);var p=f(n(341)),h=f(n(1347));n(1246);var m=f(n(1247)),g=f(n(1442));n(1244);var v=f(n(1245));n(1261);var y=f(n(1262)),b=f(n(343)),x=f(n(35)),w=f(n(29)),k=f(n(54)),C=f(n(232)),_=f(n(63)),M=f(n(0)),S=(n(161),n(564),f(n(1968))),I=n(565);function N(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}var{isIPv4:E,isIpv6:T}=I.ipValidate,A=e=>{var a,{componentProps:n,formItemProps:r}=e,{subnets:l,maxNumber:i=10,formRef:f}=n,{name:I,value:A=[],onChange:j}=r,P=(0,w.default)(a=(0,k.default)(l).call(l,(e=>function(e){for(var t=1;t!(0,C.default)(A).call(A,(t=>!!t&&t.subnet===e.value))));return M.default.createElement(M.default.Fragment,null,M.default.createElement(y.default.Item,r,0===P.length?M.default.createElement("div",null,t("The selected network has no subnet")):M.default.createElement(y.default.List,{name:I},((e,a)=>{var{add:n,remove:r}=a;return M.default.createElement(M.default.Fragment,null,(0,k.default)(e).call(e,(e=>M.default.createElement(m.default,{key:e.key,gutter:[16,16]},M.default.createElement(v.default,{span:22},M.default.createElement(y.default.Item,(0,b.default)({},e,{validateTrigger:["onChange","onBlur"],rules:[{required:!0,validator:(e,a)=>{if(!a||!a.subnet)return _.default.reject(new Error(t("Missing Subnet")));if("manual"===a.ip_address.type){var{ip:n}=a.ip_address||{};if(!n)return _.default.reject(new Error(t("Missing IP Address")));if(!E(n)&&!T(n))return _.default.reject(new Error(t("Invalid: Please input a valid ip")))}return _.default.resolve(!0)}}]}),M.default.createElement(S.default,{field:e,subnetsAvailable:P,onChange:e=>{return t=e,void(j&&j(t));var t}}))),M.default.createElement(v.default,{span:2},M.default.createElement(g.default,{onClick:()=>{r(e.name),f.current.validateFields([I])}}))))),e.length{n(),f.current.validateFields([I])},block:!0,icon:M.default.createElement(h.default,null)},t("Add IP")))}))))};A.isFormItem=!0;var j=A;a.default=j},1968:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(1244);var m=p(n(1245));n(568);var g=p(n(415)),v=p(n(35)),y=p(n(86)),b=p(n(77)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),p(n(1969)));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var a,{subnetsAvailable:n,onChange:r,value:l}=e;l=l||{subnet:void 0,ip_address:{type:"dhcp",ip:void 0}};var[i,o]=(0,x.useState)(l.subnet),[s,u]=(0,x.useState)(l.ip_address),[d,c]=(0,x.useState)(!!l.subnet||!1),f=(0,y.default)(n).call(n,(e=>e.id===i)),p=e=>{var t=_(_({},l),{},{subnet:i,ip_address:s},e);r&&r(t)};return x.default.createElement(h.default,{gutter:[16,16]},x.default.createElement(m.default,{span:8},x.default.createElement(g.default,{placeholder:t("Please select"),options:n,value:i,onChange:(e,t)=>{o(t.value),c(!0),p({subnet:t.value})}}),f&&x.default.createElement("div",{style:{marginTop:16}},(0,b.default)(a="".concat(t("Cidr"),": ")).call(a,f.cidr))),f&&d&&x.default.createElement(m.default,{span:14},x.default.createElement(w.default,{value:s,version:f.ip_version||4,onChange:e=>{u(e),p({ip_address:e})}})))};a.default=M},1969:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(568);var v=p(n(415)),y=p(n(35)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function x(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function k(e){for(var t=1;t{var{value:a={},onChange:n}=e,[r,l]=(0,b.useState)(a.type||"dhcp"),[i,o]=(0,b.useState)(a.ip||void 0),s=e=>{n&&n(k(k({ip:i,type:r},a),e))};return b.default.createElement(h.default,{gutter:[16]},b.default.createElement(g.default,{span:12},b.default.createElement(v.default,{value:r,onChange:e=>{var t=e||"dhcp";l(t),s({type:t})},options:[{value:"dhcp",label:t("Automatically Assigned Address")},{value:"manual",label:t("Manual input")}]})),b.default.createElement(g.default,{span:12},"manual"===r&&b.default.createElement(m.default,{onChange:e=>{var t=e.currentTarget.value;o(t),s({ip:t})},defaultValue:i})))}},1970:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0,n(1246);var h=p(n(1247));n(569);var m=p(n(1253));n(1244);var g=p(n(1245));n(1261);var v=p(n(1262));n(568);var y=p(n(415)),b=p(n(35)),x=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),w=(n(161),n(565));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function C(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function _(e){for(var t=1;t{var{name:t}=this.state;this.setState({name:_(_({},t),{},{type:e})},(()=>{var{onChange:e}=this.props;e&&e(this.state.name)}))})),(0,b.default)(this,"handleInputChange",(e=>{var{name:t}=this.state;this.setState({name:_(_({},t),{},{mac:e})})})),this.state={name:{type:"",mac:""}}}render(){var{value:e,name:a,options:n}=this.props,{type:r}=e||{type:void 0};return x.default.createElement(h.default,{gutter:16},x.default.createElement(g.default,{span:12},x.default.createElement(v.default.Item,{name:[a,"type"],style:{marginBottom:0}},x.default.createElement(y.default,{placeholder:t("Please select"),options:n||[{label:t("Auto allocate mac address"),value:"auto"},{label:t("Manual input"),value:"manual"}],onChange:this.handleSelectChange}))),x.default.createElement(g.default,{span:12},e&&"manual"===r?x.default.createElement(v.default.Item,{hidden:"auto"===r||void 0===r,name:[a,"mac"],rules:[{validator:w.macAddressValidate,required:!0,message:t('Invalid Mac Address. Please Use ":" as separator.')}],style:{marginBottom:0}},x.default.createElement(m.default,{maxLength:17,onChange:this.handleInputChange})):null))}}var S=M;a.default=S},1971:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(n(28)),m=p(n(32)),g=p(n(86)),v=p(n(91)),y=p(n(77)),b=p(n(54)),x=p(n(29)),w=p(n(164)),k=p(n(350)),C=p(n(591));n(1548);var _=p(n(1549));n(344);var M=p(n(202));n(585);var S=p(n(587));n(1972);var I=p(n(1975)),N=p(n(58));n(1278);var E=p(n(1279));n(569);var T=p(n(1253));n(568);var A=p(n(415)),j=p(n(35)),P=p(n(570)),D=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=z(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),L=n(36),O=(n(161),n(163)),R=p(n(1990));function z(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(z=function(e){return e?a:t})(e)}function U(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function F(e){for(var t=1;t{var t,{value:a,metadata:n=[]}=e,r=[],l={};return(0,h.default)(t=(0,m.default)(a)).call(t,(e=>{var t=(0,g.default)(n).call(n,(t=>{var a,{detail:{properties:n={}}={}}=t;return(0,v.default)(a=(0,m.default)(n)).call(a,e)>=0}));if(t){var i,{namespace:o}=t,s=(0,y.default)(i="".concat(o,"--")).call(i,e);r.push(s),l[s]=a[e]}})),{checkedKeys:[],targetKeys:r,values:l,selectedKeysTable:[]}})),(0,j.default)(this,"onValuesChange",(e=>{var t,{onChange:a}=this.props,n={};(0,h.default)(t=(0,m.default)(e)).call(t,(t=>{var a=t.split("--")[1];n[a]=String(e[t])})),a&&a(n)})),(0,j.default)(this,"onInputChange",((e,t)=>{var{key:a}=t,{values:n={}}=this.state,r=e.target?e.target.value:e;n[a]=r,this.setState({values:n}),this.onValuesChange(n)})),(0,j.default)(this,"renderInput",(e=>{var{type:a,defaultValue:n,operators:r,enum:l=[],minimum:i,maximum:o,items:s={}}=e&&e.detail||{};if("boolean"===a){var u=(0,O.getYesNoList)();return D.default.createElement(A.default,{options:u,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if("integer"===a||"number"===a||"string"===a&&0===l.length){var d={defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please input"),required:!0};return void 0!==i&&(d.minimum=i),void 0!==o&&(d.maximum=o),"string"===a?D.default.createElement(T.default,d):("integer"===a&&(d.precision=0,d.formatter=e=>"$ ".concat(e).replace(/\D/g,"")),D.default.createElement(E.default,d))}if(l.length>0){var c=(0,b.default)(l).call(l,(e=>({value:e,label:e})));return D.default.createElement(A.default,{options:c,defaultValue:n,onChange:t=>this.onInputChange(t,e),placeholder:t("Please select")})}if(s.enum){var f={defaultValue:n,items:s,operators:r,onChange:t=>this.onInputChange(t,e)};return D.default.createElement(R.default,f)}return null})),(0,j.default)(this,"flatten",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,h.default)(e).call(e,(e=>{var{children:n=[]}=e;t.push(e),a.flatten(n,t)}))})),(0,j.default)(this,"getTreeData",(()=>{var e=[];return this.flatten(this.metadata,e),e})),(0,j.default)(this,"getTreeDataWithoutFather",(()=>{var e=[];return this.flatten(this.metadata,e),(0,x.default)(e).call(e,(e=>{var t;return(0,v.default)(t=e.key).call(t,"--")>=0}))})),(0,j.default)(this,"getAllTreeKeys",(()=>{var e=this.getTreeData();return(0,b.default)(e).call(e,(e=>e.key))})),(0,j.default)(this,"generateTree",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,b.default)(e).call(e,(e=>{var{children:n}=e,r=(0,N.default)(e,["children"]);return F(F({},r),{},{disabled:(0,w.default)(t).call(t,r.key),children:a.generateTree(n,t)})}))})),(0,j.default)(this,"isChecked",((e,t)=>-1!==(0,v.default)(e).call(e,t))),(0,j.default)(this,"isChildKey",(e=>(0,v.default)(e).call(e,"--")>=0)),(0,j.default)(this,"onCheckTree",(e=>t=>{var a=this.getAllTreeKeys();(0,h.default)(a).call(a,(a=>{var n=(0,v.default)(t).call(t,a)>=0;this.isChildKey(a)&&e(a,n)})),this.setState({checkedKeys:t})})),(0,j.default)(this,"renderTree",(e=>{var{onItemSelect:t,targetKeys:a}=e,{checkedKeys:n}=this.state;return D.default.createElement(I.default,{blockNode:!0,checkable:!0,checkedKeys:n,treeData:this.generateTree(this.metadata,a),onCheck:this.onCheckTree(t)})})),(0,j.default)(this,"renderTable",(e=>{var{filteredItems:t,onItemSelectAll:a,onItemSelect:n,disabled:r}=e,{selectedKeysTable:l}=this.state,i=this,o={getCheckboxProps:e=>({disabled:r||e.disabled}),onSelectAll(e,t){var n=e?(0,b.default)(t).call(t,(e=>e.key)):[];a(e?n:l,e),i.setState({selectedKeysTable:n})},onSelect(e,t){var{key:a}=e;n(a,t);var r=[];r=t?[...l,a]:(0,x.default)(l).call(l,(e=>e!==a)),i.setState({selectedKeysTable:r})},selectedRowKeys:l};return D.default.createElement(S.default,{rowSelection:o,columns:this.columns,dataSource:t,size:"small",pagination:!1,style:{pointerEvents:r?"none":null}})})),(0,j.default)(this,"getChildKeys",(e=>{var t,a=[];return(0,h.default)(t=this.metadata).call(t,(t=>{var n;(0,h.default)(n=t.children||[]).call(n,(t=>{t.namespace===e&&a.push(t.key)}))})),a})),(0,j.default)(this,"getDefaultValue",((e,t)=>{var{type:a,default:n,defaultValue:r,operators:l,enum:i=[],minimum:o,items:s={}}=e||{},{values:u}=this.state;return(0,P.default)(u,t)?u[t]:n||(r||("boolean"===a||("string"===a&&0===i.length?r:"string"===a&&i.length>0?r||i[0]:"integer"===a||"number"===a?r||o||0:i.length>0?i[0]:s.enum?l[0]:null)))})),(0,j.default)(this,"getItemDefaultValue",(e=>{var t,a,n=e.split("--");if(!(n.length<1)){var r=n[0],l=n[1],i=(0,g.default)(t=this.metadata).call(t,(e=>e.key===r));if(i){var o=(0,g.default)(a=i.children).call(a,(e=>e.realKey===l));if(o)return this.getDefaultValue(o.detail||{},e)}}})),(0,j.default)(this,"onTransferChange",((e,t,a)=>{var n=[];(0,h.default)(e).call(e,(e=>{if(e.split("--").length>1)n.push(e);else{var t=this.getChildKeys(e);n.push(...t)}}));var r=(0,k.default)(new C.default(n)),{values:l={}}=this.state,i={};(0,h.default)(r).call(r,(e=>{l[e]?i[e]=l[e]:i[e]=this.getItemDefaultValue(e)}));var{selectedKeysTable:o}=this.state,s="right"===t?[...o,...r]:(0,x.default)(o).call(o,(e=>(0,v.default)(a).call(a,e)<0)),u="right"===t?[]:a;this.setState({targetKeys:r,values:i,selectedKeysTable:s,checkedKeys:u}),this.onValuesChange(i)})),(0,j.default)(this,"onTransferSelectChange",((e,t)=>{this.setState({checkedKeys:e,selectedKeysTable:t})})),(0,j.default)(this,"getTransferSelectedKeys",(()=>{var{checkedKeys:e=[],selectedKeysTable:t=[]}=this.state,a=(0,x.default)(e).call(e,(e=>this.isChildKey(e)));return(0,k.default)(new C.default([...a,...t]))})),(0,j.default)(this,"renderTransferItem",(e=>D.default.createElement(M.default,{title:e.description},e.title||e.display_name))),this.state=this.initState(e)}get metadata(){var e,t=this,{metadata:a}=this.props;return(0,b.default)(e=a||[]).call(e,(e=>{var a,n,r,{detail:{properties:l={}}={},namespace:i,description:o,display_name:s,isObject:u,objName:d}=(0,L.toJS)(e),c=(0,b.default)(a=(0,m.default)(l)).call(a,(e=>{var a,n,r,o,c=(0,L.toJS)(l[e]),f=(0,y.default)(a="".concat(i,"--")).call(a,e),p=F(F({},c),{},{defaultValue:t.getDefaultValue(c,f)}),h=u?(0,y.default)(r=(0,y.default)(o="".concat(s," - ")).call(o,d," > ")).call(r,c.title):(0,y.default)(n="".concat(s," > ")).call(n,c.title),m=D.default.createElement("div",null,D.default.createElement("p",null,h),D.default.createElement("p",null,c.description));return{key:f,namespace:i,realKey:e,title:D.default.createElement(M.default,{title:m},c.title),description:c.description,detail:p}})),f=u?(0,y.default)(n="".concat(s," - ")).call(n,d):s,p=u?(0,y.default)(r="".concat(i,"-")).call(r,d):null,h=u?D.default.createElement("div",null,D.default.createElement("p",null,o),D.default.createElement("p",null,e.objDescription)):null;return{key:p||i,namespace:i,objectNamespace:p,description:h||o,title:D.default.createElement(M.default,{title:h||o},f),children:c}}))}get columns(){return[{dataIndex:"title",title:t("Name")},{dataIndex:"detail",title:t("Value"),render:(e,t)=>this.renderInput(t)}]}render(){var{targetKeys:e}=this.state,t=this.getTreeDataWithoutFather(),a=this.getTransferSelectedKeys();return D.default.createElement(_.default,{onChange:this.onTransferChange,onSelectChange:this.onTransferSelectChange,targetKeys:e,selectedKeys:a,dataSource:t,className:"tree-transfer",render:this.renderTransferItem,showSelectAll:!1},(a=>{var{direction:n,onItemSelect:r,onItemSelectAll:l,filteredItems:i,disabled:o}=a;return"left"===n?this.renderTree({onItemSelect:r,dataSource:t,targetKeys:e}):"right"===n?this.renderTable({filteredItems:i,onItemSelectAll:l,onItemSelect:r,disabled:o}):void 0}))}}a.default=B},1990:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0;var s=o(n(86)),u=o(n(91)),d=o(n(54)),c=o(n(77));n(568);var f=o(n(415)),p=o(n(35)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0));n(161);function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends h.Component{constructor(e){super(e),(0,p.default)(this,"getDefaultOperator",(()=>{var{defaultValue:e,operators:t}=this.props;return(0,s.default)(t).call(t,(t=>0===(0,u.default)(e).call(e,t)))||t[0]})),(0,p.default)(this,"getDefaultEnums",(()=>{var{defaultValue:e}=this.props,t=this.getDefaultOperator(),a=e.split("".concat(t," "));return 2===a.length&&a[1]?a[1].split(","):[]})),(0,p.default)(this,"getOptions",(()=>{var{operators:e=[]}=this.props;return(0,d.default)(e).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"getEnumOptions",(()=>{var e,{items:t={enum:[]}}=this.props;return(0,d.default)(e=t.enum).call(e,(e=>({value:e,label:e})))})),(0,p.default)(this,"onChangeValue",(()=>{var{onChange:e}=this.props;if(e){var t,{operator:a,enums:n}=this.state;e((0,c.default)(t="".concat(a," ")).call(t,n.join(",")))}})),(0,p.default)(this,"onChangeOperator",(e=>{this.setState({operator:e},this.onChangeValue)})),(0,p.default)(this,"onChangeEnum",(e=>{this.setState({enums:e},this.onChangeValue)})),this.state={operator:this.getDefaultOperator(e),enums:this.getDefaultEnums(e)}}render(){var e=this.getOptions(),a=this.getEnumOptions(),n=this.getDefaultOperator(),r=this.getDefaultEnums();return h.default.createElement("div",null,h.default.createElement(f.default,{options:e,defaultValue:n,onChange:this.onChangeOperator,placeholder:t("Please select")}),h.default.createElement(f.default,{options:a,mode:"tags",defaultValue:r,onChange:this.onChangeEnum,placeholder:t("Please select")}))}}a.default=g},1991:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkSelectTable=void 0;var h=p(n(29)),m=p(n(91)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(233),k=n(342),C=n(571),_=n(163),M=n(567);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function I(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class N extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t,a=(0,C.networkColumns)(this);a[0].render=null;var{key:n}=e;return"project"===n?(0,h.default)(a).call(a,(e=>"project_id"!==e.dataIndex)):(0,m.default)(t=["shared","router:external"]).call(t,n)>=0?(0,h.default)(a).call(a,(e=>e.dataIndex!==n)):a})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getNetworkFilters",(e=>{var{key:a}=e,n=[{label:t("Name"),name:"name"}];return"shared"!==a&&n.push({label:t("Shared"),name:"shared",options:k.yesNoOptions}),this.showExternal&&"external"!==a&&n.push({label:t("External Network"),name:"router:external",options:k.yesNoOptions}),"project"!==a&&n.push({label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]}),n})),(0,v.default)(this,"getNetworkExtraParams",(e=>{var{key:t}=e;return"project"===t?{project_id:this.currentProjectId}:"shared"===t?{shared:!0}:"external"===t?{"router:external":!0}:{}})),this.stores={project:new w.NetworkStore,shared:new w.NetworkStore,external:new w.NetworkStore,all:new w.NetworkStore}}get location(){var{location:e={}}=(this.props.rootStore||{}).routing||{};return e}get isAdminPage(){var{pathname:e}=this.location;return(0,_.isAdminPage)(e)}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Current Project Networks"),key:"project"},{title:t("Shared Networks"),key:"shared"}];return this.showExternal&&e.push({title:t("External Networks"),key:"external"}),this.hasAdminRole&&e.push({title:t("All Networks"),key:"all"}),(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,M.getPath)({key:n,params:t,query:a})}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(){return this.props.disabledFunc}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.NetworkSelectTable=N;var E=(0,b.inject)("rootStore")((0,b.observer)(N));a.default=E},1995:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(162),p=n(21);c(a,"__esModule",{value:!0}),a.default=a.VolumeSelectTable=void 0;var h=p(n(29)),m=p(n(86)),g=p(n(28)),v=p(n(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=c&&o;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var i=r?o(e,l):null;i&&(i.get||i.set)?c(n,l,i):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(n(0)),b=n(412),x=p(n(1448)),w=n(414),k=n(566);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function _(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}class M extends y.Component{constructor(e){super(e),(0,v.default)(this,"getSelectTableProps",(e=>function(e){for(var t=1;t{var t=k.volumeColumns,{key:a}=e;return"available"===a?(0,h.default)(t).call(t,(e=>"status"!==e.dataIndex&&"attachments"!==e.dataIndex)):"shared"===a?(0,h.default)(t).call(t,(e=>"multiattach"!==e.dataIndex)):t})),(0,v.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,v.default)(this,"getVolumeFilters",(e=>{var{key:t}=e,a=[...k.volumeFilters];return"shared"===t?(0,h.default)(a).call(a,(e=>"multiattach"!==e.name)):"available"===t?(0,h.default)(a).call(a,(e=>"status"!==e.name)):a})),(0,v.default)(this,"getVolumeExtraParams",(e=>{var{key:t}=e;return"shared"===t?{multiattach:!0}:"available"===t?{status:"available"}:{}})),(0,v.default)(this,"disallowedMultiAttach",(e=>{var{attachments:t=[]}=e,{serverId:a}=this.props;return!!(0,m.default)(t).call(t,(e=>e.server_id===a))})),this.stores={available:new w.VolumeStore,shared:new w.VolumeStore}}get currentProjectId(){return this.props.rootStore.projectId}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get showExternal(){var{showExternal:e=!1}=this.props;return e}get networkTabs(){var e=[{title:t("Available"),key:"available"},{title:t("Shared"),key:"shared"}];return(0,g.default)(e).call(e,(e=>{e.props=this.getSelectTableProps(e)})),e}get labelStyle(){return{marginRight:16}}getStore(e){var{key:t}=e;return this.stores[t]}getDisabledFunc(e){if("available"===e.key){var{disabledFunc:t=null}=this.props;return t}return this.disallowedMultiAttach}render(){var{isMulti:e=!1,header:t,value:a}=this.props;return y.default.createElement(x.default,{tabs:this.networkTabs,onChange:this.onChange,isMulti:e,header:t,value:a})}}a.VolumeSelectTable=M;var S=(0,b.inject)("rootStore")((0,b.observer)(M));a.default=S},1996:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=void 0,n(1997);var s=o(n(2e3)),u=o(n(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=f(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),c=(n(161),o(n(16)));function f(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(f=function(e){return e?a:t})(e)}class p extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),(0,u.default)(this,"getValue",(()=>{var{value:e,isWrappedValue:t}=this.props;return void 0===e?e:t?e.value:e}))}render(){var{treeData:e,placeholder:a=t("Please select"),disabled:n=!1}=this.props;return d.default.createElement(s.default,{className:this.props.className,showSearch:!0,allowClear:!0,placeholder:a,treeData:e,disabled:n,value:this.getValue(),onChange:this.onChange})}}a.default=p,p.propTypes={value:c.default.oneOfType([c.default.array,c.default.string]),isWrappedValue:c.default.bool,treeData:c.default.array,onChange:c.default.func}},2001:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(568);var o=i(a(415)),s=i(a(35)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=d(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0));a(161);function d(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(d=function(e){return e?a:t})(e)}class c extends u.Component{constructor(e){super(e),(0,s.default)(this,"onChange",(e=>{this.setState({value:e,inputVal:void 0},(()=>{var{formRef:t,onChange:a,name:n}=this.props;t.current&&t.current.setFieldsValue({[n]:e}),a&&a(e)}))})),(0,s.default)(this,"onSearch",(e=>{e&&this.setState({inputVal:e})})),(0,s.default)(this,"onBlur",(()=>{var{inputVal:e}=this.state;e&&this.onChange(e)})),this.state={value:void 0,inputVal:void 0}}render(){var{options:e=[],filterOption:t=!1}=this.props,{value:a}=this.state;return u.default.createElement(o.default,{showSearch:!0,value:a,style:{width:"100%",height:"100%"},onChange:this.onChange,onSearch:this.onSearch,onBlur:this.onBlur,filterOption:t,onFocus:this.onFocusSelect,showArrow:!1,options:e,getPopupContainer:()=>document.body})}}t.default=c},2002:function(e,t,a){"use strict";var n=a(32),r=a(42),l=a(29),i=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(162),f=a(21);d(t,"__esModule",{value:!0}),t.default=k;var p=f(a(77)),h=f(a(164));a(569);var m=f(a(1253));a(568);var g=f(a(415)),v=f(a(35)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var n={},r=d&&i;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var o=r?i(e,l):null;o&&(o.get||o.set)?d(n,l,o):n[l]=e[l]}n.default=e,a&&a.set(e,n);return n}(a(0)),b=(a(161),a(2003));function x(e){if("function"!=typeof c)return null;var t=new c,a=new c;return(x=function(e){return e?a:t})(e)}function w(e,t){var a=n(e);if(r){var o=r(e);t&&(o=l(o).call(o,(function(t){return i(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){var{value:t,options:a,onChange:n}=e,[r,l]=(0,y.useState)(t.split(" ")[0]),[c,f]=(0,y.useState)(t.split(" ")[1]);(0,y.useEffect)((()=>{var[e,a]=t.split(" ");e===r&&a===c||(l(e),f(a))}),[t]);var b=e=>{var t,a=function(e){for(var t=1;t{l(e),b({prefix:e})},style:{width:"50%"},options:a,filterOption:(e,t)=>{var a;return(0,h.default)(a=t.label.toLowerCase()).call(a,e.toLowerCase())},getPopupContainer:()=>document.body}),y.default.createElement(m.default,{value:c,onChange:e=>{var t=e.target.value;f(t),b({number:t})},style:{width:"50%"}}))}k.defaultProps={value:"+86 ",options:b.defaultCountries}},2003:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.defaultCountries=void 0;var i,o=l(n(54)),s=l(n(32)),u=l(n(77)),d={1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],240:["GQ"],241:["GA"],242:["CG"],244:["AO"],245:["GW"],246:["IO"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],385:["HR"],386:["SI"],387:["BA"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],685:["WS"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},c={CN:t("China"),TW:t("Taiwan"),HK:t("Hong Kong"),MO:t("Macau"),KR:t("South Korea"),JP:t("Japan"),MY:t("Malaysia"),SG:t("Singapore"),NZ:t("New Zealand"),AU:t("Australia"),US:t("United States"),CA:t("Canada"),VN:t("Vietnam"),IN:t("India"),ID:t("Indonesia"),TH:t("Thailand"),PH:t("Philippines"),DK:t("Denmark"),FI:t("Finland"),FR:t("France"),DE:t("Germany"),GR:t("Greece"),IE:t("Ireland"),IL:t("Israel"),IT:t("Italy"),MX:t("Mexico"),NL:t("Netherlands"),NO:t("Norway"),PT:t("Portugal"),RU:t("Russia"),ZA:t("South Africa"),ES:t("Spain"),SE:t("Sweden"),CH:t("Switzerland"),BE:t("Belgium"),GB:t("United Kingdom"),AR:t("Argentina"),BR:t("Brazil"),KH:t("Kampuchea"),LTU:t("Lithuania"),LK:t("Sri Lanka"),NG:t("Nigeria"),AF:t("Afghanistan"),AL:t("Albania"),DZ:t("Algeria"),AS:t("American Samoa"),AD:t("Andorra"),AG:t("Antigua and Barbuda"),AM:t("Armenia"),AT:t("Austria"),BS:t("Bahamas"),BH:t("Bahrain"),BD:t("Bangladesh"),BY:t("Belarus"),BM:t("Bermuda"),BA:t("Bosnia and Herzegovina"),IO:t("British Indian Ocean Territory"),BF:t("Burkina Faso"),CF:t("Central African Republic"),TD:t("Chad"),CX:t("Christmas Island"),CC:t("Cocos (Keeling) Islands"),CO:t("Colombia"),CG:t("Republic of the Congo"),ZR:t("Democratic Republic of the Congo"),CR:t("Costa Rica"),CI:t("Cote D'Ivoire"),CU:t("Cuba"),CZ:t("Czech Republic"),GQ:t("Equatorial Guinea"),EE:t("Estonia"),FK:t("Falkland Islands (Malvinas)"),PF:t("French Polynesia"),GA:t("Gabon"),GP:t("Guadeloupe"),GW:t("Guinea Bissau"),GY:t("Guyana"),HN:t("Honduras"),HU:t("Hungary"),JO:t("Jordan"),KZ:t("Kazakhstan"),KE:t("Kenya"),KW:t("Kuwait"),KG:t("Kyrgyzstan"),LS:t("Lesotho"),MG:t("Madagascar"),MV:t("Maldives"),YT:t("Mayotte"),FM:t("Micronesia"),MC:t("Monaco"),MN:t("Mongolia"),MNE:t("Montenegro"),MS:t("Montserrat"),MM:t("Myanmar"),NR:t("Nauru"),NP:t("Nepal"),AN:t("Netherlands Antilles"),NC:t("New Caledonia"),NI:t("Nicaragua"),NF:t("Norfolk Island"),KP:t("North Korea"),MP:t("Northern Mariana Islands"),OM:t("Oman"),PK:t("Pakistan"),PW:t("Palau"),PA:t("Panama"),PG:t("Papua New Guinea"),PN:t("Pitcairn"),PL:t("Poland"),PR:t("Puerto Rico"),QA:t("Qatar"),RE:t("Reunion"),VCT:t("Saint Vincent and the Grenadines"),STP:t("Sao Tome and Principe"),SA:t("Saudi Arabia"),SRB:t("Serbia"),SC:t("Seychelles"),SK:t("Slovakia (Slovak Republic)"),SI:t("Slovenia"),SZ:t("Swaziland"),TJ:t("Tajikistan"),KNA:t("The Federation of Saint Kitts and Nevis"),ABH:t("the Republic of Abkhazia"),MKD:t("The Republic of Macedonia"),SSD:t("The Republic of South Sudan"),TN:t("Tunisia"),TM:t("Turkmenistan"),TV:t("Tuvalu"),UG:t("Uganda"),UA:t("Ukraine"),AE:t("United Arab Emirates"),UY:t("Uruguay"),UZ:t("Uzbekistan"),VA:t("Vatican City State (Holy See)"),WF:t("Wallis And Futuna Islands"),EH:t("Western Sahara"),YU:t("Yugoslavia"),ZM:t("Zambia"),AO:t("Angola"),AI:t("Anguilla"),AW:t("Aruba"),AZ:t("Azerbaijan"),BB:t("Barbados"),BZ:t("Belize"),BJ:t("Benin"),BT:t("Bhutan"),BO:t("Bolivia"),BW:t("Botswana"),BN:t("Brunei Darussalam"),BG:t("Bulgaria"),BI:t("Burundi"),CM:t("Cameroon"),CV:t("Cape Verde"),KY:t("Cayman Islands"),CL:t("Chile"),KM:t("Comoros"),CK:t("Cook Islands"),HR:t("Croatia (local name: Hrvatska)"),CY:t("Cyprus"),DJ:t("Djibouti"),DM:t("Dominica"),TP:t("East Timor"),EC:t("Ecuador"),EG:t("Egypt"),SV:t("El Salvador"),ER:t("Eritrea"),ET:t("Ethiopia"),FO:t("Faroe Islands"),FJ:t("Fiji"),GF:t("French Guiana"),GM:t("Gambia"),GE:t("Georgia"),GH:t("Ghana"),GI:t("Gibraltar"),GL:t("Greenland"),GD:t("Grenada"),GU:t("Guam"),GT:t("Guatemala"),GN:t("Guinea"),HT:t("Haiti"),IS:t("Iceland"),IR:t("Iran (Islamic Republic of)"),IQ:t("Iraq"),JM:t("Jamaica"),LAO:t("Lao People's Democratic Republic"),LV:t("Latvia"),LB:t("Lebanon"),LR:t("Liberia"),LY:t("Libyan Arab Jamahiriya"),LI:t("Liechtenstein"),LU:t("Luxembourg"),MW:t("Malawi"),ML:t("Mali"),MT:t("Malta"),MH:t("Marshall Islands"),MQ:t("Martinique"),MR:t("Mauritania"),MU:t("Mauritius"),MD:t("Moldova"),MA:t("Morocco"),MZ:t("Mozambique"),NA:t("Namibia"),NE:t("Niger"),PS:t("Palestine"),PY:t("Paraguay"),PE:t("Peru"),RO:t("Romania"),RW:t("Rwanda"),WS:t("Samoa"),SM:t("San Marino"),SN:t("Senegal"),SL:t("Sierra Leone"),SB:t("Solomon Islands"),SO:t("Somalia"),SD:t("Sudan"),SR:t("Suriname"),SY:t("Syrian Arab Republic"),TZ:t("Tanzania"),TG:t("Togo"),TK:t("Tokelau"),TO:t("Tonga"),TT:t("Trinidad and Tobago"),TR:t("Turkey"),TC:t("Turks and Caicos Islands"),VU:t("Vanuatu"),VE:t("Venezuela"),VI:t("Virgin Islands (U.S.)"),YE:t("Yemen"),ZW:t("Zimbabwe")},f=(0,o.default)(i=(0,s.default)(d)).call(i,(e=>{var t,a;return{label:(0,u.default)(t="+".concat(e," ")).call(t,(0,o.default)(a=d[e]).call(a,(e=>c[e])).join(",")),value:"+".concat(e)}}));a.defaultCountries=f},2019:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,r,l,p,h,{used:m=0,add:g=0,reserved:v=0,limit:y=1,title:b="",secondTitle:x=t("Quota")}=e,w=-1!==y,k=w?y:t("Infinity"),C=w?y-m-v-g:1;C=C<0?0:C;var _=(0,s.default)(a="".concat(t("Used"),": ")).call(a,m),M=v?(0,s.default)(n="".concat(t("Reserved"),": ")).call(n,v):"",S=(0,s.default)(r="".concat(t("New"),": ")).call(r,g),I=(0,s.default)(l="".concat(t("Left"),": ")).call(l,C),N=w?[_,S,I]:[_,S];v&&(0,u.default)(N).call(N,1,0,M);var E=N.join(" / "),T=m+v+g,A=(0,d.default)(T/y*100,10),j=(0,d.default)((m+v)/y*100,10),P=(0,f.getUsedValueColor)(A),D=c.default.createElement("span",null,(0,s.default)(p="".concat(b," ")).call(p,x,": ")," ",c.default.createElement("span",{style:{color:P}},(0,s.default)(h="".concat(T,"/")).call(h,k))),L=w?c.default.createElement(o.default,{percent:A,success:{percent:j,strokeColor:f.typeColors.used},strokeColor:f.typeColors.add,showInfo:!1}):c.default.createElement(o.default,{percent:0,showInfo:!1});return c.default.createElement("div",{style:{width:150}},c.default.createElement("div",{style:{fontWeight:"bold",textAlign:"center"}},D),c.default.createElement(i.default,{title:E},L))},n(344);var i=l(n(202));n(1271);var o=l(n(1272)),s=l(n(77)),u=l(n(573)),d=l(n(234)),c=l(n(0)),f=(n(161),n(1449))},2020:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=function(e){var a,n,{reserved:r=0,title:l="",secondTitle:c=t("Quota")}=e,f=(0,o.default)(a=(0,o.default)(n="".concat(l," ")).call(n,c,": ")).call(a,t("Unlimit")),p=[{dataIndex:"used",title:t("Used"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.used}},e||"-")},{dataIndex:"add",title:t("New"),align:"center",render:e=>u.default.createElement("span",{style:{color:d.typeColors.add}},e||"-")}];r&&(0,s.default)(p).call(p,1,0,{dataIndex:"reserved",title:t("Reserved"),align:"center"});return u.default.createElement("div",null,u.default.createElement(i.default,{columns:p,dataSource:[e],pagination:!1,title:()=>f,bordered:!0,size:"small"}))},n(585);var i=l(n(587)),o=l(n(77)),s=l(n(573)),u=l(n(0)),d=(n(161),n(1449))},2021:function(e,t,a){var n=a(2022);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2022:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1yn9F {\n position: relative;\n height: 100%;\n padding-top: 16px;\n background-color: #fff;\n}\n.index__wrapper--1yn9F .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--1yn9F .ant-spin-container {\n height: 100%;\n}\n.index__wrapper-page-padding--2lbhS {\n padding-top: 0;\n}\n.index__form--3rBuv {\n height: calc(100% - 48px);\n margin-right: 32px;\n margin-left: 32px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3rBuv .ant-form-item-label > label {\n margin-left: 12px;\n}\n.index__form--3rBuv .ant-form-item-label > .ant-form-item-required {\n margin-left: 0;\n}\n.index__form--3rBuv .ant-form-item-label {\n white-space: break-spaces;\n}\n.index__footer--3IW56 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--1iSOL {\n float: right;\n margin-right: 32px;\n}\n.index__btns--1iSOL button {\n margin-left: 8px;\n}\n.form-item-text {\n margin-bottom: 0;\n}\n.form-item-divider {\n width: 98% !important;\n min-width: 90% !important;\n margin-right: auto;\n margin-left: auto;\n}\n.ant-radio-button-wrapper {\n color: rgba(0, 0, 0, 0.65);\n}\n.ant-radio-button-wrapper-disabled {\n color: rgba(0, 0, 0, 0.25);\n}\n.index__tips--1sDt0 {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: 16px;\n padding: 8px 16px;\n word-break: break-word;\n background: rgba(0, 0, 0, 0.15);\n}\n.index__tips-icon--2QJ8G {\n margin-top: 2px;\n margin-right: 4px;\n color: #0068ff;\n}\n.index__footer-left--2zaZk {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: left;\n -ms-flex-pack: left;\n justify-content: left;\n float: left;\n height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__submit-tip--2ljzW {\n display: inline-block;\n font-size: 16px;\n}\n.index__progress-wrapper--1uQV2 {\n width: 170px;\n}\n.index__right-top-extra-wrapper---wJzs {\n position: absolute;\n top: 0;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper---wJzs .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n.index__modal-right-extra-wrapper--2_yIQ {\n border-left: solid 2px #f2f2f2;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1yn9F","wrapper-page-padding":"index__wrapper-page-padding--2lbhS",form:"index__form--3rBuv",footer:"index__footer--3IW56",btns:"index__btns--1iSOL",tips:"index__tips--1sDt0","tips-icon":"index__tips-icon--2QJ8G","footer-left":"index__footer-left--2zaZk","submit-tip":"index__submit-tip--2ljzW","progress-wrapper":"index__progress-wrapper--1uQV2","right-top-extra-wrapper":"index__right-top-extra-wrapper---wJzs","modal-right-extra-wrapper":"index__modal-right-extra-wrapper--2_yIQ"}},2023:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(63)),i=r(a(35)),o=r(a(2024));class s extends o.default{static get allowed(){return l.default.resolve()}get hasConfirmStep(){return!0}}t.default=s,(0,i.default)(s,"actionType","link"),(0,i.default)(s,"buttonType","primary"),(0,i.default)(s,"isDanger",!1),(0,i.default)(s,"id","step-action"),(0,i.default)(s,"title","StepAction"),(0,i.default)(s,"path","/"),(0,i.default)(s,"policy",""),(0,i.default)(s,"aliasPolicy","")},2024:function(e,a,n){"use strict";var r=n(32),l=n(42),i=n(29),o=n(25),s=n(28),u=n(44),d=n(45),c=n(20),f=n(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(n(63)),h=f(n(203)),m=f(n(1252)),g=f(n(54)),v=f(n(77)),y=f(n(345));n(347);var b=f(n(348));n(2025);var x=f(n(2028));n(231);var w=f(n(341)),k=f(n(35)),C=f(n(177)),_=f(n(1350)),M=f(n(0)),S=f(n(1270)),I=(n(161),f(n(4))),N=n(163),E=n(349),T=f(n(1351)),A=f(n(1563)),j=f(n(1566)),P=n(567),D=f(n(2047));function L(e,t){var a=r(e);if(l){var n=l(e);t&&(n=i(n).call(n,(function(t){return o(e,t).enumerable}))),a.push.apply(a,n)}return a}function O(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),(0,k.default)(this,"onSubmit",(e=>p.default.resolve())),(0,k.default)(this,"onOk",(()=>{var{data:e}=this.state;this.values=e;var t=this.getSubmitData(e);this.onSubmit(t).then((()=>{this.routing.push(this.listUrl),S.default.success(this.successText)}),(e=>{this.responseError=e;var{response:{data:t}={}}=e;S.default.errorWithDetail(t,this.errorText)}))})),(0,k.default)(this,"onCancel",(()=>{})),(0,k.default)(this,"onClickSubmit",(()=>{this.hasConfirmStep?this.onOk():this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e,this.onOk)}))})),(0,k.default)(this,"onClickCancel",(()=>{this.routing.push(this.listUrl)})),(0,k.default)(this,"updateDataOnPrev",(e=>{this.updateData(e,(()=>{this.setState((e=>({current:e.current-1})))}))})),(0,k.default)(this,"updateData",((e,t)=>{var{data:a}=this.state;this.setState({data:O(O({},a),e)},(()=>{t&&t()}))})),(0,k.default)(this,"unescape",(e=>(0,N.unescapeHtml)(e))),(0,k.default)(this,"goStep",(e=>{this.setState({current:e})})),this.options=t,this.state={formTemplate:(0,_.default)(this.formTemplate),current:0,data:{}},this.values={},this.setFormRefs(),this.init()}componentDidMount(){}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions()}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get hasConfirmStep(){return!1}get name(){return""}get title(){return"".concat(this.name,"s")}get className(){return""}get prefix(){return this.props.match.url}get routing(){return this.props.rootStore.routing}get location(){return this.props.location||{}}get locationParams(){var e;return(0,E.parse)((0,h.default)(e=this.location.search).call(e,1))}get match(){return this.props.match||{}}get listUrl(){return""}get checkEndpoint(){return!1}get endpoint(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get currentProjectId(){return this.props.rootStore.projectId}get labelCol(){return{xs:{span:4},sm:{span:2}}}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get steps(){return[]}get formTemplate(){return{}}get okBtnText(){return t("Confirm")}get instanceName(){var{name:e}=(0,m.default)(this)||{};return e}get successText(){return this.instanceName?(0,N.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName})):(0,N.firstUpperCase)(t("{action} successfully.",{action:this.name.toLowerCase()}))}get errorText(){return this.instanceName?t("Unable to {action}, instance: {name}.",{action:this.name.toLowerCase(),name:this.instanceName}):t("Unable to {action}.",{action:this.name.toLowerCase()})}get isSubmitting(){return this.store&&this.store.isSubmitting||!1}get isLoading(){return!(!this.hasExtraProps||!(0,C.default)(this.state.extra))}get currentComponent(){var{current:e}=this.state;return this.steps[e].component}get currentRef(){var{current:e}=this.state;return this.formRefs[e]}get isAdminPage(){return this.props.isAdminPage||!1}get hasExtraProps(){return!1}get showQuota(){return!1}get quotaInfo(){return null}get disableNext(){return!1}get disableSubmit(){return!1}setFormRefs(){var e;this.formRefs=(0,g.default)(e=this.steps).call(e,(()=>M.default.createRef()))}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,P.getPath)({key:n,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.getRouteName(e);return(0,P.getLinkRender)({key:r,params:a,query:n,value:t})}getPrevBtn(){var e,{current:a}=this.state;if(0===a)return null;var n=this.steps[a-1].title;return M.default.createElement(w.default,{style:{margin:"0 8px"},onClick:()=>this.prev()},(0,v.default)(e="".concat(t("Previous"),": ")).call(e,n))}getNextBtn(){var e,{current:a}=this.state;if(a>=this.steps.length-1)return null;var{title:n}=this.steps[a+1];return M.default.createElement(w.default,{type:"primary",onClick:()=>this.next(),disabled:this.disableNext},(0,v.default)(e="".concat(t("Next"),": ")).call(e,n))}getSubmitData(e){return O({},e)}prev(){this.currentRef.current.wrappedInstance.checkFormInput(this.updateDataOnPrev,this.updateDataOnPrev)}next(){this.currentRef.current.wrappedInstance.checkFormInput((e=>{this.updateData(e),this.setState((e=>({current:e.current+1})))}))}init(){this.store={}}renderFooterLeft(){return null}renderFooter(){var{current:e}=this.state;return M.default.createElement("div",{className:D.default.footer},M.default.createElement("div",{className:(0,I.default)(D.default["footer-left"],this.footerStyle,"step-form-footer-left")},this.renderFooterLeft()),M.default.createElement("div",{className:(0,I.default)(D.default.btns,"step-form-footer-btns")},M.default.createElement(w.default,{className:D.default.cancel,onClick:this.onClickCancel},t("Cancel")),this.getPrevBtn(),this.getNextBtn(),e===this.steps.length-1&&M.default.createElement(w.default,{type:"primary",onClick:this.onClickSubmit,disabled:this.disableSubmit},t("Confirm"))))}renderForms(){var e=this.currentComponent,{data:t,extra:a}=this.state;return this.hasExtraProps&&(0,C.default)(a)?null:M.default.createElement(e,{ref:this.currentRef,context:t,extra:a,updateContext:this.updateData,goStep:this.goStep,isAdminPage:this.isAdminPage,match:this.match,location:this.location})}renderSteps(){var e,{current:t}=this.state,{Step:a}=x.default;return M.default.createElement("div",null,M.default.createElement("div",{className:D.default.step},M.default.createElement(x.default,{current:t},(0,g.default)(e=this.steps).call(e,(e=>M.default.createElement(a,{key:e.title,title:e.title}))))),M.default.createElement("div",{className:D.default.form},this.renderForms()))}renderQuota(){if(!this.showQuota)return null;var e={};return this.quotaInfo&&this.quotaInfo.length?e={loading:!1,quotas:this.quotaInfo}:e.loading=!0,M.default.createElement(j.default,e)}renderRightTopExtra(){var e=this.renderQuota();if(!e)return null;var t=(0,y.default)(this.quotaInfo);return M.default.createElement("div",{className:D.default["right-top-extra-wrapper"]},M.default.createElement(A.default,{content:e,checkValue:t}))}render(){return this.endpointError?M.default.createElement(T.default,{title:this.name,link:this.listUrl,endpointError:!0,goList:!0,isAction:!0}):M.default.createElement("div",{className:(0,I.default)(D.default.wrapper,this.className)},M.default.createElement(b.default,{spinning:this.isLoading||this.isSubmitting},this.renderSteps(),this.renderRightTopExtra(),this.renderFooter()))}}a.default=R},2044:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/empty-card.1733828928.svg"},2045:function(e,t,a){var n=a(2046);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2046:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--1T6e5 {\n margin-top: 100px;\n text-align: center;\n border-radius: 4px;\n}\n.index__image--3dfS6 {\n height: 200px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 {\n display: inline-block;\n width: 600px;\n margin-left: 60px;\n vertical-align: top;\n}\n.index__text--2xlf7 .h1 {\n color: #abb4be;\n font-size: 120px;\n line-height: 1.4;\n text-align: left;\n opacity: 0.4;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.index__text--2xlf7 p {\n color: #5f708a;\n font-weight: 600;\n font-size: 20px;\n line-height: 1.4;\n text-align: left;\n text-shadow: 0 4px 8px rgba(36, 46, 66, 0.1);\n}\n.index__text--2xlf7 a {\n color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--1T6e5",image:"index__image--3dfS6",text:"index__text--2xlf7"}},2047:function(e,t,a){var n=a(2048);"string"==typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:undefined,insertInto:void 0};a(65)(n,r);n.locals&&(e.exports=n.locals)},2048:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3YpmJ {\n position: relative;\n height: 100%;\n overflow: hidden;\n border-top: 1px solid #f0f0f0;\n}\n.index__wrapper--3YpmJ .ant-spin-nested-loading {\n height: 100%;\n}\n.index__wrapper--3YpmJ .ant-spin-container {\n height: 100%;\n}\n.index__step--3Meey {\n height: 80px;\n margin-bottom: 16px;\n padding-top: 24px;\n padding-right: 56px;\n padding-left: 56px;\n background: #fff;\n}\n.index__form--3Sbom {\n height: 100%;\n min-height: calc(100vh - 280px);\n padding-top: 16px;\n overflow-y: auto;\n background-color: #fff;\n}\n.index__form--3Sbom .sl-form {\n height: calc(100vh - 219px);\n padding-bottom: 48px;\n}\n.index__footer--32Ya5 {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n min-height: 48px;\n background-color: #fff;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.09);\n}\n.index__btns--2ujTQ {\n float: right;\n min-width: 200px;\n margin-right: 32px;\n}\n.index__btns--2ujTQ button {\n margin-left: 8px;\n}\n.index__footer-left--KbV3J {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n justify-items: left;\n float: left;\n min-height: 48px;\n margin-left: 16px;\n color: #484848;\n}\n.index__right-top-extra-wrapper--55yRM {\n position: absolute;\n top: 95px;\n right: 30px;\n z-index: 100;\n background-color: #fff;\n border-radius: 5px;\n -webkit-box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.2);\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head {\n min-width: 32px;\n}\n.index__right-top-extra-wrapper--55yRM .ant-card-head .ant-card-extra {\n padding: 8px 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3YpmJ",step:"index__step--3Meey",form:"index__form--3Sbom",footer:"index__footer--32Ya5",btns:"index__btns--2ujTQ","footer-left":"index__footer-left--KbV3J","right-top-extra-wrapper":"index__right-top-extra-wrapper--55yRM"}},2049:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=void 0;var i=l(n(54)),o=l(n(63)),s=l(n(1277)),u=l(n(28)),d=l(n(49)),c=l(n(35)),f=l(n(92)),p=l(n(0)),h=n(163);class m{constructor(e){var a=this;(0,c.default)(this,"policy",""),(0,c.default)(this,"aliasPolicy",""),(0,c.default)(this,"unescape",(e=>(0,h.unescapeHtml)(e))),(0,c.default)(this,"getItemId",(e=>e.id)),(0,c.default)(this,"getItemName",(e=>e.name||"- (".concat(this.getItemId(e),")"))),(0,c.default)(this,"getName",(e=>(0,f.default)(e)?(0,i.default)(e).call(e,(e=>this.getItemName(e))).join(", "):this.getItemName(e))),(0,c.default)(this,"allowedCheckFunc",(e=>!0)),(0,c.default)(this,"allowed",(e=>(0,f.default)(e)?o.default.all((0,i.default)(e).call(e,(e=>o.default.resolve(this.allowedCheckFunc(e))))):o.default.resolve(this.allowedCheckFunc(e)))),(0,c.default)(this,"confirmContext",(e=>{if(!this.messageHasItemName)return t("Are you sure to {action}?",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"submitSuccessMsg",(e=>{var a=this.getName(e);return this.isAsyncAction?this.messageHasItemName?(0,h.firstUpperCase)(t("The {action} instruction has been issued, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("The {action} instruction has been issued. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.actionNameDisplay||this.title})):this.messageHasItemName?(0,h.firstUpperCase)(t("{action} successfully, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})):(0,h.firstUpperCase)(t("{action} successfully.",{action:this.actionNameDisplay||this.title}))})),(0,c.default)(this,"performErrorMsg",((e,a)=>{if(a){if(!this.messageHasItemName)return"";var n=this.getName(e);return t("instance: {name}.",{name:n})}if(!this.messageHasItemName)return t("You are not allowed to {action}.",{action:this.actionNameDisplay||this.title});var r=this.getName(e);return t("You are not allowed to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:r})})),(0,c.default)(this,"submitErrorMsg",(e=>{if(!this.messageHasItemName)return t("Unable to {action}.",{action:this.actionNameDisplay||this.title});var a=this.getName(e);return t("Unable to {action}, instance: {name}.",{action:this.actionNameDisplay||this.title,name:a})})),(0,c.default)(this,"onSubmit",(e=>o.default.resolve())),(0,c.default)(this,"perform",function(){var e=(0,d.default)((function*(e){if((0,f.default)(e)&&0===e.length)return o.default.reject(t("Please select item!"));var n=yield a.allowed(e);if((0,f.default)(e)){var r=(0,f.default)(e)?e:[e];if((0,s.default)(n).call(n,(e=>!!e)))return o.default.resolve(!0);var l=[];(0,u.default)(n).call(n,((e,t)=>{e||l.push(r[t])}));var i=a.unescape(a.performErrorMsg(l,!0)),d=a.getBatchPerformTitle(),c=p.default.createElement("div",null,d&&p.default.createElement("p",null,d),p.default.createElement("p",null,i));return o.default.reject(c)}if(n)return o.default.resolve(!0);var h=a.performErrorMsg(e);return o.default.reject(h)}));return function(t){return e.apply(this,arguments)}}());var{item:n,containerProps:r}=e;n&&(this.item=n),r&&(this.containerProps=r)}get id(){return"id"}get actionType(){return"confirm"}get actionName(){return""}get actionNameDisplay(){return this.actionName.toLowerCase()}get passiveAction(){return t("be deleted")}get title(){return t("Delete")}get buttonType(){return"default"}get isDanger(){return!1}get buttonText(){return""}get okText(){return t("Confirm")}get cancelText(){return t("Cancel")}get isAdminPage(){var{isAdminPage:e=!1}=this.containerProps||{};return e}get isAsyncAction(){return!1}get messageHasItemName(){return!0}getBatchPerformTitle(){return this.messageHasItemName?t("There are resources that cannot {action} in the selected resources, such as:",{action:this.passiveAction.toLowerCase()}):t("There are resources that cannot {action} in the selected resources.",{action:this.passiveAction.toLowerCase()})}}a.default=m,(0,c.default)(m,"actionType","confirm")},2050:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.GlobalHeaderRight=void 0,n(1246);var s=o(n(1247));n(1244);var u=o(n(1245));n(231);var d=o(n(341)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),f=n(412),p=(n(161),o(n(2051))),h=o(n(1346));function m(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(m=function(e){return e?a:t})(e)}class g extends c.Component{get isAdminPage(){var{isAdminPage:e=!1}=this.props;return e}get isUserCenterPage(){var{isUserCenterPage:e=!1}=this.props;return e}renderConsole(){return this.isAdminPage||this.isUserCenterPage?c.default.createElement(d.default,{type:"link",href:"/base/overview",className:h.default["single-link"]},t("Console")):null}renderAdministrator(){var{rootStore:{hasAdminPageRole:e=!1}={}}=this.props;return!e||this.isAdminPage?null:c.default.createElement(d.default,{type:"link",href:"/base/overview-admin",className:h.default["single-link"]},t("Administrator"))}renderExtra(){return null}renderExtraLink(){return null}render(){return c.default.createElement("div",{className:h.default.right},c.default.createElement(s.default,{justify:"space-between",align:"middle",gutter:10},c.default.createElement(u.default,null,this.renderExtraLink(),this.renderConsole(),this.renderAdministrator()),this.renderExtra(),c.default.createElement(u.default,null,c.default.createElement(p.default,{menu:!0}))))}}a.GlobalHeaderRight=g;var v=(0,f.inject)("rootStore")((0,f.observer)(g));a.default=v},2051:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.AvatarDropdown=void 0;var i=l(n(54)),o=l(n(77)),s=l(n(1348));n(347);var u=l(n(348));n(1276);var d=l(n(421));n(231);var c=l(n(341));n(568);var f=l(n(415)),p=l(n(35)),h=l(n(0)),m=n(412),g=(n(161),n(564),l(n(237))),v=l(n(1302)),y=l(n(2052)),b=l(n(2053)),x=l(n(2054)),w=l(n(2056)),k=l(n(1346)),{getLocale:C,setLocale:_,SUPPORT_LOCALES:M}=g.default;class S extends h.default.Component{constructor(){super(...arguments),(0,p.default)(this,"changeLang",(e=>_(e,!0))),(0,p.default)(this,"onMenuClick",(e=>{var{key:t}=e})),(0,p.default)(this,"handleLogout",(e=>{e&&e.preventDefault&&e.preventDefault(),this.rootStore.logout()})),(0,p.default)(this,"afterChangePassword",((e,t)=>{e&&this.rootStore.logout()})),(0,p.default)(this,"onClickSelectLanguage",(e=>{e&&e.preventDefault(),e&&e.stopPropagation()}))}get rootStore(){return this.props.rootStore||{}}get user(){var{user:e}=this.rootStore;return e||null}renderLanguageSwitch(){var e=C(),{length:t}=M;if(t>3){var a=(0,i.default)(M).call(M,(e=>({label:e.icon.toLocaleUpperCase(),value:e.value})));return h.default.createElement("div",{style:{float:"right"}},h.default.createElement(f.default,{options:a,value:e,onChange:this.changeLang,onClick:this.onClickSelectLanguage}))}var n=(0,i.default)(M).call(M,((a,n)=>{var{value:r,icon:l}=a;return h.default.createElement(h.default.Fragment,null,h.default.createElement(c.default,{className:0===n?k.default["no-padding-top"]:"",type:"link",disabled:e===r,onClick:()=>{this.changeLang(r)}},l.toUpperCase()),n!==t-1&&h.default.createElement("span",null,"/"))}));return h.default.createElement("span",{style:{float:"right"}},n)}renderLanguageMenuItem(){var e;return M.length<=1?null:h.default.createElement(d.default.Item,{key:"language",className:(0,o.default)(e="".concat(k.default["no-hover"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,t("Switch Language")),this.renderLanguageSwitch())}render(){var e,a,n,r;if(!this.user)return h.default.createElement(u.default,{size:"small",style:{marginLeft:8,marginRight:8}});var{name:l}=this.user.user,i=h.default.createElement(d.default,{className:k.default.menu,onClick:this.onMenuClick},h.default.createElement(d.default.Item,{key:"user",className:(0,o.default)(e=(0,o.default)(a="".concat(k.default["no-hover"]," ")).call(a,k.default["name-item"]," ")).call(e,k.default["menu-item"])},h.default.createElement("span",null,h.default.createElement("span",{className:k.default["user-label"]},t("User")),h.default.createElement("span",null,l)),h.default.createElement(c.default,{type:"link",onClick:this.handleLogout,className:(0,o.default)(n=(0,o.default)(r="".concat(k.default["menu-btn"]," ")).call(r,k.default.logout," ")).call(n,k.default["no-padding-top"])},t("Sign Out"))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),this.renderLanguageMenuItem(),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"userCenter",className:k.default["menu-item"]},h.default.createElement(c.default,{href:"/user/center",type:"link",style:{textAlign:"left"}},t("User Center"))),h.default.createElement(d.default.Divider,{className:k.default["menu-divider"]}),h.default.createElement(d.default.Item,{key:"password",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:y.default}]},onFinishAction:this.afterChangePassword,item:this.user&&this.user.user,isWide:!0})),h.default.createElement(d.default.Item,{key:"token",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:b.default}]},isWide:!0})),h.default.createElement(d.default.Item,{key:"openrc",className:k.default["menu-item"]},h.default.createElement(v.default,{actions:{moreActions:[{action:x.default}]},isWide:!0})));return h.default.createElement(w.default,{overlay:i},h.default.createElement("div",{className:"".concat(k.default.action)},h.default.createElement(c.default,{shape:"circle",icon:h.default.createElement(s.default,null),className:k.default.avatar})))}}a.AvatarDropdown=S;var I=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=I},2052:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Password=void 0;var i=l(n(63)),o=l(n(35)),s=n(412),u=n(1241),d=n(565),c=l(n(1255));class f extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{password:a,oldPassword:n}=e;return c.default.changePasswordUser({id:t,password:a,original_password:n})}))}get name(){return t("Update user password")}get defaultValue(){var{name:e}=this.item;return{name:e,password:"",confirmPassword:""}}get formItems(){return[{name:"name",label:t("User"),type:"label",iconType:"user"},{name:"oldPassword",label:t("Original Password"),type:"input-password",required:!0},{name:"password",label:t("Password"),type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("password","user")},{name:"confirmPassword",label:t("Confirm Password"),dependencies:["password"],type:"input-password",required:!0,otherRule:(0,d.getPasswordOtherRule)("confirmPassword","user")}]}}a.Password=f,(0,o.default)(f,"id","update-user-password"),(0,o.default)(f,"title",t("Update User Password")),(0,o.default)(f,"policy",[]),(0,o.default)(f,"allowed",(()=>i.default.resolve(!0)));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},2053:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.Token=void 0;var i=l(n(635)),o=l(n(63)),s=l(n(35));n(594);var u=l(n(595)),d=l(n(0)),c=n(412),f=(n(161),n(1241)),p=n(1251),h=n(580),m=l(n(1346)),{Paragraph:g}=u.default;class v extends f.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"getLeftStr",(e=>{var a=e-(0,i.default)(),n=Math.floor(a/1e3);if(n<60)return t("{seconds} seconds",{seconds:n});var r=Math.floor(n/60),l=n%60;if(r<60)return t("{minutes} minutes {leftSeconds} seconds",{minutes:r,leftSeconds:l});var o=Math.floor(r/60);return t("{hours} hours {leftMinutes} minutes {leftSeconds} seconds",{hours:o,leftMinutes:r%60,leftSeconds:l})})),(0,s.default)(this,"onSubmit",(()=>o.default.resolve()))}get name(){return t("Get Token")}get token(){var e=localStorage.getItem("keystone_token");try{return JSON.parse(e)||{}}catch(e){return{}}}get showNotice(){return!1}get tokenValue(){return this.token.value||""}get keystoneTokenExp(){var{keystone_token_exp:e}=this.props.rootStore.user||{};return(0,h.getLocalTime)(e).valueOf()}get tips(){return(0,i.default)()>this.keystoneTokenExp?d.default.createElement("span",{style:globalCSS.warnDarkColor},t("Keystone token is expired.")):t("Please save your token properly and it will be valid for {left}.",{left:this.getLeftStr(this.keystoneTokenExp)})}get defaultValue(){return{token:this.tokenValue}}get labelCol(){return{xs:{span:0},sm:{span:0}}}get wrapperCol(){return{xs:{span:24},sm:{span:24}}}get formItems(){return[{name:"token",label:"",type:"label",component:d.default.createElement(g,{copyable:{text:this.tokenValue},className:m.default.token},d.default.createElement("pre",null,this.tokenValue))}]}}a.Token=v,(0,s.default)(v,"id","get-token"),(0,s.default)(v,"title",t("Get Token")),(0,s.default)(v,"policy",p.allCanReadPolicy),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},2054:function(e,a,n){"use strict";var r=n(20),l=n(21);r(a,"__esModule",{value:!0}),a.default=a.OpenRc=void 0;var i=l(n(29)),o=l(n(63)),s=l(n(35)),u=n(412),d=n(1241),c=n(1251),f=l(n(1569)),p=n(2055),h=l(n(1352));class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"exportRcFile",(e=>{var t=new Blob([e],{type:"text/plain;charset=utf-8"});h.default.saveAs(t,"openrc.sh")})),(0,s.default)(this,"onSubmit",(e=>{var{type:t}=e;return this.store.fetchList().then((()=>this.exportRcFile(this.getOpenRC(t))))}))}init(){this.store=f.default}get name(){return t("Get OpenRC file")}get showNotice(){return!1}get user(){var{user:e}=this.props.rootStore;return e}getOpenRC(e){var{project:{id:t="",name:a="",domain:{name:n}={}}={},user:{name:r="",domain:{name:l}={}}={},region:o}=this.user||{},{data:s}=this.store.list,{endpoints:u}=(0,i.default)(s).call(s,(e=>"keystone"===e.name))[0],d=(0,i.default)(u).call(u,(e=>"public"===e.interface))[0].url;return"password"===e?(0,p.getPwdOpenRc)({authUrl:d,projectId:t,projectName:a,projectDomain:n,userDomain:l,userName:r,region:o}):(0,p.getCredentialOpenRc)({authUrl:d,region:o})}get defaultValue(){return{type:"password"}}get formItems(){return[{name:"type",label:t("Type"),type:"select",options:[{label:t("Password Type"),value:"password"},{label:t("Credential Type"),value:"credential"}]}]}}a.OpenRc=m,(0,s.default)(m,"id","get-token"),(0,s.default)(m,"title",t("Get OpenRC file")),(0,s.default)(m,"policy",c.allCanReadPolicy),(0,s.default)(m,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},2055:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.getCredentialOpenRc=t.getPwdOpenRc=void 0;t.getPwdOpenRc=e=>{var{authUrl:t,projectId:a,projectName:n,projectDomain:r,userDomain:l,userName:i,region:o}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+"\n# With the addition of Keystone we have standardized on the term **project**\n# as the entity that owns the resources.\n"+"export OS_PROJECT_ID=".concat(a," \n")+"export OS_PROJECT_NAME=".concat(n,"\n")+"export OS_PROJECT_DOMAIN_NAME=".concat(r,"\n")+"export OS_USER_DOMAIN_NAME=".concat(l,"\n")+"\n# unset v2.0 items in case set\nunset OS_TENANT_ID\nunset OS_TENANT_NAME\n# In addition to the owning entity (tenant), OpenStack stores the entity\n# performing the action as the **user**.\n"+"export OS_USERNAME=".concat(i,"\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "\nread -sr OS_PASSWORD_INPUT\nexport OS_PASSWORD=$OS_PASSWORD_INPUT\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(o,"\n")+'\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\n\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}'};t.getCredentialOpenRc=e=>{var{authUrl:t,region:a}=e;return"#!/usr/bin/env bash\n# To use an OpenStack cloud you need to authenticate against the Identity\n# service named keystone, which returns a **Token** and **Service Catalog**.\n# The catalog contains the endpoints for all services the user/tenant has\n# access to - such as Compute, Image Service, Identity, Object Storage, Block\n# Storage, and Networking (code-named nova, glance, keystone, swift,\n# cinder, and neutron).\n#\n# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other\n# OpenStack API is version 3. For example, your cloud provider may implement\n# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is\n# only for the Identity API served through keystone.\n"+"export OS_AUTH_URL=".concat(t,"/v3/\n")+'\n# With Keystone you pass the keystone password.\necho "Please enter your OpenStack Credential ID as OS_APPLICATION_CREDENTIAL_ID: "\nread -sr OS_APPLICATION_CREDENTIAL_ID\nexport OS_APPLICATION_CREDENTIAL_ID=$OS_APPLICATION_CREDENTIAL_ID\necho "Please enter your OpenStack Credential Secret as OS_APPLICATION_CREDENTIAL_SECRET: "\nread -sr OS_APPLICATION_CREDENTIAL_SECRET\nexport OS_APPLICATION_CREDENTIAL_SECRET=$OS_APPLICATION_CREDENTIAL_SECRET\n\n# Don\'t leave a blank variable, unset it if it was empty\nif [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi\nexport OS_INTERFACE=public\nexport OS_IDENTITY_API_VERSION=3\nexport OS_AUTH_TYPE=v3applicationcredential\n# If your configuration has multiple regions, we set that information here.\n# OS_REGION_NAME is optional and only valid in certain environments.\n'+"export OS_REGION_NAME=".concat(a,"\n")+"\n# If OS_AUTH_URL use private SSL, Please add CACERT file path \n# export OS_CACERT={crtPath}"}},2056:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0,a(586);var l=r(a(424)),i=r(a(343)),o=r(a(58)),s=(a(161),r(a(0))),u=r(a(4)),d=e=>{var{overlayClassName:t}=e,a=(0,o.default)(e,["overlayClassName"]);return s.default.createElement(l.default,(0,i.default)({overlayClassName:(0,u.default)(t)},a))};t.default=d},2057:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1570)),i=r(a(1450)),o=r(a(1451)),s=r(a(1571)),u=r(a(1452)),d=r(a(1572)),c=r(a(1453)),f=r(a(1342)),p=r(a(1381)),h=r(a(1377)),m=r(a(1382)),g=r(a(0)),v=(a(564),e=>e?[{path:"/base/overview-admin",name:e("Home"),key:"overviewAdmin",icon:g.default.createElement(m.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"computeAdmin",icon:g.default.createElement(h.default,null),children:[{path:"/compute/instance-admin",name:e("Instances"),key:"instanceAdmin",level:1,children:[{path:/^\/compute\/instance-admin\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetailAdmin",routePath:"/compute/instance-admin/detail/:id",level:2}]},{path:"/compute/instance-snapshot-admin",name:e("Instance Snapshots"),key:"instanceSnapshotAdmin",level:1,children:[{path:/^\/compute\/instance-snapshot-admin\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetailAdmin",level:2,routePath:"/compute/instance-snapshot-admin/detail/:id"}]},{path:"/compute/flavor-admin",name:e("Flavors"),key:"flavorAdmin",level:1,children:[{path:"/compute/flavor-admin/create",name:e("Create Flavor"),key:"flavorCreateAdmin",level:2},{path:/^\/compute\/flavor-admin\/detail\/[^/]+$/,name:e("Flavor Detail"),key:"flavorDetailAdmin",routePath:"/compute/flavor-admin/detail/:id",level:2}]},{path:"/compute/server-group-admin",name:e("Server Groups"),key:"serverGroupAdmin",level:1,children:[{path:/^\/compute\/server-group-admin\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetailAdmin",routePath:"/compute/server-group-admin/detail/:id",level:2}]},{path:"/compute/image-admin",name:e("Images"),key:"imageAdmin",level:1,children:[{path:/^\/compute\/image-admin\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetailAdmin",routePath:"/compute/image-admin/detail/:id",level:2},{path:"/compute/image-admin/create",name:e("Create Image"),key:"imageCreateAdmin",level:2}]},{path:"/compute/hypervisors-admin",name:e("Hypervisors"),key:"hypervisorAdmin",level:1,children:[{path:/^\/compute\/hypervisors-admin\/detail\/.[^/]+$/,name:e("Hypervisor Detail"),key:"hypervisorDetailAdmin",routePath:"/compute/hypervisors-admin/detail/:id",level:2}]},{path:"/compute/aggregates-admin",name:e("Host Aggregates"),key:"aggregateAdmin",level:1,children:[]},{path:"/compute/baremetal-node-admin",name:e("Bare Metal Nodes"),key:"baremetalNodeAdmin",endpoints:"ironic",level:1,children:[{path:/^\/compute\/baremetal-node-admin\/detail\/.[^/]+$/,name:e("Bare Metal Node Detail"),key:"baremetalNodeDetailAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2},{path:/^\/compute\/baremetal-node-admin\/create$/,name:e("Create Bare Metal Node"),key:"baremetalNodeCreateAdmin",level:2},{path:/^\/compute\/baremetal-node-admin\/edit\/.[^/]+$/,name:e("Edit Bare Metal Node"),key:"baremetalNodeEditAdmin",routePath:"/compute/baremetal-node-admin/detail/:id",level:2}]}]},{path:"/storage",name:e("Storage"),key:"storageAdmin",icon:g.default.createElement(p.default,null),children:[{path:"/storage/volume-admin",name:e("Volumes"),key:"volumeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-admin\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetailAdmin",level:2,routePath:"/storage/volume-admin/detail/:id"}]},{path:"/storage/backup-admin",name:e("Volume Backups"),key:"backupAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup-admin\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetailAdmin",level:2,routePath:"/storage/backup-admin/detail/:id"}]},{path:"/storage/snapshot-admin",name:e("Volume Snapshots"),key:"snapshotAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot-admin\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetailAdmin",level:2,routePath:"/storage/snapshot-admin/detail/:id"}]},{path:"/storage/volume-type-admin",name:e("Volume Types"),key:"volumeTypeAdmin",level:1,endpoints:"cinder",children:[{path:/^\/storage\/volume-type-admin\/detail\/.[^/]+$/,name:e("Volume Type Detail"),key:"volumeTypeDetailAdmin",level:2,routePath:"/storage/volume-type-admin/detail/:id"},{path:/^\/storage\/volume-type-admin\/qos\/detail\/.[^/]+$/,name:e("QoS Detail"),key:"volumeTypeQosDetailAdmin",level:2,routePath:"/storage/volume-type-admin/qos/detail/:id"}]},{path:"/storage/storage-admin",name:e("Storage Backends"),key:"storageBackendAdmin",level:1,endpoints:"cinder",children:[]}]},{path:"/network",name:e("Network"),key:"/networkAdmin",icon:g.default.createElement(f.default,null),children:[{path:"/network/networks-admin",name:e("Networks"),key:"networkAdmin",level:1,children:[{path:/^\/network\/networks-admin\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:id"}]},{path:"/network/port-admin",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port-admin\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetailAdmin",level:2,routePath:"/network/port-admin/detail/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/port/:id"},{path:/^\/network\/networks-admin\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetailAdmin",level:2,routePath:"/network/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance-admin\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetailAdmin",level:2,routePath:"/network/instance-admin/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy-admin",name:e("QoS Policies"),key:"networkQosAdmin",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy-admin\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetailAdmin",level:2,routePath:"/network/qos-policy-admin/detail/:id"}]},{path:"/network/router-admin",name:e("Routers"),key:"routerAdmin",level:1,children:[{path:/^\/network\/router-admin\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetailAdmin",level:2,routePath:"/network/router-admin/detail/:id"},{path:/^\/network\/router-admin\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetailAdmin",level:2,routePath:"/network/router-admin/:routerId/port/:id"}]},{path:"/network/floatingip-admin",name:e("Floating IPs"),key:"fipAdmin",level:1,children:[{path:/^\/network\/floatingip-admin\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetailAdmin",level:2,routePath:"/network/floatingip-admin/detail/:id"}]},{path:"/network/load-balancers-admin",name:e("Load Balancers"),key:"lbAdmin",endpoints:"octavia",level:1,children:[{path:/^\/network\/load-balancers-admin\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetailAdmin",level:2,routePath:"/network/load-balancers-admin/detail/:id"},{path:/^\/network\/load-balancers-admin\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetailAdmin",level:2,routePath:"/network/load-balancers-admin/:loadBalancerId/listener/:id"}]},{path:"/network/vpn-admin",name:e("VPNs"),key:"vpnAdmin",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection-admin\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetailAdmin",level:2,routePath:"/network/ipsec-site-connection-admin/detail/:id"}]},{path:"/network/security-group-admin",name:e("Security Groups"),key:"securityGroupAdmin",level:1,children:[{path:/^\/network\/security-group-admin\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetailAdmin",level:2,routePath:"/network/security-group-admin/detail/:id"}]},{path:"/network/rbac-policies-admin",name:e("RBAC Policies"),key:"rbacPolicyAdmin",level:1,children:[{path:/^\/network\/rbac-policies-admin\/detail\/.[^/]+$/,name:e("RBAC Policy Detail"),key:"rbacPolicyDetailAdmin",level:2,routePath:"/network/rbac-policies-admin/detail/:id"}]},{path:"/network/firewall-admin",name:e("Firewalls"),key:"firewallAdmin",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy-admin\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetailAdmin",level:2,routePath:"/network/firewall-policy-admin/detail/:id"},{path:/^\/network\/firewall-admin\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetailAdmin",level:2,routePath:"/network/firewall-admin/:firewallId/port/:portId"},{path:/^\/network\/firewall-admin\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetailAdmin",level:2,routePath:"/network/firewall-admin/detail/:id"},{path:/^\/network\/firewall-rule-admin\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetailAdmin",level:2,routePath:"/network/firewall-rule-admin/detail/:id"}]},{path:"/network/dns-admin/zones",name:e("DNS Zones"),key:"dnsZonesAdmin",endpoints:"designate",level:1,children:[{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:id"},{path:/^\/network\/dns-admin\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetailAdmin",level:2,routePath:"/network/dns-admin/zones/detail/:zoneId/recordsets/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorageAdmin",endpoints:"manilav2",icon:g.default.createElement(c.default,null),children:[{path:"/share/share-admin",name:e("Shares"),key:"shareAdmin",level:1,children:[{path:/^\/share\/share-admin\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetailAdmin",level:2,routePath:"/share/share-admin/detail/:id"}]},{path:"/share/share-type-admin",name:e("Share Types"),key:"shareTypeAdmin",level:1,children:[{path:/^\/share\/share-type-admin\/detail\/.[^/]+$/,name:e("Share Type Detail"),key:"shareTypeDetailAdmin",level:2,routePath:"/share/share-type-admin/detail/:id"}]},{path:"/share/share-group-type-admin",name:e("Share Group Types"),key:"shareGroupTypeAdmin",level:1,children:[{path:/^\/share\/share-group-type-admin\/detail\/.[^/]+$/,name:e("Share Group Type Detail"),key:"shareGroupTypeDetailAdmin",level:2,routePath:"/share/share-group-type-admin/detail/:id"}]},{path:"/share/share-network-admin",name:e("Share Networks"),key:"shareNetworkAdmin",level:1,children:[{path:/^\/share\/share-network-admin\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetailAdmin",level:2,routePath:"/share/share-network-admin/detail/:id"}]},{path:"/share/share-server-admin",name:e("Share Servers"),key:"shareServerAdmin",level:1,children:[{path:/^\/share\/share-server-admin\/detail\/.[^/]+$/,name:e("Share Server Detail"),key:"shareServerDetailAdmin",level:2,routePath:"/share/share-server-admin/detail/:id"}]},{path:"/share/share-instance-admin",name:e("Share Instances"),key:"shareInstanceAdmin",level:1,children:[{path:/^\/share\/share-instance-admin\/detail\/.[^/]+$/,name:e("Share Instance Detail"),key:"shareInstanceDetailAdmin",level:2,routePath:"/share/share-instance-admin/detail/:id"}]},{path:"/share/share-group-admin",name:e("Share Groups"),key:"shareGroupAdmin",level:1,children:[{path:/^\/share\/share-group-admin\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetailAdmin",level:2,routePath:"/share/share-group-admin/detail/:id"}]},{path:"/share/storage-admin",name:e("Storage Backends"),key:"shareStorageBackendAdmin",level:1,children:[]}]},{path:"/identity",name:e("Identity"),key:"/identity",icon:g.default.createElement(d.default,null),children:[{path:"/identity/domain-admin",name:e("Domains"),key:"domainAdmin",level:1,children:[{path:/^\/identity\/domain-admin\/detail\/.[^/]+$/,name:e("Domain Detail"),key:"domainDetailAdmin",level:2,routePath:"/identity/domain-admin/detail/:id"}]},{path:"/identity/project-admin",name:e("Projects"),key:"projectAdmin",level:1,children:[{path:/^\/identity\/project-admin\/detail\/.[^/]+$/,name:e("Project Detail"),key:"projectDetailAdmin",level:2,routePath:"/identity/project-admin/detail/:id"},{path:"/identity/project-admin/create",name:e("Create Project"),key:"projectCreateAdmin",level:2},{path:/^\/identity\/project-admin\/edit\/.[^/]+$/,name:e("Edit Project"),key:"projectEditAdmin",level:2,routePath:"/identity/project-admin/edit/:id"}]},{path:"/identity/user-admin",name:e("Users"),key:"userAdmin",level:1,children:[{path:/^\/identity\/user-admin\/detail\/.[^/]+$/,name:e("User Detail"),key:"userDetailAdmin",level:2,routePath:"/identity/user-admin/detail/:id"},{path:"/identity/user-admin/create",name:e("Create User"),key:"userCreateAdmin",level:2},{path:/^\/identity\/user-admin\/edit\/.[^/]+$/,name:e("User Edit"),key:"userEditAdmin",level:2,routePath:"/identity/user-admin/edit/:id"}]},{path:"/identity/user-group-admin",name:e("User Groups"),key:"userGroupAdmin",level:1,children:[{path:/^\/identity\/user-group-admin\/detail\/.[^/]+$/,name:e("User Group Detail"),key:"userGroupDetailAdmin",level:2,routePath:"/identity/user-group-admin/detail/:id"},{path:"/identity/user-group-admin/create",name:e("Create User Group"),key:"userGroupCreateAdmin",level:2},{path:/^\/identity\/user-group-admin\/edit\/.[^/]+$/,name:e("Edit User Group"),key:"userGroupEditAdmin",level:2,routePath:"/identity/user-group-admin/edit/:id"}]},{path:"/identity/role-admin",name:e("Roles"),key:"roleAdmin",level:1,children:[{path:/^\/identity\/role-admin\/detail\/.[^/]+$/,name:e("Role Detail"),key:"roleDetailAdmin",level:2,routePath:"/identity/role-admin/detail/:id"}]}]},{path:"/database",name:e("Database"),key:"databaseAdmin",endpoints:"trove",icon:g.default.createElement(u.default,null),children:[{path:"/database/instances-admin",name:e("Database Instances"),key:"databaseInstancesAdmin",level:1,children:[{path:/^\/database\/instances-admin\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetailAdmin",level:2,routePath:"/database/instances-admin/detail/:id"}]}]},{path:"/monitor-center",name:e("Monitor Center"),key:"/monitorCenterAdmin",icon:g.default.createElement(s.default,null),children:[{path:"/monitor-center/overview-admin",name:e("Monitor Overview"),key:"monitorOverviewAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/physical-node-admin",name:e("Physical Nodes"),key:"monitorPhysicalNodeAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/storage-cluster-admin",name:e("Storage Clusters"),key:"monitorStorageClusterAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/openstack-service-admin",name:e("OpenStack Services"),key:"monitorOpenstackServiceAdmin",level:1,children:[],hasBreadcrumb:!0},{path:"/monitor-center/other-service-admin",name:e("Other Services"),key:"monitorOtherServiceAdmin",level:1,children:[],hasBreadcrumb:!0}]},{path:"/configuration-admin",name:e("Global Setting"),key:"configurationAdmin",icon:g.default.createElement(o.default,null),children:[{path:"/configuration-admin/info",name:e("System Info"),key:"systemInfoAdmin",level:1,children:[{path:/^\/configuration-admin\/neutron\/detail\/.[^/]+$/,name:e("Neutron Agent Detail"),key:"neutronAgentDetailAdmin",level:2,routePath:"/configuration-admin/neutron/detail/:id"}]},{path:"/configuration-admin/setting",name:e("System Config"),key:"settingAdmin",level:1},{path:"/configuration-admin/metadata",name:e("Metadata Definitions"),key:"metadataAdmin",level:1,children:[{path:/^\/configuration-admin\/metadata\/detail\/.[^/]+$/,name:e("Metadata Detail"),key:"metadataDetailAdmin",level:2,routePath:"/configuration-admin/metadata/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"containerAdmin",icon:g.default.createElement(i.default,null),children:[{path:"/container-service/containers-admin",name:e("Containers"),key:"zunContainersAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/containers-admin\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetailAdmin",level:2,routePath:"/container-service/containers-admin/detail/:id"}]},{path:"/container-service/hosts-admin",name:e("Hosts"),key:"zunHostsAdmin",endpoints:"zun",level:1,children:[{path:/^\/container-service\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"zuHostsDetailAdmin",level:2,routePath:"/container-service/hosts-admin/detail/:id"}]},{path:"/container-service/services-admin",name:e("Services"),key:"zunServicesAdmin",endpoints:"zun",level:1},{path:"/container-infra/clusters-admin",name:e("Clusters"),key:"containerInfraClustersAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters-admin\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetailAdmin",level:2,routePath:"/container-infra/clusters-admin/detail/:id"}]},{path:"/container-infra/cluster-template-admin",name:e("Cluster Templates"),key:"clusterTemplateAdmin",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template-admin\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetailAdmin",level:2,routePath:"/container-infra/cluster-template-admin/detail/:id"}]}]},{path:"/ha",name:e("Instance-HA"),key:"masakari",icon:g.default.createElement(l.default,null),endpoints:"masakari",children:[{path:"/ha/segments-admin",name:e("Segments"),key:"masakariSegmentsAdmin",level:1,children:[{path:"/ha/segments-admin/create-step-admin",name:e("Create Segment"),key:"masakariSegmentsCreateAdmin",level:2},{path:/^\/ha\/segments-admin\/detail\/.[^/]+$/,name:e("Segment Detail"),key:"masakariSegmentDetailAdmin",level:2,routePath:"/ha/segments-admin/detail/:id"}]},{path:"/ha/hosts-admin",name:e("Hosts"),key:"masakariHostsAdmin",level:1,children:[{path:/^\/ha\/hosts-admin\/detail\/.[^/]+$/,name:e("Host Detail"),key:"masakariHostDetailAdmin",level:2,routePath:"/ha/hosts-admin/detail/:id"}]},{path:"/ha/notifications-admin",name:e("Notifications"),key:"masakariNotificationsAdmin",level:1,children:[{path:/^\/ha\/notifications-admin\/detail\/.[^/]+$/,name:e("Notification Detail"),key:"masakariNotificationDetailAdmin",level:2,routePath:"/ha/notifications-admin/detail/:id"}]}]}]:[]);t.default=v},2067:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1450)),i=r(a(1452)),o=r(a(1434)),s=r(a(1453)),u=r(a(1342)),d=r(a(1381)),c=r(a(1377)),f=r(a(1382)),p=r(a(0)),h=(a(564),e=>e?[{path:"/base/overview",name:e("Home"),key:"overview",icon:p.default.createElement(f.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/compute",name:e("Compute"),key:"compute",icon:p.default.createElement(c.default,null),children:[{path:"/compute/instance",name:e("Instances"),key:"instance",level:1,children:[{path:/^\/compute\/instance\/detail\/.[^/]+$/,name:e("Instance Detail"),key:"instanceDetail",level:2,routePath:"/compute/instance/detail/:id"},{path:"/compute/instance/create",name:e("Create Instance"),key:"instanceCreate",level:2},{path:"/compute/ironic-instance/create",name:e("Create Ironic Instance"),key:"ironicCreate",level:2}]},{path:"/compute/instance-snapshot",name:e("Instance Snapshots"),key:"instanceSnapshot",level:1,children:[{path:/^\/compute\/instance-snapshot\/detail\/[^/]+$/,name:e("Instance Snapshot Detail"),key:"instanceSnapshotDetail",level:2,routePath:"/compute/instance-snapshot/detail/:id"}]},{path:"/compute/flavor",name:e("Flavors"),key:"flavor",level:1,children:[{path:/^\/compute\/flavor\/detail\/.[^/]+$/,name:e("Flavor Detail"),key:"flavorDetail",level:2,routePath:"/compute/flavor/detail/:id"}]},{path:"/compute/server-group",name:e("Server Groups"),key:"serverGroup",level:1,children:[{path:/^\/compute\/server-group\/detail\/.[^/]+$/,name:e("Server Group Detail"),key:"serverGroupDetail",level:2,routePath:"/compute/server-group/detail/:id"}]},{path:"/compute/image",name:e("Images"),key:"image",level:1,children:[{path:/^\/compute\/image\/detail\/.[^/]+$/,name:e("Image Detail"),key:"imageDetail",level:2,routePath:"/compute/image/detail/:id"},{path:"/compute/image/create",name:e("Create Image"),key:"imageCreate",level:2}]},{path:"/compute/keypair",name:e("Key Pairs"),key:"keypair",level:1,children:[{path:/^\/compute\/keypair\/detail\/.[^/]*$/,name:e("Keypair Detail"),key:"keypairDetail",level:2,routePath:"/compute/keypair/detail/:id"}]}]},{path:"/storage",name:e("Storage"),key:"storage",icon:p.default.createElement(d.default,null),children:[{path:"/storage/volume",name:e("Volumes"),key:"volume",level:1,endpoints:"cinder",children:[{path:"/storage/volume/create",name:e("Create Volume"),key:"volumeCreate",level:2},{path:/^\/storage\/volume\/detail\/.[^/]+$/,name:e("Volume Detail"),key:"volumeDetail",level:2,routePath:"/storage/volume/detail/:id"}]},{path:"/storage/backup",name:e("Volume Backups"),key:"backup",level:1,endpoints:"cinder",children:[{path:/^\/storage\/backup\/detail\/.[^/]+$/,name:e("Volume Backup Detail"),key:"backupDetail",level:2,routePath:"/storage/backup/detail/:id"}]},{path:"/storage/snapshot",name:e("Volume Snapshots"),key:"snapshot",level:1,endpoints:"cinder",children:[{path:/^\/storage\/snapshot\/detail\/.[^/]+$/,name:e("Volume Snapshot Detail"),key:"snapshotDetail",level:2,routePath:"/storage/snapshot/detail/:id"}]},{path:"/storage/container",name:e("Object Storage"),key:"containers",endpoints:"swift",level:1,children:[{path:/^\/storage\/container\/detail\/[^/]+$/,name:e("Container Detail"),key:"containerDetail",level:2,routePath:"/storage/container/detail/:id"},{path:/^\/storage\/container\/detail\/[^/]+\/.+$/,name:e("Folder Detail"),key:"folderDetail",level:2,routePath:"/storage/container/detail/:container/:folder"}]}]},{path:"/network",name:e("Network"),key:"/network",icon:p.default.createElement(u.default,null),children:[{path:"/network/networks",name:e("Networks"),key:"network",level:1,children:[{path:/^\/network\/networks\/detail\/.[^/]+$/,name:e("Network Detail"),key:"networkDetail",level:2,routePath:"/network/networks/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+$/,name:e("Subnet Detail"),key:"subnetDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:id"}]},{path:"/network/port",name:e("Ports"),key:"port",level:1,children:[{path:/^\/network\/port\/detail\/.[^/]+$/,name:e("Port Detail"),key:"portDetail",level:2,routePath:"/network/port/detail/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"networkPortDetail",level:2,routePath:"/network/networks/detail/:networkId/port/:id"},{path:/^\/network\/networks\/detail\/.[^/]+\/subnet\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"subnetPortDetail",level:2,routePath:"/network/networks/detail/:networkId/subnet/:subnetId/port/:id"},{path:/^\/network\/instance\/detail\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"instancePortDetail",level:2,routePath:"/network/instance/detail/:instanceId/port/:id"}]},{path:"/network/qos-policy",name:e("QoS Policies"),key:"networkQos",endpoints:"neutron_qos",level:1,children:[{path:/^\/network\/qos-policy\/detail\/.[^/]+$/,name:e("QoS Policy Detail"),key:"networkQosDetail",level:2,routePath:"/network/qos-policy/detail/:id"}]},{path:"/network/router",name:e("Routers"),key:"router",level:1,children:[{path:/^\/network\/router\/detail\/.[^/]+$/,name:e("Router Detail"),key:"routerDetail",level:2,routePath:"/network/router/detail/:id"},{path:/^\/network\/router\/.[^/]+\/port\/.[^/]+$/,name:e("Port Detail"),key:"routerPortDetail",level:2,routePath:"/network/router/:routerId/port/:id"}]},{path:"/network/floatingip",name:e("Floating IPs"),key:"fip",level:1,children:[{path:/^\/network\/floatingip\/detail\/.[^/]+$/,name:e("Floating Ip Detail"),key:"fipDetail",level:2,routePath:"/network/floatingip/detail/:id"}]},{path:"/network/topo",name:e("Topology"),key:"networkTopo",level:1,children:[]},{path:"/network/load-balancers",name:e("Load Balancers"),key:"lb",endpoints:"octavia",level:1,children:[{path:"/network/load-balancers/create",name:e("Create Loadbalancer"),key:"lbCreate",level:2},{path:/^\/network\/load-balancers\/detail\/.[^/]+$/,name:e("Load Balancer Detail"),key:"lbDetail",level:2,routePath:"/network/load-balancers/detail/:id"},{path:/^\/network\/load-balancers\/.[^/]+\/listener\/.[^/]+$/,name:e("Listener Detail"),key:"lbListenerDetail",level:2,routePath:"/network/load-balancers/:loadBalancerId/listener/:id"}]},{path:"/network/certificate",name:e("Certificates"),key:"certificate",endpoints:"barbican",level:1,children:[{path:/^\/network\/certificate-container\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateContainerDetail",level:2,routePath:"/network/certificate-container/detail/:id"},{path:/^\/network\/certificate-secret\/detail\/.[^/]+$/,name:e("Certificate Detail"),key:"certificateSecretDetail",level:2,routePath:"/network/certificate-secret/detail/:id"}]},{path:"/network/vpn",name:e("VPNs"),key:"vpn",endpoints:"neutron_vpn",level:1,children:[{path:/^\/network\/ipsec-site-connection\/detail\/.[^/]+$/,name:e("IPsec site connection Detail"),key:"ipsecDetail",level:2,routePath:"/network/ipsec-site-connection/detail/:id"}]},{path:"/network/security-group",name:e("Security Groups"),key:"securityGroup",level:1,children:[{path:/^\/network\/security-group\/detail\/.[^/]+$/,name:e("Security Group Detail"),key:"securityGroupDetail",level:2,routePath:"/network/security-group/detail/:id"}]},{path:"/network/firewall",name:e("Firewalls"),key:"firewall",level:1,endpoints:"neutron_firewall",children:[{path:/^\/network\/firewall-policy\/detail\/[^/]+$/,name:e("Policy Detail"),key:"firewallPolicyDetail",level:2,routePath:"/network/firewall-policy/detail/:id"},{path:"/network/firewall-rule/create",name:e("Create Rule"),key:"firewallRuleCreate",level:2},{path:"/network/firewall-policy/add",name:e("Add Policy"),key:"firewallPolicyCreate",level:2},{path:"/network/firewall/create",name:e("Create Firewall"),key:"firewallCreate",level:2},{path:/^\/network\/firewall\/[^/]+\/port\/[^/]+$/,name:e("Firewall Port"),key:"firewallPortDetail",level:2,routePath:"/network/firewall/:firewallId/port/:portId"},{path:/^\/network\/firewall-rule\/edit\/[^/]+$/,name:e("Rule Edit"),key:"firewallRuleEdit",level:2,routePath:"/network/firewall-rule/edit/:id"},{path:/^\/network\/firewall\/detail\/[^/]+$/,name:e("Firewall Detail"),key:"firewallDetail",level:2,routePath:"/network/firewall/detail/:id"},{path:/^\/network\/firewall-rule\/detail\/[^/]+$/,name:e("Rule Detail"),key:"firewallRuleDetail",level:2,routePath:"/network/firewall-rule/detail/:id"},{path:/^\/network\/firewall-policy\/edit\/[^/]+$/,name:e("Policy Edit"),key:"firewallPolicyEdit",level:2,routePath:"/network/firewall-policy/edit/:id"}]},{path:"/network/dns/zones",name:e("DNS Zones"),key:"dnsZones",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/zones\/detail\/.[^/]+$/,name:e("Zones Detail"),key:"dnsZonesDetail",level:2,routePath:"/network/dns/zones/detail/:id"},{path:/^\/network\/dns\/zones\/detail\/.[^/]+\/recordsets\/.[^/]+$/,name:e("Recordsets Detail"),key:"dnsRecordSetDetail",level:2,routePath:"/network/dns/zones/detail/:zoneId/recordsets/:id"}]},{path:"/network/dns/reverse",name:e("DNS Reverse"),key:"dnsReverse",endpoints:"designate",level:1,children:[{path:/^\/network\/dns\/reverse\/detail\/.[^/]+$/,name:e("Reverse DNS Detail"),key:"dnsReverseDetail",level:2,routePath:"/network/dns/reverse/detail/:id"}]}]},{path:"/share",name:e("Share File Storage"),key:"fileStorage",endpoints:"manilav2",icon:p.default.createElement(s.default,null),children:[{path:"/share/share",name:e("Shares"),key:"share",level:1,children:[{path:/^\/share\/share\/detail\/.[^/]+$/,name:e("Share Detail"),key:"shareDetail",level:2,routePath:"/share/share/detail/:id"},{path:"/share/share/create",name:e("Create Share"),key:"shareCreate",level:2}]},{path:"/share/share-network",name:e("Share Networks"),key:"shareNetwork",level:1,children:[{path:/^\/share\/share-network\/detail\/.[^/]+$/,name:e("Share Network Detail"),key:"shareNetworkDetail",level:2,routePath:"/share/share-network/detail/:id"}]},{path:"/share/share-group",name:e("Share Groups"),key:"shareGroup",level:1,children:[{path:/^\/share\/share-group\/detail\/.[^/]+$/,name:e("Share Group Detail"),key:"shareGroupDetail",level:2,routePath:"/share/share-group/detail/:id"}]}]},{path:"/heat",name:e("Orchestration"),key:"heat",endpoints:"heat",icon:p.default.createElement(o.default,null),children:[{path:"/heat/stack",name:e("Stacks"),key:"stack",level:1,children:[{path:/^\/heat\/stack\/detail\/.[^/]+\/.[^/]+$/,name:e("Stack Detail"),key:"stackDetail",level:2,routePath:"/heat/stack/detail/:id/:name"},{path:"/heat/stack/create",name:e("Create Stack"),key:"stackCreate",level:2},{path:/^\/heat\/stack\/edit\/.[^/]+\/.[^/]+$/,name:e("Update Template"),key:"stackEdit",level:2,routePath:"/heat/stack/edit/:id/:name"}]}]},{path:"/database",name:e("Database"),key:"database",endpoints:"trove",icon:p.default.createElement(i.default,null),children:[{path:"/database/instances",name:e("Database Instances"),key:"databaseInstances",level:1,children:[{path:/^\/database\/instances\/detail\/.[^/]+$/,name:e("Database Instance Detail"),key:"databaseInstanceDetail",level:2,routePath:"/database/instances/detail/:id"},{path:"/database/instances/create",name:e("Create Database Instance"),key:"databaseInstanceCreate",level:2}]},{path:"/database/backups",name:e("Backups"),key:"databaseBackups",level:1,children:[{path:/^\/database\/backup\/detail\/.[^/]+$/,name:e("Backup Detail"),key:"databaseBackupDetail",level:2,routePath:"/database/backups/detail/:id"}]},{path:"/database/configurations",name:e("Configuration Groups"),key:"configurations",level:1,children:[{path:/^\/database\/configuration\/detail\/.[^/]+$/,name:e("Configuration Detail"),key:"configurationsDetail",level:2,routePath:"/database/configurations/detail/:id"}]}]},{path:"/container",name:e("Container"),key:"container",icon:p.default.createElement(l.default,null),children:[{path:"/container-service/containers",name:e("Containers"),key:"zunContainers",endpoints:"zun",level:1,children:[{path:"/container-service/containers/create",name:e("Create Container"),key:"zunContainersCreateContainer",level:2},{path:/^\/container-service\/containers\/detail\/.[^/]+$/,name:e("Container Detail"),key:"zunContainerDetail",level:2,routePath:"/container-service/containers/detail/:id"}]},{path:"/container-service/capsules",name:e("Capsules"),key:"zunCapsules",endpoints:"zun",level:1,children:[{path:/^\/container-service\/capsules\/detail\/.[^/]+$/,name:e("Capsule Detail"),key:"zunCapsuleDetail",level:2,routePath:"/container-service/capsules/detail/:id"}]},{path:"/container-infra/clusters",name:e("Clusters"),key:"containerInfraClusters",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/clusters\/detail\/.[^/]+$/,name:e("Cluster Detail"),key:"containerInfraClusterDetail",level:2,routePath:"/container-infra/clusters/detail/:id"},{path:"/container-infra/clusters/create",name:e("Create Cluster"),key:"containerInfraCreateCluster",level:2}]},{path:"/container-infra/cluster-template",name:e("Cluster Templates"),key:"clusterTemplate",endpoints:"magnum",level:1,children:[{path:/^\/container-infra\/cluster-template\/detail\/.[^/]+$/,name:e("Cluster Template Detail"),key:"containerInfraClusterTemplateDetail",level:2,routePath:"/container-infra/cluster-template/detail/:id"},{path:"/container-infra/cluster-template/create",name:e("Create Cluster Template"),key:"containerInfraCreateClusterTemplate",level:2},{path:/^\/container-infra\/cluster-template\/update\/.[^/]+$/,name:e("Update Cluster Template"),key:"containerInfraUpdateClusterTemplate",level:2,routePath:"/container-infra/cluster-template/update/:id"}]}]}]:[]);t.default=h},2068:function(e,t,a){"use strict";var n=a(20),r=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var l=r(a(1348)),i=r(a(1382)),o=r(a(0)),s=(a(564),e=>e?[{path:"/user/center",name:e("User Center"),key:"userCenter",icon:o.default.createElement(i.default,null),level:0,hasBreadcrumb:!1,hasChildren:!1},{path:"/user/application-credentials",name:e("Application Credentials"),key:"applicationCredential",level:0,icon:o.default.createElement(l.default,null),children:[],hasChildren:!1}]:[]);t.default=s},2069:function(e,a,n){"use strict";var r=n(162),l=n(20),i=n(25),o=n(21);l(a,"__esModule",{value:!0}),a.default=a.Right=void 0;var s=o(n(54)),u=o(n(77));n(1317);var d=o(n(1318));n(2070);var c=o(n(2073)),f=o(n(35));n(1431);var p=o(n(1432)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var n={},r=l&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=r?i(e,o):null;s&&(s.get||s.set)?l(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(n(0)),m=(n(161),n(204)),g=n(412),v=o(n(4)),y=o(n(416)),b=o(n(1351)),x=o(n(690)),w=n(567),k=o(n(1454));function C(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(C=function(e){return e?a:t})(e)}var{Content:_}=p.default;class M extends h.Component{constructor(e){super(e),(0,f.default)(this,"checkHasTab",(()=>{var{currentRoutes:e=[]}=this.props;if(0===e.length)return!1;var{hasTab:t}=e[e.length-1];return t||!1})),(0,f.default)(this,"renderBreadcrumb",(function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t||0===t.length)return null;var{hasBreadcrumb:a=!0}=t[t.length-1];if(!a&&void 0!==a)return null;var n=(0,s.default)(t).call(t,((e,a)=>0===a||a===t.length-1?h.default.createElement(c.default.Item,{key:e.key,className:k.default["breadcrumb-item"]},e.name):h.default.createElement(c.default.Item,{key:e.key},h.default.createElement(m.Link,{key:e.key,to:e.path,className:(0,v.default)(k.default["breadcrumb-item"],k.default["breadcrumb-link"])},e.name))));if(0===n.length)return null;var{hasTab:r}=t[t.length-1],l=r?k.default["breadcrumb-has-tab"]:"";return h.default.createElement("div",{className:(0,u.default)(e="".concat(k.default.breadcrumb," ")).call(e,l)},h.default.createElement(c.default,null,n))})),(0,f.default)(this,"renderChildren",((e,a,n)=>{var{hasError:r}=this.state;if(r)return h.default.createElement(b.default,{title:t("data"),link:this.getRoutePath("overview"),codeError:!0});try{var l,i;return h.default.createElement("div",{className:(0,u.default)(l=(0,u.default)(i="".concat(k.default.main," ")).call(i,e," ")).call(l,a)},(0,y.default)(this.routes,n))}catch(e){var o=this.getRoutePath("overview");return h.default.createElement(b.default,{title:t("data"),link:o,codeError:!0})}})),this.routes=e.route.routes,this.state={hasError:!1}}componentDidUpdate(e){var{location:{pathname:t}={}}=e,{location:{pathname:a}={}}=this.props;t!==a&&this.updateErrorState(!1)}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,w.getPath)({key:n,params:t,query:a})}updateErrorState(e){this.setState({hasError:e})}render(){var{pathname:e}=this.props.location,{collapsed:t,currentRoutes:a,isAdminPage:n=!1}=this.props,r=this.renderBreadcrumb(a),l=null!==r,{user:i}=this.props.rootStore,o=this.checkHasTab(e),s=l?"":k.default["main-no-breadcrumb"],u=o?k.default["main-has-tab"]:"",c={sliderCollapsed:t,isAdminPage:n},f=i?this.renderChildren(s,u,c):h.default.createElement("div",{style:{margin:"44px"}},h.default.createElement(d.default,null));return h.default.createElement(p.default,{className:(0,v.default)(k.default["base-layout-right"],t?k.default["base-layout-right-collapsed"]:"")},h.default.createElement(_,{className:k.default.content},r,h.default.createElement(h.Suspense,{fallback:h.default.createElement(x.default,{className:"sl-page-loading"})},f)))}}a.Right=M;var S=(0,g.inject)("rootStore")((0,g.observer)(M));a.default=S},2077:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__nav--1IKuR {\n left: -270px;\n}\n.index__header--3eaFT,\n.index__header-collapsed--2VIjO {\n top: 0;\n left: 0;\n z-index: 1000;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: 40px;\n padding: 0;\n color: #fff;\n}\n.index__header-collapsed--2VIjO {\n padding-left: 40px;\n}\n.index__logo--t_KQf {\n height: 32px;\n margin: 16px 38px;\n}\n.index__logo-collapse--1dyW- {\n margin: 16px 24px;\n}\n.index__logo-image--1r9zB {\n height: 29px;\n}\n.index__logo-image-hover--r0EY5 {\n margin-left: -20px;\n}\n.index__site-layout-background--1KhiG {\n background: #fff;\n}\n.index__sider--3mcQr {\n position: relative;\n height: 100vh;\n overflow-y: auto;\n}\n.index__sider--3mcQr .ant-layout-sider-trigger {\n position: absolute;\n right: 0;\n bottom: 48px;\n width: 32px !important;\n height: 75px;\n font-size: 16px;\n line-height: 75px;\n background-color: #26262b;\n border-width: 32px;\n border-radius: 4px 0 0 4px;\n}\n.index__menu--38cbE,\n.index__menu-collapsed--3qSkQ {\n max-height: calc(100vh - 64px);\n padding-right: 14px;\n padding-left: 14px;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.index__menu--38cbE::-webkit-scrollbar,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar {\n width: 12px;\n}\n.index__menu--38cbE::-webkit-scrollbar-track,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-track {\n background-color: #f5f5f5;\n border-radius: 0;\n}\n.index__menu--38cbE::-webkit-scrollbar-thumb,\n.index__menu-collapsed--3qSkQ::-webkit-scrollbar-thumb {\n background-color: lightgray;\n border-radius: 0;\n}\n.index__menu--38cbE a,\n.index__menu-collapsed--3qSkQ a {\n color: inherit !important;\n}\n.index__menu--38cbE .ant-menu-item,\n.index__menu-collapsed--3qSkQ .ant-menu-item {\n font-size: 14px;\n}\n.index__menu--38cbE .ant-menu-submenu-title,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title {\n font-size: 14px;\n}\n.index__menu--38cbE .anticon,\n.index__menu-collapsed--3qSkQ .anticon {\n float: left;\n margin-right: 20px;\n font-size: 14px;\n line-height: 44px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected,\n.index__menu--38cbE .ant-menu-item-active,\n.index__menu-collapsed--3qSkQ .ant-menu-item-active {\n color: #fff !important;\n border-radius: 4px;\n}\n.index__menu--38cbE .ant-menu-item-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__menu--38cbE .ant-menu-item-selected::after,\n.index__menu-collapsed--3qSkQ .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__menu--38cbE .ant-menu-submenu-active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-active,\n.index__menu--38cbE .ant-menu-submenu-selected,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-selected,\n.index__menu--38cbE .ant-menu-submenu-title:hover,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:hover,\n.index__menu--38cbE .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n color: #fff !important;\n}\n.index__menu--38cbE .ant-menu-submenu-title:active,\n.index__menu-collapsed--3qSkQ .ant-menu-submenu-title:active {\n background-color: #fdd831 !important;\n}\n.index__menu--38cbE .ant-menu-sub.ant-menu-inline,\n.index__menu-collapsed--3qSkQ .ant-menu-sub.ant-menu-inline {\n background: linear-gradient(-240deg, #3f004a 50%, #210c24 150%) !important;\n}\n.index__menu-item--3jS31 {\n font-size: 14px;\n}\n.index__menu-item--3jS31 a {\n color: inherit;\n}\n.index__menu-item--3jS31 a::before {\n width: 5px;\n}\n.index__content--2bhUz {\n height: calc(100vh - 40px);\n background-color: #fafafa;\n}\n.index__sub-menu--1MaIG {\n font-size: 10px;\n}\n.index__sub-menu--1MaIG .ant-menu-sub.ant-menu-inline {\n padding-right: 5px;\n padding-left: 5px;\n}\n.index__sub-menu--1MaIG .ant-menu-item > span::before {\n position: absolute;\n top: 18px;\n bottom: 0;\n left: 30px;\n width: 5px;\n height: 5px;\n background-color: rgba(255, 255, 255, 0.65);\n border-radius: 50%;\n content: '';\n}\n.index__sub-menu--1MaIG .ant-menu-item {\n margin-top: 4px !important;\n margin-bottom: 8px !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected:hover {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active > span::before {\n background-color: #0068ff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-active {\n background-color: transparent !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected > span::before {\n background-color: #fff !important;\n}\n.index__sub-menu--1MaIG .ant-menu-item-selected::after {\n border-right: 3px solid #0c63fa !important;\n}\n.index__sub-menu--1MaIG .ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-radius: 4px;\n}\n.index__sub-menu--1MaIG .ant-menu-dark {\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n}\n.index__breadcrumb--2Wm6M {\n height: 50px;\n padding-left: 16px;\n background-color: #fff;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-item--qhsVt {\n font-size: 12px;\n line-height: 50px;\n}\n.index__breadcrumb--2Wm6M .index__breadcrumb-link--3_6RK {\n color: #0068ff;\n}\n.index__breadcrumb-has-tab--Nwd3S {\n height: 80px;\n}\n.index__main--jl6wy {\n height: calc(100vh - 40px - 50px);\n overflow: hidden;\n}\n.index__main-no-breadcrumb--2XmS2 {\n height: calc(100vh - 40px);\n}\n.index__main-has-tab--3wlbw {\n margin-top: -42px;\n}\n.index__trigger-wrapper--rqEk9 {\n position: absolute;\n right: -24px;\n bottom: 48px;\n width: 24px !important;\n height: 70px;\n font-size: 16px;\n line-height: 70px;\n border-width: 24px;\n border-radius: 4px 0 0 4px;\n cursor: pointer;\n}\n.index__trigger--3pSSC {\n position: absolute;\n left: 0;\n color: #fff;\n font-size: 20px;\n}\n.index__trigger--3pSSC::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background: rgba(0, 0, 0, 0.35);\n border-right: none;\n border-radius: 0 4px 4px 0;\n -webkit-transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n transform: scaleX(2.2) perspective(50px) rotateY(50deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n -webkit-transform-origin: left;\n transform-origin: left;\n content: '';\n}\n.index__trigger-icon--2oz_J {\n margin-left: 2px;\n}\n.index__base-layout--1IYXj {\n position: relative;\n width: 100%;\n height: 100vh;\n}\n.index__base-layout-sider--1TtvU {\n position: absolute;\n top: 40px;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 230px;\n padding-top: 10px;\n background: linear-gradient(-240deg, #3f004a 50%, #000 100%) !important;\n border-right: none;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU {\n width: 40px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ {\n padding-right: 0;\n padding-left: 0;\n}\n.index__base-layout-sider-collapsed--37BAU .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 12px !important;\n text-overflow: inherit;\n}\n.index__base-layout-right--3JjUr {\n position: absolute;\n top: 40px;\n right: 0;\n left: 230px;\n height: calc(100vh - 40px);\n}\n.index__base-layout-right-collapsed--2DIVo {\n left: 40px;\n}\n.index__base-layout-sider-hover--MC2Db {\n width: 230px;\n -webkit-transition: all 0.2s;\n transition: all 0.2s;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ {\n padding-right: 14px;\n padding-left: 14px;\n}\n.index__base-layout-sider-hover--MC2Db .index__menu-collapsed--3qSkQ .index__menu-item-collapsed--Vp0Qm {\n padding-left: 48px !important;\n text-overflow: ellipsis;\n}\n.index__notice--1C1vX {\n position: absolute;\n top: 48px;\n right: 0;\n z-index: 1100;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 384px;\n max-width: calc(100vw - 48px);\n margin: 0 24px 0 0;\n margin-bottom: 16px;\n padding: 16px 24px;\n overflow: hidden;\n color: #0068ff;\n font-size: 18px;\n line-height: 24px;\n word-wrap: break-word;\n background: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n cursor: pointer;\n}\n.index__menu-item-title--2G1wq {\n font-size: 14px;\n}\n.index__menu-item-title--2G1wq span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-item-title--2yPhe {\n color: rgba(255, 255, 255, 0.65);\n font-size: 14px;\n}\n.index__sub-menu-item-title--2yPhe span {\n display: inline-block;\n max-width: 120px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.index__sub-menu-title--_bWGB {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.index__menu-item-title-wrapper--1WLcf {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",nav:"index__nav--1IKuR",header:"index__header--3eaFT","header-collapsed":"index__header-collapsed--2VIjO",logo:"index__logo--t_KQf","logo-collapse":"index__logo-collapse--1dyW-","logo-image":"index__logo-image--1r9zB","logo-image-hover":"index__logo-image-hover--r0EY5","site-layout-background":"index__site-layout-background--1KhiG",sider:"index__sider--3mcQr",menu:"index__menu--38cbE","menu-collapsed":"index__menu-collapsed--3qSkQ","menu-item":"index__menu-item--3jS31",content:"index__content--2bhUz","sub-menu":"index__sub-menu--1MaIG",breadcrumb:"index__breadcrumb--2Wm6M","breadcrumb-item":"index__breadcrumb-item--qhsVt","breadcrumb-link":"index__breadcrumb-link--3_6RK","breadcrumb-has-tab":"index__breadcrumb-has-tab--Nwd3S",main:"index__main--jl6wy","main-no-breadcrumb":"index__main-no-breadcrumb--2XmS2","main-has-tab":"index__main-has-tab--3wlbw","trigger-wrapper":"index__trigger-wrapper--rqEk9",trigger:"index__trigger--3pSSC","trigger-icon":"index__trigger-icon--2oz_J","base-layout":"index__base-layout--1IYXj","base-layout-sider":"index__base-layout-sider--1TtvU","base-layout-sider-collapsed":"index__base-layout-sider-collapsed--37BAU","menu-item-collapsed":"index__menu-item-collapsed--Vp0Qm","base-layout-right":"index__base-layout-right--3JjUr","base-layout-right-collapsed":"index__base-layout-right-collapsed--2DIVo","base-layout-sider-hover":"index__base-layout-sider-hover--MC2Db",notice:"index__notice--1C1vX","menu-item-title":"index__menu-item-title--2G1wq","sub-menu-item-title":"index__sub-menu-item-title--2yPhe","sub-menu-title":"index__sub-menu-title--_bWGB","menu-item-title-wrapper":"index__menu-item-title-wrapper--1WLcf"}},2078:function(e,t,a){"use strict";var n=a(162),r=a(20),l=a(25),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.LayoutMenu=void 0;var o=i(a(164)),s=i(a(54)),u=i(a(29)),d=i(a(86)),c=i(a(28)),f=i(a(350)),p=i(a(591)),h=i(a(77)),m=i(a(91)),g=i(a(1573)),v=i(a(1574));a(344);var y=i(a(202)),b=i(a(35));a(1276);var x=i(a(421)),w=i(a(205)),k=i(a(134)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=j(t);if(a&&a.has(e))return a.get(e);var n={},i=r&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?r(n,o,s):n[o]=e[o]}n.default=e,a&&a.set(e,n);return n}(a(0)),_=(a(161),a(564),a(412)),M=a(36),S=i(a(4)),I=a(567),N=i(a(237)),E=a(1710),T=a(1575),A=i(a(1454));function j(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(j=function(e){return e?a:t})(e)}var P={"/network":T.faSitemap,"/storage":T.faServer,"/compute":T.faMicrochip,"/random":T.faRandom},{SubMenu:D}=x.default,{getLocaleShortName:L}=N.default;class O extends C.Component{constructor(e){var t;super(e),t=this,(0,b.default)(this,"onCollapse",(e=>{this.setState({collapsed:e})})),(0,b.default)(this,"changeCollapse",(()=>{var{collapsed:e}=this.state;this.setState({collapsed:!e,hover:!1});var{onCollapseChange:t}=this.props;t&&t(!e)})),(0,b.default)(this,"onMouseEnter",(e=>{var{collapsed:t}=this.state;if(t){var a=e&&e.target||null,n=a&&a.className||"";(0,k.default)(n)&&!(0,o.default)(n).call(n,"trigger")&&this.setState({hover:!0})}})),(0,b.default)(this,"onMouseLeave",(()=>{var{hover:e}=this.state;e&&this.setState({hover:!1})})),(0,b.default)(this,"onClickMenuItem",(e=>{var{key:t}=e,a=(0,I.getPath)({key:t}),{pathname:n}=this.props;n!==a&&this.routing.push(a)})),(0,b.default)(this,"renderMenuItemIcon",(e=>{var{item:t}=e,a=P[t.path];return a?C.default.createElement(E.FontAwesomeIcon,{icon:a,className:A.default["action-icon"]}):t.icon||null})),(0,b.default)(this,"renderMenuItem",((e,t)=>{var a,{collapsed:n,hover:r}=this.state;if(n&&!r)return C.default.createElement(x.default.Item,{key:e.key,className:A.default["menu-item-collapsed"]},this.renderMenuItemIcon({item:e,collapsed:n,isSubMenu:t}));if(e.level>1)return null;var{showChildren:l=!0}=e;if(!l||!e.children||0===e.children.length||e.level)return C.default.createElement(x.default.Item,{key:e.key,className:A.default["menu-item"],onClick:this.onClickMenuItem},C.default.createElement("span",{className:A.default["menu-item-title-wrapper"]},this.renderMenuItemIcon({item:e,isSubMenu:t}),C.default.createElement("span",{className:0===e.level||1===e.level&&!l?A.default["menu-item-title"]:A.default["sub-menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)));var i=C.default.createElement("span",{className:A.default["sub-menu-title"],style:{alignItems:"center"}},C.default.createElement("span",{style:{marginRight:"20px"}},this.renderMenuItemIcon({item:e})),C.default.createElement("span",{className:A.default["menu-item-title"]},e.name.length>=this.maxTitleLength?C.default.createElement(y.default,{title:e.name,placement:"right"},e.name):e.name)),o=(0,s.default)(a=e.children).call(a,(e=>this.renderMenuItem(e,!0)));return C.default.createElement(D,{key:e.key,title:i,className:A.default["sub-menu"]},o)})),(0,b.default)(this,"getFirstLevelKeys",(e=>{var t,a=(0,u.default)(t=this.menu).call(t,(t=>{var{children:a=[]}=t;if(!a.length)return(0,o.default)(e).call(e,t.key);var n=(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)));return!!n||((0,c.default)(a).call(a,(t=>{var{children:a=[]}=t;(0,d.default)(a).call(a,(t=>(0,o.default)(e).call(e,t.key)))&&(n=!0)})),n)}));return(0,s.default)(a).call(a,(e=>e.key))})),(0,b.default)(this,"getSelectedKeysForMenu",(e=>{var{collapsed:t,hover:a}=this.state;return!t||a?e:this.getFirstLevelKeys(e)})),(0,b.default)(this,"getCurrentOpenKeys",(e=>this.getFirstLevelKeys(e))),(0,b.default)(this,"renderMenu",(function(){var e,a,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{collapsed:r}=t.state,{openKeys:l}=t.rootStore,i=(0,u.default)(e=(0,s.default)(a=t.menu).call(a,(e=>t.renderMenuItem(e)))).call(e,(e=>null!==e)),o=t.getSelectedKeysForMenu(n);return C.default.createElement(x.default,{theme:"dark",mode:"inline",className:r?A.default["menu-collapsed"]:A.default.menu,defaultSelectedKeys:o,selectedKeys:o,openKeys:l,onOpenChange:t.onOpenChange},i)})),(0,b.default)(this,"onOpenChange",(e=>{var{openKeys:t}=this.state,{openKeys:a}=this.rootStore,n=(0,f.default)(new p.default((0,h.default)(t).call(t,(0,M.toJS)(a)))),r=(0,d.default)(e).call(e,(e=>-1===(0,m.default)(n).call(n,e))),l=r?[r]:[];this.updateOpenKeys(l)})),(0,b.default)(this,"updateOpenKeys",(e=>{this.rootStore.updateOpenKeys(e),this.setState({openKeys:e})})),(0,b.default)(this,"getSelectedKeys",(e=>0===e.length?[]:1===e.length?[e[0].key]:e.length>=2?[e[1].key]:[])),this.state={collapsed:!1,hover:!1,openKeys:[]};var a=L();this.maxTitleLength="zh"===a?9:17}componentDidMount(){this.init()}componentDidUpdate(e){var{pathname:t}=this.props,{pathname:a}=e;a&&t!==a&&this.updateOpenKeysByRoute()}get menu(){return this.props.menu||[]}get isAdminPage(){return this.props.isAdminPage||!1}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRouteName(e);return(0,I.getPath)({key:n,params:t,query:a})}getOpenKeysByRoute(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e);return this.getCurrentOpenKeys(t)}get rootStore(){return this.props.rootStore}get routing(){return this.props.rootStore.routing}updateOpenKeysByRoute(){var e=this.getOpenKeysByRoute(),{openKeys:t}=this.rootStore;(0,w.default)(e,(0,M.toJS)(t))||this.init()}init(){var e=this.getOpenKeysByRoute();this.updateOpenKeys(e)}renderTrigger(){var{collapsed:e}=this.state,t=e?C.default.createElement(v.default,{className:A.default["trigger-icon"]}):C.default.createElement(g.default,{className:A.default["trigger-icon"]});return C.default.createElement("div",{className:A.default["trigger-wrapper"]},C.default.createElement("div",{className:A.default.trigger,onClick:this.changeCollapse},t))}render(){var{currentRoutes:e}=this.props,t=this.getSelectedKeys(e),{hover:a,collapsed:n}=this.state,r=this.renderTrigger();return C.default.createElement("div",{className:(0,S.default)(A.default["base-layout-sider"],n?A.default["base-layout-sider-collapsed"]:"",a?A.default["base-layout-sider-hover"]:""),onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderMenu(t),r)}}t.LayoutMenu=O;var R=(0,_.inject)("rootStore")((0,_.observer)(O));t.default=R}}]); \ No newline at end of file diff --git a/skyline_console/static/basic.bundle.1733818396.js.gz b/skyline_console/static/basic.bundle.1733828928.js.gz similarity index 80% rename from skyline_console/static/basic.bundle.1733818396.js.gz rename to skyline_console/static/basic.bundle.1733828928.js.gz index 938eecb5e737ef52ccb715c42dae75f974c6fa84..eeebca0f950ea4de1e95f123892d500936846ce6 100644 GIT binary patch delta 15503 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 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,j.default)(this,"setRefreshDataTimerTransition",(()=>{this.stopRefreshAuto(),this.dataTimerTransition||(this.dataTimerTransition=(0,p.default)((()=>{this.handleRefresh(),this.dataTimerTransition=null}),1e3*this.dataDurationTransition))})),(0,j.default)(this,"setRefreshDataTimerAuto",(()=>{if(this.stopRefreshTransition(),this.ableAutoFresh){var{autoRefresh:e}=this.state;e&&!this.dataTimerAuto&&(this.dataTimerAuto=(0,p.default)((()=>{this.autoRefreshCount+=1,this.handleRefresh(),this.dataTimerAuto=null}),1e3*this.dataDurationAuto))}})),(0,j.default)(this,"onStopRefreshAuto",(()=>{this.setState({autoRefresh:!1}),this.stopRefreshAuto()})),(0,j.default)(this,"onClickAction",(()=>{this.inAction=!0,this.autoRefreshCount=0})),(0,j.default)(this,"onFinishAction",(()=>{this.inAction=!1,this.handleSelectRowKeys([]),this.handleRefresh(!0)})),(0,j.default)(this,"onCancelAction",(()=>{this.inAction=!1,this.getDataSource()})),(0,j.default)(this,"handleInputFocus",(e=>{this.inAction=e,e||this.setRefreshDataTimerAuto()})),(0,j.default)(this,"fetchListWithTry",function(){var e=(0,R.default)((function*(e){try{e&&(yield e())}catch(e){var{message:r="",data:n,status:i}=(e||{}).response||e||{};if(401===i){var l=t("The session has expired, please log in again.");J.default.errorWithDetail(null,l)}else if(500===i){var o,s=t("System is error, please try again later."),u=(0,h.default)(o="".concat(t("Get {name} error.",{name:a.name.toLowerCase()})," ")).call(o,s);J.default.errorWithDetail(null,u)}else{var d={message:n||r||e||"",status:i};J.default.errorWithDetail(d,t("Get {name} error.",{name:a.name.toLowerCase()}))}a.list.isLoading=!1,a.list.silent=!1}}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"updateFetchParamsByPage",(e=>e)),(0,j.default)(this,"updateFetchParams",(e=>e)),(0,j.default)(this,"fetchDataByPage",function(){var e=(0,R.default)((function*(e){yield a.store.fetchListByPage(e),a.list.silent=!1}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"fetchData",function(){var e=(0,R.default)((function*(e){yield a.store.fetchList(e),a.list.silent=!1}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"fetchDownloadData",function(){var e=(0,R.default)((function*(e){return a.isFilterByBackend?yield a.downloadStore.fetchListByPage(a.updateFetchParamsByPage(e)):yield a.downloadStore.fetchList(a.updateFetchParams(e))}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"getDownloadData",(0,R.default)((function*(){var e=(0,E.default)({},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),{filters:t}=a.state,r=re(re(re(re({},a.props.match.params),e),t),{},{sortKey:e.sortKey||a.isSortByBackend&&a.defaultSortKey||"",sortOrder:e.sortOrder||a.isSortByBackend&&a.defaultSortOrder||""});!a.isAdminPage&&a.fetchDataByCurrentProject?r.project_id=a.currentProjectId:a.isAdminPage&&a.fetchDataByAllProjects&&a.allProjectsKey&&(r[a.allProjectsKey]=!0);var n=yield a.fetchDownloadData(r);return n}))),(0,j.default)(this,"startRefreshAuto",(()=>{this.autoRefreshCount=0,this.setState({autoRefresh:!0}),this.handleRefresh()})),(0,j.default)(this,"stopRefreshAuto",(()=>{clearTimeout(this.dataTimerAuto),this.dataTimerAuto=null})),(0,j.default)(this,"stopRefreshTransition",(()=>{clearTimeout(this.dataTimerTransition),this.dataTimerTransition=null})),(0,j.default)(this,"getFilteredValue",(e=>this.list.filters[e])),(0,j.default)(this,"checkIsProjectFilter",(e=>e.name===this.projectFilterKey)),(0,j.default)(this,"getSearchFilters",(()=>{var e=this.searchFilters;return this.isAdminPage&&this.adminPageHasProjectFilter?(0,m.default)(e).call(e,(e=>this.checkIsProjectFilter(e)))?e:[...e,{label:t("Project ID"),name:this.projectFilterKey}]:e})),(0,j.default)(this,"filterDataByTime",(e=>{if(!this.filterTimeKey)return!0;var{timeFilter:{value:t=0,start:a,end:r}={}}=this.state;if(0===t)return!0;var n=(0,V.default)(e,this.filterTimeKey,0);return 1!==t?(0,Z.checkTimeIn)(n,(new Date).getTime()-t,null):(0,Z.checkTimeIn)(n,a,r)})),(0,j.default)(this,"checkFilterInclude",(e=>{var t,a=(0,m.default)(t=this.searchFilters).call(t,(t=>t.name===e));return(0,L.default)(a,"include")?a.include:!(0,L.default)(a,"options")})),(0,j.default)(this,"filterData",(e=>{var t;if(!this.filterDataByTime(e))return!1;var{filters:a}=this.state;if(1===(0,g.default)(a).length&&a.keywords){var r,{keywords:n}=a;return!!(0,m.default)(r=(0,v.default)(e)).call(r,(e=>((0,B.default)(e)||(0,O.default)(e))&&(0,y.default)(e).call(e,n)>=0))}return!(0,m.default)(t=(0,g.default)(a)).call(t,(t=>{var r,n=(0,V.default)(e,t),i=a[t],{filterFunc:l}=(0,m.default)(r=this.getSearchFilters()).call(r,(e=>e.name===t));if(l)return!l(n,i,e);var o,s=this.checkFilterInclude(t);return(0,B.default)(n)&&(0,B.default)(i)?s?(0,y.default)(o=n.toLowerCase()).call(o,i.toLowerCase())<0:n.toLowerCase()!==i.toLowerCase():!(0,z.default)(n,i)}))})),(0,j.default)(this,"getDataSource",(()=>{var e,{data:t,filters:a={}}=this.list,{timeFilter:r={}}=this.state,{id:n,tab:i}=a,l=(0,N.default)(a,["id","tab"]),o=[];this.isFilterByBackend?o=(0,H.toJS)(t):(o=(0,b.default)(e=(0,H.toJS)(t)||[]).call(e,(e=>this.filterData(e,(0,H.toJS)(l),(0,H.toJS)(r)))),this.updateList({total:o.length}));return(0,_.default)(o).call(o,(e=>this.itemInTransitionFunction(e)))?this.setRefreshDataTimerTransition():this.setRefreshDataTimerAuto(),this.updateHintsByData(o),this.setTableHeight(),o})),(0,j.default)(this,"getFilters",(()=>{var e,{filters:t}=this.list;return re(re({},(0,G.parse)((0,S.default)(e=this.location.search).call(e,1))),(0,H.toJS)(t))})),(0,j.default)(this,"handleMoreMenuClick",(e=>(t,a)=>{var r,n=(0,m.default)(r=this.enabledItemActions).call(r,(e=>e.key===a));n&&n.onClick&&n.onClick(e)})),(0,j.default)(this,"refreshDetailData",(()=>{var{refreshDetail:e}=this.props;e&&e(this.refreshDetailDataWithSilence)})),(0,j.default)(this,"handleRefresh",(e=>{var{inAction:t,inSelect:a}=this;if((!this.inDetailPage||!this.inDetailAction)&&!(t||a&&!e)&&(e||!(this.autoRefreshCount>=this.autoRefreshCountMax))){e&&(this.autoRefreshCount=0);var{page:r,limit:n,sortKey:i,sortOrder:l,filters:o}=this.list,s=re(re({page:r,limit:n,sortKey:i,sortOrder:l},(0,H.toJS)(o)),{},{silent:!e});this.handleFetch(s,!0),this.inDetailPage&&(e||this.forceRefreshTopDetailWhenListRefresh)&&this.shouldRefreshDetail&&this.refreshDetailData()}})),(0,j.default)(this,"updateList",(e=>{var t;this.list&&(this.list.update?this.list.update(e):(0,x.default)(t=(0,g.default)(e)).call(t,(t=>{this.list[t]=e[t]})))})),(0,j.default)(this,"getPureParamsByFrontend",(e=>{var t,{page:a,limit:r,sortKey:n,sortOrder:i}=e,l=(0,N.default)(e,["page","limit","sortKey","sortOrder"]),o={page:a,limit:r};if(this.isSortByBackend&&(o.sortKey=n,o.sortOrder=i),!this.searchFilters.length){var{keywords:s}=l,u=(0,N.default)(l,["keywords"]);return re(re({},o),u)}return(0,x.default)(t=(0,g.default)(l)).call(t,(e=>{var t;(0,m.default)(t=this.searchFilters).call(t,(t=>t.name===e))||(o[e]=l[e])})),o})),(0,j.default)(this,"handleFetch",((e,t)=>{if(!t||this.isFilterByBackend){var{sortKey:a,limit:r,page:n,current:i,sortOrder:l}=e;(0,N.default)(e,["sortKey","limit","page","current","sortOrder"]);n===this.list.page&&r===this.list.limit||(this.autoRefreshCount=0),this.isFilterByBackend?this.getDataWithPolicy(re(re({},e),this.list.filters||{})):this.updateList({page:n,limit:r,sortKey:a,sortOrder:l})}else this.getDataWithPolicy(this.getPureParamsByFrontend(e))})),(0,j.default)(this,"handleFetchBySort",(e=>{if(this.isSortByBackend){var t=re(re({},e),{},{page:1});this.handleFetch(t,!0)}else{var{sortKey:a,limit:r,page:n,sortOrder:i}=e;this.updateList({page:n,limit:r,sortKey:a,sortOrder:i})}})),(0,j.default)(this,"handleFilterChange",((e,t)=>{var{page:a,limit:r,sortKey:n,sortOrder:i}=e,l=(0,N.default)(e,["page","limit","sortKey","sortOrder"]);this.isFilterByBackend?(this.list.filters=e,this.setState({filters:l,timeFilter:t},(()=>{this.handleFetch(e,!0)}))):(this.updateList({page:a,sortKey:n,sortOrder:i,filters:l}),this.setState({filters:l,timeFilter:t}))})),(0,j.default)(this,"handleSelectRowKeys",(e=>{this.store.setSelectRowKeys("list",e),e&&0!==e.length?(this.inSelect=!0,this.autoRefreshCount=0):(this.inSelect=!1,this.getDataSource())})),(0,j.default)(this,"onCloseSuccessHint",(()=>{})),(0,j.default)(this,"getTablePageSize",(e=>{var t=[10,20,50,100],a=this.pageSizeOptions||t;return(0,w.default)(a).call(a,e)?e:a[0]||t[0]})),(0,j.default)(this,"renderMore",((e,t)=>{if((0,Q.default)(this.enabledItemActions))return null;var a=this.renderMoreMenu(t);return null===a?null:q.default.createElement(A.default,{content:a,trigger:"click",placement:"bottomRight"},q.default.createElement(M.default,{icon:"more",type:"flat"}))})),(0,j.default)(this,"renderMoreMenu",(e=>{var t,a=(0,I.default)(t=this.enabledItemActions).call(t,(t=>((0,U.default)(t.show)?t.show(e):t.show||!0)?q.default.createElement(P.default.MenuItem,{key:t.key},q.default.createElement(T.default,{name:t.icon})," ",q.default.createElement("span",null,t.text)):null));return(0,C.default)(a).call(a,(e=>null===e))?null:q.default.createElement(P.default,{onClick:this.handleMoreMenuClick(e)},a)})),this.options=n,this.state={filters:{},timeFilter:{},autoRefresh:!0,newHints:!1,tableHeight:this.getTableHeight()},this.dataTimerTransition=null,this.dataTimerAuto=null,this.dataDurationTransition=10,this.dataDurationAuto=30,this.autoRefreshTotalTime=600,this.autoRefreshCount=0,this.autoRefreshCountMax=Math.floor(this.autoRefreshTotalTime/this.dataDurationAuto),this.infoMessage="",this.successMessage="",this.errorMessage="",this.warnMessage="",this.inAction=!1,this.inSelect=!1,this.setTableHeight=(0,k.default)(r=this.setTableHeight).call(r,this),this.debounceSetTableHeight=this.debounceSetTableHeight.call(this),this.init()}componentDidMount(){var e=this.initFilter;if(!this.filterTimeKey){var{limit:t,page:a}=this.store.list;this.list.filters={},this.handleFetch(re(re({},e),{},{limit:t,page:a}),!0)}window.addEventListener("resize",this.debounceSetTableHeight)}componentDidUpdate(e){if(this.inDetailPage){var{detail:t}=e,{detail:a}=this.props;(0,Q.default)(t)||(0,Q.default)(a)||(0,z.default)(t,a)||this.handleRefresh(!0)}}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions(),this.stopRefreshTransition(),this.stopRefreshAuto(),this.clearListUnmount&&this.store.clearData&&this.store.clearData("listUnmount"),window.removeEventListener("resize",this.debounceSetTableHeight)}get policy(){return""}get aliasPolicy(){return""}get name(){return""}get title(){return"".concat(this.name,"s")}get className(){return""}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get inDetailPage(){var{detail:e}=this.props;return!!e}get inDetailAction(){var{inAction:e}=this.props;return!!e}get detailName(){if(!this.inDetailPage)return"";var{detailName:e}=this.props;return e}get shouldRefreshDetail(){return!0}get location(){return this.props.location}get isAdminPage(){var{pathname:e}=this.location;return(0,Y.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,ee.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,ee.getLinkRender)({key:n,params:a,query:r,value:t})}get prefix(){return this.props.match.url}get params(){return this.props.match.params||{}}get routing(){return this.props.rootStore.routing}get list(){return this.store.list}get isLoading(){return this.list.isLoading||this.store.isSubmitting}get tips(){return[]}get rowKey(){return"id"}get hasTab(){return!1}get hasSubTab(){return!1}get hideCustom(){return!1}get hideSearch(){return!1}get hideRefresh(){return!1}get hideDownload(){return!1}get checkEndpoint(){return!1}get endpoint(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}get initFilter(){var e;return(0,G.parse)((0,S.default)(e=this.location.search).call(e,1))||{}}get hintHeight(){var e=0;return this.infoMessage&&(e+=50),this.warnMessage&&(e+=50),this.errorMessage&&(e+=50),this.successMessage&&(e+=50),e}get tableTopHeight(){var e=document.getElementById("sl-table-header-search"),t=document.getElementById("search-items-menu"),a=e?e.scrollHeight:50,r=(null==t?void 0:t.scrollHeight)||0,n=90+(r?a-r+10:a)+16;return this.hasSubTab?n+88+20:this.hasTab?n+44:n}getTableHeight(){var e=window.innerHeight;if(this.inDetailPage)return-1;var t=document.getElementsByClassName("ant-table-header")[0],a=t?t.offsetHeight:51,r=e-this.tableTopHeight-this.hintHeight-50-a;return r>0?r:1}get tableWidth(){return 800}get isFilterByBackend(){return!1}get isSortByBackend(){return!1}get ableSkipPageByBackend(){return!1}get enabledItemActions(){var e;return(0,b.default)(e=this.itemActions).call(e,(e=>!e.action))}get adminPageHasProjectFilter(){return!1}get transitionStatusList(){return[]}get fetchDataByAllProjects(){return!0}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get currentProjectId(){return this.props.rootStore.projectId}get fetchDataByCurrentProject(){return!1}get defaultSortKey(){return""}get defaultSortOrder(){return"descend"}get clearListUnmount(){return!1}get itemInTransitionFunction(){return e=>{var t,{status:a}=e;return(0,y.default)(t=this.transitionStatusList).call(t,a)>=0}}get ableAutoFresh(){return!0}get actionConfigs(){return{batchActions:[],primaryActions:[],rowActions:[]}}get primaryActions(){return this.actionConfigs.primaryActions}get batchActions(){return this.actionConfigs.batchActions}get itemActions(){return this.actionConfigs.rowActions}get searchFilters(){return[]}get expandable(){}get filterTimeKey(){}get projectFilterKey(){return"project_id"}get pageSizeOptions(){return[10,20,50,100]}get hideTotal(){return!1}get primaryActionsExtra(){return null}get allProjectsKey(){return"all_projects"}get forceRefreshTopDetailWhenListRefresh(){return!1}get middleComponentInTableHeader(){return null}get refreshDetailDataWithSilence(){return!0}getEmptyProps(){return{}}getEnabledTableProps(){var e=this.getTableProps();return(0,Q.default)(this.batchActions)&&(e.onSelectRowKeys=null),e}getCheckboxProps(e){return{disabled:!1,name:e.name}}getBaseTableProps(){var{keyword:e,selectedRowKeys:a,total:r,page:n,limit:i,silent:l,sortKey:o,sortOrder:s,timerFilter:u}=this.list,d={total:r,current:Number(n),pageSize:this.getTablePageSize(i),showTotal:e=>t("Total {total} items",{total:e}),showSizeChanger:!0};this.pageSizeOptions&&(d.pageSizeOptions=this.pageSizeOptions);var{autoRefresh:c,tableHeight:f}=this.state;return re({resourceName:this.name,detailName:this.detailName,data:this.getDataSource(),columns:this.getColumns(),filters:this.getFilters(),timerFilter:u,searchFilters:this.getSearchFilters(),keyword:e,pagination:d,primaryActions:this.primaryActions,batchActions:this.batchActions,itemActions:this.itemActions,getCheckboxProps:this.getCheckboxProps,isLoading:this.isLoading,silentLoading:l,rowKey:this.rowKey,selectedRowKeys:(0,H.toJS)(a),scrollY:f,sortKey:o,sortOrder:s,defaultSortKey:this.defaultSortKey,defaultSortOrder:this.defaultSortOrder,getDownloadData:this.getDownloadData,containerProps:this.props,expandable:this.expandable,showTimeFilter:!!this.filterTimeKey,filterTimeDefaultValue:this.filterTimeDefaultValue,isPageByBack:this.isFilterByBackend,isSortByBack:this.isSortByBackend,ableSkipPageByBackend:this.ableSkipPageByBackend,autoRefresh:c,startRefreshAuto:this.startRefreshAuto,stopRefreshAuto:this.onStopRefreshAuto,onClickAction:this.onClickAction,onFinishAction:this.onFinishAction,onCancelAction:this.onCancelAction,dataDurationAuto:this.dataDurationAuto,handleInputFocus:this.handleInputFocus,hideTotal:this.hideTotal,hideDownload:this.hideDownload,primaryActionsExtra:this.primaryActionsExtra,isAdminPage:this.isAdminPage,initFilter:this.initFilter,middleComponentInHeader:this.middleComponentInTableHeader},this.getEnabledTableProps())}getTableProps(){return{onRefresh:this.handleRefresh,onFetch:this.handleFetch,onFetchBySort:this.handleFetchBySort,onSelectRowKeys:this.handleSelectRowKeys,onFilterChange:this.handleFilterChange,hideCustom:this.hideCustom,hideSearch:this.hideSearch,hideRefresh:this.hideRefresh,hideAutoRefresh:!this.ableAutoFresh}}getData(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{silent:t}=e,a=(0,N.default)(e,["silent"]);t&&(this.list.silent=!0);var r=re(re(re({},this.props.match.params),a),{},{sortKey:a.sortKey||this.isSortByBackend&&this.defaultSortKey||"",sortOrder:a.sortOrder||this.isSortByBackend&&this.defaultSortOrder||""});if(!this.isAdminPage&&this.fetchDataByCurrentProject?r.project_id=this.currentProjectId:this.isAdminPage&&this.fetchDataByAllProjects&&this.allProjectsKey&&(r[this.allProjectsKey]=!0),this.isFilterByBackend){var{limit:n}=r;n&&(r.limit=this.getTablePageSize(n)),this.fetchListWithTry((()=>this.fetchDataByPage(this.updateFetchParamsByPage(r))))}else this.fetchListWithTry((()=>this.fetchData(this.updateFetchParams(r))))}getDataWithPolicy(e){if(this.currentUser&&!(0,Q.default)(this.currentUser)&&!this.endpointError){if(!(0,X.default)({policy:this.policy,aliasPolicy:this.aliasPolicy,actionName:this.name})){var a={message:t("You don't have access to get {name}.",{name:this.name.toLowerCase()}),status:401};return J.default.errorWithDetail(a,t("Unable to get {name}.",{name:this.name.toLowerCase()})),this.list.isLoading=!1,void(this.list.silent=!1)}this.getData(e)}}setTableHeight(){if(!this.inAction){var e=this.getTableHeight(),{tableHeight:t}=this.state;e!==t&&this.setState({tableHeight:e})}}getColumns(){return[]}debounceSetTableHeight(){return(0,F.default)(this.setTableHeight,1e3)}updateHintsByOthers(){this.updateHints&&(this.updateHints(),(0,p.default)(this.setTableHeight,0),this.setState({newHints:!0}))}updateHintsByData(e){}init(){this.store={list:{}},this.downloadStore={}}renderTable(){try{var e=this.getBaseTableProps();return q.default.createElement(W.default,e)}catch(e){var t=this.getRoutePath("overview");return q.default.createElement($.default,{title:this.name,link:t,codeError:!0})}}renderInfoHint(){return this.infoMessage?q.default.createElement(D.default,{message:this.infoMessage,type:"info",showIcon:!0,className:te.default.hint}):null}renderSuccessHint(){return this.successMessage?q.default.createElement(D.default,{message:this.successMessage,type:"success",showIcon:!0,closable:!0,className:te.default.hint,onClose:this.onCloseSuccessHint}):null}renderWarnHint(){return this.warnMessage?q.default.createElement(D.default,{message:this.warnMessage,type:"warning",showIcon:!0,className:te.default.hint}):null}renderErrorHint(){return this.errorMessage?q.default.createElement(D.default,{message:this.errorMessage,type:"error",showIcon:!0,closable:!0,className:te.default.hint}):null}renderHint(){var{newHints:e}=this.state;return e||this.infoMessage||this.warnMessage||this.successMessage||this.errorMessage?q.default.createElement("div",{className:(0,K.default)(te.default.hints,"list-hints")},this.renderInfoHint(),this.renderSuccessHint(),this.renderWarnHint(),this.renderErrorHint()):null}renderHeader(){return null}render(){if(this.endpointError){var e=this.getRoutePath("overview");return q.default.createElement($.default,{title:this.name,link:e,endpointError:!0})}var t=this.renderTable();return q.default.createElement("div",{className:(0,K.default)(te.default.wrapper,"list-container",this.className)},this.renderHeader(),this.renderHint(),t)}}a.default=ne},1243:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(r(164)),h=f(r(203)),m=f(r(86)),g=f(r(54)),v=f(r(29)),y=f(r(91)),b=f(r(77));r(1315);var _=f(r(1316)),S=f(r(343)),x=f(r(1313));r(231);var w=f(r(341));r(1300);var I=f(r(1301)),C=f(r(1441)),k=f(r(611));r(594);var D=f(r(595)),P=f(r(35)),T=f(r(119)),A=f(r(177)),M=f(r(0)),N=r(349),E=f(r(4)),R=r(163),j=(r(161),r(564),f(r(1351))),F=f(r(3613)),L=f(r(1270)),O=r(36),z=f(r(1251)),B=f(r(1302)),V=r(342),U=r(567),Q=r(418),q=f(r(3616));function G(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,P.default)(this,"onCollapsedCallback",(()=>{})),(0,P.default)(this,"handleChangeTab",(e=>{this.handleFetch({tab:e},!0)})),(0,P.default)(this,"handleFetch",((e,t)=>{this.routing.query(e,t)})),(0,P.default)(this,"handleDetailInfo",(()=>{var{collapsed:e}=this.state;this.setState({collapsed:!e},(()=>{this.onCollapsedCallback(!e)}))})),(0,P.default)(this,"getDesc",((e,t)=>{var a,{dataIndex:r,render:n,valueRender:i,valueMap:l,unit:o}=t,s=(0,T.default)(e,r);if(n)return n(s,e);if(i){var u=R.renderFilterMap[i];return u&&u(s)}return l?(0,Q.getValueMapRender)(t)(s):o?(0,Q.getUnitRender)(t)(s):(0,p.default)(a=[void 0,null,""]).call(a,s)?"-":s})),(0,P.default)(this,"fetchData",((e,t)=>{if(this.store.fetchDetail){var a=K(K(K({},this.params),e||{}),{},{all_projects:this.isAdminPage,silent:t}),r=this.updateFetchParams(a);this.store.fetchDetail(r).catch(this.catch)}})),(0,P.default)(this,"getRouteProps",(()=>({}))),(0,P.default)(this,"fetchDataWithPolicy",((e,a)=>{if((0,z.default)({policy:this.policy,aliasPolicy:this.aliasPolicy,actionName:this.name}))this.fetchData(a,e);else{var r={message:t("You don't have access to get {name}.",{name:this.name.toLowerCase()}),status:401};L.default.errorWithDetail(r,t("Unable to get {name} detail.",{name:this.name.toLowerCase()}))}})),(0,P.default)(this,"refreshDetailByTab",(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];a.fetchDataWithPolicy(e)})),(0,P.default)(this,"refreshDetailByAction",(e=>{this.fetchDataWithPolicy(e)})),(0,P.default)(this,"handleRefresh",(()=>{this.fetchDataWithPolicy(!1)})),(0,P.default)(this,"catch",(e=>{var{data:a,status:r}=(e||{}).response||e||{};if(401===r){var n=t("The session has expired, please log in again.");L.default.errorWithDetail(null,n)}else if(404===r)this.setState({notFound:!0}),L.default.warn(t("{name} {id} could not be found.",{name:this.name.toLowerCase(),id:this.id}));else{var i={message:a,status:r};L.default.errorWithDetail(i,t("Get {name} detail error.",{name:this.name.toLowerCase()}))}})),(0,P.default)(this,"goBack",(()=>{this.routing.push(this.listUrl)})),(0,P.default)(this,"updateFetchParams",(e=>e)),(0,P.default)(this,"onFinishAction",((e,t,a)=>{if(e&&a)this.goBack();else{var r,n=!(0,p.default)(r=this.forceLoadingTabs).call(r,this.tab.key);this.refreshDetailByAction(n)}this.setState({inAction:!1})})),(0,P.default)(this,"onClickAction",(()=>{this.setState({inAction:!0})})),(0,P.default)(this,"onCancelAction",(()=>{this.setState({inAction:!1})})),this.options=r,this.state={notFound:!1,collapsed:!1},this.init()}componentDidMount(){this.fetchDataWithPolicy()}componentDidUpdate(e){var{id:t}=e.match.params;this.id!==t&&this.handleRefresh(!0)}get params(){return this.props.match.params||{}}get id(){return this.props.match.params.id}get policy(){return""}get aliasPolicy(){return""}get name(){return""}get routing(){return this.props.rootStore.routing}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get isAdminPage(){var{pathname:e}=this.props.location;return(0,R.isAdminPage)(e)}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,U.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,U.getLinkRender)({key:n,params:a,query:r,value:t})}get tabs(){return[]}get tab(){var e,t;if(0===this.tabs.length)return null;var a=(0,N.parse)((0,h.default)(e=this.routing.location.search).call(e,1)),{tab:r}=a;return(0,m.default)(t=this.tabs).call(t,(e=>e.key===r))||this.tabs[0]}get actionConfigs(){return V.emptyActionConfig}get rowActions(){return[]}get detailTabs(){return[{title:"tab1",key:"tab1",component:null},{title:"tab2",key:"tab2",component:null}]}get titleLabel(){return"ID:"}get titleValue(){return this.params.id}get detailTitle(){var{collapsed:e}=this.state,{Paragraph:a}=D.default,r=e?M.default.createElement(k.default,null):M.default.createElement(C.default,null);return M.default.createElement("div",null,M.default.createElement("span",{className:q.default["title-label"]},this.titleLabel),M.default.createElement("span",{className:q.default["header-title"]},M.default.createElement(a,{style:{display:"inherit"},copyable:!0},this.titleValue)),M.default.createElement(I.default,{type:"vertical",className:q.default["header-divider"]}),M.default.createElement(w.default,{onClick:this.goBack,type:"link"},t("Back")),M.default.createElement(w.default,{type:"link",icon:M.default.createElement(x.default,null),onClick:this.handleRefresh}),M.default.createElement(w.default,{onClick:this.handleDetailInfo,icon:r,type:"link",className:q.default["header-button"]}))}get className(){return""}get listUrl(){return""}get detailData(){return(0,O.toJS)(this.store.detail)||{}}get isLoading(){return this.store.isLoading}get detailInfos(){return[]}get forceLoadingTabs(){return[]}getActionData(){return this.detailData}init(){this.store={detail:{},isLoading:!0}}renderDetailInfos(){var e,t,{Paragraph:a}=D.default,{collapsed:r}=this.state;if((0,A.default)(this.detailData))return M.default.createElement(F.default,{title:this.detailTitle,descriptions:[],loading:this.isLoading});var n=r?[]:(0,g.default)(e=(0,v.default)(t=this.detailInfos).call(t,(e=>!e.hidden))).call(e,(e=>{var t,r,n,{title:i,dataIndex:l,copyable:o}=e;this.isLoading||!this.detailData||(0,A.default)(this.detailData)?t="-":"-"!==(t=this.getDesc(this.detailData,e))&&(o||0===(0,y.default)(r=l.toLowerCase()).call(r,"id")||(0,y.default)(n=l.toLowerCase()).call(n,"_id")>=0)&&(t=M.default.createElement(a,{style:{margin:0},copyable:o},t));return{label:i,content:t}}));return M.default.createElement(F.default,{title:this.detailTitle,descriptions:n,loading:this.isLoading})}renderTabComponent(e){var t,{component:a,key:r,render:n}=e,{inAction:i}=this.state;return n||(a?M.default.createElement(e.component,(0,S.default)({},this.props,{detail:this.detailData,detailName:(0,b.default)(t="".concat(this.name,"-")).call(t,this.id),refreshDetail:this.refreshDetailByTab,inAction:i})):M.default.createElement("span",null,r))}renderTab(e,t){return e!==t.key?M.default.createElement(_.default.TabPane,{tab:t.title,key:t.key}):M.default.createElement(_.default.TabPane,{tab:t.title,key:t.key},this.renderTabComponent(t))}renderTabs(){var e;if((0,A.default)(this.detailData)||this.isLoading)return null;if(!this.tab)return null;var t=(0,g.default)(e=this.tabs).call(e,(e=>this.renderTab(this.tab.key,e)));return M.default.createElement("div",{className:(0,E.default)(q.default["tab-wrapper"],this.className)},M.default.createElement(_.default,{activeKey:this.tab.key,onChange:this.handleChangeTab},t))}renderActions(){var e=this.getActionData();return(0,A.default)(e)||this.store.isLoading?null:M.default.createElement(B.default,{actions:this.actionConfigs.rowActions||this.actions,onFinishAction:this.onFinishAction,item:this.getActionData(),containerProps:{isAdminPage:this.isAdminPage},isAdminPage:this.isAdminPage,onClickAction:this.onClickAction,onCancelAction:this.onCancelAction})}render(){return this.state.notFound?M.default.createElement(j.default,{title:this.name,link:this.listUrl,goList:!0}):M.default.createElement("div",{className:(0,E.default)(q.default.main,this.className,"detail-main")},M.default.createElement("div",{className:q.default["action-wrapper"]},this.renderActions()),M.default.createElement("div",{className:q.default.header},this.renderDetailInfos()),M.default.createElement("div",{className:q.default.tabs},this.renderTabs()))}}a.default=H},1248:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.isBootFromVolume=a.allowAttachInterfaceStatus=a.SimpleTag=a.actionColumn=a.actionEvent=a.actionMap=a.instanceStatusFilter=a.allowAttachVolumeInstance=a.canCreateIronicByEndpoint=a.instanceSelectTablePropsBackend=a.instanceSortProps=a.instanceFilters=a.instanceColumnsBackend=a.isIronicInstance=a.physicalNodeTypes=a.getIpInitValue=a.getUserData=a.hasRootVolume=a.isIsoInstance=a.isNotError=a.isPaused=a.isStopped=a.isActive=a.isShutOff=a.isActiveOrShutOff=a.isNotLockedOrAdmin=a.checkStatus=a.lockRender=a.isLocked=a.isNotDeleting=a.isNotLocked=a.isBuilding=a.instanceStatus=a.powerStatus=a.taskStatus=a.stableStatus=a.transitionStatus=void 0;var p=f(r(164)),h=f(r(86)),m=f(r(54)),g=f(r(203));r(1311);var v=f(r(1312)),y=f(r(35));r(344);var b=f(r(202)),_=f(r(177)),S=f(r(0)),x=f(r(597)),w=(r(161),r(1592)),I=r(66),C=r(342),k=f(r(1593)),D=f(r(3543)),P=f(r(3544));function T(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t"build"===e.status;var O=e=>!e.locked;a.isNotLocked=O;var z=e=>!e.task_state||"deleting"!==e.task_state.toLowerCase();a.isNotDeleting=z;var B=e=>!!e.locked;a.isLocked=B;var V=e=>e?M:N;a.lockRender=V;var U=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],{status:r,vm_state:n}=t;return(0,p.default)(e).call(e,r.toLowerCase())||a&&n&&(0,p.default)(e).call(e,n.toLowerCase())};a.checkStatus=U;a.isNotLockedOrAdmin=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!B(e)||t};a.isActiveOrShutOff=e=>U(["active","shutoff"],e);a.isShutOff=e=>U(["shutoff"],e);a.isActive=e=>U(["active"],e);a.isStopped=e=>U(["stopped"],e);a.isPaused=e=>U(["paused"],e);a.isNotError=e=>!U(["error"],e);a.isIsoInstance=e=>{var{iso_server:t=!1}=e;return t};a.hasRootVolume=e=>{var{root_device_name:t="/dev/vda",volumes_attached:a=[]}=e;return!!(0,h.default)(a).call(a,(e=>e.is_root_volume||e.device===t))};var Q='Content-Type: multipart/mixed; boundary="===============2309984059743762475=="\nMIME-Version: 1.0\n\n--===============2309984059743762475==\nContent-Type: text/cloud-config; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="ssh-pwauth-script.txt" \n\n#cloud-config\ndisable_root: false\nssh_pwauth: true\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="passwd-script.txt" \n\n#!/bin/sh\necho \'USER_NAME:USER_PASSWORD\' | chpasswd\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="init-shell.txt" \n\nUSER_DATA\n\n--===============2309984059743762475==--',q='Content-Type: multipart/mixed; boundary="===============2309984059743762475==" \nMIME-Version: 1.0\n\n--===============2309984059743762475==\nContent-Type: text/cloud-config; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="ssh-pwauth-script.txt" \n\n#cloud-config\ndisable_root: false\nssh_pwauth: true\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="passwd-script.txt" \n\n#!/bin/sh\necho \'USER_NAME:USER_PASSWORD\' | chpasswd\n\n--===============2309984059743762475==--',G='Content-Type: multipart/mixed; boundary="===============2309984059743762475==" \nMIME-Version: 1.0\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="init-shell.txt" \n\nUSER_DATA\n\n--===============2309984059743762475==--';a.getUserData=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"root";if(e&&t){var r=Q.replace(/USER_PASSWORD/g,e);return(r=r.replace(/USER_NAME/g,a)).replace(/USER_DATA/g,t)}if(e){var n=q.replace(/USER_PASSWORD/g,e);return n.replace(/USER_NAME/g,a)}return G.replace(/USER_DATA/g,t)};a.getIpInitValue=e=>{if(!e)return null;var{start:t}=e.allocation_pools[0];return t};var K=[{label:t("Smart Scheduling"),value:"smart"},{label:t("Manually Specify"),value:"manually"}];a.physicalNodeTypes=K;var H=e=>{var{flavor_info:{extra_specs:t={}}={}}=e;return"bare_metal"===t[":architecture"]};a.isIronicInstance=H;var W=[{title:t("Name"),dataIndex:"name",sortKey:"display_name"},{title:t("Image"),sorter:!1,dataIndex:"image_os_distro",render:(e,t)=>S.default.createElement(x.default,{type:e,title:t.image_name})},{title:t("Fixed IP"),dataIndex:"fixed_addresses",width:120,sorter:!1,render:e=>e&&e.length?(0,m.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null)))):"-"},{title:t("Floating IP"),dataIndex:"floating_addresses",width:120,sorter:!1,render:e=>e&&e.length?(0,m.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null)))):"-"},{title:t("Flavor"),dataIndex:"flavor",sorter:!1},{title:t("Status"),dataIndex:"status",sorter:!1,render:e=>L[e&&e.toLowerCase()]||"-"},{title:t("Locked"),dataIndex:"locked",isHideable:!0,render:V},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}];a.instanceColumnsBackend=W;var Y=[{label:t("Name"),name:"name"}];a.instanceFilters=Y;var J={isSortByBack:!0,defaultSortKey:"created_at",defaultSortOrder:"descend"};a.instanceSortProps=J;var Z=A(A({},J),{},{filterParams:Y,columns:W});a.instanceSelectTablePropsBackend=Z;a.canCreateIronicByEndpoint=()=>(0,I.ironicOriginEndpoint)();a.allowAttachVolumeInstance=e=>U(["active","paused","stopped","resized","soft-delete","shelved","shelved_offloaded"],e)&&z(e)&&O(e)&&!H(e);var X={label:t("Status"),name:"status",options:[{label:t("Active"),key:"ACTIVE"},{label:t("Building"),key:"BUILD"},{label:t("Paused"),key:"PAUSED"},{label:t("Suspended"),key:"SUSPENDED"},{label:t("Error"),key:"ERROR"},{label:t("Shutoff"),key:"SHUTOFF"},{label:t("Shelved Offloaded"),key:"SHELVED_OFFLOADED"}]};a.instanceStatusFilter=X;var $={attach_interface:t("Attach Interface"),detach_interface:t("Detach Interface"),attach_volume:t("Attach Volume"),detach_volume:t("Detach Volume"),create:t("Create"),stop:t("Stop"),reboot:t("Reboot"),suspend:t("Suspend"),resume:t("Resume"),shelve:t("Shelve"),unshelve:t("Unshelve"),start:t("Start"),lock:t("Lock"),unlock:t("Unlock"),pause:t("Pause"),unpause:t("Unpause"),createImage:t("Create Snapshot"),resize:t("Extend Root Volume"),confirmResize:t("Resize"),"live-resize":t("Online Resize"),extend_volume:t("Extend Volume"),changePassword:t("Change Password"),rebuild:t("Rebuild"),migrate:t("Migrate"),"live-migration":t("Live Migrate"),delete:t("Delete"),restore:t("Recover")};a.actionMap=$;var ee={compute_restore_instance:t("Resume Instance"),compute_soft_delete_instance:t("Soft Delete Instance"),compute_post_live_migration_at_destination:t("Live Migration At Destination"),compute_pre_live_migration:t("Pre Live Migration"),compute_live_migration:t("Compute Live Migration"),compute_check_can_live_migrate_source:t("Check Can Live Migrate Source"),compute_check_can_live_migrate_destination:t("Check Can Live Migrate Destination"),conductor_live_migrate_instance:t("Conductor Live Migrate Instance"),compute_confirm_resize:t("Resized"),compute_finish_resize:t("Finish Resize"),compute_resize_instance:t("Resize Instance"),compute_prep_resize:t("Prep Resize"),cold_migrate:t("Cold Migrate"),conductor_migrate_server:t("Conductor Migrate Server"),compute_rebuild_instance:t("Rebuild Instance"),rebuild_server:t("Rebuild Instance"),compute_set_admin_password:t("Set Admin Password"),compute_extend_volume:t("Extend Volume"),compute_live_resize_instance:t("Compute Live Resize Instance"),conductor_live_resize_instance:t("Conductor Live Resize Instance"),api_snapshot_instance:t("Snapshot Instance"),api_lock:t("Lock"),api_unlock:t("Unlock"),compute_detach_volume:t("Detach Volume"),compute_attach_volume:t("Attach Volume"),compute_detach_interface:t("Detach Interface"),compute_attach_interface:t("Attach Interface"),compute__do_build_and_run_instance:t("Do Build And Run Instance"),compute_suspend_instance:t("Compute Suspend Instance"),compute_start_instance:t("Compute Start Instance"),compute_stop_instance:t("Compute Stop Instance"),compute_resume_instance:t("Compute Resume Instance"),compute_pause_instance:t("Compute Pause Instance"),compute_unpause_instance:t("Compute Unpause Instance"),compute_reboot_instance:t("Compute Reboot Instance")};a.actionEvent=ee;a.actionColumn=e=>[{title:t("Operation Name"),dataIndex:"action",valueMap:$},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!e.isAdminPage},{title:t("Operation Time"),dataIndex:"start_time",valueRender:"toLocalTimeMoment"},{title:t("Request ID"),dataIndex:"request_id",isHideable:!0,render:(e,t)=>S.default.createElement(S.default.Fragment,null,S.default.createElement("span",null,e),S.default.createElement(k.default,{id:t.instance_uuid,requestId:e,store:new w.ActionLogStore,actionEvent:ee}))},{title:t("User ID"),dataIndex:"user_id",isHideable:!0,hidden:!e.isAdminPage,render:t=>e.getLinkRender("userDetail",t,{id:t},null)}];a.SimpleTag=e=>{var{tag:t,index:a}=e,r=t.length>20,n=r?"".concat((0,g.default)(t).call(t,0,20),"..."):t,i=S.default.createElement(v.default,{key:t,color:C.projectTagsColors[a%10],style:{marginTop:2,marginBottom:2}},S.default.createElement("span",{style:{whiteSpace:"pre-wrap"}},n));return r?S.default.createElement(b.default,{key:t,title:S.default.createElement("span",{style:{whiteSpace:"pre-wrap"}},t)},i):i};a.allowAttachInterfaceStatus=["active","paused","stopped"];a.isBootFromVolume=e=>{var{origin_data:t}=e||{};return t&&!(0,_.default)(t)?!t.image:!e.image}},1249:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var f=c(a(54)),p=c(a(35)),h=c(a(570)),m=c(a(0)),g=c(a(4)),v=c(a(3658)),y=a(36),b=a(163),_=a(567),S=c(a(3661));function x(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}class w extends m.default.Component{constructor(e){super(e),(0,p.default)(this,"fetchData",(e=>{this.shouldFetchDetail&&this.store.fetchDetail&&this.store.fetchDetail(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,_.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,_.getLinkRender)({key:n,params:a,query:r,value:t})}init(){this.store={}}renderLeftCards(){var e;return(0,f.default)(e=this.leftCards).call(e,((e,t)=>{var{title:a,titleHelp:r,options:n,render:i,labelCol:l,contentCol:o,button:s,sourceData:u}=e;return i?i():m.default.createElement(v.default,{key:"card-left-".concat(t),className:"detail-left-card",data:u||this.detailData,title:a,titleHelp:r,options:n,loading:this.isLoading,labelCol:l,contentCol:o,button:s})}))}renderRightCards(){var e;return(0,f.default)(e=this.rightCards).call(e,((e,t)=>{var{title:a,options:r,labelCol:n,titleHelp:i,render:l,button:o,className:s}=e;if(l)return l();var u=8,d=16;return(0,h.default)(e,"labelCol")&&(d=24-(u=n)),m.default.createElement(v.default,{key:"card-right-".concat(t),className:(0,g.default)("detail-right-card",s),data:this.detailData,title:a,titleHelp:i,options:r,loading:this.isLoading,labelCol:u,contentCol:d,button:o})}))}renderModal(){return null}render(){return m.default.createElement("div",{className:(0,g.default)(S.default.main)},m.default.createElement("div",{className:S.default["left-side"],id:"detail-left-side",style:this.leftCardsStyle},this.renderLeftCards()),m.default.createElement("div",{className:S.default["right-side"],id:"detail-right-side"},this.renderRightCards()),this.renderModal())}}t.default=w},1255:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.UserStore=void 0;var f,p,h=c(a(86)),m=c(a(28)),g=c(a(32)),v=c(a(63)),y=c(a(54)),b=c(a(29)),_=c(a(25)),S=c(a(49)),x=c(a(58)),w=c(a(74)),I=c(a(35)),C=c(a(55)),k=(c(a(75)),a(36)),D=c(a(432)),P=c(a(50)),T=c(a(133)),A=c(a(340)),M=c(a(1288)),N=c(a(53));function E(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function R(e){for(var t=1;tM.default.addGroupUsers({id:e,userId:t}))),(0,I.default)(this,"addProjectUser",((e,t,a)=>A.default.assignUserRole({id:e,userId:t,roleId:a}))),(0,I.default)(this,"getUserDefaultProject",((e,t)=>{var{default_project_id:a}=e;if(a){var r=(0,h.default)(t).call(t,(e=>e.id===a));e.defaultProject=null==r?void 0:r.name}})),(0,I.default)(this,"getProjectMapRoles",((e,t,a,r)=>{var n={},{id:i}=e;return(0,m.default)(t).call(t,(e=>{var{scope:{project:{id:t}={}}={},role:{id:l}={},user:{id:o}={}}=e;if(o===i&&l&&t){var s=(0,h.default)(a).call(a,(e=>e.id===l));if(n[t])n[t].roles=[...n[t].roles,s];else{var u=(0,h.default)(r).call(r,(e=>e.id===t));n[t]={project:u,roles:[s]}}}})),n})),(0,I.default)(this,"getSystemRoles",((e,t,a,r)=>{var n=[],{id:i}=e||{};return(0,m.default)(t).call(t,(e=>{var{role:{id:t}={},user:{id:r}={}}=e;if(r===i&&t){var l=(0,h.default)(a).call(a,(e=>e.id===t));n.push(l)}})),n})),(0,I.default)(this,"updateUser",((e,t,a,r,n,i)=>{this.getUserDefaultProject(e,n);var l=this.getProjectMapRoles(e,t,r,n),o=this.getSystemRoles(e,a,r,n),s=(0,h.default)(i).call(i,(t=>t.id===e.domain_id));return R(R({},e),{},{projects:l,projectCount:(0,g.default)(l).length,domain:s,domainName:(s||{}).name||e.domain_id,systemRoles:o})}))}get client(){return P.default.keystone.users}get domainClient(){return P.default.keystone.domains}get systemGroupClient(){return P.default.keystone.systemGroups}get roleClient(){return P.default.keystone.roles}get roleAssignmentClient(){return P.default.keystone.roleAssignments}get projectClient(){return P.default.keystone.projects}get systemUserClient(){return P.default.keystone.systemUsers}get groupClient(){return P.default.keystone.groups}listFetchByClient(e,t){var{groupId:a}=t;return a?this.groupClient.users.list(a,e):this.client.list(e)}get paramsFunc(){return e=>{var{id:t,projectId:a,groupId:r,roleId:n,withProjectRole:i,withSystemRole:l,all_projects:o}=e;return(0,x.default)(e,["id","projectId","groupId","roleId","withProjectRole","withSystemRole","all_projects"])}}create(e){var t=this;return(0,S.default)((function*(){var a,r={},{select_project:n,select_user_group:i=[],projectRoles:l,defaultRole:o}=e,s=(0,x.default)(e,["select_project","select_user_group","projectRoles","defaultRole"]);r[t.responseKey]=s,t.isSubmitting=!0;var u=yield t.client.create(r),{user:{id:d}}=u,c=[];return(0,m.default)(i).call(i,(e=>{c.push(t.addGroupUsers(e,d))})),(0,m.default)(a=(0,g.default)(l)).call(a,(e=>{var a=l[e];(0,m.default)(a).call(a,(a=>{c.push(t.addProjectUser(e,d,a))}))})),yield v.default.all(c),t.isSubmitting=!1,u}))()}getUserProjects(){var e=this;return(0,S.default)((function*(){e.userProjects.update({isLoading:!0});var{user:{user:{id:t}}}=T.default,{projects:a}=yield e.client.projects.list(t);return e.userProjects.update({data:a,isLoading:!1}),a}))()}listDidFetch(e,t,a){var r=this;return(0,S.default)((function*(){if(!e.length)return e;var{withProjectRole:t=!0,withDefaultProject:n=!0,withSystemRole:i=!0,projectId:l,roleId:o,domain_id:s}=a,u=t||i,d={};o&&(d["role.id"]=o),l&&(d["scope.project.id"]=l);var c=[t?r.roleAssignmentClient.list(d):null,i?r.roleAssignmentClient.list({"scope.system":"all"}):null,u?r.roleClient.list():null,t||n?r.projectClient.list():null,s?null:r.domainClient.list()],[f,p,m,g,_]=yield v.default.all(c),{roles:S=[]}=m||{},{domains:x=[]}=_||{},{role_assignments:w=[]}=f||{},{role_assignments:I=[]}=p||{},{projects:C=[]}=g||{},k=(0,y.default)(e).call(e,(e=>r.updateUser(e,w,I,S,C,x)));return l?(0,b.default)(k).call(k,(e=>!!e.projectCount)):o?(0,b.default)(k).call(k,(e=>{var{projectCount:t,systemRoles:a}=e;return!!t||!!(0,h.default)(a).call(a,(e=>e.id===o))})):k}))()}fetchUserDefaultProject(e){var t=this;return(0,S.default)((function*(){var{default_project_id:a}=e;if(!a)return null;try{var{project:r}=yield t.projectClient.show(a);return r}catch(e){return null}}))()}detailDidFetch(e){var t=this;return(0,S.default)((function*(){var{id:a}=e,r={"user.id":a,"scope.system":"all"},n=[t.roleAssignmentClient.list(r),t.roleClient.list(),t.domainClient.list(),t.fetchUserDefaultProject(e)],[i,l,o,s]=yield v.default.all(n),{roles:u=[]}=l||{},{domains:d=[]}=o,{role_assignments:c=[]}=i||{};return t.updateUser(e,[],c,u,s?[s]:[],d)}))()}enable(e){var t=this;return(0,S.default)((function*(){var{id:a}=e;return t.submitting(t.client.patch(a,{user:{enabled:!0}}))}))()}forbidden(e){var t=this;return(0,S.default)((function*(){var{id:a}=e;return t.submitting(t.client.patch(a,{user:{enabled:!1}}))}))()}changePassword(e){var t=this;return(0,S.default)((function*(){var{id:a,password:r}=e,n={user:{password:r}};return t.submitting(t.client.patch(a,n))}))()}changePasswordUser(e){var t=this;return(0,S.default)((function*(){var{id:a,password:r,original_password:n}=e,i={user:{password:r,original_password:n}};return t.submitting(t.client.updatePassword(a,i))}))()}assignSystemRole(e){var t=this;return(0,S.default)((function*(){var{id:a,roleId:r}=e;return t.systemUserClient.roles.update(a,r)}))()}deleteSystemRole(e){var t=this;return(0,S.default)((function*(){var{id:a,roleId:r}=e;return t.systemUserClient.roles.delete(a,r)}))()}edit(e,t){var a=this;return(0,S.default)((function*(){var{email:r,phone:n,real_name:i,description:l,name:o}=t,s={user:{email:r,phone:n,real_name:i,description:l,name:o}};return a.submitting(a.client.patch(e,s))}))()}setDefaultProject(e,t){var a=this;return(0,S.default)((function*(){var r={user:{default_project_id:t}};return a.submitting(a.client.patch(e,r))}))()}},p=(0,C.default)(f.prototype,"userProjects",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new D.default}}),(0,C.default)(f.prototype,"create",[k.action],(0,_.default)(f.prototype,"create"),f.prototype),(0,C.default)(f.prototype,"getUserProjects",[k.action],(0,_.default)(f.prototype,"getUserProjects"),f.prototype),(0,C.default)(f.prototype,"enable",[k.action],(0,_.default)(f.prototype,"enable"),f.prototype),(0,C.default)(f.prototype,"forbidden",[k.action],(0,_.default)(f.prototype,"forbidden"),f.prototype),(0,C.default)(f.prototype,"changePassword",[k.action],(0,_.default)(f.prototype,"changePassword"),f.prototype),(0,C.default)(f.prototype,"changePasswordUser",[k.action],(0,_.default)(f.prototype,"changePasswordUser"),f.prototype),(0,C.default)(f.prototype,"assignSystemRole",[k.action],(0,_.default)(f.prototype,"assignSystemRole"),f.prototype),(0,C.default)(f.prototype,"deleteSystemRole",[k.action],(0,_.default)(f.prototype,"deleteSystemRole"),f.prototype),(0,C.default)(f.prototype,"edit",[k.action],(0,_.default)(f.prototype,"edit"),f.prototype),(0,C.default)(f.prototype,"setDefaultProject",[k.action],(0,_.default)(f.prototype,"setDefaultProject"),f.prototype),f);t.UserStore=j;var F=new j;t.default=F},1258:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getPortsAndReasons=function(e,a){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return(0,h.default)(e).call(e,(e=>{var n=!0,i="",l=e.fixed_ip_address;if(D(l))if(e["router:external"])i=t("Is external network port"),n=!1;else if(e.floatingIP){var o;i=(0,m.default)(o="".concat(t("Is associate to floating ip: ")," ")).call(o,e.floatingIP),n=!1}else(0,g.default)(a).call(a,(t=>t.subnet_id===e.subnet_id))<0&&(i="".concat(r?t("It is unreachable for this floating ip."):t("It is unreachable for all floating ips.")),n=!1);else i="".concat(t("It is IPv6 type.")),n=!1;return k(k({},e),{},{key:l,name:l,available:n,reason:i})}))},a.getPortsForPortFormItem=function(e){this.portStore.fetchList({device_owner:e,project_id:this.currentProjectId})},a.getPortFormItem=function(){var e,a=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],{portFixedIPs:r,fixedIpLoading:n}=this.state,i=[{label:t("Name"),name:"name"},{label:t("Fixed IP"),name:"fixed_ips",filterFunc:(e,t)=>{var a;return(0,v.default)(a=e||[]).call(a,(e=>{var a;return(0,y.default)(a=e.ip_address).call(a,t)}))}}];a&&i.push({label:t("Bind Resource Name"),name:"server_name"},{label:t("Status"),name:"status",options:(0,b.default)(e=(0,w.getOptions)(P)).call(e,(e=>{var t;return(0,y.default)(t=["ACTIVE","DOWN"]).call(t,e.key)}))});var l=[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("portDetail")},{title:t("Description"),dataIndex:"description"},{title:t("Fixed IPs"),dataIndex:"fixed_ips",render:e=>S.default.createElement(S.default.Fragment,null,(0,h.default)(e).call(e,((e,t)=>S.default.createElement("div",{key:"ip_address_".concat(t)},e.ip_address))))},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}];if(a){var o=[{title:t("Status"),dataIndex:"status",valueMap:P},{title:t("Bind Resource"),dataIndex:"server_name",render:(e,t)=>{var{device_id:a}=t;if(!a)return"-";var r=this.getLinkRender("instanceDetail",a,{id:a},{tab:"interface"});return S.default.createElement(S.default.Fragment,null,r,S.default.createElement("br",null),e||"-")}}];(0,_.default)(l).call(l,4,0,...o)}return[{name:"virtual_adapter",label:t("Virtual Adapter"),type:"select-table",required:!0,rowKey:"id",data:this.portStore.list.data||[],isLoading:this.portStore.list.isLoading,disabledFunc:this.portsDisableFunc,onChange:this.handlePortSelect,isMulti:!1,filterParams:i,columns:l},{name:"fixed_ip_address",label:t("Fixed IP"),type:"select-table",rowKey:"fixed_ip_address",required:!0,data:r,isLoading:n,isMulti:!1,filterParams:[{label:t("Ip Address"),name:"name"}],columns:[{title:t("Ip Address"),dataIndex:"name"},{title:t("Subnet ID"),dataIndex:"subnet_id"},{title:t("Reason"),dataIndex:"reason"}],disabledFunc:e=>!e.available}]},a.instancePortOptions=a.portFilter=a.getPortColumns=a.portFilters=a.portColumns=a.portSortProps=a.bindingTypes=a.portState=a.portStatus=void 0;var p=f(r(35)),h=f(r(54)),m=f(r(77)),g=f(r(1390)),v=f(r(232)),y=f(r(164)),b=f(r(29)),_=f(r(573)),S=f(r(0)),x=r(565),w=r(163),I=r(418);function C(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t(0,h.default)(e).call(e,(e=>S.default.createElement("div",{key:e},e))),sorter:!1},{title:t("IPv6 Address"),dataIndex:"ipv6",render:e=>(0,h.default)(e).call(e,(e=>S.default.createElement("div",{key:e},e))),sorter:!1},{title:t("Mac Address"),dataIndex:"mac_address",sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:P,sorter:!1}];a.portColumns=M;var N=[{label:t("Name"),name:"name"}];a.portFilters=N;var E=e=>[{title:t("Port"),dataIndex:"id"},{title:t("Bind Resource"),dataIndex:"server_name",render:(t,a)=>{var{device_id:r,device_owner:n}=a;if(r&&"compute:nova"===n){var i,l=t?(0,m.default)(i="".concat(r," (")).call(i,t,")"):r,o=e.getLinkRender("instanceDetail",l,{id:a.device_id},{tab:"interface"});return S.default.createElement(S.default.Fragment,null,a.device_owner,S.default.createElement("br",null),o)}return S.default.createElement(S.default.Fragment,null,a.device_owner,a.device_owner&&S.default.createElement("br",null),a.device_id||"-")},isHideable:!0,sorter:!1},{title:t("Owned Network"),dataIndex:"network_id",routeName:e.getRouteName("networkDetail"),sorter:!1,render:t=>{var a=e.getLinkRender("networkDetail",t,{id:t});return S.default.createElement(S.default.Fragment,null,a)}},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Status"),dataIndex:"status",width:80,valueMap:P}];a.getPortColumns=E;var R=[{label:t("Network"),name:"network_id"},{label:t("Status"),name:"status",options:(0,w.getOptions)(P)}];a.portFilter=R;a.instancePortOptions=e=>({columns:E(e),filterParams:R})},1259:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.FlavorStore=void 0;var f,p,h=c(a(164)),m=c(a(63)),g=c(a(584)),v=c(a(3566)),y=c(a(29)),b=c(a(54)),_=c(a(86)),S=c(a(422)),x=c(a(28)),w=c(a(25)),I=c(a(49)),C=c(a(58)),k=c(a(74)),D=c(a(35)),P=c(a(55)),T=(c(a(75)),a(36)),A=c(a(50)),M=c(a(53));function N(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t{var{extra_specs:t={}}=e||{},a=t["pci_passthrough:alias"],r=t["resources:VGPU"],n=t[":category"],i="-",l="-",o="-",s="-";if(r&&(i=(r||"").split(":")[0],l=(r||"").split(":")[1]),a)if(n&&!(0,h.default)(n).call(n,"visualization_")){var u=a.split(",")[0],d=a.split(",")[1];i=u.split(":")[0],l=u.split(":")[1],d&&(o=d.split(":")[0],s=d.split(":")[1])}else{var c=a.split(",")[0];o=c.split(":")[0],s=c.split(":")[1]}return{gpuType:i,gpuCount:l,usbType:o,usbCount:s}}))}get listWithDetail(){return!0}get client(){return A.default.nova.flavors}get mapperBeforeFetchProject(){return e=>{var{extra_specs:{key:t}={}}=e,a=(0,C.default)(e.extra_specs,["key"]),r=(0,C.default)(e,["extra_specs"]),n=this.getGpuInfo(e);return E(E(E(E({},r),a),{},{architecture:a[":architecture"]||"custom",category:a[":category"]},n),{},{is_public:r["os-flavor-access:is_public"],originData:e})}}get paramsFunc(){return e=>{var{all_projects:t,name:a}=e,r=(0,C.default)(e,["all_projects","name"]);return t?E(E({},r),{},{is_public:"None"}):E({name:a},r)}}listDidFetch(e,t,a){return(0,I.default)((function*(){var{tab:t}=a,r=[],n="EUR";yield new m.default((e=>{var t=a=>{"https://baha-dev.felcloud.io"===a.origin&&"SET_CURRENCY"===a.data.type&&(n=a.data.value||"EUR",window.removeEventListener("message",t),e())};window.addEventListener("message",t),window.parent.postMessage({type:"REQUEST_CURRENCY"},"*"),(0,g.default)(e,1e3)}));try{var i=yield fetch("https://baha-dev.felcloud.io/all_flavors");if(!i.ok)throw new Error("HTTP error! Status: ".concat(i.status));var l=yield i.json();r=(0,v.default)(l).call(l,(e=>e.compute))}catch(t){return e}var o=t?(0,y.default)(e).call(e,(e=>e.architecture===t)):e;return o=(0,b.default)(o).call(o,(e=>{var t=(0,_.default)(r).call(r,(t=>t.flavor===e.name));if(t){var a,i,l=(0,_.default)(a=t.price).call(a,(e=>e.name===n))||(0,_.default)(i=t.price).call(i,(e=>"EUR"===e.name)),o=(l?(0,S.default)(l.value):0).toFixed(3),s=(o/3600).toFixed(5),u=(24*o*30).toFixed(3);return E(E({},e),{},{pricePerSecond:s,pricePerMonth:u,profileCurrency:n})}return e}))}))()}fetchAccess(e){var t=this;return(0,I.default)((function*(){var a=yield t.client.access.list(e);t.access=a.flavor_access}))()}create(e,t,a){var r=this;return(0,I.default)((function*(){var n={};n[r.responseKey]=e;try{r.isSubmitting=!0;var i=yield r.client.create(n),{id:l}=i.flavor,o={extra_specs:t};return a&&a.length>0&&(yield m.default.all((0,b.default)(a).call(a,(e=>{var t={addTenantAccess:{tenant:e}};return r.client.action(l,t)})))),r.submitting(r.client.extraSpecs.create(l,o))}catch(e){return r.isSubmitting=!1,m.default.reject(e)}}))()}updateAccess(e,t,a){var r=this;return(0,I.default)((function*(){return r.isSubmitting=!0,yield m.default.all((0,b.default)(t).call(t,(t=>{var a={addTenantAccess:{tenant:t}};return r.client.action(e,a)}))),r.submitting(m.default.all((0,b.default)(a).call(a,(t=>{var a={removeTenantAccess:{tenant:t}};return r.client.action(e,a)}))))}))()}createExtraSpecs(e,t){var a=this;return(0,I.default)((function*(){var r={extra_specs:t};return a.submitting(a.client.extraSpecs.create(e,r))}))()}deleteExtraSpecs(e,t){var a=this;return(0,I.default)((function*(){return a.submitting(a.client.extraSpecs.delete(e,t))}))()}putExtraSpecs(e,t,a){var r=this;return(0,I.default)((function*(){return r.submitting(r.client.extraSpecs.update(e,t,a))}))()}updateExtraSpecs(e){var t=arguments,a=this;return(0,I.default)((function*(){var r=t.length>1&&void 0!==t[1]?t[1]:[],n=t.length>2&&void 0!==t[2]?t[2]:[],i=t.length>3&&void 0!==t[3]?t[3]:[];if(r.length>0){var l={};(0,x.default)(r).call(r,(e=>{l[e.key]=e.value})),yield a.createExtraSpecs(e,l)}return n.length>0&&(yield m.default.all((0,b.default)(n).call(n,(t=>a.putExtraSpecs(e,t.key,{[t.key]:t.value}))))),i.length>0&&(yield m.default.all((0,b.default)(i).call(i,(t=>a.deleteExtraSpecs(e,t))))),m.default.resolve()}))()}},p=(0,P.default)(f.prototype,"access",[T.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,P.default)(f.prototype,"fetchAccess",[T.action],(0,w.default)(f.prototype,"fetchAccess"),f.prototype),(0,P.default)(f.prototype,"create",[T.action],(0,w.default)(f.prototype,"create"),f.prototype),(0,P.default)(f.prototype,"updateAccess",[T.action],(0,w.default)(f.prototype,"updateAccess"),f.prototype),(0,P.default)(f.prototype,"createExtraSpecs",[T.action],(0,w.default)(f.prototype,"createExtraSpecs"),f.prototype),(0,P.default)(f.prototype,"deleteExtraSpecs",[T.action],(0,w.default)(f.prototype,"deleteExtraSpecs"),f.prototype),(0,P.default)(f.prototype,"putExtraSpecs",[T.action],(0,w.default)(f.prototype,"putExtraSpecs"),f.prototype),(0,P.default)(f.prototype,"updateExtraSpecs",[T.action],(0,w.default)(f.prototype,"updateExtraSpecs"),f.prototype),f);t.FlavorStore=R;var j=new R;t.default=j},1263:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.BaseLayout=void 0;var i=a(0),l=a(412),o=n(a(416));class s extends i.Component{constructor(e){super(e),this.routes=e.route.routes}render(){var{isAdminPage:e,sliderCollapsed:t}=this.props,a={isAdminPage:e,sliderCollapsed:t};return(0,o.default)(this.routes,a)}}t.BaseLayout=s;var u=(0,l.inject)("rootStore")((0,l.observer)(s));t.default=u},1264:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getFlavorSearchFilters=a.getFlavorArchInfo=a.isBareMetalFlavor=a.isBareMetal=a.getFamilyItemValue=a.getAllArchitecture=a.gpuColumns=a.cpuArchColumn=a.extraColumns=a.getBaseColumns=a.isComputeOptimized=a.isGpuVisual=a.isGpuCategory=a.categoryHasEphemeral=a.categoryHasIOPS=a.hasEphemeralTypes=a.hasIOPSTypes=a.flavorCategoryList=a.bareMetalCategoryList=a.heterogeneousCategoryList=a.armCategoryList=a.ironicCategoryList=a.x86CategoryList=a.flavorArchitectures=a.pageTypeMap=a.pageTypeList=a.cpuThreadPolicyMap=a.cpuThreadPolicyList=a.cpuPolicyList=void 0;var p=f(r(91)),h=f(r(86)),m=f(r(28)),g=f(r(77)),v=f(r(164)),y=f(r(35)),b=r(163);function _(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;te&&(0,p.default)(R).call(R,e)>=0;a.categoryHasEphemeral=e=>e&&(0,p.default)(j).call(j,e)>=0;a.isGpuCategory=e=>e&&(0,p.default)(e).call(e,"_gpu")>=0;a.isGpuVisual=e=>"visualization_compute_optimized_type_with_gpu"===e;a.isComputeOptimized=e=>"compute_optimized_type"===e;a.getBaseColumns=e=>[{title:t("ID/Name"),dataIndex:"name",routeName:e?e.getRouteName("flavorDetail"):""},{title:t("Category"),dataIndex:"category",valueMap:E},{title:t("CPU"),dataIndex:"vcpus",isHideable:!0},{title:t("Memory"),dataIndex:"ram",isHideable:!0,render:e=>(0,b.formatSize)(e,2)},{title:t("Internal Network Bandwidth (Gbps)"),dataIndex:"quota:vif_outbound_average",isHideable:!0,width:120,render:e=>e?e/1e3/125:"-"},{title:t("Ephemeral Disk (GiB)"),dataIndex:"OS-FLV-EXT-DATA:ephemeral",isHideable:!0},{title:t("Storage IOPS"),dataIndex:"quota:disk_total_iops_sec",isHideable:!0,render:e=>e||"-"},{title:"Price/second ",dataIndex:"pricePerSecond",isHideable:!0},{title:"Price/month ",dataIndex:"pricePerMonth",isHideable:!0},{title:"Currency",dataIndex:"profileCurrency",isHideable:!0}];var F=[{title:t("Public"),dataIndex:"is_public",isHideable:!0,valueRender:"yesNo"}];a.extraColumns=F;var L={title:t("CPU Arch"),dataIndex:"cpu_arch",isHideable:!0};a.cpuArchColumn=L;var O=[{title:t("GPU Type"),dataIndex:"gpuType",isHideable:!0},{title:t("GPU Count"),dataIndex:"gpuCount",isHideable:!0},{title:t("NUMA Nodes"),dataIndex:"hw:numa_nodes",isHideable:!0},{title:t("CPU Policy"),dataIndex:"hw:cpu_policy",isHideable:!0,valueMap:x},{title:t("CPU Thread Policy"),dataIndex:"hw:cpu_thread_policy",isHideable:!0,valueMap:I},{title:t("Memory Page"),dataIndex:"hw:mem_page_size",isHideable:!0,valueMap:k}];a.gpuColumns=O;a.getAllArchitecture=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=[];try{var r,n,i=(0,h.default)(r=e||[]).call(r,(e=>"flavor_families"===e.key));(0,m.default)(n=i&&i.value||[]).call(n,(e=>{e.architecture&&a.push(e.architecture)}))}catch(e){}return t&&a.push("custom"),a};a.getFamilyItemValue=e=>{var t,a=(0,h.default)(t=e||[]).call(t,(e=>"flavor_families"===e.key));return a?a.value:[]};var z=e=>"bare_metal"===e;a.isBareMetal=z;a.isBareMetalFlavor=e=>{var{extra_specs:t={}}=e.originData||e||{};return z(t[":architecture"])||"required"===t["trait:CUSTOM_GOLD"]};a.getFlavorArchInfo=e=>{var t,{architecture:a="",category:r=""}=e||{};return a?"custom"===a?D[a]:(0,g.default)(t="".concat(D[a]||a," - ")).call(t,E[r]||r):"-"};a.getFlavorSearchFilters=e=>{var a=[{label:t("Name"),name:"name"},{label:t("CPU"),name:"vcpus",filterFunc:(e,t)=>{var a;return(0,v.default)(a="".concat(e)||"").call(a,t)}},{label:t("Memory"),name:"ram",filterFunc:(e,t)=>{var a;return(0,v.default)(a=(0,b.formatSize)(e,2)||"").call(a,t)}}];return e&&a.push({label:t("Category"),name:"category",options:(0,b.getOptions)(e)}),a}},1265:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.projectTableOptions=a.projectColumns=a.projectFilter=void 0;var l=i(r(0)),o=r(342),s=r(418),u=[{label:t("Project Name"),name:"name"},{label:t("Project ID"),name:"id"},{label:t("Domain Name"),name:"domainName"},{label:t("Domain ID"),name:"domain_id"},{label:t("Enabled"),name:"enabled",options:o.yesNoOptions}];a.projectFilter=u;var d=[{title:t("Project ID/Name"),dataIndex:"name",render:(e,t)=>{var a=(0,s.getIdRender)(t.id,!0,!1);return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",null,a),l.default.createElement("div",null,e))}},{title:t("Domain ID/Name"),dataIndex:"domainName",render:(e,t)=>{var a=(0,s.getIdRender)(t.domain_id,!0,!1);return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",null,a),l.default.createElement("div",null,e))}},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"},{title:t("description"),dataIndex:"description",isHideable:!0}];a.projectColumns=d;var c={filterParams:u,columns:d};a.projectTableOptions=c},1266:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(r(1582));r(1246);var m=p(r(1247));r(1244);var g=p(r(1245));r(569);var v=p(r(1253)),y=p(r(35)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(0)),_=(r(161),p(r(16)));r(564);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{onChange:t}=this.props;t&&t(e)})),(0,y.default)(this,"onKeyChange",(e=>{this.onChange(w(w({},this.state),{},{key:e.target.value}))})),(0,y.default)(this,"onValueChange",(e=>{this.onChange(w(w({},this.state),{},{value:e.target.value}))})),this.state={key:"",value:""}}static getDerivedStateFromProps(e,t){var{key:a,value:r}=e.value||{};return a!==t.key||r!==t.value?{key:a,value:r}:null}renderInput(e,t,a){var{isTextarea:r=!1,textareaRows:n}=this.props,i={value:e,placeholder:t,onChange:this.onValueChange,readOnly:a,required:!0};return r?(i.rows=n,b.default.createElement(v.default.TextArea,i)):b.default.createElement(v.default,i)}render(){var{key:e,value:a}=this.state,{keyReadonly:r,valueReadonly:n,keySpan:i,valueSpan:l,keyPlaceholder:o=t("Please input key"),valuePlaceholder:s=t("Please input value"),middleComponent:u}=this.props,d=b.default.createElement("div",{style:{textAlign:"center",lineHeight:"30px",margin:"0 10px"}},u);return b.default.createElement(m.default,null,b.default.createElement(g.default,{span:i||4},b.default.createElement(v.default,{value:e,placeholder:o,onChange:this.onKeyChange,readOnly:r,required:!0})),d,b.default.createElement(g.default,{span:l||8},this.renderInput(a,s,n)))}}a.default=I,(0,y.default)(I,"propTypes",{onChange:_.default.func,value:_.default.object,keyReadonly:_.default.bool,valueReadonly:_.default.bool,keySpan:_.default.number,valueSpan:_.default.number,middleComponent:_.default.node,isTextarea:_.default.bool,textareaRows:_.default.number}),(0,y.default)(I,"defaultProps",{onChange:null,value:{key:"",value:""},keyReadonly:!1,valueReadonly:!1,middleComponent:b.default.createElement(h.default,{rotate:90}),isTextarea:!1,textareaRows:2})},1267:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getRoutersWithIDAndExtInfo=P,a.getLinkedRouterIdsByFip=function(e,t){return A.apply(this,arguments)},a.getCanReachSubnetIdsWithRouterId=M,a.getCanReachSubnetIdsWithRouterIdInComponent=function(e){return E.apply(this,arguments)},a.getRouterSelectTablePropsBackend=a.routerSortProps=a.routerFilters=a.getRouterColumns=a.getRouterState=a.routerState=a.routerStatus=void 0;var p=f(r(49)),h=f(r(35)),m=f(r(54)),g=f(r(29)),v=f(r(0)),y=f(r(575)),b=r(1273),_=r(163);function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function x(e){for(var t=1;te?t("Up"):t("Down");var C=e=>[{title:t("ID/Name"),dataIndex:"name",routeName:e.getRouteName("routerDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!e.isAdminPage,sortKey:"project_id"},{title:t("Status"),dataIndex:"status",valueMap:w},{title:t("Open External Gateway"),dataIndex:"hasExternalGateway",valueRender:"yesNo",isHideable:!0,sorter:!1},{title:t("External Network ID/Name"),dataIndex:"externalNetworkName",isHideable:!0,sorter:!1,isLink:!0,idKey:"externalNetworkId",routeName:e.getRouteName("networkDetail")},{title:t("External Fixed IP"),dataIndex:"externalFixedIps",isHideable:!0,sorter:!1,render:e=>(0,m.default)(e).call(e,(e=>v.default.createElement("div",{key:e.ip_address},e.ip_address)))||"-",stringify:e=>(0,m.default)(e).call(e,(e=>e.ip_address)).join(",")||"-"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime",isHideable:!0,sorter:!1}];a.getRouterColumns=C;var k=[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:(0,_.getOptions)(w)}];a.routerFilters=k;var D={isSortByBack:!0,defaultSortKey:"status",defaultSortOrder:"descend"};a.routerSortProps=D;function P(e){return T.apply(this,arguments)}function T(){return(T=(0,p.default)((function*(e){var t={fields:["id","external_gateway_info"],project_id:e};return yield y.default.pureFetchList(t)}))).apply(this,arguments)}function A(){return(A=(0,p.default)((function*(e,t){var a,r=yield P(e);return(0,m.default)(a=(0,g.default)(r).call(r,(e=>e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id))).call(a,(e=>e.id))}))).apply(this,arguments)}function M(e,t){return N.apply(this,arguments)}function N(){return(N=(0,p.default)((function*(e,t){var a=yield P(e);t&&(a=(0,g.default)(a).call(a,t));var r=yield(0,b.getPortsWithFixedIPs)();return{canReachSubnetIdsWithRouterId:(0,b.getSubnetToRouter)(r,a),routerIdWithExternalNetworkInfo:a}}))).apply(this,arguments)}function E(){return(E=(0,p.default)((function*(e){var{canReachSubnetIdsWithRouterId:t,routerIdWithExternalNetworkInfo:a}=yield M(this.currentProjectId,e);return this.setState({canReachSubnetIdsWithRouterId:t,routerIdWithExternalNetworkInfo:a}),t}))).apply(this,arguments)}a.getRouterSelectTablePropsBackend=e=>x(x({},D),{},{columns:C(e),filterParams:k})},1270:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(234)),o=i(r(77));r(1751);var s=i(r(656)),u=i(r(616)),d=i(r(619)),c=i(r(618)),f=i(r(606)),p=i(r(134)),h=i(r(177)),m=i(r(0)),g=(r(161),i(r(16))),v=(r(564),i(r(1373))),y=i(r(1500)),b=i(r(133)),_=r(163),S=r(1773),x=r(1774),w=i(r(1778)),I=e=>{var{title:a=t("Error"),type:r="error",description:n="",onClose:i,top:l=48}=e,o="#F5222D",p=null;"info"===r?(o=globalCSS.primaryColor,p=m.default.createElement(f.default,{theme:"filled",style:{color:o}})):"success"===r?(o=globalCSS.successColor,p=m.default.createElement(c.default,{theme:"filled",style:{color:o}})):"error"===r?(o=globalCSS.errorColor,p=m.default.createElement(d.default,{theme:"filled",style:{color:o}})):"process"===r?(o=globalCSS.primaryColor,p=m.default.createElement(u.default,{style:{color:o}})):"warn"===r&&(o=globalCSS.warnColor,p=m.default.createElement(f.default,{theme:"filled",style:{color:o}}));var h="error"===r||"warn"===r?0:4.5;s.default.open({message:(0,_.unescapeHtml)(a),duration:h,icon:p,description:(0,_.unescapeHtml)(n),className:w.default.notify,onClose:i,top:l,style:{whiteSpace:"pre-line"}})};I.propTypes={title:g.default.string,type:g.default.string,description:g.default.string};var C=(e,t)=>{b.default.addNoticeCount(),I({title:e,description:t,type:"error",onClose:()=>{b.default.removeNoticeCount()}})},k={open:I,success:(e,t)=>{I({title:e,description:t,type:"success"})},error:C,warn:(e,t)=>{I({title:e,description:t,type:"warn"})},info:(e,t)=>{I({title:e,description:t,type:"info"})},process:(e,t)=>{I({title:e,description:t,type:"process"})},errorWithDetail:(e,a)=>{var r,{status:n,message:i}=e||{},s=a;if(n&&(0,l.default)(n,10)>=500)if((0,h.default)(i)||S.statusMap[n])s+=S.statusMap[n];else{var u,d;if((0,p.default)(i))s+=(0,o.default)(d="".concat(t("message"))).call(d,t("."));else if(i.reason){var c;s+=(0,o.default)(c="".concat(t("message.reason"))).call(c,t("."))}s+=(0,o.default)(u="".concat(t("Status Code"),": ")).call(u,n)}else{var f=e&&(0,p.default)(e)?(0,x.decode)(e,{level:"html5"}):e;r=e?m.default.createElement(y.default,{style:{float:"right"},buttonType:"link",buttonText:t("Click to show detail"),component:m.default.createElement(v.default,{className:w.default["code-editor"],value:f,mode:"json",options:{readOnly:!0}})}):""}C(s,r)}};a.default=k},1273:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.getSubnetToRouter=function(e,t){var a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=[];return(0,l.default)(e).call(e,(e=>{var n;(0,o.default)(t).call(t,(t=>!(a&&!t.external_gateway_info)&&t.id===e.device_id))&&(0,l.default)(n=e.fixed_ips).call(n,(t=>{r.push({subnet_id:t.subnet_id,router_id:e.device_id})}))})),r},a.getPortsWithFixedIPs=function(){return C.apply(this,arguments)},a.getInterfaceWithReason=function(e){return k.apply(this,arguments)},a.saveAndBuildPromisesFromInterfaces=D,a.getReasonForExternalNetworkPortOrAlreadyBindFip=T,a.getFipsFromRouterId=M,a.handleFixedIPChange=function(e){return E.apply(this,arguments)},a.getPortForwardingName=a.portForwardingProtocols=a.getFIPFormItemForAssociate=a.disableFIPAssociate=a.getFIPFormItemExtra=a.getFixedIPFormItemForAssociate=a.transitionStatuses=a.resourceType=a.floatingIpStatus=void 0;var l=i(r(28)),o=i(r(86)),s=i(r(77)),u=i(r(63)),d=i(r(232)),c=i(r(164)),f=i(r(54)),p=i(r(29)),h=i(r(1387)),m=i(r(49)),g=i(r(177)),v=i(r(582)),y=i(r(233)),b=r(565),_=i(r(346)),S=r(1393),{isIPv4:x}=b.ipValidate,w={AVAILABLE:t("Available"),PENDING:t("Pending"),ACTIVE:t("Active"),ERROR:t("Error"),DOWN:t("Down")};a.floatingIpStatus=w;var I={compute:t("Instance"),Octavia:t("Load Balancer"),"network:router_gateway":t("Router"),database:t("Database Instance"),null:"-"};a.resourceType=I;function C(){return(C=(0,m.default)((function*(){return yield v.default.pureFetchList({device_owner:["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"],fields:["fixed_ips","device_id","device_owner"]})}))).apply(this,arguments)}function k(){return(k=(0,m.default)((function*(e){var[t,a,r]=yield D(e);return yield T(t,a,r)}))).apply(this,arguments)}function D(e){return P.apply(this,arguments)}function P(){return(P=(0,m.default)((function*(e){var t=[],a=[],r=[];return(0,l.default)(e).call(e,(e=>{var n,i=e.port_id||e.id,o=e.mac_addr||e.mac_address||"",s=e.net_id||e.network_id;(0,l.default)(n=e.fixed_ips).call(n,(e=>{r.push({port_id:i,fixed_ip_address:e.ip_address,mac_address:o,subnet_id:e.subnet_id,network_id:s}),t.push(y.default.fetchDetail({id:s})),x(e.ip_address)?a.push(_.default.pureFetchList({fixed_ip_address:e.ip_address})):a.push(u.default.resolve([]))}))})),[r,t,a]}))).apply(this,arguments)}function T(e,t,a){return A.apply(this,arguments)}function A(){return(A=(0,m.default)((function*(e,t,a){var r=[...e],n=yield u.default.all(t);(0,l.default)(n).call(n,((e,t)=>{r[t].network_name=e.name}));var i=yield y.default.pureFetchList({"router:external":!0});(0,l.default)(r).call(r,(e=>{(0,d.default)(i).call(i,(t=>{var a;return(0,c.default)(a=t.subnets).call(a,e.subnet_id)}))?e["router:external"]=!0:e["router:external"]=!1}));var o=yield u.default.all(a);return(0,l.default)(o).call(o,((e,t)=>{r[t].floatingIP=e[0]&&e[0].port_id===r[t].port_id&&e[0].floating_ip_address||""})),r}))).apply(this,arguments)}function M(e){return N.apply(this,arguments)}function N(){return(N=(0,m.default)((function*(e){var t,{routerIdWithExternalNetworkInfo:a}=this.state,r=(0,o.default)(a).call(a,(t=>t.id===e.router_id));if(!r.external_gateway_info)return[];var n=r.external_gateway_info.network_id,i=yield _.default.pureFetchList({floating_network_id:n,status:"DOWN",project_id:this.currentProjectId}),l=yield y.default.fetchDetail({id:n});return(0,f.default)(t=(0,p.default)(i).call(i,(e=>!e.fixed_ip_address&&!e.port_details))).call(t,(e=>(e.network_name=l.name,e.name=e.floating_ip_address,e)))}))).apply(this,arguments)}function E(){return(E=(0,m.default)((function*(e){this.setState({fipLoading:!0});var{canReachSubnetIdsWithRouterId:t}=this.state;e.selectedRows.length||this.setState({fixed_ip:null,canAssociateFloatingIPs:[],fipLoading:!1});var a=e.selectedRows[0],r=[],n=(0,p.default)(t).call(t,(e=>e.subnet_id===a.subnet_id)),i=yield u.default.all((0,f.default)(n).call(n,(e=>M.call(this,e))));(0,l.default)(i).call(i,(e=>{r.push(...e)}));var o={};(0,l.default)(r).call(r,(e=>{o[e.id]=e}));var s=(0,h.default)(o);this.setState({fixed_ip:a,canAssociateFloatingIPs:s,fipLoading:!1})}))).apply(this,arguments)}a.transitionStatuses=["PENDING"];a.getFixedIPFormItemForAssociate=(e,a)=>{var{portLoading:r}=a.state;return{name:"fixed_ip",label:e,type:"select-table",required:!0,data:a.ports,isLoading:r,isMulti:!1,filterParams:[{label:t("Ip Address"),name:"name"}],columns:[{title:t("Ip Address"),dataIndex:"name"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Network"),dataIndex:"network_name"},{title:t("Subnet ID"),dataIndex:"subnet_id"},{title:t("Reason"),dataIndex:"reason"}],disabledFunc:e=>!e.available,onChange:a.handleFixedIPChange}};a.getFIPFormItemExtra=()=>(0,S.enablePFW)()?t("The floating IP configured with port forwardings cannot be bound"):"";a.disableFIPAssociate=e=>!!(e.port_forwardings||[]).length;a.getFIPFormItemForAssociate=e=>{var{canAssociateFloatingIPs:a,fipLoading:r}=e.state;return{name:"fip",label:t("Floating Ip Address"),type:"select-table",required:!0,data:a,isLoading:r,isMulti:!1,extra:e.getFIPFormItemExtra(),disabledFunc:e.disableFIPAssociate,filterParams:[{label:t("Floating Ip Address"),name:"name"}],columns:[{title:t("Floating Ip Address"),dataIndex:"name"},{title:t("Network"),dataIndex:"network_name"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}};var R={tcp:t("TCP"),udp:t("UDP")};a.portForwardingProtocols=R;a.getPortForwardingName=function(){var e,t,a,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,g.default)(n))return"";var{protocol:l,external_port:o,external_port_range:u,internal_ip_address:d,internal_port:c,internal_port_range:f}=n,p=R[l]||l,h=(0,s.default)(e=(0,s.default)(t="".concat(o||u," => ")).call(t,d,":")).call(e,c||f),m=i?(0,s.default)(a="".concat(i,":")).call(a,h):h;return(0,s.default)(r="".concat(p,": ")).call(r,m)}},1282:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(203)),s=l(a(86)),u=l(a(54));a(1315);var d=l(a(1316)),c=l(a(343)),f=l(a(35)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),h=a(349),m=l(a(4)),g=(a(161),a(163)),v=a(567),y=l(a(1351)),b=l(a(3686));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}class S extends p.Component{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),(0,f.default)(this,"handleFetch",((e,t)=>{this.routing.query(e,t)})),(0,f.default)(this,"handleChangeTab",(e=>{this.handleFetch({tab:e},!0)})),this.options=t,this.state={},this.init()}get routing(){return this.props.rootStore.routing}get location(){return this.props.location||{}}get isAdminPage(){var{pathname:e}=this.location;return(0,g.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get endpoint(){return""}get checkEndpoint(){return!1}get name(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,v.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,v.getLinkRender)({key:n,params:a,query:r,value:t})}get tabs(){return[{title:"tab1",key:"tab1",component:null},{title:"tab2",key:"tab2",component:null}]}getTab(){var e,t=(0,h.parse)((0,o.default)(e=this.routing.location.search).call(e,1)),{tab:a}=t;return a}get tab(){var e;if(0===this.tabs.length)return null;var t=this.getTab();return(0,s.default)(e=this.tabs).call(e,(e=>e.key===t))||this.tabs[0]}init(){}renderTabComponent(e){var{component:t,key:a}=e;return t?p.default.createElement(e.component,(0,c.default)({},this.props,{tab:this.tab.key})):p.default.createElement("span",{key:a},a)}renderTab(e,t){return e!==t.key?p.default.createElement(d.default.TabPane,{tab:t.title,key:t.key}):p.default.createElement(d.default.TabPane,{tab:t.title,key:t.key},this.renderTabComponent(t))}renderTabs(){var e;if(!this.tab)return null;if(this.endpointError){var t=this.getRoutePath("overview");return p.default.createElement(y.default,{title:this.name,link:t,endpointError:!0})}var a=(0,u.default)(e=this.tabs).call(e,(e=>this.renderTab(this.tab.key,e)));return p.default.createElement("div",{className:(0,m.default)(b.default.wrapper,this.className)},p.default.createElement(d.default,{activeKey:this.tab.key,onChange:this.handleChangeTab},a))}render(){return this.renderTabs()}}t.default=S},1288:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.GroupStore=void 0;var f,p,h,m,g=c(a(28)),v=c(a(86)),y=c(a(32)),b=c(a(63)),_=c(a(29)),S=c(a(54)),x=c(a(25)),w=c(a(49)),I=c(a(58)),C=c(a(74)),k=c(a(35)),D=c(a(55)),P=(c(a(75)),a(36)),T=c(a(50)),A=c(a(53));function M(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function N(e){for(var t=1;t{var i={},{id:l}=e||{};(0,g.default)(t).call(t,(e=>{var{scope:{project:{id:t}={}}={},group:{id:r}={},role:{id:o}={}}=e;if(r===l&&o){var s=(0,v.default)(a).call(a,(e=>e.id===o));if(t)if(i[t])i[t].roles=[...i[t].roles,s];else{var u=(0,v.default)(n).call(n,(e=>e.id===t));i[t]={project:u,roles:[s]}}}}));var o=(0,v.default)(r).call(r,(t=>t.id===e.domain_id));return N(N({},e),{},{projects:i,projectCount:(0,y.default)(i).length,domain:o,domainName:(o||{}).name||e.domain_id})}))}get client(){return T.default.keystone.groups}get domainClient(){return T.default.keystone.domains}get systemGroupClient(){return T.default.keystone.systemGroups}get roleClient(){return T.default.keystone.roles}get roleAssignmentClient(){return T.default.keystone.roleAssignments}get userClient(){return T.default.keystone.users}get projectClient(){return T.default.keystone.projects}get paramsFunc(){return e=>{var{id:t,userId:a,groupId:r,roleId:n,projectId:i,domainId:l,withRole:o,all_projects:s}=e;return(0,I.default)(e,["id","userId","groupId","roleId","projectId","domainId","withRole","all_projects"])}}listFetchByClient(e,t){var{userId:a}=t;return a?this.userClient.groups.list(a,e):this.client.list(e)}edit(e){var t=this;return(0,w.default)((function*(){var{id:a,description:r,name:n}=e,i={group:{description:r,name:n}};return t.submitting(t.client.patch(a,i))}))()}fetchSystemRole(e){var t=this;return(0,w.default)((function*(){var{id:a}=e;t.systemRoles=[];var r=yield t.systemGroupClient.roles.list(a);t.systemRoles=r.roles}))()}assignSystemRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r}=e;return t.systemGroupClient.roles.update(a,r)}))()}deleteSystemRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r}=e;return t.systemGroupClient.roles.delete(a,r)}))()}fetchDomainRole(e){var t=this;return(0,w.default)((function*(){var{id:a,domain_id:r}=e;t.domainRoles=[];var n=yield t.domainClient.groups.roles.list(r,a);t.domainRoles=n.roles}))()}assignDomainRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r,domain_id:n}=e;return t.domainClient.groups.roles.update(n,a,r)}))()}deleteDomainRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r,domain_id:n}=e;return t.domainClient.groups.roles.delete(n,a,r)}))()}fetchGroupUsers(e){var t=this;return(0,w.default)((function*(){var{id:a}=e,r=yield t.client.users.list(a),{users:n}=r;return t.groupUsers=n,n}))()}deleteGroupUsers(e){var t=this;return(0,w.default)((function*(){var{id:a,userId:r}=e;return t.client.users.delete(a,r)}))()}addGroupUsers(e){var t=this;return(0,w.default)((function*(){var{id:a,userId:r}=e;return t.client.users.update(a,r)}))()}listDidFetch(e,t,a){var r=this;return(0,w.default)((function*(){if(!e.length)return e;var{projectId:t,roleId:n,domainId:i,withRole:l=!0}=a,o={};t&&(o["scope.project.id"]=t),n&&(o["role.id"]=n);var[s,u,d,c]=yield b.default.all([l?r.roleAssignmentClient.list(o):null,l?r.roleClient.list():null,r.domainClient.list(),l?r.projectClient.list():null]),{roles:f=[]}=u||{},{domains:p=[]}=d,{projects:h=[]}=c||{},{role_assignments:m=[]}=s||{},g=e;return i&&(g=(0,_.default)(e).call(e,(e=>e.domain_id===i))),g=(0,S.default)(g).call(g,(e=>r.updateUserGroup(e,m,f,p,h))),t||n?(0,_.default)(g).call(g,(e=>e.projectCount)):g}))()}detailDidFetch(e){var t=this;return(0,w.default)((function*(){var{id:a}=e,[r,n]=yield b.default.all([t.domainClient.list(),t.client.users.list(a)]),{domains:i=[]}=r,{users:l=[]}=n,o=t.updateUserGroup(e,[],[],i,[]);return o.userCount=l.length,o}))()}},p=(0,D.default)(f.prototype,"systemRoles",[P.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),h=(0,D.default)(f.prototype,"domainRoles",[P.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),m=(0,D.default)(f.prototype,"groupUsers",[P.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,D.default)(f.prototype,"edit",[P.action],(0,x.default)(f.prototype,"edit"),f.prototype),(0,D.default)(f.prototype,"fetchSystemRole",[P.action],(0,x.default)(f.prototype,"fetchSystemRole"),f.prototype),(0,D.default)(f.prototype,"assignSystemRole",[P.action],(0,x.default)(f.prototype,"assignSystemRole"),f.prototype),(0,D.default)(f.prototype,"deleteSystemRole",[P.action],(0,x.default)(f.prototype,"deleteSystemRole"),f.prototype),(0,D.default)(f.prototype,"fetchDomainRole",[P.action],(0,x.default)(f.prototype,"fetchDomainRole"),f.prototype),(0,D.default)(f.prototype,"assignDomainRole",[P.action],(0,x.default)(f.prototype,"assignDomainRole"),f.prototype),(0,D.default)(f.prototype,"deleteDomainRole",[P.action],(0,x.default)(f.prototype,"deleteDomainRole"),f.prototype),(0,D.default)(f.prototype,"fetchGroupUsers",[P.action],(0,x.default)(f.prototype,"fetchGroupUsers"),f.prototype),(0,D.default)(f.prototype,"deleteGroupUsers",[P.action],(0,x.default)(f.prototype,"deleteGroupUsers"),f.prototype),(0,D.default)(f.prototype,"addGroupUsers",[P.action],(0,x.default)(f.prototype,"addGroupUsers"),f.prototype),f);t.GroupStore=E;var R=new E;t.default=R},1291:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.getNeutronAgentServiceStatus=a.getNeutronAgentServiceState=a.serviceState=a.serviceStatus=void 0;var n={enabled:t("Enabled"),disabled:t("Disabled")};a.serviceStatus=n;var i={up:t("Up"),down:t("Down")};a.serviceState=i;a.getNeutronAgentServiceState=e=>e?i.up:i.down;a.getNeutronAgentServiceStatus=e=>e?n.enabled:n.disabled},1292:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.BackupStore=void 0;var f,p,h=c(a(77)),m=c(a(25)),g=c(a(58)),v=c(a(49)),y=c(a(74)),b=c(a(35)),_=c(a(55)),S=(c(a(75)),a(36)),x=c(a(50)),w=c(a(53)),I=a(414);function C(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){for(var t=1;t{var r;t&&a&&(e.sort=(0,h.default)(r="".concat(t,":")).call(r,"descend"===a?"desc":"asc"))}))}get client(){return x.default.cinder.backups}get listWithDetail(){return!0}get mapperBeforeFetchProject(){return e=>k(k({},e),{},{project_id:e.project_id||e["os-backup-project-attr:project_id"]})}detailDidFetch(e){return(0,v.default)((function*(){var{volume_id:t}=e;try{var a=new I.VolumeStore,r=yield a.fetchDetail({id:t});e.volume=r,e.volume_name=r.name}catch(e){}return e}))()}get paramsFuncPage(){return e=>{var{current:t,all_projects:a}=e;return k({all_tenants:a},(0,g.default)(e,["current","all_projects"]))}}restore(e,t){var a={restore:t||{}};return this.submitting(this.client.restore(e,a))}setCurrentVolume(e){var{size:t=0}=e||{};this.currentVolumeSize=t||0}},p=(0,_.default)(f.prototype,"currentVolumeSize",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),(0,_.default)(f.prototype,"restore",[S.action],(0,m.default)(f.prototype,"restore"),f.prototype),(0,_.default)(f.prototype,"setCurrentVolume",[S.action],(0,m.default)(f.prototype,"setCurrentVolume"),f.prototype),f);t.BackupStore=D;var P=new D;t.default=P},1293:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.MetadataStore=void 0;var f,p,h,m=c(a(63)),g=c(a(54)),v=c(a(28)),y=c(a(25)),b=c(a(49)),_=c(a(74)),S=c(a(35)),x=c(a(55)),w=(c(a(75)),a(36)),I=c(a(50)),C=c(a(53));function k(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;t{var{namespace:t}=e;return r.client.show(t,{resource_type:n})})));(0,v.default)(e).call(e,((e,t)=>{e.detail=i[t]}));var l=[];return(0,v.default)(e).call(e,(e=>{var t;e.detail.objects?(0,v.default)(t=e.detail.objects).call(t,(t=>{l.push(D(D({},e),{},{detail:t,isObject:!0,objName:t.name,objDescription:t.description}))})):l.push(e)})),l}))()}get mapper(){return e=>{var{visibility:t,namespace:a,display_name:r,resource_type_associations:n=[]}=e;return(0,v.default)(n).call(n,(e=>{e.prefix=e.prefix||""})),D(D({},e),{},{public:"public"===t,id:a,name:r,resource_type_associations:n})}}fetchDetail(e){var t=this;return(0,b.default)((function*(){var{id:a}=e;t.isLoading=!0;var r=yield t.client.show(a);return t.detail=r,t.isLoading=!1,r}))()}edit(e,t){var{id:a}=e;return this.submitting(this.client.update(a,t))}create(e){return this.submitting(this.client.create(e))}fetchResourceTypes(e){var t=this;return(0,b.default)((function*(){t.resourceTypeLoading=!0;var a=yield t.resourceTypeClient.list(),{resource_type_associations:r=[]}=e||{},{resource_types:n=[]}=a,i={};(0,v.default)(r).call(r,(e=>{i[e.name]=e.prefix||""})),(0,v.default)(n).call(n,(e=>{e.id=e.name,i[e.name]&&(e.prefix=i[e.name])})),t.resourceTypes=n,t.resourceTypeLoading=!1}))()}manageResourceTypes(e,t,a){var r=this;return(0,b.default)((function*(){return r.isSubmitting=!0,yield m.default.all((0,g.default)(t).call(t,(t=>r.client.resourceTypes.delete(e,t.name)))),r.submitting(m.default.all((0,g.default)(a).call(a,(t=>{var a={name:t.name,prefix:t.prefix};return r.client.resourceTypes.create(e,a)}))))}))()}},p=(0,x.default)(f.prototype,"resourceTypes",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),h=(0,x.default)(f.prototype,"resourceTypeLoading",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,x.default)(f.prototype,"fetchDetail",[w.action],(0,y.default)(f.prototype,"fetchDetail"),f.prototype),(0,x.default)(f.prototype,"edit",[w.action],(0,y.default)(f.prototype,"edit"),f.prototype),(0,x.default)(f.prototype,"create",[w.action],(0,y.default)(f.prototype,"create"),f.prototype),(0,x.default)(f.prototype,"fetchResourceTypes",[w.action],(0,y.default)(f.prototype,"fetchResourceTypes"),f.prototype),(0,x.default)(f.prototype,"manageResourceTypes",[w.action],(0,y.default)(f.prototype,"manageResourceTypes"),f.prototype),f);t.MetadataStore=P;var T=new P;t.default=T},1296:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getFormDefaultValues=a.getFormItems=a.getParamsFromContent=a.getFormItemType=a.getTemplate=a.rollbackTip=a.paramTip=a.yamlTip=a.getYaml=a.validateYaml=a.stackStatus=void 0;var p=f(r(63)),h=f(r(28)),m=f(r(32)),g=f(r(35)),v=f(r(102)),y=f(r(177)),b=f(r(570)),_=f(r(1428)),S=r(342);function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}var w={INIT_IN_PROGRESS:t("Init In Progress"),INIT_COMPLETE:t("Init Complete"),INIT_FAILED:t("Init Failed"),CREATE_IN_PROGRESS:t("Create In Progress"),CREATE_COMPLETE:t("Create Complete"),CREATE_FAILED:t("Create Failed"),DELETE_IN_PROGRESS:t("Delete In Progress"),DELETE_COMPLETE:t("Delete Complete"),DELETE_FAILED:t("Delete Failed"),UPDATE_IN_PROGRESS:t("Update In Progress"),UPDATE_COMPLETE:t("Update Complete"),UPDATE_FAILED:t("Update Failed"),ROLLBACK_IN_PROGRESS:t("Rollback In Progress"),ROLLBACK_COMPLETE:t("Rollback Complete"),ROLLBACK_FAILED:t("Rollback Failed"),SUSPEND_IN_PROGRESS:t("Suspend In Progress"),SUSPEND_COMPLETE:t("Suspend Complete"),SUSPEND_FAILED:t("Suspend Failed"),RESUME_IN_PROGRESS:t("Resume In Progress"),RESUME_COMPLETE:t("Resume Complete"),RESUME_FAILED:t("Resume Failed"),ADOPT_IN_PROGRESS:t("Adopt In Progress"),ADOPT_COMPLETE:t("Adopt Complete"),ADOPT_FAILED:t("Adopt Failed"),SNAPSHOT_IN_PROGRESS:t("Snapshot In Progress"),SNAPSHOT_COMPLETE:t("Snapshot Complete"),SNAPSHOT_FAILED:t("Snapshot Failed"),CHECK_IN_PROGRESS:t("Check In Progress"),CHECK_COMPLETE:t("Check Complete"),CHECK_FAILED:t("Check Failed")};a.stackStatus=w;a.validateYaml=(e,a)=>{try{_.default.load(a)}catch(e){return p.default.reject(t("A template is a YAML file that contains configuration information, please enter the correct format."))}return p.default.resolve()};a.getYaml=e=>{try{return _.default.load(e,{schema:_.default.JSON_SCHEMA})}catch(e){return null}};var I=t("A template is a YAML file that contains configuration information.");a.yamlTip=I;var C=t("When your Yaml file is a fixed template, variable variables can be stored in an environment variable file to implement template deployment. The parameters in the environment variable file need to match the parameters defined in the template file.");a.paramTip=C;var k=t('If "Enable" fails to roll back, the resource will be deleted after the creation fails; if "Disable" fails to roll back, the resource will be retained after the creation fails.');a.rollbackTip=k;a.getTemplate=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{content:t}=e;return t};var D=e=>{switch(e){case"number":return{type:"input-number"};case"json":return{type:"input-json"};case"boolean":return{type:"radio",options:S.yesNoOptions};default:return{type:"input"}}};a.getFormItemType=D;var P=e=>{try{var t=_.default.load(e);return(0,v.default)(t)&&t.parameters||{}}catch(e){return{}}};a.getParamsFromContent=P;a.getFormItems=e=>{var t=[];try{var a,r=P(e);if((0,y.default)(r))return t;(0,h.default)(a=(0,m.default)(r)).call(a,(e=>{var a=r[e],{type:n="string",description:i="",label:l,hidden:f}=a,p=function(e){for(var t=1;t{var t={};try{var a,r=_.default.load(e);if(!(0,v.default)(r))return t;var n=r.parameters||{};(0,h.default)(a=(0,m.default)(n)).call(a,(e=>{var a=n[e];(0,b.default)(a,"default")?t[e]=a.default:"boolean"===a.type&&(t[e]=!1)}))}catch(e){}return t}},1304:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var p=f(r(63)),h=f(r(164)),m=f(r(1252)),g=f(r(54)),v=f(r(609)),y=f(r(77)),b=f(r(28)),_=f(r(32)),S=f(r(91));r(1278);var x=f(r(1279)),w=f(r(343));r(602);var I=f(r(603));r(1354);var C=f(r(428)),k=f(r(58)),D=f(r(49)),P=f(r(35)),T=f(r(134)),A=f(r(1596)),M=f(r(177)),N=f(r(0)),E=r(412),R=r(36),j=(r(161),r(1241)),F=f(r(413)),L=f(r(340)),O=f(r(4)),z=r(1248),B=r(1461),V=r(163),U=f(r(1270)),Q=f(r(3551)),q=f(r(3555)),G=f(r(3558)),K=f(r(3565)),H=f(r(3575));function W(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function Y(e){for(var t=1;t{var{data:t}=this.state;this.setState({data:Y(Y({},t),{},{count:e})})})),(0,P.default)(this,"onSubmit",(e=>e?this.store.create(e):(this.errorMsg&&U.default.error(this.errorMsg),p.default.reject()))),(0,P.default)(this,"onOk",(()=>{var{data:e}=this.state;this.values=e;var a=this.getSubmitData(e);a?this.onSubmit(a).then((()=>{this.routing.push(this.listUrl),U.default.success(this.successText)}),(e=>{if(e&&!(0,M.default)(e)){var{response:{data:a}={}}=e||{},{forbidden:{message:r=""}={}}=a||{};r&&(0,T.default)(r)&&(0,h.default)(r).call(r,"Quota exceeded")?U.default.error(t("Quota exceeded")):U.default.errorWithDetail(a,this.errorText)}})):U.default.errorWithDetail(null,this.errorText)}))}init(){this.store=F.default,this.projectStore=L.default,this.state.quotaLoading=!0,this.getQuota(),this.status="success",this.errorMsg=""}static allowed(e,t){var{isAdminPage:a=!1}=t;return p.default.resolve(!a)}getQuota(){var e=this;return(0,D.default)((function*(){e.setState({quotaLoading:!0}),yield p.default.all([e.projectStore.fetchProjectNovaQuota(),e.enableCinder?e.projectStore.fetchProjectCinderQuota():null]),e.setState({quotaLoading:!1}),e.onCountChange(1)}))()}get disableNext(){return!!this.errorMsg}get disableSubmit(){return!!this.errorMsg}get instanceQuota(){var{instances:{left:e=0}={}}=(0,R.toJS)(this.projectStore.novaQuota)||{};return-1===e?1/0:e}get name(){return t("Create instance")}get enableCinder(){return this.props.rootStore.checkEndpoint("cinder")}get listUrl(){var{image:e,volume:t,servergroup:a}=this.locationParams;return e?this.getRoutePath("image"):t?this.getRoutePath("volume"):a?this.getRoutePath("serverGroupDetail",{id:a}):this.getRoutePath("instance")}get hasConfirmStep(){return!1}get steps(){return[{title:t("Base Config"),component:K.default},{title:t("Network Config"),component:G.default},{title:t("System Config"),component:q.default},{title:t("Confirm Config"),component:Q.default}]}get instanceName(){var e,t,{name:a,count:r=1}=(0,m.default)(this)||{};return 1===r?this.unescape(a):this.unescape((0,g.default)(e=(0,v.default)(t=new Array(r)).call(t,r)).call(e,((e,t)=>{var r;return(0,y.default)(r="".concat(a,"-")).call(r,t+1)})).join(", "))}get successText(){return t("The creation instruction was issued successfully, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase(),name:this.instanceName})}get showQuota(){return!0}get quotaInfo(){var{quotaLoading:e}=this.state;if(e)return[];var{instances:a={},cores:r={},ram:n={}}=(0,R.toJS)(this.projectStore.novaQuota)||{},{data:i={}}=this.state,{count:l=1}=i,o=this.checkQuotaInput(),s=Y(Y({},a),{},{add:o?0:l,name:"instance",title:t("Instance")}),{newCPU:u,newRam:d}=this.getFlavorInput(),c=Y(Y({},r),{},{add:o?0:u,name:"cpu",title:t("CPU"),type:"line"}),f=Y(Y({},n),{},{add:o?0:d,name:"ram",title:t("Memory (GiB)"),type:"line"}),p=this.getVolumeQuota(),{totalNewCount:h,totalNewSize:m}=this.getVolumeInputMap(),g=Y(Y({},p.volumes),{},{add:o?0:h,name:"volume",title:t("Volume"),type:"line"}),v=Y(Y({},p.gigabytes),{},{add:o?0:m,name:"volumeSize",title:t("Volume Capacity (GiB)"),type:"line"}),y=this.getServerGroupQuota(),b=[s,c,f,g,v];if(y){var{add:_}=y,S=Y(Y({},(0,k.default)(y,["add"])),{},{add:o?0:_});b.push(S)}return b}get errorText(){var{status:e}=this.state;return"error"===e?t("Unable to create instance: insufficient quota to create resources."):this.ipBatchError?t("Unable to create instance: batch creation is not supported when specifying IP."):t("The creation instruction has been issued, please refresh to see the actual situation in the list.")}getVolumeQuota(){var e,t=(0,R.toJS)(this.projectStore.cinderQuota)||{},a={};return(0,b.default)(e=(0,_.default)(t)).call(e,(e=>{((0,h.default)(e).call(e,"volumes")||(0,h.default)(e).call(e,"gigabytes"))&&(a[e]=t[e])})),a}getQuotaMessage(e,a,r){var{left:n=0}=a||{};return-1===n?"":e>n?t("Insufficient {name} quota to create resources (left { quota }, input { input }).",{name:r,quota:n,input:e}):""}getVolumeInputMap(){var{data:e}=this.state,{systemDisk:t={},dataDisk:a=[],count:r=1,source:{value:n}={},instanceSnapshotDisk:i={},instanceSnapshotDataVolumes:l=[],bootFromVolume:o=!0}=e,s={},u={},d=0,c=0,f="instanceSnapshot"===n;if(f&&i){var{size:p,typeOption:{label:h}={}}=i;h&&o&&(s[h]=s[h]?s[h]+1:1,u[h]=u[h]?u[h]+p:p,d+=1*r,c+=p*r)}else if(t.type&&o){var{size:m}=t,{label:g}=t.typeOption||{};s[g]=s[g]?s[g]+1:1,u[g]=u[g]?u[g]+m:m,d+=1*r,c+=m*r}if(a||f&&(null==l?void 0:l.length)>0){var v=(0,B.getAllDataDisks)({dataDisk:a,instanceSnapshotDataVolumes:l});(0,b.default)(v).call(v,(e=>{var t=e.value||{};if(t.type){var{size:a,typeOption:n}=t,{label:i}=n||{};s[i]=s[i]?s[i]+1*r:1*r,u[i]=u[i]?u[i]+a*r:a*r,d+=1*r,c+=a*r}}))}return{totalNewCount:d,totalNewSize:c,newCountMap:s,newSizeMap:u}}checkVolumeQuota(){var e,a;if(!this.enableCinder)return"";var r="",{totalNewCount:n,totalNewSize:i,newCountMap:l,newSizeMap:o}=this.getVolumeInputMap(),s=this.getVolumeQuota(),u=this.getQuotaMessage(n,s.volumes,t("volume"));if(u)return u;var d=this.getQuotaMessage(i,s.gigabytes,t("volume capacity"));return d||((0,b.default)(e=(0,_.default)(l)).call(e,(e=>{var a=this.getQuotaMessage(l[e],s["volumes_".concat(e)],t("volume type {type}",{type:e}));a&&(r=a)})),r||((0,b.default)(a=(0,_.default)(o)).call(a,(e=>{var a=this.getQuotaMessage(o[e],s["gigabytes_".concat(e)],t("volume type {type} capacity",{type:e}));a&&(r=a)})),r))}getFlavorInput(){var{data:e}=this.state,{flavor:t={},count:a=1}=e,{selectedRows:r=[]}=t,{vcpus:n=0,ram:i=0}=r[0]||{};return{newCPU:n*a,newRam:(0,V.getGiBValue)(i)*a}}checkFlavorQuota(){var{newCPU:e,newRam:a}=this.getFlavorInput(),{cores:r={},ram:n={}}=this.projectStore.novaQuota,{left:i=0}=r||{},{left:l=0}=n||{};return-1!==i&&i"$ ".concat(e).replace(/\D/g,"")}}renderCountInput(){var{data:e}=this.state,{count:a=1}=e||{},r=this.getCountInputConfig();return N.default.createElement("div",{className:H.default["number-input"]},N.default.createElement("span",null,t("Count")),N.default.createElement(x.default,(0,w.default)({},r,{value:a,className:(0,O.default)(H.default.input,"instance-count")})))}renderFooterLeft(){return N.default.createElement("div",{style:{display:"flex"}},N.default.createElement("div",{style:{display:"flex",alignItems:"center"}},this.renderCountInput(),this.renderExtra()),this.renderBadge())}getVolumeAndImageData(e){if("error"===this.status)return null;var{bootableVolume:t,dataDisk:a,image:r,instanceSnapshot:n,instanceSnapshotDisk:i,source:l,systemDisk:o,bootFromVolume:s=!0,deleteVolumeInstance:u}=e,{value:d}=l,c="bootableVolume"===d?null:"image"===d?r.selectedRowKeys[0]:n.selectedRowKeys[0];if(!this.enableCinder)return{imageRef:c};var f={};if("bootableVolume"!==d){if(s){var{deleteType:p,type:h,size:m}=o||{};f={boot_index:0,uuid:c,source_type:"image",volume_size:m,destination_type:"volume",volume_type:h,delete_on_termination:1===p},"instanceSnapshot"===d&&i&&(delete f.volume_size,delete f.volume_type,delete f.delete_on_termination)}}else f={boot_index:0,uuid:t.selectedRowKeys[0],source_type:"volume",destination_type:"volume",delete_on_termination:u};var v=a?(0,g.default)(a).call(a,(e=>{var{size:t,type:a,deleteType:r}=e.value||{};return{source_type:"blank",volume_size:t,destination_type:"volume",volume_type:a,delete_on_termination:1===r}})):[];return"image"===d&&"iso"===r.selectedRows[0].disk_format&&v[0]&&s&&(v[0].boot_index=0,v[0].device_type="disk",f.boot_index=1,f.device_type="cdrom"),{volumes:(0,M.default)(f)?[...v]:[f,...v],imageRef:c}}getNetworkData(e){var{networks:t=[],ports:a={}}=e,r=!1,n=[];(0,b.default)(t).call(t,(e=>{var t={uuid:e.value.network};1===e.value.ipType&&e.value.ip&&(t.fixed_ip=e.value.ip,r=!0),n.push(t)}));var{selectedRowKeys:i=[]}=a||{};return(0,b.default)(i).call(i,(e=>{var t={port:e};n.push(t)})),{data:n,hasIp:r}}getSubmitData(e){if("error"===this.status)return null;var{volumes:t,imageRef:a}=this.getVolumeAndImageData(e),{data:r,hasIp:n}=this.getNetworkData(e),{availableZone:i,keypair:l,loginType:o,password:s,physicalNode:u,physicalNodeType:d,securityGroup:c,flavor:f,userData:p="",serverGroup:h,name:m,count:v=1,bootFromVolume:y=!0}=e;if(n&&v>1)return this.ipBatchError=!0,null;var{selectedRows:b=[]}=c||{},_={security_groups:(0,g.default)(b).call(b,(e=>({name:e.id}))),name:m,flavorRef:f.selectedRowKeys[0],availability_zone:i.value,networks:r};if(this.enableCinder&&(_.block_device_mapping_v2=t),!a||t&&y||(_.imageRef=a),"keypair"===o.value?_.key_name=l.selectedRowKeys[0]:_.adminPass=s,v>1&&(_.min_count=v,_.max_count=v,_.return_reservation_id=!0),"smart"!==d.value&&(_.hypervisor_hostname=u.selectedRows[0].hypervisor_hostname),_.adminPass||p){var{username:S}=e;_.user_data=btoa((0,z.getUserData)(_.adminPass,p,S||"root"))}var x={server:_};return h&&h.selectedRowKeys.length>0&&(x["OS-SCH-HNT:scheduler_hints"]={group:h.selectedRowKeys[0]}),x}}a.StepCreate=J,(0,P.default)(J,"id","instance-create"),(0,P.default)(J,"title",t("Create Instance")),(0,P.default)(J,"path",((e,t)=>{var a,{detail:r,match:n}=t||{};return!r||(0,M.default)(r)?"/compute/instance/create":(0,S.default)(a=n.path).call(a,"/compute/server")>=0?"/compute/instance/create?servergroup=".concat(r.id):void 0})),(0,P.default)(J,"policy",["os_compute_api:servers:create","os_compute_api:os-availability-zone:list"]);var Z=(0,E.inject)("rootStore")((0,E.observer)(J));a.default=Z},1319:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.AvailabilityZoneStore=void 0;var f,p=c(a(28)),h=c(a(32)),m=c(a(54)),g=c(a(25)),v=c(a(35)),y=c(a(49)),b=c(a(55)),_=c(a(1314)),S=c(a(177)),x=a(36),w=c(a(50)),I=c(a(53));function C(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){for(var t=1;t{var{available:t}=e.zoneState;return e.available=t,e}}listDidFetch(e){return(0,y.default)((function*(){var t=[];return(0,p.default)(e).call(e,(e=>{var{hosts:a}=e;if((0,_.default)(a))t.push(e);else{var r,n={};(0,p.default)(r=(0,h.default)(a)).call(r,(e=>{var t=a[e];t["nova-compute"]&&(n[e]=t)})),(0,S.default)(n)||t.push(k(k({},e),{},{host:n}))}})),t}))()}fetchListWithoutDetail(){var e=this;return(0,y.default)((function*(){var t=(yield e.client.list())[e.listResponseKey];e.list.data=(0,m.default)(t).call(t,e.mapper)}))()}},(0,b.default)(f.prototype,"fetchListWithoutDetail",[x.action],(0,g.default)(f.prototype,"fetchListWithoutDetail"),f.prototype),f);t.AvailabilityZoneStore=D;var P=new D;t.default=P},1320:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.hasEncryption=a.volumeTypeSelectProps=a.volumeTypeFilters=a.volumeTypeColumns=a.controls=a.creationMethod=a.consumerTypes=void 0;var l=i(r(177)),o=r(566),s={"front-end":t("Frontend"),"back-end":t("Backend"),both:t("Both of Frontend and Backend")};a.consumerTypes=s;var u={manu:t("Manu"),auto:t("Auto")};a.creationMethod=u;var d={"front-end":t("Front End"),"back-end":t("Back End")};a.controls=d;var c=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description",isHideable:!0,valueRender:"noValue"},{title:t("Public"),dataIndex:"is_public",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"multiattach",valueRender:"yesNo",titleTip:o.multiTip,width:120}];a.volumeTypeColumns=c;var f=[{label:t("Name"),name:"name"}];a.volumeTypeFilters=f;var p={columns:c,filterParams:f};a.volumeTypeSelectProps=p;a.hasEncryption=e=>{var{encryption:t}=e||{};return!(!t||(0,l.default)(t))&&!t.deleted_at}},1326:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.securityGroupFilter=a.securityGroupColumns=void 0;var l=i(r(0)),o=i(r(3559)),s=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"},{title:t("Rules"),dataIndex:"rules",render:(e,t)=>l.default.createElement(o.default,{item:t})}];a.securityGroupColumns=s;var u=[{label:t("Name"),name:"name"}];a.securityGroupFilter=u},1327:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.SettingStore=void 0;var i,l=n(a(29)),o=n(a(25)),s=n(a(49)),u=n(a(55)),d=a(36),c=n(a(50)),f=n(a(53)),p=(i=class extends f.default{get client(){return c.default.skyline.setting}listDidFetch(e){return(0,s.default)((function*(){return(0,l.default)(e).call(e,(e=>!e.hidden))}))()}update(e){return this.submitting(this.client.update(null,e))}},(0,u.default)(i.prototype,"update",[d.action],(0,o.default)(i.prototype,"update"),i.prototype),i);t.SettingStore=p;var h=new p;t.default=h},1353:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.InstanceVolumeStore=void 0;var f=c(a(54)),p=c(a(63)),h=c(a(28)),m=c(a(49)),g=c(a(58)),v=c(a(35)),y=c(a(50)),b=c(a(53)),_=a(163),S=a(566);function x(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;te.serverId))}get client(){return y.default.nova.servers.volumeAttachments}get isSubResource(){return!0}get paramsFunc(){return e=>{var{id:t,serverId:a,all_projects:r,projectId:n,serverName:i}=e;return(0,g.default)(e,["id","serverId","all_projects","projectId","serverName"])}}get mapperBeforeFetchProject(){return(e,t)=>{var{projectId:a}=t;return w(w({},e),{},{project_id:a})}}get mapper(){return e=>(0,S.updateVolume)(e)}get groupArraySize(){return 10}listDidFetch(e,t){var a=this;return(0,m.default)((function*(){if(0===e.length)return e;var r=(0,f.default)(e).call(e,(e=>e.volumeId)),n=(0,_.groupArray)(r,a.groupArraySize),i=yield p.default.all((0,f.default)(n).call(n,(e=>{var r={uuid:e,all_projects:t};return a.skylineClient.extension.volumes(r)}))),l=[];return(0,h.default)(i).call(i,(e=>{l.push(...e.volumes)})),l}))()}}t.InstanceVolumeStore=I;var C=new I;t.default=C},1355:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.default=void 0;var n={"anti-affinity":t("Anti-Affinity"),affinity:t("Affinity"),"soft-anti-affinity":t("Soft-Anti-Affinity"),"soft-affinity":t("Soft-Affinity")};a.default=n},1356:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.fetchQuota=function(e){return C.apply(this,arguments)},a.checkQuotaDisable=a.getQuotaInfo=a.getAdd=a.getQuota=a.restoreTip=a.modeTip=a.backupModeList=a.createTip=a.backupStatus=void 0;var p=f(r(35)),h=f(r(49)),m=f(r(0)),g=f(r(340)),v=f(r(1292));function y(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t{var{backups:t={},backup_gigabytes:a={}}=e||{};return{backups:t,gigabytes:a}};a.getQuota=k;var D=e=>{var{backups:t,gigabytes:a}=k(e),{left:r=0}=t||{},{left:n=0,limit:i}=a||{},{currentVolumeSize:l=0}=v.default,o=0!==r&&(0!==n&&(-1===i||n>=l))?1:0;return{add:o,addSize:1===o?l:0}};a.getAdd=D;a.getQuotaInfo=e=>{var{quota:a={},quotaLoading:r}=e.state;if(r)return[];var{backups:n={},gigabytes:i={}}=k(a),{add:l,addSize:o}=D(a);return[b(b({},n),{},{add:l,name:"backup",title:t("Volume Backup")}),b(b({},i),{},{add:o,name:"gigabytes",title:t("Volume Backup Capacity (GiB)"),type:"line"})]};a.checkQuotaDisable=()=>{var{cinderQuota:e={}}=g.default,{add:t}=D(e);return 0===t}},1357:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getQoSPolicyTabs=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=w({backendPageStore:this.qosPolicyStore},e),r=[{title:t("Current Project QoS Policies"),key:"project",props:(0,b.default)({},a,w(w({},P({self:this})),{},{extraParams:{project_id:this.currentProjectId}}))},{title:t("Shared QoS Policies"),key:"shared",props:(0,b.default)({},a,w(w({},P({shared:!0,self:this})),{},{extraParams:{shared:!0}}))}];this.hasAdminRole&&r.push({title:t("All QoS Policies"),key:"all",props:(0,b.default)({},a,w(w({},P({all:!0,self:this})),{},{extraParams:{all_projects:!0}}))});return r},a.getQosPolicySelectTableProps=a.qosPolicySortProps=a.getQosPolicyFilters=a.getQosPolicyColumns=void 0;var p=f(r(77)),h=f(r(54)),m=f(r(573)),g=f(r(35));r(1246);var v=f(r(1247));r(1244);var y=f(r(1245)),b=f(r(607)),_=f(r(0)),S=(r(161),r(342));function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var a,r,n,i,l,o,s,u,d;return"egress"===e.direction?(0,p.default)(o=(0,p.default)(s=(0,p.default)(u=(0,p.default)(d="".concat(t("Egress"),": ")).call(d,t("Max BandWidth"),": ")).call(u,e.max_kbps/1024," Mbps; ")).call(s,t("Max Burst"),": ")).call(o,e.max_burst_kbps/1024," Mbps"):"ingress"===e.direction?(0,p.default)(a=(0,p.default)(r=(0,p.default)(n=(0,p.default)(i="".concat(t("Ingress"),": ")).call(i,t("Max BandWidth"),": ")).call(n,e.max_kbps/1024," Mbps; ")).call(r,t("Max Burst"),": ")).call(a,e.max_burst_kbps/1024," Mbps"):(0,p.default)(l="".concat(t("DSCP Marking"),": ")).call(l,e.dscp_mark)},C=e=>{var{self:a,all:r=!1}=e,n=[{title:t("ID/Name"),dataIndex:"name",routeName:a.getRouteName("networkQosDetail")},{title:t("Description"),dataIndex:"description",sorter:!1},{title:t("Rules Number"),dataIndex:"rulesNumber",render:(e,t)=>t.rules.length,isHideable:!0,sorter:!1},{title:t("Rules"),dataIndex:"rules",render:e=>e.length?_.default.createElement(v.default,null,(0,h.default)(e).call(e,(e=>_.default.createElement(y.default,{span:24,key:e.direction},I(e))))):"-",sorter:!1,stringify:e=>e.length?(0,h.default)(e).call(e,(e=>I(e))).join("\n"):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo",width:80,sorter:!1},{title:t("Default Policy"),dataIndex:"is_default",valueRender:"yesNo",isHideable:!0,width:100,sorter:!1},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0,sorter:!1}];return r&&a.isAdminPage&&(0,m.default)(n).call(n,2,0,{title:t("Project ID/Name"),dataIndex:"project_name",sortKey:"project_id"}),n};a.getQosPolicyColumns=C;var k=e=>{var{self:a,shared:r=!1}=e,n=[{label:t("Name"),name:"name"},{label:t("Description"),name:"description"}];return r||n.push({label:t("Shared"),name:"shared",options:S.yesNoOptions}),a.hasAdminRole&&n.push({label:t("Project ID"),name:"tenant_id"}),n};a.getQosPolicyFilters=k;var D={isSortByBack:!0,defaultSortKey:"name",defaultSortOrder:"descend"};a.qosPolicySortProps=D;var P=e=>{var{self:t,all:a,shared:r}=e;return w(w({},D),{},{columns:C({self:t,all:a}),filterParams:k({self:t,shared:r})})};a.getQosPolicySelectTableProps=P},1373:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(164)),s=l(a(28)),u=l(a(32)),d=l(a(345)),c=l(a(343)),f=l(a(35)),p=l(a(134)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),m=l(a(16)),g=l(a(4)),v=a(1495),y=l(a(1754)),b=l(a(1756));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}var S=e=>{if(!(0,p.default)(e))return e;if((0,o.default)(e).call(e,"")){var t=/<\/h1>[\r\n]([\s\S]*)<\/body>/.exec(e);if(t)return t[1].replace(/
/g,"")}try{return JSON.parse(e)}catch(t){return e}},x=(e,t)=>{var a;return(0,p.default)(e)?S(e):((0,s.default)(a=(0,u.default)(e)).call(a,(t=>{(0,p.default)(e[t])&&(e[t]=S(e[t]))})),"json"===t?(0,d.default)(e,null,2):"yaml"===t?(0,v.getValue)(e):e)};class w extends h.PureComponent{constructor(e){super(e),(0,f.default)(this,"handleChange",(e=>{var{onChange:t}=this.props;t(e)})),this.state={value:x(e.value,e.mode),originValue:e.value}}static getDerivedStateFromProps(e,t){var{value:a,mode:r}=e;return a!==t.originValue?{value:x(a,r),originValue:a}:null}render(){var{className:e,mode:t,options:a}=this.props;return h.default.createElement(b.default,(0,c.default)({},a,{className:(0,g.default)(y.default.editor,e),value:this.state.value,mode:t,onChange:this.handleChange}))}}(0,f.default)(w,"propTypes",{value:m.default.oneOfType([m.default.string,m.default.object,m.default.array]),mode:m.default.string,options:m.default.object,onChange:m.default.func}),(0,f.default)(w,"defaultProps",{value:{},mode:"yaml",options:{},onChange(){}});var I=w;t.default=I},1388:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(54)),s=l(a(343)),u=l(a(49)),d=l(a(35)),c=l(a(205)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),p=l(a(16)),h=a(163),m=l(a(1436)),g=a(1435);function v(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(v=function(e){return e?a:t})(e)}class y extends f.Component{static propTypes(){return{visibleButtonNumber:p.default.number,primaryActions:p.default.array,onFinishAction:p.default.func,onCancelAction:p.default.func,routing:p.default.object.isRequired,containerProps:p.default.object,onClickAction:p.default.func,primaryActionsExtra:p.default.any}}constructor(e){super(e),(0,d.default)(this,"onClickAction",(()=>{var{onClickAction:e}=this.props;e&&e()})),this.state={primaryAllowedResults:[]},this.actionList=this.getActionList(e)}componentDidMount(){this.getActionsAllowed()}componentDidUpdate(e){(0,c.default)(e,this.props)||this.getActionsAllowed()}getActionsAllowed(){var e=this;return(0,u.default)((function*(){var{containerProps:t,primaryActionsExtra:a,isAdminPage:r}=e.props,{detail:n=null}=t,i=yield(0,g.getAllowedResults)({actions:e.actionList,data:n,containerProps:t,key:null,extra:a,isAdminPage:r});e.setState({primaryAllowedResults:i})}))()}getActionList(e){var{primaryActions:t,containerProps:a}=e;return(0,o.default)(t).call(t,(e=>(0,g.getAction)(e,null,a)))}render(){var e,{primaryAllowedResults:t}=this.state,{onFinishAction:a,routing:r,containerProps:n,onCancelAction:i,onClickAction:l}=this.props,u=(0,o.default)(e=this.actionList).call(e,((e,o)=>{var u="primary-".concat((0,h.generateId)()),{id:d,title:c,buttonType:p,actionType:g,buttonText:v,isDanger:y}=e,b={id:d,title:c,name:v||c,buttonType:p,isDanger:y,actionType:g,action:e};return f.default.createElement(m.default,(0,s.default)({},b,{key:u,isAllowed:t[o],onFinishAction:a,routing:r,containerProps:n,onClickAction:l,onCancelAction:i}))}));return f.default.createElement(f.default.Fragment,null,u)}}t.default=y,(0,d.default)(y,"defaultProps",{visibleButtonNumber:3,primaryActions:[],onFinishAction:null,onCancelAction:null,containerProps:{},primaryActionsExtra:null})},1389:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.hypervisorFilters=a.hypervisorColumns=void 0;var l=i(r(77));r(344);var o=i(r(202)),s=i(r(0)),u=i(r(1462)),d=(r(161),[{title:t("Hostname"),dataIndex:"service_host"},{title:t("Type"),dataIndex:"hypervisor_type"},{title:t("VCPU (Core)"),dataIndex:"vcpus_used_percent",render:(e,a)=>{var r;return"ironic"===a.hypervisor_type?s.default.createElement(o.default,{title:t("vCPUs and ram are not used for bare metal scheduling")},s.default.createElement("span",null,"-")):s.default.createElement(u.default,{value:e,label:(0,l.default)(r="".concat(a.vcpus_used," / ")).call(r,a.vcpus)})},width:180,stringify:(e,a)=>{var r,n,i,o;return"ironic"===a.hypervisor_type?"-":(0,l.default)(r=(0,l.default)(n=(0,l.default)(i=(0,l.default)(o="".concat(e,"% (")).call(o,t("Used"),": ")).call(i,a.vcpus_used," / ")).call(n,t("Total"),": ")).call(r,a.vcpus,")")}},{title:t("Configured Memory (GiB)"),dataIndex:"memory_mb_percent",render:(e,a)=>{var r;return"ironic"===a.hypervisor_type?s.default.createElement(o.default,{title:t("vCPUs and ram are not used for bare metal scheduling")},s.default.createElement("span",null,"-")):s.default.createElement(u.default,{value:e,label:(0,l.default)(r="".concat(a.memory_mb_used_gb," / ")).call(r,a.memory_mb_gb)})},width:180,stringify:(e,a)=>{var r,n,i,o;return"ironic"===a.hypervisor_type?"-":(0,l.default)(r=(0,l.default)(n=(0,l.default)(i=(0,l.default)(o="".concat(e,"% (")).call(o,t("Used"),": ")).call(i,a.memory_mb_used_gb," / ")).call(n,t("Total"),": ")).call(r,a.memory_mb_gb,")")}},{title:t("Instances"),dataIndex:"running_vms"}]);a.hypervisorColumns=d;var c=[{label:t("Hostname"),name:"service_host"},{label:t("Type"),name:"hypervisor_type"}];a.hypervisorFilters=c},1391:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.InstanceSnapshotStore=void 0;var f=c(a(29)),p=c(a(63)),h=c(a(28)),m=c(a(86)),g=c(a(54)),v=c(a(49)),y=c(a(58)),b=c(a(35)),_=c(a(1350)),S=c(a(50)),x=a(574),w=c(a(53));function I(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function C(e){for(var t=1;t{t&&a&&(e.sort_key=t,e.sort_dir="descend"===a?"desc":"asc")})),(0,b.default)(this,"updateParamsSort",this.updateParamsSortPage)}get client(){return S.default.glance.images}get listFilterByProject(){return!0}get fetchListByLimit(){return!0}get paramsFunc(){return this.paramsFuncPage}get paramsFuncPage(){return(e,t)=>{var{id:a,current:r,owner:n}=e,i=C({},(0,y.default)(e,["id","current","owner"]));return n?i.owner=n:t||(i.owner=this.currentProjectId),i}}get mapperBeforeFetchProject(){return e=>C(C({},e),{},{project_name:e.owner_project_name||e.project_name,project_id:e.owner||e.project_id})}listDidFetch(e,t,a){return(0,v.default)((function*(){if(0===e.length)return e;var r=(0,f.default)(e).call(e,x.isSnapshot),{id:n}=a;if(!n)return r;var i={all_tenants:t},l=yield p.default.all([S.default.cinder.snapshots.list(i),S.default.nova.servers.volumeAttachments.list(n,{})]),o=l[0].snapshots,s=l[1].volumeAttachments,u=[];return(0,h.default)(r).call(r,(e=>{var{block_device_mapping:t="[]",instance_id:a}=e;if(a===n)u.push(e);else{var r,i=(0,m.default)(r=JSON.parse(t)).call(r,(e=>0===e.boot_index));if(i){e.snapshotId=i.snapshot_id;var l=(0,m.default)(o).call(o,(e=>e.id===i.snapshot_id));if(l){var d=l.volume_id;(0,m.default)(s).call(s,(e=>e.volumeId===d))&&u.push(e)}}else{var{instance_uuid:c}=e;n===c&&u.push(e)}}})),u}))()}detailDidFetch(e){return(0,v.default)((function*(){var t;e.originData=C({},e);var{block_device_mapping:a="[]"}=e,r=(0,m.default)(t=JSON.parse(a)).call(t,(e=>0===e.boot_index)),n=null,i="";if(r){var{snapshot_id:l}=r;e.snapshotId=l;var o=(yield S.default.cinder.snapshots.show(l)).snapshot;e.snapshotDetail=o;var{volume_id:s}=o,u=(yield S.default.cinder.volumes.show(s)).volume;e.volumeDetail=u,n=u.attachments.length>0?u.attachments[0].server_id:""}else{var{instance_uuid:d}=e;n=d}var c={};try{if(n){c=yield S.default.nova.servers.show(n);var{server:{name:f}={}}=c;i=f}}catch(e){}return e.instance={server_id:n,server_name:i},e.instanceDetail=c.server||{},e}))()}fetchInstanceSnapshotVolumeData(e){var t=this;return(0,v.default)((function*(){var{id:a}=e,r=yield t.client.show(a),n=yield t.detailDidFetch(r),{block_device_mapping:i="[]"}=n,l=JSON.parse(i)||[];if(null==l||!l.length)return n;var o=null==l?void 0:(0,f.default)(l).call(l,(e=>0!==e.boot_index)),s=(0,g.default)(o).call(o,function(){var e=(0,v.default)((function*(e){var t=(0,_.default)(e),{snapshot_id:a}=e,r=yield S.default.cinder.snapshots.show(a),n=(null==r?void 0:r.snapshot)||{};return t.snapshotDetail=n,t.bdmFormatData=e,t}));return function(t){return e.apply(this,arguments)}}()),u=yield p.default.all(s),d=(0,g.default)(u).call(u,function(){var e=(0,v.default)((function*(e){var{volume_id:t}=e.snapshotDetail,a=yield S.default.cinder.volumes.show(t),r=(null==a?void 0:a.volume)||{};return e.volumeDetail=r,e}));return function(t){return e.apply(this,arguments)}}()),c=yield p.default.all(d);return C(C({},n),{},{instanceSnapshotDataVolumes:c})}))()}}t.InstanceSnapshotStore=k;var D=new k;t.default=D},1392:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=a.FlavorSelectTable=void 0;var s=o(r(86)),u=o(r(29)),d=o(r(91)),c=o(r(573)),f=o(r(54));r(593);var p=o(r(427)),h=o(r(49)),m=o(r(35)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=I(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),v=r(412),y=r(36),b=o(r(1376)),_=(r(161),o(r(1327))),S=o(r(1259)),x=r(1264),w=o(r(3573));function I(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(I=function(e){return e?a:t})(e)}class C extends g.Component{constructor(e){super(e),(0,m.default)(this,"onArchChange",(e=>{this.setState({arch:e.target.value})})),(0,m.default)(this,"onCategoryChange",(e=>{this.setState({category:e.target.value})})),(0,m.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),this.state={arch:null,category:null},this.init()}get labelStyle(){return{marginRight:16}}getSettings(){var e=this;return(0,h.default)((function*(){yield e.settingStore.fetchList(),e.initDefaultValue()}))()}getFlavors(){var e=this;return(0,h.default)((function*(){var{allProjects:t=!1}=e.props;yield e.flavorStore.fetchList({all_projects:t}),e.initDefaultValue()}))()}get architectures(){var e,t={architecture:"custom"},a={architecture:"all"},{isIronic:r=!1,filterIronic:n=!0}=this.props,i=(0,s.default)(e=this.settingStore.list.data||[]).call(e,(e=>"flavor_families"===e.key));if(!i)return[a,t];var l=[];try{var o;l=(0,u.default)(o=i.value||[]).call(o,(e=>{var{architecture:t}=e;return!!t&&(!n||(r?(0,x.isBareMetal)(t):!(0,x.isBareMetal)(t)))}))}catch(e){}return[a,...l,t]}get categories(){var e,{arch:t}=this.state;if(!t)return[];var a=(0,s.default)(e=this.architectures).call(e,(e=>e.architecture===t));return a&&a.categories||[]}get flavors(){var e,t,a,r,{flavor:n,isIronic:i=!1,filterIronic:l=!0,excludeFlavors:o=[]}=this.props,{arch:s,category:c}=this.state;return s?(0,u.default)(e=(0,u.default)(t=(0,u.default)(a=(0,u.default)(r=this.flavorStore.list.data||[]).call(r,(e=>!(o.length>0)||(0,d.default)(o).call(o,e.id)<0))).call(a,(e=>!n||e.name!==n))).call(t,(e=>!l||(i?(0,x.isBareMetalFlavor)(e):!(0,x.isBareMetalFlavor)(e))))).call(e,(e=>"all"===s||("custom"===s?e.architecture===s:e.architecture===s&&e.category===c))):[]}getBaseColumns(){var{category:e,arch:a}=this.state,r=[...(0,x.getBaseColumns)()];return r[0].title=t("Name"),(0,c.default)(r).call(r,1,1),(0,x.categoryHasIOPS)(e)||(r=(0,u.default)(r).call(r,(e=>"quota:disk_total_iops_sec"!==e.dataIndex))),(0,x.categoryHasEphemeral)(e)||(r=(0,u.default)(r).call(r,(e=>"OS-FLV-EXT-DATA:ephemeral"!==e.dataIndex))),"all"===a&&(r=[...r,{title:t("Architecture"),dataIndex:"id",render:(e,t)=>(0,x.getFlavorArchInfo)(t)}]),r}getGpuColumns(){var{category:e}=this.state;return"compute_optimized_type"===e?(0,u.default)(x.gpuColumns).call(x.gpuColumns,(e=>{var t;return(0,d.default)(t=e.dataIndex).call(t,"gpu")<0})):(0,u.default)(x.gpuColumns).call(x.gpuColumns,(e=>{var t;return(0,d.default)(t=e.dataIndex).call(t,"gpu")>=0}))}get columns(){var{arch:e}=this.state,t=this.getBaseColumns();if((0,x.isBareMetal)(e))return[...(0,u.default)(t).call(t,((e,t)=>t<3))];if("heterogeneous_computing"!==e)return t;var a=this.getGpuColumns();return[...t,...a]}initDefaultValue(){var{value:{selectedRowKeys:e=[]}={}}=this.props;if(e.length>0){var t,a=(0,s.default)(t=(0,y.toJS)(this.flavorStore.list.data)||[]).call(t,(t=>t.id===e[0]));if(a){var{architecture:r,category:n}=a;this.setState({arch:r,category:n})}}else{var i=this.architectures[0].architecture,l=null;this.architectures[0].categories&&(l=this.architectures[0].categories[0].name),this.setState({arch:i,category:l})}}init(){this.settingStore=_.default,this.flavorStore=S.default,this.getSettings(),this.getFlavors()}renderArchButtons(){var e,{arch:t}=this.state,a=(0,f.default)(e=this.architectures).call(e,(e=>{var{architecture:t}=e,a=x.flavorArchitectures[t]||t;return g.default.createElement(p.default.Button,{value:t,key:t},a)}));return g.default.createElement(p.default.Group,{id:"flavor-select-arch",onChange:this.onArchChange,value:t,buttonStyle:"solid"},a)}renderCategoryButtons(){var e,{category:t}=this.state,a=(0,f.default)(e=this.categories).call(e,(e=>{var{name:t}=e,a=x.flavorCategoryList[t]||t;return g.default.createElement(p.default.Button,{value:t,key:t},a)}));return g.default.createElement(p.default.Group,{id:"flavor-select-category",onChange:this.onCategoryChange,value:t,buttonStyle:"solid"},a)}renderArchSelect(){return g.default.createElement("div",{className:w.default["flavor-tab"]},g.default.createElement("span",{className:w.default["flavor-label"]},t("Architecture")),this.renderArchButtons())}renderCategorySelect(){var{arch:e}=this.state;return"custom"===e||"all"===e?null:g.default.createElement("div",{className:w.default["flavor-tab"]},g.default.createElement("span",{className:w.default["flavor-label"]},t("Category")),this.renderCategoryButtons())}renderTableHeader(){return g.default.createElement("div",null,this.renderArchSelect(),this.renderCategorySelect())}render(){var{value:e,disabledFunc:t}=this.props,a=this.settingStore.list.isLoading&&this.flavorStore.list.isLoading,r={columns:this.columns,data:this.flavors,tableHeader:this.renderTableHeader(),isLoading:a,filterParams:(0,x.getFlavorSearchFilters)(),value:e,onChange:this.onChange,disabledFunc:t};return g.default.createElement(b.default,r)}}a.FlavorSelectTable=C;var k=(0,v.inject)("rootStore")((0,v.observer)(C));a.default=k},1393:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.enablePFW=function(){var{neutronExtensions:e}=o.default,t=!1,a=!1;return(0,l.default)(e).call(e,(e=>{"floating-ip-port-forwarding"===e.alias?t=!0:"expose-port-forwarding-in-fip"===e.alias&&(a=!0)})),t&&a},a.availabilityZoneResource=a.availabilityZoneState=void 0;var l=i(r(28)),o=i(r(133)),s={available:t("Available"),unavailable:t("Unavailable")};a.availabilityZoneState=s;var u={router:t("Router"),network:t("Network")};a.availabilityZoneResource=u},1395:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Port=void 0;var p=f(r(77)),h=f(r(164)),m=f(r(54)),g=f(r(29)),v=f(r(573)),y=f(r(58)),b=f(r(35)),_=f(r(0)),S=r(412),x=f(r(1242)),w=r(572),I=r(1258),C=r(342),k=f(r(1607));function D(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t{var{id:t}=e,a=P({},(0,y.default)(e,["id"]));return this.isInstanceDetail?a.device_id=t:this.isNetworkDetail&&(a.network_id=t),a})),(0,b.default)(this,"updateFetchParams",(e=>{var{id:t,networkId:a}=e;return P({network_id:a,subnetId:t},(0,y.default)(e,["id","networkId"]))})),(0,b.default)(this,"renderResource",((e,t)=>{var a,{device_id:r,device_owner:n}=t;if(!n)return r||"-";var i,l=r,o=null;"compute:nova"===n?(l=e?(0,p.default)(i="".concat(r," (")).call(i,e,")"):r,o=this.getLinkRender("instanceDetail",l,{id:r},{tab:"interface"})):(0,h.default)(a=["network:router_interface","network:ha_router_replicated_interface","network:router_ha_interface"]).call(a,n)?o=this.getLinkRender("routerDetail",l,{id:r}):"network:floatingip"===n&&(o=this.getLinkRender("fipDetail",l,{id:r}));return o?_.default.createElement(_.default.Fragment,null,n,_.default.createElement("br",null),o):_.default.createElement(_.default.Fragment,null,n,_.default.createElement("br",null),r||"-")})),(0,b.default)(this,"getPortDetailRoute",(()=>this.isSubnetDetail?{routeName:this.getRouteName("subnetPortDetail"),routeParamsFunc:e=>({networkId:e.network_id,subnetId:e.subnet_id,id:e.id})}:this.isNetworkDetail?{routeName:this.getRouteName("networkPortDetail"),routeParamsFunc:e=>({networkId:e.network_id,id:e.id})}:this.isInstanceDetail?{routeName:this.getRouteName("instancePortDetail"),routeParamsFunc:e=>({instanceId:e.device_id,id:e.id})}:{routeName:this.getRouteName("portDetail")})),(0,b.default)(this,"getColumns",(()=>{var e=[P({title:t("ID/Name"),dataIndex:"name"},this.getPortDetailRoute()),{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0,sortKey:"project_id"},{title:t("Bind Resource"),dataIndex:"server_name",stringify:(e,t)=>{var a,r,n,i,{device_id:l,device_owner:o}=t;return l&&"compute:nova"===o&&e?(0,p.default)(n=(0,p.default)(i="".concat(o," \n ")).call(i,l," (")).call(n,e,")"):(0,p.default)(a=(0,p.default)(r="\n ".concat(o," ")).call(r,o&&"\n","\n ")).call(a,l||"-","\n ")},render:this.renderResource,isHideable:!0,sorter:!1},{title:t("Owned Network ID/Name"),dataIndex:"network_name",isLink:!0,routeName:this.getRouteName("networkDetail"),idKey:"network_id",sorter:!1},{title:t("IPv4 Address"),dataIndex:"ipv4",render:e=>(0,m.default)(e).call(e,(e=>_.default.createElement("div",{key:e},e))),isHideable:!0,stringify:e=>e.join(","),sorter:!1},{title:t("IPv6 Address"),dataIndex:"ipv6",render:e=>(0,m.default)(e).call(e,(e=>_.default.createElement("div",{key:e},e))),isHideable:!0,stringify:e=>e.join(","),sorter:!1},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:I.portStatus}];return this.isInstanceDetail?(0,g.default)(e).call(e,(e=>"server_name"!==e.dataIndex)):this.isNetworkDetail?(0,g.default)(e).call(e,(e=>"network_name"!==e.dataIndex)):e}))}init(){this.store=new w.PortStore,this.downloadStore=new w.PortStore}get isInstanceDetail(){var e,t;return this.inDetailPage&&((0,h.default)(e=this.path).call(e,"compute/instance")||(0,h.default)(t=this.path).call(t,"management/recycle-bin"))}get isNetworkDetail(){var e,t;return this.inDetailPage&&((0,h.default)(e=this.path).call(e,"networks/detail")||(0,h.default)(t=this.path).call(t,"networks-admin/detail"))&&!this.isSubnetDetail}get isSubnetDetail(){var e;return this.inDetailPage&&(0,h.default)(e=this.path).call(e,"subnet")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,h.default)(e=this.path).call(e,"recycle-bin")}get isFilterByBackend(){return!this.isSubnetDetail}get isSortByBackend(){return this.isFilterByBackend}get defaultSortKey(){return this.isFilterByBackend?"status":""}get policy(){return"get_port"}get name(){return t("ports")}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isRecycleBinDetail?C.emptyActionConfig:this.isAdminPage?k.default.adminActions:this.inDetailPage?this.isInstanceDetail?k.default.actionConfigsInDetail:k.default.noActions:k.default.actionConfigs}get searchFilters(){var e=[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:[{label:t("Active"),key:"ACTIVE"},{label:t("Down"),key:"DOWN"},{label:t("Error"),key:"ERROR"},{label:t("Build"),key:"BUILD"},{label:t("N/A"),key:"N/A"}]}];this.isNetworkDetail||(0,v.default)(e).call(e,1,0,{label:t("Owned Network"),name:"network_name"});var a={label:t("Device Owner"),name:"device_owner",options:[{label:t("Instance"),key:"compute:nova",checkLabel:t("View virtual adapters"),isQuick:!0},{label:t("Router"),key:"network:router_ha_interface,network:ha_router_replicated_interface,network:router_interface,network:router_gateway,network:router_interface_distributed,network:router_centralized_snat"},{label:t("Floating IP"),key:"network:floatingip,network:floatingip_agent_gateway"},{label:t("DHCP Agent"),key:"network:dhcp"},{label:t("Others"),key:"network:local_ip,network:routed,network:distributed,compute:kuryr,Octavia"},{label:t("Unbounded"),key:"none"}]};return this.isSubnetDetail&&(a.filterFunc=(e,t)=>"none"===t?!e:e&&(0,h.default)(t).call(t,e)),this.isInstanceDetail||e.push(a),e}}a.Port=T;var A=(0,S.inject)("rootStore")((0,S.observer)(T));a.default=A},1455:function(e,t,a){var r=a(2087);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1456:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=a.QuotaOverview=a.getVolumeTypeCards=a.troveQuotaCard=a.magnumQuotaCard=a.zunQuotaCard=a.shareQuotaCard=a.quotaCardList=void 0;var s=o(r(54)),u=o(r(29)),d=o(r(77)),c=o(r(63)),f=o(r(32));r(602);var p=o(r(603)),h=o(r(49));r(1457);var m=o(r(1383));r(347);var g=o(r(348));r(1244);var v=o(r(1245));r(1280);var y=o(r(1281));r(1246);var b=o(r(1247));r(1271);var _=o(r(1272)),S=o(r(35));r(344);var x=o(r(202)),w=o(r(1299)),I=o(r(351)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=N(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),k=(r(161),r(564),r(412)),D=o(r(578)),P=o(r(340)),T=o(r(133)),A=r(66),M=o(r(1455));function N(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(N=function(e){return e?a:t})(e)}var E={normal:{color:globalCSS.primaryColor,text:t("Normal")},danger:{color:globalCSS.warnDarkColor,text:t("Danger")},full:{color:globalCSS.errorColor,text:t("Full")}},R=C.default.createElement("span",null,t("Key Pairs"),C.default.createElement(x.default,{title:t("The number of allowed key pairs for each user.")},C.default.createElement(w.default,{style:{marginLeft:4}}))),j=(0,A.firewallEndpoint)()?[{text:t("Firewalls"),key:"firewall_group"},{text:t("Firewall Policies"),key:"firewall_policy"},{text:t("Firewall Rules"),key:"firewall_rule"}]:[],F=[{text:t("Compute"),type:"compute",value:[{text:t("Instances"),key:"instances"},{text:t("vCPUs"),key:"cores"},{text:t("Memory (GiB)"),key:"ram"},{text:R,key:"key_pairs"},{text:t("Server Groups"),key:"server_groups"}]},{text:t("Storage"),type:"storage",value:[{text:t("Volumes"),key:"volumes"},{text:t("Volume Capacity (GiB)"),key:"gigabytes"},{text:t("Volume Snapshots"),key:"snapshots"},{text:t("Volume Backups"),key:"backups"},{text:t("Volume Backup Capacity (GiB)"),key:"backup_gigabytes"}]},{text:t("Network"),type:"networks",value:[{text:t("Routers"),key:"router"},{text:t("Networks"),key:"network"},{text:t("Subnets"),key:"subnet"},{text:t("Floating IPs"),key:"floatingip"},{text:t("Ports"),key:"port"},{text:t("Security Groups"),key:"security_group"},{text:t("Security Group Rules"),key:"security_group_rule"},...j]}];a.quotaCardList=F;var L={text:t("Share"),type:"share",value:[{text:t("Shares"),key:"shares"},{text:t("Share Capacity (GiB)"),key:"share_gigabytes"},{text:t("Share Networks"),key:"share_networks"},{text:t("Share Groups"),key:"share_groups"}]};a.shareQuotaCard=L;var O={text:t("Containers Management"),type:"zun",value:[{text:t("Containers"),key:"zun_containers"},{text:t("Containers CPU"),key:"zun_cpu"},{text:t("Containers Memory (MiB)"),key:"zun_memory"},{text:t("Containers Disk (GiB)"),key:"zun_disk"}]};a.zunQuotaCard=O;var z={text:t("Clusters Management"),type:"magnum",value:[{text:t("Clusters"),key:"magnum_cluster"}]};a.magnumQuotaCard=z;var B={text:t("Database"),type:"trove",value:[{text:t("Database Instance"),key:"trove_instances"},{text:t("Database Disk (GiB)"),key:"trove_volumes"}]};a.troveQuotaCard=B;var V=e=>{var a=(0,s.default)(e).call(e,((e,a)=>({index:a,value:[{text:t("{name} type",{name:e.name}),key:"volumes_".concat(e.name)},{text:t("{name} type capacity (GiB)",{name:e.name}),key:"gigabytes_".concat(e.name)},{text:t("{name} type snapshots",{name:e.name}),key:"snapshots_".concat(e.name)}]})));return{text:t("Storage Types"),type:"volumeTypes",value:a}};a.getVolumeTypeCards=V;class U extends C.Component{constructor(e){var a;super(e),a=this,(0,S.default)(this,"getFilteredValue",(e=>(0,u.default)(e).call(e,(e=>!e.hidden)))),(0,S.default)(this,"getItemInfo",((e,a)=>{var r=0;e[a.key]&&(0,I.default)(e[a.key].used)&&-1!==e[a.key].limit&&(r=e[a.key].used/e[a.key].limit*100);var n,i="-";e[a.key]&&(0,I.default)(e[a.key].used)&&(i=(0,d.default)(n="".concat(e[a.key].used," / ")).call(n,-1===e[a.key].limit?t("Unlimit"):e[a.key].limit));var l=r>=90&&E.full.color||r>=80&&E.danger.color||E.normal.color,o=C.default.createElement("span",null,a.text," : ",i),{server_group_members:s}=e;return"server_groups"===a.key&&s&&(o=C.default.createElement("span",null,o," (",t("Members of Each Group")," :",-1===s.limit?t("Unlimit"):s.limit,")")),C.default.createElement(C.default.Fragment,null,C.default.createElement("div",{className:M.default["progress-title"]},o),C.default.createElement(x.default,{title:o,placement:"top",getPopupContainer:e=>e.parentNode},C.default.createElement(_.default,{style:{marginTop:13,marginBottom:13},percent:r,showInfo:!1,strokeColor:l})))})),(0,S.default)(this,"renderQuotaCardList",(()=>{var e,{isLoading:t}=this.state;return C.default.createElement(b.default,{className:M.default.content},(0,s.default)(e=this.quotaCardList).call(e,(e=>C.default.createElement(v.default,{className:M.default.card,span:24,key:e.type},C.default.createElement(y.default,{title:e.text,bordered:!1,loading:t,size:"small"},C.default.createElement(b.default,{gutter:24},this.renderQuotaCardContent(e)))))),this.enableCinder?C.default.createElement(v.default,{className:M.default.card,span:24,key:this.volumeTypesQuota.type},C.default.createElement(y.default,{title:this.volumeTypesQuota.text,bordered:!1,loading:t,size:"small"},this.renderVolumeTypes())):null)})),(0,S.default)(this,"renderQuotaCard",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,s.default)(t).call(t,(t=>C.default.createElement(v.default,{key:t.text,span:12},a.getItemInfo(e,t))))})),(0,S.default)(this,"renderVolumeTypes",(()=>{var{isLoading:e}=this.state;return e?C.default.createElement(g.default,null):C.default.createElement(m.default,{itemLayout:"vertical",size:"large",pagination:{hideOnSinglePage:!0,pageSize:5,size:"small"},dataSource:this.volumeTypesQuota.value,renderItem:e=>{var t;return C.default.createElement(b.default,{key:e.index,gutter:[16]},(0,s.default)(t=e.value).call(t,(e=>C.default.createElement(v.default,{span:8,key:e.text},this.getItemInfo(this.projectStore.quota,e)))))}})})),this.state={isLoading:!0};var{projectStore:r,volumeTypeStore:n}=e;this.projectStore=r||P.default,this.volumeTypeStore=n||D.default}componentDidMount(){this.getData()}getData(){var e=this;return(0,h.default)((function*(){var{getData:t}=e.props;if(t)yield t();else{var{user:a}=e.props.rootStore,{project:{id:r=""}={}}=a,n=[e.projectStore.fetchProjectQuota({project_id:r,withKeyPair:!0})];e.enableCinder&&n.push(e.volumeTypeStore.fetchList()),yield c.default.all(n)}e.setState({isLoading:!1})}))()}get enableCinder(){return T.default.checkEndpoint("cinder")}get enableShare(){return T.default.checkEndpoint("manilav2")}get enableZun(){return T.default.checkEndpoint("zun")}get enableMagnum(){return T.default.checkEndpoint("magnum")}get enableTrove(){return T.default.checkEndpoint("trove")&&T.default.hasAdminOnlyRole}get volumeTypeData(){var{volumeTypeData:e}=this.props;return e||this.volumeTypeStore.list.data}get volumeTypesQuota(){return V(this.volumeTypeData)}get quotaCardList(){var e=[...this.props.quotaCardList||F];return this.enableCinder||(e=(0,u.default)(e).call(e,(e=>"storage"!==e.type))),this.enableShare&&e.push(L),this.enableZun&&e.push(O),this.enableMagnum&&e.push(z),this.enableTrove&&e.push(B),e}get quotaAction(){return this.props.quotaAction}renderQuotaCardContent(e){var{isLoading:t}=this.state;return t?C.default.createElement(g.default,null):this.renderQuotaCard(this.projectStore.quota,this.getFilteredValue(e.value))}render(){var e,{isLoading:a}=this.state;return C.default.createElement(y.default,{className:M.default.bottom,bodyStyle:{padding:0},loading:a,headStyle:{paddingLeft:"20px"},title:C.default.createElement("div",{className:M.default.title},C.default.createElement("span",{className:M.default.text},t("Quota Overview")),(0,s.default)(e=(0,f.default)(E)).call(e,(e=>C.default.createElement("span",{key:e,className:M.default.badge},C.default.createElement(p.default,{color:E[e].color,text:E[e].text}))))),extra:this.quotaAction},this.renderQuotaCardList())}}a.QuotaOverview=U;var Q=(0,k.inject)("rootStore")((0,k.observer)(U));a.default=Q},1460:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.ServerGroupInstanceStore=void 0;var f=c(a(63)),p=c(a(54)),h=c(a(28)),m=c(a(35)),g=c(a(49)),v=c(a(58)),y=a(163),b=c(a(53));function _(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function S(e){for(var t=1;t{var{all_projects:t,members:a,isServerGroup:r}=e;return(0,v.default)(e,["all_projects","members","isServerGroup"])}}get groupArraySize(){return 1}requestList(e,t){var a=this;return(0,g.default)((function*(){var{members:r,isServerGroup:n,all_projects:i}=t;if(r&&n&&0===r.length)return[];var l=(0,y.groupArray)(r,a.groupArraySize),o=yield f.default.all((0,p.default)(l).call(l,(t=>{var r=S(S({},e),{},{uuid:t,all_projects:i});return a.skylineClient.extension.servers(r)}))),s=[];return(0,h.default)(o).call(o,(e=>{s.push(...e[a.listResponseKey])})),s}))()}listDidFetch(e){return(0,g.default)((function*(){return 0===e.length?e:(0,p.default)(e).call(e,(e=>S(S({},e),{},{tags:(e.origin_data||{}).tags||[]})))}))()}}t.ServerGroupInstanceStore=x;var w=new x;t.default=w},1461:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.getAllDataDisks=a.getInstanceSnapshotDataDisk=a.getDiskInfo=a.volumeTypes=void 0;var l=i(r(54)),o=i(r(86)),s=i(r(28)),u=i(r(1350)),d=i(r(578)),c=r(36),f=()=>{var e;return(0,l.default)(e=d.default.list.data||[]).call(e,(e=>({label:e.name,value:e.id,originData:(0,c.toJS)(e)})))};a.volumeTypes=f;var p=e=>{var a,{snapshotDetail:{size:r=0}={},volumeDetail:{volume_type:n}={},selfBdmData:i={}}=e||{},{delete_on_termination:l}=i,s=l?1:0,u=l?t("Deleted with the instance"):t("Not deleted with the instance"),d=(0,o.default)(a=f()).call(a,(e=>e.label===n));return{type:null==d?void 0:d.value,typeOption:d,size:r,deleteType:s,deleteTypeLabel:u}};a.getDiskInfo=p;var h=e=>{var{volumeDetail:t,snapshotDetail:a,bdmFormatData:r={}}=e||{};return p({volumeDetail:t,snapshotDetail:a,selfBdmData:r})};a.getInstanceSnapshotDataDisk=h;a.getAllDataDisks=e=>{var{dataDisk:t=[],instanceSnapshotDataVolumes:a=[]}=e,r=(0,u.default)(t);return null==a||(0,s.default)(a).call(a,(e=>{var t=h(e)||{};r.unshift({value:t})})),r}},1462:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(164));a(344);var s=l(a(202));a(1271);var u=l(a(1272)),d=l(a(35)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),f=(a(161),l(a(16)));function p(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(p=function(e){return e?a:t})(e)}class h extends c.Component{constructor(){super(...arguments),(0,d.default)(this,"getColor",(()=>{var{value:e,wanValue:t,dangerValue:a,infoColor:r,warnColor:n,dangerColor:i}=this.props;return e1&&void 0!==arguments[1]?arguments[1]:"keypair",r=function(){var t=(0,o.default)((function*(){var t;yield e.getKeypairs();var{createdItem:r}=e.keyPairStore,n=(0,l.default)(t=e.keypairs).call(t,(e=>e.name===(r||{}).name));if(n){var i={selectedRowKeys:[n.id],selectedRows:[n]};e.setState({initKeyPair:i},(()=>{e.updateFormValue(a,n)}))}}));return function(){return t.apply(this,arguments)}}();return s.default.createElement("div",{style:{marginBottom:10}},s.default.createElement("span",null,t("The key pair allows you to SSH into your newly created instance. You can select an existing key pair, import a key pair, or generate a new key pair.")),s.default.createElement("span",{className:c.default["action-wrapper"]},s.default.createElement(u.default,{actions:{moreActions:[{action:d.default}]},onFinishAction:r})))}},1464:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Volume=void 0;var h=p(r(54)),m=p(r(164)),g=p(r(58)),v=p(r(35)),y=r(412),b=p(r(1242)),_=r(566),S=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(414)),x=r(3618),w=r(1353),I=r(342),C=p(r(1602));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function D(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t(0,_.getVolumeColumnsList)(this))),(0,v.default)(this,"updateFetchParams",(e=>{if(this.isVolumeSnapshotDetail){var{child_volumes:t=[]}=this.props.detail||{},a=(0,h.default)(t).call(t,(e=>e.volume_id)),{id:r}=e;return P(P({},(0,g.default)(e,["id"])),{},{volumeIds:a})}if(this.inDetailPage){var{id:n}=e;return P(P({},(0,g.default)(e,["id"])),{},{serverId:n})}return e}))}init(){this.isVolumeSnapshotDetail?this.store=new x.SnapshotVolumeStore:this.inDetailPage?(this.store=new w.InstanceVolumeStore,this.downloadStore=this.store):(this.store=S.default,this.downloadStore=new S.VolumeStore)}get policy(){return"volume:get_all"}get name(){return t("volumes")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,m.default)(e=this.path).call(e,"recycle-bin")}get isVolumeSnapshotDetail(){var e;return this.inDetailPage&&(0,m.default)(e=this.path).call(e,"storage/snapshot")}get isInstanceDetail(){var e;return this.inDetailPage&&(0,m.default)(e=this.path).call(e,"compute/instance")}get actionConfigs(){return this.isRecycleBinDetail?I.emptyActionConfig:this.isAdminPage?this.inDetailPage&&!this.isVolumeSnapshotDetail?C.default.instanceDetailAdminConfig:C.default.adminConfig:this.inDetailPage?C.default.instanceDetailConfig:C.default.actionConfigs}get transitionStatusList(){return _.volumeTransitionStatuses}get isFilterByBackend(){return!this.inDetailPage}get isSortByBackend(){return this.isFilterByBackend}get adminPageHasProjectFilter(){return!0}get defaultSortKey(){return"created_at"}get searchFilters(){return _.volumeFilters}}a.Volume=T;var A=(0,y.inject)("rootStore")((0,y.observer)(T));a.default=A},1465:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.poolColumns=void 0;var l=i(r(77)),o=i(r(351)),s=i(r(0)),u=i(r(1462)),d=[{title:t("Name"),dataIndex:"name"},{title:t("Protocol"),dataIndex:"storage_protocol"},{title:t("Backend Name"),dataIndex:"volume_backend_name",isHideable:!0},{title:t("Storage Capacity(GiB)"),dataIndex:"usedGBPercent",isHideable:!0,render:(e,t)=>{var a;return(0,o.default)(e)?s.default.createElement(u.default,{value:e,label:(0,l.default)(a="".concat(t.usedGB," / ")).call(a,t.total_capacity_gb)}):"-"},stringify:(e,a)=>{var r,n,i,s;return(0,o.default)(e)?(0,l.default)(r=(0,l.default)(n=(0,l.default)(i=(0,l.default)(s="".concat(e,"% (")).call(s,t("Used"),": ")).call(i,a.usedGB," / ")).call(n,t("Total"),": ")).call(r,a.total_capacity_gb,")"):"-"}}];a.poolColumns=d;var c=d;a.default=c},1466:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.FloatingIps=void 0;var p=f(r(164)),h=f(r(28)),m=f(r(32)),g=f(r(54)),v=f(r(29)),y=f(r(596)),b=f(r(350));r(589);var _=f(r(590)),S=f(r(610));r(1457);var x=f(r(1383)),w=f(r(49)),I=f(r(58)),C=f(r(35)),k=f(r(177)),D=f(r(0)),P=r(412),T=f(r(1242)),A=r(1273),M=r(346),N=r(342),E=(r(161),r(564),r(66)),R=r(163),j=f(r(1606));function F(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function L(e){for(var t=1;t{if(this.inQosDetail){var{id:t}=e;return L({qos_policy_id:t},(0,I.default)(e,["id"]))}return e})),(0,C.default)(this,"fetchDataByPage",function(){var t=(0,w.default)((function*(t){yield e.store.fetchListWithResourceName(t),e.list.silent=!1}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new M.FloatingIpStore,this.downloadStore=new M.FloatingIpStore}get qosEndpoint(){return(0,E.qosEndpoint)()}get isFilterByBackend(){return!this.inQosDetail}get isSortByBackend(){return!this.inQosDetail}get defaultSortKey(){return"status"}get inQosDetail(){var e;return this.inDetailPage&&(0,p.default)(e=this.path).call(e,"qos")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,p.default)(e=this.path).call(e,"recycle-bin")}get inInstanceDetail(){var e;return this.inDetailPage&&(0,p.default)(e=this.path).call(e,"instance")}getData(){var e=arguments,t=()=>super.getData,a=this;return(0,w.default)((function*(){var r=e.length>0&&void 0!==e[0]?e[0]:{},{silent:n}=r,i=(0,I.default)(r,["silent"]);if(a.inDetailPage&&!a.inQosDetail){var l;n&&(a.list.silent=!0);var{detail:{addresses:o=[]}={}}=a.props,s=[];(0,h.default)(l=(0,m.default)(o)).call(l,(e=>{var t,a;s.push(...(0,g.default)(t=(0,v.default)(a=o[e]).call(a,(e=>"fixed"===e["OS-EXT-IPS:type"]))).call(t,(e=>e.addr)))})),i.fixed_ip_address=s,i.all_projects=a.isAdminPage,s.length>0?yield a.store.fetchListWithResourceName(i):a.list.isLoading=!1}else t().call(a,L({silent:n},i))}))()}get fetchDataByCurrentProject(){return!0}get policy(){return"get_floatingip"}get name(){return t("floating ips")}get actionConfigs(){return this.isRecycleBinDetail?N.emptyActionConfig:this.inInstanceDetail?this.isAdminPage?j.default.instanceDetailAdminConfigs:j.default.instanceDetailConfigs:this.inQosDetail?this.isAdminPage?j.default.qosDetailAdminConfigs:j.default.qosDetailConfigs:this.isAdminPage?j.default.adminConfigs:j.default.actionConfigs}get transitionStatusList(){return A.transitionStatuses}get adminPageHasProjectFilter(){return!0}getRecordPortForwarding(e){var t;return(0,y.default)(t=e.port_forwardings||[]).call(t,((e,t)=>e.external_port-t.external_port))}getPortForwardingDetail(e,t){var{key:a}=t,r=(0,I.default)(t,["key"]);if((0,k.default)(r))return"";var{floating_ip_address:n}=e;return(0,A.getPortForwardingName)(r,n)}get portForwardingResourcesName(){return t("Port Forwardings")}getPortForwardingRender(e){var a=this.getRecordPortForwarding(e),{length:r}=a;if(!r)return null;var n=0;r>10&&r%10&&(n=10-r%10);var i=(0,b.default)({length:n},(e=>({key:"zero-".concat(e)}))),l=[...(0,g.default)(a).call(a,(e=>L(L({},e),{},{key:e.external_port||e.external_port_range}))),...i],o=D.default.createElement(x.default,{itemLayout:"vertical",size:"small",pagination:{hideOnSinglePage:!0,pageSize:10,size:"small",showSizeChanger:!1},dataSource:l,renderItem:t=>D.default.createElement("div",{style:{height:"30px",lineHeight:"30px"}},this.getPortForwardingDetail(e,t))});return D.default.createElement(_.default,{content:o,title:this.portForwardingResourcesName,destroyTooltipOnHide:!0,placement:"right"},t("{number} {resource}",{number:a.length,resource:this.portForwardingResourcesName})," ",D.default.createElement(S.default,null))}getPortForwardingStringify(e){var a=this.getRecordPortForwarding(e);if(!a.length)return"";var r=(0,g.default)(a).call(a,(t=>this.getPortForwardingDetail(e,t)));return[t("{number} {resource}",{number:a.length,resource:this.portForwardingResourcesName}),...r].join("\n")}getResourceRender(e,t){return e&&"-"!==e?e:this.getPortForwardingRender(t)||"-"}geResourceStringify(e,t){return e&&"-"!==e?e:this.getPortForwardingStringify(t)||"-"}getColumns(){return[{title:t("ID/Floating IP"),dataIndex:"floating_ip_address",isLink:!0,routeName:this.getRouteName("fipDetail"),boldName:!0},{title:t("QoS Policy ID/Name"),dataIndex:"qos_policy_name",isLink:!0,routeName:this.getRouteName("networkQosDetail"),idKey:"qos_policy_id",hidden:!this.qosEndpoint||this.inQosDetail,sorter:!1},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,sortKey:"project_id"},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0,sorter:!1},{title:t("Associated Resource"),dataIndex:"resource_name",render:(e,t)=>this.getResourceRender(e,t),stringify:(e,t)=>this.geResourceStringify(e,t),isHideable:!0,sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:A.floatingIpStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0,sorter:!1}]}get searchFilters(){return[{label:t("Floating IP"),name:"floating_ip_address"},{label:t("Status"),name:"status",options:(0,R.getOptions)(A.floatingIpStatus)}]}}a.FloatingIps=O;var z=(0,P.inject)("rootStore")((0,P.observer)(O));a.default=z},1467:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreatePortForwarding=void 0;var p=f(r(54)),h=f(r(63)),m=f(r(234)),g=f(r(86)),v=f(r(77)),y=f(r(350)),b=f(r(29)),_=f(r(164)),S=f(r(1252)),x=f(r(573)),w=f(r(49)),I=f(r(58)),C=f(r(35)),k=f(r(102)),D=f(r(1314)),P=f(r(0)),T=r(412),A=r(1241),M=r(1267),N=r(572),E=r(1258),R=r(1273),j=f(r(615)),F=r(1393),L=r(565),O=r(163);function z(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t0===e.fixed_ips.length)),(0,C.default)(this,"onSubmit",(e=>{var{external_port_range:t,internal_port_range:a}=e,r=(0,I.default)(e,["external_port_range","internal_port_range"]);if(!t||this.supportRange)return j.default.create({id:this.item.id,data:e});var n=this.getPortsByInput(t),i=this.getPortsByInput(a),l=(0,p.default)(n).call(n,((e,t)=>j.default.create({id:this.item.id,data:B(B({},r),{},{external_port:e,internal_port:i[t]})})));return h.default.all(l)})),(0,C.default)(this,"handlePortSelect",function(){var t=(0,w.default)((function*(t){e.setState({fixedIpLoading:!0});var{canReachSubnetIdsWithRouterId:a}=e.state,r=yield(0,R.getInterfaceWithReason)(t.selectedRows),n=(0,E.getPortsAndReasons)(r,a,!0);e.setState({portFixedIPs:n,fixed_ip_address:void 0,fixedIpLoading:!1}),e.formRef.current&&e.formRef.current.resetFields(["fixed_ip_address","internal_port"])}));return function(e){return t.apply(this,arguments)}}()),(0,C.default)(this,"checkPortUsedBase",((e,t,a,r)=>{var{external_port:n,internal_port:i,external_port_range:l,internal_port_range:o}=e,s="external"===t?l:o;if(s){var[u,d]=this.getRangeFromString(s);return a>=u&&a<=d&&e.protocol===r}return a===("external"===t?n:i)&&e.protocol===r})),(0,C.default)(this,"checkPortUsedInternal",((e,t)=>{if(!e)return!1;var a=this.formRef.current.getFieldsValue(["virtual_adapter","fixed_ip_address"]),r=a.fixed_ip_address.selectedRows[0].fixed_ip_address,n=a.virtual_adapter.selectedRows[0].id;return t.internal_port_id===n&&t.internal_ip_address===r})),(0,C.default)(this,"checkPortUsed",((e,t)=>{var{alreadyUsedPorts:a,protocol:r}=this.state,n=(0,m.default)(e,10);return(0,g.default)(a).call(a,(e=>{var a=this.checkPortUsedBase(e,t,n,r);return"external"===t?a:this.checkPortUsedInternal(a,e)}))})),(0,C.default)(this,"checkExtPortUsed",(e=>this.checkPortUsed(e,"external"))),(0,C.default)(this,"getRangeFromString",(e=>{var t=(e||"").split(":");return!t.length||t.length>2?[]:[(0,m.default)(t[0],10),(0,m.default)(t[1],10)]})),(0,C.default)(this,"getPortForwardingContent",(e=>{var t,a,{external_port:r,external_port_range:n,internal_ip_address:i,internal_port:l,internal_port_range:o}=e;return(0,v.default)(t=(0,v.default)(a="".concat(r||n," => ")).call(a,i,":")).call(t,l||o)})),(0,C.default)(this,"getUsedError",((e,a)=>1===e.length&&(0,k.default)(e[0])?t("The {name} has already been used by other {resource}({content}), please change.",{name:a,resource:this.resource,content:this.getPortForwardingContent(e[0])}):t("The {name} {ports} have already been used, please change.",{name:a,ports:e.join(",")}))),(0,C.default)(this,"checkRangeInput",(e=>{var[a,r]=this.getRangeFromString(e),n=r-a+1;return n<=1?{error:t("The value of the upper limit of the range must be greater than the value of the lower limit of the range.")}:n>this.maxRangeSize?{error:this.maxRangeSizeTip}:{length:n,start:a,end:r}})),(0,C.default)(this,"getPortsByRange",((e,t)=>(0,y.default)({length:t},((t,a)=>e+a)))),(0,C.default)(this,"getPortsByInput",(e=>{var{length:t,start:a}=this.checkRangeInput(e);return this.getPortsByRange(a,t)})),(0,C.default)(this,"checkPortRangeUsed",((e,a,r)=>{var n=this.getPortsByRange(e,a),i=(0,b.default)(n).call(n,(e=>"external"===r?this.checkExtPortUsed(e):this.checkInternalPortUsed(e)));if(i.length){var l="external"===r?t("external ports"):t("internal ports");return{error:this.getUsedError(i,l)}}return{ports:n,length:a}})),(0,C.default)(this,"checkTwoRangeLength",((e,a)=>e!==a?t("The size of the external port range is required to be the same as the size of the internal port range"):"")),(0,C.default)(this,"checkExternalPortInput",((e,a)=>{var r=(0,_.default)(e).call(e,":"),n=(0,_.default)(a).call(a,":");if(a&&r!==n)return t("Ports are either single values or ranges");if(!r){var i=this.checkExtPortUsed(e);return i?this.getUsedError([i],t("external port")):""}var{start:l,length:o,error:s}=this.checkRangeInput(e);if(s)return s;var{error:u}=this.checkPortRangeUsed(l,o,"external");if(u)return u;if(!V.test(a))return"";var{length:d}=this.checkRangeInput(a);return d?this.checkTwoRangeLength(o,d):""})),(0,C.default)(this,"validateExternalPort",((e,t)=>{var a=null==t?"":"".concat(t),{internal_port:r}=this.formRef.current.getFieldsValue(["internal_port"]);if(!V.test(a))return h.default.resolve(!0);var n=this.checkExternalPortInput(a,(r||"").toString()||"");return n?h.default.reject(n):h.default.resolve(!0)})),(0,C.default)(this,"checkInternalPortUsed",(e=>this.checkPortUsed(e,"internal"))),(0,C.default)(this,"checkInternalPortInput",((e,a)=>{var r=(0,_.default)(e).call(e,":"),n=(0,_.default)(a).call(a,":");if(e&&r!==n)return t("Ports are either single values or ranges");if(!n){var i=this.checkInternalPortUsed(a);return i?this.getUsedError([i],t("internal port")):""}var{start:l,length:o,error:s}=this.checkRangeInput(a);if(s)return s;var{error:u}=this.checkPortRangeUsed(l,o,"internal");if(u)return u;if(!V.test(e))return"";var{length:d}=this.checkRangeInput(e);return d?this.checkTwoRangeLength(o,d):""})),(0,C.default)(this,"validateInternalPort",((e,t)=>{var a=null==t?"":"".concat(t);if(!V.test(a))return h.default.resolve(!0);var{external_port:r}=this.formRef.current.getFieldsValue(["external_port"]),n=this.checkInternalPortInput((r||"").toString()||"",a);return n?h.default.reject(n):h.default.resolve()})),(0,C.default)(this,"onFixedIpChange",(e=>{this.setState({fixed_ip_address:e},(()=>{this.formRef.current.resetFields(["internal_port"])}))}))}get name(){return t("Create Port Forwarding")}get resource(){return t("port forwarding")}get resources(){return t("port forwardings")}init(){this.portStore=new N.PortStore,this.state=B(B({},this.state),{},{alreadyUsedPorts:[],portFixedIPs:[],canReachSubnetIdsWithRouterId:[],routerIdWithExternalNetworkInfo:[],supportRange:!0}),this.getPorts(),this.getRangeSupport(),this.getFipAlreadyUsedPorts(),this.getExtraInfo()}getExtraInfo(){M.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:t}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id}))}get fipId(){return this.item.id}getFipAlreadyUsedPorts(){var e=this;return(0,w.default)((function*(){var t=yield j.default.fetchList({fipId:e.fipId});e.setState({alreadyUsedPorts:t||[]})}))()}get instanceName(){return(0,R.getPortForwardingName)(this.submitData||(0,S.default)(this),this.item.floating_ip_address)}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var{floating_ip_address:e}=this.item;return{floatingIp:e}}getSubmitData(e){var{floatingIp:t,virtual_adapter:{selectedRows:a=[]}={},fixed_ip_address:{selectedRows:r=[]}={},external_port:n,internal_port:i}=e,l=B({},(0,I.default)(e,["floatingIp","virtual_adapter","fixed_ip_address","external_port","internal_port"]));return(0,_.default)(n).call(n,":")?l.external_port_range=n:l.external_port=n,(0,_.default)(i).call(i,":")?l.internal_port_range=i:l.internal_port=i,l.internal_ip_address=r[0].fixed_ip_address,l.internal_port_id=a[0].id,this.submitData=l,l}get nameForStateUpdate(){return["protocol"]}get portDeviceOwner(){return["compute:nova",""]}getPorts(){E.getPortsForPortFormItem.call(this,this.portDeviceOwner)}getRangeSupport(){var e=this;return(0,w.default)((function*(){try{yield j.default.fetchListByPage({limit:1,fipId:e.fipId,external_port_range:"80:81"}),e.setState({supportRange:!0})}catch(t){e.setState({supportRange:!1})}}))()}get supportRange(){var{supportRange:e}=this.state;return e}get maxRangeSize(){return this.supportRange?1/0:20}get maxRangeSizeTip(){return t("The maximum batch size is {size}, that is, the size of the port range cannot exceed {size}.",{size:this.maxRangeSize})}get tips(){return P.default.createElement("div",null,P.default.createElement("p",null,t("1. You can create {resources} using ports or port ranges.",{resources:this.resources})),P.default.createElement("p",null,t("2. In the same protocol, you cannot create multiple {resources} for the same source port or source port range.",{resources:this.resources})),P.default.createElement("p",null,t("3. When using a port range to create a port mapping, the size of the external port range is required to be the same as the size of the internal port range. For example, the external port range is 80:90 and the internal port range is 8080:8090.")),!this.supportRange&&P.default.createElement("p",null,t("4. When you use a port range to create {resources}, multiple {resources} will be created in batches. ",{resources:this.resources})+this.maxRangeSizeTip))}get formItems(){var{fixed_ip_address:e={selectedRows:[]}}=this.state,a=t("Input external port or port range (example: 80 or 80:160)"),r=t("Input internal port or port range (example: 80 or 80:160)"),n=[{name:"floatingIp",label:t("Floating Ip"),type:"label",iconType:"floatingIp"},{name:"description",label:t("Description"),type:"textarea"},{name:"protocol",label:t("Protocol"),type:"select",options:(0,O.getOptions)(R.portForwardingProtocols),required:!0},{name:"external_port",label:t("External Port/Port Range"),type:"port-range",required:!0,validator:this.validateExternalPort,dependencies:["protocol","internal_port"],placeholder:a,extra:a,hasRequiredCheck:!1},{name:"internal_port",label:t("Internal Port/Port Range"),type:"port-range",hidden:0===e.selectedRows.length,required:!0,validator:this.validateInternalPort,dependencies:["protocol","external_port"],placeholder:r,extra:r,hasRequiredCheck:!1}],[i,l]=E.getPortFormItem.call(this);return i.label=t("Target Port"),l.label=t("Target IP Address"),l.onChange=this.onFixedIpChange,(0,x.default)(n).call(n,4,0,i,l),n}}a.CreatePortForwarding=U,(0,C.default)(U,"id","create-port-forwarding"),(0,C.default)(U,"title",t("Create Port Forwarding")),(0,C.default)(U,"policy","create_floatingip_port_forwarding"),(0,C.default)(U,"allowed",(e=>h.default.resolve((0,D.default)(e.fixed_ip_address)&&(0,F.enablePFW)())));var Q=(0,T.inject)("rootStore")((0,T.observer)(U));a.default=Q},1475:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.CredentialStore=void 0;var i,l=n(a(4055)),o=n(a(28)),s=n(a(25)),u=n(a(49)),d=n(a(58)),c=n(a(55)),f=a(36),p=n(a(50)),h=n(a(133)),m=n(a(1255)),g=n(a(53)),v=(i=class extends g.default{get isSubResource(){return!0}get client(){return p.default.keystone.users.applicationCredentials}get paramsFunc(){return e=>{var{current:t,id:a,all_projects:r}=e;return(0,d.default)(e,["current","id","all_projects"])}}create(e){var t={};return t[this.responseKey]=e,this.submitting(this.client.create(h.default.user.user.id,t))}listDidFetch(e,t){return(0,u.default)((function*(){if(!t)try{var a=yield m.default.getUserProjects(),r=new l.default;(0,o.default)(a).call(a,(e=>{r.set(e.id,e.name)})),(0,o.default)(e).call(e,(e=>{e.project_name=r.get(e.project_id)||"-"}))}catch(t){return e}return e}))()}},(0,c.default)(i.prototype,"create",[f.action],(0,s.default)(i.prototype,"create"),i.prototype),i);t.CredentialStore=v;var y=new v;t.default=y},1495:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.getValue=void 0;var i=n(a(345)),l=n(a(102)),o=n(a(1428));t.getValue=e=>{if((0,l.default)(e))try{return o.default.dump(e,{noRefs:!0})}catch(t){return(0,i.default)(e,null,2)}return String(e)}},1500:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var s=o(r(63)),u=o(r(584)),d=o(r(164));r(231);var c=o(r(341));r(1344);var f=o(r(1345)),p=o(r(343)),h=o(r(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),g=(r(161),o(r(16))),v=r(163);function y(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(y=function(e){return e?a:t})(e)}class b extends m.Component{static propTypes(){return{title:g.default.string.isRequired,buttonType:g.default.string,render:g.default.func,component:g.default.node,item:g.default.any,modalSize:g.default.string,okText:g.default.string,cancelText:g.default.string,handleOk:g.default.func,className:g.default.func,buttonText:g.default.string,buttonClassName:g.default.string,showCancelButton:g.default.bool,style:g.default.object,onClickButton:g.default.func,onFinishAction:g.default.func,onCancelAction:g.default.func}}constructor(e){super(e),(0,h.default)(this,"addListener",(()=>{var e=document.getElementsByClassName("modal-button-modal")[0];this.modalTarget=e,e&&(this.listenerResult=e.addEventListener("click",this.onClickModal))})),(0,h.default)(this,"removeListener",(()=>{var e=document.getElementsByClassName("modal-button-modal")[0];e&&(this.listenerResult=e.removeEventListener("click",this.onClickModal)),this.modalTarget=null})),(0,h.default)(this,"getModalWidth",(e=>{switch(e){case"small":return 520;case"middle":return 720;case"large":return 1200;default:return 520}})),(0,h.default)(this,"onClick",(e=>{this.stopEvent(e);var{onClickButton:t}=this.props;t&&t(),this.showModal()})),(0,h.default)(this,"onFinishAction",(()=>{var{onFinishAction:e}=this.props;e&&e()})),(0,h.default)(this,"handleOk",(e=>{this.stopEvent(e);var{handleOk:t}=this.props;t?(this.setState({submitLoading:!0}),t()instanceof s.default?t().finally((()=>{this.hideModal(),this.onFinishAction(),this.setState({submitLoading:!1})})):(this.hideModal(),this.onFinishAction(),this.setState({submitLoading:!1}))):(this.hideModal(),this.onFinishAction())})),(0,h.default)(this,"handleCancel",(e=>{this.stopEvent(e);var{onCancelAction:t}=this.props;t&&t(),this.hideModal()})),(0,h.default)(this,"hideModal",(()=>{this.removeListener(),this.setState({visible:!1})})),(0,h.default)(this,"showModal",(()=>{this.setState({visible:!0},(()=>{(0,u.default)((()=>{this.addListener()}),0)}))})),(0,h.default)(this,"stopEvent",(e=>{e&&e.preventDefault&&e.preventDefault(),e&&e.stopPropagation&&e.stopPropagation()})),(0,h.default)(this,"onClickModal",(e=>{if(this.modalTarget){for(var t=[...this.modalTarget.getElementsByTagName("button"),...this.modalTarget.getElementsByTagName("a")],{innerHTML:a=""}=e.target||{},r=!1,n=["-",""],i=0;i(0,R.default)(e)?e.join(","):e)),(0,N.default)(this,"getSortKey",(e=>{var{field:t,column:a}=e;return t&&a?a.sortKey||a.dataIndex:null})),(0,N.default)(this,"handleChange",((e,t,a,r)=>{var{action:n}=r,i=ae({limit:e.pageSize,page:e.current,current:e.current,sortKey:this.getSortKey(a),sortOrder:a.order},t),{ableSkipPageByBackend:l,isPageByBack:o}=this.props;if("sort"===n){if(o&&!l){var{pagination:s}=this.props;i=ae(ae({},i),{},{limit:s.pageSize,page:s.current,current:s.current})}this.sortKey=this.getSortKey(a),this.sortOrder=a.order,this.props.onFetchBySort(i)}else this.props.onFetch(i)})),(0,N.default)(this,"handlePageChange",((e,t)=>{var{filters:a}=this.state,{onFetch:r,defaultSortKey:n,defaultSortOrder:i}=this.props;r&&r(ae({limit:t,page:e,current:e,sortKey:this.sortKey||n,sortOrder:this.sortOrder||i},a))})),(0,N.default)(this,"handleRefresh",(()=>{this.props.onRefresh(!0)})),(0,N.default)(this,"handleRowHide",(e=>{var t,a=(0,p.default)(t=this.hideableRows).call(t,(e=>e.value));this.setState({hideRow:(0,h.default)(a).call(a,(t=>!(0,m.default)(e).call(e,t)))},(()=>{var e;(0,H.setLocalStorageItem)((0,g.default)(e="".concat(this.useId,"-")).call(e,this.props.resourceName),this.state.hideRow)}))})),(0,N.default)(this,"handleCancelSelect",(()=>{this.props.onSelectRowKeys([])})),(0,N.default)(this,"handleFilterChange",((e,t)=>{if(!(0,B.default)(e,this.props.filters)||!(0,B.default)(t,this.props.timeFilter)){this.setState({filters:e,timeFilter:t});var{pageSize:a}=this.props.pagination,{sortKey:r,sortOrder:n,onFilterChange:i}=this.props;i&&i(ae({limit:a,page:1,sortKey:r,sortOrder:n},e),t)}})),(0,N.default)(this,"handleTimeChange",(e=>{this.handleFilterChange(this.state.filters,e)})),(0,N.default)(this,"handleFilterInput",(e=>{var t={};(0,v.default)(e).call(e,(e=>{t[(0,h.default)(e).name]=e.value})),this.handleFilterChange(t,this.state.timeFilter)})),(0,N.default)(this,"handleInputFocus",(e=>{var{handleInputFocus:t}=this.props;t&&t(e)})),(0,N.default)(this,"handleFilterInputText",(e=>{var t={},{value:a}=e.currentTarget;a&&(t.keywords=a),this.handleFilterChange(t,this.state.timeFilter)})),(0,N.default)(this,"hasItemActions",(()=>{var{firstAction:e,moreActions:t,actionList:a}=this.itemActions;return!!e||(!(!t||!t.length)||a&&a.length>0)})),(0,N.default)(this,"getNoValueRender",(e=>e||(e=>(0,K.getNoValue)(e)))),(0,N.default)(this,"getPriceRender",((e,t)=>e||(e=>{var t=(0,E.default)(e)?e:(e||0).toFixed(2);return L.default.createElement("span",{style:{color:globalCSS.moneyColor}},t)}))),(0,N.default)(this,"getTipRender",(function(e,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:M.default,n=(n,i)=>{var l=e(n,i),o=t?t(n,i):(0,j.default)(i,a);return l?L.default.createElement("div",null,o,L.default.createElement(A.default,{title:l},L.default.createElement(r,{style:{marginLeft:8}}))):o};return n})),(0,N.default)(this,"getColumnTitle",(e=>{var{title:t,titleTip:a}=e;return a?L.default.createElement("span",null,t,L.default.createElement(A.default,{title:a},L.default.createElement(T.default,{style:{marginLeft:8}}))):t})),(0,N.default)(this,"getBaseColumns",(e=>(0,p.default)(e).call(e,(e=>{var{Paragraph:t}=P.default,{sortable:a,dataIndex:r,valueRender:n,sorter:i,sortOrder:l,render:o,copyable:s,tip:u,isStatus:d,isName:c,isLink:f,routeName:p,linkPrefix:h,isPrice:m,valueMap:g,unit:v}=e,y=(0,D.default)(e,["sortable","dataIndex","valueRender","sorter","sortOrder","render","copyable","tip","isStatus","isName","isLink","routeName","linkPrefix","isPrice","valueMap","unit"]),b=(0,G.getColumnSorter)(e,this.props),_=l||b?(0,G.getSortOrder)(r,this.props):null,S=o||(0,G.getRender)(n);if(g&&(S=(0,G.getValueMapRender)(e)),v&&(S=(0,G.getUnitRender)(e)),(0,G.checkIsStatusColumn)(r,d)&&(S=(0,G.getStatusRender)(S)),"description"===r&&(S=this.getNoValueRender(S)),"project_name"===r&&(S=(0,G.getProjectRender)(S)),"name"===r&&p||f){var{rowKey:x}=this.props;S=(0,G.getNameRenderByRouter)(S,e,x)}if("name"===r&&h||c){var{rowKey:w}=this.props;S=(0,G.getNameRender)(S,e,w)}if(("cost"===r||m)&&(S=this.getPriceRender(S,e)),s&&(S=e=>e&&"-"!==e?L.default.createElement(t,{copyable:!0},e):"-"),u){var{tipIcon:I}=e;S=this.getTipRender(u,S,r,I)}var C=ae(ae({},y),{},{title:this.getColumnTitle(e),dataIndex:r,align:e.align||"left"});return b&&(C.sorter=b),l&&(C.sortOrder=_),(0,G.updateColumnSort)(C,this.props),S&&(C.render=S),ae(ae({},C),{},{render:(e,t)=>(0,G.columnRender)(C.render,e,t)})})))),(0,N.default)(this,"getColumns",(()=>{var e,{columns:a,containerProps:r,onClickAction:n,onFinishAction:i,onCancelAction:l,isAdminPage:o}=this.props,{hideRow:s}=this.state,u=(0,h.default)(e=(0,h.default)(a).call(a,(e=>!e.hidden))).call(e,(e=>!(0,F.default)(s,this.getDataIndex(e.dataIndex)))),d=this.getBaseColumns(u);return this.hasItemActions()?[...d,{title:t("Action"),key:"operation",width:150,render:(e,t,a)=>L.default.createElement(J.default,{isAdminPage:o,actions:this.itemActions,onFinishAction:i,onCancelAction:l,item:t,index:a,containerProps:r,onClickAction:n})}]:d})),(0,N.default)(this,"stopRefreshAuto",(()=>{this.setState({autoRefresh:!1});var{stopRefreshAuto:e}=this.props;e&&e()})),(0,N.default)(this,"startRefreshAuto",(()=>{this.setState({autoRefresh:!0});var{startRefreshAuto:e}=this.props;e&&e()})),(0,N.default)(this,"renderSelectedTitle",(()=>L.default.createElement("div",{className:ee.default["select-title"]},L.default.createElement("div",null,this.renderBatchActions()),L.default.createElement("div",null,L.default.createElement(k.default,{type:"flat",className:ee.default["cancel-select"],onClick:this.handleCancelSelect},t("Cancel Select")))))),(0,N.default)(this,"renderTableTitle",(()=>this.renderNormalTitle())),(0,N.default)(this,"renderRowMenu",(()=>{var{hideRow:e}=this.state;return L.default.createElement(Y.default,{className:ee.default["column-menu"],options:this.hideableRows,value:(e=>{var t,a=[];return(0,v.default)(t=this.hideableRows).call(t,(t=>{-1===(0,y.default)(e).call(e,t.value)&&a.push(t.value)})),a})(e),onChange:this.handleRowHide})})),(0,N.default)(this,"renderTableFooter",(e=>{var{page:t,current:a,pageSize:r,total:n,pageSizeOptions:i}=this.props.pagination,{isLoading:l,hideTotal:o}=this.props;return L.default.createElement(Q.default,{current:t||a||1,pageSize:r,onChange:this.handlePageChange,currentDataSize:e.length,pageSizeOptions:i||[10,20,50,100],total:n,isLoading:l,onFocusChange:this.handleInputFocus,hideTotal:o})})),this.state={hideRow:(0,H.getLocalStorageItem)((0,g.default)(a="".concat(this.useId,"-")).call(a,this.props.resourceName))||[],filters:[],timeFilter:{},autoRefresh:e.autoRefresh},this.sortKey=e.defaultSortKey,this.sortOrder=e.defaultSortOrder,this.suggestions=(0,p.default)(r=(0,h.default)(n=e.columns).call(n,(e=>e.search&&e.dataIndex))).call(r,(e=>{var t;return{label:e.title,key:e.dataIndex,options:e.filters&&(0,p.default)(t=e.filters).call(t,(e=>({label:e.text,key:e.value})))}}))}get hideableRows(){var e,t,a;return(0,p.default)(e=(0,h.default)(t=(0,h.default)(a=this.props.columns).call(a,(e=>!e.hidden))).call(t,(e=>e.isHideable))).call(e,(e=>({label:e.title,value:this.getDataIndex(e.dataIndex)||e.key})))}get useId(){var{user:e={}}=(0,V.toJS)(this.props.rootStore)||{},{user:{id:t}={}}=e||{};return t}get itemActions(){var{itemActions:e={}}=this.props;return e}filterDownloadColumns(e){var a,r,{rowKey:n}=this.props,i=(0,p.default)(a=(0,h.default)(e).call(e,(e=>!e.hidden))).call(a,(e=>{var{title:a,splitColumnForDownload:r=!0}=e;if((0,m.default)(a).call(a,"/")&&r){var i,l,[o,s]=e.title.split("/"),u=s;if(o.length>2)u=(0,g.default)(l="".concat(o.split("ID")[0])).call(l,s);var d=e.idKey||n,c=null;return(0,m.default)(i=e.title).call(i,t("Project"))&&"project_name"===e.dataIndex&&(d="project_id",c=(e,t)=>(0,G.getProjectId)(t)),[{title:o,dataIndex:d,render:c},ae(ae({},e),{},{title:u})]}return e}));return(0,g.default)(r=[]).call(r,...i)}renderBatchActions(){var{batchActions:e,selectedRowKeys:t,data:a,rowKey:r,containerProps:n,onClickAction:i,onFinishAction:l,onCancelAction:o,resourceName:s,isAdminPage:u}=this.props,d=(0,h.default)(a).call(a,(e=>(0,y.default)(t).call(t,e[r])>=0));return e?L.default.createElement(X.default,{isAdminPage:u,visibleButtonNumber:3,selectedItemKeys:t,selectedItems:d,batchActions:e,onFinishAction:l,onCancelAction:o,containerProps:n,onClickAction:i,resourceName:s}):null}renderTimeFilter(){var{showTimeFilter:e,filterTimeDefaultValue:t}=this.props;if(!e)return null;var a={onChange:this.handleTimeChange,className:ee.default.timer};return void 0!==t&&(a.defaultValue=t),L.default.createElement(q.default,a)}renderSearch(){var{hideSearch:e,searchFilters:a,initFilter:r={}}=this.props;return e?null:a.length>0?L.default.createElement("div",{className:ee.default["search-row"]},L.default.createElement(U.default,{filterParams:a,initValue:r,onInputChange:this.handleFilterInput,onInputFocus:this.handleInputFocus,placeholder:t("Multiple filter tags are separated by enter")})):L.default.createElement("div",{className:ee.default["search-row"]},L.default.createElement(C.default,{placeholder:t("Enter query conditions to filter"),onChange:this.handleFilterInputText}))}renderMiddleInHeader(){var{middleComponentInHeader:e}=this.props;return e||null}renderActions(){var{isAdminPage:e,primaryActions:t,containerProps:a,onClickAction:r,onFinishAction:n,onCancelAction:i,primaryActionsExtra:l}=this.props;return t?L.default.createElement(Z.default,{isAdminPage:e,primaryActions:t,containerProps:a,onClickAction:r,onFinishAction:n,onCancelAction:i,primaryActionsExtra:l}):null}renderCustomButton(){var{hideCustom:e}=this.props;return e?null:L.default.createElement(w.default,{overlay:this.renderRowMenu()},L.default.createElement(k.default,{className:ee.default["custom-button"],type:"default",icon:L.default.createElement(I.default,null)}))}renderDownload(){var{pagination:e,data:t,columns:a,resourceName:r,detailName:n,getDownloadData:i,onClickAction:l,onCancelAction:o,hideDownload:s}=this.props;if(s)return null;var{total:u}=e,d={data:t,columns:this.filterDownloadColumns(a),total:u,getValueRenderFunc:G.getValueRenderFunc,resourceName:r,extraName:n,getData:i,onBeginDownload:l,onFinishDownload:o,onCancelDownload:o};return L.default.createElement($.default,d)}renderRefresh(){var{hideRefresh:e}=this.props;return e?null:L.default.createElement(k.default,{type:"default",icon:L.default.createElement(x.default,null),onClick:this.handleRefresh})}renderRefreshAuto(){var{hideAutoRefresh:e}=this.props;if(e)return null;var{autoRefresh:a}=this.state;if(a){var r=t("Stop auto refreshing data");return L.default.createElement(A.default,{title:r},L.default.createElement(k.default,{type:"primary",icon:L.default.createElement(S.default,null),onClick:this.stopRefreshAuto}))}var n=t("Start auto refreshing data");return L.default.createElement(A.default,{title:n},L.default.createElement(k.default,{type:"default",icon:L.default.createElement(_.default,null),onClick:this.startRefreshAuto}))}renderNormalTitle(){return L.default.createElement("div",{className:ee.default["table-header"],id:"sl-table-header-search"},L.default.createElement("div",{className:(0,z.default)(ee.default["table-header-action-btns"],"table-header-action-btns")},this.renderActions(),this.renderBatchActions()),this.renderTimeFilter(),this.renderMiddleInHeader(),L.default.createElement("div",{className:ee.default["table-header-right"]},this.renderSearch(),L.default.createElement("div",{className:(0,z.default)(ee.default["table-header-btns"],"table-header-btns")},this.renderRefresh(),this.renderDownload(),this.renderCustomButton(),this.renderRefreshAuto())))}render(){var{className:e,data:t,isLoading:a,silentLoading:r,rowKey:n,selectedRowKeys:i,onSelectRowKeys:l,hideHeader:o,getCheckboxProps:s,pagination:u,scrollY:d,expandable:c,isPageByBack:f=!0,ableSkipPageByBackend:p,childrenColumnName:h}=this.props,m=null,g=!(!p&&f)&&ae(ae({},u),{},{size:"small"});o||this.renderTableTitle;var v=!p&&f?this.renderTableFooter:null;l&&(m={selectedRowKeys:i,getCheckboxProps:s,onChange:l});var y=this.renderTableTitle(),_=this.getColumns(),S={};return d>0&&(S.y=d||400),L.default.createElement("div",null,y,L.default.createElement(b.default,{className:(0,z.default)(ee.default.table,"sl-table",e),rowKey:n,columns:_,dataSource:(0,V.toJS)(t),loading:!r&&a,onChange:this.handleChange,pagination:g,rowSelection:m,sortDirections:["ascend","descend","ascend"],scroll:S,showSorterTooltip:!1,expandable:c,footer:v,childrenColumnName:h}))}}a.BaseTable=re,(0,N.default)(re,"propTypes",{data:O.default.oneOfType([O.default.array,O.default.object]).isRequired,columns:O.default.array.isRequired,selectedRowKeys:O.default.array,isLoading:O.default.bool,pagination:O.default.object,filters:O.default.object,keyword:O.default.string,rowKey:O.default.any,onFetch:O.default.func,onFilterChange:O.default.func,onSelectRowKeys:O.default.func,getCheckboxProps:O.default.func,hideHeader:O.default.bool,hideSearch:O.default.bool,hideCustom:O.default.bool,batchActions:O.default.array,alwaysUpdate:O.default.bool,emptyText:O.default.oneOfType([O.default.string||O.default.func]),resourceName:O.default.string,detailName:O.default.string,expandable:O.default.object,showTimeFilter:O.default.bool,timeFilter:O.default.any,isPageByBack:O.default.bool,isSortByBack:O.default.bool,ableSkipPageByBackend:O.default.bool,autoRefresh:O.default.bool,hideRefresh:O.default.bool,hideAutoRefresh:O.default.bool,startRefreshAuto:O.default.func,stopRefreshAuto:O.default.func,dataDurationAuto:O.default.number,defaultSortKey:O.default.string,defaultSortOrder:O.default.string,hideTotal:O.default.bool,hideDownload:O.default.bool,primaryActionsExtra:O.default.any,isAdminPage:O.default.bool,containerProps:O.default.any,middleComponentInHeader:O.default.node}),(0,N.default)(re,"defaultProps",{rowKey:"name",selectedRowKeys:[],onFetch(){},hideHeader:!1,hideSearch:!1,hideCustom:!1,resourceName:"",detailName:"",expandable:void 0,showTimeFilter:!1,isPageByBack:!1,isSortByBack:!1,autoRefresh:!0,hideRefresh:!1,hideAutoRefresh:!1,dataDurationAuto:15,defaultSortKey:"",defaultSortOrder:"",hideTotal:!1,hideDownload:!1,primaryActionsExtra:null,isAdminPage:!1,ableSkipPageByBackend:!1});var ne=(0,W.inject)("rootStore")(re);a.default=ne},1591:function(e,t,a){var r=a(3540);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1592:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.ActionLogStore=void 0;var i=n(a(50)),l=n(a(53));class o extends l.default{get client(){return i.default.nova.servers.instanceActions}get isSubResource(){return!0}get paramsFunc(){return()=>({})}detailFetchByClient(e){var{id:t,requestId:a}=e;return this.client.show(t,a)}}t.ActionLogStore=o;var s=new o;t.default=s},1593:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=function(e){var{id:a,requestId:r,store:n,actionEvent:i}=e,f=[{title:t("Operation Name"),dataIndex:"event",key:"event",render:e=>i[e]||e},{title:t("Start Time"),dataIndex:"start_time",key:"start_time",render:e=>(0,d.getLocalTimeStr)(e)},{title:t("End Time"),dataIndex:"finish_time",key:"finish_time",render:e=>e?(0,d.getLocalTimeStr)(e):"-"},{title:t("Execution Result"),dataIndex:"result",key:"result",render:e=>"Success"===e?t("Success"):"-"}],p=function(){var e=(0,s.default)((function*(){var e,t=(yield n.fetchDetail({id:a,requestId:r}))||{},{events:i=[]}=t;return(0,l.default)(e=(0,o.default)(i).call(i)).call(e)}));return function(){return e.apply(this,arguments)}}();return u.default.createElement(c.default,{columns:f,getData:p})};var l=i(r(634)),o=i(r(203)),s=i(r(49)),u=i(r(0)),d=r(580),c=i(r(638))},1598:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateKeypair=void 0;var p=f(r(63)),h=f(r(49)),m=f(r(35)),g=r(412),v=r(1241),y=f(r(423)),b=f(r(340)),_=f(r(1352));function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function x(e){for(var t=1;t{var{total:e=0,data:t=[]}=y.default.list||{};return e||t.length},I=e=>{var{limit:t=0}=e||{};return-1===t||t>w()?1:0};class C extends v.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{name:t,public_key:a}=e,r={name:t,public_key:a,type:"ssh"};return y.default.create(r).then((e=>{if(!a){var{keypair:{private_key:r}}=e,n="".concat(t,".pem"),i=new Blob([r],{type:"text/plain;charset=utf-8"});_.default.saveAs(i,n)}}))}))}get name(){return t("Create Keypair")}init(){this.state.quota={},this.state.quotaLoading=!0,this.projectStore=b.default,this.getQuota()}get tips(){return t("Quota of key pair means: the number of allowed key pairs for each user.")}static get disableSubmit(){var{novaQuota:{key_pairs:e={}}}=b.default;return 0===I(e)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,h.default)((function*(){e.setState({quotaLoading:!0});var t=yield e.projectStore.fetchProjectNovaQuota(),{key_pairs:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var r=I(e),n=w();return[x(x({},e),{},{add:r,used:n,name:"key_pair",title:t("Key Pair")})]}get defaultValue(){return{type:"create"}}get createTypeList(){return[{value:"create",label:t("Create Keypair")},{value:"import",label:t("Import Keypair")}]}get formItems(){var{type:e}=this.state,a="create"===e;return[{name:"type",label:t("Create Type"),type:"radio",options:this.createTypeList},{name:"name",label:t("Name"),type:"input-name",required:!0,isKeypair:!0},{name:"public_key",label:t("Public Key"),type:"textarea-from-file",hidden:a,required:!a}]}}a.CreateKeypair=C,(0,m.default)(C,"id","create-keypair"),(0,m.default)(C,"title",t("Create Keypair")),(0,m.default)(C,"policy","os_compute_api:os-keypairs:create"),(0,m.default)(C,"allowed",(()=>p.default.resolve(!0)));var k=(0,g.inject)("rootStore")((0,g.observer)(C));a.default=k},1601:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0,r(1246);var s=o(r(1247)),u=o(r(1347));r(1244);var d=o(r(1245));r(344);var c=o(r(202));r(1311);var f=o(r(1312));r(569);var p=o(r(1253)),h=o(r(343)),m=o(r(29)),g=o(r(232)),v=o(r(54)),y=o(r(203)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),_=(r(161),r(564),r(342)),S=o(r(16));function x(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(x=function(e){return e?a:t})(e)}var w=e=>{var{tags:a,onChange:r,maxLength:n,maxCount:i}=e,[l,o]=(0,b.useState)(a),[S,x]=(0,b.useState)(!1),[w,I]=(0,b.useState)(""),[C,k]=(0,b.useState)(-1),[D,P]=(0,b.useState)(""),T=n&&n>0?{maxLength:n}:{},A=i&&i>0||-1;var M=null,N=null,E=e=>{M=e};function R(e){P(e.target.value)}function j(){var e=[...l];e[C]=D,o(e),P(""),k(-1)}function F(){var e=w.toLocaleLowerCase();w&&!(0,g.default)(l).call(l,(t=>t.toLowerCase()===e))&&(-1!==A&&l.length{N&&N.focus()}),[S]),(0,b.useEffect)((()=>{M&&M.focus()}),[C]),(0,b.useEffect)((()=>{r(l)}),[l]),b.default.createElement(s.default,{gutter:[0,8]},(0,v.default)(l).call(l,((e,t)=>{if(C===t)return b.default.createElement(p.default,(0,h.default)({ref:E,style:{width:78,marginRight:8,verticalAlign:"top"},key:e,size:"small",value:D,onChange:R,onBlur:j,onPressEnter:j},T));var a=e.length>20,r=a?"".concat((0,y.default)(e).call(e,0,20),"..."):e,n=b.default.createElement(f.default,{key:e,closable:!0,onClose:()=>{return t=e,void o((0,m.default)(l).call(l,(e=>e!==t)));var t},color:_.projectTagsColors[t%10]},b.default.createElement("span",{style:{whiteSpace:"pre-wrap"},onDoubleClick:a=>{k(t),P(e),a.preventDefault()}},r));return b.default.createElement(d.default,{span:24,key:e},a?b.default.createElement(c.default,{title:b.default.createElement("span",{style:{whiteSpace:"pre-wrap"}},e)},n):n)})),b.default.createElement(d.default,{span:24},S&&b.default.createElement(p.default,(0,h.default)({ref:e=>{N=e},style:{width:78,marginRight:8,verticalAlign:"top"},type:"text",size:"small",value:w,onChange:function(e){I(e.target.value)},onBlur:F,onPressEnter:F},T)),!S&&b.default.createElement(f.default,{onClick:function(){x(!0)}},b.default.createElement(u.default,null)," ",t("New Tag"))))};w.propTypes={tags:S.default.array,onChange:S.default.func,maxLength:S.default.number,maxCount:S.default.number};var I=w;a.default=I},1602:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(1603)),o=i(r(3624)),s=i(r(3625)),u=i(r(3626)),d=i(r(3627)),c=i(r(3628)),f=i(r(3629)),p=i(r(3630)),h=i(r(3631)),m=i(r(3632)),g=i(r(1604)),v=i(r(3633)),y=i(r(3634)),b=i(r(3635)),_=i(r(3636)),S=i(r(3637)),x=i(r(3638)),w=i(r(3639)),I=i(r(3640)),C={title:t("Data Protection"),actions:[f.default,g.default,b.default,m.default,u.default]},k={title:t("Instance Related"),actions:[I.default,w.default,d.default,c.default]},D={title:t("Capacity & Type"),actions:[p.default,h.default]},P={rowActions:{firstAction:o.default,moreActions:[C,k,D,{action:s.default},{action:S.default},{action:x.default}]},batchActions:[s.default],primaryActions:[l.default,_.default]},T={rowActions:{firstAction:o.default,moreActions:[C,k,D,{action:s.default},{action:S.default},{action:x.default}]},batchActions:[],primaryActions:[]},A={actionConfigs:P,adminConfig:{rowActions:{firstAction:s.default,moreActions:[{action:v.default},{action:y.default}]},batchActions:[s.default],primaryActions:[]},instanceDetailConfig:T,instanceDetailAdminConfig:{rowActions:{firstAction:v.default,moreActions:[{action:y.default}]},batchActions:[],primaryActions:[]}};a.default=A},1603:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(86)),h=f(r(63)),m=f(r(1394)),g=f(r(54)),v=f(r(609)),y=f(r(77)),b=f(r(1252)),_=f(r(28)),S=f(r(29));r(1278);var x=f(r(1279)),w=f(r(343));r(1354);var I=f(r(428)),C=f(r(49)),k=f(r(35)),D=f(r(0)),P=r(412),T=f(r(1437)),A=r(580),M=r(566),N=f(r(592)),E=f(r(577)),R=f(r(414)),j=f(r(578)),F=f(r(340)),L=f(r(1292)),O=(r(161),r(36)),z=r(1241),B=f(r(4)),V=r(574),U=r(1320),Q=r(163),q=f(r(3622));function G(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t{this.setState({imageTab:e})})),(0,k.default)(this,"onConfirmCancel",(()=>{var{initVolumeType:e}=this.state,{selectedRows:t,selectedRowKeys:a,snapshotId:r}=e,n={selectedRows:t,selectedRowKeys:a,snapshotId:"".concat(r,"-1")};this.setState({initVolumeType:n})})),(0,k.default)(this,"onVolumeTypeChange",(e=>{var{selectedRows:a=[]}=e;if(0===a.length)return(0,M.setCreateVolumeType)(""),void this.setState({multiattach:!1});var{id:r,extra_specs:{multiattach:n="False"}={},name:i}=a[0];if((0,M.setCreateVolumeType)(i),this.sourceTypeIsSnapshot){var{initVolumeType:{selectedRowKeys:l=[]},confirmCount:o=0}=this.state;r!==l[0]&&o<1&&(T.default.warn({title:t("Note: Are you sure you need to modify the volume type?"),content:M.snapshotTypeTip,onCancel:this.onConfirmCancel}),this.setState({confirmCount:1}))}this.setState({multiattach:" True"===n})})),(0,k.default)(this,"onSnapshotChange",function(){var t=(0,C.default)((function*(t){var{selectedRows:a=[]}=t||{},r="",n=null;if(a.length){var i,{origin_data:{volume_type_id:l}={},id:o}=a[0]||{};if(l)r=l,n=(0,p.default)(i=e.volumeTypes).call(i,(e=>e.id===r));else try{var s,u=yield e.snapshotStore.fetchDetail({id:o}),{volume:{volume_type:d}}=u||{};n=(0,p.default)(s=e.volumeTypes).call(s,(e=>e.name===d)),r=n.id}catch(e){}if(n){var c={selectedRowKeys:[r],selectedRows:[n],snapshotId:o};e.setState({initVolumeType:c})}}}));return function(e){return t.apply(this,arguments)}}()),(0,k.default)(this,"onCountChange",(e=>{(0,M.setCreateVolumeCount)(e),this.setState({count:e},(()=>{this.onCountChangeCallback&&this.onCountChangeCallback()}))})),(0,k.default)(this,"getCountMax",(()=>{var{volumes:{left:e=0}={}}=this.getVolumeQuota();return-1===e?1/0:e})),(0,k.default)(this,"onSubmit",(e=>{var t,a,{count:r}=this.state;if(this.message)return h.default.reject(this.message);var{backup:n,image:i,snapshot:l,size:o,availableZone:s,shared:u,name:d,volume_type:c}=e,f={name:d,size:o,availability_zone:"noSelect"!==s?s:null,multiattach:u,volume_type:c.selectedRowKeys[0]};return n&&(0,m.default)(n.selectedRowKeys)&&n.selectedRowKeys.length&&(f.backup_id=n.selectedRowKeys[0]),i&&(0,m.default)(i.selectedRowKeys)&&i.selectedRowKeys.length&&(f.imageRef=i.selectedRowKeys[0]),l&&(0,m.default)(l.selectedRowKeys)&&l.selectedRowKeys.length&&(f.snapshot_id=l.selectedRowKeys[0]),1===r?this.volumeStore.create(f):(0,Q.allSettled)((0,g.default)(t=(0,v.default)(a=new Array(r)).call(a,r)).call(t,((e,t)=>{var a,r=K(K({},f),{},{name:(0,y.default)(a="".concat(f.name,"-")).call(a,t+1)});return this.volumeStore.create(r)})))}))}init(){this.state=K(K({},this.state),{},{quotaLoading:!0,count:1,sharedDisabled:!1,confirmCount:0}),this.message="",this.snapshotStore=N.default,this.imageStore=E.default,this.volumeStore=R.default,this.volumeTypeStore=j.default,this.backupStore=L.default,this.getQuota(),this.getAvailZones(),this.getImages(),this.getVolumeTypes()}get listUrl(){return this.getRoutePath("volume")}get name(){return t("create volume")}static allowed(){return h.default.resolve(!0)}get disableSubmit(){var{quotaLoading:e}=this.state;if(e)return!0;var{cinderQuota:t={}}=F.default,{add:a,error:r}=(0,M.getAdd)(t),n=0===a;return n?r!==this.message&&(I.default.error(r),this.message=r):this.message="",n}get instanceName(){var e,t,{name:a}=(0,b.default)(this)||{},{count:r=1}=this.state;return 1===r?a:(0,g.default)(e=(0,v.default)(t=new Array(r)).call(t,r)).call(e,((e,t)=>{var r;return(0,y.default)(r="".concat(a,"-")).call(r,t+1)})).join(", ")}get errorText(){return this.message?t("Unable to create volume: insufficient quota to create resources."):super.errorText}get showQuota(){return!0}getVolumeQuota(){var{quota:e={}}=this.state;return(0,M.getQuota)(e)}get quotaInfo(){return(0,M.getQuotaInfo)(this)}get defaultSize(){return this.quotaIsLimit&&this.maxSize<10?this.maxSize:10}get defaultValue(){var{initVolumeType:e}=this.state;return{source:this.sourceTypes[0],size:this.defaultSize,project:this.currentProjectName,availableZone:(this.availableZones[0]||[]).value,volume_type:e}}get availableZones(){var e,a,r=[{label:t("Not select"),value:"noSelect"}];return(0,_.default)(e=(0,S.default)(a=this.volumeStore.availabilityZones||[]).call(a,(e=>e.zoneState.available))).call(e,(e=>{r.push({value:e.zoneName,label:e.zoneName})})),r}get images(){var e,{imageTab:t}=this.state,a=(0,S.default)(e=this.imageStore.list.data||[]).call(e,(e=>!(!(0,V.canImageCreateInstance)(e)&&!(0,V.canImageCreateIronicInstance)(e))&&(t?(0,V.getImageOS)(e)===t&&"active"===e.status:e)));return(0,g.default)(a).call(a,(e=>K(K({},e),{},{key:e.id})))}get volumeTypes(){return(0,O.toJS)(this.volumeTypeStore.list.data||[])}get backups(){var e;return(0,g.default)(e=this.backupStore.list.data||[]).call(e,(e=>K(K({},e),{},{key:e.id})))}get sourceTypes(){return[{label:t("Blank Volume"),value:"blank-volume"},{label:t("Image"),value:"image"},{label:t("Volume Snapshot"),value:"snapshot"}]}get quotaIsLimit(){var{gigabytes:{limit:e}={}}=this.getVolumeQuota();return-1!==e}get maxSize(){var{gigabytes:{left:e=0}={}}=this.getVolumeQuota();return-1===e?1e3:e}getAvailZones(){this.volumeStore.fetchAvailabilityZoneList()}getImages(){this.imageStore.fetchList({all_projects:this.hasAdminRole})}getVolumeTypes(){var e=this;return(0,C.default)((function*(){var t=yield e.volumeTypeStore.fetchList();if(t.length>0){var a=t[0],{id:r,name:n}=a,i={selectedRowKeys:[r],selectedRows:[a]};(0,M.setCreateVolumeType)(n),e.setState({initVolumeType:i,volume_type:a},(()=>{e.updateFormValue("volume_type",i),e.updateDefaultValue()}))}}))()}getQuota(){var e=this;return(0,C.default)((function*(){yield(0,M.fetchQuota)(e,0),(0,M.setCreateVolumeSize)(e.defaultSize),e.onCountChange(1),e.updateDefaultValue()}))()}get systemTabs(){return(0,V.getImageSystemTabs)()}getVolumeTypeExtra(){if(this.sourceTypeIsSnapshot)return M.snapshotTypeTip;var{multiattach:e=!1}=this.state;return e?M.multiTip:void 0}get sourceTypeIsImage(){var{source:e}=this.state;return e===this.sourceTypes[1].value}get sourceTypeIsSnapshot(){var{source:e}=this.state;return e===this.sourceTypes[2].value}getDiskMinSize(){var e=0;if(this.sourceTypeIsImage){var{min_disk:t=0,size:a=0}=this.state.image||{},r=Math.ceil(a/1024/1024/1024);e=Math.max(t,r,1)}else if(this.sourceTypeIsSnapshot){var{size:n=0}=this.state.snapshot||{};e=n}return Math.max(e,1)}get nameForStateUpdate(){return["source","image","snapshot","size","volume_type"]}get formItems(){var e,{initVolumeType:a}=this.state,r=this.getDiskMinSize();return[{name:"project",label:t("Project"),type:"label"},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),options:this.availableZones,tip:t("Unless you know clearly which AZ to create the volume in, you don not need to fill in here.")},{type:"divider"},{name:"source",label:t("Data Source Type"),type:"radio",options:this.sourceTypes,required:!0,isWrappedValue:!0},{name:"image",label:t("Operating System"),type:"select-table",data:this.images,isLoading:this.imageStore.list.isLoading,required:this.sourceTypeIsImage,isMulti:!1,hidden:!this.sourceTypeIsImage,filterParams:[{label:t("Name"),name:"name"}],columns:(0,V.getImageColumns)(this),tabs:this.systemTabs,defaultTabValue:this.systemTabs[0].value,selectedLabel:t("Image"),onTabChange:this.onImageTabChange},{name:"snapshot",label:t("Volume Snapshot"),type:"select-table",backendPageStore:this.snapshotStore,required:this.sourceTypeIsSnapshot,isMulti:!1,hidden:!this.sourceTypeIsSnapshot,isSortByBack:!0,defaultSortKey:"created_at",defaultSortOrder:"descend",onChange:this.onSnapshotChange,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Size"),dataIndex:"size",unit:"GiB",sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:M.volumeStatus},{title:t("Description"),dataIndex:"description",sorter:!1},{title:t("Created At"),dataIndex:"created_at",render:e=>(0,A.getSinceTime)(e)}]},{type:"divider"},K(K({name:"volume_type",label:t("Volume Type"),type:"select-table",tip:t('The volume type needs to set "multiattach" in the metadata to support shared volume attributes.')},U.volumeTypeSelectProps),{},{data:this.volumeTypes,isLoading:this.volumeTypeStore.list.isLoading,required:!0,extra:this.getVolumeTypeExtra(),onChange:this.onVolumeTypeChange,initValue:a}),{name:"size",label:t("Capacity (GiB)"),type:"slider-input",max:this.maxSize,min:r,description:(0,y.default)(e="".concat(r,"GiB-")).call(e,this.maxSize,"GiB"),required:this.quotaIsLimit,hidden:!this.quotaIsLimit,onChange:M.onVolumeSizeChange},{name:"size",label:t("Capacity (GiB)"),type:"input-int",min:r,hidden:this.quotaIsLimit,required:!this.quotaIsLimit,onChange:M.onVolumeSizeChange},{type:"divider"},{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0},{title:t("Description"),dataIndex:"description"}]}onCountChangeCallback(){}renderFooterLeft(){var{count:e=1}=this.state,a={min:1,max:this.getCountMax(),precision:0,onChange:this.onCountChange,formatter:e=>"$ ".concat(e).replace(/\D/g,"")};return D.default.createElement("div",null,D.default.createElement("span",null,t("Count")),D.default.createElement(x.default,(0,w.default)({},a,{value:e,className:(0,B.default)(q.default.input,"volume-count")})))}}a.Create=H,(0,k.default)(H,"id","volume-create"),(0,k.default)(H,"title",t("Create Volume")),(0,k.default)(H,"path","/storage/volume/create"),(0,k.default)(H,"policy","volume:create");var W=(0,P.inject)("rootStore")((0,P.observer)(H));a.default=W},1604:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.CreateBackup=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(1292)),f=r(566),p=r(1356);class h extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{name:a,incremental:r}=e,n={name:a,incremental:r,volume_id:t,force:(0,f.isInUse)(this.item)};return this.store.create(n)}))}get name(){return t("Create volume backup")}get tips(){return p.createTip}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),incremental:!1}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"name",label:t("Volume Backup Name"),type:"input-name",required:!0},{name:"incremental",label:t("Backup Mode"),type:"radio",options:p.backupModeList,tip:p.modeTip}]}init(){this.store=c.default,c.default.setCurrentVolume(this.item),(0,p.fetchQuota)(this)}static get disableSubmit(){return(0,p.checkQuotaDisable)()}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,p.getQuotaInfo)(this)}}a.CreateBackup=h,(0,s.default)(h,"id","create-backup"),(0,s.default)(h,"title",t("Create Volume Backup")),(0,s.default)(h,"buttonText",t("Create Backup")),(0,s.default)(h,"policy","backup:create"),(0,s.default)(h,"aliasPolicy","cinder:backup:create"),(0,s.default)(h,"allowed",(e=>o.default.resolve((0,f.isAvailableOrInUse)(e))));var m=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=m},1605:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.PoolStore=void 0;var f=c(a(35)),p=c(a(58)),h=c(a(351)),m=c(a(50)),g=c(a(53));function v(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t{var{keywords:t}=e;return y(y({},(0,p.default)(e,["keywords"])),{},{detail:!0})}}get mapper(){return e=>{var{name:t,capabilities:a={}}=e,r=y({name:t},a),{total_capacity_gb:n,free_capacity_gb:i}=a;return(0,h.default)(n)&&(0,h.default)(i)&&(r.usedGB=(n-i).toFixed(2),r.usedGBPercent=100*(r.usedGB/n).toFixed(2)),r}}}t.PoolStore=b;var _=new b;t.default=_},1606:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=a(342),l=n(a(3641)),o=n(a(3642)),s=n(a(3643)),u=n(a(3644)),d=n(a(3645)),c=n(a(1467)),f={firstAction:d.default,moreActions:[{action:o.default},{action:u.default},{action:c.default},{action:s.default}]},p={actionConfigs:{rowActions:f,batchActions:[s.default],primaryActions:[l.default]},adminConfigs:{rowActions:{firstAction:s.default},batchActions:[s.default],primaryActions:[l.default]},instanceDetailConfigs:{rowActions:{firstAction:u.default}},instanceDetailAdminConfigs:i.emptyActionConfig,qosDetailConfigs:{rowActions:f},qosDetailAdminConfigs:{rowActions:{firstAction:s.default}}};t.default=p},1607:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=n(a(3646)),l=n(a(3647)),o=n(a(3648)),s=n(a(3649)),u=n(a(3650)),d=n(a(3651)),c=n(a(3652)),f=n(a(3653)),p=n(a(1608)),h={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:s.default},{action:c.default},{action:f.default},{action:u.default},{action:d.default},{action:p.default},{},{action:l.default}]},batchActions:[l.default],primaryActions:[i.default]},actionConfigsInDetail:{rowActions:{firstAction:u.default,moreActions:[{action:d.default}]},batchActions:[],primaryActions:[]},noActions:{rowActions:{firstAction:null,moreActions:[]},batchActions:[],primaryActions:[]},adminActions:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=h},1608:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ManageSecurityGroup=void 0;var l=i(r(63)),o=i(r(54)),s=i(r(49)),u=i(r(35)),d=i(r(119)),c=r(412),f=r(1241),p=i(r(572)),h=r(419),m=r(1326),g=r(36);class v extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"onSubmit",(e=>{var{securityGroup:{selectedRowKeys:t=[]}={},port_security_enabled:a}=e,{id:r}=this.item,n={port:{security_groups:a?t:[],port_security_enabled:a}};return this.securityGroupStore.updatePortSecurityGroup({id:r,reqBody:n})}))}get name(){return t("Manage Security Group")}init(){this.securityGroupStore=new h.SecurityGroupStore,this.currentSecurityGroups=[],this.state.sgInitValue={selectedRowKeys:[],selectedRows:[]},this.detail=null,this.getPortDetail()}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var{sgInitValue:e}=this.state,{selectedRowKeys:t=[]}=e||{};return t.length?{port_security_enabled:this.item.port_security_enabled,securityGroup:e}:{}}getPortDetail(){var e=this;return(0,s.default)((function*(){var{id:t,security_groups:a,port_security_enabled:r}=e.item,n=a;a||(n=(yield p.default.fetchDetail({id:t})).security_groups);var i=yield l.default.all((0,o.default)(n).call(n,(t=>e.securityGroupStore.fetchDetail({id:t})))),s={selectedRowKeys:(0,o.default)(n).call(n,(e=>(0,g.toJS)(e))),selectedRows:(0,o.default)(i).call(i,(e=>(0,g.toJS)(e)))};e.setState({sgInitValue:s,port_security_enabled:r}),e.updateFormValue("securityGroup",s),e.updateFormValue("port_security_enabled",r)}))()}get messageHasItemName(){var{item:e}=this.props;return!!e&&e.name}get formItems(){var{sgInitValue:e,port_security_enabled:a}=this.state;return[{name:"port_security_enabled",label:t("Port Security"),type:"switch",onChange:e=>{this.setState({port_security_enabled:e})},required:!0},{name:"securityGroup",label:t("Security Group"),type:"select-table",tips:t("The security group is similar to the firewall function for setting up network access control, or you can go to the console and create a new security group. (Note: The security group you selected will work on all virtual LANs on the instances.)"),backendPageStore:this.securityGroupStore,extraParams:{project_id:this.currentProjectId},initValue:e,isMulti:!0,filterParams:m.securityGroupFilter,columns:m.securityGroupColumns,hidden:!a}]}}a.ManageSecurityGroup=v,(0,u.default)(v,"id","manage-security-group"),(0,u.default)(v,"title",t("Manage Security Group")),(0,u.default)(v,"policy","update_port:port_security_enabled"),(0,u.default)(v,"allowed",(e=>l.default.resolve(0===(0,d.default)(e,"origin_data.allowed_address_pairs",[]).length)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},1625:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Storage=void 0;var l=i(r(58)),o=i(r(35)),s=r(412),u=i(r(1242)),d=i(r(1605)),c=r(1465);class f extends u.default{constructor(){super(...arguments),(0,o.default)(this,"getColumns",(()=>c.poolColumns)),(0,o.default)(this,"updateFetchParams",(e=>{var{all_projects:t}=e;return(0,l.default)(e,["all_projects"])}))}init(){this.store=d.default}get policy(){return"scheduler_extension:scheduler_stats:get_pools"}get name(){return t("storage backend")}get rowKey(){return"name"}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Protocol"),name:"storage_protocol"},{label:t("Backend Name"),name:"volume_backend_name"}]}}a.Storage=f;var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},1670:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Credentials=void 0;var p=f(r(54)),h=f(r(164)),m=f(r(35)),g=f(r(0)),v=r(412),y=f(r(1242)),b=r(1475),_=f(r(133)),S=r(4080);function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t[{title:t("ID/Name"),dataIndex:"name",isName:!0,hasNoDetail:!0},{title:t("Project ID/Name"),dataIndex:"project_name"},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Expires At"),dataIndex:"expires_at",valueRender:"toLocalTime",isHideable:!0},{title:t("Restricted Situation"),dataIndex:"unrestricted",isHideable:!0,render:e=>e?t("Unrestricted"):t("Restricted"),titleTip:t("Used to restrict whether the application credential may be used for the creation or destruction of other application credentials or trusts.")},{title:t("Roles"),dataIndex:"roles",render:e=>{var t;return(0,p.default)(t=e||[]).call(t,(e=>g.default.createElement("div",{key:e.id},e.name)))},stringify:e=>(0,p.default)(e).call(e,(e=>e.name)).join("\n")}])),(0,m.default)(this,"updateFetchParams",(e=>this.isUserDetail?e:w(w({},e),{},{id:_.default.user.user.id})))}init(){this.store=new b.CredentialStore,this.downloadStore=new b.CredentialStore}get isUserDetail(){var e;return this.inDetailPage&&(0,h.default)(e=this.path).call(e,"user-admin/detail")}get policy(){return"identity:get_application_credential"}get name(){return t("application credential")}get actionConfigs(){return this.isUserDetail?S.detailConfigs:S.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Credentials=I;var C=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=C},1754:function(e,t,a){var r=a(1755);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1755:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__editor--3eLoM {\n min-height: 60vh;\n border-radius: 4px;\n}\n",""]),t.locals={editor:"index__editor--3eLoM"}},1756:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=n(a(343)),l=n(a(0)),o=n(a(1429)),s=n(a(1343));a(1762),a(1763),a(1764);var u=a(1766);s.default.config.setModuleUrl("ace/mode/json_worker",u);class d extends l.default.Component{render(){return l.default.createElement(o.default,(0,i.default)({theme:"github",width:"auto",height:"100%",tabSize:2,debounceChangePeriod:200,editorProps:{$blockScrolling:!0},showPrintMargin:!1,wrapEnabled:!0},this.props))}}t.default=d},1764:function(e,t,a){var r=a(1765);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1765:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* stylelint-disable selector-class-pattern */\n.custom__ace_editor--2x9Bb {\n font-family: Monaco, Menlo, Consolas, 'Courier New', monospace;\n line-height: 20px !important;\n -webkit-font-smoothing: auto;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L {\n color: #fff;\n background-color: #242e42;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_gutter--1cP4P {\n color: #537f7e;\n background-color: #242e42;\n border-right: 1px solid #4a5974;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_variable--ViPst,\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_identifier--249iw,\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_meta--2PQjL.custom__ace_tag--2I4Xk {\n color: #75e0f2;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_keyword--TdUSy {\n color: #fff;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_string--3lFMH {\n color: #ebe087;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_constant--bDEu2.custom__ace_numeric--2gqBl {\n color: #bd99ff;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_marker-layer--6Ofnc .custom__ace_active-line--3gBy- {\n background-color: #36435c;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_indent-guide--2YcVM {\n padding: 2px 0;\n border-right: 1px dotted #777;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_marker-layer--6Ofnc .custom__ace_selection--1U_DQ {\n background-color: #4a5974;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_comment--1foUc {\n color: #aaa;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_fold--3dVBm:hover {\n background-color: #fff;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_line--3FuBW .custom__ace_fold--3dVBm {\n height: auto;\n}\n",""]),t.locals={ace_editor:"custom__ace_editor--2x9Bb","ace-chaos":"custom__ace-chaos--NJP1L",ace_gutter:"custom__ace_gutter--1cP4P",ace_variable:"custom__ace_variable--ViPst",ace_identifier:"custom__ace_identifier--249iw",ace_meta:"custom__ace_meta--2PQjL",ace_tag:"custom__ace_tag--2I4Xk",ace_keyword:"custom__ace_keyword--TdUSy",ace_string:"custom__ace_string--3lFMH",ace_constant:"custom__ace_constant--bDEu2",ace_numeric:"custom__ace_numeric--2gqBl","ace_marker-layer":"custom__ace_marker-layer--6Ofnc","ace_active-line":"custom__ace_active-line--3gBy-","ace_indent-guide":"custom__ace_indent-guide--2YcVM",ace_selection:"custom__ace_selection--1U_DQ",ace_comment:"custom__ace_comment--1foUc",ace_fold:"custom__ace_fold--3dVBm",ace_line:"custom__ace_line--3FuBW"}},1773:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.statusMap=void 0;var n={500:t("Internal Server Error (code: 500) "),501:t("Not Implemented (code: 501) "),502:t("Bad Gateway (code: 502) "),503:t("Service Unavailable (code: 503) "),504:t("Gateway Time-out (code: 504) "),505:t("HTTP Version not supported (code: 505) ")};a.statusMap=n},1778:function(e,t,a){var r=a(1779);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1779:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__notify--2uuPy .ant-notification-notice-icon {\n font-size: 18px;\n}\n.index__notify--2uuPy .ant-notification-notice-message {\n font-size: 12px;\n word-break: break-all;\n}\n.index__notify--2uuPy .ant-notification-notice-with-icon .ant-notification-notice-message {\n margin-left: 32px;\n}\n.index__code-editor--D2lB7 {\n height: 400px !important;\n min-height: 400px !important;\n}\n",""]),t.locals={notify:"index__notify--2uuPy","code-editor":"index__code-editor--D2lB7"}},2087:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.style__container--3Y09L {\n height: 100%;\n padding: 44px;\n overflow: auto;\n}\n.style__container--3Y09L .style__main-icon--1ECQa {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.style__container--3Y09L .style__action-button--2uJsF {\n color: #a3a3a3;\n font-size: 18px;\n line-height: 88px;\n background: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n opacity: 0.9;\n}\n.style__container--3Y09L .style__action-icon--3cQV7 {\n display: block;\n width: 50px;\n height: 50px;\n margin-left: 60px;\n}\n.style__container--3Y09L .ant-card {\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.style__container--3Y09L .ant-card-head {\n font-size: 16px;\n}\n.style__container--3Y09L .style__left--2FbNm {\n height: 100%;\n}\n.style__container--3Y09L .style__left--2FbNm .style__top--3UBpB .style__title--18DKB {\n display: table-cell;\n vertical-align: bottom;\n}\n.style__container--3Y09L .style__left--2FbNm .style__top--3UBpB .style__title--18DKB .style__text--2ZnVb {\n color: #252525;\n font-size: 21px;\n}\n.style__container--3Y09L .style__left--2FbNm .style__top--3UBpB .style__title--18DKB .style__action--1T3zl {\n margin-left: 40px;\n color: #000;\n font-size: 16px;\n}\n.style__container--3Y09L .style__right--18Zal {\n height: 100%;\n}\n.style__container--3Y09L .style__right--18Zal .style__project--2WhsJ {\n position: relative;\n}\n.style__container--3Y09L .style__right--18Zal .style__project--2WhsJ .style__meta--VzBqf {\n margin-bottom: 16px;\n padding-bottom: 16px;\n border-bottom: 1px dashed #e8e8e8;\n}\n.style__container--3Y09L .style__right--18Zal .style__project--2WhsJ .ant-descriptions-item-label {\n width: 130px;\n}\n.style__outer--GK3KD {\n position: relative;\n width: 100%;\n height: 10rem;\n overflow: hidden;\n font-size: 12px;\n}\n.style__outer--GK3KD .style__inner--19_DW {\n position: absolute;\n left: 0;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.style__outer--GK3KD .style__inner--19_DW::-webkit-scrollbar {\n display: none;\n}\n.style__bottom--1cuhB {\n border-radius: 4px;\n}\n.style__bottom--1cuhB .ant-card {\n -webkit-box-shadow: unset;\n box-shadow: unset;\n}\n.style__bottom--1cuhB .ant-card-body {\n padding: 0 !important;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__text--2ZnVb {\n color: #252525;\n font-size: 16px;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__badge--1KS_6 {\n margin-left: 22px;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__badge--1KS_6 .ant-badge-status-dot {\n width: 10px;\n height: 10px;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__badge--1KS_6 .ant-badge-status-text {\n font-size: 14px;\n}\n.style__bottom--1cuhB .style__action--1T3zl {\n float: right;\n margin-top: 6px;\n color: #0068ff;\n font-size: 12px;\n cursor: pointer;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 {\n padding: 8px;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .ant-card-head {\n border-bottom: none;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .ant-card-head .ant-card-head-title {\n padding-bottom: 0;\n color: #565656;\n font-weight: 500;\n font-size: 16px;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .ant-card-body {\n padding: 12px !important;\n -webkit-box-shadow: unset !important;\n box-shadow: unset !important;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .style__progress-title--1khEP {\n overflow: hidden;\n font-size: 14px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",container:"style__container--3Y09L","main-icon":"style__main-icon--1ECQa","action-button":"style__action-button--2uJsF","action-icon":"style__action-icon--3cQV7",left:"style__left--2FbNm",top:"style__top--3UBpB",title:"style__title--18DKB",text:"style__text--2ZnVb",action:"style__action--1T3zl",right:"style__right--18Zal",project:"style__project--2WhsJ",meta:"style__meta--VzBqf",outer:"style__outer--GK3KD",inner:"style__inner--19_DW",bottom:"style__bottom--1cuhB",badge:"style__badge--1KS_6",content:"style__content--1BVOG",card:"style__card--3BNS7","progress-title":"style__progress-title--1khEP"}},3523:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=void 0,r(593);var h=p(r(427)),m=p(r(35));r(1374);var g=p(r(1375)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(0)),y=(r(161),r(342)),b=r(580),_=p(r(3524));function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var t={value:e};1!==e&&(t.start=void 0,t.end=void 0),this.setState(w({},t),(()=>{this.onChange(t)}))})),(0,m.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(w(w({},this.state),e))})),(0,m.default)(this,"onDateChange",(e=>{var t={start:e?e[0]:null,end:e?e[1]:null};this.setState(w({},t),(()=>{this.onChange(t)}))}));var{defaultValue:t}=e;this.state={defaultValue:void 0!==t?t:C,value:null,start:null,end:null}}componentDidMount(){var{defaultValue:e,value:t}=this.state;this.onChangeType(t||e)}get options(){return[{label:t("All"),value:0},{label:t("In the last hour"),value:C},{label:t("Recently a day"),value:k},{label:t("In the last 7 days"),value:D},{label:t("In the last 30 days"),value:30*k},{label:t("Custom"),value:1}]}render(){var{defaultValue:e,value:t}=this.state;return v.default.createElement("div",{className:_.default.wrapper},v.default.createElement(h.default.Group,{defaultValue:e,value:t,options:this.options,buttonStyle:"solid",optionType:"button",onChange:e=>this.onChangeType(e.target.value)}),1===t&&v.default.createElement(I,{onCalendarChange:this.onDateChange,format:b.timeFormatStr.YMDHm,showTime:!0}))}}a.default=P},3524:function(e,t,a){var r=a(3525);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3525:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__wrapper--2C8q2 {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n min-width: 450px;\n}\n",""]),t.locals={wrapper:"index__wrapper--2C8q2"}},3526:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(54)),s=l(a(643));a(1276);var u=l(a(421)),d=l(a(35)),c=l(a(601)),f=l(a(3527)),p=l(a(1589)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),m=l(a(16)),g=(a(161),a(564),l(a(3531)));function v(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(v=function(e){return e?a:t})(e)}class y extends h.Component{constructor(){super(...arguments),(0,d.default)(this,"changeVisibleList",(e=>{var t=e.key,{value:a,onChange:r}=this.props,[...n]=a;(0,p.default)(n,t)?(0,f.default)(n,(e=>e===t)):n.push(t),r(n)}))}isVisibleOption(e){var{value:t}=e,{value:a}=this.props;return(0,p.default)(a,t)}renderHeader(){var{title:e}=this.props;return(0,c.default)(e)?null:h.default.createElement("header",null,e)}renderOptions(){var{options:e}=this.props,t=(0,o.default)(e).call(e,(e=>this.renderOption(e)));return h.default.createElement(u.default,{onClick:this.changeVisibleList,theme:"light"},t)}renderOption(e){var t=this.isVisibleOption(e),{value:a,label:r}=e,n=t?h.default.createElement(s.default,null):h.default.createElement("span",{className:g.default.empty});return h.default.createElement(u.default.Item,{key:a},n,r)}render(){var{className:e}=this.props;return h.default.createElement("div",{className:e},this.renderHeader(),this.renderOptions())}}(0,d.default)(y,"propTypes",{value:m.default.array,onChange:m.default.func.isRequired,className:m.default.string,title:m.default.node,options:m.default.array.isRequired}),(0,d.default)(y,"defaultProps",{value:[]});var b=y;t.default=b},3531:function(e,t,a){var r=a(3532);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3532:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__empty--2DMK4 {\n display: inline-block;\n width: 24px;\n}\n",""]),t.locals={empty:"index__empty--2DMK4"}},3533:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=x,r(344);var l=i(r(202));r(586);var o=i(r(424));r(231);var s=i(r(341)),u=i(r(611)),d=i(r(343));r(1276);var c=i(r(421)),f=i(r(54)),p=i(r(203)),h=i(r(0)),m=(r(161),r(564),i(r(16))),g=r(163),v=i(r(1436)),y=r(1435),b=i(r(3534)),_=(e,t)=>{var{id:a,title:r,actionType:n,buttonType:i,buttonText:l,isDanger:o}=e;return{id:a,title:r,name:l||r,actionType:n,buttonType:i,isDanger:o,action:e,isAllowed:t.length>0,items:t,isBatch:!0,needHide:!1}};function S(e){var{actions:a,selectedItems:r,onFinishAction:n,containerProps:i,onClickAction:l,onCancelAction:p}=e;if(a.length<1)return null;var m=(0,f.default)(a).call(a,(e=>{var t="table-batch-more-".concat((0,g.generateId)()),a=_(e,r),{isDanger:o,name:s}=a;return a.onFinishAction=n,a.isDanger=!!o,r.length?h.default.createElement(c.default.Item,{key:t},h.default.createElement(v.default,(0,d.default)({},a,{buttonType:"link",onFinishAction:n,containerProps:i,onClickAction:l,onCancelAction:p,buttonClassName:b.default["more-action-btn"]}))):h.default.createElement(c.default.Item,{key:t,disabled:!0,style:{textAlign:"center"}},s)})),y=h.default.createElement(c.default,null,m);return h.default.createElement(o.default,{overlay:y,overlayClassName:b.default["table-batch-menu"]},h.default.createElement(s.default,{type:"primary"},t("More Actions")," ",h.default.createElement(u.default,null)))}function x(e){var a,r,{selectedItems:n,visibleButtonNumber:i,batchActions:o,onFinishAction:u,containerProps:c,onClickAction:m,onCancelAction:b,resourceName:x,isAdminPage:w}=e,I=[],C=[],k=(0,y.getActionsByPolicy)({actions:o,containerProps:c,isAdminPage:w});return i{var{isDanger:a=!1,buttonType:r="default"}=e;return n&&0!==n.length?h.default.createElement(v.default,(0,d.default)({},_(e,n),{key:"table-batch-action-".concat((0,g.generateId)()),onFinishAction:u,containerProps:c,onClickAction:m,onCancelAction:b})):h.default.createElement(l.default,{title:t("Please select {name} first",{name:x}),key:"tooltip-".concat((0,g.generateId)())},h.default.createElement(s.default,{type:r,disabled:!0,danger:a},e.buttonText||e.title))})),a=h.default.createElement(S,{actions:C,selectedItems:n,onFinishAction:u,containerProps:c,onClickAction:m,onCancelAction:b}),h.default.createElement(h.default.Fragment,null,r,a)}x.defaultProps={visibleButtonNumber:1},x.prototypes={visibleButtonNumber:m.default.number}},3534:function(e,t,a){var r=a(3535);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3535:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__table-action--1o0Rg {\n margin-right: 5px;\n}\n.index__more-action-btn--oi5mL {\n width: 100%;\n text-align: center;\n}\n.index__table-batch-menu--39tMs .ant-dropdown-menu-item {\n padding-right: 0;\n padding-left: 0;\n}\n",""]),t.locals={"table-action":"index__table-action--1o0Rg","more-action-btn":"index__more-action-btn--oi5mL","table-batch-menu":"index__table-batch-menu--39tMs"}},3536:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var s=o(r(54)),u=o(r(164)),d=o(r(77)),c=o(r(28)),f=o(r(63));r(586);var p=o(r(424));r(1276);var h=o(r(421)),m=o(r(605));r(1271);var g=o(r(1272));r(344);var v=o(r(202));r(231);var y=o(r(341)),b=o(r(1443)),_=o(r(49)),S=o(r(35)),x=o(r(92)),w=o(r(102)),I=o(r(119)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),k=o(r(16)),D=o(r(1352)),P=(r(564),r(161),r(3537)),T=r(163),A=o(r(1270)),M=o(r(1437)),N=o(r(3538));function E(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(E=function(e){return e?a:t})(e)}class R extends C.Component{constructor(e){var a;super(e),a=this,(0,S.default)(this,"getSimpleValue",((e,t,a)=>{var r,n;return(0,x.default)(e)?(0,s.default)(e).call(e,((e,r)=>{if(C.default.isValidElement(e))try{return t[a][r]}catch(e){return""}return e})).join("\n"):(0,w.default)(e)?C.default.isValidElement(e)?(0,u.default)(n=[void 0,"",null]).call(n,t[a])?"-":t[a].toString():t[a]:(0,u.default)(r=[void 0,"",null]).call(r,e)?"-":e})),(0,S.default)(this,"getColumnData",((e,t)=>{var a,{dataIndex:r,render:n,valueRender:i,stringify:l,valueMap:o,unit:s}=t,{getValueRenderFunc:u}=this.props,c=(0,I.default)(e,r);if(l)return l(c,e);if(i){var f=u("sinceTime"===i?"toLocalTime":i);return this.getSimpleValue(f(c,e),e,r)}return n?this.getSimpleValue(n(c,e),e,r):s?(0,d.default)(a="".concat(c)).call(a,s):o?o[c]||c:this.getSimpleValue(c,e,r)})),(0,S.default)(this,"confirmExportMax",(()=>{var{totalMax:e,total:a}=this.props;M.default.warn({title:t("Are you sure to download data?"),content:t("The total amount of data is { total }, and the interface can support downloading { totalMax } pieces of data. If you need to download all the data, please contact the administrator.",{totalMax:e,total:a}),onCancel:this.onConfirmCancel,onOk:this.beginDownload})})),(0,S.default)(this,"downloadAllData",(()=>{var{total:e,totalMax:t}=this.props;e&&e>t?this.confirmExportMax():this.beginDownload()})),(0,S.default)(this,"getFileName",(e=>{var a,r,n,i,l=(0,T.toLocalTimeFilter)((new Date).getTime()),{resourceName:o,extraName:s}=this.props,u=s?(0,d.default)(a="".concat(s,"-")).call(a,o):o;return e?(0,d.default)(r=(0,d.default)(n="".concat(u,"-")).call(n,t("all"),"-")).call(r,l,".csv"):(0,d.default)(i="".concat(u,"-")).call(i,l,".csv")})),(0,S.default)(this,"exportCurrentData",((e,a)=>{var r=this.getDownloadHeader(),n=this.getDownloadData(),i=new P.Parser({fields:r}).parse(n),l=new Blob(["\ufeff"+i],{type:"text/plain;charset=utf-8"}),o=a?this.getFileName("all"):this.getFileName();D.default.saveAs(l,o),a?A.default.success(t("All data downloaded.")):A.default.success(t("Current data downloaded."))})),(0,S.default)(this,"exportCurrentDataAll",(()=>{this.exportCurrentData(null,!0)})),(0,S.default)(this,"exportAllData",(()=>{var e=this.getDownloadHeader(),a=this.getDownloadDataAll(),r=new P.Parser({fields:e}).parse(a),n=new Blob(["\ufeff"+r],{type:"text/plain;charset=utf-8"}),i=this.getFileName("all");D.default.saveAs(n,i),A.default.success(t("All data downloaded."))})),(0,S.default)(this,"cancelDownload",(()=>{this.setState({isDownloading:!1},(()=>{var{onFinishDownload:e}=this.props;e&&e()})),A.default.warn(t("Download canceled!"))})),(0,S.default)(this,"beginDownload",(()=>{this.setState({isDownloading:!0,percent:0,current:1,allData:[]},(()=>{var{onBeginDownload:e}=this.props;e&&e(),this.getDownloadDataForAll()}))})),(0,S.default)(this,"finishDownload",(()=>{this.setState({isDownloading:!1},(()=>{this.exportAllData();var{onFinishDownload:e}=this.props;e&&e()}))})),(0,S.default)(this,"getDownloadDataForAll",(0,_.default)((function*(){var{current:e,allData:t,isDownloading:r}=a.state,{totalMax:n}=a.props,i=Math.min(a.total||0,n);if(r){var{getData:l}=a.props,o=yield l({page:e,limit:a.pageSize}),s=[...t,...o];if(o.length=i)a.setState({allData:s,percent:100},(()=>{a.finishDownload()}));else{var u=0;(u=i?Math.floor(s.length/i*100):10*e)>100&&(u=100),a.setState({allData:s,current:e+1,percent:u},(()=>{a.getDownloadDataForAll()}))}}}))),this.state={isDownloading:!1,current:1,allData:[]}}get pageSize(){return 100}get total(){return this.props.total}getDownloadHeader(){var{columns:e}=this.props;return(0,s.default)(e).call(e,(e=>({label:e.title,value:e.dataIndex,default:""})))}getDownloadData(){var{columns:e,data:t}=this.props;return(0,s.default)(t).call(t,(t=>{var a={};return(0,c.default)(e).call(e,(e=>{var r=this.getColumnData(t,e);a[e.dataIndex]=r})),a}))}getDownloadDataAll(){var{columns:e}=this.props,{allData:t}=this.state;return(0,s.default)(t).call(t,(t=>{var a={};return(0,c.default)(e).call(e,(e=>{var r=this.getColumnData(t,e);a[e.dataIndex]=r})),a}))}renderDownloadCurrent(){return C.default.createElement(v.default,{title:t("Download all data")},C.default.createElement(y.default,{type:"default",onClick:this.exportCurrentDataAll,icon:C.default.createElement(b.default,null)}))}renderProgress(){var{isDownloading:e,percent:t}=this.state;return e?C.default.createElement(g.default,{percent:t,status:"active",className:N.default.progress}):null}renderCancelBtn(){var{isDownloading:e}=this.state;return e?C.default.createElement(v.default,{title:t("Cancel Download")},C.default.createElement(y.default,{type:"danger",shape:"circle",onClick:this.cancelDownload,icon:C.default.createElement(m.default,null),size:"small"})):null}renderDownloadAll(){var e=C.default.createElement(h.default,null,C.default.createElement(h.default.Item,{key:"current",onClick:this.exportCurrentData},t("Download current data")),C.default.createElement(h.default.Item,{key:"all",onClick:this.downloadAllData},t("Download all data")));return C.default.createElement(C.default.Fragment,null,C.default.createElement(p.default,{overlay:e},C.default.createElement(y.default,{type:"default",icon:C.default.createElement(b.default,null)})),this.renderProgress(),this.renderCancelBtn())}render(){var{total:e,data:t}=this.props;return e===t.length?this.renderDownloadCurrent():this.renderDownloadAll()}}a.default=R,(0,S.default)(R,"propTypes",{columns:k.default.array,data:k.default.array,total:k.default.number,getValueRenderFunc:k.default.func.isRequired,resourceName:k.default.string,extraName:k.default.string,getData:k.default.func,totalMax:k.default.number}),(0,S.default)(R,"defaultProps",{columns:[],data:[],total:0,totalMax:1e4,resourceName:"",extraName:"",getData:()=>f.default.resolve({data:{items:[],count:0}})})},3538:function(e,t,a){var r=a(3539);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3539:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__progress--1I8an {\n width: 100px;\n margin-right: 10px;\n}\n",""]),t.locals={progress:"index__progress--1I8an"}},3540:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__table--33j8W {\n overflow: hidden;\n background-color: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 4px 8px 0 rgba(36, 46, 66, 0.06);\n box-shadow: 0 4px 8px 0 rgba(36, 46, 66, 0.06);\n}\n.index__table--33j8W .ant-table-container {\n -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n}\n.index__table--33j8W .ant-table-pagination.ant-pagination {\n margin: 0;\n padding: 8px 16px;\n}\n.index__button--3bdor {\n min-width: 96px;\n margin-left: 10px;\n}\n.index__select-title--1m-fB {\n padding: 2px;\n}\n.index__cancel-select--1WxJX {\n color: #fff;\n}\n.index__create--2BjrH {\n min-width: 96px;\n margin-left: 12px;\n}\n.index__action--2MndJ {\n padding: 0 4px;\n color: #329dce;\n font-weight: 600;\n cursor: pointer;\n}\n.index__column-menu--3pO2n {\n width: 160px;\n overflow: hidden;\n border-radius: 4px;\n -webkit-box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n}\n.index__column-menu--3pO2n .ant-menu-vertical > .ant-menu-item {\n height: 30px;\n line-height: 30px;\n}\n.index__custom-button--3b70- {\n margin-left: 0;\n}\n.index__table-header--3WB0r {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.index__table-header-btns--2QPSM,\n.index__table-header-action-btns--3KJBJ {\n position: relative;\n display: inline-block;\n margin-bottom: calc(16px - 4px);\n}\n.index__table-header-btns--2QPSM button,\n.index__table-header-action-btns--3KJBJ button {\n margin-right: 10px;\n margin-bottom: 4px;\n}\n.index__table-header-btns--2QPSM .ant-btn[disabled],\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled] {\n -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\n box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\n}\n.index__table-header-btns--2QPSM .ant-btn-default,\n.index__table-header-action-btns--3KJBJ .ant-btn-default {\n color: #0068ff;\n background-color: #fff;\n border-color: #0068ff;\n}\n.index__table-header-btns--2QPSM .ant-btn-default:hover,\n.index__table-header-action-btns--3KJBJ .ant-btn-default:hover {\n color: #0068ff;\n border-color: #0068ff;\n}\n.index__table-header-btns--2QPSM .ant-btn-dangerous,\n.index__table-header-action-btns--3KJBJ .ant-btn-dangerous {\n color: #eb354d;\n}\n.index__table-header-btns--2QPSM .ant-btn-dangerous:hover,\n.index__table-header-action-btns--3KJBJ .ant-btn-dangerous:hover {\n color: #eb354d;\n border-color: #eb354d;\n}\n.index__table-header-btns--2QPSM .ant-btn[disabled],\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled],\n.index__table-header-btns--2QPSM .ant-btn[disabled]:hover,\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled]:hover,\n.index__table-header-btns--2QPSM .ant-btn[disabled]:focus,\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled]:focus,\n.index__table-header-btns--2QPSM .ant-btn[disabled]:active,\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled]:active {\n color: rgba(0, 0, 0, 0.25) !important;\n background: #f5f5f5 !important;\n border-color: #d9d9d9 !important;\n}\n.index__search-row--7P1c7 {\n min-width: 350px;\n}\n.index__search-input--1izmf {\n width: 288px;\n height: 32px;\n}\n.index__table-header-right--1SICV {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.index__table-header-btns--2QPSM {\n margin-right: 0;\n margin-left: 10px;\n}\n.index__table-header-btns--2QPSM button:last-child {\n margin-right: 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",table:"index__table--33j8W",button:"index__button--3bdor","select-title":"index__select-title--1m-fB","cancel-select":"index__cancel-select--1WxJX",create:"index__create--2BjrH",action:"index__action--2MndJ","column-menu":"index__column-menu--3pO2n","custom-button":"index__custom-button--3b70-","table-header":"index__table-header--3WB0r","table-header-btns":"index__table-header-btns--2QPSM","table-header-action-btns":"index__table-header-action-btns--3KJBJ","search-row":"index__search-row--7P1c7","search-input":"index__search-input--1izmf","table-header-right":"index__table-header-right--1SICV"}},3541:function(e,t,a){var r=a(3542);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3542:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3q1S2 {\n min-height: calc(100vh - 108px);\n margin-top: 16px;\n padding: 0 16px;\n}\n.index__hint--3yEH0 {\n margin-bottom: 16px;\n}\n.index__hints--1QRzH .ant-alert-warning {\n background-color: #fffbe6;\n border: 1px solid #ffe58f;\n}\n.index__hints--1QRzH .ant-alert-warning .ant-alert-icon {\n color: #fedf40;\n}\n.index__hints--1QRzH .ant-alert-message {\n max-height: 40px;\n overflow-y: auto;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3q1S2",hint:"index__hint--3yEH0",hints:"index__hints--1QRzH"}},3543:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMTggMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bG9jazwvdGl0bGU+CiAgICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0ibG9jayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMDAwMDAwLCAwLjAwMDAwMCkiIGZpbGw9IiNFQjM1NEQiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi4zOTk0MDY2LDkuNzYzMzE4ODEgTDE1LjA2MjEzMTksOS43OTg4MTMxIEwxNS4wNjIxMzE5LDcuMDI2OTIzMDggQzE1LjA2MjEzMTksMi43NTc2OTIzMSAxMi42MjMwNTQ0LDAgOC44NDkwOTg1NiwwIEM1LjA3NTE0MjczLDAgMi42MzYwODc3NCwyLjc1NzY5MjMxIDIuNjM2MDg3NzQsNy4wMjY5MjMwOCBMMi42MzYwODc3NCw5Ljc2MzMxODgxIEw1LjI5ODgxMzEsOS43NjMzMTg4MSBMNS4yOTg4MTMxLDcuMDI2OTIzMDggQzUuMjk4ODEzMSw1LjcxNDE5NzcyIDUuNjQ0OTY2OTUsMi42NjI3MjUzNiA4Ljg0OTA5ODU2LDIuNjYyNzI1MzYgQzExLjkzNzg2ODEsMi42NjI3MjUzNiAxMi4zOTk0MDY2LDUuMzk3MzQwNzUgMTIuMzk5NDA2Niw3LjAyNjkyMzA4IEwxMi4zOTk0MDY2LDkuNzYzMzE4ODEgWiIgaWQ9InBhdGgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTE1LjA4ODc0Nyw5Ljc5ODgxMzEgTDIuNjYyNzI1MzYsOS43OTg4MTMxIEMxLjE5MjkwMTE1LDkuNzk4ODEzMSAwLDEwLjk5MTcxNDIgMCwxMi40NjE1Mzg1IEwwLDIxLjMzNzI3NDYgQzAsMjIuODA3MDk4OSAxLjE5MjkwMTE1LDI0IDIuNjYyNzI1MzYsMjQgTDE1LjA4ODc0NywyNCBDMTYuNTU4NTcxMiwyNCAxNy43NTE0NzI0LDIyLjgwNzA5ODkgMTcuNzUxNDcyNCwyMS4zMzcyNzQ2IEwxNy43NTE0NzI0LDEyLjQ2MTUzODUgQzE3Ljc1MTQ3MjQsMTAuOTkxNzM2OCAxNi41NTg1NzEyLDkuNzk4ODEzMSAxNS4wODg3NDcsOS43OTg4MTMxIFogTTkuNzYzMjk2MjgsMTcuNTQxMTIwOCBMOS43NjMyOTYyOCwxOS41NjIxMzE5IEM5Ljc2MzI5NjI4LDIwLjA1MTE2NDQgOS4zNjQ3OTExNywyMC40NDk3MTQ1IDguODc1NzM2MTgsMjAuNDQ5NzE0NSBDOC4zODY2ODExOSwyMC40NDk3MTQ1IDcuOTg4MTUzNTUsMjAuMDUxMTg2OSA3Ljk4ODE1MzU1LDE5LjU2MjEzMTkgTDcuOTg4MTUzNTUsMTcuNTQxMTIwOCBDNy40NTkxNjQ2NywxNy4yMzMxNDMgNy4xMDA1OTM0NSwxNi42Njc3NTg0IDcuMTAwNTkzNDUsMTYuMDExODIzOSBDNy4xMDA1OTM0NSwxNS4wMzE5NTYxIDcuODk1ODQ1ODYsMTQuMjM2NjgxMiA4Ljg3NTczNjE4LDE0LjIzNjY4MTIgQzkuODU1NjI2NTEsMTQuMjM2NjgxMiAxMC42NTA5MDE1LDE1LjAzMTk1NjEgMTAuNjUwOTAxNSwxNi4wMTE4NDY1IEMxMC42NTA5MDE1LDE2LjY2Njg1NyAxMC4yOTIzMDc3LDE3LjIzMzE0MyA5Ljc2MzI5NjI4LDE3LjU0MTE0MzMgTDkuNzYzMjk2MjgsMTcuNTQxMTIwOCBaIiBpZD0ic2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="},3544:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+dW5sb2NrPC90aXRsZT4KICAgIDxnIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIzLi1JY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzguMDAwMDAwLCAtNzI5LjAwMDAwMCkiIGZpbGw9IiM1MTUxNTEiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxnIGlkPSJ1bmxvY2siIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc4LjAwMDAwMCwgNzI5LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLjE1MzgyODEsNy4zMDggTDEwLjE1MzgyODEsOC4zMDc3MDMxMiBMMTIuOTIzMDg1OSw4LjMwNzcwMzEyIEwxMi45MjMwODU5LDcuMzA4IEMxMi45MjMwODU5LDIuODY4IDEwLjM4NjQ0NTMsMCA2LjQ2MTUzMTI1LDAgQzIuNTM2NjE3MTksMCAwLDIuODY4IDAsNy4zMDggTDAsMTAuMTUzODUxNiBMMi43NjkyMzQzNywxMC4xNTM4NTE2IEwyLjc2OTIzNDM3LDcuMzA4IEMyLjc2OTIzNDM3LDUuOTQyNzY1NjIgMy4xMjkyMzQzOCwyLjc2OTIzNDM3IDYuNDYxNTMxMjUsMi43NjkyMzQzNyBDOS42NzM4NTE1NiwyLjc2OTIzNDM3IDEwLjE1Mzg1MTYsNS42MTMyMzQzOCAxMC4xNTM4NTE2LDcuMzA4IEwxMC4xNTM4MjgxLDcuMzA4IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMS4yMzA3NjU2LDkuMjMwNzY1NjMgTDguMzA3NzAzMTIsOS4yMzA3NjU2MyBDNi43NzkwODU5NCw5LjIzMDc2NTYzIDUuNTM4NDY4NzUsMTAuNDcxMzgyOCA1LjUzODQ2ODc1LDEyIEw1LjUzODQ2ODc1LDIxLjIzMDc2NTYgQzUuNTM4NDY4NzUsMjIuNzU5MzgyOCA2Ljc3OTA4NTk0LDI0IDguMzA3NzAzMTIsMjQgTDIxLjIzMDc2NTYsMjQgQzIyLjc1OTM4MjgsMjQgMjQsMjIuNzU5MzgyOCAyNCwyMS4yMzA3NjU2IEwyNCwxMiBDMjQsMTAuNDcxNDA2MyAyMi43NTkzODI4LDkuMjMwNzY1NjMgMjEuMjMwNzY1Niw5LjIzMDc2NTYzIFogTTE1LjY5MjI5NjksMTcuMjgyNzY1NiBMMTUuNjkyMjk2OSwxOS4zODQ2MTcyIEMxNS42OTIyOTY5LDE5Ljg5MzIxMDkgMTUuMjc3ODUxNiwyMC4zMDc3MDMxIDE0Ljc2OTIzNDQsMjAuMzA3NzAzMSBDMTQuMjYwNjE3MiwyMC4zMDc3MDMxIDEzLjg0NjE0ODQsMTkuODkzMjM0NCAxMy44NDYxNDg0LDE5LjM4NDYxNzIgTDEzLjg0NjE0ODQsMTcuMjgyNzY1NiBDMTMuMjk2LDE2Ljk2MjQ2ODcgMTIuOTIzMDg1OSwxNi4zNzQ0Njg4IDEyLjkyMzA4NTksMTUuNjkyMjk2OSBDMTIuOTIzMDg1OSwxNC42NzMyMzQ0IDEzLjc1MDE0ODQsMTMuODQ2MTQ4NCAxNC43NjkyMzQ0LDEzLjg0NjE0ODQgQzE1Ljc4ODMyMDMsMTMuODQ2MTQ4NCAxNi42MTU0MDYyLDE0LjY3MzIzNDQgMTYuNjE1NDA2MiwxNS42OTIzMjAzIEMxNi42MTU0MDYyLDE2LjM3MzUzMTMgMTYuMjQyNDY4OCwxNi45NjI0Njg3IDE1LjY5MjI5NjksMTcuMjgyNzg5MSBMMTUuNjkyMjk2OSwxNy4yODI3NjU2IFoiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"},3551:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ConfirmStep=void 0;var l=i(r(63)),o=i(r(77)),s=i(r(54)),u=i(r(1597)),d=i(r(29)),c=i(r(164));r(1246);var f=i(r(1247));r(1244);var p=i(r(1245)),h=i(r(35)),m=i(r(0)),g=r(412),v=i(r(1250)),y=r(1248),b=(r(161),r(1461));class _ extends v.default{constructor(){super(...arguments),(0,h.default)(this,"allowed",(()=>l.default.resolve()))}init(){}get title(){return"ConfirmStep"}get name(){return"ConfirmStep"}get enableCinder(){return this.props.rootStore.checkEndpoint("cinder")}getDisk(e,t){var a,r;if(!t)return null;var{size:n,typeOption:i,deleteTypeLabel:l}=e||{};return(0,o.default)(a=(0,o.default)(r="".concat(i.label," ")).call(r,n,"GiB ")).call(a,l)}getBootableVolumeDisk(){var e,{bootableVolume:t}=this.props.context,{size:a,volume_type:r}=t.selectedRows[0];return(0,o.default)(e="".concat(r," ")).call(e,a,"GiB")}getDeleteVolumeInstance(){var e,{deleteVolumeInstance:a}=null===(e=this.props)||void 0===e?void 0:e.context;return a?t("Yes"):t("No")}getSystemDisk(){if(!this.enableCinder)return null;var{context:e}=this.props,{systemDisk:t,source:{value:a}={},instanceSnapshotDisk:r,bootFromVolume:n=!0}=e;return"bootableVolume"===a?this.getBootableVolumeDisk():"instanceSnapshot"===a&&null!==r?this.getDisk(r,n):this.getDisk(t,n)}getDataDisk(){if(!this.enableCinder)return null;var{context:e}=this.props,{dataDisk:t=[],source:{value:a}={},instanceSnapshotDataVolumes:r=[]}=e,n=t;return"instanceSnapshot"===a&&(null==r?void 0:r.length)>0&&(n=(0,b.getAllDataDisks)({dataDisk:t,instanceSnapshotDataVolumes:r})),(0,s.default)(n).call(n,(e=>this.getDisk(e.value,!0)))}getFlavor(){var e,t,a,{context:r}=this.props,{flavor:n}=r,{disk:i,ram:l,vcpus:s}=n.selectedRows[0];return i?(0,o.default)(e=(0,o.default)(t="".concat(s,"VCPU/")).call(t,i,"GiB/")).call(e,(0,u.default)(l/1024,10),"GiB"):(0,o.default)(a="".concat(s,"VCPU/")).call(a,(0,u.default)(l/1024,10),"GiB")}getSourceValue(){var{context:e}=this.props,{source:t}=e,{selectedRows:a=[],selectedRowKeys:r=[]}=e[t.value];return a.length?a[0].name:r[0]}getVirtualLANs(){var{context:e}=this.props,{networks:t=[]}=e,a=(0,s.default)(t).call(t,(e=>{var t,a,r,{networkOption:n,subnetOption:i,ipTypeOption:l,ip:s}=e.value,u=1===l.value?i.name||i.label:"";return(0,o.default)(t=(0,o.default)(a=(0,o.default)(r="".concat(n.name||n.label," ")).call(r,l.label," ")).call(a,u," ")).call(t,1===l.value?s:"")}));return m.default.createElement(f.default,null,(0,s.default)(a).call(a,(e=>m.default.createElement(p.default,{span:24,key:e},e))))}getPorts(){var{context:e}=this.props,{ports:{selectedRows:t=[]}={}}=e,a=(0,s.default)(t).call(t,(e=>e.name||e.id));return m.default.createElement(f.default,null,(0,s.default)(a).call(a,(e=>m.default.createElement(p.default,{span:24,key:e},e))))}getSecurityGroups(){var{context:e}=this.props,{securityGroup:{selectedRows:t=[]}={}}=e,a=(0,s.default)(t).call(t,(e=>e.name));return m.default.createElement(f.default,null,(0,s.default)(a).call(a,(e=>m.default.createElement(p.default,{span:24,key:e},e))))}getLoginType(){var e,{context:t}=this.props,{loginType:a,keypair:r}=t,{value:n,label:i}=a;return(0,o.default)(e="".concat(i," ")).call(e,"keypair"===n?r.selectedRows[0].name:"")}getPhysicalNode(){var{context:e}=this.props,{physicalNodeType:t,physicalNode:a}=e;return t?"smart"===t.value?t.label:a.selectedRows[0].hypervisor_hostname:y.physicalNodeTypes[0].label}getServerGroup(){var{context:e}=this.props,{serverGroup:t}=e;return t&&t.selectedRows.length?t.selectedRows[0].name:"-"}getIso(){var{context:e}=this.props,{iso:t}=e;return t&&0!==t.length?(0,s.default)(t).call(t,(e=>e.value)).join(" "):"-"}goStep(e){var{goStep:t}=this.props;t&&t(e)}get defaultValue(){return{}}get formItems(){var e,a,{context:r}=this.props,n=[{label:t("Start Source"),value:r.source.label},{label:t("System Disk"),value:this.getSystemDisk()},{label:t("Delete Volume on Instance Delete"),value:this.getDeleteVolumeInstance(),key:"deleteVolume"},{label:t("Available Zone"),value:r.availableZone.label},{label:t("Start Source Name"),value:this.getSourceValue()},{label:t("Data Disk"),value:this.getDataDisk(),contentStyle:{display:"inline-block"}},{label:t("Project"),value:r.project},{label:t("Flavor"),value:this.getFlavor()}];return this.enableCinder||(n=(0,d.default)(n).call(n,(e=>{var a;return!(0,c.default)(a=[t("System Disk"),t("Data Disk")]).call(a,e.label)}))),"BOOTABLEVOLUME"!==r.source.value.toUpperCase()&&(n=(0,d.default)(n).call(n,(e=>"deleteVolume"!==(null==e?void 0:e.key)))),[{name:"confirm-count",label:t("Count"),type:"label",content:r.count||1},{name:"confirm-config",label:t("Config Overview"),type:"descriptions",title:t("Base Config"),onClick:()=>{this.goStep(0)},items:n},{type:"short-divider"},{name:"confirm-config-network",label:" ",type:"descriptions",title:t("Network Config"),onClick:()=>{this.goStep(1)},items:[{label:(0,o.default)(e="".concat(t("Virtual LAN"),"(")).call(e,t("New"),")"),value:this.getVirtualLANs(),span:1},{label:(0,o.default)(a="".concat(t("Virtual LAN"),"(")).call(a,t("Created"),")"),value:this.getPorts(),span:1},{label:t("Security Group"),value:this.getSecurityGroups(),span:1}]},{type:"short-divider"},{name:"confirm-config-system",label:" ",type:"descriptions",title:t("System Config"),onClick:()=>{this.goStep(2)},items:[{label:t("Name"),value:r.name},{label:t("Login Type"),value:this.getLoginType()},{label:t("Physical Node"),value:this.getPhysicalNode()},{label:t("Server Group"),value:this.getServerGroup()}]}]}}a.ConfirmStep=_;var S=(0,g.inject)("rootStore")((0,g.observer)(_));a.default=S},3555:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SystemStep=void 0;var p=f(r(63)),h=f(r(54)),m=f(r(29)),g=f(r(49)),v=f(r(35)),y=f(r(570)),b=r(412),_=f(r(423)),S=f(r(413)),x=f(r(599)),w=f(r(598)),I=f(r(1355)),C=f(r(1250)),k=r(565),D=r(1389),P=r(1248),T=r(163),A=r(1463);function M(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;tp.default.resolve())),(0,v.default)(this,"onValuesChange",(e=>{(0,y.default)(e,"serverGroup")&&this.onServerGroupChange(e.serverGroup)})),(0,v.default)(this,"onServerGroupChange",(e=>{var{selectedRows:t=[]}=e||{};this.updateContext({serverGroupRow:t[0]||null})}))}init(){this.keyPairStore=_.default,this.serverStore=S.default,this.hypervisorStore=x.default,this.serverGroupStore=w.default,this.getKeypairs(),this.hasAdminRole&&this.getHypervisors(),this.getServerGroups()}get hypervisorColumns(){var e=[...D.hypervisorColumns];return e[0]={title:t("Hostname"),dataIndex:"hypervisor_hostname"},e}get hypervisorFilters(){var e=[...D.hypervisorFilters];return e[0]={label:t("Hostname"),name:"hypervisor_hostname"},e}get title(){return"SystemStep"}get name(){return"SystemStep"}get keypairs(){var e;return(0,h.default)(e=this.keyPairStore.list.data||[]).call(e,(e=>N(N({},e),{},{key:e.name,id:e.name})))}get hypervisors(){var e;return(0,h.default)(e=this.hypervisorStore.list.data||[]).call(e,(e=>N(N({},e),{},{key:e.id,name:e.hypervisor_hostname})))}get serverGroups(){var e;return(0,m.default)(e=this.serverGroupStore.list.data||[]).call(e,(e=>{var{servergroup:t}=this.locationParams;return!t||e.id===t}))}get serverGroupRequired(){var{more:e}=this.state,{servergroup:t}=this.locationParams;return!!t&&e}get inputHelp(){var{input:e=""}=this.state;return t("Entered: {length, plural, =1 {one character} other {# characters} }(maximum {maxCount} characters)",{length:e.length,maxCount:1e3})}get sourceInfo(){var{context:e={}}=this.props,{source:t={},image:a={},bootableVolume:r={},instanceSnapshot:n={}}=e;if("image"===t.value){var{selectedRows:i=[]}=a;return i.length&&i[0]}if("bootableVolume"===t.value){var{selectedRows:l=[]}=r,o=l.length&&l[0].origin_data||{},s=l.length&&l[0].volume_image_metadata;return o.volume_image_metadata||s}if("instanceSnapshot"===t.value){var{selectedRows:u=[]}=n;return u.length&&u[0]}return!1}get isWindowsImage(){return this.sourceInfo&&"windows"===this.sourceInfo.os_distro}get defaultValue(){var e,{servergroup:t}=this.locationParams,{context:a={}}=this.props,r={loginType:a.loginType||(this.isWindowsImage?this.loginTypes[1]:this.loginTypes[0]),more:!1,physicalNodeType:P.physicalNodeTypes[0],userData:"",username:this.loginUserName||this.loginUserNameInContext};t&&(r.serverGroup={selectedRowKeys:[t],selectedRows:(0,m.default)(e=this.serverGroups).call(e,(e=>e.id===t))});var{name:n}=this.state;return n&&(r.name=n),r}get loginTypes(){return[{label:t("Keypair"),value:"keypair",disabled:this.isWindowsImage},{label:t("Password"),value:"password"}]}getKeypairs(){var e=this;return(0,g.default)((function*(){yield e.keyPairStore.fetchList()}))()}getHypervisors(){this.hypervisorStore.fetchList()}getServerGroups(){var e=this;return(0,g.default)((function*(){yield e.serverGroupStore.fetchList(),e.updateDefaultValue();var{servergroup:t}=e.locationParams;t&&e.onServerGroupChange({selectedRows:e.serverGroups})}))()}get nameForStateUpdate(){return["name","loginType","password","confirmPassword","more","physicalNodeType","serverGroup"]}get loginUserName(){return this.sourceInfo&&this.sourceInfo.os_admin_user}get loginUserNameInContext(){var{username:e=""}=this.props.context||{};return e||""}get isPassword(){var{loginType:e}=this.state;return e===this.loginTypes[1].value}get usernameFormItem(){var e={name:"username",label:t("Login Name"),type:"input",extra:this.loginUserName?"":t("The feasible configuration of cloud-init or cloudbase-init service in the image is not synced to image's properties, so the Login Name is unknown."),tip:t("Whether the Login Name can be used is up to the feasible configuration of cloud-init or cloudbase-init service in the image."),required:this.isPassword,hidden:!this.isPassword};return e.disabled=!!this.loginUserName,e}get formItems(){var{more:e=!1,physicalNodeType:a}=this.state,r=a===P.physicalNodeTypes[1].value,{initKeyPair:n}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,isInstance:!0},{name:"loginType",label:t("Login Type"),type:"radio",options:this.loginTypes,isWrappedValue:!0},this.usernameFormItem,{name:"keypair",label:t("Keypair"),type:"select-table",data:this.keypairs,isLoading:this.keyPairStore.list.isLoading,required:!this.isPassword,hidden:this.isPassword,header:(0,A.getKeyPairHeader)(this),initValue:n,tip:t("The SSH key is a way to remotely log in to the instance. The cloud platform only helps to keep the public key. Please keep your private key properly."),filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Fingerprint"),dataIndex:"fingerprint"}],selectedLabel:t("Keypair")},{name:"password",label:t("Login Password"),type:"input-password",required:this.isPassword,hidden:!this.isPassword,otherRule:(0,k.getPasswordOtherRule)("password","instance")},{name:"confirmPassword",label:t("Confirm Password"),type:"input-password",required:this.isPassword,hidden:!this.isPassword,otherRule:(0,k.getPasswordOtherRule)("confirmPassword","instance")},{type:"divider"},{name:"more",label:t("Advanced Options"),type:"more"},{name:"physicalNodeType",label:t("Physical Node"),type:"radio",hidden:!e||!this.hasAdminRole,options:P.physicalNodeTypes,isWrappedValue:!0},{name:"physicalNode",label:t("Specify Physical Node"),type:"select-table",hidden:!this.hasAdminRole||!e||!r,required:r,data:this.hypervisors,isLoading:this.hypervisorStore.list.isLoading,extra:t("You can manually specify a physical node to create an instance."),columns:this.hypervisorColumns,filterParams:this.hypervisorFilters},{name:"serverGroup",label:t("Server Group"),type:"select-table",hidden:!e,data:this.serverGroups,isLoading:this.serverGroupStore.list.isLoading,required:this.serverGroupRequired,extra:t("Using server groups, you can create cloud hosts on the same/different physical nodes as much as possible to meet the affinity/non-affinity requirements of business applications."),columns:[{title:t("Name"),dataIndex:"name"},{title:t("Member Count"),dataIndex:"members",render:e=>e.length},{title:t("Policy"),dataIndex:"policy",valueMap:I.default}],filterParams:[{label:t("Name"),name:"name"},{label:t("Policy"),name:"policy",options:(0,T.getOptions)(I.default)}]},{name:"userData",label:t("User Data"),type:"textarea-from-file",validator:k.asciiValidator,hidden:!e,extra:t("The user needs to ensure that the input is a shell script that can run completely and normally.")}]}}a.SystemStep=E;var R=(0,b.inject)("rootStore")((0,b.observer)(E));a.default=R},3556:function(e,t,a){var r=a(3557);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3557:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.keypair__action-wrapper---KO5u {\n margin-left: 8px;\n}\n.keypair__action-wrapper---KO5u .ant-btn-link {\n padding: 5.6px 15px !important;\n border-color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","action-wrapper":"keypair__action-wrapper---KO5u"}},3558:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.NetworkStep=void 0;var l=i(r(63)),o=i(r(86)),s=i(r(54)),u=i(r(28)),d=i(r(91)),c=i(r(232)),f=i(r(49)),p=i(r(35)),h=i(r(92)),m=i(r(177)),g=i(r(0)),v=r(412),y=r(233),b=r(417),_=r(419),S=r(572),x=r(565),w=i(r(1250)),I=i(r(1444)),C=r(571),k=r(1326),D=r(1258),P=r(567),{isIPv4:T,isIpv6:A}=x.ipValidate;class M extends w.default{constructor(){var e;super(...arguments),e=this,(0,p.default)(this,"allowed",(()=>l.default.resolve())),(0,p.default)(this,"getSubnetPromise",function(){var t=(0,f.default)((function*(t){if(!e.subnetMap[t]){var a=yield e.subnetStore.fetchList({network_id:t});e.subnetMap[t]=a}return e.subnetMap[t]}));return function(e){return t.apply(this,arguments)}}()),(0,p.default)(this,"checkNetworks",(e=>!(!(0,h.default)(e)||(0,m.default)(e)||(0,m.default)(e[0].value))&&(!(0,o.default)(e).call(e,(e=>!e.value||!e.value.network))&&!(0,o.default)(e).call(e,(e=>1===e.value.ipType&&!T(e.value.ip)&&!A(e.value.ip)))))),(0,p.default)(this,"disabledNetwork",(e=>!e.subnets||0===e.subnets.length)),(0,p.default)(this,"onNetworkChange",(e=>{var{selectedRows:t}=e;this.setState({networkSelectRows:t},(()=>{this.getSubnets()})),this.updateContext({networkSelectRows:t})})),(0,p.default)(this,"checkNetworkAndPort",(e=>{var{getFieldValue:a}=e;return{validator(){var e=a("networkSelect"),r=a("ports"),{selectedRowKeys:n=[]}=e||{},{selectedRowKeys:i=[]}=r||{};return 0===n.length&&0===i?l.default.reject(t("Please select")):l.default.resolve()}}})),(0,p.default)(this,"onPortChange",(e=>{var{selectedRows:t=[]}=e||{};this.setState({portSelectRows:t}),this.updateContext({portSelectRows:t})}))}init(){var e,t;this.networkStore=new y.NetworkStore,this.subnetStore=new b.SubnetStore,this.securityGroupStore=new _.SecurityGroupStore,this.portStore=new S.PortStore,this.subnetMap={},this.state.networkSelectRows=(null===(e=this.props.context)||void 0===e?void 0:e.networkSelectRows)||[],this.state.portSelectRows=(null===(t=this.props.context)||void 0===t?void 0:t.portSelectRows)||[]}get title(){return"NetworkStep"}get name(){return"NetworkStep"}get defaultValue(){return{networks:[]}}getSubnets(){var e=this;return(0,f.default)((function*(){var{networkSelectRows:t,networks:a=[]}=e.state,r=yield l.default.all((0,s.default)(t).call(t,(t=>e.getSubnetPromise(t.id)))),n=[];(0,u.default)(r).call(r,(e=>{n.push(...e)}));var i=[],c=(0,s.default)(t).call(t,((e,t)=>{var r=(0,o.default)(n).call(n,(t=>t.network_id===e.id)),l=(0,o.default)(a).call(a,((t,a)=>t.value.network===e.id&&(i.push(a),!0)));return l||{value:{network:e.id,subnet:r.id,networkOption:e,subnetOption:r,ipTypeOption:C.ipTypeOptions[0],ipType:0},index:t}})),f=(0,s.default)(t).call(t,(e=>e.id));(0,u.default)(a).call(a,((e,t)=>{(0,d.default)(i).call(i,t)<0&&(0,d.default)(f).call(f,e.value.network)>=0&&c.push(e)})),e.updateFormValue("networks",c),e.setState({subnets:n,initValue:c})}))()}get nameForStateUpdate(){return["networkSelect","networks","ports"]}get showSecurityGroups(){var{networkSelectRows:e=[],portSelectRows:t=[]}=this.state;return!(!e.length&&!t.length)&&((!e.length||!(0,c.default)(e).call(e,(e=>!e.port_security_enabled)))&&(!t.length||!(0,c.default)(t).call(t,(e=>!e.port_security_enabled))))}get formItems(){var{networkSelectRows:e=[],subnets:a,initValue:r=[],ports:n=[]}=this.state,i=e.length>0,o=0===n.length,s=0===e.length;return[{name:"networkSelect",label:t("Networks"),type:"network-select-table",disabledFunc:this.disabledNetwork,onChange:this.onNetworkChange,showExternal:!0,isMulti:!0,required:o,otherRule:this.checkNetworkAndPort,dependencies:["ports"],header:g.default.createElement("div",null,t("Please reasonably plan the network and subnet to which the virtual network card belongs."),t(" You can go to the console to "),(0,P.getLinkRender)({key:"network",value:"".concat(t("create a new network/subnet")," > "),extra:{target:"_blank"}}))},{name:"networks",label:t("Virtual LAN"),type:"add-select",networks:e,hidden:!i,subnets:a,itemComponent:I.default,required:i,addTextTips:t("Virtual LANs"),addText:t("Add Virtual LAN"),minCount:e.length||0,optionsByIndex:!0,initValue:r,validator:(e,t)=>this.checkNetworks(t)?l.default.resolve():l.default.reject(""),wrapperCol:{span:19}},{name:"divider1",type:"divider"},{name:"ports",type:"select-table",label:t("Ports"),extraParams:{project_id:this.currentProjectId,status:"DOWN"},backendPageStore:this.portStore,isMulti:!0,header:t("Ports provide extra communication channels to your instances. You can select ports instead of networks or a mix of both (The port executes its own security group rules by default)."),filterParams:D.portFilters,columns:D.portColumns,dependencies:["networkSelect"],otherRule:this.checkNetworkAndPort,required:s,onChange:this.onPortChange},{name:"divider2",type:"divider"},{name:"securityGroup",label:t("Security Group"),type:"select-table",tip:t("Each instance belongs to at least one security group, which needs to be specified when it is created. Instances in the same security group can communicate with each other on the network, and instances in different security groups are disconnected from the internal network by default."),backendPageStore:this.securityGroupStore,extraParams:{project_id:this.currentProjectId},hidden:!this.showSecurityGroups,required:this.showSecurityGroups,isMulti:!0,header:g.default.createElement("div",{style:{marginBottom:8}},t("The security group is similar to the firewall function and is used to set up network access control. "),t(" You can go to the console to "),(0,P.getLinkRender)({key:"securityGroup",value:"".concat(t("create a new security group"),"> "),extra:{target:"_blank"}}),t("Note: The security group you use will act on all virtual adapters of the instance.")),filterParams:k.securityGroupFilter,columns:k.securityGroupColumns}]}}a.NetworkStep=M;var N=(0,v.inject)("rootStore")((0,v.observer)(M));a.default=N},3559:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var s=o(r(343)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),d=o(r(3560)),c=r(354),f=r(567);function p(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(p=function(e){return e?a:t})(e)}class h extends u.Component{getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,f.getPath)({key:t,params:{id:e}})}render(){var{item:{security_group_rules:e=[]}={}}=this.props,a={buttonType:"link",title:t("Security Group Rules"),buttonText:t("View Rules"),modalSize:"middle",columns:(0,c.getSelfColumns)(this),data:e,hasPagination:!1};return u.default.createElement(d.default,(0,s.default)({},a,{style:{paddingLeft:0}}))}}a.default=h},3560:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0,r(585);var s=o(r(587)),u=o(r(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),c=o(r(1500)),f=o(r(16));r(161);function p(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(p=function(e){return e?a:t})(e)}class h extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"renderTable",(()=>{var{data:e,columns:t,hasPagination:a}=this.props,r={columns:t,dataSource:e};return a||(r.pagination=!1),d.default.createElement(s.default,r)}))}static propTypes(){return{title:f.default.string.isRequired,buttonType:f.default.string,isDanger:f.default.bool,data:f.default.array,columns:f.default.array,modalSize:f.default.string,className:f.default.func,buttonText:f.default.string,style:f.default.string,hasPagination:f.default.bool}}render(){var{buttonType:e,isDanger:t,title:a,buttonText:r,modalSize:n,style:i}=this.props,l={buttonType:e,isDanger:t,title:a,buttonText:r,modalSize:n,style:i,render:this.renderTable};return d.default.createElement(c.default,l)}}a.default=h,(0,u.default)(h,"defaultProps",{buttonType:"link",isDanger:!1,data:[],columns:[],modalSize:"middle",className:"",buttonText:t("View Detail"),title:t("Detail"),hasPagination:!0})},3565:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseStep=void 0;var p=f(r(63)),h=f(r(54)),m=f(r(29)),g=f(r(86));r(1246);var v=f(r(1247));r(1244);var y=f(r(1245)),b=f(r(49)),_=f(r(35)),S=f(r(0)),x=r(412),w=r(36),I=(r(161),r(566)),C=f(r(413)),k=f(r(577)),D=f(r(1391)),P=f(r(578)),T=f(r(1319)),A=r(414),M=r(574),N=f(r(1250)),E=f(r(1534)),R=r(1264),j=r(1461),F=f(r(1392));function L(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function O(e){for(var t=1;tp.default.resolve())),(0,_.default)(this,"onImageTabChange",(e=>{this.setState({imageTab:e})})),(0,_.default)(this,"checkSystemDisk",((e,a)=>{var{size:r=10,type:n}=a||{},i=this.getSystemDiskMinSize();return n?r?r{this.updateContext({flavor:e})})),(0,_.default)(this,"onChangeBootFromVolume",(e=>{var t={bootFromVolume:e};e||(t.dataDisk=[],this.updateFormValue("dataDisk",[])),this.updateContext(t)})),(0,_.default)(this,"onInstanceSnapshotChange",function(){var t=(0,b.default)((function*(t){var{min_disk:a,size:r,id:n}=t.selectedRows[0]||{};if(!n)return e.updateContext({instanceSnapshotDisk:null,instanceSnapshotDataVolumes:[]}),void e.setState({instanceSnapshotDisk:null,instanceSnapshotMinSize:0,instanceSnapshotDataVolumes:[]});var i=yield e.instanceSnapshotStore.fetchInstanceSnapshotVolumeData({id:n}),{snapshotDetail:{size:l=0}={},block_device_mapping:o="",volumeDetail:s,snapshotDetail:u,instanceSnapshotDataVolumes:d=[]}=i;s||(e.updateFormValue("bootFromVolume",!0),e.updateContext({instanceSnapshotDisk:null,instanceSnapshotDataVolumes:[],bootFromVolume:!0}),e.setState({instanceSnapshotDisk:null,instanceSnapshotMinSize:0,instanceSnapshotDataVolumes:[],bootFromVolume:!0}));var c=Math.max(a,r,l),f=(JSON.parse(o)||[])[0]||{},p=(0,j.getDiskInfo)({volumeDetail:s,snapshotDetail:u,selfBdmData:f});e.updateFormValue("instanceSnapshotDisk",p),e.updateContext({instanceSnapshotDisk:p,instanceSnapshotDataVolumes:d}),e.setState({instanceSnapshotDisk:p,instanceSnapshotMinSize:c,instanceSnapshotDataVolumes:d})}));return function(e){return t.apply(this,arguments)}}()),(0,_.default)(this,"onBootableVolumeChange",(e=>{this.updateContext({bootableVolume:e})})),(0,_.default)(this,"onSystemDiskChange",(e=>{this.updateContext({systemDisk:e})})),(0,_.default)(this,"onDataDiskChange",(e=>{this.updateContext({dataDisk:e})})),(0,_.default)(this,"getInstanceSnapshotDisk",(()=>{var{instanceSnapshotDisk:e}=this.state,{instanceSnapshotDisk:t}=this.props.context;return e||t})),(0,_.default)(this,"getSnapshotDataDisks",(()=>{var{instanceSnapshotDataVolumes:e}=this.state,{instanceSnapshotDataVolumes:t}=this.props.context;return e||t||[]})),(0,_.default)(this,"renderInstanceSnapshotDisk",(e=>{if(null===e)return null;var{deleteTypeLabel:a,typeOption:r={},size:n}=e||{};if(!n)return null;var i={marginRight:10,maxWidth:"20%"};return S.default.createElement(v.default,{gutter:24},S.default.createElement(y.default,{span:8},S.default.createElement("span",{style:i},t("Type")),r.label),S.default.createElement(y.default,{span:8},S.default.createElement("span",{style:i},t("Size")),n,S.default.createElement("span",{style:i},"GiB")),S.default.createElement(y.default,{span:8},a))})),(0,_.default)(this,"renderSnapshotDisk",(()=>{var e=this.getInstanceSnapshotDisk();return this.renderInstanceSnapshotDisk(e)})),(0,_.default)(this,"renderSnapshotDataDisk",(()=>{var e=this.getSnapshotDataDisks();return S.default.createElement(S.default.Fragment,null,null==e?void 0:(0,h.default)(e).call(e,(e=>{var t=(0,j.getInstanceSnapshotDataDisk)(e),a=(null==e?void 0:e.id)||(null==e?void 0:e.snapshot_id);return S.default.createElement("div",{style:{marginBottom:10},key:"data-disk-".concat(a)},this.renderInstanceSnapshotDisk(t))})))}))}init(){this.serverStore=C.default,this.imageStore=k.default,this.volumeStore=new A.VolumeStore,this.volumeTypeStore=P.default,this.instanceSnapshotStore=D.default,this.getAvailZones(),this.getImages(),this.getVolumeTypes(),this.getVolumes(),this.getInstanceSnapshots(),this.initSourceChange()}get title(){return"BaseStep"}get name(){return"BaseStep"}get isStep(){return!0}get defaultValue(){var{volume:e,snapshot:t}=this.locationParams,a=this.imageSourceType;e?a=this.volumeSourceType:t&&(a=this.snapshotSourceType);var r={systemDisk:this.defaultVolumeType,source:a,project:this.currentProjectName,dataDisk:[]};return"image"===a.value&&(r.bootFromVolume=!0),r}get availableZones(){var e,t;return(0,h.default)(e=(0,m.default)(t=T.default.list.data||[]).call(t,(e=>e.zoneState.available))).call(e,(e=>({value:e.zoneName,label:e.zoneName})))}get images(){var{imageTab:e}=this.state,{image:t}=this.locationParams,a=t?[(0,w.toJS)(this.imageStore.detail)]:this.imageStore.list.data||[],r=(0,m.default)(a).call(a,(t=>!!(0,M.canImageCreateInstance)(t)&&(e?(0,M.getImageOS)(t)===e:t)));return(0,h.default)(r).call(r,(e=>O(O({},e),{},{key:e.id})))}get snapshots(){var{snapshot:e}=this.locationParams;if(!e){var{list:{data:t}}=this.instanceSnapshotStore;return t||[]}return[(0,w.toJS)(this.instanceSnapshotStore.detail)]}get enableCinder(){return this.props.rootStore.checkEndpoint("cinder")}get volumeTypes(){return(0,j.volumeTypes)()}get volumes(){var e,t,a,{volume:r}=this.locationParams;return r?(0,m.default)(a=[(0,w.toJS)(this.volumeStore.detail)]).call(a,(e=>(0,I.canCreateInstance)(e))):(0,h.default)(e=(0,m.default)(t=this.volumeStore.list.data||[]).call(t,(e=>(0,I.canCreateInstance)(e)))).call(e,(e=>O(O({},e),{},{key:e.id})))}get defaultVolumeType(){return{size:10,deleteType:1}}get sourceTypes(){var{image:e,snapshot:a,volume:r}=this.locationParams,n=[{label:t("Image"),value:"image",disabled:r||a},{label:t("Instance Snapshot"),value:"instanceSnapshot",disabled:e||r}];return this.enableCinder&&n.push({label:t("Bootable Volume"),value:"bootableVolume",disabled:e||a}),n}get imageSourceType(){var e;return(0,g.default)(e=this.sourceTypes).call(e,(e=>"image"===e.value))}get snapshotSourceType(){var e;return(0,g.default)(e=this.sourceTypes).call(e,(e=>"instanceSnapshot"===e.value))}get volumeSourceType(){var e;return this.enableCinder?(0,g.default)(e=this.sourceTypes).call(e,(e=>"bootableVolume"===e.value)):{}}getAvailZones(){var e=this;return(0,b.default)((function*(){yield T.default.fetchListWithoutDetail(),e.availableZones.length&&e.updateFormValue("availableZone",e.availableZones[0])}))()}getImages(){var e=this;return(0,b.default)((function*(){var{volume:t,image:a,snapshot:r}=e.locationParams;t||r||(a?yield e.imageStore.fetchDetail({id:a}):yield e.imageStore.fetchList({all_projects:e.hasAdminRole}))}))()}getVolumeTypes(){var e=this;return(0,b.default)((function*(){e.enableCinder&&(yield e.volumeTypeStore.fetchList())}))()}getVolumes(){var e=this;return(0,b.default)((function*(){var{image:t,snapshot:a,volume:r}=e.locationParams;t||a||e.enableCinder&&(r?(yield e.volumeStore.fetchDetail({id:r}),e.updateContext({source:e.volumeSourceType})):yield e.volumeStore.fetchList({sortKey:"bootable",sortOrder:"ascend"}))}))()}getInstanceSnapshots(){var e=this;return(0,b.default)((function*(){var{image:t,snapshot:a,volume:r}=e.locationParams;t||r||(a?yield e.instanceSnapshotStore.fetchDetail({id:a}):e.instanceSnapshotStore.fetchList())}))()}get systemTabs(){return(0,M.getImageSystemTabs)()}get nameForStateUpdate(){return["source","image","instanceSnapshot","bootableVolume","flavor","bootFromVolume"]}getSystemDiskMinSize(){var e=(this.state.flavor||{}).disk||0,t=0;if(this.sourceTypeIsImage){var{min_disk:a=0,size:r=0}=this.state.image||{},n=Math.ceil(r/1024/1024/1024);return t=Math.max(a,n,1),Math.max(e,t,1)}if(this.sourceTypeIsSnapshot){var{instanceSnapshotMinSize:i=0}=this.state;return Math.max(e,i,1)}return Math.max(e,1)}get sourceTypeIsImage(){var{source:e}=this.state;return e===this.imageSourceType.value}get sourceTypeIsSnapshot(){var{source:e}=this.state;return e===this.snapshotSourceType.value}get sourceTypeIsVolume(){var{source:e}=this.state;return e===this.volumeSourceType.value}getImageExtraWords(){var{flavor:{category:e}={}}=this.state;return(0,R.isGpuCategory)(e)?t("For GPU type, you need to install GPU drivers in the instance operating system."):""}initSourceChange(){var{snapshot:e,volume:t}=this.locationParams;e?this.onSourceChange(this.snapshotSourceType):t?this.onSourceChange(this.volumeSourceType):this.onSourceChange(this.imageSourceType)}onSourceChange(e){this.updateContext({source:e})}get imageColumns(){return(0,M.getImageColumns)(this)}get instanceSnapshotColumns(){return[{title:t("Name"),dataIndex:"name"},{title:t("Disk Format"),dataIndex:"disk_format",valueMap:M.imageFormats},{title:t("Min System Disk"),dataIndex:"min_disk",unit:"GiB"},{title:t("Min Memory"),dataIndex:"min_ram",render:e=>"".concat(e/1024,"GiB")},{title:t("Status"),dataIndex:"status",valueMap:M.imageStatus},{title:t("Created At"),dataIndex:"created_at",isHideable:!0,valueRender:"sinceTime"}]}get volumeColumns(){return[{title:t("Name"),dataIndex:"name"},{title:t("Size"),dataIndex:"size",unit:"GiB",width:80},{title:t("Status"),dataIndex:"status",valueMap:I.volumeStatus,width:80},{title:t("Type"),dataIndex:"volume_type"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}get supportNoBootFromVolume(){return!0}get showBootFromVolumeFormItem(){return!!this.supportNoBootFromVolume&&(!!this.enableCinder&&(!!this.sourceTypeIsImage||this.showSystemDisk))}get bootFromVolumeOptions(){return[{value:!0,label:t("Yes - Create a new system disk")},{value:!1,label:t("No - Do not create a new system disk")}]}get showSystemDisk(){var e=this.getInstanceSnapshotDisk();return this.enableCinder&&(this.sourceTypeIsImage||this.sourceTypeIsSnapshot&&null===e)}get showSystemDiskByBootFromVolume(){if(!this.showSystemDisk)return!1;if(!this.supportNoBootFromVolume)return!0;var{bootFromVolume:e=!0}=this.state;return!!e}get hideInstanceSnapshotSystemDisk(){return this.showSystemDisk||this.sourceTypeIsVolume}get hideInstanceSnapshotDataDisk(){return!!this.hideInstanceSnapshotSystemDisk||0===this.getSnapshotDataDisks().length}get hideDataDisk(){if(!this.supportNoBootFromVolume)return!1;if(this.sourceTypeIsVolume)return!1;var{bootFromVolume:e=!0}=this.state;return!e}getFlavorComponent(){return S.default.createElement(F.default,{onChange:this.onFlavorChange})}get formItems(){var{image:e}=this.locationParams,a=e?this.imageStore.isLoading:this.imageStore.list.isLoading;return[{name:"project",label:t("Project"),type:"label"},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),isWrappedValue:!0,required:!0,options:this.availableZones,tip:t("Availability zone refers to a physical area where power and network are independent of each other in the same area. In the same region, the availability zone and the availability zone can communicate with each other in the intranet, and the available zones can achieve fault isolation.")},{type:"divider"},{name:"flavor",label:t("Specification"),type:"select-table",component:this.getFlavorComponent(),required:!0,wrapperCol:{xs:{span:24},sm:{span:18}}},{name:"source",label:t("Start Source"),type:"radio",options:this.sourceTypes,required:!0,isWrappedValue:!0,tip:t("The start source is a template used to create an instance. You can choose an image or a bootable volume."),onChange:e=>{this.onSourceChange(e)}},{name:"image",label:t("Operating System"),type:"select-table",data:this.images,isLoading:a,required:this.sourceTypeIsImage,isMulti:!1,display:this.sourceTypeIsImage,extra:this.getImageExtraWords(),filterParams:[{label:t("Name"),name:"name"}],columns:this.imageColumns,tabs:this.systemTabs,defaultTabValue:this.locationParams.os_distro||this.systemTabs[0].value,selectedLabel:t("Image"),onTabChange:this.onImageTabChange},{name:"instanceSnapshot",label:t("Instance Snapshot"),type:"select-table",data:this.snapshots,required:this.sourceTypeIsSnapshot,isMulti:!1,hidden:!this.sourceTypeIsSnapshot,display:this.sourceTypeIsSnapshot,onChange:this.onInstanceSnapshotChange,filterParams:[{label:t("Name"),name:"name"}],columns:this.instanceSnapshotColumns},{name:"bootableVolume",label:t("Bootable Volume"),type:"select-table",data:this.volumes,isLoading:this.volumeStore.list.isLoading,required:this.sourceTypeIsVolume,isMulti:!1,display:this.sourceTypeIsVolume&&this.enableCinder,onChange:this.onBootableVolumeChange,filterParams:[{label:t("Name"),name:"name"}],columns:this.volumeColumns},{type:"divider"},{name:"bootFromVolume",label:t("Boot From Volume"),type:"radio",required:this.showBootFromVolumeFormItem,hidden:!this.showBootFromVolumeFormItem,onChange:this.onChangeBootFromVolume,wrapperCol:{xs:{span:16},sm:{span:14}},options:this.bootFromVolumeOptions},{name:"systemDisk",label:t("System Disk"),type:"instance-volume",options:this.volumeTypes,required:this.showSystemDiskByBootFromVolume,hidden:!this.showSystemDiskByBootFromVolume,validator:this.checkSystemDisk,minSize:this.getSystemDiskMinSize(),extra:t("Disk size is limited by the min disk of flavor, image, etc."),onChange:this.onSystemDiskChange,dependencies:["flavor","image","instanceSnapshot","bootFromVolume"]},{name:"deleteVolumeInstance",label:t("Delete Volume on Instance Delete"),type:"check",hidden:!this.sourceTypeIsVolume},{name:"instanceSnapshotDisk",label:t("System Disk"),hidden:this.hideInstanceSnapshotSystemDisk,component:this.renderSnapshotDisk()},{name:"instanceSnapshotDataDisk",label:t("Required Data Disk"),hidden:this.hideInstanceSnapshotDataDisk,component:this.renderSnapshotDataDisk()},{name:"dataDisk",label:t("Data Disk"),type:"add-select",options:this.volumeTypes,defaultItemValue:this.defaultVolumeType,hidden:this.hideDataDisk,itemComponent:E.default,minCount:0,addTextTips:t("Data Disks"),addText:t("Add Data Disks"),extra:t("Too many disks mounted on the instance will affect the read and write performance. It is recommended not to exceed 16 disks."),onChange:this.onDataDiskChange,display:this.enableCinder}]}}a.BaseStep=z;var B=(0,x.inject)("rootStore")((0,x.observer)(z));a.default=B},3573:function(e,t,a){var r=a(3574);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3574:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__flavor-label--GI_En {\n display: inline-block;\n min-width: 50px;\n margin-right: 16px;\n}\n.index__flavor-tab--2Mc6u {\n margin-bottom: 16px;\n}\n",""]),t.locals={"flavor-label":"index__flavor-label--GI_En","flavor-tab":"index__flavor-tab--2Mc6u"}},3575:function(e,t,a){var r=a(3576);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3576:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__input--2eKC2 {\n margin-right: 32px;\n margin-left: 16px;\n}\n.index__number-input--3TVxi {\n min-width: 165px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",input:"index__input--2eKC2","number-input":"index__number-input--3TVxi"}},3613:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(1317);var i=n(a(1318));a(1303);var l=n(a(1290)),o=n(a(54)),s=n(a(0)),u=(a(161),n(a(16))),d=a(163),c=n(a(3614)),f=e=>{var{title:t,descriptions:a,loading:r}=e,n=(0,o.default)(a).call(a,(e=>("number"==typeof e.content&&(e.content=e.content.toString()),s.default.createElement(l.default.Item,{label:e.label,className:c.default.item,key:"label-".concat((0,d.generateId)())},e.content))));return s.default.createElement(i.default,{loading:r},s.default.createElement(l.default,{colon:!1,title:t},n))},p=u.default.shape({label:u.default.oneOfType([u.default.string,u.default.node]),content:u.default.any});f.propTypes={title:u.default.oneOfType([u.default.string,u.default.node]),descriptions:u.default.arrayOf(p),loading:u.default.bool};var h=f;t.default=h},3614:function(e,t,a){var r=a(3615);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3615:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__item--3lFuh {\n margin-bottom: 10px;\n background-color: #fff;\n}\n.index__item--3lFuh .ant-descriptions-item-label {\n width: 100px;\n color: #8a8a8a;\n}\n.index__item--3lFuh .ant-descriptions-item-content {\n word-break: break-all;\n}\n",""]),t.locals={item:"index__item--3lFuh"}},3616:function(e,t,a){var r=a(3617);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3617:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__main--1q8mG {\n position: relative;\n height: 100%;\n overflow: auto;\n}\n.index__sider--3LZqm {\n position: absolute;\n top: 0;\n left: 0;\n width: 354px;\n min-width: 354px;\n}\n@media screen and (max-width: 1280px) {\n .index__sider--3LZqm {\n width: 300px;\n min-width: 300px;\n }\n}\n.index__content--1OSKS {\n padding-left: 374px;\n}\n@media screen and (max-width: 1280px) {\n .index__content--1OSKS {\n padding-left: 320px;\n }\n}\n.index__nav--2zbId {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 48px;\n margin: 0 0 12px;\n padding: 0 14px;\n background-color: #124191;\n border-radius: 4px;\n}\n.index__navItem--uT8lm {\n min-width: 96px;\n height: 32px;\n margin: 0 6px;\n padding: 0 14px;\n color: #fff;\n font-weight: 500;\n line-height: 32px;\n text-align: center;\n border: 1px solid transparent;\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n}\n.index__navItem--uT8lm:first-child {\n margin: 0 6px 0 0;\n}\n.index__navItem--uT8lm.index__active--oKb1h {\n background-color: #1890ff;\n border-color: #1890ff;\n border-radius: 4px;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__navItem--uT8lm.index__active--oKb1h:hover {\n color: #fff;\n}\n.index__loading--3cfaa {\n padding: 30px 0;\n text-align: center;\n}\n.index__header--2mGuj {\n padding-right: 16px;\n padding-bottom: 30px;\n padding-left: 16px;\n background-color: #fff;\n}\n.index__header--2mGuj .ant-descriptions-title {\n margin-bottom: 0;\n}\n.index__header-title--3X2Ku {\n font-style: italic;\n}\n.index__title-label--3TrNR {\n margin-right: 8px;\n font-style: italic;\n}\n.index__header-button--2VTui {\n float: right;\n}\n.index__header-divider--3b6-4 {\n width: 2px;\n margin: 0 14px 0 24px;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.index__tabs--VwWK2 {\n margin-top: -42px;\n}\n.index__tabs--VwWK2 .ant-tabs-bar {\n padding-right: 16px;\n padding-left: 16px;\n}\n.index__tabs--VwWK2 .ant-tabs-nav-wrap {\n padding-left: 30px;\n}\n.index__tab-wrapper--2DZuY {\n width: 100%;\n}\n.index__tab-wrapper--2DZuY .list-container {\n margin-top: 0;\n}\n.index__action-wrapper--pIcIO {\n position: absolute;\n right: 80px;\n}\n.index__action-wrapper--pIcIO .ant-btn-link {\n padding: 5.6px 15px !important;\n border-color: #0068ff;\n}\n.index__action-wrapper--pIcIO .ant-divider-vertical {\n border-left: none;\n}\n.index__action-wrapper--pIcIO .ant-btn-dangerous {\n color: #c4233e;\n background: transparent;\n border-color: #c4233e;\n}\n.index__action-wrapper--pIcIO .ant-btn-link[disabled],\n.index__action-wrapper--pIcIO .ant-btn-link[disabled]:hover,\n.index__action-wrapper--pIcIO .ant-btn-link[disabled]:focus,\n.index__action-wrapper--pIcIO .ant-btn-link[disabled]:active {\n border-color: rgba(0, 0, 0, 0.25);\n}\n.index__action-wrapper--pIcIO .ant-btn-dangerous.ant-btn-link:active {\n color: #c4233e;\n background: transparent;\n border-color: #c4233e;\n}\n.index__action-wrapper--pIcIO .ant-btn-dangerous:hover,\n.index__action-wrapper--pIcIO .ant-btn-dangerous:focus {\n color: #f76070;\n background: #fff;\n border-color: #f76070;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",main:"index__main--1q8mG",sider:"index__sider--3LZqm",content:"index__content--1OSKS",nav:"index__nav--2zbId",navItem:"index__navItem--uT8lm",active:"index__active--oKb1h",loading:"index__loading--3cfaa",header:"index__header--2mGuj","header-title":"index__header-title--3X2Ku","title-label":"index__title-label--3TrNR","header-button":"index__header-button--2VTui","header-divider":"index__header-divider--3b6-4",tabs:"index__tabs--VwWK2","tab-wrapper":"index__tab-wrapper--2DZuY","action-wrapper":"index__action-wrapper--pIcIO"}},3618:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.SnapshotVolumeStore=void 0;var f=c(a(63)),p=c(a(54)),h=c(a(28)),m=c(a(35)),g=c(a(49)),v=c(a(53)),y=a(163),b=a(566);function _(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}class S extends v.default{get mapper(){return e=>(0,b.updateVolume)(e)}get groupArraySize(){return 10}requestList(e,t){var a=this;return(0,g.default)((function*(){var{volumeIds:r=[]}=t,n=(0,y.groupArray)(r,a.groupArraySize),i=yield f.default.all((0,p.default)(n).call(n,(t=>{var r=function(e){for(var t=1;t{c.push(...e.volumes)})),c}))()}}t.SnapshotVolumeStore=S;var x=new S;t.default=x},3622:function(e,t,a){var r=a(3623);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3623:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__input--1LaXS {\n margin-right: 32px;\n margin-left: 16px;\n}\n",""]),t.locals={input:"index__input--1LaXS"}},3624:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.EditAction=void 0;var l=i(r(63)),o=i(r(35)),s=r(412),u=r(1241),d=i(r(414)),c=r(566);class f extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.update(t,e)}))}get defaultValue(){var{name:e,description:t}=this.item;return{name:e,description:t}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0},{name:"description",label:t("Description"),type:"textarea"}]}init(){this.store=d.default}}a.EditAction=f,(0,o.default)(f,"id","edit"),(0,o.default)(f,"title",t("Edit")),(0,o.default)(f,"policy","volume:update"),(0,o.default)(f,"allowed",(e=>l.default.resolve((0,c.isAvailableOrInUse)(e))));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},3625:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(164)),o=i(r(28));r(344);var s=i(r(202)),u=i(r(1299));r(583);var d=i(r(420)),c=i(r(35)),f=i(r(92)),p=i(r(0)),h=r(1241),m=i(r(414));r(161),r(564);class g extends h.ConfirmAction{constructor(){super(...arguments),(0,c.default)(this,"policy","volume:delete"),(0,c.default)(this,"canDelete",(e=>{var{status:t,attachments:a=[]}=e,r=["available","error","error_extending"];return(0,l.default)(r).call(r,t)&&!(null!=a&&a.length)})),(0,c.default)(this,"allowedCheckFunc",(e=>this.canDelete(e))),(0,c.default)(this,"onSubmit",(e=>{var{id:t,isCascadeDeleted:a=!0}=e||this.item;return a?m.default.cascadeDelete({id:t}):m.default.delete({id:t})})),(0,c.default)(this,"initCascadeValue",(e=>{this.onChangeCascade(!0,e)})),(0,c.default)(this,"confirmContext",(e=>{var a=this.getName(e);return this.initCascadeValue(e),p.default.createElement("div",null,p.default.createElement("p",{style:{marginBottom:"16px"}},this.unescape(t("Are you sure to delete volume { name }? ",{name:a}))),p.default.createElement("div",null,this.renderCascadeDeletion(e),this.renderCascadeDeletionTip()))}))}get id(){return"delete"}get title(){return t("Delete Volume")}get name(){return t("Delete Volume")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete volume")}onChangeCascade(e,t){(0,f.default)(t)?(0,o.default)(t).call(t,(t=>{t.isCascadeDeleted=e})):t.isCascadeDeleted=e}renderCascadeDeletion(e){return p.default.createElement(d.default,{defaultChecked:!0,onChange:t=>{this.onChangeCascade(t.target.checked,e)}},t("Cascading deletion"))}get cascadeDeletionTip(){return t("Using cascading deletion, when the volume has snapshots, the associated snapshot will be automatically deleted first, and then the volume will be deleted, thereby improving the success rate of deleting the volume.")}renderCascadeDeletionTip(){return p.default.createElement(s.default,{title:this.cascadeDeletionTip},p.default.createElement(u.default,null))}}a.default=g},3626:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.RestoreAction=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=r(414),f=i(r(592)),p=r(566),h=r(580);class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{snapshot:{selectedRowKeys:t=[]}={}}=e,{id:a}=this.item;return this.store.revert(a,{snapshot_id:t[0]})}))}init(){this.store=new c.VolumeStore,this.snapshotStore=f.default}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var e,t,{name:a,id:r="-",volume_type:n="-",size:i}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)")}}get formItems(){var{id:e}=this.item;return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"snapshot",label:t("Select Volume Snapshot"),type:"select-table",backendPageStore:this.snapshotStore,extraParams:{volume_id:e},required:!0,isMulti:!1,isSortByBack:!0,defaultSortKey:"created_at",defaultSortOrder:"descend",filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Size"),dataIndex:"size",unit:"GiB",sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:p.volumeStatus},{title:t("Created At"),dataIndex:"created_at",render:e=>(0,h.getSinceTime)(e)}]}]}get name(){return t("Restore from snapshot")}}a.RestoreAction=m,(0,s.default)(m,"id","Restore from snapshot"),(0,s.default)(m,"title",t("Restore From Snapshot")),(0,s.default)(m,"policy","volume:create"),(0,s.default)(m,"allowed",(e=>o.default.resolve("available"===e.status)));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},3627:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Attach=void 0;var p=f(r(86)),h=f(r(63)),m=f(r(54)),g=f(r(77)),v=f(r(35)),y=r(412),b=r(1241),_=r(413),S=f(r(414)),x=r(1248),w=r(566);function I(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t!(0,x.allowAttachVolumeInstance)(e)||this.alreadyAttached(e))),(0,v.default)(this,"alreadyAttached",(e=>{var{attachments:t=[]}=this.item;return!!(0,p.default)(t).call(t,(t=>t.server_id===e.id))})),(0,v.default)(this,"onSubmit",(e=>{var{instance:t}=e,{id:a}=this.item,{selectedRowKeys:r}=t;return h.default.all((0,m.default)(r).call(r,(e=>this.vmStore.attachVolume({id:e,body:{volumeAttachment:{volumeId:a}}}))))}))}init(){this.store=S.default,this.vmStore=new _.ServerStore}get name(){return t("Attach")}get isAsyncAction(){return!0}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var e,t,{name:a,id:r,size:n,volume_type:i}=this.item;return{volume:(0,g.default)(e=(0,g.default)(t="".concat(a||r,"(")).call(t,i," | ")).call(e,n,"GiB)")}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},C({name:"instance",label:t("Instance"),type:"select-table",required:!0,backendPageStore:this.vmStore,disabledFunc:this.disabledInstance,extraParams:{noReminder:!0},isMulti:!1},x.instanceSelectTablePropsBackend)]}}a.Attach=k,(0,v.default)(k,"id","attach"),(0,v.default)(k,"title",t("Attach")),(0,v.default)(k,"policy","os_compute_api:os-volumes-attachments:create"),(0,v.default)(k,"allowed",(e=>h.default.resolve((0,w.isAvailable)(e)||(0,w.isMultiAttach)(e))));var D=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=D},3628:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Detach=void 0;var l=i(r(54)),o=i(r(77)),s=i(r(63)),u=i(r(1394)),d=i(r(35)),c=r(412),f=r(1241),p=i(r(413)),h=r(1460),m=r(566),g=r(1248);class v extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"disabledInstance",(e=>!(0,g.allowAttachVolumeInstance)(e))),(0,d.default)(this,"onSubmit",(e=>{var{instance:t}=e,{id:a}=this.item,{selectedRowKeys:r}=t,n=r[0];return this.store.detachVolume({id:n,volumes:[a]})}))}get name(){return t("Detach")}init(){this.store=p.default,this.instanceStore=new h.ServerGroupInstanceStore,this.getInstances()}static get modalSize(){return"large"}getModalSize(){return"large"}get instances(){return this.instanceStore.list.data||[]}getInstances(){var e,t=(0,l.default)(e=this.item.attachments||[]).call(e,(e=>e.server_id));this.instanceStore.fetchList({members:t})}get defaultValue(){var e,t,{name:a,size:r,volume_type:n}=this.item;return{volume:(0,o.default)(e=(0,o.default)(t="".concat(a,"(")).call(t,n," | ")).call(e,r,"GiB)")}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"instance",label:t("Instance"),type:"select-table",required:!0,data:this.instances,filterParams:[{label:t("Name"),name:"name"}],columns:g.instanceColumnsBackend,isLoading:this.instanceStore.list.isLoading,disabledFunc:this.disabledInstance}]}}a.Detach=v,(0,d.default)(v,"id","detach"),(0,d.default)(v,"title",t("Detach")),(0,d.default)(v,"isDanger",!0),(0,d.default)(v,"policy","os_compute_api:os-volumes-attachments:delete"),(0,d.default)(v,"allowed",(e=>s.default.resolve((0,m.isInUse)(e)&&!(0,m.isOsDisk)(e)&&(0,u.default)(e.attachments)&&e.attachments.length)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},3629:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateSnapshot=void 0;var p=f(r(77)),h=f(r(63)),m=f(r(49)),g=f(r(35)),v=r(412),y=r(1241),b=f(r(592)),_=r(566),S=f(r(340));function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{snapshots:t={}}=e,{currentVolumeType:a}=b.default;return{snapshotQuota:t,typeQuota:e["snapshots_".concat(a)]||{}}},C=e=>{var{snapshotQuota:t,typeQuota:a}=I(e),{left:r=0}=t||{},{left:n=0}=a||{};return 0!==r&&0!==n?1:0};class k extends y.ModalAction{constructor(){super(...arguments),(0,g.default)(this,"onSubmit",(e=>{var{id:t,status:a}=this.item,{name:r}=e,n={name:r,volume_id:t,force:"in-use"===a};return this.store.create(n)}))}init(){b.default.setCurrentVolumeType(this.item),this.state.quota={},this.state.quotaLoading=!0,this.store=b.default,this.projectStore=S.default,this.getQuota()}get name(){return t("create volume snapshot")}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,p.default)(e=(0,p.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)")}}static get disableSubmit(){var{cinderQuota:e={}}=S.default;return 0===C(e)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,m.default)((function*(){e.setState({quotaLoading:!0});var t=yield e.projectStore.fetchProjectCinderQuota();e.setState({quota:t,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{snapshotQuota:r={},typeQuota:n={}}=I(e),i=C(e),l=w(w({},r),{},{add:i,name:"snapshot",title:t("Volume Snapshot")}),{volume_type:o}=this.item;return[l,w(w({},n),{},{add:i,name:"type",title:t("{name} type snapshots",{name:o}),type:"line"})]}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"name",label:t("Volume Snapshot Name"),type:"input-name",placeholder:t("Please input snapshot name"),required:!0}]}}a.CreateSnapshot=k,(0,g.default)(k,"id","create-snapshot"),(0,g.default)(k,"title",t("Create Volume Snapshot")),(0,g.default)(k,"buttonText",t("Create Snapshot")),(0,g.default)(k,"policy","volume:create_snapshot"),(0,g.default)(k,"allowed",(e=>h.default.resolve((0,_.isAvailableOrInUse)(e))));var D=(0,v.inject)("rootStore")((0,v.observer)(k));a.default=D},3630:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=a.ExtendVolume=void 0;var s=o(r(63)),u=o(r(77)),d=o(r(58)),c=o(r(49)),f=o(r(35)),p=o(r(177)),h=r(412),m=r(1241),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(414)),v=o(r(340)),y=r(566);function b(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(b=function(e){return e?a:t})(e)}class _ extends m.ModalAction{constructor(){var e;super(...arguments),e=this,(0,f.default)(this,"onSizeChange",(e=>{var t=e-this.itemSize;(0,y.setCreateVolumeSize)(t)})),(0,f.default)(this,"checkInstance",(()=>{var{lockedError:e}=this.state;return e?s.default.reject(e):s.default.resolve()})),(0,f.default)(this,"onSubmit",function(){var t=(0,c.default)((function*(t){var{new_size:a}=t,{id:r}=e.item;return e.store.extendSize(r,{new_size:a})}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Extend volume")}init(){this.store=g.default,this.state.showNotice=!0,this.volumeStore=new g.VolumeStore,this.projectStore=v.default,(0,y.fetchQuota)(this,1,this.item.volume_type)}get tips(){return t("After the volume is expanded, the volume cannot be reduced.")}static get disableSubmit(){return(0,y.checkQuotaDisable)(!1)}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){var{quota:e={},quotaLoading:t}=this.state;if(t||(0,p.default)(e))return[];var[a,r,n,i]=(0,y.getQuotaInfo)(this,!1),{type:l}=r;return[(0,d.default)(r,["type"]),i]}get isQuotaLimited(){var{gigabytes:{limit:e}={}}=this.projectStore.cinderQuota||{};return-1!==e}get leftSize(){var{gigabytes:{left:e=0}={}}=this.projectStore.cinderQuota||{};return e}get itemSize(){var{size:e}=this.item;return e}get minSize(){return this.itemSize+1}get maxSize(){var{size:e}=this.item;return e+this.leftSize}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,u.default)(e=(0,u.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),new_size:this.minSize}}get formItems(){var e;return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"new_size",label:t("Capacity (GiB)"),type:"slider-input",max:this.maxSize,min:this.minSize,description:(0,u.default)(e="".concat(this.minSize,"GiB-")).call(e,this.maxSize,"GiB"),required:!0,display:this.isQuotaLimited,onChange:this.onSizeChange,validator:this.checkInstance},{name:"new_size",label:t("Capacity (GiB)"),type:"input-int",min:this.minSize,required:!0,display:!this.isQuotaLimited,onChange:this.onSizeChange,validator:this.checkInstance}]}}a.ExtendVolume=_,(0,f.default)(_,"id","extend-snapshot"),(0,f.default)(_,"title",t("Extend Volume")),(0,f.default)(_,"policy","volume:extend"),(0,f.default)(_,"allowed",(e=>s.default.resolve((0,y.isAvailableOrInUse)(e))));var S=(0,h.inject)("rootStore")((0,h.observer)(_));a.default=S},3631:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ChangeType=void 0;var l=i(r(54)),o=i(r(29)),s=i(r(77)),u=i(r(63)),d=i(r(35)),c=r(412),f=r(1241),p=i(r(414)),h=i(r(578)),m=r(566);class g extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{new_type:a}=e,r={new_type:a,migration_policy:"on-demand"};return this.store.retype(t,r)}))}get name(){return t("Change type")}get tips(){return t("If the capacity of the disk is large, the type modify operation may take several hours. Please be cautious.")}init(){this.store=p.default,this.volumeTypeStore=h.default,this.getVolumeTypes()}getVolumeTypes(){this.volumeTypeStore.fetchList()}get isAsyncAction(){return!0}get volumeTypes(){var e,{volume_type:t}=this.item,{data:a=[]}=this.volumeTypeStore.list;return(0,l.default)(e=(0,o.default)(a).call(a,(e=>e.name!==t))).call(e,(e=>({label:e.name,value:e.id})))}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,s.default)(e=(0,s.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),volume_type:(this.volumeTypes[0]||{}).value}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"new_type",label:t("Volume Type"),type:"select",required:!0,options:this.volumeTypes}]}}a.ChangeType=g,(0,d.default)(g,"id","change-type"),(0,d.default)(g,"title",t("Change Type")),(0,d.default)(g,"policy","volume:retype"),(0,d.default)(g,"allowed",(e=>u.default.resolve((0,m.isAvailableOrInUse)(e)&&!(0,m.isOsDisk)(e))));var v=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=v},3632:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CloneVolume=void 0;var p=f(r(86)),h=f(r(77)),m=f(r(63)),g=f(r(49)),v=f(r(58)),y=f(r(35)),b=r(412),_=r(1241),S=f(r(414)),x=r(566);function w(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{volume:t,more:a}=e,r=I(I({},(0,v.default)(e,["volume","more"])),{},{source_volid:this.item.id});return this.store.create(r)}))}get name(){return t("Clone volume")}get tips(){return t("It is recommended that you perform this cloning operation on a disk without any reading/writing")}init(){this.store=S.default,this.getVolumeTypes(),(0,x.fetchQuota)(this,this.item.size)}getVolumeTypes(){var e=this;return(0,g.default)((function*(){var t;yield e.store.fetchVolumeTypes();var a=(0,p.default)(t=e.volumeTypes).call(t,(t=>t.label===e.item.volume_type));e.defaultType=a,a&&(0,x.setCreateVolumeType)(e.item.volume_type),e.updateDefaultValue()}))()}get volumeTypes(){return this.store.volumeTypes}static get disableSubmit(){return(0,x.checkQuotaDisable)()}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,x.getQuotaInfo)(this)}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,h.default)(e=(0,h.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),volume_type:(this.defaultType||{}).value,size:i}}get maxSize(){var{quota:{gigabytes:{left:e=0}={}}={}}=this.state;return-1===e?1/0:e}get formItems(){var{size:e}=this.item,{more:a}=this.state;return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"name",label:t("Volume Name"),type:"input-name",required:!0},{name:"size",label:t("Capacity (GiB)"),type:"input-int",min:e,max:this.maxSize,required:!0,onChange:x.onVolumeSizeChange},{name:"more",type:"more",label:t("Advanced Options")},{name:"volume_type",label:t("Volume Type"),type:"select",options:this.volumeTypes,onChange:x.onVolumeTypeChange,allowClear:!1,hidden:!a}]}}a.CloneVolume=C,(0,y.default)(C,"id","clone-volume"),(0,y.default)(C,"title",t("Clone Volume")),(0,y.default)(C,"policy","volume:create"),(0,y.default)(C,"allowed",(e=>m.default.resolve((0,x.isAvailableOrInUse)(e))));var k=(0,b.inject)("rootStore")((0,b.observer)(C));a.default=k},3633:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.UpdateStatus=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414));class f extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleStatusChange",(e=>{this.setState({status:e})})),(0,s.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return delete e.volume,this.store.resetStatus(t,e)}))}get name(){return t("update status")}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),status:"available"}}get tips(){return t('Do not reset the normally mounted volume to the "available"、"maintenance" or "error" status. The reset state does not remove the volume from the instance. If you need to remove the volume from the instance, please go to the console of the corresponding project and use the "detach" operation.')}get formItems(){var{status:e}=this.state,a=[{value:"available",label:t("Available")},{value:"maintenance",label:t("Maintained")},{value:"error",label:t("Error")},{value:"in-use",label:t("In Use")}];return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"status",label:t("Status"),type:"select",required:!0,options:a,onChange:this.handleStatusChange,extra:"in-use"===e?t("The volume status can be reset to in-use only when the previous status is in-use."):""}]}init(){this.store=c.default}}a.UpdateStatus=f,(0,s.default)(f,"id","update-status"),(0,s.default)(f,"title",t("Update Status")),(0,s.default)(f,"policy","volume_extension:volume_admin_actions:reset_status"),(0,s.default)(f,"allowed",(()=>o.default.resolve(!0)));var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3634:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Migrate=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414)),f=r(566),p=i(r(1605)),h=r(1465);class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"disableFunc",(e=>{var{host:t}=this.item;return e.name===t})),(0,s.default)(this,"onSubmit",(e=>{var{pool:t}=e,{item:{id:a}}=this,{selectedRowKeys:r=[]}=t||{};return c.default.migrate(a,{host:r[0]})}))}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Migrate volume")}init(){this.poolStore=p.default,this.getPools()}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i,host:o}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),host:o}}getPools(){this.poolStore.fetchList()}get pools(){return this.poolStore.list.data||[]}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"host",label:t("Current Storage Backend"),type:"label",iconType:"instance"},{name:"pool",label:t("Target Storage Backend"),type:"select-table",required:!0,data:this.pools,isLoading:this.poolStore.list.isLoading,disabledFunc:this.disableFunc,rowKey:"name",columns:h.poolColumns}]}}a.Migrate=m,(0,s.default)(m,"id","migrate-volume"),(0,s.default)(m,"title",t("Migrate Volume")),(0,s.default)(m,"policy","volume_extension:volume_admin_actions:migrate_volume"),(0,s.default)(m,"allowed",(e=>o.default.resolve((0,f.isAvailableOrInUse)(e))));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},3635:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.CreateImage=void 0;var l=i(r(54)),o=i(r(32)),s=i(r(63)),u=i(r(35)),d=r(412),c=r(1241),f=r(574),p=i(r(414)),h=r(566);class m extends c.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.uploadImage(t,e)}))}get name(){return t("Create Image")}get defaultValue(){return{disk_format:"raw"}}get osList(){var e;return(0,l.default)(e=(0,o.default)(f.imageOS)).call(e,(e=>({value:e,label:f.imageOS[e]})))}get formatList(){var e;return(0,l.default)(e=(0,o.default)(f.volumeCreateImageTypes)).call(e,(e=>({label:f.volumeCreateImageTypes[e],value:e})))}get formItems(){return[{name:"image_name",label:t("Image Name"),type:"input-name",placeholder:t("Please input name"),isImage:!0,required:!0},{name:"disk_format",label:t("Format"),type:"select",options:this.formatList,required:!0}]}init(){this.store=p.default}}a.CreateImage=m,(0,u.default)(m,"id","create-image"),(0,u.default)(m,"title",t("Create Image")),(0,u.default)(m,"policy","volume_extension:volume_actions:upload_image"),(0,u.default)(m,"allowed",(e=>s.default.resolve((0,h.isAvailable)(e))));var g=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=g},3636:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.AcceptVolumeTransfer=void 0;var l=i(r(63)),o=i(r(35)),s=r(412),u=r(1241),d=i(r(414));class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{transfer_id:t,auth_key:a}=e;return d.default.acceptVolumeTransfer(t,{auth_key:a})}))}get name(){return t("Accept Volume Transfer")}get defaultValue(){return{}}get messageHasItemName(){return!1}get formItems(){return[{name:"transfer_id",label:t("Transfer ID"),type:"input",placeholder:t("Please input transfer id"),required:!0},{name:"auth_key",label:t("Auth Key"),type:"input",placeholder:t("Please input auth key"),required:!0}]}}a.AcceptVolumeTransfer=c,(0,o.default)(c,"id","accept-volume-transfer"),(0,o.default)(c,"title",t("Accept Volume Transfer")),(0,o.default)(c,"policy",(()=>"volume:accept_transfer")),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3637:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.CreateTransfer=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414)),f=r(566);class p extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"downloadTxt",((e,t)=>{var a=document.createElement("a");a.href="data:text/plain;charset=utf-8,".concat(t),a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a)})),(0,s.default)(this,"onSubmit",(e=>{var{name:t}=e,{id:a}=this.item;return this.store.createTransfer({name:t,volume_id:a}).then((e=>{if(e&&e.transfer){var t,a,{id:r,name:n,auth_key:i}=e.transfer;this.downloadTxt("Volume Transfer ".concat(r,".txt"),(0,l.default)(t=(0,l.default)(a="Transfer Name: ".concat(n,"\nTransfer ID: ")).call(a,r,"\nAuth Key: ")).call(t,i))}}))}))}get name(){return t("Create Transfer")}get defaultValue(){return{name:""}}get tips(){return t("Ownership of a volume can be transferred from one project to another. The transfer process of the volume needs to perform the transfer operation in the original owner's project, and complete the \"accept\" operation in the receiver's project.")}get formItems(){return[{name:"name",label:t("Transfer Name"),type:"input-name",required:!0,placeholder:t("Please input name")}]}init(){this.store=c.default}}a.CreateTransfer=p,(0,s.default)(p,"id","create-transfer"),(0,s.default)(p,"title",t("Create Transfer")),(0,s.default)(p,"policy","volume:create_transfer"),(0,s.default)(p,"allowed",(e=>o.default.resolve((0,f.isAvailable)(e)&&!e.encrypted)));var h=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=h},3638:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(63)),o=i(r(35)),s=r(1241),u=i(r(414));class d extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","volume:delete_transfer"),(0,o.default)(this,"allowedCheckFunc",(e=>l.default.resolve("awaiting-transfer"===e.status))),(0,o.default)(this,"confirmContext",(e=>{var{name:a}=e;return t("Are you sure to cancel transfer volume { name }? ",{name:a})})),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=e;return u.default.cancelTransfer({id:t})}))}get id(){return"cancel-transfer"}get title(){return t("Cancel Transfer")}get name(){return t("Cancel Transfer")}get buttonText(){return t("Cancel Transfer")}get actionName(){return t("Cancel Transfer")}}a.default=d},3639:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var l=i(r(63)),o=i(r(35)),s=r(412),u=i(r(1304)),d=r(566);class c extends u.default{static path(e){return"/compute/instance/create?volume=".concat(e.id)}static allowed(e){return l.default.resolve((0,d.canCreateInstance)(e))}}a.StepCreate=c,(0,o.default)(c,"id","instance-create"),(0,o.default)(c,"title",t("Create Instance")),(0,o.default)(c,"policy","os_compute_api:servers:create:attach_volume");var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3640:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Bootable=void 0;var l=i(r(63)),o=i(r(1252)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414));class f extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{bootable:t}=e,{id:a}=this.item;return c.default.changeBootable(a,{bootable:t})}))}static allowed(){return l.default.resolve(!0)}get name(){var{bootable:e}=(0,o.default)(this);return e?t("Bootable"):t("Unbootable")}get defaultValue(){var{item:e}=this.props;return{bootable:"true"===e.bootable}}get formItems(){return[{name:"bootable",label:t("Bootable"),checkedText:t("Bootable"),uncheckedText:t("Unbootable"),type:"switch",required:!0}]}}a.Bootable=f,(0,s.default)(f,"id","volume-bootable"),(0,s.default)(f,"title",t("Bootable")),(0,s.default)(f,"buttonText",t("Bootable")),(0,s.default)(f,"policy","volume:update");var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3641:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Allocate=void 0;var p=f(r(54)),h=f(r(63)),m=f(r(58)),g=f(r(49)),v=f(r(35)),y=f(r(0)),b=r(412),_=r(1241),S=r(346),x=r(233),w=f(r(340)),I=f(r(417)),C=r(576),k=r(1357),D=r(66),P=r(1265),T=r(163),A=r(36);function M(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t({allocation_pools:e.allocation_pools,ip_version:e.ip_version,value:e.id,label:e.name}))),selectedNetwork:t}),e.formRef.current.setFieldsValue({subnet_id:null})}));return function(e){return t.apply(this,arguments)}}()),(0,v.default)(this,"handleSubnetChange",(e=>{this.setState({selectedSubnet:e})})),(0,v.default)(this,"onSubmit",(e=>{var{subnet_id:t,batch_allocate:a,count:r,qos_policy_id:n,project_id:i}=e,l=(0,m.default)(e,["subnet_id","batch_allocate","count","qos_policy_id","project_id"]);if(t&&(l.subnet_id=t.value),n&&n.selectedRowKeys.length>0&&(l.qos_policy_id=n.selectedRowKeys[0]),a){l.floating_ip_address=null;for(var o=[],s=0;s{this.setState({count:e})})),(0,v.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))}))}get name(){return t("Allocate IP")}static get modalSize(){var{pathname:e}=window.location;return(0,D.qosEndpoint)()||(0,T.isAdminPage)(e)?"large":"small"}getModalSize(){return(0,D.qosEndpoint)()||this.isAdminPage?"large":"small"}get qosEndpoint(){return(0,D.qosEndpoint)()}init(){this.store=new S.FloatingIpStore,this.networkStore=new x.NetworkStore,this.qosPolicyStore=new C.QoSPolicyStore,this.projectStore=w.default,this.state=N(N({},this.state||{}),{},{selectedNetwork:null,selectedSubnet:null,networks:[],subnets:[],qosPolicy:null,count:2,quota:{},quotaLoading:!0,projectId:this.currentProjectId,maxCount:2}),this.getExternalNetworks(),this.isAdminPage&&this.fetchProjectList(),this.getQuota()}fetchProjectList(){var e=this;return(0,g.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}getExternalNetworks(){var e=this;return(0,g.default)((function*(){var t=yield e.networkStore.pureFetchList({"router:external":!0});e.setState({networks:t})}))()}get messageHasItemName(){return!1}get projects(){return(0,A.toJS)(this.projectStore.list.data)||[]}static get disableSubmit(){var{neutronQuota:{floatingip:{left:e=0}={}}}=w.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,g.default)((function*(){var{projectId:t,count:a}=e.state;e.setState({quotaLoading:!0});var r=yield e.projectStore.fetchProjectNeutronQuota(t),{floatingip:n={}}=r||{},{left:i=0}=n;e.setState({quota:n,quotaLoading:!1,maxCount:i});var l=a;i0&&0===a&&(l=1),l!==a&&(e.updateFormValue("count",l),e.setState({count:l}))}))()}get quotaInfo(){var{quota:e={},quotaLoading:a,batchAllocate:r=!1,count:n}=this.state;if(a)return[];var{left:i=0}=e,l=0;return 0!==i&&(l=r?n:1),[N(N({},e),{},{add:l,name:"floatingip",title:t("Floating IP")})]}get defaultValue(){var e={count:2};return this.isAdminPage&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}get formItems(){var e,{networks:a,selectedNetwork:r,subnets:n,selectedSubnet:i,batchAllocate:l=!1,maxCount:o}=this.state,s=(0,p.default)(a).call(a,(e=>({label:e.name,value:e.id})));return[{name:"floating_network_id",label:t("Network"),type:"select",options:s,onChange:this.handleNetworkChange,required:!0},N({name:"project_id",label:t("Project"),type:"select-table",hidden:!this.isAdminPage,required:this.isAdminPage,isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},P.projectTableOptions),{name:"subnet_id",label:t("Owned Subnet"),type:"select",options:n,isWrappedValue:!0,onChange:e=>this.handleSubnetChange(e),extra:i&&y.default.createElement(y.default.Fragment,null,y.default.createElement("span",null,t("Allocation Pools")),(0,p.default)(e=i.allocation_pools).call(e,((e,t)=>y.default.createElement("div",{key:"pool.start.".concat(t)},e.start,"--",e.end)))),hidden:!r,required:!1},{name:"batch_allocate",label:t("Batch Allocate"),type:"check",onChange:e=>{this.setState({batchAllocate:e})}},{name:"count",label:t("Count"),type:"input-int",min:1,max:o,hidden:!l,required:!0,onChange:this.onCountChange},{name:"floating_ip_address",label:t("Floating IP Address"),hidden:!i||l,type:"ip-input",version:i&&(i.ip_version||4)},{name:"description",label:t("Description"),type:"textarea"},{name:"qos_policy_id",label:t("QoS Policy"),type:"tab-select-table",tabs:k.getQoSPolicyTabs.call(this),isMulti:!1,tip:t("Choosing a QoS policy can limit bandwidth and DSCP"),onChange:this.onQosChange,display:!!this.qosEndpoint}]}}a.Allocate=E,(0,v.default)(E,"id","allocate"),(0,v.default)(E,"title",t("Allocate IP")),(0,v.default)(E,"policy","create_floatingip"),(0,v.default)(E,"allowed",(()=>h.default.resolve(!0)));var R=(0,b.inject)("rootStore")((0,b.observer)(E));a.default=R},3642:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Associate=void 0;var h=p(r(63)),m=p(r(1252)),g=p(r(54)),v=p(r(49)),y=p(r(35)),b=p(r(1314)),_=p(r(570)),S=p(r(0)),x=r(412),w=r(1241),I=R(r(413)),C=R(r(575)),k=p(r(597)),D=r(1267),P=p(r(346)),T=r(582),A=r(1248),M=r(1258),N=r(1273);function E(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(E=function(e){return e?a:t})(e)}function R(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}return r.default=e,a&&a.set(e,r),r}function j(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function F(e){for(var t=1;t{var{floating_network_id:t}=this.item;return!(e.hasExternalGateway&&e.external_gateway_info&&e.external_gateway_info.network_id===t&&0===e.external_gateway_info.external_fixed_ips.length)})),(0,y.default)(this,"portsDisableFunc",(e=>0===e.fixed_ips.length)),(0,y.default)(this,"onValuesChange",(e=>{if((0,_.default)(e,"resourceType")){var{resourceType:t}=e;this.setState({resourceType:t})}})),(0,y.default)(this,"handleInstanceSelect",function(){var t=(0,v.default)((function*(t){if(e.setState({instanceLoading:!0}),0===t.selectedRows.length)return e.setState({instanceFixedIPs:l,instanceLoading:!1}),h.default.resolve().then((()=>{e.formRef.current.setFieldsValue({port:null})}));var{id:a}=t.selectedRows[0],r=yield I.default.fetchInterfaceList({id:a}),n=yield(0,N.getInterfaceWithReason)(r),{canReachSubnetIdsWithRouterId:i}=e.state,l=(0,M.getPortsAndReasons)(n,i,!0);return e.setState({instanceFixedIPs:l,instanceLoading:!1}),h.default.resolve().then((()=>{e.formRef.current.setFieldsValue({port:null})}))}));return function(e){return t.apply(this,arguments)}}()),(0,y.default)(this,"handlePortSelect",function(){var t=(0,v.default)((function*(t){e.setState({fixedIpLoading:!0});var{canReachSubnetIdsWithRouterId:a}=e.state,r=yield(0,N.getInterfaceWithReason)(t.selectedRows),n=(0,M.getPortsAndReasons)(r,a,!0);return e.setState({portFixedIPs:n,fixedIpLoading:!1}),h.default.resolve().then((()=>{e.formRef.current.setFieldsValue({fixed_ip_address:null})}))}));return function(e){return t.apply(this,arguments)}}()),(0,y.default)(this,"onSubmit",(e=>{var{resourceType:t}=e,{id:a}=this.item,r={};if(r.id=a,"instance"===t){var{port:{selectedRows:n=[]}={}}=e;r.port_id=n[0].port_id,r.fixed_ip_address=n[0].fixed_ip_address}else if("port"===t){var{virtual_adapter:{selectedRows:i=[]}={},fixed_ip_address:{selectedRows:l=[]}={}}=e;r.port_id=i[0].id,r.fixed_ip_address=l[0].fixed_ip_address}else if("router"===t){var{router:o}=e,s=o.selectedRows[0];return C.default.associateFip({id:s.id,fip:this.item,router:s})}return P.default.associateFip(r)}))}get name(){return t("Associate Floating IP")}init(){this.store=new I.ServerStore,this.routersStore=new C.RouterStore,this.portStore=new T.PortStore,D.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:t}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id})),this.state={instanceFixedIPs:[],portFixedIPs:[],canReachSubnetIdsWithRouterId:[],routerIdWithExternalNetworkInfo:[]},this.getPorts()}get instanceName(){return this.item.floating_ip_address||(0,m.default)(this).name}static get modalSize(){return"large"}getModalSize(){return"large"}get instances(){return this.store.list.data||[]}get resourceTypeMap(){return[{value:"instance",label:t("Instance")},{value:"port",label:t("Virtual Adapter")}]}get defaultValue(){var{floating_ip_address:e}=this.item;return{floatingIp:e,resourceType:"instance"}}get portDeviceOwner(){return[""]}getPorts(){M.getPortsForPortFormItem.call(this,this.portDeviceOwner)}get formItems(){var{resourceType:e="instance",instanceFixedIPs:a,instanceLoading:r}=this.state,n=[{name:"floatingIp",label:t("Floating Ip"),type:"label",iconType:"floatingIp"},{name:"resourceType",label:t("Resource Type"),type:"radio",required:!0,options:this.resourceTypeMap}];switch(e){case"instance":n.push(F({name:"instance",label:t("Instance"),type:"select-table",required:!0,backendPageStore:this.store,extraParams:{noReminder:!0},disabledFunc:e=>0===e.fixed_addresses.length,onChange:this.handleInstanceSelect,isMulti:!1},A.instanceSelectTablePropsBackend),{name:"port",label:t("Instance IP"),type:"select-table",required:!0,data:a,isLoading:r,isMulti:!1,filterParams:[{label:t("Ip Address"),name:"name"}],columns:[{title:t("Ip Address"),dataIndex:"name"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Network"),dataIndex:"network_name"},{title:t("Reason"),dataIndex:"reason"}],disabledFunc:e=>!e.available});break;case"lb":n.push({name:"loadbalance",label:t("Load Balancer"),type:"select-table",required:!0,data:[],isMulti:!1,filterParams:[{label:t("Name"),name:"name"},{label:t("IP"),name:"private_ip"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Image"),dataIndex:"image",render:e=>S.default.createElement(k.default,{type:e,title:e})},{title:t("Fixed IP"),dataIndex:"fixed_addresses",render:e=>(0,g.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null))))},{title:t("Floating IP"),dataIndex:"floating_addresses",render:e=>e?(0,g.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null)))):"-"},{title:t("Flavor"),dataIndex:"flavor"},{title:t("Created At"),dataIndex:"created",valueRender:"sinceTime"}]});break;case"router":n.push(F({name:"router",label:t("Router"),type:"select-table",required:!0,backendPageStore:this.routersStore,disabledFunc:this.routersDisableFunc,isMulti:!1},(0,D.getRouterSelectTablePropsBackend)(this)));break;case"port":n.push(...M.getPortFormItem.call(this,!1))}return n}}a.Associate=L,(0,y.default)(L,"id","associate"),(0,y.default)(L,"title",t("Associate")),(0,y.default)(L,"policy","update_floatingip"),(0,y.default)(L,"allowed",(e=>h.default.resolve(!(0,N.disableFIPAssociate)(e)&&(0,b.default)(e.fixed_ip_address)&&"DOWN"===e.status&&(0,b.default)(e.port_details))));var O=(0,x.inject)("rootStore")((0,x.observer)(L));a.default=O},3643:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(63)),o=i(r(28)),s=i(r(29)),u=i(r(58));r(583);var d=i(r(420)),c=i(r(35)),f=i(r(1314)),p=i(r(92)),h=i(r(0)),m=r(1241),g=i(r(346));r(161);class v extends m.ConfirmAction{constructor(){super(...arguments),(0,c.default)(this,"policy","delete_floatingip"),(0,c.default)(this,"getItemName",(e=>e.floating_ip_address)),(0,c.default)(this,"confirmContext",(e=>{var a=null;if(this.needForceRelease(e)&&(a=h.default.createElement("div",null,h.default.createElement(d.default,{style:{marginTop:"14px"},onChange:t=>{this.onChangeType(t.target.checked,e)}},t("Force release")))),!this.messageHasItemName)return h.default.createElement("div",null,h.default.createElement("p",null," ",t("Are you sure to {action}?",{action:this.actionNameDisplay||this.title})),a);var r=this.getName(e);return h.default.createElement("div",null,h.default.createElement("p",null," ",this.unescape(t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:r}))),a)})),(0,c.default)(this,"onSubmit",(e=>{var{forceRelease:a}=e,r=(0,u.default)(e,["forceRelease"]);if(this.hasCheckBox&&!a){var n=t("Floating ip has already been associate, Please check Force release");return l.default.reject(n)}return g.default.delete(r)}))}get id(){return"delete"}get title(){return t("Release")}get isDanger(){return!0}get buttonText(){return t("Release")}get actionName(){return t("Release")}onChangeType(e,t){(0,p.default)(t)?(0,o.default)(t).call(t,(t=>{t.forceRelease=e})):t.forceRelease=e}needForceRelease(e){var t=!1;(0,p.default)(e)?((0,o.default)(e).call(e,(e=>{e.forceRelease=!1})),(0,s.default)(e).call(e,(e=>!((0,f.default)(e.fixed_ip_address)&&"DOWN"===e.status&&(0,f.default)(e.port_details))))[0]&&(t=!0)):(e.forceRelease=!1,t=!((0,f.default)(e.fixed_ip_address)&&"DOWN"===e.status&&(0,f.default)(e.port_details)));return this.hasCheckBox=t,t}}a.default=v},3644:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(35)),o=i(r(1314)),s=r(1241),u=i(r(346));class d extends s.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_floatingip"),(0,l.default)(this,"allowedCheckFunc",(e=>!(0,o.default)(e.fixed_ip_address)&&"DOWN"!==e.status)),(0,l.default)(this,"getItemName",(e=>e.floating_ip_address)),(0,l.default)(this,"onSubmit",(e=>u.default.disassociateFip(e)))}get id(){return"disassociate"}get title(){return t("Disassociate")}get buttonText(){return t("Disassociate")}get actionName(){return t("Disassociate")}}a.default=d},3645:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),h=f(r(35)),m=r(412),g=r(1241),v=f(r(346)),y=r(1357),b=r(576),_=r(66);function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class x extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{description:t,qos_policy_id:a}=e,r={description:t};return this.qosEndpoint&&(r.qos_policy_id=a&&a.selectedRowKeys.length?a.selectedRowKeys[0]:null),v.default.edit({id:this.item.id},r)}))}static get modalSize(){return(0,_.qosEndpoint)()?"large":"small"}getModalSize(){return(0,_.qosEndpoint)()?"large":"small"}get qosEndpoint(){return(0,_.qosEndpoint)()}init(){this.qosPolicyStore=new b.QoSPolicyStore}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;tp.default.resolve(!0)));var w=(0,m.inject)("rootStore")((0,m.observer)(x));a.default=w},3646:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var p=f(r(54)),h=f(r(63));r(231);var m=f(r(341)),g=f(r(1378)),v=f(r(58)),y=f(r(49)),b=f(r(35)),_=f(r(0)),S=r(412),x=r(1241),w=(r(564),r(161),r(233)),I=r(419),C=r(576),k=f(r(572)),D=f(r(340)),P=r(417),T=r(1357),A=r(66);function M(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t{var t=e.selectedRowKeys[0];this.setState({network_id:t}),this.formRef.current.setFieldsValue({fixed_ips:void 0}),this.getSubnets(t)})),(0,b.default)(this,"onSubmit",(e=>{var{mac_address:{type:t,mac:a},security_groups:r,enableQosPolicy:n,qos_policy_id:i,more:l,network_id:o,fixed_ips:s,bindingProfile:u}=e,d=(0,v.default)(e,["mac_address","security_groups","enableQosPolicy","qos_policy_id","more","network_id","fixed_ips","bindingProfile"]),c=N(N({},s&&s.length>0?{fixed_ips:(0,p.default)(s).call(s,(e=>{var t={subnet_id:e.subnet};return e.ip_address&&"manual"===e.ip_address.type&&(t.ip_address=e.ip_address.ip),t}))}:{}),{},{network_id:o.selectedRowKeys[0]},d);return t&&"auto"!==t&&(c.mac_address=a),n&&i&&(c.qos_policy_id=0===i.selectedRowKeys.length?null:i.selectedRowKeys[0]),r&&(c.security_groups=r.selectedRowKeys||void 0),c.project_id=this.currentProjectId,u&&(c["binding:profile"]=JSON.parse(u)),k.default.create(c)}))}get qosEndpoint(){return(0,A.qosEndpoint)()}init(){this.state.quota={},this.state.quotaLoading=!0,this.projectStore=D.default,this.networkStore=new w.NetworkStore,this.securityGroupStore=new I.SecurityGroupStore,this.qosPolicyStore=new C.QoSPolicyStore,this.subnetStore=new P.SubnetStore,this.getQuota()}getSubnets(e){var t=this;return(0,y.default)((function*(){yield t.networkStore.fetchDetail({id:e}),yield t.fetchSubnetDetails(e)}))()}get name(){return t("Create Virtual Adapter")}static get modalSize(){return"large"}getModalSize(){return"large"}get tips(){return t("Virtual adapter mainly used for binding instance and other operations, occupying the quota of the port.")}static get disableSubmit(){var{neutronQuota:{port:{used:e=0,limit:t=0}={}}}=D.default;return-1!==t&&e>=t}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,y.default)((function*(){e.setState({quotaLoading:!0});var t=yield e.projectStore.fetchProjectNeutronQuota(),{port:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{used:r=0,limit:n=0}=e,i=-1!==n&&r>=n?0:1;return[N(N({},e),{},{add:i,name:"port",title:t("Ports")})]}get defaultValue(){return{more:!1,mac_address:{type:"auto"},qos_policy:"disable",port_security_enabled:!0,enableQosPolicy:!1}}get securityGroups(){var e;return(0,p.default)(e=this.securityGroupStore.list.data||[]).call(e,(e=>N(N({},e),{},{key:e.id})))}get formItems(){var e,{more:a,network_id:r,subnetDetails:n=[],port_security_enabled:i=!0,enableQosPolicy:l=!1}=this.state,o=(0,p.default)(e="normal,macvtap,direct,baremetal,direct-physical,virtio-forwarder,smart-nic".split(",")).call(e,(e=>({label:e,value:e})));return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"network_id",label:t("Owned Network"),type:"network-select-table",onChange:this.handleOwnedNetworkChange,required:!0},{name:"fixed_ips",label:t("Owned Subnet"),type:"ip-distributor",subnets:n,hidden:!r},{name:"ipv6",label:"IPv6",type:"label",style:{marginBottom:24},content:_.default.createElement("span",null,t("The selected VPC/subnet does not have IPv6 enabled.")," ",_.default.createElement(m.default,{type:"link"},t("To open")," ",_.default.createElement(g.default,null))," "),hidden:!0},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},required:!0,type:"mac-address"},{name:"port_security_enabled",label:t("Port Security"),type:"switch",tip:t("Disabling port security will turn off the security group policy protection and anti-spoofing protection on the port. General applicable scenarios: NFV or operation and maintenance Debug."),onChange:e=>{this.setState({port_security_enabled:e})}},{name:"security_groups",label:t("Security Group"),type:"select-table",tips:t("The security group is similar to the firewall function for setting up network access control, or you can go to the console and create a new security group. (Note: The security group you selected will work on all virtual LANs on the instances.)"),data:this.securityGroups,isLoading:this.securityGroupStore.list.isLoading,extraParams:{project_id:this.currentProjectId},backendPageStore:this.securityGroupStore,isMulti:!0,hidden:!i,required:i,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"}]},{name:"binding:vnic_type",label:t("Port Type"),type:"select",options:o,hidden:!a},{name:"enableQosPolicy",label:t("Enable QoS Policy"),type:"switch",onChange:e=>{this.setState({enableQosPolicy:e})},hidden:!a,display:!!this.qosEndpoint},{name:"qos_policy_id",label:t("QoS Policy"),type:"tab-select-table",tabs:T.getQoSPolicyTabs.call(this),isMulti:!1,required:l,tip:t("Choosing a QoS policy can limit bandwidth and DSCP"),hidden:!(a&&l),display:!!this.qosEndpoint},{name:"bindingProfile",label:t("Binding Profile"),type:"aceEditor",hidden:!a,mode:"json",wrapEnabled:!0,tabSize:2,width:"100%",height:"200px",setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0},validator:(e,a)=>{if(void 0!==a&&""!==a)try{return JSON.parse(a),h.default.resolve(!0)}catch(e){return h.default.reject(new Error(t("Illegal JSON scheme")))}return h.default.resolve(!0)}},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.CreateAction=E,(0,b.default)(E,"id","create-virtual-adapter"),(0,b.default)(E,"title",t("Create Virtual Adapter")),(0,b.default)(E,"policy","create_port"),(0,b.default)(E,"allowed",(()=>h.default.resolve(!0)));var R=(0,S.inject)("rootStore")((0,S.observer)(E));a.default=R},3647:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(35)),o=r(1241),s=i(r(572));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_port"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Virtual Adapter")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete virtual adapter")}isOwnerOrAdmin(){return!0}}a.default=u},3648:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p,h=f(r(58)),m=f(r(35)),g=f(r(54)),v=f(r(63)),y=r(412),b=r(1241),_=f(r(572));function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function x(e){for(var t=1;t({label:e,value:e})));class I extends b.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{item:{id:t}={}}=this.props,{mac_address:{type:a,mac:r},more:n}=e,i=x({},(0,h.default)(e,["mac_address","more"]));return a&&"auto"!==a&&(i.mac_address=r),_.default.update({id:t},i)}))}get defaultValue(){var{item:e}=this.props;return x(x({},e),{},{mac_address:{type:"manual",mac:e.mac_address},"binding:vnic_type":e.binding_vnic_type})}get formItems(){var{more:e}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},type:"mac-address",required:!0},{name:"binding:vnic_type",label:t("Port Type"),type:"select",required:!0,options:w,hidden:!e},{name:"description",label:t("Description"),type:"textarea"},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.Edit=I,(0,m.default)(I,"id","edit-virtual-adapter"),(0,m.default)(I,"title",t("Edit")),(0,m.default)(I,"buttonText",t("Edit")),(0,m.default)(I,"policy","update_port"),(0,m.default)(I,"allowed",(()=>v.default.resolve(!0)));var C=(0,y.inject)("rootStore")((0,y.observer)(I));a.default=C},3649:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Attach=void 0;var h=p(r(164)),m=p(r(63)),g=p(r(35)),v=r(412),y=r(1241),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(413)),_=r(1248);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{id:t}=this.props.item,{instance:{selectedRowKeys:a=[]}={}}=e;return b.default.addInterface({id:a[0],body:{interfaceAttachment:{port_id:t}}})}))}init(){this.store=new b.ServerStore}get name(){return t("Attach Instance")}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var{name:e,id:t}=this.item;return{virtual_adapter:e,virtual_adapter_id:t}}get formItems(){return[{name:"virtual_adapter",label:t("Virtual Adapter"),type:"label"},{name:"virtual_adapter_id",label:t("Virtual Adapter ID"),type:"label",hidden:!0},w({name:"instance",label:t("Instance"),type:"select-table",backendPageStore:this.store,extraParams:{noReminder:!0},disabledFunc:e=>e.locked||!(0,h.default)(_.allowAttachInterfaceStatus).call(_.allowAttachInterfaceStatus,e.vm_state),required:!0,isMulti:!1},_.instanceSelectTablePropsBackend)]}}a.Attach=I,(0,g.default)(I,"id","attach_instance"),(0,g.default)(I,"title",t("Attach Instance")),(0,g.default)(I,"policy","os_compute_api:os-attach-interfaces:create"),(0,g.default)(I,"allowed",(e=>m.default.resolve(""===e.device_id)));var C=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=C},3650:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(49)),o=i(r(35)),s=r(1241),u=i(r(413));class d extends s.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,o.default)(this,"policy","os_compute_api:os-attach-interfaces:delete"),(0,o.default)(this,"allowedCheckFunc",(e=>!!e.device_id&&"compute:nova"===e.device_owner)),(0,o.default)(this,"onSubmit",(0,l.default)((function*(){var{id:t,device_id:a}=e.item;return u.default.detachInterface({id:a,ports:[t]})})))}get id(){return"detach_instance"}get title(){return t("Detach Instance")}get buttonText(){return t("Detach")}get actionName(){return t("detach instance")}get isAsyncAction(){return!0}}a.default=d},3651:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ModifyQoS=void 0;var l=i(r(63)),o=i(r(49)),s=i(r(35)),u=i(r(0)),d=r(412),c=r(1241),f=r(576),p=i(r(572)),h=r(1357),m=r(66);class g extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{enableQosPolicy:a,qos_policy_id:r}=e,n={qos_policy_id:null};return a&&r&&(n.qos_policy_id=0===r.selectedRowKeys.length?null:r.selectedRowKeys[0]),p.default.update({id:t},n)}))}get name(){return t("Modify QoS")}get labelCol(){return{xs:{span:6},sm:{span:4}}}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.qosPolicyStore=new f.QoSPolicyStore,this.state={qosPolicy:{name:"",id:""}},this.item.qos_policy_id&&this.getQosPolicyItem()}getQosPolicyItem(){var e=this;return(0,o.default)((function*(){var t=yield e.qosPolicyStore.fetchDetail({id:e.item.qos_policy_id});e.setState({qosPolicy:t})}))()}get instanceName(){return this.item.name||this.item.id}get defaultValue(){var e=null!==this.item.qos_policy_id;return{enableQosPolicy:e,qos_policy_id:{selectedRowKeys:e?[this.item.qos_policy_id]:[],selectedRows:e?[{id:this.item.qos_policy_id,name:this.item.qos_policy_id}]:[]}}}get formItems(){var{enableQosPolicy:e=null!==this.item.qos_policy_id,qosPolicy:a}=this.state;return[{name:"enableQosPolicy",label:t("Enable QoS Policy"),type:"switch",onChange:e=>{this.setState({enableQosPolicy:e})}},{name:"name",label:t("Current QoS policy name"),type:"label",content:u.default.createElement("div",null,a.name||t("Not yet bound")),hidden:!e},{name:"qos_policy_id",label:t("QoS Policy"),type:"tab-select-table",tabs:h.getQoSPolicyTabs.call(this,{disabledFunc:e=>e.id===this.item.qos_policy_id}),isMulti:!1,required:!0,tip:t("Choosing a QoS policy can limit bandwidth and DSCP"),hidden:!e}]}}a.ModifyQoS=g,(0,s.default)(g,"id","modify_qos"),(0,s.default)(g,"title",t("Modify QoS")),(0,s.default)(g,"policy","update_port"),(0,s.default)(g,"allowed",(()=>l.default.resolve(!!(0,m.qosEndpoint)())));var v=(0,d.inject)("rootStore")((0,d.observer)(g));a.default=v},3652:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.AssociateFip=void 0;var l=i(r(63)),o=i(r(49)),s=i(r(35)),u=r(412),d=i(r(346)),c=r(1241),f=r(1248),p=r(1258),h=r(1267),m=r(1273);class g extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleFixedIPChange",(e=>m.handleFixedIPChange.call(this,e))),(0,s.default)(this,"onSubmit",(e=>{var{fixed_ip:t,fip:a}=e,r=t.selectedRows[0],n=a.selectedRowKeys[0];return d.default.associateFip({id:n,port_id:this.item.id,fixed_ip_address:r.fixed_ip_address})}))}init(){this.getInterfaces(),h.getCanReachSubnetIdsWithRouterIdInComponent.call(this),this.state={interfaces:[],fixed_ip:null,canAssociateFloatingIPs:[],canReachSubnetIdsWithRouterId:[],portLoading:!0}}getInterfaces(){var e=this;return(0,o.default)((function*(){var t=[e.item],a=yield(0,m.getInterfaceWithReason)(t);e.setState({interfaces:a,portLoading:!1})}))()}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Associate Floating IP")}get ports(){var{interfaces:e,canReachSubnetIdsWithRouterId:t}=this.state;return p.getPortsAndReasons.call(this,e,t)}get defaultValue(){var{name:e}=this.item;return{virtualAdapter:e}}getFIPFormItemExtra(){return(0,m.getFIPFormItemExtra)()}disableFIPAssociate(e){return(0,m.disableFIPAssociate)(e)}get formItems(){var e=(0,m.getFixedIPFormItemForAssociate)(t("Fixed IP"),this),a=(0,m.getFIPFormItemForAssociate)(this);return[{name:"virtualAdapter",label:t("Virtual Adapter"),type:"label",iconType:"instance"},e,a]}}a.AssociateFip=g,(0,s.default)(g,"id","AssociateFip"),(0,s.default)(g,"title",t("Associate Floating IP")),(0,s.default)(g,"policy","update_floatingip"),(0,s.default)(g,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&(0,f.isNotError)(e)&&e.associatedDetail&&e.associatedDetail.length{var{floating_ip:t}=e,{id:a}=t.selectedRows[0];return u.default.disassociateFip({id:a})}))}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Disassociate Floating IP")}get defaultValue(){var{name:e}=this.item;return{virtualAdapter:e}}get formItems(){var{associatedDetail:e}=this.item;return[{name:"virtualAdapter",label:t("Virtual Adapter"),type:"label",iconType:"instance"},{name:"floating_ip",label:t("Floating IP"),type:"select-table",required:!0,data:e,isMulti:!1,tagKey:"floating_ip_address",filterParams:[{label:t("Fixed IP Address"),name:"fixed_ip_address"}],columns:[{title:t("Fixed IP Address"),dataIndex:"fixed_ip_address"},{title:t("Floating IP Address"),dataIndex:"floating_ip_address"}]}]}}a.DisAssociateFip=f,(0,o.default)(f,"id","DisAssociateFip"),(0,o.default)(f,"title",t("Disassociate Floating IP")),(0,o.default)(f,"policy","update_floatingip"),(0,o.default)(f,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&(0,c.isNotError)(e)&&e.associatedDetail&&e.associatedDetail.length)}));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},3658:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=n(a(91)),l=n(a(54)),o=n(a(29));a(589);var s=n(a(590)),u=n(a(606));a(1317);var d=n(a(1318));a(1246);var c=n(a(1247));a(1244);var f=n(a(1245));a(344);var p=n(a(202));a(594);var h=n(a(595)),m=n(a(351)),g=n(a(119)),v=n(a(570)),y=n(a(0)),b=(a(161),a(564),n(a(16))),_=n(a(4)),S=a(163),x=a(418),w=n(a(650)),I=n(a(3659)),{Paragraph:C}=h.default,k=(e,t)=>{var{content:a,dataIndex:r,render:n,valueRender:l,copyable:o,valueMap:s,unit:u}=t;if((0,v.default)(t,"content"))return o?y.default.createElement(C,{copyable:o},a):a;var d=(0,g.default)(e,r);if(n)d=n(d,e);else if(l){var c=S.renderFilterMap[l];d=c&&c(d)}else s?d=(0,x.getValueMapRender)(t)(d):u&&(d=(0,x.getUnitRender)(t)(d));return(0,m.default)(d)||(d=d||"-"),((e,t,a,r)=>{var n,l,o=(0,g.default)(a,t);return(0,i.default)(n=t.toLowerCase()).call(n,"status")>=0||(0,i.default)(l=t.toLowerCase()).call(l,"state")>=0?y.default.createElement(w.default,{status:o,text:e}):"-"!==e&&(/_?id/g.test(t.toLowerCase())&&!1!==r||r)?y.default.createElement(C,{copyable:r},e):e||"-"})(d,r,e,o)},D=(e,t,a,r,n)=>{var i;return(0,l.default)(i=(0,o.default)(e).call(e,(e=>!e.hidden))).call(i,((e,i)=>{var l=(0,v.default)(e,"labelCol")?e.labelCol:r,o=(0,v.default)(e,"contentCol")?e.contentCol:n;return y.default.createElement(d.default,{loading:a,key:"detail-row-".concat(i)},y.default.createElement(c.default,{className:(0,_.default)(I.default["card-item"],"sl-card-item")},y.default.createElement(f.default,{span:l},(e=>{var{label:t,tooltip:a=""}=e;return a?y.default.createElement(p.default,{title:a},y.default.createElement("span",null,t)):t})(e)),y.default.createElement(f.default,{span:o},k(t,e))))}))},P=e=>{var t,{title:a,titleHelp:r,loading:n,options:i,data:l,labelCol:o,contentCol:f,className:p,button:h}=e;return r&&(t=y.default.createElement(s.default,{arrowPointAtCenter:"true",placement:"rightTop",content:r,getPopupContainer:e=>e.parentNode},y.default.createElement(u.default,{className:I.default["title-help"]}))),y.default.createElement("div",{className:(0,_.default)(I.default.card,p)},y.default.createElement("div",{className:I.default["card-content"]},y.default.createElement(d.default,{loading:n},y.default.createElement(c.default,{className:(0,_.default)(I.default["card-item"],"sl-card-item")},y.default.createElement("h3",null," ",a," "),t,h)),D(i,l,n,o,f)))},T=b.default.shape({label:b.default.oneOfType([b.default.string,b.default.node]),content:b.default.any,tooltip:b.default.oneOfType([b.default.string,b.default.node]),dataIndex:b.default.string,valueRender:b.default.string,labelCol:b.default.number,contentCol:b.default.number});P.defaultProps={labelCol:8,contentCol:16,options:[],title:"",titleHelp:"",loading:!1,data:{}},P.propTypes={title:b.default.oneOfType([b.default.string,b.default.node]),titleHelp:b.default.any,options:b.default.arrayOf(T),loading:b.default.bool,data:b.default.object,labelCol:b.default.number,contentCol:b.default.number};var A=P;t.default=A},3659:function(e,t,a){var r=a(3660);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3660:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__card--Na2sx {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n margin-bottom: 16px;\n background-color: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n}\n.index__card--Na2sx .index__card-content--26JCN {\n padding: 16px;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY {\n margin-bottom: 8px;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY h3 {\n margin-bottom: 0;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY .index__title-help--8XKV- {\n margin-left: 8px;\n line-height: 26px;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY div {\n word-break: break-all;\n}\n.index__card--Na2sx .index__card-content--26JCN :last-child {\n margin-bottom: 0;\n}\n.index__card--Na2sx .index__card-content--26JCN .ant-typography {\n word-break: break-all;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",card:"index__card--Na2sx","card-content":"index__card-content--26JCN","card-item":"index__card-item--1w9VY","title-help":"index__title-help--8XKV-"}},3661:function(e,t,a){var r=a(3662);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3662:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__main--TubAm {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n padding: 0 16px;\n}\n.index__main--TubAm .index__left-side--pbUVD {\n width: 380px;\n padding-right: 16px;\n}\n.index__main--TubAm .index__right-side--3v5zG {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",main:"index__main--TubAm","left-side":"index__left-side--pbUVD","right-side":"index__right-side--3v5zG"}},3686:function(e,t,a){var r=a(3687);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3687:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--26YmP {\n min-height: calc(100vh - 108px);\n}\n.index__wrapper--26YmP .ant-tabs-content {\n height: 100vh;\n}\n.index__wrapper--26YmP .ant-tabs > .ant-tabs-nav {\n background-color: #fff;\n}\n.index__wrapper--26YmP .ant-tabs-nav-wrap {\n padding: 0 16px;\n}\n.index__wrapper--26YmP .list-container {\n margin-top: 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--26YmP"}},4080:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.detailConfigs=t.actionConfigs=void 0;var i=n(a(4081)),l=n(a(4082)),o={rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[i.default]};t.actionConfigs=o;var s={rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[]};t.detailConfigs=s},4081:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=i(r(54)),o=i(r(29)),s=i(r(32)),u=i(r(345)),d=i(r(63)),c=i(r(58)),f=i(r(35)),p=r(412),h=r(1241),m=i(r(1475)),g=i(r(112)),v=i(r(133)),y=r(36),b=i(r(1352));class _ extends h.ModalAction{constructor(){super(...arguments),(0,f.default)(this,"onSubmit",(e=>{var t,a;(e.expires_at&&(e.expires_at=e.expires_at.clone().endOf("day")),e.roles)&&(e.roles=(0,l.default)(t=(0,o.default)(a=(0,s.default)(e.roles)).call(a,(t=>e.roles[t]))).call(t,(e=>({id:e}))));return m.default.create(e).then((e=>{var t=e.application_credential,{links:a,roles:r,system:n,unrestricted:i,user_id:l,name:o}=t,s=(0,c.default)(t,["links","roles","system","unrestricted","user_id","name"]),d="".concat(o,".json"),f=new Blob([(0,u.default)(s,null,2)],{type:"text/plain;charset=utf-8"});b.default.saveAs(f,d)}))}))}static get modalSize(){return"middle"}getModalSize(){return"middle"}get name(){return t("Create Application Credentials")}static allowed(){return d.default.resolve(!0)}get roleOptions(){var e=(0,y.toJS)(v.default.roles);return(0,l.default)(e).call(e,(e=>({label:e.name,value:e.id})))}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"expires_at",label:t("Expires At"),type:"date-picker",showToday:!1,disabledDate:e=>e&&e<(0,g.default)().subtract(1,"days").endOf("d"),required:!1},{name:"roles",label:t("Roles"),type:"check-group",options:this.roleOptions,extra:t("If not provided, the roles assigned to the application credential will be the same as the roles in the current token."),span:12},{name:"unrestricted",label:t("Unrestricted"),type:"check",content:t("Unrestricted"),extra:t("By default, for security reasons, application credentials are forbidden from being used for creating or destructing additional application credentials or keystone trusts. If your application credential needs to be able to perform these actions, check unrestricted.")},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Create=_,(0,f.default)(_,"id","create-application_credentials"),(0,f.default)(_,"title",t("Create Application Credentials")),(0,f.default)(_,"policy","identity:create_application_credential");var S=(0,p.inject)("rootStore")((0,p.observer)(_));a.default=S},4082:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(35)),o=r(1241),s=i(r(1475));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","identity:delete_application_credential"),(0,l.default)(this,"onSubmit",(e=>{var{user_id:t,id:a}=e;return s.default.client.delete(t,a)}))}get id(){return"delete"}get title(){return t("Delete Application Credential")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete application credential")}}a.default=u}}]); \ No newline at end of file diff --git a/skyline_console/static/common.bundle.1733818396.js.gz b/skyline_console/static/common.bundle.1733818396.js.gz deleted file mode 100644 index c6348378e12247c04379ef93de3aeeb17c6f2e4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97642 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 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,j.default)(this,"setRefreshDataTimerTransition",(()=>{this.stopRefreshAuto(),this.dataTimerTransition||(this.dataTimerTransition=(0,p.default)((()=>{this.handleRefresh(),this.dataTimerTransition=null}),1e3*this.dataDurationTransition))})),(0,j.default)(this,"setRefreshDataTimerAuto",(()=>{if(this.stopRefreshTransition(),this.ableAutoFresh){var{autoRefresh:e}=this.state;e&&!this.dataTimerAuto&&(this.dataTimerAuto=(0,p.default)((()=>{this.autoRefreshCount+=1,this.handleRefresh(),this.dataTimerAuto=null}),1e3*this.dataDurationAuto))}})),(0,j.default)(this,"onStopRefreshAuto",(()=>{this.setState({autoRefresh:!1}),this.stopRefreshAuto()})),(0,j.default)(this,"onClickAction",(()=>{this.inAction=!0,this.autoRefreshCount=0})),(0,j.default)(this,"onFinishAction",(()=>{this.inAction=!1,this.handleSelectRowKeys([]),this.handleRefresh(!0)})),(0,j.default)(this,"onCancelAction",(()=>{this.inAction=!1,this.getDataSource()})),(0,j.default)(this,"handleInputFocus",(e=>{this.inAction=e,e||this.setRefreshDataTimerAuto()})),(0,j.default)(this,"fetchListWithTry",function(){var e=(0,R.default)((function*(e){try{e&&(yield e())}catch(e){var{message:r="",data:n,status:i}=(e||{}).response||e||{};if(401===i){var l=t("The session has expired, please log in again.");J.default.errorWithDetail(null,l)}else if(500===i){var o,s=t("System is error, please try again later."),u=(0,h.default)(o="".concat(t("Get {name} error.",{name:a.name.toLowerCase()})," ")).call(o,s);J.default.errorWithDetail(null,u)}else{var d={message:n||r||e||"",status:i};J.default.errorWithDetail(d,t("Get {name} error.",{name:a.name.toLowerCase()}))}a.list.isLoading=!1,a.list.silent=!1}}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"updateFetchParamsByPage",(e=>e)),(0,j.default)(this,"updateFetchParams",(e=>e)),(0,j.default)(this,"fetchDataByPage",function(){var e=(0,R.default)((function*(e){yield a.store.fetchListByPage(e),a.list.silent=!1}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"fetchData",function(){var e=(0,R.default)((function*(e){yield a.store.fetchList(e),a.list.silent=!1}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"fetchDownloadData",function(){var e=(0,R.default)((function*(e){return a.isFilterByBackend?yield a.downloadStore.fetchListByPage(a.updateFetchParamsByPage(e)):yield a.downloadStore.fetchList(a.updateFetchParams(e))}));return function(t){return e.apply(this,arguments)}}()),(0,j.default)(this,"getDownloadData",(0,R.default)((function*(){var e=(0,E.default)({},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),{filters:t}=a.state,r=re(re(re(re({},a.props.match.params),e),t),{},{sortKey:e.sortKey||a.isSortByBackend&&a.defaultSortKey||"",sortOrder:e.sortOrder||a.isSortByBackend&&a.defaultSortOrder||""});!a.isAdminPage&&a.fetchDataByCurrentProject?r.project_id=a.currentProjectId:a.isAdminPage&&a.fetchDataByAllProjects&&a.allProjectsKey&&(r[a.allProjectsKey]=!0);var n=yield a.fetchDownloadData(r);return n}))),(0,j.default)(this,"startRefreshAuto",(()=>{this.autoRefreshCount=0,this.setState({autoRefresh:!0}),this.handleRefresh()})),(0,j.default)(this,"stopRefreshAuto",(()=>{clearTimeout(this.dataTimerAuto),this.dataTimerAuto=null})),(0,j.default)(this,"stopRefreshTransition",(()=>{clearTimeout(this.dataTimerTransition),this.dataTimerTransition=null})),(0,j.default)(this,"getFilteredValue",(e=>this.list.filters[e])),(0,j.default)(this,"checkIsProjectFilter",(e=>e.name===this.projectFilterKey)),(0,j.default)(this,"getSearchFilters",(()=>{var e=this.searchFilters;return this.isAdminPage&&this.adminPageHasProjectFilter?(0,m.default)(e).call(e,(e=>this.checkIsProjectFilter(e)))?e:[...e,{label:t("Project ID"),name:this.projectFilterKey}]:e})),(0,j.default)(this,"filterDataByTime",(e=>{if(!this.filterTimeKey)return!0;var{timeFilter:{value:t=0,start:a,end:r}={}}=this.state;if(0===t)return!0;var n=(0,V.default)(e,this.filterTimeKey,0);return 1!==t?(0,Z.checkTimeIn)(n,(new Date).getTime()-t,null):(0,Z.checkTimeIn)(n,a,r)})),(0,j.default)(this,"checkFilterInclude",(e=>{var t,a=(0,m.default)(t=this.searchFilters).call(t,(t=>t.name===e));return(0,L.default)(a,"include")?a.include:!(0,L.default)(a,"options")})),(0,j.default)(this,"filterData",(e=>{var t;if(!this.filterDataByTime(e))return!1;var{filters:a}=this.state;if(1===(0,g.default)(a).length&&a.keywords){var r,{keywords:n}=a;return!!(0,m.default)(r=(0,v.default)(e)).call(r,(e=>((0,B.default)(e)||(0,O.default)(e))&&(0,y.default)(e).call(e,n)>=0))}return!(0,m.default)(t=(0,g.default)(a)).call(t,(t=>{var r,n=(0,V.default)(e,t),i=a[t],{filterFunc:l}=(0,m.default)(r=this.getSearchFilters()).call(r,(e=>e.name===t));if(l)return!l(n,i,e);var o,s=this.checkFilterInclude(t);return(0,B.default)(n)&&(0,B.default)(i)?s?(0,y.default)(o=n.toLowerCase()).call(o,i.toLowerCase())<0:n.toLowerCase()!==i.toLowerCase():!(0,z.default)(n,i)}))})),(0,j.default)(this,"getDataSource",(()=>{var e,{data:t,filters:a={}}=this.list,{timeFilter:r={}}=this.state,{id:n,tab:i}=a,l=(0,N.default)(a,["id","tab"]),o=[];this.isFilterByBackend?o=(0,H.toJS)(t):(o=(0,b.default)(e=(0,H.toJS)(t)||[]).call(e,(e=>this.filterData(e,(0,H.toJS)(l),(0,H.toJS)(r)))),this.updateList({total:o.length}));return(0,_.default)(o).call(o,(e=>this.itemInTransitionFunction(e)))?this.setRefreshDataTimerTransition():this.setRefreshDataTimerAuto(),this.updateHintsByData(o),this.setTableHeight(),o})),(0,j.default)(this,"getFilters",(()=>{var e,{filters:t}=this.list;return re(re({},(0,G.parse)((0,S.default)(e=this.location.search).call(e,1))),(0,H.toJS)(t))})),(0,j.default)(this,"handleMoreMenuClick",(e=>(t,a)=>{var r,n=(0,m.default)(r=this.enabledItemActions).call(r,(e=>e.key===a));n&&n.onClick&&n.onClick(e)})),(0,j.default)(this,"refreshDetailData",(()=>{var{refreshDetail:e}=this.props;e&&e(this.refreshDetailDataWithSilence)})),(0,j.default)(this,"handleRefresh",(e=>{var{inAction:t,inSelect:a}=this;if((!this.inDetailPage||!this.inDetailAction)&&!(t||a&&!e)&&(e||!(this.autoRefreshCount>=this.autoRefreshCountMax))){e&&(this.autoRefreshCount=0);var{page:r,limit:n,sortKey:i,sortOrder:l,filters:o}=this.list,s=re(re({page:r,limit:n,sortKey:i,sortOrder:l},(0,H.toJS)(o)),{},{silent:!e});this.handleFetch(s,!0),this.inDetailPage&&(e||this.forceRefreshTopDetailWhenListRefresh)&&this.shouldRefreshDetail&&this.refreshDetailData()}})),(0,j.default)(this,"updateList",(e=>{var t;this.list&&(this.list.update?this.list.update(e):(0,x.default)(t=(0,g.default)(e)).call(t,(t=>{this.list[t]=e[t]})))})),(0,j.default)(this,"getPureParamsByFrontend",(e=>{var t,{page:a,limit:r,sortKey:n,sortOrder:i}=e,l=(0,N.default)(e,["page","limit","sortKey","sortOrder"]),o={page:a,limit:r};if(this.isSortByBackend&&(o.sortKey=n,o.sortOrder=i),!this.searchFilters.length){var{keywords:s}=l,u=(0,N.default)(l,["keywords"]);return re(re({},o),u)}return(0,x.default)(t=(0,g.default)(l)).call(t,(e=>{var t;(0,m.default)(t=this.searchFilters).call(t,(t=>t.name===e))||(o[e]=l[e])})),o})),(0,j.default)(this,"handleFetch",((e,t)=>{if(!t||this.isFilterByBackend){var{sortKey:a,limit:r,page:n,current:i,sortOrder:l}=e;(0,N.default)(e,["sortKey","limit","page","current","sortOrder"]);n===this.list.page&&r===this.list.limit||(this.autoRefreshCount=0),this.isFilterByBackend?this.getDataWithPolicy(re(re({},e),this.list.filters||{})):this.updateList({page:n,limit:r,sortKey:a,sortOrder:l})}else this.getDataWithPolicy(this.getPureParamsByFrontend(e))})),(0,j.default)(this,"handleFetchBySort",(e=>{if(this.isSortByBackend){var t=re(re({},e),{},{page:1});this.handleFetch(t,!0)}else{var{sortKey:a,limit:r,page:n,sortOrder:i}=e;this.updateList({page:n,limit:r,sortKey:a,sortOrder:i})}})),(0,j.default)(this,"handleFilterChange",((e,t)=>{var{page:a,limit:r,sortKey:n,sortOrder:i}=e,l=(0,N.default)(e,["page","limit","sortKey","sortOrder"]);this.isFilterByBackend?(this.list.filters=e,this.setState({filters:l,timeFilter:t},(()=>{this.handleFetch(e,!0)}))):(this.updateList({page:a,sortKey:n,sortOrder:i,filters:l}),this.setState({filters:l,timeFilter:t}))})),(0,j.default)(this,"handleSelectRowKeys",(e=>{this.store.setSelectRowKeys("list",e),e&&0!==e.length?(this.inSelect=!0,this.autoRefreshCount=0):(this.inSelect=!1,this.getDataSource())})),(0,j.default)(this,"onCloseSuccessHint",(()=>{})),(0,j.default)(this,"getTablePageSize",(e=>{var t=[10,20,50,100],a=this.pageSizeOptions||t;return(0,w.default)(a).call(a,e)?e:a[0]||t[0]})),(0,j.default)(this,"renderMore",((e,t)=>{if((0,Q.default)(this.enabledItemActions))return null;var a=this.renderMoreMenu(t);return null===a?null:q.default.createElement(A.default,{content:a,trigger:"click",placement:"bottomRight"},q.default.createElement(M.default,{icon:"more",type:"flat"}))})),(0,j.default)(this,"renderMoreMenu",(e=>{var t,a=(0,I.default)(t=this.enabledItemActions).call(t,(t=>((0,U.default)(t.show)?t.show(e):t.show||!0)?q.default.createElement(P.default.MenuItem,{key:t.key},q.default.createElement(T.default,{name:t.icon})," ",q.default.createElement("span",null,t.text)):null));return(0,C.default)(a).call(a,(e=>null===e))?null:q.default.createElement(P.default,{onClick:this.handleMoreMenuClick(e)},a)})),this.options=n,this.state={filters:{},timeFilter:{},autoRefresh:!0,newHints:!1,tableHeight:this.getTableHeight()},this.dataTimerTransition=null,this.dataTimerAuto=null,this.dataDurationTransition=10,this.dataDurationAuto=30,this.autoRefreshTotalTime=600,this.autoRefreshCount=0,this.autoRefreshCountMax=Math.floor(this.autoRefreshTotalTime/this.dataDurationAuto),this.infoMessage="",this.successMessage="",this.errorMessage="",this.warnMessage="",this.inAction=!1,this.inSelect=!1,this.setTableHeight=(0,k.default)(r=this.setTableHeight).call(r,this),this.debounceSetTableHeight=this.debounceSetTableHeight.call(this),this.init()}componentDidMount(){var e=this.initFilter;if(!this.filterTimeKey){var{limit:t,page:a}=this.store.list;this.list.filters={},this.handleFetch(re(re({},e),{},{limit:t,page:a}),!0)}window.addEventListener("resize",this.debounceSetTableHeight)}componentDidUpdate(e){if(this.inDetailPage){var{detail:t}=e,{detail:a}=this.props;(0,Q.default)(t)||(0,Q.default)(a)||(0,z.default)(t,a)||this.handleRefresh(!0)}}componentWillUnmount(){this.unsubscribe&&this.unsubscribe(),this.disposer&&this.disposer(),this.unMountActions&&this.unMountActions(),this.stopRefreshTransition(),this.stopRefreshAuto(),this.clearListUnmount&&this.store.clearData&&this.store.clearData("listUnmount"),window.removeEventListener("resize",this.debounceSetTableHeight)}get policy(){return""}get aliasPolicy(){return""}get name(){return""}get title(){return"".concat(this.name,"s")}get className(){return""}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get inDetailPage(){var{detail:e}=this.props;return!!e}get inDetailAction(){var{inAction:e}=this.props;return!!e}get detailName(){if(!this.inDetailPage)return"";var{detailName:e}=this.props;return e}get shouldRefreshDetail(){return!0}get location(){return this.props.location}get isAdminPage(){var{pathname:e}=this.location;return(0,Y.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,ee.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,ee.getLinkRender)({key:n,params:a,query:r,value:t})}get prefix(){return this.props.match.url}get params(){return this.props.match.params||{}}get routing(){return this.props.rootStore.routing}get list(){return this.store.list}get isLoading(){return this.list.isLoading||this.store.isSubmitting}get tips(){return[]}get rowKey(){return"id"}get hasTab(){return!1}get hasSubTab(){return!1}get hideCustom(){return!1}get hideSearch(){return!1}get hideRefresh(){return!1}get hideDownload(){return!1}get checkEndpoint(){return!1}get endpoint(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}get initFilter(){var e;return(0,G.parse)((0,S.default)(e=this.location.search).call(e,1))||{}}get hintHeight(){var e=0;return this.infoMessage&&(e+=50),this.warnMessage&&(e+=50),this.errorMessage&&(e+=50),this.successMessage&&(e+=50),e}get tableTopHeight(){var e=document.getElementById("sl-table-header-search"),t=document.getElementById("search-items-menu"),a=e?e.scrollHeight:50,r=(null==t?void 0:t.scrollHeight)||0,n=90+(r?a-r+10:a)+16;return this.hasSubTab?n+88+20:this.hasTab?n+44:n}getTableHeight(){var e=window.innerHeight;if(this.inDetailPage)return-1;var t=document.getElementsByClassName("ant-table-header")[0],a=t?t.offsetHeight:51,r=e-this.tableTopHeight-this.hintHeight-50-a;return r>0?r:1}get tableWidth(){return 800}get isFilterByBackend(){return!1}get isSortByBackend(){return!1}get ableSkipPageByBackend(){return!1}get enabledItemActions(){var e;return(0,b.default)(e=this.itemActions).call(e,(e=>!e.action))}get adminPageHasProjectFilter(){return!1}get transitionStatusList(){return[]}get fetchDataByAllProjects(){return!0}get currentUser(){var{user:e}=this.props.rootStore||{};return e||{}}get currentProjectId(){return this.props.rootStore.projectId}get fetchDataByCurrentProject(){return!1}get defaultSortKey(){return""}get defaultSortOrder(){return"descend"}get clearListUnmount(){return!1}get itemInTransitionFunction(){return e=>{var t,{status:a}=e;return(0,y.default)(t=this.transitionStatusList).call(t,a)>=0}}get ableAutoFresh(){return!0}get actionConfigs(){return{batchActions:[],primaryActions:[],rowActions:[]}}get primaryActions(){return this.actionConfigs.primaryActions}get batchActions(){return this.actionConfigs.batchActions}get itemActions(){return this.actionConfigs.rowActions}get searchFilters(){return[]}get expandable(){}get filterTimeKey(){}get projectFilterKey(){return"project_id"}get pageSizeOptions(){return[10,20,50,100]}get hideTotal(){return!1}get primaryActionsExtra(){return null}get allProjectsKey(){return"all_projects"}get forceRefreshTopDetailWhenListRefresh(){return!1}get middleComponentInTableHeader(){return null}get refreshDetailDataWithSilence(){return!0}getEmptyProps(){return{}}getEnabledTableProps(){var e=this.getTableProps();return(0,Q.default)(this.batchActions)&&(e.onSelectRowKeys=null),e}getCheckboxProps(e){return{disabled:!1,name:e.name}}getBaseTableProps(){var{keyword:e,selectedRowKeys:a,total:r,page:n,limit:i,silent:l,sortKey:o,sortOrder:s,timerFilter:u}=this.list,d={total:r,current:Number(n),pageSize:this.getTablePageSize(i),showTotal:e=>t("Total {total} items",{total:e}),showSizeChanger:!0};this.pageSizeOptions&&(d.pageSizeOptions=this.pageSizeOptions);var{autoRefresh:c,tableHeight:f}=this.state;return re({resourceName:this.name,detailName:this.detailName,data:this.getDataSource(),columns:this.getColumns(),filters:this.getFilters(),timerFilter:u,searchFilters:this.getSearchFilters(),keyword:e,pagination:d,primaryActions:this.primaryActions,batchActions:this.batchActions,itemActions:this.itemActions,getCheckboxProps:this.getCheckboxProps,isLoading:this.isLoading,silentLoading:l,rowKey:this.rowKey,selectedRowKeys:(0,H.toJS)(a),scrollY:f,sortKey:o,sortOrder:s,defaultSortKey:this.defaultSortKey,defaultSortOrder:this.defaultSortOrder,getDownloadData:this.getDownloadData,containerProps:this.props,expandable:this.expandable,showTimeFilter:!!this.filterTimeKey,filterTimeDefaultValue:this.filterTimeDefaultValue,isPageByBack:this.isFilterByBackend,isSortByBack:this.isSortByBackend,ableSkipPageByBackend:this.ableSkipPageByBackend,autoRefresh:c,startRefreshAuto:this.startRefreshAuto,stopRefreshAuto:this.onStopRefreshAuto,onClickAction:this.onClickAction,onFinishAction:this.onFinishAction,onCancelAction:this.onCancelAction,dataDurationAuto:this.dataDurationAuto,handleInputFocus:this.handleInputFocus,hideTotal:this.hideTotal,hideDownload:this.hideDownload,primaryActionsExtra:this.primaryActionsExtra,isAdminPage:this.isAdminPage,initFilter:this.initFilter,middleComponentInHeader:this.middleComponentInTableHeader},this.getEnabledTableProps())}getTableProps(){return{onRefresh:this.handleRefresh,onFetch:this.handleFetch,onFetchBySort:this.handleFetchBySort,onSelectRowKeys:this.handleSelectRowKeys,onFilterChange:this.handleFilterChange,hideCustom:this.hideCustom,hideSearch:this.hideSearch,hideRefresh:this.hideRefresh,hideAutoRefresh:!this.ableAutoFresh}}getData(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{silent:t}=e,a=(0,N.default)(e,["silent"]);t&&(this.list.silent=!0);var r=re(re(re({},this.props.match.params),a),{},{sortKey:a.sortKey||this.isSortByBackend&&this.defaultSortKey||"",sortOrder:a.sortOrder||this.isSortByBackend&&this.defaultSortOrder||""});if(!this.isAdminPage&&this.fetchDataByCurrentProject?r.project_id=this.currentProjectId:this.isAdminPage&&this.fetchDataByAllProjects&&this.allProjectsKey&&(r[this.allProjectsKey]=!0),this.isFilterByBackend){var{limit:n}=r;n&&(r.limit=this.getTablePageSize(n)),this.fetchListWithTry((()=>this.fetchDataByPage(this.updateFetchParamsByPage(r))))}else this.fetchListWithTry((()=>this.fetchData(this.updateFetchParams(r))))}getDataWithPolicy(e){if(this.currentUser&&!(0,Q.default)(this.currentUser)&&!this.endpointError){if(!(0,X.default)({policy:this.policy,aliasPolicy:this.aliasPolicy,actionName:this.name})){var a={message:t("You don't have access to get {name}.",{name:this.name.toLowerCase()}),status:401};return J.default.errorWithDetail(a,t("Unable to get {name}.",{name:this.name.toLowerCase()})),this.list.isLoading=!1,void(this.list.silent=!1)}this.getData(e)}}setTableHeight(){if(!this.inAction){var e=this.getTableHeight(),{tableHeight:t}=this.state;e!==t&&this.setState({tableHeight:e})}}getColumns(){return[]}debounceSetTableHeight(){return(0,F.default)(this.setTableHeight,1e3)}updateHintsByOthers(){this.updateHints&&(this.updateHints(),(0,p.default)(this.setTableHeight,0),this.setState({newHints:!0}))}updateHintsByData(e){}init(){this.store={list:{}},this.downloadStore={}}renderTable(){try{var e=this.getBaseTableProps();return q.default.createElement(W.default,e)}catch(e){var t=this.getRoutePath("overview");return q.default.createElement($.default,{title:this.name,link:t,codeError:!0})}}renderInfoHint(){return this.infoMessage?q.default.createElement(D.default,{message:this.infoMessage,type:"info",showIcon:!0,className:te.default.hint}):null}renderSuccessHint(){return this.successMessage?q.default.createElement(D.default,{message:this.successMessage,type:"success",showIcon:!0,closable:!0,className:te.default.hint,onClose:this.onCloseSuccessHint}):null}renderWarnHint(){return this.warnMessage?q.default.createElement(D.default,{message:this.warnMessage,type:"warning",showIcon:!0,className:te.default.hint}):null}renderErrorHint(){return this.errorMessage?q.default.createElement(D.default,{message:this.errorMessage,type:"error",showIcon:!0,closable:!0,className:te.default.hint}):null}renderHint(){var{newHints:e}=this.state;return e||this.infoMessage||this.warnMessage||this.successMessage||this.errorMessage?q.default.createElement("div",{className:(0,K.default)(te.default.hints,"list-hints")},this.renderInfoHint(),this.renderSuccessHint(),this.renderWarnHint(),this.renderErrorHint()):null}renderHeader(){return null}render(){if(this.endpointError){var e=this.getRoutePath("overview");return q.default.createElement($.default,{title:this.name,link:e,endpointError:!0})}var t=this.renderTable();return q.default.createElement("div",{className:(0,K.default)(te.default.wrapper,"list-container",this.className)},this.renderHeader(),this.renderHint(),t)}}a.default=ne},1243:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=void 0;var p=f(r(164)),h=f(r(203)),m=f(r(86)),g=f(r(54)),v=f(r(29)),y=f(r(91)),b=f(r(77));r(1315);var _=f(r(1316)),S=f(r(343)),x=f(r(1313));r(231);var w=f(r(341));r(1300);var I=f(r(1301)),C=f(r(1441)),k=f(r(611));r(594);var D=f(r(595)),P=f(r(35)),T=f(r(119)),A=f(r(177)),M=f(r(0)),N=r(349),E=f(r(4)),R=r(163),j=(r(161),r(564),f(r(1351))),F=f(r(3613)),L=f(r(1270)),O=r(36),z=f(r(1251)),B=f(r(1302)),V=r(342),U=r(567),Q=r(418),q=f(r(3616));function G(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};super(e),a=this,(0,P.default)(this,"onCollapsedCallback",(()=>{})),(0,P.default)(this,"handleChangeTab",(e=>{this.handleFetch({tab:e},!0)})),(0,P.default)(this,"handleFetch",((e,t)=>{this.routing.query(e,t)})),(0,P.default)(this,"handleDetailInfo",(()=>{var{collapsed:e}=this.state;this.setState({collapsed:!e},(()=>{this.onCollapsedCallback(!e)}))})),(0,P.default)(this,"getDesc",((e,t)=>{var a,{dataIndex:r,render:n,valueRender:i,valueMap:l,unit:o}=t,s=(0,T.default)(e,r);if(n)return n(s,e);if(i){var u=R.renderFilterMap[i];return u&&u(s)}return l?(0,Q.getValueMapRender)(t)(s):o?(0,Q.getUnitRender)(t)(s):(0,p.default)(a=[void 0,null,""]).call(a,s)?"-":s})),(0,P.default)(this,"fetchData",((e,t)=>{if(this.store.fetchDetail){var a=K(K(K({},this.params),e||{}),{},{all_projects:this.isAdminPage,silent:t}),r=this.updateFetchParams(a);this.store.fetchDetail(r).catch(this.catch)}})),(0,P.default)(this,"getRouteProps",(()=>({}))),(0,P.default)(this,"fetchDataWithPolicy",((e,a)=>{if((0,z.default)({policy:this.policy,aliasPolicy:this.aliasPolicy,actionName:this.name}))this.fetchData(a,e);else{var r={message:t("You don't have access to get {name}.",{name:this.name.toLowerCase()}),status:401};L.default.errorWithDetail(r,t("Unable to get {name} detail.",{name:this.name.toLowerCase()}))}})),(0,P.default)(this,"refreshDetailByTab",(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];a.fetchDataWithPolicy(e)})),(0,P.default)(this,"refreshDetailByAction",(e=>{this.fetchDataWithPolicy(e)})),(0,P.default)(this,"handleRefresh",(()=>{this.fetchDataWithPolicy(!1)})),(0,P.default)(this,"catch",(e=>{var{data:a,status:r}=(e||{}).response||e||{};if(401===r){var n=t("The session has expired, please log in again.");L.default.errorWithDetail(null,n)}else if(404===r)this.setState({notFound:!0}),L.default.warn(t("{name} {id} could not be found.",{name:this.name.toLowerCase(),id:this.id}));else{var i={message:a,status:r};L.default.errorWithDetail(i,t("Get {name} detail error.",{name:this.name.toLowerCase()}))}})),(0,P.default)(this,"goBack",(()=>{this.routing.push(this.listUrl)})),(0,P.default)(this,"updateFetchParams",(e=>e)),(0,P.default)(this,"onFinishAction",((e,t,a)=>{if(e&&a)this.goBack();else{var r,n=!(0,p.default)(r=this.forceLoadingTabs).call(r,this.tab.key);this.refreshDetailByAction(n)}this.setState({inAction:!1})})),(0,P.default)(this,"onClickAction",(()=>{this.setState({inAction:!0})})),(0,P.default)(this,"onCancelAction",(()=>{this.setState({inAction:!1})})),this.options=r,this.state={notFound:!1,collapsed:!1},this.init()}componentDidMount(){this.fetchDataWithPolicy()}componentDidUpdate(e){var{id:t}=e.match.params;this.id!==t&&this.handleRefresh(!0)}get params(){return this.props.match.params||{}}get id(){return this.props.match.params.id}get policy(){return""}get aliasPolicy(){return""}get name(){return""}get routing(){return this.props.rootStore.routing}get path(){var{location:{pathname:e=""}={}}=this.props;return e||""}get isAdminPage(){var{pathname:e}=this.props.location;return(0,R.isAdminPage)(e)}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,U.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,U.getLinkRender)({key:n,params:a,query:r,value:t})}get tabs(){return[]}get tab(){var e,t;if(0===this.tabs.length)return null;var a=(0,N.parse)((0,h.default)(e=this.routing.location.search).call(e,1)),{tab:r}=a;return(0,m.default)(t=this.tabs).call(t,(e=>e.key===r))||this.tabs[0]}get actionConfigs(){return V.emptyActionConfig}get rowActions(){return[]}get detailTabs(){return[{title:"tab1",key:"tab1",component:null},{title:"tab2",key:"tab2",component:null}]}get titleLabel(){return"ID:"}get titleValue(){return this.params.id}get detailTitle(){var{collapsed:e}=this.state,{Paragraph:a}=D.default,r=e?M.default.createElement(k.default,null):M.default.createElement(C.default,null);return M.default.createElement("div",null,M.default.createElement("span",{className:q.default["title-label"]},this.titleLabel),M.default.createElement("span",{className:q.default["header-title"]},M.default.createElement(a,{style:{display:"inherit"},copyable:!0},this.titleValue)),M.default.createElement(I.default,{type:"vertical",className:q.default["header-divider"]}),M.default.createElement(w.default,{onClick:this.goBack,type:"link"},t("Back")),M.default.createElement(w.default,{type:"link",icon:M.default.createElement(x.default,null),onClick:this.handleRefresh}),M.default.createElement(w.default,{onClick:this.handleDetailInfo,icon:r,type:"link",className:q.default["header-button"]}))}get className(){return""}get listUrl(){return""}get detailData(){return(0,O.toJS)(this.store.detail)||{}}get isLoading(){return this.store.isLoading}get detailInfos(){return[]}get forceLoadingTabs(){return[]}getActionData(){return this.detailData}init(){this.store={detail:{},isLoading:!0}}renderDetailInfos(){var e,t,{Paragraph:a}=D.default,{collapsed:r}=this.state;if((0,A.default)(this.detailData))return M.default.createElement(F.default,{title:this.detailTitle,descriptions:[],loading:this.isLoading});var n=r?[]:(0,g.default)(e=(0,v.default)(t=this.detailInfos).call(t,(e=>!e.hidden))).call(e,(e=>{var t,r,n,{title:i,dataIndex:l,copyable:o}=e;this.isLoading||!this.detailData||(0,A.default)(this.detailData)?t="-":"-"!==(t=this.getDesc(this.detailData,e))&&(o||0===(0,y.default)(r=l.toLowerCase()).call(r,"id")||(0,y.default)(n=l.toLowerCase()).call(n,"_id")>=0)&&(t=M.default.createElement(a,{style:{margin:0},copyable:o},t));return{label:i,content:t}}));return M.default.createElement(F.default,{title:this.detailTitle,descriptions:n,loading:this.isLoading})}renderTabComponent(e){var t,{component:a,key:r,render:n}=e,{inAction:i}=this.state;return n||(a?M.default.createElement(e.component,(0,S.default)({},this.props,{detail:this.detailData,detailName:(0,b.default)(t="".concat(this.name,"-")).call(t,this.id),refreshDetail:this.refreshDetailByTab,inAction:i})):M.default.createElement("span",null,r))}renderTab(e,t){return e!==t.key?M.default.createElement(_.default.TabPane,{tab:t.title,key:t.key}):M.default.createElement(_.default.TabPane,{tab:t.title,key:t.key},this.renderTabComponent(t))}renderTabs(){var e;if((0,A.default)(this.detailData)||this.isLoading)return null;if(!this.tab)return null;var t=(0,g.default)(e=this.tabs).call(e,(e=>this.renderTab(this.tab.key,e)));return M.default.createElement("div",{className:(0,E.default)(q.default["tab-wrapper"],this.className)},M.default.createElement(_.default,{activeKey:this.tab.key,onChange:this.handleChangeTab},t))}renderActions(){var e=this.getActionData();return(0,A.default)(e)||this.store.isLoading?null:M.default.createElement(B.default,{actions:this.actionConfigs.rowActions||this.actions,onFinishAction:this.onFinishAction,item:this.getActionData(),containerProps:{isAdminPage:this.isAdminPage},isAdminPage:this.isAdminPage,onClickAction:this.onClickAction,onCancelAction:this.onCancelAction})}render(){return this.state.notFound?M.default.createElement(j.default,{title:this.name,link:this.listUrl,goList:!0}):M.default.createElement("div",{className:(0,E.default)(q.default.main,this.className,"detail-main")},M.default.createElement("div",{className:q.default["action-wrapper"]},this.renderActions()),M.default.createElement("div",{className:q.default.header},this.renderDetailInfos()),M.default.createElement("div",{className:q.default.tabs},this.renderTabs()))}}a.default=H},1248:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.isBootFromVolume=a.allowAttachInterfaceStatus=a.SimpleTag=a.actionColumn=a.actionEvent=a.actionMap=a.instanceStatusFilter=a.allowAttachVolumeInstance=a.canCreateIronicByEndpoint=a.instanceSelectTablePropsBackend=a.instanceSortProps=a.instanceFilters=a.instanceColumnsBackend=a.isIronicInstance=a.physicalNodeTypes=a.getIpInitValue=a.getUserData=a.hasRootVolume=a.isIsoInstance=a.isNotError=a.isPaused=a.isStopped=a.isActive=a.isShutOff=a.isActiveOrShutOff=a.isNotLockedOrAdmin=a.checkStatus=a.lockRender=a.isLocked=a.isNotDeleting=a.isNotLocked=a.isBuilding=a.instanceStatus=a.powerStatus=a.taskStatus=a.stableStatus=a.transitionStatus=void 0;var p=f(r(164)),h=f(r(86)),m=f(r(54)),g=f(r(203));r(1311);var v=f(r(1312)),y=f(r(35));r(344);var b=f(r(202)),_=f(r(177)),S=f(r(0)),x=f(r(597)),w=(r(161),r(1592)),I=r(66),C=r(342),k=f(r(1593)),D=f(r(3543)),P=f(r(3544));function T(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t"build"===e.status;var O=e=>!e.locked;a.isNotLocked=O;var z=e=>!e.task_state||"deleting"!==e.task_state.toLowerCase();a.isNotDeleting=z;var B=e=>!!e.locked;a.isLocked=B;var V=e=>e?M:N;a.lockRender=V;var U=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],{status:r,vm_state:n}=t;return(0,p.default)(e).call(e,r.toLowerCase())||a&&n&&(0,p.default)(e).call(e,n.toLowerCase())};a.checkStatus=U;a.isNotLockedOrAdmin=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!B(e)||t};a.isActiveOrShutOff=e=>U(["active","shutoff"],e);a.isShutOff=e=>U(["shutoff"],e);a.isActive=e=>U(["active"],e);a.isStopped=e=>U(["stopped"],e);a.isPaused=e=>U(["paused"],e);a.isNotError=e=>!U(["error"],e);a.isIsoInstance=e=>{var{iso_server:t=!1}=e;return t};a.hasRootVolume=e=>{var{root_device_name:t="/dev/vda",volumes_attached:a=[]}=e;return!!(0,h.default)(a).call(a,(e=>e.is_root_volume||e.device===t))};var Q='Content-Type: multipart/mixed; boundary="===============2309984059743762475=="\nMIME-Version: 1.0\n\n--===============2309984059743762475==\nContent-Type: text/cloud-config; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="ssh-pwauth-script.txt" \n\n#cloud-config\ndisable_root: false\nssh_pwauth: true\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="passwd-script.txt" \n\n#!/bin/sh\necho \'USER_NAME:USER_PASSWORD\' | chpasswd\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="init-shell.txt" \n\nUSER_DATA\n\n--===============2309984059743762475==--',q='Content-Type: multipart/mixed; boundary="===============2309984059743762475==" \nMIME-Version: 1.0\n\n--===============2309984059743762475==\nContent-Type: text/cloud-config; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="ssh-pwauth-script.txt" \n\n#cloud-config\ndisable_root: false\nssh_pwauth: true\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="passwd-script.txt" \n\n#!/bin/sh\necho \'USER_NAME:USER_PASSWORD\' | chpasswd\n\n--===============2309984059743762475==--',G='Content-Type: multipart/mixed; boundary="===============2309984059743762475==" \nMIME-Version: 1.0\n\n--===============2309984059743762475==\nContent-Type: text/x-shellscript; charset="us-ascii" \nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename="init-shell.txt" \n\nUSER_DATA\n\n--===============2309984059743762475==--';a.getUserData=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"root";if(e&&t){var r=Q.replace(/USER_PASSWORD/g,e);return(r=r.replace(/USER_NAME/g,a)).replace(/USER_DATA/g,t)}if(e){var n=q.replace(/USER_PASSWORD/g,e);return n.replace(/USER_NAME/g,a)}return G.replace(/USER_DATA/g,t)};a.getIpInitValue=e=>{if(!e)return null;var{start:t}=e.allocation_pools[0];return t};var K=[{label:t("Smart Scheduling"),value:"smart"},{label:t("Manually Specify"),value:"manually"}];a.physicalNodeTypes=K;var H=e=>{var{flavor_info:{extra_specs:t={}}={}}=e;return"bare_metal"===t[":architecture"]};a.isIronicInstance=H;var W=[{title:t("Name"),dataIndex:"name",sortKey:"display_name"},{title:t("Image"),sorter:!1,dataIndex:"image_os_distro",render:(e,t)=>S.default.createElement(x.default,{type:e,title:t.image_name})},{title:t("Fixed IP"),dataIndex:"fixed_addresses",width:120,sorter:!1,render:e=>e&&e.length?(0,m.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null)))):"-"},{title:t("Floating IP"),dataIndex:"floating_addresses",width:120,sorter:!1,render:e=>e&&e.length?(0,m.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null)))):"-"},{title:t("Flavor"),dataIndex:"flavor",sorter:!1},{title:t("Status"),dataIndex:"status",sorter:!1,render:e=>L[e&&e.toLowerCase()]||"-"},{title:t("Locked"),dataIndex:"locked",isHideable:!0,render:V},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}];a.instanceColumnsBackend=W;var Y=[{label:t("Name"),name:"name"}];a.instanceFilters=Y;var J={isSortByBack:!0,defaultSortKey:"created_at",defaultSortOrder:"descend"};a.instanceSortProps=J;var Z=A(A({},J),{},{filterParams:Y,columns:W});a.instanceSelectTablePropsBackend=Z;a.canCreateIronicByEndpoint=()=>(0,I.ironicOriginEndpoint)();a.allowAttachVolumeInstance=e=>U(["active","paused","stopped","resized","soft-delete","shelved","shelved_offloaded"],e)&&z(e)&&O(e)&&!H(e);var X={label:t("Status"),name:"status",options:[{label:t("Active"),key:"ACTIVE"},{label:t("Building"),key:"BUILD"},{label:t("Paused"),key:"PAUSED"},{label:t("Suspended"),key:"SUSPENDED"},{label:t("Error"),key:"ERROR"},{label:t("Shutoff"),key:"SHUTOFF"},{label:t("Shelved Offloaded"),key:"SHELVED_OFFLOADED"}]};a.instanceStatusFilter=X;var $={attach_interface:t("Attach Interface"),detach_interface:t("Detach Interface"),attach_volume:t("Attach Volume"),detach_volume:t("Detach Volume"),create:t("Create"),stop:t("Stop"),reboot:t("Reboot"),suspend:t("Suspend"),resume:t("Resume"),shelve:t("Shelve"),unshelve:t("Unshelve"),start:t("Start"),lock:t("Lock"),unlock:t("Unlock"),pause:t("Pause"),unpause:t("Unpause"),createImage:t("Create Snapshot"),resize:t("Extend Root Volume"),confirmResize:t("Resize"),"live-resize":t("Online Resize"),extend_volume:t("Extend Volume"),changePassword:t("Change Password"),rebuild:t("Rebuild"),migrate:t("Migrate"),"live-migration":t("Live Migrate"),delete:t("Delete"),restore:t("Recover")};a.actionMap=$;var ee={compute_restore_instance:t("Resume Instance"),compute_soft_delete_instance:t("Soft Delete Instance"),compute_post_live_migration_at_destination:t("Live Migration At Destination"),compute_pre_live_migration:t("Pre Live Migration"),compute_live_migration:t("Compute Live Migration"),compute_check_can_live_migrate_source:t("Check Can Live Migrate Source"),compute_check_can_live_migrate_destination:t("Check Can Live Migrate Destination"),conductor_live_migrate_instance:t("Conductor Live Migrate Instance"),compute_confirm_resize:t("Resized"),compute_finish_resize:t("Finish Resize"),compute_resize_instance:t("Resize Instance"),compute_prep_resize:t("Prep Resize"),cold_migrate:t("Cold Migrate"),conductor_migrate_server:t("Conductor Migrate Server"),compute_rebuild_instance:t("Rebuild Instance"),rebuild_server:t("Rebuild Instance"),compute_set_admin_password:t("Set Admin Password"),compute_extend_volume:t("Extend Volume"),compute_live_resize_instance:t("Compute Live Resize Instance"),conductor_live_resize_instance:t("Conductor Live Resize Instance"),api_snapshot_instance:t("Snapshot Instance"),api_lock:t("Lock"),api_unlock:t("Unlock"),compute_detach_volume:t("Detach Volume"),compute_attach_volume:t("Attach Volume"),compute_detach_interface:t("Detach Interface"),compute_attach_interface:t("Attach Interface"),compute__do_build_and_run_instance:t("Do Build And Run Instance"),compute_suspend_instance:t("Compute Suspend Instance"),compute_start_instance:t("Compute Start Instance"),compute_stop_instance:t("Compute Stop Instance"),compute_resume_instance:t("Compute Resume Instance"),compute_pause_instance:t("Compute Pause Instance"),compute_unpause_instance:t("Compute Unpause Instance"),compute_reboot_instance:t("Compute Reboot Instance")};a.actionEvent=ee;a.actionColumn=e=>[{title:t("Operation Name"),dataIndex:"action",valueMap:$},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!e.isAdminPage},{title:t("Operation Time"),dataIndex:"start_time",valueRender:"toLocalTimeMoment"},{title:t("Request ID"),dataIndex:"request_id",isHideable:!0,render:(e,t)=>S.default.createElement(S.default.Fragment,null,S.default.createElement("span",null,e),S.default.createElement(k.default,{id:t.instance_uuid,requestId:e,store:new w.ActionLogStore,actionEvent:ee}))},{title:t("User ID"),dataIndex:"user_id",isHideable:!0,hidden:!e.isAdminPage,render:t=>e.getLinkRender("userDetail",t,{id:t},null)}];a.SimpleTag=e=>{var{tag:t,index:a}=e,r=t.length>20,n=r?"".concat((0,g.default)(t).call(t,0,20),"..."):t,i=S.default.createElement(v.default,{key:t,color:C.projectTagsColors[a%10],style:{marginTop:2,marginBottom:2}},S.default.createElement("span",{style:{whiteSpace:"pre-wrap"}},n));return r?S.default.createElement(b.default,{key:t,title:S.default.createElement("span",{style:{whiteSpace:"pre-wrap"}},t)},i):i};a.allowAttachInterfaceStatus=["active","paused","stopped"];a.isBootFromVolume=e=>{var{origin_data:t}=e||{};return t&&!(0,_.default)(t)?!t.image:!e.image}},1249:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=void 0;var f=c(a(54)),p=c(a(35)),h=c(a(570)),m=c(a(0)),g=c(a(4)),v=c(a(3658)),y=a(36),b=a(163),_=a(567),S=c(a(3661));function x(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}class w extends m.default.Component{constructor(e){super(e),(0,p.default)(this,"fetchData",(e=>{this.shouldFetchDetail&&this.store.fetchDetail&&this.store.fetchDetail(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,_.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,_.getLinkRender)({key:n,params:a,query:r,value:t})}init(){this.store={}}renderLeftCards(){var e;return(0,f.default)(e=this.leftCards).call(e,((e,t)=>{var{title:a,titleHelp:r,options:n,render:i,labelCol:l,contentCol:o,button:s,sourceData:u}=e;return i?i():m.default.createElement(v.default,{key:"card-left-".concat(t),className:"detail-left-card",data:u||this.detailData,title:a,titleHelp:r,options:n,loading:this.isLoading,labelCol:l,contentCol:o,button:s})}))}renderRightCards(){var e;return(0,f.default)(e=this.rightCards).call(e,((e,t)=>{var{title:a,options:r,labelCol:n,titleHelp:i,render:l,button:o,className:s}=e;if(l)return l();var u=8,d=16;return(0,h.default)(e,"labelCol")&&(d=24-(u=n)),m.default.createElement(v.default,{key:"card-right-".concat(t),className:(0,g.default)("detail-right-card",s),data:this.detailData,title:a,titleHelp:i,options:r,loading:this.isLoading,labelCol:u,contentCol:d,button:o})}))}renderModal(){return null}render(){return m.default.createElement("div",{className:(0,g.default)(S.default.main)},m.default.createElement("div",{className:S.default["left-side"],id:"detail-left-side",style:this.leftCardsStyle},this.renderLeftCards()),m.default.createElement("div",{className:S.default["right-side"],id:"detail-right-side"},this.renderRightCards()),this.renderModal())}}t.default=w},1255:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.UserStore=void 0;var f,p,h=c(a(86)),m=c(a(28)),g=c(a(32)),v=c(a(63)),y=c(a(54)),b=c(a(29)),_=c(a(25)),S=c(a(49)),x=c(a(58)),w=c(a(74)),I=c(a(35)),C=c(a(55)),k=(c(a(75)),a(36)),D=c(a(432)),P=c(a(50)),T=c(a(133)),A=c(a(340)),M=c(a(1288)),N=c(a(53));function E(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function R(e){for(var t=1;tM.default.addGroupUsers({id:e,userId:t}))),(0,I.default)(this,"addProjectUser",((e,t,a)=>A.default.assignUserRole({id:e,userId:t,roleId:a}))),(0,I.default)(this,"getUserDefaultProject",((e,t)=>{var{default_project_id:a}=e;if(a){var r=(0,h.default)(t).call(t,(e=>e.id===a));e.defaultProject=null==r?void 0:r.name}})),(0,I.default)(this,"getProjectMapRoles",((e,t,a,r)=>{var n={},{id:i}=e;return(0,m.default)(t).call(t,(e=>{var{scope:{project:{id:t}={}}={},role:{id:l}={},user:{id:o}={}}=e;if(o===i&&l&&t){var s=(0,h.default)(a).call(a,(e=>e.id===l));if(n[t])n[t].roles=[...n[t].roles,s];else{var u=(0,h.default)(r).call(r,(e=>e.id===t));n[t]={project:u,roles:[s]}}}})),n})),(0,I.default)(this,"getSystemRoles",((e,t,a,r)=>{var n=[],{id:i}=e||{};return(0,m.default)(t).call(t,(e=>{var{role:{id:t}={},user:{id:r}={}}=e;if(r===i&&t){var l=(0,h.default)(a).call(a,(e=>e.id===t));n.push(l)}})),n})),(0,I.default)(this,"updateUser",((e,t,a,r,n,i)=>{this.getUserDefaultProject(e,n);var l=this.getProjectMapRoles(e,t,r,n),o=this.getSystemRoles(e,a,r,n),s=(0,h.default)(i).call(i,(t=>t.id===e.domain_id));return R(R({},e),{},{projects:l,projectCount:(0,g.default)(l).length,domain:s,domainName:(s||{}).name||e.domain_id,systemRoles:o})}))}get client(){return P.default.keystone.users}get domainClient(){return P.default.keystone.domains}get systemGroupClient(){return P.default.keystone.systemGroups}get roleClient(){return P.default.keystone.roles}get roleAssignmentClient(){return P.default.keystone.roleAssignments}get projectClient(){return P.default.keystone.projects}get systemUserClient(){return P.default.keystone.systemUsers}get groupClient(){return P.default.keystone.groups}listFetchByClient(e,t){var{groupId:a}=t;return a?this.groupClient.users.list(a,e):this.client.list(e)}get paramsFunc(){return e=>{var{id:t,projectId:a,groupId:r,roleId:n,withProjectRole:i,withSystemRole:l,all_projects:o}=e;return(0,x.default)(e,["id","projectId","groupId","roleId","withProjectRole","withSystemRole","all_projects"])}}create(e){var t=this;return(0,S.default)((function*(){var a,r={},{select_project:n,select_user_group:i=[],projectRoles:l,defaultRole:o}=e,s=(0,x.default)(e,["select_project","select_user_group","projectRoles","defaultRole"]);r[t.responseKey]=s,t.isSubmitting=!0;var u=yield t.client.create(r),{user:{id:d}}=u,c=[];return(0,m.default)(i).call(i,(e=>{c.push(t.addGroupUsers(e,d))})),(0,m.default)(a=(0,g.default)(l)).call(a,(e=>{var a=l[e];(0,m.default)(a).call(a,(a=>{c.push(t.addProjectUser(e,d,a))}))})),yield v.default.all(c),t.isSubmitting=!1,u}))()}getUserProjects(){var e=this;return(0,S.default)((function*(){e.userProjects.update({isLoading:!0});var{user:{user:{id:t}}}=T.default,{projects:a}=yield e.client.projects.list(t);return e.userProjects.update({data:a,isLoading:!1}),a}))()}listDidFetch(e,t,a){var r=this;return(0,S.default)((function*(){if(!e.length)return e;var{withProjectRole:t=!0,withDefaultProject:n=!0,withSystemRole:i=!0,projectId:l,roleId:o,domain_id:s}=a,u=t||i,d={};o&&(d["role.id"]=o),l&&(d["scope.project.id"]=l);var c=[t?r.roleAssignmentClient.list(d):null,i?r.roleAssignmentClient.list({"scope.system":"all"}):null,u?r.roleClient.list():null,t||n?r.projectClient.list():null,s?null:r.domainClient.list()],[f,p,m,g,_]=yield v.default.all(c),{roles:S=[]}=m||{},{domains:x=[]}=_||{},{role_assignments:w=[]}=f||{},{role_assignments:I=[]}=p||{},{projects:C=[]}=g||{},k=(0,y.default)(e).call(e,(e=>r.updateUser(e,w,I,S,C,x)));return l?(0,b.default)(k).call(k,(e=>!!e.projectCount)):o?(0,b.default)(k).call(k,(e=>{var{projectCount:t,systemRoles:a}=e;return!!t||!!(0,h.default)(a).call(a,(e=>e.id===o))})):k}))()}fetchUserDefaultProject(e){var t=this;return(0,S.default)((function*(){var{default_project_id:a}=e;if(!a)return null;try{var{project:r}=yield t.projectClient.show(a);return r}catch(e){return null}}))()}detailDidFetch(e){var t=this;return(0,S.default)((function*(){var{id:a}=e,r={"user.id":a,"scope.system":"all"},n=[t.roleAssignmentClient.list(r),t.roleClient.list(),t.domainClient.list(),t.fetchUserDefaultProject(e)],[i,l,o,s]=yield v.default.all(n),{roles:u=[]}=l||{},{domains:d=[]}=o,{role_assignments:c=[]}=i||{};return t.updateUser(e,[],c,u,s?[s]:[],d)}))()}enable(e){var t=this;return(0,S.default)((function*(){var{id:a}=e;return t.submitting(t.client.patch(a,{user:{enabled:!0}}))}))()}forbidden(e){var t=this;return(0,S.default)((function*(){var{id:a}=e;return t.submitting(t.client.patch(a,{user:{enabled:!1}}))}))()}changePassword(e){var t=this;return(0,S.default)((function*(){var{id:a,password:r}=e,n={user:{password:r}};return t.submitting(t.client.patch(a,n))}))()}changePasswordUser(e){var t=this;return(0,S.default)((function*(){var{id:a,password:r,original_password:n}=e,i={user:{password:r,original_password:n}};return t.submitting(t.client.updatePassword(a,i))}))()}assignSystemRole(e){var t=this;return(0,S.default)((function*(){var{id:a,roleId:r}=e;return t.systemUserClient.roles.update(a,r)}))()}deleteSystemRole(e){var t=this;return(0,S.default)((function*(){var{id:a,roleId:r}=e;return t.systemUserClient.roles.delete(a,r)}))()}edit(e,t){var a=this;return(0,S.default)((function*(){var{email:r,phone:n,real_name:i,description:l,name:o}=t,s={user:{email:r,phone:n,real_name:i,description:l,name:o}};return a.submitting(a.client.patch(e,s))}))()}setDefaultProject(e,t){var a=this;return(0,S.default)((function*(){var r={user:{default_project_id:t}};return a.submitting(a.client.patch(e,r))}))()}},p=(0,C.default)(f.prototype,"userProjects",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new D.default}}),(0,C.default)(f.prototype,"create",[k.action],(0,_.default)(f.prototype,"create"),f.prototype),(0,C.default)(f.prototype,"getUserProjects",[k.action],(0,_.default)(f.prototype,"getUserProjects"),f.prototype),(0,C.default)(f.prototype,"enable",[k.action],(0,_.default)(f.prototype,"enable"),f.prototype),(0,C.default)(f.prototype,"forbidden",[k.action],(0,_.default)(f.prototype,"forbidden"),f.prototype),(0,C.default)(f.prototype,"changePassword",[k.action],(0,_.default)(f.prototype,"changePassword"),f.prototype),(0,C.default)(f.prototype,"changePasswordUser",[k.action],(0,_.default)(f.prototype,"changePasswordUser"),f.prototype),(0,C.default)(f.prototype,"assignSystemRole",[k.action],(0,_.default)(f.prototype,"assignSystemRole"),f.prototype),(0,C.default)(f.prototype,"deleteSystemRole",[k.action],(0,_.default)(f.prototype,"deleteSystemRole"),f.prototype),(0,C.default)(f.prototype,"edit",[k.action],(0,_.default)(f.prototype,"edit"),f.prototype),(0,C.default)(f.prototype,"setDefaultProject",[k.action],(0,_.default)(f.prototype,"setDefaultProject"),f.prototype),f);t.UserStore=j;var F=new j;t.default=F},1258:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getPortsAndReasons=function(e,a){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return(0,h.default)(e).call(e,(e=>{var n=!0,i="",l=e.fixed_ip_address;if(D(l))if(e["router:external"])i=t("Is external network port"),n=!1;else if(e.floatingIP){var o;i=(0,m.default)(o="".concat(t("Is associate to floating ip: ")," ")).call(o,e.floatingIP),n=!1}else(0,g.default)(a).call(a,(t=>t.subnet_id===e.subnet_id))<0&&(i="".concat(r?t("It is unreachable for this floating ip."):t("It is unreachable for all floating ips.")),n=!1);else i="".concat(t("It is IPv6 type.")),n=!1;return k(k({},e),{},{key:l,name:l,available:n,reason:i})}))},a.getPortsForPortFormItem=function(e){this.portStore.fetchList({device_owner:e,project_id:this.currentProjectId})},a.getPortFormItem=function(){var e,a=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],{portFixedIPs:r,fixedIpLoading:n}=this.state,i=[{label:t("Name"),name:"name"},{label:t("Fixed IP"),name:"fixed_ips",filterFunc:(e,t)=>{var a;return(0,v.default)(a=e||[]).call(a,(e=>{var a;return(0,y.default)(a=e.ip_address).call(a,t)}))}}];a&&i.push({label:t("Bind Resource Name"),name:"server_name"},{label:t("Status"),name:"status",options:(0,b.default)(e=(0,w.getOptions)(P)).call(e,(e=>{var t;return(0,y.default)(t=["ACTIVE","DOWN"]).call(t,e.key)}))});var l=[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("portDetail")},{title:t("Description"),dataIndex:"description"},{title:t("Fixed IPs"),dataIndex:"fixed_ips",render:e=>S.default.createElement(S.default.Fragment,null,(0,h.default)(e).call(e,((e,t)=>S.default.createElement("div",{key:"ip_address_".concat(t)},e.ip_address))))},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}];if(a){var o=[{title:t("Status"),dataIndex:"status",valueMap:P},{title:t("Bind Resource"),dataIndex:"server_name",render:(e,t)=>{var{device_id:a}=t;if(!a)return"-";var r=this.getLinkRender("instanceDetail",a,{id:a},{tab:"interface"});return S.default.createElement(S.default.Fragment,null,r,S.default.createElement("br",null),e||"-")}}];(0,_.default)(l).call(l,4,0,...o)}return[{name:"virtual_adapter",label:t("Virtual Adapter"),type:"select-table",required:!0,rowKey:"id",data:this.portStore.list.data||[],isLoading:this.portStore.list.isLoading,disabledFunc:this.portsDisableFunc,onChange:this.handlePortSelect,isMulti:!1,filterParams:i,columns:l},{name:"fixed_ip_address",label:t("Fixed IP"),type:"select-table",rowKey:"fixed_ip_address",required:!0,data:r,isLoading:n,isMulti:!1,filterParams:[{label:t("Ip Address"),name:"name"}],columns:[{title:t("Ip Address"),dataIndex:"name"},{title:t("Subnet ID"),dataIndex:"subnet_id"},{title:t("Reason"),dataIndex:"reason"}],disabledFunc:e=>!e.available}]},a.instancePortOptions=a.portFilter=a.getPortColumns=a.portFilters=a.portColumns=a.portSortProps=a.bindingTypes=a.portState=a.portStatus=void 0;var p=f(r(35)),h=f(r(54)),m=f(r(77)),g=f(r(1390)),v=f(r(232)),y=f(r(164)),b=f(r(29)),_=f(r(573)),S=f(r(0)),x=r(565),w=r(163),I=r(418);function C(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t(0,h.default)(e).call(e,(e=>S.default.createElement("div",{key:e},e))),sorter:!1},{title:t("IPv6 Address"),dataIndex:"ipv6",render:e=>(0,h.default)(e).call(e,(e=>S.default.createElement("div",{key:e},e))),sorter:!1},{title:t("Mac Address"),dataIndex:"mac_address",sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:P,sorter:!1}];a.portColumns=M;var N=[{label:t("Name"),name:"name"}];a.portFilters=N;var E=e=>[{title:t("Port"),dataIndex:"id"},{title:t("Bind Resource"),dataIndex:"server_name",render:(t,a)=>{var{device_id:r,device_owner:n}=a;if(r&&"compute:nova"===n){var i,l=t?(0,m.default)(i="".concat(r," (")).call(i,t,")"):r,o=e.getLinkRender("instanceDetail",l,{id:a.device_id},{tab:"interface"});return S.default.createElement(S.default.Fragment,null,a.device_owner,S.default.createElement("br",null),o)}return S.default.createElement(S.default.Fragment,null,a.device_owner,a.device_owner&&S.default.createElement("br",null),a.device_id||"-")},isHideable:!0,sorter:!1},{title:t("Owned Network"),dataIndex:"network_id",routeName:e.getRouteName("networkDetail"),sorter:!1,render:t=>{var a=e.getLinkRender("networkDetail",t,{id:t});return S.default.createElement(S.default.Fragment,null,a)}},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Status"),dataIndex:"status",width:80,valueMap:P}];a.getPortColumns=E;var R=[{label:t("Network"),name:"network_id"},{label:t("Status"),name:"status",options:(0,w.getOptions)(P)}];a.portFilter=R;a.instancePortOptions=e=>({columns:E(e),filterParams:R})},1259:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.FlavorStore=void 0;var f,p,h=c(a(164)),m=c(a(63)),g=c(a(584)),v=c(a(3566)),y=c(a(29)),b=c(a(54)),_=c(a(86)),S=c(a(422)),x=c(a(77)),w=c(a(28)),I=c(a(25)),C=c(a(49)),k=c(a(58)),D=c(a(74)),P=c(a(35)),T=c(a(55)),A=(c(a(75)),a(36)),M=c(a(50)),N=c(a(53));function E(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function R(e){for(var t=1;t{var{extra_specs:t={}}=e||{},a=t["pci_passthrough:alias"],r=t["resources:VGPU"],n=t[":category"],i="-",l="-",o="-",s="-";if(r&&(i=(r||"").split(":")[0],l=(r||"").split(":")[1]),a)if(n&&!(0,h.default)(n).call(n,"visualization_")){var u=a.split(",")[0],d=a.split(",")[1];i=u.split(":")[0],l=u.split(":")[1],d&&(o=d.split(":")[0],s=d.split(":")[1])}else{var c=a.split(",")[0];o=c.split(":")[0],s=c.split(":")[1]}return{gpuType:i,gpuCount:l,usbType:o,usbCount:s}}))}get listWithDetail(){return!0}get client(){return M.default.nova.flavors}get mapperBeforeFetchProject(){return e=>{var{extra_specs:{key:t}={}}=e,a=(0,k.default)(e.extra_specs,["key"]),r=(0,k.default)(e,["extra_specs"]),n=this.getGpuInfo(e);return R(R(R(R({},r),a),{},{architecture:a[":architecture"]||"custom",category:a[":category"]},n),{},{is_public:r["os-flavor-access:is_public"],originData:e})}}get paramsFunc(){return e=>{var{all_projects:t,name:a}=e,r=(0,k.default)(e,["all_projects","name"]);return t?R(R({},r),{},{is_public:"None"}):R({name:a},r)}}listDidFetch(e,t,a){return(0,C.default)((function*(){var{tab:t}=a,r=[],n="EUR";yield new m.default((e=>{var t=a=>{"https://baha-dev.felcloud.io"===a.origin&&"SET_CURRENCY"===a.data.type&&(n=a.data.value||"EUR",window.removeEventListener("message",t),e())};window.addEventListener("message",t),window.parent.postMessage({type:"REQUEST_CURRENCY"},"*"),(0,g.default)(e,1e3)}));try{var i=yield fetch("https://baha-dev.felcloud.io/all_flavors");if(!i.ok)throw new Error("HTTP error! Status: ".concat(i.status));var l=yield i.json();r=(0,v.default)(l).call(l,(e=>e.compute))}catch(t){return e}var o=t?(0,y.default)(e).call(e,(e=>e.architecture===t)):e;return o=(0,b.default)(o).call(o,(e=>{var t=(0,_.default)(r).call(r,(t=>t.flavor===e.name));if(t){var a,i,l,o,s=(0,_.default)(a=t.price).call(a,(e=>e.name===n))||(0,_.default)(i=t.price).call(i,(e=>"EUR"===e.name)),u=(s?(0,S.default)(s.value):0).toFixed(3),d=(u/3600).toFixed(5),c=(24*u*30).toFixed(3);return R(R({},e),{},{pricePerSecond:(0,x.default)(l="".concat(d," ")).call(l,n),pricePerMonth:(0,x.default)(o="".concat(c," ")).call(o,n),profileCurrency:n})}return e}))}))()}fetchAccess(e){var t=this;return(0,C.default)((function*(){var a=yield t.client.access.list(e);t.access=a.flavor_access}))()}create(e,t,a){var r=this;return(0,C.default)((function*(){var n={};n[r.responseKey]=e;try{r.isSubmitting=!0;var i=yield r.client.create(n),{id:l}=i.flavor,o={extra_specs:t};return a&&a.length>0&&(yield m.default.all((0,b.default)(a).call(a,(e=>{var t={addTenantAccess:{tenant:e}};return r.client.action(l,t)})))),r.submitting(r.client.extraSpecs.create(l,o))}catch(e){return r.isSubmitting=!1,m.default.reject(e)}}))()}updateAccess(e,t,a){var r=this;return(0,C.default)((function*(){return r.isSubmitting=!0,yield m.default.all((0,b.default)(t).call(t,(t=>{var a={addTenantAccess:{tenant:t}};return r.client.action(e,a)}))),r.submitting(m.default.all((0,b.default)(a).call(a,(t=>{var a={removeTenantAccess:{tenant:t}};return r.client.action(e,a)}))))}))()}createExtraSpecs(e,t){var a=this;return(0,C.default)((function*(){var r={extra_specs:t};return a.submitting(a.client.extraSpecs.create(e,r))}))()}deleteExtraSpecs(e,t){var a=this;return(0,C.default)((function*(){return a.submitting(a.client.extraSpecs.delete(e,t))}))()}putExtraSpecs(e,t,a){var r=this;return(0,C.default)((function*(){return r.submitting(r.client.extraSpecs.update(e,t,a))}))()}updateExtraSpecs(e){var t=arguments,a=this;return(0,C.default)((function*(){var r=t.length>1&&void 0!==t[1]?t[1]:[],n=t.length>2&&void 0!==t[2]?t[2]:[],i=t.length>3&&void 0!==t[3]?t[3]:[];if(r.length>0){var l={};(0,w.default)(r).call(r,(e=>{l[e.key]=e.value})),yield a.createExtraSpecs(e,l)}return n.length>0&&(yield m.default.all((0,b.default)(n).call(n,(t=>a.putExtraSpecs(e,t.key,{[t.key]:t.value}))))),i.length>0&&(yield m.default.all((0,b.default)(i).call(i,(t=>a.deleteExtraSpecs(e,t))))),m.default.resolve()}))()}},p=(0,T.default)(f.prototype,"access",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,T.default)(f.prototype,"fetchAccess",[A.action],(0,I.default)(f.prototype,"fetchAccess"),f.prototype),(0,T.default)(f.prototype,"create",[A.action],(0,I.default)(f.prototype,"create"),f.prototype),(0,T.default)(f.prototype,"updateAccess",[A.action],(0,I.default)(f.prototype,"updateAccess"),f.prototype),(0,T.default)(f.prototype,"createExtraSpecs",[A.action],(0,I.default)(f.prototype,"createExtraSpecs"),f.prototype),(0,T.default)(f.prototype,"deleteExtraSpecs",[A.action],(0,I.default)(f.prototype,"deleteExtraSpecs"),f.prototype),(0,T.default)(f.prototype,"putExtraSpecs",[A.action],(0,I.default)(f.prototype,"putExtraSpecs"),f.prototype),(0,T.default)(f.prototype,"updateExtraSpecs",[A.action],(0,I.default)(f.prototype,"updateExtraSpecs"),f.prototype),f);t.FlavorStore=j;var F=new j;t.default=F},1263:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.BaseLayout=void 0;var i=a(0),l=a(412),o=n(a(416));class s extends i.Component{constructor(e){super(e),this.routes=e.route.routes}render(){var{isAdminPage:e,sliderCollapsed:t}=this.props,a={isAdminPage:e,sliderCollapsed:t};return(0,o.default)(this.routes,a)}}t.BaseLayout=s;var u=(0,l.inject)("rootStore")((0,l.observer)(s));t.default=u},1264:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getFlavorSearchFilters=a.getFlavorArchInfo=a.isBareMetalFlavor=a.isBareMetal=a.getFamilyItemValue=a.getAllArchitecture=a.gpuColumns=a.cpuArchColumn=a.extraColumns=a.getBaseColumns=a.isComputeOptimized=a.isGpuVisual=a.isGpuCategory=a.categoryHasEphemeral=a.categoryHasIOPS=a.hasEphemeralTypes=a.hasIOPSTypes=a.flavorCategoryList=a.bareMetalCategoryList=a.heterogeneousCategoryList=a.armCategoryList=a.ironicCategoryList=a.x86CategoryList=a.flavorArchitectures=a.pageTypeMap=a.pageTypeList=a.cpuThreadPolicyMap=a.cpuThreadPolicyList=a.cpuPolicyList=void 0;var p=f(r(91)),h=f(r(86)),m=f(r(28)),g=f(r(77)),v=f(r(164)),y=f(r(35)),b=r(163);function _(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;te&&(0,p.default)(R).call(R,e)>=0;a.categoryHasEphemeral=e=>e&&(0,p.default)(j).call(j,e)>=0;a.isGpuCategory=e=>e&&(0,p.default)(e).call(e,"_gpu")>=0;a.isGpuVisual=e=>"visualization_compute_optimized_type_with_gpu"===e;a.isComputeOptimized=e=>"compute_optimized_type"===e;a.getBaseColumns=e=>[{title:t("ID/Name"),dataIndex:"name",routeName:e?e.getRouteName("flavorDetail"):""},{title:t("Category"),dataIndex:"category",valueMap:E},{title:t("CPU"),dataIndex:"vcpus",isHideable:!0},{title:t("Memory"),dataIndex:"ram",isHideable:!0,render:e=>(0,b.formatSize)(e,2)},{title:t("Internal Network Bandwidth (Gbps)"),dataIndex:"quota:vif_outbound_average",isHideable:!0,width:120,render:e=>e?e/1e3/125:"-"},{title:t("Ephemeral Disk (GiB)"),dataIndex:"OS-FLV-EXT-DATA:ephemeral",isHideable:!0},{title:t("Storage IOPS"),dataIndex:"quota:disk_total_iops_sec",isHideable:!0,render:e=>e||"-"},{title:"Price / second",dataIndex:"pricePerSecond",isHideable:!0},{title:"Price / month",dataIndex:"pricePerMonth",isHideable:!0}];var F=[{title:t("Public"),dataIndex:"is_public",isHideable:!0,valueRender:"yesNo"}];a.extraColumns=F;var L={title:t("CPU Arch"),dataIndex:"cpu_arch",isHideable:!0};a.cpuArchColumn=L;var O=[{title:t("GPU Type"),dataIndex:"gpuType",isHideable:!0},{title:t("GPU Count"),dataIndex:"gpuCount",isHideable:!0},{title:t("NUMA Nodes"),dataIndex:"hw:numa_nodes",isHideable:!0},{title:t("CPU Policy"),dataIndex:"hw:cpu_policy",isHideable:!0,valueMap:x},{title:t("CPU Thread Policy"),dataIndex:"hw:cpu_thread_policy",isHideable:!0,valueMap:I},{title:t("Memory Page"),dataIndex:"hw:mem_page_size",isHideable:!0,valueMap:k}];a.gpuColumns=O;a.getAllArchitecture=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=[];try{var r,n,i=(0,h.default)(r=e||[]).call(r,(e=>"flavor_families"===e.key));(0,m.default)(n=i&&i.value||[]).call(n,(e=>{e.architecture&&a.push(e.architecture)}))}catch(e){}return t&&a.push("custom"),a};a.getFamilyItemValue=e=>{var t,a=(0,h.default)(t=e||[]).call(t,(e=>"flavor_families"===e.key));return a?a.value:[]};var z=e=>"bare_metal"===e;a.isBareMetal=z;a.isBareMetalFlavor=e=>{var{extra_specs:t={}}=e.originData||e||{};return z(t[":architecture"])||"required"===t["trait:CUSTOM_GOLD"]};a.getFlavorArchInfo=e=>{var t,{architecture:a="",category:r=""}=e||{};return a?"custom"===a?D[a]:(0,g.default)(t="".concat(D[a]||a," - ")).call(t,E[r]||r):"-"};a.getFlavorSearchFilters=e=>{var a=[{label:t("Name"),name:"name"},{label:t("CPU"),name:"vcpus",filterFunc:(e,t)=>{var a;return(0,v.default)(a="".concat(e)||"").call(a,t)}},{label:t("Memory"),name:"ram",filterFunc:(e,t)=>{var a;return(0,v.default)(a=(0,b.formatSize)(e,2)||"").call(a,t)}}];return e&&a.push({label:t("Category"),name:"category",options:(0,b.getOptions)(e)}),a}},1265:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.projectTableOptions=a.projectColumns=a.projectFilter=void 0;var l=i(r(0)),o=r(342),s=r(418),u=[{label:t("Project Name"),name:"name"},{label:t("Project ID"),name:"id"},{label:t("Domain Name"),name:"domainName"},{label:t("Domain ID"),name:"domain_id"},{label:t("Enabled"),name:"enabled",options:o.yesNoOptions}];a.projectFilter=u;var d=[{title:t("Project ID/Name"),dataIndex:"name",render:(e,t)=>{var a=(0,s.getIdRender)(t.id,!0,!1);return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",null,a),l.default.createElement("div",null,e))}},{title:t("Domain ID/Name"),dataIndex:"domainName",render:(e,t)=>{var a=(0,s.getIdRender)(t.domain_id,!0,!1);return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",null,a),l.default.createElement("div",null,e))}},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"},{title:t("description"),dataIndex:"description",isHideable:!0}];a.projectColumns=d;var c={filterParams:u,columns:d};a.projectTableOptions=c},1266:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=void 0;var h=p(r(1582));r(1246);var m=p(r(1247));r(1244);var g=p(r(1245));r(569);var v=p(r(1253)),y=p(r(35)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(0)),_=(r(161),p(r(16)));r(564);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{onChange:t}=this.props;t&&t(e)})),(0,y.default)(this,"onKeyChange",(e=>{this.onChange(w(w({},this.state),{},{key:e.target.value}))})),(0,y.default)(this,"onValueChange",(e=>{this.onChange(w(w({},this.state),{},{value:e.target.value}))})),this.state={key:"",value:""}}static getDerivedStateFromProps(e,t){var{key:a,value:r}=e.value||{};return a!==t.key||r!==t.value?{key:a,value:r}:null}renderInput(e,t,a){var{isTextarea:r=!1,textareaRows:n}=this.props,i={value:e,placeholder:t,onChange:this.onValueChange,readOnly:a,required:!0};return r?(i.rows=n,b.default.createElement(v.default.TextArea,i)):b.default.createElement(v.default,i)}render(){var{key:e,value:a}=this.state,{keyReadonly:r,valueReadonly:n,keySpan:i,valueSpan:l,keyPlaceholder:o=t("Please input key"),valuePlaceholder:s=t("Please input value"),middleComponent:u}=this.props,d=b.default.createElement("div",{style:{textAlign:"center",lineHeight:"30px",margin:"0 10px"}},u);return b.default.createElement(m.default,null,b.default.createElement(g.default,{span:i||4},b.default.createElement(v.default,{value:e,placeholder:o,onChange:this.onKeyChange,readOnly:r,required:!0})),d,b.default.createElement(g.default,{span:l||8},this.renderInput(a,s,n)))}}a.default=I,(0,y.default)(I,"propTypes",{onChange:_.default.func,value:_.default.object,keyReadonly:_.default.bool,valueReadonly:_.default.bool,keySpan:_.default.number,valueSpan:_.default.number,middleComponent:_.default.node,isTextarea:_.default.bool,textareaRows:_.default.number}),(0,y.default)(I,"defaultProps",{onChange:null,value:{key:"",value:""},keyReadonly:!1,valueReadonly:!1,middleComponent:b.default.createElement(h.default,{rotate:90}),isTextarea:!1,textareaRows:2})},1267:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getRoutersWithIDAndExtInfo=P,a.getLinkedRouterIdsByFip=function(e,t){return A.apply(this,arguments)},a.getCanReachSubnetIdsWithRouterId=M,a.getCanReachSubnetIdsWithRouterIdInComponent=function(e){return E.apply(this,arguments)},a.getRouterSelectTablePropsBackend=a.routerSortProps=a.routerFilters=a.getRouterColumns=a.getRouterState=a.routerState=a.routerStatus=void 0;var p=f(r(49)),h=f(r(35)),m=f(r(54)),g=f(r(29)),v=f(r(0)),y=f(r(575)),b=r(1273),_=r(163);function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function x(e){for(var t=1;te?t("Up"):t("Down");var C=e=>[{title:t("ID/Name"),dataIndex:"name",routeName:e.getRouteName("routerDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!e.isAdminPage,sortKey:"project_id"},{title:t("Status"),dataIndex:"status",valueMap:w},{title:t("Open External Gateway"),dataIndex:"hasExternalGateway",valueRender:"yesNo",isHideable:!0,sorter:!1},{title:t("External Network ID/Name"),dataIndex:"externalNetworkName",isHideable:!0,sorter:!1,isLink:!0,idKey:"externalNetworkId",routeName:e.getRouteName("networkDetail")},{title:t("External Fixed IP"),dataIndex:"externalFixedIps",isHideable:!0,sorter:!1,render:e=>(0,m.default)(e).call(e,(e=>v.default.createElement("div",{key:e.ip_address},e.ip_address)))||"-",stringify:e=>(0,m.default)(e).call(e,(e=>e.ip_address)).join(",")||"-"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime",isHideable:!0,sorter:!1}];a.getRouterColumns=C;var k=[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:(0,_.getOptions)(w)}];a.routerFilters=k;var D={isSortByBack:!0,defaultSortKey:"status",defaultSortOrder:"descend"};a.routerSortProps=D;function P(e){return T.apply(this,arguments)}function T(){return(T=(0,p.default)((function*(e){var t={fields:["id","external_gateway_info"],project_id:e};return yield y.default.pureFetchList(t)}))).apply(this,arguments)}function A(){return(A=(0,p.default)((function*(e,t){var a,r=yield P(e);return(0,m.default)(a=(0,g.default)(r).call(r,(e=>e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id))).call(a,(e=>e.id))}))).apply(this,arguments)}function M(e,t){return N.apply(this,arguments)}function N(){return(N=(0,p.default)((function*(e,t){var a=yield P(e);t&&(a=(0,g.default)(a).call(a,t));var r=yield(0,b.getPortsWithFixedIPs)();return{canReachSubnetIdsWithRouterId:(0,b.getSubnetToRouter)(r,a),routerIdWithExternalNetworkInfo:a}}))).apply(this,arguments)}function E(){return(E=(0,p.default)((function*(e){var{canReachSubnetIdsWithRouterId:t,routerIdWithExternalNetworkInfo:a}=yield M(this.currentProjectId,e);return this.setState({canReachSubnetIdsWithRouterId:t,routerIdWithExternalNetworkInfo:a}),t}))).apply(this,arguments)}a.getRouterSelectTablePropsBackend=e=>x(x({},D),{},{columns:C(e),filterParams:k})},1270:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(234)),o=i(r(77));r(1751);var s=i(r(656)),u=i(r(616)),d=i(r(619)),c=i(r(618)),f=i(r(606)),p=i(r(134)),h=i(r(177)),m=i(r(0)),g=(r(161),i(r(16))),v=(r(564),i(r(1373))),y=i(r(1500)),b=i(r(133)),_=r(163),S=r(1773),x=r(1774),w=i(r(1778)),I=e=>{var{title:a=t("Error"),type:r="error",description:n="",onClose:i,top:l=48}=e,o="#F5222D",p=null;"info"===r?(o=globalCSS.primaryColor,p=m.default.createElement(f.default,{theme:"filled",style:{color:o}})):"success"===r?(o=globalCSS.successColor,p=m.default.createElement(c.default,{theme:"filled",style:{color:o}})):"error"===r?(o=globalCSS.errorColor,p=m.default.createElement(d.default,{theme:"filled",style:{color:o}})):"process"===r?(o=globalCSS.primaryColor,p=m.default.createElement(u.default,{style:{color:o}})):"warn"===r&&(o=globalCSS.warnColor,p=m.default.createElement(f.default,{theme:"filled",style:{color:o}}));var h="error"===r||"warn"===r?0:4.5;s.default.open({message:(0,_.unescapeHtml)(a),duration:h,icon:p,description:(0,_.unescapeHtml)(n),className:w.default.notify,onClose:i,top:l,style:{whiteSpace:"pre-line"}})};I.propTypes={title:g.default.string,type:g.default.string,description:g.default.string};var C=(e,t)=>{b.default.addNoticeCount(),I({title:e,description:t,type:"error",onClose:()=>{b.default.removeNoticeCount()}})},k={open:I,success:(e,t)=>{I({title:e,description:t,type:"success"})},error:C,warn:(e,t)=>{I({title:e,description:t,type:"warn"})},info:(e,t)=>{I({title:e,description:t,type:"info"})},process:(e,t)=>{I({title:e,description:t,type:"process"})},errorWithDetail:(e,a)=>{var r,{status:n,message:i}=e||{},s=a;if(n&&(0,l.default)(n,10)>=500)if((0,h.default)(i)||S.statusMap[n])s+=S.statusMap[n];else{var u,d;if((0,p.default)(i))s+=(0,o.default)(d="".concat(t("message"))).call(d,t("."));else if(i.reason){var c;s+=(0,o.default)(c="".concat(t("message.reason"))).call(c,t("."))}s+=(0,o.default)(u="".concat(t("Status Code"),": ")).call(u,n)}else{var f=e&&(0,p.default)(e)?(0,x.decode)(e,{level:"html5"}):e;r=e?m.default.createElement(y.default,{style:{float:"right"},buttonType:"link",buttonText:t("Click to show detail"),component:m.default.createElement(v.default,{className:w.default["code-editor"],value:f,mode:"json",options:{readOnly:!0}})}):""}C(s,r)}};a.default=k},1273:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.getSubnetToRouter=function(e,t){var a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=[];return(0,l.default)(e).call(e,(e=>{var n;(0,o.default)(t).call(t,(t=>!(a&&!t.external_gateway_info)&&t.id===e.device_id))&&(0,l.default)(n=e.fixed_ips).call(n,(t=>{r.push({subnet_id:t.subnet_id,router_id:e.device_id})}))})),r},a.getPortsWithFixedIPs=function(){return C.apply(this,arguments)},a.getInterfaceWithReason=function(e){return k.apply(this,arguments)},a.saveAndBuildPromisesFromInterfaces=D,a.getReasonForExternalNetworkPortOrAlreadyBindFip=T,a.getFipsFromRouterId=M,a.handleFixedIPChange=function(e){return E.apply(this,arguments)},a.getPortForwardingName=a.portForwardingProtocols=a.getFIPFormItemForAssociate=a.disableFIPAssociate=a.getFIPFormItemExtra=a.getFixedIPFormItemForAssociate=a.transitionStatuses=a.resourceType=a.floatingIpStatus=void 0;var l=i(r(28)),o=i(r(86)),s=i(r(77)),u=i(r(63)),d=i(r(232)),c=i(r(164)),f=i(r(54)),p=i(r(29)),h=i(r(1387)),m=i(r(49)),g=i(r(177)),v=i(r(582)),y=i(r(233)),b=r(565),_=i(r(346)),S=r(1393),{isIPv4:x}=b.ipValidate,w={AVAILABLE:t("Available"),PENDING:t("Pending"),ACTIVE:t("Active"),ERROR:t("Error"),DOWN:t("Down")};a.floatingIpStatus=w;var I={compute:t("Instance"),Octavia:t("Load Balancer"),"network:router_gateway":t("Router"),database:t("Database Instance"),null:"-"};a.resourceType=I;function C(){return(C=(0,m.default)((function*(){return yield v.default.pureFetchList({device_owner:["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"],fields:["fixed_ips","device_id","device_owner"]})}))).apply(this,arguments)}function k(){return(k=(0,m.default)((function*(e){var[t,a,r]=yield D(e);return yield T(t,a,r)}))).apply(this,arguments)}function D(e){return P.apply(this,arguments)}function P(){return(P=(0,m.default)((function*(e){var t=[],a=[],r=[];return(0,l.default)(e).call(e,(e=>{var n,i=e.port_id||e.id,o=e.mac_addr||e.mac_address||"",s=e.net_id||e.network_id;(0,l.default)(n=e.fixed_ips).call(n,(e=>{r.push({port_id:i,fixed_ip_address:e.ip_address,mac_address:o,subnet_id:e.subnet_id,network_id:s}),t.push(y.default.fetchDetail({id:s})),x(e.ip_address)?a.push(_.default.pureFetchList({fixed_ip_address:e.ip_address})):a.push(u.default.resolve([]))}))})),[r,t,a]}))).apply(this,arguments)}function T(e,t,a){return A.apply(this,arguments)}function A(){return(A=(0,m.default)((function*(e,t,a){var r=[...e],n=yield u.default.all(t);(0,l.default)(n).call(n,((e,t)=>{r[t].network_name=e.name}));var i=yield y.default.pureFetchList({"router:external":!0});(0,l.default)(r).call(r,(e=>{(0,d.default)(i).call(i,(t=>{var a;return(0,c.default)(a=t.subnets).call(a,e.subnet_id)}))?e["router:external"]=!0:e["router:external"]=!1}));var o=yield u.default.all(a);return(0,l.default)(o).call(o,((e,t)=>{r[t].floatingIP=e[0]&&e[0].port_id===r[t].port_id&&e[0].floating_ip_address||""})),r}))).apply(this,arguments)}function M(e){return N.apply(this,arguments)}function N(){return(N=(0,m.default)((function*(e){var t,{routerIdWithExternalNetworkInfo:a}=this.state,r=(0,o.default)(a).call(a,(t=>t.id===e.router_id));if(!r.external_gateway_info)return[];var n=r.external_gateway_info.network_id,i=yield _.default.pureFetchList({floating_network_id:n,status:"DOWN",project_id:this.currentProjectId}),l=yield y.default.fetchDetail({id:n});return(0,f.default)(t=(0,p.default)(i).call(i,(e=>!e.fixed_ip_address&&!e.port_details))).call(t,(e=>(e.network_name=l.name,e.name=e.floating_ip_address,e)))}))).apply(this,arguments)}function E(){return(E=(0,m.default)((function*(e){this.setState({fipLoading:!0});var{canReachSubnetIdsWithRouterId:t}=this.state;e.selectedRows.length||this.setState({fixed_ip:null,canAssociateFloatingIPs:[],fipLoading:!1});var a=e.selectedRows[0],r=[],n=(0,p.default)(t).call(t,(e=>e.subnet_id===a.subnet_id)),i=yield u.default.all((0,f.default)(n).call(n,(e=>M.call(this,e))));(0,l.default)(i).call(i,(e=>{r.push(...e)}));var o={};(0,l.default)(r).call(r,(e=>{o[e.id]=e}));var s=(0,h.default)(o);this.setState({fixed_ip:a,canAssociateFloatingIPs:s,fipLoading:!1})}))).apply(this,arguments)}a.transitionStatuses=["PENDING"];a.getFixedIPFormItemForAssociate=(e,a)=>{var{portLoading:r}=a.state;return{name:"fixed_ip",label:e,type:"select-table",required:!0,data:a.ports,isLoading:r,isMulti:!1,filterParams:[{label:t("Ip Address"),name:"name"}],columns:[{title:t("Ip Address"),dataIndex:"name"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Network"),dataIndex:"network_name"},{title:t("Subnet ID"),dataIndex:"subnet_id"},{title:t("Reason"),dataIndex:"reason"}],disabledFunc:e=>!e.available,onChange:a.handleFixedIPChange}};a.getFIPFormItemExtra=()=>(0,S.enablePFW)()?t("The floating IP configured with port forwardings cannot be bound"):"";a.disableFIPAssociate=e=>!!(e.port_forwardings||[]).length;a.getFIPFormItemForAssociate=e=>{var{canAssociateFloatingIPs:a,fipLoading:r}=e.state;return{name:"fip",label:t("Floating Ip Address"),type:"select-table",required:!0,data:a,isLoading:r,isMulti:!1,extra:e.getFIPFormItemExtra(),disabledFunc:e.disableFIPAssociate,filterParams:[{label:t("Floating Ip Address"),name:"name"}],columns:[{title:t("Floating Ip Address"),dataIndex:"name"},{title:t("Network"),dataIndex:"network_name"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}};var R={tcp:t("TCP"),udp:t("UDP")};a.portForwardingProtocols=R;a.getPortForwardingName=function(){var e,t,a,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((0,g.default)(n))return"";var{protocol:l,external_port:o,external_port_range:u,internal_ip_address:d,internal_port:c,internal_port_range:f}=n,p=R[l]||l,h=(0,s.default)(e=(0,s.default)(t="".concat(o||u," => ")).call(t,d,":")).call(e,c||f),m=i?(0,s.default)(a="".concat(i,":")).call(a,h):h;return(0,s.default)(r="".concat(p,": ")).call(r,m)}},1282:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(203)),s=l(a(86)),u=l(a(54));a(1315);var d=l(a(1316)),c=l(a(343)),f=l(a(35)),p=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),h=a(349),m=l(a(4)),g=(a(161),a(163)),v=a(567),y=l(a(1351)),b=l(a(3686));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}class S extends p.Component{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),(0,f.default)(this,"handleFetch",((e,t)=>{this.routing.query(e,t)})),(0,f.default)(this,"handleChangeTab",(e=>{this.handleFetch({tab:e},!0)})),this.options=t,this.state={},this.init()}get routing(){return this.props.rootStore.routing}get location(){return this.props.location||{}}get isAdminPage(){var{pathname:e}=this.location;return(0,g.isAdminPage)(e)}get hasAdminRole(){return this.props.rootStore.hasAdminRole}get endpoint(){return""}get checkEndpoint(){return!1}get name(){return""}get endpointError(){return this.checkEndpoint&&!this.endpoint}getRouteName(e){return this.isAdminPage?"".concat(e,"Admin"):e}getRoutePath(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRouteName(e);return(0,v.getPath)({key:r,params:t,query:a})}getLinkRender(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=this.getRouteName(e);return(0,v.getLinkRender)({key:n,params:a,query:r,value:t})}get tabs(){return[{title:"tab1",key:"tab1",component:null},{title:"tab2",key:"tab2",component:null}]}getTab(){var e,t=(0,h.parse)((0,o.default)(e=this.routing.location.search).call(e,1)),{tab:a}=t;return a}get tab(){var e;if(0===this.tabs.length)return null;var t=this.getTab();return(0,s.default)(e=this.tabs).call(e,(e=>e.key===t))||this.tabs[0]}init(){}renderTabComponent(e){var{component:t,key:a}=e;return t?p.default.createElement(e.component,(0,c.default)({},this.props,{tab:this.tab.key})):p.default.createElement("span",{key:a},a)}renderTab(e,t){return e!==t.key?p.default.createElement(d.default.TabPane,{tab:t.title,key:t.key}):p.default.createElement(d.default.TabPane,{tab:t.title,key:t.key},this.renderTabComponent(t))}renderTabs(){var e;if(!this.tab)return null;if(this.endpointError){var t=this.getRoutePath("overview");return p.default.createElement(y.default,{title:this.name,link:t,endpointError:!0})}var a=(0,u.default)(e=this.tabs).call(e,(e=>this.renderTab(this.tab.key,e)));return p.default.createElement("div",{className:(0,m.default)(b.default.wrapper,this.className)},p.default.createElement(d.default,{activeKey:this.tab.key,onChange:this.handleChangeTab},a))}render(){return this.renderTabs()}}t.default=S},1288:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.GroupStore=void 0;var f,p,h,m,g=c(a(28)),v=c(a(86)),y=c(a(32)),b=c(a(63)),_=c(a(29)),S=c(a(54)),x=c(a(25)),w=c(a(49)),I=c(a(58)),C=c(a(74)),k=c(a(35)),D=c(a(55)),P=(c(a(75)),a(36)),T=c(a(50)),A=c(a(53));function M(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function N(e){for(var t=1;t{var i={},{id:l}=e||{};(0,g.default)(t).call(t,(e=>{var{scope:{project:{id:t}={}}={},group:{id:r}={},role:{id:o}={}}=e;if(r===l&&o){var s=(0,v.default)(a).call(a,(e=>e.id===o));if(t)if(i[t])i[t].roles=[...i[t].roles,s];else{var u=(0,v.default)(n).call(n,(e=>e.id===t));i[t]={project:u,roles:[s]}}}}));var o=(0,v.default)(r).call(r,(t=>t.id===e.domain_id));return N(N({},e),{},{projects:i,projectCount:(0,y.default)(i).length,domain:o,domainName:(o||{}).name||e.domain_id})}))}get client(){return T.default.keystone.groups}get domainClient(){return T.default.keystone.domains}get systemGroupClient(){return T.default.keystone.systemGroups}get roleClient(){return T.default.keystone.roles}get roleAssignmentClient(){return T.default.keystone.roleAssignments}get userClient(){return T.default.keystone.users}get projectClient(){return T.default.keystone.projects}get paramsFunc(){return e=>{var{id:t,userId:a,groupId:r,roleId:n,projectId:i,domainId:l,withRole:o,all_projects:s}=e;return(0,I.default)(e,["id","userId","groupId","roleId","projectId","domainId","withRole","all_projects"])}}listFetchByClient(e,t){var{userId:a}=t;return a?this.userClient.groups.list(a,e):this.client.list(e)}edit(e){var t=this;return(0,w.default)((function*(){var{id:a,description:r,name:n}=e,i={group:{description:r,name:n}};return t.submitting(t.client.patch(a,i))}))()}fetchSystemRole(e){var t=this;return(0,w.default)((function*(){var{id:a}=e;t.systemRoles=[];var r=yield t.systemGroupClient.roles.list(a);t.systemRoles=r.roles}))()}assignSystemRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r}=e;return t.systemGroupClient.roles.update(a,r)}))()}deleteSystemRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r}=e;return t.systemGroupClient.roles.delete(a,r)}))()}fetchDomainRole(e){var t=this;return(0,w.default)((function*(){var{id:a,domain_id:r}=e;t.domainRoles=[];var n=yield t.domainClient.groups.roles.list(r,a);t.domainRoles=n.roles}))()}assignDomainRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r,domain_id:n}=e;return t.domainClient.groups.roles.update(n,a,r)}))()}deleteDomainRole(e){var t=this;return(0,w.default)((function*(){var{id:a,roleId:r,domain_id:n}=e;return t.domainClient.groups.roles.delete(n,a,r)}))()}fetchGroupUsers(e){var t=this;return(0,w.default)((function*(){var{id:a}=e,r=yield t.client.users.list(a),{users:n}=r;return t.groupUsers=n,n}))()}deleteGroupUsers(e){var t=this;return(0,w.default)((function*(){var{id:a,userId:r}=e;return t.client.users.delete(a,r)}))()}addGroupUsers(e){var t=this;return(0,w.default)((function*(){var{id:a,userId:r}=e;return t.client.users.update(a,r)}))()}listDidFetch(e,t,a){var r=this;return(0,w.default)((function*(){if(!e.length)return e;var{projectId:t,roleId:n,domainId:i,withRole:l=!0}=a,o={};t&&(o["scope.project.id"]=t),n&&(o["role.id"]=n);var[s,u,d,c]=yield b.default.all([l?r.roleAssignmentClient.list(o):null,l?r.roleClient.list():null,r.domainClient.list(),l?r.projectClient.list():null]),{roles:f=[]}=u||{},{domains:p=[]}=d,{projects:h=[]}=c||{},{role_assignments:m=[]}=s||{},g=e;return i&&(g=(0,_.default)(e).call(e,(e=>e.domain_id===i))),g=(0,S.default)(g).call(g,(e=>r.updateUserGroup(e,m,f,p,h))),t||n?(0,_.default)(g).call(g,(e=>e.projectCount)):g}))()}detailDidFetch(e){var t=this;return(0,w.default)((function*(){var{id:a}=e,[r,n]=yield b.default.all([t.domainClient.list(),t.client.users.list(a)]),{domains:i=[]}=r,{users:l=[]}=n,o=t.updateUserGroup(e,[],[],i,[]);return o.userCount=l.length,o}))()}},p=(0,D.default)(f.prototype,"systemRoles",[P.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),h=(0,D.default)(f.prototype,"domainRoles",[P.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),m=(0,D.default)(f.prototype,"groupUsers",[P.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,D.default)(f.prototype,"edit",[P.action],(0,x.default)(f.prototype,"edit"),f.prototype),(0,D.default)(f.prototype,"fetchSystemRole",[P.action],(0,x.default)(f.prototype,"fetchSystemRole"),f.prototype),(0,D.default)(f.prototype,"assignSystemRole",[P.action],(0,x.default)(f.prototype,"assignSystemRole"),f.prototype),(0,D.default)(f.prototype,"deleteSystemRole",[P.action],(0,x.default)(f.prototype,"deleteSystemRole"),f.prototype),(0,D.default)(f.prototype,"fetchDomainRole",[P.action],(0,x.default)(f.prototype,"fetchDomainRole"),f.prototype),(0,D.default)(f.prototype,"assignDomainRole",[P.action],(0,x.default)(f.prototype,"assignDomainRole"),f.prototype),(0,D.default)(f.prototype,"deleteDomainRole",[P.action],(0,x.default)(f.prototype,"deleteDomainRole"),f.prototype),(0,D.default)(f.prototype,"fetchGroupUsers",[P.action],(0,x.default)(f.prototype,"fetchGroupUsers"),f.prototype),(0,D.default)(f.prototype,"deleteGroupUsers",[P.action],(0,x.default)(f.prototype,"deleteGroupUsers"),f.prototype),(0,D.default)(f.prototype,"addGroupUsers",[P.action],(0,x.default)(f.prototype,"addGroupUsers"),f.prototype),f);t.GroupStore=E;var R=new E;t.default=R},1291:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.getNeutronAgentServiceStatus=a.getNeutronAgentServiceState=a.serviceState=a.serviceStatus=void 0;var n={enabled:t("Enabled"),disabled:t("Disabled")};a.serviceStatus=n;var i={up:t("Up"),down:t("Down")};a.serviceState=i;a.getNeutronAgentServiceState=e=>e?i.up:i.down;a.getNeutronAgentServiceStatus=e=>e?n.enabled:n.disabled},1292:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.BackupStore=void 0;var f,p,h=c(a(77)),m=c(a(25)),g=c(a(58)),v=c(a(49)),y=c(a(74)),b=c(a(35)),_=c(a(55)),S=(c(a(75)),a(36)),x=c(a(50)),w=c(a(53)),I=a(414);function C(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){for(var t=1;t{var r;t&&a&&(e.sort=(0,h.default)(r="".concat(t,":")).call(r,"descend"===a?"desc":"asc"))}))}get client(){return x.default.cinder.backups}get listWithDetail(){return!0}get mapperBeforeFetchProject(){return e=>k(k({},e),{},{project_id:e.project_id||e["os-backup-project-attr:project_id"]})}detailDidFetch(e){return(0,v.default)((function*(){var{volume_id:t}=e;try{var a=new I.VolumeStore,r=yield a.fetchDetail({id:t});e.volume=r,e.volume_name=r.name}catch(e){}return e}))()}get paramsFuncPage(){return e=>{var{current:t,all_projects:a}=e;return k({all_tenants:a},(0,g.default)(e,["current","all_projects"]))}}restore(e,t){var a={restore:t||{}};return this.submitting(this.client.restore(e,a))}setCurrentVolume(e){var{size:t=0}=e||{};this.currentVolumeSize=t||0}},p=(0,_.default)(f.prototype,"currentVolumeSize",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),(0,_.default)(f.prototype,"restore",[S.action],(0,m.default)(f.prototype,"restore"),f.prototype),(0,_.default)(f.prototype,"setCurrentVolume",[S.action],(0,m.default)(f.prototype,"setCurrentVolume"),f.prototype),f);t.BackupStore=D;var P=new D;t.default=P},1293:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.MetadataStore=void 0;var f,p,h,m=c(a(63)),g=c(a(54)),v=c(a(28)),y=c(a(25)),b=c(a(49)),_=c(a(74)),S=c(a(35)),x=c(a(55)),w=(c(a(75)),a(36)),I=c(a(50)),C=c(a(53));function k(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;t{var{namespace:t}=e;return r.client.show(t,{resource_type:n})})));(0,v.default)(e).call(e,((e,t)=>{e.detail=i[t]}));var l=[];return(0,v.default)(e).call(e,(e=>{var t;e.detail.objects?(0,v.default)(t=e.detail.objects).call(t,(t=>{l.push(D(D({},e),{},{detail:t,isObject:!0,objName:t.name,objDescription:t.description}))})):l.push(e)})),l}))()}get mapper(){return e=>{var{visibility:t,namespace:a,display_name:r,resource_type_associations:n=[]}=e;return(0,v.default)(n).call(n,(e=>{e.prefix=e.prefix||""})),D(D({},e),{},{public:"public"===t,id:a,name:r,resource_type_associations:n})}}fetchDetail(e){var t=this;return(0,b.default)((function*(){var{id:a}=e;t.isLoading=!0;var r=yield t.client.show(a);return t.detail=r,t.isLoading=!1,r}))()}edit(e,t){var{id:a}=e;return this.submitting(this.client.update(a,t))}create(e){return this.submitting(this.client.create(e))}fetchResourceTypes(e){var t=this;return(0,b.default)((function*(){t.resourceTypeLoading=!0;var a=yield t.resourceTypeClient.list(),{resource_type_associations:r=[]}=e||{},{resource_types:n=[]}=a,i={};(0,v.default)(r).call(r,(e=>{i[e.name]=e.prefix||""})),(0,v.default)(n).call(n,(e=>{e.id=e.name,i[e.name]&&(e.prefix=i[e.name])})),t.resourceTypes=n,t.resourceTypeLoading=!1}))()}manageResourceTypes(e,t,a){var r=this;return(0,b.default)((function*(){return r.isSubmitting=!0,yield m.default.all((0,g.default)(t).call(t,(t=>r.client.resourceTypes.delete(e,t.name)))),r.submitting(m.default.all((0,g.default)(a).call(a,(t=>{var a={name:t.name,prefix:t.prefix};return r.client.resourceTypes.create(e,a)}))))}))()}},p=(0,x.default)(f.prototype,"resourceTypes",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),h=(0,x.default)(f.prototype,"resourceTypeLoading",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,x.default)(f.prototype,"fetchDetail",[w.action],(0,y.default)(f.prototype,"fetchDetail"),f.prototype),(0,x.default)(f.prototype,"edit",[w.action],(0,y.default)(f.prototype,"edit"),f.prototype),(0,x.default)(f.prototype,"create",[w.action],(0,y.default)(f.prototype,"create"),f.prototype),(0,x.default)(f.prototype,"fetchResourceTypes",[w.action],(0,y.default)(f.prototype,"fetchResourceTypes"),f.prototype),(0,x.default)(f.prototype,"manageResourceTypes",[w.action],(0,y.default)(f.prototype,"manageResourceTypes"),f.prototype),f);t.MetadataStore=P;var T=new P;t.default=T},1296:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getFormDefaultValues=a.getFormItems=a.getParamsFromContent=a.getFormItemType=a.getTemplate=a.rollbackTip=a.paramTip=a.yamlTip=a.getYaml=a.validateYaml=a.stackStatus=void 0;var p=f(r(63)),h=f(r(28)),m=f(r(32)),g=f(r(35)),v=f(r(102)),y=f(r(177)),b=f(r(570)),_=f(r(1428)),S=r(342);function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}var w={INIT_IN_PROGRESS:t("Init In Progress"),INIT_COMPLETE:t("Init Complete"),INIT_FAILED:t("Init Failed"),CREATE_IN_PROGRESS:t("Create In Progress"),CREATE_COMPLETE:t("Create Complete"),CREATE_FAILED:t("Create Failed"),DELETE_IN_PROGRESS:t("Delete In Progress"),DELETE_COMPLETE:t("Delete Complete"),DELETE_FAILED:t("Delete Failed"),UPDATE_IN_PROGRESS:t("Update In Progress"),UPDATE_COMPLETE:t("Update Complete"),UPDATE_FAILED:t("Update Failed"),ROLLBACK_IN_PROGRESS:t("Rollback In Progress"),ROLLBACK_COMPLETE:t("Rollback Complete"),ROLLBACK_FAILED:t("Rollback Failed"),SUSPEND_IN_PROGRESS:t("Suspend In Progress"),SUSPEND_COMPLETE:t("Suspend Complete"),SUSPEND_FAILED:t("Suspend Failed"),RESUME_IN_PROGRESS:t("Resume In Progress"),RESUME_COMPLETE:t("Resume Complete"),RESUME_FAILED:t("Resume Failed"),ADOPT_IN_PROGRESS:t("Adopt In Progress"),ADOPT_COMPLETE:t("Adopt Complete"),ADOPT_FAILED:t("Adopt Failed"),SNAPSHOT_IN_PROGRESS:t("Snapshot In Progress"),SNAPSHOT_COMPLETE:t("Snapshot Complete"),SNAPSHOT_FAILED:t("Snapshot Failed"),CHECK_IN_PROGRESS:t("Check In Progress"),CHECK_COMPLETE:t("Check Complete"),CHECK_FAILED:t("Check Failed")};a.stackStatus=w;a.validateYaml=(e,a)=>{try{_.default.load(a)}catch(e){return p.default.reject(t("A template is a YAML file that contains configuration information, please enter the correct format."))}return p.default.resolve()};a.getYaml=e=>{try{return _.default.load(e,{schema:_.default.JSON_SCHEMA})}catch(e){return null}};var I=t("A template is a YAML file that contains configuration information.");a.yamlTip=I;var C=t("When your Yaml file is a fixed template, variable variables can be stored in an environment variable file to implement template deployment. The parameters in the environment variable file need to match the parameters defined in the template file.");a.paramTip=C;var k=t('If "Enable" fails to roll back, the resource will be deleted after the creation fails; if "Disable" fails to roll back, the resource will be retained after the creation fails.');a.rollbackTip=k;a.getTemplate=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{content:t}=e;return t};var D=e=>{switch(e){case"number":return{type:"input-number"};case"json":return{type:"input-json"};case"boolean":return{type:"radio",options:S.yesNoOptions};default:return{type:"input"}}};a.getFormItemType=D;var P=e=>{try{var t=_.default.load(e);return(0,v.default)(t)&&t.parameters||{}}catch(e){return{}}};a.getParamsFromContent=P;a.getFormItems=e=>{var t=[];try{var a,r=P(e);if((0,y.default)(r))return t;(0,h.default)(a=(0,m.default)(r)).call(a,(e=>{var a=r[e],{type:n="string",description:i="",label:l,hidden:f}=a,p=function(e){for(var t=1;t{var t={};try{var a,r=_.default.load(e);if(!(0,v.default)(r))return t;var n=r.parameters||{};(0,h.default)(a=(0,m.default)(n)).call(a,(e=>{var a=n[e];(0,b.default)(a,"default")?t[e]=a.default:"boolean"===a.type&&(t[e]=!1)}))}catch(e){}return t}},1304:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var p=f(r(63)),h=f(r(164)),m=f(r(1252)),g=f(r(54)),v=f(r(609)),y=f(r(77)),b=f(r(28)),_=f(r(32)),S=f(r(91));r(1278);var x=f(r(1279)),w=f(r(343));r(602);var I=f(r(603));r(1354);var C=f(r(428)),k=f(r(58)),D=f(r(49)),P=f(r(35)),T=f(r(134)),A=f(r(1596)),M=f(r(177)),N=f(r(0)),E=r(412),R=r(36),j=(r(161),r(1241)),F=f(r(413)),L=f(r(340)),O=f(r(4)),z=r(1248),B=r(1461),V=r(163),U=f(r(1270)),Q=f(r(3551)),q=f(r(3555)),G=f(r(3558)),K=f(r(3565)),H=f(r(3575));function W(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function Y(e){for(var t=1;t{var{data:t}=this.state;this.setState({data:Y(Y({},t),{},{count:e})})})),(0,P.default)(this,"onSubmit",(e=>e?this.store.create(e):(this.errorMsg&&U.default.error(this.errorMsg),p.default.reject()))),(0,P.default)(this,"onOk",(()=>{var{data:e}=this.state;this.values=e;var a=this.getSubmitData(e);a?this.onSubmit(a).then((()=>{this.routing.push(this.listUrl),U.default.success(this.successText)}),(e=>{if(e&&!(0,M.default)(e)){var{response:{data:a}={}}=e||{},{forbidden:{message:r=""}={}}=a||{};r&&(0,T.default)(r)&&(0,h.default)(r).call(r,"Quota exceeded")?U.default.error(t("Quota exceeded")):U.default.errorWithDetail(a,this.errorText)}})):U.default.errorWithDetail(null,this.errorText)}))}init(){this.store=F.default,this.projectStore=L.default,this.state.quotaLoading=!0,this.getQuota(),this.status="success",this.errorMsg=""}static allowed(e,t){var{isAdminPage:a=!1}=t;return p.default.resolve(!a)}getQuota(){var e=this;return(0,D.default)((function*(){e.setState({quotaLoading:!0}),yield p.default.all([e.projectStore.fetchProjectNovaQuota(),e.enableCinder?e.projectStore.fetchProjectCinderQuota():null]),e.setState({quotaLoading:!1}),e.onCountChange(1)}))()}get disableNext(){return!!this.errorMsg}get disableSubmit(){return!!this.errorMsg}get instanceQuota(){var{instances:{left:e=0}={}}=(0,R.toJS)(this.projectStore.novaQuota)||{};return-1===e?1/0:e}get name(){return t("Create instance")}get enableCinder(){return this.props.rootStore.checkEndpoint("cinder")}get listUrl(){var{image:e,volume:t,servergroup:a}=this.locationParams;return e?this.getRoutePath("image"):t?this.getRoutePath("volume"):a?this.getRoutePath("serverGroupDetail",{id:a}):this.getRoutePath("instance")}get hasConfirmStep(){return!1}get steps(){return[{title:t("Base Config"),component:K.default},{title:t("Network Config"),component:G.default},{title:t("System Config"),component:q.default},{title:t("Confirm Config"),component:Q.default}]}get instanceName(){var e,t,{name:a,count:r=1}=(0,m.default)(this)||{};return 1===r?this.unescape(a):this.unescape((0,g.default)(e=(0,v.default)(t=new Array(r)).call(t,r)).call(e,((e,t)=>{var r;return(0,y.default)(r="".concat(a,"-")).call(r,t+1)})).join(", "))}get successText(){return t("The creation instruction was issued successfully, instance: {name}. \n You can wait for a few seconds to follow the changes of the list data or manually refresh the data to get the final display result.",{action:this.name.toLowerCase(),name:this.instanceName})}get showQuota(){return!0}get quotaInfo(){var{quotaLoading:e}=this.state;if(e)return[];var{instances:a={},cores:r={},ram:n={}}=(0,R.toJS)(this.projectStore.novaQuota)||{},{data:i={}}=this.state,{count:l=1}=i,o=this.checkQuotaInput(),s=Y(Y({},a),{},{add:o?0:l,name:"instance",title:t("Instance")}),{newCPU:u,newRam:d}=this.getFlavorInput(),c=Y(Y({},r),{},{add:o?0:u,name:"cpu",title:t("CPU"),type:"line"}),f=Y(Y({},n),{},{add:o?0:d,name:"ram",title:t("Memory (GiB)"),type:"line"}),p=this.getVolumeQuota(),{totalNewCount:h,totalNewSize:m}=this.getVolumeInputMap(),g=Y(Y({},p.volumes),{},{add:o?0:h,name:"volume",title:t("Volume"),type:"line"}),v=Y(Y({},p.gigabytes),{},{add:o?0:m,name:"volumeSize",title:t("Volume Capacity (GiB)"),type:"line"}),y=this.getServerGroupQuota(),b=[s,c,f,g,v];if(y){var{add:_}=y,S=Y(Y({},(0,k.default)(y,["add"])),{},{add:o?0:_});b.push(S)}return b}get errorText(){var{status:e}=this.state;return"error"===e?t("Unable to create instance: insufficient quota to create resources."):this.ipBatchError?t("Unable to create instance: batch creation is not supported when specifying IP."):t("The creation instruction has been issued, please refresh to see the actual situation in the list.")}getVolumeQuota(){var e,t=(0,R.toJS)(this.projectStore.cinderQuota)||{},a={};return(0,b.default)(e=(0,_.default)(t)).call(e,(e=>{((0,h.default)(e).call(e,"volumes")||(0,h.default)(e).call(e,"gigabytes"))&&(a[e]=t[e])})),a}getQuotaMessage(e,a,r){var{left:n=0}=a||{};return-1===n?"":e>n?t("Insufficient {name} quota to create resources (left { quota }, input { input }).",{name:r,quota:n,input:e}):""}getVolumeInputMap(){var{data:e}=this.state,{systemDisk:t={},dataDisk:a=[],count:r=1,source:{value:n}={},instanceSnapshotDisk:i={},instanceSnapshotDataVolumes:l=[],bootFromVolume:o=!0}=e,s={},u={},d=0,c=0,f="instanceSnapshot"===n;if(f&&i){var{size:p,typeOption:{label:h}={}}=i;h&&o&&(s[h]=s[h]?s[h]+1:1,u[h]=u[h]?u[h]+p:p,d+=1*r,c+=p*r)}else if(t.type&&o){var{size:m}=t,{label:g}=t.typeOption||{};s[g]=s[g]?s[g]+1:1,u[g]=u[g]?u[g]+m:m,d+=1*r,c+=m*r}if(a||f&&(null==l?void 0:l.length)>0){var v=(0,B.getAllDataDisks)({dataDisk:a,instanceSnapshotDataVolumes:l});(0,b.default)(v).call(v,(e=>{var t=e.value||{};if(t.type){var{size:a,typeOption:n}=t,{label:i}=n||{};s[i]=s[i]?s[i]+1*r:1*r,u[i]=u[i]?u[i]+a*r:a*r,d+=1*r,c+=a*r}}))}return{totalNewCount:d,totalNewSize:c,newCountMap:s,newSizeMap:u}}checkVolumeQuota(){var e,a;if(!this.enableCinder)return"";var r="",{totalNewCount:n,totalNewSize:i,newCountMap:l,newSizeMap:o}=this.getVolumeInputMap(),s=this.getVolumeQuota(),u=this.getQuotaMessage(n,s.volumes,t("volume"));if(u)return u;var d=this.getQuotaMessage(i,s.gigabytes,t("volume capacity"));return d||((0,b.default)(e=(0,_.default)(l)).call(e,(e=>{var a=this.getQuotaMessage(l[e],s["volumes_".concat(e)],t("volume type {type}",{type:e}));a&&(r=a)})),r||((0,b.default)(a=(0,_.default)(o)).call(a,(e=>{var a=this.getQuotaMessage(o[e],s["gigabytes_".concat(e)],t("volume type {type} capacity",{type:e}));a&&(r=a)})),r))}getFlavorInput(){var{data:e}=this.state,{flavor:t={},count:a=1}=e,{selectedRows:r=[]}=t,{vcpus:n=0,ram:i=0}=r[0]||{};return{newCPU:n*a,newRam:(0,V.getGiBValue)(i)*a}}checkFlavorQuota(){var{newCPU:e,newRam:a}=this.getFlavorInput(),{cores:r={},ram:n={}}=this.projectStore.novaQuota,{left:i=0}=r||{},{left:l=0}=n||{};return-1!==i&&i"$ ".concat(e).replace(/\D/g,"")}}renderCountInput(){var{data:e}=this.state,{count:a=1}=e||{},r=this.getCountInputConfig();return N.default.createElement("div",{className:H.default["number-input"]},N.default.createElement("span",null,t("Count")),N.default.createElement(x.default,(0,w.default)({},r,{value:a,className:(0,O.default)(H.default.input,"instance-count")})))}renderFooterLeft(){return N.default.createElement("div",{style:{display:"flex"}},N.default.createElement("div",{style:{display:"flex",alignItems:"center"}},this.renderCountInput(),this.renderExtra()),this.renderBadge())}getVolumeAndImageData(e){if("error"===this.status)return null;var{bootableVolume:t,dataDisk:a,image:r,instanceSnapshot:n,instanceSnapshotDisk:i,source:l,systemDisk:o,bootFromVolume:s=!0,deleteVolumeInstance:u}=e,{value:d}=l,c="bootableVolume"===d?null:"image"===d?r.selectedRowKeys[0]:n.selectedRowKeys[0];if(!this.enableCinder)return{imageRef:c};var f={};if("bootableVolume"!==d){if(s){var{deleteType:p,type:h,size:m}=o||{};f={boot_index:0,uuid:c,source_type:"image",volume_size:m,destination_type:"volume",volume_type:h,delete_on_termination:1===p},"instanceSnapshot"===d&&i&&(delete f.volume_size,delete f.volume_type,delete f.delete_on_termination)}}else f={boot_index:0,uuid:t.selectedRowKeys[0],source_type:"volume",destination_type:"volume",delete_on_termination:u};var v=a?(0,g.default)(a).call(a,(e=>{var{size:t,type:a,deleteType:r}=e.value||{};return{source_type:"blank",volume_size:t,destination_type:"volume",volume_type:a,delete_on_termination:1===r}})):[];return"image"===d&&"iso"===r.selectedRows[0].disk_format&&v[0]&&s&&(v[0].boot_index=0,v[0].device_type="disk",f.boot_index=1,f.device_type="cdrom"),{volumes:(0,M.default)(f)?[...v]:[f,...v],imageRef:c}}getNetworkData(e){var{networks:t=[],ports:a={}}=e,r=!1,n=[];(0,b.default)(t).call(t,(e=>{var t={uuid:e.value.network};1===e.value.ipType&&e.value.ip&&(t.fixed_ip=e.value.ip,r=!0),n.push(t)}));var{selectedRowKeys:i=[]}=a||{};return(0,b.default)(i).call(i,(e=>{var t={port:e};n.push(t)})),{data:n,hasIp:r}}getSubmitData(e){if("error"===this.status)return null;var{volumes:t,imageRef:a}=this.getVolumeAndImageData(e),{data:r,hasIp:n}=this.getNetworkData(e),{availableZone:i,keypair:l,loginType:o,password:s,physicalNode:u,physicalNodeType:d,securityGroup:c,flavor:f,userData:p="",serverGroup:h,name:m,count:v=1,bootFromVolume:y=!0}=e;if(n&&v>1)return this.ipBatchError=!0,null;var{selectedRows:b=[]}=c||{},_={security_groups:(0,g.default)(b).call(b,(e=>({name:e.id}))),name:m,flavorRef:f.selectedRowKeys[0],availability_zone:i.value,networks:r};if(this.enableCinder&&(_.block_device_mapping_v2=t),!a||t&&y||(_.imageRef=a),"keypair"===o.value?_.key_name=l.selectedRowKeys[0]:_.adminPass=s,v>1&&(_.min_count=v,_.max_count=v,_.return_reservation_id=!0),"smart"!==d.value&&(_.hypervisor_hostname=u.selectedRows[0].hypervisor_hostname),_.adminPass||p){var{username:S}=e;_.user_data=btoa((0,z.getUserData)(_.adminPass,p,S||"root"))}var x={server:_};return h&&h.selectedRowKeys.length>0&&(x["OS-SCH-HNT:scheduler_hints"]={group:h.selectedRowKeys[0]}),x}}a.StepCreate=J,(0,P.default)(J,"id","instance-create"),(0,P.default)(J,"title",t("Create Instance")),(0,P.default)(J,"path",((e,t)=>{var a,{detail:r,match:n}=t||{};return!r||(0,M.default)(r)?"/compute/instance/create":(0,S.default)(a=n.path).call(a,"/compute/server")>=0?"/compute/instance/create?servergroup=".concat(r.id):void 0})),(0,P.default)(J,"policy",["os_compute_api:servers:create","os_compute_api:os-availability-zone:list"]);var Z=(0,E.inject)("rootStore")((0,E.observer)(J));a.default=Z},1319:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.AvailabilityZoneStore=void 0;var f,p=c(a(28)),h=c(a(32)),m=c(a(54)),g=c(a(25)),v=c(a(35)),y=c(a(49)),b=c(a(55)),_=c(a(1314)),S=c(a(177)),x=a(36),w=c(a(50)),I=c(a(53));function C(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function k(e){for(var t=1;t{var{available:t}=e.zoneState;return e.available=t,e}}listDidFetch(e){return(0,y.default)((function*(){var t=[];return(0,p.default)(e).call(e,(e=>{var{hosts:a}=e;if((0,_.default)(a))t.push(e);else{var r,n={};(0,p.default)(r=(0,h.default)(a)).call(r,(e=>{var t=a[e];t["nova-compute"]&&(n[e]=t)})),(0,S.default)(n)||t.push(k(k({},e),{},{host:n}))}})),t}))()}fetchListWithoutDetail(){var e=this;return(0,y.default)((function*(){var t=(yield e.client.list())[e.listResponseKey];e.list.data=(0,m.default)(t).call(t,e.mapper)}))()}},(0,b.default)(f.prototype,"fetchListWithoutDetail",[x.action],(0,g.default)(f.prototype,"fetchListWithoutDetail"),f.prototype),f);t.AvailabilityZoneStore=D;var P=new D;t.default=P},1320:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.hasEncryption=a.volumeTypeSelectProps=a.volumeTypeFilters=a.volumeTypeColumns=a.controls=a.creationMethod=a.consumerTypes=void 0;var l=i(r(177)),o=r(566),s={"front-end":t("Frontend"),"back-end":t("Backend"),both:t("Both of Frontend and Backend")};a.consumerTypes=s;var u={manu:t("Manu"),auto:t("Auto")};a.creationMethod=u;var d={"front-end":t("Front End"),"back-end":t("Back End")};a.controls=d;var c=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description",isHideable:!0,valueRender:"noValue"},{title:t("Public"),dataIndex:"is_public",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"multiattach",valueRender:"yesNo",titleTip:o.multiTip,width:120}];a.volumeTypeColumns=c;var f=[{label:t("Name"),name:"name"}];a.volumeTypeFilters=f;var p={columns:c,filterParams:f};a.volumeTypeSelectProps=p;a.hasEncryption=e=>{var{encryption:t}=e||{};return!(!t||(0,l.default)(t))&&!t.deleted_at}},1326:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.securityGroupFilter=a.securityGroupColumns=void 0;var l=i(r(0)),o=i(r(3559)),s=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"},{title:t("Rules"),dataIndex:"rules",render:(e,t)=>l.default.createElement(o.default,{item:t})}];a.securityGroupColumns=s;var u=[{label:t("Name"),name:"name"}];a.securityGroupFilter=u},1327:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.SettingStore=void 0;var i,l=n(a(29)),o=n(a(25)),s=n(a(49)),u=n(a(55)),d=a(36),c=n(a(50)),f=n(a(53)),p=(i=class extends f.default{get client(){return c.default.skyline.setting}listDidFetch(e){return(0,s.default)((function*(){return(0,l.default)(e).call(e,(e=>!e.hidden))}))()}update(e){return this.submitting(this.client.update(null,e))}},(0,u.default)(i.prototype,"update",[d.action],(0,o.default)(i.prototype,"update"),i.prototype),i);t.SettingStore=p;var h=new p;t.default=h},1353:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.InstanceVolumeStore=void 0;var f=c(a(54)),p=c(a(63)),h=c(a(28)),m=c(a(49)),g=c(a(58)),v=c(a(35)),y=c(a(50)),b=c(a(53)),_=a(163),S=a(566);function x(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;te.serverId))}get client(){return y.default.nova.servers.volumeAttachments}get isSubResource(){return!0}get paramsFunc(){return e=>{var{id:t,serverId:a,all_projects:r,projectId:n,serverName:i}=e;return(0,g.default)(e,["id","serverId","all_projects","projectId","serverName"])}}get mapperBeforeFetchProject(){return(e,t)=>{var{projectId:a}=t;return w(w({},e),{},{project_id:a})}}get mapper(){return e=>(0,S.updateVolume)(e)}get groupArraySize(){return 10}listDidFetch(e,t){var a=this;return(0,m.default)((function*(){if(0===e.length)return e;var r=(0,f.default)(e).call(e,(e=>e.volumeId)),n=(0,_.groupArray)(r,a.groupArraySize),i=yield p.default.all((0,f.default)(n).call(n,(e=>{var r={uuid:e,all_projects:t};return a.skylineClient.extension.volumes(r)}))),l=[];return(0,h.default)(i).call(i,(e=>{l.push(...e.volumes)})),l}))()}}t.InstanceVolumeStore=I;var C=new I;t.default=C},1355:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.default=void 0;var n={"anti-affinity":t("Anti-Affinity"),affinity:t("Affinity"),"soft-anti-affinity":t("Soft-Anti-Affinity"),"soft-affinity":t("Soft-Affinity")};a.default=n},1356:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.fetchQuota=function(e){return C.apply(this,arguments)},a.checkQuotaDisable=a.getQuotaInfo=a.getAdd=a.getQuota=a.restoreTip=a.modeTip=a.backupModeList=a.createTip=a.backupStatus=void 0;var p=f(r(35)),h=f(r(49)),m=f(r(0)),g=f(r(340)),v=f(r(1292));function y(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t{var{backups:t={},backup_gigabytes:a={}}=e||{};return{backups:t,gigabytes:a}};a.getQuota=k;var D=e=>{var{backups:t,gigabytes:a}=k(e),{left:r=0}=t||{},{left:n=0,limit:i}=a||{},{currentVolumeSize:l=0}=v.default,o=0!==r&&(0!==n&&(-1===i||n>=l))?1:0;return{add:o,addSize:1===o?l:0}};a.getAdd=D;a.getQuotaInfo=e=>{var{quota:a={},quotaLoading:r}=e.state;if(r)return[];var{backups:n={},gigabytes:i={}}=k(a),{add:l,addSize:o}=D(a);return[b(b({},n),{},{add:l,name:"backup",title:t("Volume Backup")}),b(b({},i),{},{add:o,name:"gigabytes",title:t("Volume Backup Capacity (GiB)"),type:"line"})]};a.checkQuotaDisable=()=>{var{cinderQuota:e={}}=g.default,{add:t}=D(e);return 0===t}},1357:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.getQoSPolicyTabs=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=w({backendPageStore:this.qosPolicyStore},e),r=[{title:t("Current Project QoS Policies"),key:"project",props:(0,b.default)({},a,w(w({},P({self:this})),{},{extraParams:{project_id:this.currentProjectId}}))},{title:t("Shared QoS Policies"),key:"shared",props:(0,b.default)({},a,w(w({},P({shared:!0,self:this})),{},{extraParams:{shared:!0}}))}];this.hasAdminRole&&r.push({title:t("All QoS Policies"),key:"all",props:(0,b.default)({},a,w(w({},P({all:!0,self:this})),{},{extraParams:{all_projects:!0}}))});return r},a.getQosPolicySelectTableProps=a.qosPolicySortProps=a.getQosPolicyFilters=a.getQosPolicyColumns=void 0;var p=f(r(77)),h=f(r(54)),m=f(r(573)),g=f(r(35));r(1246);var v=f(r(1247));r(1244);var y=f(r(1245)),b=f(r(607)),_=f(r(0)),S=(r(161),r(342));function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var a,r,n,i,l,o,s,u,d;return"egress"===e.direction?(0,p.default)(o=(0,p.default)(s=(0,p.default)(u=(0,p.default)(d="".concat(t("Egress"),": ")).call(d,t("Max BandWidth"),": ")).call(u,e.max_kbps/1024," Mbps; ")).call(s,t("Max Burst"),": ")).call(o,e.max_burst_kbps/1024," Mbps"):"ingress"===e.direction?(0,p.default)(a=(0,p.default)(r=(0,p.default)(n=(0,p.default)(i="".concat(t("Ingress"),": ")).call(i,t("Max BandWidth"),": ")).call(n,e.max_kbps/1024," Mbps; ")).call(r,t("Max Burst"),": ")).call(a,e.max_burst_kbps/1024," Mbps"):(0,p.default)(l="".concat(t("DSCP Marking"),": ")).call(l,e.dscp_mark)},C=e=>{var{self:a,all:r=!1}=e,n=[{title:t("ID/Name"),dataIndex:"name",routeName:a.getRouteName("networkQosDetail")},{title:t("Description"),dataIndex:"description",sorter:!1},{title:t("Rules Number"),dataIndex:"rulesNumber",render:(e,t)=>t.rules.length,isHideable:!0,sorter:!1},{title:t("Rules"),dataIndex:"rules",render:e=>e.length?_.default.createElement(v.default,null,(0,h.default)(e).call(e,(e=>_.default.createElement(y.default,{span:24,key:e.direction},I(e))))):"-",sorter:!1,stringify:e=>e.length?(0,h.default)(e).call(e,(e=>I(e))).join("\n"):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo",width:80,sorter:!1},{title:t("Default Policy"),dataIndex:"is_default",valueRender:"yesNo",isHideable:!0,width:100,sorter:!1},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0,sorter:!1}];return r&&a.isAdminPage&&(0,m.default)(n).call(n,2,0,{title:t("Project ID/Name"),dataIndex:"project_name",sortKey:"project_id"}),n};a.getQosPolicyColumns=C;var k=e=>{var{self:a,shared:r=!1}=e,n=[{label:t("Name"),name:"name"},{label:t("Description"),name:"description"}];return r||n.push({label:t("Shared"),name:"shared",options:S.yesNoOptions}),a.hasAdminRole&&n.push({label:t("Project ID"),name:"tenant_id"}),n};a.getQosPolicyFilters=k;var D={isSortByBack:!0,defaultSortKey:"name",defaultSortOrder:"descend"};a.qosPolicySortProps=D;var P=e=>{var{self:t,all:a,shared:r}=e;return w(w({},D),{},{columns:C({self:t,all:a}),filterParams:k({self:t,shared:r})})};a.getQosPolicySelectTableProps=P},1373:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(164)),s=l(a(28)),u=l(a(32)),d=l(a(345)),c=l(a(343)),f=l(a(35)),p=l(a(134)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),m=l(a(16)),g=l(a(4)),v=a(1495),y=l(a(1754)),b=l(a(1756));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}var S=e=>{if(!(0,p.default)(e))return e;if((0,o.default)(e).call(e,"")){var t=/<\/h1>[\r\n]([\s\S]*)<\/body>/.exec(e);if(t)return t[1].replace(/
/g,"")}try{return JSON.parse(e)}catch(t){return e}},x=(e,t)=>{var a;return(0,p.default)(e)?S(e):((0,s.default)(a=(0,u.default)(e)).call(a,(t=>{(0,p.default)(e[t])&&(e[t]=S(e[t]))})),"json"===t?(0,d.default)(e,null,2):"yaml"===t?(0,v.getValue)(e):e)};class w extends h.PureComponent{constructor(e){super(e),(0,f.default)(this,"handleChange",(e=>{var{onChange:t}=this.props;t(e)})),this.state={value:x(e.value,e.mode),originValue:e.value}}static getDerivedStateFromProps(e,t){var{value:a,mode:r}=e;return a!==t.originValue?{value:x(a,r),originValue:a}:null}render(){var{className:e,mode:t,options:a}=this.props;return h.default.createElement(b.default,(0,c.default)({},a,{className:(0,g.default)(y.default.editor,e),value:this.state.value,mode:t,onChange:this.handleChange}))}}(0,f.default)(w,"propTypes",{value:m.default.oneOfType([m.default.string,m.default.object,m.default.array]),mode:m.default.string,options:m.default.object,onChange:m.default.func}),(0,f.default)(w,"defaultProps",{value:{},mode:"yaml",options:{},onChange(){}});var I=w;t.default=I},1388:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(54)),s=l(a(343)),u=l(a(49)),d=l(a(35)),c=l(a(205)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),p=l(a(16)),h=a(163),m=l(a(1436)),g=a(1435);function v(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(v=function(e){return e?a:t})(e)}class y extends f.Component{static propTypes(){return{visibleButtonNumber:p.default.number,primaryActions:p.default.array,onFinishAction:p.default.func,onCancelAction:p.default.func,routing:p.default.object.isRequired,containerProps:p.default.object,onClickAction:p.default.func,primaryActionsExtra:p.default.any}}constructor(e){super(e),(0,d.default)(this,"onClickAction",(()=>{var{onClickAction:e}=this.props;e&&e()})),this.state={primaryAllowedResults:[]},this.actionList=this.getActionList(e)}componentDidMount(){this.getActionsAllowed()}componentDidUpdate(e){(0,c.default)(e,this.props)||this.getActionsAllowed()}getActionsAllowed(){var e=this;return(0,u.default)((function*(){var{containerProps:t,primaryActionsExtra:a,isAdminPage:r}=e.props,{detail:n=null}=t,i=yield(0,g.getAllowedResults)({actions:e.actionList,data:n,containerProps:t,key:null,extra:a,isAdminPage:r});e.setState({primaryAllowedResults:i})}))()}getActionList(e){var{primaryActions:t,containerProps:a}=e;return(0,o.default)(t).call(t,(e=>(0,g.getAction)(e,null,a)))}render(){var e,{primaryAllowedResults:t}=this.state,{onFinishAction:a,routing:r,containerProps:n,onCancelAction:i,onClickAction:l}=this.props,u=(0,o.default)(e=this.actionList).call(e,((e,o)=>{var u="primary-".concat((0,h.generateId)()),{id:d,title:c,buttonType:p,actionType:g,buttonText:v,isDanger:y}=e,b={id:d,title:c,name:v||c,buttonType:p,isDanger:y,actionType:g,action:e};return f.default.createElement(m.default,(0,s.default)({},b,{key:u,isAllowed:t[o],onFinishAction:a,routing:r,containerProps:n,onClickAction:l,onCancelAction:i}))}));return f.default.createElement(f.default.Fragment,null,u)}}t.default=y,(0,d.default)(y,"defaultProps",{visibleButtonNumber:3,primaryActions:[],onFinishAction:null,onCancelAction:null,containerProps:{},primaryActionsExtra:null})},1389:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.hypervisorFilters=a.hypervisorColumns=void 0;var l=i(r(77));r(344);var o=i(r(202)),s=i(r(0)),u=i(r(1462)),d=(r(161),[{title:t("Hostname"),dataIndex:"service_host"},{title:t("Type"),dataIndex:"hypervisor_type"},{title:t("VCPU (Core)"),dataIndex:"vcpus_used_percent",render:(e,a)=>{var r;return"ironic"===a.hypervisor_type?s.default.createElement(o.default,{title:t("vCPUs and ram are not used for bare metal scheduling")},s.default.createElement("span",null,"-")):s.default.createElement(u.default,{value:e,label:(0,l.default)(r="".concat(a.vcpus_used," / ")).call(r,a.vcpus)})},width:180,stringify:(e,a)=>{var r,n,i,o;return"ironic"===a.hypervisor_type?"-":(0,l.default)(r=(0,l.default)(n=(0,l.default)(i=(0,l.default)(o="".concat(e,"% (")).call(o,t("Used"),": ")).call(i,a.vcpus_used," / ")).call(n,t("Total"),": ")).call(r,a.vcpus,")")}},{title:t("Configured Memory (GiB)"),dataIndex:"memory_mb_percent",render:(e,a)=>{var r;return"ironic"===a.hypervisor_type?s.default.createElement(o.default,{title:t("vCPUs and ram are not used for bare metal scheduling")},s.default.createElement("span",null,"-")):s.default.createElement(u.default,{value:e,label:(0,l.default)(r="".concat(a.memory_mb_used_gb," / ")).call(r,a.memory_mb_gb)})},width:180,stringify:(e,a)=>{var r,n,i,o;return"ironic"===a.hypervisor_type?"-":(0,l.default)(r=(0,l.default)(n=(0,l.default)(i=(0,l.default)(o="".concat(e,"% (")).call(o,t("Used"),": ")).call(i,a.memory_mb_used_gb," / ")).call(n,t("Total"),": ")).call(r,a.memory_mb_gb,")")}},{title:t("Instances"),dataIndex:"running_vms"}]);a.hypervisorColumns=d;var c=[{label:t("Hostname"),name:"service_host"},{label:t("Type"),name:"hypervisor_type"}];a.hypervisorFilters=c},1391:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.InstanceSnapshotStore=void 0;var f=c(a(29)),p=c(a(63)),h=c(a(28)),m=c(a(86)),g=c(a(54)),v=c(a(49)),y=c(a(58)),b=c(a(35)),_=c(a(1350)),S=c(a(50)),x=a(574),w=c(a(53));function I(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function C(e){for(var t=1;t{t&&a&&(e.sort_key=t,e.sort_dir="descend"===a?"desc":"asc")})),(0,b.default)(this,"updateParamsSort",this.updateParamsSortPage)}get client(){return S.default.glance.images}get listFilterByProject(){return!0}get fetchListByLimit(){return!0}get paramsFunc(){return this.paramsFuncPage}get paramsFuncPage(){return(e,t)=>{var{id:a,current:r,owner:n}=e,i=C({},(0,y.default)(e,["id","current","owner"]));return n?i.owner=n:t||(i.owner=this.currentProjectId),i}}get mapperBeforeFetchProject(){return e=>C(C({},e),{},{project_name:e.owner_project_name||e.project_name,project_id:e.owner||e.project_id})}listDidFetch(e,t,a){return(0,v.default)((function*(){if(0===e.length)return e;var r=(0,f.default)(e).call(e,x.isSnapshot),{id:n}=a;if(!n)return r;var i={all_tenants:t},l=yield p.default.all([S.default.cinder.snapshots.list(i),S.default.nova.servers.volumeAttachments.list(n,{})]),o=l[0].snapshots,s=l[1].volumeAttachments,u=[];return(0,h.default)(r).call(r,(e=>{var{block_device_mapping:t="[]",instance_id:a}=e;if(a===n)u.push(e);else{var r,i=(0,m.default)(r=JSON.parse(t)).call(r,(e=>0===e.boot_index));if(i){e.snapshotId=i.snapshot_id;var l=(0,m.default)(o).call(o,(e=>e.id===i.snapshot_id));if(l){var d=l.volume_id;(0,m.default)(s).call(s,(e=>e.volumeId===d))&&u.push(e)}}else{var{instance_uuid:c}=e;n===c&&u.push(e)}}})),u}))()}detailDidFetch(e){return(0,v.default)((function*(){var t;e.originData=C({},e);var{block_device_mapping:a="[]"}=e,r=(0,m.default)(t=JSON.parse(a)).call(t,(e=>0===e.boot_index)),n=null,i="";if(r){var{snapshot_id:l}=r;e.snapshotId=l;var o=(yield S.default.cinder.snapshots.show(l)).snapshot;e.snapshotDetail=o;var{volume_id:s}=o,u=(yield S.default.cinder.volumes.show(s)).volume;e.volumeDetail=u,n=u.attachments.length>0?u.attachments[0].server_id:""}else{var{instance_uuid:d}=e;n=d}var c={};try{if(n){c=yield S.default.nova.servers.show(n);var{server:{name:f}={}}=c;i=f}}catch(e){}return e.instance={server_id:n,server_name:i},e.instanceDetail=c.server||{},e}))()}fetchInstanceSnapshotVolumeData(e){var t=this;return(0,v.default)((function*(){var{id:a}=e,r=yield t.client.show(a),n=yield t.detailDidFetch(r),{block_device_mapping:i="[]"}=n,l=JSON.parse(i)||[];if(null==l||!l.length)return n;var o=null==l?void 0:(0,f.default)(l).call(l,(e=>0!==e.boot_index)),s=(0,g.default)(o).call(o,function(){var e=(0,v.default)((function*(e){var t=(0,_.default)(e),{snapshot_id:a}=e,r=yield S.default.cinder.snapshots.show(a),n=(null==r?void 0:r.snapshot)||{};return t.snapshotDetail=n,t.bdmFormatData=e,t}));return function(t){return e.apply(this,arguments)}}()),u=yield p.default.all(s),d=(0,g.default)(u).call(u,function(){var e=(0,v.default)((function*(e){var{volume_id:t}=e.snapshotDetail,a=yield S.default.cinder.volumes.show(t),r=(null==a?void 0:a.volume)||{};return e.volumeDetail=r,e}));return function(t){return e.apply(this,arguments)}}()),c=yield p.default.all(d);return C(C({},n),{},{instanceSnapshotDataVolumes:c})}))()}}t.InstanceSnapshotStore=k;var D=new k;t.default=D},1392:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=a.FlavorSelectTable=void 0;var s=o(r(86)),u=o(r(29)),d=o(r(91)),c=o(r(573)),f=o(r(54));r(593);var p=o(r(427)),h=o(r(49)),m=o(r(35)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=I(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),v=r(412),y=r(36),b=o(r(1376)),_=(r(161),o(r(1327))),S=o(r(1259)),x=r(1264),w=o(r(3573));function I(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(I=function(e){return e?a:t})(e)}class C extends g.Component{constructor(e){super(e),(0,m.default)(this,"onArchChange",(e=>{this.setState({arch:e.target.value})})),(0,m.default)(this,"onCategoryChange",(e=>{this.setState({category:e.target.value})})),(0,m.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(e)})),this.state={arch:null,category:null},this.init()}get labelStyle(){return{marginRight:16}}getSettings(){var e=this;return(0,h.default)((function*(){yield e.settingStore.fetchList(),e.initDefaultValue()}))()}getFlavors(){var e=this;return(0,h.default)((function*(){var{allProjects:t=!1}=e.props;yield e.flavorStore.fetchList({all_projects:t}),e.initDefaultValue()}))()}get architectures(){var e,t={architecture:"custom"},a={architecture:"all"},{isIronic:r=!1,filterIronic:n=!0}=this.props,i=(0,s.default)(e=this.settingStore.list.data||[]).call(e,(e=>"flavor_families"===e.key));if(!i)return[a,t];var l=[];try{var o;l=(0,u.default)(o=i.value||[]).call(o,(e=>{var{architecture:t}=e;return!!t&&(!n||(r?(0,x.isBareMetal)(t):!(0,x.isBareMetal)(t)))}))}catch(e){}return[a,...l,t]}get categories(){var e,{arch:t}=this.state;if(!t)return[];var a=(0,s.default)(e=this.architectures).call(e,(e=>e.architecture===t));return a&&a.categories||[]}get flavors(){var e,t,a,r,{flavor:n,isIronic:i=!1,filterIronic:l=!0,excludeFlavors:o=[]}=this.props,{arch:s,category:c}=this.state;return s?(0,u.default)(e=(0,u.default)(t=(0,u.default)(a=(0,u.default)(r=this.flavorStore.list.data||[]).call(r,(e=>!(o.length>0)||(0,d.default)(o).call(o,e.id)<0))).call(a,(e=>!n||e.name!==n))).call(t,(e=>!l||(i?(0,x.isBareMetalFlavor)(e):!(0,x.isBareMetalFlavor)(e))))).call(e,(e=>"all"===s||("custom"===s?e.architecture===s:e.architecture===s&&e.category===c))):[]}getBaseColumns(){var{category:e,arch:a}=this.state,r=[...(0,x.getBaseColumns)()];return r[0].title=t("Name"),(0,c.default)(r).call(r,1,1),(0,x.categoryHasIOPS)(e)||(r=(0,u.default)(r).call(r,(e=>"quota:disk_total_iops_sec"!==e.dataIndex))),(0,x.categoryHasEphemeral)(e)||(r=(0,u.default)(r).call(r,(e=>"OS-FLV-EXT-DATA:ephemeral"!==e.dataIndex))),"all"===a&&(r=[...r,{title:t("Architecture"),dataIndex:"id",render:(e,t)=>(0,x.getFlavorArchInfo)(t)}]),r}getGpuColumns(){var{category:e}=this.state;return"compute_optimized_type"===e?(0,u.default)(x.gpuColumns).call(x.gpuColumns,(e=>{var t;return(0,d.default)(t=e.dataIndex).call(t,"gpu")<0})):(0,u.default)(x.gpuColumns).call(x.gpuColumns,(e=>{var t;return(0,d.default)(t=e.dataIndex).call(t,"gpu")>=0}))}get columns(){var{arch:e}=this.state,t=this.getBaseColumns();if((0,x.isBareMetal)(e))return[...(0,u.default)(t).call(t,((e,t)=>t<3))];if("heterogeneous_computing"!==e)return t;var a=this.getGpuColumns();return[...t,...a]}initDefaultValue(){var{value:{selectedRowKeys:e=[]}={}}=this.props;if(e.length>0){var t,a=(0,s.default)(t=(0,y.toJS)(this.flavorStore.list.data)||[]).call(t,(t=>t.id===e[0]));if(a){var{architecture:r,category:n}=a;this.setState({arch:r,category:n})}}else{var i=this.architectures[0].architecture,l=null;this.architectures[0].categories&&(l=this.architectures[0].categories[0].name),this.setState({arch:i,category:l})}}init(){this.settingStore=_.default,this.flavorStore=S.default,this.getSettings(),this.getFlavors()}renderArchButtons(){var e,{arch:t}=this.state,a=(0,f.default)(e=this.architectures).call(e,(e=>{var{architecture:t}=e,a=x.flavorArchitectures[t]||t;return g.default.createElement(p.default.Button,{value:t,key:t},a)}));return g.default.createElement(p.default.Group,{id:"flavor-select-arch",onChange:this.onArchChange,value:t,buttonStyle:"solid"},a)}renderCategoryButtons(){var e,{category:t}=this.state,a=(0,f.default)(e=this.categories).call(e,(e=>{var{name:t}=e,a=x.flavorCategoryList[t]||t;return g.default.createElement(p.default.Button,{value:t,key:t},a)}));return g.default.createElement(p.default.Group,{id:"flavor-select-category",onChange:this.onCategoryChange,value:t,buttonStyle:"solid"},a)}renderArchSelect(){return g.default.createElement("div",{className:w.default["flavor-tab"]},g.default.createElement("span",{className:w.default["flavor-label"]},t("Architecture")),this.renderArchButtons())}renderCategorySelect(){var{arch:e}=this.state;return"custom"===e||"all"===e?null:g.default.createElement("div",{className:w.default["flavor-tab"]},g.default.createElement("span",{className:w.default["flavor-label"]},t("Category")),this.renderCategoryButtons())}renderTableHeader(){return g.default.createElement("div",null,this.renderArchSelect(),this.renderCategorySelect())}render(){var{value:e,disabledFunc:t}=this.props,a=this.settingStore.list.isLoading&&this.flavorStore.list.isLoading,r={columns:this.columns,data:this.flavors,tableHeader:this.renderTableHeader(),isLoading:a,filterParams:(0,x.getFlavorSearchFilters)(),value:e,onChange:this.onChange,disabledFunc:t};return g.default.createElement(b.default,r)}}a.FlavorSelectTable=C;var k=(0,v.inject)("rootStore")((0,v.observer)(C));a.default=k},1393:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.enablePFW=function(){var{neutronExtensions:e}=o.default,t=!1,a=!1;return(0,l.default)(e).call(e,(e=>{"floating-ip-port-forwarding"===e.alias?t=!0:"expose-port-forwarding-in-fip"===e.alias&&(a=!0)})),t&&a},a.availabilityZoneResource=a.availabilityZoneState=void 0;var l=i(r(28)),o=i(r(133)),s={available:t("Available"),unavailable:t("Unavailable")};a.availabilityZoneState=s;var u={router:t("Router"),network:t("Network")};a.availabilityZoneResource=u},1395:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Port=void 0;var p=f(r(77)),h=f(r(164)),m=f(r(54)),g=f(r(29)),v=f(r(573)),y=f(r(58)),b=f(r(35)),_=f(r(0)),S=r(412),x=f(r(1242)),w=r(572),I=r(1258),C=r(342),k=f(r(1607));function D(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t{var{id:t}=e,a=P({},(0,y.default)(e,["id"]));return this.isInstanceDetail?a.device_id=t:this.isNetworkDetail&&(a.network_id=t),a})),(0,b.default)(this,"updateFetchParams",(e=>{var{id:t,networkId:a}=e;return P({network_id:a,subnetId:t},(0,y.default)(e,["id","networkId"]))})),(0,b.default)(this,"renderResource",((e,t)=>{var a,{device_id:r,device_owner:n}=t;if(!n)return r||"-";var i,l=r,o=null;"compute:nova"===n?(l=e?(0,p.default)(i="".concat(r," (")).call(i,e,")"):r,o=this.getLinkRender("instanceDetail",l,{id:r},{tab:"interface"})):(0,h.default)(a=["network:router_interface","network:ha_router_replicated_interface","network:router_ha_interface"]).call(a,n)?o=this.getLinkRender("routerDetail",l,{id:r}):"network:floatingip"===n&&(o=this.getLinkRender("fipDetail",l,{id:r}));return o?_.default.createElement(_.default.Fragment,null,n,_.default.createElement("br",null),o):_.default.createElement(_.default.Fragment,null,n,_.default.createElement("br",null),r||"-")})),(0,b.default)(this,"getPortDetailRoute",(()=>this.isSubnetDetail?{routeName:this.getRouteName("subnetPortDetail"),routeParamsFunc:e=>({networkId:e.network_id,subnetId:e.subnet_id,id:e.id})}:this.isNetworkDetail?{routeName:this.getRouteName("networkPortDetail"),routeParamsFunc:e=>({networkId:e.network_id,id:e.id})}:this.isInstanceDetail?{routeName:this.getRouteName("instancePortDetail"),routeParamsFunc:e=>({instanceId:e.device_id,id:e.id})}:{routeName:this.getRouteName("portDetail")})),(0,b.default)(this,"getColumns",(()=>{var e=[P({title:t("ID/Name"),dataIndex:"name"},this.getPortDetailRoute()),{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0,sortKey:"project_id"},{title:t("Bind Resource"),dataIndex:"server_name",stringify:(e,t)=>{var a,r,n,i,{device_id:l,device_owner:o}=t;return l&&"compute:nova"===o&&e?(0,p.default)(n=(0,p.default)(i="".concat(o," \n ")).call(i,l," (")).call(n,e,")"):(0,p.default)(a=(0,p.default)(r="\n ".concat(o," ")).call(r,o&&"\n","\n ")).call(a,l||"-","\n ")},render:this.renderResource,isHideable:!0,sorter:!1},{title:t("Owned Network ID/Name"),dataIndex:"network_name",isLink:!0,routeName:this.getRouteName("networkDetail"),idKey:"network_id",sorter:!1},{title:t("IPv4 Address"),dataIndex:"ipv4",render:e=>(0,m.default)(e).call(e,(e=>_.default.createElement("div",{key:e},e))),isHideable:!0,stringify:e=>e.join(","),sorter:!1},{title:t("IPv6 Address"),dataIndex:"ipv6",render:e=>(0,m.default)(e).call(e,(e=>_.default.createElement("div",{key:e},e))),isHideable:!0,stringify:e=>e.join(","),sorter:!1},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:I.portStatus}];return this.isInstanceDetail?(0,g.default)(e).call(e,(e=>"server_name"!==e.dataIndex)):this.isNetworkDetail?(0,g.default)(e).call(e,(e=>"network_name"!==e.dataIndex)):e}))}init(){this.store=new w.PortStore,this.downloadStore=new w.PortStore}get isInstanceDetail(){var e,t;return this.inDetailPage&&((0,h.default)(e=this.path).call(e,"compute/instance")||(0,h.default)(t=this.path).call(t,"management/recycle-bin"))}get isNetworkDetail(){var e,t;return this.inDetailPage&&((0,h.default)(e=this.path).call(e,"networks/detail")||(0,h.default)(t=this.path).call(t,"networks-admin/detail"))&&!this.isSubnetDetail}get isSubnetDetail(){var e;return this.inDetailPage&&(0,h.default)(e=this.path).call(e,"subnet")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,h.default)(e=this.path).call(e,"recycle-bin")}get isFilterByBackend(){return!this.isSubnetDetail}get isSortByBackend(){return this.isFilterByBackend}get defaultSortKey(){return this.isFilterByBackend?"status":""}get policy(){return"get_port"}get name(){return t("ports")}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isRecycleBinDetail?C.emptyActionConfig:this.isAdminPage?k.default.adminActions:this.inDetailPage?this.isInstanceDetail?k.default.actionConfigsInDetail:k.default.noActions:k.default.actionConfigs}get searchFilters(){var e=[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:[{label:t("Active"),key:"ACTIVE"},{label:t("Down"),key:"DOWN"},{label:t("Error"),key:"ERROR"},{label:t("Build"),key:"BUILD"},{label:t("N/A"),key:"N/A"}]}];this.isNetworkDetail||(0,v.default)(e).call(e,1,0,{label:t("Owned Network"),name:"network_name"});var a={label:t("Device Owner"),name:"device_owner",options:[{label:t("Instance"),key:"compute:nova",checkLabel:t("View virtual adapters"),isQuick:!0},{label:t("Router"),key:"network:router_ha_interface,network:ha_router_replicated_interface,network:router_interface,network:router_gateway,network:router_interface_distributed,network:router_centralized_snat"},{label:t("Floating IP"),key:"network:floatingip,network:floatingip_agent_gateway"},{label:t("DHCP Agent"),key:"network:dhcp"},{label:t("Others"),key:"network:local_ip,network:routed,network:distributed,compute:kuryr,Octavia"},{label:t("Unbounded"),key:"none"}]};return this.isSubnetDetail&&(a.filterFunc=(e,t)=>"none"===t?!e:e&&(0,h.default)(t).call(t,e)),this.isInstanceDetail||e.push(a),e}}a.Port=T;var A=(0,S.inject)("rootStore")((0,S.observer)(T));a.default=A},1455:function(e,t,a){var r=a(2087);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1456:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=a.QuotaOverview=a.getVolumeTypeCards=a.troveQuotaCard=a.magnumQuotaCard=a.zunQuotaCard=a.shareQuotaCard=a.quotaCardList=void 0;var s=o(r(54)),u=o(r(29)),d=o(r(77)),c=o(r(63)),f=o(r(32));r(602);var p=o(r(603)),h=o(r(49));r(1457);var m=o(r(1383));r(347);var g=o(r(348));r(1244);var v=o(r(1245));r(1280);var y=o(r(1281));r(1246);var b=o(r(1247));r(1271);var _=o(r(1272)),S=o(r(35));r(344);var x=o(r(202)),w=o(r(1299)),I=o(r(351)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=N(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),k=(r(161),r(564),r(412)),D=o(r(578)),P=o(r(340)),T=o(r(133)),A=r(66),M=o(r(1455));function N(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(N=function(e){return e?a:t})(e)}var E={normal:{color:globalCSS.primaryColor,text:t("Normal")},danger:{color:globalCSS.warnDarkColor,text:t("Danger")},full:{color:globalCSS.errorColor,text:t("Full")}},R=C.default.createElement("span",null,t("Key Pairs"),C.default.createElement(x.default,{title:t("The number of allowed key pairs for each user.")},C.default.createElement(w.default,{style:{marginLeft:4}}))),j=(0,A.firewallEndpoint)()?[{text:t("Firewalls"),key:"firewall_group"},{text:t("Firewall Policies"),key:"firewall_policy"},{text:t("Firewall Rules"),key:"firewall_rule"}]:[],F=[{text:t("Compute"),type:"compute",value:[{text:t("Instances"),key:"instances"},{text:t("vCPUs"),key:"cores"},{text:t("Memory (GiB)"),key:"ram"},{text:R,key:"key_pairs"},{text:t("Server Groups"),key:"server_groups"}]},{text:t("Storage"),type:"storage",value:[{text:t("Volumes"),key:"volumes"},{text:t("Volume Capacity (GiB)"),key:"gigabytes"},{text:t("Volume Snapshots"),key:"snapshots"},{text:t("Volume Backups"),key:"backups"},{text:t("Volume Backup Capacity (GiB)"),key:"backup_gigabytes"}]},{text:t("Network"),type:"networks",value:[{text:t("Routers"),key:"router"},{text:t("Networks"),key:"network"},{text:t("Subnets"),key:"subnet"},{text:t("Floating IPs"),key:"floatingip"},{text:t("Ports"),key:"port"},{text:t("Security Groups"),key:"security_group"},{text:t("Security Group Rules"),key:"security_group_rule"},...j]}];a.quotaCardList=F;var L={text:t("Share"),type:"share",value:[{text:t("Shares"),key:"shares"},{text:t("Share Capacity (GiB)"),key:"share_gigabytes"},{text:t("Share Networks"),key:"share_networks"},{text:t("Share Groups"),key:"share_groups"}]};a.shareQuotaCard=L;var O={text:t("Containers Management"),type:"zun",value:[{text:t("Containers"),key:"zun_containers"},{text:t("Containers CPU"),key:"zun_cpu"},{text:t("Containers Memory (MiB)"),key:"zun_memory"},{text:t("Containers Disk (GiB)"),key:"zun_disk"}]};a.zunQuotaCard=O;var z={text:t("Clusters Management"),type:"magnum",value:[{text:t("Clusters"),key:"magnum_cluster"}]};a.magnumQuotaCard=z;var B={text:t("Database"),type:"trove",value:[{text:t("Database Instance"),key:"trove_instances"},{text:t("Database Disk (GiB)"),key:"trove_volumes"}]};a.troveQuotaCard=B;var V=e=>{var a=(0,s.default)(e).call(e,((e,a)=>({index:a,value:[{text:t("{name} type",{name:e.name}),key:"volumes_".concat(e.name)},{text:t("{name} type capacity (GiB)",{name:e.name}),key:"gigabytes_".concat(e.name)},{text:t("{name} type snapshots",{name:e.name}),key:"snapshots_".concat(e.name)}]})));return{text:t("Storage Types"),type:"volumeTypes",value:a}};a.getVolumeTypeCards=V;class U extends C.Component{constructor(e){var a;super(e),a=this,(0,S.default)(this,"getFilteredValue",(e=>(0,u.default)(e).call(e,(e=>!e.hidden)))),(0,S.default)(this,"getItemInfo",((e,a)=>{var r=0;e[a.key]&&(0,I.default)(e[a.key].used)&&-1!==e[a.key].limit&&(r=e[a.key].used/e[a.key].limit*100);var n,i="-";e[a.key]&&(0,I.default)(e[a.key].used)&&(i=(0,d.default)(n="".concat(e[a.key].used," / ")).call(n,-1===e[a.key].limit?t("Unlimit"):e[a.key].limit));var l=r>=90&&E.full.color||r>=80&&E.danger.color||E.normal.color,o=C.default.createElement("span",null,a.text," : ",i),{server_group_members:s}=e;return"server_groups"===a.key&&s&&(o=C.default.createElement("span",null,o," (",t("Members of Each Group")," :",-1===s.limit?t("Unlimit"):s.limit,")")),C.default.createElement(C.default.Fragment,null,C.default.createElement("div",{className:M.default["progress-title"]},o),C.default.createElement(x.default,{title:o,placement:"top",getPopupContainer:e=>e.parentNode},C.default.createElement(_.default,{style:{marginTop:13,marginBottom:13},percent:r,showInfo:!1,strokeColor:l})))})),(0,S.default)(this,"renderQuotaCardList",(()=>{var e,{isLoading:t}=this.state;return C.default.createElement(b.default,{className:M.default.content},(0,s.default)(e=this.quotaCardList).call(e,(e=>C.default.createElement(v.default,{className:M.default.card,span:24,key:e.type},C.default.createElement(y.default,{title:e.text,bordered:!1,loading:t,size:"small"},C.default.createElement(b.default,{gutter:24},this.renderQuotaCardContent(e)))))),this.enableCinder?C.default.createElement(v.default,{className:M.default.card,span:24,key:this.volumeTypesQuota.type},C.default.createElement(y.default,{title:this.volumeTypesQuota.text,bordered:!1,loading:t,size:"small"},this.renderVolumeTypes())):null)})),(0,S.default)(this,"renderQuotaCard",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,s.default)(t).call(t,(t=>C.default.createElement(v.default,{key:t.text,span:12},a.getItemInfo(e,t))))})),(0,S.default)(this,"renderVolumeTypes",(()=>{var{isLoading:e}=this.state;return e?C.default.createElement(g.default,null):C.default.createElement(m.default,{itemLayout:"vertical",size:"large",pagination:{hideOnSinglePage:!0,pageSize:5,size:"small"},dataSource:this.volumeTypesQuota.value,renderItem:e=>{var t;return C.default.createElement(b.default,{key:e.index,gutter:[16]},(0,s.default)(t=e.value).call(t,(e=>C.default.createElement(v.default,{span:8,key:e.text},this.getItemInfo(this.projectStore.quota,e)))))}})})),this.state={isLoading:!0};var{projectStore:r,volumeTypeStore:n}=e;this.projectStore=r||P.default,this.volumeTypeStore=n||D.default}componentDidMount(){this.getData()}getData(){var e=this;return(0,h.default)((function*(){var{getData:t}=e.props;if(t)yield t();else{var{user:a}=e.props.rootStore,{project:{id:r=""}={}}=a,n=[e.projectStore.fetchProjectQuota({project_id:r,withKeyPair:!0})];e.enableCinder&&n.push(e.volumeTypeStore.fetchList()),yield c.default.all(n)}e.setState({isLoading:!1})}))()}get enableCinder(){return T.default.checkEndpoint("cinder")}get enableShare(){return T.default.checkEndpoint("manilav2")}get enableZun(){return T.default.checkEndpoint("zun")}get enableMagnum(){return T.default.checkEndpoint("magnum")}get enableTrove(){return T.default.checkEndpoint("trove")&&T.default.hasAdminOnlyRole}get volumeTypeData(){var{volumeTypeData:e}=this.props;return e||this.volumeTypeStore.list.data}get volumeTypesQuota(){return V(this.volumeTypeData)}get quotaCardList(){var e=[...this.props.quotaCardList||F];return this.enableCinder||(e=(0,u.default)(e).call(e,(e=>"storage"!==e.type))),this.enableShare&&e.push(L),this.enableZun&&e.push(O),this.enableMagnum&&e.push(z),this.enableTrove&&e.push(B),e}get quotaAction(){return this.props.quotaAction}renderQuotaCardContent(e){var{isLoading:t}=this.state;return t?C.default.createElement(g.default,null):this.renderQuotaCard(this.projectStore.quota,this.getFilteredValue(e.value))}render(){var e,{isLoading:a}=this.state;return C.default.createElement(y.default,{className:M.default.bottom,bodyStyle:{padding:0},loading:a,headStyle:{paddingLeft:"20px"},title:C.default.createElement("div",{className:M.default.title},C.default.createElement("span",{className:M.default.text},t("Quota Overview")),(0,s.default)(e=(0,f.default)(E)).call(e,(e=>C.default.createElement("span",{key:e,className:M.default.badge},C.default.createElement(p.default,{color:E[e].color,text:E[e].text}))))),extra:this.quotaAction},this.renderQuotaCardList())}}a.QuotaOverview=U;var Q=(0,k.inject)("rootStore")((0,k.observer)(U));a.default=Q},1460:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.ServerGroupInstanceStore=void 0;var f=c(a(63)),p=c(a(54)),h=c(a(28)),m=c(a(35)),g=c(a(49)),v=c(a(58)),y=a(163),b=c(a(53));function _(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function S(e){for(var t=1;t{var{all_projects:t,members:a,isServerGroup:r}=e;return(0,v.default)(e,["all_projects","members","isServerGroup"])}}get groupArraySize(){return 1}requestList(e,t){var a=this;return(0,g.default)((function*(){var{members:r,isServerGroup:n,all_projects:i}=t;if(r&&n&&0===r.length)return[];var l=(0,y.groupArray)(r,a.groupArraySize),o=yield f.default.all((0,p.default)(l).call(l,(t=>{var r=S(S({},e),{},{uuid:t,all_projects:i});return a.skylineClient.extension.servers(r)}))),s=[];return(0,h.default)(o).call(o,(e=>{s.push(...e[a.listResponseKey])})),s}))()}listDidFetch(e){return(0,g.default)((function*(){return 0===e.length?e:(0,p.default)(e).call(e,(e=>S(S({},e),{},{tags:(e.origin_data||{}).tags||[]})))}))()}}t.ServerGroupInstanceStore=x;var w=new x;t.default=w},1461:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.getAllDataDisks=a.getInstanceSnapshotDataDisk=a.getDiskInfo=a.volumeTypes=void 0;var l=i(r(54)),o=i(r(86)),s=i(r(28)),u=i(r(1350)),d=i(r(578)),c=r(36),f=()=>{var e;return(0,l.default)(e=d.default.list.data||[]).call(e,(e=>({label:e.name,value:e.id,originData:(0,c.toJS)(e)})))};a.volumeTypes=f;var p=e=>{var a,{snapshotDetail:{size:r=0}={},volumeDetail:{volume_type:n}={},selfBdmData:i={}}=e||{},{delete_on_termination:l}=i,s=l?1:0,u=l?t("Deleted with the instance"):t("Not deleted with the instance"),d=(0,o.default)(a=f()).call(a,(e=>e.label===n));return{type:null==d?void 0:d.value,typeOption:d,size:r,deleteType:s,deleteTypeLabel:u}};a.getDiskInfo=p;var h=e=>{var{volumeDetail:t,snapshotDetail:a,bdmFormatData:r={}}=e||{};return p({volumeDetail:t,snapshotDetail:a,selfBdmData:r})};a.getInstanceSnapshotDataDisk=h;a.getAllDataDisks=e=>{var{dataDisk:t=[],instanceSnapshotDataVolumes:a=[]}=e,r=(0,u.default)(t);return null==a||(0,s.default)(a).call(a,(e=>{var t=h(e)||{};r.unshift({value:t})})),r}},1462:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(164));a(344);var s=l(a(202));a(1271);var u=l(a(1272)),d=l(a(35)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),f=(a(161),l(a(16)));function p(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(p=function(e){return e?a:t})(e)}class h extends c.Component{constructor(){super(...arguments),(0,d.default)(this,"getColor",(()=>{var{value:e,wanValue:t,dangerValue:a,infoColor:r,warnColor:n,dangerColor:i}=this.props;return e1&&void 0!==arguments[1]?arguments[1]:"keypair",r=function(){var t=(0,o.default)((function*(){var t;yield e.getKeypairs();var{createdItem:r}=e.keyPairStore,n=(0,l.default)(t=e.keypairs).call(t,(e=>e.name===(r||{}).name));if(n){var i={selectedRowKeys:[n.id],selectedRows:[n]};e.setState({initKeyPair:i},(()=>{e.updateFormValue(a,n)}))}}));return function(){return t.apply(this,arguments)}}();return s.default.createElement("div",{style:{marginBottom:10}},s.default.createElement("span",null,t("The key pair allows you to SSH into your newly created instance. You can select an existing key pair, import a key pair, or generate a new key pair.")),s.default.createElement("span",{className:c.default["action-wrapper"]},s.default.createElement(u.default,{actions:{moreActions:[{action:d.default}]},onFinishAction:r})))}},1464:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Volume=void 0;var h=p(r(54)),m=p(r(164)),g=p(r(58)),v=p(r(35)),y=r(412),b=p(r(1242)),_=r(566),S=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=k(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(414)),x=r(3618),w=r(1353),I=r(342),C=p(r(1602));function k(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(k=function(e){return e?a:t})(e)}function D(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t(0,_.getVolumeColumnsList)(this))),(0,v.default)(this,"updateFetchParams",(e=>{if(this.isVolumeSnapshotDetail){var{child_volumes:t=[]}=this.props.detail||{},a=(0,h.default)(t).call(t,(e=>e.volume_id)),{id:r}=e;return P(P({},(0,g.default)(e,["id"])),{},{volumeIds:a})}if(this.inDetailPage){var{id:n}=e;return P(P({},(0,g.default)(e,["id"])),{},{serverId:n})}return e}))}init(){this.isVolumeSnapshotDetail?this.store=new x.SnapshotVolumeStore:this.inDetailPage?(this.store=new w.InstanceVolumeStore,this.downloadStore=this.store):(this.store=S.default,this.downloadStore=new S.VolumeStore)}get policy(){return"volume:get_all"}get name(){return t("volumes")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,m.default)(e=this.path).call(e,"recycle-bin")}get isVolumeSnapshotDetail(){var e;return this.inDetailPage&&(0,m.default)(e=this.path).call(e,"storage/snapshot")}get isInstanceDetail(){var e;return this.inDetailPage&&(0,m.default)(e=this.path).call(e,"compute/instance")}get actionConfigs(){return this.isRecycleBinDetail?I.emptyActionConfig:this.isAdminPage?this.inDetailPage&&!this.isVolumeSnapshotDetail?C.default.instanceDetailAdminConfig:C.default.adminConfig:this.inDetailPage?C.default.instanceDetailConfig:C.default.actionConfigs}get transitionStatusList(){return _.volumeTransitionStatuses}get isFilterByBackend(){return!this.inDetailPage}get isSortByBackend(){return this.isFilterByBackend}get adminPageHasProjectFilter(){return!0}get defaultSortKey(){return"created_at"}get searchFilters(){return _.volumeFilters}}a.Volume=T;var A=(0,y.inject)("rootStore")((0,y.observer)(T));a.default=A},1465:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.poolColumns=void 0;var l=i(r(77)),o=i(r(351)),s=i(r(0)),u=i(r(1462)),d=[{title:t("Name"),dataIndex:"name"},{title:t("Protocol"),dataIndex:"storage_protocol"},{title:t("Backend Name"),dataIndex:"volume_backend_name",isHideable:!0},{title:t("Storage Capacity(GiB)"),dataIndex:"usedGBPercent",isHideable:!0,render:(e,t)=>{var a;return(0,o.default)(e)?s.default.createElement(u.default,{value:e,label:(0,l.default)(a="".concat(t.usedGB," / ")).call(a,t.total_capacity_gb)}):"-"},stringify:(e,a)=>{var r,n,i,s;return(0,o.default)(e)?(0,l.default)(r=(0,l.default)(n=(0,l.default)(i=(0,l.default)(s="".concat(e,"% (")).call(s,t("Used"),": ")).call(i,a.usedGB," / ")).call(n,t("Total"),": ")).call(r,a.total_capacity_gb,")"):"-"}}];a.poolColumns=d;var c=d;a.default=c},1466:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.FloatingIps=void 0;var p=f(r(164)),h=f(r(28)),m=f(r(32)),g=f(r(54)),v=f(r(29)),y=f(r(596)),b=f(r(350));r(589);var _=f(r(590)),S=f(r(610));r(1457);var x=f(r(1383)),w=f(r(49)),I=f(r(58)),C=f(r(35)),k=f(r(177)),D=f(r(0)),P=r(412),T=f(r(1242)),A=r(1273),M=r(346),N=r(342),E=(r(161),r(564),r(66)),R=r(163),j=f(r(1606));function F(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function L(e){for(var t=1;t{if(this.inQosDetail){var{id:t}=e;return L({qos_policy_id:t},(0,I.default)(e,["id"]))}return e})),(0,C.default)(this,"fetchDataByPage",function(){var t=(0,w.default)((function*(t){yield e.store.fetchListWithResourceName(t),e.list.silent=!1}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new M.FloatingIpStore,this.downloadStore=new M.FloatingIpStore}get qosEndpoint(){return(0,E.qosEndpoint)()}get isFilterByBackend(){return!this.inQosDetail}get isSortByBackend(){return!this.inQosDetail}get defaultSortKey(){return"status"}get inQosDetail(){var e;return this.inDetailPage&&(0,p.default)(e=this.path).call(e,"qos")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,p.default)(e=this.path).call(e,"recycle-bin")}get inInstanceDetail(){var e;return this.inDetailPage&&(0,p.default)(e=this.path).call(e,"instance")}getData(){var e=arguments,t=()=>super.getData,a=this;return(0,w.default)((function*(){var r=e.length>0&&void 0!==e[0]?e[0]:{},{silent:n}=r,i=(0,I.default)(r,["silent"]);if(a.inDetailPage&&!a.inQosDetail){var l;n&&(a.list.silent=!0);var{detail:{addresses:o=[]}={}}=a.props,s=[];(0,h.default)(l=(0,m.default)(o)).call(l,(e=>{var t,a;s.push(...(0,g.default)(t=(0,v.default)(a=o[e]).call(a,(e=>"fixed"===e["OS-EXT-IPS:type"]))).call(t,(e=>e.addr)))})),i.fixed_ip_address=s,i.all_projects=a.isAdminPage,s.length>0?yield a.store.fetchListWithResourceName(i):a.list.isLoading=!1}else t().call(a,L({silent:n},i))}))()}get fetchDataByCurrentProject(){return!0}get policy(){return"get_floatingip"}get name(){return t("floating ips")}get actionConfigs(){return this.isRecycleBinDetail?N.emptyActionConfig:this.inInstanceDetail?this.isAdminPage?j.default.instanceDetailAdminConfigs:j.default.instanceDetailConfigs:this.inQosDetail?this.isAdminPage?j.default.qosDetailAdminConfigs:j.default.qosDetailConfigs:this.isAdminPage?j.default.adminConfigs:j.default.actionConfigs}get transitionStatusList(){return A.transitionStatuses}get adminPageHasProjectFilter(){return!0}getRecordPortForwarding(e){var t;return(0,y.default)(t=e.port_forwardings||[]).call(t,((e,t)=>e.external_port-t.external_port))}getPortForwardingDetail(e,t){var{key:a}=t,r=(0,I.default)(t,["key"]);if((0,k.default)(r))return"";var{floating_ip_address:n}=e;return(0,A.getPortForwardingName)(r,n)}get portForwardingResourcesName(){return t("Port Forwardings")}getPortForwardingRender(e){var a=this.getRecordPortForwarding(e),{length:r}=a;if(!r)return null;var n=0;r>10&&r%10&&(n=10-r%10);var i=(0,b.default)({length:n},(e=>({key:"zero-".concat(e)}))),l=[...(0,g.default)(a).call(a,(e=>L(L({},e),{},{key:e.external_port||e.external_port_range}))),...i],o=D.default.createElement(x.default,{itemLayout:"vertical",size:"small",pagination:{hideOnSinglePage:!0,pageSize:10,size:"small",showSizeChanger:!1},dataSource:l,renderItem:t=>D.default.createElement("div",{style:{height:"30px",lineHeight:"30px"}},this.getPortForwardingDetail(e,t))});return D.default.createElement(_.default,{content:o,title:this.portForwardingResourcesName,destroyTooltipOnHide:!0,placement:"right"},t("{number} {resource}",{number:a.length,resource:this.portForwardingResourcesName})," ",D.default.createElement(S.default,null))}getPortForwardingStringify(e){var a=this.getRecordPortForwarding(e);if(!a.length)return"";var r=(0,g.default)(a).call(a,(t=>this.getPortForwardingDetail(e,t)));return[t("{number} {resource}",{number:a.length,resource:this.portForwardingResourcesName}),...r].join("\n")}getResourceRender(e,t){return e&&"-"!==e?e:this.getPortForwardingRender(t)||"-"}geResourceStringify(e,t){return e&&"-"!==e?e:this.getPortForwardingStringify(t)||"-"}getColumns(){return[{title:t("ID/Floating IP"),dataIndex:"floating_ip_address",isLink:!0,routeName:this.getRouteName("fipDetail"),boldName:!0},{title:t("QoS Policy ID/Name"),dataIndex:"qos_policy_name",isLink:!0,routeName:this.getRouteName("networkQosDetail"),idKey:"qos_policy_id",hidden:!this.qosEndpoint||this.inQosDetail,sorter:!1},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,sortKey:"project_id"},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0,sorter:!1},{title:t("Associated Resource"),dataIndex:"resource_name",render:(e,t)=>this.getResourceRender(e,t),stringify:(e,t)=>this.geResourceStringify(e,t),isHideable:!0,sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:A.floatingIpStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0,sorter:!1}]}get searchFilters(){return[{label:t("Floating IP"),name:"floating_ip_address"},{label:t("Status"),name:"status",options:(0,R.getOptions)(A.floatingIpStatus)}]}}a.FloatingIps=O;var z=(0,P.inject)("rootStore")((0,P.observer)(O));a.default=z},1467:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreatePortForwarding=void 0;var p=f(r(54)),h=f(r(63)),m=f(r(234)),g=f(r(86)),v=f(r(77)),y=f(r(350)),b=f(r(29)),_=f(r(164)),S=f(r(1252)),x=f(r(573)),w=f(r(49)),I=f(r(58)),C=f(r(35)),k=f(r(102)),D=f(r(1314)),P=f(r(0)),T=r(412),A=r(1241),M=r(1267),N=r(572),E=r(1258),R=r(1273),j=f(r(615)),F=r(1393),L=r(565),O=r(163);function z(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t0===e.fixed_ips.length)),(0,C.default)(this,"onSubmit",(e=>{var{external_port_range:t,internal_port_range:a}=e,r=(0,I.default)(e,["external_port_range","internal_port_range"]);if(!t||this.supportRange)return j.default.create({id:this.item.id,data:e});var n=this.getPortsByInput(t),i=this.getPortsByInput(a),l=(0,p.default)(n).call(n,((e,t)=>j.default.create({id:this.item.id,data:B(B({},r),{},{external_port:e,internal_port:i[t]})})));return h.default.all(l)})),(0,C.default)(this,"handlePortSelect",function(){var t=(0,w.default)((function*(t){e.setState({fixedIpLoading:!0});var{canReachSubnetIdsWithRouterId:a}=e.state,r=yield(0,R.getInterfaceWithReason)(t.selectedRows),n=(0,E.getPortsAndReasons)(r,a,!0);e.setState({portFixedIPs:n,fixed_ip_address:void 0,fixedIpLoading:!1}),e.formRef.current&&e.formRef.current.resetFields(["fixed_ip_address","internal_port"])}));return function(e){return t.apply(this,arguments)}}()),(0,C.default)(this,"checkPortUsedBase",((e,t,a,r)=>{var{external_port:n,internal_port:i,external_port_range:l,internal_port_range:o}=e,s="external"===t?l:o;if(s){var[u,d]=this.getRangeFromString(s);return a>=u&&a<=d&&e.protocol===r}return a===("external"===t?n:i)&&e.protocol===r})),(0,C.default)(this,"checkPortUsedInternal",((e,t)=>{if(!e)return!1;var a=this.formRef.current.getFieldsValue(["virtual_adapter","fixed_ip_address"]),r=a.fixed_ip_address.selectedRows[0].fixed_ip_address,n=a.virtual_adapter.selectedRows[0].id;return t.internal_port_id===n&&t.internal_ip_address===r})),(0,C.default)(this,"checkPortUsed",((e,t)=>{var{alreadyUsedPorts:a,protocol:r}=this.state,n=(0,m.default)(e,10);return(0,g.default)(a).call(a,(e=>{var a=this.checkPortUsedBase(e,t,n,r);return"external"===t?a:this.checkPortUsedInternal(a,e)}))})),(0,C.default)(this,"checkExtPortUsed",(e=>this.checkPortUsed(e,"external"))),(0,C.default)(this,"getRangeFromString",(e=>{var t=(e||"").split(":");return!t.length||t.length>2?[]:[(0,m.default)(t[0],10),(0,m.default)(t[1],10)]})),(0,C.default)(this,"getPortForwardingContent",(e=>{var t,a,{external_port:r,external_port_range:n,internal_ip_address:i,internal_port:l,internal_port_range:o}=e;return(0,v.default)(t=(0,v.default)(a="".concat(r||n," => ")).call(a,i,":")).call(t,l||o)})),(0,C.default)(this,"getUsedError",((e,a)=>1===e.length&&(0,k.default)(e[0])?t("The {name} has already been used by other {resource}({content}), please change.",{name:a,resource:this.resource,content:this.getPortForwardingContent(e[0])}):t("The {name} {ports} have already been used, please change.",{name:a,ports:e.join(",")}))),(0,C.default)(this,"checkRangeInput",(e=>{var[a,r]=this.getRangeFromString(e),n=r-a+1;return n<=1?{error:t("The value of the upper limit of the range must be greater than the value of the lower limit of the range.")}:n>this.maxRangeSize?{error:this.maxRangeSizeTip}:{length:n,start:a,end:r}})),(0,C.default)(this,"getPortsByRange",((e,t)=>(0,y.default)({length:t},((t,a)=>e+a)))),(0,C.default)(this,"getPortsByInput",(e=>{var{length:t,start:a}=this.checkRangeInput(e);return this.getPortsByRange(a,t)})),(0,C.default)(this,"checkPortRangeUsed",((e,a,r)=>{var n=this.getPortsByRange(e,a),i=(0,b.default)(n).call(n,(e=>"external"===r?this.checkExtPortUsed(e):this.checkInternalPortUsed(e)));if(i.length){var l="external"===r?t("external ports"):t("internal ports");return{error:this.getUsedError(i,l)}}return{ports:n,length:a}})),(0,C.default)(this,"checkTwoRangeLength",((e,a)=>e!==a?t("The size of the external port range is required to be the same as the size of the internal port range"):"")),(0,C.default)(this,"checkExternalPortInput",((e,a)=>{var r=(0,_.default)(e).call(e,":"),n=(0,_.default)(a).call(a,":");if(a&&r!==n)return t("Ports are either single values or ranges");if(!r){var i=this.checkExtPortUsed(e);return i?this.getUsedError([i],t("external port")):""}var{start:l,length:o,error:s}=this.checkRangeInput(e);if(s)return s;var{error:u}=this.checkPortRangeUsed(l,o,"external");if(u)return u;if(!V.test(a))return"";var{length:d}=this.checkRangeInput(a);return d?this.checkTwoRangeLength(o,d):""})),(0,C.default)(this,"validateExternalPort",((e,t)=>{var a=null==t?"":"".concat(t),{internal_port:r}=this.formRef.current.getFieldsValue(["internal_port"]);if(!V.test(a))return h.default.resolve(!0);var n=this.checkExternalPortInput(a,(r||"").toString()||"");return n?h.default.reject(n):h.default.resolve(!0)})),(0,C.default)(this,"checkInternalPortUsed",(e=>this.checkPortUsed(e,"internal"))),(0,C.default)(this,"checkInternalPortInput",((e,a)=>{var r=(0,_.default)(e).call(e,":"),n=(0,_.default)(a).call(a,":");if(e&&r!==n)return t("Ports are either single values or ranges");if(!n){var i=this.checkInternalPortUsed(a);return i?this.getUsedError([i],t("internal port")):""}var{start:l,length:o,error:s}=this.checkRangeInput(a);if(s)return s;var{error:u}=this.checkPortRangeUsed(l,o,"internal");if(u)return u;if(!V.test(e))return"";var{length:d}=this.checkRangeInput(e);return d?this.checkTwoRangeLength(o,d):""})),(0,C.default)(this,"validateInternalPort",((e,t)=>{var a=null==t?"":"".concat(t);if(!V.test(a))return h.default.resolve(!0);var{external_port:r}=this.formRef.current.getFieldsValue(["external_port"]),n=this.checkInternalPortInput((r||"").toString()||"",a);return n?h.default.reject(n):h.default.resolve()})),(0,C.default)(this,"onFixedIpChange",(e=>{this.setState({fixed_ip_address:e},(()=>{this.formRef.current.resetFields(["internal_port"])}))}))}get name(){return t("Create Port Forwarding")}get resource(){return t("port forwarding")}get resources(){return t("port forwardings")}init(){this.portStore=new N.PortStore,this.state=B(B({},this.state),{},{alreadyUsedPorts:[],portFixedIPs:[],canReachSubnetIdsWithRouterId:[],routerIdWithExternalNetworkInfo:[],supportRange:!0}),this.getPorts(),this.getRangeSupport(),this.getFipAlreadyUsedPorts(),this.getExtraInfo()}getExtraInfo(){M.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:t}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id}))}get fipId(){return this.item.id}getFipAlreadyUsedPorts(){var e=this;return(0,w.default)((function*(){var t=yield j.default.fetchList({fipId:e.fipId});e.setState({alreadyUsedPorts:t||[]})}))()}get instanceName(){return(0,R.getPortForwardingName)(this.submitData||(0,S.default)(this),this.item.floating_ip_address)}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var{floating_ip_address:e}=this.item;return{floatingIp:e}}getSubmitData(e){var{floatingIp:t,virtual_adapter:{selectedRows:a=[]}={},fixed_ip_address:{selectedRows:r=[]}={},external_port:n,internal_port:i}=e,l=B({},(0,I.default)(e,["floatingIp","virtual_adapter","fixed_ip_address","external_port","internal_port"]));return(0,_.default)(n).call(n,":")?l.external_port_range=n:l.external_port=n,(0,_.default)(i).call(i,":")?l.internal_port_range=i:l.internal_port=i,l.internal_ip_address=r[0].fixed_ip_address,l.internal_port_id=a[0].id,this.submitData=l,l}get nameForStateUpdate(){return["protocol"]}get portDeviceOwner(){return["compute:nova",""]}getPorts(){E.getPortsForPortFormItem.call(this,this.portDeviceOwner)}getRangeSupport(){var e=this;return(0,w.default)((function*(){try{yield j.default.fetchListByPage({limit:1,fipId:e.fipId,external_port_range:"80:81"}),e.setState({supportRange:!0})}catch(t){e.setState({supportRange:!1})}}))()}get supportRange(){var{supportRange:e}=this.state;return e}get maxRangeSize(){return this.supportRange?1/0:20}get maxRangeSizeTip(){return t("The maximum batch size is {size}, that is, the size of the port range cannot exceed {size}.",{size:this.maxRangeSize})}get tips(){return P.default.createElement("div",null,P.default.createElement("p",null,t("1. You can create {resources} using ports or port ranges.",{resources:this.resources})),P.default.createElement("p",null,t("2. In the same protocol, you cannot create multiple {resources} for the same source port or source port range.",{resources:this.resources})),P.default.createElement("p",null,t("3. When using a port range to create a port mapping, the size of the external port range is required to be the same as the size of the internal port range. For example, the external port range is 80:90 and the internal port range is 8080:8090.")),!this.supportRange&&P.default.createElement("p",null,t("4. When you use a port range to create {resources}, multiple {resources} will be created in batches. ",{resources:this.resources})+this.maxRangeSizeTip))}get formItems(){var{fixed_ip_address:e={selectedRows:[]}}=this.state,a=t("Input external port or port range (example: 80 or 80:160)"),r=t("Input internal port or port range (example: 80 or 80:160)"),n=[{name:"floatingIp",label:t("Floating Ip"),type:"label",iconType:"floatingIp"},{name:"description",label:t("Description"),type:"textarea"},{name:"protocol",label:t("Protocol"),type:"select",options:(0,O.getOptions)(R.portForwardingProtocols),required:!0},{name:"external_port",label:t("External Port/Port Range"),type:"port-range",required:!0,validator:this.validateExternalPort,dependencies:["protocol","internal_port"],placeholder:a,extra:a,hasRequiredCheck:!1},{name:"internal_port",label:t("Internal Port/Port Range"),type:"port-range",hidden:0===e.selectedRows.length,required:!0,validator:this.validateInternalPort,dependencies:["protocol","external_port"],placeholder:r,extra:r,hasRequiredCheck:!1}],[i,l]=E.getPortFormItem.call(this);return i.label=t("Target Port"),l.label=t("Target IP Address"),l.onChange=this.onFixedIpChange,(0,x.default)(n).call(n,4,0,i,l),n}}a.CreatePortForwarding=U,(0,C.default)(U,"id","create-port-forwarding"),(0,C.default)(U,"title",t("Create Port Forwarding")),(0,C.default)(U,"policy","create_floatingip_port_forwarding"),(0,C.default)(U,"allowed",(e=>h.default.resolve((0,D.default)(e.fixed_ip_address)&&(0,F.enablePFW)())));var Q=(0,T.inject)("rootStore")((0,T.observer)(U));a.default=Q},1475:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.CredentialStore=void 0;var i,l=n(a(4055)),o=n(a(28)),s=n(a(25)),u=n(a(49)),d=n(a(58)),c=n(a(55)),f=a(36),p=n(a(50)),h=n(a(133)),m=n(a(1255)),g=n(a(53)),v=(i=class extends g.default{get isSubResource(){return!0}get client(){return p.default.keystone.users.applicationCredentials}get paramsFunc(){return e=>{var{current:t,id:a,all_projects:r}=e;return(0,d.default)(e,["current","id","all_projects"])}}create(e){var t={};return t[this.responseKey]=e,this.submitting(this.client.create(h.default.user.user.id,t))}listDidFetch(e,t){return(0,u.default)((function*(){if(!t)try{var a=yield m.default.getUserProjects(),r=new l.default;(0,o.default)(a).call(a,(e=>{r.set(e.id,e.name)})),(0,o.default)(e).call(e,(e=>{e.project_name=r.get(e.project_id)||"-"}))}catch(t){return e}return e}))()}},(0,c.default)(i.prototype,"create",[f.action],(0,s.default)(i.prototype,"create"),i.prototype),i);t.CredentialStore=v;var y=new v;t.default=y},1495:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.getValue=void 0;var i=n(a(345)),l=n(a(102)),o=n(a(1428));t.getValue=e=>{if((0,l.default)(e))try{return o.default.dump(e,{noRefs:!0})}catch(t){return(0,i.default)(e,null,2)}return String(e)}},1500:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var s=o(r(63)),u=o(r(584)),d=o(r(164));r(231);var c=o(r(341));r(1344);var f=o(r(1345)),p=o(r(343)),h=o(r(35)),m=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=y(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),g=(r(161),o(r(16))),v=r(163);function y(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(y=function(e){return e?a:t})(e)}class b extends m.Component{static propTypes(){return{title:g.default.string.isRequired,buttonType:g.default.string,render:g.default.func,component:g.default.node,item:g.default.any,modalSize:g.default.string,okText:g.default.string,cancelText:g.default.string,handleOk:g.default.func,className:g.default.func,buttonText:g.default.string,buttonClassName:g.default.string,showCancelButton:g.default.bool,style:g.default.object,onClickButton:g.default.func,onFinishAction:g.default.func,onCancelAction:g.default.func}}constructor(e){super(e),(0,h.default)(this,"addListener",(()=>{var e=document.getElementsByClassName("modal-button-modal")[0];this.modalTarget=e,e&&(this.listenerResult=e.addEventListener("click",this.onClickModal))})),(0,h.default)(this,"removeListener",(()=>{var e=document.getElementsByClassName("modal-button-modal")[0];e&&(this.listenerResult=e.removeEventListener("click",this.onClickModal)),this.modalTarget=null})),(0,h.default)(this,"getModalWidth",(e=>{switch(e){case"small":return 520;case"middle":return 720;case"large":return 1200;default:return 520}})),(0,h.default)(this,"onClick",(e=>{this.stopEvent(e);var{onClickButton:t}=this.props;t&&t(),this.showModal()})),(0,h.default)(this,"onFinishAction",(()=>{var{onFinishAction:e}=this.props;e&&e()})),(0,h.default)(this,"handleOk",(e=>{this.stopEvent(e);var{handleOk:t}=this.props;t?(this.setState({submitLoading:!0}),t()instanceof s.default?t().finally((()=>{this.hideModal(),this.onFinishAction(),this.setState({submitLoading:!1})})):(this.hideModal(),this.onFinishAction(),this.setState({submitLoading:!1}))):(this.hideModal(),this.onFinishAction())})),(0,h.default)(this,"handleCancel",(e=>{this.stopEvent(e);var{onCancelAction:t}=this.props;t&&t(),this.hideModal()})),(0,h.default)(this,"hideModal",(()=>{this.removeListener(),this.setState({visible:!1})})),(0,h.default)(this,"showModal",(()=>{this.setState({visible:!0},(()=>{(0,u.default)((()=>{this.addListener()}),0)}))})),(0,h.default)(this,"stopEvent",(e=>{e&&e.preventDefault&&e.preventDefault(),e&&e.stopPropagation&&e.stopPropagation()})),(0,h.default)(this,"onClickModal",(e=>{if(this.modalTarget){for(var t=[...this.modalTarget.getElementsByTagName("button"),...this.modalTarget.getElementsByTagName("a")],{innerHTML:a=""}=e.target||{},r=!1,n=["-",""],i=0;i(0,R.default)(e)?e.join(","):e)),(0,N.default)(this,"getSortKey",(e=>{var{field:t,column:a}=e;return t&&a?a.sortKey||a.dataIndex:null})),(0,N.default)(this,"handleChange",((e,t,a,r)=>{var{action:n}=r,i=ae({limit:e.pageSize,page:e.current,current:e.current,sortKey:this.getSortKey(a),sortOrder:a.order},t),{ableSkipPageByBackend:l,isPageByBack:o}=this.props;if("sort"===n){if(o&&!l){var{pagination:s}=this.props;i=ae(ae({},i),{},{limit:s.pageSize,page:s.current,current:s.current})}this.sortKey=this.getSortKey(a),this.sortOrder=a.order,this.props.onFetchBySort(i)}else this.props.onFetch(i)})),(0,N.default)(this,"handlePageChange",((e,t)=>{var{filters:a}=this.state,{onFetch:r,defaultSortKey:n,defaultSortOrder:i}=this.props;r&&r(ae({limit:t,page:e,current:e,sortKey:this.sortKey||n,sortOrder:this.sortOrder||i},a))})),(0,N.default)(this,"handleRefresh",(()=>{this.props.onRefresh(!0)})),(0,N.default)(this,"handleRowHide",(e=>{var t,a=(0,p.default)(t=this.hideableRows).call(t,(e=>e.value));this.setState({hideRow:(0,h.default)(a).call(a,(t=>!(0,m.default)(e).call(e,t)))},(()=>{var e;(0,H.setLocalStorageItem)((0,g.default)(e="".concat(this.useId,"-")).call(e,this.props.resourceName),this.state.hideRow)}))})),(0,N.default)(this,"handleCancelSelect",(()=>{this.props.onSelectRowKeys([])})),(0,N.default)(this,"handleFilterChange",((e,t)=>{if(!(0,B.default)(e,this.props.filters)||!(0,B.default)(t,this.props.timeFilter)){this.setState({filters:e,timeFilter:t});var{pageSize:a}=this.props.pagination,{sortKey:r,sortOrder:n,onFilterChange:i}=this.props;i&&i(ae({limit:a,page:1,sortKey:r,sortOrder:n},e),t)}})),(0,N.default)(this,"handleTimeChange",(e=>{this.handleFilterChange(this.state.filters,e)})),(0,N.default)(this,"handleFilterInput",(e=>{var t={};(0,v.default)(e).call(e,(e=>{t[(0,h.default)(e).name]=e.value})),this.handleFilterChange(t,this.state.timeFilter)})),(0,N.default)(this,"handleInputFocus",(e=>{var{handleInputFocus:t}=this.props;t&&t(e)})),(0,N.default)(this,"handleFilterInputText",(e=>{var t={},{value:a}=e.currentTarget;a&&(t.keywords=a),this.handleFilterChange(t,this.state.timeFilter)})),(0,N.default)(this,"hasItemActions",(()=>{var{firstAction:e,moreActions:t,actionList:a}=this.itemActions;return!!e||(!(!t||!t.length)||a&&a.length>0)})),(0,N.default)(this,"getNoValueRender",(e=>e||(e=>(0,K.getNoValue)(e)))),(0,N.default)(this,"getPriceRender",((e,t)=>e||(e=>{var t=(0,E.default)(e)?e:(e||0).toFixed(2);return L.default.createElement("span",{style:{color:globalCSS.moneyColor}},t)}))),(0,N.default)(this,"getTipRender",(function(e,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:M.default,n=(n,i)=>{var l=e(n,i),o=t?t(n,i):(0,j.default)(i,a);return l?L.default.createElement("div",null,o,L.default.createElement(A.default,{title:l},L.default.createElement(r,{style:{marginLeft:8}}))):o};return n})),(0,N.default)(this,"getColumnTitle",(e=>{var{title:t,titleTip:a}=e;return a?L.default.createElement("span",null,t,L.default.createElement(A.default,{title:a},L.default.createElement(T.default,{style:{marginLeft:8}}))):t})),(0,N.default)(this,"getBaseColumns",(e=>(0,p.default)(e).call(e,(e=>{var{Paragraph:t}=P.default,{sortable:a,dataIndex:r,valueRender:n,sorter:i,sortOrder:l,render:o,copyable:s,tip:u,isStatus:d,isName:c,isLink:f,routeName:p,linkPrefix:h,isPrice:m,valueMap:g,unit:v}=e,y=(0,D.default)(e,["sortable","dataIndex","valueRender","sorter","sortOrder","render","copyable","tip","isStatus","isName","isLink","routeName","linkPrefix","isPrice","valueMap","unit"]),b=(0,G.getColumnSorter)(e,this.props),_=l||b?(0,G.getSortOrder)(r,this.props):null,S=o||(0,G.getRender)(n);if(g&&(S=(0,G.getValueMapRender)(e)),v&&(S=(0,G.getUnitRender)(e)),(0,G.checkIsStatusColumn)(r,d)&&(S=(0,G.getStatusRender)(S)),"description"===r&&(S=this.getNoValueRender(S)),"project_name"===r&&(S=(0,G.getProjectRender)(S)),"name"===r&&p||f){var{rowKey:x}=this.props;S=(0,G.getNameRenderByRouter)(S,e,x)}if("name"===r&&h||c){var{rowKey:w}=this.props;S=(0,G.getNameRender)(S,e,w)}if(("cost"===r||m)&&(S=this.getPriceRender(S,e)),s&&(S=e=>e&&"-"!==e?L.default.createElement(t,{copyable:!0},e):"-"),u){var{tipIcon:I}=e;S=this.getTipRender(u,S,r,I)}var C=ae(ae({},y),{},{title:this.getColumnTitle(e),dataIndex:r,align:e.align||"left"});return b&&(C.sorter=b),l&&(C.sortOrder=_),(0,G.updateColumnSort)(C,this.props),S&&(C.render=S),ae(ae({},C),{},{render:(e,t)=>(0,G.columnRender)(C.render,e,t)})})))),(0,N.default)(this,"getColumns",(()=>{var e,{columns:a,containerProps:r,onClickAction:n,onFinishAction:i,onCancelAction:l,isAdminPage:o}=this.props,{hideRow:s}=this.state,u=(0,h.default)(e=(0,h.default)(a).call(a,(e=>!e.hidden))).call(e,(e=>!(0,F.default)(s,this.getDataIndex(e.dataIndex)))),d=this.getBaseColumns(u);return this.hasItemActions()?[...d,{title:t("Action"),key:"operation",width:150,render:(e,t,a)=>L.default.createElement(J.default,{isAdminPage:o,actions:this.itemActions,onFinishAction:i,onCancelAction:l,item:t,index:a,containerProps:r,onClickAction:n})}]:d})),(0,N.default)(this,"stopRefreshAuto",(()=>{this.setState({autoRefresh:!1});var{stopRefreshAuto:e}=this.props;e&&e()})),(0,N.default)(this,"startRefreshAuto",(()=>{this.setState({autoRefresh:!0});var{startRefreshAuto:e}=this.props;e&&e()})),(0,N.default)(this,"renderSelectedTitle",(()=>L.default.createElement("div",{className:ee.default["select-title"]},L.default.createElement("div",null,this.renderBatchActions()),L.default.createElement("div",null,L.default.createElement(k.default,{type:"flat",className:ee.default["cancel-select"],onClick:this.handleCancelSelect},t("Cancel Select")))))),(0,N.default)(this,"renderTableTitle",(()=>this.renderNormalTitle())),(0,N.default)(this,"renderRowMenu",(()=>{var{hideRow:e}=this.state;return L.default.createElement(Y.default,{className:ee.default["column-menu"],options:this.hideableRows,value:(e=>{var t,a=[];return(0,v.default)(t=this.hideableRows).call(t,(t=>{-1===(0,y.default)(e).call(e,t.value)&&a.push(t.value)})),a})(e),onChange:this.handleRowHide})})),(0,N.default)(this,"renderTableFooter",(e=>{var{page:t,current:a,pageSize:r,total:n,pageSizeOptions:i}=this.props.pagination,{isLoading:l,hideTotal:o}=this.props;return L.default.createElement(Q.default,{current:t||a||1,pageSize:r,onChange:this.handlePageChange,currentDataSize:e.length,pageSizeOptions:i||[10,20,50,100],total:n,isLoading:l,onFocusChange:this.handleInputFocus,hideTotal:o})})),this.state={hideRow:(0,H.getLocalStorageItem)((0,g.default)(a="".concat(this.useId,"-")).call(a,this.props.resourceName))||[],filters:[],timeFilter:{},autoRefresh:e.autoRefresh},this.sortKey=e.defaultSortKey,this.sortOrder=e.defaultSortOrder,this.suggestions=(0,p.default)(r=(0,h.default)(n=e.columns).call(n,(e=>e.search&&e.dataIndex))).call(r,(e=>{var t;return{label:e.title,key:e.dataIndex,options:e.filters&&(0,p.default)(t=e.filters).call(t,(e=>({label:e.text,key:e.value})))}}))}get hideableRows(){var e,t,a;return(0,p.default)(e=(0,h.default)(t=(0,h.default)(a=this.props.columns).call(a,(e=>!e.hidden))).call(t,(e=>e.isHideable))).call(e,(e=>({label:e.title,value:this.getDataIndex(e.dataIndex)||e.key})))}get useId(){var{user:e={}}=(0,V.toJS)(this.props.rootStore)||{},{user:{id:t}={}}=e||{};return t}get itemActions(){var{itemActions:e={}}=this.props;return e}filterDownloadColumns(e){var a,r,{rowKey:n}=this.props,i=(0,p.default)(a=(0,h.default)(e).call(e,(e=>!e.hidden))).call(a,(e=>{var{title:a,splitColumnForDownload:r=!0}=e;if((0,m.default)(a).call(a,"/")&&r){var i,l,[o,s]=e.title.split("/"),u=s;if(o.length>2)u=(0,g.default)(l="".concat(o.split("ID")[0])).call(l,s);var d=e.idKey||n,c=null;return(0,m.default)(i=e.title).call(i,t("Project"))&&"project_name"===e.dataIndex&&(d="project_id",c=(e,t)=>(0,G.getProjectId)(t)),[{title:o,dataIndex:d,render:c},ae(ae({},e),{},{title:u})]}return e}));return(0,g.default)(r=[]).call(r,...i)}renderBatchActions(){var{batchActions:e,selectedRowKeys:t,data:a,rowKey:r,containerProps:n,onClickAction:i,onFinishAction:l,onCancelAction:o,resourceName:s,isAdminPage:u}=this.props,d=(0,h.default)(a).call(a,(e=>(0,y.default)(t).call(t,e[r])>=0));return e?L.default.createElement(X.default,{isAdminPage:u,visibleButtonNumber:3,selectedItemKeys:t,selectedItems:d,batchActions:e,onFinishAction:l,onCancelAction:o,containerProps:n,onClickAction:i,resourceName:s}):null}renderTimeFilter(){var{showTimeFilter:e,filterTimeDefaultValue:t}=this.props;if(!e)return null;var a={onChange:this.handleTimeChange,className:ee.default.timer};return void 0!==t&&(a.defaultValue=t),L.default.createElement(q.default,a)}renderSearch(){var{hideSearch:e,searchFilters:a,initFilter:r={}}=this.props;return e?null:a.length>0?L.default.createElement("div",{className:ee.default["search-row"]},L.default.createElement(U.default,{filterParams:a,initValue:r,onInputChange:this.handleFilterInput,onInputFocus:this.handleInputFocus,placeholder:t("Multiple filter tags are separated by enter")})):L.default.createElement("div",{className:ee.default["search-row"]},L.default.createElement(C.default,{placeholder:t("Enter query conditions to filter"),onChange:this.handleFilterInputText}))}renderMiddleInHeader(){var{middleComponentInHeader:e}=this.props;return e||null}renderActions(){var{isAdminPage:e,primaryActions:t,containerProps:a,onClickAction:r,onFinishAction:n,onCancelAction:i,primaryActionsExtra:l}=this.props;return t?L.default.createElement(Z.default,{isAdminPage:e,primaryActions:t,containerProps:a,onClickAction:r,onFinishAction:n,onCancelAction:i,primaryActionsExtra:l}):null}renderCustomButton(){var{hideCustom:e}=this.props;return e?null:L.default.createElement(w.default,{overlay:this.renderRowMenu()},L.default.createElement(k.default,{className:ee.default["custom-button"],type:"default",icon:L.default.createElement(I.default,null)}))}renderDownload(){var{pagination:e,data:t,columns:a,resourceName:r,detailName:n,getDownloadData:i,onClickAction:l,onCancelAction:o,hideDownload:s}=this.props;if(s)return null;var{total:u}=e,d={data:t,columns:this.filterDownloadColumns(a),total:u,getValueRenderFunc:G.getValueRenderFunc,resourceName:r,extraName:n,getData:i,onBeginDownload:l,onFinishDownload:o,onCancelDownload:o};return L.default.createElement($.default,d)}renderRefresh(){var{hideRefresh:e}=this.props;return e?null:L.default.createElement(k.default,{type:"default",icon:L.default.createElement(x.default,null),onClick:this.handleRefresh})}renderRefreshAuto(){var{hideAutoRefresh:e}=this.props;if(e)return null;var{autoRefresh:a}=this.state;if(a){var r=t("Stop auto refreshing data");return L.default.createElement(A.default,{title:r},L.default.createElement(k.default,{type:"primary",icon:L.default.createElement(S.default,null),onClick:this.stopRefreshAuto}))}var n=t("Start auto refreshing data");return L.default.createElement(A.default,{title:n},L.default.createElement(k.default,{type:"default",icon:L.default.createElement(_.default,null),onClick:this.startRefreshAuto}))}renderNormalTitle(){return L.default.createElement("div",{className:ee.default["table-header"],id:"sl-table-header-search"},L.default.createElement("div",{className:(0,z.default)(ee.default["table-header-action-btns"],"table-header-action-btns")},this.renderActions(),this.renderBatchActions()),this.renderTimeFilter(),this.renderMiddleInHeader(),L.default.createElement("div",{className:ee.default["table-header-right"]},this.renderSearch(),L.default.createElement("div",{className:(0,z.default)(ee.default["table-header-btns"],"table-header-btns")},this.renderRefresh(),this.renderDownload(),this.renderCustomButton(),this.renderRefreshAuto())))}render(){var{className:e,data:t,isLoading:a,silentLoading:r,rowKey:n,selectedRowKeys:i,onSelectRowKeys:l,hideHeader:o,getCheckboxProps:s,pagination:u,scrollY:d,expandable:c,isPageByBack:f=!0,ableSkipPageByBackend:p,childrenColumnName:h}=this.props,m=null,g=!(!p&&f)&&ae(ae({},u),{},{size:"small"});o||this.renderTableTitle;var v=!p&&f?this.renderTableFooter:null;l&&(m={selectedRowKeys:i,getCheckboxProps:s,onChange:l});var y=this.renderTableTitle(),_=this.getColumns(),S={};return d>0&&(S.y=d||400),L.default.createElement("div",null,y,L.default.createElement(b.default,{className:(0,z.default)(ee.default.table,"sl-table",e),rowKey:n,columns:_,dataSource:(0,V.toJS)(t),loading:!r&&a,onChange:this.handleChange,pagination:g,rowSelection:m,sortDirections:["ascend","descend","ascend"],scroll:S,showSorterTooltip:!1,expandable:c,footer:v,childrenColumnName:h}))}}a.BaseTable=re,(0,N.default)(re,"propTypes",{data:O.default.oneOfType([O.default.array,O.default.object]).isRequired,columns:O.default.array.isRequired,selectedRowKeys:O.default.array,isLoading:O.default.bool,pagination:O.default.object,filters:O.default.object,keyword:O.default.string,rowKey:O.default.any,onFetch:O.default.func,onFilterChange:O.default.func,onSelectRowKeys:O.default.func,getCheckboxProps:O.default.func,hideHeader:O.default.bool,hideSearch:O.default.bool,hideCustom:O.default.bool,batchActions:O.default.array,alwaysUpdate:O.default.bool,emptyText:O.default.oneOfType([O.default.string||O.default.func]),resourceName:O.default.string,detailName:O.default.string,expandable:O.default.object,showTimeFilter:O.default.bool,timeFilter:O.default.any,isPageByBack:O.default.bool,isSortByBack:O.default.bool,ableSkipPageByBackend:O.default.bool,autoRefresh:O.default.bool,hideRefresh:O.default.bool,hideAutoRefresh:O.default.bool,startRefreshAuto:O.default.func,stopRefreshAuto:O.default.func,dataDurationAuto:O.default.number,defaultSortKey:O.default.string,defaultSortOrder:O.default.string,hideTotal:O.default.bool,hideDownload:O.default.bool,primaryActionsExtra:O.default.any,isAdminPage:O.default.bool,containerProps:O.default.any,middleComponentInHeader:O.default.node}),(0,N.default)(re,"defaultProps",{rowKey:"name",selectedRowKeys:[],onFetch(){},hideHeader:!1,hideSearch:!1,hideCustom:!1,resourceName:"",detailName:"",expandable:void 0,showTimeFilter:!1,isPageByBack:!1,isSortByBack:!1,autoRefresh:!0,hideRefresh:!1,hideAutoRefresh:!1,dataDurationAuto:15,defaultSortKey:"",defaultSortOrder:"",hideTotal:!1,hideDownload:!1,primaryActionsExtra:null,isAdminPage:!1,ableSkipPageByBackend:!1});var ne=(0,W.inject)("rootStore")(re);a.default=ne},1591:function(e,t,a){var r=a(3540);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1592:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=t.ActionLogStore=void 0;var i=n(a(50)),l=n(a(53));class o extends l.default{get client(){return i.default.nova.servers.instanceActions}get isSubResource(){return!0}get paramsFunc(){return()=>({})}detailFetchByClient(e){var{id:t,requestId:a}=e;return this.client.show(t,a)}}t.ActionLogStore=o;var s=new o;t.default=s},1593:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=function(e){var{id:a,requestId:r,store:n,actionEvent:i}=e,f=[{title:t("Operation Name"),dataIndex:"event",key:"event",render:e=>i[e]||e},{title:t("Start Time"),dataIndex:"start_time",key:"start_time",render:e=>(0,d.getLocalTimeStr)(e)},{title:t("End Time"),dataIndex:"finish_time",key:"finish_time",render:e=>e?(0,d.getLocalTimeStr)(e):"-"},{title:t("Execution Result"),dataIndex:"result",key:"result",render:e=>"Success"===e?t("Success"):"-"}],p=function(){var e=(0,s.default)((function*(){var e,t=(yield n.fetchDetail({id:a,requestId:r}))||{},{events:i=[]}=t;return(0,l.default)(e=(0,o.default)(i).call(i)).call(e)}));return function(){return e.apply(this,arguments)}}();return u.default.createElement(c.default,{columns:f,getData:p})};var l=i(r(634)),o=i(r(203)),s=i(r(49)),u=i(r(0)),d=r(580),c=i(r(638))},1598:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateKeypair=void 0;var p=f(r(63)),h=f(r(49)),m=f(r(35)),g=r(412),v=r(1241),y=f(r(423)),b=f(r(340)),_=f(r(1352));function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function x(e){for(var t=1;t{var{total:e=0,data:t=[]}=y.default.list||{};return e||t.length},I=e=>{var{limit:t=0}=e||{};return-1===t||t>w()?1:0};class C extends v.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{name:t,public_key:a}=e,r={name:t,public_key:a,type:"ssh"};return y.default.create(r).then((e=>{if(!a){var{keypair:{private_key:r}}=e,n="".concat(t,".pem"),i=new Blob([r],{type:"text/plain;charset=utf-8"});_.default.saveAs(i,n)}}))}))}get name(){return t("Create Keypair")}init(){this.state.quota={},this.state.quotaLoading=!0,this.projectStore=b.default,this.getQuota()}get tips(){return t("Quota of key pair means: the number of allowed key pairs for each user.")}static get disableSubmit(){var{novaQuota:{key_pairs:e={}}}=b.default;return 0===I(e)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,h.default)((function*(){e.setState({quotaLoading:!0});var t=yield e.projectStore.fetchProjectNovaQuota(),{key_pairs:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var r=I(e),n=w();return[x(x({},e),{},{add:r,used:n,name:"key_pair",title:t("Key Pair")})]}get defaultValue(){return{type:"create"}}get createTypeList(){return[{value:"create",label:t("Create Keypair")},{value:"import",label:t("Import Keypair")}]}get formItems(){var{type:e}=this.state,a="create"===e;return[{name:"type",label:t("Create Type"),type:"radio",options:this.createTypeList},{name:"name",label:t("Name"),type:"input-name",required:!0,isKeypair:!0},{name:"public_key",label:t("Public Key"),type:"textarea-from-file",hidden:a,required:!a}]}}a.CreateKeypair=C,(0,m.default)(C,"id","create-keypair"),(0,m.default)(C,"title",t("Create Keypair")),(0,m.default)(C,"policy","os_compute_api:os-keypairs:create"),(0,m.default)(C,"allowed",(()=>p.default.resolve(!0)));var k=(0,g.inject)("rootStore")((0,g.observer)(C));a.default=k},1601:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0,r(1246);var s=o(r(1247)),u=o(r(1347));r(1244);var d=o(r(1245));r(344);var c=o(r(202));r(1311);var f=o(r(1312));r(569);var p=o(r(1253)),h=o(r(343)),m=o(r(29)),g=o(r(232)),v=o(r(54)),y=o(r(203)),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),_=(r(161),r(564),r(342)),S=o(r(16));function x(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(x=function(e){return e?a:t})(e)}var w=e=>{var{tags:a,onChange:r,maxLength:n,maxCount:i}=e,[l,o]=(0,b.useState)(a),[S,x]=(0,b.useState)(!1),[w,I]=(0,b.useState)(""),[C,k]=(0,b.useState)(-1),[D,P]=(0,b.useState)(""),T=n&&n>0?{maxLength:n}:{},A=i&&i>0||-1;var M=null,N=null,E=e=>{M=e};function R(e){P(e.target.value)}function j(){var e=[...l];e[C]=D,o(e),P(""),k(-1)}function F(){var e=w.toLocaleLowerCase();w&&!(0,g.default)(l).call(l,(t=>t.toLowerCase()===e))&&(-1!==A&&l.length{N&&N.focus()}),[S]),(0,b.useEffect)((()=>{M&&M.focus()}),[C]),(0,b.useEffect)((()=>{r(l)}),[l]),b.default.createElement(s.default,{gutter:[0,8]},(0,v.default)(l).call(l,((e,t)=>{if(C===t)return b.default.createElement(p.default,(0,h.default)({ref:E,style:{width:78,marginRight:8,verticalAlign:"top"},key:e,size:"small",value:D,onChange:R,onBlur:j,onPressEnter:j},T));var a=e.length>20,r=a?"".concat((0,y.default)(e).call(e,0,20),"..."):e,n=b.default.createElement(f.default,{key:e,closable:!0,onClose:()=>{return t=e,void o((0,m.default)(l).call(l,(e=>e!==t)));var t},color:_.projectTagsColors[t%10]},b.default.createElement("span",{style:{whiteSpace:"pre-wrap"},onDoubleClick:a=>{k(t),P(e),a.preventDefault()}},r));return b.default.createElement(d.default,{span:24,key:e},a?b.default.createElement(c.default,{title:b.default.createElement("span",{style:{whiteSpace:"pre-wrap"}},e)},n):n)})),b.default.createElement(d.default,{span:24},S&&b.default.createElement(p.default,(0,h.default)({ref:e=>{N=e},style:{width:78,marginRight:8,verticalAlign:"top"},type:"text",size:"small",value:w,onChange:function(e){I(e.target.value)},onBlur:F,onPressEnter:F},T)),!S&&b.default.createElement(f.default,{onClick:function(){x(!0)}},b.default.createElement(u.default,null)," ",t("New Tag"))))};w.propTypes={tags:S.default.array,onChange:S.default.func,maxLength:S.default.number,maxCount:S.default.number};var I=w;a.default=I},1602:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(1603)),o=i(r(3624)),s=i(r(3625)),u=i(r(3626)),d=i(r(3627)),c=i(r(3628)),f=i(r(3629)),p=i(r(3630)),h=i(r(3631)),m=i(r(3632)),g=i(r(1604)),v=i(r(3633)),y=i(r(3634)),b=i(r(3635)),_=i(r(3636)),S=i(r(3637)),x=i(r(3638)),w=i(r(3639)),I=i(r(3640)),C={title:t("Data Protection"),actions:[f.default,g.default,b.default,m.default,u.default]},k={title:t("Instance Related"),actions:[I.default,w.default,d.default,c.default]},D={title:t("Capacity & Type"),actions:[p.default,h.default]},P={rowActions:{firstAction:o.default,moreActions:[C,k,D,{action:s.default},{action:S.default},{action:x.default}]},batchActions:[s.default],primaryActions:[l.default,_.default]},T={rowActions:{firstAction:o.default,moreActions:[C,k,D,{action:s.default},{action:S.default},{action:x.default}]},batchActions:[],primaryActions:[]},A={actionConfigs:P,adminConfig:{rowActions:{firstAction:s.default,moreActions:[{action:v.default},{action:y.default}]},batchActions:[s.default],primaryActions:[]},instanceDetailConfig:T,instanceDetailAdminConfig:{rowActions:{firstAction:v.default,moreActions:[{action:y.default}]},batchActions:[],primaryActions:[]}};a.default=A},1603:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(86)),h=f(r(63)),m=f(r(1394)),g=f(r(54)),v=f(r(609)),y=f(r(77)),b=f(r(1252)),_=f(r(28)),S=f(r(29));r(1278);var x=f(r(1279)),w=f(r(343));r(1354);var I=f(r(428)),C=f(r(49)),k=f(r(35)),D=f(r(0)),P=r(412),T=f(r(1437)),A=r(580),M=r(566),N=f(r(592)),E=f(r(577)),R=f(r(414)),j=f(r(578)),F=f(r(340)),L=f(r(1292)),O=(r(161),r(36)),z=r(1241),B=f(r(4)),V=r(574),U=r(1320),Q=r(163),q=f(r(3622));function G(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t{this.setState({imageTab:e})})),(0,k.default)(this,"onConfirmCancel",(()=>{var{initVolumeType:e}=this.state,{selectedRows:t,selectedRowKeys:a,snapshotId:r}=e,n={selectedRows:t,selectedRowKeys:a,snapshotId:"".concat(r,"-1")};this.setState({initVolumeType:n})})),(0,k.default)(this,"onVolumeTypeChange",(e=>{var{selectedRows:a=[]}=e;if(0===a.length)return(0,M.setCreateVolumeType)(""),void this.setState({multiattach:!1});var{id:r,extra_specs:{multiattach:n="False"}={},name:i}=a[0];if((0,M.setCreateVolumeType)(i),this.sourceTypeIsSnapshot){var{initVolumeType:{selectedRowKeys:l=[]},confirmCount:o=0}=this.state;r!==l[0]&&o<1&&(T.default.warn({title:t("Note: Are you sure you need to modify the volume type?"),content:M.snapshotTypeTip,onCancel:this.onConfirmCancel}),this.setState({confirmCount:1}))}this.setState({multiattach:" True"===n})})),(0,k.default)(this,"onSnapshotChange",function(){var t=(0,C.default)((function*(t){var{selectedRows:a=[]}=t||{},r="",n=null;if(a.length){var i,{origin_data:{volume_type_id:l}={},id:o}=a[0]||{};if(l)r=l,n=(0,p.default)(i=e.volumeTypes).call(i,(e=>e.id===r));else try{var s,u=yield e.snapshotStore.fetchDetail({id:o}),{volume:{volume_type:d}}=u||{};n=(0,p.default)(s=e.volumeTypes).call(s,(e=>e.name===d)),r=n.id}catch(e){}if(n){var c={selectedRowKeys:[r],selectedRows:[n],snapshotId:o};e.setState({initVolumeType:c})}}}));return function(e){return t.apply(this,arguments)}}()),(0,k.default)(this,"onCountChange",(e=>{(0,M.setCreateVolumeCount)(e),this.setState({count:e},(()=>{this.onCountChangeCallback&&this.onCountChangeCallback()}))})),(0,k.default)(this,"getCountMax",(()=>{var{volumes:{left:e=0}={}}=this.getVolumeQuota();return-1===e?1/0:e})),(0,k.default)(this,"onSubmit",(e=>{var t,a,{count:r}=this.state;if(this.message)return h.default.reject(this.message);var{backup:n,image:i,snapshot:l,size:o,availableZone:s,shared:u,name:d,volume_type:c}=e,f={name:d,size:o,availability_zone:"noSelect"!==s?s:null,multiattach:u,volume_type:c.selectedRowKeys[0]};return n&&(0,m.default)(n.selectedRowKeys)&&n.selectedRowKeys.length&&(f.backup_id=n.selectedRowKeys[0]),i&&(0,m.default)(i.selectedRowKeys)&&i.selectedRowKeys.length&&(f.imageRef=i.selectedRowKeys[0]),l&&(0,m.default)(l.selectedRowKeys)&&l.selectedRowKeys.length&&(f.snapshot_id=l.selectedRowKeys[0]),1===r?this.volumeStore.create(f):(0,Q.allSettled)((0,g.default)(t=(0,v.default)(a=new Array(r)).call(a,r)).call(t,((e,t)=>{var a,r=K(K({},f),{},{name:(0,y.default)(a="".concat(f.name,"-")).call(a,t+1)});return this.volumeStore.create(r)})))}))}init(){this.state=K(K({},this.state),{},{quotaLoading:!0,count:1,sharedDisabled:!1,confirmCount:0}),this.message="",this.snapshotStore=N.default,this.imageStore=E.default,this.volumeStore=R.default,this.volumeTypeStore=j.default,this.backupStore=L.default,this.getQuota(),this.getAvailZones(),this.getImages(),this.getVolumeTypes()}get listUrl(){return this.getRoutePath("volume")}get name(){return t("create volume")}static allowed(){return h.default.resolve(!0)}get disableSubmit(){var{quotaLoading:e}=this.state;if(e)return!0;var{cinderQuota:t={}}=F.default,{add:a,error:r}=(0,M.getAdd)(t),n=0===a;return n?r!==this.message&&(I.default.error(r),this.message=r):this.message="",n}get instanceName(){var e,t,{name:a}=(0,b.default)(this)||{},{count:r=1}=this.state;return 1===r?a:(0,g.default)(e=(0,v.default)(t=new Array(r)).call(t,r)).call(e,((e,t)=>{var r;return(0,y.default)(r="".concat(a,"-")).call(r,t+1)})).join(", ")}get errorText(){return this.message?t("Unable to create volume: insufficient quota to create resources."):super.errorText}get showQuota(){return!0}getVolumeQuota(){var{quota:e={}}=this.state;return(0,M.getQuota)(e)}get quotaInfo(){return(0,M.getQuotaInfo)(this)}get defaultSize(){return this.quotaIsLimit&&this.maxSize<10?this.maxSize:10}get defaultValue(){var{initVolumeType:e}=this.state;return{source:this.sourceTypes[0],size:this.defaultSize,project:this.currentProjectName,availableZone:(this.availableZones[0]||[]).value,volume_type:e}}get availableZones(){var e,a,r=[{label:t("Not select"),value:"noSelect"}];return(0,_.default)(e=(0,S.default)(a=this.volumeStore.availabilityZones||[]).call(a,(e=>e.zoneState.available))).call(e,(e=>{r.push({value:e.zoneName,label:e.zoneName})})),r}get images(){var e,{imageTab:t}=this.state,a=(0,S.default)(e=this.imageStore.list.data||[]).call(e,(e=>!(!(0,V.canImageCreateInstance)(e)&&!(0,V.canImageCreateIronicInstance)(e))&&(t?(0,V.getImageOS)(e)===t&&"active"===e.status:e)));return(0,g.default)(a).call(a,(e=>K(K({},e),{},{key:e.id})))}get volumeTypes(){return(0,O.toJS)(this.volumeTypeStore.list.data||[])}get backups(){var e;return(0,g.default)(e=this.backupStore.list.data||[]).call(e,(e=>K(K({},e),{},{key:e.id})))}get sourceTypes(){return[{label:t("Blank Volume"),value:"blank-volume"},{label:t("Image"),value:"image"},{label:t("Volume Snapshot"),value:"snapshot"}]}get quotaIsLimit(){var{gigabytes:{limit:e}={}}=this.getVolumeQuota();return-1!==e}get maxSize(){var{gigabytes:{left:e=0}={}}=this.getVolumeQuota();return-1===e?1e3:e}getAvailZones(){this.volumeStore.fetchAvailabilityZoneList()}getImages(){this.imageStore.fetchList({all_projects:this.hasAdminRole})}getVolumeTypes(){var e=this;return(0,C.default)((function*(){var t=yield e.volumeTypeStore.fetchList();if(t.length>0){var a=t[0],{id:r,name:n}=a,i={selectedRowKeys:[r],selectedRows:[a]};(0,M.setCreateVolumeType)(n),e.setState({initVolumeType:i,volume_type:a},(()=>{e.updateFormValue("volume_type",i),e.updateDefaultValue()}))}}))()}getQuota(){var e=this;return(0,C.default)((function*(){yield(0,M.fetchQuota)(e,0),(0,M.setCreateVolumeSize)(e.defaultSize),e.onCountChange(1),e.updateDefaultValue()}))()}get systemTabs(){return(0,V.getImageSystemTabs)()}getVolumeTypeExtra(){if(this.sourceTypeIsSnapshot)return M.snapshotTypeTip;var{multiattach:e=!1}=this.state;return e?M.multiTip:void 0}get sourceTypeIsImage(){var{source:e}=this.state;return e===this.sourceTypes[1].value}get sourceTypeIsSnapshot(){var{source:e}=this.state;return e===this.sourceTypes[2].value}getDiskMinSize(){var e=0;if(this.sourceTypeIsImage){var{min_disk:t=0,size:a=0}=this.state.image||{},r=Math.ceil(a/1024/1024/1024);e=Math.max(t,r,1)}else if(this.sourceTypeIsSnapshot){var{size:n=0}=this.state.snapshot||{};e=n}return Math.max(e,1)}get nameForStateUpdate(){return["source","image","snapshot","size","volume_type"]}get formItems(){var e,{initVolumeType:a}=this.state,r=this.getDiskMinSize();return[{name:"project",label:t("Project"),type:"label"},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),options:this.availableZones,tip:t("Unless you know clearly which AZ to create the volume in, you don not need to fill in here.")},{type:"divider"},{name:"source",label:t("Data Source Type"),type:"radio",options:this.sourceTypes,required:!0,isWrappedValue:!0},{name:"image",label:t("Operating System"),type:"select-table",data:this.images,isLoading:this.imageStore.list.isLoading,required:this.sourceTypeIsImage,isMulti:!1,hidden:!this.sourceTypeIsImage,filterParams:[{label:t("Name"),name:"name"}],columns:(0,V.getImageColumns)(this),tabs:this.systemTabs,defaultTabValue:this.systemTabs[0].value,selectedLabel:t("Image"),onTabChange:this.onImageTabChange},{name:"snapshot",label:t("Volume Snapshot"),type:"select-table",backendPageStore:this.snapshotStore,required:this.sourceTypeIsSnapshot,isMulti:!1,hidden:!this.sourceTypeIsSnapshot,isSortByBack:!0,defaultSortKey:"created_at",defaultSortOrder:"descend",onChange:this.onSnapshotChange,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Size"),dataIndex:"size",unit:"GiB",sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:M.volumeStatus},{title:t("Description"),dataIndex:"description",sorter:!1},{title:t("Created At"),dataIndex:"created_at",render:e=>(0,A.getSinceTime)(e)}]},{type:"divider"},K(K({name:"volume_type",label:t("Volume Type"),type:"select-table",tip:t('The volume type needs to set "multiattach" in the metadata to support shared volume attributes.')},U.volumeTypeSelectProps),{},{data:this.volumeTypes,isLoading:this.volumeTypeStore.list.isLoading,required:!0,extra:this.getVolumeTypeExtra(),onChange:this.onVolumeTypeChange,initValue:a}),{name:"size",label:t("Capacity (GiB)"),type:"slider-input",max:this.maxSize,min:r,description:(0,y.default)(e="".concat(r,"GiB-")).call(e,this.maxSize,"GiB"),required:this.quotaIsLimit,hidden:!this.quotaIsLimit,onChange:M.onVolumeSizeChange},{name:"size",label:t("Capacity (GiB)"),type:"input-int",min:r,hidden:this.quotaIsLimit,required:!this.quotaIsLimit,onChange:M.onVolumeSizeChange},{type:"divider"},{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0},{title:t("Description"),dataIndex:"description"}]}onCountChangeCallback(){}renderFooterLeft(){var{count:e=1}=this.state,a={min:1,max:this.getCountMax(),precision:0,onChange:this.onCountChange,formatter:e=>"$ ".concat(e).replace(/\D/g,"")};return D.default.createElement("div",null,D.default.createElement("span",null,t("Count")),D.default.createElement(x.default,(0,w.default)({},a,{value:e,className:(0,B.default)(q.default.input,"volume-count")})))}}a.Create=H,(0,k.default)(H,"id","volume-create"),(0,k.default)(H,"title",t("Create Volume")),(0,k.default)(H,"path","/storage/volume/create"),(0,k.default)(H,"policy","volume:create");var W=(0,P.inject)("rootStore")((0,P.observer)(H));a.default=W},1604:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.CreateBackup=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(1292)),f=r(566),p=r(1356);class h extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{name:a,incremental:r}=e,n={name:a,incremental:r,volume_id:t,force:(0,f.isInUse)(this.item)};return this.store.create(n)}))}get name(){return t("Create volume backup")}get tips(){return p.createTip}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),incremental:!1}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"name",label:t("Volume Backup Name"),type:"input-name",required:!0},{name:"incremental",label:t("Backup Mode"),type:"radio",options:p.backupModeList,tip:p.modeTip}]}init(){this.store=c.default,c.default.setCurrentVolume(this.item),(0,p.fetchQuota)(this)}static get disableSubmit(){return(0,p.checkQuotaDisable)()}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,p.getQuotaInfo)(this)}}a.CreateBackup=h,(0,s.default)(h,"id","create-backup"),(0,s.default)(h,"title",t("Create Volume Backup")),(0,s.default)(h,"buttonText",t("Create Backup")),(0,s.default)(h,"policy","backup:create"),(0,s.default)(h,"aliasPolicy","cinder:backup:create"),(0,s.default)(h,"allowed",(e=>o.default.resolve((0,f.isAvailableOrInUse)(e))));var m=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=m},1605:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.PoolStore=void 0;var f=c(a(35)),p=c(a(58)),h=c(a(351)),m=c(a(50)),g=c(a(53));function v(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function y(e){for(var t=1;t{var{keywords:t}=e;return y(y({},(0,p.default)(e,["keywords"])),{},{detail:!0})}}get mapper(){return e=>{var{name:t,capabilities:a={}}=e,r=y({name:t},a),{total_capacity_gb:n,free_capacity_gb:i}=a;return(0,h.default)(n)&&(0,h.default)(i)&&(r.usedGB=(n-i).toFixed(2),r.usedGBPercent=100*(r.usedGB/n).toFixed(2)),r}}}t.PoolStore=b;var _=new b;t.default=_},1606:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=a(342),l=n(a(3641)),o=n(a(3642)),s=n(a(3643)),u=n(a(3644)),d=n(a(3645)),c=n(a(1467)),f={firstAction:d.default,moreActions:[{action:o.default},{action:u.default},{action:c.default},{action:s.default}]},p={actionConfigs:{rowActions:f,batchActions:[s.default],primaryActions:[l.default]},adminConfigs:{rowActions:{firstAction:s.default},batchActions:[s.default],primaryActions:[l.default]},instanceDetailConfigs:{rowActions:{firstAction:u.default}},instanceDetailAdminConfigs:i.emptyActionConfig,qosDetailConfigs:{rowActions:f},qosDetailAdminConfigs:{rowActions:{firstAction:s.default}}};t.default=p},1607:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=n(a(3646)),l=n(a(3647)),o=n(a(3648)),s=n(a(3649)),u=n(a(3650)),d=n(a(3651)),c=n(a(3652)),f=n(a(3653)),p=n(a(1608)),h={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:s.default},{action:c.default},{action:f.default},{action:u.default},{action:d.default},{action:p.default},{},{action:l.default}]},batchActions:[l.default],primaryActions:[i.default]},actionConfigsInDetail:{rowActions:{firstAction:u.default,moreActions:[{action:d.default}]},batchActions:[],primaryActions:[]},noActions:{rowActions:{firstAction:null,moreActions:[]},batchActions:[],primaryActions:[]},adminActions:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=h},1608:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ManageSecurityGroup=void 0;var l=i(r(63)),o=i(r(54)),s=i(r(49)),u=i(r(35)),d=i(r(119)),c=r(412),f=r(1241),p=i(r(572)),h=r(419),m=r(1326),g=r(36);class v extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"onSubmit",(e=>{var{securityGroup:{selectedRowKeys:t=[]}={},port_security_enabled:a}=e,{id:r}=this.item,n={port:{security_groups:a?t:[],port_security_enabled:a}};return this.securityGroupStore.updatePortSecurityGroup({id:r,reqBody:n})}))}get name(){return t("Manage Security Group")}init(){this.securityGroupStore=new h.SecurityGroupStore,this.currentSecurityGroups=[],this.state.sgInitValue={selectedRowKeys:[],selectedRows:[]},this.detail=null,this.getPortDetail()}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var{sgInitValue:e}=this.state,{selectedRowKeys:t=[]}=e||{};return t.length?{port_security_enabled:this.item.port_security_enabled,securityGroup:e}:{}}getPortDetail(){var e=this;return(0,s.default)((function*(){var{id:t,security_groups:a,port_security_enabled:r}=e.item,n=a;a||(n=(yield p.default.fetchDetail({id:t})).security_groups);var i=yield l.default.all((0,o.default)(n).call(n,(t=>e.securityGroupStore.fetchDetail({id:t})))),s={selectedRowKeys:(0,o.default)(n).call(n,(e=>(0,g.toJS)(e))),selectedRows:(0,o.default)(i).call(i,(e=>(0,g.toJS)(e)))};e.setState({sgInitValue:s,port_security_enabled:r}),e.updateFormValue("securityGroup",s),e.updateFormValue("port_security_enabled",r)}))()}get messageHasItemName(){var{item:e}=this.props;return!!e&&e.name}get formItems(){var{sgInitValue:e,port_security_enabled:a}=this.state;return[{name:"port_security_enabled",label:t("Port Security"),type:"switch",onChange:e=>{this.setState({port_security_enabled:e})},required:!0},{name:"securityGroup",label:t("Security Group"),type:"select-table",tips:t("The security group is similar to the firewall function for setting up network access control, or you can go to the console and create a new security group. (Note: The security group you selected will work on all virtual LANs on the instances.)"),backendPageStore:this.securityGroupStore,extraParams:{project_id:this.currentProjectId},initValue:e,isMulti:!0,filterParams:m.securityGroupFilter,columns:m.securityGroupColumns,hidden:!a}]}}a.ManageSecurityGroup=v,(0,u.default)(v,"id","manage-security-group"),(0,u.default)(v,"title",t("Manage Security Group")),(0,u.default)(v,"policy","update_port:port_security_enabled"),(0,u.default)(v,"allowed",(e=>l.default.resolve(0===(0,d.default)(e,"origin_data.allowed_address_pairs",[]).length)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},1625:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Storage=void 0;var l=i(r(58)),o=i(r(35)),s=r(412),u=i(r(1242)),d=i(r(1605)),c=r(1465);class f extends u.default{constructor(){super(...arguments),(0,o.default)(this,"getColumns",(()=>c.poolColumns)),(0,o.default)(this,"updateFetchParams",(e=>{var{all_projects:t}=e;return(0,l.default)(e,["all_projects"])}))}init(){this.store=d.default}get policy(){return"scheduler_extension:scheduler_stats:get_pools"}get name(){return t("storage backend")}get rowKey(){return"name"}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Protocol"),name:"storage_protocol"},{label:t("Backend Name"),name:"volume_backend_name"}]}}a.Storage=f;var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},1670:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Credentials=void 0;var p=f(r(54)),h=f(r(164)),m=f(r(35)),g=f(r(0)),v=r(412),y=f(r(1242)),b=r(1475),_=f(r(133)),S=r(4080);function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t[{title:t("ID/Name"),dataIndex:"name",isName:!0,hasNoDetail:!0},{title:t("Project ID/Name"),dataIndex:"project_name"},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Expires At"),dataIndex:"expires_at",valueRender:"toLocalTime",isHideable:!0},{title:t("Restricted Situation"),dataIndex:"unrestricted",isHideable:!0,render:e=>e?t("Unrestricted"):t("Restricted"),titleTip:t("Used to restrict whether the application credential may be used for the creation or destruction of other application credentials or trusts.")},{title:t("Roles"),dataIndex:"roles",render:e=>{var t;return(0,p.default)(t=e||[]).call(t,(e=>g.default.createElement("div",{key:e.id},e.name)))},stringify:e=>(0,p.default)(e).call(e,(e=>e.name)).join("\n")}])),(0,m.default)(this,"updateFetchParams",(e=>this.isUserDetail?e:w(w({},e),{},{id:_.default.user.user.id})))}init(){this.store=new b.CredentialStore,this.downloadStore=new b.CredentialStore}get isUserDetail(){var e;return this.inDetailPage&&(0,h.default)(e=this.path).call(e,"user-admin/detail")}get policy(){return"identity:get_application_credential"}get name(){return t("application credential")}get actionConfigs(){return this.isUserDetail?S.detailConfigs:S.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Credentials=I;var C=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=C},1754:function(e,t,a){var r=a(1755);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1755:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__editor--3eLoM {\n min-height: 60vh;\n border-radius: 4px;\n}\n",""]),t.locals={editor:"index__editor--3eLoM"}},1756:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=n(a(343)),l=n(a(0)),o=n(a(1429)),s=n(a(1343));a(1762),a(1763),a(1764);var u=a(1766);s.default.config.setModuleUrl("ace/mode/json_worker",u);class d extends l.default.Component{render(){return l.default.createElement(o.default,(0,i.default)({theme:"github",width:"auto",height:"100%",tabSize:2,debounceChangePeriod:200,editorProps:{$blockScrolling:!0},showPrintMargin:!1,wrapEnabled:!0},this.props))}}t.default=d},1764:function(e,t,a){var r=a(1765);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1765:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* stylelint-disable selector-class-pattern */\n.custom__ace_editor--2x9Bb {\n font-family: Monaco, Menlo, Consolas, 'Courier New', monospace;\n line-height: 20px !important;\n -webkit-font-smoothing: auto;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L {\n color: #fff;\n background-color: #242e42;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_gutter--1cP4P {\n color: #537f7e;\n background-color: #242e42;\n border-right: 1px solid #4a5974;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_variable--ViPst,\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_identifier--249iw,\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_meta--2PQjL.custom__ace_tag--2I4Xk {\n color: #75e0f2;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_keyword--TdUSy {\n color: #fff;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_string--3lFMH {\n color: #ebe087;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_constant--bDEu2.custom__ace_numeric--2gqBl {\n color: #bd99ff;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_marker-layer--6Ofnc .custom__ace_active-line--3gBy- {\n background-color: #36435c;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_indent-guide--2YcVM {\n padding: 2px 0;\n border-right: 1px dotted #777;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_marker-layer--6Ofnc .custom__ace_selection--1U_DQ {\n background-color: #4a5974;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_comment--1foUc {\n color: #aaa;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_fold--3dVBm:hover {\n background-color: #fff;\n}\n.custom__ace_editor--2x9Bb.custom__ace-chaos--NJP1L .custom__ace_line--3FuBW .custom__ace_fold--3dVBm {\n height: auto;\n}\n",""]),t.locals={ace_editor:"custom__ace_editor--2x9Bb","ace-chaos":"custom__ace-chaos--NJP1L",ace_gutter:"custom__ace_gutter--1cP4P",ace_variable:"custom__ace_variable--ViPst",ace_identifier:"custom__ace_identifier--249iw",ace_meta:"custom__ace_meta--2PQjL",ace_tag:"custom__ace_tag--2I4Xk",ace_keyword:"custom__ace_keyword--TdUSy",ace_string:"custom__ace_string--3lFMH",ace_constant:"custom__ace_constant--bDEu2",ace_numeric:"custom__ace_numeric--2gqBl","ace_marker-layer":"custom__ace_marker-layer--6Ofnc","ace_active-line":"custom__ace_active-line--3gBy-","ace_indent-guide":"custom__ace_indent-guide--2YcVM",ace_selection:"custom__ace_selection--1U_DQ",ace_comment:"custom__ace_comment--1foUc",ace_fold:"custom__ace_fold--3dVBm",ace_line:"custom__ace_line--3FuBW"}},1773:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.statusMap=void 0;var n={500:t("Internal Server Error (code: 500) "),501:t("Not Implemented (code: 501) "),502:t("Bad Gateway (code: 502) "),503:t("Service Unavailable (code: 503) "),504:t("Gateway Time-out (code: 504) "),505:t("HTTP Version not supported (code: 505) ")};a.statusMap=n},1778:function(e,t,a){var r=a(1779);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},1779:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__notify--2uuPy .ant-notification-notice-icon {\n font-size: 18px;\n}\n.index__notify--2uuPy .ant-notification-notice-message {\n font-size: 12px;\n word-break: break-all;\n}\n.index__notify--2uuPy .ant-notification-notice-with-icon .ant-notification-notice-message {\n margin-left: 32px;\n}\n.index__code-editor--D2lB7 {\n height: 400px !important;\n min-height: 400px !important;\n}\n",""]),t.locals={notify:"index__notify--2uuPy","code-editor":"index__code-editor--D2lB7"}},2087:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.style__container--3Y09L {\n height: 100%;\n padding: 44px;\n overflow: auto;\n}\n.style__container--3Y09L .style__main-icon--1ECQa {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.style__container--3Y09L .style__action-button--2uJsF {\n color: #a3a3a3;\n font-size: 18px;\n line-height: 88px;\n background: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n opacity: 0.9;\n}\n.style__container--3Y09L .style__action-icon--3cQV7 {\n display: block;\n width: 50px;\n height: 50px;\n margin-left: 60px;\n}\n.style__container--3Y09L .ant-card {\n -webkit-box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.09);\n}\n.style__container--3Y09L .ant-card-head {\n font-size: 16px;\n}\n.style__container--3Y09L .style__left--2FbNm {\n height: 100%;\n}\n.style__container--3Y09L .style__left--2FbNm .style__top--3UBpB .style__title--18DKB {\n display: table-cell;\n vertical-align: bottom;\n}\n.style__container--3Y09L .style__left--2FbNm .style__top--3UBpB .style__title--18DKB .style__text--2ZnVb {\n color: #252525;\n font-size: 21px;\n}\n.style__container--3Y09L .style__left--2FbNm .style__top--3UBpB .style__title--18DKB .style__action--1T3zl {\n margin-left: 40px;\n color: #000;\n font-size: 16px;\n}\n.style__container--3Y09L .style__right--18Zal {\n height: 100%;\n}\n.style__container--3Y09L .style__right--18Zal .style__project--2WhsJ {\n position: relative;\n}\n.style__container--3Y09L .style__right--18Zal .style__project--2WhsJ .style__meta--VzBqf {\n margin-bottom: 16px;\n padding-bottom: 16px;\n border-bottom: 1px dashed #e8e8e8;\n}\n.style__container--3Y09L .style__right--18Zal .style__project--2WhsJ .ant-descriptions-item-label {\n width: 130px;\n}\n.style__outer--GK3KD {\n position: relative;\n width: 100%;\n height: 10rem;\n overflow: hidden;\n font-size: 12px;\n}\n.style__outer--GK3KD .style__inner--19_DW {\n position: absolute;\n left: 0;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.style__outer--GK3KD .style__inner--19_DW::-webkit-scrollbar {\n display: none;\n}\n.style__bottom--1cuhB {\n border-radius: 4px;\n}\n.style__bottom--1cuhB .ant-card {\n -webkit-box-shadow: unset;\n box-shadow: unset;\n}\n.style__bottom--1cuhB .ant-card-body {\n padding: 0 !important;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__text--2ZnVb {\n color: #252525;\n font-size: 16px;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__badge--1KS_6 {\n margin-left: 22px;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__badge--1KS_6 .ant-badge-status-dot {\n width: 10px;\n height: 10px;\n}\n.style__bottom--1cuhB .style__title--18DKB .style__badge--1KS_6 .ant-badge-status-text {\n font-size: 14px;\n}\n.style__bottom--1cuhB .style__action--1T3zl {\n float: right;\n margin-top: 6px;\n color: #0068ff;\n font-size: 12px;\n cursor: pointer;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 {\n padding: 8px;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .ant-card-head {\n border-bottom: none;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .ant-card-head .ant-card-head-title {\n padding-bottom: 0;\n color: #565656;\n font-weight: 500;\n font-size: 16px;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .ant-card-body {\n padding: 12px !important;\n -webkit-box-shadow: unset !important;\n box-shadow: unset !important;\n}\n.style__bottom--1cuhB .style__content--1BVOG .style__card--3BNS7 .style__progress-title--1khEP {\n overflow: hidden;\n font-size: 14px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",container:"style__container--3Y09L","main-icon":"style__main-icon--1ECQa","action-button":"style__action-button--2uJsF","action-icon":"style__action-icon--3cQV7",left:"style__left--2FbNm",top:"style__top--3UBpB",title:"style__title--18DKB",text:"style__text--2ZnVb",action:"style__action--1T3zl",right:"style__right--18Zal",project:"style__project--2WhsJ",meta:"style__meta--VzBqf",outer:"style__outer--GK3KD",inner:"style__inner--19_DW",bottom:"style__bottom--1cuhB",badge:"style__badge--1KS_6",content:"style__content--1BVOG",card:"style__card--3BNS7","progress-title":"style__progress-title--1khEP"}},3523:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=void 0,r(593);var h=p(r(427)),m=p(r(35));r(1374);var g=p(r(1375)),v=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(0)),y=(r(161),r(342)),b=r(580),_=p(r(3524));function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var t={value:e};1!==e&&(t.start=void 0,t.end=void 0),this.setState(w({},t),(()=>{this.onChange(t)}))})),(0,m.default)(this,"onChange",(e=>{var{onChange:t}=this.props;t&&t(w(w({},this.state),e))})),(0,m.default)(this,"onDateChange",(e=>{var t={start:e?e[0]:null,end:e?e[1]:null};this.setState(w({},t),(()=>{this.onChange(t)}))}));var{defaultValue:t}=e;this.state={defaultValue:void 0!==t?t:C,value:null,start:null,end:null}}componentDidMount(){var{defaultValue:e,value:t}=this.state;this.onChangeType(t||e)}get options(){return[{label:t("All"),value:0},{label:t("In the last hour"),value:C},{label:t("Recently a day"),value:k},{label:t("In the last 7 days"),value:D},{label:t("In the last 30 days"),value:30*k},{label:t("Custom"),value:1}]}render(){var{defaultValue:e,value:t}=this.state;return v.default.createElement("div",{className:_.default.wrapper},v.default.createElement(h.default.Group,{defaultValue:e,value:t,options:this.options,buttonStyle:"solid",optionType:"button",onChange:e=>this.onChangeType(e.target.value)}),1===t&&v.default.createElement(I,{onCalendarChange:this.onDateChange,format:b.timeFormatStr.YMDHm,showTime:!0}))}}a.default=P},3524:function(e,t,a){var r=a(3525);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3525:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__wrapper--2C8q2 {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n min-width: 450px;\n}\n",""]),t.locals={wrapper:"index__wrapper--2C8q2"}},3526:function(e,t,a){"use strict";var r=a(162),n=a(20),i=a(25),l=a(21);n(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(54)),s=l(a(643));a(1276);var u=l(a(421)),d=l(a(35)),c=l(a(601)),f=l(a(3527)),p=l(a(1589)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=v(t);if(a&&a.has(e))return a.get(e);var r={},l=n&&i;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?i(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),m=l(a(16)),g=(a(161),a(564),l(a(3531)));function v(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(v=function(e){return e?a:t})(e)}class y extends h.Component{constructor(){super(...arguments),(0,d.default)(this,"changeVisibleList",(e=>{var t=e.key,{value:a,onChange:r}=this.props,[...n]=a;(0,p.default)(n,t)?(0,f.default)(n,(e=>e===t)):n.push(t),r(n)}))}isVisibleOption(e){var{value:t}=e,{value:a}=this.props;return(0,p.default)(a,t)}renderHeader(){var{title:e}=this.props;return(0,c.default)(e)?null:h.default.createElement("header",null,e)}renderOptions(){var{options:e}=this.props,t=(0,o.default)(e).call(e,(e=>this.renderOption(e)));return h.default.createElement(u.default,{onClick:this.changeVisibleList,theme:"light"},t)}renderOption(e){var t=this.isVisibleOption(e),{value:a,label:r}=e,n=t?h.default.createElement(s.default,null):h.default.createElement("span",{className:g.default.empty});return h.default.createElement(u.default.Item,{key:a},n,r)}render(){var{className:e}=this.props;return h.default.createElement("div",{className:e},this.renderHeader(),this.renderOptions())}}(0,d.default)(y,"propTypes",{value:m.default.array,onChange:m.default.func.isRequired,className:m.default.string,title:m.default.node,options:m.default.array.isRequired}),(0,d.default)(y,"defaultProps",{value:[]});var b=y;t.default=b},3531:function(e,t,a){var r=a(3532);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3532:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__empty--2DMK4 {\n display: inline-block;\n width: 24px;\n}\n",""]),t.locals={empty:"index__empty--2DMK4"}},3533:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=x,r(344);var l=i(r(202));r(586);var o=i(r(424));r(231);var s=i(r(341)),u=i(r(611)),d=i(r(343));r(1276);var c=i(r(421)),f=i(r(54)),p=i(r(203)),h=i(r(0)),m=(r(161),r(564),i(r(16))),g=r(163),v=i(r(1436)),y=r(1435),b=i(r(3534)),_=(e,t)=>{var{id:a,title:r,actionType:n,buttonType:i,buttonText:l,isDanger:o}=e;return{id:a,title:r,name:l||r,actionType:n,buttonType:i,isDanger:o,action:e,isAllowed:t.length>0,items:t,isBatch:!0,needHide:!1}};function S(e){var{actions:a,selectedItems:r,onFinishAction:n,containerProps:i,onClickAction:l,onCancelAction:p}=e;if(a.length<1)return null;var m=(0,f.default)(a).call(a,(e=>{var t="table-batch-more-".concat((0,g.generateId)()),a=_(e,r),{isDanger:o,name:s}=a;return a.onFinishAction=n,a.isDanger=!!o,r.length?h.default.createElement(c.default.Item,{key:t},h.default.createElement(v.default,(0,d.default)({},a,{buttonType:"link",onFinishAction:n,containerProps:i,onClickAction:l,onCancelAction:p,buttonClassName:b.default["more-action-btn"]}))):h.default.createElement(c.default.Item,{key:t,disabled:!0,style:{textAlign:"center"}},s)})),y=h.default.createElement(c.default,null,m);return h.default.createElement(o.default,{overlay:y,overlayClassName:b.default["table-batch-menu"]},h.default.createElement(s.default,{type:"primary"},t("More Actions")," ",h.default.createElement(u.default,null)))}function x(e){var a,r,{selectedItems:n,visibleButtonNumber:i,batchActions:o,onFinishAction:u,containerProps:c,onClickAction:m,onCancelAction:b,resourceName:x,isAdminPage:w}=e,I=[],C=[],k=(0,y.getActionsByPolicy)({actions:o,containerProps:c,isAdminPage:w});return i{var{isDanger:a=!1,buttonType:r="default"}=e;return n&&0!==n.length?h.default.createElement(v.default,(0,d.default)({},_(e,n),{key:"table-batch-action-".concat((0,g.generateId)()),onFinishAction:u,containerProps:c,onClickAction:m,onCancelAction:b})):h.default.createElement(l.default,{title:t("Please select {name} first",{name:x}),key:"tooltip-".concat((0,g.generateId)())},h.default.createElement(s.default,{type:r,disabled:!0,danger:a},e.buttonText||e.title))})),a=h.default.createElement(S,{actions:C,selectedItems:n,onFinishAction:u,containerProps:c,onClickAction:m,onCancelAction:b}),h.default.createElement(h.default.Fragment,null,r,a)}x.defaultProps={visibleButtonNumber:1},x.prototypes={visibleButtonNumber:m.default.number}},3534:function(e,t,a){var r=a(3535);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3535:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__table-action--1o0Rg {\n margin-right: 5px;\n}\n.index__more-action-btn--oi5mL {\n width: 100%;\n text-align: center;\n}\n.index__table-batch-menu--39tMs .ant-dropdown-menu-item {\n padding-right: 0;\n padding-left: 0;\n}\n",""]),t.locals={"table-action":"index__table-action--1o0Rg","more-action-btn":"index__more-action-btn--oi5mL","table-batch-menu":"index__table-batch-menu--39tMs"}},3536:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var s=o(r(54)),u=o(r(164)),d=o(r(77)),c=o(r(28)),f=o(r(63));r(586);var p=o(r(424));r(1276);var h=o(r(421)),m=o(r(605));r(1271);var g=o(r(1272));r(344);var v=o(r(202));r(231);var y=o(r(341)),b=o(r(1443)),_=o(r(49)),S=o(r(35)),x=o(r(92)),w=o(r(102)),I=o(r(119)),C=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),k=o(r(16)),D=o(r(1352)),P=(r(564),r(161),r(3537)),T=r(163),A=o(r(1270)),M=o(r(1437)),N=o(r(3538));function E(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(E=function(e){return e?a:t})(e)}class R extends C.Component{constructor(e){var a;super(e),a=this,(0,S.default)(this,"getSimpleValue",((e,t,a)=>{var r,n;return(0,x.default)(e)?(0,s.default)(e).call(e,((e,r)=>{if(C.default.isValidElement(e))try{return t[a][r]}catch(e){return""}return e})).join("\n"):(0,w.default)(e)?C.default.isValidElement(e)?(0,u.default)(n=[void 0,"",null]).call(n,t[a])?"-":t[a].toString():t[a]:(0,u.default)(r=[void 0,"",null]).call(r,e)?"-":e})),(0,S.default)(this,"getColumnData",((e,t)=>{var a,{dataIndex:r,render:n,valueRender:i,stringify:l,valueMap:o,unit:s}=t,{getValueRenderFunc:u}=this.props,c=(0,I.default)(e,r);if(l)return l(c,e);if(i){var f=u("sinceTime"===i?"toLocalTime":i);return this.getSimpleValue(f(c,e),e,r)}return n?this.getSimpleValue(n(c,e),e,r):s?(0,d.default)(a="".concat(c)).call(a,s):o?o[c]||c:this.getSimpleValue(c,e,r)})),(0,S.default)(this,"confirmExportMax",(()=>{var{totalMax:e,total:a}=this.props;M.default.warn({title:t("Are you sure to download data?"),content:t("The total amount of data is { total }, and the interface can support downloading { totalMax } pieces of data. If you need to download all the data, please contact the administrator.",{totalMax:e,total:a}),onCancel:this.onConfirmCancel,onOk:this.beginDownload})})),(0,S.default)(this,"downloadAllData",(()=>{var{total:e,totalMax:t}=this.props;e&&e>t?this.confirmExportMax():this.beginDownload()})),(0,S.default)(this,"getFileName",(e=>{var a,r,n,i,l=(0,T.toLocalTimeFilter)((new Date).getTime()),{resourceName:o,extraName:s}=this.props,u=s?(0,d.default)(a="".concat(s,"-")).call(a,o):o;return e?(0,d.default)(r=(0,d.default)(n="".concat(u,"-")).call(n,t("all"),"-")).call(r,l,".csv"):(0,d.default)(i="".concat(u,"-")).call(i,l,".csv")})),(0,S.default)(this,"exportCurrentData",((e,a)=>{var r=this.getDownloadHeader(),n=this.getDownloadData(),i=new P.Parser({fields:r}).parse(n),l=new Blob(["\ufeff"+i],{type:"text/plain;charset=utf-8"}),o=a?this.getFileName("all"):this.getFileName();D.default.saveAs(l,o),a?A.default.success(t("All data downloaded.")):A.default.success(t("Current data downloaded."))})),(0,S.default)(this,"exportCurrentDataAll",(()=>{this.exportCurrentData(null,!0)})),(0,S.default)(this,"exportAllData",(()=>{var e=this.getDownloadHeader(),a=this.getDownloadDataAll(),r=new P.Parser({fields:e}).parse(a),n=new Blob(["\ufeff"+r],{type:"text/plain;charset=utf-8"}),i=this.getFileName("all");D.default.saveAs(n,i),A.default.success(t("All data downloaded."))})),(0,S.default)(this,"cancelDownload",(()=>{this.setState({isDownloading:!1},(()=>{var{onFinishDownload:e}=this.props;e&&e()})),A.default.warn(t("Download canceled!"))})),(0,S.default)(this,"beginDownload",(()=>{this.setState({isDownloading:!0,percent:0,current:1,allData:[]},(()=>{var{onBeginDownload:e}=this.props;e&&e(),this.getDownloadDataForAll()}))})),(0,S.default)(this,"finishDownload",(()=>{this.setState({isDownloading:!1},(()=>{this.exportAllData();var{onFinishDownload:e}=this.props;e&&e()}))})),(0,S.default)(this,"getDownloadDataForAll",(0,_.default)((function*(){var{current:e,allData:t,isDownloading:r}=a.state,{totalMax:n}=a.props,i=Math.min(a.total||0,n);if(r){var{getData:l}=a.props,o=yield l({page:e,limit:a.pageSize}),s=[...t,...o];if(o.length=i)a.setState({allData:s,percent:100},(()=>{a.finishDownload()}));else{var u=0;(u=i?Math.floor(s.length/i*100):10*e)>100&&(u=100),a.setState({allData:s,current:e+1,percent:u},(()=>{a.getDownloadDataForAll()}))}}}))),this.state={isDownloading:!1,current:1,allData:[]}}get pageSize(){return 100}get total(){return this.props.total}getDownloadHeader(){var{columns:e}=this.props;return(0,s.default)(e).call(e,(e=>({label:e.title,value:e.dataIndex,default:""})))}getDownloadData(){var{columns:e,data:t}=this.props;return(0,s.default)(t).call(t,(t=>{var a={};return(0,c.default)(e).call(e,(e=>{var r=this.getColumnData(t,e);a[e.dataIndex]=r})),a}))}getDownloadDataAll(){var{columns:e}=this.props,{allData:t}=this.state;return(0,s.default)(t).call(t,(t=>{var a={};return(0,c.default)(e).call(e,(e=>{var r=this.getColumnData(t,e);a[e.dataIndex]=r})),a}))}renderDownloadCurrent(){return C.default.createElement(v.default,{title:t("Download all data")},C.default.createElement(y.default,{type:"default",onClick:this.exportCurrentDataAll,icon:C.default.createElement(b.default,null)}))}renderProgress(){var{isDownloading:e,percent:t}=this.state;return e?C.default.createElement(g.default,{percent:t,status:"active",className:N.default.progress}):null}renderCancelBtn(){var{isDownloading:e}=this.state;return e?C.default.createElement(v.default,{title:t("Cancel Download")},C.default.createElement(y.default,{type:"danger",shape:"circle",onClick:this.cancelDownload,icon:C.default.createElement(m.default,null),size:"small"})):null}renderDownloadAll(){var e=C.default.createElement(h.default,null,C.default.createElement(h.default.Item,{key:"current",onClick:this.exportCurrentData},t("Download current data")),C.default.createElement(h.default.Item,{key:"all",onClick:this.downloadAllData},t("Download all data")));return C.default.createElement(C.default.Fragment,null,C.default.createElement(p.default,{overlay:e},C.default.createElement(y.default,{type:"default",icon:C.default.createElement(b.default,null)})),this.renderProgress(),this.renderCancelBtn())}render(){var{total:e,data:t}=this.props;return e===t.length?this.renderDownloadCurrent():this.renderDownloadAll()}}a.default=R,(0,S.default)(R,"propTypes",{columns:k.default.array,data:k.default.array,total:k.default.number,getValueRenderFunc:k.default.func.isRequired,resourceName:k.default.string,extraName:k.default.string,getData:k.default.func,totalMax:k.default.number}),(0,S.default)(R,"defaultProps",{columns:[],data:[],total:0,totalMax:1e4,resourceName:"",extraName:"",getData:()=>f.default.resolve({data:{items:[],count:0}})})},3538:function(e,t,a){var r=a(3539);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3539:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__progress--1I8an {\n width: 100px;\n margin-right: 10px;\n}\n",""]),t.locals={progress:"index__progress--1I8an"}},3540:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__table--33j8W {\n overflow: hidden;\n background-color: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 4px 8px 0 rgba(36, 46, 66, 0.06);\n box-shadow: 0 4px 8px 0 rgba(36, 46, 66, 0.06);\n}\n.index__table--33j8W .ant-table-container {\n -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n}\n.index__table--33j8W .ant-table-pagination.ant-pagination {\n margin: 0;\n padding: 8px 16px;\n}\n.index__button--3bdor {\n min-width: 96px;\n margin-left: 10px;\n}\n.index__select-title--1m-fB {\n padding: 2px;\n}\n.index__cancel-select--1WxJX {\n color: #fff;\n}\n.index__create--2BjrH {\n min-width: 96px;\n margin-left: 12px;\n}\n.index__action--2MndJ {\n padding: 0 4px;\n color: #329dce;\n font-weight: 600;\n cursor: pointer;\n}\n.index__column-menu--3pO2n {\n width: 160px;\n overflow: hidden;\n border-radius: 4px;\n -webkit-box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n}\n.index__column-menu--3pO2n .ant-menu-vertical > .ant-menu-item {\n height: 30px;\n line-height: 30px;\n}\n.index__custom-button--3b70- {\n margin-left: 0;\n}\n.index__table-header--3WB0r {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.index__table-header-btns--2QPSM,\n.index__table-header-action-btns--3KJBJ {\n position: relative;\n display: inline-block;\n margin-bottom: calc(16px - 4px);\n}\n.index__table-header-btns--2QPSM button,\n.index__table-header-action-btns--3KJBJ button {\n margin-right: 10px;\n margin-bottom: 4px;\n}\n.index__table-header-btns--2QPSM .ant-btn[disabled],\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled] {\n -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\n box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);\n}\n.index__table-header-btns--2QPSM .ant-btn-default,\n.index__table-header-action-btns--3KJBJ .ant-btn-default {\n color: #0068ff;\n background-color: #fff;\n border-color: #0068ff;\n}\n.index__table-header-btns--2QPSM .ant-btn-default:hover,\n.index__table-header-action-btns--3KJBJ .ant-btn-default:hover {\n color: #0068ff;\n border-color: #0068ff;\n}\n.index__table-header-btns--2QPSM .ant-btn-dangerous,\n.index__table-header-action-btns--3KJBJ .ant-btn-dangerous {\n color: #eb354d;\n}\n.index__table-header-btns--2QPSM .ant-btn-dangerous:hover,\n.index__table-header-action-btns--3KJBJ .ant-btn-dangerous:hover {\n color: #eb354d;\n border-color: #eb354d;\n}\n.index__table-header-btns--2QPSM .ant-btn[disabled],\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled],\n.index__table-header-btns--2QPSM .ant-btn[disabled]:hover,\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled]:hover,\n.index__table-header-btns--2QPSM .ant-btn[disabled]:focus,\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled]:focus,\n.index__table-header-btns--2QPSM .ant-btn[disabled]:active,\n.index__table-header-action-btns--3KJBJ .ant-btn[disabled]:active {\n color: rgba(0, 0, 0, 0.25) !important;\n background: #f5f5f5 !important;\n border-color: #d9d9d9 !important;\n}\n.index__search-row--7P1c7 {\n min-width: 350px;\n}\n.index__search-input--1izmf {\n width: 288px;\n height: 32px;\n}\n.index__table-header-right--1SICV {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.index__table-header-btns--2QPSM {\n margin-right: 0;\n margin-left: 10px;\n}\n.index__table-header-btns--2QPSM button:last-child {\n margin-right: 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",table:"index__table--33j8W",button:"index__button--3bdor","select-title":"index__select-title--1m-fB","cancel-select":"index__cancel-select--1WxJX",create:"index__create--2BjrH",action:"index__action--2MndJ","column-menu":"index__column-menu--3pO2n","custom-button":"index__custom-button--3b70-","table-header":"index__table-header--3WB0r","table-header-btns":"index__table-header-btns--2QPSM","table-header-action-btns":"index__table-header-action-btns--3KJBJ","search-row":"index__search-row--7P1c7","search-input":"index__search-input--1izmf","table-header-right":"index__table-header-right--1SICV"}},3541:function(e,t,a){var r=a(3542);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3542:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3q1S2 {\n min-height: calc(100vh - 108px);\n margin-top: 16px;\n padding: 0 16px;\n}\n.index__hint--3yEH0 {\n margin-bottom: 16px;\n}\n.index__hints--1QRzH .ant-alert-warning {\n background-color: #fffbe6;\n border: 1px solid #ffe58f;\n}\n.index__hints--1QRzH .ant-alert-warning .ant-alert-icon {\n color: #fedf40;\n}\n.index__hints--1QRzH .ant-alert-message {\n max-height: 40px;\n overflow-y: auto;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3q1S2",hint:"index__hint--3yEH0",hints:"index__hints--1QRzH"}},3543:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMTggMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bG9jazwvdGl0bGU+CiAgICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0ibG9jayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMDAwMDAwLCAwLjAwMDAwMCkiIGZpbGw9IiNFQjM1NEQiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi4zOTk0MDY2LDkuNzYzMzE4ODEgTDE1LjA2MjEzMTksOS43OTg4MTMxIEwxNS4wNjIxMzE5LDcuMDI2OTIzMDggQzE1LjA2MjEzMTksMi43NTc2OTIzMSAxMi42MjMwNTQ0LDAgOC44NDkwOTg1NiwwIEM1LjA3NTE0MjczLDAgMi42MzYwODc3NCwyLjc1NzY5MjMxIDIuNjM2MDg3NzQsNy4wMjY5MjMwOCBMMi42MzYwODc3NCw5Ljc2MzMxODgxIEw1LjI5ODgxMzEsOS43NjMzMTg4MSBMNS4yOTg4MTMxLDcuMDI2OTIzMDggQzUuMjk4ODEzMSw1LjcxNDE5NzcyIDUuNjQ0OTY2OTUsMi42NjI3MjUzNiA4Ljg0OTA5ODU2LDIuNjYyNzI1MzYgQzExLjkzNzg2ODEsMi42NjI3MjUzNiAxMi4zOTk0MDY2LDUuMzk3MzQwNzUgMTIuMzk5NDA2Niw3LjAyNjkyMzA4IEwxMi4zOTk0MDY2LDkuNzYzMzE4ODEgWiIgaWQ9InBhdGgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTE1LjA4ODc0Nyw5Ljc5ODgxMzEgTDIuNjYyNzI1MzYsOS43OTg4MTMxIEMxLjE5MjkwMTE1LDkuNzk4ODEzMSAwLDEwLjk5MTcxNDIgMCwxMi40NjE1Mzg1IEwwLDIxLjMzNzI3NDYgQzAsMjIuODA3MDk4OSAxLjE5MjkwMTE1LDI0IDIuNjYyNzI1MzYsMjQgTDE1LjA4ODc0NywyNCBDMTYuNTU4NTcxMiwyNCAxNy43NTE0NzI0LDIyLjgwNzA5ODkgMTcuNzUxNDcyNCwyMS4zMzcyNzQ2IEwxNy43NTE0NzI0LDEyLjQ2MTUzODUgQzE3Ljc1MTQ3MjQsMTAuOTkxNzM2OCAxNi41NTg1NzEyLDkuNzk4ODEzMSAxNS4wODg3NDcsOS43OTg4MTMxIFogTTkuNzYzMjk2MjgsMTcuNTQxMTIwOCBMOS43NjMyOTYyOCwxOS41NjIxMzE5IEM5Ljc2MzI5NjI4LDIwLjA1MTE2NDQgOS4zNjQ3OTExNywyMC40NDk3MTQ1IDguODc1NzM2MTgsMjAuNDQ5NzE0NSBDOC4zODY2ODExOSwyMC40NDk3MTQ1IDcuOTg4MTUzNTUsMjAuMDUxMTg2OSA3Ljk4ODE1MzU1LDE5LjU2MjEzMTkgTDcuOTg4MTUzNTUsMTcuNTQxMTIwOCBDNy40NTkxNjQ2NywxNy4yMzMxNDMgNy4xMDA1OTM0NSwxNi42Njc3NTg0IDcuMTAwNTkzNDUsMTYuMDExODIzOSBDNy4xMDA1OTM0NSwxNS4wMzE5NTYxIDcuODk1ODQ1ODYsMTQuMjM2NjgxMiA4Ljg3NTczNjE4LDE0LjIzNjY4MTIgQzkuODU1NjI2NTEsMTQuMjM2NjgxMiAxMC42NTA5MDE1LDE1LjAzMTk1NjEgMTAuNjUwOTAxNSwxNi4wMTE4NDY1IEMxMC42NTA5MDE1LDE2LjY2Njg1NyAxMC4yOTIzMDc3LDE3LjIzMzE0MyA5Ljc2MzI5NjI4LDE3LjU0MTE0MzMgTDkuNzYzMjk2MjgsMTcuNTQxMTIwOCBaIiBpZD0ic2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="},3544:function(e,t,a){"use strict";a.r(t),t.default="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+dW5sb2NrPC90aXRsZT4KICAgIDxnIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIzLi1JY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzguMDAwMDAwLCAtNzI5LjAwMDAwMCkiIGZpbGw9IiM1MTUxNTEiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxnIGlkPSJ1bmxvY2siIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc4LjAwMDAwMCwgNzI5LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLjE1MzgyODEsNy4zMDggTDEwLjE1MzgyODEsOC4zMDc3MDMxMiBMMTIuOTIzMDg1OSw4LjMwNzcwMzEyIEwxMi45MjMwODU5LDcuMzA4IEMxMi45MjMwODU5LDIuODY4IDEwLjM4NjQ0NTMsMCA2LjQ2MTUzMTI1LDAgQzIuNTM2NjE3MTksMCAwLDIuODY4IDAsNy4zMDggTDAsMTAuMTUzODUxNiBMMi43NjkyMzQzNywxMC4xNTM4NTE2IEwyLjc2OTIzNDM3LDcuMzA4IEMyLjc2OTIzNDM3LDUuOTQyNzY1NjIgMy4xMjkyMzQzOCwyLjc2OTIzNDM3IDYuNDYxNTMxMjUsMi43NjkyMzQzNyBDOS42NzM4NTE1NiwyLjc2OTIzNDM3IDEwLjE1Mzg1MTYsNS42MTMyMzQzOCAxMC4xNTM4NTE2LDcuMzA4IEwxMC4xNTM4MjgxLDcuMzA4IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMS4yMzA3NjU2LDkuMjMwNzY1NjMgTDguMzA3NzAzMTIsOS4yMzA3NjU2MyBDNi43NzkwODU5NCw5LjIzMDc2NTYzIDUuNTM4NDY4NzUsMTAuNDcxMzgyOCA1LjUzODQ2ODc1LDEyIEw1LjUzODQ2ODc1LDIxLjIzMDc2NTYgQzUuNTM4NDY4NzUsMjIuNzU5MzgyOCA2Ljc3OTA4NTk0LDI0IDguMzA3NzAzMTIsMjQgTDIxLjIzMDc2NTYsMjQgQzIyLjc1OTM4MjgsMjQgMjQsMjIuNzU5MzgyOCAyNCwyMS4yMzA3NjU2IEwyNCwxMiBDMjQsMTAuNDcxNDA2MyAyMi43NTkzODI4LDkuMjMwNzY1NjMgMjEuMjMwNzY1Niw5LjIzMDc2NTYzIFogTTE1LjY5MjI5NjksMTcuMjgyNzY1NiBMMTUuNjkyMjk2OSwxOS4zODQ2MTcyIEMxNS42OTIyOTY5LDE5Ljg5MzIxMDkgMTUuMjc3ODUxNiwyMC4zMDc3MDMxIDE0Ljc2OTIzNDQsMjAuMzA3NzAzMSBDMTQuMjYwNjE3MiwyMC4zMDc3MDMxIDEzLjg0NjE0ODQsMTkuODkzMjM0NCAxMy44NDYxNDg0LDE5LjM4NDYxNzIgTDEzLjg0NjE0ODQsMTcuMjgyNzY1NiBDMTMuMjk2LDE2Ljk2MjQ2ODcgMTIuOTIzMDg1OSwxNi4zNzQ0Njg4IDEyLjkyMzA4NTksMTUuNjkyMjk2OSBDMTIuOTIzMDg1OSwxNC42NzMyMzQ0IDEzLjc1MDE0ODQsMTMuODQ2MTQ4NCAxNC43NjkyMzQ0LDEzLjg0NjE0ODQgQzE1Ljc4ODMyMDMsMTMuODQ2MTQ4NCAxNi42MTU0MDYyLDE0LjY3MzIzNDQgMTYuNjE1NDA2MiwxNS42OTIzMjAzIEMxNi42MTU0MDYyLDE2LjM3MzUzMTMgMTYuMjQyNDY4OCwxNi45NjI0Njg3IDE1LjY5MjI5NjksMTcuMjgyNzg5MSBMMTUuNjkyMjk2OSwxNy4yODI3NjU2IFoiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"},3551:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ConfirmStep=void 0;var l=i(r(63)),o=i(r(77)),s=i(r(54)),u=i(r(1597)),d=i(r(29)),c=i(r(164));r(1246);var f=i(r(1247));r(1244);var p=i(r(1245)),h=i(r(35)),m=i(r(0)),g=r(412),v=i(r(1250)),y=r(1248),b=(r(161),r(1461));class _ extends v.default{constructor(){super(...arguments),(0,h.default)(this,"allowed",(()=>l.default.resolve()))}init(){}get title(){return"ConfirmStep"}get name(){return"ConfirmStep"}get enableCinder(){return this.props.rootStore.checkEndpoint("cinder")}getDisk(e,t){var a,r;if(!t)return null;var{size:n,typeOption:i,deleteTypeLabel:l}=e||{};return(0,o.default)(a=(0,o.default)(r="".concat(i.label," ")).call(r,n,"GiB ")).call(a,l)}getBootableVolumeDisk(){var e,{bootableVolume:t}=this.props.context,{size:a,volume_type:r}=t.selectedRows[0];return(0,o.default)(e="".concat(r," ")).call(e,a,"GiB")}getDeleteVolumeInstance(){var e,{deleteVolumeInstance:a}=null===(e=this.props)||void 0===e?void 0:e.context;return a?t("Yes"):t("No")}getSystemDisk(){if(!this.enableCinder)return null;var{context:e}=this.props,{systemDisk:t,source:{value:a}={},instanceSnapshotDisk:r,bootFromVolume:n=!0}=e;return"bootableVolume"===a?this.getBootableVolumeDisk():"instanceSnapshot"===a&&null!==r?this.getDisk(r,n):this.getDisk(t,n)}getDataDisk(){if(!this.enableCinder)return null;var{context:e}=this.props,{dataDisk:t=[],source:{value:a}={},instanceSnapshotDataVolumes:r=[]}=e,n=t;return"instanceSnapshot"===a&&(null==r?void 0:r.length)>0&&(n=(0,b.getAllDataDisks)({dataDisk:t,instanceSnapshotDataVolumes:r})),(0,s.default)(n).call(n,(e=>this.getDisk(e.value,!0)))}getFlavor(){var e,t,a,{context:r}=this.props,{flavor:n}=r,{disk:i,ram:l,vcpus:s}=n.selectedRows[0];return i?(0,o.default)(e=(0,o.default)(t="".concat(s,"VCPU/")).call(t,i,"GiB/")).call(e,(0,u.default)(l/1024,10),"GiB"):(0,o.default)(a="".concat(s,"VCPU/")).call(a,(0,u.default)(l/1024,10),"GiB")}getSourceValue(){var{context:e}=this.props,{source:t}=e,{selectedRows:a=[],selectedRowKeys:r=[]}=e[t.value];return a.length?a[0].name:r[0]}getVirtualLANs(){var{context:e}=this.props,{networks:t=[]}=e,a=(0,s.default)(t).call(t,(e=>{var t,a,r,{networkOption:n,subnetOption:i,ipTypeOption:l,ip:s}=e.value,u=1===l.value?i.name||i.label:"";return(0,o.default)(t=(0,o.default)(a=(0,o.default)(r="".concat(n.name||n.label," ")).call(r,l.label," ")).call(a,u," ")).call(t,1===l.value?s:"")}));return m.default.createElement(f.default,null,(0,s.default)(a).call(a,(e=>m.default.createElement(p.default,{span:24,key:e},e))))}getPorts(){var{context:e}=this.props,{ports:{selectedRows:t=[]}={}}=e,a=(0,s.default)(t).call(t,(e=>e.name||e.id));return m.default.createElement(f.default,null,(0,s.default)(a).call(a,(e=>m.default.createElement(p.default,{span:24,key:e},e))))}getSecurityGroups(){var{context:e}=this.props,{securityGroup:{selectedRows:t=[]}={}}=e,a=(0,s.default)(t).call(t,(e=>e.name));return m.default.createElement(f.default,null,(0,s.default)(a).call(a,(e=>m.default.createElement(p.default,{span:24,key:e},e))))}getLoginType(){var e,{context:t}=this.props,{loginType:a,keypair:r}=t,{value:n,label:i}=a;return(0,o.default)(e="".concat(i," ")).call(e,"keypair"===n?r.selectedRows[0].name:"")}getPhysicalNode(){var{context:e}=this.props,{physicalNodeType:t,physicalNode:a}=e;return t?"smart"===t.value?t.label:a.selectedRows[0].hypervisor_hostname:y.physicalNodeTypes[0].label}getServerGroup(){var{context:e}=this.props,{serverGroup:t}=e;return t&&t.selectedRows.length?t.selectedRows[0].name:"-"}getIso(){var{context:e}=this.props,{iso:t}=e;return t&&0!==t.length?(0,s.default)(t).call(t,(e=>e.value)).join(" "):"-"}goStep(e){var{goStep:t}=this.props;t&&t(e)}get defaultValue(){return{}}get formItems(){var e,a,{context:r}=this.props,n=[{label:t("Start Source"),value:r.source.label},{label:t("System Disk"),value:this.getSystemDisk()},{label:t("Delete Volume on Instance Delete"),value:this.getDeleteVolumeInstance(),key:"deleteVolume"},{label:t("Available Zone"),value:r.availableZone.label},{label:t("Start Source Name"),value:this.getSourceValue()},{label:t("Data Disk"),value:this.getDataDisk(),contentStyle:{display:"inline-block"}},{label:t("Project"),value:r.project},{label:t("Flavor"),value:this.getFlavor()}];return this.enableCinder||(n=(0,d.default)(n).call(n,(e=>{var a;return!(0,c.default)(a=[t("System Disk"),t("Data Disk")]).call(a,e.label)}))),"BOOTABLEVOLUME"!==r.source.value.toUpperCase()&&(n=(0,d.default)(n).call(n,(e=>"deleteVolume"!==(null==e?void 0:e.key)))),[{name:"confirm-count",label:t("Count"),type:"label",content:r.count||1},{name:"confirm-config",label:t("Config Overview"),type:"descriptions",title:t("Base Config"),onClick:()=>{this.goStep(0)},items:n},{type:"short-divider"},{name:"confirm-config-network",label:" ",type:"descriptions",title:t("Network Config"),onClick:()=>{this.goStep(1)},items:[{label:(0,o.default)(e="".concat(t("Virtual LAN"),"(")).call(e,t("New"),")"),value:this.getVirtualLANs(),span:1},{label:(0,o.default)(a="".concat(t("Virtual LAN"),"(")).call(a,t("Created"),")"),value:this.getPorts(),span:1},{label:t("Security Group"),value:this.getSecurityGroups(),span:1}]},{type:"short-divider"},{name:"confirm-config-system",label:" ",type:"descriptions",title:t("System Config"),onClick:()=>{this.goStep(2)},items:[{label:t("Name"),value:r.name},{label:t("Login Type"),value:this.getLoginType()},{label:t("Physical Node"),value:this.getPhysicalNode()},{label:t("Server Group"),value:this.getServerGroup()}]}]}}a.ConfirmStep=_;var S=(0,g.inject)("rootStore")((0,g.observer)(_));a.default=S},3555:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SystemStep=void 0;var p=f(r(63)),h=f(r(54)),m=f(r(29)),g=f(r(49)),v=f(r(35)),y=f(r(570)),b=r(412),_=f(r(423)),S=f(r(413)),x=f(r(599)),w=f(r(598)),I=f(r(1355)),C=f(r(1250)),k=r(565),D=r(1389),P=r(1248),T=r(163),A=r(1463);function M(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;tp.default.resolve())),(0,v.default)(this,"onValuesChange",(e=>{(0,y.default)(e,"serverGroup")&&this.onServerGroupChange(e.serverGroup)})),(0,v.default)(this,"onServerGroupChange",(e=>{var{selectedRows:t=[]}=e||{};this.updateContext({serverGroupRow:t[0]||null})}))}init(){this.keyPairStore=_.default,this.serverStore=S.default,this.hypervisorStore=x.default,this.serverGroupStore=w.default,this.getKeypairs(),this.hasAdminRole&&this.getHypervisors(),this.getServerGroups()}get hypervisorColumns(){var e=[...D.hypervisorColumns];return e[0]={title:t("Hostname"),dataIndex:"hypervisor_hostname"},e}get hypervisorFilters(){var e=[...D.hypervisorFilters];return e[0]={label:t("Hostname"),name:"hypervisor_hostname"},e}get title(){return"SystemStep"}get name(){return"SystemStep"}get keypairs(){var e;return(0,h.default)(e=this.keyPairStore.list.data||[]).call(e,(e=>N(N({},e),{},{key:e.name,id:e.name})))}get hypervisors(){var e;return(0,h.default)(e=this.hypervisorStore.list.data||[]).call(e,(e=>N(N({},e),{},{key:e.id,name:e.hypervisor_hostname})))}get serverGroups(){var e;return(0,m.default)(e=this.serverGroupStore.list.data||[]).call(e,(e=>{var{servergroup:t}=this.locationParams;return!t||e.id===t}))}get serverGroupRequired(){var{more:e}=this.state,{servergroup:t}=this.locationParams;return!!t&&e}get inputHelp(){var{input:e=""}=this.state;return t("Entered: {length, plural, =1 {one character} other {# characters} }(maximum {maxCount} characters)",{length:e.length,maxCount:1e3})}get sourceInfo(){var{context:e={}}=this.props,{source:t={},image:a={},bootableVolume:r={},instanceSnapshot:n={}}=e;if("image"===t.value){var{selectedRows:i=[]}=a;return i.length&&i[0]}if("bootableVolume"===t.value){var{selectedRows:l=[]}=r,o=l.length&&l[0].origin_data||{},s=l.length&&l[0].volume_image_metadata;return o.volume_image_metadata||s}if("instanceSnapshot"===t.value){var{selectedRows:u=[]}=n;return u.length&&u[0]}return!1}get isWindowsImage(){return this.sourceInfo&&"windows"===this.sourceInfo.os_distro}get defaultValue(){var e,{servergroup:t}=this.locationParams,{context:a={}}=this.props,r={loginType:a.loginType||(this.isWindowsImage?this.loginTypes[1]:this.loginTypes[0]),more:!1,physicalNodeType:P.physicalNodeTypes[0],userData:"",username:this.loginUserName||this.loginUserNameInContext};t&&(r.serverGroup={selectedRowKeys:[t],selectedRows:(0,m.default)(e=this.serverGroups).call(e,(e=>e.id===t))});var{name:n}=this.state;return n&&(r.name=n),r}get loginTypes(){return[{label:t("Keypair"),value:"keypair",disabled:this.isWindowsImage},{label:t("Password"),value:"password"}]}getKeypairs(){var e=this;return(0,g.default)((function*(){yield e.keyPairStore.fetchList()}))()}getHypervisors(){this.hypervisorStore.fetchList()}getServerGroups(){var e=this;return(0,g.default)((function*(){yield e.serverGroupStore.fetchList(),e.updateDefaultValue();var{servergroup:t}=e.locationParams;t&&e.onServerGroupChange({selectedRows:e.serverGroups})}))()}get nameForStateUpdate(){return["name","loginType","password","confirmPassword","more","physicalNodeType","serverGroup"]}get loginUserName(){return this.sourceInfo&&this.sourceInfo.os_admin_user}get loginUserNameInContext(){var{username:e=""}=this.props.context||{};return e||""}get isPassword(){var{loginType:e}=this.state;return e===this.loginTypes[1].value}get usernameFormItem(){var e={name:"username",label:t("Login Name"),type:"input",extra:this.loginUserName?"":t("The feasible configuration of cloud-init or cloudbase-init service in the image is not synced to image's properties, so the Login Name is unknown."),tip:t("Whether the Login Name can be used is up to the feasible configuration of cloud-init or cloudbase-init service in the image."),required:this.isPassword,hidden:!this.isPassword};return e.disabled=!!this.loginUserName,e}get formItems(){var{more:e=!1,physicalNodeType:a}=this.state,r=a===P.physicalNodeTypes[1].value,{initKeyPair:n}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,isInstance:!0},{name:"loginType",label:t("Login Type"),type:"radio",options:this.loginTypes,isWrappedValue:!0},this.usernameFormItem,{name:"keypair",label:t("Keypair"),type:"select-table",data:this.keypairs,isLoading:this.keyPairStore.list.isLoading,required:!this.isPassword,hidden:this.isPassword,header:(0,A.getKeyPairHeader)(this),initValue:n,tip:t("The SSH key is a way to remotely log in to the instance. The cloud platform only helps to keep the public key. Please keep your private key properly."),filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Fingerprint"),dataIndex:"fingerprint"}],selectedLabel:t("Keypair")},{name:"password",label:t("Login Password"),type:"input-password",required:this.isPassword,hidden:!this.isPassword,otherRule:(0,k.getPasswordOtherRule)("password","instance")},{name:"confirmPassword",label:t("Confirm Password"),type:"input-password",required:this.isPassword,hidden:!this.isPassword,otherRule:(0,k.getPasswordOtherRule)("confirmPassword","instance")},{type:"divider"},{name:"more",label:t("Advanced Options"),type:"more"},{name:"physicalNodeType",label:t("Physical Node"),type:"radio",hidden:!e||!this.hasAdminRole,options:P.physicalNodeTypes,isWrappedValue:!0},{name:"physicalNode",label:t("Specify Physical Node"),type:"select-table",hidden:!this.hasAdminRole||!e||!r,required:r,data:this.hypervisors,isLoading:this.hypervisorStore.list.isLoading,extra:t("You can manually specify a physical node to create an instance."),columns:this.hypervisorColumns,filterParams:this.hypervisorFilters},{name:"serverGroup",label:t("Server Group"),type:"select-table",hidden:!e,data:this.serverGroups,isLoading:this.serverGroupStore.list.isLoading,required:this.serverGroupRequired,extra:t("Using server groups, you can create cloud hosts on the same/different physical nodes as much as possible to meet the affinity/non-affinity requirements of business applications."),columns:[{title:t("Name"),dataIndex:"name"},{title:t("Member Count"),dataIndex:"members",render:e=>e.length},{title:t("Policy"),dataIndex:"policy",valueMap:I.default}],filterParams:[{label:t("Name"),name:"name"},{label:t("Policy"),name:"policy",options:(0,T.getOptions)(I.default)}]},{name:"userData",label:t("User Data"),type:"textarea-from-file",validator:k.asciiValidator,hidden:!e,extra:t("The user needs to ensure that the input is a shell script that can run completely and normally.")}]}}a.SystemStep=E;var R=(0,b.inject)("rootStore")((0,b.observer)(E));a.default=R},3556:function(e,t,a){var r=a(3557);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3557:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.keypair__action-wrapper---KO5u {\n margin-left: 8px;\n}\n.keypair__action-wrapper---KO5u .ant-btn-link {\n padding: 5.6px 15px !important;\n border-color: #0068ff;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px","action-wrapper":"keypair__action-wrapper---KO5u"}},3558:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.NetworkStep=void 0;var l=i(r(63)),o=i(r(86)),s=i(r(54)),u=i(r(28)),d=i(r(91)),c=i(r(232)),f=i(r(49)),p=i(r(35)),h=i(r(92)),m=i(r(177)),g=i(r(0)),v=r(412),y=r(233),b=r(417),_=r(419),S=r(572),x=r(565),w=i(r(1250)),I=i(r(1444)),C=r(571),k=r(1326),D=r(1258),P=r(567),{isIPv4:T,isIpv6:A}=x.ipValidate;class M extends w.default{constructor(){var e;super(...arguments),e=this,(0,p.default)(this,"allowed",(()=>l.default.resolve())),(0,p.default)(this,"getSubnetPromise",function(){var t=(0,f.default)((function*(t){if(!e.subnetMap[t]){var a=yield e.subnetStore.fetchList({network_id:t});e.subnetMap[t]=a}return e.subnetMap[t]}));return function(e){return t.apply(this,arguments)}}()),(0,p.default)(this,"checkNetworks",(e=>!(!(0,h.default)(e)||(0,m.default)(e)||(0,m.default)(e[0].value))&&(!(0,o.default)(e).call(e,(e=>!e.value||!e.value.network))&&!(0,o.default)(e).call(e,(e=>1===e.value.ipType&&!T(e.value.ip)&&!A(e.value.ip)))))),(0,p.default)(this,"disabledNetwork",(e=>!e.subnets||0===e.subnets.length)),(0,p.default)(this,"onNetworkChange",(e=>{var{selectedRows:t}=e;this.setState({networkSelectRows:t},(()=>{this.getSubnets()})),this.updateContext({networkSelectRows:t})})),(0,p.default)(this,"checkNetworkAndPort",(e=>{var{getFieldValue:a}=e;return{validator(){var e=a("networkSelect"),r=a("ports"),{selectedRowKeys:n=[]}=e||{},{selectedRowKeys:i=[]}=r||{};return 0===n.length&&0===i?l.default.reject(t("Please select")):l.default.resolve()}}})),(0,p.default)(this,"onPortChange",(e=>{var{selectedRows:t=[]}=e||{};this.setState({portSelectRows:t}),this.updateContext({portSelectRows:t})}))}init(){var e,t;this.networkStore=new y.NetworkStore,this.subnetStore=new b.SubnetStore,this.securityGroupStore=new _.SecurityGroupStore,this.portStore=new S.PortStore,this.subnetMap={},this.state.networkSelectRows=(null===(e=this.props.context)||void 0===e?void 0:e.networkSelectRows)||[],this.state.portSelectRows=(null===(t=this.props.context)||void 0===t?void 0:t.portSelectRows)||[]}get title(){return"NetworkStep"}get name(){return"NetworkStep"}get defaultValue(){return{networks:[]}}getSubnets(){var e=this;return(0,f.default)((function*(){var{networkSelectRows:t,networks:a=[]}=e.state,r=yield l.default.all((0,s.default)(t).call(t,(t=>e.getSubnetPromise(t.id)))),n=[];(0,u.default)(r).call(r,(e=>{n.push(...e)}));var i=[],c=(0,s.default)(t).call(t,((e,t)=>{var r=(0,o.default)(n).call(n,(t=>t.network_id===e.id)),l=(0,o.default)(a).call(a,((t,a)=>t.value.network===e.id&&(i.push(a),!0)));return l||{value:{network:e.id,subnet:r.id,networkOption:e,subnetOption:r,ipTypeOption:C.ipTypeOptions[0],ipType:0},index:t}})),f=(0,s.default)(t).call(t,(e=>e.id));(0,u.default)(a).call(a,((e,t)=>{(0,d.default)(i).call(i,t)<0&&(0,d.default)(f).call(f,e.value.network)>=0&&c.push(e)})),e.updateFormValue("networks",c),e.setState({subnets:n,initValue:c})}))()}get nameForStateUpdate(){return["networkSelect","networks","ports"]}get showSecurityGroups(){var{networkSelectRows:e=[],portSelectRows:t=[]}=this.state;return!(!e.length&&!t.length)&&((!e.length||!(0,c.default)(e).call(e,(e=>!e.port_security_enabled)))&&(!t.length||!(0,c.default)(t).call(t,(e=>!e.port_security_enabled))))}get formItems(){var{networkSelectRows:e=[],subnets:a,initValue:r=[],ports:n=[]}=this.state,i=e.length>0,o=0===n.length,s=0===e.length;return[{name:"networkSelect",label:t("Networks"),type:"network-select-table",disabledFunc:this.disabledNetwork,onChange:this.onNetworkChange,showExternal:!0,isMulti:!0,required:o,otherRule:this.checkNetworkAndPort,dependencies:["ports"],header:g.default.createElement("div",null,t("Please reasonably plan the network and subnet to which the virtual network card belongs."),t(" You can go to the console to "),(0,P.getLinkRender)({key:"network",value:"".concat(t("create a new network/subnet")," > "),extra:{target:"_blank"}}))},{name:"networks",label:t("Virtual LAN"),type:"add-select",networks:e,hidden:!i,subnets:a,itemComponent:I.default,required:i,addTextTips:t("Virtual LANs"),addText:t("Add Virtual LAN"),minCount:e.length||0,optionsByIndex:!0,initValue:r,validator:(e,t)=>this.checkNetworks(t)?l.default.resolve():l.default.reject(""),wrapperCol:{span:19}},{name:"divider1",type:"divider"},{name:"ports",type:"select-table",label:t("Ports"),extraParams:{project_id:this.currentProjectId,status:"DOWN"},backendPageStore:this.portStore,isMulti:!0,header:t("Ports provide extra communication channels to your instances. You can select ports instead of networks or a mix of both (The port executes its own security group rules by default)."),filterParams:D.portFilters,columns:D.portColumns,dependencies:["networkSelect"],otherRule:this.checkNetworkAndPort,required:s,onChange:this.onPortChange},{name:"divider2",type:"divider"},{name:"securityGroup",label:t("Security Group"),type:"select-table",tip:t("Each instance belongs to at least one security group, which needs to be specified when it is created. Instances in the same security group can communicate with each other on the network, and instances in different security groups are disconnected from the internal network by default."),backendPageStore:this.securityGroupStore,extraParams:{project_id:this.currentProjectId},hidden:!this.showSecurityGroups,required:this.showSecurityGroups,isMulti:!0,header:g.default.createElement("div",{style:{marginBottom:8}},t("The security group is similar to the firewall function and is used to set up network access control. "),t(" You can go to the console to "),(0,P.getLinkRender)({key:"securityGroup",value:"".concat(t("create a new security group"),"> "),extra:{target:"_blank"}}),t("Note: The security group you use will act on all virtual adapters of the instance.")),filterParams:k.securityGroupFilter,columns:k.securityGroupColumns}]}}a.NetworkStep=M;var N=(0,v.inject)("rootStore")((0,v.observer)(M));a.default=N},3559:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var s=o(r(343)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),d=o(r(3560)),c=r(354),f=r(567);function p(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(p=function(e){return e?a:t})(e)}class h extends u.Component{getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,f.getPath)({key:t,params:{id:e}})}render(){var{item:{security_group_rules:e=[]}={}}=this.props,a={buttonType:"link",title:t("Security Group Rules"),buttonText:t("View Rules"),modalSize:"middle",columns:(0,c.getSelfColumns)(this),data:e,hasPagination:!1};return u.default.createElement(d.default,(0,s.default)({},a,{style:{paddingLeft:0}}))}}a.default=h},3560:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=void 0,r(585);var s=o(r(587)),u=o(r(35)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),c=o(r(1500)),f=o(r(16));r(161);function p(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(p=function(e){return e?a:t})(e)}class h extends d.Component{constructor(){super(...arguments),(0,u.default)(this,"renderTable",(()=>{var{data:e,columns:t,hasPagination:a}=this.props,r={columns:t,dataSource:e};return a||(r.pagination=!1),d.default.createElement(s.default,r)}))}static propTypes(){return{title:f.default.string.isRequired,buttonType:f.default.string,isDanger:f.default.bool,data:f.default.array,columns:f.default.array,modalSize:f.default.string,className:f.default.func,buttonText:f.default.string,style:f.default.string,hasPagination:f.default.bool}}render(){var{buttonType:e,isDanger:t,title:a,buttonText:r,modalSize:n,style:i}=this.props,l={buttonType:e,isDanger:t,title:a,buttonText:r,modalSize:n,style:i,render:this.renderTable};return d.default.createElement(c.default,l)}}a.default=h,(0,u.default)(h,"defaultProps",{buttonType:"link",isDanger:!1,data:[],columns:[],modalSize:"middle",className:"",buttonText:t("View Detail"),title:t("Detail"),hasPagination:!0})},3565:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseStep=void 0;var p=f(r(63)),h=f(r(54)),m=f(r(29)),g=f(r(86));r(1246);var v=f(r(1247));r(1244);var y=f(r(1245)),b=f(r(49)),_=f(r(35)),S=f(r(0)),x=r(412),w=r(36),I=(r(161),r(566)),C=f(r(413)),k=f(r(577)),D=f(r(1391)),P=f(r(578)),T=f(r(1319)),A=r(414),M=r(574),N=f(r(1250)),E=f(r(1534)),R=r(1264),j=r(1461),F=f(r(1392));function L(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function O(e){for(var t=1;tp.default.resolve())),(0,_.default)(this,"onImageTabChange",(e=>{this.setState({imageTab:e})})),(0,_.default)(this,"checkSystemDisk",((e,a)=>{var{size:r=10,type:n}=a||{},i=this.getSystemDiskMinSize();return n?r?r{this.updateContext({flavor:e})})),(0,_.default)(this,"onChangeBootFromVolume",(e=>{var t={bootFromVolume:e};e||(t.dataDisk=[],this.updateFormValue("dataDisk",[])),this.updateContext(t)})),(0,_.default)(this,"onInstanceSnapshotChange",function(){var t=(0,b.default)((function*(t){var{min_disk:a,size:r,id:n}=t.selectedRows[0]||{};if(!n)return e.updateContext({instanceSnapshotDisk:null,instanceSnapshotDataVolumes:[]}),void e.setState({instanceSnapshotDisk:null,instanceSnapshotMinSize:0,instanceSnapshotDataVolumes:[]});var i=yield e.instanceSnapshotStore.fetchInstanceSnapshotVolumeData({id:n}),{snapshotDetail:{size:l=0}={},block_device_mapping:o="",volumeDetail:s,snapshotDetail:u,instanceSnapshotDataVolumes:d=[]}=i;s||(e.updateFormValue("bootFromVolume",!0),e.updateContext({instanceSnapshotDisk:null,instanceSnapshotDataVolumes:[],bootFromVolume:!0}),e.setState({instanceSnapshotDisk:null,instanceSnapshotMinSize:0,instanceSnapshotDataVolumes:[],bootFromVolume:!0}));var c=Math.max(a,r,l),f=(JSON.parse(o)||[])[0]||{},p=(0,j.getDiskInfo)({volumeDetail:s,snapshotDetail:u,selfBdmData:f});e.updateFormValue("instanceSnapshotDisk",p),e.updateContext({instanceSnapshotDisk:p,instanceSnapshotDataVolumes:d}),e.setState({instanceSnapshotDisk:p,instanceSnapshotMinSize:c,instanceSnapshotDataVolumes:d})}));return function(e){return t.apply(this,arguments)}}()),(0,_.default)(this,"onBootableVolumeChange",(e=>{this.updateContext({bootableVolume:e})})),(0,_.default)(this,"onSystemDiskChange",(e=>{this.updateContext({systemDisk:e})})),(0,_.default)(this,"onDataDiskChange",(e=>{this.updateContext({dataDisk:e})})),(0,_.default)(this,"getInstanceSnapshotDisk",(()=>{var{instanceSnapshotDisk:e}=this.state,{instanceSnapshotDisk:t}=this.props.context;return e||t})),(0,_.default)(this,"getSnapshotDataDisks",(()=>{var{instanceSnapshotDataVolumes:e}=this.state,{instanceSnapshotDataVolumes:t}=this.props.context;return e||t||[]})),(0,_.default)(this,"renderInstanceSnapshotDisk",(e=>{if(null===e)return null;var{deleteTypeLabel:a,typeOption:r={},size:n}=e||{};if(!n)return null;var i={marginRight:10,maxWidth:"20%"};return S.default.createElement(v.default,{gutter:24},S.default.createElement(y.default,{span:8},S.default.createElement("span",{style:i},t("Type")),r.label),S.default.createElement(y.default,{span:8},S.default.createElement("span",{style:i},t("Size")),n,S.default.createElement("span",{style:i},"GiB")),S.default.createElement(y.default,{span:8},a))})),(0,_.default)(this,"renderSnapshotDisk",(()=>{var e=this.getInstanceSnapshotDisk();return this.renderInstanceSnapshotDisk(e)})),(0,_.default)(this,"renderSnapshotDataDisk",(()=>{var e=this.getSnapshotDataDisks();return S.default.createElement(S.default.Fragment,null,null==e?void 0:(0,h.default)(e).call(e,(e=>{var t=(0,j.getInstanceSnapshotDataDisk)(e),a=(null==e?void 0:e.id)||(null==e?void 0:e.snapshot_id);return S.default.createElement("div",{style:{marginBottom:10},key:"data-disk-".concat(a)},this.renderInstanceSnapshotDisk(t))})))}))}init(){this.serverStore=C.default,this.imageStore=k.default,this.volumeStore=new A.VolumeStore,this.volumeTypeStore=P.default,this.instanceSnapshotStore=D.default,this.getAvailZones(),this.getImages(),this.getVolumeTypes(),this.getVolumes(),this.getInstanceSnapshots(),this.initSourceChange()}get title(){return"BaseStep"}get name(){return"BaseStep"}get isStep(){return!0}get defaultValue(){var{volume:e,snapshot:t}=this.locationParams,a=this.imageSourceType;e?a=this.volumeSourceType:t&&(a=this.snapshotSourceType);var r={systemDisk:this.defaultVolumeType,source:a,project:this.currentProjectName,dataDisk:[]};return"image"===a.value&&(r.bootFromVolume=!0),r}get availableZones(){var e,t;return(0,h.default)(e=(0,m.default)(t=T.default.list.data||[]).call(t,(e=>e.zoneState.available))).call(e,(e=>({value:e.zoneName,label:e.zoneName})))}get images(){var{imageTab:e}=this.state,{image:t}=this.locationParams,a=t?[(0,w.toJS)(this.imageStore.detail)]:this.imageStore.list.data||[],r=(0,m.default)(a).call(a,(t=>!!(0,M.canImageCreateInstance)(t)&&(e?(0,M.getImageOS)(t)===e:t)));return(0,h.default)(r).call(r,(e=>O(O({},e),{},{key:e.id})))}get snapshots(){var{snapshot:e}=this.locationParams;if(!e){var{list:{data:t}}=this.instanceSnapshotStore;return t||[]}return[(0,w.toJS)(this.instanceSnapshotStore.detail)]}get enableCinder(){return this.props.rootStore.checkEndpoint("cinder")}get volumeTypes(){return(0,j.volumeTypes)()}get volumes(){var e,t,a,{volume:r}=this.locationParams;return r?(0,m.default)(a=[(0,w.toJS)(this.volumeStore.detail)]).call(a,(e=>(0,I.canCreateInstance)(e))):(0,h.default)(e=(0,m.default)(t=this.volumeStore.list.data||[]).call(t,(e=>(0,I.canCreateInstance)(e)))).call(e,(e=>O(O({},e),{},{key:e.id})))}get defaultVolumeType(){return{size:10,deleteType:1}}get sourceTypes(){var{image:e,snapshot:a,volume:r}=this.locationParams,n=[{label:t("Image"),value:"image",disabled:r||a},{label:t("Instance Snapshot"),value:"instanceSnapshot",disabled:e||r}];return this.enableCinder&&n.push({label:t("Bootable Volume"),value:"bootableVolume",disabled:e||a}),n}get imageSourceType(){var e;return(0,g.default)(e=this.sourceTypes).call(e,(e=>"image"===e.value))}get snapshotSourceType(){var e;return(0,g.default)(e=this.sourceTypes).call(e,(e=>"instanceSnapshot"===e.value))}get volumeSourceType(){var e;return this.enableCinder?(0,g.default)(e=this.sourceTypes).call(e,(e=>"bootableVolume"===e.value)):{}}getAvailZones(){var e=this;return(0,b.default)((function*(){yield T.default.fetchListWithoutDetail(),e.availableZones.length&&e.updateFormValue("availableZone",e.availableZones[0])}))()}getImages(){var e=this;return(0,b.default)((function*(){var{volume:t,image:a,snapshot:r}=e.locationParams;t||r||(a?yield e.imageStore.fetchDetail({id:a}):yield e.imageStore.fetchList({all_projects:e.hasAdminRole}))}))()}getVolumeTypes(){var e=this;return(0,b.default)((function*(){e.enableCinder&&(yield e.volumeTypeStore.fetchList())}))()}getVolumes(){var e=this;return(0,b.default)((function*(){var{image:t,snapshot:a,volume:r}=e.locationParams;t||a||e.enableCinder&&(r?(yield e.volumeStore.fetchDetail({id:r}),e.updateContext({source:e.volumeSourceType})):yield e.volumeStore.fetchList({sortKey:"bootable",sortOrder:"ascend"}))}))()}getInstanceSnapshots(){var e=this;return(0,b.default)((function*(){var{image:t,snapshot:a,volume:r}=e.locationParams;t||r||(a?yield e.instanceSnapshotStore.fetchDetail({id:a}):e.instanceSnapshotStore.fetchList())}))()}get systemTabs(){return(0,M.getImageSystemTabs)()}get nameForStateUpdate(){return["source","image","instanceSnapshot","bootableVolume","flavor","bootFromVolume"]}getSystemDiskMinSize(){var e=(this.state.flavor||{}).disk||0,t=0;if(this.sourceTypeIsImage){var{min_disk:a=0,size:r=0}=this.state.image||{},n=Math.ceil(r/1024/1024/1024);return t=Math.max(a,n,1),Math.max(e,t,1)}if(this.sourceTypeIsSnapshot){var{instanceSnapshotMinSize:i=0}=this.state;return Math.max(e,i,1)}return Math.max(e,1)}get sourceTypeIsImage(){var{source:e}=this.state;return e===this.imageSourceType.value}get sourceTypeIsSnapshot(){var{source:e}=this.state;return e===this.snapshotSourceType.value}get sourceTypeIsVolume(){var{source:e}=this.state;return e===this.volumeSourceType.value}getImageExtraWords(){var{flavor:{category:e}={}}=this.state;return(0,R.isGpuCategory)(e)?t("For GPU type, you need to install GPU drivers in the instance operating system."):""}initSourceChange(){var{snapshot:e,volume:t}=this.locationParams;e?this.onSourceChange(this.snapshotSourceType):t?this.onSourceChange(this.volumeSourceType):this.onSourceChange(this.imageSourceType)}onSourceChange(e){this.updateContext({source:e})}get imageColumns(){return(0,M.getImageColumns)(this)}get instanceSnapshotColumns(){return[{title:t("Name"),dataIndex:"name"},{title:t("Disk Format"),dataIndex:"disk_format",valueMap:M.imageFormats},{title:t("Min System Disk"),dataIndex:"min_disk",unit:"GiB"},{title:t("Min Memory"),dataIndex:"min_ram",render:e=>"".concat(e/1024,"GiB")},{title:t("Status"),dataIndex:"status",valueMap:M.imageStatus},{title:t("Created At"),dataIndex:"created_at",isHideable:!0,valueRender:"sinceTime"}]}get volumeColumns(){return[{title:t("Name"),dataIndex:"name"},{title:t("Size"),dataIndex:"size",unit:"GiB",width:80},{title:t("Status"),dataIndex:"status",valueMap:I.volumeStatus,width:80},{title:t("Type"),dataIndex:"volume_type"},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}get supportNoBootFromVolume(){return!0}get showBootFromVolumeFormItem(){return!!this.supportNoBootFromVolume&&(!!this.enableCinder&&(!!this.sourceTypeIsImage||this.showSystemDisk))}get bootFromVolumeOptions(){return[{value:!0,label:t("Yes - Create a new system disk")},{value:!1,label:t("No - Do not create a new system disk")}]}get showSystemDisk(){var e=this.getInstanceSnapshotDisk();return this.enableCinder&&(this.sourceTypeIsImage||this.sourceTypeIsSnapshot&&null===e)}get showSystemDiskByBootFromVolume(){if(!this.showSystemDisk)return!1;if(!this.supportNoBootFromVolume)return!0;var{bootFromVolume:e=!0}=this.state;return!!e}get hideInstanceSnapshotSystemDisk(){return this.showSystemDisk||this.sourceTypeIsVolume}get hideInstanceSnapshotDataDisk(){return!!this.hideInstanceSnapshotSystemDisk||0===this.getSnapshotDataDisks().length}get hideDataDisk(){if(!this.supportNoBootFromVolume)return!1;if(this.sourceTypeIsVolume)return!1;var{bootFromVolume:e=!0}=this.state;return!e}getFlavorComponent(){return S.default.createElement(F.default,{onChange:this.onFlavorChange})}get formItems(){var{image:e}=this.locationParams,a=e?this.imageStore.isLoading:this.imageStore.list.isLoading;return[{name:"project",label:t("Project"),type:"label"},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),isWrappedValue:!0,required:!0,options:this.availableZones,tip:t("Availability zone refers to a physical area where power and network are independent of each other in the same area. In the same region, the availability zone and the availability zone can communicate with each other in the intranet, and the available zones can achieve fault isolation.")},{type:"divider"},{name:"flavor",label:t("Specification"),type:"select-table",component:this.getFlavorComponent(),required:!0,wrapperCol:{xs:{span:24},sm:{span:18}}},{name:"source",label:t("Start Source"),type:"radio",options:this.sourceTypes,required:!0,isWrappedValue:!0,tip:t("The start source is a template used to create an instance. You can choose an image or a bootable volume."),onChange:e=>{this.onSourceChange(e)}},{name:"image",label:t("Operating System"),type:"select-table",data:this.images,isLoading:a,required:this.sourceTypeIsImage,isMulti:!1,display:this.sourceTypeIsImage,extra:this.getImageExtraWords(),filterParams:[{label:t("Name"),name:"name"}],columns:this.imageColumns,tabs:this.systemTabs,defaultTabValue:this.locationParams.os_distro||this.systemTabs[0].value,selectedLabel:t("Image"),onTabChange:this.onImageTabChange},{name:"instanceSnapshot",label:t("Instance Snapshot"),type:"select-table",data:this.snapshots,required:this.sourceTypeIsSnapshot,isMulti:!1,hidden:!this.sourceTypeIsSnapshot,display:this.sourceTypeIsSnapshot,onChange:this.onInstanceSnapshotChange,filterParams:[{label:t("Name"),name:"name"}],columns:this.instanceSnapshotColumns},{name:"bootableVolume",label:t("Bootable Volume"),type:"select-table",data:this.volumes,isLoading:this.volumeStore.list.isLoading,required:this.sourceTypeIsVolume,isMulti:!1,display:this.sourceTypeIsVolume&&this.enableCinder,onChange:this.onBootableVolumeChange,filterParams:[{label:t("Name"),name:"name"}],columns:this.volumeColumns},{type:"divider"},{name:"bootFromVolume",label:t("Boot From Volume"),type:"radio",required:this.showBootFromVolumeFormItem,hidden:!this.showBootFromVolumeFormItem,onChange:this.onChangeBootFromVolume,wrapperCol:{xs:{span:16},sm:{span:14}},options:this.bootFromVolumeOptions},{name:"systemDisk",label:t("System Disk"),type:"instance-volume",options:this.volumeTypes,required:this.showSystemDiskByBootFromVolume,hidden:!this.showSystemDiskByBootFromVolume,validator:this.checkSystemDisk,minSize:this.getSystemDiskMinSize(),extra:t("Disk size is limited by the min disk of flavor, image, etc."),onChange:this.onSystemDiskChange,dependencies:["flavor","image","instanceSnapshot","bootFromVolume"]},{name:"deleteVolumeInstance",label:t("Delete Volume on Instance Delete"),type:"check",hidden:!this.sourceTypeIsVolume},{name:"instanceSnapshotDisk",label:t("System Disk"),hidden:this.hideInstanceSnapshotSystemDisk,component:this.renderSnapshotDisk()},{name:"instanceSnapshotDataDisk",label:t("Required Data Disk"),hidden:this.hideInstanceSnapshotDataDisk,component:this.renderSnapshotDataDisk()},{name:"dataDisk",label:t("Data Disk"),type:"add-select",options:this.volumeTypes,defaultItemValue:this.defaultVolumeType,hidden:this.hideDataDisk,itemComponent:E.default,minCount:0,addTextTips:t("Data Disks"),addText:t("Add Data Disks"),extra:t("Too many disks mounted on the instance will affect the read and write performance. It is recommended not to exceed 16 disks."),onChange:this.onDataDiskChange,display:this.enableCinder}]}}a.BaseStep=z;var B=(0,x.inject)("rootStore")((0,x.observer)(z));a.default=B},3573:function(e,t,a){var r=a(3574);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3574:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__flavor-label--GI_En {\n display: inline-block;\n min-width: 50px;\n margin-right: 16px;\n}\n.index__flavor-tab--2Mc6u {\n margin-bottom: 16px;\n}\n",""]),t.locals={"flavor-label":"index__flavor-label--GI_En","flavor-tab":"index__flavor-tab--2Mc6u"}},3575:function(e,t,a){var r=a(3576);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3576:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__input--2eKC2 {\n margin-right: 32px;\n margin-left: 16px;\n}\n.index__number-input--3TVxi {\n min-width: 165px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",input:"index__input--2eKC2","number-input":"index__number-input--3TVxi"}},3613:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0,a(1317);var i=n(a(1318));a(1303);var l=n(a(1290)),o=n(a(54)),s=n(a(0)),u=(a(161),n(a(16))),d=a(163),c=n(a(3614)),f=e=>{var{title:t,descriptions:a,loading:r}=e,n=(0,o.default)(a).call(a,(e=>("number"==typeof e.content&&(e.content=e.content.toString()),s.default.createElement(l.default.Item,{label:e.label,className:c.default.item,key:"label-".concat((0,d.generateId)())},e.content))));return s.default.createElement(i.default,{loading:r},s.default.createElement(l.default,{colon:!1,title:t},n))},p=u.default.shape({label:u.default.oneOfType([u.default.string,u.default.node]),content:u.default.any});f.propTypes={title:u.default.oneOfType([u.default.string,u.default.node]),descriptions:u.default.arrayOf(p),loading:u.default.bool};var h=f;t.default=h},3614:function(e,t,a){var r=a(3615);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3615:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__item--3lFuh {\n margin-bottom: 10px;\n background-color: #fff;\n}\n.index__item--3lFuh .ant-descriptions-item-label {\n width: 100px;\n color: #8a8a8a;\n}\n.index__item--3lFuh .ant-descriptions-item-content {\n word-break: break-all;\n}\n",""]),t.locals={item:"index__item--3lFuh"}},3616:function(e,t,a){var r=a(3617);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3617:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__main--1q8mG {\n position: relative;\n height: 100%;\n overflow: auto;\n}\n.index__sider--3LZqm {\n position: absolute;\n top: 0;\n left: 0;\n width: 354px;\n min-width: 354px;\n}\n@media screen and (max-width: 1280px) {\n .index__sider--3LZqm {\n width: 300px;\n min-width: 300px;\n }\n}\n.index__content--1OSKS {\n padding-left: 374px;\n}\n@media screen and (max-width: 1280px) {\n .index__content--1OSKS {\n padding-left: 320px;\n }\n}\n.index__nav--2zbId {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n height: 48px;\n margin: 0 0 12px;\n padding: 0 14px;\n background-color: #124191;\n border-radius: 4px;\n}\n.index__navItem--uT8lm {\n min-width: 96px;\n height: 32px;\n margin: 0 6px;\n padding: 0 14px;\n color: #fff;\n font-weight: 500;\n line-height: 32px;\n text-align: center;\n border: 1px solid transparent;\n -webkit-transition: all 0.3s;\n transition: all 0.3s;\n}\n.index__navItem--uT8lm:first-child {\n margin: 0 6px 0 0;\n}\n.index__navItem--uT8lm.index__active--oKb1h {\n background-color: #1890ff;\n border-color: #1890ff;\n border-radius: 4px;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.index__navItem--uT8lm.index__active--oKb1h:hover {\n color: #fff;\n}\n.index__loading--3cfaa {\n padding: 30px 0;\n text-align: center;\n}\n.index__header--2mGuj {\n padding-right: 16px;\n padding-bottom: 30px;\n padding-left: 16px;\n background-color: #fff;\n}\n.index__header--2mGuj .ant-descriptions-title {\n margin-bottom: 0;\n}\n.index__header-title--3X2Ku {\n font-style: italic;\n}\n.index__title-label--3TrNR {\n margin-right: 8px;\n font-style: italic;\n}\n.index__header-button--2VTui {\n float: right;\n}\n.index__header-divider--3b6-4 {\n width: 2px;\n margin: 0 14px 0 24px;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.index__tabs--VwWK2 {\n margin-top: -42px;\n}\n.index__tabs--VwWK2 .ant-tabs-bar {\n padding-right: 16px;\n padding-left: 16px;\n}\n.index__tabs--VwWK2 .ant-tabs-nav-wrap {\n padding-left: 30px;\n}\n.index__tab-wrapper--2DZuY {\n width: 100%;\n}\n.index__tab-wrapper--2DZuY .list-container {\n margin-top: 0;\n}\n.index__action-wrapper--pIcIO {\n position: absolute;\n right: 80px;\n}\n.index__action-wrapper--pIcIO .ant-btn-link {\n padding: 5.6px 15px !important;\n border-color: #0068ff;\n}\n.index__action-wrapper--pIcIO .ant-divider-vertical {\n border-left: none;\n}\n.index__action-wrapper--pIcIO .ant-btn-dangerous {\n color: #c4233e;\n background: transparent;\n border-color: #c4233e;\n}\n.index__action-wrapper--pIcIO .ant-btn-link[disabled],\n.index__action-wrapper--pIcIO .ant-btn-link[disabled]:hover,\n.index__action-wrapper--pIcIO .ant-btn-link[disabled]:focus,\n.index__action-wrapper--pIcIO .ant-btn-link[disabled]:active {\n border-color: rgba(0, 0, 0, 0.25);\n}\n.index__action-wrapper--pIcIO .ant-btn-dangerous.ant-btn-link:active {\n color: #c4233e;\n background: transparent;\n border-color: #c4233e;\n}\n.index__action-wrapper--pIcIO .ant-btn-dangerous:hover,\n.index__action-wrapper--pIcIO .ant-btn-dangerous:focus {\n color: #f76070;\n background: #fff;\n border-color: #f76070;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",main:"index__main--1q8mG",sider:"index__sider--3LZqm",content:"index__content--1OSKS",nav:"index__nav--2zbId",navItem:"index__navItem--uT8lm",active:"index__active--oKb1h",loading:"index__loading--3cfaa",header:"index__header--2mGuj","header-title":"index__header-title--3X2Ku","title-label":"index__title-label--3TrNR","header-button":"index__header-button--2VTui","header-divider":"index__header-divider--3b6-4",tabs:"index__tabs--VwWK2","tab-wrapper":"index__tab-wrapper--2DZuY","action-wrapper":"index__action-wrapper--pIcIO"}},3618:function(e,t,a){"use strict";var r=a(32),n=a(42),i=a(29),l=a(25),o=a(28),s=a(44),u=a(45),d=a(20),c=a(21);d(t,"__esModule",{value:!0}),t.default=t.SnapshotVolumeStore=void 0;var f=c(a(63)),p=c(a(54)),h=c(a(28)),m=c(a(35)),g=c(a(49)),v=c(a(53)),y=a(163),b=a(566);function _(e,t){var a=r(e);if(n){var o=n(e);t&&(o=i(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}class S extends v.default{get mapper(){return e=>(0,b.updateVolume)(e)}get groupArraySize(){return 10}requestList(e,t){var a=this;return(0,g.default)((function*(){var{volumeIds:r=[]}=t,n=(0,y.groupArray)(r,a.groupArraySize),i=yield f.default.all((0,p.default)(n).call(n,(t=>{var r=function(e){for(var t=1;t{c.push(...e.volumes)})),c}))()}}t.SnapshotVolumeStore=S;var x=new S;t.default=x},3622:function(e,t,a){var r=a(3623);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3623:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__input--1LaXS {\n margin-right: 32px;\n margin-left: 16px;\n}\n",""]),t.locals={input:"index__input--1LaXS"}},3624:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.EditAction=void 0;var l=i(r(63)),o=i(r(35)),s=r(412),u=r(1241),d=i(r(414)),c=r(566);class f extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.update(t,e)}))}get defaultValue(){var{name:e,description:t}=this.item;return{name:e,description:t}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0},{name:"description",label:t("Description"),type:"textarea"}]}init(){this.store=d.default}}a.EditAction=f,(0,o.default)(f,"id","edit"),(0,o.default)(f,"title",t("Edit")),(0,o.default)(f,"policy","volume:update"),(0,o.default)(f,"allowed",(e=>l.default.resolve((0,c.isAvailableOrInUse)(e))));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},3625:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(164)),o=i(r(28));r(344);var s=i(r(202)),u=i(r(1299));r(583);var d=i(r(420)),c=i(r(35)),f=i(r(92)),p=i(r(0)),h=r(1241),m=i(r(414));r(161),r(564);class g extends h.ConfirmAction{constructor(){super(...arguments),(0,c.default)(this,"policy","volume:delete"),(0,c.default)(this,"canDelete",(e=>{var{status:t,attachments:a=[]}=e,r=["available","error","error_extending"];return(0,l.default)(r).call(r,t)&&!(null!=a&&a.length)})),(0,c.default)(this,"allowedCheckFunc",(e=>this.canDelete(e))),(0,c.default)(this,"onSubmit",(e=>{var{id:t,isCascadeDeleted:a=!0}=e||this.item;return a?m.default.cascadeDelete({id:t}):m.default.delete({id:t})})),(0,c.default)(this,"initCascadeValue",(e=>{this.onChangeCascade(!0,e)})),(0,c.default)(this,"confirmContext",(e=>{var a=this.getName(e);return this.initCascadeValue(e),p.default.createElement("div",null,p.default.createElement("p",{style:{marginBottom:"16px"}},this.unescape(t("Are you sure to delete volume { name }? ",{name:a}))),p.default.createElement("div",null,this.renderCascadeDeletion(e),this.renderCascadeDeletionTip()))}))}get id(){return"delete"}get title(){return t("Delete Volume")}get name(){return t("Delete Volume")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete volume")}onChangeCascade(e,t){(0,f.default)(t)?(0,o.default)(t).call(t,(t=>{t.isCascadeDeleted=e})):t.isCascadeDeleted=e}renderCascadeDeletion(e){return p.default.createElement(d.default,{defaultChecked:!0,onChange:t=>{this.onChangeCascade(t.target.checked,e)}},t("Cascading deletion"))}get cascadeDeletionTip(){return t("Using cascading deletion, when the volume has snapshots, the associated snapshot will be automatically deleted first, and then the volume will be deleted, thereby improving the success rate of deleting the volume.")}renderCascadeDeletionTip(){return p.default.createElement(s.default,{title:this.cascadeDeletionTip},p.default.createElement(u.default,null))}}a.default=g},3626:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.RestoreAction=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=r(414),f=i(r(592)),p=r(566),h=r(580);class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{snapshot:{selectedRowKeys:t=[]}={}}=e,{id:a}=this.item;return this.store.revert(a,{snapshot_id:t[0]})}))}init(){this.store=new c.VolumeStore,this.snapshotStore=f.default}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var e,t,{name:a,id:r="-",volume_type:n="-",size:i}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)")}}get formItems(){var{id:e}=this.item;return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"snapshot",label:t("Select Volume Snapshot"),type:"select-table",backendPageStore:this.snapshotStore,extraParams:{volume_id:e},required:!0,isMulti:!1,isSortByBack:!0,defaultSortKey:"created_at",defaultSortOrder:"descend",filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Size"),dataIndex:"size",unit:"GiB",sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:p.volumeStatus},{title:t("Created At"),dataIndex:"created_at",render:e=>(0,h.getSinceTime)(e)}]}]}get name(){return t("Restore from snapshot")}}a.RestoreAction=m,(0,s.default)(m,"id","Restore from snapshot"),(0,s.default)(m,"title",t("Restore From Snapshot")),(0,s.default)(m,"policy","volume:create"),(0,s.default)(m,"allowed",(e=>o.default.resolve("available"===e.status)));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},3627:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Attach=void 0;var p=f(r(86)),h=f(r(63)),m=f(r(54)),g=f(r(77)),v=f(r(35)),y=r(412),b=r(1241),_=r(413),S=f(r(414)),x=r(1248),w=r(566);function I(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t!(0,x.allowAttachVolumeInstance)(e)||this.alreadyAttached(e))),(0,v.default)(this,"alreadyAttached",(e=>{var{attachments:t=[]}=this.item;return!!(0,p.default)(t).call(t,(t=>t.server_id===e.id))})),(0,v.default)(this,"onSubmit",(e=>{var{instance:t}=e,{id:a}=this.item,{selectedRowKeys:r}=t;return h.default.all((0,m.default)(r).call(r,(e=>this.vmStore.attachVolume({id:e,body:{volumeAttachment:{volumeId:a}}}))))}))}init(){this.store=S.default,this.vmStore=new _.ServerStore}get name(){return t("Attach")}get isAsyncAction(){return!0}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var e,t,{name:a,id:r,size:n,volume_type:i}=this.item;return{volume:(0,g.default)(e=(0,g.default)(t="".concat(a||r,"(")).call(t,i," | ")).call(e,n,"GiB)")}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},C({name:"instance",label:t("Instance"),type:"select-table",required:!0,backendPageStore:this.vmStore,disabledFunc:this.disabledInstance,extraParams:{noReminder:!0},isMulti:!1},x.instanceSelectTablePropsBackend)]}}a.Attach=k,(0,v.default)(k,"id","attach"),(0,v.default)(k,"title",t("Attach")),(0,v.default)(k,"policy","os_compute_api:os-volumes-attachments:create"),(0,v.default)(k,"allowed",(e=>h.default.resolve((0,w.isAvailable)(e)||(0,w.isMultiAttach)(e))));var D=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=D},3628:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Detach=void 0;var l=i(r(54)),o=i(r(77)),s=i(r(63)),u=i(r(1394)),d=i(r(35)),c=r(412),f=r(1241),p=i(r(413)),h=r(1460),m=r(566),g=r(1248);class v extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"disabledInstance",(e=>!(0,g.allowAttachVolumeInstance)(e))),(0,d.default)(this,"onSubmit",(e=>{var{instance:t}=e,{id:a}=this.item,{selectedRowKeys:r}=t,n=r[0];return this.store.detachVolume({id:n,volumes:[a]})}))}get name(){return t("Detach")}init(){this.store=p.default,this.instanceStore=new h.ServerGroupInstanceStore,this.getInstances()}static get modalSize(){return"large"}getModalSize(){return"large"}get instances(){return this.instanceStore.list.data||[]}getInstances(){var e,t=(0,l.default)(e=this.item.attachments||[]).call(e,(e=>e.server_id));this.instanceStore.fetchList({members:t})}get defaultValue(){var e,t,{name:a,size:r,volume_type:n}=this.item;return{volume:(0,o.default)(e=(0,o.default)(t="".concat(a,"(")).call(t,n," | ")).call(e,r,"GiB)")}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"instance",label:t("Instance"),type:"select-table",required:!0,data:this.instances,filterParams:[{label:t("Name"),name:"name"}],columns:g.instanceColumnsBackend,isLoading:this.instanceStore.list.isLoading,disabledFunc:this.disabledInstance}]}}a.Detach=v,(0,d.default)(v,"id","detach"),(0,d.default)(v,"title",t("Detach")),(0,d.default)(v,"isDanger",!0),(0,d.default)(v,"policy","os_compute_api:os-volumes-attachments:delete"),(0,d.default)(v,"allowed",(e=>s.default.resolve((0,m.isInUse)(e)&&!(0,m.isOsDisk)(e)&&(0,u.default)(e.attachments)&&e.attachments.length)));var y=(0,c.inject)("rootStore")((0,c.observer)(v));a.default=y},3629:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateSnapshot=void 0;var p=f(r(77)),h=f(r(63)),m=f(r(49)),g=f(r(35)),v=r(412),y=r(1241),b=f(r(592)),_=r(566),S=f(r(340));function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{snapshots:t={}}=e,{currentVolumeType:a}=b.default;return{snapshotQuota:t,typeQuota:e["snapshots_".concat(a)]||{}}},C=e=>{var{snapshotQuota:t,typeQuota:a}=I(e),{left:r=0}=t||{},{left:n=0}=a||{};return 0!==r&&0!==n?1:0};class k extends y.ModalAction{constructor(){super(...arguments),(0,g.default)(this,"onSubmit",(e=>{var{id:t,status:a}=this.item,{name:r}=e,n={name:r,volume_id:t,force:"in-use"===a};return this.store.create(n)}))}init(){b.default.setCurrentVolumeType(this.item),this.state.quota={},this.state.quotaLoading=!0,this.store=b.default,this.projectStore=S.default,this.getQuota()}get name(){return t("create volume snapshot")}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,p.default)(e=(0,p.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)")}}static get disableSubmit(){var{cinderQuota:e={}}=S.default;return 0===C(e)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,m.default)((function*(){e.setState({quotaLoading:!0});var t=yield e.projectStore.fetchProjectCinderQuota();e.setState({quota:t,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{snapshotQuota:r={},typeQuota:n={}}=I(e),i=C(e),l=w(w({},r),{},{add:i,name:"snapshot",title:t("Volume Snapshot")}),{volume_type:o}=this.item;return[l,w(w({},n),{},{add:i,name:"type",title:t("{name} type snapshots",{name:o}),type:"line"})]}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"name",label:t("Volume Snapshot Name"),type:"input-name",placeholder:t("Please input snapshot name"),required:!0}]}}a.CreateSnapshot=k,(0,g.default)(k,"id","create-snapshot"),(0,g.default)(k,"title",t("Create Volume Snapshot")),(0,g.default)(k,"buttonText",t("Create Snapshot")),(0,g.default)(k,"policy","volume:create_snapshot"),(0,g.default)(k,"allowed",(e=>h.default.resolve((0,_.isAvailableOrInUse)(e))));var D=(0,v.inject)("rootStore")((0,v.observer)(k));a.default=D},3630:function(e,a,r){"use strict";var n=r(162),i=r(20),l=r(25),o=r(21);i(a,"__esModule",{value:!0}),a.default=a.ExtendVolume=void 0;var s=o(r(63)),u=o(r(77)),d=o(r(58)),c=o(r(49)),f=o(r(35)),p=o(r(177)),h=r(412),m=r(1241),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=b(t);if(a&&a.has(e))return a.get(e);var r={},n=i&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?l(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(414)),v=o(r(340)),y=r(566);function b(e){if("function"!=typeof n)return null;var t=new n,a=new n;return(b=function(e){return e?a:t})(e)}class _ extends m.ModalAction{constructor(){var e;super(...arguments),e=this,(0,f.default)(this,"onSizeChange",(e=>{var t=e-this.itemSize;(0,y.setCreateVolumeSize)(t)})),(0,f.default)(this,"checkInstance",(()=>{var{lockedError:e}=this.state;return e?s.default.reject(e):s.default.resolve()})),(0,f.default)(this,"onSubmit",function(){var t=(0,c.default)((function*(t){var{new_size:a}=t,{id:r}=e.item;return e.store.extendSize(r,{new_size:a})}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Extend volume")}init(){this.store=g.default,this.state.showNotice=!0,this.volumeStore=new g.VolumeStore,this.projectStore=v.default,(0,y.fetchQuota)(this,1,this.item.volume_type)}get tips(){return t("After the volume is expanded, the volume cannot be reduced.")}static get disableSubmit(){return(0,y.checkQuotaDisable)(!1)}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){var{quota:e={},quotaLoading:t}=this.state;if(t||(0,p.default)(e))return[];var[a,r,n,i]=(0,y.getQuotaInfo)(this,!1),{type:l}=r;return[(0,d.default)(r,["type"]),i]}get isQuotaLimited(){var{gigabytes:{limit:e}={}}=this.projectStore.cinderQuota||{};return-1!==e}get leftSize(){var{gigabytes:{left:e=0}={}}=this.projectStore.cinderQuota||{};return e}get itemSize(){var{size:e}=this.item;return e}get minSize(){return this.itemSize+1}get maxSize(){var{size:e}=this.item;return e+this.leftSize}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,u.default)(e=(0,u.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),new_size:this.minSize}}get formItems(){var e;return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"new_size",label:t("Capacity (GiB)"),type:"slider-input",max:this.maxSize,min:this.minSize,description:(0,u.default)(e="".concat(this.minSize,"GiB-")).call(e,this.maxSize,"GiB"),required:!0,display:this.isQuotaLimited,onChange:this.onSizeChange,validator:this.checkInstance},{name:"new_size",label:t("Capacity (GiB)"),type:"input-int",min:this.minSize,required:!0,display:!this.isQuotaLimited,onChange:this.onSizeChange,validator:this.checkInstance}]}}a.ExtendVolume=_,(0,f.default)(_,"id","extend-snapshot"),(0,f.default)(_,"title",t("Extend Volume")),(0,f.default)(_,"policy","volume:extend"),(0,f.default)(_,"allowed",(e=>s.default.resolve((0,y.isAvailableOrInUse)(e))));var S=(0,h.inject)("rootStore")((0,h.observer)(_));a.default=S},3631:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ChangeType=void 0;var l=i(r(54)),o=i(r(29)),s=i(r(77)),u=i(r(63)),d=i(r(35)),c=r(412),f=r(1241),p=i(r(414)),h=i(r(578)),m=r(566);class g extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{new_type:a}=e,r={new_type:a,migration_policy:"on-demand"};return this.store.retype(t,r)}))}get name(){return t("Change type")}get tips(){return t("If the capacity of the disk is large, the type modify operation may take several hours. Please be cautious.")}init(){this.store=p.default,this.volumeTypeStore=h.default,this.getVolumeTypes()}getVolumeTypes(){this.volumeTypeStore.fetchList()}get isAsyncAction(){return!0}get volumeTypes(){var e,{volume_type:t}=this.item,{data:a=[]}=this.volumeTypeStore.list;return(0,l.default)(e=(0,o.default)(a).call(a,(e=>e.name!==t))).call(e,(e=>({label:e.name,value:e.id})))}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,s.default)(e=(0,s.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),volume_type:(this.volumeTypes[0]||{}).value}}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"new_type",label:t("Volume Type"),type:"select",required:!0,options:this.volumeTypes}]}}a.ChangeType=g,(0,d.default)(g,"id","change-type"),(0,d.default)(g,"title",t("Change Type")),(0,d.default)(g,"policy","volume:retype"),(0,d.default)(g,"allowed",(e=>u.default.resolve((0,m.isAvailableOrInUse)(e)&&!(0,m.isOsDisk)(e))));var v=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=v},3632:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CloneVolume=void 0;var p=f(r(86)),h=f(r(77)),m=f(r(63)),g=f(r(49)),v=f(r(58)),y=f(r(35)),b=r(412),_=r(1241),S=f(r(414)),x=r(566);function w(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{volume:t,more:a}=e,r=I(I({},(0,v.default)(e,["volume","more"])),{},{source_volid:this.item.id});return this.store.create(r)}))}get name(){return t("Clone volume")}get tips(){return t("It is recommended that you perform this cloning operation on a disk without any reading/writing")}init(){this.store=S.default,this.getVolumeTypes(),(0,x.fetchQuota)(this,this.item.size)}getVolumeTypes(){var e=this;return(0,g.default)((function*(){var t;yield e.store.fetchVolumeTypes();var a=(0,p.default)(t=e.volumeTypes).call(t,(t=>t.label===e.item.volume_type));e.defaultType=a,a&&(0,x.setCreateVolumeType)(e.item.volume_type),e.updateDefaultValue()}))()}get volumeTypes(){return this.store.volumeTypes}static get disableSubmit(){return(0,x.checkQuotaDisable)()}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,x.getQuotaInfo)(this)}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,h.default)(e=(0,h.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),volume_type:(this.defaultType||{}).value,size:i}}get maxSize(){var{quota:{gigabytes:{left:e=0}={}}={}}=this.state;return-1===e?1/0:e}get formItems(){var{size:e}=this.item,{more:a}=this.state;return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"name",label:t("Volume Name"),type:"input-name",required:!0},{name:"size",label:t("Capacity (GiB)"),type:"input-int",min:e,max:this.maxSize,required:!0,onChange:x.onVolumeSizeChange},{name:"more",type:"more",label:t("Advanced Options")},{name:"volume_type",label:t("Volume Type"),type:"select",options:this.volumeTypes,onChange:x.onVolumeTypeChange,allowClear:!1,hidden:!a}]}}a.CloneVolume=C,(0,y.default)(C,"id","clone-volume"),(0,y.default)(C,"title",t("Clone Volume")),(0,y.default)(C,"policy","volume:create"),(0,y.default)(C,"allowed",(e=>m.default.resolve((0,x.isAvailableOrInUse)(e))));var k=(0,b.inject)("rootStore")((0,b.observer)(C));a.default=k},3633:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.UpdateStatus=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414));class f extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleStatusChange",(e=>{this.setState({status:e})})),(0,s.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return delete e.volume,this.store.resetStatus(t,e)}))}get name(){return t("update status")}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),status:"available"}}get tips(){return t('Do not reset the normally mounted volume to the "available"、"maintenance" or "error" status. The reset state does not remove the volume from the instance. If you need to remove the volume from the instance, please go to the console of the corresponding project and use the "detach" operation.')}get formItems(){var{status:e}=this.state,a=[{value:"available",label:t("Available")},{value:"maintenance",label:t("Maintained")},{value:"error",label:t("Error")},{value:"in-use",label:t("In Use")}];return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"status",label:t("Status"),type:"select",required:!0,options:a,onChange:this.handleStatusChange,extra:"in-use"===e?t("The volume status can be reset to in-use only when the previous status is in-use."):""}]}init(){this.store=c.default}}a.UpdateStatus=f,(0,s.default)(f,"id","update-status"),(0,s.default)(f,"title",t("Update Status")),(0,s.default)(f,"policy","volume_extension:volume_admin_actions:reset_status"),(0,s.default)(f,"allowed",(()=>o.default.resolve(!0)));var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3634:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Migrate=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414)),f=r(566),p=i(r(1605)),h=r(1465);class m extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"disableFunc",(e=>{var{host:t}=this.item;return e.name===t})),(0,s.default)(this,"onSubmit",(e=>{var{pool:t}=e,{item:{id:a}}=this,{selectedRowKeys:r=[]}=t||{};return c.default.migrate(a,{host:r[0]})}))}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Migrate volume")}init(){this.poolStore=p.default,this.getPools()}get defaultValue(){var e,t,{name:a,id:r,volume_type:n,size:i,host:o}=this.item;return{volume:(0,l.default)(e=(0,l.default)(t="".concat(a||r,"(")).call(t,n," | ")).call(e,i,"GiB)"),host:o}}getPools(){this.poolStore.fetchList()}get pools(){return this.poolStore.list.data||[]}get formItems(){return[{name:"volume",label:t("Volume"),type:"label",iconType:"volume"},{name:"host",label:t("Current Storage Backend"),type:"label",iconType:"instance"},{name:"pool",label:t("Target Storage Backend"),type:"select-table",required:!0,data:this.pools,isLoading:this.poolStore.list.isLoading,disabledFunc:this.disableFunc,rowKey:"name",columns:h.poolColumns}]}}a.Migrate=m,(0,s.default)(m,"id","migrate-volume"),(0,s.default)(m,"title",t("Migrate Volume")),(0,s.default)(m,"policy","volume_extension:volume_admin_actions:migrate_volume"),(0,s.default)(m,"allowed",(e=>o.default.resolve((0,f.isAvailableOrInUse)(e))));var g=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=g},3635:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.CreateImage=void 0;var l=i(r(54)),o=i(r(32)),s=i(r(63)),u=i(r(35)),d=r(412),c=r(1241),f=r(574),p=i(r(414)),h=r(566);class m extends c.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.uploadImage(t,e)}))}get name(){return t("Create Image")}get defaultValue(){return{disk_format:"raw"}}get osList(){var e;return(0,l.default)(e=(0,o.default)(f.imageOS)).call(e,(e=>({value:e,label:f.imageOS[e]})))}get formatList(){var e;return(0,l.default)(e=(0,o.default)(f.volumeCreateImageTypes)).call(e,(e=>({label:f.volumeCreateImageTypes[e],value:e})))}get formItems(){return[{name:"image_name",label:t("Image Name"),type:"input-name",placeholder:t("Please input name"),isImage:!0,required:!0},{name:"disk_format",label:t("Format"),type:"select",options:this.formatList,required:!0}]}init(){this.store=p.default}}a.CreateImage=m,(0,u.default)(m,"id","create-image"),(0,u.default)(m,"title",t("Create Image")),(0,u.default)(m,"policy","volume_extension:volume_actions:upload_image"),(0,u.default)(m,"allowed",(e=>s.default.resolve((0,h.isAvailable)(e))));var g=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=g},3636:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.AcceptVolumeTransfer=void 0;var l=i(r(63)),o=i(r(35)),s=r(412),u=r(1241),d=i(r(414));class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{transfer_id:t,auth_key:a}=e;return d.default.acceptVolumeTransfer(t,{auth_key:a})}))}get name(){return t("Accept Volume Transfer")}get defaultValue(){return{}}get messageHasItemName(){return!1}get formItems(){return[{name:"transfer_id",label:t("Transfer ID"),type:"input",placeholder:t("Please input transfer id"),required:!0},{name:"auth_key",label:t("Auth Key"),type:"input",placeholder:t("Please input auth key"),required:!0}]}}a.AcceptVolumeTransfer=c,(0,o.default)(c,"id","accept-volume-transfer"),(0,o.default)(c,"title",t("Accept Volume Transfer")),(0,o.default)(c,"policy",(()=>"volume:accept_transfer")),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3637:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.CreateTransfer=void 0;var l=i(r(77)),o=i(r(63)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414)),f=r(566);class p extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"downloadTxt",((e,t)=>{var a=document.createElement("a");a.href="data:text/plain;charset=utf-8,".concat(t),a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a)})),(0,s.default)(this,"onSubmit",(e=>{var{name:t}=e,{id:a}=this.item;return this.store.createTransfer({name:t,volume_id:a}).then((e=>{if(e&&e.transfer){var t,a,{id:r,name:n,auth_key:i}=e.transfer;this.downloadTxt("Volume Transfer ".concat(r,".txt"),(0,l.default)(t=(0,l.default)(a="Transfer Name: ".concat(n,"\nTransfer ID: ")).call(a,r,"\nAuth Key: ")).call(t,i))}}))}))}get name(){return t("Create Transfer")}get defaultValue(){return{name:""}}get tips(){return t("Ownership of a volume can be transferred from one project to another. The transfer process of the volume needs to perform the transfer operation in the original owner's project, and complete the \"accept\" operation in the receiver's project.")}get formItems(){return[{name:"name",label:t("Transfer Name"),type:"input-name",required:!0,placeholder:t("Please input name")}]}init(){this.store=c.default}}a.CreateTransfer=p,(0,s.default)(p,"id","create-transfer"),(0,s.default)(p,"title",t("Create Transfer")),(0,s.default)(p,"policy","volume:create_transfer"),(0,s.default)(p,"allowed",(e=>o.default.resolve((0,f.isAvailable)(e)&&!e.encrypted)));var h=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=h},3638:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(63)),o=i(r(35)),s=r(1241),u=i(r(414));class d extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","volume:delete_transfer"),(0,o.default)(this,"allowedCheckFunc",(e=>l.default.resolve("awaiting-transfer"===e.status))),(0,o.default)(this,"confirmContext",(e=>{var{name:a}=e;return t("Are you sure to cancel transfer volume { name }? ",{name:a})})),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=e;return u.default.cancelTransfer({id:t})}))}get id(){return"cancel-transfer"}get title(){return t("Cancel Transfer")}get name(){return t("Cancel Transfer")}get buttonText(){return t("Cancel Transfer")}get actionName(){return t("Cancel Transfer")}}a.default=d},3639:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var l=i(r(63)),o=i(r(35)),s=r(412),u=i(r(1304)),d=r(566);class c extends u.default{static path(e){return"/compute/instance/create?volume=".concat(e.id)}static allowed(e){return l.default.resolve((0,d.canCreateInstance)(e))}}a.StepCreate=c,(0,o.default)(c,"id","instance-create"),(0,o.default)(c,"title",t("Create Instance")),(0,o.default)(c,"policy","os_compute_api:servers:create:attach_volume");var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3640:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Bootable=void 0;var l=i(r(63)),o=i(r(1252)),s=i(r(35)),u=r(412),d=r(1241),c=i(r(414));class f extends d.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{bootable:t}=e,{id:a}=this.item;return c.default.changeBootable(a,{bootable:t})}))}static allowed(){return l.default.resolve(!0)}get name(){var{bootable:e}=(0,o.default)(this);return e?t("Bootable"):t("Unbootable")}get defaultValue(){var{item:e}=this.props;return{bootable:"true"===e.bootable}}get formItems(){return[{name:"bootable",label:t("Bootable"),checkedText:t("Bootable"),uncheckedText:t("Unbootable"),type:"switch",required:!0}]}}a.Bootable=f,(0,s.default)(f,"id","volume-bootable"),(0,s.default)(f,"title",t("Bootable")),(0,s.default)(f,"buttonText",t("Bootable")),(0,s.default)(f,"policy","volume:update");var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3641:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Allocate=void 0;var p=f(r(54)),h=f(r(63)),m=f(r(58)),g=f(r(49)),v=f(r(35)),y=f(r(0)),b=r(412),_=r(1241),S=r(346),x=r(233),w=f(r(340)),I=f(r(417)),C=r(576),k=r(1357),D=r(66),P=r(1265),T=r(163),A=r(36);function M(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t({allocation_pools:e.allocation_pools,ip_version:e.ip_version,value:e.id,label:e.name}))),selectedNetwork:t}),e.formRef.current.setFieldsValue({subnet_id:null})}));return function(e){return t.apply(this,arguments)}}()),(0,v.default)(this,"handleSubnetChange",(e=>{this.setState({selectedSubnet:e})})),(0,v.default)(this,"onSubmit",(e=>{var{subnet_id:t,batch_allocate:a,count:r,qos_policy_id:n,project_id:i}=e,l=(0,m.default)(e,["subnet_id","batch_allocate","count","qos_policy_id","project_id"]);if(t&&(l.subnet_id=t.value),n&&n.selectedRowKeys.length>0&&(l.qos_policy_id=n.selectedRowKeys[0]),a){l.floating_ip_address=null;for(var o=[],s=0;s{this.setState({count:e})})),(0,v.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))}))}get name(){return t("Allocate IP")}static get modalSize(){var{pathname:e}=window.location;return(0,D.qosEndpoint)()||(0,T.isAdminPage)(e)?"large":"small"}getModalSize(){return(0,D.qosEndpoint)()||this.isAdminPage?"large":"small"}get qosEndpoint(){return(0,D.qosEndpoint)()}init(){this.store=new S.FloatingIpStore,this.networkStore=new x.NetworkStore,this.qosPolicyStore=new C.QoSPolicyStore,this.projectStore=w.default,this.state=N(N({},this.state||{}),{},{selectedNetwork:null,selectedSubnet:null,networks:[],subnets:[],qosPolicy:null,count:2,quota:{},quotaLoading:!0,projectId:this.currentProjectId,maxCount:2}),this.getExternalNetworks(),this.isAdminPage&&this.fetchProjectList(),this.getQuota()}fetchProjectList(){var e=this;return(0,g.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}getExternalNetworks(){var e=this;return(0,g.default)((function*(){var t=yield e.networkStore.pureFetchList({"router:external":!0});e.setState({networks:t})}))()}get messageHasItemName(){return!1}get projects(){return(0,A.toJS)(this.projectStore.list.data)||[]}static get disableSubmit(){var{neutronQuota:{floatingip:{left:e=0}={}}}=w.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,g.default)((function*(){var{projectId:t,count:a}=e.state;e.setState({quotaLoading:!0});var r=yield e.projectStore.fetchProjectNeutronQuota(t),{floatingip:n={}}=r||{},{left:i=0}=n;e.setState({quota:n,quotaLoading:!1,maxCount:i});var l=a;i0&&0===a&&(l=1),l!==a&&(e.updateFormValue("count",l),e.setState({count:l}))}))()}get quotaInfo(){var{quota:e={},quotaLoading:a,batchAllocate:r=!1,count:n}=this.state;if(a)return[];var{left:i=0}=e,l=0;return 0!==i&&(l=r?n:1),[N(N({},e),{},{add:l,name:"floatingip",title:t("Floating IP")})]}get defaultValue(){var e={count:2};return this.isAdminPage&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}get formItems(){var e,{networks:a,selectedNetwork:r,subnets:n,selectedSubnet:i,batchAllocate:l=!1,maxCount:o}=this.state,s=(0,p.default)(a).call(a,(e=>({label:e.name,value:e.id})));return[{name:"floating_network_id",label:t("Network"),type:"select",options:s,onChange:this.handleNetworkChange,required:!0},N({name:"project_id",label:t("Project"),type:"select-table",hidden:!this.isAdminPage,required:this.isAdminPage,isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},P.projectTableOptions),{name:"subnet_id",label:t("Owned Subnet"),type:"select",options:n,isWrappedValue:!0,onChange:e=>this.handleSubnetChange(e),extra:i&&y.default.createElement(y.default.Fragment,null,y.default.createElement("span",null,t("Allocation Pools")),(0,p.default)(e=i.allocation_pools).call(e,((e,t)=>y.default.createElement("div",{key:"pool.start.".concat(t)},e.start,"--",e.end)))),hidden:!r,required:!1},{name:"batch_allocate",label:t("Batch Allocate"),type:"check",onChange:e=>{this.setState({batchAllocate:e})}},{name:"count",label:t("Count"),type:"input-int",min:1,max:o,hidden:!l,required:!0,onChange:this.onCountChange},{name:"floating_ip_address",label:t("Floating IP Address"),hidden:!i||l,type:"ip-input",version:i&&(i.ip_version||4)},{name:"description",label:t("Description"),type:"textarea"},{name:"qos_policy_id",label:t("QoS Policy"),type:"tab-select-table",tabs:k.getQoSPolicyTabs.call(this),isMulti:!1,tip:t("Choosing a QoS policy can limit bandwidth and DSCP"),onChange:this.onQosChange,display:!!this.qosEndpoint}]}}a.Allocate=E,(0,v.default)(E,"id","allocate"),(0,v.default)(E,"title",t("Allocate IP")),(0,v.default)(E,"policy","create_floatingip"),(0,v.default)(E,"allowed",(()=>h.default.resolve(!0)));var R=(0,b.inject)("rootStore")((0,b.observer)(E));a.default=R},3642:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Associate=void 0;var h=p(r(63)),m=p(r(1252)),g=p(r(54)),v=p(r(49)),y=p(r(35)),b=p(r(1314)),_=p(r(570)),S=p(r(0)),x=r(412),w=r(1241),I=R(r(413)),C=R(r(575)),k=p(r(597)),D=r(1267),P=p(r(346)),T=r(582),A=r(1248),M=r(1258),N=r(1273);function E(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(E=function(e){return e?a:t})(e)}function R(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=E(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}return r.default=e,a&&a.set(e,r),r}function j(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function F(e){for(var t=1;t{var{floating_network_id:t}=this.item;return!(e.hasExternalGateway&&e.external_gateway_info&&e.external_gateway_info.network_id===t&&0===e.external_gateway_info.external_fixed_ips.length)})),(0,y.default)(this,"portsDisableFunc",(e=>0===e.fixed_ips.length)),(0,y.default)(this,"onValuesChange",(e=>{if((0,_.default)(e,"resourceType")){var{resourceType:t}=e;this.setState({resourceType:t})}})),(0,y.default)(this,"handleInstanceSelect",function(){var t=(0,v.default)((function*(t){if(e.setState({instanceLoading:!0}),0===t.selectedRows.length)return e.setState({instanceFixedIPs:l,instanceLoading:!1}),h.default.resolve().then((()=>{e.formRef.current.setFieldsValue({port:null})}));var{id:a}=t.selectedRows[0],r=yield I.default.fetchInterfaceList({id:a}),n=yield(0,N.getInterfaceWithReason)(r),{canReachSubnetIdsWithRouterId:i}=e.state,l=(0,M.getPortsAndReasons)(n,i,!0);return e.setState({instanceFixedIPs:l,instanceLoading:!1}),h.default.resolve().then((()=>{e.formRef.current.setFieldsValue({port:null})}))}));return function(e){return t.apply(this,arguments)}}()),(0,y.default)(this,"handlePortSelect",function(){var t=(0,v.default)((function*(t){e.setState({fixedIpLoading:!0});var{canReachSubnetIdsWithRouterId:a}=e.state,r=yield(0,N.getInterfaceWithReason)(t.selectedRows),n=(0,M.getPortsAndReasons)(r,a,!0);return e.setState({portFixedIPs:n,fixedIpLoading:!1}),h.default.resolve().then((()=>{e.formRef.current.setFieldsValue({fixed_ip_address:null})}))}));return function(e){return t.apply(this,arguments)}}()),(0,y.default)(this,"onSubmit",(e=>{var{resourceType:t}=e,{id:a}=this.item,r={};if(r.id=a,"instance"===t){var{port:{selectedRows:n=[]}={}}=e;r.port_id=n[0].port_id,r.fixed_ip_address=n[0].fixed_ip_address}else if("port"===t){var{virtual_adapter:{selectedRows:i=[]}={},fixed_ip_address:{selectedRows:l=[]}={}}=e;r.port_id=i[0].id,r.fixed_ip_address=l[0].fixed_ip_address}else if("router"===t){var{router:o}=e,s=o.selectedRows[0];return C.default.associateFip({id:s.id,fip:this.item,router:s})}return P.default.associateFip(r)}))}get name(){return t("Associate Floating IP")}init(){this.store=new I.ServerStore,this.routersStore=new C.RouterStore,this.portStore=new T.PortStore,D.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:t}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id})),this.state={instanceFixedIPs:[],portFixedIPs:[],canReachSubnetIdsWithRouterId:[],routerIdWithExternalNetworkInfo:[]},this.getPorts()}get instanceName(){return this.item.floating_ip_address||(0,m.default)(this).name}static get modalSize(){return"large"}getModalSize(){return"large"}get instances(){return this.store.list.data||[]}get resourceTypeMap(){return[{value:"instance",label:t("Instance")},{value:"port",label:t("Virtual Adapter")}]}get defaultValue(){var{floating_ip_address:e}=this.item;return{floatingIp:e,resourceType:"instance"}}get portDeviceOwner(){return[""]}getPorts(){M.getPortsForPortFormItem.call(this,this.portDeviceOwner)}get formItems(){var{resourceType:e="instance",instanceFixedIPs:a,instanceLoading:r}=this.state,n=[{name:"floatingIp",label:t("Floating Ip"),type:"label",iconType:"floatingIp"},{name:"resourceType",label:t("Resource Type"),type:"radio",required:!0,options:this.resourceTypeMap}];switch(e){case"instance":n.push(F({name:"instance",label:t("Instance"),type:"select-table",required:!0,backendPageStore:this.store,extraParams:{noReminder:!0},disabledFunc:e=>0===e.fixed_addresses.length,onChange:this.handleInstanceSelect,isMulti:!1},A.instanceSelectTablePropsBackend),{name:"port",label:t("Instance IP"),type:"select-table",required:!0,data:a,isLoading:r,isMulti:!1,filterParams:[{label:t("Ip Address"),name:"name"}],columns:[{title:t("Ip Address"),dataIndex:"name"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Network"),dataIndex:"network_name"},{title:t("Reason"),dataIndex:"reason"}],disabledFunc:e=>!e.available});break;case"lb":n.push({name:"loadbalance",label:t("Load Balancer"),type:"select-table",required:!0,data:[],isMulti:!1,filterParams:[{label:t("Name"),name:"name"},{label:t("IP"),name:"private_ip"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Image"),dataIndex:"image",render:e=>S.default.createElement(k.default,{type:e,title:e})},{title:t("Fixed IP"),dataIndex:"fixed_addresses",render:e=>(0,g.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null))))},{title:t("Floating IP"),dataIndex:"floating_addresses",render:e=>e?(0,g.default)(e).call(e,(e=>S.default.createElement("span",{key:e},e,S.default.createElement("br",null)))):"-"},{title:t("Flavor"),dataIndex:"flavor"},{title:t("Created At"),dataIndex:"created",valueRender:"sinceTime"}]});break;case"router":n.push(F({name:"router",label:t("Router"),type:"select-table",required:!0,backendPageStore:this.routersStore,disabledFunc:this.routersDisableFunc,isMulti:!1},(0,D.getRouterSelectTablePropsBackend)(this)));break;case"port":n.push(...M.getPortFormItem.call(this,!1))}return n}}a.Associate=L,(0,y.default)(L,"id","associate"),(0,y.default)(L,"title",t("Associate")),(0,y.default)(L,"policy","update_floatingip"),(0,y.default)(L,"allowed",(e=>h.default.resolve(!(0,N.disableFIPAssociate)(e)&&(0,b.default)(e.fixed_ip_address)&&"DOWN"===e.status&&(0,b.default)(e.port_details))));var O=(0,x.inject)("rootStore")((0,x.observer)(L));a.default=O},3643:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(63)),o=i(r(28)),s=i(r(29)),u=i(r(58));r(583);var d=i(r(420)),c=i(r(35)),f=i(r(1314)),p=i(r(92)),h=i(r(0)),m=r(1241),g=i(r(346));r(161);class v extends m.ConfirmAction{constructor(){super(...arguments),(0,c.default)(this,"policy","delete_floatingip"),(0,c.default)(this,"getItemName",(e=>e.floating_ip_address)),(0,c.default)(this,"confirmContext",(e=>{var a=null;if(this.needForceRelease(e)&&(a=h.default.createElement("div",null,h.default.createElement(d.default,{style:{marginTop:"14px"},onChange:t=>{this.onChangeType(t.target.checked,e)}},t("Force release")))),!this.messageHasItemName)return h.default.createElement("div",null,h.default.createElement("p",null," ",t("Are you sure to {action}?",{action:this.actionNameDisplay||this.title})),a);var r=this.getName(e);return h.default.createElement("div",null,h.default.createElement("p",null," ",this.unescape(t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:r}))),a)})),(0,c.default)(this,"onSubmit",(e=>{var{forceRelease:a}=e,r=(0,u.default)(e,["forceRelease"]);if(this.hasCheckBox&&!a){var n=t("Floating ip has already been associate, Please check Force release");return l.default.reject(n)}return g.default.delete(r)}))}get id(){return"delete"}get title(){return t("Release")}get isDanger(){return!0}get buttonText(){return t("Release")}get actionName(){return t("Release")}onChangeType(e,t){(0,p.default)(t)?(0,o.default)(t).call(t,(t=>{t.forceRelease=e})):t.forceRelease=e}needForceRelease(e){var t=!1;(0,p.default)(e)?((0,o.default)(e).call(e,(e=>{e.forceRelease=!1})),(0,s.default)(e).call(e,(e=>!((0,f.default)(e.fixed_ip_address)&&"DOWN"===e.status&&(0,f.default)(e.port_details))))[0]&&(t=!0)):(e.forceRelease=!1,t=!((0,f.default)(e.fixed_ip_address)&&"DOWN"===e.status&&(0,f.default)(e.port_details)));return this.hasCheckBox=t,t}}a.default=v},3644:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(35)),o=i(r(1314)),s=r(1241),u=i(r(346));class d extends s.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_floatingip"),(0,l.default)(this,"allowedCheckFunc",(e=>!(0,o.default)(e.fixed_ip_address)&&"DOWN"!==e.status)),(0,l.default)(this,"getItemName",(e=>e.floating_ip_address)),(0,l.default)(this,"onSubmit",(e=>u.default.disassociateFip(e)))}get id(){return"disassociate"}get title(){return t("Disassociate")}get buttonText(){return t("Disassociate")}get actionName(){return t("Disassociate")}}a.default=d},3645:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),h=f(r(35)),m=r(412),g=r(1241),v=f(r(346)),y=r(1357),b=r(576),_=r(66);function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class x extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{description:t,qos_policy_id:a}=e,r={description:t};return this.qosEndpoint&&(r.qos_policy_id=a&&a.selectedRowKeys.length?a.selectedRowKeys[0]:null),v.default.edit({id:this.item.id},r)}))}static get modalSize(){return(0,_.qosEndpoint)()?"large":"small"}getModalSize(){return(0,_.qosEndpoint)()?"large":"small"}get qosEndpoint(){return(0,_.qosEndpoint)()}init(){this.qosPolicyStore=new b.QoSPolicyStore}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;tp.default.resolve(!0)));var w=(0,m.inject)("rootStore")((0,m.observer)(x));a.default=w},3646:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var p=f(r(54)),h=f(r(63));r(231);var m=f(r(341)),g=f(r(1378)),v=f(r(58)),y=f(r(49)),b=f(r(35)),_=f(r(0)),S=r(412),x=r(1241),w=(r(564),r(161),r(233)),I=r(419),C=r(576),k=f(r(572)),D=f(r(340)),P=r(417),T=r(1357),A=r(66);function M(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t{var t=e.selectedRowKeys[0];this.setState({network_id:t}),this.formRef.current.setFieldsValue({fixed_ips:void 0}),this.getSubnets(t)})),(0,b.default)(this,"onSubmit",(e=>{var{mac_address:{type:t,mac:a},security_groups:r,enableQosPolicy:n,qos_policy_id:i,more:l,network_id:o,fixed_ips:s,bindingProfile:u}=e,d=(0,v.default)(e,["mac_address","security_groups","enableQosPolicy","qos_policy_id","more","network_id","fixed_ips","bindingProfile"]),c=N(N({},s&&s.length>0?{fixed_ips:(0,p.default)(s).call(s,(e=>{var t={subnet_id:e.subnet};return e.ip_address&&"manual"===e.ip_address.type&&(t.ip_address=e.ip_address.ip),t}))}:{}),{},{network_id:o.selectedRowKeys[0]},d);return t&&"auto"!==t&&(c.mac_address=a),n&&i&&(c.qos_policy_id=0===i.selectedRowKeys.length?null:i.selectedRowKeys[0]),r&&(c.security_groups=r.selectedRowKeys||void 0),c.project_id=this.currentProjectId,u&&(c["binding:profile"]=JSON.parse(u)),k.default.create(c)}))}get qosEndpoint(){return(0,A.qosEndpoint)()}init(){this.state.quota={},this.state.quotaLoading=!0,this.projectStore=D.default,this.networkStore=new w.NetworkStore,this.securityGroupStore=new I.SecurityGroupStore,this.qosPolicyStore=new C.QoSPolicyStore,this.subnetStore=new P.SubnetStore,this.getQuota()}getSubnets(e){var t=this;return(0,y.default)((function*(){yield t.networkStore.fetchDetail({id:e}),yield t.fetchSubnetDetails(e)}))()}get name(){return t("Create Virtual Adapter")}static get modalSize(){return"large"}getModalSize(){return"large"}get tips(){return t("Virtual adapter mainly used for binding instance and other operations, occupying the quota of the port.")}static get disableSubmit(){var{neutronQuota:{port:{used:e=0,limit:t=0}={}}}=D.default;return-1!==t&&e>=t}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,y.default)((function*(){e.setState({quotaLoading:!0});var t=yield e.projectStore.fetchProjectNeutronQuota(),{port:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{used:r=0,limit:n=0}=e,i=-1!==n&&r>=n?0:1;return[N(N({},e),{},{add:i,name:"port",title:t("Ports")})]}get defaultValue(){return{more:!1,mac_address:{type:"auto"},qos_policy:"disable",port_security_enabled:!0,enableQosPolicy:!1}}get securityGroups(){var e;return(0,p.default)(e=this.securityGroupStore.list.data||[]).call(e,(e=>N(N({},e),{},{key:e.id})))}get formItems(){var e,{more:a,network_id:r,subnetDetails:n=[],port_security_enabled:i=!0,enableQosPolicy:l=!1}=this.state,o=(0,p.default)(e="normal,macvtap,direct,baremetal,direct-physical,virtio-forwarder,smart-nic".split(",")).call(e,(e=>({label:e,value:e})));return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"network_id",label:t("Owned Network"),type:"network-select-table",onChange:this.handleOwnedNetworkChange,required:!0},{name:"fixed_ips",label:t("Owned Subnet"),type:"ip-distributor",subnets:n,hidden:!r},{name:"ipv6",label:"IPv6",type:"label",style:{marginBottom:24},content:_.default.createElement("span",null,t("The selected VPC/subnet does not have IPv6 enabled.")," ",_.default.createElement(m.default,{type:"link"},t("To open")," ",_.default.createElement(g.default,null))," "),hidden:!0},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},required:!0,type:"mac-address"},{name:"port_security_enabled",label:t("Port Security"),type:"switch",tip:t("Disabling port security will turn off the security group policy protection and anti-spoofing protection on the port. General applicable scenarios: NFV or operation and maintenance Debug."),onChange:e=>{this.setState({port_security_enabled:e})}},{name:"security_groups",label:t("Security Group"),type:"select-table",tips:t("The security group is similar to the firewall function for setting up network access control, or you can go to the console and create a new security group. (Note: The security group you selected will work on all virtual LANs on the instances.)"),data:this.securityGroups,isLoading:this.securityGroupStore.list.isLoading,extraParams:{project_id:this.currentProjectId},backendPageStore:this.securityGroupStore,isMulti:!0,hidden:!i,required:i,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"}]},{name:"binding:vnic_type",label:t("Port Type"),type:"select",options:o,hidden:!a},{name:"enableQosPolicy",label:t("Enable QoS Policy"),type:"switch",onChange:e=>{this.setState({enableQosPolicy:e})},hidden:!a,display:!!this.qosEndpoint},{name:"qos_policy_id",label:t("QoS Policy"),type:"tab-select-table",tabs:T.getQoSPolicyTabs.call(this),isMulti:!1,required:l,tip:t("Choosing a QoS policy can limit bandwidth and DSCP"),hidden:!(a&&l),display:!!this.qosEndpoint},{name:"bindingProfile",label:t("Binding Profile"),type:"aceEditor",hidden:!a,mode:"json",wrapEnabled:!0,tabSize:2,width:"100%",height:"200px",setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0},validator:(e,a)=>{if(void 0!==a&&""!==a)try{return JSON.parse(a),h.default.resolve(!0)}catch(e){return h.default.reject(new Error(t("Illegal JSON scheme")))}return h.default.resolve(!0)}},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.CreateAction=E,(0,b.default)(E,"id","create-virtual-adapter"),(0,b.default)(E,"title",t("Create Virtual Adapter")),(0,b.default)(E,"policy","create_port"),(0,b.default)(E,"allowed",(()=>h.default.resolve(!0)));var R=(0,S.inject)("rootStore")((0,S.observer)(E));a.default=R},3647:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(35)),o=r(1241),s=i(r(572));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_port"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Virtual Adapter")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete virtual adapter")}isOwnerOrAdmin(){return!0}}a.default=u},3648:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p,h=f(r(58)),m=f(r(35)),g=f(r(54)),v=f(r(63)),y=r(412),b=r(1241),_=f(r(572));function S(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function x(e){for(var t=1;t({label:e,value:e})));class I extends b.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"onSubmit",(e=>{var{item:{id:t}={}}=this.props,{mac_address:{type:a,mac:r},more:n}=e,i=x({},(0,h.default)(e,["mac_address","more"]));return a&&"auto"!==a&&(i.mac_address=r),_.default.update({id:t},i)}))}get defaultValue(){var{item:e}=this.props;return x(x({},e),{},{mac_address:{type:"manual",mac:e.mac_address},"binding:vnic_type":e.binding_vnic_type})}get formItems(){var{more:e}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},type:"mac-address",required:!0},{name:"binding:vnic_type",label:t("Port Type"),type:"select",required:!0,options:w,hidden:!e},{name:"description",label:t("Description"),type:"textarea"},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.Edit=I,(0,m.default)(I,"id","edit-virtual-adapter"),(0,m.default)(I,"title",t("Edit")),(0,m.default)(I,"buttonText",t("Edit")),(0,m.default)(I,"policy","update_port"),(0,m.default)(I,"allowed",(()=>v.default.resolve(!0)));var C=(0,y.inject)("rootStore")((0,y.observer)(I));a.default=C},3649:function(e,a,r){"use strict";var n=r(32),i=r(42),l=r(29),o=r(25),s=r(28),u=r(44),d=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Attach=void 0;var h=p(r(164)),m=p(r(63)),g=p(r(35)),v=r(412),y=r(1241),b=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=S(t);if(a&&a.has(e))return a.get(e);var r={},n=c&&o;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=n?o(e,i):null;l&&(l.get||l.set)?c(r,i,l):r[i]=e[i]}r.default=e,a&&a.set(e,r);return r}(r(413)),_=r(1248);function S(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(S=function(e){return e?a:t})(e)}function x(e,t){var a=n(e);if(i){var r=i(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{id:t}=this.props.item,{instance:{selectedRowKeys:a=[]}={}}=e;return b.default.addInterface({id:a[0],body:{interfaceAttachment:{port_id:t}}})}))}init(){this.store=new b.ServerStore}get name(){return t("Attach Instance")}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){var{name:e,id:t}=this.item;return{virtual_adapter:e,virtual_adapter_id:t}}get formItems(){return[{name:"virtual_adapter",label:t("Virtual Adapter"),type:"label"},{name:"virtual_adapter_id",label:t("Virtual Adapter ID"),type:"label",hidden:!0},w({name:"instance",label:t("Instance"),type:"select-table",backendPageStore:this.store,extraParams:{noReminder:!0},disabledFunc:e=>e.locked||!(0,h.default)(_.allowAttachInterfaceStatus).call(_.allowAttachInterfaceStatus,e.vm_state),required:!0,isMulti:!1},_.instanceSelectTablePropsBackend)]}}a.Attach=I,(0,g.default)(I,"id","attach_instance"),(0,g.default)(I,"title",t("Attach Instance")),(0,g.default)(I,"policy","os_compute_api:os-attach-interfaces:create"),(0,g.default)(I,"allowed",(e=>m.default.resolve(""===e.device_id)));var C=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=C},3650:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(49)),o=i(r(35)),s=r(1241),u=i(r(413));class d extends s.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,o.default)(this,"policy","os_compute_api:os-attach-interfaces:delete"),(0,o.default)(this,"allowedCheckFunc",(e=>!!e.device_id&&"compute:nova"===e.device_owner)),(0,o.default)(this,"onSubmit",(0,l.default)((function*(){var{id:t,device_id:a}=e.item;return u.default.detachInterface({id:a,ports:[t]})})))}get id(){return"detach_instance"}get title(){return t("Detach Instance")}get buttonText(){return t("Detach")}get actionName(){return t("detach instance")}get isAsyncAction(){return!0}}a.default=d},3651:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.ModifyQoS=void 0;var l=i(r(63)),o=i(r(49)),s=i(r(35)),u=i(r(0)),d=r(412),c=r(1241),f=r(576),p=i(r(572)),h=r(1357),m=r(66);class g extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{enableQosPolicy:a,qos_policy_id:r}=e,n={qos_policy_id:null};return a&&r&&(n.qos_policy_id=0===r.selectedRowKeys.length?null:r.selectedRowKeys[0]),p.default.update({id:t},n)}))}get name(){return t("Modify QoS")}get labelCol(){return{xs:{span:6},sm:{span:4}}}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.qosPolicyStore=new f.QoSPolicyStore,this.state={qosPolicy:{name:"",id:""}},this.item.qos_policy_id&&this.getQosPolicyItem()}getQosPolicyItem(){var e=this;return(0,o.default)((function*(){var t=yield e.qosPolicyStore.fetchDetail({id:e.item.qos_policy_id});e.setState({qosPolicy:t})}))()}get instanceName(){return this.item.name||this.item.id}get defaultValue(){var e=null!==this.item.qos_policy_id;return{enableQosPolicy:e,qos_policy_id:{selectedRowKeys:e?[this.item.qos_policy_id]:[],selectedRows:e?[{id:this.item.qos_policy_id,name:this.item.qos_policy_id}]:[]}}}get formItems(){var{enableQosPolicy:e=null!==this.item.qos_policy_id,qosPolicy:a}=this.state;return[{name:"enableQosPolicy",label:t("Enable QoS Policy"),type:"switch",onChange:e=>{this.setState({enableQosPolicy:e})}},{name:"name",label:t("Current QoS policy name"),type:"label",content:u.default.createElement("div",null,a.name||t("Not yet bound")),hidden:!e},{name:"qos_policy_id",label:t("QoS Policy"),type:"tab-select-table",tabs:h.getQoSPolicyTabs.call(this,{disabledFunc:e=>e.id===this.item.qos_policy_id}),isMulti:!1,required:!0,tip:t("Choosing a QoS policy can limit bandwidth and DSCP"),hidden:!e}]}}a.ModifyQoS=g,(0,s.default)(g,"id","modify_qos"),(0,s.default)(g,"title",t("Modify QoS")),(0,s.default)(g,"policy","update_port"),(0,s.default)(g,"allowed",(()=>l.default.resolve(!!(0,m.qosEndpoint)())));var v=(0,d.inject)("rootStore")((0,d.observer)(g));a.default=v},3652:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.AssociateFip=void 0;var l=i(r(63)),o=i(r(49)),s=i(r(35)),u=r(412),d=i(r(346)),c=r(1241),f=r(1248),p=r(1258),h=r(1267),m=r(1273);class g extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleFixedIPChange",(e=>m.handleFixedIPChange.call(this,e))),(0,s.default)(this,"onSubmit",(e=>{var{fixed_ip:t,fip:a}=e,r=t.selectedRows[0],n=a.selectedRowKeys[0];return d.default.associateFip({id:n,port_id:this.item.id,fixed_ip_address:r.fixed_ip_address})}))}init(){this.getInterfaces(),h.getCanReachSubnetIdsWithRouterIdInComponent.call(this),this.state={interfaces:[],fixed_ip:null,canAssociateFloatingIPs:[],canReachSubnetIdsWithRouterId:[],portLoading:!0}}getInterfaces(){var e=this;return(0,o.default)((function*(){var t=[e.item],a=yield(0,m.getInterfaceWithReason)(t);e.setState({interfaces:a,portLoading:!1})}))()}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Associate Floating IP")}get ports(){var{interfaces:e,canReachSubnetIdsWithRouterId:t}=this.state;return p.getPortsAndReasons.call(this,e,t)}get defaultValue(){var{name:e}=this.item;return{virtualAdapter:e}}getFIPFormItemExtra(){return(0,m.getFIPFormItemExtra)()}disableFIPAssociate(e){return(0,m.disableFIPAssociate)(e)}get formItems(){var e=(0,m.getFixedIPFormItemForAssociate)(t("Fixed IP"),this),a=(0,m.getFIPFormItemForAssociate)(this);return[{name:"virtualAdapter",label:t("Virtual Adapter"),type:"label",iconType:"instance"},e,a]}}a.AssociateFip=g,(0,s.default)(g,"id","AssociateFip"),(0,s.default)(g,"title",t("Associate Floating IP")),(0,s.default)(g,"policy","update_floatingip"),(0,s.default)(g,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&(0,f.isNotError)(e)&&e.associatedDetail&&e.associatedDetail.length{var{floating_ip:t}=e,{id:a}=t.selectedRows[0];return u.default.disassociateFip({id:a})}))}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Disassociate Floating IP")}get defaultValue(){var{name:e}=this.item;return{virtualAdapter:e}}get formItems(){var{associatedDetail:e}=this.item;return[{name:"virtualAdapter",label:t("Virtual Adapter"),type:"label",iconType:"instance"},{name:"floating_ip",label:t("Floating IP"),type:"select-table",required:!0,data:e,isMulti:!1,tagKey:"floating_ip_address",filterParams:[{label:t("Fixed IP Address"),name:"fixed_ip_address"}],columns:[{title:t("Fixed IP Address"),dataIndex:"fixed_ip_address"},{title:t("Floating IP Address"),dataIndex:"floating_ip_address"}]}]}}a.DisAssociateFip=f,(0,o.default)(f,"id","DisAssociateFip"),(0,o.default)(f,"title",t("Disassociate Floating IP")),(0,o.default)(f,"policy","update_floatingip"),(0,o.default)(f,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&(0,c.isNotError)(e)&&e.associatedDetail&&e.associatedDetail.length)}));var p=(0,s.inject)("rootStore")((0,s.observer)(f));a.default=p},3658:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var i=n(a(91)),l=n(a(54)),o=n(a(29));a(589);var s=n(a(590)),u=n(a(606));a(1317);var d=n(a(1318));a(1246);var c=n(a(1247));a(1244);var f=n(a(1245));a(344);var p=n(a(202));a(594);var h=n(a(595)),m=n(a(351)),g=n(a(119)),v=n(a(570)),y=n(a(0)),b=(a(161),a(564),n(a(16))),_=n(a(4)),S=a(163),x=a(418),w=n(a(650)),I=n(a(3659)),{Paragraph:C}=h.default,k=(e,t)=>{var{content:a,dataIndex:r,render:n,valueRender:l,copyable:o,valueMap:s,unit:u}=t;if((0,v.default)(t,"content"))return o?y.default.createElement(C,{copyable:o},a):a;var d=(0,g.default)(e,r);if(n)d=n(d,e);else if(l){var c=S.renderFilterMap[l];d=c&&c(d)}else s?d=(0,x.getValueMapRender)(t)(d):u&&(d=(0,x.getUnitRender)(t)(d));return(0,m.default)(d)||(d=d||"-"),((e,t,a,r)=>{var n,l,o=(0,g.default)(a,t);return(0,i.default)(n=t.toLowerCase()).call(n,"status")>=0||(0,i.default)(l=t.toLowerCase()).call(l,"state")>=0?y.default.createElement(w.default,{status:o,text:e}):"-"!==e&&(/_?id/g.test(t.toLowerCase())&&!1!==r||r)?y.default.createElement(C,{copyable:r},e):e||"-"})(d,r,e,o)},D=(e,t,a,r,n)=>{var i;return(0,l.default)(i=(0,o.default)(e).call(e,(e=>!e.hidden))).call(i,((e,i)=>{var l=(0,v.default)(e,"labelCol")?e.labelCol:r,o=(0,v.default)(e,"contentCol")?e.contentCol:n;return y.default.createElement(d.default,{loading:a,key:"detail-row-".concat(i)},y.default.createElement(c.default,{className:(0,_.default)(I.default["card-item"],"sl-card-item")},y.default.createElement(f.default,{span:l},(e=>{var{label:t,tooltip:a=""}=e;return a?y.default.createElement(p.default,{title:a},y.default.createElement("span",null,t)):t})(e)),y.default.createElement(f.default,{span:o},k(t,e))))}))},P=e=>{var t,{title:a,titleHelp:r,loading:n,options:i,data:l,labelCol:o,contentCol:f,className:p,button:h}=e;return r&&(t=y.default.createElement(s.default,{arrowPointAtCenter:"true",placement:"rightTop",content:r,getPopupContainer:e=>e.parentNode},y.default.createElement(u.default,{className:I.default["title-help"]}))),y.default.createElement("div",{className:(0,_.default)(I.default.card,p)},y.default.createElement("div",{className:I.default["card-content"]},y.default.createElement(d.default,{loading:n},y.default.createElement(c.default,{className:(0,_.default)(I.default["card-item"],"sl-card-item")},y.default.createElement("h3",null," ",a," "),t,h)),D(i,l,n,o,f)))},T=b.default.shape({label:b.default.oneOfType([b.default.string,b.default.node]),content:b.default.any,tooltip:b.default.oneOfType([b.default.string,b.default.node]),dataIndex:b.default.string,valueRender:b.default.string,labelCol:b.default.number,contentCol:b.default.number});P.defaultProps={labelCol:8,contentCol:16,options:[],title:"",titleHelp:"",loading:!1,data:{}},P.propTypes={title:b.default.oneOfType([b.default.string,b.default.node]),titleHelp:b.default.any,options:b.default.arrayOf(T),loading:b.default.bool,data:b.default.object,labelCol:b.default.number,contentCol:b.default.number};var A=P;t.default=A},3659:function(e,t,a){var r=a(3660);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3660:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__card--Na2sx {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n margin-bottom: 16px;\n background-color: #fff;\n border-radius: 4px;\n -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);\n}\n.index__card--Na2sx .index__card-content--26JCN {\n padding: 16px;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY {\n margin-bottom: 8px;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY h3 {\n margin-bottom: 0;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY .index__title-help--8XKV- {\n margin-left: 8px;\n line-height: 26px;\n}\n.index__card--Na2sx .index__card-content--26JCN .index__card-item--1w9VY div {\n word-break: break-all;\n}\n.index__card--Na2sx .index__card-content--26JCN :last-child {\n margin-bottom: 0;\n}\n.index__card--Na2sx .index__card-content--26JCN .ant-typography {\n word-break: break-all;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",card:"index__card--Na2sx","card-content":"index__card-content--26JCN","card-item":"index__card-item--1w9VY","title-help":"index__title-help--8XKV-"}},3661:function(e,t,a){var r=a(3662);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3662:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__main--TubAm {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n padding: 0 16px;\n}\n.index__main--TubAm .index__left-side--pbUVD {\n width: 380px;\n padding-right: 16px;\n}\n.index__main--TubAm .index__right-side--3v5zG {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",main:"index__main--TubAm","left-side":"index__left-side--pbUVD","right-side":"index__right-side--3v5zG"}},3686:function(e,t,a){var r=a(3687);"string"==typeof r&&(r=[[e.i,r,""]]);var n={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,n);r.locals&&(e.exports=r.locals)},3687:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--26YmP {\n min-height: calc(100vh - 108px);\n}\n.index__wrapper--26YmP .ant-tabs-content {\n height: 100vh;\n}\n.index__wrapper--26YmP .ant-tabs > .ant-tabs-nav {\n background-color: #fff;\n}\n.index__wrapper--26YmP .ant-tabs-nav-wrap {\n padding: 0 16px;\n}\n.index__wrapper--26YmP .list-container {\n margin-top: 0;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--26YmP"}},4080:function(e,t,a){"use strict";var r=a(20),n=a(21);r(t,"__esModule",{value:!0}),t.detailConfigs=t.actionConfigs=void 0;var i=n(a(4081)),l=n(a(4082)),o={rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[i.default]};t.actionConfigs=o;var s={rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[]};t.detailConfigs=s},4081:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=i(r(54)),o=i(r(29)),s=i(r(32)),u=i(r(345)),d=i(r(63)),c=i(r(58)),f=i(r(35)),p=r(412),h=r(1241),m=i(r(1475)),g=i(r(112)),v=i(r(133)),y=r(36),b=i(r(1352));class _ extends h.ModalAction{constructor(){super(...arguments),(0,f.default)(this,"onSubmit",(e=>{var t,a;(e.expires_at&&(e.expires_at=e.expires_at.clone().endOf("day")),e.roles)&&(e.roles=(0,l.default)(t=(0,o.default)(a=(0,s.default)(e.roles)).call(a,(t=>e.roles[t]))).call(t,(e=>({id:e}))));return m.default.create(e).then((e=>{var t=e.application_credential,{links:a,roles:r,system:n,unrestricted:i,user_id:l,name:o}=t,s=(0,c.default)(t,["links","roles","system","unrestricted","user_id","name"]),d="".concat(o,".json"),f=new Blob([(0,u.default)(s,null,2)],{type:"text/plain;charset=utf-8"});b.default.saveAs(f,d)}))}))}static get modalSize(){return"middle"}getModalSize(){return"middle"}get name(){return t("Create Application Credentials")}static allowed(){return d.default.resolve(!0)}get roleOptions(){var e=(0,y.toJS)(v.default.roles);return(0,l.default)(e).call(e,(e=>({label:e.name,value:e.id})))}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"expires_at",label:t("Expires At"),type:"date-picker",showToday:!1,disabledDate:e=>e&&e<(0,g.default)().subtract(1,"days").endOf("d"),required:!1},{name:"roles",label:t("Roles"),type:"check-group",options:this.roleOptions,extra:t("If not provided, the roles assigned to the application credential will be the same as the roles in the current token."),span:12},{name:"unrestricted",label:t("Unrestricted"),type:"check",content:t("Unrestricted"),extra:t("By default, for security reasons, application credentials are forbidden from being used for creating or destructing additional application credentials or keystone trusts. If your application credential needs to be able to perform these actions, check unrestricted.")},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Create=_,(0,f.default)(_,"id","create-application_credentials"),(0,f.default)(_,"title",t("Create Application Credentials")),(0,f.default)(_,"policy","identity:create_application_credential");var S=(0,p.inject)("rootStore")((0,p.observer)(_));a.default=S},4082:function(e,a,r){"use strict";var n=r(20),i=r(21);n(a,"__esModule",{value:!0}),a.default=void 0;var l=i(r(35)),o=r(1241),s=i(r(1475));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","identity:delete_application_credential"),(0,l.default)(this,"onSubmit",(e=>{var{user_id:t,id:a}=e;return s.default.client.delete(t,a)}))}get id(){return"delete"}get title(){return t("Delete Application Credential")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete application credential")}}a.default=u}}]); \ No newline at end of file diff --git a/skyline_console/static/common.bundle.1733828928.js.gz b/skyline_console/static/common.bundle.1733828928.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..3d095ddcb6ad8d9621dc784e7808d1863b0a2f44 GIT binary patch literal 97622 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
(10a8p$Y`XI(kPPv403c z6q_Wd*drBlIFlW23aB9Y$u>h7+xt}lc!f;f*nD)MRaWAqi^J3{Y?ipG{{f4Md2o1x zgt9za%7t8V(M*-uP4^+kNt)njCepeE>Au-s%?!q|!PeHTpe#NQi+%GNNIez|0@p44 z4JnT^4Z-w<@uAxdN&O8PFo~LLcHaLcWKU~DkUdR95p$;j7&y>)N%1PG)zm?GIalqe zQm+o-GT%xW%^9!2fq`+I&`ZDl2Yl%}HpaH${ufqwY= z`r-eqAO8F5!+)e7{{0#qh}+-)y+8Q2@BQtH?|uKv-}~FIeeX}I@BRMM-uprM0XH2@ z*jf+^iwgT8r43R06f0q8=bAia(1VhrM>HWbHX7VtR@WLRD+Pz)=xtb(AL+Htm3iBj z3m({Ukf6^l*kREzMNB4fLcj`k7S~%D#E;8{p4W?fHO$nK@H;Lw|K-DkPNUjra%~O* z?TF{XF!Zjrb*bf!euVI~_fd&LDoezcD~Y>>t|W?{Y(j*N$an2Jg*2tN-@|7#sXCd@t;x}t3k;S+1Lgz>m4I&v4~(Pb1z z#RGJ$7d}90b`l2B9Z%+MLd%VqR+nkkOutrT5!za zt|MX(qtc5U)w0jx6Q*CxQ5`54;Mfyv-T#rC}>M1 z0jYc-ds+bO$=QrX!l8$!njivAoLQB~b}TmZ^%JjQX*PM| z8FrS|{^?*?0mCTotL=vM_m)Fi+pAk<;Q4w;QWy&(qq(B3y_cCMYf%rj8w*K#BnAZI zrR)}BP3INhZjVMDT~tbUU8%$(=!nnF*tq$8pWlCLInpWvQOLnJ8V(#YCTSKk_}SGW z4#FTd9#*JQC2c-078$M7LxaeuscAkAt2Qo5uiktWIzDNo?3$~0TLT$Z?YFLK9Ytu< zR3`+i&xj^GF=)awq6uI8kwPz_!TkXbkAm1q4}`)FU;JcV8@fl_Pm=5GWby+1&FP7%K6=)=+3;ON8PnLdf1#&H%6Hu}JkH;tP56=!&88q0zr$!cdvv>6V@IYn10iZ)tmHpGh zy|cq|H|(aM)R8D^b|uOgoryxaJ5fY+cyNf7%N-ujyIAT_6g4{(<%|wRA>E-UqB{I^ za!@nFPlWH4Iuu3C4n;YmLs3X~D2k{KPd~nY|9Wr#hjN#v;!2b{RmIJ2Rav8BRZw@W zimA@~pZe&}rrdXbnooduFLf;on?1{tM#r+4?pGGlb3W{UI<71-Ku$RG<@s_^Yqng@ zoGTYHX39lWhkFMfPb#-#ZTg{GcKb0;sSa}KkS|K-+ip~)=z>7&?n^% zRdH)oWm$7sWkF+IWifp}-yK#@(mvW6mv1K(v@R!=GVdl8F|H;RkX?~f)PTJAy%J!S z&X17suN|AkfO!FCs+sl`qqr<2W(h8As}L_lE6Q6z>*u}W_pK}F9tfPRV9 zIz+d$(79SRrf;t`;W(lc=M!p$P&Ugj;un`8=iW6VVCRXhaPmXb3B^=I>C%isZ$RXpgb$ATASXoVfruFDBXmUpzr*A%%2HDQ(^Yt+X)D6xLs@D%qi_k2*7Vf%=Gv=B6U)Rd$ZTK5sA;~el(j9S5!I!O3X;TBLEy;cOx3O$1-w3{J5pDbv& z^C!1wqer(r8+j^wxxl^D1}UE^}yohof@Xk#Hi6gu`yJVj1P|3OPL!%bCjW9|ivUcZvevW)4ay z7wPda6mH2P%aNH{JMRD;QuTyq;0ZNX5m^_;Nwp~~eL_&4Yn+hkiAA1&nHQ(ei}Xfn zpWY?MD5*V02^^!I%@zw(aAU{aEg;`lQ5(AIVw3MlJbge2QJJ;PrsV+QcY9;!4@3M) zqCDvIi*Uk3%0gn39o93oxw-XR)0;v-O2s!`DSFc&H;KR;Xgak|pRYDKY}eNJFIh

XWoeR8xBKlHKw>+$uWQ48){hnyz_>4QE7+-t* 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℞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 B@PPmT literal 0 HcmV?d00001 diff --git a/skyline_console/static/compute.bundle.1733818396.js b/skyline_console/static/compute.bundle.1733828928.js similarity index 100% rename from skyline_console/static/compute.bundle.1733818396.js rename to skyline_console/static/compute.bundle.1733828928.js diff --git a/skyline_console/static/compute.bundle.1733818396.js.gz b/skyline_console/static/compute.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/compute.bundle.1733818396.js.gz rename to skyline_console/static/compute.bundle.1733828928.js.gz diff --git a/skyline_console/static/configuration.bundle.1733818396.js b/skyline_console/static/configuration.bundle.1733828928.js similarity index 100% rename from skyline_console/static/configuration.bundle.1733818396.js rename to skyline_console/static/configuration.bundle.1733828928.js diff --git a/skyline_console/static/configuration.bundle.1733818396.js.gz b/skyline_console/static/configuration.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/configuration.bundle.1733818396.js.gz rename to skyline_console/static/configuration.bundle.1733828928.js.gz diff --git a/skyline_console/static/container-infra.bundle.1733818396.js b/skyline_console/static/container-infra.bundle.1733828928.js similarity index 100% rename from skyline_console/static/container-infra.bundle.1733818396.js rename to skyline_console/static/container-infra.bundle.1733828928.js diff --git a/skyline_console/static/container-infra.bundle.1733818396.js.gz b/skyline_console/static/container-infra.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/container-infra.bundle.1733818396.js.gz rename to skyline_console/static/container-infra.bundle.1733828928.js.gz diff --git a/skyline_console/static/heat.bundle.1733818396.js b/skyline_console/static/heat.bundle.1733828928.js similarity index 100% rename from skyline_console/static/heat.bundle.1733818396.js rename to skyline_console/static/heat.bundle.1733828928.js diff --git a/skyline_console/static/heat.bundle.1733818396.js.gz b/skyline_console/static/heat.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/heat.bundle.1733818396.js.gz rename to skyline_console/static/heat.bundle.1733828928.js.gz diff --git a/skyline_console/static/identity.bundle.1733818396.js b/skyline_console/static/identity.bundle.1733828928.js similarity index 100% rename from skyline_console/static/identity.bundle.1733818396.js rename to skyline_console/static/identity.bundle.1733828928.js diff --git a/skyline_console/static/identity.bundle.1733818396.js.gz b/skyline_console/static/identity.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/identity.bundle.1733818396.js.gz rename to skyline_console/static/identity.bundle.1733828928.js.gz diff --git a/skyline_console/static/index.html b/skyline_console/static/index.html index cb660f62..882fc38d 100644 --- a/skyline_console/static/index.html +++ b/skyline_console/static/index.html @@ -8,5 +8,5 @@

- + diff --git a/skyline_console/static/main.bundle.1733818396.js b/skyline_console/static/main.bundle.1733828928.js similarity index 100% rename from skyline_console/static/main.bundle.1733818396.js rename to skyline_console/static/main.bundle.1733828928.js diff --git a/skyline_console/static/main.bundle.1733818396.js.gz b/skyline_console/static/main.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/main.bundle.1733818396.js.gz rename to skyline_console/static/main.bundle.1733828928.js.gz diff --git a/skyline_console/static/management.bundle.1733818396.js b/skyline_console/static/management.bundle.1733828928.js similarity index 100% rename from skyline_console/static/management.bundle.1733818396.js rename to skyline_console/static/management.bundle.1733828928.js diff --git a/skyline_console/static/monitor-center.bundle.1733818396.js b/skyline_console/static/monitor-center.bundle.1733828928.js similarity index 100% rename from skyline_console/static/monitor-center.bundle.1733818396.js rename to skyline_console/static/monitor-center.bundle.1733828928.js diff --git a/skyline_console/static/monitor-center.bundle.1733818396.js.gz b/skyline_console/static/monitor-center.bundle.1733828928.js.gz similarity index 100% rename from skyline_console/static/monitor-center.bundle.1733818396.js.gz rename to skyline_console/static/monitor-center.bundle.1733828928.js.gz diff --git a/skyline_console/static/network.bundle.1733818396.js b/skyline_console/static/network.bundle.1733828928.js similarity index 99% rename from skyline_console/static/network.bundle.1733818396.js rename to skyline_console/static/network.bundle.1733828928.js index 02e8fa16..efdf9939 100644 --- a/skyline_console/static/network.bundle.1733818396.js +++ b/skyline_console/static/network.bundle.1733828928.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{1254:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.getInsertHeaderCard=a.getInsertHeadersFormValueFromListener=a.getInsertHeadersValueFromForm=a.getListenerInsertHeadersFormItem=a.insertHeaderDesc=a.insertHeaderTips=a.insertHeaderOptions=a.INSERT_HEADERS=a.healthProtocols=a.poolProtocols=a.listenerProtocols=a.sslParseMethod=a.getCertificateColumns=a.certificateStatus=a.certificateMode=a.provisioningStatusCodes=a.operatingStatusCodes=void 0;var l,o,s=n(r(54)),d=n(r(32)),u=n(r(28)),c=n(r(177)),f=n(r(0)),p={ONLINE:t("Online"),DRAINING:t("Draining"),OFFLINE:t("Offline"),DEGRADED:t("Degraded"),ERROR:t("Error"),NO_MONITOR:t("No Monitor")};a.operatingStatusCodes=p;var m={ACTIVE:t("Active"),DELETED:t("Deleted"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.provisioningStatusCodes=m;var h={SERVER:t("Server Certificate"),CA:t("CA Certificate")};a.certificateMode=h;var v={ACTIVE:t("Active"),ERROR:t("Error")};a.certificateStatus=v;a.getCertificateColumns=e=>[{title:t("Name"),dataIndex:"name"},{title:t("Certificate Type"),dataIndex:"mode",valueMap:h},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime"},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-"},{title:t("Listener"),dataIndex:"listener",render:t=>t?(0,s.default)(t).call(t,(t=>f.default.createElement("div",{key:t.id},e.getLinkRender("lbListenerDetail",t.name,{loadBalancerId:t.lb,id:t.id},null)))):"-"},{title:t("Status"),dataIndex:"status",valueMap:v},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime"}];var g=[{label:t("One-way authentication"),value:"one-way"},{label:t("Two-way authentication"),value:"two-way"}];a.sslParseMethod=g;a.listenerProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"HTTPS",value:"TERMINATED_HTTPS"},{label:"UDP",value:"UDP"}];a.poolProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP"}];a.healthProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP-CONNECT"}];var _={"X-Forwarded-For":t("Specify the client IP address"),"X-Forwarded-Port":t("Specify the listener port")};a.INSERT_HEADERS=_;var b=(0,s.default)(l=(0,d.default)(_)).call(l,(e=>({label:e,value:e})));a.insertHeaderOptions=b;var y=f.default.createElement(f.default.Fragment,null,(0,s.default)(o=(0,d.default)(_)).call(o,(e=>f.default.createElement("p",{key:e},e,": ",_[e]))));a.insertHeaderTips=y;var I=t("The optional headers to insert into the request before it is sent to the backend member.");a.insertHeaderDesc=I;a.getListenerInsertHeadersFormItem=()=>({name:"insert_headers",label:t("Custom Headers"),type:"check-group",extra:I,tip:y,options:b});a.getInsertHeadersValueFromForm=e=>{var t;if(!e)return null;var a={};return(0,u.default)(t=(0,d.default)(_)).call(t,(t=>{e[t]&&(a[t]="true")})),(0,c.default)(a)?null:a};a.getInsertHeadersFormValueFromListener=e=>{var t,{insert_headers:a}=e||{},r={};return(0,u.default)(t=(0,d.default)(_)).call(t,(e=>{a[e]&&(r[e]="true"===a[e])})),r};a.getInsertHeaderCard=e=>{var a,r=[];return(0,u.default)(a=(0,d.default)(_)).call(a,(t=>{e[t]&&r.push({label:t,content:e[t],tooltip:_[t]})})),{title:t("Custom Headers"),titleHelp:I,options:r}}},1275:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.VpnIPsecConnectionStore=void 0;var f,p=c(a(25)),m=c(a(35)),h=c(a(49)),v=c(a(55)),g=c(a(119)),_=a(36),b=c(a(1337)),y=c(a(1338)),I=c(a(50)),A=c(a(53));function S(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t"default"===e.name;a.isMine=e=>e.project_id===v.default.projectId;a.hasNoProject=e=>!e.project_name||"-"===e.project_name;a.getDefaultFilter=e=>{var t=(0,p.default)(g.yesNoOptions).call(g.yesNoOptions,(t=>t.key?b(b({},t),{},{checkLabel:e,isQuick:!0}):t));return{label:e,name:"notDefault",options:t,filterFunc:(e,t)=>(0,h.default)(t)?!t||e:"true"!==t||e}}},1294:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallPolicyStore=void 0;var f,p=c(a(28)),m=c(a(91)),h=c(a(54)),v=c(a(86)),g=c(a(29)),_=c(a(25)),b=c(a(49)),y=c(a(35)),I=c(a(55)),A=a(36),S=c(a(50)),w=a(1362),x=c(a(53));function P(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function C(e){for(var t=1;tC(C({},e),{},{notDefault:!(0,w.isDefault)(e)})}listDidFetch(e){return(0,b.default)((function*(){var t,a=[];if((0,p.default)(e).call(e,(e=>{e.firewalls=[],e.rules=[];var{firewall_rules:t}=e;(0,p.default)(t).call(t,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)}))})),0===a.length)return e;var r=yield S.default.neutron.firewallRules.list(),i=(0,h.default)(t=r.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));(0,p.default)(e).call(e,(e=>{var{firewall_rules:t}=e;e.rules=(0,h.default)(t).call(t,(e=>(0,v.default)(i).call(i,(t=>t.id===e))))}));var n=(yield S.default.neutron.firewalls.list()).firewall_groups;return(0,p.default)(e).call(e,(e=>{e.firewalls=(0,g.default)(n).call(n,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id))})),e}))()}detailDidFetch(e){return(0,b.default)((function*(){var t,a=[];e.firewalls=[],e.rules=[];var{firewall_rules:r}=e;if((0,p.default)(r).call(r,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)})),0===a.length)return e;var i=yield S.default.neutron.firewallRules.list(),n=(0,h.default)(t=i.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));e.rules=(0,h.default)(r).call(r,(e=>(0,v.default)(n).call(n,(t=>t.id===e))));var l=(yield S.default.neutron.firewalls.list()).firewall_groups;return e.firewalls=(0,g.default)(l).call(l,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id)),e}))()}insertRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.insertRule(r,t))}))()}removeRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.removeRule(r,t))}))()}},(0,I.default)(f.prototype,"insertRule",[A.action],(0,_.default)(f.prototype,"insertRule"),f.prototype),(0,I.default)(f.prototype,"removeRule",[A.action],(0,_.default)(f.prototype,"removeRule"),f.prototype),f);t.FirewallPolicyStore=E;var D=new E;t.default=D},1306:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ListenerStore=void 0;var f=c(a(54)),p=c(a(431)),m=c(a(49)),h=c(a(35)),v=c(a(50)),g=c(a(53));function _(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function b(e){for(var t=1;t{var t;return b(b({},e),{},{lbIds:(0,f.default)(t=e.loadbalancers).call(t,(e=>e.id))})}}detailDidFetch(e){var t=this;return(0,m.default)((function*(){var a,{default_pool_id:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l}=e,[,o]=(i||"").split("/containers/"),[,s]=(n||"").split("/secrets/"),d=(0,f.default)(a=l||[]).call(a,(e=>{var[,t]=e.split("/containers/");return t}));(0,p.default)(e,{serverCertificateId:o,caCertificateId:s,sniCertificateId:d});var{loadbalancers:u=[]}=e,{loadbalancer:c}=yield t.lbClient.show(u[0].id);if(e.loadBalancer=c,!r)return e;try{var{pool:m}=yield t.poolClient.show(r);e.default_pool=m;var{healthmonitor_id:h}=m;if(h){var{healthmonitor:v}=yield t.healthMonitorClient.show(h);e.healthMonitor=v}return e}catch(t){return e}}))()}}t.ListenerStore=y;var I=new y;t.default=I},1307:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isDefault=a.isMine=a.tableOptions=a.tableFilter=a.tableColumns=a.protocolInfos=a.actionInfos=void 0;var l=n(r(164)),o=r(163),s=r(342),d=n(r(133)),u=r(1286),c={allow:t("ALLOW"),deny:t("DENY"),reject:t("REJECT")};a.actionInfos=c;var f={tcp:t("TCP"),udp:t("UDP"),icmp:t("ICMP"),any:t("ANY")};a.protocolInfos=f;var p=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",valueMap:f},{title:t("Source IP"),dataIndex:"source_ip_address"},{title:t("Source Port"),dataIndex:"source_port"},{title:t("Destination IP"),dataIndex:"destination_ip_address"},{title:t("Destination Port"),dataIndex:"destination_port"},{title:t("Rule Action"),dataIndex:"action",valueMap:c},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"}];a.tableColumns=p;var m=[{label:t("Name"),name:"name"},{label:t("Protocol"),name:"protocol",options:(0,o.getOptions)(f)},{label:t("Rule Action"),name:"action",options:(0,o.getOptions)(c)},{label:t("Enabled"),name:"enabled",options:s.yesNoOptions},{label:t("Shared"),name:"shared",options:s.yesNoOptions},(0,u.getDefaultFilter)(t("Hide Default Rules"))];a.tableFilter=m;var h={filterParams:m,columns:p};a.tableOptions=h;a.isMine=e=>e.project_id===d.default.projectId;a.isDefault=e=>{var t;return(0,l.default)(t=["default egress ipv4","default egress ipv6","default ingress ipv4","default ingress ipv6"]).call(t,e.name)}},1321:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ipsecPolicyTransformProtocolOptions=a.ipsecPolicyEncapsulationModeOptions=a.ikePolicyIKEVersionOptions=a.pfsOptions=a.encryptionAlgorithmOptions=a.authAlgorithmOptions=a.vpnStatusOptions=a.vpnStatus=void 0;var l,o,s,d,u,c,f,p=n(r(54)),m=n(r(32)),h={ACTIVE:t("Active"),DOWN:t("Down"),BUILD:t("Build"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.vpnStatus=h;var v=(0,p.default)(l=(0,m.default)(h)).call(l,(e=>({label:h[e],value:e,key:e})));a.vpnStatusOptions=v;var g=(0,p.default)(o=["sha1","sha256","sha384","sha512"]).call(o,(e=>({label:e,value:e,key:e})));a.authAlgorithmOptions=g;var _=(0,p.default)(s=["3des","aes-128","aes-192","aes-256"]).call(s,(e=>({label:e,value:e,key:e})));a.encryptionAlgorithmOptions=_;var b=(0,p.default)(d=["group2","group5","group14"]).call(d,(e=>({label:e,value:e,key:e})));a.pfsOptions=b;var y=(0,p.default)(u=["v1","v2"]).call(u,(e=>({label:e,value:e,key:e})));a.ikePolicyIKEVersionOptions=y;var I=(0,p.default)(c=["tunnel","transport"]).call(c,(e=>({label:e,value:e,key:e})));a.ipsecPolicyEncapsulationModeOptions=I;var A=(0,p.default)(f=["esp","ah","ah-esp"]).call(f,(e=>({label:e,value:e,key:e})));a.ipsecPolicyTransformProtocolOptions=A},1335:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ContainersStore=void 0;var f,p,m=c(a(29)),h=c(a(164)),v=c(a(54)),g=c(a(63)),_=c(a(28)),b=c(a(86)),y=c(a(431)),I=c(a(345)),A=c(a(25)),S=c(a(49)),w=c(a(74)),x=c(a(35)),P=(c(a(75)),c(a(55))),C=c(a(53)),E=c(a(50)),D=a(36),k=a(1336),R=c(a(1306));function N(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function j(e){for(var t=1;t({limit:e,offset:t}))),(0,w.default)(this,"delete",p,this)}get client(){return E.default.barbican.containers}get payloadClient(){return E.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get secretStore(){return new k.SecretsStore}get mapper(){return e=>{var{container_ref:t,algorithm:a}=e,[,r]=t.split("/containers/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return j(j({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,S.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{container_ref:a}=e,r=(0,m.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,h.default)(t).call(t,a)}));return r.length&&(e.listener=(0,v.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}listDidFetch(e){var t=this;return(0,S.default)((function*(){if(0===e.length)return e;var[a,r]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),i=(0,v.default)(e).call(e,(e=>{var{secret_refs:i=[]}=e;return 0===i.length?e.hidden=!0:((0,_.default)(i).call(i,(t=>{var{secret_ref:r=""}=t,[,i]=r.split("/secrets/"),n=(0,b.default)(a).call(a,(e=>e.id===i));n?((0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode})):e.hidden=!0})),t.updateItem(e,r)),j({},e)}));return(0,m.default)(i).call(i,(e=>!0!==e.hidden))}))()}detailDidFetch(e){var t=this;return(0,S.default)((function*(){var a,{secret_refs:r=[]}=e,[i,n]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),l=[];(0,_.default)(r).call(r,function(){var t=(0,S.default)((function*(t){var{secret_ref:a=""}=t,[,r]=a.split("/secrets/"),n=(0,b.default)(i).call(i,(e=>e.id===r));n&&(l.push(n.id),(0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode}))}));return function(e){return t.apply(this,arguments)}}()),t.updateItem(e,n);var o=yield g.default.all((0,v.default)(l).call(l,(e=>t.payloadClient.list(e,{},{headers:{Accept:"text/plain"}}))));return(0,_.default)(a=o||[]).call(a,((e,t)=>{r[t].secret_info.payload=e})),e}))()}create(e){var t=this;return(0,S.default)((function*(){var a={name:e.name,mode:e.mode,payload_content_type:"text/plain",secret_type:"certificate",algorithm:(0,I.default)({domain:e.domain,expiration:e.expiration})},r=j(j({},a),{},{payload:e.certificate}),i=[t.secretStore.create(r)];if("SERVER"===e.mode){var n=j(j({},a),{},{payload:e.private_key});i.push(t.secretStore.create(n))}var[l,o]=yield g.default.all(i),s=[{name:"certificate",secret_ref:l.secret_ref}];o&&s.push({name:"private_key",secret_ref:o.secret_ref});var d={type:"certificate",name:e.name,secret_refs:s};return t.client.create(d)}))()}},(0,P.default)(f.prototype,"create",[D.action],(0,A.default)(f.prototype,"create"),f.prototype),p=(0,P.default)(f.prototype,"delete",[D.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){var e=this;return function(){var t=(0,S.default)((function*(t){var{id:a,secret_refs:r=[]}=t;return yield g.default.all((0,v.default)(r).call(r,(t=>{var{secret_ref:a=""}=t,[,r]=a.split("/secrets/");return e.secretStore.delete({id:r})}))),e.submitting(e.client.delete(a))}));return function(e){return t.apply(this,arguments)}}()}}),f);t.ContainersStore=M;var T=new M;t.default=T},1336:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.SecretsStore=void 0;var f,p=c(a(29)),m=c(a(164)),h=c(a(54)),v=c(a(63)),g=c(a(345)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(53)),w=c(a(50)),x=a(36),P=c(a(1306));function C(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t({limit:e,offset:t})))}get client(){return w.default.barbican.secrets}get payloadClient(){return w.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get paramsFunc(){return e=>E({},e)}get mapper(){return e=>{var{secret_ref:t,algorithm:a}=e,[,r]=t.split("/secrets/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return E(E({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,y.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{secret_ref:a}=e,r=(0,p.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,m.default)(t).call(t,a)}));return r.length&&(e.listener=(0,h.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}fetchDetail(e){var t=this;return(0,y.default)((function*(){var{id:a,silent:r}=e;r||(t.isLoading=!0);var[i,n,l]=yield v.default.all([t.client.show(a,{},{headers:{Accept:"application/json"}}),t.payloadClient.list(a,{},{headers:{Accept:"text/plain"}}),P.default.fetchList()]);i.payload=n,t.updateItem(i,l);var o=t.mapper(i||{});return t.detail=o,t.isLoading=!1,o}))()}listDidFetch(e){var t=this;return(0,y.default)((function*(){if(0===e.length)return e;var a=yield P.default.fetchList();return(0,h.default)(e).call(e,(e=>(t.updateItem(e,a),E({},e))))}))()}create(e){var t=this;return(0,y.default)((function*(){var{expiration:a,domain:r,algorithm:i}=e,n=E(E({},(0,b.default)(e,["expiration","domain","algorithm"])),{},{algorithm:i||(0,g.default)({domain:r,expiration:a})});return t.client.create(n)}))()}},(0,A.default)(f.prototype,"fetchDetail",[x.action],(0,_.default)(f.prototype,"fetchDetail"),f.prototype),(0,A.default)(f.prototype,"create",[x.action],(0,_.default)(f.prototype,"create"),f.prototype),f);t.SecretsStore=D;var k=new D;t.default=k},1337:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIKEPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ikePolicies}get listResponseKey(){return"ikepolicies"}get listFilterByProject(){return!0}}t.VpnIKEPolicyStore=o;var s=new o;t.default=s},1338:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIPsecPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ipsecPolicies}get listResponseKey(){return"ipsecpolicies"}get listFilterByProject(){return!0}}t.VpnIPsecPolicyStore=o;var s=new o;t.default=s},1339:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallStore=void 0;var f=c(a(28)),p=c(a(91)),m=c(a(86)),h=c(a(49)),v=c(a(35)),g=c(a(50)),_=a(1286),b=c(a(53)),y=c(a(460));function I(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function A(e){for(var t=1;tA(A({},e),{},{name:e.name||e.id,notDefault:!(0,_.isDefault)(e)})}listDidFetch(e){var t=this;return(0,h.default)((function*(){var a=[],r=[];if((0,f.default)(e).call(e,(e=>{var{egress_firewall_policy_id:t,ingress_firewall_policy_id:i}=e;(0,p.default)(a).call(a,t)<0&&a.push(t),(0,p.default)(r).call(r,i)<0&&r.push(i)})),0===a.length&&0===r.length)return e;var i=yield t.policyClient.list();return(0,f.default)(e).call(e,(e=>{var t,a,{egress_firewall_policy_id:r,ingress_firewall_policy_id:n}=e;e.egressPolicy=(0,m.default)(t=i.firewall_policies).call(t,(e=>e.id===r)),e.egressPolicyName=e.egressPolicy?e.egressPolicy.name:"-",e.ingressPolicy=(0,m.default)(a=i.firewall_policies).call(a,(e=>e.id===n)),e.ingressPolicyName=e.ingressPolicy?e.ingressPolicy.name:"-"})),e}))()}detailDidFetch(e){var t=this;return(0,h.default)((function*(){var{egress_firewall_policy_id:a,ingress_firewall_policy_id:r,project_id:i}=e;r&&(e.ingress=(yield t.fetchPolicy(r)).firewall_policy),a&&(e.egress=(yield t.fetchPolicy(a)).firewall_policy);var n=yield y.default.fetchProjectDetail({id:i});return e.project_name=n&&n.name||"-",e}))()}fetchPolicy(e){return this.policyClient.show(e)}}t.FirewallStore=S;var w=new S;t.default=w},1358:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnServicesStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.vpnservices}get listFilterByProject(){return!0}}t.VpnServicesStore=o;var s=new o;t.default=s},1359:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnEndPointGroupStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.endpointGroups}get listFilterByProject(){return!0}}t.VpnEndPointGroupStore=o;var s=new o;t.default=s},1360:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSZonesStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(75)),i(a(55))),f=a(36),p=i(a(50)),m=i(a(1647)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this)}get client(){return p.default.designate.zones}create(e){var t=this;return(0,d.default)((function*(){return t.submitting(t.client.create(e))}))()}},(0,c.default)(n.prototype,"create",[f.action],(0,s.default)(n.prototype,"create"),n.prototype),l=(0,c.default)(n.prototype,"delete",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t}=e;return this.submitting(this.client.delete(t))}}}),o=(0,c.default)(n.prototype,"update",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.patch(a,t))}}}),n);t.DNSZonesStore=h;var v=new h;t.default=v},1361:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSRecordSetsStore=void 0;var n,l,o,s,d=i(a(58)),u=i(a(74)),c=i(a(35)),f=i(a(55)),p=(i(a(75)),i(a(50))),m=a(36),h=i(a(1647)),v=(n=class extends h.default{constructor(){super(...arguments),(0,c.default)(this,"getFatherResourceId",(e=>e.zoneId||e.id)),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this),(0,u.default)(this,"create",s,this)}get client(){return p.default.designate.zones.recordsets}get isSubResource(){return!0}get paramsFuncPage(){return e=>{var{id:t,zoneId:a,all_projects:r,current:i}=e;return(0,d.default)(e,["id","zoneId","all_projects","current"])}}},l=(0,f.default)(n.prototype,"delete",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{zone_id:t,recordset_id:a}=e;return this.submitting(this.client.delete(t,a))}}}),o=(0,f.default)(n.prototype,"update",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t,a)=>this.submitting(this.client.update(e,t,a))}}),s=(0,f.default)(n.prototype,"create",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.create(a,t))}}}),n);t.DNSRecordSetsStore=v;var g=new v;t.default=g},1362:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isMine=a.isDefault=a.tableOptions=a.tableFilter=a.tableColumns=void 0;var l=n(r(54)),o=n(r(0)),s=n(r(133)),d=r(1286),u=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Rules"),dataIndex:"rules",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},e.name))):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo"}];a.tableColumns=u;var c=[{label:t("Name"),name:"name"},(0,d.getDefaultFilter)(t("Hide Default Policies"))];a.tableFilter=c;var f={filterParams:c,columns:u};a.tableOptions=f;a.isDefault=e=>"default egress"===e.name||"default ingress"===e.name;a.isMine=e=>e.project_id===s.default.projectId},1363:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallRuleStore=void 0;var f,p=c(a(28)),m=c(a(29)),h=c(a(91)),v=c(a(54)),g=c(a(86)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(119)),w=a(36),x=c(a(50)),P=a(1307),C=c(a(53));function E(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;tD(D({},e),{},{protocol:e.protocol||"any",notDefault:!(0,P.isDefault)(e)})}listDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return(0,p.default)(e).call(e,(e=>{e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0}))})),e}))()}detailDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0})),e}))()}fetchListByPolicy(){var e=arguments,t=this;return(0,y.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{limit:r,page:i,sortKey:n,sortOrder:l,conditions:o}=a,s=(0,b.default)(a,["limit","page","sortKey","sortOrder","conditions"]);t.list.isLoading=!0;var{tab:d,all_projects:u,firewall_rules:c}=s,f=(0,b.default)(s,["tab","all_projects","firewall_rules"]);if(0!==c.length){var p=D({},f);u&&(t.listFilterByProject||(p.all_projects=!0));var m=yield t.client.list(p),h=(0,S.default)(m,t.listResponseKey,[]),_=(0,v.default)(c).call(c,(e=>(0,g.default)(h).call(h,(t=>t.id===e)))),y=(0,v.default)(_).call(_,t.mapper),I=yield t.listDidFetchProject(y,u);return I=yield t.listDidFetch(I,u),t.list.update(D({data:I,total:y.length||0,limit:Number(r)||10,page:Number(i)||1,sortKey:n,sortOrder:l,filters:s,isLoading:!1},t.list.silent?{}:{selectedRowKeys:[]})),I}t.list.isLoading=!1}))()}},(0,A.default)(f.prototype,"fetchListByPolicy",[w.action],(0,_.default)(f.prototype,"fetchListByPolicy"),f.prototype),f);t.FirewallRuleStore=k;var R=new k;t.default=R},1400:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.Algorithm=a.algorithmTip=a.algorithmDict=a.BackendProtocol=void 0;var l,o=n(r(54)),s=n(r(32)),d=[{label:t("TCP"),value:"TCP"},{label:t("PING"),value:"PING"}];a.BackendProtocol=d;var u={LEAST_CONNECTIONS:t("LEAST_CONNECTIONS"),ROUND_ROBIN:t("ROUND_ROBIN"),SOURCE_IP:t("SOURCE_IP")};a.algorithmDict=u;var c={LEAST_CONNECTIONS:t("A dynamic scheduling algorithm that estimates the server load based on the number of currently active connections. The system allocates new connection requests to the server with the least number of current connections. Commonly used for long connection services, such as database connections and other services."),ROUND_ROBIN:t("Each new connection request is assigned to the next server in order, and all requests are finally divided equally among all servers. Commonly used for short connection services, such as HTTP services."),SOURCE_IP:t("Perform a consistent hash operation on the source IP address of the request to obtain a specific value. At the same time, the back-end server is numbered, and the request is distributed to the server with the corresponding number according to the calculation result. This can enable load distribution of visits from different source IPs, and at the same time enable requests from the same client IP to always be dispatched to a specific server. This method is suitable for load balancing TCP protocol without cookie function.")};a.algorithmTip=c;var f=(0,o.default)(l=(0,s.default)(u)).call(l,(e=>({label:u[e],value:e})));a.Algorithm=f},1401:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.pools}get listFilterByProject(){return!0}}t.PoolStore=o;var s=new o;t.default=s},1402:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolMemberStore=void 0;var n,l,o=i(a(25)),s=i(a(74)),d=(i(a(35)),i(a(75)),i(a(55))),u=a(36),c=i(a(50)),f=i(a(53)),p=(n=class extends f.default{constructor(){super(...arguments),(0,s.default)(this,"delete",l,this)}get client(){return this.poolClient.members}get poolClient(){return c.default.octavia.pools}get responseKey(){return"member"}get listFilterByProject(){return!0}listFetchByClient(e,t){var{pool_id:a}=t;return this.client.list(a)}create(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.client.create(t,r))}batchUpdate(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.poolClient.batchUpdateMembers(t,r))}update(e){var{default_pool_id:t,member_id:a,data:r}=e,i={};return i[this.responseKey]=r,this.submitting(this.client.update(t,a,i))}},(0,d.default)(n.prototype,"create",[u.action],(0,o.default)(n.prototype,"create"),n.prototype),(0,d.default)(n.prototype,"batchUpdate",[u.action],(0,o.default)(n.prototype,"batchUpdate"),n.prototype),(0,d.default)(n.prototype,"update",[u.action],(0,o.default)(n.prototype,"update"),n.prototype),l=(0,d.default)(n.prototype,"delete",[u.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t,default_pool_id:a}=e;return this.submitting(this.client.delete(a,t))}}}),n);t.PoolMemberStore=p;var m=new p;t.default=m},1403:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.ReverseStore=void 0;var n,l,o,s=i(a(634)),d=i(a(74)),u=(i(a(35)),i(a(55))),c=(i(a(75)),a(36)),f=i(a(50)),p=i(a(53)),m=(n=class extends p.default{constructor(){super(...arguments),(0,d.default)(this,"set",l,this),(0,d.default)(this,"unset",o,this)}get client(){return(0,s.default)(f.default.designate).floatingips}get reverseClient(){return(0,s.default)(f.default.designate)}get isSubResource(){return!0}detailFetchByClient(e){var{id:t}=e;return this.reverseClient.reverseDetail(t)}get paramsFunc(){return()=>{}}},l=(0,u.default)(n.prototype,"set",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.setReverse(a,t))}}}),o=(0,u.default)(n.prototype,"unset",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.unsetReverse(a,t))}}}),n);t.ReverseStore=m;var h=new m;t.default=h},1404:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ZONE_STATUS=a.validateZoneName=a.zoneNameMessage=a.zoneNameRegex=a.zoneTypeOptions=a.ZONE_TYPES=a.ZONE_TYPE_ENUM=void 0;var l=n(r(63)),o=n(r(430)),s=r(163),d={primary:"PRIMARY",secondary:"SECONDARY"};a.ZONE_TYPE_ENUM=d;var u={[d.primary]:t("Primary"),[d.secondary]:t("Secondary")};a.ZONE_TYPES=u;var c=(0,s.getOptions)(u);a.zoneTypeOptions=c;var f=/^.+\.$/;a.zoneNameRegex=f;var p=t('The zone name should end with "."');a.zoneNameMessage=p;a.validateZoneName=(e,a)=>a?f.test(a)?(0,o.default)(a).call(a).split(".").length<=1?l.default.reject(new Error(t('More than one label is required, such as: "example.org."'))):l.default.resolve():l.default.reject(p):l.default.resolve();var m={ACTIVE:t("Active"),PENDING:t("Pending"),ERROR:t("Error")};a.ZONE_STATUS=m},1405:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.RECORD_STATUS=a.getRecordSetFormItem=a.validateName=a.nameMessage=a.nameRegex=a.dnsRRTypeList=a.getRecordSetType=a.DNS_RECORD_TYPE=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(596)),d=n(r(32)),u=n(r(63)),c=n(r(164)),f=n(r(28)),p=n(r(134)),m=n(r(0)),h=r(565),v=r(1404),g={A:{name:t("Address Record"),nameExtra:"example.com.",recordsExtra:"192.168.1.1"},AAAA:{name:t("IPv6 Address Record"),nameExtra:"example.com.",recordsExtra:"2001:db8:3333:4444:5555:6666:7777:8888"},CAA:{name:t("Certificate Authority Authorization Record"),nameExtra:"example.com.",recordsExtra:t('0 iodef mailto:security@example.com
  • 0: is flag. An unsigned integer between 0-255.
  • iodef: An ASCII string that represents the identifier of the property represented by the record.
    Available Tags: "issue", "issuewild", "iodef"
  • mailto:security@example.com: The value associated with the tag.
')},CNAME:{name:t("Canonical Name Record"),nameExtra:"first.example.com.",recordsExtra:"other-example.com"},MX:{name:t("Mail Exchange Record"),nameExtra:"example.com.",recordsExtra:t("10 mail.example.com
  • 10: Priority
  • mail.example.com: Value
")},NS:{name:t("Name Server"),nameExtra:"example.com.",recordsExtra:"ns1.example.com"},PTR:{name:t("Pointer Record"),nameExtra:"example.com.",recordsExtra:"1.1.0.192.in-addr.arpa."},SOA:{name:t("Start Of Authority"),nameExtra:"example.com.",recordsExtra:t("ns1.example.com admin.example.com 2013022001 86400 7200 604800 300
  • The primary name server for the domain, which is ns1.example.com or the first name server in the vanity name server list.
  • The responsible party for the domain: admin.example.com.
  • A timestamp that changes whenever you update your domain.
  • The number of seconds before the zone should be refreshed.
  • The number of seconds before a failed refresh should be retried.
  • The upper limit in seconds before a zone is considered no longer authoritative.
  • The negative result TTL (for example, how long a resolver should consider a negative result for a subdomain to be valid before retrying).
")},SPF:{name:t("Sender Policy Framework"),nameExtra:"example.com.",recordsExtra:t('"v=spf1 ipv4=192.1.1.1 include:examplesender.email +all"
  • v=spf1: Tells the server that this contains an SPF record. Every SPF record must begin with this string.
  • Guest List: Then comes the “guest list” portion of the SPF record or the list of authorized IP addresses. In this example, the SPF record is telling the server that ipv4=192.1.1.1 is authorized to send emails on behalf of the domain.
  • include:examplesender.net: is an example of the include tag, which tells the server what third-party organizations are authorized to send emails on behalf of the domain. This tag signals that the content of the SPF record for the included domain (examplesender.net) should be checked and the IP addresses it contains should also be considered authorized. Multiple domains can be included within an SPF record but this tag will only work for valid domains.
  • -all: Tells, the server that addresses not listed in the SPF record are not authorized to send emails and should be rejected.
')},SRV:{name:t("Service Locator"),nameExtra:"_sip._tcp.example.com.
  • _sip: represents the name of the service.
  • _tcp: represents the protocol of the service, this is usually either TCP or UDP.
  • example.com: represents the domain in which this record is for.
",recordsExtra:t('10 0 5060 server1.example.com.
  • "10" is the priority of the record. The lower the value, the higher the priority.
  • 0 is the weight of the record. This is the weight of which this record has a chance to be used when there are multiple matching SRV records of the same priority.
  • 5060 is the port of the record. This specifies the port on which the application or service is running.
  • server1.example.com is the target of the record. This specifies the domain of the application or service the record is for. SRV records must specify a target which is either an A record or AAAA record, and may not use CNAME records.
')},SSHFP:{name:t("SSH Public Key Fingerprint"),nameExtra:"example.com.",recordsExtra:t("4 2 123456789abcdef67890123456789abcdef67890123456789abcdef123456789
  • 4 is Algorithm: Algorithm (0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519; 6:Ed448)
  • 2 is Type: Algorithm used to hash the public key (0: reserved; 1: SHA-1; 2: SHA-256)
  • Last parameter is Fingerprint: Hexadecimal representation of the hash result, as text
")},TXT:{name:t("Text Record"),nameExtra:"example.com."}};a.DNS_RECORD_TYPE=g;a.getRecordSetType=e=>{var t;return g[e]?(0,l.default)(t="".concat(e," - ")).call(t,g[e].name):e};var _=()=>{var e,t;return(0,o.default)(e=(0,s.default)(t=(0,d.default)(g)).call(t)).call(e,(e=>{var t;return{label:(0,l.default)(t="".concat(e," - ")).call(t,g[e].name),value:e,key:e}}))};a.dnsRRTypeList=_;var b=/^.+\.$/;a.nameRegex=b;var y=t('The name should be end with "."');a.nameMessage=y;var I=(e,t)=>t?b.test(t)?u.default.resolve():u.default.reject(y):u.default.resolve();a.validateName=I;a.getRecordSetFormItem=(e,a)=>[{name:"type",label:t("Type"),type:"select",options:_(),onChange:a=>{var r,i,n;(0,c.default)(r=(0,d.default)(g)).call(r,a)&&e.setState({nameExtra:(0,l.default)(i="".concat(t("Exp: "))).call(i,g[a].nameExtra),recordsExtra:(0,p.default)(g[a].recordsExtra)?(0,l.default)(n="".concat(t("Exp: "))).call(n,g[a].recordsExtra):""})},required:!0},{name:"name",label:t("Name"),type:"input",required:!0,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),validator:I},{name:"description",label:t("Description"),type:"textarea"},{name:"ttl",label:t("TTL"),type:"input-number",required:!0},{name:"records",label:t("Records"),type:"add-select",isInput:!0,required:!0,placeholder:t("Please input at least one record"),width:280,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),validator:(e,r)=>{var{type:i}=a,{isIPv4:n,isIpv6:l}=h.ipValidate;return new u.default((e=>{r&&(0,f.default)(r).call(r,(e=>{if("A"===i&&!n(e.value))throw new Error(t("Please enter a valid IPv4 value."));if("AAAA"===i&&!l(e.value))throw new Error(t("Please enter a valid IPv6 value."))})),e()}))}}];var A=v.ZONE_STATUS;a.RECORD_STATUS=A},1406:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.anyProject=a.objectTypes=void 0;var i={network:t("Network"),qos_policy:t("QoS Policy")};a.objectTypes=i;a.anyProject={id:"*",name:"*"}},1471:function(e,t,a){var r=a(3868);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},1472:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3974)),l=i(a(3976)),o=i(a(3977)),s={actionConfigsContainer:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsSecret:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[n.default]}};t.default=s},1473:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.tableOptions=a.tableFilter=a.tableColumns=a.routerInterfaceOwners=a.instanceInterfaceOwners=void 0;var l=n(r(164)),o=r(163),s=r(1258);a.instanceInterfaceOwners=["compute:nova"];a.routerInterfaceOwners=["network:router_interface","network:ha_router_replicated_interface","network:router_interface_distributed"];var d=[{title:t("Port"),dataIndex:"id",width:150},{title:t("Network"),dataIndex:"network_name"},{title:t("Subnet"),dataIndex:"subnet_name"},{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Owner"),dataIndex:"owner"},{title:t("Device"),dataIndex:"device_name"},{title:t("Status"),dataIndex:"status",valueMap:s.portStatus}];a.tableColumns=d;var u=[{label:t("Network"),name:"network",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Device"),name:"router",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Status"),name:"status",options:(0,o.getOptions)(s.portStatus)}];a.tableFilter=u;var c={filterParams:u,columns:d};a.tableOptions=c},1474:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var m=p(r(63)),h=p(r(430)),v=p(r(1277)),g=p(r(54)),_=p(r(32)),b=p(r(164)),y=p(r(49)),I=p(r(58)),A=p(r(35)),S=p(r(601)),w=r(412),x=r(1241),P=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=N(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(1363)),C=r(1307),E=r(565),D=r(36),k=r(1251),R=r(571);function N(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(N=function(e){return e?a:t})(e)}function j(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function M(e){for(var t=1;t(a,r)=>{var i="source"===e?t("Source IP"):t("Destination IP");if(!r)return m.default.resolve();var n=(0,h.default)(r).call(r);if((0,S.default)(r)||0===n.length)return m.default.resolve();var{ip_version:l=4}=this.state,o=4===l;return!o||F(n)||O(n)?o||L(n)||Q(n)?m.default.resolve():m.default.reject(t("{ name } Format Error (e.g. FE80:0:0:0:0:0:0:1 or FE80:0:0:0:0:0:0:1/10)",{name:i})):m.default.reject(t("{ name } Format Error (e.g. 192.168.1.1 or 192.168.1.1/24)",{name:i}))})),(0,A.default)(this,"checkSourceIp",(()=>this.checkIp("source"))),(0,A.default)(this,"checkDestinationIp",(()=>this.checkIp("destination"))),(0,A.default)(this,"canChangeShared",(()=>{if(!(0,k.checkPolicyRule)("update_firewall_rule:shared"))return!1;if(this.id){var e,t=(0,D.toJS)(this.store.detail);return(0,v.default)(e=t.policies||[]).call(e,(e=>!e.shared))}return!0})),(0,A.default)(this,"onSubmit",(e=>{var{options:{enabled:t,shared:a},protocol:r,destination_ip_address:i,source_ip_address:n,source_port:l,destination_port:o}=e,s=M(M({},(0,I.default)(e,["options","protocol","destination_ip_address","source_ip_address","source_port","destination_port"])),{},{enabled:t,protocol:"any"===r?null:r,destination_ip_address:i||null,source_ip_address:n||null,source_port:l||null,destination_port:o||null});return this.canChangeShared()&&(s.shared=a),this.id?P.default.edit({id:this.id},s):P.default.create(s)}))}init(){this.store=new P.FirewallRuleStore,this.getDetail(),(0,R.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get isEdit(){return this.params&&!!this.params.id}get name(){return this.isEdit?t("Edit rule"):t("Create rule")}get id(){return this.params.id}static allowed(){return m.default.resolve(!0)}get disableSubmit(){return!this.isEdit&&(0,R.checkQuotaDisable)(T,B)}get showQuota(){return!this.isEdit}get quotaInfo(){return(0,R.getQuotaInfo)(this,T,B)}get defaultValue(){if(this.id){var e=(0,D.toJS)(this.store.detail);return M(M({},e),{},{options:{enabled:e.enabled,shared:e.shared}})}return{protocol:"tcp",action:"allow",ip_version:4,options:{enabled:!0,shared:!1}}}get protocolList(){var e;return(0,g.default)(e=(0,_.default)(C.protocolInfos)).call(e,(e=>({value:e,label:C.protocolInfos[e]})))}get actionList(){var e;return(0,g.default)(e=(0,_.default)(C.actionInfos)).call(e,(e=>({value:e,label:C.actionInfos[e]})))}get ipVersionList(){return[{value:4,label:t("IPv4")},{value:6,label:t("IPv6")}]}getDetail(){var e=this;return(0,y.default)((function*(){e.params.id&&(yield e.store.fetchDetail(e.params),e.updateDefaultValue(),e.updateState())}))()}get formItems(){var e,a,{protocol:r}=this.state;return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"protocol",label:t("Protocol"),type:"radio",options:this.protocolList,required:!0},{name:"action",label:t("Rule Action"),type:"select",options:this.actionList,required:!0},{name:"ip_version",label:t("IP Version"),type:"radio",options:this.ipVersionList},{name:"source_ip_address",label:t("Source IP Address/Subnet"),type:"input",validator:this.checkSourceIp()},{name:"source_port",label:t("Source Port/Port Range"),type:"port-range",hidden:(0,b.default)(e=["any","icmp"]).call(e,r)},{name:"destination_ip_address",label:t("Destination IP Address/Subnet"),type:"input",validator:this.checkDestinationIp()},{name:"destination_port",label:t("Destination Port/Port Range"),type:"input",help:t("Input destination port or port range (example: 80 or 80:160)"),hidden:(0,b.default)(a=["any","icmp"]).call(a,r)},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Enabled"),value:"enabled"},{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=q,(0,A.default)(q,"id","rule-create"),(0,A.default)(q,"title",t("Create Rule")),(0,A.default)(q,"path","/network/firewall-rule/create"),(0,A.default)(q,"policy","create_firewall_rule");var V=(0,w.inject)("rootStore")((0,w.observer)(q));a.default=V},1626:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Networks=void 0;var p=f(r(573)),m=f(r(29)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(571),b=r(233),y=r(342),I=f(r(1627));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;tthis.isAdminPage||this.isAllTab?S(S({},e),{},{all_projects:!0}):this.isProjectTab?S(S({},e),{},{project_id:this.currentProjectId}):this.isSharedTab?S(S({},e),{},{shared:!0}):this.isExternalTab?S(S({},e),{},{"router:external":!0}):S({},e)))}init(){this.store=new b.NetworkStore,this.downloadStore=new b.NetworkStore}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"status"}get policy(){return"get_network"}get name(){return t("networks")}get actionConfigs(){return I.default}get hasTab(){return!this.isAdminPage}get adminPageHasProjectFilter(){return!0}get tab(){if(this.isAdminPage)return null;var{tab:e="projectNetwork"}=this.props;return e}get isProjectTab(){return"projectNetwork"===this.tab}get isSharedTab(){return"sharedNetwork"===this.tab}get isExternalTab(){return"externalNetwork"===this.tab}get isAllTab(){return"allNetwork"===this.tab}getColumns(){var e=(0,_.networkColumns)(this);return this.isAdminPage||this.isAllTab?((0,p.default)(e).call(e,1,0,{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,sortKey:"project_id"}),e):this.isProjectTab?(0,m.default)(e).call(e,(e=>"tenant_id"!==e.dataIndex)):this.isSharedTab?(0,m.default)(e).call(e,(e=>"shared"!==e.dataIndex)):this.isExternalTab?(0,m.default)(e).call(e,(e=>"router:external"!==e.dataIndex)):e}get searchFilters(){var e={label:t("Name"),name:"name"},a={label:t("Shared"),name:"shared",options:y.yesNoOptions},r={label:t("External"),name:"router:external",options:y.yesNoOptions},i={label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]};return this.isSharedTab?[e,r,i]:this.isExternalTab?[e,a,i]:[e,a,r]}}a.Networks=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},1627:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1628)),l=i(a(1630)),o=i(a(3840)),s={rowActions:{firstAction:i(a(3841)).default,moreActions:[{action:l.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.default=s},1628:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateNetwork=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(91)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=f(r(352)),I=f(r(177)),A=r(412),S=r(1241),w=r(565),x=f(r(233)),P=f(r(340)),C=f(r(1270)),E=r(1251),D=f(r(1629)),k=r(571),R=r(1265),N=r(163),j=r(36),M=f(r(621));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],{left:r=0}=e||{},{left:i=0}=t||{};return a?0!==r&&0!==i?1:0:0!==r?1:0};class Y extends S.ModalAction{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var{name:t,project_id:a,provider_network_type:r,provider_physical_network:i,provider_segmentation_id:n,shared:l,external_network:o,availableZone:s,allocation_pools:d,host_routes:u,description:c,mtu:f,port_security_enabled:p}=e,m=(0,_.default)(e,["name","project_id","provider_network_type","provider_physical_network","provider_segmentation_id","shared","external_network","availableZone","allocation_pools","host_routes","description","mtu","port_security_enabled"]),h=K(d),v=G(u),g={name:t,description:c,port_security_enabled:p};s&&(g.availability_zone_hints=[s]),f&&(g.mtu=f);var b={"router:external":o,project_id:a?a.selectedRowKeys[0]:this.currentProjectId,"provider:network_type":r,"provider:physical_network":i,"provider:segmentation_id":n},y={shared:l},I=B({},g);return this.isAdminPage&&(I=B(B({},I),b)),this.isSystemAdmin&&(I=B(B({},I),y)),x.default.createAndMore(I,B(B({},m),{},{allocation_pools:h,host_routes:v}))})),(0,b.default)(this,"onOk",((e,a,r)=>(this.values=e,this.onSubmit(e,a).then((()=>{!this.isModal&&this.routing.push(this.listUrl),C.default.success(this.successText),r&&(0,y.default)(r)&&r(!0,!1)}),(a=>{var{type:i,error:n}=JSON.parse(a);"create_network"===i?C.default.errorWithDetail(n,this.errorText):"create_subnet"===i&&C.default.errorWithDetail(n,t("Unable to {action}, instance: {name}.",{action:t("Create Subnet"),name:e.subnet_name})),r&&(0,y.default)(r)&&r(!1,!0)}))))),(0,b.default)(this,"checkCidr",(e=>{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!z(e))&&!("ipv6"===t&&!J(e))})),(0,b.default)(this,"checkGateway",(e=>!!(0,I.default)(e)||!!W(e))),(0,b.default)(this,"validateAllocationPools",((e,t)=>Q.call(this,e,t))),(0,b.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))})),(0,b.default)(this,"onCreateSubnetChange",(e=>{this.setState({create_subnet:e}),x.default.updateCreateWithSubnet(e)}))}get name(){return t("create network")}static get modalSize(){var{pathname:e}=window.location;return(0,N.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){x.default.updateCreateWithSubnet(!1),this.state.networkQuota={},this.state.subnetQuota={},this.state.quotaLoading=!0,this.state.create_subnet=!1,this.state.projectId=this.currentProjectId,this.projectStore=P.default,D.default.fetchAvailableZones(),this.isAdminPage&&this.fetchProjectList(),this.getQuota()}get isSystemAdmin(){return(0,E.checkSystemAdmin)()}static get disableSubmit(){var{neutronQuota:{network:e={},subnet:t={}}}=P.default,{createWithSubnet:a=!1}=x.default;return 0===X(e,t,a)}static get showQuota(){return!0}fetchProjectList(){var e=this;return(0,g.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,j.toJS)(this.projectStore.list.data)||[]}get showQuota(){return!0}getQuota(){var e=this;return(0,g.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{network:r={},subnet:i={}}=a||{};e.setState({networkQuota:r,subnetQuota:i,quotaLoading:!1})}))()}get quotaInfo(){var{networkQuota:e={},subnetQuota:a={},quotaLoading:r,create_subnet:i}=this.state;if(r)return[];var n=X(e,a,i);return[B(B({},e),{},{add:n,name:"network",title:t("Network")}),B(B({},a),{},{add:i?n:0,name:"subnet",title:t("Subnet"),type:"line"})]}get defaultValue(){var e={enable_dhcp:!0,provider_network_type:"vxlan",ip_version:"ipv4",disable_gateway:!1,more:!1,port_security_enabled:!0,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isAdminPage&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}get availableZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=D.default.availableZones||[]).call(t,(e=>"available"===e.state&&"network"===e.resource))).call(e,(e=>({value:e.name,label:e.name})))}get SegIDTips(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215");case"vlan":return t("For VLAN networks, valid segmentation IDs are 1 to 4094");case"gre":return t("For GRE networks, valid segmentation IDs are 1 to 4294967295");default:return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215")}}get SegMax(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return 16777215;case"vlan":return 4094;case"gre":return 4294967295;default:return 16777215}}get formItems(){var{more:e,create_subnet:a=!1,provider_network_type:r="vxlan",ip_version:i="ipv4",disable_gateway:n=!1}=this.state,l=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,o=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,s=this.isAdminPage&&(0,h.default)(L).call(L,r)>-1,d=this.isAdminPage&&(0,h.default)(O).call(O,r)>-1,u="ipv4"===i;return[{name:"name",label:t("Network Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),options:this.availableZones},{name:"mtu",label:t("MTU"),type:"input-number",min:68,max:9e3,extra:t("Minimum value is 68 for IPv4, and 1280 for IPv6.")},{name:"create_subnet",label:t("Create Subnet"),type:"check",onChange:this.onCreateSubnetChange},{name:"shared",label:t("Shared"),type:"check",hidden:!this.isSystemAdmin},{name:"port_security_enabled",label:t("Port Security Enabled"),type:"switch",required:!0},{name:"external_network",label:t("External Network"),type:"check",hidden:!this.isAdminPage},B({name:"project_id",label:t("Project"),type:"select-table",hidden:!this.isAdminPage,required:this.isAdminPage,isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},R.projectTableOptions),{name:"provider_network_type",label:t("Provider Network Type"),type:"select",hidden:!this.isAdminPage,required:this.isAdminPage,options:[{label:"vxlan",value:"vxlan"},{label:"flat",value:"flat"},{label:"vlan",value:"vlan"},{label:"gre",value:"gre"}],onChange:e=>{this.setState({provider_network_type:e})}},{name:"provider_physical_network",label:t("Provider Physical Network"),type:"input",hidden:!l,required:o},{name:"provider_segmentation_id",label:t("Segmentation ID"),type:"input-int",hidden:!s,required:d,min:1,max:this.SegMax,extra:this.SegIDTips},{name:"subnet_name",label:t("Subnet Name"),hidden:!a,type:"input",required:a,validator:Z},{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0,hidden:!a},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?v.default.resolve():r&&r!==a?v.default.reject(new Error(t("Invalid combination"))):v.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i},{name:"cidr",label:t("CIDR"),type:"input",placeholder:u?"192.168.0.0/24":"1001:1001::/64",required:a,validator:(e,r)=>a||r?(0,I.default)(r)||this.checkCidr(r)?v.default.resolve():v.default.reject(new Error(t("Invalid: ")+t("CIDR"))):v.default.resolve(),hidden:!a,tip:u?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!(a&&e)},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===i?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(a&&e&&!n),validator:"ipv6"===i?(e,a)=>this.checkGateway(a)?v.default.resolve():v.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!(a&&e)},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:u?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!(a&&e),validator:this.validateAllocationPools,dependencies:["gateway_ip"]},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:u?"114.114.114.114":"1001:1001::/64"}),hidden:!(a&&e),validator:u?q:V},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:u?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!(a&&e),validator:u?H:U},{name:"more",label:t("Advanced Options"),type:"more",hidden:!a}]}}a.CreateNetwork=Y,(0,b.default)(Y,"id","create-network"),(0,b.default)(Y,"title",t("Create Network")),(0,b.default)(Y,"policy",["create_network","create_subnet"]),(0,b.default)(Y,"allowed",(()=>v.default.resolve(!0)));var $=(0,A.inject)("rootStore")((0,A.observer)(Y));a.default=$},1629:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.NeutronStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(55))),f=(i(a(75)),a(36)),p=i(a(50)),m=i(a(53)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"availableZones",l,this),(0,u.default)(this,"zoneLoading",o,this)}get zoneClient(){return p.default.neutron.azones}fetchAvailableZones(){var e=this;return(0,d.default)((function*(){e.zoneLoading=!0;var t=yield e.zoneClient.list(),{availability_zones:a=[]}=t;e.availableZones=a,e.zoneLoading=!1}))()}},l=(0,c.default)(n.prototype,"availableZones",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),o=(0,c.default)(n.prototype,"zoneLoading",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,c.default)(n.prototype,"fetchAvailableZones",[f.action],(0,s.default)(n.prototype,"fetchAvailableZones"),n.prototype),n);t.NeutronStore=h;var v=new h;t.default=v},1630:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateSubnet=void 0;var p=f(r(1252)),m=f(r(63)),h=f(r(49)),v=f(r(58)),g=f(r(35)),_=f(r(177)),b=r(412),y=r(1241),I=r(565),A=f(r(233)),S=f(r(340)),w=f(r(133)),x=r(571),P=r(1265),C=r(36),E=f(r(621));function D(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!L(e))&&!("ipv6"===t&&!O(e))})),(0,g.default)(this,"checkGateway",(e=>!!(0,_.default)(e)||!!Q(e))),(0,g.default)(this,"onSubmit",(e=>{var{allocation_pools:t,host_routes:a,project_id:r}=e,i=(0,v.default)(e,["allocation_pools","host_routes","project_id"]),n=B(t),l=F(a);return A.default.createSubnet(k(k({},i),{},{project_id:r?r.selectedRowKeys[0]:this.currentProjectId,network_id:this.network.id,allocation_pools:n,host_routes:l}))})),(0,g.default)(this,"validateAllocationPools",((e,t)=>R.call(this,e,t))),(0,g.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))}))}get name(){return t("Create Subnet")}static get modalSize(){return w.default.hasAdminRole?"large":"small"}getModalSize(){return this.isSystemAdmin?"large":"small"}get network(){return this.props.containerProps.detail||this.item||{}}get instanceName(){return this.item.name||(0,p.default)(this).subnet_name}get defaultValue(){var e={enable_dhcp:!0,ip_version:"ipv4",disable_gateway:!1,more:!1,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isSystemAdmin&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}init(){this.state.projectId=this.currentProjectId,this.state.quota={},this.state.quotaLoading=!0,this.projectStore=S.default,this.isSystemAdmin&&this.getProjects(),this.getQuota()}getProjects(){var e=this;return(0,h.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,C.toJS)(this.projectStore.list.data)||[]}static get disableSubmit(){var{neutronQuota:{subnet:{left:e=0}={}}}=S.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,h.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{subnet:r={}}=a||{};e.setState({quota:r,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[k(k({},e),{},{add:i,name:"subnet",title:t("Subnet")})]}get isSystemAdmin(){return this.props.rootStore.hasAdminRole}get networkProjectId(){var{project_id:e}=this.item;if(e)return e;var{detail:t={}}=this.containerProps;return t.project_id}get formItems(){var{more:e,ip_version:a="ipv4",disable_gateway:r=!1,projectId:i}=this.state,n="ipv4"===a;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0,withoutChinese:!0},k({name:"project_id",label:t("Project"),type:"select-table",required:!0,hidden:!this.isSystemAdmin,extra:i!==this.networkProjectId&&t("The selected project is different from the project to which the network belongs. That is, the subnet to be created is not under the same project as the network. Please do not continue unless you are quite sure what you are doing."),isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},P.projectTableOptions),{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?m.default.resolve():r&&r!==a?m.default.reject(new Error(t("Invalid combination"))):m.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a},{name:"cidr",label:t("CIDR"),type:"input",placeholder:n?"192.168.0.0/24":"1001:1001::/64",required:!0,validator:(e,a)=>(0,_.default)(a)||this.checkCidr(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: ")+t("CIDR"))),tip:n?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===a?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!r),validator:"ipv6"===a?(e,a)=>this.checkGateway(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:n?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!e,validator:this.validateAllocationPools},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:n?"114.114.114.114":"1001:1001::"}),hidden:!e,validator:n?N:j},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:n?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!e,validator:n?M:T},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.CreateSubnet=q,(0,g.default)(q,"id","create-subnet"),(0,g.default)(q,"title",t("Create Subnet")),(0,g.default)(q,"policy","create_subnet"),(0,g.default)(q,"allowed",((e,t)=>{var{project_id:a}=e||{},{detail:{project_id:r}={}}=t||{},i=a||r,n=w.default,{hasAdminRole:l=!1,user:{project:{id:o}={}}={}}=n;return l||i===o?m.default.resolve(!0):m.default.resolve(!1)}));var V=(0,b.inject)("rootStore")((0,b.observer)(q));a.default=V},1631:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1630)),l=i(a(3844)),o={rowActions:{firstAction:i(a(3845)).default,moreActions:[{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]};t.default=o},1632:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1633)),l=i(a(3850)),o=i(a(3851)),s=i(a(3852)),d=i(a(3853)),u=i(a(3854)),c=i(a(3855)),f=i(a(3856)),p=i(a(3857)),m={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:u.default},{action:c.default},{action:l.default},{action:s.default},{action:d.default},{action:f.default},{action:p.default}]},primaryActions:[n.default],batchActions:[l.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default]}};t.default=m},1633:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=f(r(570)),y=r(412),I=r(575),A=r(233),S=f(r(1629)),w=f(r(340)),x=r(1241),P=r(571),C=r(1393);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{(0,b.default)(e,"openExternalNetwork")&&this.setState({openExternalNetwork:e.openExternalNetwork})})),(0,_.default)(this,"onSubmit",(e=>{var{openExternalNetwork:t,externalNetwork:a,hints:r={}}=e,i=(0,g.default)(e,["openExternalNetwork","externalNetwork","hints"]),n=t?{external_gateway_info:{network_id:a.selectedRows[0].id}}:null,l=r.selectedRowKeys||[];return this.store.create(D(D(D({},i),n),{},{availability_zone_hints:l}))}))}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=new I.RouterStore,this.networkStore=new A.NetworkStore,this.projectStore=w.default,this.fetchAzones(),this.getQuota()}get name(){return t("create router")}static get modalSize(){return"large"}getModalSize(){return"large"}fetchAzones(){S.default.fetchAvailableZones()}get aZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=S.default.availableZones||[]).call(t,(e=>"available"===e.state&&"router"===e.resource))).call(e,(e=>D(D({},e),{},{id:e.name})))}static get disableSubmit(){var{neutronQuota:{router:{left:e=0}={}}={}}=w.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,v.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{router:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[D(D({},e),{},{add:i,name:"router",title:t("Router")})]}get defaultValue(){return{openExternalNetwork:!1}}get formItems(){var{openExternalNetwork:e}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"hints",label:t("Availability Zone Hints"),type:"select-table",data:this.aZones,isLoading:S.default.zoneLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("State"),dataIndex:"state",valueMap:C.availabilityZoneState},{title:t("Resource Type"),dataIndex:"resource",valueMap:C.availabilityZoneResource}]},{name:"openExternalNetwork",label:t("Options"),type:"check",content:t("Open External Gateway")},{name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:e,hidden:!e,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:P.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.Create=k,(0,_.default)(k,"id","create"),(0,_.default)(k,"title",t("Create Router")),(0,_.default)(k,"policy","create_router"),(0,_.default)(k,"allowed",(()=>h.default.resolve(!0)));var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},1634:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(91)),s=n(r(54)),d=n(r(77));r(589);var u=n(r(590));r(1384);var c=n(r(1385));r(231);var f=n(r(341));r(1303);var p=n(r(1290)),m=n(r(35)),h=n(r(0)),v=r(163),g=r(580),_=r(1267),b=(r(161),r(204)),y=n(r(3871)),I=n(r(1471));class A extends h.default.Component{constructor(e){super(e),(0,m.default)(this,"detailButtons",(()=>[{name:t("Clear Gateway"),click:null},{name:t("Associate IP"),click:null},{name:t("Associate Network"),click:null},{name:t("delete"),type:"danger",click:null}])),this.state={}}get statusMap(){return{SHUTOFF:{status:"default",text:t("Shutoff")},ACTIVE:{color:"green",text:t("Active")}}}get detailInfos(){var{data:{subnets:e}}=this.props,a=(0,l.default)(e).call(e,(e=>{var t;return-1===(0,o.default)(t=e.name).call(t,"HA subnet tenant")}));return[{title:t("Name"),dataIndex:"name",render:(e,t)=>e?h.default.createElement(b.Link,{to:"/network/router/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",render:e=>_.routerStatus[e]||e},{title:t("External Fixed IP"),dataIndex:"external_gateway_info",isHideable:!0,render:e=>{var t;return(0,s.default)(t=(e||{}).external_fixed_ips||[]).call(t,(e=>h.default.createElement("span",{key:e.ip_address},e.ip_address,h.default.createElement("br",null))))||"-"}},{title:t("Subnet"),dataIndex:"subnets",render:e=>{if(!a[0])return"-";var t=(0,l.default)(a).call(a,(t=>-1!==(0,o.default)(e).call(e,t.id)));return(0,s.default)(t).call(t,(e=>h.default.createElement("span",{key:e.id},e.name," (",e.cidr,")",h.default.createElement("br",null))))}}]}renderCardInfos(e){var t,a=(0,s.default)(t=this.detailInfos).call(t,(t=>{var a,{title:r,dataIndex:i,render:n}=t;return!this.isLoading&&e&&e.id?(a=n?n(e[i],e):e[i],"create_time"!==i&&"update_time"!==i&&"created_at"!==i||n||(a=(0,g.getLocalTimeStr)(a)),void 0===a&&(a="-")):a="-",{label:r,content:a}}));return h.default.createElement(p.default,{column:1,className:I.default["descriptions-item"]},(0,s.default)(a).call(a,(e=>h.default.createElement(p.default.Item,{label:e.label,key:"label-".concat((0,v.generateId)())},e.content))))}renderButton(){var e=this.detailButtons();return h.default.createElement("div",{className:I.default["card-button"]},(0,s.default)(e).call(e,(e=>h.default.createElement(f.default,{type:e.type?e.type:"primary"},e.name))))}renderCard(e,t){return h.default.createElement("div",{style:{width:e}},this.renderCardInfos(t))}renderTitle(e,t){var a;return h.default.createElement("div",{className:I.default["node-card-title"]},(0,d.default)(a="".concat(e,": ")).call(a,t))}render(){var{x:e,y:a}=this.props,{data:{routers:r},infoIndex:i}=this.props,n=r[i];return h.default.createElement("div",{className:I.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e,"px")}},h.default.createElement(u.default,{placement:"rightTop",content:this.renderCard(430,n),title:this.renderTitle(t("Router"),n.name)},h.default.createElement("div",{style:{textAlign:"center",width:"50px",height:"50px",overflow:"hidden"}},h.default.createElement(c.default,{src:y.default,shape:"square",size:30}),h.default.createElement("div",{style:{transform:"scale(0.9,1)"}},n.name))))}}a.default=A},1635:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=r(412),o=r(582),s=n(r(1243)),d=r(1258),u=n(r(3879));class c extends s.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{routerId:e}=this.params;return this.getRoutePath("routerDetail",{id:e},{tab:"interfaces"})}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.portStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}init(){this.store=new o.PortStore}}a.PortDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},1636:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var p=f(r(35)),m=r(412),h=f(r(1242)),v=r(576),g=r(1357),_=r(66),b=r(342),y=f(r(1637));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{switch(this.tabKey){case"projectQoSPolicy":return A(A({},e),{},{project_id:this.currentProjectId});case"sharedQoSPolicy":return A(A({},e),{},{shared:!0});default:return e}}))}init(){this.store=new v.QoSPolicyStore,this.downloadStore=new v.QoSPolicyStore}get isProjectTab(){var e=this.tabKey;return!this.isAdminPage&&(!e||"projectQoSPolicy"===e)}get checkEndpoint(){return!0}get endpoint(){return(0,_.qosEndpoint)()}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get name(){return t("QoS policies")}get actionConfigs(){return this.isAdminPage?y.default.actionConfigs:this.isProjectTab?y.default.consoleActions:b.emptyActionConfig}get hasTab(){return!this.isAdminPage}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"name"}get tabKey(){var{tab:e}=this.props;return e}getColumnParamsFromTabKey(){switch(this.tabKey){case"projectQoSPolicy":return{self:this,all:!1,shared:!1};case"sharedQoSPolicy":return{self:this,all:!1,shared:!0};case"allQoSPolicy":default:return{self:this,all:!0,shared:!1}}}getColumns(){return(0,g.getQosPolicyColumns)(this.getColumnParamsFromTabKey())}get searchFilters(){return(0,g.getQosPolicyFilters)(this.getColumnParamsFromTabKey())}}a.QoSPolicy=S;var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1637:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3896)),l=i(a(3897)),o=i(a(3898)),s=i(a(3899)),d=i(a(3900)),u=i(a(3901)),c=i(a(3902)),f=i(a(3903)),p=i(a(3904)),m=i(a(3905)),h=i(a(3906)),v={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:d.default},{action:h.default},{action:u.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},consoleActions:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]}};t.default=v},1638:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n,l=(0,i(a(54)).default)(n="0,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,46,48,56".split(",")).call(n,(e=>({label:e,value:e})));t.default=l},1639:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3910)),l=i(a(3911)),o=i(a(3912)),s=i(a(1640)),d=i(a(3918)),u={rowActions:{firstAction:n.default,moreActions:[{action:o.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[s.default]};t.actionConfigs=u;var c={rowActions:{moreActions:[{action:l.default}]}};t.adminActions=c},1640:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(32)),d=n(r(91)),u=n(r(29)),c=n(r(63)),f=n(r(58)),p=n(r(35)),m=r(412),h=r(1241),v=n(r(581)),g=r(1254),_=n(r(3913)),b=n(r(3914)),y=n(r(3915)),I=n(r(3916)),A=n(r(3917));class S extends h.StepAction{constructor(){super(...arguments),(0,p.default)(this,"onSubmit",(e=>{var t,{name:a,description:r,vip_address:i,vip_network_id:n,admin_state_enabled:c,enableHealthMonitor:p,listener_protocol:m,listener_ssl_parsing_method:h,listener_sni_enabled:v,listener_default_tls_container_ref:_,listener_client_ca_tls_container_ref:b,listener_sni_container_refs:y,listener_admin_state_up:I,pool_admin_state_up:A,monitor_admin_state_up:S,insert_headers:w}=e,x=(0,f.default)(e,["name","description","vip_address","vip_network_id","admin_state_enabled","enableHealthMonitor","listener_protocol","listener_ssl_parsing_method","listener_sni_enabled","listener_default_tls_container_ref","listener_client_ca_tls_container_ref","listener_sni_container_refs","listener_admin_state_up","pool_admin_state_up","monitor_admin_state_up","insert_headers"]),P={name:a,description:r,vip_network_id:n.selectedRowKeys[0]},{ip_address:C,subnet:E}=i[0];P.vip_subnet_id=E,C&&C.ip&&(P.vip_address=C.ip),P.admin_state_up=c;var D,k={admin_state_up:I,protocol:m},R=(0,g.getInsertHeadersValueFromForm)(w);(R&&(k.insert_headers=R),"TERMINATED_HTTPS"===m)&&(_&&(k.default_tls_container_ref=_.selectedRows[0].container_ref),"two-way"===h&&b&&(k.client_ca_tls_container_ref=b.selectedRows[0].secret_ref,k.client_authentication="MANDATORY"),v&&y&&(k.sni_container_refs=(0,l.default)(D=y.selectedRows).call(D,(e=>e.container_ref))));var N={admin_state_up:A},j={admin_state_up:S};(0,o.default)(t=(0,s.default)(x)).call(t,(t=>{0===(0,d.default)(t).call(t,"listener")?k[t.replace("listener_","")]=e[t]:0===(0,d.default)(t).call(t,"pool")?N[t.replace("pool_","")]=e[t]:0===(0,d.default)(t).call(t,"health")&&(j[t.replace("health_","")]=e[t])})),p&&(N.healthmonitor=j);var{extMembers:M=[],Member:{selectedRowKeys:T=[],selectedRows:B,memberUpdateValue:F=[]}={}}=x,L=[];return(0,o.default)(T).call(T,(e=>{var t=(0,u.default)(B).call(B,(t=>t.id===e))[0],a=(0,u.default)(F).call(F,(t=>t.id===e))[0],{weight:r=0,protocol_port:i=1}=a||{},{member_ip:n,fixed_ips:l=[]}=t;(0,o.default)(n).call(n,(e=>{var{subnet_id:t}=(0,u.default)(l).call(l,(t=>t.ip_address===e))[0],a={weight:r,protocol_port:i,address:e,subnet_id:t};L.push(a)}))})),(0,o.default)(M).call(M,(e=>{var{ip:t,protocol_port:a,weight:r,name:i=null,subnet_id:n}=e.ip_address,l={weight:r,protocol_port:a,address:t,name:i,subnet_id:n};L.push(l)})),N.members=L,k.default_pool=N,P.listeners=[k],this.store.create(P)}))}init(){this.store=v.default}static allowed(e,t){var{isAdminPage:a=!1}=t;return c.default.resolve(!a)}get name(){return t("Create Loadbalancer")}get listUrl(){return this.getRoutePath("lb")}get hasConfirmStep(){return!1}get steps(){return[{title:t("Base Config"),component:_.default},{title:t("Listener Detail"),component:b.default},{title:t("Pool Detail"),component:y.default},{title:t("Member Detail"),component:I.default},{title:t("Health Monitor Detail"),component:A.default}]}}a.StepCreate=S,(0,p.default)(S,"id","lb-create"),(0,p.default)(S,"title",t("Create Loadbalancer")),(0,p.default)(S,"path","/network/load-balancers/create"),(0,p.default)(S,"policy","os_load-balancer_api:loadbalancer:post");var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1641:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3921)),l=i(a(3922)),o=i(a(3923)),s=i(a(3924)),d=i(a(3925)),u=i(a(1642)),c=i(a(3927)),f={rowActions:{firstAction:o.default,moreActions:[{action:l.default},{action:n.default},{action:s.default},{action:c.default},{action:d.default}]},batchActions:[],primaryActions:[u.default]};t.actionConfigs=f;var p={rowActions:{moreActions:[{action:c.default},{action:l.default}]}};t.adminActions=p},1642:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=r(412),y=r(1241),I=r(1306),A=r(1335),S=r(1336),w=r(1254);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t"os_load-balancer_api:listener:post")),(0,_.default)(this,"onSubmit",(e=>{var t,{sni_enabled:a,ssl_parsing_method:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l,insert_headers:o}=e,s=P(P({},(0,g.default)(e,["sni_enabled","ssl_parsing_method","default_tls_container_ref","client_ca_tls_container_ref","sni_container_refs","insert_headers"])),{},{loadbalancer_id:this.containerProps.detail.id}),d=(0,w.getInsertHeadersValueFromForm)(o);(d&&(s.insert_headers=d),i&&(s.default_tls_container_ref=i.selectedRows[0].container_ref),n&&(s.client_ca_tls_container_ref=n.selectedRows[0].secret_ref,s.client_authentication="MANDATORY"),l)&&(s.sni_container_refs=(0,p.default)(t=l.selectedRows).call(t,(e=>e.container_ref)));return this.store.create(s)}))}get name(){return t("Create Listener")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.store=new I.ListenerStore,this.containersStore=new A.ContainersStore,this.secretsStore=new S.SecretsStore,this.fetchContainers(),this.fetchSecrets()}fetchContainers(){var e=this;return(0,v.default)((function*(){yield e.containersStore.fetchList(),e.updateDefaultValue()}))()}fetchSecrets(){var e=this;return(0,v.default)((function*(){yield e.secretsStore.fetchList({mode:"CA"}),e.updateDefaultValue()}))()}get ServerCertificate(){return this.containersStore.list.data||[]}get CaCertificate(){return this.secretsStore.list.data||[]}get SNICertificate(){var e;return(0,m.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get isEdit(){return!1}get nameForStateUpdate(){return["protocol","ssl_parsing_method","sni_enabled"]}get defaultValue(){return{ssl_parsing_method:"one-way",sni_enabled:!1,connection_limit:-1,admin_state_up:!0}}get formItems(){var e,{protocol:a,ssl_parsing_method:r,sni_enabled:i}=this.state,n=(0,w.getListenerInsertHeadersFormItem)();return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"protocol",label:t("Protocol"),type:"select",options:w.listenerProtocols,required:!0,disabled:this.isEdit},{name:"ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:w.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.ServerCertificate,isLoading:this.containersStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CaCertificate,isLoading:this.secretsStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,m.default)(e=(0,w.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNICertificate,isLoading:this.containersStore.list.isLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,disabled:this.isEdit},{name:"connection_limit",label:t("Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.Create=C,(0,_.default)(C,"id","create_listener"),(0,_.default)(C,"title",t("Create Listener")),(0,_.default)(C,"policy","os_load-balancer_api:listener:post"),(0,_.default)(C,"allowed",(e=>h.default.resolve("ACTIVE"===e.provisioning_status)));var E=(0,b.inject)("rootStore")((0,b.observer)(C));a.default=E},1643:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3958)),l=i(a(3960)),o=i(a(3961)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},1644:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3965)),l=i(a(3966)),o=i(a(3967)),s=i(a(1645)),d={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=d},1645:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(164)),m=f(r(234)),h=f(r(54)),v=f(r(28)),g=f(r(32)),_=f(r(431)),b=f(r(77)),y=f(r(63)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(570)),x=r(412),P=r(1241),C=f(r(622)),E=f(r(419)),D=f(r(340)),k=r(354),R=r(565);function N(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function j(e){for(var t=1;t{(0,w.default)(e,"portOrRange")&&this.setState({sourcePort:""},(()=>{this.updateDefaultValue()})),(0,w.default)(e,"remoteType")&&this.setState({remote_ip_prefix:"",remote_group_id:""},(()=>{this.updateDefaultValue()})),this.setState(j({},e))})),(0,S.default)(this,"handleDirectionChange",(e=>{this.setState({direction:e})})),(0,S.default)(this,"onSubmit",((e,t)=>{var a,{match:{params:{id:r}={}}={}}=t,{sourcePort:i,protocol:n,ipProtocol:l,icmpType:o,icmpCode:s,portOrRange:d,remoteType:u}=e,c=(0,A.default)(e,["sourcePort","protocol","ipProtocol","icmpType","icmpCode","portOrRange","remoteType"]),f=(0,p.default)(a=["custom_udp","custom_tcp"]).call(a,n)&&"range"===d,h=i.split(":"),v="custom_protocol"!==n?this.defaultRules[n].ip_protocol:l,g=j({security_group_id:r||this.item.id,port_range_min:"custom_icmp"===n?o:f?(0,m.default)(h[0],10):null,port_range_max:"custom_icmp"===n?s:f?(0,m.default)(h[1]||h[0],10):null,protocol:v},c);return(0,p.default)(n).call(n,"all")&&(delete g.remote_ip_prefix,delete g.remote_group_id),this.store.create(g)})),this.state={protocol:this.protocolList[0].value,portOrRange:"range",remoteType:"cidr",direction:"ingress",ipProtocol:"ah"}}get name(){return t("Create rule")}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=C.default,this.groupStore=E.default,this.projectStore=D.default,this.getAllGroups(),this.getQuota()}get messageHasItemName(){return!1}getAllGroups(){var e=this;return(0,I.default)((function*(){var t=yield E.default.fetchList();e.allGroups=(0,h.default)(t).call(t,(e=>({label:e.name,value:e.id})))}))()}static get disableSubmit(){var{neutronQuota:{security_group_rule:{left:e=0}={}}={}}=D.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,I.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group_rule:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e||{},i=0===r?0:1;return[j(j({},e),{},{add:i,name:"security_group_rule",title:t("Security Group Rule")})]}get defaultRules(){return{custom_tcp:{name:t("Custom TCP Rule"),ip_protocol:"tcp"},custom_udp:{name:t("Custom UDP Rule"),ip_protocol:"udp"},custom_icmp:{name:t("Custom ICMP Rule"),ip_protocol:"icmp"},all_proto:{name:t("All Proto"),ip_protocol:null},all_tcp:{name:t("All TCP"),ip_protocol:"tcp",from_port:"1",to_port:"65535"},all_udp:{name:t("All UDP"),ip_protocol:"udp",from_port:"1",to_port:"65535"},all_icmp:{name:t("All ICMP"),ip_protocol:"icmp"},custom_protocol:{name:t("Other Protocol")}}}get protocolList(){var e,t=[];return(0,v.default)(e=(0,g.default)(this.defaultRules)).call(e,(e=>{t.push({value:e,label:this.defaultRules[e].name})})),t}get ruleList(){return(0,_.default)(this.defaultRules,this.settingRules)}get defaultValue(){var e,t=this.state,{protocol:a}=t,r=(0,A.default)(t,["protocol"]),{from_port:i,to_port:n}=this.ruleList[a],{sourcePort:l=""}=this.state;i&&(l=i!==n?(0,b.default)(e="".concat(i,":")).call(e,n):i);return j(j({},r),{},{protocol:a,sourcePort:l})}get formItems(){var e,a,{protocol:r,portOrRange:i,remoteType:n,direction:l}=this.state,o="custom_protocol"===r,s="custom_icmp"===r,d=(0,p.default)(e=["custom_udp","custom_tcp"]).call(e,r),u=(0,p.default)(a=["custom_udp","custom_tcp","custom_icmp"]).call(a,r),c=d&&"range"===i,f=u&&"cidr"===n,m=u&&"sg"===n;return[{name:"protocol",label:t("Protocol"),type:"select",required:!0,options:this.protocolList},{name:"direction",label:t("Direction"),type:"select",required:!0,options:[{value:"ingress",label:t("Ingress")},{value:"egress",label:t("Egress")}],onChange:this.handleDirectionChange},{name:"ethertype",label:t("Ether Type"),type:"select",required:!0,options:[{value:"IPv4",label:t("IPv4")},{value:"IPv6",label:t("IPv6")}]},{name:"portOrRange",label:t("Port Type"),type:"select",required:d,options:[{value:"all",label:t("All Port")},{value:"range",label:t("Custom")}],hidden:!d},{name:"sourcePort",label:"egress"===l?t("Destination Port/Port Range"):t("Source Port/Port Range"),type:"port-range",required:c,hidden:!c,extra:"egress"===l&&t("Input destination port or port range (example: 80 or 80:160)")},{name:"ipProtocol",label:t("IP Protocol"),type:"select-input",options:k.ipProtocols,required:o,hidden:!o,formRef:this.formRef,help:t("Please input protocol number if it absent in select list.")},{name:"icmpType",label:t("ICMP Type"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP type(0-255)")},{name:"icmpCode",label:t("ICMP Code"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP code(0-255)")},{name:"remoteType",label:t("Remote Type"),type:"select",required:u,options:[{value:"cidr",label:t("cidr")},{value:"sg",label:t("Security Group")}],hidden:!u},{name:"remote_ip_prefix",label:t("Remote IP Prefix"),type:"input",hidden:!f,required:f,validator:f?R.cidrAllValidate:null,placeholder:t("Please input IPv4 or IPv6 cidr"),extra:t("Please input IPv4 or IPv6 cidr, (e.g. 192.168.0.0/24, 2001:DB8::/48)")},{name:"remote_group_id",label:t("Remote Security Group"),type:"select",required:m,hidden:!m,options:this.allGroups}]}}a.Create=M,(0,S.default)(M,"id","create"),(0,S.default)(M,"title",t("Create Rule")),(0,S.default)(M,"policy","create_security_group_rule"),(0,S.default)(M,"allowed",(()=>y.default.resolve(!0)));var T=(0,x.inject)("rootStore")((0,x.observer)(M));a.default=T},1646:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3983)),l=i(a(3984)),o={rowActions:{moreActions:[{action:n.default},{action:l.default}]}};t.default=o},1647:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(49)),l=i(a(58)),o=i(a(35)),s=i(a(53));class d extends s.default{constructor(){super(...arguments),(0,o.default)(this,"updateParamsSortPage",((e,t,a)=>{t&&a&&(e.sort_key=t,e.sort_dir="descend"===a?"desc":"asc")}))}get paramsFuncPage(){return e=>{var{current:t,all_projects:a}=e;return(0,l.default)(e,["current","all_projects"])}}listFetchByClient(e,t){var{all_projects:a=!1}=t,r={headers:{"x-auth-all-projects":a}};if(!this.isSubResource)return this.client.list(e,r);var i=this.getFatherResourceId(t);return this.client.list(i,e,r)}detailFetchByClient(e,t,a){var{id:r}=e,{all_projects:i=!1}=a,n={headers:{"x-auth-all-projects":i}};if(!this.isSubResource)return this.client.show(r,t,n);var l=this.getFatherResourceId(e);return this.client.show(l,r,t,n)}getCountForPage(e,t,a,r){return(0,n.default)((function*(){var{metadata:e={}}=r,{total_count:t=0}=e||{};return{total:t,count:t}}))()}}t.default=d},1648:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(86)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=r(1404),I=f(r(1360)),A=r(565);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(!a||!a.length)return p.default.resolve();if((0,m.default)(a).call(a,(e=>!e.value||!(A.ipValidate.isIPv4(e.value)||!A.ipValidate.isIpv6(e.value)))))return p.default.reject(t("Please input a valid ip!"));var r=(0,m.default)(a).call(a,(e=>!!(0,m.default)(a).call(a,(t=>t.value===e.value&&t.index!==e.index))));return r?p.default.reject(t("The ip address {ip} is duplicated, please modify it.",{ip:r.value})):p.default.resolve()})),(0,g.default)(this,"onSubmit",(e=>{var{masters:t=[],type:a,email:r,ttl:i}=e,n=w(w({},(0,v.default)(e,["masters","type","email","ttl"])),{},{type:a,masters:(0,h.default)(t).call(t,(e=>e.value))});return"PRIMARY"===a&&(n.email=r,n.ttl=i),this.store.create(n)}))}init(){this.store=I.default}static get modalSize(){return"small"}get name(){return t("Create Zone")}static allowed(){return p.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:y.ZONE_TYPE_ENUM.primary}}get nameForStateUpdate(){return["type"]}get formItems(){var{type:e=y.ZONE_TYPE_ENUM.primary}=this.state,a=e===y.ZONE_TYPE_ENUM.primary;return[{name:"name",label:t("Name"),type:"input",required:!0,extra:y.zoneNameMessage,validator:y.validateZoneName},{name:"description",label:t("Description"),type:"textarea"},{name:"type",label:t("Type"),type:"select",options:y.zoneTypeOptions,tip:t("Primary is controlled by Designate, Secondary zones are slaved from another DNS Server.")},{name:"email",label:t("Email Address"),type:"input",required:a,hidden:!a,validator:A.emailValidate,extra:t("Email for the zone. Used in SOA records for the zone.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,required:a,hidden:!a,extra:t("TTL (Time to Live) for the zone.")},{name:"masters",label:t("Masters"),type:"add-select",isInput:!0,placeholder:t("Please input ip address"),tip:t("Mandatory for secondary zones. The servers to slave from to get DNS information."),minCount:1,hidden:a,required:!a,validator:this.validateMasters}]}}a.Create=x,(0,g.default)(x,"id","create_zone"),(0,g.default)(x,"title",t("Create Zone")),(0,g.default)(x,"policy","create_zone");var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},1649:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=f(r(1361)),I=r(1405);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{detail:t}=this.containerProps,{id:a}=t||this.item,{records:r}=e,i=(0,v.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=S({records:n},i);return this.store.create({id:a},l)}))}init(){var e,a;this.store=y.default,this.state=S(S({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE.A.nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE.A.recordsExtra)})}get name(){return t("Create Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:"A"}}get formItems(){return(0,I.getRecordSetFormItem)(this,this.currentFormValue)}}a.Create=w,(0,g.default)(w,"id","create-record-set"),(0,g.default)(w,"title",t("Create Record Set")),(0,g.default)(w,"policy","create_recordset");var x=(0,b.inject)("rootStore")((0,b.observer)(w));a.default=x},1650:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3994)),l=i(a(3995)),o=i(a(1649)),s={rowActions:{firstAction:n.default,moreActions:[{action:l.default}]},primaryActions:[o.default],batchActions:[l.default]};t.default=s},1651:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1652)),l=i(a(4e3)),o=i(a(4001)),s={actionConfigs:{rowActions:{firstAction:i(a(4002)).default,moreActions:[{action:o.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=s},1652:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var p=f(r(63)),m=f(r(28)),h=f(r(29)),v=f(r(164)),g=f(r(86)),_=f(r(54)),b=f(r(49)),y=f(r(58)),I=f(r(35)),A=r(412),S=r(1241),w=f(r(1339)),x=f(r(1294)),P=f(r(575)),C=f(r(233)),E=f(r(582)),D=r(1362),k=r(1473),R=r(1258),N=r(36),j=r(571);function M(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function T(e){for(var t=1;t{var{ingressPolicy:t={},egressPolicy:a={},options:{admin_state_up:r=!0,shared:i=!1}={},ports:n={}}=e,l=(0,y.default)(e,["ingressPolicy","egressPolicy","options","ports"]),o=t.selectedRowKeys&&t.selectedRowKeys[0],s=a.selectedRowKeys&&a.selectedRowKeys[0],d=T({admin_state_up:r,shared:i},l);return o&&(d.ingress_firewall_policy_id=o),s&&(d.egress_firewall_policy_id=s),n.selectedRowKeys&&(d.ports=n.selectedRowKeys),this.store.create(d)}))}init(){this.store=w.default,this.policyStore=x.default,this.routerStore=P.default,this.networkStore=C.default,this.portStore=E.default,this.getNetworks(),this.getRouters(),this.getPolicies(),this.getPorts(),(0,j.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall")}get name(){return t("Create firewall")}static allowed(){return p.default.resolve(!0)}get disableSubmit(){return(0,j.checkQuotaDisable)(B,F)}get showQuota(){return!0}get quotaInfo(){return(0,j.getQuotaInfo)(this,B,F)}getNetworks(){this.networkStore.fetchList({isFirewall:!0})}getRouters(){this.routerStore.fetchList({isFirewall:!0})}getPolicies(){this.policyStore.fetchList()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,N.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,m.default)(e=(0,N.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,h.default)(r=e.ports).call(r,(e=>(0,v.default)(k.routerInterfaceOwners).call(k.routerInterfaceOwners,e.device_owner)));(0,m.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,g.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.network_name=a.network?a.network.name:"",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,g.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get policies(){var e,t;return(0,_.default)(e=(0,h.default)(t=this.policyStore.list.data||[]).call(t,(e=>e.firewalls.length<2))).call(e,(e=>T(T({},e),{},{key:e.id})))}get defaultValue(){return{options:{admin_state_up:!0}}}get instancePorts(){var e;return(0,_.default)(e=(0,N.toJS)(this.portStore.list.data||[])).call(e,(e=>T(T({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:T(T({data:this.ports},k.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:T(T({data:this.instancePorts},(0,R.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},T({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),T({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=L,(0,I.default)(L,"id","firewall-create"),(0,I.default)(L,"title",t("Create Firewall")),(0,I.default)(L,"path","/network/firewall/create"),(0,I.default)(L,"policy","create_firewall_group");var O=(0,A.inject)("rootStore")((0,A.observer)(L));a.default=O},1653:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1654)),l=i(a(4004)),o=i(a(1655)),s=i(a(4005)),d=i(a(4006)),u={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:s.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=u},1654:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(1294)),u=r(1241),c=r(1251),f=r(571),p=["firewall_policy"],m=[1];class h extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a,options:{shared:r,audited:i}={}}=e,n={name:t,shared:r,audited:i,description:a};return this.store.create(n)}))}get name(){return t("create firewall policy")}init(){this.store=d.default,(0,f.fetchNeutronQuota)(this)}static get disableSubmit(){return(0,f.checkQuotaDisable)(p,m)}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,f.getQuotaInfo)(this,p,m)}get defaultValue(){return{options:{shared:!1,audited:!1}}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!(0,c.checkPolicyRule)("update_firewall_policy:shared")},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Create=h,(0,o.default)(h,"id","create-simple"),(0,o.default)(h,"title",t("Create Firewall Policy")),(0,o.default)(h,"buttonText",t("Create Policy")),(0,o.default)(h,"policy","create_firewall_policy"),(0,o.default)(h,"allowed",(()=>l.default.resolve(!0)));var v=(0,s.inject)("rootStore")((0,s.observer)(h));a.default=v},1655:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(35)),o=r(412),s=n(r(1294)),d=r(1241),u=r(1362),c=r(1251);class f extends d.ModalAction{constructor(){super(...arguments),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{name:a,options:{shared:r,audited:i}={},description:n}=e,l={name:a,audited:i,description:n};return this.canChangeShared()&&(l.shared=r),this.store.edit({id:t},l)}))}init(){this.store=s.default}get defaultValue(){var{name:e,shared:t,description:a,audited:r}=this.item;return{name:e,description:a,options:{shared:t,audited:r}}}canChangeShared(){return(0,c.checkPolicyRule)("update_firewall_policy:shared")}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=f,(0,l.default)(f,"id","edit"),(0,l.default)(f,"title",t("Edit")),(0,l.default)(f,"policy","update_firewall_policy"),(0,l.default)(f,"allowed",(e=>!(0,u.isDefault)(e)&&(0,u.isMine)(e)));var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},1656:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(35)),m=f(r(58)),h=f(r(49)),v=f(r(54)),g=f(r(203)),_=f(r(91)),b=f(r(0)),y=r(412),I=f(r(1242)),A=r(1363),S=r(1307),w=r(342),x=f(r(1657));function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class C extends I.default{init(){this.store=new A.FirewallRuleStore}get policy(){return"get_firewall_rule"}get name(){return t("firewall rules")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?this.inDetailPage?w.emptyActionConfig:x.default.actionConfigsAdmin:this.inDetailPage?x.default.actionConfigsInDetail:x.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){var e={title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallRuleDetail")},a={title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},r={title:t("Related Policy"),dataIndex:"policies",isHideable:!0,render:e=>(0,v.default)(e).call(e,(e=>b.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id})))),stringify:e=>(0,v.default)(e).call(e,(e=>e.name)).join(",")};return[e,a,...(0,g.default)(S.tableColumns).call(S.tableColumns,1,2),r,...(0,g.default)(S.tableColumns).call(S.tableColumns,2,S.tableColumns.length)]}get searchFilters(){return S.tableFilter}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]),{detail:{firewall_rules:n=[]}={},match:l}=t.props,{path:f}=l,v=function(e){for(var t=1;t=0?(v.firewall_rules=n,yield t.store.fetchListByPolicy(v)):yield t.store.fetchList(v),t.list.silent=!1})))}))()}}a.Rule=C;var E=(0,y.inject)("rootStore")((0,y.observer)(C));a.default=E},1657:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1474)),l=i(a(1658)),o=i(a(4007)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsInDetail:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[],primaryActions:[]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=s},1658:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditForm=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1307),u=n(r(1474));class c extends u.default{get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get name(){return t("Edit rule")}static allowed(e){return l.default.resolve((0,d.isMine)(e))}}a.EditForm=c,(0,o.default)(c,"id","rule-edit"),(0,o.default)(c,"title",t("Edit Rule")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"path",(e=>"/network/firewall-rule/edit/".concat(e.id))),(0,o.default)(c,"policy","update_firewall_rule");var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},1659:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(4016)),l=i(a(4017)),o=i(a(4018)),s={rowActions:{firstAction:l.default,moreActions:[{action:n.default}]},batchActions:[n.default],primaryActions:[o.default]};t.default=s},3837:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(416)),l=i(a(3838)),o=e=>(0,n.default)(l.default,e);t.default=o},3838:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1263)),l=i(a(579)),o=i(a(3839)),s=i(a(1626)),d=i(a(3842)),u=i(a(3847)),c=i(a(3849)),f=i(a(1466)),p=i(a(3858)),m=i(a(3864)),h=i(a(3872)),v=i(a(1635)),g=i(a(1395)),_=i(a(3880)),b=i(a(3895)),y=i(a(1636)),I=i(a(3907)),A=i(a(3909)),S=i(a(1640)),w=i(a(3919)),x=i(a(3928)),P=i(a(3936)),C=i(a(3962)),E=i(a(3964)),D=i(a(3968)),k=i(a(3972)),R=i(a(3978)),N=i(a(3980)),j=i(a(3982)),M=i(a(3985)),T=i(a(3987)),B=i(a(3991)),F=i(a(3996)),L=i(a(3998)),O=i(a(4008)),Q=i(a(4011)),q=i(a(4012)),V=i(a(1474)),H=i(a(1658)),U=i(a(4013)),K=i(a(1654)),G=i(a(1655)),z=i(a(1652)),J=i(a(4015)),W=i(a(4019)),Z="/network",X=[{path:Z,component:n.default,routes:[{path:"".concat(Z,"/networks"),component:o.default,exact:!0},{path:"".concat(Z,"/networks-admin"),component:s.default,exact:!0},{path:"".concat(Z,"/networks/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance-admin/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/router"),component:c.default,exact:!0},{path:"".concat(Z,"/router-admin"),component:c.default,exact:!0},{path:"".concat(Z,"/router/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router-admin/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/router-admin/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/floatingip"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip-admin"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/floatingip-admin/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/port"),component:g.default,exact:!0},{path:"".concat(Z,"/port-admin"),component:g.default,exact:!0},{path:"".concat(Z,"/port/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/port-admin/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/qos-policy"),component:b.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin"),component:y.default,exact:!0},{path:"".concat(Z,"/qos-policy/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/topo"),component:m.default,exact:!0},{path:"".concat(Z,"/load-balancers"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers/create"),component:S.default,exact:!0},{path:"".concat(Z,"/load-balancers/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/certificate"),component:k.default,exact:!0},{path:"".concat(Z,"/certificate-container/detail/:id"),component:R.default,exact:!0},{path:"".concat(Z,"/certificate-secret/detail/:id"),component:N.default,exact:!0},{path:"".concat(Z,"/vpn"),component:P.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection-admin/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/vpn-admin"),component:P.default,exact:!0},{path:"".concat(Z,"/security-group"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group-admin"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/security-group-admin/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/dns/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns/reverse"),component:j.default,exact:!0},{path:"".concat(Z,"/dns/reverse/detail/:id"),component:M.default,exact:!0},{path:"".concat(Z,"/firewall"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-admin/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-policy/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-policy-admin/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-rule/create"),component:V.default,exact:!0},{path:"".concat(Z,"/firewall-rule/edit/:id"),component:H.default,exact:!0},{path:"".concat(Z,"/firewall-rule/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall-rule-admin/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall/create"),component:z.default,exact:!0},{path:"".concat(Z,"/firewall-policy/add"),component:K.default,exact:!0},{path:"".concat(Z,"/firewall-policy/edit/:id"),component:G.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin"),component:J.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin/detail/:id"),component:W.default,exact:!0},{path:"*",component:l.default}]}];t.default=X},3839:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Network=void 0;var l=r(412),o=n(r(1282)),s=n(r(1626));class d extends o.default{get tabs(){var e=[{title:t("Current Project Networks"),key:"projectNetwork",component:s.default},{title:t("Shared Networks"),key:"sharedNetwork",component:s.default},{title:t("External Networks"),key:"externalNetwork",component:s.default}];return this.hasAdminRole&&e.push({title:t("All Networks"),key:"allNetwork",component:s.default}),e}}a.Network=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3840:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(233)),d=r(1251),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_network"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Network")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete network")}isCurrentProject(e){var t=u.default;return!(!(0,d.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3841:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(233)),b=r(1251),y=f(r(133)),I=r(163);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{item:{id:t}={}}=this.props,{name:a,description:r,port_security_enabled:i}=e,n=(0,m.default)(e,["name","description","port_security_enabled"]),l={name:a,description:r,port_security_enabled:i};return this.isSystemAdmin&&(l.shared=n.shared),this.isAdminPage&&(l["router:external"]=n["router:external"]),_.default.edit({id:t},l)}))}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;t{var t=y.default;return(0,b.checkSystemAdmin)()||e.project_id===t.user.project.id?p.default.resolve(!0):p.default.resolve(!1)}));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3842:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkDetail=void 0;var p=f(r(573)),m=f(r(35)),h=r(412),v=f(r(1243)),g=r(233),_=r(571),b=f(r(1395)),y=f(r(3843)),I=f(r(3846)),A=f(r(1627));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(this.store.fetchDetail){var t=w(w(w({},this.params),e||{}),{},{all_projects:this.isAdminPage});this.store.fetchDetailWithAvailabilityAndUsage(w(w({},t),{},{isAdminPage:this.isAdminPage,canAddNetworkIPUsageInfo:this.canAddNetworkIPUsageInfo})).catch(this.catch)}}))}get name(){return t("network")}get policy(){return"get_network"}get listUrl(){return this.getRoutePath("network")}get actionConfigs(){return A.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get detailInfos(){var e=[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("Status"),dataIndex:"status",valueMap:_.networkStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&((0,p.default)(e).call(e,2,0,{title:t("Project Name"),dataIndex:"projectName"}),(0,p.default)(e).call(e,7,0,{title:t("DHCP Agents"),dataIndex:"dhcp_agents"})),this.canAddNetworkIPUsageInfo&&(0,p.default)(e).call(e,4,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:I.default},{title:t("Subnets"),key:"subnets",component:y.default},{title:t("Ports"),key:"ports",component:b.default}]}init(){this.store=new g.NetworkStore}}a.NetworkDetail=x;var P=(0,h.inject)("rootStore")((0,h.observer)(x));a.default=P},3843:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Subnets=void 0;var l=n(r(573)),o=n(r(35)),s=n(r(0)),d=r(412),u=n(r(1242)),c=r(417),f=n(r(1631));class p extends u.default{constructor(){super(...arguments),(0,o.default)(this,"updateFetchParams",(()=>({network_id:this.id,network:this.props.detail,all_projects:this.isAdminPage}))),(0,o.default)(this,"getColumns",(()=>{var e=[{title:t("Subnet ID/Name"),dataIndex:"name",routeName:this.getRouteName("subnetDetail"),routeParamsFunc:e=>({networkId:e.network_id,id:e.id})},{title:t("CIDR"),dataIndex:"cidr",isHideable:!0},{title:t("Gateway IP"),dataIndex:"gateway_ip",isHideable:!0},{title:t("IP Version"),dataIndex:"ip_version",isHideable:!0},{title:t("Port Count"),dataIndex:"subnetPorts",isHideable:!0,stringify:e=>(e||[]).length,render:(e,t)=>{var a=(e||[]).length;if(!a)return"-";var r=this.getLinkRender("subnetDetail",a,{id:t.id,networkId:t.network_id},{tab:"ports"});return s.default.createElement(s.default.Fragment,null,r)}},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}];return this.canAddNetworkIPUsageInfo&&(0,l.default)(e).call(e,5,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips",titleTip:this.isAdminPage?"":t("Number of IPs used by all projects")}),e}))}init(){this.store=new c.SubnetStore}get policy(){return"get_subnet"}get name(){return t("subnets")}get id(){return this.params.id}get actionConfigs(){return f.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Subnets=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3844:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(133)),d=n(r(417));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_subnet"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Subnet")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete subnet")}isOwnerOrAdmin(e){var{tenant_id:t}=e;return this.isAdminPage||t===s.default.projectId}}a.default=u},3845:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditSubnet=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=r(565),b=f(r(417)),y=f(r(133)),I=f(r(621));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{gateway_ip:t,allocation_pools:a,host_routes:r,dns:i,disable_gateway:n}=e,l=(0,m.default)(e,["gateway_ip","allocation_pools","host_routes","dns","disable_gateway"]),o=k(a),s=R(r),d=T(i),u=S(S({},l),{},{network_id:this.subnet.network_id,allocation_pools:o,host_routes:s,dns_nameservers:d});return n?u.gateway_ip=null:t&&t!==this.item.gateway_ip&&(u.gateway_ip=t),b.default.update(this.subnet,u)}))}get name(){return t("Edit Subnet")}get subnet(){return this.props.item}get defaultValue(){return S(S({},this.subnet),{},{subnet_name:this.subnet.name,allocation_pools:N(this.subnet.allocation_pools),host_routes:M(this.subnet.host_routes),dns:j(this.subnet.dns_nameservers),disable_gateway:!this.subnet.gateway_ip,gateway_ip:this.subnet.gateway_ip,more:!1})}get formItems(){var{more:e,disable_gateway:a=!this.item.gateway_ip}=this.state;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0},{name:"cidr",label:t("CIDR"),type:"input",placeholder:"192.168.0.0/24",disabled:!0,required:!0,validator:(e,a)=>(4===this.subnet.ip_version?B(a):F(a))?p.default.resolve(!0):p.default.reject(new Error(t("Invalid CIDR."))),tip:t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e},(()=>{this.formRef.current.validateFields(["gateway_ip"])}))},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ip-input",version:this.subnet.ip_version,required:!a,tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!a)},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. 192.168.1.2,192.168.1.200)"),hidden:!e,validator:4===this.subnet.ip_version?w:x},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. 114.114.114.114)"),hidden:!e,validator:4===this.subnet.ip_version?P:C},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. 192.168.200.0/24,10.56.1.254)"),hidden:!e,validator:4===this.subnet.ip_version?E:D},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.EditSubnet=L,(0,h.default)(L,"id","edit-subnet"),(0,h.default)(L,"title",t("Edit Subnet")),(0,h.default)(L,"buttonText",t("Edit")),(0,h.default)(L,"policy","update_subnet"),(0,h.default)(L,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t||{},{tenant_id:r}=e,i=a||r===y.default.projectId;return p.default.resolve(i)}));var O=(0,v.inject)("rootStore")((0,v.observer)(L));a.default=O},3846:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(66);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,s.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Availability Zone"),dataIndex:"availability_zones"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints"},{label:t("MTU"),dataIndex:"mtu"},{label:t("Router External"),dataIndex:"router:external",valueRender:"yesNo"},{label:t("Provider Network Type"),dataIndex:"provider:network_type"},{label:t("Provider Physical Network"),dataIndex:"provider:physical_network",render:e=>e||"-"},{label:t("Segmentation ID"),dataIndex:"provider:segmentation_id"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",render:e=>e||"-"}),{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3847:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SubnetDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(417),g=f(r(1395)),_=f(r(3848)),b=f(r(1631));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;tI(I({},e),{},{inDetail:!0,canAddNetworkIPUsageInfo:this.store.hasAdminRole})))}get name(){return t("subnet")}get policy(){return"get_subnet"}get listUrl(){var{networkId:e}=this.params;return this.getRoutePath("networkDetail",{id:e},{tab:"subnets"})}get actionConfigs(){return b.default}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("CIDR"),dataIndex:"cidr"},{title:t("IP Version"),dataIndex:"ip_version"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:_.default},{title:t("Ports"),key:"ports",component:g.default}]}init(){this.store=new v.SubnetStore}}a.SubnetDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3848:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(0)),d=r(412),u=n(r(1249));class c extends u.default{get leftCards(){var e=[this.networkCard,this.baseInfoCard];return this.canAddNetworkIPUsageInfo&&e.push(this.ipUsageCard),e}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get networkCard(){var e=[{label:t("Network Name"),dataIndex:"network.name"},{label:t("Network ID"),dataIndex:"network.id",render:e=>this.getLinkRender("networkDetail",e,{id:e})}];return{title:t("Network Info"),options:e}}get baseInfoCard(){var e=[{label:t("Gateway IP"),dataIndex:"gateway_ip"},{label:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t,a=(0,l.default)(t=e||[]).call(t,(e=>{var t,{start:a,end:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,"-")).call(t,r)},a," - ",r)}));return s.default.createElement(s.default.Fragment,null,a)}},{label:t("Enable DHCP"),dataIndex:"enable_dhcp",valueRender:"yesNo"},{label:t("Host Routes"),dataIndex:"host_routes",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>{var t,{destination:a,nexthop:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,",")).call(t,r)},a,",",r)}));return s.default.createElement(s.default.Fragment,null,t)}},{label:t("DNS Nameservers"),dataIndex:"dns_nameservers",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>s.default.createElement("div",{key:e},e)));return s.default.createElement(s.default.Fragment,null,t)}}];return{title:t("Base Info"),options:e}}get ipUsageCard(){if(!this.canAddNetworkIPUsageInfo)return null;var e=[{label:t("Total IPs"),dataIndex:"total_ips"},{label:t("Used IPs"),dataIndex:"used_ips"}];return{title:t("IP Usage"),options:e}}}a.BaseDetail=c;var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3849:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Routes=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=r(1267),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(575)),p=o(r(1632));function m(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(m=function(e){return e?a:t})(e)}class h extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>(0,c.getRouterColumns)(this)))}init(){this.store=this.inDetailPage?new f.RouterStore:f.default,this.downloadStore=new f.RouterStore}get policy(){return"get_router"}get name(){return t("routers")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get adminPageHasProjectFilter(){return!0}get defaultSortKey(){return"status"}get searchFilters(){return c.routerFilters}}a.Routes=h;var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3850:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(232)),s=n(r(91)),d=n(r(49)),u=n(r(35)),c=n(r(92)),f=r(1241),p=n(r(575));class m extends f.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_router"),(0,u.default)(this,"submitErrorMsg",(e=>{var a=this.getName(e);return this.connectSubnets?t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.actionName||this.title,name:a,reason:t("the router has connected subnet")}):t("Unable to {action}, instance: {name}.",{action:this.actionName||this.title,name:a})})),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.notExternalGateway(e))),(0,u.default)(this,"performErrorMsg",(e=>{var a=(0,c.default)(e)?e[0]:e,{name:r}=a,i=t('You are not allowed to delete router "{ name }".',{name:r});return this.notExternalGateway(a)||(i=t('Unable to delete router "{ name }". External gateway is opened, please clear external gateway first.',{name:r})),i})),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a,r,i){if(i)return p.default.delete(a);var n=yield p.default.fetchConnectedSubnets(e.item);return n.connectSubnets.length?(e.connectSubnets=n.connectSubnets,e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:e.item.name,reason:t("the router has connected subnet")}),l.default.reject()):(e.showConfirmErrorBeforeSubmit=!1,p.default.delete(a))}));return function(e,t,r){return a.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Router")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete router")}notAssociatedNet(e){if(!e.ports||0===e.ports.length)return!0;var t,a=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];return!(e.ports.length>0)||!(0,o.default)(t=e.ports).call(t,(e=>(0,s.default)(a).call(a,e.device_owner)>-1))}notExternalGateway(e){return!e.hasExternalGateway}}a.default=m},3851:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(575)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return d.default.edit({id:t},e)}))}init(){this.store=d.default}get defaultValue(){var{item:e}=this.props;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name"),withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-router"),(0,o.default)(c,"title",t("Edit Router")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(e=>l.default.resolve("Default Router"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3852:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_router"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.hasGateway(e))),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.edit({id:t},{external_gateway_info:null})}))}get id(){return"clear-gateway"}get title(){return t("Close External Gateway")}get buttonText(){return t("Close External Gateway")}get actionName(){return t("Close external gateway")}hasGateway(e){return e.hasExternalGateway}}a.default=d},3853:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SetGateway=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(575)),g=r(233),_=r(1241),b=r(571);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{externalNetwork:t}=e,{id:a}=this.item,r={external_gateway_info:{network_id:t.selectedRowKeys[0]}};return this.store.edit({id:a},r)}))}init(){this.store=v.default,this.networkStore=new g.NetworkStore}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("open external gateway")}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"router"},I({name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:b.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime",sorter:!1}]},b.networkSortProps)]}}a.SetGateway=A,(0,m.default)(A,"id","set-gateway"),(0,m.default)(A,"title",t("Open External Gateway")),(0,m.default)(A,"policy","update_router"),(0,m.default)(A,"allowed",(e=>p.default.resolve(!e.external_gateway_info)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3854:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ConnectSubnet=void 0;var l=n(r(91)),o=n(r(28)),s=n(r(77)),d=n(r(63)),u=n(r(35)),c=r(412),f=r(36),p=r(575),m=n(r(417)),h=r(582),v=r(1241);class g extends v.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"getSubnets",(()=>{var{networkId:e}=this.state;e&&this.subnetStore.fetchList({network_id:e})})),(0,u.default)(this,"onNetworkChange",(e=>{var{selectedRowKeys:t=[]}=e;this.setState({networkId:t[0]},(()=>{this.getSubnets()}))})),(0,u.default)(this,"disabledFuncSubnet",(e=>{var t,{allocation_pools:a=[]}=e;return 0===a.length||(0,l.default)(t=this.excludeSubnetIds).call(t,e.id)>=0})),(0,u.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0],{networkId:i}=this.state;return this.store.connectSubnet({id:t,subnetId:r,networkId:i})}))}init(){this.store=new p.RouterStore,this.subnetStore=m.default,this.portStore=new h.PortStore,this.getPortList()}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("connect subnet")}get subnets(){var{networkId:e}=this.state;return e?(0,f.toJS)(this.subnetStore.list.data||[]):[]}getPortList(){var{id:e}=this.item;this.portStore.fetchList({device_id:e})}get excludeSubnetIds(){var e,t=[];return(0,o.default)(e=(0,f.toJS)(this.portStore.list.data||[])).call(e,(e=>{var a;(0,o.default)(a=e.fixed_ips).call(a,(e=>{t.push(e.subnet_id)}))})),t}get formItems(){var{networkId:e}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"network",label:t("Network"),type:"network-select-table",required:!0,onChange:this.onNetworkChange},{name:"subnet",label:t("Subnet"),type:"select-table",data:this.subnets,isLoading:e&&this.subnetStore.list.isLoading,disabledFunc:this.disabledFuncSubnet,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,s.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.ConnectSubnet=g,(0,u.default)(g,"id","connect-subnet"),(0,u.default)(g,"title",t("Connect Subnet")),(0,u.default)(g,"policy","add_router_interface"),(0,u.default)(g,"allowed",(()=>d.default.resolve(!0)));var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3855:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.DisconnectSubnet=void 0;var l=n(r(28)),o=n(r(91)),s=n(r(63)),d=n(r(54)),u=n(r(350)),c=n(r(591)),f=n(r(86)),p=n(r(77)),m=n(r(49)),h=n(r(35)),v=r(412),g=r(36),_=r(575),b=n(r(233)),y=n(r(417)),I=r(582),A=r(1241);class S extends A.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0];return this.store.disconnectSubnet({id:t,subnetId:r})}))}init(){this.store=new _.RouterStore,this.networkStore=b.default,this.subnetStore=y.default,this.portStore=new I.PortStore,this.getSubnetList(),this.state.subnetLoading=!0}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("disconnect subnet")}getSubnetList(){var e=this;return(0,m.default)((function*(){var t,a,r,{id:i}=e.item;yield e.portStore.fetchList({device_id:i});var n=[],p=[],m=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];(0,l.default)(t=(0,g.toJS)(e.portStore.list.data||[])).call(t,(e=>{var t;(0,o.default)(m).call(m,e.device_owner)>-1&&(p.push(e.network_id),(0,l.default)(t=e.fixed_ips).call(t,(e=>{n.push(e.subnet_id)})))}));var h=yield s.default.all((0,d.default)(a=(0,u.default)(new c.default(n))).call(a,(t=>e.subnetStore.fetchDetail({id:t})))),v=yield s.default.all((0,d.default)(r=(0,u.default)(new c.default(p))).call(r,(t=>e.networkStore.fetchDetail({id:t}))));(0,l.default)(h).call(h,(e=>{var t=(0,f.default)(v).call(v,(t=>t.id===e.network_id));e.network=t})),e.setState({subnets:(0,d.default)(h).call(h,(e=>(0,g.toJS)(e))),subnetLoading:!1})}))()}get formItems(){var{subnets:e=[],subnetLoading:a}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"subnet",label:t("Subnet"),type:"select-table",data:e,isLoading:a,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Network"),dataIndex:"network",render:e=>e&&e.name||"-"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,p.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.DisconnectSubnet=S,(0,h.default)(S,"id","disconnect-subnet"),(0,h.default)(S,"title",t("Disconnect Subnet")),(0,h.default)(S,"policy","remove_router_interface"),(0,h.default)(S,"allowed",(()=>s.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3856:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>(null==e?void 0:e.external_gateway_info)&&!e.external_gateway_info.enable_snat)),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!0}};return s.default.edit({id:t},r)}))}get id(){return"enable-snat"}get title(){return t("Enable SNAT")}get actionName(){return t("Enable SNAT")}}a.default=d},3857:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>{var t;return null==e||null===(t=e.external_gateway_info)||void 0===t?void 0:t.enable_snat})),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!1}};return s.default.edit({id:t},r)}))}get id(){return"disable-snat"}get title(){return t("Disable SNAT")}get actionName(){return t("Disable SNAT")}}a.default=d},3858:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FloatingIpDetail=void 0;var l=n(r(1314)),o=r(412),s=n(r(1243)),d=r(1273),u=r(346),c=r(1393),f=n(r(1606)),p=n(r(3859)),m=n(r(3860));class h extends s.default{get name(){return t("floating ip")}get policy(){return"get_floatingip"}get listUrl(){return this.getRoutePath("fip")}get actionConfigs(){return this.isAdminPage?f.default.adminConfigs:f.default.actionConfigs}get detailInfos(){return[{title:t("Floating IP"),dataIndex:"floating_ip_address"},{title:t("Status"),dataIndex:"status",valueMap:d.floatingIpStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:p.default}];return(0,c.enablePFW)()&&(0,l.default)(this.detailData.fixed_ip_address)&&e.push({title:t("Port Forwardings"),key:"port_forwarding",component:m.default}),e}init(){this.store=new u.FloatingIpStore}}a.FloatingIpDetail=h;var v=(0,o.inject)("rootStore")((0,o.observer)(h));a.default=v},3859:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(77)),m=f(r(35)),h=r(412),v=r(346),g=f(r(1249));function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t{var{router_id:e}=this.props.detail;e&&this.store.getAddInfo({router_id:e}).catch(this.catch)}))}init(){this.store=new v.FloatingIpStore}get isLoading(){var{router_id:e}=this.props.detail;return!!e&&this.store.isLoading}get detailData(){return b(b({},this.props.detail),{},{router_name:this.store.addInfo.name,network_name:this.store.addInfo.externalNetworkName})}get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Fixed IP"),dataIndex:"fixed_ip_address"},{label:t("Network Line"),dataIndex:"network_name"},{label:t("Router"),dataIndex:"router_id",render:(e,t)=>{if(e){var a,{router_name:r,network_name:i}=t;if("-"===r&&"-"===i)return e;var n=r?(0,p.default)(a="".concat(e," (")).call(a,r,")"):e;return this.getLinkRender("routerDetail",n,{id:e})}return"-"}}];return{title:t("Base Info"),options:e}}}a.BaseDetail=y;var I=(0,h.inject)("rootStore")((0,h.observer)(y));a.default=I},3860:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.PortForwarding=void 0;var p=f(r(164)),m=f(r(58)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(615),b=r(163),y=r(1273),I=f(r(3861));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.default{constructor(){super(...arguments),(0,h.default)(this,"updateFetchParams",(e=>{var{id:t,all_projects:a}=e,r=(0,m.default)(e,["id","all_projects"]);return function(e){for(var t=1;t[{title:t("ID"),dataIndex:"id"},{title:t("External Port/Port Range"),dataIndex:"external_port",splitColumnForDownload:!1,render:(e,t)=>e||t.external_port_range},{title:t("Internal Ip Address"),dataIndex:"internal_ip_address",isHideable:!0},{title:t("Internal Port/Port Range"),dataIndex:"internal_port",splitColumnForDownload:!1,isHideable:!0,render:(e,t)=>e||t.internal_port_range},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,valueMap:y.portForwardingProtocols},{title:t("Description"),dataIndex:"description",isHideable:!0}]))}init(){this.store=new _.PortForwardingStore}get policy(){return"get_floatingip_port_forwarding"}get name(){return t("port forwardings")}get isFilterByBackend(){return!1}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return[{label:t("Protocol"),name:"protocol",options:(0,b.getOptions)(y.portForwardingProtocols)},{label:t("External Port/Port Range"),name:"external_port",filterFunc:(e,t,a)=>{var r,i,{external_port:n,external_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Internal Ip Address"),name:"internal_ip_address",filterFunc:(e,t)=>(0,p.default)(e).call(e,t)},{label:t("Internal Port/Port Range"),name:"internal_port",filterFunc:(e,t,a)=>{var r,i,{internal_port:n,internal_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Description"),name:"description"}]}}a.PortForwarding=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3861:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1467)),l=i(a(3862)),o=i(a(3863)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default},batchActions:[],primaryActions:[]}};t.default=s},3862:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(29)),m=f(r(54)),h=f(r(164)),v=f(r(86)),g=f(r(431)),_=f(r(58)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(615)),S=f(r(572)),w=r(1267),x=r(1273),P=r(1258),C=r(1467);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tA.default.edit({fipId:this.fipId,id:this.item.id},e))),(0,y.default)(this,"checkPortUsedBase",((e,t,a,r)=>{var{external_port:i,internal_port:n,external_port_range:l,internal_port_range:o}=e,s="external"===t?l:o;if(s){var[d,u]=this.getRangeFromString(s);return a>=d&&a<=u&&e.protocol===r}var c="external"===t?i:n;return this.item.id!==e.id&&a===c&&e.protocol===r})),(0,y.default)(this,"checkPortUsedInternal",((e,t)=>{if(!e)return!1;var a=this.formRef.current.getFieldsValue(["virtual_adapter","fixed_ip_address"]),r=a.fixed_ip_address.selectedRows[0].fixed_ip_address,i=a.virtual_adapter.selectedRows[0].id;return this.item.id!==t.id&&t.internal_port_id===i&&t.internal_ip_address===r}))}get name(){return t("Edit Port Forwarding")}get instanceName(){var{floating_ip_address:e}=this.item;return(0,x.getPortForwardingName)(this.item,e)}get tips(){return""}get fipId(){return this.item.fip.id}getExtraInfo(){w.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:{fip:t}}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id})).then((()=>{this.getInitialPortFixedIPs()}))}getInitialPortFixedIPs(){var e=this;return(0,b.default)((function*(){e.setState({fixedIpLoading:!0});var{internal_port_id:t,internal_ip_address:a}=e.item,r=yield S.default.fetchDetail({id:t});return e.handlePortSelect({selectedRows:[r]}).then((t=>{var i=(0,p.default)(t).call(t,(e=>e.fixed_ip_address===a)),n={selectedRowKeys:(0,m.default)(i).call(i,(e=>e.id)),selectedRows:i};return e.updateFormValue("virtual_adapter",{selectedRowKeys:[r.id],selectedRows:[r]}),n})).then((t=>{e.setState({fixed_ip_address:t})}))}))()}get defaultValue(){var e=this.item,{floating_ip_address:t,fip:a,internal_port_id:r,internal_ip_address:i}=e;return D({floatingIp:t,virtual_adapter:{selectedRowKeys:[r]},fixed_ip_address:{selectedRowKeys:[i],selectedRows:[{fixed_ip_address:i}]}},(0,_.default)(e,["floating_ip_address","fip","internal_port_id","internal_ip_address"]))}getSubmitData(e){var t,a,{floatingIp:r,virtual_adapter:{selectedRows:i=[]}={},fixed_ip_address:{selectedRows:n=[]}={},external_port:l,internal_port:o}=e,s=D({},(0,_.default)(e,["floatingIp","virtual_adapter","fixed_ip_address","external_port","internal_port"]));return(0,h.default)(t=l.toString()).call(t,":")?s.external_port_range=l:s.external_port=l,(0,h.default)(a=o.toString()).call(a,":")?s.internal_port_range=o:s.internal_port=o,s.internal_ip_address=n[0].fixed_ip_address,s.internal_port_id=i[0].id,s}get formItems(){var e=super.formItems;if(this.supportRange)return e;var a=(0,v.default)(e).call(e,(e=>"external_port"===e.name)),r=(0,v.default)(e).call(e,(e=>"internal_port"===e.name));a.label=t("External Port"),r.label=t("Internal Port");var i={type:"input-int",min:1,max:65535,extra:t("Enter an integer value between 1 and 65535."),hasRequiredCheck:!0};return(0,g.default)(a,i,{placeholder:t("Please input {label}",{label:a.label})}),(0,g.default)(r,i,{placeholder:t("Please input {label}",{label:r.label})}),e}}a.Edit=k,(0,y.default)(k,"id","edit"),(0,y.default)(k,"title",t("Edit")),(0,y.default)(k,"policy","update_floatingip_port_forwarding"),(0,y.default)(k,"allowed",(()=>!0));var R=(0,I.inject)("rootStore")((0,I.observer)(k));a.default=R},3863:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(615)),d=r(1273);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_floatingip_port_forwarding"),(0,l.default)(this,"getItemName",(e=>(0,d.getPortForwardingName)(e,e.floating_ip_address))),(0,l.default)(this,"onSubmit",(e=>{var{fip:t,id:a}=e,r=t.id;return s.default.delete({floatingipId:r,id:a})}))}get id(){return"delete"}get title(){return t("Delete Port Forwarding")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete port forwarding")}}a.default=u},3864:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Topology=a.errorStrokeColor=a.errorShadowColor=a.activeShadowColor=void 0;var p=f(r(164)),m=f(r(28)),h=f(r(422)),v=f(r(91)),g=f(r(54)),_=f(r(77)),b=f(r(29)),y=f(r(345));r(347);var I=f(r(348));r(1280);var A=f(r(1281));r(583);var S=f(r(420));r(231);var w=f(r(341)),x=f(r(1584)),P=f(r(49)),C=f(r(35)),E=f(r(0)),D=(r(161),f(r(3865))),k=f(r(3866)),R=(r(564),r(412)),N=f(r(233)),j=r(3867),M=f(r(1388)),T=r(565),B=r(36),F=r(571),L=f(r(1471)),O=f(r(1633)),Q=f(r(1628)),q=f(r(1304)),V=f(r(3869)),H=f(r(1634));function U(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t{G.on("node:mouseenter",(e=>{var t,{item:a}=e,{nodeType:r}=a._cfg.model;if((0,p.default)(t=["router","ins","lb"]).call(t,r)){var i,n=G.findAllByState("node","hover");(0,m.default)(n).call(n,(e=>{G.setItemState(e,"hover",!1)})),G.setItemState(a,"hover",!0);var l=G.findAllByState("edge","hover");(0,m.default)(l).call(l,(e=>{G.setItemState(e,"hover",!1),G.updateItem(e,{style:{stroke:e._cfg.target._cfg.model.style.stroke}})}));var o=a._cfg.model.style.stroke;(0,m.default)(i=a._cfg.edges).call(i,(e=>{G.setItemState(e,"hover",!0),G.updateItem(e,{style:{stroke:o}})}))}}))})),(0,C.default)(this,"updateGraph",(()=>{G&&(G.clear(),G.destroy(),G=null),this.setState({firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,withoutServerData:null,allData:null,showAll:!0}),this.initTopo()})),(0,C.default)(this,"renderRouterNode",((e,t)=>{var{routers:a}=this.topoInfo,r=[];if((0,m.default)(a).call(a,((a,i)=>{var{id:n,external_gateway_info:l,subnets:o,name:s}=a,d=(0,h.default)((t/10*i+t/20*3).toFixed(0));if(r.push({nodeCardX:d,nodeCardY:190}),e.nodes.push({id:n,x:d,y:190,type:"rect",nodeType:"router",infoIndex:i,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"ACTIVE"===a.status?globalCSS.successColor:Z,shadowColor:"ACTIVE"===a.status?J:W,shadowBlur:"ACTIVE"===a.status?5:4},anchorPoints:[[.5,0]]}),null!==l&&e.edges.push({id:"edge-".concat(s,"-ext"),target:"extNet",targetAnchor:1,source:n,sourceAnchor:0,type:"arrowLine",style:{stroke:j.subnetsColors[0][0]}}),0!==o.length){var u=0;(0,m.default)(o).call(o,(t=>{var a,r,i=(0,v.default)(a=(0,g.default)(r=e.subnetNodes).call(r,(e=>e.id))).call(a,t);if(-1!==i){var l,{style:{stroke:o}}=e.subnetNodes[i];u+=1,e.edges.push({id:(0,_.default)(l="edge-".concat(s,"-")).call(l,t),target:t,targetAnchor:0,source:n,sourceAnchor:u,type:"arrowLine",style:{stroke:o}})}})),e.nodes[e.nodes.length-1].anchorPoints=this.getAnchorPoints(1,u)}})),r[0]){var i=r[r.length-1].nodeCardX,{extendWidth:n}=this.state;if(i>=t-5){var l=Math.ceil((i-(t-5))/(t/10));this.setState({extendWidth:n+l*(t/10)})}this.setState({nodeCard:r})}})),(0,C.default)(this,"renderNetworkNode",((e,t)=>{var{subnets:a,networks:r}=this.topoInfo,{extendWidth:i}=this.state;e.subnetNodes=[],(0,m.default)(r).call(r,(r=>{if(!(0,F.isExternalNetwork)(r)){var n,l=[],{firstSubnetY:o}=this.state;(0,m.default)(n=r.subnets).call(n,(e=>{(0,m.default)(a).call(a,(t=>{t.id===e&&l.push(t)}))}));var s=o+32*l.length+60;(0,m.default)(l).call(l,((a,n)=>{var l=j.subnetsColors[0],d=l[n%l.length];e.subnetNodes.push({id:a.id,label:a.name,labelCfg:{position:"right",offset:-t/2,style:{fill:"#000000"}},type:"rect",x:t/2,y:o+32*n,cardY:s,anchorPoints:[[.5,0],[.5,1]],comboId:r.id,style:{radius:4,fill:d,stroke:d,width:t+i-50,height:20},pools:a.allocation_pools,networkId:a.network_id})})),0!==l.length&&(this.setState({firstSubnetY:e.subnetNodes[e.subnetNodes.length-1].y+200}),e.combos.push({id:r.id,label:r.name,type:"rect",size:[t-40,30],style:{fill:j.combosBackground[0],stroke:j.combosColors[0],radius:4},labelCfg:{refY:1,position:"top",style:{fontSize:12}}}))}}))})),(0,C.default)(this,"renderInstanceNode",((e,a)=>{var{servers:r,subnets:i,extNetwork:n}=this.topoInfo,l=[];(0,m.default)(r).call(r,((r,o)=>{var s,{fixed_addresses:d,fixed_networks:u}=r,c=(0,h.default)((a/10*2).toFixed(0)),f=null,p=0,g=[];(0,m.default)(n).call(n,(e=>g.push(...(0,B.toJS)(e.subnets))));var y=(0,b.default)(i).call(i,(e=>-1!==(0,v.default)(g).call(g,e.id)));if(!d[0]){var{insCard:I}=this.state;f=e.subnetNodes[0].cardY,(0,m.default)(I).call(I,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),Math.round(c)>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+(0,h.default)((a/10).toFixed(0))})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}var A=0;(0,m.default)(d).call(d,(i=>{var n,s=null,d=0;if((0,m.default)(y).call(y,(e=>{var t;(0,m.default)(t=e.allocation_pools).call(t,(e=>{z(i,e.start,e.end)&&(s="extNet",d=0)}))})),(0,m.default)(n=e.subnetNodes).call(n,((e,t)=>{var a;-1!==(0,v.default)(u).call(u,e.networkId)&&(0,m.default)(a=e.pools).call(a,(a=>{z(i,a.start,a.end)&&(s=e.id,d=t)}))})),e.nodes[e.nodes.length-1].id!==r.id&&s){var{insCard:g}=this.state;f=e.subnetNodes[d].cardY,(0,m.default)(g).call(g,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),c>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+a/10})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}s&&function(){var n,{style:{stroke:o}}=e.subnetNodes[d],u=e.subnetNodes[d].y;ue.source!==r.id&&e.linePath&&e.linePath.source_x===c&&e.topAnchorNum===p&&(e.linePath.source_y>=f&&e.linePath.target_y<=u||e.linePath.source_y<=f&&e.linePath.target_y>=u))),I=(0,b.default)(g=e.nodes).call(g,(e=>e.x===c&&e.y===f&&e.id!==r.id));if(0===y.length&&0===I.length)break;c+=(0,h.default)((a/10).toFixed(0)),e.nodes[e.nodes.length-1].x=c,l[l.length-1]=[c,f],Math.round(c)>=a+t.state.extendWidth&&t.setState((e=>({extendWidth:e.extendWidth+a/10})))}e.edges.push({id:(0,_.default)(n="edge-".concat(r.id,"-")).call(n,i),target:s,targetAnchor:u>f?0:1,source:r.id,sourceAnchor:A,type:"arrowLine",topAnchorNum:p,style:{stroke:o},linePath:{source_x:c,source_y:f,target_y:u}}),A+=1}()}));var S=this.getAnchorPoints(p,A-p),w=(0,b.default)(s=e.edges).call(s,(e=>e.source===r.id));(0,m.default)(w).call(w,((e,t)=>{"extNet"===e.target&&1===S[t][1]&&([S[t],S[p-1]]=[S[p-1],S[t]])})),e.nodes[e.nodes.length-1].anchorPoints=S,this.setState({insCard:l})}))})),(0,C.default)(this,"getAnchorPoints",((e,t)=>{var a=[];return e>0&&a.push(...(0,F.getAnchorData)(e,0)),t>0&&a.push(...(0,F.getAnchorData)(t,1)),a})),(0,C.default)(this,"renderG6",(()=>{D.default.registerEdge("arrowLine",{draw(e,t){var{endPoint:a,startPoint:r}=e,i=e.style.stroke;return t.addShape("path",{attrs:{path:[["M",r.x,r.y],["L",r.x,a.y]],endArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},startArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},stroke:i||"#C8DEFF",lineWidth:2},name:"path-shape"}),t}});var e=document.getElementById("container").scrollWidth,t={nodes:[{id:"networkImage",x:e/2,y:50,img:k.default,type:"image",size:56,clipCfg:{show:!1,type:"circle",r:15}},{id:"extNet",type:"rect",label:"extNetwork",labelCfg:{position:"right",offset:-e/2,style:{fill:"#000000"}},x:e/2,y:100,anchorPoints:[[.5,0],[0,1]],style:{radius:4,fill:"#FFFFFFFF",stroke:j.subnetsColors[0][0],width:e-10,height:20}}],edges:[{id:"edge3",target:"networkImage",source:"extNet",style:{startArrow:{path:D.default.Arrow.vee(4,6,-1),d:2},lineWidth:1,stroke:j.subnetsColors[0][0]}}],combos:[]},{servers:a}=this.topoInfo;if(a){t=G.cfg.data,this.renderRouterNode(t,e),this.extendNetworkWidth(t,e);var r=JSON.parse((0,y.default)(t));this.setState({withoutServerData:r}),this.renderInstanceNode(t,e),this.extendNetworkWidth(t,e);var i=JSON.parse((0,y.default)(t));this.setState({allData:i})}else this.renderNetworkNode(t,e),this.extendNetworkWidth(t,e);G&&(G.clear(),G.destroy());var{firstSubnetY:n,extendWidth:l}=this.state;(G=new D.default.Graph({container:"container",width:e+l,height:n,nodeStateStyles:{hover:{lineWidth:3}}})).data(t),G.render(),this.bindEvents(),this.setState({loading:!1})})),(0,C.default)(this,"extendNetworkWidth",((e,t)=>{var{subnetNodes:a,nodes:r}=e,{extendWidth:i}=this.state;i>0&&((0,m.default)(a).call(a,(e=>{e.style.width=t-50+i,e.x=(t+i)/2,e.labelCfg.offset=-(t+i)/2})),r[1].style.width=t+i-10,r[0].x=(t+i)/2,r[1].labelCfg.offset=-(t+i)/2,r[1].x=(t+i)/2),a&&a[0]&&(e.nodes=(0,_.default)(r).call(r,a))})),(0,C.default)(this,"onCheckChange",(()=>{var{firstSubnetY:e,extendWidth:t,showAll:a,withoutServerData:r,allData:i}=this.state,n=document.getElementById("container").scrollWidth,l=!a;this.setState({showAll:l});var o=n+t;l||(o=n-t),G.clear(),G.destroy(),G=null,(G=new D.default.Graph({container:"container",width:o,height:e,nodeStateStyles:{hover:{lineWidth:3}}})).data(l?i:r),G.render(),this.bindEvents()})),this.init(),this.state={firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,showAll:!0,withoutServerData:null,allData:null}}componentDidMount(){}get topoInfo(){return this.store.topology}initNetwork(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopoNetwork(K(K({},e.props.match.params),{},{metrics:!0})),e.renderG6()}))()}initAll(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopo(K(K({},e.props.match.params),{},{metrics:!0})),e.topoInfo.networks&&e.renderG6()}))()}initTopo(){this.initNetwork(),this.initAll()}init(){this.store=N.default,G=null,this.initTopo()}render(){var{nodeCard:e,insCard:a,loading:r,showAll:i}=this.state,{topology:n}=this.store;return E.default.createElement("div",{className:L.default.main},E.default.createElement("div",{style:{marginBottom:16,marginTop:16,marginLeft:16}},E.default.createElement(M.default,{primaryActions:[O.default]},t("create router")),E.default.createElement(M.default,{primaryActions:[Q.default]},t("Create Network")),E.default.createElement(M.default,{primaryActions:[q.default]},t("Create Instance")),E.default.createElement(w.default,{type:"primary",shape:"circle",style:{marginLeft:16},onClick:()=>this.updateGraph(),icon:E.default.createElement(x.default,null)}),E.default.createElement(S.default,{onChange:()=>this.onCheckChange(),checked:i},t("Show Instance"))),E.default.createElement(I.default,{spinning:r},E.default.createElement(A.default,{style:{margin:16},id:"card",className:L.default.container},E.default.createElement("div",{id:"container"},n&&(0,g.default)(e).call(e,((e,t)=>E.default.createElement(H.default,{key:t,x:e.nodeCardX,y:e.nodeCardY,data:this.topoInfo,infoIndex:t}))),i?n&&(0,g.default)(a).call(a,((e,t)=>E.default.createElement(V.default,{key:t,x:e[0],y:e[1],data:this.topoInfo,infoIndex:t}))):null))))}}a.Topology=X;var Y=(0,R.inject)("rootStore")((0,R.observer)(X));a.default=Y},3866:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/cloud.1733818396.png"},3867:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.subnetsColors=t.combosColors=t.combosBackground=void 0;t.combosBackground=["rgba(0,104,255,0.05)","rgba(94,246,255,0.08)","rgba(236,220,255,0.08)","rgba(255,255,240,0.3)"];t.combosColors=["#9AC3FF","#A5FFF0","#ECDCFF","#FFFF00"];t.subnetsColors=[["#9AC3FF","#4C95FF","#0068FF","#0080FF","#0066CC","#0000FF"],["#CCF2EC","#92DACF","#46B1A5","#CCF2EC","#92DACF","#46B1A5"],["#ECDCFF","#D6B3FF","#BA80FF","#ECDCFF","#D6B3FF","#BA80FF"],["#FFFACD","#FFFF00","#FFD700","#FFFACD","#FFFF00","#FFD700"]]},3868:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__node-tooltips--1M7su {\n position: absolute;\n}\n.index__node-tooltips--1M7su .ant-card-body {\n padding: 15px;\n}\n.index__image-icon--2ABo6 {\n width: 15px;\n height: 15px;\n margin-right: 2px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-item-label {\n width: 80px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-row > th,\n.index__descriptions-item--iUKkb .ant-descriptions-row > td {\n padding-bottom: 8px;\n}\n.index__node-card-title--3zjAj {\n font-size: 16px;\n}\n.index__card-button--1hPxO .ant-btn-primary {\n margin-right: 6px;\n}\n.index__main--2dSfi {\n height: 100%;\n}\n.index__main--2dSfi .ant-btn-primary {\n margin-right: 16px;\n}\n.index__container--3ea1Q {\n height: calc(100vh - 170px);\n overflow-y: auto;\n}\n",""]),t.locals={"node-tooltips":"index__node-tooltips--1M7su","image-icon":"index__image-icon--2ABo6","descriptions-item":"index__descriptions-item--iUKkb","node-card-title":"index__node-card-title--3zjAj","card-button":"index__card-button--1hPxO",main:"index__main--2dSfi",container:"index__container--3ea1Q"}},3869:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54));r(589);var o=n(r(590));r(1384);var s=n(r(1385)),d=n(r(35)),u=n(r(0)),c=(r(161),r(1248)),f=n(r(3870)),p=n(r(597)),m=r(204),h=n(r(1471)),v=n(r(1634));class g extends v.default{constructor(e){super(e),(0,d.default)(this,"detailButtons",(()=>{var{data:{servers:e},infoIndex:a}=this.props,{status:r}=e[a];return[..."SHUTOFF"===r?[{name:t("Power On"),click:null}]:[{name:t("Power Off"),click:null}],{name:t("Associate IP"),click:null},{name:t("Add network"),click:null},{name:t("VNC"),click:null},{name:t("Delete"),type:"danger",click:null}]})),this.state={}}get detailInfos(){return[{title:t("Name"),dataIndex:"name",width:100,render:(e,t)=>e?u.default.createElement(m.Link,{to:"/compute/instance/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",isHideable:!0,render:e=>c.instanceStatus[e&&e.toLowerCase()]||"-"},{title:t("Image"),dataIndex:"image_os_distro",isHideable:!0,render:(e,t)=>u.default.createElement(p.default,{type:e,title:t.image_name}),stringify:(e,t)=>t.image_name},{title:t("Fixed IP"),dataIndex:"fixed_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-",stringify:e=>e.join(",")||"-"},{title:t("Floating IP"),dataIndex:"floating_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-"}]}render(){var{x:e,y:a}=this.props,{data:{servers:r},infoIndex:i}=this.props,n=r[i];return u.default.createElement("div",{className:h.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e-8,"px")}},u.default.createElement(o.default,{placement:"rightTop",content:this.renderCard(435,n),title:this.renderTitle(t("Instance"),n.name)},u.default.createElement("div",{style:{textAlign:"center",width:"66px",height:"50px",overflow:"hidden"}},u.default.createElement(s.default,{src:f.default,shape:"square",size:28}),u.default.createElement("div",null,n.name))))}}a.default=g},3870:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,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"},3871:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/router.1733818396.png"},3872:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RouterDetail=void 0;var l=r(412),o=r(575),s=n(r(1243)),d=r(1267),u=n(r(3873)),c=n(r(3874)),f=n(r(3875)),p=n(r(1632));class m extends s.default{get name(){return t("router")}get policy(){return"get_router"}get listUrl(){return this.getRoutePath("router")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.routerStatus},{title:t("Admin State"),dataIndex:"admin_state_up",render:e=>(0,d.getRouterState)(e)||"-"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Ports"),key:"ports",component:c.default},{title:t("Static Routes"),key:"staticRoutes",component:f.default}]}init(){this.store=new o.RouterStore}}a.RouterDetail=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3873:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.aZoneCard]}get rightCards(){return[this.externalNetInfo]}get externalNetInfo(){var e=[{label:t("Network Name"),dataIndex:"externalNetworkName"},{label:t("Network ID"),dataIndex:"externalNetworkId"},{label:t("SNAT Enabled"),dataIndex:"external_gateway_info.enable_snat",valueRender:"yesNo"},{label:t("External Fixed IPs"),dataIndex:"external_gateway_info.external_fixed_ips",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,((e,a)=>o.default.createElement("div",{key:"ip-".concat(a)},o.default.createElement("div",{key:e.subnet_id},o.default.createElement("b",null,t("Subnet ID")),": ",e.subnet_id),o.default.createElement("div",{key:e.ip_address},o.default.createElement("b",null,t("IP Address")),": ",e.ip_address),o.default.createElement("div",{style:{marginBottom:"8px"}})))):"-"}];return{title:t("External Network Info"),options:e,labelCol:4}}get aZoneCard(){var e=[{label:t("Current Availability Zones"),dataIndex:"availability_zones",render:e=>(e||[]).join(",")||"-"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints",render:e=>(e||[]).join(",")||"-"}];return{title:t("Availability Zone Info"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3874:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(54)),m=f(r(58)),h=f(r(49)),v=f(r(35)),g=f(r(0)),_=r(412),b=f(r(1242)),y=r(1258),I=r(582),A=r(163);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){super(...arguments),(0,v.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("routerPortDetail"),routeParamsFunc:e=>({routerId:this.id,id:e.id})},{title:t("IP Address"),dataIndex:"fixed_ips",isHideable:!0,render:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>g.default.createElement("div",{key:e.ip_address},e.ip_address))):"-",stringify:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>e.ip_address)).join(","):"-"},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Associated Resources"),dataIndex:"device_owner",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=new I.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]);r&&(t.list.silent=!0);var{id:n}=t.props.match.params,{tab:l}=i,f=(0,m.default)(i,["tab"]);t.fetchListWithTry((0,h.default)((function*(){yield t.store.fetchList(function(e){for(var t=1;t[{title:t("Destination CIDR"),dataIndex:"destination"},{title:t("Next Hop"),dataIndex:"nexthop",isHideable:!0}]))}init(){this.store=d.default}get policy(){return"get_router"}get name(){return t("static routers")}get actionConfigs(){return this.isAdminPage?u.default.actionConfigsAdmin:u.default.actionConfigs}get searchFilters(){return[]}}a.StaticRouters=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3876:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3877)),l=i(a(3878)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[]}};t.default=o},3877:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(623)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",((e,t)=>{var{match:{params:{id:a}={}}={}}=t,r=[e];return this.store.addStaticRoute({id:a,routes:r})}))}init(){this.store=d.default}get name(){return t("Create static route")}get defaultValue(){return{}}get messageHasItemName(){return!1}get formItems(){return[{name:"destination",label:t("Destination CIDR"),type:"input",required:!0},{name:"nexthop",label:t("Next Hop"),type:"input",required:!0}]}}a.Create=c,(0,o.default)(c,"id","create"),(0,o.default)(c,"title",t("Create Static Route")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3878:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(35)),s=r(1241),d=n(r(623));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_router"),(0,o.default)(this,"getItemName",(e=>{var t,{destination:a,nexthop:r}=e;return(0,l.default)(t="".concat(a,"(")).call(t,r,")")})),(0,o.default)(this,"onSubmit",(e=>{var{destination:t,nexthop:a,router_id:r}=e,i=[{destination:t,nexthop:a}];return d.default.removeStaticRoute({id:r,routes:i})}))}get id(){return"delete"}get title(){return t("Delete Static Route")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete static route")}}a.default=u},3879:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(177)),d=n(r(0)),u=r(412),c=n(r(1249));class f extends c.default{get leftCards(){var e=[this.portInfo],{dns_assignment:t=[],fixed_ips:a=[],deviceOwner:r={}}=this.detailData;return t.length>0&&e.push(this.dnsAssignment),a.length>0&&e.push(this.fixedIps),r&&this.isAdmin&&e.push(this.deviceOwner),e.push(this.binding),e}get portInfo(){var e=[{label:t("Network Name"),dataIndex:"network_name"},{label:t("Network ID"),dataIndex:"network_id"},{label:t("MAC Address"),dataIndex:"mac_address"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{label:t("DNS Name"),dataIndex:"dns_name",hidden:!this.isAdmin}];return this.detailData.mac_state&&e.push({label:t("MAC Learning State"),dataIndex:"mac_state"}),this.detailData.qos_policy_id&&e.push({label:t("QoS Policy ID"),dataIndex:"qos_policy_id"}),{title:t("Port Info"),options:e}}get dnsAssignment(){var e=this.detailData.dns_assignment[0]||{},{hostname:a,ip_address:r}=e,i=[{label:t("Hostname"),dataIndex:"dns_assignment",render:()=>a},{label:t("IP Address"),dataIndex:"ip_address",render:()=>r}];return{title:t("DNS Assignment"),options:i}}get fixedIps(){var e=this.detailData.fixed_ips[0]||{},{ip_address:a,subnet_id:r}=e,i=[{label:t("IP Address"),dataIndex:"ip_address",render:()=>a},{label:t("Subnet ID"),dataIndex:"subnet_id",render:()=>r}];return{title:t("Fixed IPs"),options:i}}get deviceOwner(){var e=[{label:t("Device Owner"),dataIndex:"device_owner"},{label:t("Device ID"),dataIndex:"device_id"}];return{title:t("Attached Device"),options:e}}get binding(){var e=[{label:t("VNIC Type"),dataIndex:"binding__vnic_type"}];if(this.detailData.binding__host_id){var a=[{label:t("Host"),dataIndex:"binding__host_id"},{label:t("Profile"),dataIndex:"binding__profile",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t),": ",d.default.createElement("b",null,e[t]))))}},{label:t("VIF Type"),dataIndex:"binding__vif_type"},{label:t("VIF Details"),dataIndex:"binding__vif_details",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t)," ",d.default.createElement("span",null,e[t].toString()))))}}];e=[...e,...a]}return{title:t("Binding"),options:e}}}a.BaseDetail=f;var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3880:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=n(r(164)),o=n(r(29)),s=r(412),d=r(572),u=n(r(1243)),c=r(571),f=n(r(3881)),p=n(r(3886)),m=n(r(3890)),h=n(r(3894)),v=n(r(1607));class g extends u.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{networkId:e,subnetId:t,instanceId:a}=this.params;return this.isSubnetPortDetail?this.getRoutePath("subnetDetail",{id:t,networkId:e},{tab:"ports"}):this.isNetworkPortDetail?this.getRoutePath("networkDetail",{id:e},{tab:"ports"}):this.isInstancePortDetail?this.getRoutePath("instanceDetail",{id:a},{tab:"interface"}):this.getRoutePath("port")}get isSubnetPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"subnet")}get isNetworkPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"networks")&&!this.isSubnetPortDetail}get isInstancePortDetail(){var e;return(0,l.default)(e=this.path).call(e,"instance")}get actionConfigs(){return this.isAdminPage?v.default.adminActions:v.default.actionConfigs}getActionData(){return this.detailData.itemInList||{}}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Status"),dataIndex:"status",valueMap:c.networkStatus},{title:t("Owned Network"),dataIndex:"itemInList.network_name"},{title:t("Network ID"),dataIndex:"network_id"},{title:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:h.default},{title:t("Fixed IPs"),key:"fixed_ips",component:f.default},{title:t("Security Groups"),key:"security_groups",component:p.default},{title:t("Allowed Address Pairs"),key:"allowed_address_pair",component:m.default}],{port_security_enabled:a}=this.detailData;return a?e:(0,o.default)(e).call(e,(e=>"security_groups"!==e.key))}init(){this.store=new d.PortStore}}a.PortDetail=g;var _=(0,s.inject)("rootStore")((0,s.observer)(g));a.default=_},3881:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FixedIP=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(3882),u=n(r(3883));class c extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>0===e.length?"-":e[0].floating_ip_address},{title:t("Owned Subnet"),dataIndex:"subnet",render:e=>e&&e.name||"-"}]))}init(){this.store=new d.FixedIpStore,this.downloadStore=new d.FixedIpStore}get rowKey(){return"ip_address"}get policy(){return"get_port"}get name(){return t("Fixed IP")}get actionConfigs(){return this.isAdminPage?u.default.adminConfigs:u.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Owned Subnet"),name:"subnet",filterFunc:(e,t)=>e.name===t}]}}a.FixedIP=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3882:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FixedIpStore=void 0;var f=c(a(350)),p=c(a(591)),m=c(a(54)),h=c(a(63)),v=c(a(28)),g=c(a(35)),_=c(a(49)),b=c(a(58)),y=c(a(233)),I=c(a(346)),A=c(a(50)),S=c(a(53));function w(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function x(e){for(var t=1;t{var{all_projects:t}=e;return(0,b.default)(e,["all_projects"])}}getItemFloatingIPs(e,t){return(0,_.default)((function*(){return I.default.pureFetchList({fixed_ip_address:e,port_id:t})}))()}listDidFetch(e){var t=this;return(0,_.default)((function*(){if(0===e.length)return[];var a=e[0],{fixed_ips:r=[],id:i}=a,n=(0,f.default)(new p.default((0,m.default)(r).call(r,(e=>e.subnet_id)))),l=yield h.default.all((0,m.default)(n).call(n,(e=>y.default.fetchSubnetDetail({id:e})))),o={};(0,v.default)(l).call(l,(e=>{o[e.id]=e}));var s=yield h.default.all((0,m.default)(r).call(r,(e=>t.getItemFloatingIPs(e.ip_address,i))));return(0,m.default)(r).call(r,((e,t)=>x(x({},e),{},{subnet:o[e.subnet_id],fip:s[t],port:a})))}))()}}t.FixedIpStore=P;var C=new P;t.default=C},3883:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3884)),l=i(a(3885)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3884:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AllocateIP=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(572)),p=r(233),m=r(417);class h extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{fixed_ips:t}=e,a=(0,l.default)(t).call(t,(e=>{var t={subnet_id:e.subnet};return e.ip_address&&"manual"===e.ip_address.type&&(t.ip_address=e.ip_address.ip),t}));return f.default.update(this.item,{fixed_ips:[...a,...this.item.fixed_ips]})}))}get name(){return t("Allocate IP")}init(){this.networkStore=new p.NetworkStore,this.subnetStore=new m.SubnetStore,this.getNetworkDetail(this.item.network_id),this.getSubnets(this.item.network_id)}getSubnets(e){var t=this;return(0,s.default)((function*(){var a=yield t.subnetStore.fetchList({network_id:e});t.setState({subnetDetails:a||[]})}))()}getNetworkDetail(e){var t=this;return(0,s.default)((function*(){var a=yield t.networkStore.fetchDetail({id:e});t.updateFormValue("network_name",a.name)}))()}get defaultValue(){return{network_id:this.item.network_id}}get isAllowed(){return!0}static get modalSize(){return"large"}get messageHasItemName(){return!1}get formItems(){var{subnetDetails:e=[]}=this.state;return[{name:"network_id",label:t("Owned Network ID"),type:"label"},{name:"network_name",label:t("Owned Network"),type:"label"},{name:"fixed_ips",label:t("Owned Subnet"),type:"ip-distributor",subnets:e,required:!0}]}}a.AllocateIP=h,(0,d.default)(h,"id","allocate-ip"),(0,d.default)(h,"title",t("Allocate IP")),(0,d.default)(h,"policy","update_port:fixed_ips:ip_address"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3885:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(28)),o=n(r(29)),s=n(r(63)),d=n(r(35)),u=r(1241),c=n(r(572));class f extends u.ConfirmAction{constructor(){super(...arguments),(0,d.default)(this,"getItemName",(e=>e.ip_address)),(0,d.default)(this,"policy","update_port"),(0,d.default)(this,"onSubmit",((e,t,a,r,i)=>{var{port:{id:n,fixed_ips:d=[]}={}}=e,u=d;if(a){if(0!==r)return s.default.resolve();(0,l.default)(i).call(i,(e=>{var{subnet_id:t,ip_address:a}=e;u=(0,o.default)(u).call(u,(e=>e.ip_address!==a||e.subnet_id!==t))}))}else{var{subnet_id:f,ip_address:p}=e;u=(0,o.default)(d).call(d,(e=>e.ip_address!==p||e.subnet_id!==f))}return c.default.update({id:n},{fixed_ips:u})}))}get id(){return"delete"}get title(){return t("Release Fixed IP")}get buttonText(){return t("Release")}get isDanger(){return!0}get actionName(){return t("release fixed ip")}get passiveAction(){return t("be released")}}a.default=f},3886:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroup=void 0;var l=n(r(54));r(347);var o=n(r(348));r(426);var s=n(r(429)),d=n(r(1458));r(585);var u=n(r(587)),c=n(r(343));r(1246);var f=n(r(1247));r(1244);var p=n(r(1245));r(231);var m=n(r(341));r(1300);var h=n(r(1301)),v=n(r(35));r(1468);var g=n(r(1469)),_=n(r(0)),b=r(412),y=r(572),I=(r(161),n(r(1608))),A=r(204),S=n(r(4)),w=r(36),x=(r(564),n(r(1388))),P=n(r(1302)),C=r(354),E=r(163),D=r(567),k=n(r(3887)),R=n(r(3888)),{Panel:N}=g.default;class j extends _.default.Component{constructor(e){super(e),(0,v.default)(this,"refreshSecurityGroup",(()=>{this.store.fetchSecurityGroupsDetail(this.portId)})),this.store=new y.PortStore}componentDidMount(){this.refreshSecurityGroup()}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,D.getPath)({key:t,params:{id:e}})}get portId(){var{detail:{id:e}}=this.props;return e}get isAdminPage(){var{pathname:e}=this.props.location;return(0,E.isAdminPage)(e)}renderPanelTitle(e){var{security_groups:{data:a}}=this.store,r=this.getDetailUrl(e.id);return _.default.createElement(f.default,null,_.default.createElement(p.default,{span:18},_.default.createElement("span",null,t("Security Group")),_.default.createElement(h.default,{type:"vertical",className:R.default["header-divider"]}),_.default.createElement(m.default,{type:"link"},e.name)),_.default.createElement(p.default,{span:6},!this.isAdminPage&&_.default.createElement(_.default.Fragment,null,_.default.createElement(A.Link,{style:{fontSize:12,marginRight:16},to:r},t("Edit Rule"))),!this.isAdminPage&&1!==a.length&&_.default.createElement(_.default.Fragment,null,_.default.createElement(P.default,{actions:{firstAction:k.default},onFinishAction:this.refreshSecurityGroup,item:e,containerProps:this.props},t("Detach")))))}renderPanel(e,t){return _.default.createElement(N,{header:this.renderPanelTitle(e,t),key:t,className:R.default.panel},_.default.createElement(u.default,(0,c.default)({size:"middle",pagination:!1,bordered:!1,rowKey:"id"},this.state,{columns:(0,C.getSelfColumns)(this),dataSource:e.security_group_rules?(0,w.toJS)(e.security_group_rules):null})))}render(){var e,{security_groups:t}=this.store;return _.default.createElement("div",{className:(0,S.default)(R.default.wrapper,this.className)},this.isAdminPage?null:_.default.createElement("div",{style:{marginBottom:20}},_.default.createElement(x.default,{containerProps:this.props,primaryActions:[I.default],onFinishAction:this.refreshSecurityGroup})),_.default.createElement(o.default,{spinning:t.isLoading},t.data&&0!==t.data.length?_.default.createElement(g.default,{className:R.default.collapse,accordion:!0,bordered:!1,expandIcon:e=>{var{isActive:t}=e;return _.default.createElement(d.default,{rotate:t?90:0})}},(0,l.default)(e=t.data).call(e,((e,t)=>this.renderPanel(e,t)))):_.default.createElement(s.default,{image:s.default.PRESENTED_IMAGE_SIMPLE,style:{backgroundColor:"white",padding:"32px 0"}})))}}a.SecurityGroup=j;var M=(0,b.inject)("rootStore")((0,b.observer)(j));a.default=M},3887:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(35)),s=r(1241),d=n(r(572));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_port"),(0,o.default)(this,"allowedCheckFunc",(()=>!0)),(0,o.default)(this,"onSubmit",(e=>{var{port:{id:t,security_groups:a=[]}={}}=e,r={security_groups:(0,l.default)(a).call(a,(t=>t!==e.id))};return d.default.update({id:t},r)}))}get id(){return"detach"}get title(){return t("Detach Security Group")}get isDanger(){return!0}get buttonText(){return t("Detach")}get actionName(){return t("detach security group")}}a.default=u},3888:function(e,t,a){var r=a(3889);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},3889:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3LuNN {\n min-height: calc(100vh - 108px);\n padding: 0 16px;\n}\n.index__collapse--3_l12 {\n margin-bottom: 24px;\n overflow: hidden;\n}\n.index__panel--3V7V- {\n margin-bottom: 24px;\n padding-top: 12px;\n padding-bottom: 12px;\n font-size: larger;\n background: #fff;\n}\n.index__header-divider--EyyRf {\n width: 2px;\n margin: 0 5px;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.index__image--XS90m {\n width: 100px;\n padding: 10px;\n}\n.index__radio-button--2oJLs .ant-radio-button-wrapper {\n width: 250px;\n height: 100px;\n margin-right: 40px;\n padding: 15px;\n}\n.index__security-group-text--1Hv_J {\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3LuNN",collapse:"index__collapse--3_l12",panel:"index__panel--3V7V-","header-divider":"index__header-divider--EyyRf",image:"index__image--XS90m","radio-button":"index__radio-button--2oJLs","security-group-text":"index__security-group-text--1Hv_J"}},3890:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.AllowedAddressPair=void 0;var p=f(r(54)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(572)),b=f(r(432)),y=f(r(3891));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;tthis.props.detail.allowed_address_pairs)),(0,h.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Mac Address"),dataIndex:"mac_address"}]))}init(){this.store=_.default,this.store.setDetail(this.props.detail)}get list(){var e,t=new b.default;this.props.detail.allowed_address_pairs&&t.update({data:(0,p.default)(e=this.props.detail.allowed_address_pairs||[]).call(e,((e,t)=>A(A({},e),{},{id:"port_detail_allowed_address_pair_".concat(t)})))});return t}get isLoading(){return!1}getData(){return(0,m.default)((function*(){}))()}get policy(){return"get_port"}get name(){return t("Allowed Address Pairs")}get actionConfigs(){return this.isAdminPage?y.default.adminConfigs:y.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Mac Address"),name:"mac_address"}]}}a.AllowedAddressPair=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3891:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3892)),l=i(a(3893)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3892:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAllowedAddressPair=void 0;var l=n(r(1252)),o=n(r(63)),s=n(r(35)),d=n(r(177)),u=r(412),c=r(1241),f=n(r(572)),p=r(565),{isIpCidr:m,isIPv6Cidr:h}=p.ipValidate;class v extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{allowed_address_pairs:t=[]}=this.item,{ip_address:a,mac_address:r}=e,i={ip_address:a};return"manual"===r.type&&(i.mac_address=r.mac),f.default.update(this.item,{allowed_address_pairs:[i,...t]}).then((e=>{f.default.setDetail(e.port)}))})),(0,s.default)(this,"checkCidr",(e=>{if((0,d.default)(e))return!1;var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!m(e))&&!("ipv6"===t&&!h(e))}))}init(){this.store=f.default}get name(){return t("create allowed address pair")}get instanceName(){return(0,l.default)(this).ip_address}get isAllowed(){return!0}static get modalSize(){return"middle"}get defaultValue(){return{ip_version:"ipv4"}}get formItems(){return[{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e},(()=>{this.formRef.current.validateFields()}))},required:!0},{name:"ip_address",label:t("CIDR"),type:"input",required:!0,validator:(e,a)=>this.checkCidr(a)?o.default.resolve():o.default.reject(new Error(t("Invalid CIDR.")))},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},required:!0,type:"mac-address",options:[{label:t("From port"),value:"auto"},{label:t("Manual input"),value:"manual"}]}]}}a.CreateAllowedAddressPair=v,(0,s.default)(v,"id","create-ip"),(0,s.default)(v,"title",t("Create Allowed Address Pair")),(0,s.default)(v,"policy","update_port"),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3893:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(572));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"getItemName",(e=>e.ip_address)),(0,s.default)(this,"policy","update_port"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,s.default)(this,"onSubmit",function(){var e=(0,o.default)((function*(e,t){var{allowed_address_pairs:a=[],id:r}=t.detail,i=(0,l.default)(a).call(a,(t=>t.ip_address!==e.ip_address));return u.default.update({id:r},{allowed_address_pairs:i}).then((e=>{u.default.setDetail(e.port)}))}));return function(t,a){return e.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Allowed Address Pair")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete allowed address pair")}isOwnerOrAdmin(){return!0}}a.default=c},3894:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(77)),o=r(412),s=n(r(1249)),d=r(66);class u extends s.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,d.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Bind Device Type"),dataIndex:"device_owner"},{label:t("Bind Device"),dataIndex:"device_id",render:(e,t)=>{var{itemInList:{device_id:a,device_owner:r,server_name:i}={}}=t;if(a&&"compute:nova"===r){var n,o=i?(0,l.default)(n="".concat(a," (")).call(n,i,")"):a;return this.getLinkRender("instanceDetail",o,{id:a},{tab:"interface"})}return e||"-"}},{label:t("VNIC Type"),dataIndex:"binding:vnic_type"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",copyable:!1,render:e=>{var t;if(!e)return"-";var{qosPolicy:a}=this.detailData,{name:r}=a||{},i=r?(0,l.default)(t="".concat(e,"(")).call(t,r,")"):e;return this.getLinkRender("networkQosDetail",i,{id:e})}}),{title:t("Base Info"),options:e}}}a.BaseDetail=u;var c=(0,o.inject)("rootStore")((0,o.observer)(u));a.default=c},3895:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(1636));class u extends o.default{get checkEndpoint(){return!0}get endpoint(){return(0,s.qosEndpoint)()}get tabs(){var e=[{title:t("Current Project QoS Policies"),key:"projectQoSPolicy",component:d.default},{title:t("Shared QoS Policies"),key:"sharedQoSPolicy",component:d.default}];return this.hasAdminRole&&e.push({title:t("All QoS Policies"),key:"allQoSPolicy",component:d.default}),e}}a.QoSPolicy=u;var c=(0,l.inject)("rootStore")((0,l.observer)(u));a.default=c},3896:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(340)),b=r(576),y=r(1265),I=r(163),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{name:t,description:a,shared:r,is_default:i,project_id:n}=e;return this.store.create({name:t,description:a,shared:r,is_default:i,project_id:n?n.selectedRowKeys[0]:this.props.rootStore.user.project.id})}))}get name(){return t("Create QoS Policy")}static get modalSize(){var{pathname:e}=window.location;return(0,I.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){this.store=new b.QoSPolicyStore,this.projectStore=_.default,this.isAdminPage&&this.fetchProjectList()}fetchProjectList(){var e=this;return(0,m.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,A.toJS)(this.projectStore.list.data)||[]}get defaultValue(){return this.isAdminPage?{project_id:{selectedRowKeys:[this.props.rootStore.user.project.id]}}:{}}get formItems(){return[{name:"name",label:t("Policy Name"),type:"input-name",required:!0,withoutChinese:!0},w({name:"project_id",label:t("Project"),type:"select-table",required:this.isAdminPage,isLoading:_.default.list.isLoading,data:this.projects,hidden:!this.isAdminPage},y.projectTableOptions),{name:"description",label:t("Description"),type:"textarea"},{name:"shared",label:t("Shared"),type:"switch",hidden:!this.isAdminPage},{name:"is_default",label:t("Default Policy"),type:"switch",hidden:!this.isAdminPage}]}}a.Create=x,(0,h.default)(x,"id","create_qos_policy"),(0,h.default)(x,"title",t("Create QoS Policy")),(0,h.default)(x,"policy","create_policy"),(0,h.default)(x,"aliasPolicy","neutron:create_policy"),(0,h.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,v.inject)("rootStore")((0,v.observer)(x));a.default=P},3897:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(576);function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class b extends v.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"policy",(()=>({rules:[["network","edit_qos_policy"]]}))),(0,m.default)(this,"onSubmit",(e=>this.store.update(this.props.item,e)))}get name(){return t("Edit QoS Policy")}init(){this.store=new g.QoSPolicyStore}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;tp.default.resolve(!0)));var y=(0,h.inject)("rootStore")((0,h.observer)(b));a.default=y},3898:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(576));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_policy"),(0,l.default)(this,"aliasPolicy","neutron:delete_policy"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete QoS Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete qos policy")}isOwnerOrAdmin(){return!0}}a.default=d},3899:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateBandwidthLimitRule=void 0;var p=f(r(232)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=f(r(0)),_=r(412),b=r(1241),y=f(r(576));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{var{max_kbps:t,max_burst_kbps:a}=e,r=A(A({},(0,h.default)(e,["max_kbps","max_burst_kbps"])),{},{max_kbps:1024*t,max_burst_kbps:1024*a});return y.default.createBandwidthLimitRule(this.props.item,r)}))}get name(){return t("create bandwidth limit rule")}get defaultValue(){return{max_kbps:1,max_burst_kbps:1,direction:"egress"}}get formItems(){return[{label:t("Type"),type:"label",component:g.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"direction",label:t("Direction"),type:"select",options:[{label:t("egress"),value:"egress"},{label:t("ingress"),value:"ingress"}]}]}}a.CreateBandwidthLimitRule=S,(0,v.default)(S,"id","create_bandwidth_limit_rule"),(0,v.default)(S,"title",t("Create Bandwidth Limit Rule")),(0,v.default)(S,"policy","create_policy_bandwidth_limit_rule"),(0,v.default)(S,"allowed",(e=>{var{rules:t=[]}=e,a=(0,p.default)(t).call(t,(e=>"ingress"===e.direction)),r=(0,p.default)(t).call(t,(e=>"egress"===e.direction));return m.default.resolve(!(a&&r))}));var w=(0,_.inject)("rootStore")((0,_.observer)(S));a.default=w},3900:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateDSCPMarkingRules=void 0;var l=n(r(232)),o=n(r(63)),s=n(r(35)),d=n(r(0)),u=r(412),c=r(1241),f=n(r(576)),p=n(r(1638));class m extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>f.default.createDSCPMarkingRule(this.props.item,e)))}get name(){return t("create DSCP marking rule")}get defaultValue(){return{dscp_mark:0}}get formItems(){return[{label:t("Type"),type:"label",component:d.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:p.default}]}}a.CreateDSCPMarkingRules=m,(0,s.default)(m,"id","create_DSCP_marking_rule"),(0,s.default)(m,"title",t("Create DSCP Marking Rule")),(0,s.default)(m,"policy","create_policy_dscp_marking_rule"),(0,s.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type));return o.default.resolve(!a)}));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3901:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_dscp_marking_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasDSCPMarkingRule(e))),(0,s.default)(this,"hasDSCPMarkingRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"dscp_marking"===e.type));return u.default.deleteDSCPMarkingRules(e,a)}))}get id(){return"delete"}get title(){return t("Delete DSCP Marking Rules")}get isDanger(){return!0}get buttonText(){return t("Delete DSCP Marking Rules")}get actionName(){return t("delete dscp marking rules")}isOwnerOrAdmin(){return!0}}a.default=c},3902:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasEgressRule(e))),(0,s.default)(this,"hasEgressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"egress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-egress"}get title(){return t("Delete Bandwidth Egress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Egress Rules")}get actionName(){return t("delete bandwidth egress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3903:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasIngressRule(e))),(0,s.default)(this,"hasIngressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"ingress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-ingress"}get title(){return t("Delete Bandwidth Ingress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Ingress Rules")}get actionName(){return t("delete bandwidth ingress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3904:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthEgressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{max_kbps:t,max_burst_kbps:a}=e,r={max_kbps:1024*t,max_burst_kbps:1024*a};return p.default.updateBandwidthLimitRule(this.props.item,this.egressRule.id,r)}))}get name(){return t("Edit Bandwidth Egress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.egressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.egressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Egress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthEgressRule=m,(0,d.default)(m,"id","edit_bandwidth_egress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Egress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"egress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3905:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthIngressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateBandwidthLimitRule(this.props.item,this.ingressRule.id,{max_kbps:1024*e.max_kbps,max_burst_kbps:1024*e.max_burst_kbps})))}get name(){return t("Edit Bandwidth Ingress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.ingressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.ingressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Ingress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthIngressRule=m,(0,d.default)(m,"id","edit_bandwidth_ingress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Ingress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"ingress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3906:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditDSCPMarkingRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576)),m=n(r(1638));class h extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateDSCPMarkingRule(this.props.item,this.dscpMarkingRule.id,e)))}get name(){return t("Edit DSCP Marking Rule")}get defaultValue(){return{dscp_mark:this.dscpMarkingRule.dscp_mark||0}}init(){var{rules:e=[]}=this.item;this.dscpMarkingRule=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:m.default}]}}a.EditDSCPMarkingRule=h,(0,d.default)(h,"id","edit_DSCP_marking_rule"),(0,d.default)(h,"title",t("Edit DSCP Marking Rule")),(0,d.default)(h,"policy","update_policy_dscp_marking_rule"),(0,d.default)(h,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"dscp_marking"===e.type));return s.default.resolve(a)}));var v=(0,c.inject)("rootStore")((0,c.observer)(h));a.default=v},3907:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicyDetail=void 0;var l=n(r(573)),o=r(412),s=n(r(1243)),d=r(576),u=n(r(1466)),c=n(r(3908)),f=n(r(1637));class p extends s.default{get name(){return t("qoS policy")}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get listUrl(){return this.getRoutePath("networkQos")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigs:f.default.consoleActions}get detailInfos(){var e=[{title:t("Policy Name"),dataIndex:"name"},{title:t("Rule Numbers"),dataIndex:"rules",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Default Policy"),dataIndex:"is_default",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&(0,l.default)(e).call(e,3,0,{title:t("Owned Project"),dataIndex:"project_name"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:c.default},{title:t("Floating IPs"),key:"fip",component:u.default}]}init(){this.store=new d.QoSPolicyStore}}a.QoSPolicyDetail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3908:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[...this.BandwidthCard,this.DSCPMarkingCard]}getOptions(e){var{max_kbps:a="-",max_burst_kbps:r="-"}=e||{};return[{label:t("Max BandWidth"),content:"".concat("-"===a?a:a/1024," Mbps")},{label:t("Max Burst"),content:"".concat("-"===r?r:r/1024," Mbps")}]}get BandwidthCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction)),r=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return[{title:t("BandWidth Limit Egress"),options:this.getOptions(a)},{title:t("BandWidth Limit Ingress"),options:this.getOptions(r)}]}get DSCPMarkingCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{},r=[{label:t("Value"),content:0===a.dscp_mark?"0":a.dscp_mark||"-"}];return{title:t("DSCP Marking"),options:r}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3909:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.LoadBalancerInstance=void 0,r(1246);var l=n(r(1247));r(1244);var o=n(r(1245)),s=n(r(49)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=(r(161),r(581)),m=r(1254),h=r(66),v=r(1639);class g extends f.default{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"fetchDataByPage",function(){var t=(0,s.default)((function*(t){yield e.store.fetchListByPageWithFip(t),e.list.silent=!1}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"fetchDownloadData",function(){var t=(0,s.default)((function*(t){return e.isFilterByBackend?yield e.downloadStore.fetchListByPageWithFip(e.updateFetchParamsByPage(t)):yield e.downloadStore.fetchList(e.updateFetchParams(t))}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,sortKey:"project_id"},{title:t("Network ID"),dataIndex:"vip_network_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>e||"-"},{title:t("Port ID"),dataIndex:"vip_port_id"},{title:t("Operating Status"),dataIndex:"operating_status",valueMap:m.operatingStatusCodes,titleTip:u.default.createElement(l.default,null,u.default.createElement(o.default,null,t("DRAINING: The member is not accepting new connections")),u.default.createElement(o.default,null,t("DEGRADED: One or more of the entity’s components are in ERROR")))},{title:t("Provisioning Status"),dataIndex:"provisioning_status",valueMap:m.provisioningStatusCodes},{title:t("Listener Number"),dataIndex:"listeners",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}]))}init(){this.store=new p.LbaasStore,this.downloadStore=new p.LbaasStore}get fetchDataByCurrentProject(){return!0}get policy(){return"os_load-balancer_api:loadbalancer:get_all"}get checkEndpoint(){return!0}get endpoint(){return(0,h.lbEndpoint)()}get name(){return t("Load Balancers")}get isFilterByBackend(){return!0}get actionConfigs(){return this.isAdminPage?v.adminActions:v.actionConfigs}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.LoadBalancerInstance=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3910:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(581));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"policy",(()=>"edit_load_balancer")),(0,o.default)(this,"onSubmit",(e=>u.default.update({id:this.item.id},e)))}get name(){return t("Edit Load Balancer")}get defaultValue(){var{item:e}=this;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=c,(0,o.default)(c,"id","edit_load_balancer"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","os_load-balancer_api:loadbalancer:put"),(0,o.default)(c,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status)}));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3911:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(581)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:loadbalancer:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})+t("This will delete all child objects of the load balancer.")})),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(this.isCurrentProject(e)&&"ACTIVE"===e.provisioning_status||"ERROR"===e.provisioning_status))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Load Balancer")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete load balancer")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3912:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AssociateFip=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(412),u=n(r(346)),c=r(1241),f=r(1258),p=r(1273),m=r(1267);class h extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleFixedIPChange",(e=>p.handleFixedIPChange.call(this,e))),(0,s.default)(this,"onSubmit",(e=>{var{fixed_ip:t,fip:a}=e,r=t.selectedRows[0],i=a.selectedRowKeys[0];return u.default.associateFip({id:i,port_id:this.item.vip_port_id,fixed_ip_address:r.ip_address})}))}init(){this.getInterfaces(),m.getCanReachSubnetIdsWithRouterIdInComponent.call(this),this.state={interfaces:[],fixed_ip:null,portFixedIPs:[],canAssociateFloatingIPs:[],canReachSubnetIdsWithRouterId:[],portLoading:!0}}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Associate Floating IP")}getInterfaces(){var e=this;return(0,o.default)((function*(){var t=[{port_id:e.item.vip_port_id,network_id:e.item.vip_network_id,fixed_ips:[{ip_address:e.item.vip_address,subnet_id:e.item.vip_subnet_id}]}],a=yield(0,p.getInterfaceWithReason)(t);e.setState({interfaces:a,portLoading:!1})}))()}get ports(){var{interfaces:e,canReachSubnetIdsWithRouterId:t}=this.state;return f.getPortsAndReasons.call(this,e,t)}get defaultValue(){var{name:e}=this.item;return{lb:e}}getFIPFormItemExtra(){return(0,p.getFIPFormItemExtra)()}disableFIPAssociate(e){return(0,p.disableFIPAssociate)(e)}get formItems(){var e=(0,p.getFixedIPFormItemForAssociate)(t("Fixed IP"),this),a=(0,p.getFIPFormItemForAssociate)(this);return[{name:"lb",label:t("Load Balancer"),type:"label",iconType:"instance"},e,a]}}a.AssociateFip=h,(0,s.default)(h,"id","AssociateFip"),(0,s.default)(h,"title",t("Associate Floating IP")),(0,s.default)(h,"policy","update_floatingip"),(0,s.default)(h,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status&&function(e){return null===e.fip||void 0===e.fip}(e))}));var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3913:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseStep=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=n(r(1250)),u=r(412),c=r(233),f=r(417),p=r(581);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,s.default)(this,"allowed",(()=>l.default.resolve())),(0,s.default)(this,"handleOwnedNetworkChange",(e=>{var{network_id:t}=this.state,a=e.selectedRowKeys[0];this.setState({network_id:a},(()=>{var{network_id:e}=this.state;t&&t!==e&&this.formRef.current.setFieldsValue({vip_address:void 0})})),this.getSubnets(a)})),(0,s.default)(this,"fetchSubnetDetails",function(){var t=(0,o.default)((function*(t){var a=yield e.subnetStore.fetchList({network_id:t});e.setState({subnetDetails:a||[]})}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new p.LbaasStore,this.networkStore=new c.NetworkStore,this.subnetStore=new f.SubnetStore}get title(){return"BaseStep"}get name(){return"BaseStep"}get isStep(){return!0}get defaultValue(){return{project_id:this.props.rootStore.user.project.id,admin_state_enabled:!0}}getSubnets(e){var t=this;return(0,o.default)((function*(){yield t.networkStore.fetchDetail({id:e}),yield t.fetchSubnetDetails(e)}))()}get formItems(){var{network_id:e,subnetDetails:a=[]}=this.state;return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"vip_network_id",label:t("Owned Network"),type:"network-select-table",onChange:this.handleOwnedNetworkChange,required:!0},{name:"vip_address",label:t("Owned Subnet"),type:"ip-distributor",subnets:a,formRef:this.formRef,maxNumber:1,hidden:!e,required:!0},{name:"admin_state_enabled",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the port.")}]}}a.BaseStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3914:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(35)),d=r(412),u=n(r(1250)),c=r(1254),f=r(1335),p=r(1336);class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"allowed",(()=>l.default.resolve()))}init(){this.containersStore=new f.ContainersStore,this.secretsStore=new p.SecretsStore,this.fetchContainers(),this.fetchSecrets()}get title(){return"Listener Detail"}get name(){return"Listener Detail"}get isStep(){return!0}fetchContainers(){this.containersStore.fetchList()}fetchSecrets(){this.secretsStore.fetchList({mode:"CA"})}get SERVERSecrets(){return this.containersStore.list.data||[]}get CASecrets(){return this.secretsStore.list.data||[]}get SNISecrets(){var e;return(0,o.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get defaultValue(){return{listener_ssl_parsing_method:"one-way",listener_sni_enabled:!1,listener_connection_limit:-1,listener_admin_state_up:!0}}get nameForStateUpdate(){return["listener_protocol","listener_ssl_parsing_method","listener_sni_enabled"]}get formItems(){var e,{listener_protocol:a,listener_ssl_parsing_method:r,listener_sni_enabled:i}=this.state,n=(0,c.getListenerInsertHeadersFormItem)();return[{name:"listener_name",label:t("Listener Name"),type:"input-name",required:!0},{name:"listener_description",label:t("Listener Description"),type:"textarea"},{name:"listener_protocol",label:t("Listener Protocol"),type:"select",options:c.listenerProtocols,onChange:()=>{this.updateContext({pool_protocol:"",health_type:""})},required:!0},{name:"listener_ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:c.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"listener_default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.SERVERSecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"listener_client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CASecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,o.default)(e=(0,c.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"listener_sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"listener_sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNISecrets,isLoading:!1,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"listener_protocol_port",label:t("Listener Protocol Port"),type:"input-number",required:!0},{name:"listener_connection_limit",label:t("Listener Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"listener_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.ListenerStep=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3915:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PoolStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1400),p=r(1254);class m extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve())),(0,d.default)(this,"handleAlgorithmChange",(e=>{this.setState({pool_lb_algorithm:e})}))}get title(){return"Pool Detail"}get name(){return"Pool Detail"}get isStep(){return!0}get filterOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(p.poolProtocols).call(p.poolProtocols,(t=>(0,s.default)(e).call(e,t.label)))}init(){this.state={pool_lb_algorithm:void 0}}get defaultValue(){return{pool_admin_state_up:!0}}get formItems(){var{pool_lb_algorithm:e}=this.state;return[{name:"pool_name",label:t("Pool Name"),type:"input-name",required:!0},{name:"pool_description",label:t("Pool Description"),type:"textarea"},{name:"pool_lb_algorithm",label:t("Pool Algorithm"),type:"select",options:f.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&f.algorithmTip[e],required:!0},{name:"pool_protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,onChange:()=>{this.updateContext({health_type:""})},required:!0},{name:"pool_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.PoolStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3916:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.MemberStep=void 0;var n=i(a(63)),l=i(a(29)),o=i(a(35)),s=i(a(119)),d=a(412),u=i(a(1250)),c=a(572);class f extends u.default{constructor(){super(...arguments),(0,o.default)(this,"allowed",(()=>n.default.resolve()))}init(){this.store=new c.PortStore,this.state={ports:[]},this.store.fetchList().then((e=>{this.setState({ports:(0,l.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}get title(){return"Member Detail"}get name(){return"Member Detail"}get isStep(){return!0}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,s.default)(this.props.context,"vip_address[0].subnet",""),isLoading:this.store.list.isLoading,ports:this.state.ports}]}}t.MemberStep=f;var p=(0,d.inject)("rootStore")((0,d.observer)(f));t.default=p},3917:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.HealthMonitorStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1254);class p extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve()))}get title(){return"Health Monitor Detail"}get name(){return"Health Monitor Detail"}get isStep(){return!0}get filteredProtocolOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(f.healthProtocols).call(f.healthProtocols,(t=>(0,s.default)(e).call(e,t.label)))}get defaultValue(){return{enableHealthMonitor:!0,health_delay:5,health_timeout:3,health_max_retries:3,health_type:"",monitor_admin_state_up:!0}}get formItems(){var{health_delay:e,enableHealthMonitor:a}=this.state;return[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"health_name",label:t("Health Monitor Name"),type:"input-name",required:!0,hidden:!a},{name:"health_delay",label:t("Health Monitor Delay"),type:"input-number",onChange:e=>{this.setState({health_delay:e})},min:0,extra:t("Maximum interval time for each health check response"),required:!0,hidden:!a},{name:"health_max_retries",label:t("Health Monitor Max Retries"),type:"input-number",min:1,max:10,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),required:!0,hidden:!a},{name:"health_timeout",label:t("Health Monitor Timeout"),type:"input-number",min:e||0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),required:!0,hidden:!a},{name:"health_type",label:t("Health Monitor Type"),type:"select",options:this.filteredProtocolOptions,required:!0,hidden:!a},{name:"monitor_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!a}]}}a.HealthMonitorStep=p;var m=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=m},3918:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(346));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_floatingip"),(0,l.default)(this,"allowedCheckFunc",(e=>"ACTIVE"===e.provisioning_status&&!!e.fip_id)),(0,l.default)(this,"onSubmit",(()=>s.default.disassociateFip({id:this.item.fip_id})))}get id(){return"disassociate-fip-from-lb"}get title(){return t("Disassociate Floating IP")}get buttonText(){return t("Disassociate Floating IP")}get actionName(){return t("disassociate floating ip")}}a.default=d},3919:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.LoadBalancerDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(581),g=r(1254),_=f(r(3920)),b=r(1639);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{if(this.store.fetchDetailWithFip){var t=I(I(I({},this.params),e||{}),{},{silent:!0,all_projects:this.isAdminPage});this.store.fetchDetailWithFip(t).catch(this.catch)}}))}get name(){return t("load balancer")}get policy(){return"os_load-balancer_api:loadbalancer:get_one"}get listUrl(){return this.getRoutePath("lb")}get actionConfigs(){return this.isAdminPage?b.adminActions:b.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes},{title:t("Network"),dataIndex:"vip_network_id"},{title:t("Subnet"),dataIndex:"vip_subnet_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip"},{title:t("Provider"),dataIndex:"provider"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Listeners"),key:"listener",component:_.default}]}init(){this.store=new v.LbaasStore}}a.LoadBalancerDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3920:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Listeners=void 0;var p=f(r(58)),m=f(r(35)),h=r(412),v=f(r(1242)),g=r(1254),_=r(1306),b=r(342),y=r(1641);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends v.default{constructor(){super(...arguments),(0,m.default)(this,"updateFetchParamsByPage",(e=>{var{id:t}=e;return function(e){for(var t=1;t[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbListenerDetail"),routeParamsFunc:e=>({loadBalancerId:this.id,id:e.id})},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes,isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")}]))}init(){this.store=new _.ListenerStore,this.downloadStore=new _.ListenerStore}get policy(){return"os_load-balancer_api:listener:get_all"}get name(){return t("listeners")}get id(){return this.params.id}get isFilterByBackend(){return!0}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){var{provisioning_status:e}=this.props.detail;return"ACTIVE"!==e?b.emptyActionConfig:this.isAdminPage?y.adminActions:y.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Listeners=A;var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3921:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreatePool=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(412),f=r(1241),p=n(r(1401)),m=n(r(581)),h=r(1400),v=r(1254);class g extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"handleAlgorithmChange",(e=>{this.setState({algorithm:e})})),(0,u.default)(this,"onSubmit",(e=>(e.listener_id=this.item.id,p.default.create(e))))}get name(){return t("create default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filterOptions(){var{protocol:e=""}=this.item;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}init(){this.state={algorithm:void 0}}get defaultValue(){return{admin_state_up:!0}}get formItems(){var{algorithm:e}=this.state;return[{name:"name",label:t("Pool Name"),type:"input-name",required:!0},{name:"description",label:t("Pool Description"),type:"textarea"},{name:"lb_algorithm",label:t("Pool Algorithm"),type:"select",options:h.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&h.algorithmTip[e],required:!0},{name:"protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.CreatePool=g,(0,u.default)(g,"id","pool-create"),(0,u.default)(g,"title",t("Create Default Pool")),(0,u.default)(g,"buttonText",t("Create Default Pool")),(0,u.default)(g,"policy","os_load-balancer_api:pool:post"),(0,u.default)(g,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield m.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3922:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1306)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:listener:delete"),(0,s.default)(this,"allowed",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Listener")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete listener")}}a.default=f},3923:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(164)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1306)),A=f(r(581)),S=r(1254),w=r(1642);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class P extends w.Create{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var t,{id:a}=this.item,{protocol:r,protocol_port:i,sni_enabled:n,ssl_parsing_method:l,default_tls_container_ref:f,client_ca_tls_container_ref:m,sni_container_refs:h,insert_headers:v}=e,g=function(e){for(var t=1;te.container_ref)):[]);return I.default.edit({id:a},g)}))}get name(){return t("Edit Listener")}get isEdit(){return!0}get defaultValue(){var{item:e}=this.props,{name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,admin_state_up:l}=e||{},o={name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,insert_headers:(0,S.getInsertHeadersFormValueFromListener)(e),admin_state_up:l};if("TERMINATED_HTTPS"===e.protocol){if(e.default_tls_container_ref){var s,[,d]=e.default_tls_container_ref.split("/containers/");o.default_tls_container_ref={selectedRowKeys:[d],selectedRows:(0,m.default)(s=this.ServerCertificate).call(s,(e=>e.id===d))}}if(e.client_ca_tls_container_ref){var u,[,c]=e.client_ca_tls_container_ref.split("/secrets/");o.ssl_parsing_method="two-way",o.client_ca_tls_container_ref={selectedRowKeys:[c],selectedRows:(0,m.default)(u=this.CaCertificate).call(u,(e=>e.id===c))}}else o.ssl_parsing_method="one-way";if(e.sni_container_refs&&e.sni_container_refs.length){var f,v;o.sni_enabled=!0;var g=(0,p.default)(f=e.sni_container_refs).call(f,(e=>{var[,t]=e.split("/containers/");return t}));o.sni_container_refs={selectedRowKeys:g,selectedRows:(0,m.default)(v=this.SNICertificate).call(v,(e=>(0,h.default)(g).call(g,e.id)))}}else o.sni_enabled=!1}return o}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>("sni_enabled"===e.name&&(e.disabled=this.item.sni_container_refs&&this.item.sni_container_refs.length,e.tip=t("If the listener has an SNI certificate installed, it cannot be removed. Please delete the listener or replace the SNI certificate")),e)))}}a.Edit=P,(0,b.default)(P,"id","edit-listener"),(0,b.default)(P,"title",t("Edit Listener")),(0,b.default)(P,"buttonText",t("Edit")),(0,b.default)(P,"policy","os_load-balancer_api:listener:put"),(0,b.default)(P,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield A.default.pureFetchDetail(e.loadbalancers[0])),v.default.resolve("ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var C=(0,y.inject)("rootStore")((0,y.observer)(P));a.default=C},3924:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditPoolInfo=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(58)),c=n(r(35)),f=r(412),p=r(1241),m=n(r(1401)),h=r(1400),v=r(1254),g=n(r(581));class _ extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.item,{protocol:a}=e,r=(0,u.default)(e,["protocol"]);return this.store.edit({id:t},r)}))}init(){this.state.pool={},this.store=m.default,this.getPoolDetail()}get name(){return t("edit default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{pool:{protocol:e=""}={}}=this.state;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}get defaultValue(){var{pool:e}=this.state,{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}=e;return{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}}getPoolDetail(){var e=this;return(0,d.default)((function*(){var{default_pool_id:t}=e.item,a=yield e.store.fetchDetail({id:t});e.setState({pool:a},(()=>{e.updateDefaultValue()}))}))()}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea",maxLength:255},{name:"protocol",label:t("Protocol"),type:"select",options:this.filteredProtocolOptions,required:!0},{name:"lb_algorithm",label:t("LB Algorithm"),type:"select",options:h.Algorithm,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.EditPoolInfo=_,(0,c.default)(_,"id","pool-edit"),(0,c.default)(_,"title",t("Edit Default Pool")),(0,c.default)(_,"buttonText",t("Edit Default Pool")),(0,c.default)(_,"policy","os_load-balancer_api:pool:put"),(0,c.default)(_,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield g.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var b=(0,f.inject)("rootStore")((0,f.observer)(_));a.default=b},3925:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditHealthMonitor=void 0;var m=p(r(63)),h=p(r(29)),v=p(r(164)),g=p(r(49)),_=p(r(58)),b=p(r(35)),y=r(412),I=r(1241),A=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(3926)),S=r(1254),w=r(1401),x=p(r(581)),P=r(1306);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{default_pool_id:t}=this.item,{healthMonitor:a}=this.state,{id:r}=a||{},{enableHealthMonitor:i,type:n}=e,l=(0,_.default)(e,["enableHealthMonitor","type"]);if(r)return i?A.default.edit({id:r},l):A.default.delete({id:r});if(!i)return m.default.resolve();var o=D(D({type:n},l),{},{pool_id:t});return A.default.create(o)}))}init(){this.store=new A.HealthMonitorStore,this.listenerStore=new P.ListenerStore,this.poolStore=new w.PoolStore,this.state={enableHealthMonitor:!1,dataLoading:!0,healthMonitor:null}}componentDidMount(){this.getHealthMonitor()}get name(){return t("edit health monitor")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{protocol:e=""}=this.item;return(0,h.default)(S.healthProtocols).call(S.healthProtocols,(t=>(0,v.default)(e).call(e,t.label)))}get defaultValue(){var{healthMonitor:e}=this.state;if(!e)return{delay:5,timeout:3,max_retries:3,enableHealthMonitor:!1,admin_state_up:!0};var{admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}=e;return{enableHealthMonitor:!0,admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}}getHealthMonitor(){var e=this;return(0,g.default)((function*(){var t=yield e.listenerStore.fetchDetail(e.item),{healthMonitor:a}=t;e.setState({healthMonitor:a,enableHealthMonitor:!!a,dataLoading:!1},(()=>{e.updateDefaultValue()}))}))()}get formItems(){var{enableHealthMonitor:e,dataLoading:a,healthMonitor:r}=this.state;return a?[{name:"loading",type:"loading"}]:[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",required:!0,options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"type",label:t("HealthMonitor Type"),type:"select",options:this.filteredProtocolOptions,hidden:!e,required:!0,disabled:!!r},{name:"delay",label:t("Delay Interval(s)"),type:"input-int",min:0,extra:t("Maximum interval time for each health check response"),hidden:!e,required:!0},{name:"timeout",label:t("Timeout(s)"),type:"input-int",min:0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),hidden:!e,required:!0},{name:"max_retries",label:t("Max Retries"),type:"input-int",min:0,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),hidden:!e,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!e}]}}a.EditHealthMonitor=k,(0,b.default)(k,"id","health-monitor-edit"),(0,b.default)(k,"title",t("Edit Health Monitor")),(0,b.default)(k,"buttonText",t("Edit Health Monitor")),(0,b.default)(k,"policy","os_load-balancer_api:healthmonitor:put"),(0,b.default)(k,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield x.default.pureFetchDetail(e.loadbalancers[0])),m.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},3926:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.HealthMonitorStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.healthMonitors}get listFilterByProject(){return!0}}t.HealthMonitorStore=o;var s=new o;t.default=s},3927:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1401)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:pool:delete"),(0,s.default)(this,"allowedCheckFunc",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(()=>u.default.delete({id:this.item.default_pool_id})))}get id(){return"delete"}get title(){return t("Delete Default Pool")}get isDanger(){return!0}get buttonText(){return t("Delete Default Pool")}get actionName(){return t("delete default pool")}isOwnerOrAdmin(){return!0}}a.default=f},3928:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerDetail=void 0;var l=r(412),o=r(1306),s=r(1254),d=n(r(1243)),u=n(r(3929)),c=n(r(3930)),f=r(1641);class p extends d.default{get name(){return t("listener")}get policy(){return"os_load-balancer_api:listener:get_one"}get listUrl(){var{loadBalancerId:e}=this.params;return this.getRoutePath("lbDetail",{id:e})}get actionConfigs(){return this.isAdminPage?f.adminActions:f.actionConfigs}get detailInfos(){return[{title:t("Listener Name"),dataIndex:"name"},{title:t("Protocol Type"),dataIndex:"protocol",render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:s.provisioningStatusCodes},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")},{title:t("Description"),dataIndex:"description"}]}get forceLoadingTabs(){return["detail"]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Members"),key:"members",component:c.default}]}init(){this.store=new o.ListenerStore}}a.ListenerDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},3929:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(177)),d=r(412),u=n(r(1249)),c=r(1254),f=r(1400);class p extends u.default{get leftCards(){var e=[this.poolCard],{insert_headers:t={},default_pool_id:a}=this.detailData;return a&&e.push(this.healthMonitor),(0,s.default)(t)||e.push(this.customHeaders),e}get rightCards(){var{protocol:e}=this.detailData||{};return"TERMINATED_HTTPS"!==e||this.isAdminPage?[]:[this.certificateInfo]}get poolCard(){var{default_pool:e={},default_pool_id:a}=this.detailData||{},{name:r,protocol:i,lb_algorithm:n,description:l,admin_state_up:o}=e,s=a?[{label:t("Name"),content:r||"-"},{label:t("Protocol"),content:i||"-"},{label:t("LB Algorithm"),content:f.algorithmDict[n]||n||"-"},{label:t("Admin State Up"),content:o?t("On"):t("Off")},{label:t("Description"),content:l||"-"}]:[{label:"",content:t("No default pool set")}];return{title:t("Pool Info"),options:s}}get customHeaders(){var{insert_headers:e={}}=this.detailData||{};return(0,c.getInsertHeaderCard)(e||{})}get healthMonitor(){var e=this.detailData.healthMonitor||{},{type:a,delay:r,timeout:i,max_retries:n,admin_state_up:l}=e,o=[{label:t("Enable Health Monitor"),content:(0,s.default)(e)?t("No"):t("Yes")}];return(0,s.default)(e)||o.push({label:t("Health Monitor Type"),content:a},{label:t("Delay Interval(s)"),content:r},{label:t("Timeout(s)"),content:i},{label:t("Max Retries"),content:n},{label:t("Admin State Up"),content:l?t("On"):t("Off")}),{title:t("Health Monitor"),options:o}}get certificateInfo(){var e=[{label:t("Server Certificate"),dataIndex:"serverCertificateId",render:e=>e?this.getLinkRender("certificateContainerDetail",e,{id:e},null):"-"},{label:t("CA Certificate"),dataIndex:"caCertificateId",render:e=>e?this.getLinkRender("certificateSecretDetail",e,{id:e},null):"-"},{label:t("SNI Certificate"),dataIndex:"sniCertificateId",render:e=>e.length?(0,l.default)(e).call(e,((t,a)=>{var r;return this.getLinkRender("certificateContainerDetail",(0,o.default)(r="".concat(t)).call(r,a===e.length-1?"":" , "),{id:t})}),null):"-"}];return{title:t("certificate"),options:e,labelCol:4}}}a.BaseDetail=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3930:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Members=void 0;var l=n(r(49)),o=n(r(35)),s=r(412),d=n(r(1242)),u=r(1254),c=n(r(1402)),f=r(418),p=r(3931);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,o.default)(this,"fetchData",(0,l.default)((function*(){var{default_pool_id:t}=e.props.detail;t?e.fetchListWithTry((0,l.default)((function*(){yield e.store.fetchList({pool_id:t}),e.list.silent=!1}))):(e.list.data=[],e.list.isLoading=!1)}))),(0,o.default)(this,"getColumns",(()=>[f.idNameColumn,{title:t("Status"),dataIndex:"provisioning_status",valueMap:u.provisioningStatusCodes,isHideable:!0},{title:t("Ip Address"),dataIndex:"address",isHideable:!0},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Weight"),dataIndex:"weight"}]))}init(){this.store=c.default}get policy(){return"os_load-balancer_api:member:get_all"}get name(){return t("Members")}get id(){return this.params.id}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){return this.isAdminPage?p.adminActions:p.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Members=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},3931:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3932)),l=i(a(3933)),o={rowActions:{firstAction:i(a(3935)).default,moreActions:[{action:n.default}]},batchActions:[],primaryActions:[l.default]};t.actionConfigs=o;var s={rowActions:{moreActions:[{action:n.default}]},batchActions:[],primaryActions:[]};t.adminActions=s},3932:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1402));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:member:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&"ACTIVE"===e.provisioning_status)),(0,l.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail;return s.default.delete({id:e.id,default_pool_id:t})}))}get id(){return"delete"}get title(){return t("Delete Member")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete member")}isOwnerOrAdmin(){return!0}}a.default=d},3933:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(29)),d=n(r(63)),u=n(r(49)),c=n(r(35)),f=n(r(119)),p=n(r(3934)),m=n(r(0)),h=r(412),v=r(1241),g=r(1402),_=r(572),b=r(36),y=n(r(581)),I=n(r(1459));class A extends v.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var t,{default_pool_id:a}=this.item,{extMembers:r=[]}=e,i=(0,l.default)(t=(0,b.toJS)(this.memberStore.list.data)).call(t,(e=>{var{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}=e;return{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}}));return(0,o.default)(r).call(r,(e=>{var{ip:t,protocol_port:a,weight:r,name:n=null,subnet_id:l}=e.ip_address,o={weight:r,protocol_port:a,address:t,name:n,subnet_id:l};i.push(o)})),this.memberStore.batchUpdate({default_pool_id:a,data:(0,p.default)(i,I.default)})}))}get name(){return t("Add Member")}init(){this.store=new _.PortStore,this.memberStore=new g.PoolMemberStore,this.lbDetail={},this.state={ports:[]}}componentDidMount(){this.getMember(),y.default.fetchDetail({id:this.props.containerProps.match.params.loadBalancerId}).then((e=>(this.lbDetail=e,this.store.fetchList()))).then((e=>{this.setState({ports:(0,s.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}static get modalSize(){return"large"}getMember(){var e=this;return(0,u.default)((function*(){var{default_pool_id:t}=e.item;yield e.memberStore.fetchList({pool_id:t})}))()}getModalSize(){return"large"}get item(){var{item:e}=this.props;return e||this.containerProps.detail}get defaultValue(){return{}}get tips(){return m.default.createElement("div",{style:{display:"inline-table"}},m.default.createElement("p",{style:{color:globalCSS.primaryColor}},t("The amphora instance is required for load balancing service setup and is not recommended")))}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,f.default)(this.lbDetail,"vip_subnet_id",""),isLoading:this.store.list.isLoading,ports:this.state.ports,members:this.memberStore.list.data}]}}a.CreateAction=A,(0,c.default)(A,"id","manage-member"),(0,c.default)(A,"title",t("Add Member")),(0,c.default)(A,"policy","os_load-balancer_api:member:post"),(0,c.default)(A,"allowed",(e=>d.default.resolve("ACTIVE"===e.provisioning_status&&!!e.default_pool_id)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3935:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(86)),o=n(r(63)),s=n(r(54)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(1402)),p=r(36);class m extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"protocolValidator",((e,a)=>{var r,{address:i,protocol_port:n}=this.item;return(0,l.default)(r=f.default.list.data||[]).call(r,(e=>e.address===i&&a===e.protocol_port&&a!==n))?o.default.reject(new Error(t("Invalid IP Address and Port"))):o.default.resolve()})),(0,d.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail,{id:a}=this.item,r=(0,p.toJS)(this.store.list.data),i=(0,s.default)(r).call(r,(t=>{if(t.id===a){var{weight:r,protocol_port:i}=e;t.weight=r,t.protocol_port=i}var{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}=t;return{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}}));return this.store.batchUpdate({default_pool_id:t,data:i})}))}init(){this.state={},this.store=f.default}get name(){return t("edit member")}get defaultValue(){var{weight:e,protocol_port:t}=this.item;return e&&t&&this.formRef.current&&this.formRef.current.setFieldsValue({weight:e,protocol_port:t}),{weight:e,protocol_port:t}}get formItems(){return[{name:"weight",label:t("Weight"),type:"input-number",required:!0},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,validator:this.protocolValidator}]}}a.Edit=m,(0,d.default)(m,"id","member-edit"),(0,d.default)(m,"title",t("Edit Member")),(0,d.default)(m,"buttonText",t("Edit Member")),(0,d.default)(m,"policy","os_load-balancer_api:member:put"),(0,d.default)(m,"allowed",(e=>o.default.resolve("ACTIVE"===e.provisioning_status)));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3936:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPN=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3937)),u=n(r(3942)),c=n(r(3947)),f=n(r(3952)),p=n(r(3957));class m extends o.default{get name(){return t("VPN")}get checkEndpoint(){return!0}get endpoint(){return(0,s.vpnEndpoint)()}get tabs(){return[{title:t("VPN Gateways"),key:"vpn_gateway",component:d.default},{title:t("VPN EndPoint Groups"),key:"vpn_endpoint_groups",component:u.default},{title:t("IKE Policies"),key:"ike_policy",component:c.default},{title:t("IPsec Policies"),key:"ipsec_policy",component:f.default},{title:t("IPsec Site Connections"),key:"ipsec_site_connections",component:p.default}]}}a.VPN=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3937:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPNGateway=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1358),u=r(1321),c=r(418),f=r(3938);class p extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[c.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("External IP"),dataIndex:"null",render:(e,t)=>t.external_v4_ip||t.external_v6_ip},{title:t("Router ID"),dataIndex:"router_id",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnServicesStore,this.downloadStore=new d.VpnServicesStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_vpnservice"}get name(){return t("vpn services")}get hasTab(){return!0}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?f.adminConfigs:f.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:u.vpnStatusOptions},{label:t("Router ID"),name:"router_id"},{label:t("External IP(V4)"),name:"external_v4_ip"},{label:t("External IP(V6)"),name:"external_v6_ip"}]}}a.VPNGateway=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3938:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3939)),l=i(a(3940)),o=i(a(3941)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3939:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(575),_=f(r(1358)),b=r(1267);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{name:t,description:a,router_id:r}=e;return _.default.create({name:t,description:a,router_id:r.selectedRowKeys[0]})}))}get name(){return t("create vpn")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new g.RouterStore}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},I(I({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,b.getRouterSelectTablePropsBackend)(this)),{},{disabledFunc:e=>!e.external_gateway_info,required:!0})]}}a.Create=A,(0,m.default)(A,"id","create-vpn"),(0,m.default)(A,"title",t("Create VPN")),(0,m.default)(A,"buttonText",t("Create")),(0,m.default)(A,"policy","create_vpnservice"),(0,m.default)(A,"allowed",(()=>p.default.resolve(!0)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3940:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1358));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn"),(0,o.default)(c,"title",t("Edit VPN")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_vpnservice"),(0,o.default)(c,"allowed",(e=>"ACTIVE"!==e.status?l.default.resolve(!1):l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3941:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1358)),m=n(r(133)),h=n(r(1275));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_vpnservice"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield h.default.fetchList({vpnservice_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the vpn gateway is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpnservice"}get title(){return t("Delete VPN")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn")}isCurrentProject(e){var t=m.default;return!(!f.checkSystemAdmin&&e.project_id!==t.user.project.id)}}a.default=v},3942:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.EndpointGroup=void 0;var s=o(r(77)),d=o(r(54)),u=o(r(63));r(347);var c=o(r(348));r(1246);var f=o(r(1247));r(1244);var p=o(r(1245)),m=o(r(49));r(589);var h=o(r(590)),v=o(r(610)),g=o(r(35)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),b=r(412),y=o(r(1242)),I=r(1359),A=(r(161),r(564),r(417)),S=r(418),w=r(3943);function x(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(x=function(e){return e?a:t})(e)}class P extends y.default{constructor(){super(...arguments),(0,g.default)(this,"getColumns",(()=>[S.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Type"),dataIndex:"type",isHideable:!0,render:e=>{switch(e){case"subnet":return t("Local");case"cidr":return t("Peer");default:return""}}},{title:t("Endpoint Counts"),dataIndex:"endpoints",render:(e,a)=>{var r=_.default.createElement(C,{record:a});return _.default.createElement(_.default.Fragment,null,e.length," ",_.default.createElement(h.default,{content:r,title:"cidr"===a.type?t("Peer Network"):t("Local Network"),destroyTooltipOnHide:!0},_.default.createElement(v.default,null)))},stringify:e=>{var t;return(0,s.default)(t="".concat(e.length,"(")).call(t,e.join(","),")")}}]))}init(){this.store=new I.VpnEndPointGroupStore,this.downloadStore=new I.VpnEndPointGroupStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_endpoint_group"}get aliasPolicy(){return"neutron:get_endpoint_group"}get name(){return t("vpn endpoint groups")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?w.adminConfigs:w.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}function C(e){var{record:t}=e,{type:a,endpoints:r}=t,[i,n]=(0,_.useState)([]);return(0,_.useEffect)((()=>{"subnet"===a&&0===i.length&&(0,m.default)((function*(){var e=(0,d.default)(r).call(r,(e=>(new A.SubnetStore).fetchDetail({id:e}))),t=yield u.default.all(e);n(t)}))()})),"cidr"===a?_.default.createElement(f.default,null,(0,d.default)(r).call(r,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},e)}))):0===i.length?_.default.createElement(c.default,null):_.default.createElement(f.default,{style:{maxWidth:550}},(0,d.default)(i).call(i,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},_.default.createElement(f.default,{gutter:24},_.default.createElement(p.default,{span:6},e.name),_.default.createElement(p.default,{span:6},e.cidr),_.default.createElement(p.default,{span:12},e.id)))})))}a.EndpointGroup=P;var E=(0,b.inject)("rootStore")((0,b.observer)(P));a.default=E},3943:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3944)),l=i(a(3945)),o=i(a(3946)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3944:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(29)),m=f(r(1390)),h=f(r(232)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=r(1241),A=r(565),S=r(575),w=r(417),x=f(r(1359)),P=r(1267),C=r(1273);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{type:t}=this.state,{name:a,description:r}=e,i=(0,_.default)(e,["name","description"]),n={name:a,description:r,type:t};if("subnet"===t){var{subnet_id:l}=i;n.endpoints=l.selectedRowKeys}else if("cidr"===t){var{endpoints:o}=i;n.endpoints=o.split("\n")}return x.default.create(n)})),(0,b.default)(this,"handleRouterChange",function(){var t=(0,g.default)((function*(t){var a;e.setState({subnetLoading:!0});var r=yield(0,C.getPortsWithFixedIPs)(),i=(0,C.getSubnetToRouter)(r,t.selectedRows,!1);e.setState({subnets:(0,p.default)(a=e.allSubnets).call(a,(e=>(0,m.default)(i).call(i,(t=>t.subnet_id===e.id))>-1)),subnetLoading:!1}),e.formRef.current.resetFields(["subnet_id"])}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("create vpn endpoint group")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new S.RouterStore,this.subnetStore=new w.SubnetStore,this.state={subnets:[],type:"subnet",subnetLoading:!0},this.getAllSubnets()}getAllSubnets(){var e=this;return(0,g.default)((function*(){e.allSubnets=yield e.subnetStore.pureFetchList(),e.setState({subnetLoading:!1})}))()}get defaultValue(){return{type:"subnet"}}get formItems(){var{subnets:e,type:a,subnetLoading:r}=this.state,i="subnet"===a;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"type",label:t("Type"),type:"select",required:!0,options:[{label:t("Peer"),value:"cidr"},{label:t("Local"),value:"subnet"}],onChange:e=>{this.setState({type:e})}},D(D({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,P.getRouterSelectTablePropsBackend)(this)),{},{required:!0,onChange:this.handleRouterChange,hidden:!i}),{name:"subnet_id",label:t("Subnet"),type:"select-table",data:e,isLoading:r,isMulti:!0,columns:[{title:t("Name"),dataIndex:"name",isLink:!0},{title:t("CIDR"),dataIndex:"cidr"}],required:!0,hidden:!i},{name:"endpoints",label:t("Peer Network Segment"),type:"textarea",validator:(e,a)=>{var r;return(0,h.default)(r=a.split("\n")).call(r,(e=>!k(e)&&!R(e)))?v.default.reject(new Error(t("Invalid: CIDR Format Error(e.g. 10.10.10.0/24)"))):v.default.resolve(!0)},extra:t("Please fill in the peer network segment and subnet mask of CIDR format, the written subnets should be under the same router, one per line."),hidden:i,required:!0}]}}a.Create=N,(0,b.default)(N,"id","create-vpn-endpoint-group"),(0,b.default)(N,"title",t("Create VPN Endpoint Group")),(0,b.default)(N,"buttonText",t("Create")),(0,b.default)(N,"policy","create_endpoint_group"),(0,b.default)(N,"aliasPolicy","neutron:create_endpoint_group"),(0,b.default)(N,"allowed",(()=>v.default.resolve(!0)));var j=(0,y.inject)("rootStore")((0,y.observer)(N));a.default=j},3945:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1359));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn-endpoint-groups"),(0,o.default)(c,"title",t("Edit VPN EndPoint Groups")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_endpoint_group"),(0,o.default)(c,"aliasPolicy","neutron:update_endpoint_group"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3946:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1359)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_endpoint_group"),(0,u.default)(this,"aliasPolicy","neutron:delete_endpoint_group"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r;switch(a.type){case"cidr":r={peer_ep_group_id:a.id};break;case"subnet":r={local_ep_group_id:a.id}}var i,n=yield m.default.fetchList(r);return n.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(i="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(i,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(n).call(n,(e=>e.name)).join(", "),ids:(0,o.default)(n).call(n,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-endpoint-group"}get title(){return t("Delete VPN EndPoint Groups")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn endpoint groups")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3947:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IKEPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1337),m=r(1321),h=r(418),v=r(3948);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("IKE Version"),dataIndex:"ike_version",isHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIKEPolicyStore,this.downloadStore=new p.VpnIKEPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ikepolicy"}get name(){return t("vpn IKE policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("IKE Version"),name:"ike_version",options:m.ikePolicyIKEVersionOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IKEPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3948:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3949)),l=i(a(3950)),o=i(a(3951)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3949:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1337)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3950:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1337)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t,canSubmit:a}=e,r=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue","canSubmit"]));return I.default.update({id:this.item.id},r)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ikepolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t}=e;return w(w({},(0,v.default)(e,["lifetime"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,{canSubmit:n}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return n?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:n},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(a=["3des","aes-128","aes-192","aes-256"]).call(a,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(r=["group2","group5","group14"]).call(r,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"ike_version",label:t("IKE Version"),type:"select",options:(0,h.default)(i=["v1","v2"]).call(i,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ike-policy"),(0,g.default)(x,"title",t("Edit VPN IKE Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ikepolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3951:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1337)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ikepolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ikepolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ike-policy"}get title(){return t("Delete VPN IKE Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IKE policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3952:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1338),m=r(1321),h=r(418),v=r(3953);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encapsulation Mode"),dataIndex:"encapsulation_mode",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("Transform Protocol"),dataIndex:"transform_protocol",idHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIPsecPolicyStore,this.downloadStore=new p.VpnIPsecPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsecpolicy"}get name(){return t("vpn IPsec policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encapsulation Mode"),name:"encapsulation_mode",options:m.ipsecPolicyEncapsulationModeOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("Transform Protocol"),name:"transform_protocol",options:m.ipsecPolicyTransformProtocolOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IPsecPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3953:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3954)),l=i(a(3955)),o=i(a(3956)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3954:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1338)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3955:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1338)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t}=e,a=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue"]));return I.default.update({id:this.item.id},a)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ipsecpolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t,canSubmit:a}=e;return w(w({},(0,v.default)(e,["lifetime","canSubmit"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,n,{canSubmit:l}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return l?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:l},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encapsulation_mode",label:t("Encapsulation Mode"),type:"select",options:(0,h.default)(a=["tunnel","transport"]).call(a,(e=>({label:e,value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(r=["3des","aes-128","aes-192","aes-256"]).call(r,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(i=["group2","group5","group14"]).call(i,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"transform_protocol",label:t("Transform Protocol"),type:"select",options:(0,h.default)(n=["esp","ah","ah-esp"]).call(n,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ipsec-policy"),(0,g.default)(x,"title",t("Edit VPN IPsec Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ipsecpolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3956:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1338)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ipsecpolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ipsecpolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ipsec-policy"}get title(){return t("Delete VPN IPsec Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IPsec policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3957:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1275),u=r(1321),c=r(1643);class f extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("ipsecDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id",isHideable:!0},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id",isHideable:!0},{title:t("Peer Address"),dataIndex:"peer_address",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnIPsecConnectionStore,this.downloadStore=new d.VpnIPsecConnectionStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsec_site_connection"}get name(){return t("ipsec site connection")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Local Endpoint Group ID"),name:"local_ep_group_id"},{label:t("Peer Endpoint Group ID"),name:"peer_ep_group_id"},{label:t("Peer Address"),name:"peer_address"},{label:t("Status"),name:"status",options:u.vpnStatusOptions}]}}a.IPsecSiteConnection=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3958:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(77)),g=f(r(86));r(1246);var _=f(r(1247));r(1244);var b=f(r(1245));r(426);var y=f(r(429)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(607)),x=f(r(0)),P=r(412),C=r(1241),E=r(565),D=f(r(1358)),k=f(r(1337)),R=f(r(1338)),N=f(r(1359)),j=(r(161),f(r(1275))),M=f(r(3959));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t{var t=(0,w.default)({},this.defaultValue,e),{interval:a,timeout:r,action:i,password:n,confirmPassword:l,more:o}=t,s=(0,A.default)(t,["interval","timeout","action","password","confirmPassword","more"]),d=B(B({},s),{},{psk:n,peer_id:s.peer_address,dpd:{interval:a,timeout:r,action:i}});return j.default.create(d)}))}get name(){return t("create ipsec site connection")}init(){this.vpnServiceStore=D.default,this.ikePolicyStore=k.default,this.ipsecPolicyStore=R.default,this.endpointGroupStore=N.default,this.fetchData()}fetchData(){var e=this;return(0,I.default)((function*(){yield p.default.all([e.vpnServiceStore.fetchList(),e.ikePolicyStore.fetchList(),e.ipsecPolicyStore.fetchList(),e.endpointGroupStore.fetchList()])}))()}get defaultValue(){return{mtu:1500,initiator:"bi-directional",action:"hold",interval:30,timeout:120}}get formItems(){var e,a,r,i,n,l,o,s,d,u,c,{local_ep_group_id:f,peer_ep_group_id:I,more:A}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"vpnservice_id",label:t("VPN Service"),type:"select",options:(0,m.default)(e=this.vpnServiceStore.list.data).call(e,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ikepolicy_id",label:t("IKE Policy"),type:"select",options:(0,m.default)(a=this.ikePolicyStore.list.data).call(a,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ipsecpolicy_id",label:t("IPsec Policy"),type:"select",options:(0,m.default)(r=this.ipsecPolicyStore.list.data).call(r,(e=>({label:e.name,value:e.id}))),required:!0},{name:"local_ep_group_id",label:t("Local Endpoint Group"),type:"select",options:(0,m.default)(i=(0,h.default)(n=this.endpointGroupStore.list.data).call(n,(e=>"subnet"===e.type))).call(i,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({local_ep_group_id:e})},required:!0},{name:"local_subnet",type:"label",label:t("Local Subnet"),component:x.default.createElement(M.default,{data:this.endpointGroupStore.list.data,local_ep_group_id:f})},{name:"peer_address",type:"input",label:t("Peer Gateway Public Address"),extra:t("Peer gateway public address for the IPsec site connection"),validator:(e,a)=>{var r;return F(a)||L(a)?p.default.resolve():p.default.reject(new Error((0,v.default)(r="".concat(t("Invalid")," ")).call(r,t("Peer Gateway Public Address"))))},required:!0},{name:"peer_ep_group_id",label:t("Peer Endpoint Group"),type:"select",options:(0,m.default)(l=(0,h.default)(o=this.endpointGroupStore.list.data).call(o,(e=>"cidr"===e.type))).call(l,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({peer_ep_group_id:e})},required:!0},{name:"peer_cidrs",type:"label",label:t("Peer Cidrs"),component:x.default.createElement(_.default,null,I?(0,m.default)(s=(0,g.default)(d=this.endpointGroupStore.list.data).call(d,(e=>e.id===I)).endpoints).call(s,(e=>x.default.createElement(b.default,{span:24},e))):x.default.createElement(b.default,{span:24},x.default.createElement(y.default,null)))},{name:"password",type:"input-password",label:t("Pre-Shared Key(PSK) String"),otherRule:(0,E.getPasswordOtherRule)("password","instance"),required:!0},{name:"confirmPassword",type:"input-password",label:t("Confirm Shared Key"),otherRule:(0,E.getPasswordOtherRule)("confirmPassword","instance",void 0,t("Pre-Shared Key must be the same with Confirm Shared Key.")),required:!0},{name:"mtu",type:"input-number",label:t("MTU"),min:68,tip:t("The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6."),required:!0,hidden:!A},{name:"initiator",label:t("Initiator Mode"),type:"select",options:(0,m.default)(u=["bi-directional","response-only"]).call(u,(e=>({label:e,value:e}))),tip:t("Indicates whether this VPN can only respond to connections or both respond to and initiate connections."),required:!0,hidden:!A},{name:"action",label:t("DPD Action"),type:"select",options:(0,m.default)(c=["clear","hold","restart","disabled","restart-by-peer"]).call(c,(e=>({label:e,value:e}))),tip:t("DPD actions controls the use of Dead Peer Detection Protocol."),required:!0,hidden:!A},{name:"interval",type:"input-number",label:t("DPD Interval (sec)"),min:0,tip:t("Sec for DPD delay, > 0"),required:!0,hidden:!A},{name:"timeout",type:"input-number",label:t("DPD timeout (sec)"),min:0,tip:t("Sec for DPD timeout, > 0 & > DPD Interval"),required:!0,hidden:!A},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.Create=O,(0,S.default)(O,"id","create-ipsec-site-connection"),(0,S.default)(O,"title",t("Create IPsec Site Connection")),(0,S.default)(O,"buttonText",t("Create")),(0,S.default)(O,"policy","create_ipsec_site_connection"),(0,S.default)(O,"allowed",(()=>p.default.resolve(!0)));var Q=(0,P.inject)("rootStore")((0,P.observer)(O));a.default=Q},3959:function(e,t,a){"use strict";var r=a(162),i=a(20),n=a(25),l=a(21);i(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(86)),s=l(a(54)),d=l(a(63));a(347);var u=l(a(348));a(1244);var c=l(a(1245));a(426);var f=l(a(429)),p=l(a(49)),m=l(a(119)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=i&&n;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?n(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),v=l(a(16)),g=(a(161),a(417));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}class b extends h.Component{constructor(e){super(e),this.state={subnets:[],isLoading:!0}}componentDidUpdate(e){var{local_ep_group_id:t}=this.props,{local_ep_group_id:a}=e;t!==a&&this.getSubnets()}get currentEndpoints(){var{data:e,local_ep_group_id:t}=this.props;return(0,m.default)((0,o.default)(e).call(e,(e=>e.id===t)),"endpoints",[])}getSubnets(){var e=this;return(0,p.default)((function*(){var t;e.setState({isLoading:!0});var a=(0,s.default)(t=e.currentEndpoints).call(t,(e=>(new g.SubnetStore).fetchDetail({id:e}))),r=yield d.default.all(a);e.setState({subnets:r,isLoading:!1})}))()}render(){var e,{local_ep_group_id:t}=this.props,{subnets:a,isLoading:r}=this.state;return t?r?h.default.createElement(c.default,null,h.default.createElement(u.default,null)):h.default.createElement(h.default.Fragment,null,(0,s.default)(e=this.currentEndpoints).call(e,((e,t)=>h.default.createElement(c.default,{span:24,key:"cep_".concat(t)},(0,m.default)(a[t],"cidr"))))):h.default.createElement(c.default,null,h.default.createElement(f.default,null))}}b.propTypes={data:v.default.array,local_ep_group_id:v.default.string},b.defaultProps={data:[],local_ep_group_id:void 0};var y=b;t.default=y},3960:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(91)),s=n(r(35)),d=r(412),u=r(1241),c=n(r(1275)),f=["ACTIVE","DOWN"];class p extends u.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return c.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=p,(0,s.default)(p,"id","edit-ipsec-site-connection"),(0,s.default)(p,"title",t("Edit IPsec Site Connection")),(0,s.default)(p,"buttonText",t("Edit")),(0,s.default)(p,"policy","update_ipsec_site_connection"),(0,s.default)(p,"allowed",(e=>l.default.resolve((0,o.default)(f).call(f,e.status)>-1)));var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3961:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(1275)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_ipsec_site_connection"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete-ipsec-site-connection"}get title(){return t("Delete IPsec Site Connection")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete ipsec site connection")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3962:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=r(412),o=n(r(1243)),s=r(1275),d=r(1321),u=n(r(3963)),c=r(1643);class f extends o.default{init(){this.store=new s.VpnIPsecConnectionStore}get name(){return t("IPsec Site Connection")}get policy(){return"get_ipsec_site_connection"}get listUrl(){return this.getRoutePath("vpn",null,{tab:"ipsec_site_connections"})}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id",hidden:!this.isAdminPage},{title:t("VPN Service ID"),dataIndex:"vpnservice_id"},{title:t("Status"),dataIndex:"status",valueMap:d.vpnStatus},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id"},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id"},{title:t("Peer Address"),dataIndex:"peer_address"},{title:t("Peer ID"),dataIndex:"peer_id"},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}}a.IPsecSiteConnection=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3963:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(54)),m=f(r(32)),h=f(r(77)),v=f(r(49)),g=f(r(35)),_=r(412),b=f(r(1249)),y=r(1275),I=f(r(0)),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){var e;super(...arguments),e=this,(0,g.default)(this,"fetchData",function(){var t=(0,v.default)((function*(t){e.store.fetchDetailWithPolicyDetail(function(e){for(var t=1;te||"-"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("IKE Version"),dataIndex:"ike_version"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IKE Policy"),options:e,sourceData:this.detailData.ikeDetail}}get ipsecInfoCard(){var e=[{label:t("Name"),dataIndex:"name"},{label:t("Description"),dataIndex:"description"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encapsulation Mode"),dataIndex:"encapsulation_mode"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("Transform Protocol"),dataIndex:"transform_protocol"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IPsec Policy"),options:e,sourceData:this.detailData.ipsecDetail}}get advancedInfo(){var e=[{label:t("MTU"),dataIndex:"mtu"},{label:t("Initiator Mode"),dataIndex:"initiator"},{label:t("DPD Action"),dataIndex:"dpd",render:e=>e&&e.action},{label:t("DPD Interval (sec)"),dataIndex:"dpd",render:e=>e&&e.interval},{label:t("DPD timeout (sec)"),dataIndex:"dpd",render:e=>e&&e.timeout}];return{title:t("Advanced Params"),options:e}}}a.BaseDetail=w;var x=(0,_.inject)("rootStore")((0,_.observer)(w));a.default=x},3964:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.SecurityGroups=void 0;var s=o(r(164)),d=o(r(35)),u=r(412),c=o(r(1242)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(419)),p=r(342),m=o(r(1644));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends c.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("securityGroupDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=f.default,this.downloadStore=new f.SecurityGroupStore}get policy(){return"get_security_group"}get name(){return t("security groups")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,s.default)(e=this.path).call(e,"recycle-bin")}get actionConfigs(){return this.isRecycleBinDetail?p.emptyActionConfig:this.isAdminPage?m.default.actionConfigsAdmin:m.default.actionConfigs}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.SecurityGroups=v;var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3965:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(419)),b=f(r(340));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{left:a=0}=e||{},{left:r=0}=t||{};return 0!==a&&(r>=2||-1===r)?1:0};class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>_.default.create(e)))}get name(){return t("Create security group")}init(){this.state.groupQuota={},this.state.ruleQuota={},this.state.quotaLoading=!0,this.projectStore=b.default,this.getQuota()}static get disableSubmit(){var{neutronQuota:{security_group:e={},security_group_rule:t={}}={}}=b.default;return 0===A(e,t)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,m.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group:a={},security_group_rule:r={}}=t||{};e.setState({groupQuota:a,ruleQuota:r,quotaLoading:!1})}))()}get tips(){return t("This operation creates a security group with default security group rules for the IPv4 and IPv6 ether types.")}get quotaInfo(){var{groupQuota:e={},ruleQuota:a={},quotaLoading:r}=this.state;if(r)return[];var i=A(e,a);return[I(I({},e),{},{add:i,name:"security_group",title:t("Security Group")}),I(I({},a),{},{add:2*i,name:"security_group_rule",title:t("Security Group Rule"),type:"line"})]}get defaultValue(){return{}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateAction=S,(0,h.default)(S,"id","create"),(0,h.default)(S,"title",t("Create Security Group")),(0,h.default)(S,"policy","create_security_group"),(0,h.default)(S,"allowed",(()=>p.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3966:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditAction=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(419));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return u.default.edit({id:t},e)}))}get defaultValue(){var{name:e,description:t}=this.item;return{name:e,description:t}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.EditAction=c,(0,o.default)(c,"id","edit"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","update_security_group"),(0,o.default)(c,"allowed",(e=>l.default.resolve("default"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3967:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(419));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_security_group"),(0,l.default)(this,"hasNoProject",(e=>!e.project_name||"-"===e.project_name)),(0,l.default)(this,"allowedCheckFunc",(e=>this.isAdminPage&&this.hasNoProject(e)||"default"!==e.name)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Security Group")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Security Group")}}a.default=d},3968:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroupDetail=void 0;var l=n(r(205)),o=r(412),s=r(419),d=n(r(1243)),u=n(r(3969)),c=n(r(1644));class f extends d.default{get name(){return t("security group")}get policy(){return"get_security_group"}get listUrl(){return this.getRoutePath("securityGroup")}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Rules"),key:"rules",component:u.default}]}init(){this.store=new s.SecurityGroupStore}componentDidUpdate(e){(0,l.default)(this.props.match.params,e.match.params)||this.fetchDataWithPolicy()}}a.SecurityGroupDetail=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3969:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(622)),b=r(354),y=r(567),I=f(r(3970));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t(0,b.getSelfColumns)(this)))}init(){this.store=_.default}get policy(){return"get_security_group_rule"}get name(){return t("security group rules")}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,y.getPath)({key:t,params:{id:e}})}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return b.filterParams}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]),{detail:n={}}=t.props,{id:l}=n;r&&(t.list.silent=!0),l&&(yield t.store.fetchList(S(S({},i),{},{security_group_id:l}))),t.list.silent=!1}))()}}a.Rule=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},3970:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1645)),l=i(a(3971)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=o},3971:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(234)),o=n(r(77)),s=n(r(35)),d=r(1241),u=n(r(622));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_security_group_rule"),(0,s.default)(this,"getItemName",(e=>{var a,r,i;if(e.name)return e.name;var n,s,d,u,{ethertype:c,port_range_min:f,port_range_max:p,protocol:m,remote_group_id:h,remote_ip_prefix:v}=e,g="",_=(0,l.default)(f,10),b=(0,l.default)(p,10),y=m.toLowerCase();_&&(g=_===b?(0,o.default)(s="".concat(_," / ")).call(s,y):(0,o.default)(d=(0,o.default)(u="".concat(_," - ")).call(u,b," / ")).call(d,y));var I="egress"===e.direction?"to":"from";return n=h||(v||t("ANY")),(0,o.default)(a=(0,o.default)(r=(0,o.default)(i="ALLOW ".concat(c," ")).call(i,g," ")).call(r,I," ")).call(a,n)})),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Rule")}}a.default=c},3972:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var l=r(412),o=n(r(1282)),s=n(r(3973));class d extends o.default{get tabs(){return[{title:t("Server Certificates"),key:"SERVER",component:s.default},{title:t("CA Certificates"),key:"CA",component:s.default}]}}a.Certificate=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3973:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var m=p(r(54)),h=p(r(203)),v=p(r(35)),g=p(r(0)),_=r(412),b=p(r(1242)),y=C(r(1335)),I=r(1251),A=C(r(1336)),S=r(1254),w=r(349),x=p(r(1472));function P(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(P=function(e){return e?a:t})(e)}function C(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=P(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}return r.default=e,a&&a.set(e,r),r}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tD(D({},e),{},{mode:this.currentMode}))),(0,v.default)(this,"getColumns",(()=>[{title:this.showDetail?t("ID/Name"):t("Name"),dataIndex:"name",routeName:this.showDetail?this.getRouteName(this.routeLinkPath):null},{title:t("Certificate Type"),dataIndex:"mode",valueMap:S.certificateMode,isHideable:!0},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime",isHideable:!0},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-",hidden:"CA"===this.currentMode,isHideable:!0},{title:t("Listener"),dataIndex:"listener",render:e=>e?(0,m.default)(e).call(e,(e=>g.default.createElement("div",{key:e.id},this.getLinkRender("lbListenerDetail",e.name,{loadBalancerId:e.lb,id:e.id},null)))):"-",isHideable:!0,stringify:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,m.default)(e).call(e,(e=>e.name)).join(",")||"-"}},{title:t("Status"),dataIndex:"status",valueMap:S.certificateStatus},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime",isHideable:!0}]))}init(){"SERVER"===this.currentMode?(this.store=y.default,this.downloadStore=new y.ContainersStore):(this.store=A.default,this.downloadStore=new A.SecretsStore)}get policy(){return["containers:get","secrets:get"]}get aliasPolicy(){return["barbican:containers:get","barbican:secrets:get"]}get showDetail(){return(0,I.checkPolicyRule)("barbican:secret:decrypt")}get name(){return t("certificate")}get hasTab(){return!0}get actionConfigs(){return"SERVER"===this.currentMode?x.default.actionConfigsContainer:x.default.actionConfigsSecret}get currentMode(){var e,t=(0,w.parse)((0,h.default)(e=this.props.location.search).call(e,1)),{tab:a="SERVER"}=t;return a}get routeLinkPath(){return"SERVER"===this.currentMode?"certificateContainerDetail":"certificateSecretDetail"}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Certificate=k;var R=(0,_.inject)("rootStore")((0,_.observer)(k));a.default=R},3974:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(164)),o=n(r(63)),s=n(r(1277)),d=n(r(203)),u=n(r(29)),c=n(r(35)),f=r(412),p=r(1241),m=r(163),h=r(565),v=r(1254),g=r(3975),_=n(r(1335)),b=n(r(112)),y=r(349);class I extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"validateDomain",((e,a)=>{var r;if((0,l.default)(r=[void 0,null,""]).call(r,a))return o.default.resolve();var i=a.split(","),n=(0,s.default)(i).call(i,(e=>e.length<=100&&(0,h.isDomain)(e)));return i.length>30||!n?o.default.reject(t("Please enter a correct domain, format is refer to the left tip!")):o.default.resolve()})),(0,c.default)(this,"validateCertificateContent",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN CERTIFICATE-----"===i&&"-----END CERTIFICATE-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct certificate content, format is refer to the left tip!"))})),(0,c.default)(this,"validateCertificateKeyPair",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN RSA PRIVATE KEY-----"===i&&"-----END RSA PRIVATE KEY-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct private key, format is refer to the left tip!"))})),(0,c.default)(this,"onSubmit",(e=>this.store.create(e)))}init(){this.store=_.default}get name(){return t("Create Certificate")}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){return{mode:this.typeTab}}get typeTab(){var{location:{search:e=""}={}}=this.containerProps;return(0,y.parse)((0,d.default)(e).call(e,1)).tab||"SERVER"}get certificateModeOptions(){var e;return(0,u.default)(e=(0,m.getOptions)(v.certificateMode)).call(e,(e=>e.value===this.typeTab))}get certificateContentTip(){return g.certificateContentTip}get certificateKeyPairTip(){return g.certificateKeyPairTip}get formItems(){var{mode:e}=this.state;return[{name:"name",label:t("Certificate Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"mode",label:t("Certificate Type"),type:"radio",options:this.certificateModeOptions},{name:"certificate",label:t("Certificate Content"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".crt,.pem",tip:this.certificateContentTip,required:!0,rows:6},{name:"private_key",label:t("Private Key"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".key,.pem",tip:this.certificateKeyPairTip,required:!0,display:"SERVER"===e,rows:6},{name:"domain",label:t("Domain Name"),type:"textarea",placeholder:t("Please input"),maxLength:1024,hidden:"CA"===e,validator:this.validateDomain,tip:t("The domain name can only be composed of letters, numbers, dashes, in A dash cannot be at the beginning or end, and a single string cannot exceed more than 63 characters, separated by dots; At most can support 30 domain names, separated by commas;The length of a single domain name does not exceed 100 characters, and the total length degree does not exceed 1024 characters."),extra:t("If it is an SNI type certificate, a domain name needs to be specified")},{name:"expiration",label:t("Expires At"),type:"date-picker",showToday:!1,disabledDate:e=>e&&e<=(0,b.default)().endOf("d")}]}}a.CreateAction=I,(0,c.default)(I,"id","create-certificate"),(0,c.default)(I,"title",t("Create Certificate")),(0,c.default)(I,"policy",["secrets:post","containers:post"]),(0,c.default)(I,"allowed",(()=>o.default.resolve(!0)));var A=(0,f.inject)("rootStore")((0,f.observer)(I));a.default=A},3975:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.certificateKeyPairTip=a.certificateContentTip=void 0;var l=n(r(0)),o=l.default.createElement("div",null,l.default.createElement("p",null,t('The certificate contains information such as the public key and signature of the certificate. The extension of the certificate is "pem" or "crt", you can directly enter certificate content or upload certificate file.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The format of the certificate content is: by "----BEGIN CERTIFICATE-----" as the beginning,"-----END CERTIFICATE----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateContentTip=o;var s=l.default.createElement("div",null,l.default.createElement("p",null,t('The private key of the certificate, the extension of the private key is "key", you can directly enter the content of the private key file or upload a private key that conforms to the format document.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The private key content format is: with "-----BEGIN RSA PRIVATE KEY-----" as the beginning,"-----END RSA PRIVATE KEY-----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateKeyPairTip=s},3976:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1335));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["secret:delete","container:delete"]),(0,l.default)(this,"aliasPolicy",["barbican:secret:delete","barbican:container:delete"]),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3977:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1336));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","secret:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3978:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1243)),s=r(1335),d=r(1254),u=n(r(3979)),c=n(r(1472));class f extends o.default{init(){this.store=new s.ContainersStore}get policy(){return"container:get"}get aliasPolicy(){return"barbican:container:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"SERVER"})}get actionConfigs(){return c.default.actionConfigsContainer}get detailInfos(){return(0,d.getCertificateColumns)(this)}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:u.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3979:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get rightCards(){return[this.keyPairCard]}get contentCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"certificate"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:r}}get keyPairCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"private_key"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Private Key"),labelCol:0,contentCol:24,options:r}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3980:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=n(r(29)),o=r(412),s=n(r(1243)),d=r(1336),u=r(1254),c=n(r(3981)),f=n(r(1472));class p extends s.default{init(){this.store=new d.SecretsStore}get policy(){return"secret:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"CA"})}get actionConfigs(){return f.default.actionConfigsSecret}get detailInfos(){var e;return(0,l.default)(e=(0,u.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex))}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:c.default}]}}a.Detail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3981:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(0)),o=r(412),s=n(r(1249));class d extends s.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get contentCard(){var{payload:e}=this.props.detail,a=[{content:l.default.createElement("pre",null,e),copyable:{text:e}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:a}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3982:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Reverse=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1403)),f=o(r(1646));function p(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(p=function(e){return e?a:t})(e)}class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Address"),dataIndex:"address",isLink:!0,routeName:"dnsReverseDetail",routeParamsFunc:e=>({id:e.id})},{title:t("PTR Domain Name"),dataIndex:"ptrdname",isHideable:!0},{title:t("Status"),dataIndex:"status",isHideable:!0}]))}init(){this.store=c.default,this.downloadStore=new c.ReverseStore}get policy(){return"get_images"}get name(){return t("Reverse Dns")}get actionConfigs(){return f.default}}a.Reverse=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3983:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Set=void 0;var l=n(r(63)),o=n(r(35)),s=r(1241),d=r(412),u=n(r(1403));class c extends s.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.set({id:t},e)}))}init(){this.store=u.default}static get modalSize(){return"small"}get name(){return t("Set Domain Name PTR")}static allowed(){return l.default.resolve(!0)}get formItems(){return[{name:"ptrdname",label:t("Domain Name"),type:"input",required:!0,placeholder:t("smtp.example.com"),tip:t("Domain name ending in.")},{name:"description",label:t("Description"),type:"textarea",tip:t("Details about the PTR record.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,tip:t("Time To Live in seconds."),placeholder:t("3600")}]}}a.Set=c,(0,o.default)(c,"id","set-reverse"),(0,o.default)(c,"title",t("Set")),(0,o.default)(c,"policy","get_images");var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3984:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1403));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunc",(e=>null!==e.ptrdname&&"ACTIVE"===e.status)),(0,l.default)(this,"policy","instance:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.unset({id:e.id},{ptrdname:null})))}get id(){return"usnet"}get title(){return t("Unset")}get actionName(){return t("Unset")}get buttonText(){return t("Unset")}}a.default=d},3985:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ReverseDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1403)),d=n(r(3986)),u=n(r(1646));class c extends o.default{init(){this.store=s.default}get name(){return t("Reverse Detail")}get policy(){return"get_image"}get listUrl(){return this.getRoutePath("dns-reverse")}get actionConfigs(){return u.default}get tabs(){return[{title:t("Detail"),key:"detail",component:d.default}]}}a.ReverseDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},3986:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249));class s extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Address"),dataIndex:"address"},{label:t("PTR Domain Name"),dataIndex:"ptrdname"},{label:t("Description"),dataIndex:"description"},{label:t("ID"),dataIndex:"id"},{label:t("Time To Live"),dataIndex:"ttl"},{label:t("Status"),dataIndex:"status"},{label:t("Action"),dataIndex:"action"}];return{title:t("Base Info"),options:e}}}a.BaseDetail=s;var d=(0,l.inject)("rootStore")((0,l.observer)(s));a.default=d},3987:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Zones=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1360)),f=r(1404),p=r(163),m=o(r(3988));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Zone ID/Name"),dataIndex:"name",isHideable:!0,isLink:!0,routeName:this.getRouteName("dnsZonesDetail"),sortKey:"id"},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage,sortKey:"tenant_id"},{title:t("Type"),dataIndex:"type",isHideable:!0,sorter:!1,valueMap:f.ZONE_TYPES},{title:t("Status"),dataIndex:"status",isHideable:!0,valueMap:f.ZONE_STATUS},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=c.default,this.downloadStore=new c.DNSZonesStore}get policy(){return"get_zones"}get name(){return t("dns zones")}get actionConfigs(){return m.default}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,p.getOptions)(f.ZONE_TYPES)},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.ZONE_STATUS)}]}}a.Zones=v;var g=(0,d.inject)("rootStore")((0,d.observer)(v));a.default=g},3988:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1648)),l=i(a(3989)),o=i(a(3990)),s=i(a(1649)),d={rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},primaryActions:[n.default],batchActions:[o.default]};t.default=d},3989:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(54)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=r(412),_=f(r(1360)),b=r(1648);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{id:t}=this.item,{type:a}=this.item,{masters:r=[],email:i,ttl:n,description:l}=e,o={description:l,masters:(0,p.default)(r).call(r,(e=>e.value))};return"PRIMARY"===a&&(o.email=i,o.ttl=n),this.store.update({id:t},o)}))}init(){this.store=_.default}get name(){return t("Edit")}static allowed(){return m.default.resolve(!0)}get defaultValue(){var e=this.item,{masters:t=[]}=e,a=(0,h.default)(e,["masters"]),r=(0,p.default)(t).call(t,((e,t)=>({index:t,value:e})));return I(I({},a),{},{masters:r})}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?I(I({},e),{},{disabled:!0}):e))}}a.Update=A,(0,v.default)(A,"id","update-dns-zone"),(0,v.default)(A,"title",t("Edit")),(0,v.default)(A,"policy","update_zone");var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},3990:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1360));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_zone"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.delete({id:e.id})))}get id(){return"delete"}get title(){return t("Delete Zone")}get actionName(){return t("Delete Zone")}get buttonText(){return t("Delete")}get isDanger(){return!0}get isAsyncAction(){return!0}}a.default=d},3991:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ZonesDetail=void 0;var l=r(412),o=r(1360),s=n(r(1243)),d=r(1404),u=n(r(3992)),c=n(r(3993));class f extends s.default{init(){this.store=new o.DNSZonesStore}get name(){return t("DNS Zones Detail")}get listUrl(){return this.getRoutePath("dnsZones")}get policy(){return"get_zone"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",valueMap:d.ZONE_TYPES},{title:t("Status"),dataIndex:"status",valueMap:d.ZONE_STATUS},{title:t("Email"),dataIndex:"email"}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default},{title:t("Record Sets"),key:"record_sets",component:c.default}]}}a.ZonesDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3992:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(345)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.attributesCard,this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Serial"),dataIndex:"serial"},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{label:t("Transferred"),dataIndex:"transferred_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),options:e}}get attributesCard(){var e=[{label:t("Attributes"),dataIndex:"attributes",render:e=>(0,l.default)(e)}];return{title:t("Attributes"),options:e}}get associationsCard(){var e=[{label:t("Pool ID"),dataIndex:"pool_id"},{label:t("Project ID"),dataIndex:"project_id"},{label:t("Masters"),dataIndex:"masters",render:e=>(0,l.default)(e)}];return{title:t("Associations"),options:e}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3993:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSets=void 0,r(1311);var l=n(r(1312)),o=n(r(54)),s=n(r(0)),d=n(r(1242)),u=r(412),c=(r(161),r(1361)),f=r(1405),p=r(163),m=n(r(1650));class h extends d.default{init(){this.store=new c.DNSRecordSetsStore,this.downloadStore=new c.DNSRecordSetsStore}get name(){return t("recordsets")}get policy(){return"get_recordsets"}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get actionConfigs(){return m.default}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("dnsRecordSetDetail"),routeParamsFunc:e=>({zoneId:e.zone_id,id:e.id}),isLink:!0,sortKey:"id"},{title:t("Type"),dataIndex:"type",render:e=>(0,f.getRecordSetType)(e)},{title:t("Records"),dataIndex:"records",render:e=>(0,o.default)(e).call(e,(e=>s.default.createElement(l.default,{key:e},e))),stringify:e=>e.join("\n"),sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:f.RECORD_STATUS,sorter:!1},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,f.dnsRRTypeList)()},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.RECORD_STATUS)}]}}a.RecordSets=h;var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3994:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(54)),g=f(r(58)),_=f(r(35)),b=r(1241),y=r(412),I=r(1405),A=f(r(1361));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{zone_id:t}=this.item,a=this.item.id,{records:r}=e,i=(0,g.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=w({records:n},i);return this.store.update(t,a,l)}))}init(){var e,a;this.store=A.default,this.state=w(w({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE[this.item.type].nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE[this.item.type].recordsExtra)})}get name(){return t("Update Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){var{records:e,type:t,name:a,description:r,ttl:i}=this.item;return{type:t,name:a,description:r,ttl:i,records:(0,v.default)(e).call(e,((e,t)=>({index:t,value:e})))}}get formItems(){var e=(0,I.getRecordSetFormItem)(this,this.currentFormValue);return(0,v.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?w(w({},e),{},{disabled:!0}):e))}}a.Update=x,(0,_.default)(x,"id","create-record-set"),(0,_.default)(x,"title",t("Update Record Set")),(0,_.default)(x,"buttonText",t("Update")),(0,_.default)(x,"policy","update_recordset");var P=(0,y.inject)("rootStore")((0,y.observer)(x));a.default=P},3995:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1361));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_recordset"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e),r=this.getItemId(e);return t("Are you sure to {action}? (Record Set: {name} - {id})",{action:this.actionNameDisplay||this.title,name:a,id:r})})),(0,l.default)(this,"onSubmit",(e=>{var{zone_id:t}=e,a=e.id;return s.default.delete({zone_id:t,recordset_id:a})}))}get id(){return"delete"}get title(){return t("Delete Record Set")}get actionName(){return t("Delete Record Set")}get buttonText(){return t("Delete")}get isDanger(){return!0}}a.default=d},3996:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSetsDetail=void 0;var l=r(412),o=n(r(1243)),s=r(1361),d=r(1405),u=n(r(3997)),c=n(r(1650));class f extends o.default{init(){this.store=new s.DNSRecordSetsStore}get titleValue(){return this.detailData.id}get name(){return t("Recordset Detail")}get listUrl(){return this.getRoutePath("dnsZonesDetail",{id:this.detailData.zone_id},{tab:"record_sets"})}get actionConfigs(){return c.default}get policy(){return"get_recordset"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",render:e=>(0,d.getRecordSetType)(e)},{title:t("Status"),dataIndex:"status",valueMap:d.RECORD_STATUS}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default}]}}a.RecordSetsDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3997:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Records"),dataIndex:"records",render:e=>(0,l.default)(e).call(e,(e=>o.default.createElement("div",null,e)))},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),labelCol:6,contentCol:18,options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),labelCol:6,contentCol:18,options:e}}get associationsCard(){var e=[{label:t("Zone ID"),dataIndex:"zone_id",copyable:!0},{label:t("Zone Name"),dataIndex:"zone_name"},{label:t("Project ID"),dataIndex:"project_id",copyable:!0}];return{title:t("Associations"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3998:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3999)),u=n(r(4003)),c=n(r(1656));class f extends o.default{get name(){return t("firewalls")}get checkEndpoint(){return!0}get endpoint(){return(0,s.firewallEndpoint)()}get tabs(){return[{title:t("Firewalls"),key:"firewalls",component:d.default},{title:t("Firewall Policies"),key:"policies",component:u.default},{title:t("Firewall Rules"),key:"rules",component:c.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3999:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Firewall=void 0;var l=r(412),o=n(r(1242)),s=n(r(1339)),d=r(1286),u=r(163),c=n(r(1651));class f extends o.default{init(){this.store=s.default}get policy(){return"get_firewall_group"}get name(){return t("firewalls")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get transitionStatusList(){return d.transitionStatus}get adminPageHasProjectFilter(){return!0}get initFilter(){return{notDefault:!0}}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Ingress Policy"),dataIndex:"ingressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"ingress_firewall_policy_id",isHideable:!0},{title:t("Egress Policy"),dataIndex:"egressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"egress_firewall_policy_id",isHideable:!0},{title:t("Associated Ports"),dataIndex:"ports",render:e=>e.length,isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueMap:d.adminState}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:(0,u.getOptions)(d.firewallStatus),include:!1},{label:t("Admin State"),name:"admin_state_up",options:(0,u.getOptions)(d.adminState)},(0,d.getDefaultFilter)(t("Hide Default Firewalls"))]}}a.Firewall=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},4e3:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1339)),d=r(1286);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_group"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(!(!this.isAdminPage||!(0,d.hasNoProject)(e))||!(0,d.isDefault)(e)&&this.isNotActive(e)&&((0,d.isMine)(e)||this.isAdminPage)))),(0,l.default)(this,"isNotActive",(e=>"ACTIVE"!==e.status)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Firewall")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete firewall")}}a.default=u},4001:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.ManagePort=void 0;var p=f(r(28)),m=f(r(29)),h=f(r(164)),v=f(r(86)),g=f(r(54)),_=f(r(63)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(575)),S=f(r(233)),w=f(r(1339)),x=f(r(582)),P=r(1241),C=r(1473),E=r(1258),D=r(36),k=r(1286);function R(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t{var{id:t}=this.item,{ports:a}=e,r={ports:a.selectedRowKeys||null};return this.store.edit({id:t},r)}))}init(){this.store=w.default,this.routerStore=A.default,this.networkStore=S.default,this.portStore=x.default,this.getNetworks(),this.getRouters(),this.getPorts()}get name(){return t("manage ports")}static get modalSize(){return"large"}getModalSize(){return"large"}getNetworks(){var e=this;return(0,b.default)((function*(){e.networkStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getRouters(){var e=this;return(0,b.default)((function*(){e.routerStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,D.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,p.default)(e=(0,D.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,m.default)(r=e.ports).call(r,(e=>(0,h.default)(C.routerInterfaceOwners).call(C.routerInterfaceOwners,e.device_owner)));(0,p.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,v.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.router=e,a.network_name=a.network?a.network.name:"-",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,v.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get instancePorts(){var e;return(0,g.default)(e=(0,D.toJS)(this.portStore.list.data||[])).call(e,(e=>N(N({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:N(N({data:this.ports},C.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:N(N({data:this.instancePorts},(0,E.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get defaultValue(){var e;return{name:this.item.name,ports:{selectedRows:(0,g.default)(e=this.item.ports).call(e,(e=>({id:e,name:e}))),selectedRowKeys:this.item.ports}}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"firewall"},{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs}]}}a.ManagePort=j,(0,y.default)(j,"id","manage-port"),(0,y.default)(j,"title",t("Manage Ports")),(0,y.default)(j,"policy","update_firewall_group"),(0,y.default)(j,"allowed",(e=>_.default.resolve((0,k.isMine)(e))));var M=(0,I.inject)("rootStore")((0,I.observer)(j));a.default=M},4002:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(86)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1294)),A=f(r(1339)),S=r(1241),w=r(1362),x=r(1286);function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t{var{id:t}=this.item,{ingressPolicy:a,egressPolicy:r,options:{admin_state_up:i=!0}={}}=e,n=(0,_.default)(e,["ingressPolicy","egressPolicy","options"]),l=C({admin_state_up:i,ingress_firewall_policy_id:a.selectedRowKeys[0]||null,egress_firewall_policy_id:r.selectedRowKeys[0]||null},n);return this.store.edit({id:t},l)}))}init(){this.store=A.default,this.policyStore=I.default,this.getPolicies()}static get modalSize(){return"large"}getModalSize(){return"large"}getPolicies(){var e=this;return(0,g.default)((function*(){yield e.policyStore.fetchList(),e.updateDefaultValue()}))()}get policies(){var e,t,{id:a}=this.item;return(0,p.default)(e=(0,m.default)(t=this.policyStore.list.data||[]).call(t,(e=>{var t;return e.firewalls.length<2||!!(0,h.default)(t=e.firewalls).call(t,(e=>e.id===a))}))).call(e,(e=>C(C({},e),{},{key:e.id})))}get defaultValue(){if(0===this.policies.length)return{};var{ingress_firewall_policy_id:e,egress_firewall_policy_id:t,admin_state_up:a,description:r}=this.item;return{name:this.item.name,ingressPolicy:{selectedRowKeys:e?[e]:[]},egressPolicy:{selectedRowKeys:t?[t]:[]},options:{admin_state_up:a},description:r}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},C({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),C({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=E,(0,b.default)(E,"id","edit"),(0,b.default)(E,"title",t("Edit")),(0,b.default)(E,"policy","update_firewall_group"),(0,b.default)(E,"allowed",(e=>v.default.resolve(!(0,x.isDefault)(e)&&(0,x.isMine)(e))));var D=(0,y.inject)("rootStore")((0,y.observer)(E));a.default=D},4003:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Policy=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1242)),u=n(r(1294)),c=r(342),f=r(1286),p=n(r(1653));class m extends d.default{init(){this.store=u.default}get policy(){return"get_firewall_policy"}get name(){return t("firewall policies")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?p.default.actionConfigsAdmin:p.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallPolicyDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Rules"),dataIndex:"rules",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallRuleDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Firewalls"),dataIndex:"firewalls",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo",width:80},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo",width:100}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Shared"),name:"shared",options:c.yesNoOptions},{label:t("Audited"),name:"audited",options:c.yesNoOptions},(0,f.getDefaultFilter)(t("Hide Default Policies"))]}}a.Policy=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},4004:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54)),o=n(r(35)),s=n(r(92)),d=r(1241),u=n(r(1294)),c=r(1362);class f extends d.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","delete_firewall_policy"),(0,o.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,c.isMine)(e)||this.isAdminPage))),(0,o.default)(this,"performErrorMsg",(e=>{var a,r=(0,s.default)(e)?e[0]:e,i=t('You are not allowed to delete policy "{ name }".',{name:r.name});this.isNotUse(r)||(i=t('You are not allowed to delete policy "{ name }" used by firewalls: { firewalls }.',{name:r.name,firewalls:(0,l.default)(a=r.firewalls).call(a,(e=>e.name)).join(", ")}));return i})),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return u.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete policy")}isNotUse(e){return 0===e.firewalls.length}}a.default=f},4005:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(1277)),v=f(r(63)),g=f(r(35)),_=r(412),b=f(r(1294)),y=f(r(1363)),I=r(1241),A=r(1307);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{id:t}=this.item,{rule:a,insert:r,current:{selectedRowKeys:i=[]}={}}=e,n=a.selectedRowKeys[0],l="",o="";i.length>0&&("before"===r?o=i[0]:l=i[0]);var s={firewall_policy_id:t,firewall_rule_id:n,insert_before:o,insert_after:l};return this.store.insertRule({id:t},s)}))}init(){this.store=b.default,this.ruleStore=y.default,this.getRules()}get name(){return t("insert rule")}static get modalSize(){return"large"}getModalSize(){return"large"}getRules(){this.ruleStore.fetchList()}get rules(){var e,t,a;return(0,p.default)(e=(0,m.default)(t=(0,m.default)(a=this.ruleStore.list.data||[]).call(a,(e=>{var t;return(0,h.default)(t=this.currentRules).call(t,(t=>t.id!==e.id))}))).call(t,(e=>!this.item.shared||e.shared))).call(e,(e=>w(w({},e),{},{key:e.id})))}get currentRules(){var{rules:e}=this.item;return e}get defaultValue(){var{name:e}=this.item;return{name:e,insert:"before"}}get insertTypes(){return[{label:t("Insert Before"),value:"before"},{label:t("Insert After"),value:"after"}]}get tips(){var e=t("A rule specified before insertion or after insertion a rule. If both are not specified, the new rule is inserted as the first rule of the policy.");return this.item.shared?e+t("Shared policy only can insert shared rules."):e}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},w({name:"rule",label:t("Rule"),type:"select-table",required:!0,data:this.rules,isLoading:this.ruleStore.list.isLoading,isMulti:!1},A.tableOptions),{name:"insert",label:t("Insert"),type:"radio",options:this.insertTypes,required:!0},w({name:"current",label:t("Current Rules"),type:"select-table",data:this.currentRules,isMulti:!1},A.tableOptions)]}}a.Edit=x,(0,g.default)(x,"id","edit"),(0,g.default)(x,"title",t("Insert Rule")),(0,g.default)(x,"policy","update_firewall_policy"),(0,g.default)(x,"allowed",(e=>v.default.resolve((0,A.isMine)(e))));var P=(0,_.inject)("rootStore")((0,_.observer)(x));a.default=P},4006:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(1294)),g=r(1241),_=r(1307);function b(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function y(e){for(var t=1;t{var{id:t}=this.item,{rule:a}=e,r={firewall_rule_id:a.selectedRowKeys[0]};return v.default.removeRule({id:t},r)}))}get name(){return t("remove rule")}static get modalSize(){return"large"}getModalSize(){return"large"}get rules(){var{rules:e}=this.item;return e}get defaultValue(){return{name:this.item.name}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},y({name:"rule",label:t("Rules"),type:"select-table",required:!0,data:this.rules,isMulti:!1},_.tableOptions)]}}a.Edit=I,(0,m.default)(I,"id","edit"),(0,m.default)(I,"title",t("Remove Rule")),(0,m.default)(I,"policy","update_firewall_policy"),(0,m.default)(I,"allowed",(e=>p.default.resolve((0,_.isMine)(e))));var A=(0,h.inject)("rootStore")((0,h.observer)(I));a.default=A},4007:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=n(r(92)),s=r(1241),d=n(r(1363)),u=r(1307);class c extends s.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_rule"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,u.isMine)(e)||this.isAdminPage))),(0,l.default)(this,"performErrorMsg",(e=>{var a=(0,o.default)(e)?e[0]:e,r=t('You are not allowed to delete rule "{ name }".',{name:a.name});return this.isNotUse(a)||(r=t('You are not allowed to delete rule "{ name }" in use.',{name:a.name})),r})),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return d.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete rule")}isNotUse(e){return 0===e.policies.length}}a.default=c},4008:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FirewallDetail=void 0;var l=r(412),o=r(1339),s=n(r(1243)),d=r(1286),u=n(r(4009)),c=n(r(4010)),f=n(r(1651));class p extends s.default{get name(){return t("firewall")}get policy(){return"get_firewall_group"}get listUrl(){return this.getRoutePath("firewall")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigsAdmin:f.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Base Info"),key:"base",component:u.default},{title:t("Ports"),key:"ports",component:c.default}]}init(){this.store=new o.FirewallStore}}a.FirewallDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},4009:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=r(1286),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Ingress Policy ID"),dataIndex:"ingress_firewall_policy_id"},{label:t("Ingress Policy Name"),dataIndex:"ingress",render:e=>e?e.name:"-"},{label:t("Egress Policy ID"),dataIndex:"egress_firewall_policy_id"},{label:t("Egress Policy Name"),dataIndex:"egress",render:e=>e?e.name:"-"},{label:t("Admin State"),dataIndex:"admin_state_up",valueMap:o.adminState}];return{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},4010:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(1473),b=r(582),y=r(1258);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends g.default{constructor(){super(...arguments),(0,h.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",width:150,isLink:!0,routeName:this.getRouteName("firewallPortDetail"),routeParamsFunc:e=>({firewallId:this.id,portId:e.id})},{title:t("Network ID/Name"),dataIndex:"network.name",isLink:!0,routeName:this.getRouteName("networkDetail"),idKey:"network.id"},{title:t("Owner"),dataIndex:"owner",isHideable:!0},{title:t("Device ID/Name"),dataIndex:"router.name",isLink:!0,routeName:this.getRouteName("routerDetail"),idKey:"router.id"},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus}]))}init(){this.store=new b.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]);r&&(t.list.silent=!0);var{tab:n}=i,l=(0,p.default)(i,["tab"]),{detail:{ports:f=[]}={}}=t.props,v=function(e){for(var t=1;tI(I({},e),{},{label:e.title}))),r=[{label:t("Related Policy"),dataIndex:"policies",render:e=>{var t;return(0,m.default)(t=e||[]).call(t,(e=>v.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id}))))}},...a];return{title:t("Base Info"),options:r}}}a.BaseDetail=A;var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},4015:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicies=void 0;var l=r(412),o=n(r(1242)),s=r(604),d=r(1406),u=r(163),c=n(r(1659));class f extends o.default{init(){this.store=new s.RbacPoliciesStore,this.downloadStore=new s.RbacPoliciesStore}get policy(){return"get_rbac_policy"}get name(){return t("RBAC Policies")}get actionConfigs(){return c.default}getColumns(){return[{title:t("ID"),dataIndex:"id",routeName:this.getRouteName("rbacPolicyDetail"),isLink:!0,withoutName:!0},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0},{title:t("Object Type"),dataIndex:"object_type",isHideable:!0,valueMap:d.objectTypes},{title:t("Object ID/Name"),dataIndex:"object_name",isHideable:!0,idKey:"object_id",isLink:!0,getRouteName:(e,t)=>{var{object_type:a}=t||{};return"network"===a?this.getRouteName("networkDetail"):"qos_policy"===a?this.getRouteName("networkQosDetail"):""}},{title:t("Target Project ID/Name"),dataIndex:"target_tenant_name",isHideable:!0,idKey:"target_tenant_id",routeName:this.getRouteName("projectDetail"),isLink:!0,emptyRender:()=>"*"}]}get objectTypes(){return(0,u.getOptions)(d.objectTypes)}get searchFilters(){return[{label:t("Id"),name:"id"},{label:t("Target Project ID"),name:"target_tenant"},{label:t("Target Project Name"),name:"target_tenant_name"},{label:t("Object Type"),name:"object_type",options:this.objectTypes},{label:t("Object"),name:"object_name"},{label:t("Project ID"),name:"project_id"},{label:t("Project Name"),name:"project_name"}]}}a.RbacPolicies=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},4016:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(604));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_rbac_policy"),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete RBAC Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get messageHasItemName(){return!1}get actionName(){return t("delete")}}a.default=d},4017:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=r(604),p=r(340),m=r(1406);class h extends c.ModalAction{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"onSubmit",function(){var t=(0,s.default)((function*(t){var{id:a}=e.item;return e.store.update({id:a},t)}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Edit")}get messageHasItemName(){return!1}init(){this.store=new f.RbacPoliciesStore,this.projectStore=new p.ProjectStore,this.state.projects=[],this.state.isReady=!1,this.getProjects()}get tips(){return t("You may update the editable properties of the RBAC policy here.")}getProjects(){var e=this;return(0,s.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(m.anyProject),e.setState({projects:t,isReady:!0})}))()}get projects(){var e,{projects:t}=this.state;return(0,l.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get defaultValue(){var{target_tenant:e}=this.item;return{target_tenant:e}}get formItems(){return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,loading:!this.state.isReady,required:!0}]}}a.Edit=h,(0,d.default)(h,"id","edit-policy"),(0,d.default)(h,"title",t("Edit")),(0,d.default)(h,"policy","update_rbac_policy"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},4018:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(58)),g=f(r(49)),_=f(r(35)),b=r(412),y=r(1241),I=r(604),A=r(340),S=r(233),w=r(576),x=r(66),P=r(1406);function C(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function E(e){for(var t=1;t{e.updateFormValue("object_id",void 0)}))}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Create")}get messageHasItemName(){return!1}init(){this.state=E(E({},this.state),{},{isReady:!1,allNetworks:[],qosPolices:[]}),this.store=new I.RbacPoliciesStore,this.projectStore=new A.ProjectStore,this.qosPolicyStore=new w.QoSPolicyStore,this.networkStore=new S.NetworkStore,this.getAllData()}getAllData(){var e=this;return(0,g.default)((function*(){yield p.default.all([e.getProjects(),e.getQoSPolicy(),e.getNetworks()]),e.setState({isReady:!0})}))()}get enableQosPolicy(){return(0,x.qosEndpoint)()}getProjects(){var e=this;return(0,g.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(P.anyProject),e.setState({allProjects:t})}))()}getQoSPolicy(){var e=this;return(0,g.default)((function*(){e.enableQosPolicy&&(yield e.qosPolicyStore.fetchList())}))()}getNetworks(){var e=this;return(0,g.default)((function*(){var t=yield e.networkStore.pureFetchList();e.setState({allNetworks:t})}))()}get projects(){var e,{allProjects:t}=this.state;return(0,m.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get qosPolicy(){var e;return(0,m.default)(e=this.qosPolicyStore.list.data||[]).call(e,(e=>({value:e.id,label:e.name})))}get sharedNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e.shared))).call(e,(e=>({value:e.id,label:e.name})))}get externalNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e["router:external"]))).call(e,(e=>({value:e.id,label:e.name})))}get createObjectList(){var e=[{value:"network",label:t("Shared Network")},{value:"external-network",label:t("External Network")}];return this.enableQosPolicy&&e.push({value:"qos_policy",label:t("Shared QoS Policy")}),e}get formItems(){var{object_type:e}=this.state,a="network"===e,r="external-network"===e,i="qos_policy"===e;return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,isLoading:!this.state.isReady,required:!0},{name:"object_type",label:t("Object Type"),placeholder:t("Select an object type"),type:"select",onChange:this.onChangeHandler,options:this.createObjectList,required:!0},{name:"object_id",label:t("Shared Network"),placeholder:t("Select a network"),type:"select",options:this.sharedNetworks,hidden:!a,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("External Network"),placeholder:t("Select a network"),type:"select",options:this.externalNetworks,hidden:!r,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("QoS Policy"),placeholder:t("Select a QoS Policy"),type:"select",options:this.qosPolicy,hidden:!i,isLoading:!this.state.isReady,required:!0}]}}a.Create=D,(0,_.default)(D,"id","create-policy"),(0,_.default)(D,"title",t("Create RBAC Policy")),(0,_.default)(D,"policy","create_rbac_policy"),(0,_.default)(D,"allowed",(()=>p.default.resolve(!0)));var k=(0,b.inject)("rootStore")((0,b.observer)(D));a.default=k},4019:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicyDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1659)),d=r(604),u=n(r(4020));class c extends o.default{get name(){return t("Rbac Policy")}get listUrl(){return this.getRoutePath("rbacPolicy")}get actionConfigs(){return s.default}get detailInfos(){return[{title:t("Project ID"),dataIndex:"project_id"}]}get tabs(){return[{title:t("Detail"),key:"rbacPolicyDetailAdmin",component:u.default}]}init(){this.store=new d.RbacPoliciesStore}}a.RbacPolicyDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},4020:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(1406);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Object Type"),dataIndex:"object_type",valueMap:s.objectTypes},{label:t("Object ID"),dataIndex:"object_id",render:e=>{var{object_type:t}=this.detailData;return"network"===t?this.getLinkRender("networkDetail",e,{id:e}):"qos_policy"===t?this.getLinkRender("networkQosDetail",e,{id:e}):e}},{label:t("Object Name"),dataIndex:"object.name"},{label:t("Action"),dataIndex:"action"},{label:t("Target Tenant"),dataIndex:"target_tenant",render:e=>{if("*"===e)return e;var{targetProject:t}=this.detailData;return this.getLinkRender("projectDetail",(null==t?void 0:t.name)||e,{id:e})}}];return{title:t("Detail Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{1254:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.getInsertHeaderCard=a.getInsertHeadersFormValueFromListener=a.getInsertHeadersValueFromForm=a.getListenerInsertHeadersFormItem=a.insertHeaderDesc=a.insertHeaderTips=a.insertHeaderOptions=a.INSERT_HEADERS=a.healthProtocols=a.poolProtocols=a.listenerProtocols=a.sslParseMethod=a.getCertificateColumns=a.certificateStatus=a.certificateMode=a.provisioningStatusCodes=a.operatingStatusCodes=void 0;var l,o,s=n(r(54)),d=n(r(32)),u=n(r(28)),c=n(r(177)),f=n(r(0)),p={ONLINE:t("Online"),DRAINING:t("Draining"),OFFLINE:t("Offline"),DEGRADED:t("Degraded"),ERROR:t("Error"),NO_MONITOR:t("No Monitor")};a.operatingStatusCodes=p;var m={ACTIVE:t("Active"),DELETED:t("Deleted"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.provisioningStatusCodes=m;var h={SERVER:t("Server Certificate"),CA:t("CA Certificate")};a.certificateMode=h;var v={ACTIVE:t("Active"),ERROR:t("Error")};a.certificateStatus=v;a.getCertificateColumns=e=>[{title:t("Name"),dataIndex:"name"},{title:t("Certificate Type"),dataIndex:"mode",valueMap:h},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime"},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-"},{title:t("Listener"),dataIndex:"listener",render:t=>t?(0,s.default)(t).call(t,(t=>f.default.createElement("div",{key:t.id},e.getLinkRender("lbListenerDetail",t.name,{loadBalancerId:t.lb,id:t.id},null)))):"-"},{title:t("Status"),dataIndex:"status",valueMap:v},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime"}];var g=[{label:t("One-way authentication"),value:"one-way"},{label:t("Two-way authentication"),value:"two-way"}];a.sslParseMethod=g;a.listenerProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"HTTPS",value:"TERMINATED_HTTPS"},{label:"UDP",value:"UDP"}];a.poolProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP"}];a.healthProtocols=[{label:"HTTP",value:"HTTP"},{label:"TCP",value:"TCP"},{label:"UDP",value:"UDP-CONNECT"}];var _={"X-Forwarded-For":t("Specify the client IP address"),"X-Forwarded-Port":t("Specify the listener port")};a.INSERT_HEADERS=_;var b=(0,s.default)(l=(0,d.default)(_)).call(l,(e=>({label:e,value:e})));a.insertHeaderOptions=b;var y=f.default.createElement(f.default.Fragment,null,(0,s.default)(o=(0,d.default)(_)).call(o,(e=>f.default.createElement("p",{key:e},e,": ",_[e]))));a.insertHeaderTips=y;var I=t("The optional headers to insert into the request before it is sent to the backend member.");a.insertHeaderDesc=I;a.getListenerInsertHeadersFormItem=()=>({name:"insert_headers",label:t("Custom Headers"),type:"check-group",extra:I,tip:y,options:b});a.getInsertHeadersValueFromForm=e=>{var t;if(!e)return null;var a={};return(0,u.default)(t=(0,d.default)(_)).call(t,(t=>{e[t]&&(a[t]="true")})),(0,c.default)(a)?null:a};a.getInsertHeadersFormValueFromListener=e=>{var t,{insert_headers:a}=e||{},r={};return(0,u.default)(t=(0,d.default)(_)).call(t,(e=>{a[e]&&(r[e]="true"===a[e])})),r};a.getInsertHeaderCard=e=>{var a,r=[];return(0,u.default)(a=(0,d.default)(_)).call(a,(t=>{e[t]&&r.push({label:t,content:e[t],tooltip:_[t]})})),{title:t("Custom Headers"),titleHelp:I,options:r}}},1275:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.VpnIPsecConnectionStore=void 0;var f,p=c(a(25)),m=c(a(35)),h=c(a(49)),v=c(a(55)),g=c(a(119)),_=a(36),b=c(a(1337)),y=c(a(1338)),I=c(a(50)),A=c(a(53));function S(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function w(e){for(var t=1;t"default"===e.name;a.isMine=e=>e.project_id===v.default.projectId;a.hasNoProject=e=>!e.project_name||"-"===e.project_name;a.getDefaultFilter=e=>{var t=(0,p.default)(g.yesNoOptions).call(g.yesNoOptions,(t=>t.key?b(b({},t),{},{checkLabel:e,isQuick:!0}):t));return{label:e,name:"notDefault",options:t,filterFunc:(e,t)=>(0,h.default)(t)?!t||e:"true"!==t||e}}},1294:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallPolicyStore=void 0;var f,p=c(a(28)),m=c(a(91)),h=c(a(54)),v=c(a(86)),g=c(a(29)),_=c(a(25)),b=c(a(49)),y=c(a(35)),I=c(a(55)),A=a(36),S=c(a(50)),w=a(1362),x=c(a(53));function P(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function C(e){for(var t=1;tC(C({},e),{},{notDefault:!(0,w.isDefault)(e)})}listDidFetch(e){return(0,b.default)((function*(){var t,a=[];if((0,p.default)(e).call(e,(e=>{e.firewalls=[],e.rules=[];var{firewall_rules:t}=e;(0,p.default)(t).call(t,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)}))})),0===a.length)return e;var r=yield S.default.neutron.firewallRules.list(),i=(0,h.default)(t=r.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));(0,p.default)(e).call(e,(e=>{var{firewall_rules:t}=e;e.rules=(0,h.default)(t).call(t,(e=>(0,v.default)(i).call(i,(t=>t.id===e))))}));var n=(yield S.default.neutron.firewalls.list()).firewall_groups;return(0,p.default)(e).call(e,(e=>{e.firewalls=(0,g.default)(n).call(n,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id))})),e}))()}detailDidFetch(e){return(0,b.default)((function*(){var t,a=[];e.firewalls=[],e.rules=[];var{firewall_rules:r}=e;if((0,p.default)(r).call(r,(e=>{(0,m.default)(a).call(a,e)<0&&a.push(e)})),0===a.length)return e;var i=yield S.default.neutron.firewallRules.list(),n=(0,h.default)(t=i.firewall_rules).call(t,(e=>C(C({},e),{},{protocol:e.protocol||"any"})));e.rules=(0,h.default)(r).call(r,(e=>(0,v.default)(n).call(n,(t=>t.id===e))));var l=(yield S.default.neutron.firewalls.list()).firewall_groups;return e.firewalls=(0,g.default)(l).call(l,(t=>t.egress_firewall_policy_id===e.id||t.ingress_firewall_policy_id===e.id)),e}))()}insertRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.insertRule(r,t))}))()}removeRule(e,t){var a=this;return(0,b.default)((function*(){var{id:r}=e;return a.submitting(a.client.removeRule(r,t))}))()}},(0,I.default)(f.prototype,"insertRule",[A.action],(0,_.default)(f.prototype,"insertRule"),f.prototype),(0,I.default)(f.prototype,"removeRule",[A.action],(0,_.default)(f.prototype,"removeRule"),f.prototype),f);t.FirewallPolicyStore=E;var D=new E;t.default=D},1306:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ListenerStore=void 0;var f=c(a(54)),p=c(a(431)),m=c(a(49)),h=c(a(35)),v=c(a(50)),g=c(a(53));function _(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function b(e){for(var t=1;t{var t;return b(b({},e),{},{lbIds:(0,f.default)(t=e.loadbalancers).call(t,(e=>e.id))})}}detailDidFetch(e){var t=this;return(0,m.default)((function*(){var a,{default_pool_id:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l}=e,[,o]=(i||"").split("/containers/"),[,s]=(n||"").split("/secrets/"),d=(0,f.default)(a=l||[]).call(a,(e=>{var[,t]=e.split("/containers/");return t}));(0,p.default)(e,{serverCertificateId:o,caCertificateId:s,sniCertificateId:d});var{loadbalancers:u=[]}=e,{loadbalancer:c}=yield t.lbClient.show(u[0].id);if(e.loadBalancer=c,!r)return e;try{var{pool:m}=yield t.poolClient.show(r);e.default_pool=m;var{healthmonitor_id:h}=m;if(h){var{healthmonitor:v}=yield t.healthMonitorClient.show(h);e.healthMonitor=v}return e}catch(t){return e}}))()}}t.ListenerStore=y;var I=new y;t.default=I},1307:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isDefault=a.isMine=a.tableOptions=a.tableFilter=a.tableColumns=a.protocolInfos=a.actionInfos=void 0;var l=n(r(164)),o=r(163),s=r(342),d=n(r(133)),u=r(1286),c={allow:t("ALLOW"),deny:t("DENY"),reject:t("REJECT")};a.actionInfos=c;var f={tcp:t("TCP"),udp:t("UDP"),icmp:t("ICMP"),any:t("ANY")};a.protocolInfos=f;var p=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",valueMap:f},{title:t("Source IP"),dataIndex:"source_ip_address"},{title:t("Source Port"),dataIndex:"source_port"},{title:t("Destination IP"),dataIndex:"destination_ip_address"},{title:t("Destination Port"),dataIndex:"destination_port"},{title:t("Rule Action"),dataIndex:"action",valueMap:c},{title:t("Enabled"),dataIndex:"enabled",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"}];a.tableColumns=p;var m=[{label:t("Name"),name:"name"},{label:t("Protocol"),name:"protocol",options:(0,o.getOptions)(f)},{label:t("Rule Action"),name:"action",options:(0,o.getOptions)(c)},{label:t("Enabled"),name:"enabled",options:s.yesNoOptions},{label:t("Shared"),name:"shared",options:s.yesNoOptions},(0,u.getDefaultFilter)(t("Hide Default Rules"))];a.tableFilter=m;var h={filterParams:m,columns:p};a.tableOptions=h;a.isMine=e=>e.project_id===d.default.projectId;a.isDefault=e=>{var t;return(0,l.default)(t=["default egress ipv4","default egress ipv6","default ingress ipv4","default ingress ipv6"]).call(t,e.name)}},1321:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ipsecPolicyTransformProtocolOptions=a.ipsecPolicyEncapsulationModeOptions=a.ikePolicyIKEVersionOptions=a.pfsOptions=a.encryptionAlgorithmOptions=a.authAlgorithmOptions=a.vpnStatusOptions=a.vpnStatus=void 0;var l,o,s,d,u,c,f,p=n(r(54)),m=n(r(32)),h={ACTIVE:t("Active"),DOWN:t("Down"),BUILD:t("Build"),ERROR:t("Error"),PENDING_CREATE:t("Pending Create"),PENDING_UPDATE:t("Pending Update"),PENDING_DELETE:t("Pending Delete")};a.vpnStatus=h;var v=(0,p.default)(l=(0,m.default)(h)).call(l,(e=>({label:h[e],value:e,key:e})));a.vpnStatusOptions=v;var g=(0,p.default)(o=["sha1","sha256","sha384","sha512"]).call(o,(e=>({label:e,value:e,key:e})));a.authAlgorithmOptions=g;var _=(0,p.default)(s=["3des","aes-128","aes-192","aes-256"]).call(s,(e=>({label:e,value:e,key:e})));a.encryptionAlgorithmOptions=_;var b=(0,p.default)(d=["group2","group5","group14"]).call(d,(e=>({label:e,value:e,key:e})));a.pfsOptions=b;var y=(0,p.default)(u=["v1","v2"]).call(u,(e=>({label:e,value:e,key:e})));a.ikePolicyIKEVersionOptions=y;var I=(0,p.default)(c=["tunnel","transport"]).call(c,(e=>({label:e,value:e,key:e})));a.ipsecPolicyEncapsulationModeOptions=I;var A=(0,p.default)(f=["esp","ah","ah-esp"]).call(f,(e=>({label:e,value:e,key:e})));a.ipsecPolicyTransformProtocolOptions=A},1335:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.ContainersStore=void 0;var f,p,m=c(a(29)),h=c(a(164)),v=c(a(54)),g=c(a(63)),_=c(a(28)),b=c(a(86)),y=c(a(431)),I=c(a(345)),A=c(a(25)),S=c(a(49)),w=c(a(74)),x=c(a(35)),P=(c(a(75)),c(a(55))),C=c(a(53)),E=c(a(50)),D=a(36),k=a(1336),R=c(a(1306));function N(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function j(e){for(var t=1;t({limit:e,offset:t}))),(0,w.default)(this,"delete",p,this)}get client(){return E.default.barbican.containers}get payloadClient(){return E.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get secretStore(){return new k.SecretsStore}get mapper(){return e=>{var{container_ref:t,algorithm:a}=e,[,r]=t.split("/containers/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return j(j({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,S.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{container_ref:a}=e,r=(0,m.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,h.default)(t).call(t,a)}));return r.length&&(e.listener=(0,v.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}listDidFetch(e){var t=this;return(0,S.default)((function*(){if(0===e.length)return e;var[a,r]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),i=(0,v.default)(e).call(e,(e=>{var{secret_refs:i=[]}=e;return 0===i.length?e.hidden=!0:((0,_.default)(i).call(i,(t=>{var{secret_ref:r=""}=t,[,i]=r.split("/secrets/"),n=(0,b.default)(a).call(a,(e=>e.id===i));n?((0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode})):e.hidden=!0})),t.updateItem(e,r)),j({},e)}));return(0,m.default)(i).call(i,(e=>!0!==e.hidden))}))()}detailDidFetch(e){var t=this;return(0,S.default)((function*(){var a,{secret_refs:r=[]}=e,[i,n]=yield g.default.all([t.secretStore.fetchList({mode:"SERVER"}),R.default.fetchList()]),l=[];(0,_.default)(r).call(r,function(){var t=(0,S.default)((function*(t){var{secret_ref:a=""}=t,[,r]=a.split("/secrets/"),n=(0,b.default)(i).call(i,(e=>e.id===r));n&&(l.push(n.id),(0,y.default)(t,{secret_info:n}),(0,y.default)(e,{algorithm:n.algorithm,mode:n.mode}))}));return function(e){return t.apply(this,arguments)}}()),t.updateItem(e,n);var o=yield g.default.all((0,v.default)(l).call(l,(e=>t.payloadClient.list(e,{},{headers:{Accept:"text/plain"}}))));return(0,_.default)(a=o||[]).call(a,((e,t)=>{r[t].secret_info.payload=e})),e}))()}create(e){var t=this;return(0,S.default)((function*(){var a={name:e.name,mode:e.mode,payload_content_type:"text/plain",secret_type:"certificate",algorithm:(0,I.default)({domain:e.domain,expiration:e.expiration})},r=j(j({},a),{},{payload:e.certificate}),i=[t.secretStore.create(r)];if("SERVER"===e.mode){var n=j(j({},a),{},{payload:e.private_key});i.push(t.secretStore.create(n))}var[l,o]=yield g.default.all(i),s=[{name:"certificate",secret_ref:l.secret_ref}];o&&s.push({name:"private_key",secret_ref:o.secret_ref});var d={type:"certificate",name:e.name,secret_refs:s};return t.client.create(d)}))()}},(0,P.default)(f.prototype,"create",[D.action],(0,A.default)(f.prototype,"create"),f.prototype),p=(0,P.default)(f.prototype,"delete",[D.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){var e=this;return function(){var t=(0,S.default)((function*(t){var{id:a,secret_refs:r=[]}=t;return yield g.default.all((0,v.default)(r).call(r,(t=>{var{secret_ref:a=""}=t,[,r]=a.split("/secrets/");return e.secretStore.delete({id:r})}))),e.submitting(e.client.delete(a))}));return function(e){return t.apply(this,arguments)}}()}}),f);t.ContainersStore=M;var T=new M;t.default=T},1336:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.SecretsStore=void 0;var f,p=c(a(29)),m=c(a(164)),h=c(a(54)),v=c(a(63)),g=c(a(345)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(53)),w=c(a(50)),x=a(36),P=c(a(1306));function C(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function E(e){for(var t=1;t({limit:e,offset:t})))}get client(){return w.default.barbican.secrets}get payloadClient(){return w.default.barbican.secrets.payload}get fetchListByLimit(){return!0}get paramsFunc(){return e=>E({},e)}get mapper(){return e=>{var{secret_ref:t,algorithm:a}=e,[,r]=t.split("/secrets/"),{domain:i,expiration:n}=a?JSON.parse(a):{};return E(E({},e),{},{id:r,domain:i,expiration:n})}}requestListAllByLimit(e,t){var a=this;return(0,y.default)((function*(){for(var r=!0,i=[];r;){var n=i.length||"",l=yield a.requestListByMarker(e,t,n),o=a.getListDataFromResult(l);i=[...i,...o],(t>=l.total||n>=l.total)&&(r=!1)}return i}))()}updateItem(e,t){var{secret_ref:a}=e,r=(0,p.default)(t).call(t,(e=>{var t=[e.default_tls_container_ref,e.client_ca_tls_container_ref,...e.sni_container_refs];return(0,m.default)(t).call(t,a)}));return r.length&&(e.listener=(0,h.default)(r).call(r,(e=>({id:e.id,name:e.name,lb:e.lbIds[0]})))),e}fetchDetail(e){var t=this;return(0,y.default)((function*(){var{id:a,silent:r}=e;r||(t.isLoading=!0);var[i,n,l]=yield v.default.all([t.client.show(a,{},{headers:{Accept:"application/json"}}),t.payloadClient.list(a,{},{headers:{Accept:"text/plain"}}),P.default.fetchList()]);i.payload=n,t.updateItem(i,l);var o=t.mapper(i||{});return t.detail=o,t.isLoading=!1,o}))()}listDidFetch(e){var t=this;return(0,y.default)((function*(){if(0===e.length)return e;var a=yield P.default.fetchList();return(0,h.default)(e).call(e,(e=>(t.updateItem(e,a),E({},e))))}))()}create(e){var t=this;return(0,y.default)((function*(){var{expiration:a,domain:r,algorithm:i}=e,n=E(E({},(0,b.default)(e,["expiration","domain","algorithm"])),{},{algorithm:i||(0,g.default)({domain:r,expiration:a})});return t.client.create(n)}))()}},(0,A.default)(f.prototype,"fetchDetail",[x.action],(0,_.default)(f.prototype,"fetchDetail"),f.prototype),(0,A.default)(f.prototype,"create",[x.action],(0,_.default)(f.prototype,"create"),f.prototype),f);t.SecretsStore=D;var k=new D;t.default=k},1337:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIKEPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ikePolicies}get listResponseKey(){return"ikepolicies"}get listFilterByProject(){return!0}}t.VpnIKEPolicyStore=o;var s=new o;t.default=s},1338:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnIPsecPolicyStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.ipsecPolicies}get listResponseKey(){return"ipsecpolicies"}get listFilterByProject(){return!0}}t.VpnIPsecPolicyStore=o;var s=new o;t.default=s},1339:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallStore=void 0;var f=c(a(28)),p=c(a(91)),m=c(a(86)),h=c(a(49)),v=c(a(35)),g=c(a(50)),_=a(1286),b=c(a(53)),y=c(a(460));function I(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function A(e){for(var t=1;tA(A({},e),{},{name:e.name||e.id,notDefault:!(0,_.isDefault)(e)})}listDidFetch(e){var t=this;return(0,h.default)((function*(){var a=[],r=[];if((0,f.default)(e).call(e,(e=>{var{egress_firewall_policy_id:t,ingress_firewall_policy_id:i}=e;(0,p.default)(a).call(a,t)<0&&a.push(t),(0,p.default)(r).call(r,i)<0&&r.push(i)})),0===a.length&&0===r.length)return e;var i=yield t.policyClient.list();return(0,f.default)(e).call(e,(e=>{var t,a,{egress_firewall_policy_id:r,ingress_firewall_policy_id:n}=e;e.egressPolicy=(0,m.default)(t=i.firewall_policies).call(t,(e=>e.id===r)),e.egressPolicyName=e.egressPolicy?e.egressPolicy.name:"-",e.ingressPolicy=(0,m.default)(a=i.firewall_policies).call(a,(e=>e.id===n)),e.ingressPolicyName=e.ingressPolicy?e.ingressPolicy.name:"-"})),e}))()}detailDidFetch(e){var t=this;return(0,h.default)((function*(){var{egress_firewall_policy_id:a,ingress_firewall_policy_id:r,project_id:i}=e;r&&(e.ingress=(yield t.fetchPolicy(r)).firewall_policy),a&&(e.egress=(yield t.fetchPolicy(a)).firewall_policy);var n=yield y.default.fetchProjectDetail({id:i});return e.project_name=n&&n.name||"-",e}))()}fetchPolicy(e){return this.policyClient.show(e)}}t.FirewallStore=S;var w=new S;t.default=w},1358:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnServicesStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.vpnservices}get listFilterByProject(){return!0}}t.VpnServicesStore=o;var s=new o;t.default=s},1359:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.VpnEndPointGroupStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.neutron.endpointGroups}get listFilterByProject(){return!0}}t.VpnEndPointGroupStore=o;var s=new o;t.default=s},1360:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSZonesStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(75)),i(a(55))),f=a(36),p=i(a(50)),m=i(a(1647)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this)}get client(){return p.default.designate.zones}create(e){var t=this;return(0,d.default)((function*(){return t.submitting(t.client.create(e))}))()}},(0,c.default)(n.prototype,"create",[f.action],(0,s.default)(n.prototype,"create"),n.prototype),l=(0,c.default)(n.prototype,"delete",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t}=e;return this.submitting(this.client.delete(t))}}}),o=(0,c.default)(n.prototype,"update",[f.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.patch(a,t))}}}),n);t.DNSZonesStore=h;var v=new h;t.default=v},1361:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.DNSRecordSetsStore=void 0;var n,l,o,s,d=i(a(58)),u=i(a(74)),c=i(a(35)),f=i(a(55)),p=(i(a(75)),i(a(50))),m=a(36),h=i(a(1647)),v=(n=class extends h.default{constructor(){super(...arguments),(0,c.default)(this,"getFatherResourceId",(e=>e.zoneId||e.id)),(0,u.default)(this,"delete",l,this),(0,u.default)(this,"update",o,this),(0,u.default)(this,"create",s,this)}get client(){return p.default.designate.zones.recordsets}get isSubResource(){return!0}get paramsFuncPage(){return e=>{var{id:t,zoneId:a,all_projects:r,current:i}=e;return(0,d.default)(e,["id","zoneId","all_projects","current"])}}},l=(0,f.default)(n.prototype,"delete",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{zone_id:t,recordset_id:a}=e;return this.submitting(this.client.delete(t,a))}}}),o=(0,f.default)(n.prototype,"update",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t,a)=>this.submitting(this.client.update(e,t,a))}}),s=(0,f.default)(n.prototype,"create",[m.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.client.create(a,t))}}}),n);t.DNSRecordSetsStore=v;var g=new v;t.default=g},1362:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.isMine=a.isDefault=a.tableOptions=a.tableFilter=a.tableColumns=void 0;var l=n(r(54)),o=n(r(0)),s=n(r(133)),d=r(1286),u=[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Rules"),dataIndex:"rules",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},e.name))):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo"}];a.tableColumns=u;var c=[{label:t("Name"),name:"name"},(0,d.getDefaultFilter)(t("Hide Default Policies"))];a.tableFilter=c;var f={filterParams:c,columns:u};a.tableOptions=f;a.isDefault=e=>"default egress"===e.name||"default ingress"===e.name;a.isMine=e=>e.project_id===s.default.projectId},1363:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FirewallRuleStore=void 0;var f,p=c(a(28)),m=c(a(29)),h=c(a(91)),v=c(a(54)),g=c(a(86)),_=c(a(25)),b=c(a(58)),y=c(a(49)),I=c(a(35)),A=c(a(55)),S=c(a(119)),w=a(36),x=c(a(50)),P=a(1307),C=c(a(53));function E(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function D(e){for(var t=1;tD(D({},e),{},{protocol:e.protocol||"any",notDefault:!(0,P.isDefault)(e)})}listDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return(0,p.default)(e).call(e,(e=>{e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0}))})),e}))()}detailDidFetch(e){var t=this;return(0,y.default)((function*(){var a=(yield t.policyClient.list()).firewall_policies;return e.policies=(0,m.default)(a).call(a,(t=>{var a;return(0,h.default)(a=t.firewall_rules).call(a,e.id)>=0})),e}))()}fetchListByPolicy(){var e=arguments,t=this;return(0,y.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{limit:r,page:i,sortKey:n,sortOrder:l,conditions:o}=a,s=(0,b.default)(a,["limit","page","sortKey","sortOrder","conditions"]);t.list.isLoading=!0;var{tab:d,all_projects:u,firewall_rules:c}=s,f=(0,b.default)(s,["tab","all_projects","firewall_rules"]);if(0!==c.length){var p=D({},f);u&&(t.listFilterByProject||(p.all_projects=!0));var m=yield t.client.list(p),h=(0,S.default)(m,t.listResponseKey,[]),_=(0,v.default)(c).call(c,(e=>(0,g.default)(h).call(h,(t=>t.id===e)))),y=(0,v.default)(_).call(_,t.mapper),I=yield t.listDidFetchProject(y,u);return I=yield t.listDidFetch(I,u),t.list.update(D({data:I,total:y.length||0,limit:Number(r)||10,page:Number(i)||1,sortKey:n,sortOrder:l,filters:s,isLoading:!1},t.list.silent?{}:{selectedRowKeys:[]})),I}t.list.isLoading=!1}))()}},(0,A.default)(f.prototype,"fetchListByPolicy",[w.action],(0,_.default)(f.prototype,"fetchListByPolicy"),f.prototype),f);t.FirewallRuleStore=k;var R=new k;t.default=R},1400:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.Algorithm=a.algorithmTip=a.algorithmDict=a.BackendProtocol=void 0;var l,o=n(r(54)),s=n(r(32)),d=[{label:t("TCP"),value:"TCP"},{label:t("PING"),value:"PING"}];a.BackendProtocol=d;var u={LEAST_CONNECTIONS:t("LEAST_CONNECTIONS"),ROUND_ROBIN:t("ROUND_ROBIN"),SOURCE_IP:t("SOURCE_IP")};a.algorithmDict=u;var c={LEAST_CONNECTIONS:t("A dynamic scheduling algorithm that estimates the server load based on the number of currently active connections. The system allocates new connection requests to the server with the least number of current connections. Commonly used for long connection services, such as database connections and other services."),ROUND_ROBIN:t("Each new connection request is assigned to the next server in order, and all requests are finally divided equally among all servers. Commonly used for short connection services, such as HTTP services."),SOURCE_IP:t("Perform a consistent hash operation on the source IP address of the request to obtain a specific value. At the same time, the back-end server is numbered, and the request is distributed to the server with the corresponding number according to the calculation result. This can enable load distribution of visits from different source IPs, and at the same time enable requests from the same client IP to always be dispatched to a specific server. This method is suitable for load balancing TCP protocol without cookie function.")};a.algorithmTip=c;var f=(0,o.default)(l=(0,s.default)(u)).call(l,(e=>({label:u[e],value:e})));a.Algorithm=f},1401:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.pools}get listFilterByProject(){return!0}}t.PoolStore=o;var s=new o;t.default=s},1402:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.PoolMemberStore=void 0;var n,l,o=i(a(25)),s=i(a(74)),d=(i(a(35)),i(a(75)),i(a(55))),u=a(36),c=i(a(50)),f=i(a(53)),p=(n=class extends f.default{constructor(){super(...arguments),(0,s.default)(this,"delete",l,this)}get client(){return this.poolClient.members}get poolClient(){return c.default.octavia.pools}get responseKey(){return"member"}get listFilterByProject(){return!0}listFetchByClient(e,t){var{pool_id:a}=t;return this.client.list(a)}create(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.client.create(t,r))}batchUpdate(e){var{default_pool_id:t,data:a}=e,r={};return r[this.listResponseKey]=a,this.submitting(this.poolClient.batchUpdateMembers(t,r))}update(e){var{default_pool_id:t,member_id:a,data:r}=e,i={};return i[this.responseKey]=r,this.submitting(this.client.update(t,a,i))}},(0,d.default)(n.prototype,"create",[u.action],(0,o.default)(n.prototype,"create"),n.prototype),(0,d.default)(n.prototype,"batchUpdate",[u.action],(0,o.default)(n.prototype,"batchUpdate"),n.prototype),(0,d.default)(n.prototype,"update",[u.action],(0,o.default)(n.prototype,"update"),n.prototype),l=(0,d.default)(n.prototype,"delete",[u.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return e=>{var{id:t,default_pool_id:a}=e;return this.submitting(this.client.delete(a,t))}}}),n);t.PoolMemberStore=p;var m=new p;t.default=m},1403:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.ReverseStore=void 0;var n,l,o,s=i(a(634)),d=i(a(74)),u=(i(a(35)),i(a(55))),c=(i(a(75)),a(36)),f=i(a(50)),p=i(a(53)),m=(n=class extends p.default{constructor(){super(...arguments),(0,d.default)(this,"set",l,this),(0,d.default)(this,"unset",o,this)}get client(){return(0,s.default)(f.default.designate).floatingips}get reverseClient(){return(0,s.default)(f.default.designate)}get isSubResource(){return!0}detailFetchByClient(e){var{id:t}=e;return this.reverseClient.reverseDetail(t)}get paramsFunc(){return()=>{}}},l=(0,u.default)(n.prototype,"set",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.setReverse(a,t))}}}),o=(0,u.default)(n.prototype,"unset",[c.action],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(e,t)=>{var{id:a}=e;return this.submitting(this.reverseClient.unsetReverse(a,t))}}}),n);t.ReverseStore=m;var h=new m;t.default=h},1404:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.ZONE_STATUS=a.validateZoneName=a.zoneNameMessage=a.zoneNameRegex=a.zoneTypeOptions=a.ZONE_TYPES=a.ZONE_TYPE_ENUM=void 0;var l=n(r(63)),o=n(r(430)),s=r(163),d={primary:"PRIMARY",secondary:"SECONDARY"};a.ZONE_TYPE_ENUM=d;var u={[d.primary]:t("Primary"),[d.secondary]:t("Secondary")};a.ZONE_TYPES=u;var c=(0,s.getOptions)(u);a.zoneTypeOptions=c;var f=/^.+\.$/;a.zoneNameRegex=f;var p=t('The zone name should end with "."');a.zoneNameMessage=p;a.validateZoneName=(e,a)=>a?f.test(a)?(0,o.default)(a).call(a).split(".").length<=1?l.default.reject(new Error(t('More than one label is required, such as: "example.org."'))):l.default.resolve():l.default.reject(p):l.default.resolve();var m={ACTIVE:t("Active"),PENDING:t("Pending"),ERROR:t("Error")};a.ZONE_STATUS=m},1405:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.RECORD_STATUS=a.getRecordSetFormItem=a.validateName=a.nameMessage=a.nameRegex=a.dnsRRTypeList=a.getRecordSetType=a.DNS_RECORD_TYPE=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(596)),d=n(r(32)),u=n(r(63)),c=n(r(164)),f=n(r(28)),p=n(r(134)),m=n(r(0)),h=r(565),v=r(1404),g={A:{name:t("Address Record"),nameExtra:"example.com.",recordsExtra:"192.168.1.1"},AAAA:{name:t("IPv6 Address Record"),nameExtra:"example.com.",recordsExtra:"2001:db8:3333:4444:5555:6666:7777:8888"},CAA:{name:t("Certificate Authority Authorization Record"),nameExtra:"example.com.",recordsExtra:t('0 iodef mailto:security@example.com
  • 0: is flag. An unsigned integer between 0-255.
  • iodef: An ASCII string that represents the identifier of the property represented by the record.
    Available Tags: "issue", "issuewild", "iodef"
  • mailto:security@example.com: The value associated with the tag.
')},CNAME:{name:t("Canonical Name Record"),nameExtra:"first.example.com.",recordsExtra:"other-example.com"},MX:{name:t("Mail Exchange Record"),nameExtra:"example.com.",recordsExtra:t("10 mail.example.com
  • 10: Priority
  • mail.example.com: Value
")},NS:{name:t("Name Server"),nameExtra:"example.com.",recordsExtra:"ns1.example.com"},PTR:{name:t("Pointer Record"),nameExtra:"example.com.",recordsExtra:"1.1.0.192.in-addr.arpa."},SOA:{name:t("Start Of Authority"),nameExtra:"example.com.",recordsExtra:t("ns1.example.com admin.example.com 2013022001 86400 7200 604800 300
  • The primary name server for the domain, which is ns1.example.com or the first name server in the vanity name server list.
  • The responsible party for the domain: admin.example.com.
  • A timestamp that changes whenever you update your domain.
  • The number of seconds before the zone should be refreshed.
  • The number of seconds before a failed refresh should be retried.
  • The upper limit in seconds before a zone is considered no longer authoritative.
  • The negative result TTL (for example, how long a resolver should consider a negative result for a subdomain to be valid before retrying).
")},SPF:{name:t("Sender Policy Framework"),nameExtra:"example.com.",recordsExtra:t('"v=spf1 ipv4=192.1.1.1 include:examplesender.email +all"
  • v=spf1: Tells the server that this contains an SPF record. Every SPF record must begin with this string.
  • Guest List: Then comes the “guest list” portion of the SPF record or the list of authorized IP addresses. In this example, the SPF record is telling the server that ipv4=192.1.1.1 is authorized to send emails on behalf of the domain.
  • include:examplesender.net: is an example of the include tag, which tells the server what third-party organizations are authorized to send emails on behalf of the domain. This tag signals that the content of the SPF record for the included domain (examplesender.net) should be checked and the IP addresses it contains should also be considered authorized. Multiple domains can be included within an SPF record but this tag will only work for valid domains.
  • -all: Tells, the server that addresses not listed in the SPF record are not authorized to send emails and should be rejected.
')},SRV:{name:t("Service Locator"),nameExtra:"_sip._tcp.example.com.
  • _sip: represents the name of the service.
  • _tcp: represents the protocol of the service, this is usually either TCP or UDP.
  • example.com: represents the domain in which this record is for.
",recordsExtra:t('10 0 5060 server1.example.com.
  • "10" is the priority of the record. The lower the value, the higher the priority.
  • 0 is the weight of the record. This is the weight of which this record has a chance to be used when there are multiple matching SRV records of the same priority.
  • 5060 is the port of the record. This specifies the port on which the application or service is running.
  • server1.example.com is the target of the record. This specifies the domain of the application or service the record is for. SRV records must specify a target which is either an A record or AAAA record, and may not use CNAME records.
')},SSHFP:{name:t("SSH Public Key Fingerprint"),nameExtra:"example.com.",recordsExtra:t("4 2 123456789abcdef67890123456789abcdef67890123456789abcdef123456789
  • 4 is Algorithm: Algorithm (0: reserved; 1: RSA; 2: DSA, 3: ECDSA; 4: Ed25519; 6:Ed448)
  • 2 is Type: Algorithm used to hash the public key (0: reserved; 1: SHA-1; 2: SHA-256)
  • Last parameter is Fingerprint: Hexadecimal representation of the hash result, as text
")},TXT:{name:t("Text Record"),nameExtra:"example.com."}};a.DNS_RECORD_TYPE=g;a.getRecordSetType=e=>{var t;return g[e]?(0,l.default)(t="".concat(e," - ")).call(t,g[e].name):e};var _=()=>{var e,t;return(0,o.default)(e=(0,s.default)(t=(0,d.default)(g)).call(t)).call(e,(e=>{var t;return{label:(0,l.default)(t="".concat(e," - ")).call(t,g[e].name),value:e,key:e}}))};a.dnsRRTypeList=_;var b=/^.+\.$/;a.nameRegex=b;var y=t('The name should be end with "."');a.nameMessage=y;var I=(e,t)=>t?b.test(t)?u.default.resolve():u.default.reject(y):u.default.resolve();a.validateName=I;a.getRecordSetFormItem=(e,a)=>[{name:"type",label:t("Type"),type:"select",options:_(),onChange:a=>{var r,i,n;(0,c.default)(r=(0,d.default)(g)).call(r,a)&&e.setState({nameExtra:(0,l.default)(i="".concat(t("Exp: "))).call(i,g[a].nameExtra),recordsExtra:(0,p.default)(g[a].recordsExtra)?(0,l.default)(n="".concat(t("Exp: "))).call(n,g[a].recordsExtra):""})},required:!0},{name:"name",label:t("Name"),type:"input",required:!0,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.nameExtra}}),validator:I},{name:"description",label:t("Description"),type:"textarea"},{name:"ttl",label:t("TTL"),type:"input-number",required:!0},{name:"records",label:t("Records"),type:"add-select",isInput:!0,required:!0,placeholder:t("Please input at least one record"),width:280,tip:()=>m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),extra:m.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.state.recordsExtra}}),validator:(e,r)=>{var{type:i}=a,{isIPv4:n,isIpv6:l}=h.ipValidate;return new u.default((e=>{r&&(0,f.default)(r).call(r,(e=>{if("A"===i&&!n(e.value))throw new Error(t("Please enter a valid IPv4 value."));if("AAAA"===i&&!l(e.value))throw new Error(t("Please enter a valid IPv6 value."))})),e()}))}}];var A=v.ZONE_STATUS;a.RECORD_STATUS=A},1406:function(e,a,r){"use strict";r(20)(a,"__esModule",{value:!0}),a.anyProject=a.objectTypes=void 0;var i={network:t("Network"),qos_policy:t("QoS Policy")};a.objectTypes=i;a.anyProject={id:"*",name:"*"}},1471:function(e,t,a){var r=a(3868);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},1472:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3974)),l=i(a(3976)),o=i(a(3977)),s={actionConfigsContainer:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsSecret:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[n.default]}};t.default=s},1473:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.tableOptions=a.tableFilter=a.tableColumns=a.routerInterfaceOwners=a.instanceInterfaceOwners=void 0;var l=n(r(164)),o=r(163),s=r(1258);a.instanceInterfaceOwners=["compute:nova"];a.routerInterfaceOwners=["network:router_interface","network:ha_router_replicated_interface","network:router_interface_distributed"];var d=[{title:t("Port"),dataIndex:"id",width:150},{title:t("Network"),dataIndex:"network_name"},{title:t("Subnet"),dataIndex:"subnet_name"},{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Owner"),dataIndex:"owner"},{title:t("Device"),dataIndex:"device_name"},{title:t("Status"),dataIndex:"status",valueMap:s.portStatus}];a.tableColumns=d;var u=[{label:t("Network"),name:"network",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Device"),name:"router",filterFunc:(e,t)=>{var a;return(0,l.default)(a=(e||{}).name).call(a,t)}},{label:t("Status"),name:"status",options:(0,o.getOptions)(s.portStatus)}];a.tableFilter=u;var c={filterParams:u,columns:d};a.tableOptions=c},1474:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var m=p(r(63)),h=p(r(430)),v=p(r(1277)),g=p(r(54)),_=p(r(32)),b=p(r(164)),y=p(r(49)),I=p(r(58)),A=p(r(35)),S=p(r(601)),w=r(412),x=r(1241),P=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=N(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(1363)),C=r(1307),E=r(565),D=r(36),k=r(1251),R=r(571);function N(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(N=function(e){return e?a:t})(e)}function j(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function M(e){for(var t=1;t(a,r)=>{var i="source"===e?t("Source IP"):t("Destination IP");if(!r)return m.default.resolve();var n=(0,h.default)(r).call(r);if((0,S.default)(r)||0===n.length)return m.default.resolve();var{ip_version:l=4}=this.state,o=4===l;return!o||F(n)||O(n)?o||L(n)||Q(n)?m.default.resolve():m.default.reject(t("{ name } Format Error (e.g. FE80:0:0:0:0:0:0:1 or FE80:0:0:0:0:0:0:1/10)",{name:i})):m.default.reject(t("{ name } Format Error (e.g. 192.168.1.1 or 192.168.1.1/24)",{name:i}))})),(0,A.default)(this,"checkSourceIp",(()=>this.checkIp("source"))),(0,A.default)(this,"checkDestinationIp",(()=>this.checkIp("destination"))),(0,A.default)(this,"canChangeShared",(()=>{if(!(0,k.checkPolicyRule)("update_firewall_rule:shared"))return!1;if(this.id){var e,t=(0,D.toJS)(this.store.detail);return(0,v.default)(e=t.policies||[]).call(e,(e=>!e.shared))}return!0})),(0,A.default)(this,"onSubmit",(e=>{var{options:{enabled:t,shared:a},protocol:r,destination_ip_address:i,source_ip_address:n,source_port:l,destination_port:o}=e,s=M(M({},(0,I.default)(e,["options","protocol","destination_ip_address","source_ip_address","source_port","destination_port"])),{},{enabled:t,protocol:"any"===r?null:r,destination_ip_address:i||null,source_ip_address:n||null,source_port:l||null,destination_port:o||null});return this.canChangeShared()&&(s.shared=a),this.id?P.default.edit({id:this.id},s):P.default.create(s)}))}init(){this.store=new P.FirewallRuleStore,this.getDetail(),(0,R.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get isEdit(){return this.params&&!!this.params.id}get name(){return this.isEdit?t("Edit rule"):t("Create rule")}get id(){return this.params.id}static allowed(){return m.default.resolve(!0)}get disableSubmit(){return!this.isEdit&&(0,R.checkQuotaDisable)(T,B)}get showQuota(){return!this.isEdit}get quotaInfo(){return(0,R.getQuotaInfo)(this,T,B)}get defaultValue(){if(this.id){var e=(0,D.toJS)(this.store.detail);return M(M({},e),{},{options:{enabled:e.enabled,shared:e.shared}})}return{protocol:"tcp",action:"allow",ip_version:4,options:{enabled:!0,shared:!1}}}get protocolList(){var e;return(0,g.default)(e=(0,_.default)(C.protocolInfos)).call(e,(e=>({value:e,label:C.protocolInfos[e]})))}get actionList(){var e;return(0,g.default)(e=(0,_.default)(C.actionInfos)).call(e,(e=>({value:e,label:C.actionInfos[e]})))}get ipVersionList(){return[{value:4,label:t("IPv4")},{value:6,label:t("IPv6")}]}getDetail(){var e=this;return(0,y.default)((function*(){e.params.id&&(yield e.store.fetchDetail(e.params),e.updateDefaultValue(),e.updateState())}))()}get formItems(){var e,a,{protocol:r}=this.state;return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"protocol",label:t("Protocol"),type:"radio",options:this.protocolList,required:!0},{name:"action",label:t("Rule Action"),type:"select",options:this.actionList,required:!0},{name:"ip_version",label:t("IP Version"),type:"radio",options:this.ipVersionList},{name:"source_ip_address",label:t("Source IP Address/Subnet"),type:"input",validator:this.checkSourceIp()},{name:"source_port",label:t("Source Port/Port Range"),type:"port-range",hidden:(0,b.default)(e=["any","icmp"]).call(e,r)},{name:"destination_ip_address",label:t("Destination IP Address/Subnet"),type:"input",validator:this.checkDestinationIp()},{name:"destination_port",label:t("Destination Port/Port Range"),type:"input",help:t("Input destination port or port range (example: 80 or 80:160)"),hidden:(0,b.default)(a=["any","icmp"]).call(a,r)},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Enabled"),value:"enabled"},{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=q,(0,A.default)(q,"id","rule-create"),(0,A.default)(q,"title",t("Create Rule")),(0,A.default)(q,"path","/network/firewall-rule/create"),(0,A.default)(q,"policy","create_firewall_rule");var V=(0,w.inject)("rootStore")((0,w.observer)(q));a.default=V},1626:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Networks=void 0;var p=f(r(573)),m=f(r(29)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(571),b=r(233),y=r(342),I=f(r(1627));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;tthis.isAdminPage||this.isAllTab?S(S({},e),{},{all_projects:!0}):this.isProjectTab?S(S({},e),{},{project_id:this.currentProjectId}):this.isSharedTab?S(S({},e),{},{shared:!0}):this.isExternalTab?S(S({},e),{},{"router:external":!0}):S({},e)))}init(){this.store=new b.NetworkStore,this.downloadStore=new b.NetworkStore}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"status"}get policy(){return"get_network"}get name(){return t("networks")}get actionConfigs(){return I.default}get hasTab(){return!this.isAdminPage}get adminPageHasProjectFilter(){return!0}get tab(){if(this.isAdminPage)return null;var{tab:e="projectNetwork"}=this.props;return e}get isProjectTab(){return"projectNetwork"===this.tab}get isSharedTab(){return"sharedNetwork"===this.tab}get isExternalTab(){return"externalNetwork"===this.tab}get isAllTab(){return"allNetwork"===this.tab}getColumns(){var e=(0,_.networkColumns)(this);return this.isAdminPage||this.isAllTab?((0,p.default)(e).call(e,1,0,{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,sortKey:"project_id"}),e):this.isProjectTab?(0,m.default)(e).call(e,(e=>"tenant_id"!==e.dataIndex)):this.isSharedTab?(0,m.default)(e).call(e,(e=>"shared"!==e.dataIndex)):this.isExternalTab?(0,m.default)(e).call(e,(e=>"router:external"!==e.dataIndex)):e}get searchFilters(){var e={label:t("Name"),name:"name"},a={label:t("Shared"),name:"shared",options:y.yesNoOptions},r={label:t("External"),name:"router:external",options:y.yesNoOptions},i={label:t("Project Range"),name:"project_id",options:[{label:t("Current Project"),key:this.currentProjectId},{label:t("All"),key:"all"}]};return this.isSharedTab?[e,r,i]:this.isExternalTab?[e,a,i]:[e,a,r]}}a.Networks=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},1627:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1628)),l=i(a(1630)),o=i(a(3840)),s={rowActions:{firstAction:i(a(3841)).default,moreActions:[{action:l.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.default=s},1628:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateNetwork=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(91)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=f(r(352)),I=f(r(177)),A=r(412),S=r(1241),w=r(565),x=f(r(233)),P=f(r(340)),C=f(r(1270)),E=r(1251),D=f(r(1629)),k=r(571),R=r(1265),N=r(163),j=r(36),M=f(r(621));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],{left:r=0}=e||{},{left:i=0}=t||{};return a?0!==r&&0!==i?1:0:0!==r?1:0};class Y extends S.ModalAction{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var{name:t,project_id:a,provider_network_type:r,provider_physical_network:i,provider_segmentation_id:n,shared:l,external_network:o,availableZone:s,allocation_pools:d,host_routes:u,description:c,mtu:f,port_security_enabled:p}=e,m=(0,_.default)(e,["name","project_id","provider_network_type","provider_physical_network","provider_segmentation_id","shared","external_network","availableZone","allocation_pools","host_routes","description","mtu","port_security_enabled"]),h=K(d),v=G(u),g={name:t,description:c,port_security_enabled:p};s&&(g.availability_zone_hints=[s]),f&&(g.mtu=f);var b={"router:external":o,project_id:a?a.selectedRowKeys[0]:this.currentProjectId,"provider:network_type":r,"provider:physical_network":i,"provider:segmentation_id":n},y={shared:l},I=B({},g);return this.isAdminPage&&(I=B(B({},I),b)),this.isSystemAdmin&&(I=B(B({},I),y)),x.default.createAndMore(I,B(B({},m),{},{allocation_pools:h,host_routes:v}))})),(0,b.default)(this,"onOk",((e,a,r)=>(this.values=e,this.onSubmit(e,a).then((()=>{!this.isModal&&this.routing.push(this.listUrl),C.default.success(this.successText),r&&(0,y.default)(r)&&r(!0,!1)}),(a=>{var{type:i,error:n}=JSON.parse(a);"create_network"===i?C.default.errorWithDetail(n,this.errorText):"create_subnet"===i&&C.default.errorWithDetail(n,t("Unable to {action}, instance: {name}.",{action:t("Create Subnet"),name:e.subnet_name})),r&&(0,y.default)(r)&&r(!1,!0)}))))),(0,b.default)(this,"checkCidr",(e=>{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!z(e))&&!("ipv6"===t&&!J(e))})),(0,b.default)(this,"checkGateway",(e=>!!(0,I.default)(e)||!!W(e))),(0,b.default)(this,"validateAllocationPools",((e,t)=>Q.call(this,e,t))),(0,b.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))})),(0,b.default)(this,"onCreateSubnetChange",(e=>{this.setState({create_subnet:e}),x.default.updateCreateWithSubnet(e)}))}get name(){return t("create network")}static get modalSize(){var{pathname:e}=window.location;return(0,N.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){x.default.updateCreateWithSubnet(!1),this.state.networkQuota={},this.state.subnetQuota={},this.state.quotaLoading=!0,this.state.create_subnet=!1,this.state.projectId=this.currentProjectId,this.projectStore=P.default,D.default.fetchAvailableZones(),this.isAdminPage&&this.fetchProjectList(),this.getQuota()}get isSystemAdmin(){return(0,E.checkSystemAdmin)()}static get disableSubmit(){var{neutronQuota:{network:e={},subnet:t={}}}=P.default,{createWithSubnet:a=!1}=x.default;return 0===X(e,t,a)}static get showQuota(){return!0}fetchProjectList(){var e=this;return(0,g.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,j.toJS)(this.projectStore.list.data)||[]}get showQuota(){return!0}getQuota(){var e=this;return(0,g.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{network:r={},subnet:i={}}=a||{};e.setState({networkQuota:r,subnetQuota:i,quotaLoading:!1})}))()}get quotaInfo(){var{networkQuota:e={},subnetQuota:a={},quotaLoading:r,create_subnet:i}=this.state;if(r)return[];var n=X(e,a,i);return[B(B({},e),{},{add:n,name:"network",title:t("Network")}),B(B({},a),{},{add:i?n:0,name:"subnet",title:t("Subnet"),type:"line"})]}get defaultValue(){var e={enable_dhcp:!0,provider_network_type:"vxlan",ip_version:"ipv4",disable_gateway:!1,more:!1,port_security_enabled:!0,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isAdminPage&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}get availableZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=D.default.availableZones||[]).call(t,(e=>"available"===e.state&&"network"===e.resource))).call(e,(e=>({value:e.name,label:e.name})))}get SegIDTips(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215");case"vlan":return t("For VLAN networks, valid segmentation IDs are 1 to 4094");case"gre":return t("For GRE networks, valid segmentation IDs are 1 to 4294967295");default:return t("For VXLAN networks, valid segmentation IDs are 1 to 16777215")}}get SegMax(){var{provider_network_type:e="vxlan"}=this.state;switch(e){case"vxlan":return 16777215;case"vlan":return 4094;case"gre":return 4294967295;default:return 16777215}}get formItems(){var{more:e,create_subnet:a=!1,provider_network_type:r="vxlan",ip_version:i="ipv4",disable_gateway:n=!1}=this.state,l=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,o=this.isAdminPage&&(0,h.default)(F).call(F,r)>-1,s=this.isAdminPage&&(0,h.default)(L).call(L,r)>-1,d=this.isAdminPage&&(0,h.default)(O).call(O,r)>-1,u="ipv4"===i;return[{name:"name",label:t("Network Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"availableZone",label:t("Available Zone"),type:"select",placeholder:t("Please select"),options:this.availableZones},{name:"mtu",label:t("MTU"),type:"input-number",min:68,max:9e3,extra:t("Minimum value is 68 for IPv4, and 1280 for IPv6.")},{name:"create_subnet",label:t("Create Subnet"),type:"check",onChange:this.onCreateSubnetChange},{name:"shared",label:t("Shared"),type:"check",hidden:!this.isSystemAdmin},{name:"port_security_enabled",label:t("Port Security Enabled"),type:"switch",required:!0},{name:"external_network",label:t("External Network"),type:"check",hidden:!this.isAdminPage},B({name:"project_id",label:t("Project"),type:"select-table",hidden:!this.isAdminPage,required:this.isAdminPage,isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},R.projectTableOptions),{name:"provider_network_type",label:t("Provider Network Type"),type:"select",hidden:!this.isAdminPage,required:this.isAdminPage,options:[{label:"vxlan",value:"vxlan"},{label:"flat",value:"flat"},{label:"vlan",value:"vlan"},{label:"gre",value:"gre"}],onChange:e=>{this.setState({provider_network_type:e})}},{name:"provider_physical_network",label:t("Provider Physical Network"),type:"input",hidden:!l,required:o},{name:"provider_segmentation_id",label:t("Segmentation ID"),type:"input-int",hidden:!s,required:d,min:1,max:this.SegMax,extra:this.SegIDTips},{name:"subnet_name",label:t("Subnet Name"),hidden:!a,type:"input",required:a,validator:Z},{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0,hidden:!a},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?v.default.resolve():r&&r!==a?v.default.reject(new Error(t("Invalid combination"))):v.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:k.subnetIpv6Tip,hidden:"ipv6"!==i},{name:"cidr",label:t("CIDR"),type:"input",placeholder:u?"192.168.0.0/24":"1001:1001::/64",required:a,validator:(e,r)=>a||r?(0,I.default)(r)||this.checkCidr(r)?v.default.resolve():v.default.reject(new Error(t("Invalid: ")+t("CIDR"))):v.default.resolve(),hidden:!a,tip:u?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!(a&&e)},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===i?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(a&&e&&!n),validator:"ipv6"===i?(e,a)=>this.checkGateway(a)?v.default.resolve():v.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!(a&&e)},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:u?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!(a&&e),validator:this.validateAllocationPools,dependencies:["gateway_ip"]},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:u?"114.114.114.114":"1001:1001::/64"}),hidden:!(a&&e),validator:u?q:V},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:u?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!(a&&e),validator:u?H:U},{name:"more",label:t("Advanced Options"),type:"more",hidden:!a}]}}a.CreateNetwork=Y,(0,b.default)(Y,"id","create-network"),(0,b.default)(Y,"title",t("Create Network")),(0,b.default)(Y,"policy",["create_network","create_subnet"]),(0,b.default)(Y,"allowed",(()=>v.default.resolve(!0)));var $=(0,A.inject)("rootStore")((0,A.observer)(Y));a.default=$},1629:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.NeutronStore=void 0;var n,l,o,s=i(a(25)),d=i(a(49)),u=i(a(74)),c=(i(a(35)),i(a(55))),f=(i(a(75)),a(36)),p=i(a(50)),m=i(a(53)),h=(n=class extends m.default{constructor(){super(...arguments),(0,u.default)(this,"availableZones",l,this),(0,u.default)(this,"zoneLoading",o,this)}get zoneClient(){return p.default.neutron.azones}fetchAvailableZones(){var e=this;return(0,d.default)((function*(){e.zoneLoading=!0;var t=yield e.zoneClient.list(),{availability_zones:a=[]}=t;e.availableZones=a,e.zoneLoading=!1}))()}},l=(0,c.default)(n.prototype,"availableZones",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),o=(0,c.default)(n.prototype,"zoneLoading",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,c.default)(n.prototype,"fetchAvailableZones",[f.action],(0,s.default)(n.prototype,"fetchAvailableZones"),n.prototype),n);t.NeutronStore=h;var v=new h;t.default=v},1630:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateSubnet=void 0;var p=f(r(1252)),m=f(r(63)),h=f(r(49)),v=f(r(58)),g=f(r(35)),_=f(r(177)),b=r(412),y=r(1241),I=r(565),A=f(r(233)),S=f(r(340)),w=f(r(133)),x=r(571),P=r(1265),C=r(36),E=f(r(621));function D(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function k(e){for(var t=1;t{var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!L(e))&&!("ipv6"===t&&!O(e))})),(0,g.default)(this,"checkGateway",(e=>!!(0,_.default)(e)||!!Q(e))),(0,g.default)(this,"onSubmit",(e=>{var{allocation_pools:t,host_routes:a,project_id:r}=e,i=(0,v.default)(e,["allocation_pools","host_routes","project_id"]),n=B(t),l=F(a);return A.default.createSubnet(k(k({},i),{},{project_id:r?r.selectedRowKeys[0]:this.currentProjectId,network_id:this.network.id,allocation_pools:n,host_routes:l}))})),(0,g.default)(this,"validateAllocationPools",((e,t)=>R.call(this,e,t))),(0,g.default)(this,"onProjectChange",(e=>{var{selectedRowKeys:t}=e;this.setState({projectId:t[0]},(()=>{this.getQuota()}))}))}get name(){return t("Create Subnet")}static get modalSize(){return w.default.hasAdminRole?"large":"small"}getModalSize(){return this.isSystemAdmin?"large":"small"}get network(){return this.props.containerProps.detail||this.item||{}}get instanceName(){return this.item.name||(0,p.default)(this).subnet_name}get defaultValue(){var e={enable_dhcp:!0,ip_version:"ipv4",disable_gateway:!1,more:!1,ipv6_ra_mode:"slaac",ipv6_address_mode:"slaac"};return this.isSystemAdmin&&(e.project_id={selectedRowKeys:[this.currentProjectId]}),e}init(){this.state.projectId=this.currentProjectId,this.state.quota={},this.state.quotaLoading=!0,this.projectStore=S.default,this.isSystemAdmin&&this.getProjects(),this.getQuota()}getProjects(){var e=this;return(0,h.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,C.toJS)(this.projectStore.list.data)||[]}static get disableSubmit(){var{neutronQuota:{subnet:{left:e=0}={}}}=S.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,h.default)((function*(){var{projectId:t}=e.state;e.setState({quotaLoading:!0});var a=yield e.projectStore.fetchProjectNeutronQuota(t),{subnet:r={}}=a||{};e.setState({quota:r,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[k(k({},e),{},{add:i,name:"subnet",title:t("Subnet")})]}get isSystemAdmin(){return this.props.rootStore.hasAdminRole}get networkProjectId(){var{project_id:e}=this.item;if(e)return e;var{detail:t={}}=this.containerProps;return t.project_id}get formItems(){var{more:e,ip_version:a="ipv4",disable_gateway:r=!1,projectId:i}=this.state,n="ipv4"===a;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0,withoutChinese:!0},k({name:"project_id",label:t("Project"),type:"select-table",required:!0,hidden:!this.isSystemAdmin,extra:i!==this.networkProjectId&&t("The selected project is different from the project to which the network belongs. That is, the subnet to be created is not under the same project as the network. Please do not continue unless you are quite sure what you are doing."),isLoading:this.projectStore.list.isLoading,data:this.projects,onChange:this.onProjectChange},P.projectTableOptions),{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e})},required:!0},{name:"ipv6_ra_mode",label:t("Router Advertisements Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a,dependencies:["ipv6_address_mode"],validator:(e,a)=>{var r=this.formRef.current&&this.formRef.current.getFieldValue("ipv6_address_mode")||void 0;return!a&&r?m.default.resolve():r&&r!==a?m.default.reject(new Error(t("Invalid combination"))):m.default.resolve()}},{name:"ipv6_address_mode",label:t("IP Distribution Mode"),type:"select",options:[{label:"dhcpv6-stateful",value:"dhcpv6-stateful"},{label:"dhcpv6-stateless",value:"dhcpv6-stateless"},{label:"slaac",value:"slaac"}],tip:x.subnetIpv6Tip,hidden:"ipv6"!==a},{name:"cidr",label:t("CIDR"),type:"input",placeholder:n?"192.168.0.0/24":"1001:1001::/64",required:!0,validator:(e,a)=>(0,_.default)(a)||this.checkCidr(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: ")+t("CIDR"))),tip:n?t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"):t("e.g. 2001:Db8::/48")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e})},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ipv6"===a?"input":"ip-input",onChange:e=>{this.setState({gateway_ip:e.target.value})},tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!r),validator:"ipv6"===a?(e,a)=>this.checkGateway(a)?m.default.resolve():m.default.reject(new Error(t("Invalid: Please input a valid ipv6."))):null},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. {ip})",{ip:n?"192.168.1.2,192.168.1.200":"1001:1001::,1001:1002::"}),hidden:!e,validator:this.validateAllocationPools},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. {ip})",{ip:n?"114.114.114.114":"1001:1001::"}),hidden:!e,validator:n?N:j},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. {ip})",{ip:n?"192.168.200.0/24,10.56.1.254":"1001:1001::/64,1001:1001"}),hidden:!e,validator:n?M:T},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.CreateSubnet=q,(0,g.default)(q,"id","create-subnet"),(0,g.default)(q,"title",t("Create Subnet")),(0,g.default)(q,"policy","create_subnet"),(0,g.default)(q,"allowed",((e,t)=>{var{project_id:a}=e||{},{detail:{project_id:r}={}}=t||{},i=a||r,n=w.default,{hasAdminRole:l=!1,user:{project:{id:o}={}}={}}=n;return l||i===o?m.default.resolve(!0):m.default.resolve(!1)}));var V=(0,b.inject)("rootStore")((0,b.observer)(q));a.default=V},1631:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1630)),l=i(a(3844)),o={rowActions:{firstAction:i(a(3845)).default,moreActions:[{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]};t.default=o},1632:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1633)),l=i(a(3850)),o=i(a(3851)),s=i(a(3852)),d=i(a(3853)),u=i(a(3854)),c=i(a(3855)),f=i(a(3856)),p=i(a(3857)),m={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:u.default},{action:c.default},{action:l.default},{action:s.default},{action:d.default},{action:f.default},{action:p.default}]},primaryActions:[n.default],batchActions:[l.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default]}};t.default=m},1633:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=f(r(570)),y=r(412),I=r(575),A=r(233),S=f(r(1629)),w=f(r(340)),x=r(1241),P=r(571),C=r(1393);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{(0,b.default)(e,"openExternalNetwork")&&this.setState({openExternalNetwork:e.openExternalNetwork})})),(0,_.default)(this,"onSubmit",(e=>{var{openExternalNetwork:t,externalNetwork:a,hints:r={}}=e,i=(0,g.default)(e,["openExternalNetwork","externalNetwork","hints"]),n=t?{external_gateway_info:{network_id:a.selectedRows[0].id}}:null,l=r.selectedRowKeys||[];return this.store.create(D(D(D({},i),n),{},{availability_zone_hints:l}))}))}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=new I.RouterStore,this.networkStore=new A.NetworkStore,this.projectStore=w.default,this.fetchAzones(),this.getQuota()}get name(){return t("create router")}static get modalSize(){return"large"}getModalSize(){return"large"}fetchAzones(){S.default.fetchAvailableZones()}get aZones(){var e,t;return(0,p.default)(e=(0,m.default)(t=S.default.availableZones||[]).call(t,(e=>"available"===e.state&&"router"===e.resource))).call(e,(e=>D(D({},e),{},{id:e.name})))}static get disableSubmit(){var{neutronQuota:{router:{left:e=0}={}}={}}=w.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,v.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{router:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e,i=0===r?0:1;return[D(D({},e),{},{add:i,name:"router",title:t("Router")})]}get defaultValue(){return{openExternalNetwork:!1}}get formItems(){var{openExternalNetwork:e}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"hints",label:t("Availability Zone Hints"),type:"select-table",data:this.aZones,isLoading:S.default.zoneLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("State"),dataIndex:"state",valueMap:C.availabilityZoneState},{title:t("Resource Type"),dataIndex:"resource",valueMap:C.availabilityZoneResource}]},{name:"openExternalNetwork",label:t("Options"),type:"check",content:t("Open External Gateway")},{name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:e,hidden:!e,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:P.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.Create=k,(0,_.default)(k,"id","create"),(0,_.default)(k,"title",t("Create Router")),(0,_.default)(k,"policy","create_router"),(0,_.default)(k,"allowed",(()=>h.default.resolve(!0)));var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},1634:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(91)),s=n(r(54)),d=n(r(77));r(589);var u=n(r(590));r(1384);var c=n(r(1385));r(231);var f=n(r(341));r(1303);var p=n(r(1290)),m=n(r(35)),h=n(r(0)),v=r(163),g=r(580),_=r(1267),b=(r(161),r(204)),y=n(r(3871)),I=n(r(1471));class A extends h.default.Component{constructor(e){super(e),(0,m.default)(this,"detailButtons",(()=>[{name:t("Clear Gateway"),click:null},{name:t("Associate IP"),click:null},{name:t("Associate Network"),click:null},{name:t("delete"),type:"danger",click:null}])),this.state={}}get statusMap(){return{SHUTOFF:{status:"default",text:t("Shutoff")},ACTIVE:{color:"green",text:t("Active")}}}get detailInfos(){var{data:{subnets:e}}=this.props,a=(0,l.default)(e).call(e,(e=>{var t;return-1===(0,o.default)(t=e.name).call(t,"HA subnet tenant")}));return[{title:t("Name"),dataIndex:"name",render:(e,t)=>e?h.default.createElement(b.Link,{to:"/network/router/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",render:e=>_.routerStatus[e]||e},{title:t("External Fixed IP"),dataIndex:"external_gateway_info",isHideable:!0,render:e=>{var t;return(0,s.default)(t=(e||{}).external_fixed_ips||[]).call(t,(e=>h.default.createElement("span",{key:e.ip_address},e.ip_address,h.default.createElement("br",null))))||"-"}},{title:t("Subnet"),dataIndex:"subnets",render:e=>{if(!a[0])return"-";var t=(0,l.default)(a).call(a,(t=>-1!==(0,o.default)(e).call(e,t.id)));return(0,s.default)(t).call(t,(e=>h.default.createElement("span",{key:e.id},e.name," (",e.cidr,")",h.default.createElement("br",null))))}}]}renderCardInfos(e){var t,a=(0,s.default)(t=this.detailInfos).call(t,(t=>{var a,{title:r,dataIndex:i,render:n}=t;return!this.isLoading&&e&&e.id?(a=n?n(e[i],e):e[i],"create_time"!==i&&"update_time"!==i&&"created_at"!==i||n||(a=(0,g.getLocalTimeStr)(a)),void 0===a&&(a="-")):a="-",{label:r,content:a}}));return h.default.createElement(p.default,{column:1,className:I.default["descriptions-item"]},(0,s.default)(a).call(a,(e=>h.default.createElement(p.default.Item,{label:e.label,key:"label-".concat((0,v.generateId)())},e.content))))}renderButton(){var e=this.detailButtons();return h.default.createElement("div",{className:I.default["card-button"]},(0,s.default)(e).call(e,(e=>h.default.createElement(f.default,{type:e.type?e.type:"primary"},e.name))))}renderCard(e,t){return h.default.createElement("div",{style:{width:e}},this.renderCardInfos(t))}renderTitle(e,t){var a;return h.default.createElement("div",{className:I.default["node-card-title"]},(0,d.default)(a="".concat(e,": ")).call(a,t))}render(){var{x:e,y:a}=this.props,{data:{routers:r},infoIndex:i}=this.props,n=r[i];return h.default.createElement("div",{className:I.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e,"px")}},h.default.createElement(u.default,{placement:"rightTop",content:this.renderCard(430,n),title:this.renderTitle(t("Router"),n.name)},h.default.createElement("div",{style:{textAlign:"center",width:"50px",height:"50px",overflow:"hidden"}},h.default.createElement(c.default,{src:y.default,shape:"square",size:30}),h.default.createElement("div",{style:{transform:"scale(0.9,1)"}},n.name))))}}a.default=A},1635:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=r(412),o=r(582),s=n(r(1243)),d=r(1258),u=n(r(3879));class c extends s.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{routerId:e}=this.params;return this.getRoutePath("routerDetail",{id:e},{tab:"interfaces"})}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.portStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}init(){this.store=new o.PortStore}}a.PortDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},1636:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var p=f(r(35)),m=r(412),h=f(r(1242)),v=r(576),g=r(1357),_=r(66),b=r(342),y=f(r(1637));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{switch(this.tabKey){case"projectQoSPolicy":return A(A({},e),{},{project_id:this.currentProjectId});case"sharedQoSPolicy":return A(A({},e),{},{shared:!0});default:return e}}))}init(){this.store=new v.QoSPolicyStore,this.downloadStore=new v.QoSPolicyStore}get isProjectTab(){var e=this.tabKey;return!this.isAdminPage&&(!e||"projectQoSPolicy"===e)}get checkEndpoint(){return!0}get endpoint(){return(0,_.qosEndpoint)()}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get name(){return t("QoS policies")}get actionConfigs(){return this.isAdminPage?y.default.actionConfigs:this.isProjectTab?y.default.consoleActions:b.emptyActionConfig}get hasTab(){return!this.isAdminPage}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get defaultSortKey(){return"name"}get tabKey(){var{tab:e}=this.props;return e}getColumnParamsFromTabKey(){switch(this.tabKey){case"projectQoSPolicy":return{self:this,all:!1,shared:!1};case"sharedQoSPolicy":return{self:this,all:!1,shared:!0};case"allQoSPolicy":default:return{self:this,all:!0,shared:!1}}}getColumns(){return(0,g.getQosPolicyColumns)(this.getColumnParamsFromTabKey())}get searchFilters(){return(0,g.getQosPolicyFilters)(this.getColumnParamsFromTabKey())}}a.QoSPolicy=S;var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1637:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3896)),l=i(a(3897)),o=i(a(3898)),s=i(a(3899)),d=i(a(3900)),u=i(a(3901)),c=i(a(3902)),f=i(a(3903)),p=i(a(3904)),m=i(a(3905)),h=i(a(3906)),v={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:d.default},{action:h.default},{action:u.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},consoleActions:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:p.default},{action:m.default},{action:c.default},{action:f.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]}};t.default=v},1638:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n,l=(0,i(a(54)).default)(n="0,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,46,48,56".split(",")).call(n,(e=>({label:e,value:e})));t.default=l},1639:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3910)),l=i(a(3911)),o=i(a(3912)),s=i(a(1640)),d=i(a(3918)),u={rowActions:{firstAction:n.default,moreActions:[{action:o.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[s.default]};t.actionConfigs=u;var c={rowActions:{moreActions:[{action:l.default}]}};t.adminActions=c},1640:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.StepCreate=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(32)),d=n(r(91)),u=n(r(29)),c=n(r(63)),f=n(r(58)),p=n(r(35)),m=r(412),h=r(1241),v=n(r(581)),g=r(1254),_=n(r(3913)),b=n(r(3914)),y=n(r(3915)),I=n(r(3916)),A=n(r(3917));class S extends h.StepAction{constructor(){super(...arguments),(0,p.default)(this,"onSubmit",(e=>{var t,{name:a,description:r,vip_address:i,vip_network_id:n,admin_state_enabled:c,enableHealthMonitor:p,listener_protocol:m,listener_ssl_parsing_method:h,listener_sni_enabled:v,listener_default_tls_container_ref:_,listener_client_ca_tls_container_ref:b,listener_sni_container_refs:y,listener_admin_state_up:I,pool_admin_state_up:A,monitor_admin_state_up:S,insert_headers:w}=e,x=(0,f.default)(e,["name","description","vip_address","vip_network_id","admin_state_enabled","enableHealthMonitor","listener_protocol","listener_ssl_parsing_method","listener_sni_enabled","listener_default_tls_container_ref","listener_client_ca_tls_container_ref","listener_sni_container_refs","listener_admin_state_up","pool_admin_state_up","monitor_admin_state_up","insert_headers"]),P={name:a,description:r,vip_network_id:n.selectedRowKeys[0]},{ip_address:C,subnet:E}=i[0];P.vip_subnet_id=E,C&&C.ip&&(P.vip_address=C.ip),P.admin_state_up=c;var D,k={admin_state_up:I,protocol:m},R=(0,g.getInsertHeadersValueFromForm)(w);(R&&(k.insert_headers=R),"TERMINATED_HTTPS"===m)&&(_&&(k.default_tls_container_ref=_.selectedRows[0].container_ref),"two-way"===h&&b&&(k.client_ca_tls_container_ref=b.selectedRows[0].secret_ref,k.client_authentication="MANDATORY"),v&&y&&(k.sni_container_refs=(0,l.default)(D=y.selectedRows).call(D,(e=>e.container_ref))));var N={admin_state_up:A},j={admin_state_up:S};(0,o.default)(t=(0,s.default)(x)).call(t,(t=>{0===(0,d.default)(t).call(t,"listener")?k[t.replace("listener_","")]=e[t]:0===(0,d.default)(t).call(t,"pool")?N[t.replace("pool_","")]=e[t]:0===(0,d.default)(t).call(t,"health")&&(j[t.replace("health_","")]=e[t])})),p&&(N.healthmonitor=j);var{extMembers:M=[],Member:{selectedRowKeys:T=[],selectedRows:B,memberUpdateValue:F=[]}={}}=x,L=[];return(0,o.default)(T).call(T,(e=>{var t=(0,u.default)(B).call(B,(t=>t.id===e))[0],a=(0,u.default)(F).call(F,(t=>t.id===e))[0],{weight:r=0,protocol_port:i=1}=a||{},{member_ip:n,fixed_ips:l=[]}=t;(0,o.default)(n).call(n,(e=>{var{subnet_id:t}=(0,u.default)(l).call(l,(t=>t.ip_address===e))[0],a={weight:r,protocol_port:i,address:e,subnet_id:t};L.push(a)}))})),(0,o.default)(M).call(M,(e=>{var{ip:t,protocol_port:a,weight:r,name:i=null,subnet_id:n}=e.ip_address,l={weight:r,protocol_port:a,address:t,name:i,subnet_id:n};L.push(l)})),N.members=L,k.default_pool=N,P.listeners=[k],this.store.create(P)}))}init(){this.store=v.default}static allowed(e,t){var{isAdminPage:a=!1}=t;return c.default.resolve(!a)}get name(){return t("Create Loadbalancer")}get listUrl(){return this.getRoutePath("lb")}get hasConfirmStep(){return!1}get steps(){return[{title:t("Base Config"),component:_.default},{title:t("Listener Detail"),component:b.default},{title:t("Pool Detail"),component:y.default},{title:t("Member Detail"),component:I.default},{title:t("Health Monitor Detail"),component:A.default}]}}a.StepCreate=S,(0,p.default)(S,"id","lb-create"),(0,p.default)(S,"title",t("Create Loadbalancer")),(0,p.default)(S,"path","/network/load-balancers/create"),(0,p.default)(S,"policy","os_load-balancer_api:loadbalancer:post");var w=(0,m.inject)("rootStore")((0,m.observer)(S));a.default=w},1641:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3921)),l=i(a(3922)),o=i(a(3923)),s=i(a(3924)),d=i(a(3925)),u=i(a(1642)),c=i(a(3927)),f={rowActions:{firstAction:o.default,moreActions:[{action:l.default},{action:n.default},{action:s.default},{action:c.default},{action:d.default}]},batchActions:[],primaryActions:[u.default]};t.actionConfigs=f;var p={rowActions:{moreActions:[{action:c.default},{action:l.default}]}};t.adminActions=p},1642:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(63)),v=f(r(49)),g=f(r(58)),_=f(r(35)),b=r(412),y=r(1241),I=r(1306),A=r(1335),S=r(1336),w=r(1254);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function P(e){for(var t=1;t"os_load-balancer_api:listener:post")),(0,_.default)(this,"onSubmit",(e=>{var t,{sni_enabled:a,ssl_parsing_method:r,default_tls_container_ref:i,client_ca_tls_container_ref:n,sni_container_refs:l,insert_headers:o}=e,s=P(P({},(0,g.default)(e,["sni_enabled","ssl_parsing_method","default_tls_container_ref","client_ca_tls_container_ref","sni_container_refs","insert_headers"])),{},{loadbalancer_id:this.containerProps.detail.id}),d=(0,w.getInsertHeadersValueFromForm)(o);(d&&(s.insert_headers=d),i&&(s.default_tls_container_ref=i.selectedRows[0].container_ref),n&&(s.client_ca_tls_container_ref=n.selectedRows[0].secret_ref,s.client_authentication="MANDATORY"),l)&&(s.sni_container_refs=(0,p.default)(t=l.selectedRows).call(t,(e=>e.container_ref)));return this.store.create(s)}))}get name(){return t("Create Listener")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.store=new I.ListenerStore,this.containersStore=new A.ContainersStore,this.secretsStore=new S.SecretsStore,this.fetchContainers(),this.fetchSecrets()}fetchContainers(){var e=this;return(0,v.default)((function*(){yield e.containersStore.fetchList(),e.updateDefaultValue()}))()}fetchSecrets(){var e=this;return(0,v.default)((function*(){yield e.secretsStore.fetchList({mode:"CA"}),e.updateDefaultValue()}))()}get ServerCertificate(){return this.containersStore.list.data||[]}get CaCertificate(){return this.secretsStore.list.data||[]}get SNICertificate(){var e;return(0,m.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get isEdit(){return!1}get nameForStateUpdate(){return["protocol","ssl_parsing_method","sni_enabled"]}get defaultValue(){return{ssl_parsing_method:"one-way",sni_enabled:!1,connection_limit:-1,admin_state_up:!0}}get formItems(){var e,{protocol:a,ssl_parsing_method:r,sni_enabled:i}=this.state,n=(0,w.getListenerInsertHeadersFormItem)();return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"protocol",label:t("Protocol"),type:"select",options:w.listenerProtocols,required:!0,disabled:this.isEdit},{name:"ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:w.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.ServerCertificate,isLoading:this.containersStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CaCertificate,isLoading:this.secretsStore.list.isLoading,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,m.default)(e=(0,w.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNICertificate,isLoading:this.containersStore.list.isLoading,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,w.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,disabled:this.isEdit},{name:"connection_limit",label:t("Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.Create=C,(0,_.default)(C,"id","create_listener"),(0,_.default)(C,"title",t("Create Listener")),(0,_.default)(C,"policy","os_load-balancer_api:listener:post"),(0,_.default)(C,"allowed",(e=>h.default.resolve("ACTIVE"===e.provisioning_status)));var E=(0,b.inject)("rootStore")((0,b.observer)(C));a.default=E},1643:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3958)),l=i(a(3960)),o=i(a(3961)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},1644:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3965)),l=i(a(3966)),o=i(a(3967)),s=i(a(1645)),d={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=d},1645:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(164)),m=f(r(234)),h=f(r(54)),v=f(r(28)),g=f(r(32)),_=f(r(431)),b=f(r(77)),y=f(r(63)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(570)),x=r(412),P=r(1241),C=f(r(622)),E=f(r(419)),D=f(r(340)),k=r(354),R=r(565);function N(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function j(e){for(var t=1;t{(0,w.default)(e,"portOrRange")&&this.setState({sourcePort:""},(()=>{this.updateDefaultValue()})),(0,w.default)(e,"remoteType")&&this.setState({remote_ip_prefix:"",remote_group_id:""},(()=>{this.updateDefaultValue()})),this.setState(j({},e))})),(0,S.default)(this,"handleDirectionChange",(e=>{this.setState({direction:e})})),(0,S.default)(this,"onSubmit",((e,t)=>{var a,{match:{params:{id:r}={}}={}}=t,{sourcePort:i,protocol:n,ipProtocol:l,icmpType:o,icmpCode:s,portOrRange:d,remoteType:u}=e,c=(0,A.default)(e,["sourcePort","protocol","ipProtocol","icmpType","icmpCode","portOrRange","remoteType"]),f=(0,p.default)(a=["custom_udp","custom_tcp"]).call(a,n)&&"range"===d,h=i.split(":"),v="custom_protocol"!==n?this.defaultRules[n].ip_protocol:l,g=j({security_group_id:r||this.item.id,port_range_min:"custom_icmp"===n?o:f?(0,m.default)(h[0],10):null,port_range_max:"custom_icmp"===n?s:f?(0,m.default)(h[1]||h[0],10):null,protocol:v},c);return(0,p.default)(n).call(n,"all")&&(delete g.remote_ip_prefix,delete g.remote_group_id),this.store.create(g)})),this.state={protocol:this.protocolList[0].value,portOrRange:"range",remoteType:"cidr",direction:"ingress",ipProtocol:"ah"}}get name(){return t("Create rule")}init(){this.state.quota={},this.state.quotaLoading=!0,this.store=C.default,this.groupStore=E.default,this.projectStore=D.default,this.getAllGroups(),this.getQuota()}get messageHasItemName(){return!1}getAllGroups(){var e=this;return(0,I.default)((function*(){var t=yield E.default.fetchList();e.allGroups=(0,h.default)(t).call(t,(e=>({label:e.name,value:e.id})))}))()}static get disableSubmit(){var{neutronQuota:{security_group_rule:{left:e=0}={}}={}}=D.default;return 0===e}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,I.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group_rule:a={}}=t||{};e.setState({quota:a,quotaLoading:!1})}))()}get quotaInfo(){var{quota:e={},quotaLoading:a}=this.state;if(a)return[];var{left:r=0}=e||{},i=0===r?0:1;return[j(j({},e),{},{add:i,name:"security_group_rule",title:t("Security Group Rule")})]}get defaultRules(){return{custom_tcp:{name:t("Custom TCP Rule"),ip_protocol:"tcp"},custom_udp:{name:t("Custom UDP Rule"),ip_protocol:"udp"},custom_icmp:{name:t("Custom ICMP Rule"),ip_protocol:"icmp"},all_proto:{name:t("All Proto"),ip_protocol:null},all_tcp:{name:t("All TCP"),ip_protocol:"tcp",from_port:"1",to_port:"65535"},all_udp:{name:t("All UDP"),ip_protocol:"udp",from_port:"1",to_port:"65535"},all_icmp:{name:t("All ICMP"),ip_protocol:"icmp"},custom_protocol:{name:t("Other Protocol")}}}get protocolList(){var e,t=[];return(0,v.default)(e=(0,g.default)(this.defaultRules)).call(e,(e=>{t.push({value:e,label:this.defaultRules[e].name})})),t}get ruleList(){return(0,_.default)(this.defaultRules,this.settingRules)}get defaultValue(){var e,t=this.state,{protocol:a}=t,r=(0,A.default)(t,["protocol"]),{from_port:i,to_port:n}=this.ruleList[a],{sourcePort:l=""}=this.state;i&&(l=i!==n?(0,b.default)(e="".concat(i,":")).call(e,n):i);return j(j({},r),{},{protocol:a,sourcePort:l})}get formItems(){var e,a,{protocol:r,portOrRange:i,remoteType:n,direction:l}=this.state,o="custom_protocol"===r,s="custom_icmp"===r,d=(0,p.default)(e=["custom_udp","custom_tcp"]).call(e,r),u=(0,p.default)(a=["custom_udp","custom_tcp","custom_icmp"]).call(a,r),c=d&&"range"===i,f=u&&"cidr"===n,m=u&&"sg"===n;return[{name:"protocol",label:t("Protocol"),type:"select",required:!0,options:this.protocolList},{name:"direction",label:t("Direction"),type:"select",required:!0,options:[{value:"ingress",label:t("Ingress")},{value:"egress",label:t("Egress")}],onChange:this.handleDirectionChange},{name:"ethertype",label:t("Ether Type"),type:"select",required:!0,options:[{value:"IPv4",label:t("IPv4")},{value:"IPv6",label:t("IPv6")}]},{name:"portOrRange",label:t("Port Type"),type:"select",required:d,options:[{value:"all",label:t("All Port")},{value:"range",label:t("Custom")}],hidden:!d},{name:"sourcePort",label:"egress"===l?t("Destination Port/Port Range"):t("Source Port/Port Range"),type:"port-range",required:c,hidden:!c,extra:"egress"===l&&t("Input destination port or port range (example: 80 or 80:160)")},{name:"ipProtocol",label:t("IP Protocol"),type:"select-input",options:k.ipProtocols,required:o,hidden:!o,formRef:this.formRef,help:t("Please input protocol number if it absent in select list.")},{name:"icmpType",label:t("ICMP Type"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP type(0-255)")},{name:"icmpCode",label:t("ICMP Code"),type:"input-int",min:0,max:255,required:!1,hidden:!s,help:t("Please input ICMP code(0-255)")},{name:"remoteType",label:t("Remote Type"),type:"select",required:u,options:[{value:"cidr",label:t("cidr")},{value:"sg",label:t("Security Group")}],hidden:!u},{name:"remote_ip_prefix",label:t("Remote IP Prefix"),type:"input",hidden:!f,required:f,validator:f?R.cidrAllValidate:null,placeholder:t("Please input IPv4 or IPv6 cidr"),extra:t("Please input IPv4 or IPv6 cidr, (e.g. 192.168.0.0/24, 2001:DB8::/48)")},{name:"remote_group_id",label:t("Remote Security Group"),type:"select",required:m,hidden:!m,options:this.allGroups}]}}a.Create=M,(0,S.default)(M,"id","create"),(0,S.default)(M,"title",t("Create Rule")),(0,S.default)(M,"policy","create_security_group_rule"),(0,S.default)(M,"allowed",(()=>y.default.resolve(!0)));var T=(0,x.inject)("rootStore")((0,x.observer)(M));a.default=T},1646:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3983)),l=i(a(3984)),o={rowActions:{moreActions:[{action:n.default},{action:l.default}]}};t.default=o},1647:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(49)),l=i(a(58)),o=i(a(35)),s=i(a(53));class d extends s.default{constructor(){super(...arguments),(0,o.default)(this,"updateParamsSortPage",((e,t,a)=>{t&&a&&(e.sort_key=t,e.sort_dir="descend"===a?"desc":"asc")}))}get paramsFuncPage(){return e=>{var{current:t,all_projects:a}=e;return(0,l.default)(e,["current","all_projects"])}}listFetchByClient(e,t){var{all_projects:a=!1}=t,r={headers:{"x-auth-all-projects":a}};if(!this.isSubResource)return this.client.list(e,r);var i=this.getFatherResourceId(t);return this.client.list(i,e,r)}detailFetchByClient(e,t,a){var{id:r}=e,{all_projects:i=!1}=a,n={headers:{"x-auth-all-projects":i}};if(!this.isSubResource)return this.client.show(r,t,n);var l=this.getFatherResourceId(e);return this.client.show(l,r,t,n)}getCountForPage(e,t,a,r){return(0,n.default)((function*(){var{metadata:e={}}=r,{total_count:t=0}=e||{};return{total:t,count:t}}))()}}t.default=d},1648:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(86)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=r(1404),I=f(r(1360)),A=r(565);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(!a||!a.length)return p.default.resolve();if((0,m.default)(a).call(a,(e=>!e.value||!(A.ipValidate.isIPv4(e.value)||!A.ipValidate.isIpv6(e.value)))))return p.default.reject(t("Please input a valid ip!"));var r=(0,m.default)(a).call(a,(e=>!!(0,m.default)(a).call(a,(t=>t.value===e.value&&t.index!==e.index))));return r?p.default.reject(t("The ip address {ip} is duplicated, please modify it.",{ip:r.value})):p.default.resolve()})),(0,g.default)(this,"onSubmit",(e=>{var{masters:t=[],type:a,email:r,ttl:i}=e,n=w(w({},(0,v.default)(e,["masters","type","email","ttl"])),{},{type:a,masters:(0,h.default)(t).call(t,(e=>e.value))});return"PRIMARY"===a&&(n.email=r,n.ttl=i),this.store.create(n)}))}init(){this.store=I.default}static get modalSize(){return"small"}get name(){return t("Create Zone")}static allowed(){return p.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:y.ZONE_TYPE_ENUM.primary}}get nameForStateUpdate(){return["type"]}get formItems(){var{type:e=y.ZONE_TYPE_ENUM.primary}=this.state,a=e===y.ZONE_TYPE_ENUM.primary;return[{name:"name",label:t("Name"),type:"input",required:!0,extra:y.zoneNameMessage,validator:y.validateZoneName},{name:"description",label:t("Description"),type:"textarea"},{name:"type",label:t("Type"),type:"select",options:y.zoneTypeOptions,tip:t("Primary is controlled by Designate, Secondary zones are slaved from another DNS Server.")},{name:"email",label:t("Email Address"),type:"input",required:a,hidden:!a,validator:A.emailValidate,extra:t("Email for the zone. Used in SOA records for the zone.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,required:a,hidden:!a,extra:t("TTL (Time to Live) for the zone.")},{name:"masters",label:t("Masters"),type:"add-select",isInput:!0,placeholder:t("Please input ip address"),tip:t("Mandatory for secondary zones. The servers to slave from to get DNS information."),minCount:1,hidden:a,required:!a,validator:this.validateMasters}]}}a.Create=x,(0,g.default)(x,"id","create_zone"),(0,g.default)(x,"title",t("Create Zone")),(0,g.default)(x,"policy","create_zone");var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},1649:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(58)),g=f(r(35)),_=r(1241),b=r(412),y=f(r(1361)),I=r(1405);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{detail:t}=this.containerProps,{id:a}=t||this.item,{records:r}=e,i=(0,v.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=S({records:n},i);return this.store.create({id:a},l)}))}init(){var e,a;this.store=y.default,this.state=S(S({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE.A.nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE.A.recordsExtra)})}get name(){return t("Create Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){return{ttl:3600,type:"A"}}get formItems(){return(0,I.getRecordSetFormItem)(this,this.currentFormValue)}}a.Create=w,(0,g.default)(w,"id","create-record-set"),(0,g.default)(w,"title",t("Create Record Set")),(0,g.default)(w,"policy","create_recordset");var x=(0,b.inject)("rootStore")((0,b.observer)(w));a.default=x},1650:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3994)),l=i(a(3995)),o=i(a(1649)),s={rowActions:{firstAction:n.default,moreActions:[{action:l.default}]},primaryActions:[o.default],batchActions:[l.default]};t.default=s},1651:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1652)),l=i(a(4e3)),o=i(a(4001)),s={actionConfigs:{rowActions:{firstAction:i(a(4002)).default,moreActions:[{action:o.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=s},1652:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateForm=void 0;var p=f(r(63)),m=f(r(28)),h=f(r(29)),v=f(r(164)),g=f(r(86)),_=f(r(54)),b=f(r(49)),y=f(r(58)),I=f(r(35)),A=r(412),S=r(1241),w=f(r(1339)),x=f(r(1294)),P=f(r(575)),C=f(r(233)),E=f(r(582)),D=r(1362),k=r(1473),R=r(1258),N=r(36),j=r(571);function M(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function T(e){for(var t=1;t{var{ingressPolicy:t={},egressPolicy:a={},options:{admin_state_up:r=!0,shared:i=!1}={},ports:n={}}=e,l=(0,y.default)(e,["ingressPolicy","egressPolicy","options","ports"]),o=t.selectedRowKeys&&t.selectedRowKeys[0],s=a.selectedRowKeys&&a.selectedRowKeys[0],d=T({admin_state_up:r,shared:i},l);return o&&(d.ingress_firewall_policy_id=o),s&&(d.egress_firewall_policy_id=s),n.selectedRowKeys&&(d.ports=n.selectedRowKeys),this.store.create(d)}))}init(){this.store=w.default,this.policyStore=x.default,this.routerStore=P.default,this.networkStore=C.default,this.portStore=E.default,this.getNetworks(),this.getRouters(),this.getPolicies(),this.getPorts(),(0,j.fetchNeutronQuota)(this)}get listUrl(){return this.getRoutePath("firewall")}get name(){return t("Create firewall")}static allowed(){return p.default.resolve(!0)}get disableSubmit(){return(0,j.checkQuotaDisable)(B,F)}get showQuota(){return!0}get quotaInfo(){return(0,j.getQuotaInfo)(this,B,F)}getNetworks(){this.networkStore.fetchList({isFirewall:!0})}getRouters(){this.routerStore.fetchList({isFirewall:!0})}getPolicies(){this.policyStore.fetchList()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,N.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,m.default)(e=(0,N.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,h.default)(r=e.ports).call(r,(e=>(0,v.default)(k.routerInterfaceOwners).call(k.routerInterfaceOwners,e.device_owner)));(0,m.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,g.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.network_name=a.network?a.network.name:"",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,g.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get policies(){var e,t;return(0,_.default)(e=(0,h.default)(t=this.policyStore.list.data||[]).call(t,(e=>e.firewalls.length<2))).call(e,(e=>T(T({},e),{},{key:e.id})))}get defaultValue(){return{options:{admin_state_up:!0}}}get instancePorts(){var e;return(0,_.default)(e=(0,N.toJS)(this.portStore.list.data||[])).call(e,(e=>T(T({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:T(T({data:this.ports},k.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:T(T({data:this.instancePorts},(0,R.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},T({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),T({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},D.tableOptions),{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateForm=L,(0,I.default)(L,"id","firewall-create"),(0,I.default)(L,"title",t("Create Firewall")),(0,I.default)(L,"path","/network/firewall/create"),(0,I.default)(L,"policy","create_firewall_group");var O=(0,A.inject)("rootStore")((0,A.observer)(L));a.default=O},1653:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1654)),l=i(a(4004)),o=i(a(1655)),s=i(a(4005)),d=i(a(4006)),u={actionConfigs:{rowActions:{firstAction:o.default,moreActions:[{action:s.default},{action:d.default},{action:l.default}]},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=u},1654:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(1294)),u=r(1241),c=r(1251),f=r(571),p=["firewall_policy"],m=[1];class h extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a,options:{shared:r,audited:i}={}}=e,n={name:t,shared:r,audited:i,description:a};return this.store.create(n)}))}get name(){return t("create firewall policy")}init(){this.store=d.default,(0,f.fetchNeutronQuota)(this)}static get disableSubmit(){return(0,f.checkQuotaDisable)(p,m)}static get showQuota(){return!0}get showQuota(){return!0}get quotaInfo(){return(0,f.getQuotaInfo)(this,p,m)}get defaultValue(){return{options:{shared:!1,audited:!1}}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!(0,c.checkPolicyRule)("update_firewall_policy:shared")},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Create=h,(0,o.default)(h,"id","create-simple"),(0,o.default)(h,"title",t("Create Firewall Policy")),(0,o.default)(h,"buttonText",t("Create Policy")),(0,o.default)(h,"policy","create_firewall_policy"),(0,o.default)(h,"allowed",(()=>l.default.resolve(!0)));var v=(0,s.inject)("rootStore")((0,s.observer)(h));a.default=v},1655:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(35)),o=r(412),s=n(r(1294)),d=r(1241),u=r(1362),c=r(1251);class f extends d.ModalAction{constructor(){super(...arguments),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{name:a,options:{shared:r,audited:i}={},description:n}=e,l={name:a,audited:i,description:n};return this.canChangeShared()&&(l.shared=r),this.store.edit({id:t},l)}))}init(){this.store=s.default}get defaultValue(){var{name:e,shared:t,description:a,audited:r}=this.item;return{name:e,description:a,options:{shared:t,audited:r}}}canChangeShared(){return(0,c.checkPolicyRule)("update_firewall_policy:shared")}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Shared"),value:"shared",disabled:!this.canChangeShared()},{label:t("Audited"),value:"audited"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=f,(0,l.default)(f,"id","edit"),(0,l.default)(f,"title",t("Edit")),(0,l.default)(f,"policy","update_firewall_policy"),(0,l.default)(f,"allowed",(e=>!(0,u.isDefault)(e)&&(0,u.isMine)(e)));var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},1656:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(35)),m=f(r(58)),h=f(r(49)),v=f(r(54)),g=f(r(203)),_=f(r(91)),b=f(r(0)),y=r(412),I=f(r(1242)),A=r(1363),S=r(1307),w=r(342),x=f(r(1657));function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class C extends I.default{init(){this.store=new A.FirewallRuleStore}get policy(){return"get_firewall_rule"}get name(){return t("firewall rules")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?this.inDetailPage?w.emptyActionConfig:x.default.actionConfigsAdmin:this.inDetailPage?x.default.actionConfigsInDetail:x.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){var e={title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallRuleDetail")},a={title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},r={title:t("Related Policy"),dataIndex:"policies",isHideable:!0,render:e=>(0,v.default)(e).call(e,(e=>b.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id})))),stringify:e=>(0,v.default)(e).call(e,(e=>e.name)).join(",")};return[e,a,...(0,g.default)(S.tableColumns).call(S.tableColumns,1,2),r,...(0,g.default)(S.tableColumns).call(S.tableColumns,2,S.tableColumns.length)]}get searchFilters(){return S.tableFilter}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]),{detail:{firewall_rules:n=[]}={},match:l}=t.props,{path:f}=l,v=function(e){for(var t=1;t=0?(v.firewall_rules=n,yield t.store.fetchListByPolicy(v)):yield t.store.fetchList(v),t.list.silent=!1})))}))()}}a.Rule=C;var E=(0,y.inject)("rootStore")((0,y.observer)(C));a.default=E},1657:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1474)),l=i(a(1658)),o=i(a(4007)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]},actionConfigsInDetail:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[],primaryActions:[]},actionConfigsAdmin:{rowActions:{firstAction:o.default,moreActions:[]},batchActions:[o.default],primaryActions:[]}};t.default=s},1658:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditForm=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1307),u=n(r(1474));class c extends u.default{get listUrl(){return this.getRoutePath("firewall",null,{tab:"rules"})}get name(){return t("Edit rule")}static allowed(e){return l.default.resolve((0,d.isMine)(e))}}a.EditForm=c,(0,o.default)(c,"id","rule-edit"),(0,o.default)(c,"title",t("Edit Rule")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"path",(e=>"/network/firewall-rule/edit/".concat(e.id))),(0,o.default)(c,"policy","update_firewall_rule");var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},1659:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(4016)),l=i(a(4017)),o=i(a(4018)),s={rowActions:{firstAction:l.default,moreActions:[{action:n.default}]},batchActions:[n.default],primaryActions:[o.default]};t.default=s},3837:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(416)),l=i(a(3838)),o=e=>(0,n.default)(l.default,e);t.default=o},3838:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1263)),l=i(a(579)),o=i(a(3839)),s=i(a(1626)),d=i(a(3842)),u=i(a(3847)),c=i(a(3849)),f=i(a(1466)),p=i(a(3858)),m=i(a(3864)),h=i(a(3872)),v=i(a(1635)),g=i(a(1395)),_=i(a(3880)),b=i(a(3895)),y=i(a(1636)),I=i(a(3907)),A=i(a(3909)),S=i(a(1640)),w=i(a(3919)),x=i(a(3928)),P=i(a(3936)),C=i(a(3962)),E=i(a(3964)),D=i(a(3968)),k=i(a(3972)),R=i(a(3978)),N=i(a(3980)),j=i(a(3982)),M=i(a(3985)),T=i(a(3987)),B=i(a(3991)),F=i(a(3996)),L=i(a(3998)),O=i(a(4008)),Q=i(a(4011)),q=i(a(4012)),V=i(a(1474)),H=i(a(1658)),U=i(a(4013)),K=i(a(1654)),G=i(a(1655)),z=i(a(1652)),J=i(a(4015)),W=i(a(4019)),Z="/network",X=[{path:Z,component:n.default,routes:[{path:"".concat(Z,"/networks"),component:o.default,exact:!0},{path:"".concat(Z,"/networks-admin"),component:s.default,exact:!0},{path:"".concat(Z,"/networks/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:id"),component:d.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:id"),component:u.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/networks-admin/detail/:networkId/subnet/:subnetId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/instance-admin/detail/:instanceId/port/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/router"),component:c.default,exact:!0},{path:"".concat(Z,"/router-admin"),component:c.default,exact:!0},{path:"".concat(Z,"/router/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router-admin/detail/:id"),component:h.default,exact:!0},{path:"".concat(Z,"/router/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/router-admin/:routerId/port/:id"),component:v.default,exact:!0},{path:"".concat(Z,"/floatingip"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip-admin"),component:f.default,exact:!0},{path:"".concat(Z,"/floatingip/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/floatingip-admin/detail/:id"),component:p.default,exact:!0},{path:"".concat(Z,"/port"),component:g.default,exact:!0},{path:"".concat(Z,"/port-admin"),component:g.default,exact:!0},{path:"".concat(Z,"/port/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/port-admin/detail/:id"),component:_.default,exact:!0},{path:"".concat(Z,"/qos-policy"),component:b.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin"),component:y.default,exact:!0},{path:"".concat(Z,"/qos-policy/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/qos-policy-admin/detail/:id"),component:I.default,exact:!0},{path:"".concat(Z,"/topo"),component:m.default,exact:!0},{path:"".concat(Z,"/load-balancers"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin"),component:A.default,exact:!0},{path:"".concat(Z,"/load-balancers/create"),component:S.default,exact:!0},{path:"".concat(Z,"/load-balancers/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/detail/:id"),component:w.default,exact:!0},{path:"".concat(Z,"/load-balancers/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/load-balancers-admin/:loadBalancerId/listener/:id"),component:x.default,exact:!0},{path:"".concat(Z,"/certificate"),component:k.default,exact:!0},{path:"".concat(Z,"/certificate-container/detail/:id"),component:R.default,exact:!0},{path:"".concat(Z,"/certificate-secret/detail/:id"),component:N.default,exact:!0},{path:"".concat(Z,"/vpn"),component:P.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/ipsec-site-connection-admin/detail/:id"),component:C.default,exact:!0},{path:"".concat(Z,"/vpn-admin"),component:P.default,exact:!0},{path:"".concat(Z,"/security-group"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group-admin"),component:E.default,exact:!0},{path:"".concat(Z,"/security-group/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/security-group-admin/detail/:id"),component:D.default,exact:!0},{path:"".concat(Z,"/dns/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones"),component:T.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:id"),component:B.default,exact:!0},{path:"".concat(Z,"/dns/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns-admin/zones/detail/:zoneId/recordsets/:id"),component:F.default,exact:!0},{path:"".concat(Z,"/dns/reverse"),component:j.default,exact:!0},{path:"".concat(Z,"/dns/reverse/detail/:id"),component:M.default,exact:!0},{path:"".concat(Z,"/firewall"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin/:firewallId/port/:id"),component:Q.default,exact:!0},{path:"".concat(Z,"/firewall-admin"),component:L.default,exact:!0},{path:"".concat(Z,"/firewall/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-admin/detail/:id"),component:O.default,exact:!0},{path:"".concat(Z,"/firewall-policy/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-policy-admin/detail/:id"),component:q.default,exact:!0},{path:"".concat(Z,"/firewall-rule/create"),component:V.default,exact:!0},{path:"".concat(Z,"/firewall-rule/edit/:id"),component:H.default,exact:!0},{path:"".concat(Z,"/firewall-rule/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall-rule-admin/detail/:id"),component:U.default,exact:!0},{path:"".concat(Z,"/firewall/create"),component:z.default,exact:!0},{path:"".concat(Z,"/firewall-policy/add"),component:K.default,exact:!0},{path:"".concat(Z,"/firewall-policy/edit/:id"),component:G.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin"),component:J.default,exact:!0},{path:"".concat(Z,"/rbac-policies-admin/detail/:id"),component:W.default,exact:!0},{path:"*",component:l.default}]}];t.default=X},3839:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Network=void 0;var l=r(412),o=n(r(1282)),s=n(r(1626));class d extends o.default{get tabs(){var e=[{title:t("Current Project Networks"),key:"projectNetwork",component:s.default},{title:t("Shared Networks"),key:"sharedNetwork",component:s.default},{title:t("External Networks"),key:"externalNetwork",component:s.default}];return this.hasAdminRole&&e.push({title:t("All Networks"),key:"allNetwork",component:s.default}),e}}a.Network=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3840:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(233)),d=r(1251),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_network"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Network")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete network")}isCurrentProject(e){var t=u.default;return!(!(0,d.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3841:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(233)),b=r(1251),y=f(r(133)),I=r(163);function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{item:{id:t}={}}=this.props,{name:a,description:r,port_security_enabled:i}=e,n=(0,m.default)(e,["name","description","port_security_enabled"]),l={name:a,description:r,port_security_enabled:i};return this.isSystemAdmin&&(l.shared=n.shared),this.isAdminPage&&(l["router:external"]=n["router:external"]),_.default.edit({id:t},l)}))}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;t{var t=y.default;return(0,b.checkSystemAdmin)()||e.project_id===t.user.project.id?p.default.resolve(!0):p.default.resolve(!1)}));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3842:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.NetworkDetail=void 0;var p=f(r(573)),m=f(r(35)),h=r(412),v=f(r(1243)),g=r(233),_=r(571),b=f(r(1395)),y=f(r(3843)),I=f(r(3846)),A=f(r(1627));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{if(this.store.fetchDetail){var t=w(w(w({},this.params),e||{}),{},{all_projects:this.isAdminPage});this.store.fetchDetailWithAvailabilityAndUsage(w(w({},t),{},{isAdminPage:this.isAdminPage,canAddNetworkIPUsageInfo:this.canAddNetworkIPUsageInfo})).catch(this.catch)}}))}get name(){return t("network")}get policy(){return"get_network"}get listUrl(){return this.getRoutePath("network")}get actionConfigs(){return A.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get detailInfos(){var e=[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("Status"),dataIndex:"status",valueMap:_.networkStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&((0,p.default)(e).call(e,2,0,{title:t("Project Name"),dataIndex:"projectName"}),(0,p.default)(e).call(e,7,0,{title:t("DHCP Agents"),dataIndex:"dhcp_agents"})),this.canAddNetworkIPUsageInfo&&(0,p.default)(e).call(e,4,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:I.default},{title:t("Subnets"),key:"subnets",component:y.default},{title:t("Ports"),key:"ports",component:b.default}]}init(){this.store=new g.NetworkStore}}a.NetworkDetail=x;var P=(0,h.inject)("rootStore")((0,h.observer)(x));a.default=P},3843:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Subnets=void 0;var l=n(r(573)),o=n(r(35)),s=n(r(0)),d=r(412),u=n(r(1242)),c=r(417),f=n(r(1631));class p extends u.default{constructor(){super(...arguments),(0,o.default)(this,"updateFetchParams",(()=>({network_id:this.id,network:this.props.detail,all_projects:this.isAdminPage}))),(0,o.default)(this,"getColumns",(()=>{var e=[{title:t("Subnet ID/Name"),dataIndex:"name",routeName:this.getRouteName("subnetDetail"),routeParamsFunc:e=>({networkId:e.network_id,id:e.id})},{title:t("CIDR"),dataIndex:"cidr",isHideable:!0},{title:t("Gateway IP"),dataIndex:"gateway_ip",isHideable:!0},{title:t("IP Version"),dataIndex:"ip_version",isHideable:!0},{title:t("Port Count"),dataIndex:"subnetPorts",isHideable:!0,stringify:e=>(e||[]).length,render:(e,t)=>{var a=(e||[]).length;if(!a)return"-";var r=this.getLinkRender("subnetDetail",a,{id:t.id,networkId:t.network_id},{tab:"ports"});return s.default.createElement(s.default.Fragment,null,r)}},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}];return this.canAddNetworkIPUsageInfo&&(0,l.default)(e).call(e,5,0,{title:t("Total IPs"),dataIndex:"total_ips"},{title:t("Used IPs"),dataIndex:"used_ips",titleTip:this.isAdminPage?"":t("Number of IPs used by all projects")}),e}))}init(){this.store=new c.SubnetStore}get policy(){return"get_subnet"}get name(){return t("subnets")}get id(){return this.params.id}get actionConfigs(){return f.default}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Subnets=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3844:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(133)),d=n(r(417));class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_subnet"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Subnet")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete subnet")}isOwnerOrAdmin(e){var{tenant_id:t}=e;return this.isAdminPage||t===s.default.projectId}}a.default=u},3845:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditSubnet=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=r(565),b=f(r(417)),y=f(r(133)),I=f(r(621));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t{var{gateway_ip:t,allocation_pools:a,host_routes:r,dns:i,disable_gateway:n}=e,l=(0,m.default)(e,["gateway_ip","allocation_pools","host_routes","dns","disable_gateway"]),o=k(a),s=R(r),d=T(i),u=S(S({},l),{},{network_id:this.subnet.network_id,allocation_pools:o,host_routes:s,dns_nameservers:d});return n?u.gateway_ip=null:t&&t!==this.item.gateway_ip&&(u.gateway_ip=t),b.default.update(this.subnet,u)}))}get name(){return t("Edit Subnet")}get subnet(){return this.props.item}get defaultValue(){return S(S({},this.subnet),{},{subnet_name:this.subnet.name,allocation_pools:N(this.subnet.allocation_pools),host_routes:M(this.subnet.host_routes),dns:j(this.subnet.dns_nameservers),disable_gateway:!this.subnet.gateway_ip,gateway_ip:this.subnet.gateway_ip,more:!1})}get formItems(){var{more:e,disable_gateway:a=!this.item.gateway_ip}=this.state;return[{name:"subnet_name",label:t("Subnet Name"),type:"input-name",required:!0},{name:"cidr",label:t("CIDR"),type:"input",placeholder:"192.168.0.0/24",disabled:!0,required:!0,validator:(e,a)=>(4===this.subnet.ip_version?B(a):F(a))?p.default.resolve(!0):p.default.reject(new Error(t("Invalid CIDR."))),tip:t("It is recommended that you use the private network address 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16")},{name:"disable_gateway",label:t("Disable Gateway"),type:"check",onChange:e=>{this.setState({disable_gateway:e},(()=>{this.formRef.current.validateFields(["gateway_ip"])}))},hidden:!e},{name:"gateway_ip",label:t("Gateway IP"),type:"ip-input",version:this.subnet.ip_version,required:!a,tip:t("If no gateway is specified, the first IP address will be defaulted."),hidden:!(e&&!a)},{name:"enable_dhcp",label:t("DHCP"),type:"radio",optionType:"default",options:[{label:t("Enabled"),value:!0},{label:t("Disabled"),value:!1}],hidden:!e},{name:"allocation_pools",label:t("Allocation Pools"),type:"textarea",extra:t("IP address allocation polls, one enter per line(e.g. 192.168.1.2,192.168.1.200)"),hidden:!e,validator:4===this.subnet.ip_version?w:x},{name:"dns",label:t("DNS"),type:"textarea",extra:t("One entry per line(e.g. 114.114.114.114)"),hidden:!e,validator:4===this.subnet.ip_version?P:C},{name:"host_routes",label:t("Host Routes"),type:"textarea",extra:t("Additional routes announced to the instance, one entry per line(e.g. 192.168.200.0/24,10.56.1.254)"),hidden:!e,validator:4===this.subnet.ip_version?E:D},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.EditSubnet=L,(0,h.default)(L,"id","edit-subnet"),(0,h.default)(L,"title",t("Edit Subnet")),(0,h.default)(L,"buttonText",t("Edit")),(0,h.default)(L,"policy","update_subnet"),(0,h.default)(L,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t||{},{tenant_id:r}=e,i=a||r===y.default.projectId;return p.default.resolve(i)}));var O=(0,v.inject)("rootStore")((0,v.observer)(L));a.default=O},3846:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(66);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,s.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Availability Zone"),dataIndex:"availability_zones"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints"},{label:t("MTU"),dataIndex:"mtu"},{label:t("Router External"),dataIndex:"router:external",valueRender:"yesNo"},{label:t("Provider Network Type"),dataIndex:"provider:network_type"},{label:t("Provider Physical Network"),dataIndex:"provider:physical_network",render:e=>e||"-"},{label:t("Segmentation ID"),dataIndex:"provider:segmentation_id"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",render:e=>e||"-"}),{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3847:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SubnetDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(417),g=f(r(1395)),_=f(r(3848)),b=f(r(1631));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;tI(I({},e),{},{inDetail:!0,canAddNetworkIPUsageInfo:this.store.hasAdminRole})))}get name(){return t("subnet")}get policy(){return"get_subnet"}get listUrl(){var{networkId:e}=this.params;return this.getRoutePath("networkDetail",{id:e},{tab:"subnets"})}get actionConfigs(){return b.default}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id"},{title:t("CIDR"),dataIndex:"cidr"},{title:t("IP Version"),dataIndex:"ip_version"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Update At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:_.default},{title:t("Ports"),key:"ports",component:g.default}]}init(){this.store=new v.SubnetStore}}a.SubnetDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3848:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(0)),d=r(412),u=n(r(1249));class c extends u.default{get leftCards(){var e=[this.networkCard,this.baseInfoCard];return this.canAddNetworkIPUsageInfo&&e.push(this.ipUsageCard),e}get canAddNetworkIPUsageInfo(){return this.store.hasAdminRole}get networkCard(){var e=[{label:t("Network Name"),dataIndex:"network.name"},{label:t("Network ID"),dataIndex:"network.id",render:e=>this.getLinkRender("networkDetail",e,{id:e})}];return{title:t("Network Info"),options:e}}get baseInfoCard(){var e=[{label:t("Gateway IP"),dataIndex:"gateway_ip"},{label:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t,a=(0,l.default)(t=e||[]).call(t,(e=>{var t,{start:a,end:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,"-")).call(t,r)},a," - ",r)}));return s.default.createElement(s.default.Fragment,null,a)}},{label:t("Enable DHCP"),dataIndex:"enable_dhcp",valueRender:"yesNo"},{label:t("Host Routes"),dataIndex:"host_routes",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>{var t,{destination:a,nexthop:r}=e;return s.default.createElement("div",{key:(0,o.default)(t="".concat(a,",")).call(t,r)},a,",",r)}));return s.default.createElement(s.default.Fragment,null,t)}},{label:t("DNS Nameservers"),dataIndex:"dns_nameservers",render:e=>{if(!e.length)return"-";var t=(0,l.default)(e).call(e,(e=>s.default.createElement("div",{key:e},e)));return s.default.createElement(s.default.Fragment,null,t)}}];return{title:t("Base Info"),options:e}}get ipUsageCard(){if(!this.canAddNetworkIPUsageInfo)return null;var e=[{label:t("Total IPs"),dataIndex:"total_ips"},{label:t("Used IPs"),dataIndex:"used_ips"}];return{title:t("IP Usage"),options:e}}}a.BaseDetail=c;var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3849:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Routes=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=r(1267),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=m(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(575)),p=o(r(1632));function m(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(m=function(e){return e?a:t})(e)}class h extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>(0,c.getRouterColumns)(this)))}init(){this.store=this.inDetailPage?new f.RouterStore:f.default,this.downloadStore=new f.RouterStore}get policy(){return"get_router"}get name(){return t("routers")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get adminPageHasProjectFilter(){return!0}get defaultSortKey(){return"status"}get searchFilters(){return c.routerFilters}}a.Routes=h;var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3850:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(232)),s=n(r(91)),d=n(r(49)),u=n(r(35)),c=n(r(92)),f=r(1241),p=n(r(575));class m extends f.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_router"),(0,u.default)(this,"submitErrorMsg",(e=>{var a=this.getName(e);return this.connectSubnets?t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.actionName||this.title,name:a,reason:t("the router has connected subnet")}):t("Unable to {action}, instance: {name}.",{action:this.actionName||this.title,name:a})})),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.notExternalGateway(e))),(0,u.default)(this,"performErrorMsg",(e=>{var a=(0,c.default)(e)?e[0]:e,{name:r}=a,i=t('You are not allowed to delete router "{ name }".',{name:r});return this.notExternalGateway(a)||(i=t('Unable to delete router "{ name }". External gateway is opened, please clear external gateway first.',{name:r})),i})),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a,r,i){if(i)return p.default.delete(a);var n=yield p.default.fetchConnectedSubnets(e.item);return n.connectSubnets.length?(e.connectSubnets=n.connectSubnets,e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:e.item.name,reason:t("the router has connected subnet")}),l.default.reject()):(e.showConfirmErrorBeforeSubmit=!1,p.default.delete(a))}));return function(e,t,r){return a.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Router")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete router")}notAssociatedNet(e){if(!e.ports||0===e.ports.length)return!0;var t,a=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];return!(e.ports.length>0)||!(0,o.default)(t=e.ports).call(t,(e=>(0,s.default)(a).call(a,e.device_owner)>-1))}notExternalGateway(e){return!e.hasExternalGateway}}a.default=m},3851:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(575)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return d.default.edit({id:t},e)}))}init(){this.store=d.default}get defaultValue(){var{item:e}=this.props;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,placeholder:t("Please input name"),withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-router"),(0,o.default)(c,"title",t("Edit Router")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(e=>l.default.resolve("Default Router"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3852:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_router"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.hasGateway(e))),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.edit({id:t},{external_gateway_info:null})}))}get id(){return"clear-gateway"}get title(){return t("Close External Gateway")}get buttonText(){return t("Close External Gateway")}get actionName(){return t("Close external gateway")}hasGateway(e){return e.hasExternalGateway}}a.default=d},3853:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.SetGateway=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(575)),g=r(233),_=r(1241),b=r(571);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{externalNetwork:t}=e,{id:a}=this.item,r={external_gateway_info:{network_id:t.selectedRowKeys[0]}};return this.store.edit({id:a},r)}))}init(){this.store=v.default,this.networkStore=new g.NetworkStore}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("open external gateway")}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"router"},I({name:"externalNetwork",label:t("External Gateway"),type:"select-table",backendPageStore:this.networkStore,extraParams:{"router:external":!0},required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:b.networkStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime",sorter:!1}]},b.networkSortProps)]}}a.SetGateway=A,(0,m.default)(A,"id","set-gateway"),(0,m.default)(A,"title",t("Open External Gateway")),(0,m.default)(A,"policy","update_router"),(0,m.default)(A,"allowed",(e=>p.default.resolve(!e.external_gateway_info)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3854:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ConnectSubnet=void 0;var l=n(r(91)),o=n(r(28)),s=n(r(77)),d=n(r(63)),u=n(r(35)),c=r(412),f=r(36),p=r(575),m=n(r(417)),h=r(582),v=r(1241);class g extends v.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"getSubnets",(()=>{var{networkId:e}=this.state;e&&this.subnetStore.fetchList({network_id:e})})),(0,u.default)(this,"onNetworkChange",(e=>{var{selectedRowKeys:t=[]}=e;this.setState({networkId:t[0]},(()=>{this.getSubnets()}))})),(0,u.default)(this,"disabledFuncSubnet",(e=>{var t,{allocation_pools:a=[]}=e;return 0===a.length||(0,l.default)(t=this.excludeSubnetIds).call(t,e.id)>=0})),(0,u.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0],{networkId:i}=this.state;return this.store.connectSubnet({id:t,subnetId:r,networkId:i})}))}init(){this.store=new p.RouterStore,this.subnetStore=m.default,this.portStore=new h.PortStore,this.getPortList()}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("connect subnet")}get subnets(){var{networkId:e}=this.state;return e?(0,f.toJS)(this.subnetStore.list.data||[]):[]}getPortList(){var{id:e}=this.item;this.portStore.fetchList({device_id:e})}get excludeSubnetIds(){var e,t=[];return(0,o.default)(e=(0,f.toJS)(this.portStore.list.data||[])).call(e,(e=>{var a;(0,o.default)(a=e.fixed_ips).call(a,(e=>{t.push(e.subnet_id)}))})),t}get formItems(){var{networkId:e}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"network",label:t("Network"),type:"network-select-table",required:!0,onChange:this.onNetworkChange},{name:"subnet",label:t("Subnet"),type:"select-table",data:this.subnets,isLoading:e&&this.subnetStore.list.isLoading,disabledFunc:this.disabledFuncSubnet,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,s.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.ConnectSubnet=g,(0,u.default)(g,"id","connect-subnet"),(0,u.default)(g,"title",t("Connect Subnet")),(0,u.default)(g,"policy","add_router_interface"),(0,u.default)(g,"allowed",(()=>d.default.resolve(!0)));var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3855:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.DisconnectSubnet=void 0;var l=n(r(28)),o=n(r(91)),s=n(r(63)),d=n(r(54)),u=n(r(350)),c=n(r(591)),f=n(r(86)),p=n(r(77)),m=n(r(49)),h=n(r(35)),v=r(412),g=r(36),_=r(575),b=n(r(233)),y=n(r(417)),I=r(582),A=r(1241);class S extends A.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{id:t}=this.item,{subnet:a}=e,r=a.selectedRowKeys[0];return this.store.disconnectSubnet({id:t,subnetId:r})}))}init(){this.store=new _.RouterStore,this.networkStore=b.default,this.subnetStore=y.default,this.portStore=new I.PortStore,this.getSubnetList(),this.state.subnetLoading=!0}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("disconnect subnet")}getSubnetList(){var e=this;return(0,m.default)((function*(){var t,a,r,{id:i}=e.item;yield e.portStore.fetchList({device_id:i});var n=[],p=[],m=["network:router_interface_distributed","network:router_interface","network:ha_router_replicated_interface"];(0,l.default)(t=(0,g.toJS)(e.portStore.list.data||[])).call(t,(e=>{var t;(0,o.default)(m).call(m,e.device_owner)>-1&&(p.push(e.network_id),(0,l.default)(t=e.fixed_ips).call(t,(e=>{n.push(e.subnet_id)})))}));var h=yield s.default.all((0,d.default)(a=(0,u.default)(new c.default(n))).call(a,(t=>e.subnetStore.fetchDetail({id:t})))),v=yield s.default.all((0,d.default)(r=(0,u.default)(new c.default(p))).call(r,(t=>e.networkStore.fetchDetail({id:t}))));(0,l.default)(h).call(h,(e=>{var t=(0,f.default)(v).call(v,(t=>t.id===e.network_id));e.network=t})),e.setState({subnets:(0,d.default)(h).call(h,(e=>(0,g.toJS)(e))),subnetLoading:!1})}))()}get formItems(){var{subnets:e=[],subnetLoading:a}=this.state;return[{name:"name",label:t("Name"),type:"label",iconType:"router"},{name:"subnet",label:t("Subnet"),type:"select-table",data:e,isLoading:a,required:!0,filterParams:[{label:t("Name"),name:"name"}],columns:[{title:t("Name"),dataIndex:"name"},{title:t("Network"),dataIndex:"network",render:e=>e&&e.name||"-"},{title:t("Cidr"),dataIndex:"cidr"},{title:t("Allocation Pools"),dataIndex:"allocation_pools",render:e=>{var t;return e&&0!==e.length?(0,p.default)(t="".concat(e[0].start," -- ")).call(t,e[0].end):"-"}},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]}]}}a.DisconnectSubnet=S,(0,h.default)(S,"id","disconnect-subnet"),(0,h.default)(S,"title",t("Disconnect Subnet")),(0,h.default)(S,"policy","remove_router_interface"),(0,h.default)(S,"allowed",(()=>s.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3856:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>(null==e?void 0:e.external_gateway_info)&&!e.external_gateway_info.enable_snat)),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!0}};return s.default.edit({id:t},r)}))}get id(){return"enable-snat"}get title(){return t("Enable SNAT")}get actionName(){return t("Enable SNAT")}}a.default=d},3857:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(575));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["update_router","update_router:external_gateway_info","update_router:external_gateway_info:network_id","update_router:external_gateway_info:enable_snat"]),(0,l.default)(this,"allowedCheckFunc",(e=>{var t;return null==e||null===(t=e.external_gateway_info)||void 0===t?void 0:t.enable_snat})),(0,l.default)(this,"onSubmit",(e=>{var{id:t,external_gateway_info:{network_id:a}}=e,r={external_gateway_info:{network_id:a,enable_snat:!1}};return s.default.edit({id:t},r)}))}get id(){return"disable-snat"}get title(){return t("Disable SNAT")}get actionName(){return t("Disable SNAT")}}a.default=d},3858:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FloatingIpDetail=void 0;var l=n(r(1314)),o=r(412),s=n(r(1243)),d=r(1273),u=r(346),c=r(1393),f=n(r(1606)),p=n(r(3859)),m=n(r(3860));class h extends s.default{get name(){return t("floating ip")}get policy(){return"get_floatingip"}get listUrl(){return this.getRoutePath("fip")}get actionConfigs(){return this.isAdminPage?f.default.adminConfigs:f.default.actionConfigs}get detailInfos(){return[{title:t("Floating IP"),dataIndex:"floating_ip_address"},{title:t("Status"),dataIndex:"status",valueMap:d.floatingIpStatus},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:p.default}];return(0,c.enablePFW)()&&(0,l.default)(this.detailData.fixed_ip_address)&&e.push({title:t("Port Forwardings"),key:"port_forwarding",component:m.default}),e}init(){this.store=new u.FloatingIpStore}}a.FloatingIpDetail=h;var v=(0,o.inject)("rootStore")((0,o.observer)(h));a.default=v},3859:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(77)),m=f(r(35)),h=r(412),v=r(346),g=f(r(1249));function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t{var{router_id:e}=this.props.detail;e&&this.store.getAddInfo({router_id:e}).catch(this.catch)}))}init(){this.store=new v.FloatingIpStore}get isLoading(){var{router_id:e}=this.props.detail;return!!e&&this.store.isLoading}get detailData(){return b(b({},this.props.detail),{},{router_name:this.store.addInfo.name,network_name:this.store.addInfo.externalNetworkName})}get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Fixed IP"),dataIndex:"fixed_ip_address"},{label:t("Network Line"),dataIndex:"network_name"},{label:t("Router"),dataIndex:"router_id",render:(e,t)=>{if(e){var a,{router_name:r,network_name:i}=t;if("-"===r&&"-"===i)return e;var n=r?(0,p.default)(a="".concat(e," (")).call(a,r,")"):e;return this.getLinkRender("routerDetail",n,{id:e})}return"-"}}];return{title:t("Base Info"),options:e}}}a.BaseDetail=y;var I=(0,h.inject)("rootStore")((0,h.observer)(y));a.default=I},3860:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.PortForwarding=void 0;var p=f(r(164)),m=f(r(58)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(615),b=r(163),y=r(1273),I=f(r(3861));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class S extends g.default{constructor(){super(...arguments),(0,h.default)(this,"updateFetchParams",(e=>{var{id:t,all_projects:a}=e,r=(0,m.default)(e,["id","all_projects"]);return function(e){for(var t=1;t[{title:t("ID"),dataIndex:"id"},{title:t("External Port/Port Range"),dataIndex:"external_port",splitColumnForDownload:!1,render:(e,t)=>e||t.external_port_range},{title:t("Internal Ip Address"),dataIndex:"internal_ip_address",isHideable:!0},{title:t("Internal Port/Port Range"),dataIndex:"internal_port",splitColumnForDownload:!1,isHideable:!0,render:(e,t)=>e||t.internal_port_range},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,valueMap:y.portForwardingProtocols},{title:t("Description"),dataIndex:"description",isHideable:!0}]))}init(){this.store=new _.PortForwardingStore}get policy(){return"get_floatingip_port_forwarding"}get name(){return t("port forwardings")}get isFilterByBackend(){return!1}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return[{label:t("Protocol"),name:"protocol",options:(0,b.getOptions)(y.portForwardingProtocols)},{label:t("External Port/Port Range"),name:"external_port",filterFunc:(e,t,a)=>{var r,i,{external_port:n,external_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Internal Ip Address"),name:"internal_ip_address",filterFunc:(e,t)=>(0,p.default)(e).call(e,t)},{label:t("Internal Port/Port Range"),name:"internal_port",filterFunc:(e,t,a)=>{var r,i,{internal_port:n,internal_port_range:l}=a||{};return(0,p.default)(r="".concat(n||"")).call(r,t)||(0,p.default)(i="".concat(l||"")).call(i,t)}},{label:t("Description"),name:"description"}]}}a.PortForwarding=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3861:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1467)),l=i(a(3862)),o=i(a(3863)),s={actionConfigs:{rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:o.default},batchActions:[],primaryActions:[]}};t.default=s},3862:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(29)),m=f(r(54)),h=f(r(164)),v=f(r(86)),g=f(r(431)),_=f(r(58)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(615)),S=f(r(572)),w=r(1267),x=r(1273),P=r(1258),C=r(1467);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tA.default.edit({fipId:this.fipId,id:this.item.id},e))),(0,y.default)(this,"checkPortUsedBase",((e,t,a,r)=>{var{external_port:i,internal_port:n,external_port_range:l,internal_port_range:o}=e,s="external"===t?l:o;if(s){var[d,u]=this.getRangeFromString(s);return a>=d&&a<=u&&e.protocol===r}var c="external"===t?i:n;return this.item.id!==e.id&&a===c&&e.protocol===r})),(0,y.default)(this,"checkPortUsedInternal",((e,t)=>{if(!e)return!1;var a=this.formRef.current.getFieldsValue(["virtual_adapter","fixed_ip_address"]),r=a.fixed_ip_address.selectedRows[0].fixed_ip_address,i=a.virtual_adapter.selectedRows[0].id;return this.item.id!==t.id&&t.internal_port_id===i&&t.internal_ip_address===r}))}get name(){return t("Edit Port Forwarding")}get instanceName(){var{floating_ip_address:e}=this.item;return(0,x.getPortForwardingName)(this.item,e)}get tips(){return""}get fipId(){return this.item.fip.id}getExtraInfo(){w.getCanReachSubnetIdsWithRouterIdInComponent.call(this,(e=>{var{item:{fip:t}}=this;return e.external_gateway_info&&e.external_gateway_info.network_id===t.floating_network_id})).then((()=>{this.getInitialPortFixedIPs()}))}getInitialPortFixedIPs(){var e=this;return(0,b.default)((function*(){e.setState({fixedIpLoading:!0});var{internal_port_id:t,internal_ip_address:a}=e.item,r=yield S.default.fetchDetail({id:t});return e.handlePortSelect({selectedRows:[r]}).then((t=>{var i=(0,p.default)(t).call(t,(e=>e.fixed_ip_address===a)),n={selectedRowKeys:(0,m.default)(i).call(i,(e=>e.id)),selectedRows:i};return e.updateFormValue("virtual_adapter",{selectedRowKeys:[r.id],selectedRows:[r]}),n})).then((t=>{e.setState({fixed_ip_address:t})}))}))()}get defaultValue(){var e=this.item,{floating_ip_address:t,fip:a,internal_port_id:r,internal_ip_address:i}=e;return D({floatingIp:t,virtual_adapter:{selectedRowKeys:[r]},fixed_ip_address:{selectedRowKeys:[i],selectedRows:[{fixed_ip_address:i}]}},(0,_.default)(e,["floating_ip_address","fip","internal_port_id","internal_ip_address"]))}getSubmitData(e){var t,a,{floatingIp:r,virtual_adapter:{selectedRows:i=[]}={},fixed_ip_address:{selectedRows:n=[]}={},external_port:l,internal_port:o}=e,s=D({},(0,_.default)(e,["floatingIp","virtual_adapter","fixed_ip_address","external_port","internal_port"]));return(0,h.default)(t=l.toString()).call(t,":")?s.external_port_range=l:s.external_port=l,(0,h.default)(a=o.toString()).call(a,":")?s.internal_port_range=o:s.internal_port=o,s.internal_ip_address=n[0].fixed_ip_address,s.internal_port_id=i[0].id,s}get formItems(){var e=super.formItems;if(this.supportRange)return e;var a=(0,v.default)(e).call(e,(e=>"external_port"===e.name)),r=(0,v.default)(e).call(e,(e=>"internal_port"===e.name));a.label=t("External Port"),r.label=t("Internal Port");var i={type:"input-int",min:1,max:65535,extra:t("Enter an integer value between 1 and 65535."),hasRequiredCheck:!0};return(0,g.default)(a,i,{placeholder:t("Please input {label}",{label:a.label})}),(0,g.default)(r,i,{placeholder:t("Please input {label}",{label:r.label})}),e}}a.Edit=k,(0,y.default)(k,"id","edit"),(0,y.default)(k,"title",t("Edit")),(0,y.default)(k,"policy","update_floatingip_port_forwarding"),(0,y.default)(k,"allowed",(()=>!0));var R=(0,I.inject)("rootStore")((0,I.observer)(k));a.default=R},3863:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(615)),d=r(1273);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_floatingip_port_forwarding"),(0,l.default)(this,"getItemName",(e=>(0,d.getPortForwardingName)(e,e.floating_ip_address))),(0,l.default)(this,"onSubmit",(e=>{var{fip:t,id:a}=e,r=t.id;return s.default.delete({floatingipId:r,id:a})}))}get id(){return"delete"}get title(){return t("Delete Port Forwarding")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete port forwarding")}}a.default=u},3864:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Topology=a.errorStrokeColor=a.errorShadowColor=a.activeShadowColor=void 0;var p=f(r(164)),m=f(r(28)),h=f(r(422)),v=f(r(91)),g=f(r(54)),_=f(r(77)),b=f(r(29)),y=f(r(345));r(347);var I=f(r(348));r(1280);var A=f(r(1281));r(583);var S=f(r(420));r(231);var w=f(r(341)),x=f(r(1584)),P=f(r(49)),C=f(r(35)),E=f(r(0)),D=(r(161),f(r(3865))),k=f(r(3866)),R=(r(564),r(412)),N=f(r(233)),j=r(3867),M=f(r(1388)),T=r(565),B=r(36),F=r(571),L=f(r(1471)),O=f(r(1633)),Q=f(r(1628)),q=f(r(1304)),V=f(r(3869)),H=f(r(1634));function U(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function K(e){for(var t=1;t{G.on("node:mouseenter",(e=>{var t,{item:a}=e,{nodeType:r}=a._cfg.model;if((0,p.default)(t=["router","ins","lb"]).call(t,r)){var i,n=G.findAllByState("node","hover");(0,m.default)(n).call(n,(e=>{G.setItemState(e,"hover",!1)})),G.setItemState(a,"hover",!0);var l=G.findAllByState("edge","hover");(0,m.default)(l).call(l,(e=>{G.setItemState(e,"hover",!1),G.updateItem(e,{style:{stroke:e._cfg.target._cfg.model.style.stroke}})}));var o=a._cfg.model.style.stroke;(0,m.default)(i=a._cfg.edges).call(i,(e=>{G.setItemState(e,"hover",!0),G.updateItem(e,{style:{stroke:o}})}))}}))})),(0,C.default)(this,"updateGraph",(()=>{G&&(G.clear(),G.destroy(),G=null),this.setState({firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,withoutServerData:null,allData:null,showAll:!0}),this.initTopo()})),(0,C.default)(this,"renderRouterNode",((e,t)=>{var{routers:a}=this.topoInfo,r=[];if((0,m.default)(a).call(a,((a,i)=>{var{id:n,external_gateway_info:l,subnets:o,name:s}=a,d=(0,h.default)((t/10*i+t/20*3).toFixed(0));if(r.push({nodeCardX:d,nodeCardY:190}),e.nodes.push({id:n,x:d,y:190,type:"rect",nodeType:"router",infoIndex:i,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"ACTIVE"===a.status?globalCSS.successColor:Z,shadowColor:"ACTIVE"===a.status?J:W,shadowBlur:"ACTIVE"===a.status?5:4},anchorPoints:[[.5,0]]}),null!==l&&e.edges.push({id:"edge-".concat(s,"-ext"),target:"extNet",targetAnchor:1,source:n,sourceAnchor:0,type:"arrowLine",style:{stroke:j.subnetsColors[0][0]}}),0!==o.length){var u=0;(0,m.default)(o).call(o,(t=>{var a,r,i=(0,v.default)(a=(0,g.default)(r=e.subnetNodes).call(r,(e=>e.id))).call(a,t);if(-1!==i){var l,{style:{stroke:o}}=e.subnetNodes[i];u+=1,e.edges.push({id:(0,_.default)(l="edge-".concat(s,"-")).call(l,t),target:t,targetAnchor:0,source:n,sourceAnchor:u,type:"arrowLine",style:{stroke:o}})}})),e.nodes[e.nodes.length-1].anchorPoints=this.getAnchorPoints(1,u)}})),r[0]){var i=r[r.length-1].nodeCardX,{extendWidth:n}=this.state;if(i>=t-5){var l=Math.ceil((i-(t-5))/(t/10));this.setState({extendWidth:n+l*(t/10)})}this.setState({nodeCard:r})}})),(0,C.default)(this,"renderNetworkNode",((e,t)=>{var{subnets:a,networks:r}=this.topoInfo,{extendWidth:i}=this.state;e.subnetNodes=[],(0,m.default)(r).call(r,(r=>{if(!(0,F.isExternalNetwork)(r)){var n,l=[],{firstSubnetY:o}=this.state;(0,m.default)(n=r.subnets).call(n,(e=>{(0,m.default)(a).call(a,(t=>{t.id===e&&l.push(t)}))}));var s=o+32*l.length+60;(0,m.default)(l).call(l,((a,n)=>{var l=j.subnetsColors[0],d=l[n%l.length];e.subnetNodes.push({id:a.id,label:a.name,labelCfg:{position:"right",offset:-t/2,style:{fill:"#000000"}},type:"rect",x:t/2,y:o+32*n,cardY:s,anchorPoints:[[.5,0],[.5,1]],comboId:r.id,style:{radius:4,fill:d,stroke:d,width:t+i-50,height:20},pools:a.allocation_pools,networkId:a.network_id})})),0!==l.length&&(this.setState({firstSubnetY:e.subnetNodes[e.subnetNodes.length-1].y+200}),e.combos.push({id:r.id,label:r.name,type:"rect",size:[t-40,30],style:{fill:j.combosBackground[0],stroke:j.combosColors[0],radius:4},labelCfg:{refY:1,position:"top",style:{fontSize:12}}}))}}))})),(0,C.default)(this,"renderInstanceNode",((e,a)=>{var{servers:r,subnets:i,extNetwork:n}=this.topoInfo,l=[];(0,m.default)(r).call(r,((r,o)=>{var s,{fixed_addresses:d,fixed_networks:u}=r,c=(0,h.default)((a/10*2).toFixed(0)),f=null,p=0,g=[];(0,m.default)(n).call(n,(e=>g.push(...(0,B.toJS)(e.subnets))));var y=(0,b.default)(i).call(i,(e=>-1!==(0,v.default)(g).call(g,e.id)));if(!d[0]){var{insCard:I}=this.state;f=e.subnetNodes[0].cardY,(0,m.default)(I).call(I,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),Math.round(c)>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+(0,h.default)((a/10).toFixed(0))})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}var A=0;(0,m.default)(d).call(d,(i=>{var n,s=null,d=0;if((0,m.default)(y).call(y,(e=>{var t;(0,m.default)(t=e.allocation_pools).call(t,(e=>{z(i,e.start,e.end)&&(s="extNet",d=0)}))})),(0,m.default)(n=e.subnetNodes).call(n,((e,t)=>{var a;-1!==(0,v.default)(u).call(u,e.networkId)&&(0,m.default)(a=e.pools).call(a,(a=>{z(i,a.start,a.end)&&(s=e.id,d=t)}))})),e.nodes[e.nodes.length-1].id!==r.id&&s){var{insCard:g}=this.state;f=e.subnetNodes[d].cardY,(0,m.default)(g).call(g,(e=>{e[0]===c&&e[1]===f&&(c+=(0,h.default)((a/10).toFixed(0))),c>=a+this.state.extendWidth&&this.setState((e=>({extendWidth:e.extendWidth+a/10})))})),l.push([c,f]),e.nodes.push({id:r.id,x:c,y:f,type:"rect",nodeType:"ins",infoIndex:o,size:[66,56],style:{radius:4,fill:"#FFFFFFFF",stroke:"active"===r.vm_state?globalCSS.successColor:Z,shadowColor:"active"===r.vm_state?J:W,shadowBlur:"active"===r.vm_state?5:4}})}s&&function(){var n,{style:{stroke:o}}=e.subnetNodes[d],u=e.subnetNodes[d].y;ue.source!==r.id&&e.linePath&&e.linePath.source_x===c&&e.topAnchorNum===p&&(e.linePath.source_y>=f&&e.linePath.target_y<=u||e.linePath.source_y<=f&&e.linePath.target_y>=u))),I=(0,b.default)(g=e.nodes).call(g,(e=>e.x===c&&e.y===f&&e.id!==r.id));if(0===y.length&&0===I.length)break;c+=(0,h.default)((a/10).toFixed(0)),e.nodes[e.nodes.length-1].x=c,l[l.length-1]=[c,f],Math.round(c)>=a+t.state.extendWidth&&t.setState((e=>({extendWidth:e.extendWidth+a/10})))}e.edges.push({id:(0,_.default)(n="edge-".concat(r.id,"-")).call(n,i),target:s,targetAnchor:u>f?0:1,source:r.id,sourceAnchor:A,type:"arrowLine",topAnchorNum:p,style:{stroke:o},linePath:{source_x:c,source_y:f,target_y:u}}),A+=1}()}));var S=this.getAnchorPoints(p,A-p),w=(0,b.default)(s=e.edges).call(s,(e=>e.source===r.id));(0,m.default)(w).call(w,((e,t)=>{"extNet"===e.target&&1===S[t][1]&&([S[t],S[p-1]]=[S[p-1],S[t]])})),e.nodes[e.nodes.length-1].anchorPoints=S,this.setState({insCard:l})}))})),(0,C.default)(this,"getAnchorPoints",((e,t)=>{var a=[];return e>0&&a.push(...(0,F.getAnchorData)(e,0)),t>0&&a.push(...(0,F.getAnchorData)(t,1)),a})),(0,C.default)(this,"renderG6",(()=>{D.default.registerEdge("arrowLine",{draw(e,t){var{endPoint:a,startPoint:r}=e,i=e.style.stroke;return t.addShape("path",{attrs:{path:[["M",r.x,r.y],["L",r.x,a.y]],endArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},startArrow:{path:D.default.Arrow.vee(4,8,-4),d:1},stroke:i||"#C8DEFF",lineWidth:2},name:"path-shape"}),t}});var e=document.getElementById("container").scrollWidth,t={nodes:[{id:"networkImage",x:e/2,y:50,img:k.default,type:"image",size:56,clipCfg:{show:!1,type:"circle",r:15}},{id:"extNet",type:"rect",label:"extNetwork",labelCfg:{position:"right",offset:-e/2,style:{fill:"#000000"}},x:e/2,y:100,anchorPoints:[[.5,0],[0,1]],style:{radius:4,fill:"#FFFFFFFF",stroke:j.subnetsColors[0][0],width:e-10,height:20}}],edges:[{id:"edge3",target:"networkImage",source:"extNet",style:{startArrow:{path:D.default.Arrow.vee(4,6,-1),d:2},lineWidth:1,stroke:j.subnetsColors[0][0]}}],combos:[]},{servers:a}=this.topoInfo;if(a){t=G.cfg.data,this.renderRouterNode(t,e),this.extendNetworkWidth(t,e);var r=JSON.parse((0,y.default)(t));this.setState({withoutServerData:r}),this.renderInstanceNode(t,e),this.extendNetworkWidth(t,e);var i=JSON.parse((0,y.default)(t));this.setState({allData:i})}else this.renderNetworkNode(t,e),this.extendNetworkWidth(t,e);G&&(G.clear(),G.destroy());var{firstSubnetY:n,extendWidth:l}=this.state;(G=new D.default.Graph({container:"container",width:e+l,height:n,nodeStateStyles:{hover:{lineWidth:3}}})).data(t),G.render(),this.bindEvents(),this.setState({loading:!1})})),(0,C.default)(this,"extendNetworkWidth",((e,t)=>{var{subnetNodes:a,nodes:r}=e,{extendWidth:i}=this.state;i>0&&((0,m.default)(a).call(a,(e=>{e.style.width=t-50+i,e.x=(t+i)/2,e.labelCfg.offset=-(t+i)/2})),r[1].style.width=t+i-10,r[0].x=(t+i)/2,r[1].labelCfg.offset=-(t+i)/2,r[1].x=(t+i)/2),a&&a[0]&&(e.nodes=(0,_.default)(r).call(r,a))})),(0,C.default)(this,"onCheckChange",(()=>{var{firstSubnetY:e,extendWidth:t,showAll:a,withoutServerData:r,allData:i}=this.state,n=document.getElementById("container").scrollWidth,l=!a;this.setState({showAll:l});var o=n+t;l||(o=n-t),G.clear(),G.destroy(),G=null,(G=new D.default.Graph({container:"container",width:o,height:e,nodeStateStyles:{hover:{lineWidth:3}}})).data(l?i:r),G.render(),this.bindEvents()})),this.init(),this.state={firstSubnetY:290,nodeCard:[],lbCard:[],insCard:[],extendWidth:0,loading:!0,showAll:!0,withoutServerData:null,allData:null}}componentDidMount(){}get topoInfo(){return this.store.topology}initNetwork(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopoNetwork(K(K({},e.props.match.params),{},{metrics:!0})),e.renderG6()}))()}initAll(){var e=this;return(0,P.default)((function*(){yield e.store.fetchTopo(K(K({},e.props.match.params),{},{metrics:!0})),e.topoInfo.networks&&e.renderG6()}))()}initTopo(){this.initNetwork(),this.initAll()}init(){this.store=N.default,G=null,this.initTopo()}render(){var{nodeCard:e,insCard:a,loading:r,showAll:i}=this.state,{topology:n}=this.store;return E.default.createElement("div",{className:L.default.main},E.default.createElement("div",{style:{marginBottom:16,marginTop:16,marginLeft:16}},E.default.createElement(M.default,{primaryActions:[O.default]},t("create router")),E.default.createElement(M.default,{primaryActions:[Q.default]},t("Create Network")),E.default.createElement(M.default,{primaryActions:[q.default]},t("Create Instance")),E.default.createElement(w.default,{type:"primary",shape:"circle",style:{marginLeft:16},onClick:()=>this.updateGraph(),icon:E.default.createElement(x.default,null)}),E.default.createElement(S.default,{onChange:()=>this.onCheckChange(),checked:i},t("Show Instance"))),E.default.createElement(I.default,{spinning:r},E.default.createElement(A.default,{style:{margin:16},id:"card",className:L.default.container},E.default.createElement("div",{id:"container"},n&&(0,g.default)(e).call(e,((e,t)=>E.default.createElement(H.default,{key:t,x:e.nodeCardX,y:e.nodeCardY,data:this.topoInfo,infoIndex:t}))),i?n&&(0,g.default)(a).call(a,((e,t)=>E.default.createElement(V.default,{key:t,x:e[0],y:e[1],data:this.topoInfo,infoIndex:t}))):null))))}}a.Topology=X;var Y=(0,R.inject)("rootStore")((0,R.observer)(X));a.default=Y},3866:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/cloud.1733828928.png"},3867:function(e,t,a){"use strict";a(20)(t,"__esModule",{value:!0}),t.subnetsColors=t.combosColors=t.combosBackground=void 0;t.combosBackground=["rgba(0,104,255,0.05)","rgba(94,246,255,0.08)","rgba(236,220,255,0.08)","rgba(255,255,240,0.3)"];t.combosColors=["#9AC3FF","#A5FFF0","#ECDCFF","#FFFF00"];t.subnetsColors=[["#9AC3FF","#4C95FF","#0068FF","#0080FF","#0066CC","#0000FF"],["#CCF2EC","#92DACF","#46B1A5","#CCF2EC","#92DACF","#46B1A5"],["#ECDCFF","#D6B3FF","#BA80FF","#ECDCFF","#D6B3FF","#BA80FF"],["#FFFACD","#FFFF00","#FFD700","#FFFACD","#FFFF00","#FFD700"]]},3868:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,".index__node-tooltips--1M7su {\n position: absolute;\n}\n.index__node-tooltips--1M7su .ant-card-body {\n padding: 15px;\n}\n.index__image-icon--2ABo6 {\n width: 15px;\n height: 15px;\n margin-right: 2px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-item-label {\n width: 80px;\n}\n.index__descriptions-item--iUKkb .ant-descriptions-row > th,\n.index__descriptions-item--iUKkb .ant-descriptions-row > td {\n padding-bottom: 8px;\n}\n.index__node-card-title--3zjAj {\n font-size: 16px;\n}\n.index__card-button--1hPxO .ant-btn-primary {\n margin-right: 6px;\n}\n.index__main--2dSfi {\n height: 100%;\n}\n.index__main--2dSfi .ant-btn-primary {\n margin-right: 16px;\n}\n.index__container--3ea1Q {\n height: calc(100vh - 170px);\n overflow-y: auto;\n}\n",""]),t.locals={"node-tooltips":"index__node-tooltips--1M7su","image-icon":"index__image-icon--2ABo6","descriptions-item":"index__descriptions-item--iUKkb","node-card-title":"index__node-card-title--3zjAj","card-button":"index__card-button--1hPxO",main:"index__main--2dSfi",container:"index__container--3ea1Q"}},3869:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54));r(589);var o=n(r(590));r(1384);var s=n(r(1385)),d=n(r(35)),u=n(r(0)),c=(r(161),r(1248)),f=n(r(3870)),p=n(r(597)),m=r(204),h=n(r(1471)),v=n(r(1634));class g extends v.default{constructor(e){super(e),(0,d.default)(this,"detailButtons",(()=>{var{data:{servers:e},infoIndex:a}=this.props,{status:r}=e[a];return[..."SHUTOFF"===r?[{name:t("Power On"),click:null}]:[{name:t("Power Off"),click:null}],{name:t("Associate IP"),click:null},{name:t("Add network"),click:null},{name:t("VNC"),click:null},{name:t("Delete"),type:"danger",click:null}]})),this.state={}}get detailInfos(){return[{title:t("Name"),dataIndex:"name",width:100,render:(e,t)=>e?u.default.createElement(m.Link,{to:"/compute/instance/detail/".concat(t.id)},e):"-"},{title:t("UUID"),dataIndex:"id"},{title:t("Status"),dataIndex:"status",isHideable:!0,render:e=>c.instanceStatus[e&&e.toLowerCase()]||"-"},{title:t("Image"),dataIndex:"image_os_distro",isHideable:!0,render:(e,t)=>u.default.createElement(p.default,{type:e,title:t.image_name}),stringify:(e,t)=>t.image_name},{title:t("Fixed IP"),dataIndex:"fixed_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-",stringify:e=>e.join(",")||"-"},{title:t("Floating IP"),dataIndex:"floating_addresses",isHideable:!0,width:120,render:e=>e.length?(0,l.default)(e).call(e,(e=>u.default.createElement("span",{key:e},e,u.default.createElement("br",null)))):"-"}]}render(){var{x:e,y:a}=this.props,{data:{servers:r},infoIndex:i}=this.props,n=r[i];return u.default.createElement("div",{className:h.default["node-tooltips"],style:{top:"".concat(a,"px"),left:"".concat(e-8,"px")}},u.default.createElement(o.default,{placement:"rightTop",content:this.renderCard(435,n),title:this.renderTitle(t("Instance"),n.name)},u.default.createElement("div",{style:{textAlign:"center",width:"66px",height:"50px",overflow:"hidden"}},u.default.createElement(s.default,{src:f.default,shape:"square",size:28}),u.default.createElement("div",null,n.name))))}}a.default=g},3870:function(e,t,a){"use strict";a.r(t),t.default="data:image/png;base64,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"},3871:function(e,t,a){"use strict";a.r(t),t.default=a.p+"asset/image/router.1733828928.png"},3872:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RouterDetail=void 0;var l=r(412),o=r(575),s=n(r(1243)),d=r(1267),u=n(r(3873)),c=n(r(3874)),f=n(r(3875)),p=n(r(1632));class m extends s.default{get name(){return t("router")}get policy(){return"get_router"}get listUrl(){return this.getRoutePath("router")}get actionConfigs(){return this.isAdminPage?p.default.adminConfigs:p.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"status",valueMap:d.routerStatus},{title:t("Admin State"),dataIndex:"admin_state_up",render:e=>(0,d.getRouterState)(e)||"-"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Ports"),key:"ports",component:c.default},{title:t("Static Routes"),key:"staticRoutes",component:f.default}]}init(){this.store=new o.RouterStore}}a.RouterDetail=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3873:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.aZoneCard]}get rightCards(){return[this.externalNetInfo]}get externalNetInfo(){var e=[{label:t("Network Name"),dataIndex:"externalNetworkName"},{label:t("Network ID"),dataIndex:"externalNetworkId"},{label:t("SNAT Enabled"),dataIndex:"external_gateway_info.enable_snat",valueRender:"yesNo"},{label:t("External Fixed IPs"),dataIndex:"external_gateway_info.external_fixed_ips",render:e=>e&&0!==e.length?(0,l.default)(e).call(e,((e,a)=>o.default.createElement("div",{key:"ip-".concat(a)},o.default.createElement("div",{key:e.subnet_id},o.default.createElement("b",null,t("Subnet ID")),": ",e.subnet_id),o.default.createElement("div",{key:e.ip_address},o.default.createElement("b",null,t("IP Address")),": ",e.ip_address),o.default.createElement("div",{style:{marginBottom:"8px"}})))):"-"}];return{title:t("External Network Info"),options:e,labelCol:4}}get aZoneCard(){var e=[{label:t("Current Availability Zones"),dataIndex:"availability_zones",render:e=>(e||[]).join(",")||"-"},{label:t("Availability Zone Hints"),dataIndex:"availability_zone_hints",render:e=>(e||[]).join(",")||"-"}];return{title:t("Availability Zone Info"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3874:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(54)),m=f(r(58)),h=f(r(49)),v=f(r(35)),g=f(r(0)),_=r(412),b=f(r(1242)),y=r(1258),I=r(582),A=r(163);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){super(...arguments),(0,v.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("routerPortDetail"),routeParamsFunc:e=>({routerId:this.id,id:e.id})},{title:t("IP Address"),dataIndex:"fixed_ips",isHideable:!0,render:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>g.default.createElement("div",{key:e.ip_address},e.ip_address))):"-",stringify:e=>e&&0!==e.length?(0,p.default)(e).call(e,(e=>e.ip_address)).join(","):"-"},{title:t("Mac Address"),dataIndex:"mac_address",isHideable:!0},{title:t("Associated Resources"),dataIndex:"device_owner",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=new I.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,h.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,m.default)(a,["silent"]);r&&(t.list.silent=!0);var{id:n}=t.props.match.params,{tab:l}=i,f=(0,m.default)(i,["tab"]);t.fetchListWithTry((0,h.default)((function*(){yield t.store.fetchList(function(e){for(var t=1;t[{title:t("Destination CIDR"),dataIndex:"destination"},{title:t("Next Hop"),dataIndex:"nexthop",isHideable:!0}]))}init(){this.store=d.default}get policy(){return"get_router"}get name(){return t("static routers")}get actionConfigs(){return this.isAdminPage?u.default.actionConfigsAdmin:u.default.actionConfigs}get searchFilters(){return[]}}a.StaticRouters=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3876:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3877)),l=i(a(3878)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[]}};t.default=o},3877:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=n(r(623)),u=r(1241);class c extends u.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",((e,t)=>{var{match:{params:{id:a}={}}={}}=t,r=[e];return this.store.addStaticRoute({id:a,routes:r})}))}init(){this.store=d.default}get name(){return t("Create static route")}get defaultValue(){return{}}get messageHasItemName(){return!1}get formItems(){return[{name:"destination",label:t("Destination CIDR"),type:"input",required:!0},{name:"nexthop",label:t("Next Hop"),type:"input",required:!0}]}}a.Create=c,(0,o.default)(c,"id","create"),(0,o.default)(c,"title",t("Create Static Route")),(0,o.default)(c,"policy","update_router"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3878:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(35)),s=r(1241),d=n(r(623));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_router"),(0,o.default)(this,"getItemName",(e=>{var t,{destination:a,nexthop:r}=e;return(0,l.default)(t="".concat(a,"(")).call(t,r,")")})),(0,o.default)(this,"onSubmit",(e=>{var{destination:t,nexthop:a,router_id:r}=e,i=[{destination:t,nexthop:a}];return d.default.removeStaticRoute({id:r,routes:i})}))}get id(){return"delete"}get title(){return t("Delete Static Route")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete static route")}}a.default=u},3879:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(177)),d=n(r(0)),u=r(412),c=n(r(1249));class f extends c.default{get leftCards(){var e=[this.portInfo],{dns_assignment:t=[],fixed_ips:a=[],deviceOwner:r={}}=this.detailData;return t.length>0&&e.push(this.dnsAssignment),a.length>0&&e.push(this.fixedIps),r&&this.isAdmin&&e.push(this.deviceOwner),e.push(this.binding),e}get portInfo(){var e=[{label:t("Network Name"),dataIndex:"network_name"},{label:t("Network ID"),dataIndex:"network_id"},{label:t("MAC Address"),dataIndex:"mac_address"},{label:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{label:t("DNS Name"),dataIndex:"dns_name",hidden:!this.isAdmin}];return this.detailData.mac_state&&e.push({label:t("MAC Learning State"),dataIndex:"mac_state"}),this.detailData.qos_policy_id&&e.push({label:t("QoS Policy ID"),dataIndex:"qos_policy_id"}),{title:t("Port Info"),options:e}}get dnsAssignment(){var e=this.detailData.dns_assignment[0]||{},{hostname:a,ip_address:r}=e,i=[{label:t("Hostname"),dataIndex:"dns_assignment",render:()=>a},{label:t("IP Address"),dataIndex:"ip_address",render:()=>r}];return{title:t("DNS Assignment"),options:i}}get fixedIps(){var e=this.detailData.fixed_ips[0]||{},{ip_address:a,subnet_id:r}=e,i=[{label:t("IP Address"),dataIndex:"ip_address",render:()=>a},{label:t("Subnet ID"),dataIndex:"subnet_id",render:()=>r}];return{title:t("Fixed IPs"),options:i}}get deviceOwner(){var e=[{label:t("Device Owner"),dataIndex:"device_owner"},{label:t("Device ID"),dataIndex:"device_id"}];return{title:t("Attached Device"),options:e}}get binding(){var e=[{label:t("VNIC Type"),dataIndex:"binding__vnic_type"}];if(this.detailData.binding__host_id){var a=[{label:t("Host"),dataIndex:"binding__host_id"},{label:t("Profile"),dataIndex:"binding__profile",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t),": ",d.default.createElement("b",null,e[t]))))}},{label:t("VIF Type"),dataIndex:"binding__vif_type"},{label:t("VIF Details"),dataIndex:"binding__vif_details",render:e=>{var t;return!e||(0,s.default)(e)?"-":(0,l.default)(t=(0,o.default)(e)).call(t,(t=>d.default.createElement("div",{key:t},d.default.createElement("b",null,t)," ",d.default.createElement("span",null,e[t].toString()))))}}];e=[...e,...a]}return{title:t("Binding"),options:e}}}a.BaseDetail=f;var p=(0,u.inject)("rootStore")((0,u.observer)(f));a.default=p},3880:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PortDetail=void 0;var l=n(r(164)),o=n(r(29)),s=r(412),d=r(572),u=n(r(1243)),c=r(571),f=n(r(3881)),p=n(r(3886)),m=n(r(3890)),h=n(r(3894)),v=n(r(1607));class g extends u.default{get name(){return t("port")}get policy(){return"get_port"}get listUrl(){var{networkId:e,subnetId:t,instanceId:a}=this.params;return this.isSubnetPortDetail?this.getRoutePath("subnetDetail",{id:t,networkId:e},{tab:"ports"}):this.isNetworkPortDetail?this.getRoutePath("networkDetail",{id:e},{tab:"ports"}):this.isInstancePortDetail?this.getRoutePath("instanceDetail",{id:a},{tab:"interface"}):this.getRoutePath("port")}get isSubnetPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"subnet")}get isNetworkPortDetail(){var e;return(0,l.default)(e=this.path).call(e,"networks")&&!this.isSubnetPortDetail}get isInstancePortDetail(){var e;return(0,l.default)(e=this.path).call(e,"instance")}get actionConfigs(){return this.isAdminPage?v.default.adminActions:v.default.actionConfigs}getActionData(){return this.detailData.itemInList||{}}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Status"),dataIndex:"status",valueMap:c.networkStatus},{title:t("Owned Network"),dataIndex:"itemInList.network_name"},{title:t("Network ID"),dataIndex:"network_id"},{title:t("Port Security Enabled"),dataIndex:"port_security_enabled",valueRender:"yesNo"},{title:t("Mac Address"),dataIndex:"mac_address"},{title:t("Description"),dataIndex:"description"}]}get tabs(){var e=[{title:t("Detail"),key:"detail",component:h.default},{title:t("Fixed IPs"),key:"fixed_ips",component:f.default},{title:t("Security Groups"),key:"security_groups",component:p.default},{title:t("Allowed Address Pairs"),key:"allowed_address_pair",component:m.default}],{port_security_enabled:a}=this.detailData;return a?e:(0,o.default)(e).call(e,(e=>"security_groups"!==e.key))}init(){this.store=new d.PortStore}}a.PortDetail=g;var _=(0,s.inject)("rootStore")((0,s.observer)(g));a.default=_},3881:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FixedIP=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(3882),u=n(r(3883));class c extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>0===e.length?"-":e[0].floating_ip_address},{title:t("Owned Subnet"),dataIndex:"subnet",render:e=>e&&e.name||"-"}]))}init(){this.store=new d.FixedIpStore,this.downloadStore=new d.FixedIpStore}get rowKey(){return"ip_address"}get policy(){return"get_port"}get name(){return t("Fixed IP")}get actionConfigs(){return this.isAdminPage?u.default.adminConfigs:u.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Owned Subnet"),name:"subnet",filterFunc:(e,t)=>e.name===t}]}}a.FixedIP=c;var f=(0,o.inject)("rootStore")((0,o.observer)(c));a.default=f},3882:function(e,t,a){"use strict";var r=a(32),i=a(42),n=a(29),l=a(25),o=a(28),s=a(44),d=a(45),u=a(20),c=a(21);u(t,"__esModule",{value:!0}),t.default=t.FixedIpStore=void 0;var f=c(a(350)),p=c(a(591)),m=c(a(54)),h=c(a(63)),v=c(a(28)),g=c(a(35)),_=c(a(49)),b=c(a(58)),y=c(a(233)),I=c(a(346)),A=c(a(50)),S=c(a(53));function w(e,t){var a=r(e);if(i){var o=i(e);t&&(o=n(o).call(o,(function(t){return l(e,t).enumerable}))),a.push.apply(a,o)}return a}function x(e){for(var t=1;t{var{all_projects:t}=e;return(0,b.default)(e,["all_projects"])}}getItemFloatingIPs(e,t){return(0,_.default)((function*(){return I.default.pureFetchList({fixed_ip_address:e,port_id:t})}))()}listDidFetch(e){var t=this;return(0,_.default)((function*(){if(0===e.length)return[];var a=e[0],{fixed_ips:r=[],id:i}=a,n=(0,f.default)(new p.default((0,m.default)(r).call(r,(e=>e.subnet_id)))),l=yield h.default.all((0,m.default)(n).call(n,(e=>y.default.fetchSubnetDetail({id:e})))),o={};(0,v.default)(l).call(l,(e=>{o[e.id]=e}));var s=yield h.default.all((0,m.default)(r).call(r,(e=>t.getItemFloatingIPs(e.ip_address,i))));return(0,m.default)(r).call(r,((e,t)=>x(x({},e),{},{subnet:o[e.subnet_id],fip:s[t],port:a})))}))()}}t.FixedIpStore=P;var C=new P;t.default=C},3883:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3884)),l=i(a(3885)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3884:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AllocateIP=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(572)),p=r(233),m=r(417);class h extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{fixed_ips:t}=e,a=(0,l.default)(t).call(t,(e=>{var t={subnet_id:e.subnet};return e.ip_address&&"manual"===e.ip_address.type&&(t.ip_address=e.ip_address.ip),t}));return f.default.update(this.item,{fixed_ips:[...a,...this.item.fixed_ips]})}))}get name(){return t("Allocate IP")}init(){this.networkStore=new p.NetworkStore,this.subnetStore=new m.SubnetStore,this.getNetworkDetail(this.item.network_id),this.getSubnets(this.item.network_id)}getSubnets(e){var t=this;return(0,s.default)((function*(){var a=yield t.subnetStore.fetchList({network_id:e});t.setState({subnetDetails:a||[]})}))()}getNetworkDetail(e){var t=this;return(0,s.default)((function*(){var a=yield t.networkStore.fetchDetail({id:e});t.updateFormValue("network_name",a.name)}))()}get defaultValue(){return{network_id:this.item.network_id}}get isAllowed(){return!0}static get modalSize(){return"large"}get messageHasItemName(){return!1}get formItems(){var{subnetDetails:e=[]}=this.state;return[{name:"network_id",label:t("Owned Network ID"),type:"label"},{name:"network_name",label:t("Owned Network"),type:"label"},{name:"fixed_ips",label:t("Owned Subnet"),type:"ip-distributor",subnets:e,required:!0}]}}a.AllocateIP=h,(0,d.default)(h,"id","allocate-ip"),(0,d.default)(h,"title",t("Allocate IP")),(0,d.default)(h,"policy","update_port:fixed_ips:ip_address"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3885:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(28)),o=n(r(29)),s=n(r(63)),d=n(r(35)),u=r(1241),c=n(r(572));class f extends u.ConfirmAction{constructor(){super(...arguments),(0,d.default)(this,"getItemName",(e=>e.ip_address)),(0,d.default)(this,"policy","update_port"),(0,d.default)(this,"onSubmit",((e,t,a,r,i)=>{var{port:{id:n,fixed_ips:d=[]}={}}=e,u=d;if(a){if(0!==r)return s.default.resolve();(0,l.default)(i).call(i,(e=>{var{subnet_id:t,ip_address:a}=e;u=(0,o.default)(u).call(u,(e=>e.ip_address!==a||e.subnet_id!==t))}))}else{var{subnet_id:f,ip_address:p}=e;u=(0,o.default)(d).call(d,(e=>e.ip_address!==p||e.subnet_id!==f))}return c.default.update({id:n},{fixed_ips:u})}))}get id(){return"delete"}get title(){return t("Release Fixed IP")}get buttonText(){return t("Release")}get isDanger(){return!0}get actionName(){return t("release fixed ip")}get passiveAction(){return t("be released")}}a.default=f},3886:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroup=void 0;var l=n(r(54));r(347);var o=n(r(348));r(426);var s=n(r(429)),d=n(r(1458));r(585);var u=n(r(587)),c=n(r(343));r(1246);var f=n(r(1247));r(1244);var p=n(r(1245));r(231);var m=n(r(341));r(1300);var h=n(r(1301)),v=n(r(35));r(1468);var g=n(r(1469)),_=n(r(0)),b=r(412),y=r(572),I=(r(161),n(r(1608))),A=r(204),S=n(r(4)),w=r(36),x=(r(564),n(r(1388))),P=n(r(1302)),C=r(354),E=r(163),D=r(567),k=n(r(3887)),R=n(r(3888)),{Panel:N}=g.default;class j extends _.default.Component{constructor(e){super(e),(0,v.default)(this,"refreshSecurityGroup",(()=>{this.store.fetchSecurityGroupsDetail(this.portId)})),this.store=new y.PortStore}componentDidMount(){this.refreshSecurityGroup()}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,D.getPath)({key:t,params:{id:e}})}get portId(){var{detail:{id:e}}=this.props;return e}get isAdminPage(){var{pathname:e}=this.props.location;return(0,E.isAdminPage)(e)}renderPanelTitle(e){var{security_groups:{data:a}}=this.store,r=this.getDetailUrl(e.id);return _.default.createElement(f.default,null,_.default.createElement(p.default,{span:18},_.default.createElement("span",null,t("Security Group")),_.default.createElement(h.default,{type:"vertical",className:R.default["header-divider"]}),_.default.createElement(m.default,{type:"link"},e.name)),_.default.createElement(p.default,{span:6},!this.isAdminPage&&_.default.createElement(_.default.Fragment,null,_.default.createElement(A.Link,{style:{fontSize:12,marginRight:16},to:r},t("Edit Rule"))),!this.isAdminPage&&1!==a.length&&_.default.createElement(_.default.Fragment,null,_.default.createElement(P.default,{actions:{firstAction:k.default},onFinishAction:this.refreshSecurityGroup,item:e,containerProps:this.props},t("Detach")))))}renderPanel(e,t){return _.default.createElement(N,{header:this.renderPanelTitle(e,t),key:t,className:R.default.panel},_.default.createElement(u.default,(0,c.default)({size:"middle",pagination:!1,bordered:!1,rowKey:"id"},this.state,{columns:(0,C.getSelfColumns)(this),dataSource:e.security_group_rules?(0,w.toJS)(e.security_group_rules):null})))}render(){var e,{security_groups:t}=this.store;return _.default.createElement("div",{className:(0,S.default)(R.default.wrapper,this.className)},this.isAdminPage?null:_.default.createElement("div",{style:{marginBottom:20}},_.default.createElement(x.default,{containerProps:this.props,primaryActions:[I.default],onFinishAction:this.refreshSecurityGroup})),_.default.createElement(o.default,{spinning:t.isLoading},t.data&&0!==t.data.length?_.default.createElement(g.default,{className:R.default.collapse,accordion:!0,bordered:!1,expandIcon:e=>{var{isActive:t}=e;return _.default.createElement(d.default,{rotate:t?90:0})}},(0,l.default)(e=t.data).call(e,((e,t)=>this.renderPanel(e,t)))):_.default.createElement(s.default,{image:s.default.PRESENTED_IMAGE_SIMPLE,style:{backgroundColor:"white",padding:"32px 0"}})))}}a.SecurityGroup=j;var M=(0,b.inject)("rootStore")((0,b.observer)(j));a.default=M},3887:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(35)),s=r(1241),d=n(r(572));class u extends s.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","update_port"),(0,o.default)(this,"allowedCheckFunc",(()=>!0)),(0,o.default)(this,"onSubmit",(e=>{var{port:{id:t,security_groups:a=[]}={}}=e,r={security_groups:(0,l.default)(a).call(a,(t=>t!==e.id))};return d.default.update({id:t},r)}))}get id(){return"detach"}get title(){return t("Detach Security Group")}get isDanger(){return!0}get buttonText(){return t("Detach")}get actionName(){return t("detach security group")}}a.default=u},3888:function(e,t,a){var r=a(3889);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:undefined,insertInto:void 0};a(65)(r,i);r.locals&&(e.exports=r.locals)},3889:function(e,t,a){(t=e.exports=a(64)(!1)).push([e.i,"/* init */\n/* specific color */\n/* border */\n/* background */\n/* shadow */\n/* font */\n/* 中号字体 */\n/* animation */\n/* size */\n/* sider */\n/* login */\n.index__wrapper--3LuNN {\n min-height: calc(100vh - 108px);\n padding: 0 16px;\n}\n.index__collapse--3_l12 {\n margin-bottom: 24px;\n overflow: hidden;\n}\n.index__panel--3V7V- {\n margin-bottom: 24px;\n padding-top: 12px;\n padding-bottom: 12px;\n font-size: larger;\n background: #fff;\n}\n.index__header-divider--EyyRf {\n width: 2px;\n margin: 0 5px;\n background-color: rgba(0, 0, 0, 0.45);\n}\n.index__image--XS90m {\n width: 100px;\n padding: 10px;\n}\n.index__radio-button--2oJLs .ant-radio-button-wrapper {\n width: 250px;\n height: 100px;\n margin-right: 40px;\n padding: 15px;\n}\n.index__security-group-text--1Hv_J {\n font-size: 14px;\n}\n",""]),t.locals={primaryColor:"#0068ff",successColor:"#57e39b",warnColor:"#fedf40",warnDarkColor:"#fa8c16",warnLightColor:"#f6b23d",errorColor:"#eb354d",dangerColor:"#c4233e",moneyColor:"#f50",infoColor:"rgba(0, 104, 255, 0.65)",headerHeight:"40px",productsColumnWidth:"230px",wrapper:"index__wrapper--3LuNN",collapse:"index__collapse--3_l12",panel:"index__panel--3V7V-","header-divider":"index__header-divider--EyyRf",image:"index__image--XS90m","radio-button":"index__radio-button--2oJLs","security-group-text":"index__security-group-text--1Hv_J"}},3890:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.AllowedAddressPair=void 0;var p=f(r(54)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(572)),b=f(r(432)),y=f(r(3891));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;tthis.props.detail.allowed_address_pairs)),(0,h.default)(this,"getColumns",(()=>[{title:t("IP Address"),dataIndex:"ip_address"},{title:t("Mac Address"),dataIndex:"mac_address"}]))}init(){this.store=_.default,this.store.setDetail(this.props.detail)}get list(){var e,t=new b.default;this.props.detail.allowed_address_pairs&&t.update({data:(0,p.default)(e=this.props.detail.allowed_address_pairs||[]).call(e,((e,t)=>A(A({},e),{},{id:"port_detail_allowed_address_pair_".concat(t)})))});return t}get isLoading(){return!1}getData(){return(0,m.default)((function*(){}))()}get policy(){return"get_port"}get name(){return t("Allowed Address Pairs")}get actionConfigs(){return this.isAdminPage?y.default.adminConfigs:y.default.actionConfigs}get hideCustom(){return!0}get searchFilters(){return[{label:t("IP Address"),name:"ip_address"},{label:t("Mac Address"),name:"mac_address"}]}}a.AllowedAddressPair=S;var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3891:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(3892)),l=i(a(3893)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[n.default]},adminConfigs:{rowActions:{firstAction:l.default},batchActions:[],primaryActions:[]}};t.default=o},3892:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAllowedAddressPair=void 0;var l=n(r(1252)),o=n(r(63)),s=n(r(35)),d=n(r(177)),u=r(412),c=r(1241),f=n(r(572)),p=r(565),{isIpCidr:m,isIPv6Cidr:h}=p.ipValidate;class v extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{allowed_address_pairs:t=[]}=this.item,{ip_address:a,mac_address:r}=e,i={ip_address:a};return"manual"===r.type&&(i.mac_address=r.mac),f.default.update(this.item,{allowed_address_pairs:[i,...t]}).then((e=>{f.default.setDetail(e.port)}))})),(0,s.default)(this,"checkCidr",(e=>{if((0,d.default)(e))return!1;var{ip_version:t="ipv4"}=this.state;return!("ipv4"===t&&!m(e))&&!("ipv6"===t&&!h(e))}))}init(){this.store=f.default}get name(){return t("create allowed address pair")}get instanceName(){return(0,l.default)(this).ip_address}get isAllowed(){return!0}static get modalSize(){return"middle"}get defaultValue(){return{ip_version:"ipv4"}}get formItems(){return[{name:"ip_version",label:t("IP Version"),type:"select",options:[{label:"ipv4",value:"ipv4"},{label:"ipv6",value:"ipv6"}],onChange:e=>{this.setState({ip_version:e},(()=>{this.formRef.current.validateFields()}))},required:!0},{name:"ip_address",label:t("CIDR"),type:"input",required:!0,validator:(e,a)=>this.checkCidr(a)?o.default.resolve():o.default.reject(new Error(t("Invalid CIDR.")))},{name:"mac_address",label:t("Mac Address"),wrapperCol:{span:16},required:!0,type:"mac-address",options:[{label:t("From port"),value:"auto"},{label:t("Manual input"),value:"manual"}]}]}}a.CreateAllowedAddressPair=v,(0,s.default)(v,"id","create-ip"),(0,s.default)(v,"title",t("Create Allowed Address Pair")),(0,s.default)(v,"policy","update_port"),(0,s.default)(v,"allowed",(()=>o.default.resolve(!0)));var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3893:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(29)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(572));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"getItemName",(e=>e.ip_address)),(0,s.default)(this,"policy","update_port"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,s.default)(this,"onSubmit",function(){var e=(0,o.default)((function*(e,t){var{allowed_address_pairs:a=[],id:r}=t.detail,i=(0,l.default)(a).call(a,(t=>t.ip_address!==e.ip_address));return u.default.update({id:r},{allowed_address_pairs:i}).then((e=>{u.default.setDetail(e.port)}))}));return function(t,a){return e.apply(this,arguments)}}())}get id(){return"delete"}get title(){return t("Delete Allowed Address Pair")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete allowed address pair")}isOwnerOrAdmin(){return!0}}a.default=c},3894:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(77)),o=r(412),s=n(r(1249)),d=r(66);class u extends s.default{get leftCards(){return[this.baseInfoCard]}get qosEndpoint(){return(0,d.qosEndpoint)()}get baseInfoCard(){var e=[{label:t("Bind Device Type"),dataIndex:"device_owner"},{label:t("Bind Device"),dataIndex:"device_id",render:(e,t)=>{var{itemInList:{device_id:a,device_owner:r,server_name:i}={}}=t;if(a&&"compute:nova"===r){var n,o=i?(0,l.default)(n="".concat(a," (")).call(n,i,")"):a;return this.getLinkRender("instanceDetail",o,{id:a},{tab:"interface"})}return e||"-"}},{label:t("VNIC Type"),dataIndex:"binding:vnic_type"}];return this.qosEndpoint&&e.push({label:t("QoS Policy"),dataIndex:"qos_policy_id",copyable:!1,render:e=>{var t;if(!e)return"-";var{qosPolicy:a}=this.detailData,{name:r}=a||{},i=r?(0,l.default)(t="".concat(e,"(")).call(t,r,")"):e;return this.getLinkRender("networkQosDetail",i,{id:e})}}),{title:t("Base Info"),options:e}}}a.BaseDetail=u;var c=(0,o.inject)("rootStore")((0,o.observer)(u));a.default=c},3895:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicy=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(1636));class u extends o.default{get checkEndpoint(){return!0}get endpoint(){return(0,s.qosEndpoint)()}get tabs(){var e=[{title:t("Current Project QoS Policies"),key:"projectQoSPolicy",component:d.default},{title:t("Shared QoS Policies"),key:"sharedQoSPolicy",component:d.default}];return this.hasAdminRole&&e.push({title:t("All QoS Policies"),key:"allQoSPolicy",component:d.default}),e}}a.QoSPolicy=u;var c=(0,l.inject)("rootStore")((0,l.observer)(u));a.default=c},3896:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(340)),b=r(576),y=r(1265),I=r(163),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{name:t,description:a,shared:r,is_default:i,project_id:n}=e;return this.store.create({name:t,description:a,shared:r,is_default:i,project_id:n?n.selectedRowKeys[0]:this.props.rootStore.user.project.id})}))}get name(){return t("Create QoS Policy")}static get modalSize(){var{pathname:e}=window.location;return(0,I.isAdminPage)(e)?"large":"small"}getModalSize(){return this.isAdminPage?"large":"small"}init(){this.store=new b.QoSPolicyStore,this.projectStore=_.default,this.isAdminPage&&this.fetchProjectList()}fetchProjectList(){var e=this;return(0,m.default)((function*(){yield e.projectStore.fetchProjectsWithDomain(),e.updateDefaultValue()}))()}get projects(){return(0,A.toJS)(this.projectStore.list.data)||[]}get defaultValue(){return this.isAdminPage?{project_id:{selectedRowKeys:[this.props.rootStore.user.project.id]}}:{}}get formItems(){return[{name:"name",label:t("Policy Name"),type:"input-name",required:!0,withoutChinese:!0},w({name:"project_id",label:t("Project"),type:"select-table",required:this.isAdminPage,isLoading:_.default.list.isLoading,data:this.projects,hidden:!this.isAdminPage},y.projectTableOptions),{name:"description",label:t("Description"),type:"textarea"},{name:"shared",label:t("Shared"),type:"switch",hidden:!this.isAdminPage},{name:"is_default",label:t("Default Policy"),type:"switch",hidden:!this.isAdminPage}]}}a.Create=x,(0,h.default)(x,"id","create_qos_policy"),(0,h.default)(x,"title",t("Create QoS Policy")),(0,h.default)(x,"policy","create_policy"),(0,h.default)(x,"aliasPolicy","neutron:create_policy"),(0,h.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,v.inject)("rootStore")((0,v.observer)(x));a.default=P},3897:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(576);function _(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class b extends v.ModalAction{constructor(){super(...arguments),(0,m.default)(this,"policy",(()=>({rules:[["network","edit_qos_policy"]]}))),(0,m.default)(this,"onSubmit",(e=>this.store.update(this.props.item,e)))}get name(){return t("Edit QoS Policy")}init(){this.store=new g.QoSPolicyStore}get defaultValue(){var{item:e}=this.props;return function(e){for(var t=1;tp.default.resolve(!0)));var y=(0,h.inject)("rootStore")((0,h.observer)(b));a.default=y},3898:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(576));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_policy"),(0,l.default)(this,"aliasPolicy","neutron:delete_policy"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e))),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete QoS Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete qos policy")}isOwnerOrAdmin(){return!0}}a.default=d},3899:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateBandwidthLimitRule=void 0;var p=f(r(232)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=f(r(0)),_=r(412),b=r(1241),y=f(r(576));function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function A(e){for(var t=1;t{var{max_kbps:t,max_burst_kbps:a}=e,r=A(A({},(0,h.default)(e,["max_kbps","max_burst_kbps"])),{},{max_kbps:1024*t,max_burst_kbps:1024*a});return y.default.createBandwidthLimitRule(this.props.item,r)}))}get name(){return t("create bandwidth limit rule")}get defaultValue(){return{max_kbps:1,max_burst_kbps:1,direction:"egress"}}get formItems(){return[{label:t("Type"),type:"label",component:g.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"direction",label:t("Direction"),type:"select",options:[{label:t("egress"),value:"egress"},{label:t("ingress"),value:"ingress"}]}]}}a.CreateBandwidthLimitRule=S,(0,v.default)(S,"id","create_bandwidth_limit_rule"),(0,v.default)(S,"title",t("Create Bandwidth Limit Rule")),(0,v.default)(S,"policy","create_policy_bandwidth_limit_rule"),(0,v.default)(S,"allowed",(e=>{var{rules:t=[]}=e,a=(0,p.default)(t).call(t,(e=>"ingress"===e.direction)),r=(0,p.default)(t).call(t,(e=>"egress"===e.direction));return m.default.resolve(!(a&&r))}));var w=(0,_.inject)("rootStore")((0,_.observer)(S));a.default=w},3900:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateDSCPMarkingRules=void 0;var l=n(r(232)),o=n(r(63)),s=n(r(35)),d=n(r(0)),u=r(412),c=r(1241),f=n(r(576)),p=n(r(1638));class m extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>f.default.createDSCPMarkingRule(this.props.item,e)))}get name(){return t("create DSCP marking rule")}get defaultValue(){return{dscp_mark:0}}get formItems(){return[{label:t("Type"),type:"label",component:d.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:p.default}]}}a.CreateDSCPMarkingRules=m,(0,s.default)(m,"id","create_DSCP_marking_rule"),(0,s.default)(m,"title",t("Create DSCP Marking Rule")),(0,s.default)(m,"policy","create_policy_dscp_marking_rule"),(0,s.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type));return o.default.resolve(!a)}));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3901:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_dscp_marking_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasDSCPMarkingRule(e))),(0,s.default)(this,"hasDSCPMarkingRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"dscp_marking"===e.type))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"dscp_marking"===e.type));return u.default.deleteDSCPMarkingRules(e,a)}))}get id(){return"delete"}get title(){return t("Delete DSCP Marking Rules")}get isDanger(){return!0}get buttonText(){return t("Delete DSCP Marking Rules")}get actionName(){return t("delete dscp marking rules")}isOwnerOrAdmin(){return!0}}a.default=c},3902:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasEgressRule(e))),(0,s.default)(this,"hasEgressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"egress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-egress"}get title(){return t("Delete Bandwidth Egress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Egress Rules")}get actionName(){return t("delete bandwidth egress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3903:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(232)),o=n(r(86)),s=n(r(35)),d=r(1241),u=n(r(576));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_policy_bandwidth_limit_rule"),(0,s.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&this.hasIngressRule(e))),(0,s.default)(this,"hasIngressRule",(e=>{var{rules:t=[]}=e;return(0,l.default)(t).call(t,(e=>"ingress"===e.direction))})),(0,s.default)(this,"onSubmit",(e=>{var t,{id:a}=(0,o.default)(t=e.rules).call(t,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return u.default.deleteBandwidthLimitRules(e,a)}))}get id(){return"delete-ingress"}get title(){return t("Delete Bandwidth Ingress Rules")}get isDanger(){return!0}get buttonText(){return t("Delete Bandwidth Ingress Rules")}get actionName(){return t("delete bandwidth ingress rules")}isOwnerOrAdmin(){return!0}}a.default=c},3904:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthEgressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>{var{max_kbps:t,max_burst_kbps:a}=e,r={max_kbps:1024*t,max_burst_kbps:1024*a};return p.default.updateBandwidthLimitRule(this.props.item,this.egressRule.id,r)}))}get name(){return t("Edit Bandwidth Egress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.egressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.egressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Egress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthEgressRule=m,(0,d.default)(m,"id","edit_bandwidth_egress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Egress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"egress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3905:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditBandwidthIngressRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576));class m extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateBandwidthLimitRule(this.props.item,this.ingressRule.id,{max_kbps:1024*e.max_kbps,max_burst_kbps:1024*e.max_burst_kbps})))}get name(){return t("Edit Bandwidth Ingress Limit Rule")}get defaultValue(){var{max_kbps:e,max_burst_kbps:t}=this.ingressRule;return{max_kbps:e/1024,max_burst_kbps:t/1024}}init(){var{rules:e=[]}=this.item||{};this.ingressRule=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("QoS Bandwidth Ingress Limit"))},{name:"max_kbps",label:t("Bandwidth limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"},{name:"max_burst_kbps",label:t("Burst limit"),type:"slider-input",max:1e4,min:1,inputMin:1,inputMax:1e4,description:"1Mbps-10000Mbps"}]}}a.EditBandwidthIngressRule=m,(0,d.default)(m,"id","edit_bandwidth_ingress_limit_rule"),(0,d.default)(m,"title",t("Edit Bandwidth Ingress Limit Rule")),(0,d.default)(m,"policy","update_policy_bandwidth_limit_rule"),(0,d.default)(m,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"ingress"===e.direction));return s.default.resolve(a)}));var h=(0,c.inject)("rootStore")((0,c.observer)(m));a.default=h},3906:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditDSCPMarkingRule=void 0;var l=n(r(86)),o=n(r(232)),s=n(r(63)),d=n(r(35)),u=n(r(0)),c=r(412),f=r(1241),p=n(r(576)),m=n(r(1638));class h extends f.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"onSubmit",(e=>p.default.updateDSCPMarkingRule(this.props.item,this.dscpMarkingRule.id,e)))}get name(){return t("Edit DSCP Marking Rule")}get defaultValue(){return{dscp_mark:this.dscpMarkingRule.dscp_mark||0}}init(){var{rules:e=[]}=this.item;this.dscpMarkingRule=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{}}get formItems(){return[{label:t("Type"),type:"label",component:u.default.createElement("div",{style:{lineHeight:"32px",marginBottom:24}},t("DSCP Marking"))},{name:"dscp_mark",label:t("Value"),type:"select",options:m.default}]}}a.EditDSCPMarkingRule=h,(0,d.default)(h,"id","edit_DSCP_marking_rule"),(0,d.default)(h,"title",t("Edit DSCP Marking Rule")),(0,d.default)(h,"policy","update_policy_dscp_marking_rule"),(0,d.default)(h,"allowed",(e=>{var{rules:t=[]}=e,a=(0,o.default)(t).call(t,(e=>"dscp_marking"===e.type));return s.default.resolve(a)}));var v=(0,c.inject)("rootStore")((0,c.observer)(h));a.default=v},3907:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.QoSPolicyDetail=void 0;var l=n(r(573)),o=r(412),s=n(r(1243)),d=r(576),u=n(r(1466)),c=n(r(3908)),f=n(r(1637));class p extends s.default{get name(){return t("qoS policy")}get policy(){return"get_policy"}get aliasPolicy(){return"neutron:get_policy"}get listUrl(){return this.getRoutePath("networkQos")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigs:f.default.consoleActions}get detailInfos(){var e=[{title:t("Policy Name"),dataIndex:"name"},{title:t("Rule Numbers"),dataIndex:"rules",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo"},{title:t("Default Policy"),dataIndex:"is_default",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}];return this.isAdminPage&&(0,l.default)(e).call(e,3,0,{title:t("Owned Project"),dataIndex:"project_name"}),e}get tabs(){return[{title:t("Detail"),key:"detail",component:c.default},{title:t("Floating IPs"),key:"fip",component:u.default}]}init(){this.store=new d.QoSPolicyStore}}a.QoSPolicyDetail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3908:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[...this.BandwidthCard,this.DSCPMarkingCard]}getOptions(e){var{max_kbps:a="-",max_burst_kbps:r="-"}=e||{};return[{label:t("Max BandWidth"),content:"".concat("-"===a?a:a/1024," Mbps")},{label:t("Max Burst"),content:"".concat("-"===r?r:r/1024," Mbps")}]}get BandwidthCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"egress"===e.direction)),r=(0,l.default)(e).call(e,(e=>"bandwidth_limit"===e.type&&"ingress"===e.direction));return[{title:t("BandWidth Limit Egress"),options:this.getOptions(a)},{title:t("BandWidth Limit Ingress"),options:this.getOptions(r)}]}get DSCPMarkingCard(){var{rules:e=[]}=this.detailData,a=(0,l.default)(e).call(e,(e=>"dscp_marking"===e.type))||{},r=[{label:t("Value"),content:0===a.dscp_mark?"0":a.dscp_mark||"-"}];return{title:t("DSCP Marking"),options:r}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3909:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.LoadBalancerInstance=void 0,r(1246);var l=n(r(1247));r(1244);var o=n(r(1245)),s=n(r(49)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=(r(161),r(581)),m=r(1254),h=r(66),v=r(1639);class g extends f.default{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"fetchDataByPage",function(){var t=(0,s.default)((function*(t){yield e.store.fetchListByPageWithFip(t),e.list.silent=!1}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"fetchDownloadData",function(){var t=(0,s.default)((function*(t){return e.isFilterByBackend?yield e.downloadStore.fetchListByPageWithFip(e.updateFetchParamsByPage(t)):yield e.downloadStore.fetchList(e.updateFetchParams(t))}));return function(e){return t.apply(this,arguments)}}()),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,sortKey:"project_id"},{title:t("Network ID"),dataIndex:"vip_network_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip",render:e=>e||"-"},{title:t("Port ID"),dataIndex:"vip_port_id"},{title:t("Operating Status"),dataIndex:"operating_status",valueMap:m.operatingStatusCodes,titleTip:u.default.createElement(l.default,null,u.default.createElement(o.default,null,t("DRAINING: The member is not accepting new connections")),u.default.createElement(o.default,null,t("DEGRADED: One or more of the entity’s components are in ERROR")))},{title:t("Provisioning Status"),dataIndex:"provisioning_status",valueMap:m.provisioningStatusCodes},{title:t("Listener Number"),dataIndex:"listeners",render:e=>e.length},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime",isHideable:!0}]))}init(){this.store=new p.LbaasStore,this.downloadStore=new p.LbaasStore}get fetchDataByCurrentProject(){return!0}get policy(){return"os_load-balancer_api:loadbalancer:get_all"}get checkEndpoint(){return!0}get endpoint(){return(0,h.lbEndpoint)()}get name(){return t("Load Balancers")}get isFilterByBackend(){return!0}get actionConfigs(){return this.isAdminPage?v.adminActions:v.actionConfigs}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.LoadBalancerInstance=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3910:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(581));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"policy",(()=>"edit_load_balancer")),(0,o.default)(this,"onSubmit",(e=>u.default.update({id:this.item.id},e)))}get name(){return t("Edit Load Balancer")}get defaultValue(){var{item:e}=this;return{name:e.name,description:e.description}}get formItems(){return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=c,(0,o.default)(c,"id","edit_load_balancer"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","os_load-balancer_api:loadbalancer:put"),(0,o.default)(c,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status)}));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3911:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(581)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:loadbalancer:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action} (instance: {name})?",{action:this.actionNameDisplay||this.title,name:a})+t("This will delete all child objects of the load balancer.")})),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(this.isCurrentProject(e)&&"ACTIVE"===e.provisioning_status||"ERROR"===e.provisioning_status))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Load Balancer")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete load balancer")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3912:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.AssociateFip=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(412),u=n(r(346)),c=r(1241),f=r(1258),p=r(1273),m=r(1267);class h extends c.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"handleFixedIPChange",(e=>p.handleFixedIPChange.call(this,e))),(0,s.default)(this,"onSubmit",(e=>{var{fixed_ip:t,fip:a}=e,r=t.selectedRows[0],i=a.selectedRowKeys[0];return u.default.associateFip({id:i,port_id:this.item.vip_port_id,fixed_ip_address:r.ip_address})}))}init(){this.getInterfaces(),m.getCanReachSubnetIdsWithRouterIdInComponent.call(this),this.state={interfaces:[],fixed_ip:null,portFixedIPs:[],canAssociateFloatingIPs:[],canReachSubnetIdsWithRouterId:[],portLoading:!0}}static get modalSize(){return"large"}getModalSize(){return"large"}get name(){return t("Associate Floating IP")}getInterfaces(){var e=this;return(0,o.default)((function*(){var t=[{port_id:e.item.vip_port_id,network_id:e.item.vip_network_id,fixed_ips:[{ip_address:e.item.vip_address,subnet_id:e.item.vip_subnet_id}]}],a=yield(0,p.getInterfaceWithReason)(t);e.setState({interfaces:a,portLoading:!1})}))()}get ports(){var{interfaces:e,canReachSubnetIdsWithRouterId:t}=this.state;return f.getPortsAndReasons.call(this,e,t)}get defaultValue(){var{name:e}=this.item;return{lb:e}}getFIPFormItemExtra(){return(0,p.getFIPFormItemExtra)()}disableFIPAssociate(e){return(0,p.disableFIPAssociate)(e)}get formItems(){var e=(0,p.getFixedIPFormItemForAssociate)(t("Fixed IP"),this),a=(0,p.getFIPFormItemForAssociate)(this);return[{name:"lb",label:t("Load Balancer"),type:"label",iconType:"instance"},e,a]}}a.AssociateFip=h,(0,s.default)(h,"id","AssociateFip"),(0,s.default)(h,"title",t("Associate Floating IP")),(0,s.default)(h,"policy","update_floatingip"),(0,s.default)(h,"allowed",((e,t)=>{var{isAdminPage:a=!1}=t;return l.default.resolve(!a&&"ACTIVE"===e.provisioning_status&&function(e){return null===e.fip||void 0===e.fip}(e))}));var v=(0,d.inject)("rootStore")((0,d.observer)(h));a.default=v},3913:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseStep=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=n(r(1250)),u=r(412),c=r(233),f=r(417),p=r(581);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,s.default)(this,"allowed",(()=>l.default.resolve())),(0,s.default)(this,"handleOwnedNetworkChange",(e=>{var{network_id:t}=this.state,a=e.selectedRowKeys[0];this.setState({network_id:a},(()=>{var{network_id:e}=this.state;t&&t!==e&&this.formRef.current.setFieldsValue({vip_address:void 0})})),this.getSubnets(a)})),(0,s.default)(this,"fetchSubnetDetails",function(){var t=(0,o.default)((function*(t){var a=yield e.subnetStore.fetchList({network_id:t});e.setState({subnetDetails:a||[]})}));return function(e){return t.apply(this,arguments)}}())}init(){this.store=new p.LbaasStore,this.networkStore=new c.NetworkStore,this.subnetStore=new f.SubnetStore}get title(){return"BaseStep"}get name(){return"BaseStep"}get isStep(){return!0}get defaultValue(){return{project_id:this.props.rootStore.user.project.id,admin_state_enabled:!0}}getSubnets(e){var t=this;return(0,o.default)((function*(){yield t.networkStore.fetchDetail({id:e}),yield t.fetchSubnetDetails(e)}))()}get formItems(){var{network_id:e,subnetDetails:a=[]}=this.state;return[{name:"name",label:t("Load Balancer Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"},{name:"vip_network_id",label:t("Owned Network"),type:"network-select-table",onChange:this.handleOwnedNetworkChange,required:!0},{name:"vip_address",label:t("Owned Subnet"),type:"ip-distributor",subnets:a,formRef:this.formRef,maxNumber:1,hidden:!e,required:!0},{name:"admin_state_enabled",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the port.")}]}}a.BaseStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3914:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(35)),d=r(412),u=n(r(1250)),c=r(1254),f=r(1335),p=r(1336);class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"allowed",(()=>l.default.resolve()))}init(){this.containersStore=new f.ContainersStore,this.secretsStore=new p.SecretsStore,this.fetchContainers(),this.fetchSecrets()}get title(){return"Listener Detail"}get name(){return"Listener Detail"}get isStep(){return!0}fetchContainers(){this.containersStore.fetchList()}fetchSecrets(){this.secretsStore.fetchList({mode:"CA"})}get SERVERSecrets(){return this.containersStore.list.data||[]}get CASecrets(){return this.secretsStore.list.data||[]}get SNISecrets(){var e;return(0,o.default)(e=this.containersStore.list.data||[]).call(e,(e=>!!e.domain))}get defaultValue(){return{listener_ssl_parsing_method:"one-way",listener_sni_enabled:!1,listener_connection_limit:-1,listener_admin_state_up:!0}}get nameForStateUpdate(){return["listener_protocol","listener_ssl_parsing_method","listener_sni_enabled"]}get formItems(){var e,{listener_protocol:a,listener_ssl_parsing_method:r,listener_sni_enabled:i}=this.state,n=(0,c.getListenerInsertHeadersFormItem)();return[{name:"listener_name",label:t("Listener Name"),type:"input-name",required:!0},{name:"listener_description",label:t("Listener Description"),type:"textarea"},{name:"listener_protocol",label:t("Listener Protocol"),type:"select",options:c.listenerProtocols,onChange:()=>{this.updateContext({pool_protocol:"",health_type:""})},required:!0},{name:"listener_ssl_parsing_method",label:t("SSL Parsing Method"),type:"select",options:c.sslParseMethod,required:!0,display:"TERMINATED_HTTPS"===a},{name:"listener_default_tls_container_ref",label:t("Server Certificate"),type:"select-table",required:!0,data:this.SERVERSecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a},{name:"listener_client_ca_tls_container_ref",label:t("CA Certificate"),type:"select-table",required:!0,data:this.CASecrets,isLoading:!1,isMulti:!1,filterParams:[{label:t("Name"),name:"name"}],columns:(0,o.default)(e=(0,c.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex)),display:"TERMINATED_HTTPS"===a&&"two-way"===r},{name:"listener_sni_enabled",label:t("SNI Enabled"),type:"switch",display:"TERMINATED_HTTPS"===a},{name:"listener_sni_container_refs",label:t("SNI Certificate"),type:"select-table",required:!0,data:this.SNISecrets,isLoading:!1,isMulti:!0,filterParams:[{label:t("Name"),name:"name"}],columns:(0,c.getCertificateColumns)(this),display:"TERMINATED_HTTPS"===a&&i},{name:"listener_protocol_port",label:t("Listener Protocol Port"),type:"input-number",required:!0},{name:"listener_connection_limit",label:t("Listener Connection Limit"),type:"input-number",min:-1,extra:t("-1 means no connection limit"),required:!0},{name:"listener_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the listener.")},n]}}a.ListenerStep=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3915:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.PoolStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1400),p=r(1254);class m extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve())),(0,d.default)(this,"handleAlgorithmChange",(e=>{this.setState({pool_lb_algorithm:e})}))}get title(){return"Pool Detail"}get name(){return"Pool Detail"}get isStep(){return!0}get filterOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(p.poolProtocols).call(p.poolProtocols,(t=>(0,s.default)(e).call(e,t.label)))}init(){this.state={pool_lb_algorithm:void 0}}get defaultValue(){return{pool_admin_state_up:!0}}get formItems(){var{pool_lb_algorithm:e}=this.state;return[{name:"pool_name",label:t("Pool Name"),type:"input-name",required:!0},{name:"pool_description",label:t("Pool Description"),type:"textarea"},{name:"pool_lb_algorithm",label:t("Pool Algorithm"),type:"select",options:f.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&f.algorithmTip[e],required:!0},{name:"pool_protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,onChange:()=>{this.updateContext({health_type:""})},required:!0},{name:"pool_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.PoolStep=m;var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3916:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.MemberStep=void 0;var n=i(a(63)),l=i(a(29)),o=i(a(35)),s=i(a(119)),d=a(412),u=i(a(1250)),c=a(572);class f extends u.default{constructor(){super(...arguments),(0,o.default)(this,"allowed",(()=>n.default.resolve()))}init(){this.store=new c.PortStore,this.state={ports:[]},this.store.fetchList().then((e=>{this.setState({ports:(0,l.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}get title(){return"Member Detail"}get name(){return"Member Detail"}get isStep(){return!0}get wrapperCol(){return{xs:{span:16},sm:{span:12}}}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,s.default)(this.props.context,"vip_address[0].subnet",""),isLoading:this.store.list.isLoading,ports:this.state.ports}]}}t.MemberStep=f;var p=(0,d.inject)("rootStore")((0,d.observer)(f));t.default=p},3917:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.HealthMonitorStep=void 0;var l=n(r(63)),o=n(r(29)),s=n(r(164)),d=n(r(35)),u=r(412),c=n(r(1250)),f=r(1254);class p extends c.default{constructor(){super(...arguments),(0,d.default)(this,"allowed",(()=>l.default.resolve()))}get title(){return"Health Monitor Detail"}get name(){return"Health Monitor Detail"}get isStep(){return!0}get filteredProtocolOptions(){var{context:{listener_protocol:e=""}={}}=this.props;return(0,o.default)(f.healthProtocols).call(f.healthProtocols,(t=>(0,s.default)(e).call(e,t.label)))}get defaultValue(){return{enableHealthMonitor:!0,health_delay:5,health_timeout:3,health_max_retries:3,health_type:"",monitor_admin_state_up:!0}}get formItems(){var{health_delay:e,enableHealthMonitor:a}=this.state;return[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"health_name",label:t("Health Monitor Name"),type:"input-name",required:!0,hidden:!a},{name:"health_delay",label:t("Health Monitor Delay"),type:"input-number",onChange:e=>{this.setState({health_delay:e})},min:0,extra:t("Maximum interval time for each health check response"),required:!0,hidden:!a},{name:"health_max_retries",label:t("Health Monitor Max Retries"),type:"input-number",min:1,max:10,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),required:!0,hidden:!a},{name:"health_timeout",label:t("Health Monitor Timeout"),type:"input-number",min:e||0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),required:!0,hidden:!a},{name:"health_type",label:t("Health Monitor Type"),type:"select",options:this.filteredProtocolOptions,required:!0,hidden:!a},{name:"monitor_admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!a}]}}a.HealthMonitorStep=p;var m=(0,u.inject)("rootStore")((0,u.observer)(p));a.default=m},3918:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(346));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","update_floatingip"),(0,l.default)(this,"allowedCheckFunc",(e=>"ACTIVE"===e.provisioning_status&&!!e.fip_id)),(0,l.default)(this,"onSubmit",(()=>s.default.disassociateFip({id:this.item.fip_id})))}get id(){return"disassociate-fip-from-lb"}get title(){return t("Disassociate Floating IP")}get buttonText(){return t("Disassociate Floating IP")}get actionName(){return t("disassociate floating ip")}}a.default=d},3919:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.LoadBalancerDetail=void 0;var p=f(r(35)),m=r(412),h=f(r(1243)),v=r(581),g=r(1254),_=f(r(3920)),b=r(1639);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{if(this.store.fetchDetailWithFip){var t=I(I(I({},this.params),e||{}),{},{silent:!0,all_projects:this.isAdminPage});this.store.fetchDetailWithFip(t).catch(this.catch)}}))}get name(){return t("load balancer")}get policy(){return"os_load-balancer_api:loadbalancer:get_one"}get listUrl(){return this.getRoutePath("lb")}get actionConfigs(){return this.isAdminPage?b.adminActions:b.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes},{title:t("Network"),dataIndex:"vip_network_id"},{title:t("Subnet"),dataIndex:"vip_subnet_id"},{title:t("IP"),dataIndex:"vip_address"},{title:t("Floating IP"),dataIndex:"fip"},{title:t("Provider"),dataIndex:"provider"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Listeners"),key:"listener",component:_.default}]}init(){this.store=new v.LbaasStore}}a.LoadBalancerDetail=A;var S=(0,m.inject)("rootStore")((0,m.observer)(A));a.default=S},3920:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Listeners=void 0;var p=f(r(58)),m=f(r(35)),h=r(412),v=f(r(1242)),g=r(1254),_=r(1306),b=r(342),y=r(1641);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends v.default{constructor(){super(...arguments),(0,m.default)(this,"updateFetchParamsByPage",(e=>{var{id:t}=e;return function(e){for(var t=1;t[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("lbListenerDetail"),routeParamsFunc:e=>({loadBalancerId:this.id,id:e.id})},{title:t("Status"),dataIndex:"provisioning_status",valueMap:g.provisioningStatusCodes,isHideable:!0},{title:t("Protocol"),dataIndex:"protocol",isHideable:!0,render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")}]))}init(){this.store=new _.ListenerStore,this.downloadStore=new _.ListenerStore}get policy(){return"os_load-balancer_api:listener:get_all"}get name(){return t("listeners")}get id(){return this.params.id}get isFilterByBackend(){return!0}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){var{provisioning_status:e}=this.props.detail;return"ACTIVE"!==e?b.emptyActionConfig:this.isAdminPage?y.adminActions:y.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Listeners=A;var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3921:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreatePool=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(412),f=r(1241),p=n(r(1401)),m=n(r(581)),h=r(1400),v=r(1254);class g extends f.ModalAction{constructor(){super(...arguments),(0,u.default)(this,"handleAlgorithmChange",(e=>{this.setState({algorithm:e})})),(0,u.default)(this,"onSubmit",(e=>(e.listener_id=this.item.id,p.default.create(e))))}get name(){return t("create default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filterOptions(){var{protocol:e=""}=this.item;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}init(){this.state={algorithm:void 0}}get defaultValue(){return{admin_state_up:!0}}get formItems(){var{algorithm:e}=this.state;return[{name:"name",label:t("Pool Name"),type:"input-name",required:!0},{name:"description",label:t("Pool Description"),type:"textarea"},{name:"lb_algorithm",label:t("Pool Algorithm"),type:"select",options:h.Algorithm,onChange:this.handleAlgorithmChange,extra:e&&h.algorithmTip[e],required:!0},{name:"protocol",label:t("Pool Protocol"),type:"select",options:this.filterOptions,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.CreatePool=g,(0,u.default)(g,"id","pool-create"),(0,u.default)(g,"title",t("Create Default Pool")),(0,u.default)(g,"buttonText",t("Create Default Pool")),(0,u.default)(g,"policy","os_load-balancer_api:pool:post"),(0,u.default)(g,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield m.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3922:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1306)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:listener:delete"),(0,s.default)(this,"allowed",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Listener")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete listener")}}a.default=f},3923:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(164)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1306)),A=f(r(581)),S=r(1254),w=r(1642);function x(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class P extends w.Create{constructor(){super(...arguments),(0,b.default)(this,"onSubmit",(e=>{var t,{id:a}=this.item,{protocol:r,protocol_port:i,sni_enabled:n,ssl_parsing_method:l,default_tls_container_ref:f,client_ca_tls_container_ref:m,sni_container_refs:h,insert_headers:v}=e,g=function(e){for(var t=1;te.container_ref)):[]);return I.default.edit({id:a},g)}))}get name(){return t("Edit Listener")}get isEdit(){return!0}get defaultValue(){var{item:e}=this.props,{name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,admin_state_up:l}=e||{},o={name:t,description:a,protocol:r,protocol_port:i,connection_limit:n,insert_headers:(0,S.getInsertHeadersFormValueFromListener)(e),admin_state_up:l};if("TERMINATED_HTTPS"===e.protocol){if(e.default_tls_container_ref){var s,[,d]=e.default_tls_container_ref.split("/containers/");o.default_tls_container_ref={selectedRowKeys:[d],selectedRows:(0,m.default)(s=this.ServerCertificate).call(s,(e=>e.id===d))}}if(e.client_ca_tls_container_ref){var u,[,c]=e.client_ca_tls_container_ref.split("/secrets/");o.ssl_parsing_method="two-way",o.client_ca_tls_container_ref={selectedRowKeys:[c],selectedRows:(0,m.default)(u=this.CaCertificate).call(u,(e=>e.id===c))}}else o.ssl_parsing_method="one-way";if(e.sni_container_refs&&e.sni_container_refs.length){var f,v;o.sni_enabled=!0;var g=(0,p.default)(f=e.sni_container_refs).call(f,(e=>{var[,t]=e.split("/containers/");return t}));o.sni_container_refs={selectedRowKeys:g,selectedRows:(0,m.default)(v=this.SNICertificate).call(v,(e=>(0,h.default)(g).call(g,e.id)))}}else o.sni_enabled=!1}return o}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>("sni_enabled"===e.name&&(e.disabled=this.item.sni_container_refs&&this.item.sni_container_refs.length,e.tip=t("If the listener has an SNI certificate installed, it cannot be removed. Please delete the listener or replace the SNI certificate")),e)))}}a.Edit=P,(0,b.default)(P,"id","edit-listener"),(0,b.default)(P,"title",t("Edit Listener")),(0,b.default)(P,"buttonText",t("Edit")),(0,b.default)(P,"policy","os_load-balancer_api:listener:put"),(0,b.default)(P,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield A.default.pureFetchDetail(e.loadbalancers[0])),v.default.resolve("ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var C=(0,y.inject)("rootStore")((0,y.observer)(P));a.default=C},3924:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditPoolInfo=void 0;var l=n(r(29)),o=n(r(164)),s=n(r(63)),d=n(r(49)),u=n(r(58)),c=n(r(35)),f=r(412),p=r(1241),m=n(r(1401)),h=r(1400),v=r(1254),g=n(r(581));class _ extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.item,{protocol:a}=e,r=(0,u.default)(e,["protocol"]);return this.store.edit({id:t},r)}))}init(){this.state.pool={},this.store=m.default,this.getPoolDetail()}get name(){return t("edit default pool")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{pool:{protocol:e=""}={}}=this.state;return(0,l.default)(v.poolProtocols).call(v.poolProtocols,(t=>(0,o.default)(e).call(e,t.label)))}get defaultValue(){var{pool:e}=this.state,{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}=e;return{name:t,description:a,protocol:r,lb_algorithm:i,admin_state_up:n}}getPoolDetail(){var e=this;return(0,d.default)((function*(){var{default_pool_id:t}=e.item,a=yield e.store.fetchDetail({id:t});e.setState({pool:a},(()=>{e.updateDefaultValue()}))}))()}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0},{name:"description",label:t("Description"),type:"textarea",maxLength:255},{name:"protocol",label:t("Protocol"),type:"select",options:this.filteredProtocolOptions,required:!0},{name:"lb_algorithm",label:t("LB Algorithm"),type:"select",options:h.Algorithm,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the pool.")}]}}a.EditPoolInfo=_,(0,c.default)(_,"id","pool-edit"),(0,c.default)(_,"title",t("Edit Default Pool")),(0,c.default)(_,"buttonText",t("Edit Default Pool")),(0,c.default)(_,"policy","os_load-balancer_api:pool:put"),(0,c.default)(_,"allowed",function(){var e=(0,d.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield g.default.pureFetchDetail(e.loadbalancers[0])),s.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var b=(0,f.inject)("rootStore")((0,f.observer)(_));a.default=b},3925:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.EditHealthMonitor=void 0;var m=p(r(63)),h=p(r(29)),v=p(r(164)),g=p(r(49)),_=p(r(58)),b=p(r(35)),y=r(412),I=r(1241),A=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=C(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}r.default=e,a&&a.set(e,r);return r}(r(3926)),S=r(1254),w=r(1401),x=p(r(581)),P=r(1306);function C(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(C=function(e){return e?a:t})(e)}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{default_pool_id:t}=this.item,{healthMonitor:a}=this.state,{id:r}=a||{},{enableHealthMonitor:i,type:n}=e,l=(0,_.default)(e,["enableHealthMonitor","type"]);if(r)return i?A.default.edit({id:r},l):A.default.delete({id:r});if(!i)return m.default.resolve();var o=D(D({type:n},l),{},{pool_id:t});return A.default.create(o)}))}init(){this.store=new A.HealthMonitorStore,this.listenerStore=new P.ListenerStore,this.poolStore=new w.PoolStore,this.state={enableHealthMonitor:!1,dataLoading:!0,healthMonitor:null}}componentDidMount(){this.getHealthMonitor()}get name(){return t("edit health monitor")}get labelCol(){return{xs:{span:8},sm:{span:8}}}get filteredProtocolOptions(){var{protocol:e=""}=this.item;return(0,h.default)(S.healthProtocols).call(S.healthProtocols,(t=>(0,v.default)(e).call(e,t.label)))}get defaultValue(){var{healthMonitor:e}=this.state;if(!e)return{delay:5,timeout:3,max_retries:3,enableHealthMonitor:!1,admin_state_up:!0};var{admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}=e;return{enableHealthMonitor:!0,admin_state_up:t,operating_status:a,type:r,delay:i,timeout:n,max_retries:l}}getHealthMonitor(){var e=this;return(0,g.default)((function*(){var t=yield e.listenerStore.fetchDetail(e.item),{healthMonitor:a}=t;e.setState({healthMonitor:a,enableHealthMonitor:!!a,dataLoading:!1},(()=>{e.updateDefaultValue()}))}))()}get formItems(){var{enableHealthMonitor:e,dataLoading:a,healthMonitor:r}=this.state;return a?[{name:"loading",type:"loading"}]:[{name:"enableHealthMonitor",label:t("Enable Health Monitor"),type:"radio",required:!0,options:[{label:t("Yes"),value:!0},{label:t("No"),value:!1}]},{name:"type",label:t("HealthMonitor Type"),type:"select",options:this.filteredProtocolOptions,hidden:!e,required:!0,disabled:!!r},{name:"delay",label:t("Delay Interval(s)"),type:"input-int",min:0,extra:t("Maximum interval time for each health check response"),hidden:!e,required:!0},{name:"timeout",label:t("Timeout(s)"),type:"input-int",min:0,extra:t("The timeout period of waiting for the return of the health check request, the check timeout will be judged as a check failure"),hidden:!e,required:!0},{name:"max_retries",label:t("Max Retries"),type:"input-int",min:0,extra:t("That is, after how many consecutive failures of the health check, the health check status of the back-end cloud server is changed from normal to abnormal"),hidden:!e,required:!0},{name:"admin_state_up",label:t("Admin State Up"),type:"switch",tip:t("Defines the admin state of the health monitor."),hidden:!e}]}}a.EditHealthMonitor=k,(0,b.default)(k,"id","health-monitor-edit"),(0,b.default)(k,"title",t("Edit Health Monitor")),(0,b.default)(k,"buttonText",t("Edit Health Monitor")),(0,b.default)(k,"policy","os_load-balancer_api:healthmonitor:put"),(0,b.default)(k,"allowed",function(){var e=(0,g.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield x.default.pureFetchDetail(e.loadbalancers[0])),m.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}());var R=(0,y.inject)("rootStore")((0,y.observer)(k));a.default=R},3926:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=t.HealthMonitorStore=void 0;var n=i(a(50)),l=i(a(53));class o extends l.default{get client(){return n.default.octavia.healthMonitors}get listFilterByProject(){return!0}}t.HealthMonitorStore=o;var s=new o;t.default=s},3927:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(63)),o=n(r(49)),s=n(r(35)),d=r(1241),u=n(r(1401)),c=n(r(581));class f extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","os_load-balancer_api:pool:delete"),(0,s.default)(this,"allowedCheckFunc",function(){var e=(0,o.default)((function*(e,t){var{detail:a}=t||{},r=e.loadBalancer||a;return r||(r=yield c.default.pureFetchDetail(e.loadbalancers[0])),l.default.resolve(!!e.default_pool_id&&"ACTIVE"===e.provisioning_status&&"ACTIVE"===r.provisioning_status)}));return function(t,a){return e.apply(this,arguments)}}()),(0,s.default)(this,"onSubmit",(()=>u.default.delete({id:this.item.default_pool_id})))}get id(){return"delete"}get title(){return t("Delete Default Pool")}get isDanger(){return!0}get buttonText(){return t("Delete Default Pool")}get actionName(){return t("delete default pool")}isOwnerOrAdmin(){return!0}}a.default=f},3928:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ListenerDetail=void 0;var l=r(412),o=r(1306),s=r(1254),d=n(r(1243)),u=n(r(3929)),c=n(r(3930)),f=r(1641);class p extends d.default{get name(){return t("listener")}get policy(){return"os_load-balancer_api:listener:get_one"}get listUrl(){var{loadBalancerId:e}=this.params;return this.getRoutePath("lbDetail",{id:e})}get actionConfigs(){return this.isAdminPage?f.adminActions:f.actionConfigs}get detailInfos(){return[{title:t("Listener Name"),dataIndex:"name"},{title:t("Protocol Type"),dataIndex:"protocol",render:e=>("TERMINATED_HTTPS"===e?"HTTPS":e)||"-"},{title:t("Port"),dataIndex:"protocol_port"},{title:t("Status"),dataIndex:"provisioning_status",valueMap:s.provisioningStatusCodes},{title:t("Max connect"),dataIndex:"connection_limit"},{title:t("Admin State Up"),dataIndex:"admin_state_up",render:e=>e?t("On"):t("Off")},{title:t("Description"),dataIndex:"description"}]}get forceLoadingTabs(){return["detail"]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default},{title:t("Members"),key:"members",component:c.default}]}init(){this.store=new o.ListenerStore}}a.ListenerDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},3929:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(77)),s=n(r(177)),d=r(412),u=n(r(1249)),c=r(1254),f=r(1400);class p extends u.default{get leftCards(){var e=[this.poolCard],{insert_headers:t={},default_pool_id:a}=this.detailData;return a&&e.push(this.healthMonitor),(0,s.default)(t)||e.push(this.customHeaders),e}get rightCards(){var{protocol:e}=this.detailData||{};return"TERMINATED_HTTPS"!==e||this.isAdminPage?[]:[this.certificateInfo]}get poolCard(){var{default_pool:e={},default_pool_id:a}=this.detailData||{},{name:r,protocol:i,lb_algorithm:n,description:l,admin_state_up:o}=e,s=a?[{label:t("Name"),content:r||"-"},{label:t("Protocol"),content:i||"-"},{label:t("LB Algorithm"),content:f.algorithmDict[n]||n||"-"},{label:t("Admin State Up"),content:o?t("On"):t("Off")},{label:t("Description"),content:l||"-"}]:[{label:"",content:t("No default pool set")}];return{title:t("Pool Info"),options:s}}get customHeaders(){var{insert_headers:e={}}=this.detailData||{};return(0,c.getInsertHeaderCard)(e||{})}get healthMonitor(){var e=this.detailData.healthMonitor||{},{type:a,delay:r,timeout:i,max_retries:n,admin_state_up:l}=e,o=[{label:t("Enable Health Monitor"),content:(0,s.default)(e)?t("No"):t("Yes")}];return(0,s.default)(e)||o.push({label:t("Health Monitor Type"),content:a},{label:t("Delay Interval(s)"),content:r},{label:t("Timeout(s)"),content:i},{label:t("Max Retries"),content:n},{label:t("Admin State Up"),content:l?t("On"):t("Off")}),{title:t("Health Monitor"),options:o}}get certificateInfo(){var e=[{label:t("Server Certificate"),dataIndex:"serverCertificateId",render:e=>e?this.getLinkRender("certificateContainerDetail",e,{id:e},null):"-"},{label:t("CA Certificate"),dataIndex:"caCertificateId",render:e=>e?this.getLinkRender("certificateSecretDetail",e,{id:e},null):"-"},{label:t("SNI Certificate"),dataIndex:"sniCertificateId",render:e=>e.length?(0,l.default)(e).call(e,((t,a)=>{var r;return this.getLinkRender("certificateContainerDetail",(0,o.default)(r="".concat(t)).call(r,a===e.length-1?"":" , "),{id:t})}),null):"-"}];return{title:t("certificate"),options:e,labelCol:4}}}a.BaseDetail=p;var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3930:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Members=void 0;var l=n(r(49)),o=n(r(35)),s=r(412),d=n(r(1242)),u=r(1254),c=n(r(1402)),f=r(418),p=r(3931);class m extends d.default{constructor(){var e;super(...arguments),e=this,(0,o.default)(this,"fetchData",(0,l.default)((function*(){var{default_pool_id:t}=e.props.detail;t?e.fetchListWithTry((0,l.default)((function*(){yield e.store.fetchList({pool_id:t}),e.list.silent=!1}))):(e.list.data=[],e.list.isLoading=!1)}))),(0,o.default)(this,"getColumns",(()=>[f.idNameColumn,{title:t("Status"),dataIndex:"provisioning_status",valueMap:u.provisioningStatusCodes,isHideable:!0},{title:t("Ip Address"),dataIndex:"address",isHideable:!0},{title:t("Port"),dataIndex:"protocol_port",isHideable:!0},{title:t("Weight"),dataIndex:"weight"}]))}init(){this.store=c.default}get policy(){return"os_load-balancer_api:member:get_all"}get name(){return t("Members")}get id(){return this.params.id}get forceRefreshTopDetailWhenListRefresh(){return!0}get actionConfigs(){return this.isAdminPage?p.adminActions:p.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Members=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},3931:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminActions=t.actionConfigs=void 0;var n=i(a(3932)),l=i(a(3933)),o={rowActions:{firstAction:i(a(3935)).default,moreActions:[{action:n.default}]},batchActions:[],primaryActions:[l.default]};t.actionConfigs=o;var s={rowActions:{moreActions:[{action:n.default}]},batchActions:[],primaryActions:[]};t.adminActions=s},3932:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1402));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","os_load-balancer_api:member:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isOwnerOrAdmin(e)&&"ACTIVE"===e.provisioning_status)),(0,l.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail;return s.default.delete({id:e.id,default_pool_id:t})}))}get id(){return"delete"}get title(){return t("Delete Member")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete member")}isOwnerOrAdmin(){return!0}}a.default=d},3933:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(54)),o=n(r(28)),s=n(r(29)),d=n(r(63)),u=n(r(49)),c=n(r(35)),f=n(r(119)),p=n(r(3934)),m=n(r(0)),h=r(412),v=r(1241),g=r(1402),_=r(572),b=r(36),y=n(r(581)),I=n(r(1459));class A extends v.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"onSubmit",(e=>{var t,{default_pool_id:a}=this.item,{extMembers:r=[]}=e,i=(0,l.default)(t=(0,b.toJS)(this.memberStore.list.data)).call(t,(e=>{var{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}=e;return{weight:t,protocol_port:a,address:r,name:i,subnet_id:n}}));return(0,o.default)(r).call(r,(e=>{var{ip:t,protocol_port:a,weight:r,name:n=null,subnet_id:l}=e.ip_address,o={weight:r,protocol_port:a,address:t,name:n,subnet_id:l};i.push(o)})),this.memberStore.batchUpdate({default_pool_id:a,data:(0,p.default)(i,I.default)})}))}get name(){return t("Add Member")}init(){this.store=new _.PortStore,this.memberStore=new g.PoolMemberStore,this.lbDetail={},this.state={ports:[]}}componentDidMount(){this.getMember(),y.default.fetchDetail({id:this.props.containerProps.match.params.loadBalancerId}).then((e=>(this.lbDetail=e,this.store.fetchList()))).then((e=>{this.setState({ports:(0,s.default)(e).call(e,(e=>"network:dhcp"!==e.device_owner&&"network:router_gateway"!==e.device_owner))})}))}static get modalSize(){return"large"}getMember(){var e=this;return(0,u.default)((function*(){var{default_pool_id:t}=e.item;yield e.memberStore.fetchList({pool_id:t})}))()}getModalSize(){return"large"}get item(){var{item:e}=this.props;return e||this.containerProps.detail}get defaultValue(){return{}}get tips(){return m.default.createElement("div",{style:{display:"inline-table"}},m.default.createElement("p",{style:{color:globalCSS.primaryColor}},t("The amphora instance is required for load balancing service setup and is not recommended")))}get formItems(){return[{name:"extMembers",type:"member-allocator",lbSubnetId:(0,f.default)(this.lbDetail,"vip_subnet_id",""),isLoading:this.store.list.isLoading,ports:this.state.ports,members:this.memberStore.list.data}]}}a.CreateAction=A,(0,c.default)(A,"id","manage-member"),(0,c.default)(A,"title",t("Add Member")),(0,c.default)(A,"policy","os_load-balancer_api:member:post"),(0,c.default)(A,"allowed",(e=>d.default.resolve("ACTIVE"===e.provisioning_status&&!!e.default_pool_id)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3935:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(86)),o=n(r(63)),s=n(r(54)),d=n(r(35)),u=r(412),c=r(1241),f=n(r(1402)),p=r(36);class m extends c.ModalAction{constructor(){super(...arguments),(0,d.default)(this,"protocolValidator",((e,a)=>{var r,{address:i,protocol_port:n}=this.item;return(0,l.default)(r=f.default.list.data||[]).call(r,(e=>e.address===i&&a===e.protocol_port&&a!==n))?o.default.reject(new Error(t("Invalid IP Address and Port"))):o.default.resolve()})),(0,d.default)(this,"onSubmit",(e=>{var{default_pool_id:t}=this.containerProps.detail,{id:a}=this.item,r=(0,p.toJS)(this.store.list.data),i=(0,s.default)(r).call(r,(t=>{if(t.id===a){var{weight:r,protocol_port:i}=e;t.weight=r,t.protocol_port=i}var{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}=t;return{weight:n,protocol_port:l,address:o,name:s,subnet_id:d}}));return this.store.batchUpdate({default_pool_id:t,data:i})}))}init(){this.state={},this.store=f.default}get name(){return t("edit member")}get defaultValue(){var{weight:e,protocol_port:t}=this.item;return e&&t&&this.formRef.current&&this.formRef.current.setFieldsValue({weight:e,protocol_port:t}),{weight:e,protocol_port:t}}get formItems(){return[{name:"weight",label:t("Weight"),type:"input-number",required:!0},{name:"protocol_port",label:t("Port"),type:"input-number",required:!0,validator:this.protocolValidator}]}}a.Edit=m,(0,d.default)(m,"id","member-edit"),(0,d.default)(m,"title",t("Edit Member")),(0,d.default)(m,"buttonText",t("Edit Member")),(0,d.default)(m,"policy","os_load-balancer_api:member:put"),(0,d.default)(m,"allowed",(e=>o.default.resolve("ACTIVE"===e.provisioning_status)));var h=(0,u.inject)("rootStore")((0,u.observer)(m));a.default=h},3936:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPN=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3937)),u=n(r(3942)),c=n(r(3947)),f=n(r(3952)),p=n(r(3957));class m extends o.default{get name(){return t("VPN")}get checkEndpoint(){return!0}get endpoint(){return(0,s.vpnEndpoint)()}get tabs(){return[{title:t("VPN Gateways"),key:"vpn_gateway",component:d.default},{title:t("VPN EndPoint Groups"),key:"vpn_endpoint_groups",component:u.default},{title:t("IKE Policies"),key:"ike_policy",component:c.default},{title:t("IPsec Policies"),key:"ipsec_policy",component:f.default},{title:t("IPsec Site Connections"),key:"ipsec_site_connections",component:p.default}]}}a.VPN=m;var h=(0,l.inject)("rootStore")((0,l.observer)(m));a.default=h},3937:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.VPNGateway=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1358),u=r(1321),c=r(418),f=r(3938);class p extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[c.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("External IP"),dataIndex:"null",render:(e,t)=>t.external_v4_ip||t.external_v6_ip},{title:t("Router ID"),dataIndex:"router_id",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnServicesStore,this.downloadStore=new d.VpnServicesStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_vpnservice"}get name(){return t("vpn services")}get hasTab(){return!0}get adminPageHasProjectFilter(){return!0}get actionConfigs(){return this.isAdminPage?f.adminConfigs:f.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:u.vpnStatusOptions},{label:t("Router ID"),name:"router_id"},{label:t("External IP(V4)"),name:"external_v4_ip"},{label:t("External IP(V6)"),name:"external_v6_ip"}]}}a.VPNGateway=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3938:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3939)),l=i(a(3940)),o=i(a(3941)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3939:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=r(1241),g=r(575),_=f(r(1358)),b=r(1267);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{name:t,description:a,router_id:r}=e;return _.default.create({name:t,description:a,router_id:r.selectedRowKeys[0]})}))}get name(){return t("create vpn")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new g.RouterStore}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},I(I({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,b.getRouterSelectTablePropsBackend)(this)),{},{disabledFunc:e=>!e.external_gateway_info,required:!0})]}}a.Create=A,(0,m.default)(A,"id","create-vpn"),(0,m.default)(A,"title",t("Create VPN")),(0,m.default)(A,"buttonText",t("Create")),(0,m.default)(A,"policy","create_vpnservice"),(0,m.default)(A,"allowed",(()=>p.default.resolve(!0)));var S=(0,h.inject)("rootStore")((0,h.observer)(A));a.default=S},3940:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1358));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn"),(0,o.default)(c,"title",t("Edit VPN")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_vpnservice"),(0,o.default)(c,"allowed",(e=>"ACTIVE"!==e.status?l.default.resolve(!1):l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3941:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1358)),m=n(r(133)),h=n(r(1275));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_vpnservice"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield h.default.fetchList({vpnservice_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the vpn gateway is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpnservice"}get title(){return t("Delete VPN")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn")}isCurrentProject(e){var t=m.default;return!(!f.checkSystemAdmin&&e.project_id!==t.user.project.id)}}a.default=v},3942:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.EndpointGroup=void 0;var s=o(r(77)),d=o(r(54)),u=o(r(63));r(347);var c=o(r(348));r(1246);var f=o(r(1247));r(1244);var p=o(r(1245)),m=o(r(49));r(589);var h=o(r(590)),v=o(r(610)),g=o(r(35)),_=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=x(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(0)),b=r(412),y=o(r(1242)),I=r(1359),A=(r(161),r(564),r(417)),S=r(418),w=r(3943);function x(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(x=function(e){return e?a:t})(e)}class P extends y.default{constructor(){super(...arguments),(0,g.default)(this,"getColumns",(()=>[S.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Type"),dataIndex:"type",isHideable:!0,render:e=>{switch(e){case"subnet":return t("Local");case"cidr":return t("Peer");default:return""}}},{title:t("Endpoint Counts"),dataIndex:"endpoints",render:(e,a)=>{var r=_.default.createElement(C,{record:a});return _.default.createElement(_.default.Fragment,null,e.length," ",_.default.createElement(h.default,{content:r,title:"cidr"===a.type?t("Peer Network"):t("Local Network"),destroyTooltipOnHide:!0},_.default.createElement(v.default,null)))},stringify:e=>{var t;return(0,s.default)(t="".concat(e.length,"(")).call(t,e.join(","),")")}}]))}init(){this.store=new I.VpnEndPointGroupStore,this.downloadStore=new I.VpnEndPointGroupStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_endpoint_group"}get aliasPolicy(){return"neutron:get_endpoint_group"}get name(){return t("vpn endpoint groups")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?w.adminConfigs:w.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"}]}}function C(e){var{record:t}=e,{type:a,endpoints:r}=t,[i,n]=(0,_.useState)([]);return(0,_.useEffect)((()=>{"subnet"===a&&0===i.length&&(0,m.default)((function*(){var e=(0,d.default)(r).call(r,(e=>(new A.SubnetStore).fetchDetail({id:e}))),t=yield u.default.all(e);n(t)}))()})),"cidr"===a?_.default.createElement(f.default,null,(0,d.default)(r).call(r,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},e)}))):0===i.length?_.default.createElement(c.default,null):_.default.createElement(f.default,{style:{maxWidth:550}},(0,d.default)(i).call(i,(e=>{var a;return _.default.createElement(p.default,{span:24,key:(0,s.default)(a="".concat(e,"_")).call(a,t.id)},_.default.createElement(f.default,{gutter:24},_.default.createElement(p.default,{span:6},e.name),_.default.createElement(p.default,{span:6},e.cidr),_.default.createElement(p.default,{span:12},e.id)))})))}a.EndpointGroup=P;var E=(0,b.inject)("rootStore")((0,b.observer)(P));a.default=E},3943:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3944)),l=i(a(3945)),o=i(a(3946)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3944:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(29)),m=f(r(1390)),h=f(r(232)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=r(1241),A=r(565),S=r(575),w=r(417),x=f(r(1359)),P=r(1267),C=r(1273);function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;t{var{type:t}=this.state,{name:a,description:r}=e,i=(0,_.default)(e,["name","description"]),n={name:a,description:r,type:t};if("subnet"===t){var{subnet_id:l}=i;n.endpoints=l.selectedRowKeys}else if("cidr"===t){var{endpoints:o}=i;n.endpoints=o.split("\n")}return x.default.create(n)})),(0,b.default)(this,"handleRouterChange",function(){var t=(0,g.default)((function*(t){var a;e.setState({subnetLoading:!0});var r=yield(0,C.getPortsWithFixedIPs)(),i=(0,C.getSubnetToRouter)(r,t.selectedRows,!1);e.setState({subnets:(0,p.default)(a=e.allSubnets).call(a,(e=>(0,m.default)(i).call(i,(t=>t.subnet_id===e.id))>-1)),subnetLoading:!1}),e.formRef.current.resetFields(["subnet_id"])}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("create vpn endpoint group")}static get modalSize(){return"large"}getModalSize(){return"large"}init(){this.routerStore=new S.RouterStore,this.subnetStore=new w.SubnetStore,this.state={subnets:[],type:"subnet",subnetLoading:!0},this.getAllSubnets()}getAllSubnets(){var e=this;return(0,g.default)((function*(){e.allSubnets=yield e.subnetStore.pureFetchList(),e.setState({subnetLoading:!1})}))()}get defaultValue(){return{type:"subnet"}}get formItems(){var{subnets:e,type:a,subnetLoading:r}=this.state,i="subnet"===a;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"type",label:t("Type"),type:"select",required:!0,options:[{label:t("Peer"),value:"cidr"},{label:t("Local"),value:"subnet"}],onChange:e=>{this.setState({type:e})}},D(D({name:"router_id",label:t("Router"),type:"select-table",backendPageStore:this.routerStore,extraParams:{project_id:this.currentProjectId}},(0,P.getRouterSelectTablePropsBackend)(this)),{},{required:!0,onChange:this.handleRouterChange,hidden:!i}),{name:"subnet_id",label:t("Subnet"),type:"select-table",data:e,isLoading:r,isMulti:!0,columns:[{title:t("Name"),dataIndex:"name",isLink:!0},{title:t("CIDR"),dataIndex:"cidr"}],required:!0,hidden:!i},{name:"endpoints",label:t("Peer Network Segment"),type:"textarea",validator:(e,a)=>{var r;return(0,h.default)(r=a.split("\n")).call(r,(e=>!k(e)&&!R(e)))?v.default.reject(new Error(t("Invalid: CIDR Format Error(e.g. 10.10.10.0/24)"))):v.default.resolve(!0)},extra:t("Please fill in the peer network segment and subnet mask of CIDR format, the written subnets should be under the same router, one per line."),hidden:i,required:!0}]}}a.Create=N,(0,b.default)(N,"id","create-vpn-endpoint-group"),(0,b.default)(N,"title",t("Create VPN Endpoint Group")),(0,b.default)(N,"buttonText",t("Create")),(0,b.default)(N,"policy","create_endpoint_group"),(0,b.default)(N,"aliasPolicy","neutron:create_endpoint_group"),(0,b.default)(N,"allowed",(()=>v.default.resolve(!0)));var j=(0,y.inject)("rootStore")((0,y.observer)(N));a.default=j},3945:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(1359));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return u.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=c,(0,o.default)(c,"id","edit-vpn-endpoint-groups"),(0,o.default)(c,"title",t("Edit VPN EndPoint Groups")),(0,o.default)(c,"buttonText",t("Edit")),(0,o.default)(c,"policy","update_endpoint_group"),(0,o.default)(c,"aliasPolicy","neutron:update_endpoint_group"),(0,o.default)(c,"allowed",(()=>l.default.resolve(!0)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3946:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1359)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_endpoint_group"),(0,u.default)(this,"aliasPolicy","neutron:delete_endpoint_group"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r;switch(a.type){case"cidr":r={peer_ep_group_id:a.id};break;case"subnet":r={local_ep_group_id:a.id}}var i,n=yield m.default.fetchList(r);return n.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(i="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(i,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(n).call(n,(e=>e.name)).join(", "),ids:(0,o.default)(n).call(n,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-endpoint-group"}get title(){return t("Delete VPN EndPoint Groups")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn endpoint groups")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3947:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IKEPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1337),m=r(1321),h=r(418),v=r(3948);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("IKE Version"),dataIndex:"ike_version",isHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIKEPolicyStore,this.downloadStore=new p.VpnIKEPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ikepolicy"}get name(){return t("vpn IKE policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("IKE Version"),name:"ike_version",options:m.ikePolicyIKEVersionOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IKEPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3948:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3949)),l=i(a(3950)),o=i(a(3951)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3949:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1337)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3950:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1337)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t,canSubmit:a}=e,r=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue","canSubmit"]));return I.default.update({id:this.item.id},r)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ikepolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t}=e;return w(w({},(0,v.default)(e,["lifetime"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,{canSubmit:n}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return n?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:n},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(a=["3des","aes-128","aes-192","aes-256"]).call(a,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(r=["group2","group5","group14"]).call(r,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"ike_version",label:t("IKE Version"),type:"select",options:(0,h.default)(i=["v1","v2"]).call(i,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ike-policy"),(0,g.default)(x,"title",t("Edit VPN IKE Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ikepolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3951:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1337)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ikepolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ikepolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ike-policy"}get title(){return t("Delete VPN IKE Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IKE policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3952:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecPolicy=void 0;var l=n(r(54)),o=n(r(32)),s=n(r(77)),d=n(r(35)),u=n(r(0)),c=r(412),f=n(r(1242)),p=r(1338),m=r(1321),h=r(418),v=r(3953);class g extends f.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[h.idNameColumn,{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Auth Algorithm"),dataIndex:"auth_algorithm",isHideable:!0},{title:t("Encapsulation Mode"),dataIndex:"encapsulation_mode",isHideable:!0},{title:t("Encryption Algorithm"),dataIndex:"encryption_algorithm",isHideable:!0},{title:t("Transform Protocol"),dataIndex:"transform_protocol",idHideable:!0},{title:t("Lifetime"),dataIndex:"lifetime",isHideable:!0,render:e=>{var t;return u.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,l.default)(t=(0,o.default)(e)).call(t,((t,a)=>{var r,i;return u.default.createElement("li",{key:(0,s.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,s.default)(i="".concat(t,": ")).call(i,e[t]))})))},stringify:e=>{var t;return(0,l.default)(t=(0,o.default)(e)).call(t,(t=>{var a;return(0,s.default)(a="".concat(t,": ")).call(a,e[t])})).join(" | ")}},{title:t("PFS"),dataIndex:"pfs",isHideable:!0}]))}init(){this.store=new p.VpnIPsecPolicyStore,this.downloadStore=new p.VpnIPsecPolicyStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsecpolicy"}get name(){return t("vpn IPsec policy")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?v.adminConfigs:v.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Auth Algorithm"),name:"auth_algorithm",options:m.authAlgorithmOptions},{label:t("Encapsulation Mode"),name:"encapsulation_mode",options:m.ipsecPolicyEncapsulationModeOptions},{label:t("Encryption Algorithm"),name:"encryption_algorithm",options:m.encryptionAlgorithmOptions},{label:t("Transform Protocol"),name:"transform_protocol",options:m.ipsecPolicyTransformProtocolOptions},{label:t("PFS"),name:"pfs",options:m.pfsOptions}]}}a.IPsecPolicy=g;var _=(0,c.inject)("rootStore")((0,c.observer)(g));a.default=_},3953:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.adminConfigs=t.actionConfigs=void 0;var n=i(a(3954)),l=i(a(3955)),o=i(a(3956)),s={rowActions:{firstAction:l.default,moreActions:[{action:o.default}]},batchActions:[o.default],primaryActions:[n.default]};t.actionConfigs=s;var d={rowActions:{moreActions:[{action:o.default}]},batchActions:[o.default]};t.adminConfigs=d},3954:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(58)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(1338)),b=r(1321);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class I extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>{var{lifetimeValue:t}=e,a=function(e){for(var t=1;tp.default.resolve(!0)));var A=(0,v.inject)("rootStore")((0,v.observer)(I));a.default=A},3955:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(77)),h=f(r(54)),v=f(r(58)),g=f(r(35)),_=f(r(0)),b=r(412),y=r(1241),I=f(r(1338)),A=f(r(1275));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{lifetimeValue:t}=e,a=w({lifetime:{units:"seconds",value:t}},(0,v.default)(e,["lifetimeValue"]));return I.default.update({id:this.item.id},a)}))}init(){this.state={canSubmit:!0,connections:[]},A.default.fetchList({ipsecpolicy_id:this.item.id}).then((e=>{e.length>0&&this.setState({canSubmit:!1,connections:e})}))}get defaultValue(){var e=this.item,{lifetime:t,canSubmit:a}=e;return w(w({},(0,v.default)(e,["lifetime","canSubmit"])),{},{lifetimeValue:t.value})}get formItems(){var e,a,r,i,n,{canSubmit:l}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"canSubmit",label:t("Status"),component:_.default.createElement(_.default.Fragment,null,t("In Use")),validator:()=>{var e,{connections:a}=this.state;return l?p.default.resolve(!0):p.default.reject(new Error((0,m.default)(e="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:this.name,name:this.item.name,reason:t("the policy is in use")}),"\n\n ")).call(e,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,h.default)(a).call(a,(e=>e.name)).join(", "),ids:(0,h.default)(a).call(a,(e=>e.id)).join(", ")}))))},hidden:l},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"auth_algorithm",label:t("Auth Algorithm"),type:"select",options:(0,h.default)(e=["sha1","sha256","sha384","sha512"]).call(e,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"encapsulation_mode",label:t("Encapsulation Mode"),type:"select",options:(0,h.default)(a=["tunnel","transport"]).call(a,(e=>({label:e,value:e}))),required:!0},{name:"encryption_algorithm",label:t("Encryption Algorithm"),type:"select",options:(0,h.default)(r=["3des","aes-128","aes-192","aes-256"]).call(r,(e=>({label:e.toUpperCase(),value:e}))),required:!0},{name:"pfs",label:t("PFS"),type:"select",options:(0,h.default)(i=["group2","group5","group14"]).call(i,(e=>({label:e,value:e}))),required:!0},{name:"lifetimeValue",label:t("Lifetime Value"),type:"input-number",min:0,required:!0},{name:"transform_protocol",label:t("Transform Protocol"),type:"select",options:(0,h.default)(n=["esp","ah","ah-esp"]).call(n,(e=>({label:e,value:e}))),required:!0}]}}a.Edit=x,(0,g.default)(x,"id","edit-vpn-ipsec-policy"),(0,g.default)(x,"title",t("Edit VPN IPsec Policy")),(0,g.default)(x,"buttonText",t("Edit")),(0,g.default)(x,"policy","update_ipsecpolicy"),(0,g.default)(x,"allowed",(()=>p.default.resolve(!0)));var P=(0,b.inject)("rootStore")((0,b.observer)(x));a.default=P},3956:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(77)),o=n(r(54)),s=n(r(63)),d=n(r(49)),u=n(r(35)),c=r(1241),f=r(1251),p=n(r(1338)),m=n(r(1275)),h=n(r(133));class v extends c.ConfirmAction{constructor(){var e;super(...arguments),e=this,(0,u.default)(this,"policy","delete_ipsecpolicy"),(0,u.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,u.default)(this,"onSubmit",function(){var a=(0,d.default)((function*(a){var r,i=yield m.default.fetchList({ipsecpolicy_id:a.id});return i.length>0?(e.showConfirmErrorBeforeSubmit=!0,e.confirmErrorMessageBeforeSubmit=(0,l.default)(r="".concat(t("Unable to {action}, because : {reason}, instance: {name}.",{action:e.actionName||e.title,name:a.name,reason:t("the policy is in use")}),"\n\n ")).call(r,t("Used by tunnel(s): {names}. ID(s): {ids}",{names:(0,o.default)(i).call(i,(e=>e.name)).join(", "),ids:(0,o.default)(i).call(i,(e=>e.id)).join(", ")})),s.default.reject({errorMsg:e.confirmErrorMessageBeforeSubmit})):p.default.delete(a)}));return function(e){return a.apply(this,arguments)}}())}get id(){return"delete-vpn-ipsec-policy"}get title(){return t("Delete VPN IPsec Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete vpn IPsec policy")}isCurrentProject(e){var t=h.default;return!(!(0,f.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=v},3957:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=n(r(35)),o=r(412),s=n(r(1242)),d=r(1275),u=r(1321),c=r(1643);class f extends s.default{constructor(){super(...arguments),(0,l.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("ipsecDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",render:e=>e||"-",isHideable:!0},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id",isHideable:!0},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id",isHideable:!0},{title:t("Peer Address"),dataIndex:"peer_address",isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:u.vpnStatus}]))}init(){this.store=new d.VpnIPsecConnectionStore,this.downloadStore=new d.VpnIPsecConnectionStore}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get policy(){return"get_ipsec_site_connection"}get name(){return t("ipsec site connection")}get adminPageHasProjectFilter(){return!0}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Local Endpoint Group ID"),name:"local_ep_group_id"},{label:t("Peer Endpoint Group ID"),name:"peer_ep_group_id"},{label:t("Peer Address"),name:"peer_address"},{label:t("Status"),name:"status",options:u.vpnStatusOptions}]}}a.IPsecSiteConnection=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3958:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(77)),g=f(r(86));r(1246);var _=f(r(1247));r(1244);var b=f(r(1245));r(426);var y=f(r(429)),I=f(r(49)),A=f(r(58)),S=f(r(35)),w=f(r(607)),x=f(r(0)),P=r(412),C=r(1241),E=r(565),D=f(r(1358)),k=f(r(1337)),R=f(r(1338)),N=f(r(1359)),j=(r(161),f(r(1275))),M=f(r(3959));function T(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function B(e){for(var t=1;t{var t=(0,w.default)({},this.defaultValue,e),{interval:a,timeout:r,action:i,password:n,confirmPassword:l,more:o}=t,s=(0,A.default)(t,["interval","timeout","action","password","confirmPassword","more"]),d=B(B({},s),{},{psk:n,peer_id:s.peer_address,dpd:{interval:a,timeout:r,action:i}});return j.default.create(d)}))}get name(){return t("create ipsec site connection")}init(){this.vpnServiceStore=D.default,this.ikePolicyStore=k.default,this.ipsecPolicyStore=R.default,this.endpointGroupStore=N.default,this.fetchData()}fetchData(){var e=this;return(0,I.default)((function*(){yield p.default.all([e.vpnServiceStore.fetchList(),e.ikePolicyStore.fetchList(),e.ipsecPolicyStore.fetchList(),e.endpointGroupStore.fetchList()])}))()}get defaultValue(){return{mtu:1500,initiator:"bi-directional",action:"hold",interval:30,timeout:120}}get formItems(){var e,a,r,i,n,l,o,s,d,u,c,{local_ep_group_id:f,peer_ep_group_id:I,more:A}=this.state;return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1},{name:"vpnservice_id",label:t("VPN Service"),type:"select",options:(0,m.default)(e=this.vpnServiceStore.list.data).call(e,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ikepolicy_id",label:t("IKE Policy"),type:"select",options:(0,m.default)(a=this.ikePolicyStore.list.data).call(a,(e=>({label:e.name,value:e.id}))),required:!0},{name:"ipsecpolicy_id",label:t("IPsec Policy"),type:"select",options:(0,m.default)(r=this.ipsecPolicyStore.list.data).call(r,(e=>({label:e.name,value:e.id}))),required:!0},{name:"local_ep_group_id",label:t("Local Endpoint Group"),type:"select",options:(0,m.default)(i=(0,h.default)(n=this.endpointGroupStore.list.data).call(n,(e=>"subnet"===e.type))).call(i,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({local_ep_group_id:e})},required:!0},{name:"local_subnet",type:"label",label:t("Local Subnet"),component:x.default.createElement(M.default,{data:this.endpointGroupStore.list.data,local_ep_group_id:f})},{name:"peer_address",type:"input",label:t("Peer Gateway Public Address"),extra:t("Peer gateway public address for the IPsec site connection"),validator:(e,a)=>{var r;return F(a)||L(a)?p.default.resolve():p.default.reject(new Error((0,v.default)(r="".concat(t("Invalid")," ")).call(r,t("Peer Gateway Public Address"))))},required:!0},{name:"peer_ep_group_id",label:t("Peer Endpoint Group"),type:"select",options:(0,m.default)(l=(0,h.default)(o=this.endpointGroupStore.list.data).call(o,(e=>"cidr"===e.type))).call(l,(e=>({label:e.name,value:e.id}))),onChange:e=>{this.setState({peer_ep_group_id:e})},required:!0},{name:"peer_cidrs",type:"label",label:t("Peer Cidrs"),component:x.default.createElement(_.default,null,I?(0,m.default)(s=(0,g.default)(d=this.endpointGroupStore.list.data).call(d,(e=>e.id===I)).endpoints).call(s,(e=>x.default.createElement(b.default,{span:24},e))):x.default.createElement(b.default,{span:24},x.default.createElement(y.default,null)))},{name:"password",type:"input-password",label:t("Pre-Shared Key(PSK) String"),otherRule:(0,E.getPasswordOtherRule)("password","instance"),required:!0},{name:"confirmPassword",type:"input-password",label:t("Confirm Shared Key"),otherRule:(0,E.getPasswordOtherRule)("confirmPassword","instance",void 0,t("Pre-Shared Key must be the same with Confirm Shared Key.")),required:!0},{name:"mtu",type:"input-number",label:t("MTU"),min:68,tip:t("The maximum transmission unit (MTU) value to address fragmentation. Minimum value is 68 for IPv4, and 1280 for IPv6."),required:!0,hidden:!A},{name:"initiator",label:t("Initiator Mode"),type:"select",options:(0,m.default)(u=["bi-directional","response-only"]).call(u,(e=>({label:e,value:e}))),tip:t("Indicates whether this VPN can only respond to connections or both respond to and initiate connections."),required:!0,hidden:!A},{name:"action",label:t("DPD Action"),type:"select",options:(0,m.default)(c=["clear","hold","restart","disabled","restart-by-peer"]).call(c,(e=>({label:e,value:e}))),tip:t("DPD actions controls the use of Dead Peer Detection Protocol."),required:!0,hidden:!A},{name:"interval",type:"input-number",label:t("DPD Interval (sec)"),min:0,tip:t("Sec for DPD delay, > 0"),required:!0,hidden:!A},{name:"timeout",type:"input-number",label:t("DPD timeout (sec)"),min:0,tip:t("Sec for DPD timeout, > 0 & > DPD Interval"),required:!0,hidden:!A},{name:"more",label:t("Advanced Options"),type:"more"}]}}a.Create=O,(0,S.default)(O,"id","create-ipsec-site-connection"),(0,S.default)(O,"title",t("Create IPsec Site Connection")),(0,S.default)(O,"buttonText",t("Create")),(0,S.default)(O,"policy","create_ipsec_site_connection"),(0,S.default)(O,"allowed",(()=>p.default.resolve(!0)));var Q=(0,P.inject)("rootStore")((0,P.observer)(O));a.default=Q},3959:function(e,t,a){"use strict";var r=a(162),i=a(20),n=a(25),l=a(21);i(t,"__esModule",{value:!0}),t.default=void 0;var o=l(a(86)),s=l(a(54)),d=l(a(63));a(347);var u=l(a(348));a(1244);var c=l(a(1245));a(426);var f=l(a(429)),p=l(a(49)),m=l(a(119)),h=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=_(t);if(a&&a.has(e))return a.get(e);var r={},l=i&&n;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=l?n(e,o):null;s&&(s.get||s.set)?i(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(a(0)),v=l(a(16)),g=(a(161),a(417));function _(e){if("function"!=typeof r)return null;var t=new r,a=new r;return(_=function(e){return e?a:t})(e)}class b extends h.Component{constructor(e){super(e),this.state={subnets:[],isLoading:!0}}componentDidUpdate(e){var{local_ep_group_id:t}=this.props,{local_ep_group_id:a}=e;t!==a&&this.getSubnets()}get currentEndpoints(){var{data:e,local_ep_group_id:t}=this.props;return(0,m.default)((0,o.default)(e).call(e,(e=>e.id===t)),"endpoints",[])}getSubnets(){var e=this;return(0,p.default)((function*(){var t;e.setState({isLoading:!0});var a=(0,s.default)(t=e.currentEndpoints).call(t,(e=>(new g.SubnetStore).fetchDetail({id:e}))),r=yield d.default.all(a);e.setState({subnets:r,isLoading:!1})}))()}render(){var e,{local_ep_group_id:t}=this.props,{subnets:a,isLoading:r}=this.state;return t?r?h.default.createElement(c.default,null,h.default.createElement(u.default,null)):h.default.createElement(h.default.Fragment,null,(0,s.default)(e=this.currentEndpoints).call(e,((e,t)=>h.default.createElement(c.default,{span:24,key:"cep_".concat(t)},(0,m.default)(a[t],"cidr"))))):h.default.createElement(c.default,null,h.default.createElement(f.default,null))}}b.propTypes={data:v.default.array,local_ep_group_id:v.default.string},b.defaultProps={data:[],local_ep_group_id:void 0};var y=b;t.default=y},3960:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(63)),o=n(r(91)),s=n(r(35)),d=r(412),u=r(1241),c=n(r(1275)),f=["ACTIVE","DOWN"];class p extends u.ModalAction{constructor(){super(...arguments),(0,s.default)(this,"onSubmit",(e=>{var{name:t,description:a}=e;return c.default.update({id:this.item.id},{name:t,description:a})}))}get defaultValue(){return{name:this.item.name,description:this.item.description}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea",required:!1}]}}a.Edit=p,(0,s.default)(p,"id","edit-ipsec-site-connection"),(0,s.default)(p,"title",t("Edit IPsec Site Connection")),(0,s.default)(p,"buttonText",t("Edit")),(0,s.default)(p,"policy","update_ipsec_site_connection"),(0,s.default)(p,"allowed",(e=>l.default.resolve((0,o.default)(f).call(f,e.status)>-1)));var m=(0,d.inject)("rootStore")((0,d.observer)(p));a.default=m},3961:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=r(1251),d=n(r(1275)),u=n(r(133));class c extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_ipsec_site_connection"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isCurrentProject(e))),(0,l.default)(this,"onSubmit",(e=>d.default.delete(e)))}get id(){return"delete-ipsec-site-connection"}get title(){return t("Delete IPsec Site Connection")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete ipsec site connection")}isCurrentProject(e){var t=u.default;return!(!(0,s.checkSystemAdmin)()&&e.project_id!==t.user.project.id)}}a.default=c},3962:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.IPsecSiteConnection=void 0;var l=r(412),o=n(r(1243)),s=r(1275),d=r(1321),u=n(r(3963)),c=r(1643);class f extends o.default{init(){this.store=new s.VpnIPsecConnectionStore}get name(){return t("IPsec Site Connection")}get policy(){return"get_ipsec_site_connection"}get listUrl(){return this.getRoutePath("vpn",null,{tab:"ipsec_site_connections"})}get actionConfigs(){return this.isAdminPage?c.adminConfigs:c.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"project_id",hidden:!this.isAdminPage},{title:t("VPN Service ID"),dataIndex:"vpnservice_id"},{title:t("Status"),dataIndex:"status",valueMap:d.vpnStatus},{title:t("Local Endpoint Group ID"),dataIndex:"local_ep_group_id"},{title:t("Peer Endpoint Group ID"),dataIndex:"peer_ep_group_id"},{title:t("Peer Address"),dataIndex:"peer_address"},{title:t("Peer ID"),dataIndex:"peer_id"},{title:t("Admin State"),dataIndex:"admin_state_up",valueRender:"yesNo"},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Detail"),key:"detail",component:u.default}]}}a.IPsecSiteConnection=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3963:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var p=f(r(54)),m=f(r(32)),h=f(r(77)),v=f(r(49)),g=f(r(35)),_=r(412),b=f(r(1249)),y=r(1275),I=f(r(0)),A=r(36);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class w extends b.default{constructor(){var e;super(...arguments),e=this,(0,g.default)(this,"fetchData",function(){var t=(0,v.default)((function*(t){e.store.fetchDetailWithPolicyDetail(function(e){for(var t=1;te||"-"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("IKE Version"),dataIndex:"ike_version"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IKE Policy"),options:e,sourceData:this.detailData.ikeDetail}}get ipsecInfoCard(){var e=[{label:t("Name"),dataIndex:"name"},{label:t("Description"),dataIndex:"description"},{label:t("Auth Algorithm"),dataIndex:"auth_algorithm"},{label:t("Encapsulation Mode"),dataIndex:"encapsulation_mode"},{label:t("Encryption Algorithm"),dataIndex:"encryption_algorithm"},{label:t("Transform Protocol"),dataIndex:"transform_protocol"},{label:t("Lifetime"),dataIndex:"lifetime",render:e=>{var t;return e&&I.default.createElement("ul",{style:{listStyle:"none",paddingLeft:0}},(0,p.default)(t=(0,m.default)(e)).call(t,((t,a)=>{var r,i;return I.default.createElement("li",{key:(0,h.default)(r="".concat(a,"_")).call(r,e[t],"_lifeTime")},(0,h.default)(i="".concat(t,": ")).call(i,e[t]))})))}},{label:t("PFS"),dataIndex:"pfs"}];return{title:t("IPsec Policy"),options:e,sourceData:this.detailData.ipsecDetail}}get advancedInfo(){var e=[{label:t("MTU"),dataIndex:"mtu"},{label:t("Initiator Mode"),dataIndex:"initiator"},{label:t("DPD Action"),dataIndex:"dpd",render:e=>e&&e.action},{label:t("DPD Interval (sec)"),dataIndex:"dpd",render:e=>e&&e.interval},{label:t("DPD timeout (sec)"),dataIndex:"dpd",render:e=>e&&e.timeout}];return{title:t("Advanced Params"),options:e}}}a.BaseDetail=w;var x=(0,_.inject)("rootStore")((0,_.observer)(w));a.default=x},3964:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.SecurityGroups=void 0;var s=o(r(164)),d=o(r(35)),u=r(412),c=o(r(1242)),f=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(419)),p=r(342),m=o(r(1644));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends c.default{constructor(){super(...arguments),(0,d.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("securityGroupDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=f.default,this.downloadStore=new f.SecurityGroupStore}get policy(){return"get_security_group"}get name(){return t("security groups")}get isRecycleBinDetail(){var e;return this.inDetailPage&&(0,s.default)(e=this.path).call(e,"recycle-bin")}get actionConfigs(){return this.isRecycleBinDetail?p.emptyActionConfig:this.isAdminPage?m.default.actionConfigsAdmin:m.default.actionConfigs}get isFilterByBackend(){return!0}get fetchDataByCurrentProject(){return!0}get adminPageHasProjectFilter(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.SecurityGroups=v;var g=(0,u.inject)("rootStore")((0,u.observer)(v));a.default=g},3965:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var p=f(r(63)),m=f(r(49)),h=f(r(35)),v=r(412),g=r(1241),_=f(r(419)),b=f(r(340));function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{left:a=0}=e||{},{left:r=0}=t||{};return 0!==a&&(r>=2||-1===r)?1:0};class S extends g.ModalAction{constructor(){super(...arguments),(0,h.default)(this,"onSubmit",(e=>_.default.create(e)))}get name(){return t("Create security group")}init(){this.state.groupQuota={},this.state.ruleQuota={},this.state.quotaLoading=!0,this.projectStore=b.default,this.getQuota()}static get disableSubmit(){var{neutronQuota:{security_group:e={},security_group_rule:t={}}={}}=b.default;return 0===A(e,t)}static get showQuota(){return!0}get showQuota(){return!0}getQuota(){var e=this;return(0,m.default)((function*(){var t=yield e.projectStore.fetchProjectNeutronQuota(),{security_group:a={},security_group_rule:r={}}=t||{};e.setState({groupQuota:a,ruleQuota:r,quotaLoading:!1})}))()}get tips(){return t("This operation creates a security group with default security group rules for the IPv4 and IPv6 ether types.")}get quotaInfo(){var{groupQuota:e={},ruleQuota:a={},quotaLoading:r}=this.state;if(r)return[];var i=A(e,a);return[I(I({},e),{},{add:i,name:"security_group",title:t("Security Group")}),I(I({},a),{},{add:2*i,name:"security_group_rule",title:t("Security Group Rule"),type:"line"})]}get defaultValue(){return{}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.CreateAction=S,(0,h.default)(S,"id","create"),(0,h.default)(S,"title",t("Create Security Group")),(0,h.default)(S,"policy","create_security_group"),(0,h.default)(S,"allowed",(()=>p.default.resolve(!0)));var w=(0,v.inject)("rootStore")((0,v.observer)(S));a.default=w},3966:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.EditAction=void 0;var l=n(r(63)),o=n(r(35)),s=r(412),d=r(1241),u=n(r(419));class c extends d.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return u.default.edit({id:t},e)}))}get defaultValue(){var{name:e,description:t}=this.item;return{name:e,description:t}}get formItems(){return[{name:"name",label:t("Name"),type:"input-name",placeholder:t("Please input name"),required:!0,withoutChinese:!0},{name:"description",label:t("Description"),type:"textarea"}]}}a.EditAction=c,(0,o.default)(c,"id","edit"),(0,o.default)(c,"title",t("Edit")),(0,o.default)(c,"policy","update_security_group"),(0,o.default)(c,"allowed",(e=>l.default.resolve("default"!==e.name)));var f=(0,s.inject)("rootStore")((0,s.observer)(c));a.default=f},3967:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(419));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_security_group"),(0,l.default)(this,"hasNoProject",(e=>!e.project_name||"-"===e.project_name)),(0,l.default)(this,"allowedCheckFunc",(e=>this.isAdminPage&&this.hasNoProject(e)||"default"!==e.name)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Security Group")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Security Group")}}a.default=d},3968:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.SecurityGroupDetail=void 0;var l=n(r(205)),o=r(412),s=r(419),d=n(r(1243)),u=n(r(3969)),c=n(r(1644));class f extends d.default{get name(){return t("security group")}get policy(){return"get_security_group"}get listUrl(){return this.getRoutePath("securityGroup")}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Rules"),key:"rules",component:u.default}]}init(){this.store=new s.SecurityGroupStore}componentDidUpdate(e){(0,l.default)(this.props.match.params,e.match.params)||this.fetchDataWithPolicy()}}a.SecurityGroupDetail=f;var p=(0,o.inject)("rootStore")((0,o.observer)(f));a.default=p},3969:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Rule=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=f(r(622)),b=r(354),y=r(567),I=f(r(3970));function A(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function S(e){for(var t=1;t(0,b.getSelfColumns)(this)))}init(){this.store=_.default}get policy(){return"get_security_group_rule"}get name(){return t("security group rules")}getDetailUrl(e){var t=this.isAdminPage?"securityGroupDetailAdmin":"securityGroupDetail";return(0,y.getPath)({key:t,params:{id:e}})}get actionConfigs(){return this.isAdminPage?I.default.actionConfigsAdmin:I.default.actionConfigs}get searchFilters(){return b.filterParams}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]),{detail:n={}}=t.props,{id:l}=n;r&&(t.list.silent=!0),l&&(yield t.store.fetchList(S(S({},i),{},{security_group_id:l}))),t.list.silent=!1}))()}}a.Rule=w;var x=(0,v.inject)("rootStore")((0,v.observer)(w));a.default=x},3970:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1645)),l=i(a(3971)),o={actionConfigs:{rowActions:{firstAction:l.default},batchActions:[l.default],primaryActions:[n.default]},actionConfigsAdmin:{rowActions:{firstAction:l.default,moreActions:[]},batchActions:[l.default],primaryActions:[]}};t.default=o},3971:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(234)),o=n(r(77)),s=n(r(35)),d=r(1241),u=n(r(622));class c extends d.ConfirmAction{constructor(){super(...arguments),(0,s.default)(this,"policy","delete_security_group_rule"),(0,s.default)(this,"getItemName",(e=>{var a,r,i;if(e.name)return e.name;var n,s,d,u,{ethertype:c,port_range_min:f,port_range_max:p,protocol:m,remote_group_id:h,remote_ip_prefix:v}=e,g="",_=(0,l.default)(f,10),b=(0,l.default)(p,10),y=m.toLowerCase();_&&(g=_===b?(0,o.default)(s="".concat(_," / ")).call(s,y):(0,o.default)(d=(0,o.default)(u="".concat(_," - ")).call(u,b," / ")).call(d,y));var I="egress"===e.direction?"to":"from";return n=h||(v||t("ANY")),(0,o.default)(a=(0,o.default)(r=(0,o.default)(i="ALLOW ".concat(c," ")).call(i,g," ")).call(r,I," ")).call(a,n)})),(0,s.default)(this,"onSubmit",(e=>u.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("Delete Rule")}}a.default=c},3972:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var l=r(412),o=n(r(1282)),s=n(r(3973));class d extends o.default{get tabs(){return[{title:t("Server Certificates"),key:"SERVER",component:s.default},{title:t("CA Certificates"),key:"CA",component:s.default}]}}a.Certificate=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},3973:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(162),p=r(21);c(a,"__esModule",{value:!0}),a.default=a.Certificate=void 0;var m=p(r(54)),h=p(r(203)),v=p(r(35)),g=p(r(0)),_=r(412),b=p(r(1242)),y=C(r(1335)),I=r(1251),A=C(r(1336)),S=r(1254),w=r(349),x=p(r(1472));function P(e){if("function"!=typeof f)return null;var t=new f,a=new f;return(P=function(e){return e?a:t})(e)}function C(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=P(t);if(a&&a.has(e))return a.get(e);var r={},i=c&&o;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var l=i?o(e,n):null;l&&(l.get||l.set)?c(r,n,l):r[n]=e[n]}return r.default=e,a&&a.set(e,r),r}function E(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function D(e){for(var t=1;tD(D({},e),{},{mode:this.currentMode}))),(0,v.default)(this,"getColumns",(()=>[{title:this.showDetail?t("ID/Name"):t("Name"),dataIndex:"name",routeName:this.showDetail?this.getRouteName(this.routeLinkPath):null},{title:t("Certificate Type"),dataIndex:"mode",valueMap:S.certificateMode,isHideable:!0},{title:t("Expires At"),dataIndex:"expiration",valueRender:"toLocalTime",isHideable:!0},{title:t("Domain Name"),dataIndex:"domain",render:e=>e||"-",hidden:"CA"===this.currentMode,isHideable:!0},{title:t("Listener"),dataIndex:"listener",render:e=>e?(0,m.default)(e).call(e,(e=>g.default.createElement("div",{key:e.id},this.getLinkRender("lbListenerDetail",e.name,{loadBalancerId:e.lb,id:e.id},null)))):"-",isHideable:!0,stringify:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(0,m.default)(e).call(e,(e=>e.name)).join(",")||"-"}},{title:t("Status"),dataIndex:"status",valueMap:S.certificateStatus},{title:t("Created At"),dataIndex:"created",valueRender:"toLocalTime",isHideable:!0}]))}init(){"SERVER"===this.currentMode?(this.store=y.default,this.downloadStore=new y.ContainersStore):(this.store=A.default,this.downloadStore=new A.SecretsStore)}get policy(){return["containers:get","secrets:get"]}get aliasPolicy(){return["barbican:containers:get","barbican:secrets:get"]}get showDetail(){return(0,I.checkPolicyRule)("barbican:secret:decrypt")}get name(){return t("certificate")}get hasTab(){return!0}get actionConfigs(){return"SERVER"===this.currentMode?x.default.actionConfigsContainer:x.default.actionConfigsSecret}get currentMode(){var e,t=(0,w.parse)((0,h.default)(e=this.props.location.search).call(e,1)),{tab:a="SERVER"}=t;return a}get routeLinkPath(){return"SERVER"===this.currentMode?"certificateContainerDetail":"certificateSecretDetail"}get searchFilters(){return[{label:t("Name"),name:"name"}]}}a.Certificate=k;var R=(0,_.inject)("rootStore")((0,_.observer)(k));a.default=R},3974:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.CreateAction=void 0;var l=n(r(164)),o=n(r(63)),s=n(r(1277)),d=n(r(203)),u=n(r(29)),c=n(r(35)),f=r(412),p=r(1241),m=r(163),h=r(565),v=r(1254),g=r(3975),_=n(r(1335)),b=n(r(112)),y=r(349);class I extends p.ModalAction{constructor(){super(...arguments),(0,c.default)(this,"validateDomain",((e,a)=>{var r;if((0,l.default)(r=[void 0,null,""]).call(r,a))return o.default.resolve();var i=a.split(","),n=(0,s.default)(i).call(i,(e=>e.length<=100&&(0,h.isDomain)(e)));return i.length>30||!n?o.default.reject(t("Please enter a correct domain, format is refer to the left tip!")):o.default.resolve()})),(0,c.default)(this,"validateCertificateContent",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN CERTIFICATE-----"===i&&"-----END CERTIFICATE-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct certificate content, format is refer to the left tip!"))})),(0,c.default)(this,"validateCertificateKeyPair",((e,a)=>{if(!a)return o.default.reject();var r=a.split(/\n/g),i=r[0],n=r[r.length-1]||r[r.length-2];return"-----BEGIN RSA PRIVATE KEY-----"===i&&"-----END RSA PRIVATE KEY-----"===n?o.default.resolve():o.default.reject(t("Please enter a correct private key, format is refer to the left tip!"))})),(0,c.default)(this,"onSubmit",(e=>this.store.create(e)))}init(){this.store=_.default}get name(){return t("Create Certificate")}static get modalSize(){return"large"}getModalSize(){return"large"}get defaultValue(){return{mode:this.typeTab}}get typeTab(){var{location:{search:e=""}={}}=this.containerProps;return(0,y.parse)((0,d.default)(e).call(e,1)).tab||"SERVER"}get certificateModeOptions(){var e;return(0,u.default)(e=(0,m.getOptions)(v.certificateMode)).call(e,(e=>e.value===this.typeTab))}get certificateContentTip(){return g.certificateContentTip}get certificateKeyPairTip(){return g.certificateKeyPairTip}get formItems(){var{mode:e}=this.state;return[{name:"name",label:t("Certificate Name"),type:"input-name",required:!0,withoutChinese:!0},{name:"mode",label:t("Certificate Type"),type:"radio",options:this.certificateModeOptions},{name:"certificate",label:t("Certificate Content"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".crt,.pem",tip:this.certificateContentTip,required:!0,rows:6},{name:"private_key",label:t("Private Key"),type:"textarea-from-file",placeholder:t("PEM encoding"),accept:".key,.pem",tip:this.certificateKeyPairTip,required:!0,display:"SERVER"===e,rows:6},{name:"domain",label:t("Domain Name"),type:"textarea",placeholder:t("Please input"),maxLength:1024,hidden:"CA"===e,validator:this.validateDomain,tip:t("The domain name can only be composed of letters, numbers, dashes, in A dash cannot be at the beginning or end, and a single string cannot exceed more than 63 characters, separated by dots; At most can support 30 domain names, separated by commas;The length of a single domain name does not exceed 100 characters, and the total length degree does not exceed 1024 characters."),extra:t("If it is an SNI type certificate, a domain name needs to be specified")},{name:"expiration",label:t("Expires At"),type:"date-picker",showToday:!1,disabledDate:e=>e&&e<=(0,b.default)().endOf("d")}]}}a.CreateAction=I,(0,c.default)(I,"id","create-certificate"),(0,c.default)(I,"title",t("Create Certificate")),(0,c.default)(I,"policy",["secrets:post","containers:post"]),(0,c.default)(I,"allowed",(()=>o.default.resolve(!0)));var A=(0,f.inject)("rootStore")((0,f.observer)(I));a.default=A},3975:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.certificateKeyPairTip=a.certificateContentTip=void 0;var l=n(r(0)),o=l.default.createElement("div",null,l.default.createElement("p",null,t('The certificate contains information such as the public key and signature of the certificate. The extension of the certificate is "pem" or "crt", you can directly enter certificate content or upload certificate file.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The format of the certificate content is: by "----BEGIN CERTIFICATE-----" as the beginning,"-----END CERTIFICATE----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateContentTip=o;var s=l.default.createElement("div",null,l.default.createElement("p",null,t('The private key of the certificate, the extension of the private key is "key", you can directly enter the content of the private key file or upload a private key that conforms to the format document.')),l.default.createElement("p",null,t("It is recommended to refer to the following description format, otherwise it may not be effective")),l.default.createElement("p",null,t('The private key content format is: with "-----BEGIN RSA PRIVATE KEY-----" as the beginning,"-----END RSA PRIVATE KEY-----" as the end, 64 characters per line, the last line does not exceed 64 characters, and there cannot be blank lines.')));a.certificateKeyPairTip=s},3976:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1335));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy",["secret:delete","container:delete"]),(0,l.default)(this,"aliasPolicy",["barbican:secret:delete","barbican:container:delete"]),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3977:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1336));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","secret:delete"),(0,l.default)(this,"allowedCheckFunc",(e=>!e.listener)),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete Certificate")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete certificate")}}a.default=d},3978:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1243)),s=r(1335),d=r(1254),u=n(r(3979)),c=n(r(1472));class f extends o.default{init(){this.store=new s.ContainersStore}get policy(){return"container:get"}get aliasPolicy(){return"barbican:container:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"SERVER"})}get actionConfigs(){return c.default.actionConfigsContainer}get detailInfos(){return(0,d.getCertificateColumns)(this)}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:u.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3979:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(86)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get rightCards(){return[this.keyPairCard]}get contentCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"certificate"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:r}}get keyPairCard(){var{secret_refs:e=[]}=this.props.detail,{secret_info:a={}}=(0,l.default)(e).call(e,(e=>"private_key"===e.name))||{},r=[{content:o.default.createElement("pre",null,a.payload),copyable:{text:a.payload}}];return{title:t("Private Key"),labelCol:0,contentCol:24,options:r}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3980:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=n(r(29)),o=r(412),s=n(r(1243)),d=r(1336),u=r(1254),c=n(r(3981)),f=n(r(1472));class p extends s.default{init(){this.store=new d.SecretsStore}get policy(){return"secret:get"}get name(){return"Certificate Detail"}get listUrl(){return this.getRoutePath("certificate",null,{tab:"CA"})}get actionConfigs(){return f.default.actionConfigsSecret}get detailInfos(){var e;return(0,l.default)(e=(0,u.getCertificateColumns)(this)).call(e,(e=>"domain"!==e.dataIndex))}get tabs(){return[{title:t("Detail Info"),key:"detail_info",component:c.default}]}}a.Detail=p;var m=(0,o.inject)("rootStore")((0,o.observer)(p));a.default=m},3981:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(0)),o=r(412),s=n(r(1249));class d extends s.default{get leftCardsStyle(){return{flex:1}}get leftCards(){return[this.contentCard]}get contentCard(){var{payload:e}=this.props.detail,a=[{content:l.default.createElement("pre",null,e),copyable:{text:e}}];return{title:t("Certificate Content"),labelCol:0,contentCol:24,options:a}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3982:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Reverse=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=p(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1403)),f=o(r(1646));function p(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(p=function(e){return e?a:t})(e)}class m extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Address"),dataIndex:"address",isLink:!0,routeName:"dnsReverseDetail",routeParamsFunc:e=>({id:e.id})},{title:t("PTR Domain Name"),dataIndex:"ptrdname",isHideable:!0},{title:t("Status"),dataIndex:"status",isHideable:!0}]))}init(){this.store=c.default,this.downloadStore=new c.ReverseStore}get policy(){return"get_images"}get name(){return t("Reverse Dns")}get actionConfigs(){return f.default}}a.Reverse=m;var h=(0,d.inject)("rootStore")((0,d.observer)(m));a.default=h},3983:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Set=void 0;var l=n(r(63)),o=n(r(35)),s=r(1241),d=r(412),u=n(r(1403));class c extends s.ModalAction{constructor(){super(...arguments),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=this.item;return this.store.set({id:t},e)}))}init(){this.store=u.default}static get modalSize(){return"small"}get name(){return t("Set Domain Name PTR")}static allowed(){return l.default.resolve(!0)}get formItems(){return[{name:"ptrdname",label:t("Domain Name"),type:"input",required:!0,placeholder:t("smtp.example.com"),tip:t("Domain name ending in.")},{name:"description",label:t("Description"),type:"textarea",tip:t("Details about the PTR record.")},{name:"ttl",label:t("TTL"),type:"input-number",min:0,tip:t("Time To Live in seconds."),placeholder:t("3600")}]}}a.Set=c,(0,o.default)(c,"id","set-reverse"),(0,o.default)(c,"title",t("Set")),(0,o.default)(c,"policy","get_images");var f=(0,d.inject)("rootStore")((0,d.observer)(c));a.default=f},3984:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1403));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunc",(e=>null!==e.ptrdname&&"ACTIVE"===e.status)),(0,l.default)(this,"policy","instance:delete"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.unset({id:e.id},{ptrdname:null})))}get id(){return"usnet"}get title(){return t("Unset")}get actionName(){return t("Unset")}get buttonText(){return t("Unset")}}a.default=d},3985:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ReverseDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1403)),d=n(r(3986)),u=n(r(1646));class c extends o.default{init(){this.store=s.default}get name(){return t("Reverse Detail")}get policy(){return"get_image"}get listUrl(){return this.getRoutePath("dns-reverse")}get actionConfigs(){return u.default}get tabs(){return[{title:t("Detail"),key:"detail",component:d.default}]}}a.ReverseDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},3986:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249));class s extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Address"),dataIndex:"address"},{label:t("PTR Domain Name"),dataIndex:"ptrdname"},{label:t("Description"),dataIndex:"description"},{label:t("ID"),dataIndex:"id"},{label:t("Time To Live"),dataIndex:"ttl"},{label:t("Status"),dataIndex:"status"},{label:t("Action"),dataIndex:"action"}];return{title:t("Base Info"),options:e}}}a.BaseDetail=s;var d=(0,l.inject)("rootStore")((0,l.observer)(s));a.default=d},3987:function(e,a,r){"use strict";var i=r(162),n=r(20),l=r(25),o=r(21);n(a,"__esModule",{value:!0}),a.default=a.Zones=void 0;var s=o(r(35)),d=r(412),u=o(r(1242)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var a=h(t);if(a&&a.has(e))return a.get(e);var r={},i=n&&l;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?l(e,o):null;s&&(s.get||s.set)?n(r,o,s):r[o]=e[o]}r.default=e,a&&a.set(e,r);return r}(r(1360)),f=r(1404),p=r(163),m=o(r(3988));function h(e){if("function"!=typeof i)return null;var t=new i,a=new i;return(h=function(e){return e?a:t})(e)}class v extends u.default{constructor(){super(...arguments),(0,s.default)(this,"getColumns",(()=>[{title:t("Zone ID/Name"),dataIndex:"name",isHideable:!0,isLink:!0,routeName:this.getRouteName("dnsZonesDetail"),sortKey:"id"},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0,hidden:!this.isAdminPage,sortKey:"tenant_id"},{title:t("Type"),dataIndex:"type",isHideable:!0,sorter:!1,valueMap:f.ZONE_TYPES},{title:t("Status"),dataIndex:"status",isHideable:!0,valueMap:f.ZONE_STATUS},{title:t("Created At"),dataIndex:"created_at",valueRender:"sinceTime"}]))}init(){this.store=c.default,this.downloadStore=new c.DNSZonesStore}get policy(){return"get_zones"}get name(){return t("dns zones")}get actionConfigs(){return m.default}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,p.getOptions)(f.ZONE_TYPES)},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.ZONE_STATUS)}]}}a.Zones=v;var g=(0,d.inject)("rootStore")((0,d.observer)(v));a.default=g},3988:function(e,t,a){"use strict";var r=a(20),i=a(21);r(t,"__esModule",{value:!0}),t.default=void 0;var n=i(a(1648)),l=i(a(3989)),o=i(a(3990)),s=i(a(1649)),d={rowActions:{firstAction:l.default,moreActions:[{action:s.default},{action:o.default}]},primaryActions:[n.default],batchActions:[o.default]};t.default=d},3989:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(54)),m=f(r(63)),h=f(r(58)),v=f(r(35)),g=r(412),_=f(r(1360)),b=r(1648);function y(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function I(e){for(var t=1;t{var{id:t}=this.item,{type:a}=this.item,{masters:r=[],email:i,ttl:n,description:l}=e,o={description:l,masters:(0,p.default)(r).call(r,(e=>e.value))};return"PRIMARY"===a&&(o.email=i,o.ttl=n),this.store.update({id:t},o)}))}init(){this.store=_.default}get name(){return t("Edit")}static allowed(){return m.default.resolve(!0)}get defaultValue(){var e=this.item,{masters:t=[]}=e,a=(0,h.default)(e,["masters"]),r=(0,p.default)(t).call(t,((e,t)=>({index:t,value:e})));return I(I({},a),{},{masters:r})}get formItems(){var e=super.formItems;return(0,p.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?I(I({},e),{},{disabled:!0}):e))}}a.Update=A,(0,v.default)(A,"id","update-dns-zone"),(0,v.default)(A,"title",t("Edit")),(0,v.default)(A,"policy","update_zone");var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},3990:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1360));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_zone"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e);return t("Are you sure to {action}? (Zone: {name})",{action:this.actionNameDisplay||this.title,name:a})})),(0,l.default)(this,"onSubmit",(e=>s.default.delete({id:e.id})))}get id(){return"delete"}get title(){return t("Delete Zone")}get actionName(){return t("Delete Zone")}get buttonText(){return t("Delete")}get isDanger(){return!0}get isAsyncAction(){return!0}}a.default=d},3991:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.ZonesDetail=void 0;var l=r(412),o=r(1360),s=n(r(1243)),d=r(1404),u=n(r(3992)),c=n(r(3993));class f extends s.default{init(){this.store=new o.DNSZonesStore}get name(){return t("DNS Zones Detail")}get listUrl(){return this.getRoutePath("dnsZones")}get policy(){return"get_zone"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",valueMap:d.ZONE_TYPES},{title:t("Status"),dataIndex:"status",valueMap:d.ZONE_STATUS},{title:t("Email"),dataIndex:"email"}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default},{title:t("Record Sets"),key:"record_sets",component:c.default}]}}a.ZonesDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3992:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(345)),o=r(412),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.attributesCard,this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Serial"),dataIndex:"serial"},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"},{label:t("Transferred"),dataIndex:"transferred_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),options:e}}get attributesCard(){var e=[{label:t("Attributes"),dataIndex:"attributes",render:e=>(0,l.default)(e)}];return{title:t("Attributes"),options:e}}get associationsCard(){var e=[{label:t("Pool ID"),dataIndex:"pool_id"},{label:t("Project ID"),dataIndex:"project_id"},{label:t("Masters"),dataIndex:"masters",render:e=>(0,l.default)(e)}];return{title:t("Associations"),options:e}}}a.BaseDetail=d;var u=(0,o.inject)("rootStore")((0,o.observer)(d));a.default=u},3993:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSets=void 0,r(1311);var l=n(r(1312)),o=n(r(54)),s=n(r(0)),d=n(r(1242)),u=r(412),c=(r(161),r(1361)),f=r(1405),p=r(163),m=n(r(1650));class h extends d.default{init(){this.store=new c.DNSRecordSetsStore,this.downloadStore=new c.DNSRecordSetsStore}get name(){return t("recordsets")}get policy(){return"get_recordsets"}get isFilterByBackend(){return!0}get isSortByBackend(){return!0}get actionConfigs(){return m.default}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("dnsRecordSetDetail"),routeParamsFunc:e=>({zoneId:e.zone_id,id:e.id}),isLink:!0,sortKey:"id"},{title:t("Type"),dataIndex:"type",render:e=>(0,f.getRecordSetType)(e)},{title:t("Records"),dataIndex:"records",render:e=>(0,o.default)(e).call(e,(e=>s.default.createElement(l.default,{key:e},e))),stringify:e=>e.join("\n"),sorter:!1},{title:t("Status"),dataIndex:"status",valueMap:f.RECORD_STATUS,sorter:!1},{title:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Type"),name:"type",options:(0,f.dnsRRTypeList)()},{label:t("Status"),name:"status",options:(0,p.getOptions)(f.RECORD_STATUS)}]}}a.RecordSets=h;var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},3994:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Update=void 0;var p=f(r(28)),m=f(r(77)),h=f(r(63)),v=f(r(54)),g=f(r(58)),_=f(r(35)),b=r(1241),y=r(412),I=r(1405),A=f(r(1361));function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{zone_id:t}=this.item,a=this.item.id,{records:r}=e,i=(0,g.default)(e,["records"]),n=[];(0,p.default)(r).call(r,(e=>{n.push(e.value)}));var l=w({records:n},i);return this.store.update(t,a,l)}))}init(){var e,a;this.store=A.default,this.state=w(w({},this.state),{},{nameExtra:(0,m.default)(e="".concat(t("Exp: "))).call(e,I.DNS_RECORD_TYPE[this.item.type].nameExtra),recordsExtra:(0,m.default)(a="".concat(t("Exp: "))).call(a,I.DNS_RECORD_TYPE[this.item.type].recordsExtra)})}get name(){return t("Update Record Set")}static allowed(){return h.default.resolve(!0)}get defaultValue(){var{records:e,type:t,name:a,description:r,ttl:i}=this.item;return{type:t,name:a,description:r,ttl:i,records:(0,v.default)(e).call(e,((e,t)=>({index:t,value:e})))}}get formItems(){var e=(0,I.getRecordSetFormItem)(this,this.currentFormValue);return(0,v.default)(e).call(e,(e=>"name"===e.name||"type"===e.name?w(w({},e),{},{disabled:!0}):e))}}a.Update=x,(0,_.default)(x,"id","create-record-set"),(0,_.default)(x,"title",t("Update Record Set")),(0,_.default)(x,"buttonText",t("Update")),(0,_.default)(x,"policy","update_recordset");var P=(0,y.inject)("rootStore")((0,y.observer)(x));a.default=P},3995:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1361));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"allowedCheckFunction",(()=>!0)),(0,l.default)(this,"policy","delete_recordset"),(0,l.default)(this,"confirmContext",(e=>{var a=this.getName(e),r=this.getItemId(e);return t("Are you sure to {action}? (Record Set: {name} - {id})",{action:this.actionNameDisplay||this.title,name:a,id:r})})),(0,l.default)(this,"onSubmit",(e=>{var{zone_id:t}=e,a=e.id;return s.default.delete({zone_id:t,recordset_id:a})}))}get id(){return"delete"}get title(){return t("Delete Record Set")}get actionName(){return t("Delete Record Set")}get buttonText(){return t("Delete")}get isDanger(){return!0}}a.default=d},3996:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RecordSetsDetail=void 0;var l=r(412),o=n(r(1243)),s=r(1361),d=r(1405),u=n(r(3997)),c=n(r(1650));class f extends o.default{init(){this.store=new s.DNSRecordSetsStore}get titleValue(){return this.detailData.id}get name(){return t("Recordset Detail")}get listUrl(){return this.getRoutePath("dnsZonesDetail",{id:this.detailData.zone_id},{tab:"record_sets"})}get actionConfigs(){return c.default}get policy(){return"get_recordset"}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Description"),dataIndex:"description"},{title:t("Type"),dataIndex:"type",render:e=>(0,d.getRecordSetType)(e)},{title:t("Status"),dataIndex:"status",valueMap:d.RECORD_STATUS}]}get tabs(){return[{title:t("Overview"),key:"overview",component:u.default}]}}a.RecordSetsDetail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3997:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1249));class u extends d.default{get leftCards(){return[this.baseInfoCard,this.modificationTimesCard]}get rightCards(){return[this.associationsCard]}get baseInfoCard(){var e=[{label:t("Action"),dataIndex:"action"},{label:t("Records"),dataIndex:"records",render:e=>(0,l.default)(e).call(e,(e=>o.default.createElement("div",null,e)))},{label:t("TTL"),dataIndex:"ttl"},{label:t("Version"),dataIndex:"version"}];return{title:t("Base Info"),labelCol:6,contentCol:18,options:e}}get modificationTimesCard(){var e=[{label:t("Created At"),dataIndex:"created_at",valueRender:"toLocalTime"},{label:t("Updated At"),dataIndex:"updated_at",valueRender:"toLocalTime"}];return{title:t("Modification Times"),labelCol:6,contentCol:18,options:e}}get associationsCard(){var e=[{label:t("Zone ID"),dataIndex:"zone_id",copyable:!0},{label:t("Zone Name"),dataIndex:"zone_name"},{label:t("Project ID"),dataIndex:"project_id",copyable:!0}];return{title:t("Associations"),options:e}}}a.BaseDetail=u;var c=(0,s.inject)("rootStore")((0,s.observer)(u));a.default=c},3998:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Detail=void 0;var l=r(412),o=n(r(1282)),s=r(66),d=n(r(3999)),u=n(r(4003)),c=n(r(1656));class f extends o.default{get name(){return t("firewalls")}get checkEndpoint(){return!0}get endpoint(){return(0,s.firewallEndpoint)()}get tabs(){return[{title:t("Firewalls"),key:"firewalls",component:d.default},{title:t("Firewall Policies"),key:"policies",component:u.default},{title:t("Firewall Rules"),key:"rules",component:c.default}]}}a.Detail=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},3999:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Firewall=void 0;var l=r(412),o=n(r(1242)),s=n(r(1339)),d=r(1286),u=r(163),c=n(r(1651));class f extends o.default{init(){this.store=s.default}get policy(){return"get_firewall_group"}get name(){return t("firewalls")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?c.default.actionConfigsAdmin:c.default.actionConfigs}get transitionStatusList(){return d.transitionStatus}get adminPageHasProjectFilter(){return!0}get initFilter(){return{notDefault:!0}}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Ingress Policy"),dataIndex:"ingressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"ingress_firewall_policy_id",isHideable:!0},{title:t("Egress Policy"),dataIndex:"egressPolicyName",isLink:!0,routeName:this.getRouteName("firewallPolicyDetail"),idKey:"egress_firewall_policy_id",isHideable:!0},{title:t("Associated Ports"),dataIndex:"ports",render:e=>e.length,isHideable:!0},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Admin State"),dataIndex:"admin_state_up",valueMap:d.adminState}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Status"),name:"status",options:(0,u.getOptions)(d.firewallStatus),include:!1},{label:t("Admin State"),name:"admin_state_up",options:(0,u.getOptions)(d.adminState)},(0,d.getDefaultFilter)(t("Hide Default Firewalls"))]}}a.Firewall=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},4e3:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(1339)),d=r(1286);class u extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_group"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||(!(!this.isAdminPage||!(0,d.hasNoProject)(e))||!(0,d.isDefault)(e)&&this.isNotActive(e)&&((0,d.isMine)(e)||this.isAdminPage)))),(0,l.default)(this,"isNotActive",(e=>"ACTIVE"!==e.status)),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return s.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Firewall")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete firewall")}}a.default=u},4001:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.ManagePort=void 0;var p=f(r(28)),m=f(r(29)),h=f(r(164)),v=f(r(86)),g=f(r(54)),_=f(r(63)),b=f(r(49)),y=f(r(35)),I=r(412),A=f(r(575)),S=f(r(233)),w=f(r(1339)),x=f(r(582)),P=r(1241),C=r(1473),E=r(1258),D=r(36),k=r(1286);function R(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t{var{id:t}=this.item,{ports:a}=e,r={ports:a.selectedRowKeys||null};return this.store.edit({id:t},r)}))}init(){this.store=w.default,this.routerStore=A.default,this.networkStore=S.default,this.portStore=x.default,this.getNetworks(),this.getRouters(),this.getPorts()}get name(){return t("manage ports")}static get modalSize(){return"large"}getModalSize(){return"large"}getNetworks(){var e=this;return(0,b.default)((function*(){e.networkStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getRouters(){var e=this;return(0,b.default)((function*(){e.routerStore.fetchList({isFirewall:!0}),e.updateDefaultValue()}))()}getPorts(){var e=this;return(0,b.default)((function*(){e.portStore.fetchList({device_owner:"compute:nova",project_id:e.currentProjectId}),e.updateDefaultValue()}))()}get networks(){return(0,D.toJS)(this.networkStore.list.data||[])}get ports(){var e,a=[];return(0,p.default)(e=(0,D.toJS)(this.routerStore.list.data)||[]).call(e,(e=>{var r,i=(0,m.default)(r=e.ports).call(r,(e=>(0,h.default)(C.routerInterfaceOwners).call(C.routerInterfaceOwners,e.device_owner)));(0,p.default)(i).call(i,(a=>{var r,i;a.device_name=e.name,a.owner=t("Router"),a.network=(0,v.default)(r=this.networks).call(r,(e=>e.id===a.network_id)),a.router=e,a.network_name=a.network?a.network.name:"-",a.name=a.id,a.ip_address=a.fixed_ips[0].ip_address,a.subnet=a.network?(0,v.default)(i=a.network.subnetDetails).call(i,(e=>e.id===a.fixed_ips[0].subnet_id)):null,a.subnet_name=a.subnet&&a.subnet.name||"-"})),a=[...a,...i]})),a}get instancePorts(){var e;return(0,g.default)(e=(0,D.toJS)(this.portStore.list.data||[])).call(e,(e=>N(N({},e),{},{name:e.name||e.id})))}get portTabs(){var e={title:t("Router Port"),key:"router",props:N(N({data:this.ports},C.tableOptions),{},{isLoading:this.routerStore.list.isLoading,isMulti:!0})};return[{title:t("Instance Port"),key:"instance",props:N(N({data:this.instancePorts},(0,E.instancePortOptions)(this)),{},{isLoading:this.portStore.list.isLoading,isMulti:!0})},e]}get defaultValue(){var e;return{name:this.item.name,ports:{selectedRows:(0,g.default)(e=this.item.ports).call(e,(e=>({id:e,name:e}))),selectedRowKeys:this.item.ports}}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"firewall"},{name:"ports",label:t("Ports"),type:"tab-select-table",tabs:this.portTabs}]}}a.ManagePort=j,(0,y.default)(j,"id","manage-port"),(0,y.default)(j,"title",t("Manage Ports")),(0,y.default)(j,"policy","update_firewall_group"),(0,y.default)(j,"allowed",(e=>_.default.resolve((0,k.isMine)(e))));var M=(0,I.inject)("rootStore")((0,I.observer)(j));a.default=M},4002:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(86)),v=f(r(63)),g=f(r(49)),_=f(r(58)),b=f(r(35)),y=r(412),I=f(r(1294)),A=f(r(1339)),S=r(1241),w=r(1362),x=r(1286);function P(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function C(e){for(var t=1;t{var{id:t}=this.item,{ingressPolicy:a,egressPolicy:r,options:{admin_state_up:i=!0}={}}=e,n=(0,_.default)(e,["ingressPolicy","egressPolicy","options"]),l=C({admin_state_up:i,ingress_firewall_policy_id:a.selectedRowKeys[0]||null,egress_firewall_policy_id:r.selectedRowKeys[0]||null},n);return this.store.edit({id:t},l)}))}init(){this.store=A.default,this.policyStore=I.default,this.getPolicies()}static get modalSize(){return"large"}getModalSize(){return"large"}getPolicies(){var e=this;return(0,g.default)((function*(){yield e.policyStore.fetchList(),e.updateDefaultValue()}))()}get policies(){var e,t,{id:a}=this.item;return(0,p.default)(e=(0,m.default)(t=this.policyStore.list.data||[]).call(t,(e=>{var t;return e.firewalls.length<2||!!(0,h.default)(t=e.firewalls).call(t,(e=>e.id===a))}))).call(e,(e=>C(C({},e),{},{key:e.id})))}get defaultValue(){if(0===this.policies.length)return{};var{ingress_firewall_policy_id:e,egress_firewall_policy_id:t,admin_state_up:a,description:r}=this.item;return{name:this.item.name,ingressPolicy:{selectedRowKeys:e?[e]:[]},egressPolicy:{selectedRowKeys:t?[t]:[]},options:{admin_state_up:a},description:r}}get formItems(){return[{name:"name",label:t("Name"),type:"input",required:!0},C({name:"ingressPolicy",label:t("Ingress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),C({name:"egressPolicy",label:t("Egress Policy"),type:"select-table",data:this.policies,isLoading:this.policyStore.list.isLoading,isMulti:!1},w.tableOptions),{name:"options",label:t("Options"),type:"check-group",options:[{label:t("Admin State"),value:"admin_state_up"}]},{name:"description",label:t("Description"),type:"textarea"}]}}a.Edit=E,(0,b.default)(E,"id","edit"),(0,b.default)(E,"title",t("Edit")),(0,b.default)(E,"policy","update_firewall_group"),(0,b.default)(E,"allowed",(e=>v.default.resolve(!(0,x.isDefault)(e)&&(0,x.isMine)(e))));var D=(0,y.inject)("rootStore")((0,y.observer)(E));a.default=D},4003:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Policy=void 0;var l=n(r(54)),o=n(r(0)),s=r(412),d=n(r(1242)),u=n(r(1294)),c=r(342),f=r(1286),p=n(r(1653));class m extends d.default{init(){this.store=u.default}get policy(){return"get_firewall_policy"}get name(){return t("firewall policies")}get hasTab(){return!0}get actionConfigs(){return this.isAdminPage?p.default.actionConfigsAdmin:p.default.actionConfigs}get adminPageHasProjectFilter(){return!0}getColumns(){return[{title:t("ID/Name"),dataIndex:"name",routeName:this.getRouteName("firewallPolicyDetail")},{title:t("Project ID/Name"),dataIndex:"project_name",hidden:!this.isAdminPage,isHideable:!0},{title:t("Description"),dataIndex:"description",isHideable:!0},{title:t("Rules"),dataIndex:"rules",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallRuleDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Firewalls"),dataIndex:"firewalls",isHideable:!0,render:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>o.default.createElement("div",{key:e.id},this.getLinkRender("firewallDetail",e.name,{id:e.id})))):"-",stringify:e=>e&&0!==e.length?(0,l.default)(e).call(e,(e=>e.name)).join(", "):"-"},{title:t("Shared"),dataIndex:"shared",valueRender:"yesNo",width:80},{title:t("Audited"),dataIndex:"audited",valueRender:"yesNo",width:100}]}get searchFilters(){return[{label:t("Name"),name:"name"},{label:t("Shared"),name:"shared",options:c.yesNoOptions},{label:t("Audited"),name:"audited",options:c.yesNoOptions},(0,f.getDefaultFilter)(t("Hide Default Policies"))]}}a.Policy=m;var h=(0,s.inject)("rootStore")((0,s.observer)(m));a.default=h},4004:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(54)),o=n(r(35)),s=n(r(92)),d=r(1241),u=n(r(1294)),c=r(1362);class f extends d.ConfirmAction{constructor(){super(...arguments),(0,o.default)(this,"policy","delete_firewall_policy"),(0,o.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,c.isMine)(e)||this.isAdminPage))),(0,o.default)(this,"performErrorMsg",(e=>{var a,r=(0,s.default)(e)?e[0]:e,i=t('You are not allowed to delete policy "{ name }".',{name:r.name});this.isNotUse(r)||(i=t('You are not allowed to delete policy "{ name }" used by firewalls: { firewalls }.',{name:r.name,firewalls:(0,l.default)(a=r.firewalls).call(a,(e=>e.name)).join(", ")}));return i})),(0,o.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return u.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete policy")}isNotUse(e){return 0===e.firewalls.length}}a.default=f},4005:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(54)),m=f(r(29)),h=f(r(1277)),v=f(r(63)),g=f(r(35)),_=r(412),b=f(r(1294)),y=f(r(1363)),I=r(1241),A=r(1307);function S(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function w(e){for(var t=1;t{var{id:t}=this.item,{rule:a,insert:r,current:{selectedRowKeys:i=[]}={}}=e,n=a.selectedRowKeys[0],l="",o="";i.length>0&&("before"===r?o=i[0]:l=i[0]);var s={firewall_policy_id:t,firewall_rule_id:n,insert_before:o,insert_after:l};return this.store.insertRule({id:t},s)}))}init(){this.store=b.default,this.ruleStore=y.default,this.getRules()}get name(){return t("insert rule")}static get modalSize(){return"large"}getModalSize(){return"large"}getRules(){this.ruleStore.fetchList()}get rules(){var e,t,a;return(0,p.default)(e=(0,m.default)(t=(0,m.default)(a=this.ruleStore.list.data||[]).call(a,(e=>{var t;return(0,h.default)(t=this.currentRules).call(t,(t=>t.id!==e.id))}))).call(t,(e=>!this.item.shared||e.shared))).call(e,(e=>w(w({},e),{},{key:e.id})))}get currentRules(){var{rules:e}=this.item;return e}get defaultValue(){var{name:e}=this.item;return{name:e,insert:"before"}}get insertTypes(){return[{label:t("Insert Before"),value:"before"},{label:t("Insert After"),value:"after"}]}get tips(){var e=t("A rule specified before insertion or after insertion a rule. If both are not specified, the new rule is inserted as the first rule of the policy.");return this.item.shared?e+t("Shared policy only can insert shared rules."):e}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},w({name:"rule",label:t("Rule"),type:"select-table",required:!0,data:this.rules,isLoading:this.ruleStore.list.isLoading,isMulti:!1},A.tableOptions),{name:"insert",label:t("Insert"),type:"radio",options:this.insertTypes,required:!0},w({name:"current",label:t("Current Rules"),type:"select-table",data:this.currentRules,isMulti:!1},A.tableOptions)]}}a.Edit=x,(0,g.default)(x,"id","edit"),(0,g.default)(x,"title",t("Insert Rule")),(0,g.default)(x,"policy","update_firewall_policy"),(0,g.default)(x,"allowed",(e=>v.default.resolve((0,A.isMine)(e))));var P=(0,_.inject)("rootStore")((0,_.observer)(x));a.default=P},4006:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var p=f(r(63)),m=f(r(35)),h=r(412),v=f(r(1294)),g=r(1241),_=r(1307);function b(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function y(e){for(var t=1;t{var{id:t}=this.item,{rule:a}=e,r={firewall_rule_id:a.selectedRowKeys[0]};return v.default.removeRule({id:t},r)}))}get name(){return t("remove rule")}static get modalSize(){return"large"}getModalSize(){return"large"}get rules(){var{rules:e}=this.item;return e}get defaultValue(){return{name:this.item.name}}get formItems(){return[{name:"name",label:t("Name"),type:"label",iconType:"policy"},y({name:"rule",label:t("Rules"),type:"select-table",required:!0,data:this.rules,isMulti:!1},_.tableOptions)]}}a.Edit=I,(0,m.default)(I,"id","edit"),(0,m.default)(I,"title",t("Remove Rule")),(0,m.default)(I,"policy","update_firewall_policy"),(0,m.default)(I,"allowed",(e=>p.default.resolve((0,_.isMine)(e))));var A=(0,h.inject)("rootStore")((0,h.observer)(I));a.default=A},4007:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=n(r(92)),s=r(1241),d=n(r(1363)),u=r(1307);class c extends s.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_firewall_rule"),(0,l.default)(this,"allowedCheckFunc",(e=>!e||this.isNotUse(e)&&((0,u.isMine)(e)||this.isAdminPage))),(0,l.default)(this,"performErrorMsg",(e=>{var a=(0,o.default)(e)?e[0]:e,r=t('You are not allowed to delete rule "{ name }".',{name:a.name});return this.isNotUse(a)||(r=t('You are not allowed to delete rule "{ name }" in use.',{name:a.name})),r})),(0,l.default)(this,"onSubmit",(e=>{var{id:t}=e||this.item;return d.default.delete({id:t})}))}get id(){return"delete"}get title(){return t("Delete Rule")}get isDanger(){return!0}get buttonText(){return t("Delete")}get actionName(){return t("delete rule")}isNotUse(e){return 0===e.policies.length}}a.default=c},4008:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.FirewallDetail=void 0;var l=r(412),o=r(1339),s=n(r(1243)),d=r(1286),u=n(r(4009)),c=n(r(4010)),f=n(r(1651));class p extends s.default{get name(){return t("firewall")}get policy(){return"get_firewall_group"}get listUrl(){return this.getRoutePath("firewall")}get actionConfigs(){return this.isAdminPage?f.default.actionConfigsAdmin:f.default.actionConfigs}get detailInfos(){return[{title:t("Name"),dataIndex:"name"},{title:t("Project ID"),dataIndex:"tenant_id",hidden:!this.isAdminPage},{title:t("Status"),dataIndex:"status",valueMap:d.firewallStatus},{title:t("Description"),dataIndex:"description"}]}get tabs(){return[{title:t("Base Info"),key:"base",component:u.default},{title:t("Ports"),key:"ports",component:c.default}]}init(){this.store=new o.FirewallStore}}a.FirewallDetail=p;var m=(0,l.inject)("rootStore")((0,l.observer)(p));a.default=m},4009:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=r(1286),s=n(r(1249));class d extends s.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Ingress Policy ID"),dataIndex:"ingress_firewall_policy_id"},{label:t("Ingress Policy Name"),dataIndex:"ingress",render:e=>e?e.name:"-"},{label:t("Egress Policy ID"),dataIndex:"egress_firewall_policy_id"},{label:t("Egress Policy Name"),dataIndex:"egress",render:e=>e?e.name:"-"},{label:t("Admin State"),dataIndex:"admin_state_up",valueMap:o.adminState}];return{title:t("Base Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u},4010:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Ports=void 0;var p=f(r(58)),m=f(r(49)),h=f(r(35)),v=r(412),g=f(r(1242)),_=r(1473),b=r(582),y=r(1258);function I(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}class A extends g.default{constructor(){super(...arguments),(0,h.default)(this,"getColumns",(()=>[{title:t("ID/Name"),dataIndex:"name",width:150,isLink:!0,routeName:this.getRouteName("firewallPortDetail"),routeParamsFunc:e=>({firewallId:this.id,portId:e.id})},{title:t("Network ID/Name"),dataIndex:"network.name",isLink:!0,routeName:this.getRouteName("networkDetail"),idKey:"network.id"},{title:t("Owner"),dataIndex:"owner",isHideable:!0},{title:t("Device ID/Name"),dataIndex:"router.name",isLink:!0,routeName:this.getRouteName("routerDetail"),idKey:"router.id"},{title:t("Status"),dataIndex:"status",valueMap:y.portStatus}]))}init(){this.store=new b.PortStore}get policy(){return"get_port"}get name(){return t("ports")}get id(){return this.params.id}getData(){var e=arguments,t=this;return(0,m.default)((function*(){var a=e.length>0&&void 0!==e[0]?e[0]:{},{silent:r}=a,i=(0,p.default)(a,["silent"]);r&&(t.list.silent=!0);var{tab:n}=i,l=(0,p.default)(i,["tab"]),{detail:{ports:f=[]}={}}=t.props,v=function(e){for(var t=1;tI(I({},e),{},{label:e.title}))),r=[{label:t("Related Policy"),dataIndex:"policies",render:e=>{var t;return(0,m.default)(t=e||[]).call(t,(e=>v.default.createElement("div",{key:e.id},this.getLinkRender("firewallPolicyDetail",e.name,{id:e.id}))))}},...a];return{title:t("Base Info"),options:r}}}a.BaseDetail=A;var S=(0,g.inject)("rootStore")((0,g.observer)(A));a.default=S},4015:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicies=void 0;var l=r(412),o=n(r(1242)),s=r(604),d=r(1406),u=r(163),c=n(r(1659));class f extends o.default{init(){this.store=new s.RbacPoliciesStore,this.downloadStore=new s.RbacPoliciesStore}get policy(){return"get_rbac_policy"}get name(){return t("RBAC Policies")}get actionConfigs(){return c.default}getColumns(){return[{title:t("ID"),dataIndex:"id",routeName:this.getRouteName("rbacPolicyDetail"),isLink:!0,withoutName:!0},{title:t("Project ID/Name"),dataIndex:"project_name",isHideable:!0},{title:t("Object Type"),dataIndex:"object_type",isHideable:!0,valueMap:d.objectTypes},{title:t("Object ID/Name"),dataIndex:"object_name",isHideable:!0,idKey:"object_id",isLink:!0,getRouteName:(e,t)=>{var{object_type:a}=t||{};return"network"===a?this.getRouteName("networkDetail"):"qos_policy"===a?this.getRouteName("networkQosDetail"):""}},{title:t("Target Project ID/Name"),dataIndex:"target_tenant_name",isHideable:!0,idKey:"target_tenant_id",routeName:this.getRouteName("projectDetail"),isLink:!0,emptyRender:()=>"*"}]}get objectTypes(){return(0,u.getOptions)(d.objectTypes)}get searchFilters(){return[{label:t("Id"),name:"id"},{label:t("Target Project ID"),name:"target_tenant"},{label:t("Target Project Name"),name:"target_tenant_name"},{label:t("Object Type"),name:"object_type",options:this.objectTypes},{label:t("Object"),name:"object_name"},{label:t("Project ID"),name:"project_id"},{label:t("Project Name"),name:"project_name"}]}}a.RbacPolicies=f;var p=(0,l.inject)("rootStore")((0,l.observer)(f));a.default=p},4016:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=void 0;var l=n(r(35)),o=r(1241),s=n(r(604));class d extends o.ConfirmAction{constructor(){super(...arguments),(0,l.default)(this,"policy","delete_rbac_policy"),(0,l.default)(this,"onSubmit",(e=>s.default.delete(e)))}get id(){return"delete"}get title(){return t("Delete RBAC Policy")}get isDanger(){return!0}get buttonText(){return t("Delete")}get messageHasItemName(){return!1}get actionName(){return t("delete")}}a.default=d},4017:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.Edit=void 0;var l=n(r(54)),o=n(r(63)),s=n(r(49)),d=n(r(35)),u=r(412),c=r(1241),f=r(604),p=r(340),m=r(1406);class h extends c.ModalAction{constructor(){var e;super(...arguments),e=this,(0,d.default)(this,"onSubmit",function(){var t=(0,s.default)((function*(t){var{id:a}=e.item;return e.store.update({id:a},t)}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Edit")}get messageHasItemName(){return!1}init(){this.store=new f.RbacPoliciesStore,this.projectStore=new p.ProjectStore,this.state.projects=[],this.state.isReady=!1,this.getProjects()}get tips(){return t("You may update the editable properties of the RBAC policy here.")}getProjects(){var e=this;return(0,s.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(m.anyProject),e.setState({projects:t,isReady:!0})}))()}get projects(){var e,{projects:t}=this.state;return(0,l.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get defaultValue(){var{target_tenant:e}=this.item;return{target_tenant:e}}get formItems(){return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,loading:!this.state.isReady,required:!0}]}}a.Edit=h,(0,d.default)(h,"id","edit-policy"),(0,d.default)(h,"title",t("Edit")),(0,d.default)(h,"policy","update_rbac_policy"),(0,d.default)(h,"allowed",(()=>o.default.resolve(!0)));var v=(0,u.inject)("rootStore")((0,u.observer)(h));a.default=v},4018:function(e,a,r){"use strict";var i=r(32),n=r(42),l=r(29),o=r(25),s=r(28),d=r(44),u=r(45),c=r(20),f=r(21);c(a,"__esModule",{value:!0}),a.default=a.Create=void 0;var p=f(r(63)),m=f(r(54)),h=f(r(29)),v=f(r(58)),g=f(r(49)),_=f(r(35)),b=r(412),y=r(1241),I=r(604),A=r(340),S=r(233),w=r(576),x=r(66),P=r(1406);function C(e,t){var a=i(e);if(n){var r=n(e);t&&(r=l(r).call(r,(function(t){return o(e,t).enumerable}))),a.push.apply(a,r)}return a}function E(e){for(var t=1;t{e.updateFormValue("object_id",void 0)}))}));return function(e){return t.apply(this,arguments)}}())}get name(){return t("Create")}get messageHasItemName(){return!1}init(){this.state=E(E({},this.state),{},{isReady:!1,allNetworks:[],qosPolices:[]}),this.store=new I.RbacPoliciesStore,this.projectStore=new A.ProjectStore,this.qosPolicyStore=new w.QoSPolicyStore,this.networkStore=new S.NetworkStore,this.getAllData()}getAllData(){var e=this;return(0,g.default)((function*(){yield p.default.all([e.getProjects(),e.getQoSPolicy(),e.getNetworks()]),e.setState({isReady:!0})}))()}get enableQosPolicy(){return(0,x.qosEndpoint)()}getProjects(){var e=this;return(0,g.default)((function*(){var t=yield e.projectStore.pureFetchList();t.unshift(P.anyProject),e.setState({allProjects:t})}))()}getQoSPolicy(){var e=this;return(0,g.default)((function*(){e.enableQosPolicy&&(yield e.qosPolicyStore.fetchList())}))()}getNetworks(){var e=this;return(0,g.default)((function*(){var t=yield e.networkStore.pureFetchList();e.setState({allNetworks:t})}))()}get projects(){var e,{allProjects:t}=this.state;return(0,m.default)(e=t||[]).call(e,(e=>({value:e.id,label:e.name})))}get qosPolicy(){var e;return(0,m.default)(e=this.qosPolicyStore.list.data||[]).call(e,(e=>({value:e.id,label:e.name})))}get sharedNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e.shared))).call(e,(e=>({value:e.id,label:e.name})))}get externalNetworks(){var e,t,{allNetworks:a}=this.state;return(0,m.default)(e=(0,h.default)(t=a||[]).call(t,(e=>!0===e["router:external"]))).call(e,(e=>({value:e.id,label:e.name})))}get createObjectList(){var e=[{value:"network",label:t("Shared Network")},{value:"external-network",label:t("External Network")}];return this.enableQosPolicy&&e.push({value:"qos_policy",label:t("Shared QoS Policy")}),e}get formItems(){var{object_type:e}=this.state,a="network"===e,r="external-network"===e,i="qos_policy"===e;return[{name:"target_tenant",label:t("Target Project"),placeholder:t("Select a project"),type:"select",options:this.projects,isLoading:!this.state.isReady,required:!0},{name:"object_type",label:t("Object Type"),placeholder:t("Select an object type"),type:"select",onChange:this.onChangeHandler,options:this.createObjectList,required:!0},{name:"object_id",label:t("Shared Network"),placeholder:t("Select a network"),type:"select",options:this.sharedNetworks,hidden:!a,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("External Network"),placeholder:t("Select a network"),type:"select",options:this.externalNetworks,hidden:!r,isLoading:!this.state.isReady,required:!0},{name:"object_id",label:t("QoS Policy"),placeholder:t("Select a QoS Policy"),type:"select",options:this.qosPolicy,hidden:!i,isLoading:!this.state.isReady,required:!0}]}}a.Create=D,(0,_.default)(D,"id","create-policy"),(0,_.default)(D,"title",t("Create RBAC Policy")),(0,_.default)(D,"policy","create_rbac_policy"),(0,_.default)(D,"allowed",(()=>p.default.resolve(!0)));var k=(0,b.inject)("rootStore")((0,b.observer)(D));a.default=k},4019:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.RbacPolicyDetail=void 0;var l=r(412),o=n(r(1243)),s=n(r(1659)),d=r(604),u=n(r(4020));class c extends o.default{get name(){return t("Rbac Policy")}get listUrl(){return this.getRoutePath("rbacPolicy")}get actionConfigs(){return s.default}get detailInfos(){return[{title:t("Project ID"),dataIndex:"project_id"}]}get tabs(){return[{title:t("Detail"),key:"rbacPolicyDetailAdmin",component:u.default}]}init(){this.store=new d.RbacPoliciesStore}}a.RbacPolicyDetail=c;var f=(0,l.inject)("rootStore")((0,l.observer)(c));a.default=f},4020:function(e,a,r){"use strict";var i=r(20),n=r(21);i(a,"__esModule",{value:!0}),a.default=a.BaseDetail=void 0;var l=r(412),o=n(r(1249)),s=r(1406);class d extends o.default{get leftCards(){return[this.baseInfoCard]}get baseInfoCard(){var e=[{label:t("Object Type"),dataIndex:"object_type",valueMap:s.objectTypes},{label:t("Object ID"),dataIndex:"object_id",render:e=>{var{object_type:t}=this.detailData;return"network"===t?this.getLinkRender("networkDetail",e,{id:e}):"qos_policy"===t?this.getLinkRender("networkQosDetail",e,{id:e}):e}},{label:t("Object Name"),dataIndex:"object.name"},{label:t("Action"),dataIndex:"action"},{label:t("Target Tenant"),dataIndex:"target_tenant",render:e=>{if("*"===e)return e;var{targetProject:t}=this.detailData;return this.getLinkRender("projectDetail",(null==t?void 0:t.name)||e,{id:e})}}];return{title:t("Detail Info"),options:e}}}a.BaseDetail=d;var u=(0,l.inject)("rootStore")((0,l.observer)(d));a.default=u}}]); \ No newline at end of file diff --git a/skyline_console/static/network.bundle.1733818396.js.gz b/skyline_console/static/network.bundle.1733828928.js.gz similarity index 99% rename from skyline_console/static/network.bundle.1733818396.js.gz rename to skyline_console/static/network.bundle.1733828928.js.gz index 0e2292300c9d4dd1fb85754d92aee7209b321fd2..e3ab63cfd0fefdcde8e59c36acb766ea1ee93143 100644 GIT binary patch delta 28 kcmeBN#@e}zb%XUh7M;nxshjQR9ooWCzQ4pb%7Tpn0ImWHL;wH) delta 28 kcmeBN#@e}zb%XUh78Bv~%QoB3JG6!4zkGsSlm#0D0IePi6aWAK diff --git a/skyline_console/static/runtime.1733818396.js b/skyline_console/static/runtime.1733828928.js similarity index 97% rename from skyline_console/static/runtime.1733818396.js rename to skyline_console/static/runtime.1733828928.js index cec5c59a..be63d53b 100644 --- a/skyline_console/static/runtime.1733818396.js +++ b/skyline_console/static/runtime.1733828928.js @@ -1 +1 @@ -!function(e){function t(t){for(var n,u,i=t[0],c=t[1],l=t[2],p=0,s=[];p [ }, }, { - title: `price/second`, + title: `Price / second`, dataIndex: 'pricePerSecond', isHideable: true, }, { - title: `price/month`, + title: `Price / month`, dataIndex: 'pricePerMonth', isHideable: true, },